Plugin Directory

Changeset 3248944


Ignore:
Timestamp:
03/01/2025 05:33:10 PM (11 months ago)
Author:
gsarig
Message:

Update to version 2.8.6 from GitHub

Location:
ootb-openstreetmap
Files:
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • ootb-openstreetmap/tags/2.8.6/assets/css/admin/styles.css

    r3092806 r3248944  
    2424}
    2525
    26 #ootb_form input[type="text"] {
     26#ootb_form input[type="text"],
     27#ootb_form input[type="password"] {
    2728    width: 100%;
    2829}
  • ootb-openstreetmap/tags/2.8.6/build/index.asset.php

    r3208055 r3248944  
    1 <?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-plugins'), 'version' => 'e83638b2a7c7c9d09967');
     1<?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-plugins'), 'version' => '55bc281e7357a39e2e60');
  • ootb-openstreetmap/tags/2.8.6/build/index.js

    r3208055 r3248944  
    1 (()=>{var t={840:()=>{wp.domReady((()=>{ootbGlobal?.options?.geodata||wp.blocks.unregisterBlockVariation("ootb/openstreetmap","custom-fields")}))},481:function(t,e){!function(t){"use strict";function e(t){var e,i,n,o;for(i=1,n=arguments.length;i<n;i++)for(e in o=arguments[i])t[e]=o[e];return t}var i=Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}();function n(t,e){var i=Array.prototype.slice;if(t.bind)return t.bind.apply(t,i.call(arguments,1));var n=i.call(arguments,2);return function(){return t.apply(e,n.length?n.concat(i.call(arguments)):arguments)}}var o=0;function s(t){return"_leaflet_id"in t||(t._leaflet_id=++o),t._leaflet_id}function r(t,e,i){var n,o,s,r;return r=function(){n=!1,o&&(s.apply(i,o),o=!1)},s=function(){n?o=arguments:(t.apply(i,arguments),setTimeout(r,e),n=!0)},s}function a(t,e,i){var n=e[1],o=e[0],s=n-o;return t===n&&i?t:((t-o)%s+s)%s+o}function h(){return!1}function l(t,e){if(!1===e)return t;var i=Math.pow(10,void 0===e?6:e);return Math.round(t*i)/i}function u(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function c(t){return u(t).split(/\s+/)}function d(t,e){for(var n in Object.prototype.hasOwnProperty.call(t,"options")||(t.options=t.options?i(t.options):{}),e)t.options[n]=e[n];return t.options}function p(t,e,i){var n=[];for(var o in t)n.push(encodeURIComponent(i?o.toUpperCase():o)+"="+encodeURIComponent(t[o]));return(e&&-1!==e.indexOf("?")?"&":"?")+n.join("&")}var m=/\{ *([\w_ -]+) *\}/g;function _(t,e){return t.replace(m,(function(t,i){var n=e[i];if(void 0===n)throw new Error("No value provided for variable "+t);return"function"==typeof n&&(n=n(e)),n}))}var f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function g(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1}var v="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function y(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var b=0;function w(t){var e=+new Date,i=Math.max(0,16-(e-b));return b=e+i,window.setTimeout(t,i)}var x=window.requestAnimationFrame||y("RequestAnimationFrame")||w,P=window.cancelAnimationFrame||y("CancelAnimationFrame")||y("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function k(t,e,i){if(!i||x!==w)return x.call(window,n(t,e));t.call(e)}function T(t){t&&P.call(window,t)}var M={__proto__:null,extend:e,create:i,bind:n,get lastId(){return o},stamp:s,throttle:r,wrapNum:a,falseFn:h,formatNum:l,trim:u,splitWords:c,setOptions:d,getParamString:p,template:_,isArray:f,indexOf:g,emptyImageUrl:v,requestFn:x,cancelFn:P,requestAnimFrame:k,cancelAnimFrame:T};function z(){}z.extend=function(t){var n=function(){d(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},o=n.__super__=this.prototype,s=i(o);for(var r in s.constructor=n,n.prototype=s,this)Object.prototype.hasOwnProperty.call(this,r)&&"prototype"!==r&&"__super__"!==r&&(n[r]=this[r]);return t.statics&&e(n,t.statics),t.includes&&(function(t){if("undefined"!=typeof L&&L&&L.Mixin){t=f(t)?t:[t];for(var e=0;e<t.length;e++)t[e]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}(t.includes),e.apply(null,[s].concat(t.includes))),e(s,t),delete s.statics,delete s.includes,s.options&&(s.options=o.options?i(o.options):{},e(s.options,t.options)),s._initHooks=[],s.callInitHooks=function(){if(!this._initHooksCalled){o.callInitHooks&&o.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=s._initHooks.length;t<e;t++)s._initHooks[t].call(this)}},n},z.include=function(t){var i=this.prototype.options;return e(this.prototype,t),t.options&&(this.prototype.options=i,this.mergeOptions(t.options)),this},z.mergeOptions=function(t){return e(this.prototype.options,t),this},z.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};var C={on:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e);else for(var o=0,s=(t=c(t)).length;o<s;o++)this._on(t[o],e,i);return this},off:function(t,e,i){if(arguments.length)if("object"==typeof t)for(var n in t)this._off(n,t[n],e);else{t=c(t);for(var o=1===arguments.length,s=0,r=t.length;s<r;s++)o?this._off(t[s]):this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,i,n){if("function"==typeof e){if(!1===this._listens(t,e,i)){i===this&&(i=void 0);var o={fn:e,ctx:i};n&&(o.once=!0),this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(o)}}else console.warn("wrong listener type: "+typeof e)},_off:function(t,e,i){var n,o,s;if(this._events&&(n=this._events[t]))if(1!==arguments.length)if("function"==typeof e){var r=this._listens(t,e,i);if(!1!==r){var a=n[r];this._firingCount&&(a.fn=h,this._events[t]=n=n.slice()),n.splice(r,1)}}else console.warn("wrong listener type: "+typeof e);else{if(this._firingCount)for(o=0,s=n.length;o<s;o++)n[o].fn=h;delete this._events[t]}},fire:function(t,i,n){if(!this.listens(t,n))return this;var o=e({},i,{type:t,target:this,sourceTarget:i&&i.sourceTarget||this});if(this._events){var s=this._events[t];if(s){this._firingCount=this._firingCount+1||1;for(var r=0,a=s.length;r<a;r++){var h=s[r],l=h.fn;h.once&&this.off(t,l,h.ctx),l.call(h.ctx||this,o)}this._firingCount--}}return n&&this._propagateEvent(o),this},listens:function(t,e,i,n){"string"!=typeof t&&console.warn('"string" type argument expected');var o=e;"function"!=typeof e&&(n=!!e,o=void 0,i=void 0);var s=this._events&&this._events[t];if(s&&s.length&&!1!==this._listens(t,o,i))return!0;if(n)for(var r in this._eventParents)if(this._eventParents[r].listens(t,e,i,n))return!0;return!1},_listens:function(t,e,i){if(!this._events)return!1;var n=this._events[t]||[];if(!e)return!!n.length;i===this&&(i=void 0);for(var o=0,s=n.length;o<s;o++)if(n[o].fn===e&&n[o].ctx===i)return o;return!1},once:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e,!0);else for(var o=0,s=(t=c(t)).length;o<s;o++)this._on(t[o],e,i,!0);return this},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[s(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[s(t)],this},_propagateEvent:function(t){for(var i in this._eventParents)this._eventParents[i].fire(t.type,e({layer:t.target,propagatedFrom:t.target},t),!0)}};C.addEventListener=C.on,C.removeEventListener=C.clearAllEventListeners=C.off,C.addOneTimeEventListener=C.once,C.fireEvent=C.fire,C.hasEventListeners=C.listens;var S=z.extend(C);function Z(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e}var E=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};function O(t,e,i){return t instanceof Z?t:f(t)?new Z(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new Z(t.x,t.y):new Z(t,e,i)}function A(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function I(t,e){return!t||t instanceof A?t:new A(t,e)}function j(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function B(t,e){return t instanceof j?t:new j(t,e)}function R(t,e,i){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==i&&(this.alt=+i)}function N(t,e,i){return t instanceof R?t:f(t)&&"object"!=typeof t[0]?3===t.length?new R(t[0],t[1],t[2]):2===t.length?new R(t[0],t[1]):null:null==t?t:"object"==typeof t&&"lat"in t?new R(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new R(t,e,i)}Z.prototype={clone:function(){return new Z(this.x,this.y)},add:function(t){return this.clone()._add(O(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(O(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new Z(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new Z(this.x/t.x,this.y/t.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=E(this.x),this.y=E(this.y),this},distanceTo:function(t){var e=(t=O(t)).x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return(t=O(t)).x===this.x&&t.y===this.y},contains:function(t){return t=O(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+l(this.x)+", "+l(this.y)+")"}},A.prototype={extend:function(t){var e,i;if(!t)return this;if(t instanceof Z||"number"==typeof t[0]||"x"in t)e=i=O(t);else if(e=(t=I(t)).min,i=t.max,!e||!i)return this;return this.min||this.max?(this.min.x=Math.min(e.x,this.min.x),this.max.x=Math.max(i.x,this.max.x),this.min.y=Math.min(e.y,this.min.y),this.max.y=Math.max(i.y,this.max.y)):(this.min=e.clone(),this.max=i.clone()),this},getCenter:function(t){return O((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return O(this.min.x,this.max.y)},getTopRight:function(){return O(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return(t="number"==typeof t[0]||t instanceof Z?O(t):I(t))instanceof A?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=I(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=I(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.x<i.x,r=o.y>e.y&&n.y<i.y;return s&&r},isValid:function(){return!(!this.min||!this.max)},pad:function(t){var e=this.min,i=this.max,n=Math.abs(e.x-i.x)*t,o=Math.abs(e.y-i.y)*t;return I(O(e.x-n,e.y-o),O(i.x+n,i.y+o))},equals:function(t){return!!t&&(t=I(t),this.min.equals(t.getTopLeft())&&this.max.equals(t.getBottomRight()))}},j.prototype={extend:function(t){var e,i,n=this._southWest,o=this._northEast;if(t instanceof R)e=t,i=t;else{if(!(t instanceof j))return t?this.extend(N(t)||B(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return n||o?(n.lat=Math.min(e.lat,n.lat),n.lng=Math.min(e.lng,n.lng),o.lat=Math.max(i.lat,o.lat),o.lng=Math.max(i.lng,o.lng)):(this._southWest=new R(e.lat,e.lng),this._northEast=new R(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,o=Math.abs(e.lng-i.lng)*t;return new j(new R(e.lat-n,e.lng-o),new R(i.lat+n,i.lng+o))},getCenter:function(){return new R((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new R(this.getNorth(),this.getWest())},getSouthEast:function(){return new R(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof R||"lat"in t?N(t):B(t);var e,i,n=this._southWest,o=this._northEast;return t instanceof j?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=B(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=B(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.lat<i.lat,r=o.lng>e.lng&&n.lng<i.lng;return s&&r},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=B(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}},R.prototype={equals:function(t,e){return!!t&&(t=N(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+l(this.lat,t)+", "+l(this.lng,t)+")"},distanceTo:function(t){return H.distance(this,N(t))},wrap:function(){return H.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return B([this.lat-e,this.lng-i],[this.lat+e,this.lng+i])},clone:function(){return new R(this.lat,this.lng,this.alt)}};var D,F={latLngToPoint:function(t,e){var i=this.projection.project(t),n=this.scale(e);return this.transformation._transform(i,n)},pointToLatLng:function(t,e){var i=this.scale(e),n=this.transformation.untransform(t,i);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,i=this.scale(t);return new A(this.transformation.transform(e.min,i),this.transformation.transform(e.max,i))},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?a(t.lng,this.wrapLng,!0):t.lng;return new R(this.wrapLat?a(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),n=e.lat-i.lat,o=e.lng-i.lng;if(0===n&&0===o)return t;var s=t.getSouthWest(),r=t.getNorthEast();return new j(new R(s.lat-n,s.lng-o),new R(r.lat-n,r.lng-o))}},H=e({},F,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,n=t.lat*i,o=e.lat*i,s=Math.sin((e.lat-t.lat)*i/2),r=Math.sin((e.lng-t.lng)*i/2),a=s*s+Math.cos(n)*Math.cos(o)*r*r,h=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*h}}),U=6378137,W={R:U,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,n=Math.max(Math.min(i,t.lat),-i),o=Math.sin(n*e);return new Z(this.R*t.lng*e,this.R*Math.log((1+o)/(1-o))/2)},unproject:function(t){var e=180/Math.PI;return new R((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:(D=U*Math.PI,new A([-D,-D],[D,D]))};function q(t,e,i,n){if(f(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=e,this._c=i,this._d=n}function G(t,e,i,n){return new q(t,e,i,n)}q.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return e=e||1,t.x=e*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return e=e||1,new Z((t.x/e-this._b)/this._a,(t.y/e-this._d)/this._c)}};var V=e({},H,{code:"EPSG:3857",projection:W,transformation:function(){var t=.5/(Math.PI*W.R);return G(t,.5,-t,.5)}()}),J=e({},V,{code:"EPSG:900913"});function K(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function Y(t,e){var i,n,o,s,r,a,h="";for(i=0,o=t.length;i<o;i++){for(n=0,s=(r=t[i]).length;n<s;n++)h+=(n?"L":"M")+(a=r[n]).x+" "+a.y;h+=e?At.svg?"z":"x":""}return h||"M0 0"}var X,$=document.documentElement.style,Q="ActiveXObject"in window,tt=Q&&!document.addEventListener,et="msLaunchUri"in navigator&&!("documentMode"in document),it=Ot("webkit"),nt=Ot("android"),ot=Ot("android 2")||Ot("android 3"),st=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),rt=nt&&Ot("Google")&&st<537&&!("AudioNode"in window),at=!!window.opera,ht=!et&&Ot("chrome"),lt=Ot("gecko")&&!it&&!at&&!Q,ut=!ht&&Ot("safari"),ct=Ot("phantom"),dt="OTransition"in $,pt=0===navigator.platform.indexOf("Win"),mt=Q&&"transition"in $,_t="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!ot,ft="MozPerspective"in $,gt=!window.L_DISABLE_3D&&(mt||_t||ft)&&!dt&&!ct,vt="undefined"!=typeof orientation||Ot("mobile"),yt=vt&&it,bt=vt&&_t,wt=!window.PointerEvent&&window.MSPointerEvent,xt=!(!window.PointerEvent&&!wt),Pt="ontouchstart"in window||!!window.TouchEvent,Lt=!window.L_NO_TOUCH&&(Pt||xt),kt=vt&&at,Tt=vt&&lt,Mt=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,zt=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",h,e),window.removeEventListener("testPassiveEventSupport",h,e)}catch(t){}return t}(),Ct=!!document.createElement("canvas").getContext,St=!(!document.createElementNS||!K("svg").createSVGRect),Zt=!!St&&((X=document.createElement("div")).innerHTML="<svg/>","http://www.w3.org/2000/svg"===(X.firstChild&&X.firstChild.namespaceURI)),Et=!St&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Ot(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var At={ie:Q,ielt9:tt,edge:et,webkit:it,android:nt,android23:ot,androidStock:rt,opera:at,chrome:ht,gecko:lt,safari:ut,phantom:ct,opera12:dt,win:pt,ie3d:mt,webkit3d:_t,gecko3d:ft,any3d:gt,mobile:vt,mobileWebkit:yt,mobileWebkit3d:bt,msPointer:wt,pointer:xt,touch:Lt,touchNative:Pt,mobileOpera:kt,mobileGecko:Tt,retina:Mt,passiveEvents:zt,canvas:Ct,svg:St,vml:Et,inlineSvg:Zt,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},It=At.msPointer?"MSPointerDown":"pointerdown",jt=At.msPointer?"MSPointerMove":"pointermove",Bt=At.msPointer?"MSPointerUp":"pointerup",Rt=At.msPointer?"MSPointerCancel":"pointercancel",Nt={touchstart:It,touchmove:jt,touchend:Bt,touchcancel:Rt},Dt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&Be(e),Vt(t,e)},touchmove:Vt,touchend:Vt,touchcancel:Vt},Ft={},Ht=!1;function Ut(t,e,i){return"touchstart"===e&&(Ht||(document.addEventListener(It,Wt,!0),document.addEventListener(jt,qt,!0),document.addEventListener(Bt,Gt,!0),document.addEventListener(Rt,Gt,!0),Ht=!0)),Dt[e]?(i=Dt[e].bind(this,i),t.addEventListener(Nt[e],i,!1),i):(console.warn("wrong event specified:",e),h)}function Wt(t){Ft[t.pointerId]=t}function qt(t){Ft[t.pointerId]&&(Ft[t.pointerId]=t)}function Gt(t){delete Ft[t.pointerId]}function Vt(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Ft)e.touches.push(Ft[i]);e.changedTouches=[e],t(e)}}var Jt,Kt,Yt,Xt,$t,Qt=_e(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),te=_e(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ee="webkitTransition"===te||"OTransition"===te?te+"End":"transitionend";function ie(t){return"string"==typeof t?document.getElementById(t):t}function ne(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return"auto"===i?null:i}function oe(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function se(t){var e=t.parentNode;e&&e.removeChild(t)}function re(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ae(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function he(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function le(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=pe(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function ue(t,e){if(void 0!==t.classList)for(var i=c(e),n=0,o=i.length;n<o;n++)t.classList.add(i[n]);else if(!le(t,e)){var s=pe(t);de(t,(s?s+" ":"")+e)}}function ce(t,e){void 0!==t.classList?t.classList.remove(e):de(t,u((" "+pe(t)+" ").replace(" "+e+" "," ")))}function de(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function pe(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function me(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&function(t,e){var i=!1,n="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(n)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+n+"(opacity="+e+")"}(t,e)}function _e(t){for(var e=document.documentElement.style,i=0;i<t.length;i++)if(t[i]in e)return t[i];return!1}function fe(t,e,i){var n=e||new Z(0,0);t.style[Qt]=(At.ie3d?"translate("+n.x+"px,"+n.y+"px)":"translate3d("+n.x+"px,"+n.y+"px,0)")+(i?" scale("+i+")":"")}function ge(t,e){t._leaflet_pos=e,At.any3d?fe(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function ve(t){return t._leaflet_pos||new Z(0,0)}if("onselectstart"in document)Jt=function(){Me(window,"selectstart",Be)},Kt=function(){Ce(window,"selectstart",Be)};else{var ye=_e(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);Jt=function(){if(ye){var t=document.documentElement.style;Yt=t[ye],t[ye]="none"}},Kt=function(){ye&&(document.documentElement.style[ye]=Yt,Yt=void 0)}}function be(){Me(window,"dragstart",Be)}function we(){Ce(window,"dragstart",Be)}function xe(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Pe(),Xt=t,$t=t.style.outlineStyle,t.style.outlineStyle="none",Me(window,"keydown",Pe))}function Pe(){Xt&&(Xt.style.outlineStyle=$t,Xt=void 0,$t=void 0,Ce(window,"keydown",Pe))}function Le(t){do{t=t.parentNode}while(!(t.offsetWidth&&t.offsetHeight||t===document.body));return t}function ke(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}var Te={__proto__:null,TRANSFORM:Qt,TRANSITION:te,TRANSITION_END:ee,get:ie,getStyle:ne,create:oe,remove:se,empty:re,toFront:ae,toBack:he,hasClass:le,addClass:ue,removeClass:ce,setClass:de,getClass:pe,setOpacity:me,testProp:_e,setTransform:fe,setPosition:ge,getPosition:ve,get disableTextSelection(){return Jt},get enableTextSelection(){return Kt},disableImageDrag:be,enableImageDrag:we,preventOutline:xe,restoreOutline:Pe,getSizedParentNode:Le,getScale:ke};function Me(t,e,i,n){if(e&&"object"==typeof e)for(var o in e)Ee(t,o,e[o],i);else for(var s=0,r=(e=c(e)).length;s<r;s++)Ee(t,e[s],i,n);return this}var ze="_leaflet_events";function Ce(t,e,i,n){if(1===arguments.length)Se(t),delete t[ze];else if(e&&"object"==typeof e)for(var o in e)Oe(t,o,e[o],i);else if(e=c(e),2===arguments.length)Se(t,(function(t){return-1!==g(e,t)}));else for(var s=0,r=e.length;s<r;s++)Oe(t,e[s],i,n);return this}function Se(t,e){for(var i in t[ze]){var n=i.split(/\d/)[0];e&&!e(n)||Oe(t,n,null,null,i)}}var Ze={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Ee(t,e,i,n){var o=e+s(i)+(n?"_"+s(n):"");if(t[ze]&&t[ze][o])return this;var r=function(e){return i.call(n||t,e||window.event)},a=r;!At.touchNative&&At.pointer&&0===e.indexOf("touch")?r=Ut(t,e,r):At.touch&&"dblclick"===e?r=function(t,e){t.addEventListener("dblclick",e);var i,n=0;function o(t){if(1===t.detail){if("mouse"!==t.pointerType&&(!t.sourceCapabilities||t.sourceCapabilities.firesTouchEvents)){var o=Ne(t);if(!o.some((function(t){return t instanceof HTMLLabelElement&&t.attributes.for}))||o.some((function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement}))){var s=Date.now();s-n<=200?2==++i&&e(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return t=n,n.type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):i=1,n=s}}}else i=t.detail}return t.addEventListener("click",o),{dblclick:e,simDblclick:o}}(t,r):"addEventListener"in t?"touchstart"===e||"touchmove"===e||"wheel"===e||"mousewheel"===e?t.addEventListener(Ze[e]||e,r,!!At.passiveEvents&&{passive:!1}):"mouseenter"===e||"mouseleave"===e?(r=function(e){e=e||window.event,Ue(t,e)&&a(e)},t.addEventListener(Ze[e],r,!1)):t.addEventListener(e,a,!1):t.attachEvent("on"+e,r),t[ze]=t[ze]||{},t[ze][o]=r}function Oe(t,e,i,n,o){o=o||e+s(i)+(n?"_"+s(n):"");var r=t[ze]&&t[ze][o];if(!r)return this;!At.touchNative&&At.pointer&&0===e.indexOf("touch")?function(t,e,i){Nt[e]?t.removeEventListener(Nt[e],i,!1):console.warn("wrong event specified:",e)}(t,e,r):At.touch&&"dblclick"===e?function(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}(t,r):"removeEventListener"in t?t.removeEventListener(Ze[e]||e,r,!1):t.detachEvent("on"+e,r),t[ze][o]=null}function Ae(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,this}function Ie(t){return Ee(t,"wheel",Ae),this}function je(t){return Me(t,"mousedown touchstart dblclick contextmenu",Ae),t._leaflet_disable_click=!0,this}function Be(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return Be(t),Ae(t),this}function Ne(t){if(t.composedPath)return t.composedPath();for(var e=[],i=t.target;i;)e.push(i),i=i.parentNode;return e}function De(t,e){if(!e)return new Z(t.clientX,t.clientY);var i=ke(e),n=i.boundingClientRect;return new Z((t.clientX-n.left)/i.x-e.clientLeft,(t.clientY-n.top)/i.y-e.clientTop)}var Fe=At.linux&&At.chrome?window.devicePixelRatio:At.mac?3*window.devicePixelRatio:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function He(t){return At.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Fe:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function Ue(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var We={__proto__:null,on:Me,off:Ce,stopPropagation:Ae,disableScrollPropagation:Ie,disableClickPropagation:je,preventDefault:Be,stop:Re,getPropagationPath:Ne,getMousePosition:De,getWheelDelta:He,isExternalTarget:Ue,addListener:Me,removeListener:Ce},qe=S.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=ve(t),this._offset=e.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=k(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var i=this._startPos.add(this._offset.multiplyBy(t));e&&i._round(),ge(this._el,i),this.fire("step")},_complete:function(){T(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Ge=S.extend({options:{crs:V,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=d(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=n(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(N(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=te&&At.any3d&&!At.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Me(this._proxy,ee,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,i,n){return i=void 0===i?this._zoom:this._limitZoom(i),t=this._limitCenter(N(t),i,this.options.maxBounds),n=n||{},this._stop(),this._loaded&&!n.reset&&!0!==n&&(void 0!==n.animate&&(n.zoom=e({animate:n.animate},n.zoom),n.pan=e({animate:n.animate,duration:n.duration},n.pan)),this._zoom!==i?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,i,n.zoom):this._tryAnimatedPan(t,n.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,i,n.pan&&n.pan.noMoveStart),this)},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(At.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(At.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),o=this.getSize().divideBy(2),s=(t instanceof Z?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),r=this.containerPointToLatLng(o.add(s));return this.setView(r,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():B(t);var i=O(e.paddingTopLeft||e.padding||[0,0]),n=O(e.paddingBottomRight||e.padding||[0,0]),o=this.getBoundsZoom(t,!1,i.add(n));if((o="number"==typeof e.maxZoom?Math.min(e.maxZoom,o):o)===1/0)return{center:t.getCenter(),zoom:o};var s=n.subtract(i).divideBy(2),r=this.project(t.getSouthWest(),o),a=this.project(t.getNorthEast(),o);return{center:this.unproject(r.add(a).divideBy(2).add(s),o),zoom:o}},fitBounds:function(t,e){if(!(t=B(t)).isValid())throw new Error("Bounds are not valid.");var i=this._getBoundsCenterZoom(t,e);return this.setView(i.center,i.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(e=e||{},!(t=O(t).round()).x&&!t.y)return this.fire("moveend");if(!0!==e.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new qe,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate){ue(this._mapPane,"leaflet-pan-anim");var i=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,i){if(!1===(i=i||{}).animate||!At.any3d)return this.setView(t,e,i);this._stop();var n=this.project(this.getCenter()),o=this.project(t),s=this.getSize(),r=this._zoom;t=N(t),e=void 0===e?r:e;var a=Math.max(s.x,s.y),h=a*this.getZoomScale(r,e),l=o.distanceTo(n)||1,u=1.42,c=2.0164;function d(t){var e=(h*h-a*a+(t?-1:1)*c*c*l*l)/(2*(t?h:a)*c*l),i=Math.sqrt(e*e+1)-e;return i<1e-9?-18:Math.log(i)}function p(t){return(Math.exp(t)-Math.exp(-t))/2}function m(t){return(Math.exp(t)+Math.exp(-t))/2}var _=d(0);function f(t){return a*(m(_)*(p(e=_+u*t)/m(e))-p(_))/c;var e}var g=Date.now(),v=(d(1)-_)/u,y=i.duration?1e3*i.duration:1e3*v*.8;return this._moveStart(!0,i.noMoveStart),function i(){var s=(Date.now()-g)/y,h=function(t){return 1-Math.pow(1-t,1.5)}(s)*v;s<=1?(this._flyToFrame=k(i,this),this._move(this.unproject(n.add(o.subtract(n).multiplyBy(f(h)/l)),r),this.getScaleZoom(a/function(t){return a*(m(_)/m(_+u*t))}(h),r),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}.call(this),this},flyToBounds:function(t,e){var i=this._getBoundsCenterZoom(t,e);return this.flyTo(i.center,i.zoom,e)},setMaxBounds:function(t){return t=B(t),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),t.isValid()?(this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,B(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=O((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=O(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),a=I([r.min.add(i),r.max.subtract(n)]),h=a.getSize();if(!a.contains(s)){this._enforcingBounds=!0;var l=s.subtract(a.getCenter()),u=a.extend(s).getSize().subtract(h);o.x+=l.x<0?-u.x:u.x,o.y+=l.y<0?-u.y:u.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=e({animate:!1,pan:!0},!0===t?{animate:!0}:t);var i=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var o=this.getSize(),s=i.divideBy(2).round(),r=o.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(n(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:o})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=e({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var i=n(this._handleGeolocationResponse,this),o=n(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(i,o,t):navigator.geolocation.getCurrentPosition(i,o,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=new R(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(i);this.setView(e,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.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(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(T(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)se(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=oe("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new j(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=B(t),i=O(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(i),l=I(this.project(a,n),this.project(r,n)).getSize(),u=At.any3d?this.options.zoomSnap:1,c=h.x/l.x,d=h.y/l.y,p=e?Math.max(c,d):Math.min(c,d);return n=this.getScaleZoom(p,n),u&&(n=Math.round(n/(u/100))*(u/100),n=e?Math.ceil(n/u)*u:Math.floor(n/u)*u),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new Z(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new A(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(N(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(O(t),e)},layerPointToLatLng:function(t){var e=O(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(N(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(N(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(B(t))},distance:function(t,e){return this.options.crs.distance(N(t),N(e))},containerPointToLayerPoint:function(t){return O(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return O(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(O(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(N(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=ie(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");Me(e,"scroll",this._onScroll,this),this._containerId=s(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&At.any3d,ue(t,"leaflet-container"+(At.touch?" leaflet-touch":"")+(At.retina?" leaflet-retina":"")+(At.ielt9?" leaflet-oldie":"")+(At.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=ne(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),ge(this._mapPane,new Z(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(ue(t.markerPane,"leaflet-zoom-hide"),ue(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){ge(this._mapPane,new Z(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var o=this._zoom!==e;this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return T(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){ge(this._mapPane,this._getMapPanePos().subtract(t))},_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(t){this._targets={},this._targets[s(this._container)]=this;var e=t?Ce:Me;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),At.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){T(this._resizeRequest),this._resizeRequest=k((function(){this.invalidateSize({debounceMoveend:!0})}),this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,r=t.target||t.srcElement,a=!1;r;){if((i=this._targets[s(r)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){a=!0;break}if(i&&i.listens(e,!0)){if(o&&!Ue(r,t))break;if(n.push(i),o)break}if(r===this._container)break;r=r.parentNode}return n.length||a||o||!this.listens(e,!0)||(n=[this]),n},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(e))){var i=t.type;"mousedown"===i&&xe(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,i,n){if("click"===t.type){var o=e({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}var s=this._findEventTargets(t,i);if(n){for(var r=[],a=0;a<n.length;a++)n[a].listens(i,!0)&&r.push(n[a]);s=r.concat(s)}if(s.length){"contextmenu"===i&&Be(t);var h=s[0],l={originalEvent:t};if("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type){var u=h.getLatLng&&(!h._radius||h._radius<=10);l.containerPoint=u?this.latLngToContainerPoint(h.getLatLng()):this.mouseEventToContainerPoint(t),l.layerPoint=this.containerPointToLayerPoint(l.containerPoint),l.latlng=u?h.getLatLng():this.layerPointToLatLng(l.layerPoint)}for(a=0;a<s.length;a++)if(s[a].fire(i,l,!0),l.originalEvent._stopped||!1===s[a].options.bubblingMouseEvents&&-1!==g(this._mouseEvents,i))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return ve(this._mapPane)||new Z(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){var n=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(n)},_latLngBoundsToNewLayerBounds:function(t,e,i){var n=this._getNewPixelOrigin(i,e);return I([this.project(t.getSouthWest(),e)._subtract(n),this.project(t.getNorthWest(),e)._subtract(n),this.project(t.getSouthEast(),e)._subtract(n),this.project(t.getNorthEast(),e)._subtract(n)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){if(!i)return t;var n=this.project(t,e),o=this.getSize().divideBy(2),s=new A(n.subtract(o),n.add(o)),r=this._getBoundsOffset(s,i,e);return Math.abs(r.x)<=1&&Math.abs(r.y)<=1?t:this.unproject(n.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var i=this.getPixelBounds(),n=new A(i.min.add(t),i.max.add(t));return t.add(this._getBoundsOffset(n,e))},_getBoundsOffset:function(t,e,i){var n=I(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),o=n.min.subtract(t.min),s=n.max.subtract(t.max);return new Z(this._rebound(o.x,-s.x),this._rebound(o.y,-s.y))},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=At.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ce(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i)||(this.panBy(i,e),0))},_createAnimProxy:function(){var t=this._proxy=oe("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",(function(t){var e=Qt,i=this._proxy.style[e];fe(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()}),this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();fe(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==i.animate&&!this.getSize().contains(o)||(k((function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)}),this),0))},_animateZoom:function(t,e,i,o){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,ue(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:o}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(n(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&ce(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))}});var Ve=z.extend({options:{position:"topright"},initialize:function(t){d(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return ue(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(se(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),Je=function(t){return new Ve(t)};Ge.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=oe("div",e+"control-container",this._container);function n(n,o){var s=e+n+" "+e+o;t[n+o]=oe("div",s,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)se(this._controlCorners[t]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ke=Ve.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i<n?-1:n<i?1:0}},initialize:function(t,e,i){for(var n in d(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1,t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return Ve.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(s(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){ue(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(ue(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):ce(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return ce(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=oe("div",t),i=this.options.collapsed;e.setAttribute("aria-haspopup",!0),je(e),Ie(e);var n=this._section=oe("section",t+"-list");i&&(this._map.on("click",this.collapse,this),Me(e,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var o=this._layersLink=oe("a",t+"-toggle",e);o.href="#",o.title="Layers",o.setAttribute("role","button"),Me(o,{keydown:function(t){13===t.keyCode&&this._expandSafely()},click:function(t){Be(t),this._expandSafely()}},this),i||this.expand(),this._baseLayersList=oe("div",t+"-base",n),this._separator=oe("div",t+"-separator",n),this._overlaysList=oe("div",t+"-overlays",n),e.appendChild(n)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&s(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(n((function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)}),this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;re(this._baseLayersList),re(this._overlaysList),this._layerControlInputs=[];var t,e,i,n,o=0;for(i=0;i<this._layers.length;i++)n=this._layers[i],this._addItem(n),e=e||n.overlay,t=t||!n.overlay,o+=n.overlay?0:1;return this.options.hideSingleBase&&(t=t&&o>1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(s(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+s(this),n),this._layerControlInputs.push(e),e.layerId=s(t.layer),Me(e,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var r=document.createElement("span");return i.appendChild(r),r.appendChild(e),r.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var t,e,i=this._layerControlInputs,n=this._map.getZoom(),o=i.length-1;o>=0;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&n<e.options.minZoom||void 0!==e.options.maxZoom&&n>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,Me(t,"click",Be),this.expand();var e=this;setTimeout((function(){Ce(t,"click",Be),e._preventClick=!1}))}}),Ye=Ve.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=oe("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.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(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=oe("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),je(s),Me(s,"click",Re),Me(s,"click",o,this),Me(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";ce(this._zoomInButton,e),ce(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(ue(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(ue(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});Ge.mergeOptions({zoomControl:!0}),Ge.addInitHook((function(){this.options.zoomControl&&(this.zoomControl=new Ye,this.addControl(this.zoomControl))}));var Xe=Ve.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=oe("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=oe("div",e,i)),t.imperial&&(this._iScale=oe("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o>5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),$e=Ve.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(At.inlineSvg?'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg> ':"")+"Leaflet</a>"},initialize:function(t){d(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=oe("div","leaflet-control-attribution"),je(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",(function(){this.removeAttribution(t.layer.getAttribution())}),this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' <span aria-hidden="true">|</span> ')}}});Ge.mergeOptions({attributionControl:!0}),Ge.addInitHook((function(){this.options.attributionControl&&(new $e).addTo(this)}));Ve.Layers=Ke,Ve.Zoom=Ye,Ve.Scale=Xe,Ve.Attribution=$e,Je.layers=function(t,e,i){return new Ke(t,e,i)},Je.zoom=function(t){return new Ye(t)},Je.scale=function(t){return new Xe(t)},Je.attribution=function(t){return new $e(t)};var Qe=z.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Qe.addTo=function(t,e){return t.addHandler(e,this),this};var ti={Events:C},ei=At.touch?"touchstart mousedown":"mousedown",ii=S.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){d(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(Me(this._dragStartTarget,ei,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ii._dragging===this&&this.finishDrag(!0),Ce(this._dragStartTarget,ei,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!le(this._element,"leaflet-zoom-anim")))if(t.touches&&1!==t.touches.length)ii._dragging===this&&this.finishDrag();else if(!(ii._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(ii._dragging=this,this._preventOutline&&xe(this._element),be(),Jt(),this._moving))){this.fire("down");var e=t.touches?t.touches[0]:t,i=Le(this._element);this._startPoint=new Z(e.clientX,e.clientY),this._startPos=ve(this._element),this._parentScale=ke(i);var n="mousedown"===t.type;Me(document,n?"mousemove":"touchmove",this._onMove,this),Me(document,n?"mouseup":"touchend touchcancel",this._onUp,this)}},_onMove:function(t){if(this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new Z(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)<this.options.clickTolerance||(i.x/=this._parentScale.x,i.y/=this._parentScale.y,Be(t),this._moved||(this.fire("dragstart"),this._moved=!0,ue(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),ue(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(i),this._moving=!0,this._lastEvent=t,this._updatePosition()))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),ge(this._element,this._newPos),this.fire("drag",t)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(t){ce(document.body,"leaflet-dragging"),this._lastTarget&&(ce(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Ce(document,"mousemove touchmove",this._onMove,this),Ce(document,"mouseup touchend touchcancel",this._onUp,this),we(),Kt();var e=this._moved&&this._moving;this._moving=!1,ii._dragging=!1,e&&this.fire("dragend",{noInertia:t,distance:this._newPos.distanceTo(this._startPos)})}});function ni(t,e,i){var n,o,s,r,a,h,l,u,c,d=[1,4,2,8];for(o=0,l=t.length;o<l;o++)t[o]._code=pi(t[o],e);for(r=0;r<4;r++){for(u=d[r],n=[],o=0,s=(l=t.length)-1;o<l;s=o++)a=t[o],h=t[s],a._code&u?h._code&u||((c=di(h,a,u,e,i))._code=pi(c,e),n.push(c)):(h._code&u&&((c=di(h,a,u,e,i))._code=pi(c,e),n.push(c)),n.push(a));t=n}return t}function oi(t,e){var i,n,o,s,r,a,h,l,u;if(!t||0===t.length)throw new Error("latlngs not passed");fi(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var c=N([0,0]),d=B(t);d.getNorthWest().distanceTo(d.getSouthWest())*d.getNorthEast().distanceTo(d.getNorthWest())<1700&&(c=si(t));var p=t.length,m=[];for(i=0;i<p;i++){var _=N(t[i]);m.push(e.project(N([_.lat-c.lat,_.lng-c.lng])))}for(a=h=l=0,i=0,n=p-1;i<p;n=i++)o=m[i],s=m[n],r=o.y*s.x-s.y*o.x,h+=(o.x+s.x)*r,l+=(o.y+s.y)*r,a+=3*r;u=0===a?m[0]:[h/a,l/a];var f=e.unproject(O(u));return N([f.lat+c.lat,f.lng+c.lng])}function si(t){for(var e=0,i=0,n=0,o=0;o<t.length;o++){var s=N(t[o]);e+=s.lat,i+=s.lng,n++}return N([e/n,i/n])}var ri,ai={__proto__:null,clipPolygon:ni,polygonCenter:oi,centroid:si};function hi(t,e){if(!e||!t.length)return t.slice();var i=e*e;return function(t,e){var i=t.length,n=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(i);n[0]=n[i-1]=1,ui(t,n,e,0,i-1);var o,s=[];for(o=0;o<i;o++)n[o]&&s.push(t[o]);return s}(t=function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;n<s;n++)mi(t[n],t[o])>e&&(i.push(t[n]),o=n);return o<s-1&&i.push(t[s-1]),i}(t,i),i)}function li(t,e,i){return Math.sqrt(_i(t,e,i,!0))}function ui(t,e,i,n,o){var s,r,a,h=0;for(r=n+1;r<=o-1;r++)(a=_i(t[r],t[n],t[o],!0))>h&&(s=r,h=a);h>i&&(e[s]=1,ui(t,e,i,n,s),ui(t,e,i,s,o))}function ci(t,e,i,n,o){var s,r,a,h=n?ri:pi(t,i),l=pi(e,i);for(ri=l;;){if(!(h|l))return[t,e];if(h&l)return!1;a=pi(r=di(t,e,s=h||l,i,o),i),s===h?(t=r,h=a):(e=r,l=a)}}function di(t,e,i,n,o){var s,r,a=e.x-t.x,h=e.y-t.y,l=n.min,u=n.max;return 8&i?(s=t.x+a*(u.y-t.y)/h,r=u.y):4&i?(s=t.x+a*(l.y-t.y)/h,r=l.y):2&i?(s=u.x,r=t.y+h*(u.x-t.x)/a):1&i&&(s=l.x,r=t.y+h*(l.x-t.x)/a),new Z(s,r,o)}function pi(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i}function mi(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function _i(t,e,i,n){var o,s=e.x,r=e.y,a=i.x-s,h=i.y-r,l=a*a+h*h;return l>0&&((o=((t.x-s)*a+(t.y-r)*h)/l)>1?(s=i.x,r=i.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new Z(s,r)}function fi(t){return!f(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function gi(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),fi(t)}function vi(t,e){var i,n,o,s,r,a,h,l;if(!t||0===t.length)throw new Error("latlngs not passed");fi(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var u=N([0,0]),c=B(t);c.getNorthWest().distanceTo(c.getSouthWest())*c.getNorthEast().distanceTo(c.getNorthWest())<1700&&(u=si(t));var d=t.length,p=[];for(i=0;i<d;i++){var m=N(t[i]);p.push(e.project(N([m.lat-u.lat,m.lng-u.lng])))}for(i=0,n=0;i<d-1;i++)n+=p[i].distanceTo(p[i+1])/2;if(0===n)l=p[0];else for(i=0,s=0;i<d-1;i++)if(r=p[i],a=p[i+1],(s+=o=r.distanceTo(a))>n){h=(s-n)/o,l=[a.x-h*(a.x-r.x),a.y-h*(a.y-r.y)];break}var _=e.unproject(O(l));return N([_.lat+u.lat,_.lng+u.lng])}var yi={__proto__:null,simplify:hi,pointToSegmentDistance:li,closestPointOnSegment:function(t,e,i){return _i(t,e,i)},clipSegment:ci,_getEdgeIntersection:di,_getBitCode:pi,_sqClosestPointOnSegment:_i,isFlat:fi,_flat:gi,polylineCenter:vi},bi={project:function(t){return new Z(t.lng,t.lat)},unproject:function(t){return new R(t.y,t.x)},bounds:new A([-180,-90],[180,90])},wi={R:6378137,R_MINOR:6356752.314245179,bounds:new A([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,s=Math.sqrt(1-o*o),r=s*Math.sin(n),a=Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),s/2);return n=-i*Math.log(Math.max(a,1e-10)),new Z(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,l=.1;h<15&&Math.abs(l)>1e-7;h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=l=Math.PI/2-2*Math.atan(r*e)-a;return new R(a*i,t.x*i/n)}},xi={__proto__:null,LonLat:bi,Mercator:wi,SphericalMercator:W},Pi=e({},H,{code:"EPSG:3395",projection:wi,transformation:function(){var t=.5/(Math.PI*wi.R);return G(t,.5,-t,.5)}()}),Li=e({},H,{code:"EPSG:4326",projection:bi,transformation:G(1/180,1,-1/180,.5)}),ki=e({},F,{projection:bi,transformation:G(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});F.Earth=H,F.EPSG3395=Pi,F.EPSG3857=V,F.EPSG900913=J,F.EPSG4326=Li,F.Simple=ki;var Ti=S.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[s(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[s(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",(function(){e.off(i,this)}),this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});Ge.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=s(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=s(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return s(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?f(t)?t:[t]:[]).length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[s(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=s(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-1/0,i=this._getZoomSpan();for(var n in this._zoomBoundLayers){var o=this._zoomBoundLayers[n].options;t=void 0===o.minZoom?t:Math.min(t,o.minZoom),e=void 0===o.maxZoom?e:Math.max(e,o.maxZoom)}this._layersMaxZoom=e===-1/0?void 0:e,this._layersMinZoom=t===1/0?void 0:t,i!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Mi=Ti.extend({initialize:function(t,e){var i,n;if(d(this,e),this._layers={},t)for(i=0,n=t.length;i<n;i++)this.addLayer(t[i])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return("number"==typeof t?t:this.getLayerId(t))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)(i=this._layers[e])[t]&&i[t].apply(i,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return s(t)}}),zi=Mi.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),Mi.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),Mi.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new j;for(var e in this._layers){var i=this._layers[e];t.extend(i.getBounds?i.getBounds():i.getLatLng())}return t}}),Ci=z.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(t){d(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(!i){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var n=this._createImg(i,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(n,t),(this.options.crossOrigin||""===this.options.crossOrigin)&&(n.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),n},_setIconStyles:function(t,e){var i=this.options,n=i[e+"Size"];"number"==typeof n&&(n=[n,n]);var o=O(n),s=O("shadow"===e&&i.shadowAnchor||i.iconAnchor||o&&o.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),s&&(t.style.marginLeft=-s.x+"px",t.style.marginTop=-s.y+"px"),o&&(t.style.width=o.x+"px",t.style.height=o.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return At.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});var Si=Ci.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return"string"!=typeof Si.imagePath&&(Si.imagePath=this._detectIconPath()),(this.options.imagePath||Si.imagePath)+Ci.prototype._getIconUrl.call(this,t)},_stripUrl:function(t){var e=function(t,e,i){var n=e.exec(t);return n&&n[i]};return(t=e(t,/^url\((['"])?(.+)\1\)$/,2))&&e(t,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var t=oe("div","leaflet-default-icon-path",document.body),e=ne(t,"background-image")||ne(t,"backgroundImage");if(document.body.removeChild(t),e=this._stripUrl(e))return e;var i=document.querySelector('link[href$="leaflet.css"]');return i?i.href.substring(0,i.href.length-11-1):""}}),Zi=Qe.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new ii(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),ue(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&ce(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,i=e._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=ve(e._icon),r=i.getPixelBounds(),a=i.getPixelOrigin(),h=I(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));if(!h.contains(s)){var l=O((Math.max(h.max.x,s.x)-h.max.x)/(r.max.x-h.max.x)-(Math.min(h.min.x,s.x)-h.min.x)/(r.min.x-h.min.x),(Math.max(h.max.y,s.y)-h.max.y)/(r.max.y-h.max.y)-(Math.min(h.min.y,s.y)-h.min.y)/(r.min.y-h.min.y)).multiplyBy(n);i.panBy(l,{animate:!1}),this._draggable._newPos._add(l),this._draggable._startPos._add(l),ge(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=k(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(T(this._panRequest),this._panRequest=k(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,i=e._shadow,n=ve(e._icon),o=e._map.layerPointToLatLng(n);i&&ge(i,n),e._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){T(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Ei=Ti.extend({options:{icon:new Si,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){d(this,e),this._latlng=N(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=N(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),n=!1;i!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(i.title=t.title),"IMG"===i.tagName&&(i.alt=t.alt||"")),ue(i,e),t.keyboard&&(i.tabIndex="0",i.setAttribute("role","button")),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Me(i,"focus",this._panOnFocus,this);var o=t.icon.createShadow(this._shadow),s=!1;o!==this._shadow&&(this._removeShadow(),s=!0),o&&(ue(o,e),o.alt=""),this._shadow=o,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),o&&s&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Ce(this._icon,"focus",this._panOnFocus,this),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&ge(this._icon,t),this._shadow&&ge(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(ue(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Zi)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Zi(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&me(this._icon,t),this._shadow&&me(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var t=this._map;if(t){var e=this.options.icon.options,i=e.iconSize?O(e.iconSize):O(0,0),n=e.iconAnchor?O(e.iconAnchor):O(0,0);t.panInside(this._latlng,{paddingTopLeft:n,paddingBottomRight:i.subtract(n)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});var Oi=Ti.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return d(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),Ai=Oi.extend({options:{fill:!0,radius:10},initialize:function(t,e){d(this,e),this._latlng=N(t),this._radius=this.options.radius},setLatLng:function(t){var e=this._latlng;return this._latlng=N(t),this.redraw(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return Oi.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),n=[t+i,e+i];this._pxBounds=new A(this._point.subtract(n),this._point.add(n))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});var Ii=Ai.extend({initialize:function(t,i,n){if("number"==typeof i&&(i=e({},n,{radius:i})),d(this,i),this._latlng=N(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new j(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Oi.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,i=this._map,n=i.options.crs;if(n.distance===H.distance){var o=Math.PI/180,s=this._mRadius/H.R/o,r=i.project([e+s,t]),a=i.project([e-s,t]),h=r.add(a).divideBy(2),l=i.unproject(h).lat,u=Math.acos((Math.cos(s*o)-Math.sin(e*o)*Math.sin(l*o))/(Math.cos(e*o)*Math.cos(l*o)))/o;(isNaN(u)||0===u)&&(u=s/Math.cos(Math.PI/180*e)),this._point=h.subtract(i.getPixelOrigin()),this._radius=isNaN(u)?0:h.x-i.project([l,t-u]).x,this._radiusY=h.y-r.y}else{var c=n.unproject(n.project(this._latlng).subtract([this._mRadius,0]));this._point=i.latLngToLayerPoint(this._latlng),this._radius=this._point.x-i.latLngToLayerPoint(c).x}this._updateBounds()}});var ji=Oi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){d(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,i,n=1/0,o=null,s=_i,r=0,a=this._parts.length;r<a;r++)for(var h=this._parts[r],l=1,u=h.length;l<u;l++){var c=s(t,e=h[l-1],i=h[l],!0);c<n&&(n=c,o=s(t,e,i))}return o&&(o.distance=Math.sqrt(n)),o},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return vi(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=N(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new j,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return fi(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=fi(t),n=0,o=t.length;n<o;n++)i?(e[n]=N(t[n]),this._bounds.extend(e[n])):e[n]=this._convertLatLngs(t[n]);return e},_project:function(){var t=new A;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),e=new Z(t,t);this._rawPxBounds&&(this._pxBounds=new A([this._rawPxBounds.min.subtract(e),this._rawPxBounds.max.add(e)]))},_projectLatlngs:function(t,e,i){var n,o,s=t[0]instanceof R,r=t.length;if(s){for(o=[],n=0;n<r;n++)o[n]=this._map.latLngToLayerPoint(t[n]),i.extend(o[n]);e.push(o)}else for(n=0;n<r;n++)this._projectLatlngs(t[n],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var e,i,n,o,s,r,a,h=this._parts;for(e=0,n=0,o=this._rings.length;e<o;e++)for(i=0,s=(a=this._rings[e]).length;i<s-1;i++)(r=ci(a[i],a[i+1],t,i,!0))&&(h[n]=h[n]||[],h[n].push(r[0]),r[1]===a[i+1]&&i!==s-2||(h[n].push(r[1]),n++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,n=t.length;i<n;i++)t[i]=hi(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var i,n,o,s,r,a,h=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(i=0,s=this._parts.length;i<s;i++)for(n=0,o=(r=(a=this._parts[i]).length)-1;n<r;o=n++)if((e||0!==n)&&li(t,a[o],a[n])<=h)return!0;return!1}});ji._flat=gi;var Bi=ji.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return oi(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(t){var e=ji.prototype._convertLatLngs.call(this,t),i=e.length;return i>=2&&e[0]instanceof R&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){ji.prototype._setLatLngs.call(this,t),fi(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return fi(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new Z(e,e);if(t=new A(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;o<s;o++)(n=ni(this._rings[o],t,!0)).length&&this._parts.push(n)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,i,n,o,s,r,a,h,l=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o<a;o++)for(s=0,r=(h=(e=this._parts[o]).length)-1;s<h;r=s++)i=e[s],n=e[r],i.y>t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||ji.prototype._containsPoint.call(this,t,!0)}});var Ri=zi.extend({initialize:function(t,e){d(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=f(t)?t:t.features;if(o){for(e=0,i=o.length;e<i;e++)((n=o[e]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s=this.options;if(s.filter&&!s.filter(t))return this;var r=Ni(t,s);return r?(r.feature=Gi(t),r.defaultOptions=r.options,this.resetStyle(r),s.onEachFeature&&s.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return void 0===t?this.eachLayer(this.resetStyle,this):(t.options=e({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(t){return this.eachLayer((function(e){this._setLayerStyle(e,t)}),this)},_setLayerStyle:function(t,e){t.setStyle&&("function"==typeof e&&(e=e(t.feature)),t.setStyle(e))}});function Ni(t,e){var i,n,o,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],l=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Fi;if(!a&&!r)return null;switch(r.type){case"Point":return Di(l,t,i=u(a),e);case"MultiPoint":for(o=0,s=a.length;o<s;o++)i=u(a[o]),h.push(Di(l,t,i,e));return new zi(h);case"LineString":case"MultiLineString":return n=Hi(a,"LineString"===r.type?0:1,u),new ji(n,e);case"Polygon":case"MultiPolygon":return n=Hi(a,"Polygon"===r.type?1:2,u),new Bi(n,e);case"GeometryCollection":for(o=0,s=r.geometries.length;o<s;o++){var c=Ni({geometry:r.geometries[o],type:"Feature",properties:t.properties},e);c&&h.push(c)}return new zi(h);case"FeatureCollection":for(o=0,s=r.features.length;o<s;o++){var d=Ni(r.features[o],e);d&&h.push(d)}return new zi(h);default:throw new Error("Invalid GeoJSON object.")}}function Di(t,e,i,n){return t?t(e,i):new Ei(i,n&&n.markersInheritOptions&&n)}function Fi(t){return new R(t[1],t[0],t[2])}function Hi(t,e,i){for(var n,o=[],s=0,r=t.length;s<r;s++)n=e?Hi(t[s],e-1,i):(i||Fi)(t[s]),o.push(n);return o}function Ui(t,e){return void 0!==(t=N(t)).alt?[l(t.lng,e),l(t.lat,e),l(t.alt,e)]:[l(t.lng,e),l(t.lat,e)]}function Wi(t,e,i,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(e?Wi(t[s],fi(t[s])?0:e-1,i,n):Ui(t[s],n));return!e&&i&&o.length>0&&o.push(o[0].slice()),o}function qi(t,i){return t.feature?e({},t.feature,{geometry:i}):Gi(i)}function Gi(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Vi={toGeoJSON:function(t){return qi(this,{type:"Point",coordinates:Ui(this.getLatLng(),t)})}};function Ji(t,e){return new Ri(t,e)}Ei.include(Vi),Ii.include(Vi),Ai.include(Vi),ji.include({toGeoJSON:function(t){var e=!fi(this._latlngs);return qi(this,{type:(e?"Multi":"")+"LineString",coordinates:Wi(this._latlngs,e?1:0,!1,t)})}}),Bi.include({toGeoJSON:function(t){var e=!fi(this._latlngs),i=e&&!fi(this._latlngs[0]),n=Wi(this._latlngs,i?2:e?1:0,!0,t);return e||(n=[n]),qi(this,{type:(i?"Multi":"")+"Polygon",coordinates:n})}}),Mi.include({toMultiPoint:function(t){var e=[];return this.eachLayer((function(i){e.push(i.toGeoJSON(t).geometry.coordinates)})),qi(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var i="GeometryCollection"===e,n=[];return this.eachLayer((function(e){if(e.toGeoJSON){var o=e.toGeoJSON(t);if(i)n.push(o.geometry);else{var s=Gi(o);"FeatureCollection"===s.type?n.push.apply(n,s.features):n.push(s)}}})),i?qi(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});var Ki=Ji,Yi=Ti.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=B(e),d(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(ue(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&ae(this._image),this},bringToBack:function(){return this._map&&he(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=B(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:oe("img");ue(e,"leaflet-image-layer"),this._zoomAnimated&&ue(e,"leaflet-zoom-animated"),this.options.className&&ue(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onload=n(this.fire,this,"load"),e.onerror=n(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;fe(this._image,i,e)},_reset:function(){var t=this._image,e=new A(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();ge(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){me(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),Xi=Yi.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:oe("video");if(ue(e,"leaflet-image-layer"),this._zoomAnimated&&ue(e,"leaflet-zoom-animated"),this.options.className&&ue(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onloadeddata=n(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),o=[],s=0;s<i.length;s++)o.push(i[s].src);this._url=i.length>0?o:[e.src]}else{f(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var r=0;r<this._url.length;r++){var a=oe("source");a.src=this._url[r],e.appendChild(a)}}}});var $i=Yi.extend({_initImage:function(){var t=this._image=this._url;ue(t,"leaflet-image-layer"),this._zoomAnimated&&ue(t,"leaflet-zoom-animated"),this.options.className&&ue(t,this.options.className),t.onselectstart=h,t.onmousemove=h}});var Qi=Ti.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(t,e){t&&(t instanceof R||f(t))?(this._latlng=N(t),d(this,e)):(d(this,t),this._source=e),this.options.content&&(this._content=this.options.content)},openOn:function(t){return(t=arguments.length?t:this._source._map).hasLayer(this)||t.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(t){return this._map?this.close():(arguments.length?this._source=t:t=this._source,this._prepareOpen(),this.openOn(t._map)),this},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&me(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&me(this._container,1),this.bringToFront(),this.options.interactive&&(ue(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(t){t._fadeAnimated?(me(this._container,0),this._removeTimeout=setTimeout(n(se,void 0,this._container),200)):se(this._container),this.options.interactive&&(ce(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=N(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ae(this._container),this},bringToBack:function(){return this._map&&he(this._container),this},_prepareOpen:function(t){var e=this._source;if(!e._map)return!1;if(e instanceof zi){e=null;var i=this._source._layers;for(var n in i)if(i[n]._map){e=i[n];break}if(!e)return!1;this._source=e}if(!t)if(e.getCenter)t=e.getCenter();else if(e.getLatLng)t=e.getLatLng();else{if(!e.getBounds)throw new Error("Unable to get source layer LatLng.");t=e.getBounds().getCenter()}return this.setLatLng(t),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=O(this.options.offset),i=this._getAnchor();this._zoomAnimated?ge(this._container,t.add(i)):e=e.add(t).add(i);var n=this._containerBottom=-e.y,o=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=n+"px",this._container.style.left=o+"px"}},_getAnchor:function(){return[0,0]}});Ge.include({_initOverlay:function(t,e,i,n){var o=e;return o instanceof t||(o=new t(n).setContent(e)),i&&o.setLatLng(i),o}}),Ti.include({_initOverlay:function(t,e,i,n){var o=i;return o instanceof t?(d(o,n),o._source=this):(o=e&&!n?e:new t(n,this)).setContent(i),o}});var tn=Qi.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return!(t=arguments.length?t:this._source._map).hasLayer(this)&&t._popup&&t._popup.options.autoClose&&t.removeLayer(t._popup),t._popup=this,Qi.prototype.openOn.call(this,t)},onAdd:function(t){Qi.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Oi||this._source.on("preclick",Ae))},onRemove:function(t){Qi.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Oi||this._source.off("preclick",Ae))},getEvents:function(){var t=Qi.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this.close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_initLayout:function(){var t="leaflet-popup",e=this._container=oe("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),i=this._wrapper=oe("div",t+"-content-wrapper",e);if(this._contentNode=oe("div",t+"-content",i),je(e),Ie(this._contentNode),Me(e,"contextmenu",Ae),this._tipContainer=oe("div",t+"-tip-container",e),this._tip=oe("div",t+"-tip",this._tipContainer),this.options.closeButton){var n=this._closeButton=oe("a",t+"-close-button",e);n.setAttribute("role","button"),n.setAttribute("aria-label","Close popup"),n.href="#close",n.innerHTML='<span aria-hidden="true">&#215;</span>',Me(n,"click",(function(t){Be(t),this.close()}),this)}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var i=t.offsetWidth;i=Math.min(i,this.options.maxWidth),i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="";var n=t.offsetHeight,o=this.options.maxHeight,s="leaflet-popup-scrolled";o&&n>o?(e.height=o+"px",ue(t,s)):ce(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();ge(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan)if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning)this._autopanning=!1;else{var t=this._map,e=parseInt(ne(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,o=new Z(this._containerLeft,-i-this._containerBottom);o._add(ve(this._container));var s=t.layerPointToContainerPoint(o),r=O(this.options.autoPanPadding),a=O(this.options.autoPanPaddingTopLeft||r),h=O(this.options.autoPanPaddingBottomRight||r),l=t.getSize(),u=0,c=0;s.x+n+h.x>l.x&&(u=s.x+n-l.x+h.x),s.x-u-a.x<0&&(u=s.x-a.x),s.y+i+h.y>l.y&&(c=s.y+i-l.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(u||c)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([u,c]))}},_getAnchor:function(){return O(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Ge.mergeOptions({closePopupOnClick:!0}),Ge.include({openPopup:function(t,e,i){return this._initOverlay(tn,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),Ti.include({bindPopup:function(t,e){return this._popup=this._initOverlay(tn,this._popup,t,e),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(t){return this._popup&&(this instanceof zi||(this._popup._source=this),this._popup._prepareOpen(t||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()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(this._popup&&this._map){Re(t);var e=t.layer||t.target;this._popup._source!==e||e instanceof Oi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var en=Qi.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Qi.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Qi.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Qi.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=oe("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+s(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),a=this.options.direction,h=o.offsetWidth,l=o.offsetHeight,u=O(this.options.offset),c=this._getAnchor();"top"===a?(e=h/2,i=l):"bottom"===a?(e=h/2,i=0):"center"===a?(e=h/2,i=l/2):"right"===a?(e=0,i=l/2):"left"===a?(e=h,i=l/2):r.x<s.x?(a="right",e=0,i=l/2):(a="left",e=h+2*(u.x+c.x),i=l/2),t=t.subtract(O(e,i,!0)).add(u).add(c),ce(o,"leaflet-tooltip-right"),ce(o,"leaflet-tooltip-left"),ce(o,"leaflet-tooltip-top"),ce(o,"leaflet-tooltip-bottom"),ue(o,"leaflet-tooltip-"+a),ge(o,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&me(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return O(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});Ge.include({openTooltip:function(t,e,i){return this._initOverlay(en,t,e,i).openOn(this),this},closeTooltip:function(t){return t.close(),this}}),Ti.include({bindTooltip:function(t,e){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(en,this._tooltip,t,e),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?"off":"on",i={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,i.click=this._openTooltip,this._map?this._addFocusListeners():i.add=this._addFocusListeners),this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),this[e](i),this._tooltipHandlersAdded=!t}},openTooltip:function(t){return this._tooltip&&(this instanceof zi||(this._tooltip._source=this),this._tooltip._prepareOpen(t)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&(Me(e,"focus",(function(){this._tooltip._source=t,this.openTooltip()}),this),Me(e,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&e.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(t){if(this._tooltip&&this._map)if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var e=this;this._map.once("moveend",(function(){e._openOnceFlag=!1,e._openTooltip(t)}))}else this._tooltip._source=t.layer||t.target,this.openTooltip(this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var e,i,n=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(e=this._map.mouseEventToContainerPoint(t.originalEvent),i=this._map.containerPointToLayerPoint(e),n=this._map.layerPointToLatLng(i)),this._tooltip.setLatLng(n)}});var nn=Ci.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),i=this.options;if(i.html instanceof Element?(re(e),e.appendChild(i.html)):e.innerHTML=!1!==i.html?i.html:"",i.bgPos){var n=O(i.bgPos);e.style.backgroundPosition=-n.x+"px "+-n.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});Ci.Default=Si;var on=Ti.extend({options:{tileSize:256,opacity:1,updateWhenIdle:At.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){d(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),se(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ae(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(he(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var t=this._clampZoom(this._map.getZoom());t!==this._tileZoom&&(this._tileZoom=t,this._updateLevels()),this._update()}return this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=r(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof Z?t:new Z(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,n=-t(-1/0,1/0),o=0,s=i.length;o<s;o++)e=i[o].style.zIndex,i[o]!==this._container&&e&&(n=t(n,+e));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!At.ielt9){me(this._container,this.options.opacity);var t=+new Date,e=!1,i=!1;for(var n in this._tiles){var o=this._tiles[n];if(o.current&&o.loaded){var s=Math.min(1,(t-o.loaded)/200);me(o.el,s),s<1?e=!0:(o.active?i=!0:this._onOpaqueTile(o),o.active=!0)}}i&&!this._noPrune&&this._pruneTiles(),e&&(T(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this))}},_onOpaqueTile:h,_initContainer:function(){this._container||(this._container=oe("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var i in this._levels)i=Number(i),this._levels[i].el.children.length||i===t?(this._levels[i].el.style.zIndex=e-Math.abs(t-i),this._onUpdateLevel(i)):(se(this._levels[i].el),this._removeTilesAtZoom(i),this._onRemoveLevel(i),delete this._levels[i]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=oe("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=e,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),n.el.offsetWidth,this._onCreateLevel(n)),this._level=n,n}},_onUpdateLevel:h,_onRemoveLevel:h,_onCreateLevel:h,_pruneTiles:function(){if(this._map){var t,e,i=this._map.getZoom();if(i>this.options.maxZoom||i<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(e=this._tiles[t]).retain=e.current;for(t in this._tiles)if((e=this._tiles[t]).current&&!e.active){var n=e.coords;this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)se(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,i,n){var o=Math.floor(t/2),s=Math.floor(e/2),r=i-1,a=new Z(+o,+s);a.z=+r;var h=this._tileCoordsToKey(a),l=this._tiles[h];return l&&l.active?(l.retain=!0,!0):(l&&l.loaded&&(l.retain=!0),r>n&&this._retainParent(o,s,r,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new Z(o,s);r.z=i+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),i+1<n&&this._retainChildren(o,s,i+1,n))}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,i,n){var o=Math.round(e);o=void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom?void 0:this._clampZoom(o);var s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),i||this._pruneTiles(),this._noPrune=!!i),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var n=this._map.getZoomScale(i,t.zoom),o=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(e,i)).round();At.any3d?fe(t.el,o,n):ge(t.el,o)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],n).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],n).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],n).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],n).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),n=e.getZoomScale(i,this._tileZoom),o=e.project(t,this._tileZoom).floor(),s=e.getSize().divideBy(2*n);return new A(o.subtract(s),o.add(s))},_update:function(t){var e=this._map;if(e){var i=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var n=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(n),s=o.getCenter(),r=[],a=this.options.keepBuffer,h=new A(o.getBottomLeft().subtract([a,-a]),o.getTopRight().add([a,-a]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var l in this._tiles){var u=this._tiles[l].coords;u.z===this._tileZoom&&h.contains(new Z(u.x,u.y))||(this._tiles[l].current=!1)}if(Math.abs(i-this._tileZoom)>1)this._setView(t,i);else{for(var c=o.min.y;c<=o.max.y;c++)for(var d=o.min.x;d<=o.max.x;d++){var p=new Z(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var m=this._tiles[this._tileCoordsToKey(p)];m?m.current=!0:r.push(p)}}if(r.sort((function(t,e){return t.distanceTo(s)-e.distanceTo(s)})),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var _=document.createDocumentFragment();for(d=0;d<r.length;d++)this._addTile(r[d],_);this._level.el.appendChild(_)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return B(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i);return[e.unproject(n,t.z),e.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new j(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new Z(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(se(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){ue(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=h,t.onmousemove=h,At.ielt9&&this.options.opacity<1&&me(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),o=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),n(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&k(n(this._tileReady,this,t,null,s)),ge(s,i),this._tiles[o]={el:s,coords:t,current:!0},e.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var o=this._tileCoordsToKey(t);(i=this._tiles[o])&&(i.loaded=+new Date,this._map._fadeAnimated?(me(i.el,0),T(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(ue(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),At.ielt9||!this._map._fadeAnimated?k(this._pruneTiles,this):setTimeout(n(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new Z(this._wrapX?a(t.x,this._wrapX):t.x,this._wrapY?a(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new A(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var sn=on.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=d(this,e)).detectRetina&&At.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return Me(i,"load",n(this._tileOnLoad,this,e,i)),Me(i,"error",n(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var i={r:At.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(i.y=n),i["-y"]=n}return _(this._url,e(i,this.options))},_tileOnLoad:function(t,e){At.ielt9?setTimeout(n(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return this.options.zoomReverse&&(t=e-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=h,e.onerror=h,!e.complete)){e.src=v;var i=this._tiles[t].coords;se(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",v),on.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==v))return on.prototype._tileReady.call(this,t,e,i)}});function rn(t,e){return new sn(t,e)}var an=sn.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,i){this._url=t;var n=e({},this.defaultWmsParams);for(var o in i)o in this.options||(n[o]=i[o]);var s=(i=d(this,i)).detectRetina&&At.retina?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,sn.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=I(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===Li?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=sn.prototype.getTileUrl.call(this,t);return a+p(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,i){return e(this.wmsParams,t),i||this.redraw(),this}});sn.WMS=an,rn.wms=function(t,e){return new an(t,e)};var hn=Ti.extend({options:{padding:.1},initialize:function(t){d(this,t),s(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),ue(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 t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),s=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));At.any3d?fe(this._container,s,i):ge(this._container,s)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new A(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),ln=hn.extend({options:{tolerance:0},getEvents:function(){var t=hn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){hn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");Me(t,"mousemove",this._onMouseMove,this),Me(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Me(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){T(this._redrawRequest),delete this._ctx,se(this._container),Ce(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){hn.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=At.retina?2:1;ge(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",At.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){hn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[s(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[s(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,n=t.options.dashArray.split(/[, ]+/),o=[];for(i=0;i<n.length;i++){if(e=Number(n[i]),isNaN(e))return;o.push(e)}t.options._dashArray=o}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||k(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new A,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var i=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,i.x,i.y),this._ctx.clip()}this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(h.beginPath(),i=0;i<a;i++){for(n=0,o=r[i].length;n<o;n++)s=r[i][n],h[n?"lineTo":"moveTo"](s.x,s.y);e&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var e=t._point,i=this._ctx,n=Math.max(Math.round(t._radius),1),o=(Math.max(Math.round(t._radiusY),1)||n)/n;1!==o&&(i.save(),i.scale(1,o)),i.beginPath(),i.arc(e.x,e.y/o,n,0,2*Math.PI,!1),1!==o&&i.restore(),this._fillStroke(i,t)}},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||"evenodd")),i.stroke&&0!==i.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(n)&&("click"!==t.type&&"preclick"!==t.type||!this._map._draggableMoved(e))&&(i=e);this._fireEvent(!!i&&[i],t)},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(ce(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,e){if(!this._mouseHoverThrottled){for(var i,o,s=this._drawFirst;s;s=s.next)(i=s.layer).options.interactive&&i._containsPoint(e)&&(o=i);o!==this._hoveredLayer&&(this._handleMouseOut(t),o&&(ue(this._container,"leaflet-interactive"),this._fireEvent([o],t,"mouseover"),this._hoveredLayer=o)),this._fireEvent(!!this._hoveredLayer&&[this._hoveredLayer],t),this._mouseHoverThrottled=!0,setTimeout(n((function(){this._mouseHoverThrottled=!1}),this),32)}},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e=t._order;if(e){var i=e.next,n=e.prev;i&&(i.prev=n,n?n.next=i:i&&(this._drawFirst=i),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))}},_bringToBack:function(t){var e=t._order;if(e){var i=e.next,n=e.prev;n&&(n.next=i,i?i.prev=n:n&&(this._drawLast=n),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}});function un(t){return At.canvas?new ln(t):null}var cn=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),dn={_initContainer:function(){this._container=oe("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(hn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=cn("shape");ue(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=cn("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[s(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;se(e),t.removeInteractiveTarget(e),delete this._layers[s(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=cn("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=f(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=cn("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){ae(t._container)},_bringToBack:function(t){he(t._container)}},pn=At.vml?cn:K,mn=hn.extend({_initContainer:function(){this._container=pn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=pn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),Ce(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){hn.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),ge(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=pn("path");t.options.className&&ue(e,t.options.className),t.options.interactive&&ue(e,"leaflet-interactive"),this._updateStyle(t),this._layers[s(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){se(t._path),t.removeInteractiveTarget(t._path),delete this._layers[s(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,Y(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,o)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){ae(t._path)},_bringToBack:function(t){he(t._path)}});function fn(t){return At.svg||At.vml?new mn(t):null}At.vml&&mn.include(dn),Ge.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&un(t)||fn(t)}});var gn=Bi.extend({initialize:function(t,e){Bi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=B(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});mn.create=pn,mn.pointsToPath=Y,Ri.geometryToLayer=Ni,Ri.coordsToLatLng=Fi,Ri.coordsToLatLngs=Hi,Ri.latLngToCoords=Ui,Ri.latLngsToCoords=Wi,Ri.getFeature=qi,Ri.asFeature=Gi,Ge.mergeOptions({boxZoom:!0});var vn=Qe.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){Me(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Ce(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),Jt(),be(),this._startPoint=this._map.mouseEventToContainerPoint(t),Me(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=oe("div","leaflet-zoom-box",this._container),ue(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new A(this._point,this._startPoint),i=e.getSize();ge(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(se(this._box),ce(this._container,"leaflet-crosshair")),Kt(),we(),Ce(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(n(this._resetState,this),0);var e=new j(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Ge.addInitHook("addHandler","boxZoom",vn),Ge.mergeOptions({doubleClickZoom:!0});var yn=Qe.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});Ge.addInitHook("addHandler","doubleClickZoom",yn),Ge.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var bn=Qe.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new ii(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}ue(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ce(this._map._container,"leaflet-grab"),ce(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 t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=B(this._map.options.maxBounds);this._offsetLimit=I(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)<Math.abs(s+i)?o:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var e=this._map,i=e.options,n=!i.inertia||t.noInertia||this._times.length<2;if(e.fire("dragend",t),n)e.fire("moveend");else{this._prunePositions(+new Date);var o=this._lastPos.subtract(this._positions[0]),s=(this._lastTime-this._times[0])/1e3,r=i.easeLinearity,a=o.multiplyBy(r/s),h=a.distanceTo([0,0]),l=Math.min(i.inertiaMaxSpeed,h),u=a.multiplyBy(l/h),c=l/(i.inertiaDeceleration*r),d=u.multiplyBy(-c/2).round();d.x||d.y?(d=e._limitOffset(d,e.options.maxBounds),k((function(){e.panBy(d,{duration:c,easeLinearity:r,noMoveStart:!0,animate:!0})}))):e.fire("moveend")}}});Ge.addInitHook("addHandler","dragging",bn),Ge.mergeOptions({keyboard:!0,keyboardPanDelta:80});var wn=Qe.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),Me(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Ce(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,i=t.scrollTop||e.scrollTop,n=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(n,i)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,i,n=this._panKeys={},o=this.keyCodes;for(e=0,i=o.left.length;e<i;e++)n[o.left[e]]=[-1*t,0];for(e=0,i=o.right.length;e<i;e++)n[o.right[e]]=[t,0];for(e=0,i=o.down.length;e<i;e++)n[o.down[e]]=[0,t];for(e=0,i=o.up.length;e<i;e++)n[o.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,i,n=this._zoomKeys={},o=this.keyCodes;for(e=0,i=o.zoomIn.length;e<i;e++)n[o.zoomIn[e]]=t;for(e=0,i=o.zoomOut.length;e<i;e++)n[o.zoomOut[e]]=-t},_addHooks:function(){Me(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Ce(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i=t.keyCode,n=this._map;if(i in this._panKeys){if(!n._panAnim||!n._panAnim._inProgress)if(e=this._panKeys[i],t.shiftKey&&(e=O(e).multiplyBy(3)),n.options.maxBounds&&(e=n._limitOffset(O(e),n.options.maxBounds)),n.options.worldCopyJump){var o=n.wrapLatLng(n.unproject(n.project(n.getCenter()).add(e)));n.panTo(o)}else n.panBy(e)}else if(i in this._zoomKeys)n.setZoom(n.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[i]);else{if(27!==i||!n._popup||!n._popup.options.closeOnEscapeKey)return;n.closePopup()}Re(t)}}});Ge.addInitHook("addHandler","keyboard",wn),Ge.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var xn=Qe.extend({addHooks:function(){Me(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Ce(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=He(t),i=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var o=Math.max(i-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(n(this._performZoom,this),o),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0;t._stop();var n=this._delta/(4*this._map.options.wheelPxPerZoomLevel),o=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,s=i?Math.ceil(o/i)*i:o,r=t._limitZoom(e+(this._delta>0?s:-s))-e;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});Ge.addInitHook("addHandler","scrollWheelZoom",xn);Ge.mergeOptions({tapHold:At.touchNative&&At.safari&&At.mobile,tapTolerance:15});var Pn=Qe.extend({addHooks:function(){Me(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Ce(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),1===t.touches.length){var e=t.touches[0];this._startPos=this._newPos=new Z(e.clientX,e.clientY),this._holdTimeout=setTimeout(n((function(){this._cancel(),this._isTapValid()&&(Me(document,"touchend",Be),Me(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))}),this),600),Me(document,"touchend touchcancel contextmenu",this._cancel,this),Me(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){Ce(document,"touchend",Be),Ce(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),Ce(document,"touchend touchcancel contextmenu",this._cancel,this),Ce(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new Z(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});Ge.addInitHook("addHandler","tapHold",Pn),Ge.mergeOptions({touchZoom:At.touch,bounceAtZoomLimits:!0});var Ln=Qe.extend({addHooks:function(){ue(this._map._container,"leaflet-touch-zoom"),Me(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ce(this._map._container,"leaflet-touch-zoom"),Ce(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),Me(document,"touchmove",this._onTouchMove,this),Me(document,"touchend touchcancel",this._onTouchEnd,this),Be(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),o=e.mouseEventToContainerPoint(t.touches[1]),s=i.distanceTo(o)/this._startDist;if(this._zoom=e.getScaleZoom(s,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&s<1||this._zoom>e.getMaxZoom()&&s>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=i._add(o)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),T(this._animRequest);var a=n(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=k(a,this,!0),Be(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,T(this._animRequest),Ce(document,"touchmove",this._onTouchMove,this),Ce(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))):this._zooming=!1}});Ge.addInitHook("addHandler","touchZoom",Ln),Ge.BoxZoom=vn,Ge.DoubleClickZoom=yn,Ge.Drag=bn,Ge.Keyboard=wn,Ge.ScrollWheelZoom=xn,Ge.TapHold=Pn,Ge.TouchZoom=Ln,t.Bounds=A,t.Browser=At,t.CRS=F,t.Canvas=ln,t.Circle=Ii,t.CircleMarker=Ai,t.Class=z,t.Control=Ve,t.DivIcon=nn,t.DivOverlay=Qi,t.DomEvent=We,t.DomUtil=Te,t.Draggable=ii,t.Evented=S,t.FeatureGroup=zi,t.GeoJSON=Ri,t.GridLayer=on,t.Handler=Qe,t.Icon=Ci,t.ImageOverlay=Yi,t.LatLng=R,t.LatLngBounds=j,t.Layer=Ti,t.LayerGroup=Mi,t.LineUtil=yi,t.Map=Ge,t.Marker=Ei,t.Mixin=ti,t.Path=Oi,t.Point=Z,t.PolyUtil=ai,t.Polygon=Bi,t.Polyline=ji,t.Popup=tn,t.PosAnimation=qe,t.Projection=xi,t.Rectangle=gn,t.Renderer=hn,t.SVG=mn,t.SVGOverlay=$i,t.TileLayer=sn,t.Tooltip=en,t.Transformation=q,t.Util=M,t.VideoOverlay=Xi,t.bind=n,t.bounds=I,t.canvas=un,t.circle=function(t,e,i){return new Ii(t,e,i)},t.circleMarker=function(t,e){return new Ai(t,e)},t.control=Je,t.divIcon=function(t){return new nn(t)},t.extend=e,t.featureGroup=function(t,e){return new zi(t,e)},t.geoJSON=Ji,t.geoJson=Ki,t.gridLayer=function(t){return new on(t)},t.icon=function(t){return new Ci(t)},t.imageOverlay=function(t,e,i){return new Yi(t,e,i)},t.latLng=N,t.latLngBounds=B,t.layerGroup=function(t,e){return new Mi(t,e)},t.map=function(t,e){return new Ge(t,e)},t.marker=function(t,e){return new Ei(t,e)},t.point=O,t.polygon=function(t,e){return new Bi(t,e)},t.polyline=function(t,e){return new ji(t,e)},t.popup=function(t,e){return new tn(t,e)},t.rectangle=function(t,e){return new gn(t,e)},t.setOptions=d,t.stamp=s,t.svg=fn,t.svgOverlay=function(t,e,i){return new $i(t,e,i)},t.tileLayer=rn,t.tooltip=function(t,e){return new en(t,e)},t.transformation=G,t.version="1.9.4",t.videoOverlay=function(t,e,i){return new Xi(t,e,i)};var kn=window.L;t.noConflict=function(){return window.L=kn,this},window.L=t}(e)},159:(t,e,i)=>{"use strict";(n=i(609))&&"object"==typeof n&&"default"in n&&n.default;var n,o=i(576),s=new o,r=s.getBrowser(),a=(s.getCPU(),s.getDevice()),h=s.getEngine(),l=s.getOS(),u=s.getUA();var c="mobile",d="tablet",p="Chrome",m="Firefox",_="Opera",f="Yandex",g="Safari",v="Internet Explorer",y="Edge",b="Chromium",w="IE",x="Mobile Safari",P="MIUI Browser",L="Samsung Browser",k="iOS",T="Android",M="Windows Phone",z="Windows",C="Mac OS",S=function(t){return t||(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"none")},Z=function(){return!("undefined"==typeof window||!window.navigator&&!navigator)&&(window.navigator||navigator)},E=function(t){var e=Z();return e&&e.platform&&(-1!==e.platform.indexOf(t)||"MacIntel"===e.platform&&e.maxTouchPoints>1&&!window.MSStream)},O=function(t){return t.type===c},A=function(t){return t.type===d},I=function(t){var e=t.type;return e===c||e===d},j=function(t){return"smarttv"===t.type},B=function(t){return undefined===t.type},R=function(t){return"wearable"===t.type},N=function(t){return"console"===t.type},D=function(t){return"embedded"===t.type},F=function(t){var e=t.vendor;return S(e)},H=function(t){var e=t.model;return S(e)},U=function(t){var e=t.type;return S(e,"browser")},W=function(t){return t.name===T},q=function(t){return t.name===z},G=function(t){return t.name===C},V=function(t){return t.name===M},J=function(t){return t.name===k},K=function(t){var e=t.version;return S(e)},Y=function(t){var e=t.name;return S(e)},X=function(t){return t.name===p},$=function(t){return t.name===m},Q=function(t){return t.name===b},tt=function(t){return t.name===y},et=function(t){return t.name===f},it=function(t){var e=t.name;return e===g||e===x},nt=function(t){return t.name===x},ot=function(t){return t.name===_},st=function(t){var e=t.name;return e===v||e===w},rt=function(t){return t.name===P},at=function(t){return t.name===L},ht=function(t){var e=t.version;return S(e)},lt=function(t){var e=t.major;return S(e)},ut=function(t){var e=t.name;return S(e)},ct=function(t){var e=t.name;return S(e)},dt=function(t){var e=t.version;return S(e)},pt=function(){var t=Z(),e=t&&t.userAgent&&t.userAgent.toLowerCase();return"string"==typeof e&&/electron/.test(e)},mt=function(t){return"string"==typeof t&&-1!==t.indexOf("Edg/")},_t=function(){var t=Z();return t&&(/iPad|iPhone|iPod/.test(t.platform)||"MacIntel"===t.platform&&t.maxTouchPoints>1)&&!window.MSStream},ft=function(){return E("iPad")},gt=function(){return E("iPhone")},vt=function(){return E("iPod")},yt=function(t){return S(t)};j(a),N(a),R(a),D(a),nt(r)||ft(),Q(r);var bt=I(a)||ft(),wt=(O(a),A(a)||ft(),B(a),B(a),W(l),V(l),J(l)||ft(),X(r),$(r),it(r));ot(r),st(r),K(l),Y(l),ht(r),lt(r),ut(r),F(a),H(a),ct(h),dt(h),yt(u),tt(r)||mt(u),et(r),U(a),_t(),ft(),gt(),vt(),pt(),mt(u),tt(r)&&mt(u),q(l),G(l),rt(r),at(r);e.Fr=bt,e.nr=wt},576:function(t,e,i){var n;!function(o,s){"use strict";var r="function",a="undefined",h="object",l="string",u="major",c="model",d="name",p="type",m="vendor",_="version",f="architecture",g="console",v="mobile",y="tablet",b="smarttv",w="wearable",x="embedded",P="Amazon",L="Apple",k="ASUS",T="BlackBerry",M="Browser",z="Chrome",C="Firefox",S="Google",Z="Huawei",E="LG",O="Microsoft",A="Motorola",I="Opera",j="Samsung",B="Sharp",R="Sony",N="Xiaomi",D="Zebra",F="Facebook",H="Chromium OS",U="Mac OS",W=" Browser",q=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].toUpperCase()]=t[i];return e},G=function(t,e){return typeof t===l&&-1!==V(e).indexOf(V(t))},V=function(t){return t.toLowerCase()},J=function(t,e){if(typeof t===l)return t=t.replace(/^\s\s*/,""),typeof e===a?t:t.substring(0,500)},K=function(t,e){for(var i,n,o,a,l,u,c=0;c<e.length&&!l;){var d=e[c],p=e[c+1];for(i=n=0;i<d.length&&!l&&d[i];)if(l=d[i++].exec(t))for(o=0;o<p.length;o++)u=l[++n],typeof(a=p[o])===h&&a.length>0?2===a.length?typeof a[1]==r?this[a[0]]=a[1].call(this,u):this[a[0]]=a[1]:3===a.length?typeof a[1]!==r||a[1].exec&&a[1].test?this[a[0]]=u?u.replace(a[1],a[2]):s:this[a[0]]=u?a[1].call(this,u,a[2]):s:4===a.length&&(this[a[0]]=u?a[3].call(this,u.replace(a[1],a[2])):s):this[a]=u||s;c+=2}},Y=function(t,e){for(var i in e)if(typeof e[i]===h&&e[i].length>0){for(var n=0;n<e[i].length;n++)if(G(e[i][n],t))return"?"===i?s:i}else if(G(e[i],t))return"?"===i?s:i;return e.hasOwnProperty("*")?e["*"]:t},X={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},$={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[_,[d,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[_,[d,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[d,_],[/opios[\/ ]+([\w\.]+)/i],[_,[d,I+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[_,[d,I+" GX"]],[/\bopr\/([\w\.]+)/i],[_,[d,I]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[_,[d,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[d,_],[/quark(?:pc)?\/([-\w\.]+)/i],[_,[d,"Quark"]],[/\bddg\/([\w\.]+)/i],[_,[d,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[_,[d,"UC"+M]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[_,[d,"WeChat"]],[/konqueror\/([\w\.]+)/i],[_,[d,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[_,[d,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[_,[d,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[_,[d,"Smart Lenovo "+M]],[/(avast|avg)\/([\w\.]+)/i],[[d,/(.+)/,"$1 Secure "+M],_],[/\bfocus\/([\w\.]+)/i],[_,[d,C+" Focus"]],[/\bopt\/([\w\.]+)/i],[_,[d,I+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[_,[d,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[_,[d,"Dolphin"]],[/coast\/([\w\.]+)/i],[_,[d,I+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[_,[d,"MIUI "+M]],[/fxios\/([-\w\.]+)/i],[_,[d,C]],[/\bqihu|(qi?ho?o?|360)browser/i],[[d,"360"+W]],[/\b(qq)\/([\w\.]+)/i],[[d,/(.+)/,"$1Browser"],_],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[d,/(.+)/,"$1"+W],_],[/samsungbrowser\/([\w\.]+)/i],[_,[d,j+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[d,/_/g," "],_],[/metasr[\/ ]?([\d\.]+)/i],[_,[d,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[d,"Sogou Mobile"],_],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[d,_],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[d],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[d,F],_],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[d,_],[/\bgsa\/([\w\.]+) .*safari\//i],[_,[d,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[_,[d,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[_,[d,z+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[d,z+" WebView"],_],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[_,[d,"Android "+M]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[d,_],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[_,[d,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[_,d],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[d,[_,Y,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[d,_],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[d,"Netscape"],_],[/(wolvic)\/([\w\.]+)/i],[d,_],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[_,[d,C+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[d,[_,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[d,[_,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,V]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",V]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,V]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[m,j],[p,y]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[c,[m,j],[p,v]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[c,[m,L],[p,v]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[c,[m,L],[p,y]],[/(macintosh);/i],[c,[m,L]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[c,[m,B],[p,v]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[c,[m,Z],[p,y]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[c,[m,Z],[p,v]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i],[[c,/_/g," "],[m,N],[p,v]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[c,/_/g," "],[m,N],[p,y]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[c,[m,"OPPO"],[p,v]],[/\b(opd2\d{3}a?) bui/i],[c,[m,"OPPO"],[p,y]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[c,[m,"Vivo"],[p,v]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[c,[m,"Realme"],[p,v]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[c,[m,A],[p,v]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[c,[m,A],[p,y]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[m,E],[p,y]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[c,[m,E],[p,v]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[c,[m,"Lenovo"],[p,y]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[c,/_/g," "],[m,"Nokia"],[p,v]],[/(pixel c)\b/i],[c,[m,S],[p,y]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[c,[m,S],[p,v]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[c,[m,R],[p,v]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[c,"Xperia Tablet"],[m,R],[p,y]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[c,[m,"OnePlus"],[p,v]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[c,[m,P],[p,y]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[c,/(.+)/g,"Fire Phone $1"],[m,P],[p,v]],[/(playbook);[-\w\),; ]+(rim)/i],[c,m,[p,y]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[c,[m,T],[p,v]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[c,[m,k],[p,y]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[c,[m,k],[p,v]],[/(nexus 9)/i],[c,[m,"HTC"],[p,y]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[m,[c,/_/g," "],[p,v]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[c,[m,"TCL"],[p,y]],[/(itel) ((\w+))/i],[[m,V],c,[p,Y,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[c,[m,"Acer"],[p,y]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[c,[m,"Meizu"],[p,v]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[c,[m,"Ulefone"],[p,v]],[/droid.+; (a(?:015|06[35]|142p?))/i],[c,[m,"Nothing"],[p,v]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[m,c,[p,v]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[m,c,[p,y]],[/(surface duo)/i],[c,[m,O],[p,y]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[c,[m,"Fairphone"],[p,v]],[/(u304aa)/i],[c,[m,"AT&T"],[p,v]],[/\bsie-(\w*)/i],[c,[m,"Siemens"],[p,v]],[/\b(rct\w+) b/i],[c,[m,"RCA"],[p,y]],[/\b(venue[\d ]{2,7}) b/i],[c,[m,"Dell"],[p,y]],[/\b(q(?:mv|ta)\w+) b/i],[c,[m,"Verizon"],[p,y]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[c,[m,"Barnes & Noble"],[p,y]],[/\b(tm\d{3}\w+) b/i],[c,[m,"NuVision"],[p,y]],[/\b(k88) b/i],[c,[m,"ZTE"],[p,y]],[/\b(nx\d{3}j) b/i],[c,[m,"ZTE"],[p,v]],[/\b(gen\d{3}) b.+49h/i],[c,[m,"Swiss"],[p,v]],[/\b(zur\d{3}) b/i],[c,[m,"Swiss"],[p,y]],[/\b((zeki)?tb.*\b) b/i],[c,[m,"Zeki"],[p,y]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[m,"Dragon Touch"],c,[p,y]],[/\b(ns-?\w{0,9}) b/i],[c,[m,"Insignia"],[p,y]],[/\b((nxa|next)-?\w{0,9}) b/i],[c,[m,"NextBook"],[p,y]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[m,"Voice"],c,[p,v]],[/\b(lvtel\-)?(v1[12]) b/i],[[m,"LvTel"],c,[p,v]],[/\b(ph-1) /i],[c,[m,"Essential"],[p,v]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[c,[m,"Envizen"],[p,y]],[/\b(trio[-\w\. ]+) b/i],[c,[m,"MachSpeed"],[p,y]],[/\btu_(1491) b/i],[c,[m,"Rotor"],[p,y]],[/(shield[\w ]+) b/i],[c,[m,"Nvidia"],[p,y]],[/(sprint) (\w+)/i],[m,c,[p,v]],[/(kin\.[onetw]{3})/i],[[c,/\./g," "],[m,O],[p,v]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[c,[m,D],[p,y]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[c,[m,D],[p,v]],[/smart-tv.+(samsung)/i],[m,[p,b]],[/hbbtv.+maple;(\d+)/i],[[c,/^/,"SmartTV"],[m,j],[p,b]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[m,E],[p,b]],[/(apple) ?tv/i],[m,[c,L+" TV"],[p,b]],[/crkey/i],[[c,z+"cast"],[m,S],[p,b]],[/droid.+aft(\w+)( bui|\))/i],[c,[m,P],[p,b]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[c,[m,B],[p,b]],[/(bravia[\w ]+)( bui|\))/i],[c,[m,R],[p,b]],[/(mitv-\w{5}) bui/i],[c,[m,N],[p,b]],[/Hbbtv.*(technisat) (.*);/i],[m,c,[p,b]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[m,J],[c,J],[p,b]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[p,b]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[m,c,[p,g]],[/droid.+; (shield) bui/i],[c,[m,"Nvidia"],[p,g]],[/(playstation [345portablevi]+)/i],[c,[m,R],[p,g]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[c,[m,O],[p,g]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[c,[m,j],[p,w]],[/((pebble))app/i],[m,c,[p,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[c,[m,L],[p,w]],[/droid.+; (glass) \d/i],[c,[m,S],[p,w]],[/droid.+; (wt63?0{2,3})\)/i],[c,[m,D],[p,w]],[/(quest( \d| pro)?)/i],[c,[m,F],[p,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[m,[p,x]],[/(aeobc)\b/i],[c,[m,P],[p,x]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[c,[p,v]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[c,[p,y]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[p,y]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[p,v]],[/(android[-\w\. ]{0,9});.+buil/i],[c,[m,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[_,[d,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[_,[d,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[d,_],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[_,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,_],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[d,[_,Y,X]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[_,Y,X],[d,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[_,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[d,U],[_,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[_,d],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[d,_],[/\(bb(10);/i],[_,[d,T]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[_,[d,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[_,[d,C+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[_,[d,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[_,[d,"watchOS"]],[/crkey\/([\d\.]+)/i],[_,[d,z+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[d,H],_],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[d,_],[/(sunos) ?([\w\.\d]*)/i],[[d,"Solaris"],_],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[d,_]]},Q=function(t,e){if(typeof t===h&&(e=t,t=s),!(this instanceof Q))return new Q(t,e).getResult();var i=typeof o!==a&&o.navigator?o.navigator:s,n=t||(i&&i.userAgent?i.userAgent:""),g=i&&i.userAgentData?i.userAgentData:s,b=e?function(t,e){var i={};for(var n in t)e[n]&&e[n].length%2==0?i[n]=e[n].concat(t[n]):i[n]=t[n];return i}($,e):$,w=i&&i.userAgent==n;return this.getBrowser=function(){var t,e={};return e[d]=s,e[_]=s,K.call(e,n,b.browser),e[u]=typeof(t=e[_])===l?t.replace(/[^\d\.]/g,"").split(".")[0]:s,w&&i&&i.brave&&typeof i.brave.isBrave==r&&(e[d]="Brave"),e},this.getCPU=function(){var t={};return t[f]=s,K.call(t,n,b.cpu),t},this.getDevice=function(){var t={};return t[m]=s,t[c]=s,t[p]=s,K.call(t,n,b.device),w&&!t[p]&&g&&g.mobile&&(t[p]=v),w&&"Macintosh"==t[c]&&i&&typeof i.standalone!==a&&i.maxTouchPoints&&i.maxTouchPoints>2&&(t[c]="iPad",t[p]=y),t},this.getEngine=function(){var t={};return t[d]=s,t[_]=s,K.call(t,n,b.engine),t},this.getOS=function(){var t={};return t[d]=s,t[_]=s,K.call(t,n,b.os),w&&!t[d]&&g&&g.platform&&"Unknown"!=g.platform&&(t[d]=g.platform.replace(/chrome os/i,H).replace(/macos/i,U)),t},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return n},this.setUA=function(t){return n=typeof t===l&&t.length>500?J(t,500):t,this},this.setUA(n),this};Q.VERSION="1.0.39",Q.BROWSER=q([d,_,u]),Q.CPU=q([f]),Q.DEVICE=q([c,m,p,g,v,b,y,w,x]),Q.ENGINE=Q.OS=q([d,_]),typeof e!==a?(t.exports&&(e=t.exports=Q),e.UAParser=Q):i.amdO?(n=function(){return Q}.call(e,i,e,t))===s||(t.exports=n):typeof o!==a&&(o.UAParser=Q);var tt=typeof o!==a&&(o.jQuery||o.Zepto);if(tt&&!tt.ua){var et=new Q;tt.ua=et.getResult(),tt.ua.get=function(){return et.getUA()},tt.ua.set=function(t){et.setUA(t);var e=et.getResult();for(var i in e)tt.ua[i]=e[i]}}}("object"==typeof window?window:this)},609:t=>{"use strict";t.exports=window.React}},e={};function i(n){var o=e[n];if(void 0!==o)return o.exports;var s=e[n]={exports:{}};return t[n].call(s.exports,s,s.exports,i),s.exports}i.amdO={},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";const t=window.wp.plugins,e=window.wp.editPost,n=window.wp.i18n,o=window.wp.data;var s=i(609);const r=window.wp.compose;var a=i(481),h=i.n(a);function l(t,e){return Object.freeze({...t,...e})}const u=(0,s.createContext)(null),c=u.Provider;function d(){const t=(0,s.useContext)(u);if(null==t)throw new Error("No context provided: useLeafletContext() can only be used in a descendant of <MapContainer>");return t}function p(){return p=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t},p.apply(this,arguments)}function m({bounds:t,boundsOptions:e,center:i,children:n,className:o,id:r,placeholder:h,style:l,whenReady:u,zoom:d,...m},_){const[f]=(0,s.useState)({className:o,id:r,style:l}),[g,v]=(0,s.useState)(null);(0,s.useImperativeHandle)(_,(()=>g?.map??null),[g]);const y=(0,s.useCallback)((n=>{if(null!==n&&null===g){const o=new a.Map(n,m);null!=i&&null!=d?o.setView(i,d):null!=t&&o.fitBounds(t,e),null!=u&&o.whenReady(u),v(function(t){return Object.freeze({__version:1,map:t})}(o))}}),[]);(0,s.useEffect)((()=>()=>{g?.map.remove()}),[g]);const b=g?s.createElement(c,{value:g},n):h??null;return s.createElement("div",p({},f,{ref:y}),b)}const _=(0,s.forwardRef)(m),f=window.ReactDOM;function g(t){function e(e,i){const{instance:n,context:o}=t(e).current;return(0,s.useImperativeHandle)(i,(()=>n)),null==e.children?null:s.createElement(c,{value:o},e.children)}return(0,s.forwardRef)(e)}function v(t,e,i){return Object.freeze({instance:t,context:e,container:i})}function y(t,e){return null==e?function(e,i){const n=(0,s.useRef)();return n.current||(n.current=t(e,i)),n}:function(i,n){const o=(0,s.useRef)();o.current||(o.current=t(i,n));const r=(0,s.useRef)(i),{instance:a}=o.current;return(0,s.useEffect)((function(){r.current!==i&&(e(a,i,r.current),r.current=i)}),[a,i,n]),o}}function b(t,e){const i=(0,s.useRef)(e);(0,s.useEffect)((function(){e!==i.current&&null!=t.attributionControl&&(null!=i.current&&t.attributionControl.removeAttribution(i.current),null!=e&&t.attributionControl.addAttribution(e)),i.current=e}),[t,e])}function w(t,e){const i=(0,s.useRef)();(0,s.useEffect)((function(){return null!=e&&t.instance.on(e),i.current=e,function(){null!=i.current&&t.instance.off(i.current),i.current=null}}),[t,e])}function x(t,e){const i=t.pane??e.pane;return i?{...t,pane:i}:t}function P(t,e){(0,s.useEffect)((function(){return(e.layerContainer??e.map).addLayer(t.instance),function(){e.layerContainer?.removeLayer(t.instance),e.map.removeLayer(t.instance)}}),[e,t])}function L(t){return function(e){const i=d(),n=t(x(e,i),i);return b(i.map,e.attribution),w(n.current,e.eventHandlers),P(n.current,i),n}}function k(t,e){return g((i=y(t,e),function(t){const e=d(),n=i(x(t,e),e);return w(n.current,t.eventHandlers),P(n.current,e),function(t,e){const i=(0,s.useRef)();(0,s.useEffect)((function(){if(e.pathOptions!==i.current){const n=e.pathOptions??{};t.instance.setStyle(n),i.current=n}}),[t,e])}(n.current,t),n}));var i}const T=function(t){function e(e,i){const{instance:n}=t(e).current;return(0,s.useImperativeHandle)(i,(()=>n)),null}return(0,s.forwardRef)(e)}(L(y((function({url:t,...e},i){return v(new a.TileLayer(t,x(e,i)),i)}),(function(t,e,i){!function(t,e,i){const{opacity:n,zIndex:o}=e;null!=n&&n!==i.opacity&&t.setOpacity(n),null!=o&&o!==i.zIndex&&t.setZIndex(o)}(t,e,i);const{url:n}=e;null!=n&&n!==i.url&&t.setUrl(n)})))),M=g(L(y((function({position:t,...e},i){const n=new a.Marker(t,e);return v(n,l(i,{overlayContainer:n}))}),(function(t,e,i){e.position!==i.position&&t.setLatLng(e.position),null!=e.icon&&e.icon!==i.icon&&t.setIcon(e.icon),null!=e.zIndexOffset&&e.zIndexOffset!==i.zIndexOffset&&t.setZIndexOffset(e.zIndexOffset),null!=e.opacity&&e.opacity!==i.opacity&&t.setOpacity(e.opacity),null!=t.dragging&&e.draggable!==i.draggable&&(!0===e.draggable?t.dragging.enable():t.dragging.disable())})))),z=window.wp.components;function C(t,e=0){return"https://nominatim.openstreetmap.org/search?q="+t+(e>0?"&limit="+e:"")+"&format=json"}function S({searchCount:t,setSearchCount:e,searchResults:i},n){let o,s,r,a;if(void 0!==i&&0<i.length){e(t+1);const h=n.target.getAttribute("data-index"),{lat:l,lon:u,display_name:c}=i[h];o=null!=l?l:"",s=null!=u?u:"",r=c?`<p>${c}</p>`:"",a=null!=c?c:""}else{var h,l;o=null!==(h=n.latlng.lat)&&void 0!==h?h:"",s=null!==(l=n.latlng.lng)&&void 0!==l?l:"",r="",a=""}if(o&&s)return{lat:o.toString(),lng:s.toString(),text:r,textRaw:a,id:Date.now()}}const Z=window.ReactJSXRuntime;function E(t){const{setMarker:e,setAddress:i,setLatitude:n,setLongitude:o,setMapUpdate:r,setKeywords:a,searchResults:h,setSearchResults:l}=t,[u,c]=(0,s.useState)(0),d=t=>{var s,d,p;const m=S({searchCount:u,setSearchCount:c,searchResults:h},t);a(""),l([]),e(m),n(null!==(s=m?.lat)&&void 0!==s?s:""),o(null!==(d=m.lng)&&void 0!==d?d:""),i(null!==(p=m?.textRaw)&&void 0!==p?p:""),r(!0)};return h&&h.length?(0,Z.jsx)("div",{className:"ootb-openstreetmap--search-results",children:h.map(((t,e)=>{const{display_name:i}=t;return(0,Z.jsx)(z.Button,{autoFocus:0===e,onClick:d,"data-index":e,children:i},e)}))}):null}function O(t){const[e,i]=(0,s.useState)(""),[o,r]=(0,s.useState)([]),[a,h]=(0,s.useState)(null),l=()=>{e&&e.length>2&&fetch(C(e)).then((t=>{if(200===t.status)return t.json()})).then((t=>{r(t)}))};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"ootb-openstreetmap--searchbox",children:[(0,Z.jsx)(z.TextControl,{value:e,onChange:t=>{i(t)},onKeyDown:t=>{a||h(t),"Enter"===t.key&&l()},placeholder:(0,n.__)("Enter keywords...","ootb-openstreetmap")}),(0,Z.jsx)(z.Button,{onClick:()=>{o&&o.length?a&&(a.target.focus(),r([]),i("")):l()},icon:e&&o&&o.length>0?"no":"search",showTooltip:!0,label:o&&o.length>0?(0,n.__)("Clear results","ootb-openstreetmap"):(0,n.__)("Find locations","ootb-openstreetmap"),disabled:!(e&&e.length>2)})]}),(0,Z.jsx)(E,{...t,setKeywords:i,searchResults:o,setSearchResults:r})]})}function A(){return d().map}function I(t){const e=A();return(0,s.useEffect)((function(){return e.on(t),function(){e.off(t)}}),[e,t]),e}var j=i(159);function B(t){const{draggingProps:{isDraggingMarker:e,setIsDraggingMarker:i,addingMarker:n,setAddingMarker:o},setMarker:s,setMapUpdate:r,setLatitude:a,setLongitude:h,setAddress:l}=t;let u;return I({mouseup:t=>{if(clearTimeout(u),n){var e,c,d;r(!1);const n=S({},t);s(n),o(""),a(null!==(e=n?.lat)&&void 0!==e?e:""),h(null!==(c=n.lng)&&void 0!==c?c:""),l(null!==(d=n?.textRaw)&&void 0!==d?d:""),setTimeout((()=>i(!1)),600)}},mousedown:t=>{"div"===t.originalEvent.target.nodeName.toLowerCase()&&i(!1),e||(j.Fr&&!j.nr?o("pinning"):u=setTimeout((()=>{o("pinning"),setTimeout((()=>o("")),900)}),300))},drag:()=>{clearTimeout(u),o(""),r(!1),i(!1)},mouseout:()=>{i(!1)}}),null}function R(t){const{mapUpdate:e,markerPosition:i}=t;if(e){const t=A();t.fitBounds([i]),t.setZoom(6)}return null}function N(){const{pluginDirUrl:t}=ootbGlobal;return t+"assets/vendor/leaflet/images/marker-icon.png"}function D(t){const e=t.map((t=>t[0])),i=t.map((t=>t[1])),n=(Math.min(...e)+Math.max(...e))/2,o=(Math.min(...i)+Math.max(...i))/2;return n&&!isNaN(n)&&o&&!isNaN(o)?[n,o]:null}function F(t){const{marker:e,addingMarker:i,setAddingMarker:n}=t,o=D(ootbGlobal.defaultLocation),r=e?.lat?parseFloat(e.lat):null,a=e?.lng?parseFloat(e.lng):null,l=r&&a?[r,a]:null,[u,c]=(0,s.useState)(!1),d={isDraggingMarker:u,setIsDraggingMarker:c,addingMarker:i,setAddingMarker:n},p=h().icon({iconUrl:N(),iconAnchor:[12,41]});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(O,{...t}),(0,Z.jsxs)(_,{center:o,zoom:6,scrollWheelZoom:!1,style:{height:"250px"},children:[(0,Z.jsx)(B,{...t,draggingProps:d}),(0,Z.jsx)(T,{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),l&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M,{position:l,icon:p}),(0,Z.jsx)(R,{...t,markerPosition:l})]})]})]})}function H(t){const{latitude:e,longitude:i,address:o,setAddress:s,setMapUpdate:r}=t;if(e&&0!==e&&i&&0!==i)return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("table",{children:(0,Z.jsxs)("tbody",{children:[(0,Z.jsxs)("tr",{children:[(0,Z.jsx)("td",{children:(0,Z.jsxs)("strong",{children:[(0,n.__)("Latitude:","ootb-openstreetmap")," "]})}),(0,Z.jsx)("td",{children:(0,Z.jsx)("code",{children:e})})]}),(0,Z.jsxs)("tr",{children:[(0,Z.jsx)("td",{children:(0,Z.jsxs)("strong",{children:[(0,n.__)("Longitude:","ootb-openstreetmap")," "]})}),(0,Z.jsx)("td",{children:(0,Z.jsx)("code",{children:i})})]})]})}),(0,Z.jsx)("br",{}),(0,Z.jsx)(z.TextareaControl,{label:(0,n.__)("Address","ootb-openstreetmap"),value:o,onChange:t=>{s(t),r(!1)},placeholder:(0,n.__)("Enter address","ootb-openstreetmap")})]})}const U=(0,r.compose)([(0,o.withSelect)((t=>{const{getEditedPostAttribute:e}=t("core/editor"),i=e("meta");return{meta:i,geoAddress:i.geo_address,geoLatitude:i.geo_latitude,geoLongitude:i.geo_longitude}})),(0,o.withDispatch)(((t,{meta:e})=>{const{editPost:i}=t("core/editor");return{setMetaValues:t=>{i({meta:{...e,...t}})}}}))])((function({geoAddress:t,geoLatitude:e,geoLongitude:i,setMetaValues:n}){const[o,r]=(0,s.useState)({lat:e,lng:i}),[a,h]=(0,s.useState)(e),[l,u]=(0,s.useState)(i),[c,d]=(0,s.useState)(t),[p,m]=(0,s.useState)(!1),[_,f]=(0,s.useState)(""),g={marker:o,setMarker:r,latitude:a,setLatitude:h,longitude:l,setLongitude:u,address:c,setAddress:d,mapUpdate:p,setMapUpdate:m,addingMarker:_,setAddingMarker:f};return(0,s.useEffect)((()=>{m(!0)}),[]),(0,s.useEffect)((()=>{n({geo_address:c,geo_latitude:a,geo_longitude:l})}),[a,l,c]),(0,Z.jsxs)("div",{className:`ootb-openstreetmap--custom-fields-container ${_}`,children:[(0,Z.jsx)(F,{...g}),(0,Z.jsx)(H,{...g})]})})),W=()=>(0,Z.jsx)(e.PluginDocumentSettingPanel,{name:"ootb-custom-fields",title:(0,n.__)("Location","ootb-openstreetmap"),className:"ootb-custom-fields",children:(0,Z.jsx)(U,{})});let q=(0,o.subscribe)((function(){(function(t=null){const e=ootbGlobal?.options?.geo_post_types?Object.keys(ootbGlobal.options.geo_post_types):[];return null===t||!ootbGlobal?.options?.geodata||!e.includes(t)})((0,o.select)("core/editor").getCurrentPostType())||((0,t.registerPlugin)("ootb-custom-fields",{render:W}),q())}));const G=window.wp.blocks,V=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"ootb/openstreetmap","version":"2.4.1","title":"OpenStreetMap by Out of the Block","category":"common","icon":"location-alt","description":"A map block for the Gutenberg Editor using OpenStreetMaps and Leaflet that needs no API keys and works out of the box.","supports":{"html":false,"align":["wide","full"]},"usesContext":["postId","postType"],"keywords":["Map block","Open Street Maps","Contact","Locations"],"attributes":{"mapHeight":{"type":"integer","default":400},"markers":{"type":"array","default":[]},"zoom":{"type":"integer","default":8},"minZoom":{"type":"integer","default":2},"maxZoom":{"type":"integer","default":18},"dragging":{"type":"boolean","default":true},"touchZoom":{"type":"boolean","default":true},"doubleClickZoom":{"type":"boolean","default":true},"scrollWheelZoom":{"type":"boolean","default":true},"defaultIcon":{"type":"object","default":null},"keywords":{"type":"string","default":""},"showDefaultBounds":{"type":"boolean","default":true},"bounds":{"type":"array","default":[[37.97155174977503,23.72656345367432]]},"provider":{"type":"string","default":"openstreetmap"},"mapboxStyleUrl":{"type":"string","default":""},"mapType":{"type":"string","default":"marker"},"showMarkers":{"type":"boolean","default":true},"shapeColor":{"type":"string","default":"#008EFF"},"shapeWeight":{"type":"integer","default":3},"shapeText":{"type":"string","default":""},"isDraggingMarker":{"type":"boolean","default":false},"openAImode":{"type":"string","default":""},"queryArgs":{"type":"object","default":{"post_type":"post"}},"serverSideRender":{"type":"boolean","default":false},"showMapData":{"type":"boolean","default":true},"showSearchBox":{"type":"boolean","default":true},"queryCustomFields":{"type":"boolean","default":false}},"variations":[{"name":"custom-fields","title":"OpenStreetMap from custom fields","icon":"location","attributes":{"queryCustomFields":true,"showMapData":false,"showSearchBox":false,"serverSideRender":true}}],"textdomain":"ootb-openstreetmap","editorScript":"file:../index.js","style":"file:../index.css","script":["leaflet","leaflet-gesture-handling"],"viewScript":["file:./view.js","ootb-openstreetmap"],"viewStyle":["file:./view.css","ootb-openstreetmap"]}'),J=window.wp.blockEditor,K=window.wp.element;function Y(t,e){const{attributes:{markers:i,defaultIcon:n}}=t,{pluginDirUrl:o}=ootbGlobal,s=()=>void 0!==e&&i[e]?.icon?i[e].icon:null!=n?n:null,r=s()?Math.round(s().width/2):12,a=s()?Math.round(s().height):41;return{iconUrl:s()?s().url:N(),iconAnchor:[r,a],popupAnchor:[0,-Math.abs(a)]}}function X(t,e,i){const{attributes:{defaultIcon:n}}=t;return!(void 0!==i||!n)||!(void 0===i||!e)&&![n?.icon,N()].includes(e)}function $({props:t,index:e}){const{attributes:{markers:i},setAttributes:o}=t,s=void 0!==e,r=t=>{if(s){let n=[...i];n[e].icon=t,o({markers:n})}else o({defaultIcon:t})},a=Y(t,e);return(0,Z.jsx)(J.MediaUploadCheck,{children:(0,Z.jsxs)("div",{className:"ootb-openstreetmap--icon",children:[s?null:(0,Z.jsx)("img",{src:a.iconUrl,alt:(0,n.__)("Map Marker","ootb-openstreetmap")}),(0,Z.jsxs)("div",{className:"gmp-openstreetmap--buttons",children:[(0,Z.jsx)(J.MediaUpload,{onSelect:t=>{r(t)},allowedTypes:["image"],value:a,render:({open:t})=>(0,Z.jsx)(z.Button,{onClick:t,icon:"format-gallery",label:(0,n.__)("Change the Marker icon","ootb-openstreetmap"),isSecondary:!s,children:s?null:(0,n.__)("Change","ootb-openstreetmap")})}),X(t,a?.iconUrl,e)?(0,Z.jsx)(z.Button,{onClick:()=>{r(null)},icon:"image-rotate",label:(0,n.__)("Restore the Marker icon","ootb-openstreetmap"),isSecondary:!s,children:s?null:(0,n.__)("Restore","ootb-openstreetmap")}):null]})]})})}function Q({props:t}){const{attributes:{provider:e,mapboxStyleUrl:i},setAttributes:o}=t,{adminUrl:s,options:{api_mapbox:r,global_mapbox_style_url:a}}=ootbGlobal,h=[{label:(0,n.__)("OpenStreetMap","ootb-openstreetmap"),value:"openstreetmap"},{label:(0,n.__)("Mapbox","ootb-openstreetmap"),value:"mapbox"},{label:(0,n.__)("Stamen","ootb-openstreetmap"),value:"stamen"}];let l="";"mapbox"!==e||r?e&&"openstreetmap"!==e||(l=(0,Z.jsx)("span",{children:(0,K.createInterpolateElement)((0,n.__)("Heavy usage of OSM tiles is forbidden, and you might want to switch to a different tile provider. Read more on the <a>plugin settings</a>.","ootb-openstreetmap"),{a:(0,Z.jsx)("a",{href:s})})})):l=(0,Z.jsx)("span",{children:(0,K.createInterpolateElement)((0,n.__)("Make sure that you provided a valid API key on the <a>plugin settings</a>.","ootb-openstreetmap"),{a:(0,Z.jsx)("a",{href:s})})});const u="mapbox"===e?(0,Z.jsx)(z.TextControl,{label:(0,n.__)("Mapbox Style URL","ootb-openstreetmap"),value:i,onChange:t=>{o({mapboxStyleUrl:t})},help:(0,Z.jsx)("span",{children:a?(0,K.createInterpolateElement)((0,n.__)("You can override the style URL set in the <a>plugin settings</a>.","ootb-openstreetmap"),{mapbox_url:(0,Z.jsx)("a",{href:"https://studio.mapbox.com/"}),code:(0,Z.jsx)("code",{}),a:(0,Z.jsx)("a",{href:s})}):(0,K.createInterpolateElement)((0,n.__)('You can find the style URL on <mapbox_url>Mapbox Studio</mapbox_url>. There, use the "Share" button, and under "Developer resources", copy the "Style URL". It should look like that: <code>mapbox://styles/username/style-id</code>. For the styles to work, you need to have a Mapbox API key set in the <a>plugin settings</a>.',"ootb-openstreetmap"),{mapbox_url:(0,Z.jsx)("a",{href:"https://studio.mapbox.com/"}),code:(0,Z.jsx)("code",{}),a:(0,Z.jsx)("a",{href:s})})})}):null;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(z.SelectControl,{label:(0,n.__)("Tile Layer Provider","ootb-openstreetmap"),value:e,options:h,onChange:t=>{o({provider:t})},help:l}),u]})}function tt({props:t}){const{attributes:{mapType:e,showMarkers:i,shapeColor:o,shapeWeight:s},setAttributes:r}=t,a=[{label:(0,n.__)("Markers","ootb-openstreetmap"),value:"marker"},{label:(0,n.__)("Polygon","ootb-openstreetmap"),value:"polygon"},{label:(0,n.__)("Polyline","ootb-openstreetmap"),value:"polyline"}];return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.SelectControl,{label:(0,n.__)("Map type","ootb-openstreetmap"),value:e,options:a,onChange:t=>{r({mapType:t})},help:(0,n.__)("How the map should display its locations.","ootb-openstreetmap")}),"marker"!==e?(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.ToggleControl,{label:(0,n.__)("Show Markers","ootb-openstreetmap"),checked:!!i,onChange:()=>r({showMarkers:!i}),help:i?(0,n.__)("Show the markers on the frontend.","ootb-openstreetmap"):(0,n.__)("Hide the markers on the frontend (does not affect the Backend).","ootb-openstreetmap")}),(0,Z.jsx)(z.RangeControl,{label:(0,n.__)("Line weight","ootb-openstreetmap"),value:s,onChange:t=>{r({shapeWeight:t})},min:1,max:100}),(0,Z.jsx)(z.BaseControl,{label:(0,n.__)("Shape color","ootb-openstreetmap"),children:(0,Z.jsx)(z.ColorPicker,{color:o,onChange:t=>{r({shapeColor:t})},enableAlpha:!1,defaultValue:null})})]}):null]})}function et({props:t}){const{attributes:{mapHeight:e,zoom:i},setAttributes:o}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(Q,{props:t}),(0,Z.jsx)(tt,{props:t}),(0,Z.jsx)(z.RangeControl,{label:(0,n.__)("Height (pixels)","ootb-openstreetmap"),value:e,onChange:t=>{o({mapHeight:t})},min:50,max:1e3}),(0,Z.jsx)(z.RangeControl,{label:(0,n.__)("Zoom","ootb-openstreetmap"),value:i,onChange:t=>{o({zoom:t,shouldUpdateZoom:!0})},min:0,max:18}),(0,Z.jsx)($,{props:t})]})}function it({props:t}){const{attributes:{minZoom:e,maxZoom:i,dragging:o,touchZoom:s,doubleClickZoom:r,scrollWheelZoom:a},setAttributes:h}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.ToggleControl,{label:(0,n.__)("Map dragging","ootb-openstreetmap"),checked:!!o,onChange:()=>h({dragging:!o}),help:o?(0,n._x)("Enabled.","Map dragging setting","ootb-openstreetmap"):(0,n._x)("Disabled.","Map dragging setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,n.__)("Touch zoom","ootb-openstreetmap"),checked:!!s,onChange:()=>h({touchZoom:!s}),help:s?(0,n._x)("Enabled.","Touch zoom setting","ootb-openstreetmap"):(0,n._x)("Disabled.","Touch zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,n.__)("Double-click zoom","ootb-openstreetmap"),checked:!!r,onChange:()=>h({doubleClickZoom:!r}),help:r?(0,n._x)("Enabled.","Double-click zoom setting","ootb-openstreetmap"):(0,n._x)("Disabled.","Double-click zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,n.__)("Scroll Wheel zoom","ootb-openstreetmap"),checked:!!a,onChange:()=>h({scrollWheelZoom:!a}),help:a?(0,n._x)("Enabled.","Scroll Wheel zoom setting","ootb-openstreetmap"):(0,n._x)("Disabled.","Scroll Wheel zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.RangeControl,{label:(0,n.__)("Minimum Zoom","ootb-openstreetmap"),value:e,onChange:t=>{h({minZoom:t,maxZoom:i<=e?e+1:i})},min:0,max:18}),(0,Z.jsx)(z.RangeControl,{label:(0,n.__)("Maximum Zoom","ootb-openstreetmap"),value:i,onChange:t=>{h({maxZoom:t,minZoom:e>=i?i-1:e})},min:0,max:18,help:(0,n.__)("Tip: setting the same minimum and maximum zoom practically locks zoom at that level.","ootb-openstreetmap")})]})}function nt(t="",e=""){return!(!t||!e)&&function(t){return isFinite(t)&&Math.abs(t)<=90}(parseFloat(t))&&function(t){return isFinite(t)&&Math.abs(t)<=180}(parseFloat(e))}function ot(t){try{const i=JSON.parse(t.toString());if(i&&"object"==typeof i){let t=[];for(const n of i){var e;if(!n.lat||!n.lng)continue;if(!nt(n.lat,n.lng))continue;n.id=null!==(e=n.id)&&void 0!==e?e:Date.now();const{lat:i,lng:o,text:s,id:r}=n;t.push({lat:i,lng:o,text:s,id:r})}return t}}catch(t){return!1}return!1}const{withSelect:st}=wp.data,rt=st((t=>({postId:t("core/editor").getCurrentPostId()})))((function({props:t,postId:e,variant:i}){const{attributes:{serverSideRender:o},setAttributes:s}=t,r=o?"controls-repeat":"admin-post",a=o?(0,n.__)("Stop syncing","ootb-openstreetmap"):(0,n.__)("Fetch locations","ootb-openstreetmap");return(0,Z.jsx)(z.Button,{icon:r,iconPosition:"left",variant:i,onClick:()=>{o?((t,e)=>{const{attributes:{queryArgs:i},setAttributes:n}=t,o=new URLSearchParams({action:"ootb_get_markers",post_id:e,query_args:JSON.stringify(i),nonce:ootbGlobal.nonce});fetch(ootbGlobal.ajaxUrl,{method:"POST",body:o}).then((t=>{if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return t.json()})).then((t=>{const e=ot(t?.data);e&&n({markers:e,shouldUpdateBounds:!0,serverSideRender:!1})})).catch((t=>{console.error("Fetch Error:",t)}))})(t,e):s({markers:[],serverSideRender:!0,bounds:[[37.97155174977503,23.72656345367432]]})},children:a})}));function at({props:t}){var e;const{attributes:{queryArgs:i,serverSideRender:o,showMapData:s,queryCustomFields:r},setAttributes:a}=t,h=o?"secondary":"primary";let l=(0,n.__)("Get from existing entries","ootb-openstreetmap"),u=(0,n.__)("Fetch locations from existing posts or post types containing at least one map block.","ootb-openstreetmap");r?(l=(0,n.__)("Gets posts with locations","ootb-openstreetmap"),u=(0,n.__)("Markers are automatically fetched from existing posts or post types with locations assigned to them.","ootb-openstreetmap")):o&&(l=(0,n.__)("Gets posts containing the block","ootb-openstreetmap"),u=(0,n.__)('Markers are automatically fetched from existing posts or post types containing at least one map block. By hitting "Stop syncing" the block will stop automatic updating with new markers, and you will be able to manually edit it.',"ootb-openstreetmap"));const c=r?function(){const t=ootbGlobal?.postTypes,e=ootbGlobal?.options?.geo_post_types?Object.keys(ootbGlobal.options.geo_post_types):[];return t.filter((t=>e.includes(t.value)))}():ootbGlobal?.postTypes;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(z.BaseControl,{label:l,help:u,children:(0,Z.jsxs)("div",{children:[(!o||r)&&c.length>1&&(0,Z.jsx)(Z.Fragment,{children:(0,Z.jsx)(z.SelectControl,{label:(0,n.__)("Post type","ootb-openstreetmap"),value:null!==(e=i.post_type)&&void 0!==e?e:"post",options:c,onChange:t=>{a({queryArgs:{...i,post_type:t}})}})}),s&&(0,Z.jsx)(rt,{props:t,variant:h})]})}),s&&(0,Z.jsx)("hr",{})]})}function ht({props:t}){const{attributes:{markers:e},clientId:i}=t,o=e&&0<e.length,s=new Blob([JSON.stringify(e)],{type:"application/json"});return(0,Z.jsx)(z.BaseControl,{label:(0,n.__)("Export","ootb-openstreetmap"),help:(0,n.__)("Download a JSON file with the locations of this map.","ootb-openstreetmap"),children:(0,Z.jsx)("div",{children:(0,Z.jsx)(z.Button,{icon:"download",iconPosition:"left",variant:o?"primary":"secondary",href:window.URL.createObjectURL(s),target:"_blank",download:"ootb_"+i,disabled:!o,showTooltip:!0,text:(0,n.__)("Export locations","ootb-openstreetmap")})})})}function lt({props:t}){const{attributes:{markers:e},setAttributes:i}=t,o=e&&0<e.length;return(0,Z.jsx)(z.BaseControl,{label:(0,n.__)("Import from file","ootb-openstreetmap"),help:(0,n.__)("Import locations from a previously exported JSON file.","ootb-openstreetmap"),children:(0,Z.jsx)(z.FormFileUpload,{icon:"database-add",iconPosition:"left",variant:"primary",isDestructive:o,label:o?(0,n.__)("This map already includes locations. Uploading new locations will merge them with the existing ones.","ootb-openstreetmap"):null,text:(0,n.__)("Import locations","ootb-openstreetmap"),accept:"application/json",onChange:t=>{(t=>{const o=t.currentTarget.files[0];if(!o||0===o.length)return;const s=new FileReader;s.readAsText(o,"UTF-8"),s.onload=function(t){const n=ot(t.target.result);n&&i({markers:e.concat(n),shouldUpdateBounds:!0})},s.onerror=function(t){console.log((0,n.__)("Error reading file","ootb-openstreetmap"))}})(t)}})})}function ut({props:t}){const{attributes:{showMapData:e}}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(at,{props:t}),e&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ht,{props:t}),(0,Z.jsx)(lt,{props:t})]})]})}function ct({props:t}){const{attributes:{queryCustomFields:e}}=t;return(0,Z.jsxs)(J.InspectorControls,{children:[(0,Z.jsx)(z.PanelBody,{title:(0,n.__)("Main settings","ootb-openstreetmap"),initialOpen:!0,children:(0,Z.jsx)(et,{props:t})}),(0,Z.jsx)(z.PanelBody,{title:(0,n.__)("Map behavior","ootb-openstreetmap"),initialOpen:!1,children:(0,Z.jsx)(it,{props:t})}),(0,Z.jsx)(z.PanelBody,{title:(0,n.__)("Map data","ootb-openstreetmap"),initialOpen:!!e,children:(0,Z.jsx)(ut,{props:t})})]})}function dt(t,e=null){e&&t&&e.fitBounds(t,{padding:[50,50]})}function pt(t,e=[],i=null){const{attributes:{markers:n,zoom:o},setAttributes:s}=t;let r=[];if(e&&void 0!==e.lat&&r.push([e.lat,e.lng]),Object.entries(n).forEach((([t,e])=>{e&&r.push([e.lat,e.lng])})),r.length&&(s({bounds:r}),dt(r,i)),i){const t=i.getZoom();o!==t&&s({zoom:t})}}function mt({props:t}){const{attributes:{markers:e,searchResults:i,mapObj:n,inputRef:o},setAttributes:r}=t,[a,h]=(0,s.useState)(0),l=s=>{const l=S({searchCount:a,setSearchCount:h,searchResults:i},s);r({markers:[...e,l],keywords:"",searchResults:[]}),pt(t,l,n),o&&o.target.focus()};return i&&i.length?(0,Z.jsx)("div",{className:"ootb-openstreetmap--search-results",children:i.map(((t,e)=>{const{display_name:i}=t;return(0,Z.jsx)(z.Button,{autoFocus:0===e,onClick:l,"data-index":e,children:i},e)}))}):null}async function _t(t){const{attributes:{markers:e,keywords:i,mapObj:n,openAImode:o},setAttributes:s}=t;if(!i)return;if(!o)return;let r=[...e];return s({openAImode:"connecting"}),wp.apiFetch({path:"/ootb-openstreetmap/v1/openai/",method:"POST",data:{prompt:i}}).then((t=>{let e=[];try{const i=t?.choices[0]?.message?.content;i&&"invalid_question"!==i?(e=JSON.parse(i),s({openAImode:"success"})):(s({openAImode:"invalid_question"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3))}catch(t){s({openAImode:"error"}),console.error("Error parsing OpenAI response")}let i=e?.map(((t,e)=>new Promise((i=>setTimeout((()=>{(t=>{t&&t.length>2&&fetch(C(t,1)).then((t=>{if(!t.ok)throw new Error(`Network response was not ok, status: ${t.status}`);return t.json()})).then((t=>{(t=>{var e,i;const o={lat:null!==(e=t?.lat.toString())&&void 0!==e?e:"",lng:null!==(i=t?.lon.toString())&&void 0!==i?i:"",text:t?.display_name?`<p>${t.display_name}</p>`:"",id:Date.now()};r.push(o);let a=[];r.length>0&&(r.forEach((t=>{t&&a.push([t.lat,t.lng])})),s({bounds:a,markers:r,openAImode:"working"}),dt(a,n))})(t[0])})).catch((t=>{s({openAImode:"error"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3),console.error("There has been a problem with the fetch operation:",JSON.stringify(t))}))})(t),i()}),1e3*(e+1))))));Promise.all(i).then((()=>{setTimeout((()=>{s({openAImode:"",keywords:""})}),1e3)}))})).catch((t=>{s({openAImode:"error"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3),console.error("Error fetching OpenAI response: "+JSON.stringify(t))}))}function ft({props:t}){const{attributes:{keywords:e,inputRef:i,searchResults:o,openAImode:s},setAttributes:r}=t,a=()=>{e&&e.length>2&&fetch(C(e)).then((t=>{if(200===t.status)return t.json()})).then((t=>{r({searchResults:t})}))};let h="ootb-openstreetmap--searchbox";return s.length&&(h+=" openai-active"),(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsxs)("div",{className:h,children:[(0,Z.jsx)(z.TextControl,{value:e,onChange:t=>{r({keywords:t,openAImode:/\bplease\b/i.test(t)?"started":""})},onKeyDown:e=>{i||r({inputRef:e}),"Enter"===e.key&&(_t(t).then((()=>null)),a())},placeholder:(0,n.__)("Enter your keywords...","ootb-openstreetmap")}),(0,Z.jsx)(z.Button,{onClick:()=>{_t(t).then((()=>null)),o&&o.length?i&&(i.target.focus(),r({searchResults:[],keywords:""})):a()},icon:o&&o.length>0?"no":s.length?"format-status":"search",showTooltip:!0,label:o&&o.length>0?(0,n.__)("Clear results","ootb-openstreetmap"):(0,n.__)("Find locations","ootb-openstreetmap"),disabled:!(e&&e.length>2)})]}),(0,Z.jsx)(mt,{props:t})]})}function gt(t){const{attributes:{bounds:e,showDefaultBounds:i,markers:n}}=t;return!0===i?D(ootbGlobal.defaultLocation):D(e)||[n[0]?.lat,n[0]?.lng]}function vt(t,e){if(!t||!e||"string"!=typeof t||"string"!=typeof e||!t.startsWith("mapbox://"))return"";const i=t.split("/"),n=i[3],o=i[4];return n&&o&&"string"==typeof n&&"string"==typeof o?`https://api.mapbox.com/styles/v1/${n}/${o}/tiles/{z}/{x}/{y}?access_token=${e}`:""}function yt({props:t}){const{attributes:{provider:e,mapboxStyleUrl:i}}=t,{options:{api_mapbox:n,global_mapbox_style_url:o},providers:{openstreetmap:s,mapbox:r,stamen:a}}=ootbGlobal;let h=s.url,l=s.attribution;"mapbox"===e&&n&&(h=i||o?vt(i.length?i:o,n):r.url+n,l=r.attribution),"stamen"===e&&(h=a.url,l=a.attribution);const u=(0,K.useRef)(null);return(0,K.useEffect)((()=>{u.current.setUrl(h)}),[h]),(0,Z.jsx)(T,{ref:u,url:h,attribution:l})}const bt=function(){const t=function(t,e){return function(i,n){const o=d(),s=t(x(i,o),o);return b(o.map,i.attribution),w(s.current,i.eventHandlers),e(s.current,o,i,n),s}}(y((function(t,e){return v(new a.Popup(t,e.overlayContainer),e)})),(function(t,e,{position:i},n){(0,s.useEffect)((function(){const{instance:o}=t;function s(t){t.popup===o&&(o.update(),n(!0))}function r(t){t.popup===o&&n(!1)}return e.map.on({popupopen:s,popupclose:r}),null==e.overlayContainer?(null!=i&&o.setLatLng(i),o.openOn(e.map)):e.overlayContainer.bindPopup(o),function(){e.map.off({popupopen:s,popupclose:r}),e.overlayContainer?.unbindPopup(),e.map.removeLayer(o)}}),[t,e,n,i])}));return function(t){function e(e,i){const[n,o]=(0,s.useState)(!1),{instance:r}=t(e,o).current;(0,s.useImperativeHandle)(i,(()=>r)),(0,s.useEffect)((function(){n&&r.update()}),[r,n,e.children]);const a=r._contentNode;return a?(0,f.createPortal)(e.children,a):null}return(0,s.forwardRef)(e)}(t)}();function wt({setAddingMarker:t,props:e}){const{attributes:{mapObj:i,markers:o,isDraggingMarker:s},setAttributes:r}=e,a=t=>{const n=t.target;let s;if(n.hasAttribute("dataIndex"))s=n.getAttribute("dataIndex");else{const t=n.parentElement;t&&"button"===t.tagName.toLowerCase()&&(s=t.getAttribute("dataIndex"))}let a=[...o];a.splice(s,1),r({isDraggingMarker:!1,markers:a,shouldUpdateBounds:!0}),pt(e,[],i.leafletElement)};let l=null;const u=t=>h().icon(Y(e,t));return void 0!==o&&o.length?o.map(((h,c)=>(0,Z.jsx)(M,{markerId:h.id,position:[h.lat,h.lng],icon:u(c),draggable:!0,eventHandlers:{mousedown:e=>{l=new Date,t("")},mouseup:t=>{(t=>{if(!0!==s){const e=new Date;l&&0!=!!(e-l)||t.target.openPopup()}})(t)},mouseover:t=>{o&&r({isDraggingMarker:!0})},dragstart:t=>{r({isDraggingMarker:!0})},dragend:t=>{(t=>{const n=t.target.getLatLng(),s=function(t,e){const i=t.target.options.markerId;let n=null;for(let t in e)i===e[t].id&&(n=t);return n}(t,o),a=[...o];a[s]&&(a[s].lat=n.lat.toString(),a[s].lng=n.lng.toString(),r({markers:a,shouldUpdateBounds:!0}),pt(e,[],i.leafletElement)),r({isDraggingMarker:!1})})(t)}},children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:h.text,onChange:t=>{let e=[...o];e[c].text=t,r({markers:e})},placeholder:(0,n.__)("Write something","ootb-openstreetmap")}),(0,Z.jsxs)("div",{className:"ootb-openstreetmap--marker-icon-container",children:[(0,Z.jsx)($,{props:e,index:c}),(0,Z.jsx)(z.Button,{onClick:a,dataindex:c,icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,label:(0,n.__)("Remove this marker","ootb-openstreetmap")})]})]})},c))):null}const xt=k((function({positions:t,...e},i){const n=new a.Polygon(t,e);return v(n,l(i,{overlayContainer:n}))}),(function(t,e,i){e.positions!==i.positions&&t.setLatLngs(e.positions)}));function Pt({props:t,styles:e}){const{attributes:{markers:i,shapeText:o},setAttributes:s}=t;return(0,Z.jsx)(xt,{positions:i,pathOptions:e,children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:o,onChange:t=>{s({shapeText:t})},placeholder:(0,n.__)("Write something","ootb-openstreetmap")}),(0,Z.jsx)("div",{className:"ootb-openstreetmap--marker-icon-container ootb-openstreetmap--marker-remove ootb-openstreetmap--shape-controls",children:(0,Z.jsx)(z.Button,{onClick:()=>{s({isDraggingMarker:!1,markers:[],shapeText:"",zoom:8,shouldUpdateZoom:!0})},icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,isSecondary:!0,label:(0,n.__)("Remove this shape","ootb-openstreetmap")})})]})})}const Lt=k((function({positions:t,...e},i){const n=new a.Polyline(t,e);return v(n,l(i,{overlayContainer:n}))}),(function(t,e,i){e.positions!==i.positions&&t.setLatLngs(e.positions)}));function kt({props:t,styles:e}){const{attributes:{markers:i,shapeText:o},setAttributes:s}=t;return(0,Z.jsx)(Lt,{positions:i,pathOptions:e,children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:o,onChange:t=>{s({shapeText:t})},placeholder:(0,n.__)("Write something","ootb-openstreetmap")}),(0,Z.jsx)("div",{className:"ootb-openstreetmap--marker-icon-container ootb-openstreetmap--marker-remove ootb-openstreetmap--shape-controls",children:(0,Z.jsx)(z.Button,{onClick:()=>{s({isDraggingMarker:!1,markers:[],shapeText:"",zoom:8,shouldUpdateZoom:!0})},icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,isSecondary:!0,label:(0,n.__)("Remove this shape","ootb-openstreetmap")})})]})})}function Tt({props:t}){const{attributes:{mapType:e,markers:i,shapeColor:n,shapeWeight:o,isDraggingMarker:s}}=t,r={fillColor:n,color:n,weight:o};return"polygon"===e&&!0!==s&&i.length?(0,Z.jsx)(Pt,{props:t,styles:r}):"polyline"===e&&!0!==s&&i.length?(0,Z.jsx)(kt,{props:t,styles:r}):null}function Mt({addingMarker:t,setAddingMarker:e,props:i}){const{attributes:{mapObj:n,markers:o,zoom:r,showDefaultBounds:a,shouldUpdateZoom:h,shouldUpdateBounds:l,isDraggingMarker:u,searchResults:c},setAttributes:d}=i,[p,m]=(0,s.useState)(0),_=(0,K.useRef)(!0);let f;const g=I({mouseup:n=>{(n=>{if(clearTimeout(f),t){const t=S({searchCount:p,setSearchCount:m,searchResults:c},n);d({markers:[...o,t]}),e(""),pt(i,t,n.target),setTimeout((function(){d({isDraggingMarker:!1})}),600)}})(n)},mousedown:t=>{(t=>{"div"===t.originalEvent.target.nodeName.toLowerCase()&&d({isDraggingMarker:!1}),!1===u&&(j.Fr&&!j.nr?e(" pinning"):f=setTimeout((function(){e(" pinning"),setTimeout((function(){e("")}),900)}),300))})(t)},drag:t=>{clearTimeout(f),e(""),d({isDraggingMarker:!1})},mouseout:t=>{d({isDraggingMarker:!1})},zoomanim:t=>{(t=>{d({zoom:t.zoom})})(t)},popupclose:()=>{d({isDraggingMarker:!1})}});return(0,K.useEffect)((()=>{_.current?_.current=!1:void 0===g||void 0!==n&&n.length&&n===g||d({mapObj:g})}),[o]),(0,K.useEffect)((()=>{!0===a&&d({bounds:ootbGlobal.defaultLocation,showDefaultBounds:!1}),!0===l&&(pt(i,[],g),d({shouldUpdateBounds:!1})),!0===h&&r!==g.getZoom()&&(g.setZoom(r),d({shouldUpdateZoom:!1}))}),[]),null}function zt({props:t}){const{attributes:{mapHeight:e}}=t,i=A().getContainer();return parseInt(i.style.height)!==e&&(i.style.height=`${e}px`),null}function Ct({inBlockEditor:t,addingMarker:e,setAddingMarker:i,...n}){const{attributes:{zoom:o,bounds:s,mapHeight:r,mapType:a}}=n;return(0,Z.jsxs)(_,{center:gt(n),zoom:o,dragging:t,bounds:s,style:{height:r+"px"},children:[(0,Z.jsx)(Mt,{props:n,addingMarker:e,setAddingMarker:i}),(0,Z.jsx)(zt,{props:n}),(0,Z.jsx)(yt,{props:n}),(0,Z.jsx)(wt,{props:n,setAddingMarker:i}),"marker"!==a?(0,Z.jsx)(Tt,{props:n}):null]})}function St({addingMarker:t,...e}){const{attributes:{openAImode:i}}=e;let o="",s="ootb-openstreetmap--alert";return" pinning"===t?o=(0,n.__)("Release to drop a marker here","ootb-openstreetmap"):i.length&&("started"===i?o=(0,n.__)("You have entered OpenAI mode. When you finish your prompt, please hit enter or click on the bubble icon.","ootb-openstreetmap"):"connecting"===i?o=(0,n.__)("Connecting to OpenAI...","ootb-openstreetmap"):"success"===i?o=(0,n.__)("Preparing the data. Please be patient...","ootb-openstreetmap"):"working"===i?(o=(0,n.sprintf)((0,n.__)('Creating the markers. It will take a while, because we don\'t want to violate the <a href="%s">Nominatim usage policy</a>.',"ootb-openstreetmap"),"https://operations.osmfoundation.org/policies/nominatim/"),s+=" alert-active"):"invalid_question"===i?(o=(0,n.__)("I don't understand your question. Please try again.","ootb-openstreetmap"),s+=" alert-error"):"error"===i&&(o=(0,n.__)("Something went wrong. Sorry...","ootb-openstreetmap"),s+=" alert-error")),o?(0,Z.jsx)("div",{className:s,dangerouslySetInnerHTML:{__html:o}}):null}function Zt(t){const{attributes:{bounds:e,markers:i}}=t;return D(e)||[i[0].lat,i[0].lng]}function Et(t){const{attributes:{defaultIcon:e}}=t,{pluginDirUrl:i}=ootbGlobal,n=i+"assets/vendor/leaflet/images/marker-icon.png",o=e?e.width/2:12;return{iconUrl:e?e.url:n,iconAnchor:[o,0]}}const Ot=[{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]},provider:{type:"string",default:"openstreetmap"}},supports:{className:!1,align:["wide","full"]},save(t,e){const{attributes:{mapHeight:i,markers:n,zoom:o,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u,provider:c}}=t;return n?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":c,"data-markers":encodeURIComponent(JSON.stringify(n)),"data-bounds":JSON.stringify(gt(t)),"data-zoom":o,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":encodeURIComponent(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]},provider:{type:"string",default:"openstreetmap"}},supports:{className:!1,align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:n,zoom:o,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u,provider:c}}=t;return n?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":c,"data-markers":escape(JSON.stringify(n)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":o,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]}},supports:{align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:n,zoom:o,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u}}=t;return n?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-markers":escape(JSON.stringify(n)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":o,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]}},supports:{align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:n,zoom:o,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u}}=t;return n?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-markers":escape(JSON.stringify(n)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":o,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Et(t))),style:{height:i+"px"}})}):null}}];(0,G.registerBlockType)(V,{edit:function(t){const{attributes:{queryArgs:e,serverSideRender:i,showSearchBox:o,queryCustomFields:r},context:{postType:a,postId:h}}=t,l=!(!a||!h),[u,c]=(0,s.useState)(""),d=(0,J.useBlockProps)({className:u||""}),p=()=>{let t="";if(ootbGlobal&&ootbGlobal.postTypes){const i=ootbGlobal.postTypes.find((t=>t.value===e?.post_type));i&&(t=i.label)}return t};return(0,Z.jsxs)("div",{...d,children:[(0,Z.jsx)(ct,{props:t}),i&&!r&&(0,Z.jsxs)("div",{className:"ootb-server-side-rendered",children:[(0,Z.jsx)("span",{children:(0,n.__)("Updates automatically from the latest "+p(),"ootb-openstreetmap")}),(0,Z.jsx)("div",{children:(0,Z.jsx)(rt,{props:t,variant:"primary"})})]}),i&&r&&(0,Z.jsx)("div",{className:"ootb-server-side-rendered ootb-custom-fields",children:(0,Z.jsx)("span",{children:(0,n.__)("Retrieves "+p()+" with locations","ootb-openstreetmap")})}),o&&(0,Z.jsx)(ft,{props:t}),(0,Z.jsx)(Ct,{...t,inBlockEditor:l,addingMarker:u,setAddingMarker:c}),(0,Z.jsx)(St,{...t,addingMarker:u})]})},save:function(t,e){var i;const{attributes:{mapHeight:n,markers:o,zoom:s,minZoom:r,maxZoom:a,dragging:h,touchZoom:l,doubleClickZoom:u,scrollWheelZoom:c,provider:d,mapType:p,showMarkers:m,shapeColor:_,shapeWeight:f,shapeText:g,mapboxStyleUrl:v}}=t,y={fillColor:_,color:_,weight:f},b=null!==(i=ootbGlobal?.options?.api_mapbox)&&void 0!==i?i:null,w=v&&b?vt(v,b):"";return o?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":d,"data-maptype":p,"data-showmarkers":m,"data-shapestyle":encodeURIComponent(JSON.stringify(y)),"data-shapetext":g,"data-markers":encodeURIComponent(JSON.stringify(o)),"data-bounds":JSON.stringify(gt(t)),"data-zoom":s,"data-minzoom":r,"data-maxzoom":a,"data-dragging":h,"data-touchzoom":l,"data-doubleclickzoom":u,"data-scrollwheelzoom":c,"data-marker":encodeURIComponent(JSON.stringify(Y(t))),"data-mapboxstyle":w?encodeURIComponent(JSON.stringify(w)):null,style:{height:n+"px"}})}):null},deprecated:Ot}),i(840)})()})();
     1(()=>{var t={159:(t,e,i)=>{"use strict";(o=i(609))&&"object"==typeof o&&"default"in o&&o.default;var o,n=i(576),s=new n,r=s.getBrowser(),a=(s.getCPU(),s.getDevice()),h=s.getEngine(),l=s.getOS(),u=s.getUA();var c="mobile",d="tablet",p="Chrome",m="Firefox",_="Opera",f="Yandex",g="Safari",v="Internet Explorer",y="Edge",b="Chromium",w="IE",x="Mobile Safari",P="MIUI Browser",L="Samsung Browser",k="iOS",T="Android",M="Windows Phone",z="Windows",C="Mac OS",S=function(t){return t||(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"none")},Z=function(){return!("undefined"==typeof window||!window.navigator&&!navigator)&&(window.navigator||navigator)},E=function(t){var e=Z();return e&&e.platform&&(-1!==e.platform.indexOf(t)||"MacIntel"===e.platform&&e.maxTouchPoints>1&&!window.MSStream)},O=function(t){return t.type===c},A=function(t){return t.type===d},I=function(t){var e=t.type;return e===c||e===d},j=function(t){return"smarttv"===t.type},B=function(t){return undefined===t.type},R=function(t){return"wearable"===t.type},N=function(t){return"console"===t.type},D=function(t){return"embedded"===t.type},F=function(t){var e=t.vendor;return S(e)},H=function(t){var e=t.model;return S(e)},U=function(t){var e=t.type;return S(e,"browser")},W=function(t){return t.name===T},q=function(t){return t.name===z},G=function(t){return t.name===C},V=function(t){return t.name===M},J=function(t){return t.name===k},K=function(t){var e=t.version;return S(e)},Y=function(t){var e=t.name;return S(e)},X=function(t){return t.name===p},$=function(t){return t.name===m},Q=function(t){return t.name===b},tt=function(t){return t.name===y},et=function(t){return t.name===f},it=function(t){var e=t.name;return e===g||e===x},ot=function(t){return t.name===x},nt=function(t){return t.name===_},st=function(t){var e=t.name;return e===v||e===w},rt=function(t){return t.name===P},at=function(t){return t.name===L},ht=function(t){var e=t.version;return S(e)},lt=function(t){var e=t.major;return S(e)},ut=function(t){var e=t.name;return S(e)},ct=function(t){var e=t.name;return S(e)},dt=function(t){var e=t.version;return S(e)},pt=function(){var t=Z(),e=t&&t.userAgent&&t.userAgent.toLowerCase();return"string"==typeof e&&/electron/.test(e)},mt=function(t){return"string"==typeof t&&-1!==t.indexOf("Edg/")},_t=function(){var t=Z();return t&&(/iPad|iPhone|iPod/.test(t.platform)||"MacIntel"===t.platform&&t.maxTouchPoints>1)&&!window.MSStream},ft=function(){return E("iPad")},gt=function(){return E("iPhone")},vt=function(){return E("iPod")},yt=function(t){return S(t)};j(a),N(a),R(a),D(a),ot(r)||ft(),Q(r);var bt=I(a)||ft(),wt=(O(a),A(a)||ft(),B(a),B(a),W(l),V(l),J(l)||ft(),X(r),$(r),it(r));nt(r),st(r),K(l),Y(l),ht(r),lt(r),ut(r),F(a),H(a),ct(h),dt(h),yt(u),tt(r)||mt(u),et(r),U(a),_t(),ft(),gt(),vt(),pt(),mt(u),tt(r)&&mt(u),q(l),G(l),rt(r),at(r);e.Fr=bt,e.nr=wt},481:function(t,e){!function(t){"use strict";function e(t){var e,i,o,n;for(i=1,o=arguments.length;i<o;i++)for(e in n=arguments[i])t[e]=n[e];return t}var i=Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}();function o(t,e){var i=Array.prototype.slice;if(t.bind)return t.bind.apply(t,i.call(arguments,1));var o=i.call(arguments,2);return function(){return t.apply(e,o.length?o.concat(i.call(arguments)):arguments)}}var n=0;function s(t){return"_leaflet_id"in t||(t._leaflet_id=++n),t._leaflet_id}function r(t,e,i){var o,n,s,r;return r=function(){o=!1,n&&(s.apply(i,n),n=!1)},s=function(){o?n=arguments:(t.apply(i,arguments),setTimeout(r,e),o=!0)},s}function a(t,e,i){var o=e[1],n=e[0],s=o-n;return t===o&&i?t:((t-n)%s+s)%s+n}function h(){return!1}function l(t,e){if(!1===e)return t;var i=Math.pow(10,void 0===e?6:e);return Math.round(t*i)/i}function u(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function c(t){return u(t).split(/\s+/)}function d(t,e){for(var o in Object.prototype.hasOwnProperty.call(t,"options")||(t.options=t.options?i(t.options):{}),e)t.options[o]=e[o];return t.options}function p(t,e,i){var o=[];for(var n in t)o.push(encodeURIComponent(i?n.toUpperCase():n)+"="+encodeURIComponent(t[n]));return(e&&-1!==e.indexOf("?")?"&":"?")+o.join("&")}var m=/\{ *([\w_ -]+) *\}/g;function _(t,e){return t.replace(m,(function(t,i){var o=e[i];if(void 0===o)throw new Error("No value provided for variable "+t);return"function"==typeof o&&(o=o(e)),o}))}var f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function g(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1}var v="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function y(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var b=0;function w(t){var e=+new Date,i=Math.max(0,16-(e-b));return b=e+i,window.setTimeout(t,i)}var x=window.requestAnimationFrame||y("RequestAnimationFrame")||w,P=window.cancelAnimationFrame||y("CancelAnimationFrame")||y("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function k(t,e,i){if(!i||x!==w)return x.call(window,o(t,e));t.call(e)}function T(t){t&&P.call(window,t)}var M={__proto__:null,extend:e,create:i,bind:o,get lastId(){return n},stamp:s,throttle:r,wrapNum:a,falseFn:h,formatNum:l,trim:u,splitWords:c,setOptions:d,getParamString:p,template:_,isArray:f,indexOf:g,emptyImageUrl:v,requestFn:x,cancelFn:P,requestAnimFrame:k,cancelAnimFrame:T};function z(){}z.extend=function(t){var o=function(){d(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},n=o.__super__=this.prototype,s=i(n);for(var r in s.constructor=o,o.prototype=s,this)Object.prototype.hasOwnProperty.call(this,r)&&"prototype"!==r&&"__super__"!==r&&(o[r]=this[r]);return t.statics&&e(o,t.statics),t.includes&&(function(t){if("undefined"!=typeof L&&L&&L.Mixin){t=f(t)?t:[t];for(var e=0;e<t.length;e++)t[e]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}(t.includes),e.apply(null,[s].concat(t.includes))),e(s,t),delete s.statics,delete s.includes,s.options&&(s.options=n.options?i(n.options):{},e(s.options,t.options)),s._initHooks=[],s.callInitHooks=function(){if(!this._initHooksCalled){n.callInitHooks&&n.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=s._initHooks.length;t<e;t++)s._initHooks[t].call(this)}},o},z.include=function(t){var i=this.prototype.options;return e(this.prototype,t),t.options&&(this.prototype.options=i,this.mergeOptions(t.options)),this},z.mergeOptions=function(t){return e(this.prototype.options,t),this},z.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};var C={on:function(t,e,i){if("object"==typeof t)for(var o in t)this._on(o,t[o],e);else for(var n=0,s=(t=c(t)).length;n<s;n++)this._on(t[n],e,i);return this},off:function(t,e,i){if(arguments.length)if("object"==typeof t)for(var o in t)this._off(o,t[o],e);else{t=c(t);for(var n=1===arguments.length,s=0,r=t.length;s<r;s++)n?this._off(t[s]):this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,i,o){if("function"==typeof e){if(!1===this._listens(t,e,i)){i===this&&(i=void 0);var n={fn:e,ctx:i};o&&(n.once=!0),this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(n)}}else console.warn("wrong listener type: "+typeof e)},_off:function(t,e,i){var o,n,s;if(this._events&&(o=this._events[t]))if(1!==arguments.length)if("function"==typeof e){var r=this._listens(t,e,i);if(!1!==r){var a=o[r];this._firingCount&&(a.fn=h,this._events[t]=o=o.slice()),o.splice(r,1)}}else console.warn("wrong listener type: "+typeof e);else{if(this._firingCount)for(n=0,s=o.length;n<s;n++)o[n].fn=h;delete this._events[t]}},fire:function(t,i,o){if(!this.listens(t,o))return this;var n=e({},i,{type:t,target:this,sourceTarget:i&&i.sourceTarget||this});if(this._events){var s=this._events[t];if(s){this._firingCount=this._firingCount+1||1;for(var r=0,a=s.length;r<a;r++){var h=s[r],l=h.fn;h.once&&this.off(t,l,h.ctx),l.call(h.ctx||this,n)}this._firingCount--}}return o&&this._propagateEvent(n),this},listens:function(t,e,i,o){"string"!=typeof t&&console.warn('"string" type argument expected');var n=e;"function"!=typeof e&&(o=!!e,n=void 0,i=void 0);var s=this._events&&this._events[t];if(s&&s.length&&!1!==this._listens(t,n,i))return!0;if(o)for(var r in this._eventParents)if(this._eventParents[r].listens(t,e,i,o))return!0;return!1},_listens:function(t,e,i){if(!this._events)return!1;var o=this._events[t]||[];if(!e)return!!o.length;i===this&&(i=void 0);for(var n=0,s=o.length;n<s;n++)if(o[n].fn===e&&o[n].ctx===i)return n;return!1},once:function(t,e,i){if("object"==typeof t)for(var o in t)this._on(o,t[o],e,!0);else for(var n=0,s=(t=c(t)).length;n<s;n++)this._on(t[n],e,i,!0);return this},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[s(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[s(t)],this},_propagateEvent:function(t){for(var i in this._eventParents)this._eventParents[i].fire(t.type,e({layer:t.target,propagatedFrom:t.target},t),!0)}};C.addEventListener=C.on,C.removeEventListener=C.clearAllEventListeners=C.off,C.addOneTimeEventListener=C.once,C.fireEvent=C.fire,C.hasEventListeners=C.listens;var S=z.extend(C);function Z(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e}var E=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};function O(t,e,i){return t instanceof Z?t:f(t)?new Z(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new Z(t.x,t.y):new Z(t,e,i)}function A(t,e){if(t)for(var i=e?[t,e]:t,o=0,n=i.length;o<n;o++)this.extend(i[o])}function I(t,e){return!t||t instanceof A?t:new A(t,e)}function j(t,e){if(t)for(var i=e?[t,e]:t,o=0,n=i.length;o<n;o++)this.extend(i[o])}function B(t,e){return t instanceof j?t:new j(t,e)}function R(t,e,i){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==i&&(this.alt=+i)}function N(t,e,i){return t instanceof R?t:f(t)&&"object"!=typeof t[0]?3===t.length?new R(t[0],t[1],t[2]):2===t.length?new R(t[0],t[1]):null:null==t?t:"object"==typeof t&&"lat"in t?new R(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new R(t,e,i)}Z.prototype={clone:function(){return new Z(this.x,this.y)},add:function(t){return this.clone()._add(O(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(O(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new Z(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new Z(this.x/t.x,this.y/t.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=E(this.x),this.y=E(this.y),this},distanceTo:function(t){var e=(t=O(t)).x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return(t=O(t)).x===this.x&&t.y===this.y},contains:function(t){return t=O(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+l(this.x)+", "+l(this.y)+")"}},A.prototype={extend:function(t){var e,i;if(!t)return this;if(t instanceof Z||"number"==typeof t[0]||"x"in t)e=i=O(t);else if(e=(t=I(t)).min,i=t.max,!e||!i)return this;return this.min||this.max?(this.min.x=Math.min(e.x,this.min.x),this.max.x=Math.max(i.x,this.max.x),this.min.y=Math.min(e.y,this.min.y),this.max.y=Math.max(i.y,this.max.y)):(this.min=e.clone(),this.max=i.clone()),this},getCenter:function(t){return O((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return O(this.min.x,this.max.y)},getTopRight:function(){return O(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return(t="number"==typeof t[0]||t instanceof Z?O(t):I(t))instanceof A?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=I(t);var e=this.min,i=this.max,o=t.min,n=t.max,s=n.x>=e.x&&o.x<=i.x,r=n.y>=e.y&&o.y<=i.y;return s&&r},overlaps:function(t){t=I(t);var e=this.min,i=this.max,o=t.min,n=t.max,s=n.x>e.x&&o.x<i.x,r=n.y>e.y&&o.y<i.y;return s&&r},isValid:function(){return!(!this.min||!this.max)},pad:function(t){var e=this.min,i=this.max,o=Math.abs(e.x-i.x)*t,n=Math.abs(e.y-i.y)*t;return I(O(e.x-o,e.y-n),O(i.x+o,i.y+n))},equals:function(t){return!!t&&(t=I(t),this.min.equals(t.getTopLeft())&&this.max.equals(t.getBottomRight()))}},j.prototype={extend:function(t){var e,i,o=this._southWest,n=this._northEast;if(t instanceof R)e=t,i=t;else{if(!(t instanceof j))return t?this.extend(N(t)||B(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return o||n?(o.lat=Math.min(e.lat,o.lat),o.lng=Math.min(e.lng,o.lng),n.lat=Math.max(i.lat,n.lat),n.lng=Math.max(i.lng,n.lng)):(this._southWest=new R(e.lat,e.lng),this._northEast=new R(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,o=Math.abs(e.lat-i.lat)*t,n=Math.abs(e.lng-i.lng)*t;return new j(new R(e.lat-o,e.lng-n),new R(i.lat+o,i.lng+n))},getCenter:function(){return new R((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new R(this.getNorth(),this.getWest())},getSouthEast:function(){return new R(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof R||"lat"in t?N(t):B(t);var e,i,o=this._southWest,n=this._northEast;return t instanceof j?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=o.lat&&i.lat<=n.lat&&e.lng>=o.lng&&i.lng<=n.lng},intersects:function(t){t=B(t);var e=this._southWest,i=this._northEast,o=t.getSouthWest(),n=t.getNorthEast(),s=n.lat>=e.lat&&o.lat<=i.lat,r=n.lng>=e.lng&&o.lng<=i.lng;return s&&r},overlaps:function(t){t=B(t);var e=this._southWest,i=this._northEast,o=t.getSouthWest(),n=t.getNorthEast(),s=n.lat>e.lat&&o.lat<i.lat,r=n.lng>e.lng&&o.lng<i.lng;return s&&r},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=B(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}},R.prototype={equals:function(t,e){return!!t&&(t=N(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+l(this.lat,t)+", "+l(this.lng,t)+")"},distanceTo:function(t){return H.distance(this,N(t))},wrap:function(){return H.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return B([this.lat-e,this.lng-i],[this.lat+e,this.lng+i])},clone:function(){return new R(this.lat,this.lng,this.alt)}};var D,F={latLngToPoint:function(t,e){var i=this.projection.project(t),o=this.scale(e);return this.transformation._transform(i,o)},pointToLatLng:function(t,e){var i=this.scale(e),o=this.transformation.untransform(t,i);return this.projection.unproject(o)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,i=this.scale(t);return new A(this.transformation.transform(e.min,i),this.transformation.transform(e.max,i))},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?a(t.lng,this.wrapLng,!0):t.lng;return new R(this.wrapLat?a(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),o=e.lat-i.lat,n=e.lng-i.lng;if(0===o&&0===n)return t;var s=t.getSouthWest(),r=t.getNorthEast();return new j(new R(s.lat-o,s.lng-n),new R(r.lat-o,r.lng-n))}},H=e({},F,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,o=t.lat*i,n=e.lat*i,s=Math.sin((e.lat-t.lat)*i/2),r=Math.sin((e.lng-t.lng)*i/2),a=s*s+Math.cos(o)*Math.cos(n)*r*r,h=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*h}}),U=6378137,W={R:U,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,o=Math.max(Math.min(i,t.lat),-i),n=Math.sin(o*e);return new Z(this.R*t.lng*e,this.R*Math.log((1+n)/(1-n))/2)},unproject:function(t){var e=180/Math.PI;return new R((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:(D=U*Math.PI,new A([-D,-D],[D,D]))};function q(t,e,i,o){if(f(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=e,this._c=i,this._d=o}function G(t,e,i,o){return new q(t,e,i,o)}q.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return e=e||1,t.x=e*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return e=e||1,new Z((t.x/e-this._b)/this._a,(t.y/e-this._d)/this._c)}};var V=e({},H,{code:"EPSG:3857",projection:W,transformation:function(){var t=.5/(Math.PI*W.R);return G(t,.5,-t,.5)}()}),J=e({},V,{code:"EPSG:900913"});function K(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function Y(t,e){var i,o,n,s,r,a,h="";for(i=0,n=t.length;i<n;i++){for(o=0,s=(r=t[i]).length;o<s;o++)h+=(o?"L":"M")+(a=r[o]).x+" "+a.y;h+=e?At.svg?"z":"x":""}return h||"M0 0"}var X,$=document.documentElement.style,Q="ActiveXObject"in window,tt=Q&&!document.addEventListener,et="msLaunchUri"in navigator&&!("documentMode"in document),it=Ot("webkit"),ot=Ot("android"),nt=Ot("android 2")||Ot("android 3"),st=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),rt=ot&&Ot("Google")&&st<537&&!("AudioNode"in window),at=!!window.opera,ht=!et&&Ot("chrome"),lt=Ot("gecko")&&!it&&!at&&!Q,ut=!ht&&Ot("safari"),ct=Ot("phantom"),dt="OTransition"in $,pt=0===navigator.platform.indexOf("Win"),mt=Q&&"transition"in $,_t="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!nt,ft="MozPerspective"in $,gt=!window.L_DISABLE_3D&&(mt||_t||ft)&&!dt&&!ct,vt="undefined"!=typeof orientation||Ot("mobile"),yt=vt&&it,bt=vt&&_t,wt=!window.PointerEvent&&window.MSPointerEvent,xt=!(!window.PointerEvent&&!wt),Pt="ontouchstart"in window||!!window.TouchEvent,Lt=!window.L_NO_TOUCH&&(Pt||xt),kt=vt&&at,Tt=vt&&lt,Mt=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,zt=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",h,e),window.removeEventListener("testPassiveEventSupport",h,e)}catch(t){}return t}(),Ct=!!document.createElement("canvas").getContext,St=!(!document.createElementNS||!K("svg").createSVGRect),Zt=!!St&&((X=document.createElement("div")).innerHTML="<svg/>","http://www.w3.org/2000/svg"===(X.firstChild&&X.firstChild.namespaceURI)),Et=!St&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Ot(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var At={ie:Q,ielt9:tt,edge:et,webkit:it,android:ot,android23:nt,androidStock:rt,opera:at,chrome:ht,gecko:lt,safari:ut,phantom:ct,opera12:dt,win:pt,ie3d:mt,webkit3d:_t,gecko3d:ft,any3d:gt,mobile:vt,mobileWebkit:yt,mobileWebkit3d:bt,msPointer:wt,pointer:xt,touch:Lt,touchNative:Pt,mobileOpera:kt,mobileGecko:Tt,retina:Mt,passiveEvents:zt,canvas:Ct,svg:St,vml:Et,inlineSvg:Zt,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},It=At.msPointer?"MSPointerDown":"pointerdown",jt=At.msPointer?"MSPointerMove":"pointermove",Bt=At.msPointer?"MSPointerUp":"pointerup",Rt=At.msPointer?"MSPointerCancel":"pointercancel",Nt={touchstart:It,touchmove:jt,touchend:Bt,touchcancel:Rt},Dt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&Be(e),Vt(t,e)},touchmove:Vt,touchend:Vt,touchcancel:Vt},Ft={},Ht=!1;function Ut(t,e,i){return"touchstart"===e&&(Ht||(document.addEventListener(It,Wt,!0),document.addEventListener(jt,qt,!0),document.addEventListener(Bt,Gt,!0),document.addEventListener(Rt,Gt,!0),Ht=!0)),Dt[e]?(i=Dt[e].bind(this,i),t.addEventListener(Nt[e],i,!1),i):(console.warn("wrong event specified:",e),h)}function Wt(t){Ft[t.pointerId]=t}function qt(t){Ft[t.pointerId]&&(Ft[t.pointerId]=t)}function Gt(t){delete Ft[t.pointerId]}function Vt(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Ft)e.touches.push(Ft[i]);e.changedTouches=[e],t(e)}}var Jt,Kt,Yt,Xt,$t,Qt=_e(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),te=_e(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ee="webkitTransition"===te||"OTransition"===te?te+"End":"transitionend";function ie(t){return"string"==typeof t?document.getElementById(t):t}function oe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var o=document.defaultView.getComputedStyle(t,null);i=o?o[e]:null}return"auto"===i?null:i}function ne(t,e,i){var o=document.createElement(t);return o.className=e||"",i&&i.appendChild(o),o}function se(t){var e=t.parentNode;e&&e.removeChild(t)}function re(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ae(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function he(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function le(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=pe(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function ue(t,e){if(void 0!==t.classList)for(var i=c(e),o=0,n=i.length;o<n;o++)t.classList.add(i[o]);else if(!le(t,e)){var s=pe(t);de(t,(s?s+" ":"")+e)}}function ce(t,e){void 0!==t.classList?t.classList.remove(e):de(t,u((" "+pe(t)+" ").replace(" "+e+" "," ")))}function de(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function pe(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function me(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&function(t,e){var i=!1,o="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(o)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+o+"(opacity="+e+")"}(t,e)}function _e(t){for(var e=document.documentElement.style,i=0;i<t.length;i++)if(t[i]in e)return t[i];return!1}function fe(t,e,i){var o=e||new Z(0,0);t.style[Qt]=(At.ie3d?"translate("+o.x+"px,"+o.y+"px)":"translate3d("+o.x+"px,"+o.y+"px,0)")+(i?" scale("+i+")":"")}function ge(t,e){t._leaflet_pos=e,At.any3d?fe(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function ve(t){return t._leaflet_pos||new Z(0,0)}if("onselectstart"in document)Jt=function(){Me(window,"selectstart",Be)},Kt=function(){Ce(window,"selectstart",Be)};else{var ye=_e(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);Jt=function(){if(ye){var t=document.documentElement.style;Yt=t[ye],t[ye]="none"}},Kt=function(){ye&&(document.documentElement.style[ye]=Yt,Yt=void 0)}}function be(){Me(window,"dragstart",Be)}function we(){Ce(window,"dragstart",Be)}function xe(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Pe(),Xt=t,$t=t.style.outlineStyle,t.style.outlineStyle="none",Me(window,"keydown",Pe))}function Pe(){Xt&&(Xt.style.outlineStyle=$t,Xt=void 0,$t=void 0,Ce(window,"keydown",Pe))}function Le(t){do{t=t.parentNode}while(!(t.offsetWidth&&t.offsetHeight||t===document.body));return t}function ke(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}var Te={__proto__:null,TRANSFORM:Qt,TRANSITION:te,TRANSITION_END:ee,get:ie,getStyle:oe,create:ne,remove:se,empty:re,toFront:ae,toBack:he,hasClass:le,addClass:ue,removeClass:ce,setClass:de,getClass:pe,setOpacity:me,testProp:_e,setTransform:fe,setPosition:ge,getPosition:ve,get disableTextSelection(){return Jt},get enableTextSelection(){return Kt},disableImageDrag:be,enableImageDrag:we,preventOutline:xe,restoreOutline:Pe,getSizedParentNode:Le,getScale:ke};function Me(t,e,i,o){if(e&&"object"==typeof e)for(var n in e)Ee(t,n,e[n],i);else for(var s=0,r=(e=c(e)).length;s<r;s++)Ee(t,e[s],i,o);return this}var ze="_leaflet_events";function Ce(t,e,i,o){if(1===arguments.length)Se(t),delete t[ze];else if(e&&"object"==typeof e)for(var n in e)Oe(t,n,e[n],i);else if(e=c(e),2===arguments.length)Se(t,(function(t){return-1!==g(e,t)}));else for(var s=0,r=e.length;s<r;s++)Oe(t,e[s],i,o);return this}function Se(t,e){for(var i in t[ze]){var o=i.split(/\d/)[0];e&&!e(o)||Oe(t,o,null,null,i)}}var Ze={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Ee(t,e,i,o){var n=e+s(i)+(o?"_"+s(o):"");if(t[ze]&&t[ze][n])return this;var r=function(e){return i.call(o||t,e||window.event)},a=r;!At.touchNative&&At.pointer&&0===e.indexOf("touch")?r=Ut(t,e,r):At.touch&&"dblclick"===e?r=function(t,e){t.addEventListener("dblclick",e);var i,o=0;function n(t){if(1===t.detail){if("mouse"!==t.pointerType&&(!t.sourceCapabilities||t.sourceCapabilities.firesTouchEvents)){var n=Ne(t);if(!n.some((function(t){return t instanceof HTMLLabelElement&&t.attributes.for}))||n.some((function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement}))){var s=Date.now();s-o<=200?2==++i&&e(function(t){var e,i,o={};for(i in t)e=t[i],o[i]=e&&e.bind?e.bind(t):e;return t=o,o.type="dblclick",o.detail=2,o.isTrusted=!1,o._simulated=!0,o}(t)):i=1,o=s}}}else i=t.detail}return t.addEventListener("click",n),{dblclick:e,simDblclick:n}}(t,r):"addEventListener"in t?"touchstart"===e||"touchmove"===e||"wheel"===e||"mousewheel"===e?t.addEventListener(Ze[e]||e,r,!!At.passiveEvents&&{passive:!1}):"mouseenter"===e||"mouseleave"===e?(r=function(e){e=e||window.event,Ue(t,e)&&a(e)},t.addEventListener(Ze[e],r,!1)):t.addEventListener(e,a,!1):t.attachEvent("on"+e,r),t[ze]=t[ze]||{},t[ze][n]=r}function Oe(t,e,i,o,n){n=n||e+s(i)+(o?"_"+s(o):"");var r=t[ze]&&t[ze][n];if(!r)return this;!At.touchNative&&At.pointer&&0===e.indexOf("touch")?function(t,e,i){Nt[e]?t.removeEventListener(Nt[e],i,!1):console.warn("wrong event specified:",e)}(t,e,r):At.touch&&"dblclick"===e?function(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}(t,r):"removeEventListener"in t?t.removeEventListener(Ze[e]||e,r,!1):t.detachEvent("on"+e,r),t[ze][n]=null}function Ae(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,this}function Ie(t){return Ee(t,"wheel",Ae),this}function je(t){return Me(t,"mousedown touchstart dblclick contextmenu",Ae),t._leaflet_disable_click=!0,this}function Be(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return Be(t),Ae(t),this}function Ne(t){if(t.composedPath)return t.composedPath();for(var e=[],i=t.target;i;)e.push(i),i=i.parentNode;return e}function De(t,e){if(!e)return new Z(t.clientX,t.clientY);var i=ke(e),o=i.boundingClientRect;return new Z((t.clientX-o.left)/i.x-e.clientLeft,(t.clientY-o.top)/i.y-e.clientTop)}var Fe=At.linux&&At.chrome?window.devicePixelRatio:At.mac?3*window.devicePixelRatio:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function He(t){return At.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Fe:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function Ue(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var We={__proto__:null,on:Me,off:Ce,stopPropagation:Ae,disableScrollPropagation:Ie,disableClickPropagation:je,preventDefault:Be,stop:Re,getPropagationPath:Ne,getMousePosition:De,getWheelDelta:He,isExternalTarget:Ue,addListener:Me,removeListener:Ce},qe=S.extend({run:function(t,e,i,o){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(o||.5,.2),this._startPos=ve(t),this._offset=e.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=k(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var i=this._startPos.add(this._offset.multiplyBy(t));e&&i._round(),ge(this._el,i),this.fire("step")},_complete:function(){T(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Ge=S.extend({options:{crs:V,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=d(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=o(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(N(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=te&&At.any3d&&!At.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Me(this._proxy,ee,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,i,o){return i=void 0===i?this._zoom:this._limitZoom(i),t=this._limitCenter(N(t),i,this.options.maxBounds),o=o||{},this._stop(),this._loaded&&!o.reset&&!0!==o&&(void 0!==o.animate&&(o.zoom=e({animate:o.animate},o.zoom),o.pan=e({animate:o.animate,duration:o.duration},o.pan)),this._zoom!==i?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,i,o.zoom):this._tryAnimatedPan(t,o.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,i,o.pan&&o.pan.noMoveStart),this)},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(At.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(At.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var o=this.getZoomScale(e),n=this.getSize().divideBy(2),s=(t instanceof Z?t:this.latLngToContainerPoint(t)).subtract(n).multiplyBy(1-1/o),r=this.containerPointToLatLng(n.add(s));return this.setView(r,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():B(t);var i=O(e.paddingTopLeft||e.padding||[0,0]),o=O(e.paddingBottomRight||e.padding||[0,0]),n=this.getBoundsZoom(t,!1,i.add(o));if((n="number"==typeof e.maxZoom?Math.min(e.maxZoom,n):n)===1/0)return{center:t.getCenter(),zoom:n};var s=o.subtract(i).divideBy(2),r=this.project(t.getSouthWest(),n),a=this.project(t.getNorthEast(),n);return{center:this.unproject(r.add(a).divideBy(2).add(s),n),zoom:n}},fitBounds:function(t,e){if(!(t=B(t)).isValid())throw new Error("Bounds are not valid.");var i=this._getBoundsCenterZoom(t,e);return this.setView(i.center,i.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(e=e||{},!(t=O(t).round()).x&&!t.y)return this.fire("moveend");if(!0!==e.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new qe,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate){ue(this._mapPane,"leaflet-pan-anim");var i=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,i){if(!1===(i=i||{}).animate||!At.any3d)return this.setView(t,e,i);this._stop();var o=this.project(this.getCenter()),n=this.project(t),s=this.getSize(),r=this._zoom;t=N(t),e=void 0===e?r:e;var a=Math.max(s.x,s.y),h=a*this.getZoomScale(r,e),l=n.distanceTo(o)||1,u=1.42,c=2.0164;function d(t){var e=(h*h-a*a+(t?-1:1)*c*c*l*l)/(2*(t?h:a)*c*l),i=Math.sqrt(e*e+1)-e;return i<1e-9?-18:Math.log(i)}function p(t){return(Math.exp(t)-Math.exp(-t))/2}function m(t){return(Math.exp(t)+Math.exp(-t))/2}var _=d(0);function f(t){return a*(m(_)*(p(e=_+u*t)/m(e))-p(_))/c;var e}var g=Date.now(),v=(d(1)-_)/u,y=i.duration?1e3*i.duration:1e3*v*.8;return this._moveStart(!0,i.noMoveStart),function i(){var s=(Date.now()-g)/y,h=function(t){return 1-Math.pow(1-t,1.5)}(s)*v;s<=1?(this._flyToFrame=k(i,this),this._move(this.unproject(o.add(n.subtract(o).multiplyBy(f(h)/l)),r),this.getScaleZoom(a/function(t){return a*(m(_)/m(_+u*t))}(h),r),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}.call(this),this},flyToBounds:function(t,e){var i=this._getBoundsCenterZoom(t,e);return this.flyTo(i.center,i.zoom,e)},setMaxBounds:function(t){return t=B(t),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),t.isValid()?(this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),o=this._limitCenter(i,this._zoom,B(t));return i.equals(o)||this.panTo(o,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=O((e=e||{}).paddingTopLeft||e.padding||[0,0]),o=O(e.paddingBottomRight||e.padding||[0,0]),n=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),a=I([r.min.add(i),r.max.subtract(o)]),h=a.getSize();if(!a.contains(s)){this._enforcingBounds=!0;var l=s.subtract(a.getCenter()),u=a.extend(s).getSize().subtract(h);n.x+=l.x<0?-u.x:u.x,n.y+=l.y<0?-u.y:u.y,this.panTo(this.unproject(n),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=e({animate:!1,pan:!0},!0===t?{animate:!0}:t);var i=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var n=this.getSize(),s=i.divideBy(2).round(),r=n.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:n})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=e({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var i=o(this._handleGeolocationResponse,this),n=o(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(i,n,t):navigator.geolocation.getCurrentPosition(i,n,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=new R(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),o=this._locateOptions;if(o.setView){var n=this.getBoundsZoom(i);this.setView(e,o.maxZoom?Math.min(n,o.maxZoom):n)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.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(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(T(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)se(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=ne("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new j(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=B(t),i=O(i||[0,0]);var o=this.getZoom()||0,n=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(i),l=I(this.project(a,o),this.project(r,o)).getSize(),u=At.any3d?this.options.zoomSnap:1,c=h.x/l.x,d=h.y/l.y,p=e?Math.max(c,d):Math.min(c,d);return o=this.getScaleZoom(p,o),u&&(o=Math.round(o/(u/100))*(u/100),o=e?Math.ceil(o/u)*u:Math.floor(o/u)*u),Math.max(n,Math.min(s,o))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new Z(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new A(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var o=i.zoom(t*i.scale(e));return isNaN(o)?1/0:o},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(N(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(O(t),e)},layerPointToLatLng:function(t){var e=O(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(N(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(N(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(B(t))},distance:function(t,e){return this.options.crs.distance(N(t),N(e))},containerPointToLayerPoint:function(t){return O(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return O(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(O(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(N(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=ie(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");Me(e,"scroll",this._onScroll,this),this._containerId=s(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&At.any3d,ue(t,"leaflet-container"+(At.touch?" leaflet-touch":"")+(At.retina?" leaflet-retina":"")+(At.ielt9?" leaflet-oldie":"")+(At.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=oe(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),ge(this._mapPane,new Z(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(ue(t.markerPane,"leaflet-zoom-hide"),ue(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){ge(this._mapPane,new Z(0,0));var o=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var n=this._zoom!==e;this._moveStart(n,i)._move(t,e)._moveEnd(n),this.fire("viewreset"),o&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,o){void 0===e&&(e=this._zoom);var n=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),o?i&&i.pinch&&this.fire("zoom",i):((n||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return T(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){ge(this._mapPane,this._getMapPanePos().subtract(t))},_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(t){this._targets={},this._targets[s(this._container)]=this;var e=t?Ce:Me;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),At.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){T(this._resizeRequest),this._resizeRequest=k((function(){this.invalidateSize({debounceMoveend:!0})}),this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,o=[],n="mouseout"===e||"mouseover"===e,r=t.target||t.srcElement,a=!1;r;){if((i=this._targets[s(r)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){a=!0;break}if(i&&i.listens(e,!0)){if(n&&!Ue(r,t))break;if(o.push(i),n)break}if(r===this._container)break;r=r.parentNode}return o.length||a||n||!this.listens(e,!0)||(o=[this]),o},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(e))){var i=t.type;"mousedown"===i&&xe(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,i,o){if("click"===t.type){var n=e({},t);n.type="preclick",this._fireDOMEvent(n,n.type,o)}var s=this._findEventTargets(t,i);if(o){for(var r=[],a=0;a<o.length;a++)o[a].listens(i,!0)&&r.push(o[a]);s=r.concat(s)}if(s.length){"contextmenu"===i&&Be(t);var h=s[0],l={originalEvent:t};if("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type){var u=h.getLatLng&&(!h._radius||h._radius<=10);l.containerPoint=u?this.latLngToContainerPoint(h.getLatLng()):this.mouseEventToContainerPoint(t),l.layerPoint=this.containerPointToLayerPoint(l.containerPoint),l.latlng=u?h.getLatLng():this.layerPointToLatLng(l.layerPoint)}for(a=0;a<s.length;a++)if(s[a].fire(i,l,!0),l.originalEvent._stopped||!1===s[a].options.bubblingMouseEvents&&-1!==g(this._mouseEvents,i))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return ve(this._mapPane)||new Z(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){var o=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(o)},_latLngBoundsToNewLayerBounds:function(t,e,i){var o=this._getNewPixelOrigin(i,e);return I([this.project(t.getSouthWest(),e)._subtract(o),this.project(t.getNorthWest(),e)._subtract(o),this.project(t.getSouthEast(),e)._subtract(o),this.project(t.getNorthEast(),e)._subtract(o)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){if(!i)return t;var o=this.project(t,e),n=this.getSize().divideBy(2),s=new A(o.subtract(n),o.add(n)),r=this._getBoundsOffset(s,i,e);return Math.abs(r.x)<=1&&Math.abs(r.y)<=1?t:this.unproject(o.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var i=this.getPixelBounds(),o=new A(i.min.add(t),i.max.add(t));return t.add(this._getBoundsOffset(o,e))},_getBoundsOffset:function(t,e,i){var o=I(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),n=o.min.subtract(t.min),s=o.max.subtract(t.max);return new Z(this._rebound(n.x,-s.x),this._rebound(n.y,-s.y))},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),o=At.any3d?this.options.zoomSnap:1;return o&&(t=Math.round(t/o)*o),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ce(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i)||(this.panBy(i,e),0))},_createAnimProxy:function(){var t=this._proxy=ne("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",(function(t){var e=Qt,i=this._proxy.style[e];fe(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()}),this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();fe(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var o=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/o);return!(!0!==i.animate&&!this.getSize().contains(n)||(k((function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)}),this),0))},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,ue(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(o(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&ce(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))}});var Ve=z.extend({options:{position:"topright"},initialize:function(t){d(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),o=t._controlCorners[i];return ue(e,"leaflet-control"),-1!==i.indexOf("bottom")?o.insertBefore(e,o.firstChild):o.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(se(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),Je=function(t){return new Ve(t)};Ge.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=ne("div",e+"control-container",this._container);function o(o,n){var s=e+o+" "+e+n;t[o+n]=ne("div",s,i)}o("top","left"),o("top","right"),o("bottom","left"),o("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)se(this._controlCorners[t]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ke=Ve.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,o){return i<o?-1:o<i?1:0}},initialize:function(t,e,i){for(var o in d(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1,t)this._addLayer(t[o],o);for(o in e)this._addLayer(e[o],o,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return Ve.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(s(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){ue(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(ue(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):ce(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return ce(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=ne("div",t),i=this.options.collapsed;e.setAttribute("aria-haspopup",!0),je(e),Ie(e);var o=this._section=ne("section",t+"-list");i&&(this._map.on("click",this.collapse,this),Me(e,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var n=this._layersLink=ne("a",t+"-toggle",e);n.href="#",n.title="Layers",n.setAttribute("role","button"),Me(n,{keydown:function(t){13===t.keyCode&&this._expandSafely()},click:function(t){Be(t),this._expandSafely()}},this),i||this.expand(),this._baseLayersList=ne("div",t+"-base",o),this._separator=ne("div",t+"-separator",o),this._overlaysList=ne("div",t+"-overlays",o),e.appendChild(o)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&s(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(o((function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)}),this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;re(this._baseLayersList),re(this._overlaysList),this._layerControlInputs=[];var t,e,i,o,n=0;for(i=0;i<this._layers.length;i++)o=this._layers[i],this._addItem(o),e=e||o.overlay,t=t||!o.overlay,n+=o.overlay?0:1;return this.options.hideSingleBase&&(t=t&&n>1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(s(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",o=document.createElement("div");return o.innerHTML=i,o.firstChild},_addItem:function(t){var e,i=document.createElement("label"),o=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=o):e=this._createRadioElement("leaflet-base-layers_"+s(this),o),this._layerControlInputs.push(e),e.layerId=s(t.layer),Me(e,"click",this._onInputClick,this);var n=document.createElement("span");n.innerHTML=" "+t.name;var r=document.createElement("span");return i.appendChild(r),r.appendChild(e),r.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,o=[],n=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?o.push(e):t.checked||n.push(e);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])&&this._map.removeLayer(n[s]);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])||this._map.addLayer(o[s]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var t,e,i=this._layerControlInputs,o=this._map.getZoom(),n=i.length-1;n>=0;n--)t=i[n],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&o<e.options.minZoom||void 0!==e.options.maxZoom&&o>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,Me(t,"click",Be),this.expand();var e=this;setTimeout((function(){Ce(t,"click",Be),e._preventClick=!1}))}}),Ye=Ve.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=ne("div",e+" leaflet-bar"),o=this.options;return this._zoomInButton=this._createButton(o.zoomInText,o.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(o.zoomOutText,o.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.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(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,o,n){var s=ne("a",i,o);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),je(s),Me(s,"click",Re),Me(s,"click",n,this),Me(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";ce(this._zoomInButton,e),ce(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(ue(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(ue(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});Ge.mergeOptions({zoomControl:!0}),Ge.addInitHook((function(){this.options.zoomControl&&(this.zoomControl=new Ye,this.addControl(this.zoomControl))}));var Xe=Ve.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=ne("div",e),o=this.options;return this._addScales(o,e+"-line",i),t.on(o.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=ne("div",e,i)),t.imperial&&(this._iScale=ne("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,o,n=3.2808399*t;n>5280?(e=n/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(o=this._getRoundNum(n),this._updateScale(this._iScale,o+" ft",o/n))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),$e=Ve.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(At.inlineSvg?'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg> ':"")+"Leaflet</a>"},initialize:function(t){d(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=ne("div","leaflet-control-attribution"),je(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",(function(){this.removeAttribution(t.layer.getAttribution())}),this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' <span aria-hidden="true">|</span> ')}}});Ge.mergeOptions({attributionControl:!0}),Ge.addInitHook((function(){this.options.attributionControl&&(new $e).addTo(this)}));Ve.Layers=Ke,Ve.Zoom=Ye,Ve.Scale=Xe,Ve.Attribution=$e,Je.layers=function(t,e,i){return new Ke(t,e,i)},Je.zoom=function(t){return new Ye(t)},Je.scale=function(t){return new Xe(t)},Je.attribution=function(t){return new $e(t)};var Qe=z.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Qe.addTo=function(t,e){return t.addHandler(e,this),this};var ti={Events:C},ei=At.touch?"touchstart mousedown":"mousedown",ii=S.extend({options:{clickTolerance:3},initialize:function(t,e,i,o){d(this,o),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(Me(this._dragStartTarget,ei,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ii._dragging===this&&this.finishDrag(!0),Ce(this._dragStartTarget,ei,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!le(this._element,"leaflet-zoom-anim")))if(t.touches&&1!==t.touches.length)ii._dragging===this&&this.finishDrag();else if(!(ii._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(ii._dragging=this,this._preventOutline&&xe(this._element),be(),Jt(),this._moving))){this.fire("down");var e=t.touches?t.touches[0]:t,i=Le(this._element);this._startPoint=new Z(e.clientX,e.clientY),this._startPos=ve(this._element),this._parentScale=ke(i);var o="mousedown"===t.type;Me(document,o?"mousemove":"touchmove",this._onMove,this),Me(document,o?"mouseup":"touchend touchcancel",this._onUp,this)}},_onMove:function(t){if(this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new Z(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)<this.options.clickTolerance||(i.x/=this._parentScale.x,i.y/=this._parentScale.y,Be(t),this._moved||(this.fire("dragstart"),this._moved=!0,ue(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),ue(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(i),this._moving=!0,this._lastEvent=t,this._updatePosition()))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),ge(this._element,this._newPos),this.fire("drag",t)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(t){ce(document.body,"leaflet-dragging"),this._lastTarget&&(ce(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Ce(document,"mousemove touchmove",this._onMove,this),Ce(document,"mouseup touchend touchcancel",this._onUp,this),we(),Kt();var e=this._moved&&this._moving;this._moving=!1,ii._dragging=!1,e&&this.fire("dragend",{noInertia:t,distance:this._newPos.distanceTo(this._startPos)})}});function oi(t,e,i){var o,n,s,r,a,h,l,u,c,d=[1,4,2,8];for(n=0,l=t.length;n<l;n++)t[n]._code=pi(t[n],e);for(r=0;r<4;r++){for(u=d[r],o=[],n=0,s=(l=t.length)-1;n<l;s=n++)a=t[n],h=t[s],a._code&u?h._code&u||((c=di(h,a,u,e,i))._code=pi(c,e),o.push(c)):(h._code&u&&((c=di(h,a,u,e,i))._code=pi(c,e),o.push(c)),o.push(a));t=o}return t}function ni(t,e){var i,o,n,s,r,a,h,l,u;if(!t||0===t.length)throw new Error("latlngs not passed");fi(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var c=N([0,0]),d=B(t);d.getNorthWest().distanceTo(d.getSouthWest())*d.getNorthEast().distanceTo(d.getNorthWest())<1700&&(c=si(t));var p=t.length,m=[];for(i=0;i<p;i++){var _=N(t[i]);m.push(e.project(N([_.lat-c.lat,_.lng-c.lng])))}for(a=h=l=0,i=0,o=p-1;i<p;o=i++)n=m[i],s=m[o],r=n.y*s.x-s.y*n.x,h+=(n.x+s.x)*r,l+=(n.y+s.y)*r,a+=3*r;u=0===a?m[0]:[h/a,l/a];var f=e.unproject(O(u));return N([f.lat+c.lat,f.lng+c.lng])}function si(t){for(var e=0,i=0,o=0,n=0;n<t.length;n++){var s=N(t[n]);e+=s.lat,i+=s.lng,o++}return N([e/o,i/o])}var ri,ai={__proto__:null,clipPolygon:oi,polygonCenter:ni,centroid:si};function hi(t,e){if(!e||!t.length)return t.slice();var i=e*e;return function(t,e){var i=t.length,o=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(i);o[0]=o[i-1]=1,ui(t,o,e,0,i-1);var n,s=[];for(n=0;n<i;n++)o[n]&&s.push(t[n]);return s}(t=function(t,e){for(var i=[t[0]],o=1,n=0,s=t.length;o<s;o++)mi(t[o],t[n])>e&&(i.push(t[o]),n=o);return n<s-1&&i.push(t[s-1]),i}(t,i),i)}function li(t,e,i){return Math.sqrt(_i(t,e,i,!0))}function ui(t,e,i,o,n){var s,r,a,h=0;for(r=o+1;r<=n-1;r++)(a=_i(t[r],t[o],t[n],!0))>h&&(s=r,h=a);h>i&&(e[s]=1,ui(t,e,i,o,s),ui(t,e,i,s,n))}function ci(t,e,i,o,n){var s,r,a,h=o?ri:pi(t,i),l=pi(e,i);for(ri=l;;){if(!(h|l))return[t,e];if(h&l)return!1;a=pi(r=di(t,e,s=h||l,i,n),i),s===h?(t=r,h=a):(e=r,l=a)}}function di(t,e,i,o,n){var s,r,a=e.x-t.x,h=e.y-t.y,l=o.min,u=o.max;return 8&i?(s=t.x+a*(u.y-t.y)/h,r=u.y):4&i?(s=t.x+a*(l.y-t.y)/h,r=l.y):2&i?(s=u.x,r=t.y+h*(u.x-t.x)/a):1&i&&(s=l.x,r=t.y+h*(l.x-t.x)/a),new Z(s,r,n)}function pi(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i}function mi(t,e){var i=e.x-t.x,o=e.y-t.y;return i*i+o*o}function _i(t,e,i,o){var n,s=e.x,r=e.y,a=i.x-s,h=i.y-r,l=a*a+h*h;return l>0&&((n=((t.x-s)*a+(t.y-r)*h)/l)>1?(s=i.x,r=i.y):n>0&&(s+=a*n,r+=h*n)),a=t.x-s,h=t.y-r,o?a*a+h*h:new Z(s,r)}function fi(t){return!f(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function gi(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),fi(t)}function vi(t,e){var i,o,n,s,r,a,h,l;if(!t||0===t.length)throw new Error("latlngs not passed");fi(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var u=N([0,0]),c=B(t);c.getNorthWest().distanceTo(c.getSouthWest())*c.getNorthEast().distanceTo(c.getNorthWest())<1700&&(u=si(t));var d=t.length,p=[];for(i=0;i<d;i++){var m=N(t[i]);p.push(e.project(N([m.lat-u.lat,m.lng-u.lng])))}for(i=0,o=0;i<d-1;i++)o+=p[i].distanceTo(p[i+1])/2;if(0===o)l=p[0];else for(i=0,s=0;i<d-1;i++)if(r=p[i],a=p[i+1],(s+=n=r.distanceTo(a))>o){h=(s-o)/n,l=[a.x-h*(a.x-r.x),a.y-h*(a.y-r.y)];break}var _=e.unproject(O(l));return N([_.lat+u.lat,_.lng+u.lng])}var yi={__proto__:null,simplify:hi,pointToSegmentDistance:li,closestPointOnSegment:function(t,e,i){return _i(t,e,i)},clipSegment:ci,_getEdgeIntersection:di,_getBitCode:pi,_sqClosestPointOnSegment:_i,isFlat:fi,_flat:gi,polylineCenter:vi},bi={project:function(t){return new Z(t.lng,t.lat)},unproject:function(t){return new R(t.y,t.x)},bounds:new A([-180,-90],[180,90])},wi={R:6378137,R_MINOR:6356752.314245179,bounds:new A([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,o=t.lat*e,n=this.R_MINOR/i,s=Math.sqrt(1-n*n),r=s*Math.sin(o),a=Math.tan(Math.PI/4-o/2)/Math.pow((1-r)/(1+r),s/2);return o=-i*Math.log(Math.max(a,1e-10)),new Z(t.lng*e*i,o)},unproject:function(t){for(var e,i=180/Math.PI,o=this.R,n=this.R_MINOR/o,s=Math.sqrt(1-n*n),r=Math.exp(-t.y/o),a=Math.PI/2-2*Math.atan(r),h=0,l=.1;h<15&&Math.abs(l)>1e-7;h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=l=Math.PI/2-2*Math.atan(r*e)-a;return new R(a*i,t.x*i/o)}},xi={__proto__:null,LonLat:bi,Mercator:wi,SphericalMercator:W},Pi=e({},H,{code:"EPSG:3395",projection:wi,transformation:function(){var t=.5/(Math.PI*wi.R);return G(t,.5,-t,.5)}()}),Li=e({},H,{code:"EPSG:4326",projection:bi,transformation:G(1/180,1,-1/180,.5)}),ki=e({},F,{projection:bi,transformation:G(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,o=e.lat-t.lat;return Math.sqrt(i*i+o*o)},infinite:!0});F.Earth=H,F.EPSG3395=Pi,F.EPSG3857=V,F.EPSG900913=J,F.EPSG4326=Li,F.Simple=ki;var Ti=S.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[s(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[s(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",(function(){e.off(i,this)}),this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});Ge.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=s(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=s(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return s(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?f(t)?t:[t]:[]).length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[s(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=s(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-1/0,i=this._getZoomSpan();for(var o in this._zoomBoundLayers){var n=this._zoomBoundLayers[o].options;t=void 0===n.minZoom?t:Math.min(t,n.minZoom),e=void 0===n.maxZoom?e:Math.max(e,n.maxZoom)}this._layersMaxZoom=e===-1/0?void 0:e,this._layersMinZoom=t===1/0?void 0:t,i!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Mi=Ti.extend({initialize:function(t,e){var i,o;if(d(this,e),this._layers={},t)for(i=0,o=t.length;i<o;i++)this.addLayer(t[i])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return("number"==typeof t?t:this.getLayerId(t))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,i,o=Array.prototype.slice.call(arguments,1);for(e in this._layers)(i=this._layers[e])[t]&&i[t].apply(i,o);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return s(t)}}),zi=Mi.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),Mi.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),Mi.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new j;for(var e in this._layers){var i=this._layers[e];t.extend(i.getBounds?i.getBounds():i.getLatLng())}return t}}),Ci=z.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(t){d(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(!i){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var o=this._createImg(i,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(o,t),(this.options.crossOrigin||""===this.options.crossOrigin)&&(o.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),o},_setIconStyles:function(t,e){var i=this.options,o=i[e+"Size"];"number"==typeof o&&(o=[o,o]);var n=O(o),s=O("shadow"===e&&i.shadowAnchor||i.iconAnchor||n&&n.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),s&&(t.style.marginLeft=-s.x+"px",t.style.marginTop=-s.y+"px"),n&&(t.style.width=n.x+"px",t.style.height=n.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return At.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});var Si=Ci.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return"string"!=typeof Si.imagePath&&(Si.imagePath=this._detectIconPath()),(this.options.imagePath||Si.imagePath)+Ci.prototype._getIconUrl.call(this,t)},_stripUrl:function(t){var e=function(t,e,i){var o=e.exec(t);return o&&o[i]};return(t=e(t,/^url\((['"])?(.+)\1\)$/,2))&&e(t,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var t=ne("div","leaflet-default-icon-path",document.body),e=oe(t,"background-image")||oe(t,"backgroundImage");if(document.body.removeChild(t),e=this._stripUrl(e))return e;var i=document.querySelector('link[href$="leaflet.css"]');return i?i.href.substring(0,i.href.length-11-1):""}}),Zi=Qe.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new ii(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),ue(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&ce(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,i=e._map,o=this._marker.options.autoPanSpeed,n=this._marker.options.autoPanPadding,s=ve(e._icon),r=i.getPixelBounds(),a=i.getPixelOrigin(),h=I(r.min._subtract(a).add(n),r.max._subtract(a).subtract(n));if(!h.contains(s)){var l=O((Math.max(h.max.x,s.x)-h.max.x)/(r.max.x-h.max.x)-(Math.min(h.min.x,s.x)-h.min.x)/(r.min.x-h.min.x),(Math.max(h.max.y,s.y)-h.max.y)/(r.max.y-h.max.y)-(Math.min(h.min.y,s.y)-h.min.y)/(r.min.y-h.min.y)).multiplyBy(o);i.panBy(l,{animate:!1}),this._draggable._newPos._add(l),this._draggable._startPos._add(l),ge(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=k(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(T(this._panRequest),this._panRequest=k(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,i=e._shadow,o=ve(e._icon),n=e._map.layerPointToLatLng(o);i&&ge(i,o),e._latlng=n,t.latlng=n,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){T(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Ei=Ti.extend({options:{icon:new Si,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){d(this,e),this._latlng=N(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=N(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),o=!1;i!==this._icon&&(this._icon&&this._removeIcon(),o=!0,t.title&&(i.title=t.title),"IMG"===i.tagName&&(i.alt=t.alt||"")),ue(i,e),t.keyboard&&(i.tabIndex="0",i.setAttribute("role","button")),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Me(i,"focus",this._panOnFocus,this);var n=t.icon.createShadow(this._shadow),s=!1;n!==this._shadow&&(this._removeShadow(),s=!0),n&&(ue(n,e),n.alt=""),this._shadow=n,t.opacity<1&&this._updateOpacity(),o&&this.getPane().appendChild(this._icon),this._initInteraction(),n&&s&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Ce(this._icon,"focus",this._panOnFocus,this),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&ge(this._icon,t),this._shadow&&ge(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(ue(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Zi)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Zi(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&me(this._icon,t),this._shadow&&me(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var t=this._map;if(t){var e=this.options.icon.options,i=e.iconSize?O(e.iconSize):O(0,0),o=e.iconAnchor?O(e.iconAnchor):O(0,0);t.panInside(this._latlng,{paddingTopLeft:o,paddingBottomRight:i.subtract(o)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});var Oi=Ti.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return d(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),Ai=Oi.extend({options:{fill:!0,radius:10},initialize:function(t,e){d(this,e),this._latlng=N(t),this._radius=this.options.radius},setLatLng:function(t){var e=this._latlng;return this._latlng=N(t),this.redraw(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return Oi.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),o=[t+i,e+i];this._pxBounds=new A(this._point.subtract(o),this._point.add(o))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});var Ii=Ai.extend({initialize:function(t,i,o){if("number"==typeof i&&(i=e({},o,{radius:i})),d(this,i),this._latlng=N(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new j(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Oi.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,i=this._map,o=i.options.crs;if(o.distance===H.distance){var n=Math.PI/180,s=this._mRadius/H.R/n,r=i.project([e+s,t]),a=i.project([e-s,t]),h=r.add(a).divideBy(2),l=i.unproject(h).lat,u=Math.acos((Math.cos(s*n)-Math.sin(e*n)*Math.sin(l*n))/(Math.cos(e*n)*Math.cos(l*n)))/n;(isNaN(u)||0===u)&&(u=s/Math.cos(Math.PI/180*e)),this._point=h.subtract(i.getPixelOrigin()),this._radius=isNaN(u)?0:h.x-i.project([l,t-u]).x,this._radiusY=h.y-r.y}else{var c=o.unproject(o.project(this._latlng).subtract([this._mRadius,0]));this._point=i.latLngToLayerPoint(this._latlng),this._radius=this._point.x-i.latLngToLayerPoint(c).x}this._updateBounds()}});var ji=Oi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){d(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,i,o=1/0,n=null,s=_i,r=0,a=this._parts.length;r<a;r++)for(var h=this._parts[r],l=1,u=h.length;l<u;l++){var c=s(t,e=h[l-1],i=h[l],!0);c<o&&(o=c,n=s(t,e,i))}return n&&(n.distance=Math.sqrt(o)),n},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return vi(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=N(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new j,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return fi(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=fi(t),o=0,n=t.length;o<n;o++)i?(e[o]=N(t[o]),this._bounds.extend(e[o])):e[o]=this._convertLatLngs(t[o]);return e},_project:function(){var t=new A;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),e=new Z(t,t);this._rawPxBounds&&(this._pxBounds=new A([this._rawPxBounds.min.subtract(e),this._rawPxBounds.max.add(e)]))},_projectLatlngs:function(t,e,i){var o,n,s=t[0]instanceof R,r=t.length;if(s){for(n=[],o=0;o<r;o++)n[o]=this._map.latLngToLayerPoint(t[o]),i.extend(n[o]);e.push(n)}else for(o=0;o<r;o++)this._projectLatlngs(t[o],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var e,i,o,n,s,r,a,h=this._parts;for(e=0,o=0,n=this._rings.length;e<n;e++)for(i=0,s=(a=this._rings[e]).length;i<s-1;i++)(r=ci(a[i],a[i+1],t,i,!0))&&(h[o]=h[o]||[],h[o].push(r[0]),r[1]===a[i+1]&&i!==s-2||(h[o].push(r[1]),o++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,o=t.length;i<o;i++)t[i]=hi(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var i,o,n,s,r,a,h=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(i=0,s=this._parts.length;i<s;i++)for(o=0,n=(r=(a=this._parts[i]).length)-1;o<r;n=o++)if((e||0!==o)&&li(t,a[n],a[o])<=h)return!0;return!1}});ji._flat=gi;var Bi=ji.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return ni(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(t){var e=ji.prototype._convertLatLngs.call(this,t),i=e.length;return i>=2&&e[0]instanceof R&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){ji.prototype._setLatLngs.call(this,t),fi(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return fi(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new Z(e,e);if(t=new A(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var o,n=0,s=this._rings.length;n<s;n++)(o=oi(this._rings[n],t,!0)).length&&this._parts.push(o)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,i,o,n,s,r,a,h,l=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(n=0,a=this._parts.length;n<a;n++)for(s=0,r=(h=(e=this._parts[n]).length)-1;s<h;r=s++)i=e[s],o=e[r],i.y>t.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(l=!l);return l||ji.prototype._containsPoint.call(this,t,!0)}});var Ri=zi.extend({initialize:function(t,e){d(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,o,n=f(t)?t:t.features;if(n){for(e=0,i=n.length;e<i;e++)((o=n[e]).geometries||o.geometry||o.features||o.coordinates)&&this.addData(o);return this}var s=this.options;if(s.filter&&!s.filter(t))return this;var r=Ni(t,s);return r?(r.feature=Gi(t),r.defaultOptions=r.options,this.resetStyle(r),s.onEachFeature&&s.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return void 0===t?this.eachLayer(this.resetStyle,this):(t.options=e({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(t){return this.eachLayer((function(e){this._setLayerStyle(e,t)}),this)},_setLayerStyle:function(t,e){t.setStyle&&("function"==typeof e&&(e=e(t.feature)),t.setStyle(e))}});function Ni(t,e){var i,o,n,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],l=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Fi;if(!a&&!r)return null;switch(r.type){case"Point":return Di(l,t,i=u(a),e);case"MultiPoint":for(n=0,s=a.length;n<s;n++)i=u(a[n]),h.push(Di(l,t,i,e));return new zi(h);case"LineString":case"MultiLineString":return o=Hi(a,"LineString"===r.type?0:1,u),new ji(o,e);case"Polygon":case"MultiPolygon":return o=Hi(a,"Polygon"===r.type?1:2,u),new Bi(o,e);case"GeometryCollection":for(n=0,s=r.geometries.length;n<s;n++){var c=Ni({geometry:r.geometries[n],type:"Feature",properties:t.properties},e);c&&h.push(c)}return new zi(h);case"FeatureCollection":for(n=0,s=r.features.length;n<s;n++){var d=Ni(r.features[n],e);d&&h.push(d)}return new zi(h);default:throw new Error("Invalid GeoJSON object.")}}function Di(t,e,i,o){return t?t(e,i):new Ei(i,o&&o.markersInheritOptions&&o)}function Fi(t){return new R(t[1],t[0],t[2])}function Hi(t,e,i){for(var o,n=[],s=0,r=t.length;s<r;s++)o=e?Hi(t[s],e-1,i):(i||Fi)(t[s]),n.push(o);return n}function Ui(t,e){return void 0!==(t=N(t)).alt?[l(t.lng,e),l(t.lat,e),l(t.alt,e)]:[l(t.lng,e),l(t.lat,e)]}function Wi(t,e,i,o){for(var n=[],s=0,r=t.length;s<r;s++)n.push(e?Wi(t[s],fi(t[s])?0:e-1,i,o):Ui(t[s],o));return!e&&i&&n.length>0&&n.push(n[0].slice()),n}function qi(t,i){return t.feature?e({},t.feature,{geometry:i}):Gi(i)}function Gi(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Vi={toGeoJSON:function(t){return qi(this,{type:"Point",coordinates:Ui(this.getLatLng(),t)})}};function Ji(t,e){return new Ri(t,e)}Ei.include(Vi),Ii.include(Vi),Ai.include(Vi),ji.include({toGeoJSON:function(t){var e=!fi(this._latlngs);return qi(this,{type:(e?"Multi":"")+"LineString",coordinates:Wi(this._latlngs,e?1:0,!1,t)})}}),Bi.include({toGeoJSON:function(t){var e=!fi(this._latlngs),i=e&&!fi(this._latlngs[0]),o=Wi(this._latlngs,i?2:e?1:0,!0,t);return e||(o=[o]),qi(this,{type:(i?"Multi":"")+"Polygon",coordinates:o})}}),Mi.include({toMultiPoint:function(t){var e=[];return this.eachLayer((function(i){e.push(i.toGeoJSON(t).geometry.coordinates)})),qi(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var i="GeometryCollection"===e,o=[];return this.eachLayer((function(e){if(e.toGeoJSON){var n=e.toGeoJSON(t);if(i)o.push(n.geometry);else{var s=Gi(n);"FeatureCollection"===s.type?o.push.apply(o,s.features):o.push(s)}}})),i?qi(this,{geometries:o,type:"GeometryCollection"}):{type:"FeatureCollection",features:o}}});var Ki=Ji,Yi=Ti.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=B(e),d(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(ue(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&ae(this._image),this},bringToBack:function(){return this._map&&he(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=B(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:ne("img");ue(e,"leaflet-image-layer"),this._zoomAnimated&&ue(e,"leaflet-zoom-animated"),this.options.className&&ue(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onload=o(this.fire,this,"load"),e.onerror=o(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;fe(this._image,i,e)},_reset:function(){var t=this._image,e=new A(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();ge(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){me(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),Xi=Yi.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:ne("video");if(ue(e,"leaflet-image-layer"),this._zoomAnimated&&ue(e,"leaflet-zoom-animated"),this.options.className&&ue(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onloadeddata=o(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],s=0;s<i.length;s++)n.push(i[s].src);this._url=i.length>0?n:[e.src]}else{f(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var r=0;r<this._url.length;r++){var a=ne("source");a.src=this._url[r],e.appendChild(a)}}}});var $i=Yi.extend({_initImage:function(){var t=this._image=this._url;ue(t,"leaflet-image-layer"),this._zoomAnimated&&ue(t,"leaflet-zoom-animated"),this.options.className&&ue(t,this.options.className),t.onselectstart=h,t.onmousemove=h}});var Qi=Ti.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(t,e){t&&(t instanceof R||f(t))?(this._latlng=N(t),d(this,e)):(d(this,t),this._source=e),this.options.content&&(this._content=this.options.content)},openOn:function(t){return(t=arguments.length?t:this._source._map).hasLayer(this)||t.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(t){return this._map?this.close():(arguments.length?this._source=t:t=this._source,this._prepareOpen(),this.openOn(t._map)),this},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&me(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&me(this._container,1),this.bringToFront(),this.options.interactive&&(ue(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(t){t._fadeAnimated?(me(this._container,0),this._removeTimeout=setTimeout(o(se,void 0,this._container),200)):se(this._container),this.options.interactive&&(ce(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=N(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ae(this._container),this},bringToBack:function(){return this._map&&he(this._container),this},_prepareOpen:function(t){var e=this._source;if(!e._map)return!1;if(e instanceof zi){e=null;var i=this._source._layers;for(var o in i)if(i[o]._map){e=i[o];break}if(!e)return!1;this._source=e}if(!t)if(e.getCenter)t=e.getCenter();else if(e.getLatLng)t=e.getLatLng();else{if(!e.getBounds)throw new Error("Unable to get source layer LatLng.");t=e.getBounds().getCenter()}return this.setLatLng(t),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=O(this.options.offset),i=this._getAnchor();this._zoomAnimated?ge(this._container,t.add(i)):e=e.add(t).add(i);var o=this._containerBottom=-e.y,n=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=o+"px",this._container.style.left=n+"px"}},_getAnchor:function(){return[0,0]}});Ge.include({_initOverlay:function(t,e,i,o){var n=e;return n instanceof t||(n=new t(o).setContent(e)),i&&n.setLatLng(i),n}}),Ti.include({_initOverlay:function(t,e,i,o){var n=i;return n instanceof t?(d(n,o),n._source=this):(n=e&&!o?e:new t(o,this)).setContent(i),n}});var to=Qi.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return!(t=arguments.length?t:this._source._map).hasLayer(this)&&t._popup&&t._popup.options.autoClose&&t.removeLayer(t._popup),t._popup=this,Qi.prototype.openOn.call(this,t)},onAdd:function(t){Qi.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Oi||this._source.on("preclick",Ae))},onRemove:function(t){Qi.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Oi||this._source.off("preclick",Ae))},getEvents:function(){var t=Qi.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this.close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_initLayout:function(){var t="leaflet-popup",e=this._container=ne("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),i=this._wrapper=ne("div",t+"-content-wrapper",e);if(this._contentNode=ne("div",t+"-content",i),je(e),Ie(this._contentNode),Me(e,"contextmenu",Ae),this._tipContainer=ne("div",t+"-tip-container",e),this._tip=ne("div",t+"-tip",this._tipContainer),this.options.closeButton){var o=this._closeButton=ne("a",t+"-close-button",e);o.setAttribute("role","button"),o.setAttribute("aria-label","Close popup"),o.href="#close",o.innerHTML='<span aria-hidden="true">&#215;</span>',Me(o,"click",(function(t){Be(t),this.close()}),this)}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var i=t.offsetWidth;i=Math.min(i,this.options.maxWidth),i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="";var o=t.offsetHeight,n=this.options.maxHeight,s="leaflet-popup-scrolled";n&&o>n?(e.height=n+"px",ue(t,s)):ce(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();ge(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan)if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning)this._autopanning=!1;else{var t=this._map,e=parseInt(oe(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,o=this._containerWidth,n=new Z(this._containerLeft,-i-this._containerBottom);n._add(ve(this._container));var s=t.layerPointToContainerPoint(n),r=O(this.options.autoPanPadding),a=O(this.options.autoPanPaddingTopLeft||r),h=O(this.options.autoPanPaddingBottomRight||r),l=t.getSize(),u=0,c=0;s.x+o+h.x>l.x&&(u=s.x+o-l.x+h.x),s.x-u-a.x<0&&(u=s.x-a.x),s.y+i+h.y>l.y&&(c=s.y+i-l.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(u||c)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([u,c]))}},_getAnchor:function(){return O(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Ge.mergeOptions({closePopupOnClick:!0}),Ge.include({openPopup:function(t,e,i){return this._initOverlay(to,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),Ti.include({bindPopup:function(t,e){return this._popup=this._initOverlay(to,this._popup,t,e),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(t){return this._popup&&(this instanceof zi||(this._popup._source=this),this._popup._prepareOpen(t||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()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(this._popup&&this._map){Re(t);var e=t.layer||t.target;this._popup._source!==e||e instanceof Oi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var eo=Qi.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Qi.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Qi.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Qi.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ne("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+s(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,o=this._map,n=this._container,s=o.latLngToContainerPoint(o.getCenter()),r=o.layerPointToContainerPoint(t),a=this.options.direction,h=n.offsetWidth,l=n.offsetHeight,u=O(this.options.offset),c=this._getAnchor();"top"===a?(e=h/2,i=l):"bottom"===a?(e=h/2,i=0):"center"===a?(e=h/2,i=l/2):"right"===a?(e=0,i=l/2):"left"===a?(e=h,i=l/2):r.x<s.x?(a="right",e=0,i=l/2):(a="left",e=h+2*(u.x+c.x),i=l/2),t=t.subtract(O(e,i,!0)).add(u).add(c),ce(n,"leaflet-tooltip-right"),ce(n,"leaflet-tooltip-left"),ce(n,"leaflet-tooltip-top"),ce(n,"leaflet-tooltip-bottom"),ue(n,"leaflet-tooltip-"+a),ge(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&me(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return O(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});Ge.include({openTooltip:function(t,e,i){return this._initOverlay(eo,t,e,i).openOn(this),this},closeTooltip:function(t){return t.close(),this}}),Ti.include({bindTooltip:function(t,e){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(eo,this._tooltip,t,e),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?"off":"on",i={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,i.click=this._openTooltip,this._map?this._addFocusListeners():i.add=this._addFocusListeners),this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),this[e](i),this._tooltipHandlersAdded=!t}},openTooltip:function(t){return this._tooltip&&(this instanceof zi||(this._tooltip._source=this),this._tooltip._prepareOpen(t)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&(Me(e,"focus",(function(){this._tooltip._source=t,this.openTooltip()}),this),Me(e,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&e.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(t){if(this._tooltip&&this._map)if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var e=this;this._map.once("moveend",(function(){e._openOnceFlag=!1,e._openTooltip(t)}))}else this._tooltip._source=t.layer||t.target,this.openTooltip(this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var e,i,o=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(e=this._map.mouseEventToContainerPoint(t.originalEvent),i=this._map.containerPointToLayerPoint(e),o=this._map.layerPointToLatLng(i)),this._tooltip.setLatLng(o)}});var io=Ci.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),i=this.options;if(i.html instanceof Element?(re(e),e.appendChild(i.html)):e.innerHTML=!1!==i.html?i.html:"",i.bgPos){var o=O(i.bgPos);e.style.backgroundPosition=-o.x+"px "+-o.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});Ci.Default=Si;var oo=Ti.extend({options:{tileSize:256,opacity:1,updateWhenIdle:At.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){d(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),se(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ae(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(he(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var t=this._clampZoom(this._map.getZoom());t!==this._tileZoom&&(this._tileZoom=t,this._updateLevels()),this._update()}return this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=r(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof Z?t:new Z(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,o=-t(-1/0,1/0),n=0,s=i.length;n<s;n++)e=i[n].style.zIndex,i[n]!==this._container&&e&&(o=t(o,+e));isFinite(o)&&(this.options.zIndex=o+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!At.ielt9){me(this._container,this.options.opacity);var t=+new Date,e=!1,i=!1;for(var o in this._tiles){var n=this._tiles[o];if(n.current&&n.loaded){var s=Math.min(1,(t-n.loaded)/200);me(n.el,s),s<1?e=!0:(n.active?i=!0:this._onOpaqueTile(n),n.active=!0)}}i&&!this._noPrune&&this._pruneTiles(),e&&(T(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this))}},_onOpaqueTile:h,_initContainer:function(){this._container||(this._container=ne("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var i in this._levels)i=Number(i),this._levels[i].el.children.length||i===t?(this._levels[i].el.style.zIndex=e-Math.abs(t-i),this._onUpdateLevel(i)):(se(this._levels[i].el),this._removeTilesAtZoom(i),this._onRemoveLevel(i),delete this._levels[i]);var o=this._levels[t],n=this._map;return o||((o=this._levels[t]={}).el=ne("div","leaflet-tile-container leaflet-zoom-animated",this._container),o.el.style.zIndex=e,o.origin=n.project(n.unproject(n.getPixelOrigin()),t).round(),o.zoom=t,this._setZoomTransform(o,n.getCenter(),n.getZoom()),o.el.offsetWidth,this._onCreateLevel(o)),this._level=o,o}},_onUpdateLevel:h,_onRemoveLevel:h,_onCreateLevel:h,_pruneTiles:function(){if(this._map){var t,e,i=this._map.getZoom();if(i>this.options.maxZoom||i<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(e=this._tiles[t]).retain=e.current;for(t in this._tiles)if((e=this._tiles[t]).current&&!e.active){var o=e.coords;this._retainParent(o.x,o.y,o.z,o.z-5)||this._retainChildren(o.x,o.y,o.z,o.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)se(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,i,o){var n=Math.floor(t/2),s=Math.floor(e/2),r=i-1,a=new Z(+n,+s);a.z=+r;var h=this._tileCoordsToKey(a),l=this._tiles[h];return l&&l.active?(l.retain=!0,!0):(l&&l.loaded&&(l.retain=!0),r>o&&this._retainParent(n,s,r,o))},_retainChildren:function(t,e,i,o){for(var n=2*t;n<2*t+2;n++)for(var s=2*e;s<2*e+2;s++){var r=new Z(n,s);r.z=i+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),i+1<o&&this._retainChildren(n,s,i+1,o))}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,i,o){var n=Math.round(e);n=void 0!==this.options.maxZoom&&n>this.options.maxZoom||void 0!==this.options.minZoom&&n<this.options.minZoom?void 0:this._clampZoom(n);var s=this.options.updateWhenZooming&&n!==this._tileZoom;o&&!s||(this._tileZoom=n,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==n&&this._update(t),i||this._pruneTiles(),this._noPrune=!!i),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var o=this._map.getZoomScale(i,t.zoom),n=t.origin.multiplyBy(o).subtract(this._map._getNewPixelOrigin(e,i)).round();At.any3d?fe(t.el,n,o):ge(t.el,n)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),o=this._tileZoom,n=this._map.getPixelWorldBounds(this._tileZoom);n&&(this._globalTileRange=this._pxBoundsToTileRange(n)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],o).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],o).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],o).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],o).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),o=e.getZoomScale(i,this._tileZoom),n=e.project(t,this._tileZoom).floor(),s=e.getSize().divideBy(2*o);return new A(n.subtract(s),n.add(s))},_update:function(t){var e=this._map;if(e){var i=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var o=this._getTiledPixelBounds(t),n=this._pxBoundsToTileRange(o),s=n.getCenter(),r=[],a=this.options.keepBuffer,h=new A(n.getBottomLeft().subtract([a,-a]),n.getTopRight().add([a,-a]));if(!(isFinite(n.min.x)&&isFinite(n.min.y)&&isFinite(n.max.x)&&isFinite(n.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var l in this._tiles){var u=this._tiles[l].coords;u.z===this._tileZoom&&h.contains(new Z(u.x,u.y))||(this._tiles[l].current=!1)}if(Math.abs(i-this._tileZoom)>1)this._setView(t,i);else{for(var c=n.min.y;c<=n.max.y;c++)for(var d=n.min.x;d<=n.max.x;d++){var p=new Z(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var m=this._tiles[this._tileCoordsToKey(p)];m?m.current=!0:r.push(p)}}if(r.sort((function(t,e){return t.distanceTo(s)-e.distanceTo(s)})),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var _=document.createDocumentFragment();for(d=0;d<r.length;d++)this._addTile(r[d],_);this._level.el.appendChild(_)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}if(!this.options.bounds)return!0;var o=this._tileCoordsToBounds(t);return B(this.options.bounds).overlaps(o)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),o=t.scaleBy(i),n=o.add(i);return[e.unproject(o,t.z),e.unproject(n,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new j(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new Z(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(se(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){ue(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=h,t.onmousemove=h,At.ielt9&&this.options.opacity<1&&me(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),o(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&k(o(this._tileReady,this,t,null,s)),ge(s,i),this._tiles[n]={el:s,coords:t,current:!0},e.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(me(i.el,0),T(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(ue(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),At.ielt9||!this._map._fadeAnimated?k(this._pruneTiles,this):setTimeout(o(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new Z(this._wrapX?a(t.x,this._wrapX):t.x,this._wrapY?a(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new A(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var no=oo.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=d(this,e)).detectRetina&&At.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return Me(i,"load",o(this._tileOnLoad,this,e,i)),Me(i,"error",o(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var i={r:At.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var o=this._globalTileRange.max.y-t.y;this.options.tms&&(i.y=o),i["-y"]=o}return _(this._url,e(i,this.options))},_tileOnLoad:function(t,e){At.ielt9?setTimeout(o(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var o=this.options.errorTileUrl;o&&e.getAttribute("src")!==o&&(e.src=o),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return this.options.zoomReverse&&(t=e-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=h,e.onerror=h,!e.complete)){e.src=v;var i=this._tiles[t].coords;se(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",v),oo.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==v))return oo.prototype._tileReady.call(this,t,e,i)}});function so(t,e){return new no(t,e)}var ro=no.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,i){this._url=t;var o=e({},this.defaultWmsParams);for(var n in i)n in this.options||(o[n]=i[n]);var s=(i=d(this,i)).detectRetina&&At.retina?2:1,r=this.getTileSize();o.width=r.x*s,o.height=r.y*s,this.wmsParams=o},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,no.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,o=I(i.project(e[0]),i.project(e[1])),n=o.min,s=o.max,r=(this._wmsVersion>=1.3&&this._crs===Li?[n.y,n.x,s.y,s.x]:[n.x,n.y,s.x,s.y]).join(","),a=no.prototype.getTileUrl.call(this,t);return a+p(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,i){return e(this.wmsParams,t),i||this.redraw(),this}});no.WMS=ro,so.wms=function(t,e){return new ro(t,e)};var ao=Ti.extend({options:{padding:.1},initialize:function(t){d(this,t),s(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),ue(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 t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),o=this._map.getSize().multiplyBy(.5+this.options.padding),n=this._map.project(this._center,e),s=o.multiplyBy(-i).add(n).subtract(this._map._getNewPixelOrigin(t,e));At.any3d?fe(this._container,s,i):ge(this._container,s)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new A(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),ho=ao.extend({options:{tolerance:0},getEvents:function(){var t=ao.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){ao.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");Me(t,"mousemove",this._onMouseMove,this),Me(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Me(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){T(this._redrawRequest),delete this._ctx,se(this._container),Ce(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){ao.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),o=At.retina?2:1;ge(e,t.min),e.width=o*i.x,e.height=o*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",At.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){ao.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[s(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,o=e.prev;i?i.prev=o:this._drawLast=o,o?o.next=i:this._drawFirst=i,delete t._order,delete this._layers[s(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,o=t.options.dashArray.split(/[, ]+/),n=[];for(i=0;i<o.length;i++){if(e=Number(o[i]),isNaN(e))return;n.push(e)}t.options._dashArray=n}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||k(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new A,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var i=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,i.x,i.y),this._ctx.clip()}this._drawing=!0;for(var o=this._drawFirst;o;o=o.next)t=o.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,o,n,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(h.beginPath(),i=0;i<a;i++){for(o=0,n=r[i].length;o<n;o++)s=r[i][o],h[o?"lineTo":"moveTo"](s.x,s.y);e&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var e=t._point,i=this._ctx,o=Math.max(Math.round(t._radius),1),n=(Math.max(Math.round(t._radiusY),1)||o)/o;1!==n&&(i.save(),i.scale(1,n)),i.beginPath(),i.arc(e.x,e.y/n,o,0,2*Math.PI,!1),1!==n&&i.restore(),this._fillStroke(i,t)}},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||"evenodd")),i.stroke&&0!==i.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,o=this._map.mouseEventToLayerPoint(t),n=this._drawFirst;n;n=n.next)(e=n.layer).options.interactive&&e._containsPoint(o)&&("click"!==t.type&&"preclick"!==t.type||!this._map._draggableMoved(e))&&(i=e);this._fireEvent(!!i&&[i],t)},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(ce(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,e){if(!this._mouseHoverThrottled){for(var i,n,s=this._drawFirst;s;s=s.next)(i=s.layer).options.interactive&&i._containsPoint(e)&&(n=i);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(ue(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._fireEvent(!!this._hoveredLayer&&[this._hoveredLayer],t),this._mouseHoverThrottled=!0,setTimeout(o((function(){this._mouseHoverThrottled=!1}),this),32)}},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e=t._order;if(e){var i=e.next,o=e.prev;i&&(i.prev=o,o?o.next=i:i&&(this._drawFirst=i),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))}},_bringToBack:function(t){var e=t._order;if(e){var i=e.next,o=e.prev;o&&(o.next=i,i?i.prev=o:o&&(this._drawLast=o),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}});function lo(t){return At.canvas?new ho(t):null}var uo=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),co={_initContainer:function(){this._container=ne("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(ao.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=uo("shape");ue(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=uo("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[s(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;se(e),t.removeInteractiveTarget(e),delete this._layers[s(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,o=t.options,n=t._container;n.stroked=!!o.stroke,n.filled=!!o.fill,o.stroke?(e||(e=t._stroke=uo("stroke")),n.appendChild(e),e.weight=o.weight+"px",e.color=o.color,e.opacity=o.opacity,o.dashArray?e.dashStyle=f(o.dashArray)?o.dashArray.join(" "):o.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=o.lineCap.replace("butt","flat"),e.joinstyle=o.lineJoin):e&&(n.removeChild(e),t._stroke=null),o.fill?(i||(i=t._fill=uo("fill")),n.appendChild(i),i.color=o.fillColor||o.color,i.opacity=o.fillOpacity):i&&(n.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),o=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+o+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){ae(t._container)},_bringToBack:function(t){he(t._container)}},po=At.vml?uo:K,mo=ao.extend({_initContainer:function(){this._container=po("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=po("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),Ce(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){ao.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),ge(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=po("path");t.options.className&&ue(e,t.options.className),t.options.interactive&&ue(e,"leaflet-interactive"),this._updateStyle(t),this._layers[s(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){se(t._path),t.removeInteractiveTarget(t._path),delete this._layers[s(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,Y(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),o="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",n=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+o+2*i+",0 "+o+2*-i+",0 ";this._setPath(t,n)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){ae(t._path)},_bringToBack:function(t){he(t._path)}});function _o(t){return At.svg||At.vml?new mo(t):null}At.vml&&mo.include(co),Ge.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&lo(t)||_o(t)}});var fo=Bi.extend({initialize:function(t,e){Bi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=B(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});mo.create=po,mo.pointsToPath=Y,Ri.geometryToLayer=Ni,Ri.coordsToLatLng=Fi,Ri.coordsToLatLngs=Hi,Ri.latLngToCoords=Ui,Ri.latLngsToCoords=Wi,Ri.getFeature=qi,Ri.asFeature=Gi,Ge.mergeOptions({boxZoom:!0});var go=Qe.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){Me(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Ce(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),Jt(),be(),this._startPoint=this._map.mouseEventToContainerPoint(t),Me(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ne("div","leaflet-zoom-box",this._container),ue(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new A(this._point,this._startPoint),i=e.getSize();ge(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(se(this._box),ce(this._container,"leaflet-crosshair")),Kt(),we(),Ce(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(o(this._resetState,this),0);var e=new j(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Ge.addInitHook("addHandler","boxZoom",go),Ge.mergeOptions({doubleClickZoom:!0});var vo=Qe.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),o=e.options.zoomDelta,n=t.originalEvent.shiftKey?i-o:i+o;"center"===e.options.doubleClickZoom?e.setZoom(n):e.setZoomAround(t.containerPoint,n)}});Ge.addInitHook("addHandler","doubleClickZoom",vo),Ge.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var yo=Qe.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new ii(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}ue(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ce(this._map._container,"leaflet-grab"),ce(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 t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=B(this._map.options.maxBounds);this._offsetLimit=I(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,o=this._draggable._newPos.x,n=(o-e+i)%t+e-i,s=(o+e+i)%t-e-i,r=Math.abs(n+i)<Math.abs(s+i)?n:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var e=this._map,i=e.options,o=!i.inertia||t.noInertia||this._times.length<2;if(e.fire("dragend",t),o)e.fire("moveend");else{this._prunePositions(+new Date);var n=this._lastPos.subtract(this._positions[0]),s=(this._lastTime-this._times[0])/1e3,r=i.easeLinearity,a=n.multiplyBy(r/s),h=a.distanceTo([0,0]),l=Math.min(i.inertiaMaxSpeed,h),u=a.multiplyBy(l/h),c=l/(i.inertiaDeceleration*r),d=u.multiplyBy(-c/2).round();d.x||d.y?(d=e._limitOffset(d,e.options.maxBounds),k((function(){e.panBy(d,{duration:c,easeLinearity:r,noMoveStart:!0,animate:!0})}))):e.fire("moveend")}}});Ge.addInitHook("addHandler","dragging",yo),Ge.mergeOptions({keyboard:!0,keyboardPanDelta:80});var bo=Qe.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),Me(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Ce(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,i=t.scrollTop||e.scrollTop,o=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(o,i)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,i,o=this._panKeys={},n=this.keyCodes;for(e=0,i=n.left.length;e<i;e++)o[n.left[e]]=[-1*t,0];for(e=0,i=n.right.length;e<i;e++)o[n.right[e]]=[t,0];for(e=0,i=n.down.length;e<i;e++)o[n.down[e]]=[0,t];for(e=0,i=n.up.length;e<i;e++)o[n.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,i,o=this._zoomKeys={},n=this.keyCodes;for(e=0,i=n.zoomIn.length;e<i;e++)o[n.zoomIn[e]]=t;for(e=0,i=n.zoomOut.length;e<i;e++)o[n.zoomOut[e]]=-t},_addHooks:function(){Me(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Ce(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i=t.keyCode,o=this._map;if(i in this._panKeys){if(!o._panAnim||!o._panAnim._inProgress)if(e=this._panKeys[i],t.shiftKey&&(e=O(e).multiplyBy(3)),o.options.maxBounds&&(e=o._limitOffset(O(e),o.options.maxBounds)),o.options.worldCopyJump){var n=o.wrapLatLng(o.unproject(o.project(o.getCenter()).add(e)));o.panTo(n)}else o.panBy(e)}else if(i in this._zoomKeys)o.setZoom(o.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[i]);else{if(27!==i||!o._popup||!o._popup.options.closeOnEscapeKey)return;o.closePopup()}Re(t)}}});Ge.addInitHook("addHandler","keyboard",bo),Ge.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var wo=Qe.extend({addHooks:function(){Me(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Ce(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=He(t),i=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var n=Math.max(i-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(o(this._performZoom,this),n),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0;t._stop();var o=this._delta/(4*this._map.options.wheelPxPerZoomLevel),n=4*Math.log(2/(1+Math.exp(-Math.abs(o))))/Math.LN2,s=i?Math.ceil(n/i)*i:n,r=t._limitZoom(e+(this._delta>0?s:-s))-e;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});Ge.addInitHook("addHandler","scrollWheelZoom",wo);Ge.mergeOptions({tapHold:At.touchNative&&At.safari&&At.mobile,tapTolerance:15});var xo=Qe.extend({addHooks:function(){Me(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Ce(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),1===t.touches.length){var e=t.touches[0];this._startPos=this._newPos=new Z(e.clientX,e.clientY),this._holdTimeout=setTimeout(o((function(){this._cancel(),this._isTapValid()&&(Me(document,"touchend",Be),Me(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))}),this),600),Me(document,"touchend touchcancel contextmenu",this._cancel,this),Me(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){Ce(document,"touchend",Be),Ce(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),Ce(document,"touchend touchcancel contextmenu",this._cancel,this),Ce(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new Z(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});Ge.addInitHook("addHandler","tapHold",xo),Ge.mergeOptions({touchZoom:At.touch,bounceAtZoomLimits:!0});var Po=Qe.extend({addHooks:function(){ue(this._map._container,"leaflet-touch-zoom"),Me(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ce(this._map._container,"leaflet-touch-zoom"),Ce(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),o=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(o)._divideBy(2))),this._startDist=i.distanceTo(o),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),Me(document,"touchmove",this._onTouchMove,this),Me(document,"touchend touchcancel",this._onTouchEnd,this),Be(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),s=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(s,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&s<1||this._zoom>e.getMaxZoom()&&s>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),T(this._animRequest);var a=o(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=k(a,this,!0),Be(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,T(this._animRequest),Ce(document,"touchmove",this._onTouchMove,this),Ce(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))):this._zooming=!1}});Ge.addInitHook("addHandler","touchZoom",Po),Ge.BoxZoom=go,Ge.DoubleClickZoom=vo,Ge.Drag=yo,Ge.Keyboard=bo,Ge.ScrollWheelZoom=wo,Ge.TapHold=xo,Ge.TouchZoom=Po,t.Bounds=A,t.Browser=At,t.CRS=F,t.Canvas=ho,t.Circle=Ii,t.CircleMarker=Ai,t.Class=z,t.Control=Ve,t.DivIcon=io,t.DivOverlay=Qi,t.DomEvent=We,t.DomUtil=Te,t.Draggable=ii,t.Evented=S,t.FeatureGroup=zi,t.GeoJSON=Ri,t.GridLayer=oo,t.Handler=Qe,t.Icon=Ci,t.ImageOverlay=Yi,t.LatLng=R,t.LatLngBounds=j,t.Layer=Ti,t.LayerGroup=Mi,t.LineUtil=yi,t.Map=Ge,t.Marker=Ei,t.Mixin=ti,t.Path=Oi,t.Point=Z,t.PolyUtil=ai,t.Polygon=Bi,t.Polyline=ji,t.Popup=to,t.PosAnimation=qe,t.Projection=xi,t.Rectangle=fo,t.Renderer=ao,t.SVG=mo,t.SVGOverlay=$i,t.TileLayer=no,t.Tooltip=eo,t.Transformation=q,t.Util=M,t.VideoOverlay=Xi,t.bind=o,t.bounds=I,t.canvas=lo,t.circle=function(t,e,i){return new Ii(t,e,i)},t.circleMarker=function(t,e){return new Ai(t,e)},t.control=Je,t.divIcon=function(t){return new io(t)},t.extend=e,t.featureGroup=function(t,e){return new zi(t,e)},t.geoJSON=Ji,t.geoJson=Ki,t.gridLayer=function(t){return new oo(t)},t.icon=function(t){return new Ci(t)},t.imageOverlay=function(t,e,i){return new Yi(t,e,i)},t.latLng=N,t.latLngBounds=B,t.layerGroup=function(t,e){return new Mi(t,e)},t.map=function(t,e){return new Ge(t,e)},t.marker=function(t,e){return new Ei(t,e)},t.point=O,t.polygon=function(t,e){return new Bi(t,e)},t.polyline=function(t,e){return new ji(t,e)},t.popup=function(t,e){return new to(t,e)},t.rectangle=function(t,e){return new fo(t,e)},t.setOptions=d,t.stamp=s,t.svg=_o,t.svgOverlay=function(t,e,i){return new $i(t,e,i)},t.tileLayer=so,t.tooltip=function(t,e){return new eo(t,e)},t.transformation=G,t.version="1.9.4",t.videoOverlay=function(t,e,i){return new Xi(t,e,i)};var Lo=window.L;t.noConflict=function(){return window.L=Lo,this},window.L=t}(e)},576:function(t,e,i){var o;!function(n,s){"use strict";var r="function",a="undefined",h="object",l="string",u="major",c="model",d="name",p="type",m="vendor",_="version",f="architecture",g="console",v="mobile",y="tablet",b="smarttv",w="wearable",x="embedded",P="Amazon",L="Apple",k="ASUS",T="BlackBerry",M="Browser",z="Chrome",C="Firefox",S="Google",Z="Huawei",E="LG",O="Microsoft",A="Motorola",I="Opera",j="Samsung",B="Sharp",R="Sony",N="Xiaomi",D="Zebra",F="Facebook",H="Chromium OS",U="Mac OS",W=" Browser",q=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].toUpperCase()]=t[i];return e},G=function(t,e){return typeof t===l&&-1!==V(e).indexOf(V(t))},V=function(t){return t.toLowerCase()},J=function(t,e){if(typeof t===l)return t=t.replace(/^\s\s*/,""),typeof e===a?t:t.substring(0,500)},K=function(t,e){for(var i,o,n,a,l,u,c=0;c<e.length&&!l;){var d=e[c],p=e[c+1];for(i=o=0;i<d.length&&!l&&d[i];)if(l=d[i++].exec(t))for(n=0;n<p.length;n++)u=l[++o],typeof(a=p[n])===h&&a.length>0?2===a.length?typeof a[1]==r?this[a[0]]=a[1].call(this,u):this[a[0]]=a[1]:3===a.length?typeof a[1]!==r||a[1].exec&&a[1].test?this[a[0]]=u?u.replace(a[1],a[2]):s:this[a[0]]=u?a[1].call(this,u,a[2]):s:4===a.length&&(this[a[0]]=u?a[3].call(this,u.replace(a[1],a[2])):s):this[a]=u||s;c+=2}},Y=function(t,e){for(var i in e)if(typeof e[i]===h&&e[i].length>0){for(var o=0;o<e[i].length;o++)if(G(e[i][o],t))return"?"===i?s:i}else if(G(e[i],t))return"?"===i?s:i;return e.hasOwnProperty("*")?e["*"]:t},X={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},$={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[_,[d,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[_,[d,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[d,_],[/opios[\/ ]+([\w\.]+)/i],[_,[d,I+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[_,[d,I+" GX"]],[/\bopr\/([\w\.]+)/i],[_,[d,I]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[_,[d,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[_,[d,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[d,_],[/quark(?:pc)?\/([-\w\.]+)/i],[_,[d,"Quark"]],[/\bddg\/([\w\.]+)/i],[_,[d,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[_,[d,"UC"+M]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[_,[d,"WeChat"]],[/konqueror\/([\w\.]+)/i],[_,[d,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[_,[d,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[_,[d,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[_,[d,"Smart Lenovo "+M]],[/(avast|avg)\/([\w\.]+)/i],[[d,/(.+)/,"$1 Secure "+M],_],[/\bfocus\/([\w\.]+)/i],[_,[d,C+" Focus"]],[/\bopt\/([\w\.]+)/i],[_,[d,I+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[_,[d,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[_,[d,"Dolphin"]],[/coast\/([\w\.]+)/i],[_,[d,I+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[_,[d,"MIUI"+W]],[/fxios\/([\w\.-]+)/i],[_,[d,C]],[/\bqihoobrowser\/?([\w\.]*)/i],[_,[d,"360"]],[/\b(qq)\/([\w\.]+)/i],[[d,/(.+)/,"$1Browser"],_],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[d,/(.+)/,"$1"+W],_],[/samsungbrowser\/([\w\.]+)/i],[_,[d,j+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[_,[d,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[d,"Sogou Mobile"],_],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[d,_],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[d],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[_,d],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[d,F],_],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[d,_],[/\bgsa\/([\w\.]+) .*safari\//i],[_,[d,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[_,[d,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[_,[d,z+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[d,z+" WebView"],_],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[_,[d,"Android "+M]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[d,_],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[_,[d,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[_,d],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[d,[_,Y,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[d,_],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[d,"Netscape"],_],[/(wolvic|librewolf)\/([\w\.]+)/i],[d,_],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[_,[d,C+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[d,[_,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[d,[_,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,V]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",V]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,V]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[m,j],[p,y]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[c,[m,j],[p,v]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[c,[m,L],[p,v]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[c,[m,L],[p,y]],[/(macintosh);/i],[c,[m,L]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[c,[m,B],[p,v]],[/(?:honor)([-\w ]+)[;\)]/i],[c,[m,"Honor"],[p,v]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[c,[m,Z],[p,y]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[c,[m,Z],[p,v]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i],[[c,/_/g," "],[m,N],[p,v]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[c,/_/g," "],[m,N],[p,y]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[c,[m,"OPPO"],[p,v]],[/\b(opd2\d{3}a?) bui/i],[c,[m,"OPPO"],[p,y]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[c,[m,"Vivo"],[p,v]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[c,[m,"Realme"],[p,v]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[c,[m,A],[p,v]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[c,[m,A],[p,y]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[m,E],[p,y]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[c,[m,E],[p,v]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[c,[m,"Lenovo"],[p,y]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[c,/_/g," "],[m,"Nokia"],[p,v]],[/(pixel c)\b/i],[c,[m,S],[p,y]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[c,[m,S],[p,v]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[c,[m,R],[p,v]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[c,"Xperia Tablet"],[m,R],[p,y]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[c,[m,"OnePlus"],[p,v]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[c,[m,P],[p,y]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[c,/(.+)/g,"Fire Phone $1"],[m,P],[p,v]],[/(playbook);[-\w\),; ]+(rim)/i],[c,m,[p,y]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[c,[m,T],[p,v]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[c,[m,k],[p,y]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[c,[m,k],[p,v]],[/(nexus 9)/i],[c,[m,"HTC"],[p,y]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[m,[c,/_/g," "],[p,v]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[c,[m,"TCL"],[p,y]],[/(itel) ((\w+))/i],[[m,V],c,[p,Y,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[c,[m,"Acer"],[p,y]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[c,[m,"Meizu"],[p,v]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[c,[m,"Ulefone"],[p,v]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[c,[m,"Energizer"],[p,v]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[c,[m,"Cat"],[p,v]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[c,[m,"Smartfren"],[p,v]],[/droid.+; (a(?:015|06[35]|142p?))/i],[c,[m,"Nothing"],[p,v]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (imo) ((?!tab)[\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[m,c,[p,v]],[/(imo) (tab \w+)/i,/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[m,c,[p,y]],[/(surface duo)/i],[c,[m,O],[p,y]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[c,[m,"Fairphone"],[p,v]],[/(u304aa)/i],[c,[m,"AT&T"],[p,v]],[/\bsie-(\w*)/i],[c,[m,"Siemens"],[p,v]],[/\b(rct\w+) b/i],[c,[m,"RCA"],[p,y]],[/\b(venue[\d ]{2,7}) b/i],[c,[m,"Dell"],[p,y]],[/\b(q(?:mv|ta)\w+) b/i],[c,[m,"Verizon"],[p,y]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[c,[m,"Barnes & Noble"],[p,y]],[/\b(tm\d{3}\w+) b/i],[c,[m,"NuVision"],[p,y]],[/\b(k88) b/i],[c,[m,"ZTE"],[p,y]],[/\b(nx\d{3}j) b/i],[c,[m,"ZTE"],[p,v]],[/\b(gen\d{3}) b.+49h/i],[c,[m,"Swiss"],[p,v]],[/\b(zur\d{3}) b/i],[c,[m,"Swiss"],[p,y]],[/\b((zeki)?tb.*\b) b/i],[c,[m,"Zeki"],[p,y]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[m,"Dragon Touch"],c,[p,y]],[/\b(ns-?\w{0,9}) b/i],[c,[m,"Insignia"],[p,y]],[/\b((nxa|next)-?\w{0,9}) b/i],[c,[m,"NextBook"],[p,y]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[m,"Voice"],c,[p,v]],[/\b(lvtel\-)?(v1[12]) b/i],[[m,"LvTel"],c,[p,v]],[/\b(ph-1) /i],[c,[m,"Essential"],[p,v]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[c,[m,"Envizen"],[p,y]],[/\b(trio[-\w\. ]+) b/i],[c,[m,"MachSpeed"],[p,y]],[/\btu_(1491) b/i],[c,[m,"Rotor"],[p,y]],[/(shield[\w ]+) b/i],[c,[m,"Nvidia"],[p,y]],[/(sprint) (\w+)/i],[m,c,[p,v]],[/(kin\.[onetw]{3})/i],[[c,/\./g," "],[m,O],[p,v]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[c,[m,D],[p,y]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[c,[m,D],[p,v]],[/smart-tv.+(samsung)/i],[m,[p,b]],[/hbbtv.+maple;(\d+)/i],[[c,/^/,"SmartTV"],[m,j],[p,b]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[m,E],[p,b]],[/(apple) ?tv/i],[m,[c,L+" TV"],[p,b]],[/crkey/i],[[c,z+"cast"],[m,S],[p,b]],[/droid.+aft(\w+)( bui|\))/i],[c,[m,P],[p,b]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[c,[m,B],[p,b]],[/(bravia[\w ]+)( bui|\))/i],[c,[m,R],[p,b]],[/(mitv-\w{5}) bui/i],[c,[m,N],[p,b]],[/Hbbtv.*(technisat) (.*);/i],[m,c,[p,b]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[m,J],[c,J],[p,b]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[p,b]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[m,c,[p,g]],[/droid.+; (shield) bui/i],[c,[m,"Nvidia"],[p,g]],[/(playstation [345portablevi]+)/i],[c,[m,R],[p,g]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[c,[m,O],[p,g]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[c,[m,j],[p,w]],[/((pebble))app/i],[m,c,[p,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[c,[m,L],[p,w]],[/droid.+; (glass) \d/i],[c,[m,S],[p,w]],[/droid.+; (wt63?0{2,3})\)/i],[c,[m,D],[p,w]],[/droid.+; (glass) \d/i],[c,[m,S],[p,w]],[/(pico) (4|neo3(?: link|pro)?)/i],[m,c,[p,w]],[/; (quest( \d| pro)?)/i],[c,[m,F],[p,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[m,[p,x]],[/(aeobc)\b/i],[c,[m,P],[p,x]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[c,[p,v]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[c,[p,y]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[p,y]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[p,v]],[/(android[-\w\. ]{0,9});.+buil/i],[c,[m,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[_,[d,"EdgeHTML"]],[/(arkweb)\/([\w\.]+)/i],[d,_],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[_,[d,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[d,_],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[_,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,_],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[d,[_,Y,X]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[_,Y,X],[d,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[_,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[d,U],[_,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[_,d],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish|openharmony)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[d,_],[/\(bb(10);/i],[_,[d,T]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[_,[d,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[_,[d,C+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[_,[d,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[_,[d,"watchOS"]],[/crkey\/([\d\.]+)/i],[_,[d,z+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[d,H],_],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[d,_],[/(sunos) ?([\w\.\d]*)/i],[[d,"Solaris"],_],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[d,_]]},Q=function(t,e){if(typeof t===h&&(e=t,t=s),!(this instanceof Q))return new Q(t,e).getResult();var i=typeof n!==a&&n.navigator?n.navigator:s,o=t||(i&&i.userAgent?i.userAgent:""),g=i&&i.userAgentData?i.userAgentData:s,b=e?function(t,e){var i={};for(var o in t)e[o]&&e[o].length%2==0?i[o]=e[o].concat(t[o]):i[o]=t[o];return i}($,e):$,w=i&&i.userAgent==o;return this.getBrowser=function(){var t,e={};return e[d]=s,e[_]=s,K.call(e,o,b.browser),e[u]=typeof(t=e[_])===l?t.replace(/[^\d\.]/g,"").split(".")[0]:s,w&&i&&i.brave&&typeof i.brave.isBrave==r&&(e[d]="Brave"),e},this.getCPU=function(){var t={};return t[f]=s,K.call(t,o,b.cpu),t},this.getDevice=function(){var t={};return t[m]=s,t[c]=s,t[p]=s,K.call(t,o,b.device),w&&!t[p]&&g&&g.mobile&&(t[p]=v),w&&"Macintosh"==t[c]&&i&&typeof i.standalone!==a&&i.maxTouchPoints&&i.maxTouchPoints>2&&(t[c]="iPad",t[p]=y),t},this.getEngine=function(){var t={};return t[d]=s,t[_]=s,K.call(t,o,b.engine),t},this.getOS=function(){var t={};return t[d]=s,t[_]=s,K.call(t,o,b.os),w&&!t[d]&&g&&g.platform&&"Unknown"!=g.platform&&(t[d]=g.platform.replace(/chrome os/i,H).replace(/macos/i,U)),t},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return o},this.setUA=function(t){return o=typeof t===l&&t.length>500?J(t,500):t,this},this.setUA(o),this};Q.VERSION="1.0.40",Q.BROWSER=q([d,_,u]),Q.CPU=q([f]),Q.DEVICE=q([c,m,p,g,v,b,y,w,x]),Q.ENGINE=Q.OS=q([d,_]),typeof e!==a?(t.exports&&(e=t.exports=Q),e.UAParser=Q):i.amdO?(o=function(){return Q}.call(e,i,e,t))===s||(t.exports=o):typeof n!==a&&(n.UAParser=Q);var tt=typeof n!==a&&(n.jQuery||n.Zepto);if(tt&&!tt.ua){var et=new Q;tt.ua=et.getResult(),tt.ua.get=function(){return et.getUA()},tt.ua.set=function(t){et.setUA(t);var e=et.getResult();for(var i in e)tt.ua[i]=e[i]}}}("object"==typeof window?window:this)},609:t=>{"use strict";t.exports=window.React},840:()=>{wp.domReady((()=>{ootbGlobal?.options?.geodata||wp.blocks.unregisterBlockVariation("ootb/openstreetmap","custom-fields")}))}},e={};function i(o){var n=e[o];if(void 0!==n)return n.exports;var s=e[o]={exports:{}};return t[o].call(s.exports,s,s.exports,i),s.exports}i.amdO={},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var o in e)i.o(e,o)&&!i.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";const t=window.wp.plugins,e=window.wp.editPost,o=window.wp.i18n,n=window.wp.data;var s=i(609);const r=window.wp.compose;var a=i(481),h=i.n(a);function l(t,e){return Object.freeze({...t,...e})}const u=(0,s.createContext)(null),c=u.Provider;function d(){const t=(0,s.useContext)(u);if(null==t)throw new Error("No context provided: useLeafletContext() can only be used in a descendant of <MapContainer>");return t}function p(){return p=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t},p.apply(this,arguments)}function m({bounds:t,boundsOptions:e,center:i,children:o,className:n,id:r,placeholder:h,style:l,whenReady:u,zoom:d,...m},_){const[f]=(0,s.useState)({className:n,id:r,style:l}),[g,v]=(0,s.useState)(null);(0,s.useImperativeHandle)(_,(()=>g?.map??null),[g]);const y=(0,s.useCallback)((o=>{if(null!==o&&null===g){const n=new a.Map(o,m);null!=i&&null!=d?n.setView(i,d):null!=t&&n.fitBounds(t,e),null!=u&&n.whenReady(u),v(function(t){return Object.freeze({__version:1,map:t})}(n))}}),[]);(0,s.useEffect)((()=>()=>{g?.map.remove()}),[g]);const b=g?s.createElement(c,{value:g},o):h??null;return s.createElement("div",p({},f,{ref:y}),b)}const _=(0,s.forwardRef)(m),f=window.ReactDOM;function g(t){function e(e,i){const{instance:o,context:n}=t(e).current;return(0,s.useImperativeHandle)(i,(()=>o)),null==e.children?null:s.createElement(c,{value:n},e.children)}return(0,s.forwardRef)(e)}function v(t,e,i){return Object.freeze({instance:t,context:e,container:i})}function y(t,e){return null==e?function(e,i){const o=(0,s.useRef)();return o.current||(o.current=t(e,i)),o}:function(i,o){const n=(0,s.useRef)();n.current||(n.current=t(i,o));const r=(0,s.useRef)(i),{instance:a}=n.current;return(0,s.useEffect)((function(){r.current!==i&&(e(a,i,r.current),r.current=i)}),[a,i,o]),n}}function b(t,e){const i=(0,s.useRef)(e);(0,s.useEffect)((function(){e!==i.current&&null!=t.attributionControl&&(null!=i.current&&t.attributionControl.removeAttribution(i.current),null!=e&&t.attributionControl.addAttribution(e)),i.current=e}),[t,e])}function w(t,e){const i=(0,s.useRef)();(0,s.useEffect)((function(){return null!=e&&t.instance.on(e),i.current=e,function(){null!=i.current&&t.instance.off(i.current),i.current=null}}),[t,e])}function x(t,e){const i=t.pane??e.pane;return i?{...t,pane:i}:t}function P(t,e){(0,s.useEffect)((function(){return(e.layerContainer??e.map).addLayer(t.instance),function(){e.layerContainer?.removeLayer(t.instance),e.map.removeLayer(t.instance)}}),[e,t])}function L(t){return function(e){const i=d(),o=t(x(e,i),i);return b(i.map,e.attribution),w(o.current,e.eventHandlers),P(o.current,i),o}}function k(t,e){return g((i=y(t,e),function(t){const e=d(),o=i(x(t,e),e);return w(o.current,t.eventHandlers),P(o.current,e),function(t,e){const i=(0,s.useRef)();(0,s.useEffect)((function(){if(e.pathOptions!==i.current){const o=e.pathOptions??{};t.instance.setStyle(o),i.current=o}}),[t,e])}(o.current,t),o}));var i}const T=function(t){function e(e,i){const{instance:o}=t(e).current;return(0,s.useImperativeHandle)(i,(()=>o)),null}return(0,s.forwardRef)(e)}(L(y((function({url:t,...e},i){return v(new a.TileLayer(t,x(e,i)),i)}),(function(t,e,i){!function(t,e,i){const{opacity:o,zIndex:n}=e;null!=o&&o!==i.opacity&&t.setOpacity(o),null!=n&&n!==i.zIndex&&t.setZIndex(n)}(t,e,i);const{url:o}=e;null!=o&&o!==i.url&&t.setUrl(o)})))),M=g(L(y((function({position:t,...e},i){const o=new a.Marker(t,e);return v(o,l(i,{overlayContainer:o}))}),(function(t,e,i){e.position!==i.position&&t.setLatLng(e.position),null!=e.icon&&e.icon!==i.icon&&t.setIcon(e.icon),null!=e.zIndexOffset&&e.zIndexOffset!==i.zIndexOffset&&t.setZIndexOffset(e.zIndexOffset),null!=e.opacity&&e.opacity!==i.opacity&&t.setOpacity(e.opacity),null!=t.dragging&&e.draggable!==i.draggable&&(!0===e.draggable?t.dragging.enable():t.dragging.disable())})))),z=window.wp.components;function C(t,e=0){return"https://nominatim.openstreetmap.org/search?q="+t+(e>0?"&limit="+e:"")+"&format=json"}function S({searchCount:t,setSearchCount:e,searchResults:i},o){let n,s,r,a;if(void 0!==i&&0<i.length){e(t+1);const h=o.target.getAttribute("data-index"),{lat:l,lon:u,display_name:c}=i[h];n=null!=l?l:"",s=null!=u?u:"",r=c?`<p>${c}</p>`:"",a=null!=c?c:""}else{var h,l;n=null!==(h=o.latlng.lat)&&void 0!==h?h:"",s=null!==(l=o.latlng.lng)&&void 0!==l?l:"",r="",a=""}if(n&&s)return{lat:n.toString(),lng:s.toString(),text:r,textRaw:a,id:Date.now()}}const Z=window.ReactJSXRuntime;function E(t){const{setMarker:e,setAddress:i,setLatitude:o,setLongitude:n,setMapUpdate:r,setKeywords:a,searchResults:h,setSearchResults:l}=t,[u,c]=(0,s.useState)(0),d=t=>{var s,d,p;const m=S({searchCount:u,setSearchCount:c,searchResults:h},t);a(""),l([]),e(m),o(null!==(s=m?.lat)&&void 0!==s?s:""),n(null!==(d=m.lng)&&void 0!==d?d:""),i(null!==(p=m?.textRaw)&&void 0!==p?p:""),r(!0)};return h&&h.length?(0,Z.jsx)("div",{className:"ootb-openstreetmap--search-results",children:h.map(((t,e)=>{const{display_name:i}=t;return(0,Z.jsx)(z.Button,{autoFocus:0===e,onClick:d,"data-index":e,children:i},e)}))}):null}function O(t){const[e,i]=(0,s.useState)(""),[n,r]=(0,s.useState)([]),[a,h]=(0,s.useState)(null),l=()=>{e&&e.length>2&&fetch(C(e)).then((t=>{if(200===t.status)return t.json()})).then((t=>{r(t)}))};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"ootb-openstreetmap--searchbox",children:[(0,Z.jsx)(z.TextControl,{value:e,onChange:t=>{i(t)},onKeyDown:t=>{a||h(t),"Enter"===t.key&&l()},placeholder:(0,o.__)("Enter keywords...","ootb-openstreetmap")}),(0,Z.jsx)(z.Button,{onClick:()=>{n&&n.length?a&&(a.target.focus(),r([]),i("")):l()},icon:e&&n&&n.length>0?"no":"search",showTooltip:!0,label:n&&n.length>0?(0,o.__)("Clear results","ootb-openstreetmap"):(0,o.__)("Find locations","ootb-openstreetmap"),disabled:!(e&&e.length>2)})]}),(0,Z.jsx)(E,{...t,setKeywords:i,searchResults:n,setSearchResults:r})]})}function A(){return d().map}function I(t){const e=A();return(0,s.useEffect)((function(){return e.on(t),function(){e.off(t)}}),[e,t]),e}var j=i(159);function B(t){const{draggingProps:{isDraggingMarker:e,setIsDraggingMarker:i,addingMarker:o,setAddingMarker:n},setMarker:s,setMapUpdate:r,setLatitude:a,setLongitude:h,setAddress:l}=t;let u;return I({mouseup:t=>{if(clearTimeout(u),o){var e,c,d;r(!1);const o=S({},t);s(o),n(""),a(null!==(e=o?.lat)&&void 0!==e?e:""),h(null!==(c=o.lng)&&void 0!==c?c:""),l(null!==(d=o?.textRaw)&&void 0!==d?d:""),setTimeout((()=>i(!1)),600)}},mousedown:t=>{"div"===t.originalEvent.target.nodeName.toLowerCase()&&i(!1),e||(j.Fr&&!j.nr?n("pinning"):u=setTimeout((()=>{n("pinning"),setTimeout((()=>n("")),900)}),300))},drag:()=>{clearTimeout(u),n(""),r(!1),i(!1)},mouseout:()=>{i(!1)}}),null}function R(t){const{mapUpdate:e,markerPosition:i}=t;if(e){const t=A();t.fitBounds([i]),t.setZoom(6)}return null}function N(){const{pluginDirUrl:t}=ootbGlobal;return t+"assets/vendor/leaflet/images/marker-icon.png"}function D(t){const e=t.map((t=>t[0])),i=t.map((t=>t[1])),o=(Math.min(...e)+Math.max(...e))/2,n=(Math.min(...i)+Math.max(...i))/2;return o&&!isNaN(o)&&n&&!isNaN(n)?[o,n]:null}function F(t){const{marker:e,addingMarker:i,setAddingMarker:o}=t,n=D(ootbGlobal.defaultLocation),r=e?.lat?parseFloat(e.lat):null,a=e?.lng?parseFloat(e.lng):null,l=r&&a?[r,a]:null,[u,c]=(0,s.useState)(!1),d={isDraggingMarker:u,setIsDraggingMarker:c,addingMarker:i,setAddingMarker:o},p=h().icon({iconUrl:N(),iconAnchor:[12,41]});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(O,{...t}),(0,Z.jsxs)(_,{center:n,zoom:6,scrollWheelZoom:!1,style:{height:"250px"},children:[(0,Z.jsx)(B,{...t,draggingProps:d}),(0,Z.jsx)(T,{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),l&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M,{position:l,icon:p}),(0,Z.jsx)(R,{...t,markerPosition:l})]})]})]})}function H(t){const{latitude:e,longitude:i,address:n,setAddress:s,setMapUpdate:r}=t;if(e&&0!==e&&i&&0!==i)return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("table",{children:(0,Z.jsxs)("tbody",{children:[(0,Z.jsxs)("tr",{children:[(0,Z.jsx)("td",{children:(0,Z.jsxs)("strong",{children:[(0,o.__)("Latitude:","ootb-openstreetmap")," "]})}),(0,Z.jsx)("td",{children:(0,Z.jsx)("code",{children:e})})]}),(0,Z.jsxs)("tr",{children:[(0,Z.jsx)("td",{children:(0,Z.jsxs)("strong",{children:[(0,o.__)("Longitude:","ootb-openstreetmap")," "]})}),(0,Z.jsx)("td",{children:(0,Z.jsx)("code",{children:i})})]})]})}),(0,Z.jsx)("br",{}),(0,Z.jsx)(z.TextareaControl,{label:(0,o.__)("Address","ootb-openstreetmap"),value:n,onChange:t=>{s(t),r(!1)},placeholder:(0,o.__)("Enter address","ootb-openstreetmap")})]})}const U=(0,r.compose)([(0,n.withSelect)((t=>{const{getEditedPostAttribute:e}=t("core/editor"),i=e("meta");return{meta:i,geoAddress:i.geo_address,geoLatitude:i.geo_latitude,geoLongitude:i.geo_longitude}})),(0,n.withDispatch)(((t,{meta:e})=>{const{editPost:i}=t("core/editor");return{setMetaValues:t=>{i({meta:{...e,...t}})}}}))])((function({geoAddress:t,geoLatitude:e,geoLongitude:i,setMetaValues:o}){const[n,r]=(0,s.useState)({lat:e,lng:i}),[a,h]=(0,s.useState)(e),[l,u]=(0,s.useState)(i),[c,d]=(0,s.useState)(t),[p,m]=(0,s.useState)(!1),[_,f]=(0,s.useState)(""),g={marker:n,setMarker:r,latitude:a,setLatitude:h,longitude:l,setLongitude:u,address:c,setAddress:d,mapUpdate:p,setMapUpdate:m,addingMarker:_,setAddingMarker:f};return(0,s.useEffect)((()=>{m(!0)}),[]),(0,s.useEffect)((()=>{o({geo_address:c,geo_latitude:a,geo_longitude:l})}),[a,l,c]),(0,Z.jsxs)("div",{className:`ootb-openstreetmap--custom-fields-container ${_}`,children:[(0,Z.jsx)(F,{...g}),(0,Z.jsx)(H,{...g})]})})),W=()=>(0,Z.jsx)(e.PluginDocumentSettingPanel,{name:"ootb-custom-fields",title:(0,o.__)("Location","ootb-openstreetmap"),className:"ootb-custom-fields",children:(0,Z.jsx)(U,{})});let q=(0,n.subscribe)((function(){(function(t=null){const e=ootbGlobal?.options?.geo_post_types?Object.keys(ootbGlobal.options.geo_post_types):[];return null===t||!ootbGlobal?.options?.geodata||!e.includes(t)})((0,n.select)("core/editor").getCurrentPostType())||((0,t.registerPlugin)("ootb-custom-fields",{render:W}),q())}));const G=window.wp.blocks,V=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"ootb/openstreetmap","version":"2.4.1","title":"OpenStreetMap by Out of the Block","category":"common","icon":"location-alt","description":"A map block for the Gutenberg Editor using OpenStreetMaps and Leaflet that needs no API keys and works out of the box.","supports":{"html":false,"align":["wide","full"]},"usesContext":["postId","postType"],"keywords":["Map block","Open Street Maps","Contact","Locations"],"attributes":{"mapHeight":{"type":"integer","default":400},"markers":{"type":"array","default":[]},"zoom":{"type":"integer","default":8},"minZoom":{"type":"integer","default":2},"maxZoom":{"type":"integer","default":18},"dragging":{"type":"boolean","default":true},"touchZoom":{"type":"boolean","default":true},"doubleClickZoom":{"type":"boolean","default":true},"scrollWheelZoom":{"type":"boolean","default":true},"defaultIcon":{"type":"object","default":null},"keywords":{"type":"string","default":""},"showDefaultBounds":{"type":"boolean","default":true},"bounds":{"type":"array","default":[[37.97155174977503,23.72656345367432]]},"provider":{"type":"string","default":"openstreetmap"},"mapboxStyleUrl":{"type":"string","default":""},"mapType":{"type":"string","default":"marker"},"showMarkers":{"type":"boolean","default":true},"shapeColor":{"type":"string","default":"#008EFF"},"shapeWeight":{"type":"integer","default":3},"shapeText":{"type":"string","default":""},"isDraggingMarker":{"type":"boolean","default":false},"openAImode":{"type":"string","default":""},"queryArgs":{"type":"object","default":{"post_type":"post"}},"serverSideRender":{"type":"boolean","default":false},"showMapData":{"type":"boolean","default":true},"showSearchBox":{"type":"boolean","default":true},"queryCustomFields":{"type":"boolean","default":false}},"variations":[{"name":"custom-fields","title":"OpenStreetMap from custom fields","icon":"location","attributes":{"queryCustomFields":true,"showMapData":false,"showSearchBox":false,"serverSideRender":true}}],"textdomain":"ootb-openstreetmap","editorScript":"file:../index.js","style":"file:../index.css","script":["leaflet","leaflet-gesture-handling"],"viewScript":["file:./view.js","ootb-openstreetmap"],"viewStyle":["file:./view.css","ootb-openstreetmap"]}'),J=window.wp.blockEditor,K=window.wp.element;function Y(t,e){const{attributes:{markers:i,defaultIcon:o}}=t,{pluginDirUrl:n}=ootbGlobal,s=()=>void 0!==e&&i[e]?.icon?i[e].icon:null!=o?o:null,r=s()?Math.round(s().width/2):12,a=s()?Math.round(s().height):41;return{iconUrl:s()?s().url:N(),iconAnchor:[r,a],popupAnchor:[0,-Math.abs(a)]}}function X(t,e,i){const{attributes:{defaultIcon:o}}=t;return!(void 0!==i||!o)||!(void 0===i||!e)&&![o?.icon,N()].includes(e)}function $({props:t,index:e}){const{attributes:{markers:i},setAttributes:n}=t,s=void 0!==e,r=t=>{if(s){let o=[...i];o[e].icon=t,n({markers:o})}else n({defaultIcon:t})},a=Y(t,e);return(0,Z.jsx)(J.MediaUploadCheck,{children:(0,Z.jsxs)("div",{className:"ootb-openstreetmap--icon",children:[s?null:(0,Z.jsx)("img",{src:a.iconUrl,alt:(0,o.__)("Map Marker","ootb-openstreetmap")}),(0,Z.jsxs)("div",{className:"gmp-openstreetmap--buttons",children:[(0,Z.jsx)(J.MediaUpload,{onSelect:t=>{r(t)},allowedTypes:["image"],value:a,render:({open:t})=>(0,Z.jsx)(z.Button,{onClick:t,icon:"format-gallery",label:(0,o.__)("Change the Marker icon","ootb-openstreetmap"),isSecondary:!s,children:s?null:(0,o.__)("Change","ootb-openstreetmap")})}),X(t,a?.iconUrl,e)?(0,Z.jsx)(z.Button,{onClick:()=>{r(null)},icon:"image-rotate",label:(0,o.__)("Restore the Marker icon","ootb-openstreetmap"),isSecondary:!s,children:s?null:(0,o.__)("Restore","ootb-openstreetmap")}):null]})]})})}function Q({props:t}){const{attributes:{provider:e,mapboxStyleUrl:i},setAttributes:n}=t,{adminUrl:s,options:{api_mapbox:r,global_mapbox_style_url:a}}=ootbGlobal,h=[{label:(0,o.__)("OpenStreetMap","ootb-openstreetmap"),value:"openstreetmap"},{label:(0,o.__)("Mapbox","ootb-openstreetmap"),value:"mapbox"},{label:(0,o.__)("Stamen","ootb-openstreetmap"),value:"stamen"}];let l="";"mapbox"!==e||r?e&&"openstreetmap"!==e||(l=(0,Z.jsx)("span",{children:(0,K.createInterpolateElement)((0,o.__)("Heavy usage of OSM tiles is forbidden, and you might want to switch to a different tile provider. Read more on the <a>plugin settings</a>.","ootb-openstreetmap"),{a:(0,Z.jsx)("a",{href:s})})})):l=(0,Z.jsx)("span",{children:(0,K.createInterpolateElement)((0,o.__)("Make sure that you provided a valid API key on the <a>plugin settings</a>.","ootb-openstreetmap"),{a:(0,Z.jsx)("a",{href:s})})});const u="mapbox"===e?(0,Z.jsx)(z.TextControl,{label:(0,o.__)("Mapbox Style URL","ootb-openstreetmap"),value:i,onChange:t=>{n({mapboxStyleUrl:t})},help:(0,Z.jsx)("span",{children:a?(0,K.createInterpolateElement)((0,o.__)("You can override the style URL set in the <a>plugin settings</a>.","ootb-openstreetmap"),{mapbox_url:(0,Z.jsx)("a",{href:"https://studio.mapbox.com/"}),code:(0,Z.jsx)("code",{}),a:(0,Z.jsx)("a",{href:s})}):(0,K.createInterpolateElement)((0,o.__)('You can find the style URL on <mapbox_url>Mapbox Studio</mapbox_url>. There, use the "Share" button, and under "Developer resources", copy the "Style URL". It should look like that: <code>mapbox://styles/username/style-id</code>. For the styles to work, you need to have a Mapbox API key set in the <a>plugin settings</a>.',"ootb-openstreetmap"),{mapbox_url:(0,Z.jsx)("a",{href:"https://studio.mapbox.com/"}),code:(0,Z.jsx)("code",{}),a:(0,Z.jsx)("a",{href:s})})})}):null;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(z.SelectControl,{label:(0,o.__)("Tile Layer Provider","ootb-openstreetmap"),value:e,options:h,onChange:t=>{n({provider:t})},help:l}),u]})}function tt({props:t}){const{attributes:{mapType:e,showMarkers:i,shapeColor:n,shapeWeight:s},setAttributes:r}=t,a=[{label:(0,o.__)("Markers","ootb-openstreetmap"),value:"marker"},{label:(0,o.__)("Polygon","ootb-openstreetmap"),value:"polygon"},{label:(0,o.__)("Polyline","ootb-openstreetmap"),value:"polyline"}];return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.SelectControl,{label:(0,o.__)("Map type","ootb-openstreetmap"),value:e,options:a,onChange:t=>{r({mapType:t})},help:(0,o.__)("How the map should display its locations.","ootb-openstreetmap")}),"marker"!==e?(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.ToggleControl,{label:(0,o.__)("Show Markers","ootb-openstreetmap"),checked:!!i,onChange:()=>r({showMarkers:!i}),help:i?(0,o.__)("Show the markers on the frontend.","ootb-openstreetmap"):(0,o.__)("Hide the markers on the frontend (does not affect the Backend).","ootb-openstreetmap")}),(0,Z.jsx)(z.RangeControl,{label:(0,o.__)("Line weight","ootb-openstreetmap"),value:s,onChange:t=>{r({shapeWeight:t})},min:1,max:100}),(0,Z.jsx)(z.BaseControl,{label:(0,o.__)("Shape color","ootb-openstreetmap"),children:(0,Z.jsx)(z.ColorPicker,{color:n,onChange:t=>{r({shapeColor:t})},enableAlpha:!1,defaultValue:null})})]}):null]})}function et({props:t}){const{attributes:{mapHeight:e,zoom:i},setAttributes:n}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(Q,{props:t}),(0,Z.jsx)(tt,{props:t}),(0,Z.jsx)(z.RangeControl,{label:(0,o.__)("Height (pixels)","ootb-openstreetmap"),value:e,onChange:t=>{n({mapHeight:t})},min:50,max:1e3}),(0,Z.jsx)(z.RangeControl,{label:(0,o.__)("Zoom","ootb-openstreetmap"),value:i,onChange:t=>{n({zoom:t,shouldUpdateZoom:!0})},min:0,max:18}),(0,Z.jsx)($,{props:t})]})}function it({props:t}){const{attributes:{minZoom:e,maxZoom:i,dragging:n,touchZoom:s,doubleClickZoom:r,scrollWheelZoom:a},setAttributes:h}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.ToggleControl,{label:(0,o.__)("Map dragging","ootb-openstreetmap"),checked:!!n,onChange:()=>h({dragging:!n}),help:n?(0,o._x)("Enabled.","Map dragging setting","ootb-openstreetmap"):(0,o._x)("Disabled.","Map dragging setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,o.__)("Touch zoom","ootb-openstreetmap"),checked:!!s,onChange:()=>h({touchZoom:!s}),help:s?(0,o._x)("Enabled.","Touch zoom setting","ootb-openstreetmap"):(0,o._x)("Disabled.","Touch zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,o.__)("Double-click zoom","ootb-openstreetmap"),checked:!!r,onChange:()=>h({doubleClickZoom:!r}),help:r?(0,o._x)("Enabled.","Double-click zoom setting","ootb-openstreetmap"):(0,o._x)("Disabled.","Double-click zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,o.__)("Scroll Wheel zoom","ootb-openstreetmap"),checked:!!a,onChange:()=>h({scrollWheelZoom:!a}),help:a?(0,o._x)("Enabled.","Scroll Wheel zoom setting","ootb-openstreetmap"):(0,o._x)("Disabled.","Scroll Wheel zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.RangeControl,{label:(0,o.__)("Minimum Zoom","ootb-openstreetmap"),value:e,onChange:t=>{h({minZoom:t,maxZoom:i<=e?e+1:i})},min:0,max:18}),(0,Z.jsx)(z.RangeControl,{label:(0,o.__)("Maximum Zoom","ootb-openstreetmap"),value:i,onChange:t=>{h({maxZoom:t,minZoom:e>=i?i-1:e})},min:0,max:18,help:(0,o.__)("Tip: setting the same minimum and maximum zoom practically locks zoom at that level.","ootb-openstreetmap")})]})}function ot(t="",e=""){return!(!t||!e)&&function(t){return isFinite(t)&&Math.abs(t)<=90}(parseFloat(t))&&function(t){return isFinite(t)&&Math.abs(t)<=180}(parseFloat(e))}function nt(t){try{const i=JSON.parse(t.toString());if(i&&"object"==typeof i){let t=[];for(const o of i){var e;if(!o.lat||!o.lng)continue;if(!ot(o.lat,o.lng))continue;o.id=null!==(e=o.id)&&void 0!==e?e:Date.now();const{lat:i,lng:n,text:s,id:r}=o;t.push({lat:i,lng:n,text:s,id:r})}return t}}catch(t){return!1}return!1}const{withSelect:st}=wp.data,rt=st((t=>({postId:t("core/editor").getCurrentPostId()})))((function({props:t,postId:e,variant:i}){const{attributes:{serverSideRender:n},setAttributes:s}=t,r=n?"controls-repeat":"admin-post",a=n?(0,o.__)("Stop syncing","ootb-openstreetmap"):(0,o.__)("Fetch locations","ootb-openstreetmap");return(0,Z.jsx)(z.Button,{icon:r,iconPosition:"left",variant:i,onClick:()=>{n?((t,e)=>{const{attributes:{queryArgs:i},setAttributes:o}=t,n=new URLSearchParams({action:"ootb_get_markers",post_id:e,query_args:JSON.stringify(i),nonce:ootbGlobal.nonce});fetch(ootbGlobal.ajaxUrl,{method:"POST",body:n}).then((t=>{if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return t.json()})).then((t=>{const e=nt(t?.data);e&&o({markers:e,shouldUpdateBounds:!0,serverSideRender:!1})})).catch((t=>{console.error("Fetch Error:",t)}))})(t,e):s({markers:[],serverSideRender:!0,bounds:[[37.97155174977503,23.72656345367432]]})},children:a})}));function at({props:t}){var e;const{attributes:{queryArgs:i,serverSideRender:n,showMapData:s,queryCustomFields:r},setAttributes:a}=t,h=n?"secondary":"primary";let l=(0,o.__)("Get from existing entries","ootb-openstreetmap"),u=(0,o.__)("Fetch locations from existing posts or post types containing at least one map block.","ootb-openstreetmap");r?(l=(0,o.__)("Gets posts with locations","ootb-openstreetmap"),u=(0,o.__)("Markers are automatically fetched from existing posts or post types with locations assigned to them.","ootb-openstreetmap")):n&&(l=(0,o.__)("Gets posts containing the block","ootb-openstreetmap"),u=(0,o.__)('Markers are automatically fetched from existing posts or post types containing at least one map block. By hitting "Stop syncing" the block will stop automatic updating with new markers, and you will be able to manually edit it.',"ootb-openstreetmap"));const c=r?function(){const t=ootbGlobal?.postTypes,e=ootbGlobal?.options?.geo_post_types?Object.keys(ootbGlobal.options.geo_post_types):[];return t.filter((t=>e.includes(t.value)))}():ootbGlobal?.postTypes;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(z.BaseControl,{label:l,help:u,children:(0,Z.jsxs)("div",{children:[(!n||r)&&c.length>1&&(0,Z.jsx)(Z.Fragment,{children:(0,Z.jsx)(z.SelectControl,{label:(0,o.__)("Post type","ootb-openstreetmap"),value:null!==(e=i.post_type)&&void 0!==e?e:"post",options:c,onChange:t=>{a({queryArgs:{...i,post_type:t}})}})}),s&&(0,Z.jsx)(rt,{props:t,variant:h})]})}),s&&(0,Z.jsx)("hr",{})]})}function ht({props:t}){const{attributes:{markers:e},clientId:i}=t,n=e&&0<e.length,s=new Blob([JSON.stringify(e)],{type:"application/json"});return(0,Z.jsx)(z.BaseControl,{label:(0,o.__)("Export","ootb-openstreetmap"),help:(0,o.__)("Download a JSON file with the locations of this map.","ootb-openstreetmap"),children:(0,Z.jsx)("div",{children:(0,Z.jsx)(z.Button,{icon:"download",iconPosition:"left",variant:n?"primary":"secondary",href:window.URL.createObjectURL(s),target:"_blank",download:"ootb_"+i,disabled:!n,showTooltip:!0,text:(0,o.__)("Export locations","ootb-openstreetmap")})})})}function lt({props:t}){const{attributes:{markers:e},setAttributes:i}=t,n=e&&0<e.length;return(0,Z.jsx)(z.BaseControl,{label:(0,o.__)("Import from file","ootb-openstreetmap"),help:(0,o.__)("Import locations from a previously exported JSON file.","ootb-openstreetmap"),children:(0,Z.jsx)(z.FormFileUpload,{icon:"database-add",iconPosition:"left",variant:"primary",isDestructive:n,label:n?(0,o.__)("This map already includes locations. Uploading new locations will merge them with the existing ones.","ootb-openstreetmap"):null,text:(0,o.__)("Import locations","ootb-openstreetmap"),accept:"application/json",onChange:t=>{(t=>{const n=t.currentTarget.files[0];if(!n||0===n.length)return;const s=new FileReader;s.readAsText(n,"UTF-8"),s.onload=function(t){const o=nt(t.target.result);o&&i({markers:e.concat(o),shouldUpdateBounds:!0})},s.onerror=function(t){console.log((0,o.__)("Error reading file","ootb-openstreetmap"))}})(t)}})})}function ut({props:t}){const{attributes:{showMapData:e}}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(at,{props:t}),e&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ht,{props:t}),(0,Z.jsx)(lt,{props:t})]})]})}function ct({props:t}){const{attributes:{queryCustomFields:e}}=t;return(0,Z.jsxs)(J.InspectorControls,{children:[(0,Z.jsx)(z.PanelBody,{title:(0,o.__)("Main settings","ootb-openstreetmap"),initialOpen:!0,children:(0,Z.jsx)(et,{props:t})}),(0,Z.jsx)(z.PanelBody,{title:(0,o.__)("Map behavior","ootb-openstreetmap"),initialOpen:!1,children:(0,Z.jsx)(it,{props:t})}),(0,Z.jsx)(z.PanelBody,{title:(0,o.__)("Map data","ootb-openstreetmap"),initialOpen:!!e,children:(0,Z.jsx)(ut,{props:t})})]})}function dt(t,e=null){e&&t&&e.fitBounds(t,{padding:[50,50]})}function pt(t,e=[],i=null){const{attributes:{markers:o,zoom:n},setAttributes:s}=t;let r=[];if(e&&void 0!==e.lat&&r.push([e.lat,e.lng]),Object.entries(o).forEach((([t,e])=>{e&&r.push([e.lat,e.lng])})),r.length&&(s({bounds:r}),dt(r,i)),i){const t=i.getZoom();n!==t&&s({zoom:t})}}function mt({props:t}){const{attributes:{markers:e,searchResults:i,mapObj:o,inputRef:n},setAttributes:r}=t,[a,h]=(0,s.useState)(0),l=s=>{const l=S({searchCount:a,setSearchCount:h,searchResults:i},s);r({markers:[...e,l],keywords:"",searchResults:[]}),pt(t,l,o),n&&n.target.focus()};return i&&i.length?(0,Z.jsx)("div",{className:"ootb-openstreetmap--search-results",children:i.map(((t,e)=>{const{display_name:i}=t;return(0,Z.jsx)(z.Button,{autoFocus:0===e,onClick:l,"data-index":e,children:i},e)}))}):null}async function _t(t){const{attributes:{markers:e,keywords:i,mapObj:o,openAImode:n},setAttributes:s}=t;if(!i)return;if(!n)return;let r=[...e];return s({openAImode:"connecting"}),wp.apiFetch({path:"/ootb-openstreetmap/v1/openai/",method:"POST",data:{prompt:i}}).then((t=>{let e=[];try{const i=t?.choices[0]?.message?.content;i&&"invalid_question"!==i?(e=JSON.parse(i),s({openAImode:"success"})):(s({openAImode:"invalid_question"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3))}catch(t){s({openAImode:"error"}),console.error("Error parsing AI response")}let i=e?.map(((t,e)=>new Promise((i=>setTimeout((()=>{(t=>{t&&t.length>2&&fetch(C(t,1)).then((t=>{if(!t.ok)throw new Error(`Network response was not ok, status: ${t.status}`);return t.json()})).then((t=>{(t=>{var e,i;const n={lat:null!==(e=t?.lat.toString())&&void 0!==e?e:"",lng:null!==(i=t?.lon.toString())&&void 0!==i?i:"",text:t?.display_name?`<p>${t.display_name}</p>`:"",id:Date.now()};r.push(n);let a=[];r.length>0&&(r.forEach((t=>{t&&a.push([t.lat,t.lng])})),s({bounds:a,markers:r,openAImode:"working"}),dt(a,o))})(t[0])})).catch((t=>{s({openAImode:"error"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3),console.error("There has been a problem with the fetch operation:",JSON.stringify(t))}))})(t),i()}),1e3*(e+1))))));Promise.all(i).then((()=>{setTimeout((()=>{s({openAImode:"",keywords:""})}),1e3)}))})).catch((t=>{s({openAImode:"error"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3),console.error("Error fetching AI response: "+JSON.stringify(t))}))}function ft({props:t}){const{attributes:{keywords:e,inputRef:i,searchResults:n,openAImode:s},setAttributes:r}=t,a=()=>{e&&e.length>2&&fetch(C(e)).then((t=>{if(200===t.status)return t.json()})).then((t=>{r({searchResults:t})}))};let h="ootb-openstreetmap--searchbox";return s.length&&(h+=" openai-active"),(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsxs)("div",{className:h,children:[(0,Z.jsx)(z.TextControl,{value:e,onChange:t=>{r({keywords:t,openAImode:/\bplease\b/i.test(t)?"started":""})},onKeyDown:e=>{i||r({inputRef:e}),"Enter"===e.key&&(_t(t).then((()=>null)),a())},placeholder:(0,o.__)("Enter your keywords...","ootb-openstreetmap")}),(0,Z.jsx)(z.Button,{onClick:()=>{_t(t).then((()=>null)),n&&n.length?i&&(i.target.focus(),r({searchResults:[],keywords:""})):a()},icon:n&&n.length>0?"no":s.length?"format-status":"search",showTooltip:!0,label:n&&n.length>0?(0,o.__)("Clear results","ootb-openstreetmap"):(0,o.__)("Find locations","ootb-openstreetmap"),disabled:!(e&&e.length>2)})]}),(0,Z.jsx)(mt,{props:t})]})}function gt(t){const{attributes:{bounds:e,showDefaultBounds:i,markers:o}}=t;return!0===i?D(ootbGlobal.defaultLocation):D(e)||[o[0]?.lat,o[0]?.lng]}function vt(t,e){if(!t||!e||"string"!=typeof t||"string"!=typeof e||!t.startsWith("mapbox://"))return"";const i=t.split("/"),o=i[3],n=i[4];return o&&n&&"string"==typeof o&&"string"==typeof n?`https://api.mapbox.com/styles/v1/${o}/${n}/tiles/{z}/{x}/{y}?access_token=${e}`:""}function yt({props:t}){const{attributes:{provider:e,mapboxStyleUrl:i}}=t,{options:{api_mapbox:o,global_mapbox_style_url:n},providers:{openstreetmap:s,mapbox:r,stamen:a}}=ootbGlobal;let h=s.url,l=s.attribution;"mapbox"===e&&o&&(h=i||n?vt(i.length?i:n,o):r.url+o,l=r.attribution),"stamen"===e&&(h=a.url,l=a.attribution);const u=(0,K.useRef)(null);return(0,K.useEffect)((()=>{u.current.setUrl(h)}),[h]),(0,Z.jsx)(T,{ref:u,url:h,attribution:l})}const bt=function(){const t=function(t,e){return function(i,o){const n=d(),s=t(x(i,n),n);return b(n.map,i.attribution),w(s.current,i.eventHandlers),e(s.current,n,i,o),s}}(y((function(t,e){return v(new a.Popup(t,e.overlayContainer),e)})),(function(t,e,{position:i},o){(0,s.useEffect)((function(){const{instance:n}=t;function s(t){t.popup===n&&(n.update(),o(!0))}function r(t){t.popup===n&&o(!1)}return e.map.on({popupopen:s,popupclose:r}),null==e.overlayContainer?(null!=i&&n.setLatLng(i),n.openOn(e.map)):e.overlayContainer.bindPopup(n),function(){e.map.off({popupopen:s,popupclose:r}),e.overlayContainer?.unbindPopup(),e.map.removeLayer(n)}}),[t,e,o,i])}));return function(t){function e(e,i){const[o,n]=(0,s.useState)(!1),{instance:r}=t(e,n).current;(0,s.useImperativeHandle)(i,(()=>r)),(0,s.useEffect)((function(){o&&r.update()}),[r,o,e.children]);const a=r._contentNode;return a?(0,f.createPortal)(e.children,a):null}return(0,s.forwardRef)(e)}(t)}();function wt({setAddingMarker:t,props:e}){const{attributes:{mapObj:i,markers:n,isDraggingMarker:s},setAttributes:r}=e,a=t=>{const o=t.target;let s;if(o.hasAttribute("dataIndex"))s=o.getAttribute("dataIndex");else{const t=o.parentElement;t&&"button"===t.tagName.toLowerCase()&&(s=t.getAttribute("dataIndex"))}let a=[...n];a.splice(s,1),r({isDraggingMarker:!1,markers:a,shouldUpdateBounds:!0}),pt(e,[],i.leafletElement)};let l=null;const u=t=>h().icon(Y(e,t));return void 0!==n&&n.length?n.map(((h,c)=>(0,Z.jsx)(M,{markerId:h.id,position:[h.lat,h.lng],icon:u(c),draggable:!0,eventHandlers:{mousedown:e=>{l=new Date,t("")},mouseup:t=>{(t=>{if(!0!==s){const e=new Date;l&&0!=!!(e-l)||t.target.openPopup()}})(t)},mouseover:t=>{n&&r({isDraggingMarker:!0})},dragstart:t=>{r({isDraggingMarker:!0})},dragend:t=>{(t=>{const o=t.target.getLatLng(),s=function(t,e){const i=t.target.options.markerId;let o=null;for(let t in e)i===e[t].id&&(o=t);return o}(t,n),a=[...n];a[s]&&(a[s].lat=o.lat.toString(),a[s].lng=o.lng.toString(),r({markers:a,shouldUpdateBounds:!0}),pt(e,[],i.leafletElement)),r({isDraggingMarker:!1})})(t)}},children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:h.text,onChange:t=>{let e=[...n];e[c].text=t,r({markers:e})},placeholder:(0,o.__)("Write something","ootb-openstreetmap")}),(0,Z.jsxs)("div",{className:"ootb-openstreetmap--marker-icon-container",children:[(0,Z.jsx)($,{props:e,index:c}),(0,Z.jsx)(z.Button,{onClick:a,dataindex:c,icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,label:(0,o.__)("Remove this marker","ootb-openstreetmap")})]})]})},c))):null}const xt=k((function({positions:t,...e},i){const o=new a.Polygon(t,e);return v(o,l(i,{overlayContainer:o}))}),(function(t,e,i){e.positions!==i.positions&&t.setLatLngs(e.positions)}));function Pt({props:t,styles:e}){const{attributes:{markers:i,shapeText:n},setAttributes:s}=t;return(0,Z.jsx)(xt,{positions:i,pathOptions:e,children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:n,onChange:t=>{s({shapeText:t})},placeholder:(0,o.__)("Write something","ootb-openstreetmap")}),(0,Z.jsx)("div",{className:"ootb-openstreetmap--marker-icon-container ootb-openstreetmap--marker-remove ootb-openstreetmap--shape-controls",children:(0,Z.jsx)(z.Button,{onClick:()=>{s({isDraggingMarker:!1,markers:[],shapeText:"",zoom:8,shouldUpdateZoom:!0})},icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,isSecondary:!0,label:(0,o.__)("Remove this shape","ootb-openstreetmap")})})]})})}const Lt=k((function({positions:t,...e},i){const o=new a.Polyline(t,e);return v(o,l(i,{overlayContainer:o}))}),(function(t,e,i){e.positions!==i.positions&&t.setLatLngs(e.positions)}));function kt({props:t,styles:e}){const{attributes:{markers:i,shapeText:n},setAttributes:s}=t;return(0,Z.jsx)(Lt,{positions:i,pathOptions:e,children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:n,onChange:t=>{s({shapeText:t})},placeholder:(0,o.__)("Write something","ootb-openstreetmap")}),(0,Z.jsx)("div",{className:"ootb-openstreetmap--marker-icon-container ootb-openstreetmap--marker-remove ootb-openstreetmap--shape-controls",children:(0,Z.jsx)(z.Button,{onClick:()=>{s({isDraggingMarker:!1,markers:[],shapeText:"",zoom:8,shouldUpdateZoom:!0})},icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,isSecondary:!0,label:(0,o.__)("Remove this shape","ootb-openstreetmap")})})]})})}function Tt({props:t}){const{attributes:{mapType:e,markers:i,shapeColor:o,shapeWeight:n,isDraggingMarker:s}}=t,r={fillColor:o,color:o,weight:n};return"polygon"===e&&!0!==s&&i.length?(0,Z.jsx)(Pt,{props:t,styles:r}):"polyline"===e&&!0!==s&&i.length?(0,Z.jsx)(kt,{props:t,styles:r}):null}function Mt({addingMarker:t,setAddingMarker:e,props:i}){const{attributes:{mapObj:o,markers:n,zoom:r,showDefaultBounds:a,shouldUpdateZoom:h,shouldUpdateBounds:l,isDraggingMarker:u,searchResults:c},setAttributes:d}=i,[p,m]=(0,s.useState)(0),_=(0,K.useRef)(!0);let f;const g=I({mouseup:o=>{(o=>{if(clearTimeout(f),t){const t=S({searchCount:p,setSearchCount:m,searchResults:c},o);d({markers:[...n,t]}),e(""),pt(i,t,o.target),setTimeout((function(){d({isDraggingMarker:!1})}),600)}})(o)},mousedown:t=>{(t=>{"div"===t.originalEvent.target.nodeName.toLowerCase()&&d({isDraggingMarker:!1}),!1===u&&(j.Fr&&!j.nr?e(" pinning"):f=setTimeout((function(){e(" pinning"),setTimeout((function(){e("")}),900)}),300))})(t)},drag:t=>{clearTimeout(f),e(""),d({isDraggingMarker:!1})},mouseout:t=>{d({isDraggingMarker:!1})},zoomanim:t=>{(t=>{d({zoom:t.zoom})})(t)},popupclose:()=>{d({isDraggingMarker:!1})}});return(0,K.useEffect)((()=>{_.current?_.current=!1:void 0===g||void 0!==o&&o.length&&o===g||d({mapObj:g})}),[n]),(0,K.useEffect)((()=>{!0===a&&d({bounds:ootbGlobal.defaultLocation,showDefaultBounds:!1}),!0===l&&(pt(i,[],g),d({shouldUpdateBounds:!1})),!0===h&&r!==g.getZoom()&&(g.setZoom(r),d({shouldUpdateZoom:!1}))}),[]),null}function zt({props:t}){const{attributes:{mapHeight:e}}=t,i=A().getContainer();return parseInt(i.style.height)!==e&&(i.style.height=`${e}px`),null}function Ct({inBlockEditor:t,addingMarker:e,setAddingMarker:i,...o}){const{attributes:{zoom:n,bounds:s,mapHeight:r,mapType:a}}=o;return(0,Z.jsxs)(_,{center:gt(o),zoom:n,dragging:t,bounds:s,style:{height:r+"px"},children:[(0,Z.jsx)(Mt,{props:o,addingMarker:e,setAddingMarker:i}),(0,Z.jsx)(zt,{props:o}),(0,Z.jsx)(yt,{props:o}),(0,Z.jsx)(wt,{props:o,setAddingMarker:i}),"marker"!==a?(0,Z.jsx)(Tt,{props:o}):null]})}function St({addingMarker:t,...e}){const{attributes:{openAImode:i}}=e;let n="",s="ootb-openstreetmap--alert";return" pinning"===t?n=(0,o.__)("Release to drop a marker here","ootb-openstreetmap"):i.length&&("started"===i?n=(0,o.__)("You have entered OpenAI mode. When you finish your prompt, please hit enter or click on the bubble icon.","ootb-openstreetmap"):"connecting"===i?n=(0,o.__)("Connecting to OpenAI...","ootb-openstreetmap"):"success"===i?n=(0,o.__)("Preparing the data. Please be patient...","ootb-openstreetmap"):"working"===i?(n=(0,o.sprintf)((0,o.__)('Creating the markers. It will take a while, because we don\'t want to violate the <a href="%s">Nominatim usage policy</a>.',"ootb-openstreetmap"),"https://operations.osmfoundation.org/policies/nominatim/"),s+=" alert-active"):"invalid_question"===i?(n=(0,o.__)("I don't understand your question. Please try again.","ootb-openstreetmap"),s+=" alert-error"):"error"===i&&(n=(0,o.__)("Something went wrong. Sorry...","ootb-openstreetmap"),s+=" alert-error")),n?(0,Z.jsx)("div",{className:s,dangerouslySetInnerHTML:{__html:n}}):null}function Zt(t){const{attributes:{bounds:e,markers:i}}=t;return D(e)||[i[0].lat,i[0].lng]}function Et(t){const{attributes:{defaultIcon:e}}=t,{pluginDirUrl:i}=ootbGlobal,o=i+"assets/vendor/leaflet/images/marker-icon.png",n=e?e.width/2:12;return{iconUrl:e?e.url:o,iconAnchor:[n,0]}}const Ot=[{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]},provider:{type:"string",default:"openstreetmap"}},supports:{className:!1,align:["wide","full"]},save(t,e){const{attributes:{mapHeight:i,markers:o,zoom:n,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u,provider:c}}=t;return o?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":c,"data-markers":encodeURIComponent(JSON.stringify(o)),"data-bounds":JSON.stringify(gt(t)),"data-zoom":n,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":encodeURIComponent(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]},provider:{type:"string",default:"openstreetmap"}},supports:{className:!1,align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:o,zoom:n,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u,provider:c}}=t;return o?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":c,"data-markers":escape(JSON.stringify(o)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":n,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]}},supports:{align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:o,zoom:n,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u}}=t;return o?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-markers":escape(JSON.stringify(o)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":n,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]}},supports:{align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:o,zoom:n,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u}}=t;return o?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-markers":escape(JSON.stringify(o)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":n,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Et(t))),style:{height:i+"px"}})}):null}}];(0,G.registerBlockType)(V,{edit:function(t){const{attributes:{queryArgs:e,serverSideRender:i,showSearchBox:n,queryCustomFields:r},context:{postType:a,postId:h}}=t,l=!(!a||!h),[u,c]=(0,s.useState)(""),d=(0,J.useBlockProps)({className:u||""}),p=()=>{let t="";if(ootbGlobal&&ootbGlobal.postTypes){const i=ootbGlobal.postTypes.find((t=>t.value===e?.post_type));i&&(t=i.label)}return t};return(0,Z.jsxs)("div",{...d,children:[(0,Z.jsx)(ct,{props:t}),i&&!r&&(0,Z.jsxs)("div",{className:"ootb-server-side-rendered",children:[(0,Z.jsx)("span",{children:(0,o.__)("Updates automatically from the latest "+p(),"ootb-openstreetmap")}),(0,Z.jsx)("div",{children:(0,Z.jsx)(rt,{props:t,variant:"primary"})})]}),i&&r&&(0,Z.jsx)("div",{className:"ootb-server-side-rendered ootb-custom-fields",children:(0,Z.jsx)("span",{children:(0,o.__)("Retrieves "+p()+" with locations","ootb-openstreetmap")})}),n&&(0,Z.jsx)(ft,{props:t}),(0,Z.jsx)(Ct,{...t,inBlockEditor:l,addingMarker:u,setAddingMarker:c}),(0,Z.jsx)(St,{...t,addingMarker:u})]})},save:function(t,e){var i;const{attributes:{mapHeight:o,markers:n,zoom:s,minZoom:r,maxZoom:a,dragging:h,touchZoom:l,doubleClickZoom:u,scrollWheelZoom:c,provider:d,mapType:p,showMarkers:m,shapeColor:_,shapeWeight:f,shapeText:g,mapboxStyleUrl:v}}=t,y={fillColor:_,color:_,weight:f},b=null!==(i=ootbGlobal?.options?.api_mapbox)&&void 0!==i?i:null,w=v&&b?vt(v,b):"";return n?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":d,"data-maptype":p,"data-showmarkers":m,"data-shapestyle":encodeURIComponent(JSON.stringify(y)),"data-shapetext":g,"data-markers":encodeURIComponent(JSON.stringify(n)),"data-bounds":JSON.stringify(gt(t)),"data-zoom":s,"data-minzoom":r,"data-maxzoom":a,"data-dragging":h,"data-touchzoom":l,"data-doubleclickzoom":u,"data-scrollwheelzoom":c,"data-marker":encodeURIComponent(JSON.stringify(Y(t))),"data-mapboxstyle":w?encodeURIComponent(JSON.stringify(w)):null,style:{height:o+"px"}})}):null},deprecated:Ot}),i(840)})()})();
  • ootb-openstreetmap/tags/2.8.6/includes/classes/OpenAI.php

    r3208055 r3248944  
    1111
    1212class OpenAI {
    13     public string $url = 'https://api.openai.com/v1/chat/completions';
    1413    public string $context = "You are an application that helps users to find locations on a map. The user enters a question in the search box and you need to find the answer to it. You only reply with the location's name, the city and the country that it belongs to. If the answer is a city, then you only reply with the city and the country. If the answer is a country, then you only reply with the country's name. If the answer has multiple locations, then you should include all locations to your answer. Your replies should be in an array. For example, if the question is `Which are the two biggest cities of Greece?`, the answer should be [\"Athens, Greece\", \"Thessaloniki, Greece\"]. If the question is `What is the capital of Greece?`, the answer should be [\"Athens, Greece\"]. If the question is `Eiffel Tower', the answer should be '[\"Eiffel Tower, Paris, France\"]'. If the question cannot be answered by a list of locations, then you should reply with a message `invalid_question`.";
    1514
     
    1817    }
    1918
    20     public function openai_rest_endpoint() {
     19
     20    /**
     21     * Provides default values for AI API configuration fields.
     22     *
     23     * @param string $field Optional. Specifies a particular configuration field to retrieve. Defaults to an empty string.
     24     *
     25     * @return array|string Returns an array of default configuration values if no specific field is requested.
     26     *                      Returns a string containing the value of the requested field if it exists.
     27     */
     28    public static function ai_api_defaults( string $field = '' ): array|string {
     29        $defaults = [
     30            'url'   => 'https://api.openai.com/v1/chat/completions',
     31            'model' => 'gpt-3.5-turbo',
     32        ];
     33        if ( empty( $field ) || ! isset ( $defaults[ $field ] ) ) {
     34            return $defaults;
     35        }
     36
     37        return $defaults[ $field ];
     38    }
     39
     40    /**
     41     * Registers a REST API endpoint for the OpenAI integration.
     42     *
     43     * @return void
     44     */
     45    public function openai_rest_endpoint(): void {
    2146        register_rest_route( 'ootb-openstreetmap/v1', '/openai/', [
    2247            'methods'             => 'POST',
     
    2853    }
    2954
    30     public function openai_callback( \WP_REST_Request $request ) {
     55    /**
     56     * Sends a request to the OpenAI API and returns the API response or an error.
     57     *
     58     * @param \WP_REST_Request $request The REST request object containing parameters from the client.
     59     *
     60     * @return \WP_Error|\WP_REST_Response Returns a WP_Error if the API request fails or a WP_REST_Response object if the request is successful.
     61     */
     62    public function openai_callback( \WP_REST_Request $request ): \WP_Error|\WP_REST_Response {
    3163        $parameters = $request->get_json_params();
    3264        $api_key    = Helper::get_option( 'api_openai' );
    33 
    34         $headers  = [
     65        $api_url    = ! empty( Helper::get_option( 'api_ai_provider' ) ) ? Helper::get_option( 'api_ai_provider' ) : self::ai_api_defaults( 'url' );
     66        $api_model  = ! empty( Helper::get_option( 'api_ai_model' ) ) ? Helper::get_option( 'api_ai_model' ) : self::ai_api_defaults( 'model' );
     67        $headers    = [
    3568            'Authorization' => 'Bearer ' . $api_key,
    3669            'Content-Type'  => 'application/json'
    3770        ];
    38         $body     = [
    39             'model'    => 'gpt-3.5-turbo',
     71        $body       = [
     72            'model'    => $api_model,
    4073            'messages' => [
    4174                [
     
    4679            ]
    4780        ];
    48         $response = wp_safe_remote_post( $this->url, [
     81        $response   = wp_safe_remote_post( $api_url, [
    4982            'method'  => 'POST',
    5083            'headers' => $headers,
     
    5487
    5588        if ( is_wp_error( $response ) ) {
    56             return new \WP_Error( 'openai_error', __( 'An error occurred while making the OpenAI API request.', 'ootb-openstreetmap' ) );
     89            return new \WP_Error(
     90                'openai_error',
     91                sprintf(
     92                    /* translators: %1$s is the error message */
     93                    __( 'An error occurred while making the OpenAI API request: %1$s', 'ootb-openstreetmap' ),
     94                    $response->get_error_message()
     95                ),
     96            );
    5797        } else {
    5898            return rest_ensure_response( json_decode( wp_remote_retrieve_body( $response ), true ) );
  • ootb-openstreetmap/tags/2.8.6/includes/classes/Options.php

    r3208055 r3248944  
    4545     * @return void
    4646     */
    47     function settings_fields() {
    48         register_setting( 'ootb',
     47    function settings_fields(): void {
     48        register_setting(
     49            'ootb',
    4950            'ootb_options',
    5051            [
    51                 'sanitize_callback' => [ $this, 'options_validate' ],
    52             ] );
     52                'type'              => 'array',
     53                'sanitize_callback' => [ $this, 'sanitize_options' ],
     54                'default'           => []
     55            ]
     56        );
    5357
    5458        add_settings_section(
     
    165169                'label'            => sprintf(
    166170                    /* translators: %1$s is the URL to the WordPress documentation about Geodata */
    167                         __( 'Enable a location custom field, to store a post\'s or post type\'s location. The data are stored following the <a href="%1$s" target="_blank">official guidelines</a>.', 'ootb-openstreetmap' ),
     171                    __( 'Enable a location custom field, to store a post\'s or post type\'s location. The data are stored following the <a href="%1$s" target="_blank">official guidelines</a>.', 'ootb-openstreetmap' ),
    168172                    esc_url( 'https://codex.wordpress.org/Geodata' )
    169173                ),
     
    193197
    194198        add_settings_field(
     199            'api_ai_provider',
     200            esc_html__( 'AI Provider', 'ootb-openstreetmap' ),
     201            [ $this, 'field_api_ai_text' ],
     202            'ootb',
     203            'ootb_section_openai',
     204            [
     205                'label_for'        => 'api_ai_provider',
     206                'class'            => 'ootb_row',
     207                'ootb_custom_data' => 'custom',
     208                'default'          => OpenAI::ai_api_defaults( 'url' ),
     209                'description'      => __( 'Set the API endpoint URL for your preferred provider. Defaults to the OpenAI provider.', 'ootb-openstreetmap' )
     210            ]
     211        );
     212
     213        add_settings_field(
     214            'api_ai_model',
     215            esc_html__( 'AI Model', 'ootb-openstreetmap' ),
     216            [ $this, 'field_api_ai_text' ],
     217            'ootb',
     218            'ootb_section_openai',
     219            [
     220                'label_for'        => 'api_ai_model',
     221                'class'            => 'ootb_row',
     222                'ootb_custom_data' => 'custom',
     223                'default'          => OpenAI::ai_api_defaults( 'model' ),
     224                'description'      => sprintf(
     225                /* translators: %1$s is the default model */
     226                    __( 'The identifier of the model from your provider. Typically a short name without spaces. Defaults to %1$s.', 'ootb-openstreetmap' ),
     227                    '<code>' . OpenAI::ai_api_defaults( 'model' ) . '</code>'
     228                ),
     229            ]
     230        );
     231
     232        add_settings_field(
    195233            'api_openai',
    196             esc_html__( 'OpenAI API key', 'ootb-openstreetmap' ),
     234            esc_html__( 'AI API key', 'ootb-openstreetmap' ),
    197235            [ $this, 'field_api_key_openai' ],
    198236            'ootb',
     
    202240                'class'            => 'ootb_row',
    203241                'ootb_custom_data' => 'custom',
     242                'description'      => __( 'Your API key for this provider.', 'ootb-openstreetmap' )
    204243            ]
    205244        );
     
    213252     * @return void
    214253     */
    215     function field_prevent_default_gestures( array $args ) {
     254    function field_prevent_default_gestures( array $args ): void {
    216255        $option = Helper::get_option( 'all' );
    217256        ?>
    218         <input type="checkbox" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    219                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
    220                value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ] ), true ); ?> />
    221         <label
    222                 for="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"><?php echo esc_html( $args[ 'label' ] ); ?></label>
     257        <input type="checkbox" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     258               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     259               value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ] ), true ); ?> />
     260        <label
     261            for="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"><?php echo esc_html( $args[ 'label' ] ); ?></label>
    223262        <?php
    224263    }
     
    231270     * @return void
    232271     */
    233     function field_geodata( array $args ) {
     272    function field_geodata( array $args ): void {
    234273        $option = Helper::get_option( 'all' );
    235274        ?>
    236         <input type="checkbox" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    237                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
    238                value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ] ), true ); ?> />
     275        <input type="checkbox" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     276               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     277               value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ] ), true ); ?> />
    239278        <label for="<?php echo esc_attr( $args[ 'label_for' ] ); ?>">
    240279            <?php
     
    260299     * @return void
    261300     */
    262     function field_geo_post_types( array $args ) {
     301    function field_geo_post_types( array $args ): void {
    263302        $option     = Helper::get_option( 'all' );
    264303        $post_types = get_post_types( [ 'public' => true ], 'names', 'and' ); // Get public post types
    265304        ?>
    266         <fieldset>
    267             <legend><?php echo esc_html( $args[ 'label' ] ); ?></legend>
     305        <fieldset>
     306            <legend><?php echo esc_html( $args[ 'label' ] ); ?></legend>
    268307            <?php
    269308            foreach ( $post_types as $post_type ) :
     
    272311                }
    273312                ?>
    274                 <input type="checkbox"
    275                        id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>-<?php echo esc_attr( $post_type ); ?>"
    276                        name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>][<?php echo esc_attr( $post_type ); ?>]"
    277                        value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ][ $post_type ] ), true ); ?> />
    278                 <label
    279                         for="<?php echo esc_attr( $args[ 'label_for' ] ); ?>-<?php echo esc_attr( $post_type ); ?>"><?php echo esc_html( $post_type ); ?></label>
    280                 <br/>
     313                <input type="checkbox"
     314                       id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>-<?php echo esc_attr( $post_type ); ?>"
     315                       name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>][<?php echo esc_attr( $post_type ); ?>]"
     316                       value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ][ $post_type ] ), true ); ?> />
     317                <label
     318                    for="<?php echo esc_attr( $args[ 'label_for' ] ); ?>-<?php echo esc_attr( $post_type ); ?>"><?php echo esc_html( $post_type ); ?></label>
     319                <br/>
    281320            <?php
    282321            endforeach;
    283322            ?>
    284         </fieldset>
     323        </fieldset>
    285324        <?php
    286325    }
     
    293332     * @return void
    294333     */
    295     function section_frontend_callback( array $args ) {
    296         ?>
    297         <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
     334    function section_frontend_callback( array $args ): void {
     335        ?>
     336        <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
    298337            <?php
    299338            echo esc_html__( 'Apply adjustments to the Frontend behavior of the map.', 'ootb-openstreetmap' );
    300339            ?>
    301         </p>
     340        </p>
    302341        <?php
    303342    }
     
    310349     * @return void
    311350     */
    312     function section_custom_fields_callback( array $args ) {
    313         ?>
    314         <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
     351    function section_custom_fields_callback( array $args ): void {
     352        ?>
     353        <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
    315354            <?php
    316355            echo esc_html__( 'Enable support for custom fields.', 'ootb-openstreetmap' );
    317356            ?>
    318         </p>
     357        </p>
    319358        <?php
    320359    }
     
    327366     * @return void
    328367     */
    329     function section_defaults_callback( array $args ) {
    330         ?>
    331         <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
     368    function section_defaults_callback( array $args ): void {
     369        ?>
     370        <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
    332371            <?php
    333372            echo sprintf(
    334373                wp_kses(
    335                     /* translators: %1$s is the URL to the site's General options (Settings/General) */
     374                /* translators: %1$s is the URL to the site's General options (Settings/General) */
    336375                    __( 'Set the default coordinates when you add a new block and no marker is yet set. The plugin will try to guess the default location based on the <a href="%1$s">site\'s timezone</a>, but because there is no easy way to match against a specific database of coordinates, it can get it wrong. You can override these values here.', 'ootb-openstreetmap' ),
    337376                    [ 'a' => [ 'href' => [] ] ]
     
    340379            );
    341380            ?>
    342         </p>
     381        </p>
    343382        <?php
    344383    }
     
    351390     * @return void
    352391     */
    353     function section_settings_callback( array $args ) {
    354         ?>
    355         <div class="ootb_info">
    356             <h3><?php echo esc_html__( 'About OpenStreetMap usage limits', 'ootb-openstreetmap' ); ?></h3>
    357             <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
     392    function section_settings_callback( array $args ): void {
     393        ?>
     394        <div class="ootb_info">
     395            <h3><?php echo esc_html__( 'About OpenStreetMap usage limits', 'ootb-openstreetmap' ); ?></h3>
     396            <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
    358397                <?php
    359398                echo sprintf(
    360399                    wp_kses(
    361                         /* translators: %1$s is the URL to the OpenStreetMap Tile Usage Policy and %1$s is the URL to the Mapbox homepage */
     400                    /* translators: %1$s is the URL to the OpenStreetMap Tile Usage Policy and %1$s is the URL to the Mapbox homepage */
    362401                        __( 'As stated on the <a href="%1$s" target="_blank">OpenStreetMap Tile Usage Policy</a>, OSM’s own servers are run entirely on donated resources and they have strictly limited capacity. Using them on a site with low traffic will probably be fine. Nevertheless, you are advised to create an account to <a href="%2$s" target="_blank">MapBox</a> and get a free API Key.',
    363402                            'ootb-openstreetmap'
     
    369408                );
    370409                ?>
    371             </p>
    372             <p class="ootb-colophon">
     410            </p>
     411            <p class="ootb-colophon">
    373412                <a href="https://wordpress.org/support/plugin/ootb-openstreetmap/" target="_blank">
    374413                    <?php esc_html_e( 'Support forum', 'ootb-openstreetmap' ); ?>
    375414                </a>
    376                 |
     415                |
    377416                <?php
    378417                echo sprintf(
    379418                    wp_kses(
    380                         /* translators: %s is the URL to the plugin creator's website */
     419                    /* translators: %s is the URL to the plugin creator's website */
    381420                        __( 'Plugin created by <a href="%s" target="_blank">Giorgos Sarigiannidis</a>', 'ootb-openstreetmap' ),
    382421                        [ 'a' => [ 'href' => [], 'target' => [] ] ]
     
    386425                ?>
    387426            </p>
    388         </div>
     427        </div>
    389428
    390429        <?php
     
    396435     * @return void
    397436     */
    398     function options_page() {
     437    function options_page(): void {
    399438        add_submenu_page(
    400439            'options-general.php',
    401             'Out of the Block: OpenStreetMap',
    402             'OOTB OpenStreetMap',
     440            __( 'Out of the Block: OpenStreetMap', 'ootb-openstreetmap' ),
     441            __( 'OOTB OpenStreetMap', 'ootb-openstreetmap' ),
    403442            'manage_options',
    404443            'ootb-openstreetmap',
     
    414453     * @return void
    415454     */
    416     function field_api_key_mapbox( array $args ) {
     455    function field_api_key_mapbox( array $args ): void {
    417456        $option = Helper::get_option( 'all' );
    418457        ?>
    419         <input type="password" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    420                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
    421                value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"/>
     458        <input type="password" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     459               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     460               value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"/>
    422461        <?php
    423462    }
     
    430469     * @return void
    431470     */
    432     function field_url( array $args ) {
     471    function field_url( array $args ): void {
    433472        $option = Helper::get_option( 'all' );
    434473        ?>
    435         <input type="url" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    436                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
    437                value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"
    438                size="60"/>
     474        <input type="url" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     475               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     476               value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"
     477               size="60"/>
    439478        <p class="description">
    440479            <?php
     
    458497     * @return void
    459498     */
    460     function field_coordinates( array $args ) {
     499    function field_coordinates( array $args ): void {
    461500        $option   = Helper::get_option( 'all' );
    462501        $defaults = Helper::default_location();
     
    469508        }
    470509        ?>
    471         <input type="text" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    472                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>" placeholder="<?php echo esc_html( $default ); ?>"
    473                value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : esc_attr( $default ); ?>"/>
     510        <input type="text" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     511               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>" placeholder="<?php echo esc_html( $default ); ?>"
     512               value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : esc_attr( $default ); ?>"/>
    474513        <?php
    475514    }
     
    482521     * @return void
    483522     */
    484     function section_openai_callback( array $args ) {
    485         ?>
    486         <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
    487             <?php
    488             echo esc_html__( 'Set the OpenAI API key.', 'ootb-openstreetmap' );
     523    function section_openai_callback( array $args ): void {
     524        ?>
     525        <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
     526            <?php
     527            echo esc_html__( 'Set the credentials for your AI provider. Defaults to OpenAI, but you can use any provider.', 'ootb-openstreetmap' );
    489528            ?>
    490         </p>
    491         <?php
     529        </p>
     530        <?php
     531    }
     532
     533    /**
     534     * Renders a text input field for API AI settings.
     535     *
     536     * @param array $args Array of arguments for the field, including:
     537     *                    - 'label_for' (string): The ID and name attribute for the input.
     538     *                    - 'default' (string): Default placeholder value for the input field.
     539     *                    - 'description' (string, optional): Description displayed below the input field.
     540     *
     541     * @return void
     542     */
     543    function field_api_ai_text( array $args ): void {
     544        $option = Helper::get_option( 'all' );
     545        ?>
     546        <input type="text" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     547               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     548               placeholder="<?php echo esc_html( $args[ 'default' ] ); ?>"
     549               value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : esc_attr( $args[ 'default' ] ); ?>"/>
     550        <?php if ( isset( $args[ 'description' ] ) ): ?>
     551            <p><?php echo wp_kses_post( $args[ 'description' ] ); ?></p>
     552        <?php
     553        endif;
    492554    }
    493555
     
    499561     * @return void
    500562     */
    501     function field_api_key_openai( array $args ) {
     563    function field_api_key_openai( array $args ): void {
    502564        $option = Helper::get_option( 'all' );
    503565        ?>
    504         <input type="password" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    505                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
    506                value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"/>
    507         <?php
     566        <input type="password" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     567               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     568               value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"/>
     569        <?php if ( isset( $args[ 'description' ] ) ): ?>
     570            <p><?php echo esc_html( $args[ 'description' ] ); ?></p>
     571        <?php
     572        endif;
    508573    }
    509574
     
    513578     * @return void
    514579     */
    515     function options_page_html() {
     580    function options_page_html(): void {
    516581        if ( ! current_user_can( 'manage_options' ) ) {
    517582            return;
     
    521586        $current = isset( $options[ 'ootb_field_mode' ] ) && $options[ 'ootb_field_mode' ] ? $options[ 'ootb_field_mode' ] : '';
    522587        ?>
    523         <div id="ootb_form" class="wrap" data-current="<?php echo esc_attr( $current ); ?>">
    524             <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
    525             <form action="options.php" method="post">
     588        <div id="ootb_form" class="wrap" data-current="<?php echo esc_attr( $current ); ?>">
     589            <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
     590            <form action="options.php" method="post">
    526591                <?php
    527592                settings_fields( 'ootb' );
     
    529594                submit_button( esc_html__( 'Save Settings', 'ootb-openstreetmap' ) );
    530595                ?>
    531             </form>
    532         </div>
    533         <?php
    534     }
    535 
    536     /**
    537      * Validate Options.
    538      *
    539      * @param array $input The Options to validate.
     596            </form>
     597        </div>
     598        <?php
     599    }
     600
     601    /**
     602     * Sanitize Options.
     603     *
     604     * @param array $input The Options to sanitize.
    540605     *
    541606     * @return array
    542607     */
    543     function options_validate( array $input ): array {
    544         // Validate api_mapbox.
     608    function sanitize_options( array $input ): array {
     609        // Sanitize api_mapbox.
    545610        if ( ! empty( $input[ 'api_mapbox' ] ) ) {
    546611            $input[ 'api_mapbox' ] = preg_replace( '/\s+/',
     
    548613                esc_attr( $input[ 'api_mapbox' ] ) );
    549614        }
    550         // Validate coordinates.
     615        // Sanitize coordinates.
    551616        $fallback = Helper::fallback_location();
    552617        if ( ! empty( $input[ 'default_lat' ] ) ) {
     
    573638     * @return void
    574639     */
    575     function enqueues( string $hook ) {
     640    function enqueues( string $hook ): void {
    576641        if ( 'settings_page_ootb-openstreetmap' !== $hook ) {
    577642            return;
  • ootb-openstreetmap/tags/2.8.6/ootb-openstreetmap.php

    r3208055 r3248944  
    66 * Requires at least: 6.5
    77 * Requires PHP:      8.1
    8  * Version:           2.8.5
     8 * Version:           2.8.6
    99 * Author:            Giorgos Sarigiannidis
    1010 * Author URI:        https://www.gsarigiannidis.gr
     
    2121
    2222const OOTB_BLOCK_NAME     = 'ootb/openstreetmap';
    23 const OOTB_VERSION        = '2.8.5';
     23const OOTB_VERSION        = '2.8.6';
    2424const OOTB_SCRIPT_VERSION = [
    2525    'leaflet'                  => '1.9.4',
  • ootb-openstreetmap/tags/2.8.6/readme.txt

    r3208055 r3248944  
    66Tested up to: 6.7
    77Requires PHP: 8.1
    8 Stable tag: 2.8.5
     8Stable tag: 2.8.6
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    3535* [Place search](https://www.gsarigiannidis.gr/openstreetmap-place-search/). Find locations by typing keywords.
    3636* Remembers the zoom that you set when adding the markers and stores it so that you don't set it by hand (which you can do anyway if you prefer).
    37 * OpenAI integration which allows you to add markers by using commands in natural language. Just say "please" to activate (e.g. "Please, show me where GOT was filmed"). Requires an OpenAI API key. [Read more](https://www.gsarigiannidis.gr/openstreetmap-openai-integration/).
     37* AI integration which allows you to add markers by using commands in natural language. Just say "please" to activate (e.g. "Please, show me where GOT was filmed"). Requires an API key from an AI Provider. [Read more](https://www.gsarigiannidis.gr/openstreetmap-openai-integration/).
    3838* Query Maps: Supports creating a map out of maps added on other posts or post types. This can be quite powerful when, for example, you have a custom post type for "Places" with each place having its own map, and you want to dynamically gather-up all the places on a single map.
    3939* Shortcode support: You can use the shortcode `[ootb_query]` as an alternative way to use the aforementioned Query Maps feature (see the FAQ for more info).
     
    8181Check under the "Map behavior" section, at the blocks' settings at the sidebar on the right. It's toggled off by default, that's probably why you missed it.
    8282
    83 = How does the OpenAI integration work? =
    84 
    85 First of all, you will need to create an account to [OpenAI](https://openai.com/) and get an API key. Then, go to the plugin's settings page and paste your key there. After that, you can start adding markers by using commands in natural language. Just say "please" to activate (e.g. "Please, show me where GOT was filmed"). Please keep in mind, though, that it's like asking ChatGPT: the answers you get might not always be 100% reliable, and you should always double-check to confirm their accuracy. [Read more](https://www.gsarigiannidis.gr/openstreetmap-openai-integration/).
     83= How does the AI integration work? =
     84
     85First of all, you will need to create an account to an AI provider (like [OpenAI](https://openai.com/), [Gemini](https://gemini.google.com/), (Anthropic)[https://console.anthropic.com/] or similar) and get an API key. Then, go to the plugin's settings page and paste your API provider's endpoint URL, Model and API key there. After that, you can start adding markers by using commands in natural language. Just say "please" to activate (e.g. "Please, show me where GOT was filmed"). Please keep in mind, though, that it's like asking ChatGPT, Claude or any other AI Assistant: the answers you get might not always be 100% reliable, and you should always double-check to confirm their accuracy. [Read more](https://www.gsarigiannidis.gr/openstreetmap-openai-integration/).
    8686
    8787= How can I query maps from other posts or post types? =
     
    110110
    111111== Upgrade Notice ==
     112= 2.8.6 =
     113Adds support for more AI Providers, besides OpenAI (OpenAI is kept as the default).
     114
    112115= 2.8.3 =
    113116Version 2.8.3 makes changes to the way the scripts are loaded, and bumps the minimum WordPress version to 6.5. If you are using an older WordPress version, please update WordPress first, before trying to update the plugin.
  • ootb-openstreetmap/trunk/assets/css/admin/styles.css

    r3092806 r3248944  
    2424}
    2525
    26 #ootb_form input[type="text"] {
     26#ootb_form input[type="text"],
     27#ootb_form input[type="password"] {
    2728    width: 100%;
    2829}
  • ootb-openstreetmap/trunk/build/index.asset.php

    r3208055 r3248944  
    1 <?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-plugins'), 'version' => 'e83638b2a7c7c9d09967');
     1<?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-plugins'), 'version' => '55bc281e7357a39e2e60');
  • ootb-openstreetmap/trunk/build/index.js

    r3208055 r3248944  
    1 (()=>{var t={840:()=>{wp.domReady((()=>{ootbGlobal?.options?.geodata||wp.blocks.unregisterBlockVariation("ootb/openstreetmap","custom-fields")}))},481:function(t,e){!function(t){"use strict";function e(t){var e,i,n,o;for(i=1,n=arguments.length;i<n;i++)for(e in o=arguments[i])t[e]=o[e];return t}var i=Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}();function n(t,e){var i=Array.prototype.slice;if(t.bind)return t.bind.apply(t,i.call(arguments,1));var n=i.call(arguments,2);return function(){return t.apply(e,n.length?n.concat(i.call(arguments)):arguments)}}var o=0;function s(t){return"_leaflet_id"in t||(t._leaflet_id=++o),t._leaflet_id}function r(t,e,i){var n,o,s,r;return r=function(){n=!1,o&&(s.apply(i,o),o=!1)},s=function(){n?o=arguments:(t.apply(i,arguments),setTimeout(r,e),n=!0)},s}function a(t,e,i){var n=e[1],o=e[0],s=n-o;return t===n&&i?t:((t-o)%s+s)%s+o}function h(){return!1}function l(t,e){if(!1===e)return t;var i=Math.pow(10,void 0===e?6:e);return Math.round(t*i)/i}function u(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function c(t){return u(t).split(/\s+/)}function d(t,e){for(var n in Object.prototype.hasOwnProperty.call(t,"options")||(t.options=t.options?i(t.options):{}),e)t.options[n]=e[n];return t.options}function p(t,e,i){var n=[];for(var o in t)n.push(encodeURIComponent(i?o.toUpperCase():o)+"="+encodeURIComponent(t[o]));return(e&&-1!==e.indexOf("?")?"&":"?")+n.join("&")}var m=/\{ *([\w_ -]+) *\}/g;function _(t,e){return t.replace(m,(function(t,i){var n=e[i];if(void 0===n)throw new Error("No value provided for variable "+t);return"function"==typeof n&&(n=n(e)),n}))}var f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function g(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1}var v="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function y(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var b=0;function w(t){var e=+new Date,i=Math.max(0,16-(e-b));return b=e+i,window.setTimeout(t,i)}var x=window.requestAnimationFrame||y("RequestAnimationFrame")||w,P=window.cancelAnimationFrame||y("CancelAnimationFrame")||y("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function k(t,e,i){if(!i||x!==w)return x.call(window,n(t,e));t.call(e)}function T(t){t&&P.call(window,t)}var M={__proto__:null,extend:e,create:i,bind:n,get lastId(){return o},stamp:s,throttle:r,wrapNum:a,falseFn:h,formatNum:l,trim:u,splitWords:c,setOptions:d,getParamString:p,template:_,isArray:f,indexOf:g,emptyImageUrl:v,requestFn:x,cancelFn:P,requestAnimFrame:k,cancelAnimFrame:T};function z(){}z.extend=function(t){var n=function(){d(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},o=n.__super__=this.prototype,s=i(o);for(var r in s.constructor=n,n.prototype=s,this)Object.prototype.hasOwnProperty.call(this,r)&&"prototype"!==r&&"__super__"!==r&&(n[r]=this[r]);return t.statics&&e(n,t.statics),t.includes&&(function(t){if("undefined"!=typeof L&&L&&L.Mixin){t=f(t)?t:[t];for(var e=0;e<t.length;e++)t[e]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}(t.includes),e.apply(null,[s].concat(t.includes))),e(s,t),delete s.statics,delete s.includes,s.options&&(s.options=o.options?i(o.options):{},e(s.options,t.options)),s._initHooks=[],s.callInitHooks=function(){if(!this._initHooksCalled){o.callInitHooks&&o.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=s._initHooks.length;t<e;t++)s._initHooks[t].call(this)}},n},z.include=function(t){var i=this.prototype.options;return e(this.prototype,t),t.options&&(this.prototype.options=i,this.mergeOptions(t.options)),this},z.mergeOptions=function(t){return e(this.prototype.options,t),this},z.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};var C={on:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e);else for(var o=0,s=(t=c(t)).length;o<s;o++)this._on(t[o],e,i);return this},off:function(t,e,i){if(arguments.length)if("object"==typeof t)for(var n in t)this._off(n,t[n],e);else{t=c(t);for(var o=1===arguments.length,s=0,r=t.length;s<r;s++)o?this._off(t[s]):this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,i,n){if("function"==typeof e){if(!1===this._listens(t,e,i)){i===this&&(i=void 0);var o={fn:e,ctx:i};n&&(o.once=!0),this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(o)}}else console.warn("wrong listener type: "+typeof e)},_off:function(t,e,i){var n,o,s;if(this._events&&(n=this._events[t]))if(1!==arguments.length)if("function"==typeof e){var r=this._listens(t,e,i);if(!1!==r){var a=n[r];this._firingCount&&(a.fn=h,this._events[t]=n=n.slice()),n.splice(r,1)}}else console.warn("wrong listener type: "+typeof e);else{if(this._firingCount)for(o=0,s=n.length;o<s;o++)n[o].fn=h;delete this._events[t]}},fire:function(t,i,n){if(!this.listens(t,n))return this;var o=e({},i,{type:t,target:this,sourceTarget:i&&i.sourceTarget||this});if(this._events){var s=this._events[t];if(s){this._firingCount=this._firingCount+1||1;for(var r=0,a=s.length;r<a;r++){var h=s[r],l=h.fn;h.once&&this.off(t,l,h.ctx),l.call(h.ctx||this,o)}this._firingCount--}}return n&&this._propagateEvent(o),this},listens:function(t,e,i,n){"string"!=typeof t&&console.warn('"string" type argument expected');var o=e;"function"!=typeof e&&(n=!!e,o=void 0,i=void 0);var s=this._events&&this._events[t];if(s&&s.length&&!1!==this._listens(t,o,i))return!0;if(n)for(var r in this._eventParents)if(this._eventParents[r].listens(t,e,i,n))return!0;return!1},_listens:function(t,e,i){if(!this._events)return!1;var n=this._events[t]||[];if(!e)return!!n.length;i===this&&(i=void 0);for(var o=0,s=n.length;o<s;o++)if(n[o].fn===e&&n[o].ctx===i)return o;return!1},once:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e,!0);else for(var o=0,s=(t=c(t)).length;o<s;o++)this._on(t[o],e,i,!0);return this},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[s(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[s(t)],this},_propagateEvent:function(t){for(var i in this._eventParents)this._eventParents[i].fire(t.type,e({layer:t.target,propagatedFrom:t.target},t),!0)}};C.addEventListener=C.on,C.removeEventListener=C.clearAllEventListeners=C.off,C.addOneTimeEventListener=C.once,C.fireEvent=C.fire,C.hasEventListeners=C.listens;var S=z.extend(C);function Z(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e}var E=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};function O(t,e,i){return t instanceof Z?t:f(t)?new Z(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new Z(t.x,t.y):new Z(t,e,i)}function A(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function I(t,e){return!t||t instanceof A?t:new A(t,e)}function j(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function B(t,e){return t instanceof j?t:new j(t,e)}function R(t,e,i){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==i&&(this.alt=+i)}function N(t,e,i){return t instanceof R?t:f(t)&&"object"!=typeof t[0]?3===t.length?new R(t[0],t[1],t[2]):2===t.length?new R(t[0],t[1]):null:null==t?t:"object"==typeof t&&"lat"in t?new R(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new R(t,e,i)}Z.prototype={clone:function(){return new Z(this.x,this.y)},add:function(t){return this.clone()._add(O(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(O(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new Z(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new Z(this.x/t.x,this.y/t.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=E(this.x),this.y=E(this.y),this},distanceTo:function(t){var e=(t=O(t)).x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return(t=O(t)).x===this.x&&t.y===this.y},contains:function(t){return t=O(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+l(this.x)+", "+l(this.y)+")"}},A.prototype={extend:function(t){var e,i;if(!t)return this;if(t instanceof Z||"number"==typeof t[0]||"x"in t)e=i=O(t);else if(e=(t=I(t)).min,i=t.max,!e||!i)return this;return this.min||this.max?(this.min.x=Math.min(e.x,this.min.x),this.max.x=Math.max(i.x,this.max.x),this.min.y=Math.min(e.y,this.min.y),this.max.y=Math.max(i.y,this.max.y)):(this.min=e.clone(),this.max=i.clone()),this},getCenter:function(t){return O((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return O(this.min.x,this.max.y)},getTopRight:function(){return O(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return(t="number"==typeof t[0]||t instanceof Z?O(t):I(t))instanceof A?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=I(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=I(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.x<i.x,r=o.y>e.y&&n.y<i.y;return s&&r},isValid:function(){return!(!this.min||!this.max)},pad:function(t){var e=this.min,i=this.max,n=Math.abs(e.x-i.x)*t,o=Math.abs(e.y-i.y)*t;return I(O(e.x-n,e.y-o),O(i.x+n,i.y+o))},equals:function(t){return!!t&&(t=I(t),this.min.equals(t.getTopLeft())&&this.max.equals(t.getBottomRight()))}},j.prototype={extend:function(t){var e,i,n=this._southWest,o=this._northEast;if(t instanceof R)e=t,i=t;else{if(!(t instanceof j))return t?this.extend(N(t)||B(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return n||o?(n.lat=Math.min(e.lat,n.lat),n.lng=Math.min(e.lng,n.lng),o.lat=Math.max(i.lat,o.lat),o.lng=Math.max(i.lng,o.lng)):(this._southWest=new R(e.lat,e.lng),this._northEast=new R(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,o=Math.abs(e.lng-i.lng)*t;return new j(new R(e.lat-n,e.lng-o),new R(i.lat+n,i.lng+o))},getCenter:function(){return new R((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new R(this.getNorth(),this.getWest())},getSouthEast:function(){return new R(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof R||"lat"in t?N(t):B(t);var e,i,n=this._southWest,o=this._northEast;return t instanceof j?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=B(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=B(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.lat<i.lat,r=o.lng>e.lng&&n.lng<i.lng;return s&&r},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=B(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}},R.prototype={equals:function(t,e){return!!t&&(t=N(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+l(this.lat,t)+", "+l(this.lng,t)+")"},distanceTo:function(t){return H.distance(this,N(t))},wrap:function(){return H.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return B([this.lat-e,this.lng-i],[this.lat+e,this.lng+i])},clone:function(){return new R(this.lat,this.lng,this.alt)}};var D,F={latLngToPoint:function(t,e){var i=this.projection.project(t),n=this.scale(e);return this.transformation._transform(i,n)},pointToLatLng:function(t,e){var i=this.scale(e),n=this.transformation.untransform(t,i);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,i=this.scale(t);return new A(this.transformation.transform(e.min,i),this.transformation.transform(e.max,i))},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?a(t.lng,this.wrapLng,!0):t.lng;return new R(this.wrapLat?a(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),n=e.lat-i.lat,o=e.lng-i.lng;if(0===n&&0===o)return t;var s=t.getSouthWest(),r=t.getNorthEast();return new j(new R(s.lat-n,s.lng-o),new R(r.lat-n,r.lng-o))}},H=e({},F,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,n=t.lat*i,o=e.lat*i,s=Math.sin((e.lat-t.lat)*i/2),r=Math.sin((e.lng-t.lng)*i/2),a=s*s+Math.cos(n)*Math.cos(o)*r*r,h=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*h}}),U=6378137,W={R:U,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,n=Math.max(Math.min(i,t.lat),-i),o=Math.sin(n*e);return new Z(this.R*t.lng*e,this.R*Math.log((1+o)/(1-o))/2)},unproject:function(t){var e=180/Math.PI;return new R((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:(D=U*Math.PI,new A([-D,-D],[D,D]))};function q(t,e,i,n){if(f(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=e,this._c=i,this._d=n}function G(t,e,i,n){return new q(t,e,i,n)}q.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return e=e||1,t.x=e*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return e=e||1,new Z((t.x/e-this._b)/this._a,(t.y/e-this._d)/this._c)}};var V=e({},H,{code:"EPSG:3857",projection:W,transformation:function(){var t=.5/(Math.PI*W.R);return G(t,.5,-t,.5)}()}),J=e({},V,{code:"EPSG:900913"});function K(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function Y(t,e){var i,n,o,s,r,a,h="";for(i=0,o=t.length;i<o;i++){for(n=0,s=(r=t[i]).length;n<s;n++)h+=(n?"L":"M")+(a=r[n]).x+" "+a.y;h+=e?At.svg?"z":"x":""}return h||"M0 0"}var X,$=document.documentElement.style,Q="ActiveXObject"in window,tt=Q&&!document.addEventListener,et="msLaunchUri"in navigator&&!("documentMode"in document),it=Ot("webkit"),nt=Ot("android"),ot=Ot("android 2")||Ot("android 3"),st=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),rt=nt&&Ot("Google")&&st<537&&!("AudioNode"in window),at=!!window.opera,ht=!et&&Ot("chrome"),lt=Ot("gecko")&&!it&&!at&&!Q,ut=!ht&&Ot("safari"),ct=Ot("phantom"),dt="OTransition"in $,pt=0===navigator.platform.indexOf("Win"),mt=Q&&"transition"in $,_t="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!ot,ft="MozPerspective"in $,gt=!window.L_DISABLE_3D&&(mt||_t||ft)&&!dt&&!ct,vt="undefined"!=typeof orientation||Ot("mobile"),yt=vt&&it,bt=vt&&_t,wt=!window.PointerEvent&&window.MSPointerEvent,xt=!(!window.PointerEvent&&!wt),Pt="ontouchstart"in window||!!window.TouchEvent,Lt=!window.L_NO_TOUCH&&(Pt||xt),kt=vt&&at,Tt=vt&&lt,Mt=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,zt=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",h,e),window.removeEventListener("testPassiveEventSupport",h,e)}catch(t){}return t}(),Ct=!!document.createElement("canvas").getContext,St=!(!document.createElementNS||!K("svg").createSVGRect),Zt=!!St&&((X=document.createElement("div")).innerHTML="<svg/>","http://www.w3.org/2000/svg"===(X.firstChild&&X.firstChild.namespaceURI)),Et=!St&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Ot(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var At={ie:Q,ielt9:tt,edge:et,webkit:it,android:nt,android23:ot,androidStock:rt,opera:at,chrome:ht,gecko:lt,safari:ut,phantom:ct,opera12:dt,win:pt,ie3d:mt,webkit3d:_t,gecko3d:ft,any3d:gt,mobile:vt,mobileWebkit:yt,mobileWebkit3d:bt,msPointer:wt,pointer:xt,touch:Lt,touchNative:Pt,mobileOpera:kt,mobileGecko:Tt,retina:Mt,passiveEvents:zt,canvas:Ct,svg:St,vml:Et,inlineSvg:Zt,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},It=At.msPointer?"MSPointerDown":"pointerdown",jt=At.msPointer?"MSPointerMove":"pointermove",Bt=At.msPointer?"MSPointerUp":"pointerup",Rt=At.msPointer?"MSPointerCancel":"pointercancel",Nt={touchstart:It,touchmove:jt,touchend:Bt,touchcancel:Rt},Dt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&Be(e),Vt(t,e)},touchmove:Vt,touchend:Vt,touchcancel:Vt},Ft={},Ht=!1;function Ut(t,e,i){return"touchstart"===e&&(Ht||(document.addEventListener(It,Wt,!0),document.addEventListener(jt,qt,!0),document.addEventListener(Bt,Gt,!0),document.addEventListener(Rt,Gt,!0),Ht=!0)),Dt[e]?(i=Dt[e].bind(this,i),t.addEventListener(Nt[e],i,!1),i):(console.warn("wrong event specified:",e),h)}function Wt(t){Ft[t.pointerId]=t}function qt(t){Ft[t.pointerId]&&(Ft[t.pointerId]=t)}function Gt(t){delete Ft[t.pointerId]}function Vt(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Ft)e.touches.push(Ft[i]);e.changedTouches=[e],t(e)}}var Jt,Kt,Yt,Xt,$t,Qt=_e(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),te=_e(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ee="webkitTransition"===te||"OTransition"===te?te+"End":"transitionend";function ie(t){return"string"==typeof t?document.getElementById(t):t}function ne(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return"auto"===i?null:i}function oe(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function se(t){var e=t.parentNode;e&&e.removeChild(t)}function re(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ae(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function he(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function le(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=pe(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function ue(t,e){if(void 0!==t.classList)for(var i=c(e),n=0,o=i.length;n<o;n++)t.classList.add(i[n]);else if(!le(t,e)){var s=pe(t);de(t,(s?s+" ":"")+e)}}function ce(t,e){void 0!==t.classList?t.classList.remove(e):de(t,u((" "+pe(t)+" ").replace(" "+e+" "," ")))}function de(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function pe(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function me(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&function(t,e){var i=!1,n="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(n)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+n+"(opacity="+e+")"}(t,e)}function _e(t){for(var e=document.documentElement.style,i=0;i<t.length;i++)if(t[i]in e)return t[i];return!1}function fe(t,e,i){var n=e||new Z(0,0);t.style[Qt]=(At.ie3d?"translate("+n.x+"px,"+n.y+"px)":"translate3d("+n.x+"px,"+n.y+"px,0)")+(i?" scale("+i+")":"")}function ge(t,e){t._leaflet_pos=e,At.any3d?fe(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function ve(t){return t._leaflet_pos||new Z(0,0)}if("onselectstart"in document)Jt=function(){Me(window,"selectstart",Be)},Kt=function(){Ce(window,"selectstart",Be)};else{var ye=_e(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);Jt=function(){if(ye){var t=document.documentElement.style;Yt=t[ye],t[ye]="none"}},Kt=function(){ye&&(document.documentElement.style[ye]=Yt,Yt=void 0)}}function be(){Me(window,"dragstart",Be)}function we(){Ce(window,"dragstart",Be)}function xe(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Pe(),Xt=t,$t=t.style.outlineStyle,t.style.outlineStyle="none",Me(window,"keydown",Pe))}function Pe(){Xt&&(Xt.style.outlineStyle=$t,Xt=void 0,$t=void 0,Ce(window,"keydown",Pe))}function Le(t){do{t=t.parentNode}while(!(t.offsetWidth&&t.offsetHeight||t===document.body));return t}function ke(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}var Te={__proto__:null,TRANSFORM:Qt,TRANSITION:te,TRANSITION_END:ee,get:ie,getStyle:ne,create:oe,remove:se,empty:re,toFront:ae,toBack:he,hasClass:le,addClass:ue,removeClass:ce,setClass:de,getClass:pe,setOpacity:me,testProp:_e,setTransform:fe,setPosition:ge,getPosition:ve,get disableTextSelection(){return Jt},get enableTextSelection(){return Kt},disableImageDrag:be,enableImageDrag:we,preventOutline:xe,restoreOutline:Pe,getSizedParentNode:Le,getScale:ke};function Me(t,e,i,n){if(e&&"object"==typeof e)for(var o in e)Ee(t,o,e[o],i);else for(var s=0,r=(e=c(e)).length;s<r;s++)Ee(t,e[s],i,n);return this}var ze="_leaflet_events";function Ce(t,e,i,n){if(1===arguments.length)Se(t),delete t[ze];else if(e&&"object"==typeof e)for(var o in e)Oe(t,o,e[o],i);else if(e=c(e),2===arguments.length)Se(t,(function(t){return-1!==g(e,t)}));else for(var s=0,r=e.length;s<r;s++)Oe(t,e[s],i,n);return this}function Se(t,e){for(var i in t[ze]){var n=i.split(/\d/)[0];e&&!e(n)||Oe(t,n,null,null,i)}}var Ze={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Ee(t,e,i,n){var o=e+s(i)+(n?"_"+s(n):"");if(t[ze]&&t[ze][o])return this;var r=function(e){return i.call(n||t,e||window.event)},a=r;!At.touchNative&&At.pointer&&0===e.indexOf("touch")?r=Ut(t,e,r):At.touch&&"dblclick"===e?r=function(t,e){t.addEventListener("dblclick",e);var i,n=0;function o(t){if(1===t.detail){if("mouse"!==t.pointerType&&(!t.sourceCapabilities||t.sourceCapabilities.firesTouchEvents)){var o=Ne(t);if(!o.some((function(t){return t instanceof HTMLLabelElement&&t.attributes.for}))||o.some((function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement}))){var s=Date.now();s-n<=200?2==++i&&e(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return t=n,n.type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):i=1,n=s}}}else i=t.detail}return t.addEventListener("click",o),{dblclick:e,simDblclick:o}}(t,r):"addEventListener"in t?"touchstart"===e||"touchmove"===e||"wheel"===e||"mousewheel"===e?t.addEventListener(Ze[e]||e,r,!!At.passiveEvents&&{passive:!1}):"mouseenter"===e||"mouseleave"===e?(r=function(e){e=e||window.event,Ue(t,e)&&a(e)},t.addEventListener(Ze[e],r,!1)):t.addEventListener(e,a,!1):t.attachEvent("on"+e,r),t[ze]=t[ze]||{},t[ze][o]=r}function Oe(t,e,i,n,o){o=o||e+s(i)+(n?"_"+s(n):"");var r=t[ze]&&t[ze][o];if(!r)return this;!At.touchNative&&At.pointer&&0===e.indexOf("touch")?function(t,e,i){Nt[e]?t.removeEventListener(Nt[e],i,!1):console.warn("wrong event specified:",e)}(t,e,r):At.touch&&"dblclick"===e?function(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}(t,r):"removeEventListener"in t?t.removeEventListener(Ze[e]||e,r,!1):t.detachEvent("on"+e,r),t[ze][o]=null}function Ae(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,this}function Ie(t){return Ee(t,"wheel",Ae),this}function je(t){return Me(t,"mousedown touchstart dblclick contextmenu",Ae),t._leaflet_disable_click=!0,this}function Be(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return Be(t),Ae(t),this}function Ne(t){if(t.composedPath)return t.composedPath();for(var e=[],i=t.target;i;)e.push(i),i=i.parentNode;return e}function De(t,e){if(!e)return new Z(t.clientX,t.clientY);var i=ke(e),n=i.boundingClientRect;return new Z((t.clientX-n.left)/i.x-e.clientLeft,(t.clientY-n.top)/i.y-e.clientTop)}var Fe=At.linux&&At.chrome?window.devicePixelRatio:At.mac?3*window.devicePixelRatio:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function He(t){return At.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Fe:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function Ue(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var We={__proto__:null,on:Me,off:Ce,stopPropagation:Ae,disableScrollPropagation:Ie,disableClickPropagation:je,preventDefault:Be,stop:Re,getPropagationPath:Ne,getMousePosition:De,getWheelDelta:He,isExternalTarget:Ue,addListener:Me,removeListener:Ce},qe=S.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=ve(t),this._offset=e.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=k(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var i=this._startPos.add(this._offset.multiplyBy(t));e&&i._round(),ge(this._el,i),this.fire("step")},_complete:function(){T(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Ge=S.extend({options:{crs:V,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=d(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=n(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(N(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=te&&At.any3d&&!At.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Me(this._proxy,ee,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,i,n){return i=void 0===i?this._zoom:this._limitZoom(i),t=this._limitCenter(N(t),i,this.options.maxBounds),n=n||{},this._stop(),this._loaded&&!n.reset&&!0!==n&&(void 0!==n.animate&&(n.zoom=e({animate:n.animate},n.zoom),n.pan=e({animate:n.animate,duration:n.duration},n.pan)),this._zoom!==i?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,i,n.zoom):this._tryAnimatedPan(t,n.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,i,n.pan&&n.pan.noMoveStart),this)},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(At.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(At.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),o=this.getSize().divideBy(2),s=(t instanceof Z?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),r=this.containerPointToLatLng(o.add(s));return this.setView(r,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():B(t);var i=O(e.paddingTopLeft||e.padding||[0,0]),n=O(e.paddingBottomRight||e.padding||[0,0]),o=this.getBoundsZoom(t,!1,i.add(n));if((o="number"==typeof e.maxZoom?Math.min(e.maxZoom,o):o)===1/0)return{center:t.getCenter(),zoom:o};var s=n.subtract(i).divideBy(2),r=this.project(t.getSouthWest(),o),a=this.project(t.getNorthEast(),o);return{center:this.unproject(r.add(a).divideBy(2).add(s),o),zoom:o}},fitBounds:function(t,e){if(!(t=B(t)).isValid())throw new Error("Bounds are not valid.");var i=this._getBoundsCenterZoom(t,e);return this.setView(i.center,i.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(e=e||{},!(t=O(t).round()).x&&!t.y)return this.fire("moveend");if(!0!==e.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new qe,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate){ue(this._mapPane,"leaflet-pan-anim");var i=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,i){if(!1===(i=i||{}).animate||!At.any3d)return this.setView(t,e,i);this._stop();var n=this.project(this.getCenter()),o=this.project(t),s=this.getSize(),r=this._zoom;t=N(t),e=void 0===e?r:e;var a=Math.max(s.x,s.y),h=a*this.getZoomScale(r,e),l=o.distanceTo(n)||1,u=1.42,c=2.0164;function d(t){var e=(h*h-a*a+(t?-1:1)*c*c*l*l)/(2*(t?h:a)*c*l),i=Math.sqrt(e*e+1)-e;return i<1e-9?-18:Math.log(i)}function p(t){return(Math.exp(t)-Math.exp(-t))/2}function m(t){return(Math.exp(t)+Math.exp(-t))/2}var _=d(0);function f(t){return a*(m(_)*(p(e=_+u*t)/m(e))-p(_))/c;var e}var g=Date.now(),v=(d(1)-_)/u,y=i.duration?1e3*i.duration:1e3*v*.8;return this._moveStart(!0,i.noMoveStart),function i(){var s=(Date.now()-g)/y,h=function(t){return 1-Math.pow(1-t,1.5)}(s)*v;s<=1?(this._flyToFrame=k(i,this),this._move(this.unproject(n.add(o.subtract(n).multiplyBy(f(h)/l)),r),this.getScaleZoom(a/function(t){return a*(m(_)/m(_+u*t))}(h),r),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}.call(this),this},flyToBounds:function(t,e){var i=this._getBoundsCenterZoom(t,e);return this.flyTo(i.center,i.zoom,e)},setMaxBounds:function(t){return t=B(t),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),t.isValid()?(this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,B(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=O((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=O(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),a=I([r.min.add(i),r.max.subtract(n)]),h=a.getSize();if(!a.contains(s)){this._enforcingBounds=!0;var l=s.subtract(a.getCenter()),u=a.extend(s).getSize().subtract(h);o.x+=l.x<0?-u.x:u.x,o.y+=l.y<0?-u.y:u.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=e({animate:!1,pan:!0},!0===t?{animate:!0}:t);var i=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var o=this.getSize(),s=i.divideBy(2).round(),r=o.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(n(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:o})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=e({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var i=n(this._handleGeolocationResponse,this),o=n(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(i,o,t):navigator.geolocation.getCurrentPosition(i,o,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=new R(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(i);this.setView(e,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.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(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(T(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)se(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=oe("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new j(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=B(t),i=O(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(i),l=I(this.project(a,n),this.project(r,n)).getSize(),u=At.any3d?this.options.zoomSnap:1,c=h.x/l.x,d=h.y/l.y,p=e?Math.max(c,d):Math.min(c,d);return n=this.getScaleZoom(p,n),u&&(n=Math.round(n/(u/100))*(u/100),n=e?Math.ceil(n/u)*u:Math.floor(n/u)*u),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new Z(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new A(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(N(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(O(t),e)},layerPointToLatLng:function(t){var e=O(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(N(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(N(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(B(t))},distance:function(t,e){return this.options.crs.distance(N(t),N(e))},containerPointToLayerPoint:function(t){return O(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return O(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(O(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(N(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=ie(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");Me(e,"scroll",this._onScroll,this),this._containerId=s(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&At.any3d,ue(t,"leaflet-container"+(At.touch?" leaflet-touch":"")+(At.retina?" leaflet-retina":"")+(At.ielt9?" leaflet-oldie":"")+(At.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=ne(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),ge(this._mapPane,new Z(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(ue(t.markerPane,"leaflet-zoom-hide"),ue(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){ge(this._mapPane,new Z(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var o=this._zoom!==e;this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return T(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){ge(this._mapPane,this._getMapPanePos().subtract(t))},_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(t){this._targets={},this._targets[s(this._container)]=this;var e=t?Ce:Me;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),At.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){T(this._resizeRequest),this._resizeRequest=k((function(){this.invalidateSize({debounceMoveend:!0})}),this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,r=t.target||t.srcElement,a=!1;r;){if((i=this._targets[s(r)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){a=!0;break}if(i&&i.listens(e,!0)){if(o&&!Ue(r,t))break;if(n.push(i),o)break}if(r===this._container)break;r=r.parentNode}return n.length||a||o||!this.listens(e,!0)||(n=[this]),n},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(e))){var i=t.type;"mousedown"===i&&xe(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,i,n){if("click"===t.type){var o=e({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}var s=this._findEventTargets(t,i);if(n){for(var r=[],a=0;a<n.length;a++)n[a].listens(i,!0)&&r.push(n[a]);s=r.concat(s)}if(s.length){"contextmenu"===i&&Be(t);var h=s[0],l={originalEvent:t};if("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type){var u=h.getLatLng&&(!h._radius||h._radius<=10);l.containerPoint=u?this.latLngToContainerPoint(h.getLatLng()):this.mouseEventToContainerPoint(t),l.layerPoint=this.containerPointToLayerPoint(l.containerPoint),l.latlng=u?h.getLatLng():this.layerPointToLatLng(l.layerPoint)}for(a=0;a<s.length;a++)if(s[a].fire(i,l,!0),l.originalEvent._stopped||!1===s[a].options.bubblingMouseEvents&&-1!==g(this._mouseEvents,i))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return ve(this._mapPane)||new Z(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){var n=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(n)},_latLngBoundsToNewLayerBounds:function(t,e,i){var n=this._getNewPixelOrigin(i,e);return I([this.project(t.getSouthWest(),e)._subtract(n),this.project(t.getNorthWest(),e)._subtract(n),this.project(t.getSouthEast(),e)._subtract(n),this.project(t.getNorthEast(),e)._subtract(n)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){if(!i)return t;var n=this.project(t,e),o=this.getSize().divideBy(2),s=new A(n.subtract(o),n.add(o)),r=this._getBoundsOffset(s,i,e);return Math.abs(r.x)<=1&&Math.abs(r.y)<=1?t:this.unproject(n.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var i=this.getPixelBounds(),n=new A(i.min.add(t),i.max.add(t));return t.add(this._getBoundsOffset(n,e))},_getBoundsOffset:function(t,e,i){var n=I(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),o=n.min.subtract(t.min),s=n.max.subtract(t.max);return new Z(this._rebound(o.x,-s.x),this._rebound(o.y,-s.y))},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=At.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ce(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i)||(this.panBy(i,e),0))},_createAnimProxy:function(){var t=this._proxy=oe("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",(function(t){var e=Qt,i=this._proxy.style[e];fe(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()}),this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();fe(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==i.animate&&!this.getSize().contains(o)||(k((function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)}),this),0))},_animateZoom:function(t,e,i,o){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,ue(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:o}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(n(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&ce(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))}});var Ve=z.extend({options:{position:"topright"},initialize:function(t){d(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return ue(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(se(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),Je=function(t){return new Ve(t)};Ge.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=oe("div",e+"control-container",this._container);function n(n,o){var s=e+n+" "+e+o;t[n+o]=oe("div",s,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)se(this._controlCorners[t]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ke=Ve.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i<n?-1:n<i?1:0}},initialize:function(t,e,i){for(var n in d(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1,t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return Ve.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(s(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){ue(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(ue(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):ce(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return ce(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=oe("div",t),i=this.options.collapsed;e.setAttribute("aria-haspopup",!0),je(e),Ie(e);var n=this._section=oe("section",t+"-list");i&&(this._map.on("click",this.collapse,this),Me(e,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var o=this._layersLink=oe("a",t+"-toggle",e);o.href="#",o.title="Layers",o.setAttribute("role","button"),Me(o,{keydown:function(t){13===t.keyCode&&this._expandSafely()},click:function(t){Be(t),this._expandSafely()}},this),i||this.expand(),this._baseLayersList=oe("div",t+"-base",n),this._separator=oe("div",t+"-separator",n),this._overlaysList=oe("div",t+"-overlays",n),e.appendChild(n)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&s(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(n((function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)}),this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;re(this._baseLayersList),re(this._overlaysList),this._layerControlInputs=[];var t,e,i,n,o=0;for(i=0;i<this._layers.length;i++)n=this._layers[i],this._addItem(n),e=e||n.overlay,t=t||!n.overlay,o+=n.overlay?0:1;return this.options.hideSingleBase&&(t=t&&o>1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(s(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+s(this),n),this._layerControlInputs.push(e),e.layerId=s(t.layer),Me(e,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var r=document.createElement("span");return i.appendChild(r),r.appendChild(e),r.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var t,e,i=this._layerControlInputs,n=this._map.getZoom(),o=i.length-1;o>=0;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&n<e.options.minZoom||void 0!==e.options.maxZoom&&n>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,Me(t,"click",Be),this.expand();var e=this;setTimeout((function(){Ce(t,"click",Be),e._preventClick=!1}))}}),Ye=Ve.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=oe("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.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(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=oe("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),je(s),Me(s,"click",Re),Me(s,"click",o,this),Me(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";ce(this._zoomInButton,e),ce(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(ue(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(ue(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});Ge.mergeOptions({zoomControl:!0}),Ge.addInitHook((function(){this.options.zoomControl&&(this.zoomControl=new Ye,this.addControl(this.zoomControl))}));var Xe=Ve.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=oe("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=oe("div",e,i)),t.imperial&&(this._iScale=oe("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o>5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),$e=Ve.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(At.inlineSvg?'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg> ':"")+"Leaflet</a>"},initialize:function(t){d(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=oe("div","leaflet-control-attribution"),je(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",(function(){this.removeAttribution(t.layer.getAttribution())}),this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' <span aria-hidden="true">|</span> ')}}});Ge.mergeOptions({attributionControl:!0}),Ge.addInitHook((function(){this.options.attributionControl&&(new $e).addTo(this)}));Ve.Layers=Ke,Ve.Zoom=Ye,Ve.Scale=Xe,Ve.Attribution=$e,Je.layers=function(t,e,i){return new Ke(t,e,i)},Je.zoom=function(t){return new Ye(t)},Je.scale=function(t){return new Xe(t)},Je.attribution=function(t){return new $e(t)};var Qe=z.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Qe.addTo=function(t,e){return t.addHandler(e,this),this};var ti={Events:C},ei=At.touch?"touchstart mousedown":"mousedown",ii=S.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){d(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(Me(this._dragStartTarget,ei,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ii._dragging===this&&this.finishDrag(!0),Ce(this._dragStartTarget,ei,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!le(this._element,"leaflet-zoom-anim")))if(t.touches&&1!==t.touches.length)ii._dragging===this&&this.finishDrag();else if(!(ii._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(ii._dragging=this,this._preventOutline&&xe(this._element),be(),Jt(),this._moving))){this.fire("down");var e=t.touches?t.touches[0]:t,i=Le(this._element);this._startPoint=new Z(e.clientX,e.clientY),this._startPos=ve(this._element),this._parentScale=ke(i);var n="mousedown"===t.type;Me(document,n?"mousemove":"touchmove",this._onMove,this),Me(document,n?"mouseup":"touchend touchcancel",this._onUp,this)}},_onMove:function(t){if(this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new Z(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)<this.options.clickTolerance||(i.x/=this._parentScale.x,i.y/=this._parentScale.y,Be(t),this._moved||(this.fire("dragstart"),this._moved=!0,ue(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),ue(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(i),this._moving=!0,this._lastEvent=t,this._updatePosition()))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),ge(this._element,this._newPos),this.fire("drag",t)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(t){ce(document.body,"leaflet-dragging"),this._lastTarget&&(ce(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Ce(document,"mousemove touchmove",this._onMove,this),Ce(document,"mouseup touchend touchcancel",this._onUp,this),we(),Kt();var e=this._moved&&this._moving;this._moving=!1,ii._dragging=!1,e&&this.fire("dragend",{noInertia:t,distance:this._newPos.distanceTo(this._startPos)})}});function ni(t,e,i){var n,o,s,r,a,h,l,u,c,d=[1,4,2,8];for(o=0,l=t.length;o<l;o++)t[o]._code=pi(t[o],e);for(r=0;r<4;r++){for(u=d[r],n=[],o=0,s=(l=t.length)-1;o<l;s=o++)a=t[o],h=t[s],a._code&u?h._code&u||((c=di(h,a,u,e,i))._code=pi(c,e),n.push(c)):(h._code&u&&((c=di(h,a,u,e,i))._code=pi(c,e),n.push(c)),n.push(a));t=n}return t}function oi(t,e){var i,n,o,s,r,a,h,l,u;if(!t||0===t.length)throw new Error("latlngs not passed");fi(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var c=N([0,0]),d=B(t);d.getNorthWest().distanceTo(d.getSouthWest())*d.getNorthEast().distanceTo(d.getNorthWest())<1700&&(c=si(t));var p=t.length,m=[];for(i=0;i<p;i++){var _=N(t[i]);m.push(e.project(N([_.lat-c.lat,_.lng-c.lng])))}for(a=h=l=0,i=0,n=p-1;i<p;n=i++)o=m[i],s=m[n],r=o.y*s.x-s.y*o.x,h+=(o.x+s.x)*r,l+=(o.y+s.y)*r,a+=3*r;u=0===a?m[0]:[h/a,l/a];var f=e.unproject(O(u));return N([f.lat+c.lat,f.lng+c.lng])}function si(t){for(var e=0,i=0,n=0,o=0;o<t.length;o++){var s=N(t[o]);e+=s.lat,i+=s.lng,n++}return N([e/n,i/n])}var ri,ai={__proto__:null,clipPolygon:ni,polygonCenter:oi,centroid:si};function hi(t,e){if(!e||!t.length)return t.slice();var i=e*e;return function(t,e){var i=t.length,n=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(i);n[0]=n[i-1]=1,ui(t,n,e,0,i-1);var o,s=[];for(o=0;o<i;o++)n[o]&&s.push(t[o]);return s}(t=function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;n<s;n++)mi(t[n],t[o])>e&&(i.push(t[n]),o=n);return o<s-1&&i.push(t[s-1]),i}(t,i),i)}function li(t,e,i){return Math.sqrt(_i(t,e,i,!0))}function ui(t,e,i,n,o){var s,r,a,h=0;for(r=n+1;r<=o-1;r++)(a=_i(t[r],t[n],t[o],!0))>h&&(s=r,h=a);h>i&&(e[s]=1,ui(t,e,i,n,s),ui(t,e,i,s,o))}function ci(t,e,i,n,o){var s,r,a,h=n?ri:pi(t,i),l=pi(e,i);for(ri=l;;){if(!(h|l))return[t,e];if(h&l)return!1;a=pi(r=di(t,e,s=h||l,i,o),i),s===h?(t=r,h=a):(e=r,l=a)}}function di(t,e,i,n,o){var s,r,a=e.x-t.x,h=e.y-t.y,l=n.min,u=n.max;return 8&i?(s=t.x+a*(u.y-t.y)/h,r=u.y):4&i?(s=t.x+a*(l.y-t.y)/h,r=l.y):2&i?(s=u.x,r=t.y+h*(u.x-t.x)/a):1&i&&(s=l.x,r=t.y+h*(l.x-t.x)/a),new Z(s,r,o)}function pi(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i}function mi(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function _i(t,e,i,n){var o,s=e.x,r=e.y,a=i.x-s,h=i.y-r,l=a*a+h*h;return l>0&&((o=((t.x-s)*a+(t.y-r)*h)/l)>1?(s=i.x,r=i.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new Z(s,r)}function fi(t){return!f(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function gi(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),fi(t)}function vi(t,e){var i,n,o,s,r,a,h,l;if(!t||0===t.length)throw new Error("latlngs not passed");fi(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var u=N([0,0]),c=B(t);c.getNorthWest().distanceTo(c.getSouthWest())*c.getNorthEast().distanceTo(c.getNorthWest())<1700&&(u=si(t));var d=t.length,p=[];for(i=0;i<d;i++){var m=N(t[i]);p.push(e.project(N([m.lat-u.lat,m.lng-u.lng])))}for(i=0,n=0;i<d-1;i++)n+=p[i].distanceTo(p[i+1])/2;if(0===n)l=p[0];else for(i=0,s=0;i<d-1;i++)if(r=p[i],a=p[i+1],(s+=o=r.distanceTo(a))>n){h=(s-n)/o,l=[a.x-h*(a.x-r.x),a.y-h*(a.y-r.y)];break}var _=e.unproject(O(l));return N([_.lat+u.lat,_.lng+u.lng])}var yi={__proto__:null,simplify:hi,pointToSegmentDistance:li,closestPointOnSegment:function(t,e,i){return _i(t,e,i)},clipSegment:ci,_getEdgeIntersection:di,_getBitCode:pi,_sqClosestPointOnSegment:_i,isFlat:fi,_flat:gi,polylineCenter:vi},bi={project:function(t){return new Z(t.lng,t.lat)},unproject:function(t){return new R(t.y,t.x)},bounds:new A([-180,-90],[180,90])},wi={R:6378137,R_MINOR:6356752.314245179,bounds:new A([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,s=Math.sqrt(1-o*o),r=s*Math.sin(n),a=Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),s/2);return n=-i*Math.log(Math.max(a,1e-10)),new Z(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,l=.1;h<15&&Math.abs(l)>1e-7;h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=l=Math.PI/2-2*Math.atan(r*e)-a;return new R(a*i,t.x*i/n)}},xi={__proto__:null,LonLat:bi,Mercator:wi,SphericalMercator:W},Pi=e({},H,{code:"EPSG:3395",projection:wi,transformation:function(){var t=.5/(Math.PI*wi.R);return G(t,.5,-t,.5)}()}),Li=e({},H,{code:"EPSG:4326",projection:bi,transformation:G(1/180,1,-1/180,.5)}),ki=e({},F,{projection:bi,transformation:G(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});F.Earth=H,F.EPSG3395=Pi,F.EPSG3857=V,F.EPSG900913=J,F.EPSG4326=Li,F.Simple=ki;var Ti=S.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[s(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[s(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",(function(){e.off(i,this)}),this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});Ge.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=s(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=s(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return s(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?f(t)?t:[t]:[]).length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[s(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=s(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-1/0,i=this._getZoomSpan();for(var n in this._zoomBoundLayers){var o=this._zoomBoundLayers[n].options;t=void 0===o.minZoom?t:Math.min(t,o.minZoom),e=void 0===o.maxZoom?e:Math.max(e,o.maxZoom)}this._layersMaxZoom=e===-1/0?void 0:e,this._layersMinZoom=t===1/0?void 0:t,i!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Mi=Ti.extend({initialize:function(t,e){var i,n;if(d(this,e),this._layers={},t)for(i=0,n=t.length;i<n;i++)this.addLayer(t[i])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return("number"==typeof t?t:this.getLayerId(t))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)(i=this._layers[e])[t]&&i[t].apply(i,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return s(t)}}),zi=Mi.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),Mi.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),Mi.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new j;for(var e in this._layers){var i=this._layers[e];t.extend(i.getBounds?i.getBounds():i.getLatLng())}return t}}),Ci=z.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(t){d(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(!i){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var n=this._createImg(i,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(n,t),(this.options.crossOrigin||""===this.options.crossOrigin)&&(n.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),n},_setIconStyles:function(t,e){var i=this.options,n=i[e+"Size"];"number"==typeof n&&(n=[n,n]);var o=O(n),s=O("shadow"===e&&i.shadowAnchor||i.iconAnchor||o&&o.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),s&&(t.style.marginLeft=-s.x+"px",t.style.marginTop=-s.y+"px"),o&&(t.style.width=o.x+"px",t.style.height=o.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return At.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});var Si=Ci.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return"string"!=typeof Si.imagePath&&(Si.imagePath=this._detectIconPath()),(this.options.imagePath||Si.imagePath)+Ci.prototype._getIconUrl.call(this,t)},_stripUrl:function(t){var e=function(t,e,i){var n=e.exec(t);return n&&n[i]};return(t=e(t,/^url\((['"])?(.+)\1\)$/,2))&&e(t,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var t=oe("div","leaflet-default-icon-path",document.body),e=ne(t,"background-image")||ne(t,"backgroundImage");if(document.body.removeChild(t),e=this._stripUrl(e))return e;var i=document.querySelector('link[href$="leaflet.css"]');return i?i.href.substring(0,i.href.length-11-1):""}}),Zi=Qe.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new ii(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),ue(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&ce(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,i=e._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=ve(e._icon),r=i.getPixelBounds(),a=i.getPixelOrigin(),h=I(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));if(!h.contains(s)){var l=O((Math.max(h.max.x,s.x)-h.max.x)/(r.max.x-h.max.x)-(Math.min(h.min.x,s.x)-h.min.x)/(r.min.x-h.min.x),(Math.max(h.max.y,s.y)-h.max.y)/(r.max.y-h.max.y)-(Math.min(h.min.y,s.y)-h.min.y)/(r.min.y-h.min.y)).multiplyBy(n);i.panBy(l,{animate:!1}),this._draggable._newPos._add(l),this._draggable._startPos._add(l),ge(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=k(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(T(this._panRequest),this._panRequest=k(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,i=e._shadow,n=ve(e._icon),o=e._map.layerPointToLatLng(n);i&&ge(i,n),e._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){T(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Ei=Ti.extend({options:{icon:new Si,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){d(this,e),this._latlng=N(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=N(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),n=!1;i!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(i.title=t.title),"IMG"===i.tagName&&(i.alt=t.alt||"")),ue(i,e),t.keyboard&&(i.tabIndex="0",i.setAttribute("role","button")),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Me(i,"focus",this._panOnFocus,this);var o=t.icon.createShadow(this._shadow),s=!1;o!==this._shadow&&(this._removeShadow(),s=!0),o&&(ue(o,e),o.alt=""),this._shadow=o,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),o&&s&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Ce(this._icon,"focus",this._panOnFocus,this),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&ge(this._icon,t),this._shadow&&ge(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(ue(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Zi)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Zi(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&me(this._icon,t),this._shadow&&me(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var t=this._map;if(t){var e=this.options.icon.options,i=e.iconSize?O(e.iconSize):O(0,0),n=e.iconAnchor?O(e.iconAnchor):O(0,0);t.panInside(this._latlng,{paddingTopLeft:n,paddingBottomRight:i.subtract(n)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});var Oi=Ti.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return d(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),Ai=Oi.extend({options:{fill:!0,radius:10},initialize:function(t,e){d(this,e),this._latlng=N(t),this._radius=this.options.radius},setLatLng:function(t){var e=this._latlng;return this._latlng=N(t),this.redraw(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return Oi.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),n=[t+i,e+i];this._pxBounds=new A(this._point.subtract(n),this._point.add(n))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});var Ii=Ai.extend({initialize:function(t,i,n){if("number"==typeof i&&(i=e({},n,{radius:i})),d(this,i),this._latlng=N(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new j(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Oi.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,i=this._map,n=i.options.crs;if(n.distance===H.distance){var o=Math.PI/180,s=this._mRadius/H.R/o,r=i.project([e+s,t]),a=i.project([e-s,t]),h=r.add(a).divideBy(2),l=i.unproject(h).lat,u=Math.acos((Math.cos(s*o)-Math.sin(e*o)*Math.sin(l*o))/(Math.cos(e*o)*Math.cos(l*o)))/o;(isNaN(u)||0===u)&&(u=s/Math.cos(Math.PI/180*e)),this._point=h.subtract(i.getPixelOrigin()),this._radius=isNaN(u)?0:h.x-i.project([l,t-u]).x,this._radiusY=h.y-r.y}else{var c=n.unproject(n.project(this._latlng).subtract([this._mRadius,0]));this._point=i.latLngToLayerPoint(this._latlng),this._radius=this._point.x-i.latLngToLayerPoint(c).x}this._updateBounds()}});var ji=Oi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){d(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,i,n=1/0,o=null,s=_i,r=0,a=this._parts.length;r<a;r++)for(var h=this._parts[r],l=1,u=h.length;l<u;l++){var c=s(t,e=h[l-1],i=h[l],!0);c<n&&(n=c,o=s(t,e,i))}return o&&(o.distance=Math.sqrt(n)),o},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return vi(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=N(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new j,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return fi(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=fi(t),n=0,o=t.length;n<o;n++)i?(e[n]=N(t[n]),this._bounds.extend(e[n])):e[n]=this._convertLatLngs(t[n]);return e},_project:function(){var t=new A;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),e=new Z(t,t);this._rawPxBounds&&(this._pxBounds=new A([this._rawPxBounds.min.subtract(e),this._rawPxBounds.max.add(e)]))},_projectLatlngs:function(t,e,i){var n,o,s=t[0]instanceof R,r=t.length;if(s){for(o=[],n=0;n<r;n++)o[n]=this._map.latLngToLayerPoint(t[n]),i.extend(o[n]);e.push(o)}else for(n=0;n<r;n++)this._projectLatlngs(t[n],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var e,i,n,o,s,r,a,h=this._parts;for(e=0,n=0,o=this._rings.length;e<o;e++)for(i=0,s=(a=this._rings[e]).length;i<s-1;i++)(r=ci(a[i],a[i+1],t,i,!0))&&(h[n]=h[n]||[],h[n].push(r[0]),r[1]===a[i+1]&&i!==s-2||(h[n].push(r[1]),n++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,n=t.length;i<n;i++)t[i]=hi(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var i,n,o,s,r,a,h=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(i=0,s=this._parts.length;i<s;i++)for(n=0,o=(r=(a=this._parts[i]).length)-1;n<r;o=n++)if((e||0!==n)&&li(t,a[o],a[n])<=h)return!0;return!1}});ji._flat=gi;var Bi=ji.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return oi(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(t){var e=ji.prototype._convertLatLngs.call(this,t),i=e.length;return i>=2&&e[0]instanceof R&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){ji.prototype._setLatLngs.call(this,t),fi(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return fi(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new Z(e,e);if(t=new A(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;o<s;o++)(n=ni(this._rings[o],t,!0)).length&&this._parts.push(n)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,i,n,o,s,r,a,h,l=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o<a;o++)for(s=0,r=(h=(e=this._parts[o]).length)-1;s<h;r=s++)i=e[s],n=e[r],i.y>t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||ji.prototype._containsPoint.call(this,t,!0)}});var Ri=zi.extend({initialize:function(t,e){d(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=f(t)?t:t.features;if(o){for(e=0,i=o.length;e<i;e++)((n=o[e]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s=this.options;if(s.filter&&!s.filter(t))return this;var r=Ni(t,s);return r?(r.feature=Gi(t),r.defaultOptions=r.options,this.resetStyle(r),s.onEachFeature&&s.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return void 0===t?this.eachLayer(this.resetStyle,this):(t.options=e({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(t){return this.eachLayer((function(e){this._setLayerStyle(e,t)}),this)},_setLayerStyle:function(t,e){t.setStyle&&("function"==typeof e&&(e=e(t.feature)),t.setStyle(e))}});function Ni(t,e){var i,n,o,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],l=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Fi;if(!a&&!r)return null;switch(r.type){case"Point":return Di(l,t,i=u(a),e);case"MultiPoint":for(o=0,s=a.length;o<s;o++)i=u(a[o]),h.push(Di(l,t,i,e));return new zi(h);case"LineString":case"MultiLineString":return n=Hi(a,"LineString"===r.type?0:1,u),new ji(n,e);case"Polygon":case"MultiPolygon":return n=Hi(a,"Polygon"===r.type?1:2,u),new Bi(n,e);case"GeometryCollection":for(o=0,s=r.geometries.length;o<s;o++){var c=Ni({geometry:r.geometries[o],type:"Feature",properties:t.properties},e);c&&h.push(c)}return new zi(h);case"FeatureCollection":for(o=0,s=r.features.length;o<s;o++){var d=Ni(r.features[o],e);d&&h.push(d)}return new zi(h);default:throw new Error("Invalid GeoJSON object.")}}function Di(t,e,i,n){return t?t(e,i):new Ei(i,n&&n.markersInheritOptions&&n)}function Fi(t){return new R(t[1],t[0],t[2])}function Hi(t,e,i){for(var n,o=[],s=0,r=t.length;s<r;s++)n=e?Hi(t[s],e-1,i):(i||Fi)(t[s]),o.push(n);return o}function Ui(t,e){return void 0!==(t=N(t)).alt?[l(t.lng,e),l(t.lat,e),l(t.alt,e)]:[l(t.lng,e),l(t.lat,e)]}function Wi(t,e,i,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(e?Wi(t[s],fi(t[s])?0:e-1,i,n):Ui(t[s],n));return!e&&i&&o.length>0&&o.push(o[0].slice()),o}function qi(t,i){return t.feature?e({},t.feature,{geometry:i}):Gi(i)}function Gi(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Vi={toGeoJSON:function(t){return qi(this,{type:"Point",coordinates:Ui(this.getLatLng(),t)})}};function Ji(t,e){return new Ri(t,e)}Ei.include(Vi),Ii.include(Vi),Ai.include(Vi),ji.include({toGeoJSON:function(t){var e=!fi(this._latlngs);return qi(this,{type:(e?"Multi":"")+"LineString",coordinates:Wi(this._latlngs,e?1:0,!1,t)})}}),Bi.include({toGeoJSON:function(t){var e=!fi(this._latlngs),i=e&&!fi(this._latlngs[0]),n=Wi(this._latlngs,i?2:e?1:0,!0,t);return e||(n=[n]),qi(this,{type:(i?"Multi":"")+"Polygon",coordinates:n})}}),Mi.include({toMultiPoint:function(t){var e=[];return this.eachLayer((function(i){e.push(i.toGeoJSON(t).geometry.coordinates)})),qi(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var i="GeometryCollection"===e,n=[];return this.eachLayer((function(e){if(e.toGeoJSON){var o=e.toGeoJSON(t);if(i)n.push(o.geometry);else{var s=Gi(o);"FeatureCollection"===s.type?n.push.apply(n,s.features):n.push(s)}}})),i?qi(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});var Ki=Ji,Yi=Ti.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=B(e),d(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(ue(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&ae(this._image),this},bringToBack:function(){return this._map&&he(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=B(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:oe("img");ue(e,"leaflet-image-layer"),this._zoomAnimated&&ue(e,"leaflet-zoom-animated"),this.options.className&&ue(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onload=n(this.fire,this,"load"),e.onerror=n(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;fe(this._image,i,e)},_reset:function(){var t=this._image,e=new A(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();ge(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){me(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),Xi=Yi.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:oe("video");if(ue(e,"leaflet-image-layer"),this._zoomAnimated&&ue(e,"leaflet-zoom-animated"),this.options.className&&ue(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onloadeddata=n(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),o=[],s=0;s<i.length;s++)o.push(i[s].src);this._url=i.length>0?o:[e.src]}else{f(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var r=0;r<this._url.length;r++){var a=oe("source");a.src=this._url[r],e.appendChild(a)}}}});var $i=Yi.extend({_initImage:function(){var t=this._image=this._url;ue(t,"leaflet-image-layer"),this._zoomAnimated&&ue(t,"leaflet-zoom-animated"),this.options.className&&ue(t,this.options.className),t.onselectstart=h,t.onmousemove=h}});var Qi=Ti.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(t,e){t&&(t instanceof R||f(t))?(this._latlng=N(t),d(this,e)):(d(this,t),this._source=e),this.options.content&&(this._content=this.options.content)},openOn:function(t){return(t=arguments.length?t:this._source._map).hasLayer(this)||t.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(t){return this._map?this.close():(arguments.length?this._source=t:t=this._source,this._prepareOpen(),this.openOn(t._map)),this},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&me(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&me(this._container,1),this.bringToFront(),this.options.interactive&&(ue(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(t){t._fadeAnimated?(me(this._container,0),this._removeTimeout=setTimeout(n(se,void 0,this._container),200)):se(this._container),this.options.interactive&&(ce(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=N(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ae(this._container),this},bringToBack:function(){return this._map&&he(this._container),this},_prepareOpen:function(t){var e=this._source;if(!e._map)return!1;if(e instanceof zi){e=null;var i=this._source._layers;for(var n in i)if(i[n]._map){e=i[n];break}if(!e)return!1;this._source=e}if(!t)if(e.getCenter)t=e.getCenter();else if(e.getLatLng)t=e.getLatLng();else{if(!e.getBounds)throw new Error("Unable to get source layer LatLng.");t=e.getBounds().getCenter()}return this.setLatLng(t),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=O(this.options.offset),i=this._getAnchor();this._zoomAnimated?ge(this._container,t.add(i)):e=e.add(t).add(i);var n=this._containerBottom=-e.y,o=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=n+"px",this._container.style.left=o+"px"}},_getAnchor:function(){return[0,0]}});Ge.include({_initOverlay:function(t,e,i,n){var o=e;return o instanceof t||(o=new t(n).setContent(e)),i&&o.setLatLng(i),o}}),Ti.include({_initOverlay:function(t,e,i,n){var o=i;return o instanceof t?(d(o,n),o._source=this):(o=e&&!n?e:new t(n,this)).setContent(i),o}});var tn=Qi.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return!(t=arguments.length?t:this._source._map).hasLayer(this)&&t._popup&&t._popup.options.autoClose&&t.removeLayer(t._popup),t._popup=this,Qi.prototype.openOn.call(this,t)},onAdd:function(t){Qi.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Oi||this._source.on("preclick",Ae))},onRemove:function(t){Qi.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Oi||this._source.off("preclick",Ae))},getEvents:function(){var t=Qi.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this.close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_initLayout:function(){var t="leaflet-popup",e=this._container=oe("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),i=this._wrapper=oe("div",t+"-content-wrapper",e);if(this._contentNode=oe("div",t+"-content",i),je(e),Ie(this._contentNode),Me(e,"contextmenu",Ae),this._tipContainer=oe("div",t+"-tip-container",e),this._tip=oe("div",t+"-tip",this._tipContainer),this.options.closeButton){var n=this._closeButton=oe("a",t+"-close-button",e);n.setAttribute("role","button"),n.setAttribute("aria-label","Close popup"),n.href="#close",n.innerHTML='<span aria-hidden="true">&#215;</span>',Me(n,"click",(function(t){Be(t),this.close()}),this)}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var i=t.offsetWidth;i=Math.min(i,this.options.maxWidth),i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="";var n=t.offsetHeight,o=this.options.maxHeight,s="leaflet-popup-scrolled";o&&n>o?(e.height=o+"px",ue(t,s)):ce(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();ge(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan)if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning)this._autopanning=!1;else{var t=this._map,e=parseInt(ne(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,o=new Z(this._containerLeft,-i-this._containerBottom);o._add(ve(this._container));var s=t.layerPointToContainerPoint(o),r=O(this.options.autoPanPadding),a=O(this.options.autoPanPaddingTopLeft||r),h=O(this.options.autoPanPaddingBottomRight||r),l=t.getSize(),u=0,c=0;s.x+n+h.x>l.x&&(u=s.x+n-l.x+h.x),s.x-u-a.x<0&&(u=s.x-a.x),s.y+i+h.y>l.y&&(c=s.y+i-l.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(u||c)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([u,c]))}},_getAnchor:function(){return O(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Ge.mergeOptions({closePopupOnClick:!0}),Ge.include({openPopup:function(t,e,i){return this._initOverlay(tn,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),Ti.include({bindPopup:function(t,e){return this._popup=this._initOverlay(tn,this._popup,t,e),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(t){return this._popup&&(this instanceof zi||(this._popup._source=this),this._popup._prepareOpen(t||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()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(this._popup&&this._map){Re(t);var e=t.layer||t.target;this._popup._source!==e||e instanceof Oi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var en=Qi.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Qi.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Qi.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Qi.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=oe("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+s(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),a=this.options.direction,h=o.offsetWidth,l=o.offsetHeight,u=O(this.options.offset),c=this._getAnchor();"top"===a?(e=h/2,i=l):"bottom"===a?(e=h/2,i=0):"center"===a?(e=h/2,i=l/2):"right"===a?(e=0,i=l/2):"left"===a?(e=h,i=l/2):r.x<s.x?(a="right",e=0,i=l/2):(a="left",e=h+2*(u.x+c.x),i=l/2),t=t.subtract(O(e,i,!0)).add(u).add(c),ce(o,"leaflet-tooltip-right"),ce(o,"leaflet-tooltip-left"),ce(o,"leaflet-tooltip-top"),ce(o,"leaflet-tooltip-bottom"),ue(o,"leaflet-tooltip-"+a),ge(o,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&me(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return O(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});Ge.include({openTooltip:function(t,e,i){return this._initOverlay(en,t,e,i).openOn(this),this},closeTooltip:function(t){return t.close(),this}}),Ti.include({bindTooltip:function(t,e){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(en,this._tooltip,t,e),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?"off":"on",i={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,i.click=this._openTooltip,this._map?this._addFocusListeners():i.add=this._addFocusListeners),this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),this[e](i),this._tooltipHandlersAdded=!t}},openTooltip:function(t){return this._tooltip&&(this instanceof zi||(this._tooltip._source=this),this._tooltip._prepareOpen(t)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&(Me(e,"focus",(function(){this._tooltip._source=t,this.openTooltip()}),this),Me(e,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&e.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(t){if(this._tooltip&&this._map)if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var e=this;this._map.once("moveend",(function(){e._openOnceFlag=!1,e._openTooltip(t)}))}else this._tooltip._source=t.layer||t.target,this.openTooltip(this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var e,i,n=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(e=this._map.mouseEventToContainerPoint(t.originalEvent),i=this._map.containerPointToLayerPoint(e),n=this._map.layerPointToLatLng(i)),this._tooltip.setLatLng(n)}});var nn=Ci.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),i=this.options;if(i.html instanceof Element?(re(e),e.appendChild(i.html)):e.innerHTML=!1!==i.html?i.html:"",i.bgPos){var n=O(i.bgPos);e.style.backgroundPosition=-n.x+"px "+-n.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});Ci.Default=Si;var on=Ti.extend({options:{tileSize:256,opacity:1,updateWhenIdle:At.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){d(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),se(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ae(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(he(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var t=this._clampZoom(this._map.getZoom());t!==this._tileZoom&&(this._tileZoom=t,this._updateLevels()),this._update()}return this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=r(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof Z?t:new Z(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,n=-t(-1/0,1/0),o=0,s=i.length;o<s;o++)e=i[o].style.zIndex,i[o]!==this._container&&e&&(n=t(n,+e));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!At.ielt9){me(this._container,this.options.opacity);var t=+new Date,e=!1,i=!1;for(var n in this._tiles){var o=this._tiles[n];if(o.current&&o.loaded){var s=Math.min(1,(t-o.loaded)/200);me(o.el,s),s<1?e=!0:(o.active?i=!0:this._onOpaqueTile(o),o.active=!0)}}i&&!this._noPrune&&this._pruneTiles(),e&&(T(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this))}},_onOpaqueTile:h,_initContainer:function(){this._container||(this._container=oe("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var i in this._levels)i=Number(i),this._levels[i].el.children.length||i===t?(this._levels[i].el.style.zIndex=e-Math.abs(t-i),this._onUpdateLevel(i)):(se(this._levels[i].el),this._removeTilesAtZoom(i),this._onRemoveLevel(i),delete this._levels[i]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=oe("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=e,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),n.el.offsetWidth,this._onCreateLevel(n)),this._level=n,n}},_onUpdateLevel:h,_onRemoveLevel:h,_onCreateLevel:h,_pruneTiles:function(){if(this._map){var t,e,i=this._map.getZoom();if(i>this.options.maxZoom||i<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(e=this._tiles[t]).retain=e.current;for(t in this._tiles)if((e=this._tiles[t]).current&&!e.active){var n=e.coords;this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)se(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,i,n){var o=Math.floor(t/2),s=Math.floor(e/2),r=i-1,a=new Z(+o,+s);a.z=+r;var h=this._tileCoordsToKey(a),l=this._tiles[h];return l&&l.active?(l.retain=!0,!0):(l&&l.loaded&&(l.retain=!0),r>n&&this._retainParent(o,s,r,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new Z(o,s);r.z=i+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),i+1<n&&this._retainChildren(o,s,i+1,n))}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,i,n){var o=Math.round(e);o=void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom?void 0:this._clampZoom(o);var s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),i||this._pruneTiles(),this._noPrune=!!i),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var n=this._map.getZoomScale(i,t.zoom),o=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(e,i)).round();At.any3d?fe(t.el,o,n):ge(t.el,o)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],n).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],n).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],n).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],n).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),n=e.getZoomScale(i,this._tileZoom),o=e.project(t,this._tileZoom).floor(),s=e.getSize().divideBy(2*n);return new A(o.subtract(s),o.add(s))},_update:function(t){var e=this._map;if(e){var i=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var n=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(n),s=o.getCenter(),r=[],a=this.options.keepBuffer,h=new A(o.getBottomLeft().subtract([a,-a]),o.getTopRight().add([a,-a]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var l in this._tiles){var u=this._tiles[l].coords;u.z===this._tileZoom&&h.contains(new Z(u.x,u.y))||(this._tiles[l].current=!1)}if(Math.abs(i-this._tileZoom)>1)this._setView(t,i);else{for(var c=o.min.y;c<=o.max.y;c++)for(var d=o.min.x;d<=o.max.x;d++){var p=new Z(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var m=this._tiles[this._tileCoordsToKey(p)];m?m.current=!0:r.push(p)}}if(r.sort((function(t,e){return t.distanceTo(s)-e.distanceTo(s)})),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var _=document.createDocumentFragment();for(d=0;d<r.length;d++)this._addTile(r[d],_);this._level.el.appendChild(_)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return B(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i);return[e.unproject(n,t.z),e.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new j(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new Z(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(se(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){ue(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=h,t.onmousemove=h,At.ielt9&&this.options.opacity<1&&me(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),o=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),n(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&k(n(this._tileReady,this,t,null,s)),ge(s,i),this._tiles[o]={el:s,coords:t,current:!0},e.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var o=this._tileCoordsToKey(t);(i=this._tiles[o])&&(i.loaded=+new Date,this._map._fadeAnimated?(me(i.el,0),T(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(ue(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),At.ielt9||!this._map._fadeAnimated?k(this._pruneTiles,this):setTimeout(n(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new Z(this._wrapX?a(t.x,this._wrapX):t.x,this._wrapY?a(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new A(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var sn=on.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=d(this,e)).detectRetina&&At.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return Me(i,"load",n(this._tileOnLoad,this,e,i)),Me(i,"error",n(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var i={r:At.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(i.y=n),i["-y"]=n}return _(this._url,e(i,this.options))},_tileOnLoad:function(t,e){At.ielt9?setTimeout(n(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return this.options.zoomReverse&&(t=e-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=h,e.onerror=h,!e.complete)){e.src=v;var i=this._tiles[t].coords;se(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",v),on.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==v))return on.prototype._tileReady.call(this,t,e,i)}});function rn(t,e){return new sn(t,e)}var an=sn.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,i){this._url=t;var n=e({},this.defaultWmsParams);for(var o in i)o in this.options||(n[o]=i[o]);var s=(i=d(this,i)).detectRetina&&At.retina?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,sn.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=I(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===Li?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=sn.prototype.getTileUrl.call(this,t);return a+p(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,i){return e(this.wmsParams,t),i||this.redraw(),this}});sn.WMS=an,rn.wms=function(t,e){return new an(t,e)};var hn=Ti.extend({options:{padding:.1},initialize:function(t){d(this,t),s(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),ue(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 t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),s=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));At.any3d?fe(this._container,s,i):ge(this._container,s)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new A(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),ln=hn.extend({options:{tolerance:0},getEvents:function(){var t=hn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){hn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");Me(t,"mousemove",this._onMouseMove,this),Me(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Me(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){T(this._redrawRequest),delete this._ctx,se(this._container),Ce(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){hn.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=At.retina?2:1;ge(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",At.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){hn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[s(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[s(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,n=t.options.dashArray.split(/[, ]+/),o=[];for(i=0;i<n.length;i++){if(e=Number(n[i]),isNaN(e))return;o.push(e)}t.options._dashArray=o}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||k(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new A,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var i=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,i.x,i.y),this._ctx.clip()}this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(h.beginPath(),i=0;i<a;i++){for(n=0,o=r[i].length;n<o;n++)s=r[i][n],h[n?"lineTo":"moveTo"](s.x,s.y);e&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var e=t._point,i=this._ctx,n=Math.max(Math.round(t._radius),1),o=(Math.max(Math.round(t._radiusY),1)||n)/n;1!==o&&(i.save(),i.scale(1,o)),i.beginPath(),i.arc(e.x,e.y/o,n,0,2*Math.PI,!1),1!==o&&i.restore(),this._fillStroke(i,t)}},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||"evenodd")),i.stroke&&0!==i.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(n)&&("click"!==t.type&&"preclick"!==t.type||!this._map._draggableMoved(e))&&(i=e);this._fireEvent(!!i&&[i],t)},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(ce(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,e){if(!this._mouseHoverThrottled){for(var i,o,s=this._drawFirst;s;s=s.next)(i=s.layer).options.interactive&&i._containsPoint(e)&&(o=i);o!==this._hoveredLayer&&(this._handleMouseOut(t),o&&(ue(this._container,"leaflet-interactive"),this._fireEvent([o],t,"mouseover"),this._hoveredLayer=o)),this._fireEvent(!!this._hoveredLayer&&[this._hoveredLayer],t),this._mouseHoverThrottled=!0,setTimeout(n((function(){this._mouseHoverThrottled=!1}),this),32)}},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e=t._order;if(e){var i=e.next,n=e.prev;i&&(i.prev=n,n?n.next=i:i&&(this._drawFirst=i),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))}},_bringToBack:function(t){var e=t._order;if(e){var i=e.next,n=e.prev;n&&(n.next=i,i?i.prev=n:n&&(this._drawLast=n),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}});function un(t){return At.canvas?new ln(t):null}var cn=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),dn={_initContainer:function(){this._container=oe("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(hn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=cn("shape");ue(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=cn("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[s(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;se(e),t.removeInteractiveTarget(e),delete this._layers[s(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=cn("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=f(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=cn("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){ae(t._container)},_bringToBack:function(t){he(t._container)}},pn=At.vml?cn:K,mn=hn.extend({_initContainer:function(){this._container=pn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=pn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),Ce(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){hn.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),ge(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=pn("path");t.options.className&&ue(e,t.options.className),t.options.interactive&&ue(e,"leaflet-interactive"),this._updateStyle(t),this._layers[s(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){se(t._path),t.removeInteractiveTarget(t._path),delete this._layers[s(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,Y(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,o)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){ae(t._path)},_bringToBack:function(t){he(t._path)}});function fn(t){return At.svg||At.vml?new mn(t):null}At.vml&&mn.include(dn),Ge.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&un(t)||fn(t)}});var gn=Bi.extend({initialize:function(t,e){Bi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=B(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});mn.create=pn,mn.pointsToPath=Y,Ri.geometryToLayer=Ni,Ri.coordsToLatLng=Fi,Ri.coordsToLatLngs=Hi,Ri.latLngToCoords=Ui,Ri.latLngsToCoords=Wi,Ri.getFeature=qi,Ri.asFeature=Gi,Ge.mergeOptions({boxZoom:!0});var vn=Qe.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){Me(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Ce(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),Jt(),be(),this._startPoint=this._map.mouseEventToContainerPoint(t),Me(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=oe("div","leaflet-zoom-box",this._container),ue(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new A(this._point,this._startPoint),i=e.getSize();ge(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(se(this._box),ce(this._container,"leaflet-crosshair")),Kt(),we(),Ce(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(n(this._resetState,this),0);var e=new j(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Ge.addInitHook("addHandler","boxZoom",vn),Ge.mergeOptions({doubleClickZoom:!0});var yn=Qe.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});Ge.addInitHook("addHandler","doubleClickZoom",yn),Ge.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var bn=Qe.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new ii(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}ue(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ce(this._map._container,"leaflet-grab"),ce(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 t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=B(this._map.options.maxBounds);this._offsetLimit=I(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)<Math.abs(s+i)?o:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var e=this._map,i=e.options,n=!i.inertia||t.noInertia||this._times.length<2;if(e.fire("dragend",t),n)e.fire("moveend");else{this._prunePositions(+new Date);var o=this._lastPos.subtract(this._positions[0]),s=(this._lastTime-this._times[0])/1e3,r=i.easeLinearity,a=o.multiplyBy(r/s),h=a.distanceTo([0,0]),l=Math.min(i.inertiaMaxSpeed,h),u=a.multiplyBy(l/h),c=l/(i.inertiaDeceleration*r),d=u.multiplyBy(-c/2).round();d.x||d.y?(d=e._limitOffset(d,e.options.maxBounds),k((function(){e.panBy(d,{duration:c,easeLinearity:r,noMoveStart:!0,animate:!0})}))):e.fire("moveend")}}});Ge.addInitHook("addHandler","dragging",bn),Ge.mergeOptions({keyboard:!0,keyboardPanDelta:80});var wn=Qe.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),Me(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Ce(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,i=t.scrollTop||e.scrollTop,n=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(n,i)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,i,n=this._panKeys={},o=this.keyCodes;for(e=0,i=o.left.length;e<i;e++)n[o.left[e]]=[-1*t,0];for(e=0,i=o.right.length;e<i;e++)n[o.right[e]]=[t,0];for(e=0,i=o.down.length;e<i;e++)n[o.down[e]]=[0,t];for(e=0,i=o.up.length;e<i;e++)n[o.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,i,n=this._zoomKeys={},o=this.keyCodes;for(e=0,i=o.zoomIn.length;e<i;e++)n[o.zoomIn[e]]=t;for(e=0,i=o.zoomOut.length;e<i;e++)n[o.zoomOut[e]]=-t},_addHooks:function(){Me(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Ce(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i=t.keyCode,n=this._map;if(i in this._panKeys){if(!n._panAnim||!n._panAnim._inProgress)if(e=this._panKeys[i],t.shiftKey&&(e=O(e).multiplyBy(3)),n.options.maxBounds&&(e=n._limitOffset(O(e),n.options.maxBounds)),n.options.worldCopyJump){var o=n.wrapLatLng(n.unproject(n.project(n.getCenter()).add(e)));n.panTo(o)}else n.panBy(e)}else if(i in this._zoomKeys)n.setZoom(n.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[i]);else{if(27!==i||!n._popup||!n._popup.options.closeOnEscapeKey)return;n.closePopup()}Re(t)}}});Ge.addInitHook("addHandler","keyboard",wn),Ge.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var xn=Qe.extend({addHooks:function(){Me(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Ce(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=He(t),i=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var o=Math.max(i-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(n(this._performZoom,this),o),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0;t._stop();var n=this._delta/(4*this._map.options.wheelPxPerZoomLevel),o=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,s=i?Math.ceil(o/i)*i:o,r=t._limitZoom(e+(this._delta>0?s:-s))-e;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});Ge.addInitHook("addHandler","scrollWheelZoom",xn);Ge.mergeOptions({tapHold:At.touchNative&&At.safari&&At.mobile,tapTolerance:15});var Pn=Qe.extend({addHooks:function(){Me(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Ce(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),1===t.touches.length){var e=t.touches[0];this._startPos=this._newPos=new Z(e.clientX,e.clientY),this._holdTimeout=setTimeout(n((function(){this._cancel(),this._isTapValid()&&(Me(document,"touchend",Be),Me(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))}),this),600),Me(document,"touchend touchcancel contextmenu",this._cancel,this),Me(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){Ce(document,"touchend",Be),Ce(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),Ce(document,"touchend touchcancel contextmenu",this._cancel,this),Ce(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new Z(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});Ge.addInitHook("addHandler","tapHold",Pn),Ge.mergeOptions({touchZoom:At.touch,bounceAtZoomLimits:!0});var Ln=Qe.extend({addHooks:function(){ue(this._map._container,"leaflet-touch-zoom"),Me(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ce(this._map._container,"leaflet-touch-zoom"),Ce(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),Me(document,"touchmove",this._onTouchMove,this),Me(document,"touchend touchcancel",this._onTouchEnd,this),Be(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),o=e.mouseEventToContainerPoint(t.touches[1]),s=i.distanceTo(o)/this._startDist;if(this._zoom=e.getScaleZoom(s,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&s<1||this._zoom>e.getMaxZoom()&&s>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=i._add(o)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),T(this._animRequest);var a=n(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=k(a,this,!0),Be(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,T(this._animRequest),Ce(document,"touchmove",this._onTouchMove,this),Ce(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))):this._zooming=!1}});Ge.addInitHook("addHandler","touchZoom",Ln),Ge.BoxZoom=vn,Ge.DoubleClickZoom=yn,Ge.Drag=bn,Ge.Keyboard=wn,Ge.ScrollWheelZoom=xn,Ge.TapHold=Pn,Ge.TouchZoom=Ln,t.Bounds=A,t.Browser=At,t.CRS=F,t.Canvas=ln,t.Circle=Ii,t.CircleMarker=Ai,t.Class=z,t.Control=Ve,t.DivIcon=nn,t.DivOverlay=Qi,t.DomEvent=We,t.DomUtil=Te,t.Draggable=ii,t.Evented=S,t.FeatureGroup=zi,t.GeoJSON=Ri,t.GridLayer=on,t.Handler=Qe,t.Icon=Ci,t.ImageOverlay=Yi,t.LatLng=R,t.LatLngBounds=j,t.Layer=Ti,t.LayerGroup=Mi,t.LineUtil=yi,t.Map=Ge,t.Marker=Ei,t.Mixin=ti,t.Path=Oi,t.Point=Z,t.PolyUtil=ai,t.Polygon=Bi,t.Polyline=ji,t.Popup=tn,t.PosAnimation=qe,t.Projection=xi,t.Rectangle=gn,t.Renderer=hn,t.SVG=mn,t.SVGOverlay=$i,t.TileLayer=sn,t.Tooltip=en,t.Transformation=q,t.Util=M,t.VideoOverlay=Xi,t.bind=n,t.bounds=I,t.canvas=un,t.circle=function(t,e,i){return new Ii(t,e,i)},t.circleMarker=function(t,e){return new Ai(t,e)},t.control=Je,t.divIcon=function(t){return new nn(t)},t.extend=e,t.featureGroup=function(t,e){return new zi(t,e)},t.geoJSON=Ji,t.geoJson=Ki,t.gridLayer=function(t){return new on(t)},t.icon=function(t){return new Ci(t)},t.imageOverlay=function(t,e,i){return new Yi(t,e,i)},t.latLng=N,t.latLngBounds=B,t.layerGroup=function(t,e){return new Mi(t,e)},t.map=function(t,e){return new Ge(t,e)},t.marker=function(t,e){return new Ei(t,e)},t.point=O,t.polygon=function(t,e){return new Bi(t,e)},t.polyline=function(t,e){return new ji(t,e)},t.popup=function(t,e){return new tn(t,e)},t.rectangle=function(t,e){return new gn(t,e)},t.setOptions=d,t.stamp=s,t.svg=fn,t.svgOverlay=function(t,e,i){return new $i(t,e,i)},t.tileLayer=rn,t.tooltip=function(t,e){return new en(t,e)},t.transformation=G,t.version="1.9.4",t.videoOverlay=function(t,e,i){return new Xi(t,e,i)};var kn=window.L;t.noConflict=function(){return window.L=kn,this},window.L=t}(e)},159:(t,e,i)=>{"use strict";(n=i(609))&&"object"==typeof n&&"default"in n&&n.default;var n,o=i(576),s=new o,r=s.getBrowser(),a=(s.getCPU(),s.getDevice()),h=s.getEngine(),l=s.getOS(),u=s.getUA();var c="mobile",d="tablet",p="Chrome",m="Firefox",_="Opera",f="Yandex",g="Safari",v="Internet Explorer",y="Edge",b="Chromium",w="IE",x="Mobile Safari",P="MIUI Browser",L="Samsung Browser",k="iOS",T="Android",M="Windows Phone",z="Windows",C="Mac OS",S=function(t){return t||(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"none")},Z=function(){return!("undefined"==typeof window||!window.navigator&&!navigator)&&(window.navigator||navigator)},E=function(t){var e=Z();return e&&e.platform&&(-1!==e.platform.indexOf(t)||"MacIntel"===e.platform&&e.maxTouchPoints>1&&!window.MSStream)},O=function(t){return t.type===c},A=function(t){return t.type===d},I=function(t){var e=t.type;return e===c||e===d},j=function(t){return"smarttv"===t.type},B=function(t){return undefined===t.type},R=function(t){return"wearable"===t.type},N=function(t){return"console"===t.type},D=function(t){return"embedded"===t.type},F=function(t){var e=t.vendor;return S(e)},H=function(t){var e=t.model;return S(e)},U=function(t){var e=t.type;return S(e,"browser")},W=function(t){return t.name===T},q=function(t){return t.name===z},G=function(t){return t.name===C},V=function(t){return t.name===M},J=function(t){return t.name===k},K=function(t){var e=t.version;return S(e)},Y=function(t){var e=t.name;return S(e)},X=function(t){return t.name===p},$=function(t){return t.name===m},Q=function(t){return t.name===b},tt=function(t){return t.name===y},et=function(t){return t.name===f},it=function(t){var e=t.name;return e===g||e===x},nt=function(t){return t.name===x},ot=function(t){return t.name===_},st=function(t){var e=t.name;return e===v||e===w},rt=function(t){return t.name===P},at=function(t){return t.name===L},ht=function(t){var e=t.version;return S(e)},lt=function(t){var e=t.major;return S(e)},ut=function(t){var e=t.name;return S(e)},ct=function(t){var e=t.name;return S(e)},dt=function(t){var e=t.version;return S(e)},pt=function(){var t=Z(),e=t&&t.userAgent&&t.userAgent.toLowerCase();return"string"==typeof e&&/electron/.test(e)},mt=function(t){return"string"==typeof t&&-1!==t.indexOf("Edg/")},_t=function(){var t=Z();return t&&(/iPad|iPhone|iPod/.test(t.platform)||"MacIntel"===t.platform&&t.maxTouchPoints>1)&&!window.MSStream},ft=function(){return E("iPad")},gt=function(){return E("iPhone")},vt=function(){return E("iPod")},yt=function(t){return S(t)};j(a),N(a),R(a),D(a),nt(r)||ft(),Q(r);var bt=I(a)||ft(),wt=(O(a),A(a)||ft(),B(a),B(a),W(l),V(l),J(l)||ft(),X(r),$(r),it(r));ot(r),st(r),K(l),Y(l),ht(r),lt(r),ut(r),F(a),H(a),ct(h),dt(h),yt(u),tt(r)||mt(u),et(r),U(a),_t(),ft(),gt(),vt(),pt(),mt(u),tt(r)&&mt(u),q(l),G(l),rt(r),at(r);e.Fr=bt,e.nr=wt},576:function(t,e,i){var n;!function(o,s){"use strict";var r="function",a="undefined",h="object",l="string",u="major",c="model",d="name",p="type",m="vendor",_="version",f="architecture",g="console",v="mobile",y="tablet",b="smarttv",w="wearable",x="embedded",P="Amazon",L="Apple",k="ASUS",T="BlackBerry",M="Browser",z="Chrome",C="Firefox",S="Google",Z="Huawei",E="LG",O="Microsoft",A="Motorola",I="Opera",j="Samsung",B="Sharp",R="Sony",N="Xiaomi",D="Zebra",F="Facebook",H="Chromium OS",U="Mac OS",W=" Browser",q=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].toUpperCase()]=t[i];return e},G=function(t,e){return typeof t===l&&-1!==V(e).indexOf(V(t))},V=function(t){return t.toLowerCase()},J=function(t,e){if(typeof t===l)return t=t.replace(/^\s\s*/,""),typeof e===a?t:t.substring(0,500)},K=function(t,e){for(var i,n,o,a,l,u,c=0;c<e.length&&!l;){var d=e[c],p=e[c+1];for(i=n=0;i<d.length&&!l&&d[i];)if(l=d[i++].exec(t))for(o=0;o<p.length;o++)u=l[++n],typeof(a=p[o])===h&&a.length>0?2===a.length?typeof a[1]==r?this[a[0]]=a[1].call(this,u):this[a[0]]=a[1]:3===a.length?typeof a[1]!==r||a[1].exec&&a[1].test?this[a[0]]=u?u.replace(a[1],a[2]):s:this[a[0]]=u?a[1].call(this,u,a[2]):s:4===a.length&&(this[a[0]]=u?a[3].call(this,u.replace(a[1],a[2])):s):this[a]=u||s;c+=2}},Y=function(t,e){for(var i in e)if(typeof e[i]===h&&e[i].length>0){for(var n=0;n<e[i].length;n++)if(G(e[i][n],t))return"?"===i?s:i}else if(G(e[i],t))return"?"===i?s:i;return e.hasOwnProperty("*")?e["*"]:t},X={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},$={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[_,[d,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[_,[d,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[d,_],[/opios[\/ ]+([\w\.]+)/i],[_,[d,I+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[_,[d,I+" GX"]],[/\bopr\/([\w\.]+)/i],[_,[d,I]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[_,[d,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[d,_],[/quark(?:pc)?\/([-\w\.]+)/i],[_,[d,"Quark"]],[/\bddg\/([\w\.]+)/i],[_,[d,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[_,[d,"UC"+M]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[_,[d,"WeChat"]],[/konqueror\/([\w\.]+)/i],[_,[d,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[_,[d,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[_,[d,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[_,[d,"Smart Lenovo "+M]],[/(avast|avg)\/([\w\.]+)/i],[[d,/(.+)/,"$1 Secure "+M],_],[/\bfocus\/([\w\.]+)/i],[_,[d,C+" Focus"]],[/\bopt\/([\w\.]+)/i],[_,[d,I+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[_,[d,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[_,[d,"Dolphin"]],[/coast\/([\w\.]+)/i],[_,[d,I+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[_,[d,"MIUI "+M]],[/fxios\/([-\w\.]+)/i],[_,[d,C]],[/\bqihu|(qi?ho?o?|360)browser/i],[[d,"360"+W]],[/\b(qq)\/([\w\.]+)/i],[[d,/(.+)/,"$1Browser"],_],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[d,/(.+)/,"$1"+W],_],[/samsungbrowser\/([\w\.]+)/i],[_,[d,j+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[d,/_/g," "],_],[/metasr[\/ ]?([\d\.]+)/i],[_,[d,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[d,"Sogou Mobile"],_],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[d,_],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[d],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[d,F],_],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[d,_],[/\bgsa\/([\w\.]+) .*safari\//i],[_,[d,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[_,[d,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[_,[d,z+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[d,z+" WebView"],_],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[_,[d,"Android "+M]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[d,_],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[_,[d,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[_,d],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[d,[_,Y,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[d,_],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[d,"Netscape"],_],[/(wolvic)\/([\w\.]+)/i],[d,_],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[_,[d,C+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[d,[_,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[d,[_,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,V]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",V]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,V]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[m,j],[p,y]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[c,[m,j],[p,v]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[c,[m,L],[p,v]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[c,[m,L],[p,y]],[/(macintosh);/i],[c,[m,L]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[c,[m,B],[p,v]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[c,[m,Z],[p,y]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[c,[m,Z],[p,v]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i],[[c,/_/g," "],[m,N],[p,v]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[c,/_/g," "],[m,N],[p,y]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[c,[m,"OPPO"],[p,v]],[/\b(opd2\d{3}a?) bui/i],[c,[m,"OPPO"],[p,y]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[c,[m,"Vivo"],[p,v]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[c,[m,"Realme"],[p,v]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[c,[m,A],[p,v]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[c,[m,A],[p,y]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[m,E],[p,y]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[c,[m,E],[p,v]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[c,[m,"Lenovo"],[p,y]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[c,/_/g," "],[m,"Nokia"],[p,v]],[/(pixel c)\b/i],[c,[m,S],[p,y]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[c,[m,S],[p,v]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[c,[m,R],[p,v]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[c,"Xperia Tablet"],[m,R],[p,y]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[c,[m,"OnePlus"],[p,v]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[c,[m,P],[p,y]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[c,/(.+)/g,"Fire Phone $1"],[m,P],[p,v]],[/(playbook);[-\w\),; ]+(rim)/i],[c,m,[p,y]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[c,[m,T],[p,v]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[c,[m,k],[p,y]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[c,[m,k],[p,v]],[/(nexus 9)/i],[c,[m,"HTC"],[p,y]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[m,[c,/_/g," "],[p,v]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[c,[m,"TCL"],[p,y]],[/(itel) ((\w+))/i],[[m,V],c,[p,Y,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[c,[m,"Acer"],[p,y]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[c,[m,"Meizu"],[p,v]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[c,[m,"Ulefone"],[p,v]],[/droid.+; (a(?:015|06[35]|142p?))/i],[c,[m,"Nothing"],[p,v]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[m,c,[p,v]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[m,c,[p,y]],[/(surface duo)/i],[c,[m,O],[p,y]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[c,[m,"Fairphone"],[p,v]],[/(u304aa)/i],[c,[m,"AT&T"],[p,v]],[/\bsie-(\w*)/i],[c,[m,"Siemens"],[p,v]],[/\b(rct\w+) b/i],[c,[m,"RCA"],[p,y]],[/\b(venue[\d ]{2,7}) b/i],[c,[m,"Dell"],[p,y]],[/\b(q(?:mv|ta)\w+) b/i],[c,[m,"Verizon"],[p,y]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[c,[m,"Barnes & Noble"],[p,y]],[/\b(tm\d{3}\w+) b/i],[c,[m,"NuVision"],[p,y]],[/\b(k88) b/i],[c,[m,"ZTE"],[p,y]],[/\b(nx\d{3}j) b/i],[c,[m,"ZTE"],[p,v]],[/\b(gen\d{3}) b.+49h/i],[c,[m,"Swiss"],[p,v]],[/\b(zur\d{3}) b/i],[c,[m,"Swiss"],[p,y]],[/\b((zeki)?tb.*\b) b/i],[c,[m,"Zeki"],[p,y]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[m,"Dragon Touch"],c,[p,y]],[/\b(ns-?\w{0,9}) b/i],[c,[m,"Insignia"],[p,y]],[/\b((nxa|next)-?\w{0,9}) b/i],[c,[m,"NextBook"],[p,y]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[m,"Voice"],c,[p,v]],[/\b(lvtel\-)?(v1[12]) b/i],[[m,"LvTel"],c,[p,v]],[/\b(ph-1) /i],[c,[m,"Essential"],[p,v]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[c,[m,"Envizen"],[p,y]],[/\b(trio[-\w\. ]+) b/i],[c,[m,"MachSpeed"],[p,y]],[/\btu_(1491) b/i],[c,[m,"Rotor"],[p,y]],[/(shield[\w ]+) b/i],[c,[m,"Nvidia"],[p,y]],[/(sprint) (\w+)/i],[m,c,[p,v]],[/(kin\.[onetw]{3})/i],[[c,/\./g," "],[m,O],[p,v]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[c,[m,D],[p,y]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[c,[m,D],[p,v]],[/smart-tv.+(samsung)/i],[m,[p,b]],[/hbbtv.+maple;(\d+)/i],[[c,/^/,"SmartTV"],[m,j],[p,b]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[m,E],[p,b]],[/(apple) ?tv/i],[m,[c,L+" TV"],[p,b]],[/crkey/i],[[c,z+"cast"],[m,S],[p,b]],[/droid.+aft(\w+)( bui|\))/i],[c,[m,P],[p,b]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[c,[m,B],[p,b]],[/(bravia[\w ]+)( bui|\))/i],[c,[m,R],[p,b]],[/(mitv-\w{5}) bui/i],[c,[m,N],[p,b]],[/Hbbtv.*(technisat) (.*);/i],[m,c,[p,b]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[m,J],[c,J],[p,b]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[p,b]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[m,c,[p,g]],[/droid.+; (shield) bui/i],[c,[m,"Nvidia"],[p,g]],[/(playstation [345portablevi]+)/i],[c,[m,R],[p,g]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[c,[m,O],[p,g]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[c,[m,j],[p,w]],[/((pebble))app/i],[m,c,[p,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[c,[m,L],[p,w]],[/droid.+; (glass) \d/i],[c,[m,S],[p,w]],[/droid.+; (wt63?0{2,3})\)/i],[c,[m,D],[p,w]],[/(quest( \d| pro)?)/i],[c,[m,F],[p,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[m,[p,x]],[/(aeobc)\b/i],[c,[m,P],[p,x]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[c,[p,v]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[c,[p,y]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[p,y]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[p,v]],[/(android[-\w\. ]{0,9});.+buil/i],[c,[m,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[_,[d,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[_,[d,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[d,_],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[_,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,_],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[d,[_,Y,X]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[_,Y,X],[d,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[_,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[d,U],[_,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[_,d],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[d,_],[/\(bb(10);/i],[_,[d,T]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[_,[d,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[_,[d,C+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[_,[d,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[_,[d,"watchOS"]],[/crkey\/([\d\.]+)/i],[_,[d,z+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[d,H],_],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[d,_],[/(sunos) ?([\w\.\d]*)/i],[[d,"Solaris"],_],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[d,_]]},Q=function(t,e){if(typeof t===h&&(e=t,t=s),!(this instanceof Q))return new Q(t,e).getResult();var i=typeof o!==a&&o.navigator?o.navigator:s,n=t||(i&&i.userAgent?i.userAgent:""),g=i&&i.userAgentData?i.userAgentData:s,b=e?function(t,e){var i={};for(var n in t)e[n]&&e[n].length%2==0?i[n]=e[n].concat(t[n]):i[n]=t[n];return i}($,e):$,w=i&&i.userAgent==n;return this.getBrowser=function(){var t,e={};return e[d]=s,e[_]=s,K.call(e,n,b.browser),e[u]=typeof(t=e[_])===l?t.replace(/[^\d\.]/g,"").split(".")[0]:s,w&&i&&i.brave&&typeof i.brave.isBrave==r&&(e[d]="Brave"),e},this.getCPU=function(){var t={};return t[f]=s,K.call(t,n,b.cpu),t},this.getDevice=function(){var t={};return t[m]=s,t[c]=s,t[p]=s,K.call(t,n,b.device),w&&!t[p]&&g&&g.mobile&&(t[p]=v),w&&"Macintosh"==t[c]&&i&&typeof i.standalone!==a&&i.maxTouchPoints&&i.maxTouchPoints>2&&(t[c]="iPad",t[p]=y),t},this.getEngine=function(){var t={};return t[d]=s,t[_]=s,K.call(t,n,b.engine),t},this.getOS=function(){var t={};return t[d]=s,t[_]=s,K.call(t,n,b.os),w&&!t[d]&&g&&g.platform&&"Unknown"!=g.platform&&(t[d]=g.platform.replace(/chrome os/i,H).replace(/macos/i,U)),t},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return n},this.setUA=function(t){return n=typeof t===l&&t.length>500?J(t,500):t,this},this.setUA(n),this};Q.VERSION="1.0.39",Q.BROWSER=q([d,_,u]),Q.CPU=q([f]),Q.DEVICE=q([c,m,p,g,v,b,y,w,x]),Q.ENGINE=Q.OS=q([d,_]),typeof e!==a?(t.exports&&(e=t.exports=Q),e.UAParser=Q):i.amdO?(n=function(){return Q}.call(e,i,e,t))===s||(t.exports=n):typeof o!==a&&(o.UAParser=Q);var tt=typeof o!==a&&(o.jQuery||o.Zepto);if(tt&&!tt.ua){var et=new Q;tt.ua=et.getResult(),tt.ua.get=function(){return et.getUA()},tt.ua.set=function(t){et.setUA(t);var e=et.getResult();for(var i in e)tt.ua[i]=e[i]}}}("object"==typeof window?window:this)},609:t=>{"use strict";t.exports=window.React}},e={};function i(n){var o=e[n];if(void 0!==o)return o.exports;var s=e[n]={exports:{}};return t[n].call(s.exports,s,s.exports,i),s.exports}i.amdO={},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";const t=window.wp.plugins,e=window.wp.editPost,n=window.wp.i18n,o=window.wp.data;var s=i(609);const r=window.wp.compose;var a=i(481),h=i.n(a);function l(t,e){return Object.freeze({...t,...e})}const u=(0,s.createContext)(null),c=u.Provider;function d(){const t=(0,s.useContext)(u);if(null==t)throw new Error("No context provided: useLeafletContext() can only be used in a descendant of <MapContainer>");return t}function p(){return p=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t},p.apply(this,arguments)}function m({bounds:t,boundsOptions:e,center:i,children:n,className:o,id:r,placeholder:h,style:l,whenReady:u,zoom:d,...m},_){const[f]=(0,s.useState)({className:o,id:r,style:l}),[g,v]=(0,s.useState)(null);(0,s.useImperativeHandle)(_,(()=>g?.map??null),[g]);const y=(0,s.useCallback)((n=>{if(null!==n&&null===g){const o=new a.Map(n,m);null!=i&&null!=d?o.setView(i,d):null!=t&&o.fitBounds(t,e),null!=u&&o.whenReady(u),v(function(t){return Object.freeze({__version:1,map:t})}(o))}}),[]);(0,s.useEffect)((()=>()=>{g?.map.remove()}),[g]);const b=g?s.createElement(c,{value:g},n):h??null;return s.createElement("div",p({},f,{ref:y}),b)}const _=(0,s.forwardRef)(m),f=window.ReactDOM;function g(t){function e(e,i){const{instance:n,context:o}=t(e).current;return(0,s.useImperativeHandle)(i,(()=>n)),null==e.children?null:s.createElement(c,{value:o},e.children)}return(0,s.forwardRef)(e)}function v(t,e,i){return Object.freeze({instance:t,context:e,container:i})}function y(t,e){return null==e?function(e,i){const n=(0,s.useRef)();return n.current||(n.current=t(e,i)),n}:function(i,n){const o=(0,s.useRef)();o.current||(o.current=t(i,n));const r=(0,s.useRef)(i),{instance:a}=o.current;return(0,s.useEffect)((function(){r.current!==i&&(e(a,i,r.current),r.current=i)}),[a,i,n]),o}}function b(t,e){const i=(0,s.useRef)(e);(0,s.useEffect)((function(){e!==i.current&&null!=t.attributionControl&&(null!=i.current&&t.attributionControl.removeAttribution(i.current),null!=e&&t.attributionControl.addAttribution(e)),i.current=e}),[t,e])}function w(t,e){const i=(0,s.useRef)();(0,s.useEffect)((function(){return null!=e&&t.instance.on(e),i.current=e,function(){null!=i.current&&t.instance.off(i.current),i.current=null}}),[t,e])}function x(t,e){const i=t.pane??e.pane;return i?{...t,pane:i}:t}function P(t,e){(0,s.useEffect)((function(){return(e.layerContainer??e.map).addLayer(t.instance),function(){e.layerContainer?.removeLayer(t.instance),e.map.removeLayer(t.instance)}}),[e,t])}function L(t){return function(e){const i=d(),n=t(x(e,i),i);return b(i.map,e.attribution),w(n.current,e.eventHandlers),P(n.current,i),n}}function k(t,e){return g((i=y(t,e),function(t){const e=d(),n=i(x(t,e),e);return w(n.current,t.eventHandlers),P(n.current,e),function(t,e){const i=(0,s.useRef)();(0,s.useEffect)((function(){if(e.pathOptions!==i.current){const n=e.pathOptions??{};t.instance.setStyle(n),i.current=n}}),[t,e])}(n.current,t),n}));var i}const T=function(t){function e(e,i){const{instance:n}=t(e).current;return(0,s.useImperativeHandle)(i,(()=>n)),null}return(0,s.forwardRef)(e)}(L(y((function({url:t,...e},i){return v(new a.TileLayer(t,x(e,i)),i)}),(function(t,e,i){!function(t,e,i){const{opacity:n,zIndex:o}=e;null!=n&&n!==i.opacity&&t.setOpacity(n),null!=o&&o!==i.zIndex&&t.setZIndex(o)}(t,e,i);const{url:n}=e;null!=n&&n!==i.url&&t.setUrl(n)})))),M=g(L(y((function({position:t,...e},i){const n=new a.Marker(t,e);return v(n,l(i,{overlayContainer:n}))}),(function(t,e,i){e.position!==i.position&&t.setLatLng(e.position),null!=e.icon&&e.icon!==i.icon&&t.setIcon(e.icon),null!=e.zIndexOffset&&e.zIndexOffset!==i.zIndexOffset&&t.setZIndexOffset(e.zIndexOffset),null!=e.opacity&&e.opacity!==i.opacity&&t.setOpacity(e.opacity),null!=t.dragging&&e.draggable!==i.draggable&&(!0===e.draggable?t.dragging.enable():t.dragging.disable())})))),z=window.wp.components;function C(t,e=0){return"https://nominatim.openstreetmap.org/search?q="+t+(e>0?"&limit="+e:"")+"&format=json"}function S({searchCount:t,setSearchCount:e,searchResults:i},n){let o,s,r,a;if(void 0!==i&&0<i.length){e(t+1);const h=n.target.getAttribute("data-index"),{lat:l,lon:u,display_name:c}=i[h];o=null!=l?l:"",s=null!=u?u:"",r=c?`<p>${c}</p>`:"",a=null!=c?c:""}else{var h,l;o=null!==(h=n.latlng.lat)&&void 0!==h?h:"",s=null!==(l=n.latlng.lng)&&void 0!==l?l:"",r="",a=""}if(o&&s)return{lat:o.toString(),lng:s.toString(),text:r,textRaw:a,id:Date.now()}}const Z=window.ReactJSXRuntime;function E(t){const{setMarker:e,setAddress:i,setLatitude:n,setLongitude:o,setMapUpdate:r,setKeywords:a,searchResults:h,setSearchResults:l}=t,[u,c]=(0,s.useState)(0),d=t=>{var s,d,p;const m=S({searchCount:u,setSearchCount:c,searchResults:h},t);a(""),l([]),e(m),n(null!==(s=m?.lat)&&void 0!==s?s:""),o(null!==(d=m.lng)&&void 0!==d?d:""),i(null!==(p=m?.textRaw)&&void 0!==p?p:""),r(!0)};return h&&h.length?(0,Z.jsx)("div",{className:"ootb-openstreetmap--search-results",children:h.map(((t,e)=>{const{display_name:i}=t;return(0,Z.jsx)(z.Button,{autoFocus:0===e,onClick:d,"data-index":e,children:i},e)}))}):null}function O(t){const[e,i]=(0,s.useState)(""),[o,r]=(0,s.useState)([]),[a,h]=(0,s.useState)(null),l=()=>{e&&e.length>2&&fetch(C(e)).then((t=>{if(200===t.status)return t.json()})).then((t=>{r(t)}))};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"ootb-openstreetmap--searchbox",children:[(0,Z.jsx)(z.TextControl,{value:e,onChange:t=>{i(t)},onKeyDown:t=>{a||h(t),"Enter"===t.key&&l()},placeholder:(0,n.__)("Enter keywords...","ootb-openstreetmap")}),(0,Z.jsx)(z.Button,{onClick:()=>{o&&o.length?a&&(a.target.focus(),r([]),i("")):l()},icon:e&&o&&o.length>0?"no":"search",showTooltip:!0,label:o&&o.length>0?(0,n.__)("Clear results","ootb-openstreetmap"):(0,n.__)("Find locations","ootb-openstreetmap"),disabled:!(e&&e.length>2)})]}),(0,Z.jsx)(E,{...t,setKeywords:i,searchResults:o,setSearchResults:r})]})}function A(){return d().map}function I(t){const e=A();return(0,s.useEffect)((function(){return e.on(t),function(){e.off(t)}}),[e,t]),e}var j=i(159);function B(t){const{draggingProps:{isDraggingMarker:e,setIsDraggingMarker:i,addingMarker:n,setAddingMarker:o},setMarker:s,setMapUpdate:r,setLatitude:a,setLongitude:h,setAddress:l}=t;let u;return I({mouseup:t=>{if(clearTimeout(u),n){var e,c,d;r(!1);const n=S({},t);s(n),o(""),a(null!==(e=n?.lat)&&void 0!==e?e:""),h(null!==(c=n.lng)&&void 0!==c?c:""),l(null!==(d=n?.textRaw)&&void 0!==d?d:""),setTimeout((()=>i(!1)),600)}},mousedown:t=>{"div"===t.originalEvent.target.nodeName.toLowerCase()&&i(!1),e||(j.Fr&&!j.nr?o("pinning"):u=setTimeout((()=>{o("pinning"),setTimeout((()=>o("")),900)}),300))},drag:()=>{clearTimeout(u),o(""),r(!1),i(!1)},mouseout:()=>{i(!1)}}),null}function R(t){const{mapUpdate:e,markerPosition:i}=t;if(e){const t=A();t.fitBounds([i]),t.setZoom(6)}return null}function N(){const{pluginDirUrl:t}=ootbGlobal;return t+"assets/vendor/leaflet/images/marker-icon.png"}function D(t){const e=t.map((t=>t[0])),i=t.map((t=>t[1])),n=(Math.min(...e)+Math.max(...e))/2,o=(Math.min(...i)+Math.max(...i))/2;return n&&!isNaN(n)&&o&&!isNaN(o)?[n,o]:null}function F(t){const{marker:e,addingMarker:i,setAddingMarker:n}=t,o=D(ootbGlobal.defaultLocation),r=e?.lat?parseFloat(e.lat):null,a=e?.lng?parseFloat(e.lng):null,l=r&&a?[r,a]:null,[u,c]=(0,s.useState)(!1),d={isDraggingMarker:u,setIsDraggingMarker:c,addingMarker:i,setAddingMarker:n},p=h().icon({iconUrl:N(),iconAnchor:[12,41]});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(O,{...t}),(0,Z.jsxs)(_,{center:o,zoom:6,scrollWheelZoom:!1,style:{height:"250px"},children:[(0,Z.jsx)(B,{...t,draggingProps:d}),(0,Z.jsx)(T,{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),l&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M,{position:l,icon:p}),(0,Z.jsx)(R,{...t,markerPosition:l})]})]})]})}function H(t){const{latitude:e,longitude:i,address:o,setAddress:s,setMapUpdate:r}=t;if(e&&0!==e&&i&&0!==i)return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("table",{children:(0,Z.jsxs)("tbody",{children:[(0,Z.jsxs)("tr",{children:[(0,Z.jsx)("td",{children:(0,Z.jsxs)("strong",{children:[(0,n.__)("Latitude:","ootb-openstreetmap")," "]})}),(0,Z.jsx)("td",{children:(0,Z.jsx)("code",{children:e})})]}),(0,Z.jsxs)("tr",{children:[(0,Z.jsx)("td",{children:(0,Z.jsxs)("strong",{children:[(0,n.__)("Longitude:","ootb-openstreetmap")," "]})}),(0,Z.jsx)("td",{children:(0,Z.jsx)("code",{children:i})})]})]})}),(0,Z.jsx)("br",{}),(0,Z.jsx)(z.TextareaControl,{label:(0,n.__)("Address","ootb-openstreetmap"),value:o,onChange:t=>{s(t),r(!1)},placeholder:(0,n.__)("Enter address","ootb-openstreetmap")})]})}const U=(0,r.compose)([(0,o.withSelect)((t=>{const{getEditedPostAttribute:e}=t("core/editor"),i=e("meta");return{meta:i,geoAddress:i.geo_address,geoLatitude:i.geo_latitude,geoLongitude:i.geo_longitude}})),(0,o.withDispatch)(((t,{meta:e})=>{const{editPost:i}=t("core/editor");return{setMetaValues:t=>{i({meta:{...e,...t}})}}}))])((function({geoAddress:t,geoLatitude:e,geoLongitude:i,setMetaValues:n}){const[o,r]=(0,s.useState)({lat:e,lng:i}),[a,h]=(0,s.useState)(e),[l,u]=(0,s.useState)(i),[c,d]=(0,s.useState)(t),[p,m]=(0,s.useState)(!1),[_,f]=(0,s.useState)(""),g={marker:o,setMarker:r,latitude:a,setLatitude:h,longitude:l,setLongitude:u,address:c,setAddress:d,mapUpdate:p,setMapUpdate:m,addingMarker:_,setAddingMarker:f};return(0,s.useEffect)((()=>{m(!0)}),[]),(0,s.useEffect)((()=>{n({geo_address:c,geo_latitude:a,geo_longitude:l})}),[a,l,c]),(0,Z.jsxs)("div",{className:`ootb-openstreetmap--custom-fields-container ${_}`,children:[(0,Z.jsx)(F,{...g}),(0,Z.jsx)(H,{...g})]})})),W=()=>(0,Z.jsx)(e.PluginDocumentSettingPanel,{name:"ootb-custom-fields",title:(0,n.__)("Location","ootb-openstreetmap"),className:"ootb-custom-fields",children:(0,Z.jsx)(U,{})});let q=(0,o.subscribe)((function(){(function(t=null){const e=ootbGlobal?.options?.geo_post_types?Object.keys(ootbGlobal.options.geo_post_types):[];return null===t||!ootbGlobal?.options?.geodata||!e.includes(t)})((0,o.select)("core/editor").getCurrentPostType())||((0,t.registerPlugin)("ootb-custom-fields",{render:W}),q())}));const G=window.wp.blocks,V=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"ootb/openstreetmap","version":"2.4.1","title":"OpenStreetMap by Out of the Block","category":"common","icon":"location-alt","description":"A map block for the Gutenberg Editor using OpenStreetMaps and Leaflet that needs no API keys and works out of the box.","supports":{"html":false,"align":["wide","full"]},"usesContext":["postId","postType"],"keywords":["Map block","Open Street Maps","Contact","Locations"],"attributes":{"mapHeight":{"type":"integer","default":400},"markers":{"type":"array","default":[]},"zoom":{"type":"integer","default":8},"minZoom":{"type":"integer","default":2},"maxZoom":{"type":"integer","default":18},"dragging":{"type":"boolean","default":true},"touchZoom":{"type":"boolean","default":true},"doubleClickZoom":{"type":"boolean","default":true},"scrollWheelZoom":{"type":"boolean","default":true},"defaultIcon":{"type":"object","default":null},"keywords":{"type":"string","default":""},"showDefaultBounds":{"type":"boolean","default":true},"bounds":{"type":"array","default":[[37.97155174977503,23.72656345367432]]},"provider":{"type":"string","default":"openstreetmap"},"mapboxStyleUrl":{"type":"string","default":""},"mapType":{"type":"string","default":"marker"},"showMarkers":{"type":"boolean","default":true},"shapeColor":{"type":"string","default":"#008EFF"},"shapeWeight":{"type":"integer","default":3},"shapeText":{"type":"string","default":""},"isDraggingMarker":{"type":"boolean","default":false},"openAImode":{"type":"string","default":""},"queryArgs":{"type":"object","default":{"post_type":"post"}},"serverSideRender":{"type":"boolean","default":false},"showMapData":{"type":"boolean","default":true},"showSearchBox":{"type":"boolean","default":true},"queryCustomFields":{"type":"boolean","default":false}},"variations":[{"name":"custom-fields","title":"OpenStreetMap from custom fields","icon":"location","attributes":{"queryCustomFields":true,"showMapData":false,"showSearchBox":false,"serverSideRender":true}}],"textdomain":"ootb-openstreetmap","editorScript":"file:../index.js","style":"file:../index.css","script":["leaflet","leaflet-gesture-handling"],"viewScript":["file:./view.js","ootb-openstreetmap"],"viewStyle":["file:./view.css","ootb-openstreetmap"]}'),J=window.wp.blockEditor,K=window.wp.element;function Y(t,e){const{attributes:{markers:i,defaultIcon:n}}=t,{pluginDirUrl:o}=ootbGlobal,s=()=>void 0!==e&&i[e]?.icon?i[e].icon:null!=n?n:null,r=s()?Math.round(s().width/2):12,a=s()?Math.round(s().height):41;return{iconUrl:s()?s().url:N(),iconAnchor:[r,a],popupAnchor:[0,-Math.abs(a)]}}function X(t,e,i){const{attributes:{defaultIcon:n}}=t;return!(void 0!==i||!n)||!(void 0===i||!e)&&![n?.icon,N()].includes(e)}function $({props:t,index:e}){const{attributes:{markers:i},setAttributes:o}=t,s=void 0!==e,r=t=>{if(s){let n=[...i];n[e].icon=t,o({markers:n})}else o({defaultIcon:t})},a=Y(t,e);return(0,Z.jsx)(J.MediaUploadCheck,{children:(0,Z.jsxs)("div",{className:"ootb-openstreetmap--icon",children:[s?null:(0,Z.jsx)("img",{src:a.iconUrl,alt:(0,n.__)("Map Marker","ootb-openstreetmap")}),(0,Z.jsxs)("div",{className:"gmp-openstreetmap--buttons",children:[(0,Z.jsx)(J.MediaUpload,{onSelect:t=>{r(t)},allowedTypes:["image"],value:a,render:({open:t})=>(0,Z.jsx)(z.Button,{onClick:t,icon:"format-gallery",label:(0,n.__)("Change the Marker icon","ootb-openstreetmap"),isSecondary:!s,children:s?null:(0,n.__)("Change","ootb-openstreetmap")})}),X(t,a?.iconUrl,e)?(0,Z.jsx)(z.Button,{onClick:()=>{r(null)},icon:"image-rotate",label:(0,n.__)("Restore the Marker icon","ootb-openstreetmap"),isSecondary:!s,children:s?null:(0,n.__)("Restore","ootb-openstreetmap")}):null]})]})})}function Q({props:t}){const{attributes:{provider:e,mapboxStyleUrl:i},setAttributes:o}=t,{adminUrl:s,options:{api_mapbox:r,global_mapbox_style_url:a}}=ootbGlobal,h=[{label:(0,n.__)("OpenStreetMap","ootb-openstreetmap"),value:"openstreetmap"},{label:(0,n.__)("Mapbox","ootb-openstreetmap"),value:"mapbox"},{label:(0,n.__)("Stamen","ootb-openstreetmap"),value:"stamen"}];let l="";"mapbox"!==e||r?e&&"openstreetmap"!==e||(l=(0,Z.jsx)("span",{children:(0,K.createInterpolateElement)((0,n.__)("Heavy usage of OSM tiles is forbidden, and you might want to switch to a different tile provider. Read more on the <a>plugin settings</a>.","ootb-openstreetmap"),{a:(0,Z.jsx)("a",{href:s})})})):l=(0,Z.jsx)("span",{children:(0,K.createInterpolateElement)((0,n.__)("Make sure that you provided a valid API key on the <a>plugin settings</a>.","ootb-openstreetmap"),{a:(0,Z.jsx)("a",{href:s})})});const u="mapbox"===e?(0,Z.jsx)(z.TextControl,{label:(0,n.__)("Mapbox Style URL","ootb-openstreetmap"),value:i,onChange:t=>{o({mapboxStyleUrl:t})},help:(0,Z.jsx)("span",{children:a?(0,K.createInterpolateElement)((0,n.__)("You can override the style URL set in the <a>plugin settings</a>.","ootb-openstreetmap"),{mapbox_url:(0,Z.jsx)("a",{href:"https://studio.mapbox.com/"}),code:(0,Z.jsx)("code",{}),a:(0,Z.jsx)("a",{href:s})}):(0,K.createInterpolateElement)((0,n.__)('You can find the style URL on <mapbox_url>Mapbox Studio</mapbox_url>. There, use the "Share" button, and under "Developer resources", copy the "Style URL". It should look like that: <code>mapbox://styles/username/style-id</code>. For the styles to work, you need to have a Mapbox API key set in the <a>plugin settings</a>.',"ootb-openstreetmap"),{mapbox_url:(0,Z.jsx)("a",{href:"https://studio.mapbox.com/"}),code:(0,Z.jsx)("code",{}),a:(0,Z.jsx)("a",{href:s})})})}):null;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(z.SelectControl,{label:(0,n.__)("Tile Layer Provider","ootb-openstreetmap"),value:e,options:h,onChange:t=>{o({provider:t})},help:l}),u]})}function tt({props:t}){const{attributes:{mapType:e,showMarkers:i,shapeColor:o,shapeWeight:s},setAttributes:r}=t,a=[{label:(0,n.__)("Markers","ootb-openstreetmap"),value:"marker"},{label:(0,n.__)("Polygon","ootb-openstreetmap"),value:"polygon"},{label:(0,n.__)("Polyline","ootb-openstreetmap"),value:"polyline"}];return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.SelectControl,{label:(0,n.__)("Map type","ootb-openstreetmap"),value:e,options:a,onChange:t=>{r({mapType:t})},help:(0,n.__)("How the map should display its locations.","ootb-openstreetmap")}),"marker"!==e?(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.ToggleControl,{label:(0,n.__)("Show Markers","ootb-openstreetmap"),checked:!!i,onChange:()=>r({showMarkers:!i}),help:i?(0,n.__)("Show the markers on the frontend.","ootb-openstreetmap"):(0,n.__)("Hide the markers on the frontend (does not affect the Backend).","ootb-openstreetmap")}),(0,Z.jsx)(z.RangeControl,{label:(0,n.__)("Line weight","ootb-openstreetmap"),value:s,onChange:t=>{r({shapeWeight:t})},min:1,max:100}),(0,Z.jsx)(z.BaseControl,{label:(0,n.__)("Shape color","ootb-openstreetmap"),children:(0,Z.jsx)(z.ColorPicker,{color:o,onChange:t=>{r({shapeColor:t})},enableAlpha:!1,defaultValue:null})})]}):null]})}function et({props:t}){const{attributes:{mapHeight:e,zoom:i},setAttributes:o}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(Q,{props:t}),(0,Z.jsx)(tt,{props:t}),(0,Z.jsx)(z.RangeControl,{label:(0,n.__)("Height (pixels)","ootb-openstreetmap"),value:e,onChange:t=>{o({mapHeight:t})},min:50,max:1e3}),(0,Z.jsx)(z.RangeControl,{label:(0,n.__)("Zoom","ootb-openstreetmap"),value:i,onChange:t=>{o({zoom:t,shouldUpdateZoom:!0})},min:0,max:18}),(0,Z.jsx)($,{props:t})]})}function it({props:t}){const{attributes:{minZoom:e,maxZoom:i,dragging:o,touchZoom:s,doubleClickZoom:r,scrollWheelZoom:a},setAttributes:h}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.ToggleControl,{label:(0,n.__)("Map dragging","ootb-openstreetmap"),checked:!!o,onChange:()=>h({dragging:!o}),help:o?(0,n._x)("Enabled.","Map dragging setting","ootb-openstreetmap"):(0,n._x)("Disabled.","Map dragging setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,n.__)("Touch zoom","ootb-openstreetmap"),checked:!!s,onChange:()=>h({touchZoom:!s}),help:s?(0,n._x)("Enabled.","Touch zoom setting","ootb-openstreetmap"):(0,n._x)("Disabled.","Touch zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,n.__)("Double-click zoom","ootb-openstreetmap"),checked:!!r,onChange:()=>h({doubleClickZoom:!r}),help:r?(0,n._x)("Enabled.","Double-click zoom setting","ootb-openstreetmap"):(0,n._x)("Disabled.","Double-click zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,n.__)("Scroll Wheel zoom","ootb-openstreetmap"),checked:!!a,onChange:()=>h({scrollWheelZoom:!a}),help:a?(0,n._x)("Enabled.","Scroll Wheel zoom setting","ootb-openstreetmap"):(0,n._x)("Disabled.","Scroll Wheel zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.RangeControl,{label:(0,n.__)("Minimum Zoom","ootb-openstreetmap"),value:e,onChange:t=>{h({minZoom:t,maxZoom:i<=e?e+1:i})},min:0,max:18}),(0,Z.jsx)(z.RangeControl,{label:(0,n.__)("Maximum Zoom","ootb-openstreetmap"),value:i,onChange:t=>{h({maxZoom:t,minZoom:e>=i?i-1:e})},min:0,max:18,help:(0,n.__)("Tip: setting the same minimum and maximum zoom practically locks zoom at that level.","ootb-openstreetmap")})]})}function nt(t="",e=""){return!(!t||!e)&&function(t){return isFinite(t)&&Math.abs(t)<=90}(parseFloat(t))&&function(t){return isFinite(t)&&Math.abs(t)<=180}(parseFloat(e))}function ot(t){try{const i=JSON.parse(t.toString());if(i&&"object"==typeof i){let t=[];for(const n of i){var e;if(!n.lat||!n.lng)continue;if(!nt(n.lat,n.lng))continue;n.id=null!==(e=n.id)&&void 0!==e?e:Date.now();const{lat:i,lng:o,text:s,id:r}=n;t.push({lat:i,lng:o,text:s,id:r})}return t}}catch(t){return!1}return!1}const{withSelect:st}=wp.data,rt=st((t=>({postId:t("core/editor").getCurrentPostId()})))((function({props:t,postId:e,variant:i}){const{attributes:{serverSideRender:o},setAttributes:s}=t,r=o?"controls-repeat":"admin-post",a=o?(0,n.__)("Stop syncing","ootb-openstreetmap"):(0,n.__)("Fetch locations","ootb-openstreetmap");return(0,Z.jsx)(z.Button,{icon:r,iconPosition:"left",variant:i,onClick:()=>{o?((t,e)=>{const{attributes:{queryArgs:i},setAttributes:n}=t,o=new URLSearchParams({action:"ootb_get_markers",post_id:e,query_args:JSON.stringify(i),nonce:ootbGlobal.nonce});fetch(ootbGlobal.ajaxUrl,{method:"POST",body:o}).then((t=>{if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return t.json()})).then((t=>{const e=ot(t?.data);e&&n({markers:e,shouldUpdateBounds:!0,serverSideRender:!1})})).catch((t=>{console.error("Fetch Error:",t)}))})(t,e):s({markers:[],serverSideRender:!0,bounds:[[37.97155174977503,23.72656345367432]]})},children:a})}));function at({props:t}){var e;const{attributes:{queryArgs:i,serverSideRender:o,showMapData:s,queryCustomFields:r},setAttributes:a}=t,h=o?"secondary":"primary";let l=(0,n.__)("Get from existing entries","ootb-openstreetmap"),u=(0,n.__)("Fetch locations from existing posts or post types containing at least one map block.","ootb-openstreetmap");r?(l=(0,n.__)("Gets posts with locations","ootb-openstreetmap"),u=(0,n.__)("Markers are automatically fetched from existing posts or post types with locations assigned to them.","ootb-openstreetmap")):o&&(l=(0,n.__)("Gets posts containing the block","ootb-openstreetmap"),u=(0,n.__)('Markers are automatically fetched from existing posts or post types containing at least one map block. By hitting "Stop syncing" the block will stop automatic updating with new markers, and you will be able to manually edit it.',"ootb-openstreetmap"));const c=r?function(){const t=ootbGlobal?.postTypes,e=ootbGlobal?.options?.geo_post_types?Object.keys(ootbGlobal.options.geo_post_types):[];return t.filter((t=>e.includes(t.value)))}():ootbGlobal?.postTypes;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(z.BaseControl,{label:l,help:u,children:(0,Z.jsxs)("div",{children:[(!o||r)&&c.length>1&&(0,Z.jsx)(Z.Fragment,{children:(0,Z.jsx)(z.SelectControl,{label:(0,n.__)("Post type","ootb-openstreetmap"),value:null!==(e=i.post_type)&&void 0!==e?e:"post",options:c,onChange:t=>{a({queryArgs:{...i,post_type:t}})}})}),s&&(0,Z.jsx)(rt,{props:t,variant:h})]})}),s&&(0,Z.jsx)("hr",{})]})}function ht({props:t}){const{attributes:{markers:e},clientId:i}=t,o=e&&0<e.length,s=new Blob([JSON.stringify(e)],{type:"application/json"});return(0,Z.jsx)(z.BaseControl,{label:(0,n.__)("Export","ootb-openstreetmap"),help:(0,n.__)("Download a JSON file with the locations of this map.","ootb-openstreetmap"),children:(0,Z.jsx)("div",{children:(0,Z.jsx)(z.Button,{icon:"download",iconPosition:"left",variant:o?"primary":"secondary",href:window.URL.createObjectURL(s),target:"_blank",download:"ootb_"+i,disabled:!o,showTooltip:!0,text:(0,n.__)("Export locations","ootb-openstreetmap")})})})}function lt({props:t}){const{attributes:{markers:e},setAttributes:i}=t,o=e&&0<e.length;return(0,Z.jsx)(z.BaseControl,{label:(0,n.__)("Import from file","ootb-openstreetmap"),help:(0,n.__)("Import locations from a previously exported JSON file.","ootb-openstreetmap"),children:(0,Z.jsx)(z.FormFileUpload,{icon:"database-add",iconPosition:"left",variant:"primary",isDestructive:o,label:o?(0,n.__)("This map already includes locations. Uploading new locations will merge them with the existing ones.","ootb-openstreetmap"):null,text:(0,n.__)("Import locations","ootb-openstreetmap"),accept:"application/json",onChange:t=>{(t=>{const o=t.currentTarget.files[0];if(!o||0===o.length)return;const s=new FileReader;s.readAsText(o,"UTF-8"),s.onload=function(t){const n=ot(t.target.result);n&&i({markers:e.concat(n),shouldUpdateBounds:!0})},s.onerror=function(t){console.log((0,n.__)("Error reading file","ootb-openstreetmap"))}})(t)}})})}function ut({props:t}){const{attributes:{showMapData:e}}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(at,{props:t}),e&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ht,{props:t}),(0,Z.jsx)(lt,{props:t})]})]})}function ct({props:t}){const{attributes:{queryCustomFields:e}}=t;return(0,Z.jsxs)(J.InspectorControls,{children:[(0,Z.jsx)(z.PanelBody,{title:(0,n.__)("Main settings","ootb-openstreetmap"),initialOpen:!0,children:(0,Z.jsx)(et,{props:t})}),(0,Z.jsx)(z.PanelBody,{title:(0,n.__)("Map behavior","ootb-openstreetmap"),initialOpen:!1,children:(0,Z.jsx)(it,{props:t})}),(0,Z.jsx)(z.PanelBody,{title:(0,n.__)("Map data","ootb-openstreetmap"),initialOpen:!!e,children:(0,Z.jsx)(ut,{props:t})})]})}function dt(t,e=null){e&&t&&e.fitBounds(t,{padding:[50,50]})}function pt(t,e=[],i=null){const{attributes:{markers:n,zoom:o},setAttributes:s}=t;let r=[];if(e&&void 0!==e.lat&&r.push([e.lat,e.lng]),Object.entries(n).forEach((([t,e])=>{e&&r.push([e.lat,e.lng])})),r.length&&(s({bounds:r}),dt(r,i)),i){const t=i.getZoom();o!==t&&s({zoom:t})}}function mt({props:t}){const{attributes:{markers:e,searchResults:i,mapObj:n,inputRef:o},setAttributes:r}=t,[a,h]=(0,s.useState)(0),l=s=>{const l=S({searchCount:a,setSearchCount:h,searchResults:i},s);r({markers:[...e,l],keywords:"",searchResults:[]}),pt(t,l,n),o&&o.target.focus()};return i&&i.length?(0,Z.jsx)("div",{className:"ootb-openstreetmap--search-results",children:i.map(((t,e)=>{const{display_name:i}=t;return(0,Z.jsx)(z.Button,{autoFocus:0===e,onClick:l,"data-index":e,children:i},e)}))}):null}async function _t(t){const{attributes:{markers:e,keywords:i,mapObj:n,openAImode:o},setAttributes:s}=t;if(!i)return;if(!o)return;let r=[...e];return s({openAImode:"connecting"}),wp.apiFetch({path:"/ootb-openstreetmap/v1/openai/",method:"POST",data:{prompt:i}}).then((t=>{let e=[];try{const i=t?.choices[0]?.message?.content;i&&"invalid_question"!==i?(e=JSON.parse(i),s({openAImode:"success"})):(s({openAImode:"invalid_question"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3))}catch(t){s({openAImode:"error"}),console.error("Error parsing OpenAI response")}let i=e?.map(((t,e)=>new Promise((i=>setTimeout((()=>{(t=>{t&&t.length>2&&fetch(C(t,1)).then((t=>{if(!t.ok)throw new Error(`Network response was not ok, status: ${t.status}`);return t.json()})).then((t=>{(t=>{var e,i;const o={lat:null!==(e=t?.lat.toString())&&void 0!==e?e:"",lng:null!==(i=t?.lon.toString())&&void 0!==i?i:"",text:t?.display_name?`<p>${t.display_name}</p>`:"",id:Date.now()};r.push(o);let a=[];r.length>0&&(r.forEach((t=>{t&&a.push([t.lat,t.lng])})),s({bounds:a,markers:r,openAImode:"working"}),dt(a,n))})(t[0])})).catch((t=>{s({openAImode:"error"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3),console.error("There has been a problem with the fetch operation:",JSON.stringify(t))}))})(t),i()}),1e3*(e+1))))));Promise.all(i).then((()=>{setTimeout((()=>{s({openAImode:"",keywords:""})}),1e3)}))})).catch((t=>{s({openAImode:"error"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3),console.error("Error fetching OpenAI response: "+JSON.stringify(t))}))}function ft({props:t}){const{attributes:{keywords:e,inputRef:i,searchResults:o,openAImode:s},setAttributes:r}=t,a=()=>{e&&e.length>2&&fetch(C(e)).then((t=>{if(200===t.status)return t.json()})).then((t=>{r({searchResults:t})}))};let h="ootb-openstreetmap--searchbox";return s.length&&(h+=" openai-active"),(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsxs)("div",{className:h,children:[(0,Z.jsx)(z.TextControl,{value:e,onChange:t=>{r({keywords:t,openAImode:/\bplease\b/i.test(t)?"started":""})},onKeyDown:e=>{i||r({inputRef:e}),"Enter"===e.key&&(_t(t).then((()=>null)),a())},placeholder:(0,n.__)("Enter your keywords...","ootb-openstreetmap")}),(0,Z.jsx)(z.Button,{onClick:()=>{_t(t).then((()=>null)),o&&o.length?i&&(i.target.focus(),r({searchResults:[],keywords:""})):a()},icon:o&&o.length>0?"no":s.length?"format-status":"search",showTooltip:!0,label:o&&o.length>0?(0,n.__)("Clear results","ootb-openstreetmap"):(0,n.__)("Find locations","ootb-openstreetmap"),disabled:!(e&&e.length>2)})]}),(0,Z.jsx)(mt,{props:t})]})}function gt(t){const{attributes:{bounds:e,showDefaultBounds:i,markers:n}}=t;return!0===i?D(ootbGlobal.defaultLocation):D(e)||[n[0]?.lat,n[0]?.lng]}function vt(t,e){if(!t||!e||"string"!=typeof t||"string"!=typeof e||!t.startsWith("mapbox://"))return"";const i=t.split("/"),n=i[3],o=i[4];return n&&o&&"string"==typeof n&&"string"==typeof o?`https://api.mapbox.com/styles/v1/${n}/${o}/tiles/{z}/{x}/{y}?access_token=${e}`:""}function yt({props:t}){const{attributes:{provider:e,mapboxStyleUrl:i}}=t,{options:{api_mapbox:n,global_mapbox_style_url:o},providers:{openstreetmap:s,mapbox:r,stamen:a}}=ootbGlobal;let h=s.url,l=s.attribution;"mapbox"===e&&n&&(h=i||o?vt(i.length?i:o,n):r.url+n,l=r.attribution),"stamen"===e&&(h=a.url,l=a.attribution);const u=(0,K.useRef)(null);return(0,K.useEffect)((()=>{u.current.setUrl(h)}),[h]),(0,Z.jsx)(T,{ref:u,url:h,attribution:l})}const bt=function(){const t=function(t,e){return function(i,n){const o=d(),s=t(x(i,o),o);return b(o.map,i.attribution),w(s.current,i.eventHandlers),e(s.current,o,i,n),s}}(y((function(t,e){return v(new a.Popup(t,e.overlayContainer),e)})),(function(t,e,{position:i},n){(0,s.useEffect)((function(){const{instance:o}=t;function s(t){t.popup===o&&(o.update(),n(!0))}function r(t){t.popup===o&&n(!1)}return e.map.on({popupopen:s,popupclose:r}),null==e.overlayContainer?(null!=i&&o.setLatLng(i),o.openOn(e.map)):e.overlayContainer.bindPopup(o),function(){e.map.off({popupopen:s,popupclose:r}),e.overlayContainer?.unbindPopup(),e.map.removeLayer(o)}}),[t,e,n,i])}));return function(t){function e(e,i){const[n,o]=(0,s.useState)(!1),{instance:r}=t(e,o).current;(0,s.useImperativeHandle)(i,(()=>r)),(0,s.useEffect)((function(){n&&r.update()}),[r,n,e.children]);const a=r._contentNode;return a?(0,f.createPortal)(e.children,a):null}return(0,s.forwardRef)(e)}(t)}();function wt({setAddingMarker:t,props:e}){const{attributes:{mapObj:i,markers:o,isDraggingMarker:s},setAttributes:r}=e,a=t=>{const n=t.target;let s;if(n.hasAttribute("dataIndex"))s=n.getAttribute("dataIndex");else{const t=n.parentElement;t&&"button"===t.tagName.toLowerCase()&&(s=t.getAttribute("dataIndex"))}let a=[...o];a.splice(s,1),r({isDraggingMarker:!1,markers:a,shouldUpdateBounds:!0}),pt(e,[],i.leafletElement)};let l=null;const u=t=>h().icon(Y(e,t));return void 0!==o&&o.length?o.map(((h,c)=>(0,Z.jsx)(M,{markerId:h.id,position:[h.lat,h.lng],icon:u(c),draggable:!0,eventHandlers:{mousedown:e=>{l=new Date,t("")},mouseup:t=>{(t=>{if(!0!==s){const e=new Date;l&&0!=!!(e-l)||t.target.openPopup()}})(t)},mouseover:t=>{o&&r({isDraggingMarker:!0})},dragstart:t=>{r({isDraggingMarker:!0})},dragend:t=>{(t=>{const n=t.target.getLatLng(),s=function(t,e){const i=t.target.options.markerId;let n=null;for(let t in e)i===e[t].id&&(n=t);return n}(t,o),a=[...o];a[s]&&(a[s].lat=n.lat.toString(),a[s].lng=n.lng.toString(),r({markers:a,shouldUpdateBounds:!0}),pt(e,[],i.leafletElement)),r({isDraggingMarker:!1})})(t)}},children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:h.text,onChange:t=>{let e=[...o];e[c].text=t,r({markers:e})},placeholder:(0,n.__)("Write something","ootb-openstreetmap")}),(0,Z.jsxs)("div",{className:"ootb-openstreetmap--marker-icon-container",children:[(0,Z.jsx)($,{props:e,index:c}),(0,Z.jsx)(z.Button,{onClick:a,dataindex:c,icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,label:(0,n.__)("Remove this marker","ootb-openstreetmap")})]})]})},c))):null}const xt=k((function({positions:t,...e},i){const n=new a.Polygon(t,e);return v(n,l(i,{overlayContainer:n}))}),(function(t,e,i){e.positions!==i.positions&&t.setLatLngs(e.positions)}));function Pt({props:t,styles:e}){const{attributes:{markers:i,shapeText:o},setAttributes:s}=t;return(0,Z.jsx)(xt,{positions:i,pathOptions:e,children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:o,onChange:t=>{s({shapeText:t})},placeholder:(0,n.__)("Write something","ootb-openstreetmap")}),(0,Z.jsx)("div",{className:"ootb-openstreetmap--marker-icon-container ootb-openstreetmap--marker-remove ootb-openstreetmap--shape-controls",children:(0,Z.jsx)(z.Button,{onClick:()=>{s({isDraggingMarker:!1,markers:[],shapeText:"",zoom:8,shouldUpdateZoom:!0})},icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,isSecondary:!0,label:(0,n.__)("Remove this shape","ootb-openstreetmap")})})]})})}const Lt=k((function({positions:t,...e},i){const n=new a.Polyline(t,e);return v(n,l(i,{overlayContainer:n}))}),(function(t,e,i){e.positions!==i.positions&&t.setLatLngs(e.positions)}));function kt({props:t,styles:e}){const{attributes:{markers:i,shapeText:o},setAttributes:s}=t;return(0,Z.jsx)(Lt,{positions:i,pathOptions:e,children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:o,onChange:t=>{s({shapeText:t})},placeholder:(0,n.__)("Write something","ootb-openstreetmap")}),(0,Z.jsx)("div",{className:"ootb-openstreetmap--marker-icon-container ootb-openstreetmap--marker-remove ootb-openstreetmap--shape-controls",children:(0,Z.jsx)(z.Button,{onClick:()=>{s({isDraggingMarker:!1,markers:[],shapeText:"",zoom:8,shouldUpdateZoom:!0})},icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,isSecondary:!0,label:(0,n.__)("Remove this shape","ootb-openstreetmap")})})]})})}function Tt({props:t}){const{attributes:{mapType:e,markers:i,shapeColor:n,shapeWeight:o,isDraggingMarker:s}}=t,r={fillColor:n,color:n,weight:o};return"polygon"===e&&!0!==s&&i.length?(0,Z.jsx)(Pt,{props:t,styles:r}):"polyline"===e&&!0!==s&&i.length?(0,Z.jsx)(kt,{props:t,styles:r}):null}function Mt({addingMarker:t,setAddingMarker:e,props:i}){const{attributes:{mapObj:n,markers:o,zoom:r,showDefaultBounds:a,shouldUpdateZoom:h,shouldUpdateBounds:l,isDraggingMarker:u,searchResults:c},setAttributes:d}=i,[p,m]=(0,s.useState)(0),_=(0,K.useRef)(!0);let f;const g=I({mouseup:n=>{(n=>{if(clearTimeout(f),t){const t=S({searchCount:p,setSearchCount:m,searchResults:c},n);d({markers:[...o,t]}),e(""),pt(i,t,n.target),setTimeout((function(){d({isDraggingMarker:!1})}),600)}})(n)},mousedown:t=>{(t=>{"div"===t.originalEvent.target.nodeName.toLowerCase()&&d({isDraggingMarker:!1}),!1===u&&(j.Fr&&!j.nr?e(" pinning"):f=setTimeout((function(){e(" pinning"),setTimeout((function(){e("")}),900)}),300))})(t)},drag:t=>{clearTimeout(f),e(""),d({isDraggingMarker:!1})},mouseout:t=>{d({isDraggingMarker:!1})},zoomanim:t=>{(t=>{d({zoom:t.zoom})})(t)},popupclose:()=>{d({isDraggingMarker:!1})}});return(0,K.useEffect)((()=>{_.current?_.current=!1:void 0===g||void 0!==n&&n.length&&n===g||d({mapObj:g})}),[o]),(0,K.useEffect)((()=>{!0===a&&d({bounds:ootbGlobal.defaultLocation,showDefaultBounds:!1}),!0===l&&(pt(i,[],g),d({shouldUpdateBounds:!1})),!0===h&&r!==g.getZoom()&&(g.setZoom(r),d({shouldUpdateZoom:!1}))}),[]),null}function zt({props:t}){const{attributes:{mapHeight:e}}=t,i=A().getContainer();return parseInt(i.style.height)!==e&&(i.style.height=`${e}px`),null}function Ct({inBlockEditor:t,addingMarker:e,setAddingMarker:i,...n}){const{attributes:{zoom:o,bounds:s,mapHeight:r,mapType:a}}=n;return(0,Z.jsxs)(_,{center:gt(n),zoom:o,dragging:t,bounds:s,style:{height:r+"px"},children:[(0,Z.jsx)(Mt,{props:n,addingMarker:e,setAddingMarker:i}),(0,Z.jsx)(zt,{props:n}),(0,Z.jsx)(yt,{props:n}),(0,Z.jsx)(wt,{props:n,setAddingMarker:i}),"marker"!==a?(0,Z.jsx)(Tt,{props:n}):null]})}function St({addingMarker:t,...e}){const{attributes:{openAImode:i}}=e;let o="",s="ootb-openstreetmap--alert";return" pinning"===t?o=(0,n.__)("Release to drop a marker here","ootb-openstreetmap"):i.length&&("started"===i?o=(0,n.__)("You have entered OpenAI mode. When you finish your prompt, please hit enter or click on the bubble icon.","ootb-openstreetmap"):"connecting"===i?o=(0,n.__)("Connecting to OpenAI...","ootb-openstreetmap"):"success"===i?o=(0,n.__)("Preparing the data. Please be patient...","ootb-openstreetmap"):"working"===i?(o=(0,n.sprintf)((0,n.__)('Creating the markers. It will take a while, because we don\'t want to violate the <a href="%s">Nominatim usage policy</a>.',"ootb-openstreetmap"),"https://operations.osmfoundation.org/policies/nominatim/"),s+=" alert-active"):"invalid_question"===i?(o=(0,n.__)("I don't understand your question. Please try again.","ootb-openstreetmap"),s+=" alert-error"):"error"===i&&(o=(0,n.__)("Something went wrong. Sorry...","ootb-openstreetmap"),s+=" alert-error")),o?(0,Z.jsx)("div",{className:s,dangerouslySetInnerHTML:{__html:o}}):null}function Zt(t){const{attributes:{bounds:e,markers:i}}=t;return D(e)||[i[0].lat,i[0].lng]}function Et(t){const{attributes:{defaultIcon:e}}=t,{pluginDirUrl:i}=ootbGlobal,n=i+"assets/vendor/leaflet/images/marker-icon.png",o=e?e.width/2:12;return{iconUrl:e?e.url:n,iconAnchor:[o,0]}}const Ot=[{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]},provider:{type:"string",default:"openstreetmap"}},supports:{className:!1,align:["wide","full"]},save(t,e){const{attributes:{mapHeight:i,markers:n,zoom:o,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u,provider:c}}=t;return n?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":c,"data-markers":encodeURIComponent(JSON.stringify(n)),"data-bounds":JSON.stringify(gt(t)),"data-zoom":o,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":encodeURIComponent(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]},provider:{type:"string",default:"openstreetmap"}},supports:{className:!1,align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:n,zoom:o,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u,provider:c}}=t;return n?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":c,"data-markers":escape(JSON.stringify(n)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":o,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]}},supports:{align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:n,zoom:o,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u}}=t;return n?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-markers":escape(JSON.stringify(n)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":o,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]}},supports:{align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:n,zoom:o,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u}}=t;return n?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-markers":escape(JSON.stringify(n)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":o,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Et(t))),style:{height:i+"px"}})}):null}}];(0,G.registerBlockType)(V,{edit:function(t){const{attributes:{queryArgs:e,serverSideRender:i,showSearchBox:o,queryCustomFields:r},context:{postType:a,postId:h}}=t,l=!(!a||!h),[u,c]=(0,s.useState)(""),d=(0,J.useBlockProps)({className:u||""}),p=()=>{let t="";if(ootbGlobal&&ootbGlobal.postTypes){const i=ootbGlobal.postTypes.find((t=>t.value===e?.post_type));i&&(t=i.label)}return t};return(0,Z.jsxs)("div",{...d,children:[(0,Z.jsx)(ct,{props:t}),i&&!r&&(0,Z.jsxs)("div",{className:"ootb-server-side-rendered",children:[(0,Z.jsx)("span",{children:(0,n.__)("Updates automatically from the latest "+p(),"ootb-openstreetmap")}),(0,Z.jsx)("div",{children:(0,Z.jsx)(rt,{props:t,variant:"primary"})})]}),i&&r&&(0,Z.jsx)("div",{className:"ootb-server-side-rendered ootb-custom-fields",children:(0,Z.jsx)("span",{children:(0,n.__)("Retrieves "+p()+" with locations","ootb-openstreetmap")})}),o&&(0,Z.jsx)(ft,{props:t}),(0,Z.jsx)(Ct,{...t,inBlockEditor:l,addingMarker:u,setAddingMarker:c}),(0,Z.jsx)(St,{...t,addingMarker:u})]})},save:function(t,e){var i;const{attributes:{mapHeight:n,markers:o,zoom:s,minZoom:r,maxZoom:a,dragging:h,touchZoom:l,doubleClickZoom:u,scrollWheelZoom:c,provider:d,mapType:p,showMarkers:m,shapeColor:_,shapeWeight:f,shapeText:g,mapboxStyleUrl:v}}=t,y={fillColor:_,color:_,weight:f},b=null!==(i=ootbGlobal?.options?.api_mapbox)&&void 0!==i?i:null,w=v&&b?vt(v,b):"";return o?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":d,"data-maptype":p,"data-showmarkers":m,"data-shapestyle":encodeURIComponent(JSON.stringify(y)),"data-shapetext":g,"data-markers":encodeURIComponent(JSON.stringify(o)),"data-bounds":JSON.stringify(gt(t)),"data-zoom":s,"data-minzoom":r,"data-maxzoom":a,"data-dragging":h,"data-touchzoom":l,"data-doubleclickzoom":u,"data-scrollwheelzoom":c,"data-marker":encodeURIComponent(JSON.stringify(Y(t))),"data-mapboxstyle":w?encodeURIComponent(JSON.stringify(w)):null,style:{height:n+"px"}})}):null},deprecated:Ot}),i(840)})()})();
     1(()=>{var t={159:(t,e,i)=>{"use strict";(o=i(609))&&"object"==typeof o&&"default"in o&&o.default;var o,n=i(576),s=new n,r=s.getBrowser(),a=(s.getCPU(),s.getDevice()),h=s.getEngine(),l=s.getOS(),u=s.getUA();var c="mobile",d="tablet",p="Chrome",m="Firefox",_="Opera",f="Yandex",g="Safari",v="Internet Explorer",y="Edge",b="Chromium",w="IE",x="Mobile Safari",P="MIUI Browser",L="Samsung Browser",k="iOS",T="Android",M="Windows Phone",z="Windows",C="Mac OS",S=function(t){return t||(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"none")},Z=function(){return!("undefined"==typeof window||!window.navigator&&!navigator)&&(window.navigator||navigator)},E=function(t){var e=Z();return e&&e.platform&&(-1!==e.platform.indexOf(t)||"MacIntel"===e.platform&&e.maxTouchPoints>1&&!window.MSStream)},O=function(t){return t.type===c},A=function(t){return t.type===d},I=function(t){var e=t.type;return e===c||e===d},j=function(t){return"smarttv"===t.type},B=function(t){return undefined===t.type},R=function(t){return"wearable"===t.type},N=function(t){return"console"===t.type},D=function(t){return"embedded"===t.type},F=function(t){var e=t.vendor;return S(e)},H=function(t){var e=t.model;return S(e)},U=function(t){var e=t.type;return S(e,"browser")},W=function(t){return t.name===T},q=function(t){return t.name===z},G=function(t){return t.name===C},V=function(t){return t.name===M},J=function(t){return t.name===k},K=function(t){var e=t.version;return S(e)},Y=function(t){var e=t.name;return S(e)},X=function(t){return t.name===p},$=function(t){return t.name===m},Q=function(t){return t.name===b},tt=function(t){return t.name===y},et=function(t){return t.name===f},it=function(t){var e=t.name;return e===g||e===x},ot=function(t){return t.name===x},nt=function(t){return t.name===_},st=function(t){var e=t.name;return e===v||e===w},rt=function(t){return t.name===P},at=function(t){return t.name===L},ht=function(t){var e=t.version;return S(e)},lt=function(t){var e=t.major;return S(e)},ut=function(t){var e=t.name;return S(e)},ct=function(t){var e=t.name;return S(e)},dt=function(t){var e=t.version;return S(e)},pt=function(){var t=Z(),e=t&&t.userAgent&&t.userAgent.toLowerCase();return"string"==typeof e&&/electron/.test(e)},mt=function(t){return"string"==typeof t&&-1!==t.indexOf("Edg/")},_t=function(){var t=Z();return t&&(/iPad|iPhone|iPod/.test(t.platform)||"MacIntel"===t.platform&&t.maxTouchPoints>1)&&!window.MSStream},ft=function(){return E("iPad")},gt=function(){return E("iPhone")},vt=function(){return E("iPod")},yt=function(t){return S(t)};j(a),N(a),R(a),D(a),ot(r)||ft(),Q(r);var bt=I(a)||ft(),wt=(O(a),A(a)||ft(),B(a),B(a),W(l),V(l),J(l)||ft(),X(r),$(r),it(r));nt(r),st(r),K(l),Y(l),ht(r),lt(r),ut(r),F(a),H(a),ct(h),dt(h),yt(u),tt(r)||mt(u),et(r),U(a),_t(),ft(),gt(),vt(),pt(),mt(u),tt(r)&&mt(u),q(l),G(l),rt(r),at(r);e.Fr=bt,e.nr=wt},481:function(t,e){!function(t){"use strict";function e(t){var e,i,o,n;for(i=1,o=arguments.length;i<o;i++)for(e in n=arguments[i])t[e]=n[e];return t}var i=Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}();function o(t,e){var i=Array.prototype.slice;if(t.bind)return t.bind.apply(t,i.call(arguments,1));var o=i.call(arguments,2);return function(){return t.apply(e,o.length?o.concat(i.call(arguments)):arguments)}}var n=0;function s(t){return"_leaflet_id"in t||(t._leaflet_id=++n),t._leaflet_id}function r(t,e,i){var o,n,s,r;return r=function(){o=!1,n&&(s.apply(i,n),n=!1)},s=function(){o?n=arguments:(t.apply(i,arguments),setTimeout(r,e),o=!0)},s}function a(t,e,i){var o=e[1],n=e[0],s=o-n;return t===o&&i?t:((t-n)%s+s)%s+n}function h(){return!1}function l(t,e){if(!1===e)return t;var i=Math.pow(10,void 0===e?6:e);return Math.round(t*i)/i}function u(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function c(t){return u(t).split(/\s+/)}function d(t,e){for(var o in Object.prototype.hasOwnProperty.call(t,"options")||(t.options=t.options?i(t.options):{}),e)t.options[o]=e[o];return t.options}function p(t,e,i){var o=[];for(var n in t)o.push(encodeURIComponent(i?n.toUpperCase():n)+"="+encodeURIComponent(t[n]));return(e&&-1!==e.indexOf("?")?"&":"?")+o.join("&")}var m=/\{ *([\w_ -]+) *\}/g;function _(t,e){return t.replace(m,(function(t,i){var o=e[i];if(void 0===o)throw new Error("No value provided for variable "+t);return"function"==typeof o&&(o=o(e)),o}))}var f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function g(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1}var v="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function y(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var b=0;function w(t){var e=+new Date,i=Math.max(0,16-(e-b));return b=e+i,window.setTimeout(t,i)}var x=window.requestAnimationFrame||y("RequestAnimationFrame")||w,P=window.cancelAnimationFrame||y("CancelAnimationFrame")||y("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function k(t,e,i){if(!i||x!==w)return x.call(window,o(t,e));t.call(e)}function T(t){t&&P.call(window,t)}var M={__proto__:null,extend:e,create:i,bind:o,get lastId(){return n},stamp:s,throttle:r,wrapNum:a,falseFn:h,formatNum:l,trim:u,splitWords:c,setOptions:d,getParamString:p,template:_,isArray:f,indexOf:g,emptyImageUrl:v,requestFn:x,cancelFn:P,requestAnimFrame:k,cancelAnimFrame:T};function z(){}z.extend=function(t){var o=function(){d(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},n=o.__super__=this.prototype,s=i(n);for(var r in s.constructor=o,o.prototype=s,this)Object.prototype.hasOwnProperty.call(this,r)&&"prototype"!==r&&"__super__"!==r&&(o[r]=this[r]);return t.statics&&e(o,t.statics),t.includes&&(function(t){if("undefined"!=typeof L&&L&&L.Mixin){t=f(t)?t:[t];for(var e=0;e<t.length;e++)t[e]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}(t.includes),e.apply(null,[s].concat(t.includes))),e(s,t),delete s.statics,delete s.includes,s.options&&(s.options=n.options?i(n.options):{},e(s.options,t.options)),s._initHooks=[],s.callInitHooks=function(){if(!this._initHooksCalled){n.callInitHooks&&n.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=s._initHooks.length;t<e;t++)s._initHooks[t].call(this)}},o},z.include=function(t){var i=this.prototype.options;return e(this.prototype,t),t.options&&(this.prototype.options=i,this.mergeOptions(t.options)),this},z.mergeOptions=function(t){return e(this.prototype.options,t),this},z.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};var C={on:function(t,e,i){if("object"==typeof t)for(var o in t)this._on(o,t[o],e);else for(var n=0,s=(t=c(t)).length;n<s;n++)this._on(t[n],e,i);return this},off:function(t,e,i){if(arguments.length)if("object"==typeof t)for(var o in t)this._off(o,t[o],e);else{t=c(t);for(var n=1===arguments.length,s=0,r=t.length;s<r;s++)n?this._off(t[s]):this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,i,o){if("function"==typeof e){if(!1===this._listens(t,e,i)){i===this&&(i=void 0);var n={fn:e,ctx:i};o&&(n.once=!0),this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(n)}}else console.warn("wrong listener type: "+typeof e)},_off:function(t,e,i){var o,n,s;if(this._events&&(o=this._events[t]))if(1!==arguments.length)if("function"==typeof e){var r=this._listens(t,e,i);if(!1!==r){var a=o[r];this._firingCount&&(a.fn=h,this._events[t]=o=o.slice()),o.splice(r,1)}}else console.warn("wrong listener type: "+typeof e);else{if(this._firingCount)for(n=0,s=o.length;n<s;n++)o[n].fn=h;delete this._events[t]}},fire:function(t,i,o){if(!this.listens(t,o))return this;var n=e({},i,{type:t,target:this,sourceTarget:i&&i.sourceTarget||this});if(this._events){var s=this._events[t];if(s){this._firingCount=this._firingCount+1||1;for(var r=0,a=s.length;r<a;r++){var h=s[r],l=h.fn;h.once&&this.off(t,l,h.ctx),l.call(h.ctx||this,n)}this._firingCount--}}return o&&this._propagateEvent(n),this},listens:function(t,e,i,o){"string"!=typeof t&&console.warn('"string" type argument expected');var n=e;"function"!=typeof e&&(o=!!e,n=void 0,i=void 0);var s=this._events&&this._events[t];if(s&&s.length&&!1!==this._listens(t,n,i))return!0;if(o)for(var r in this._eventParents)if(this._eventParents[r].listens(t,e,i,o))return!0;return!1},_listens:function(t,e,i){if(!this._events)return!1;var o=this._events[t]||[];if(!e)return!!o.length;i===this&&(i=void 0);for(var n=0,s=o.length;n<s;n++)if(o[n].fn===e&&o[n].ctx===i)return n;return!1},once:function(t,e,i){if("object"==typeof t)for(var o in t)this._on(o,t[o],e,!0);else for(var n=0,s=(t=c(t)).length;n<s;n++)this._on(t[n],e,i,!0);return this},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[s(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[s(t)],this},_propagateEvent:function(t){for(var i in this._eventParents)this._eventParents[i].fire(t.type,e({layer:t.target,propagatedFrom:t.target},t),!0)}};C.addEventListener=C.on,C.removeEventListener=C.clearAllEventListeners=C.off,C.addOneTimeEventListener=C.once,C.fireEvent=C.fire,C.hasEventListeners=C.listens;var S=z.extend(C);function Z(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e}var E=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};function O(t,e,i){return t instanceof Z?t:f(t)?new Z(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new Z(t.x,t.y):new Z(t,e,i)}function A(t,e){if(t)for(var i=e?[t,e]:t,o=0,n=i.length;o<n;o++)this.extend(i[o])}function I(t,e){return!t||t instanceof A?t:new A(t,e)}function j(t,e){if(t)for(var i=e?[t,e]:t,o=0,n=i.length;o<n;o++)this.extend(i[o])}function B(t,e){return t instanceof j?t:new j(t,e)}function R(t,e,i){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==i&&(this.alt=+i)}function N(t,e,i){return t instanceof R?t:f(t)&&"object"!=typeof t[0]?3===t.length?new R(t[0],t[1],t[2]):2===t.length?new R(t[0],t[1]):null:null==t?t:"object"==typeof t&&"lat"in t?new R(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new R(t,e,i)}Z.prototype={clone:function(){return new Z(this.x,this.y)},add:function(t){return this.clone()._add(O(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(O(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new Z(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new Z(this.x/t.x,this.y/t.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=E(this.x),this.y=E(this.y),this},distanceTo:function(t){var e=(t=O(t)).x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return(t=O(t)).x===this.x&&t.y===this.y},contains:function(t){return t=O(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+l(this.x)+", "+l(this.y)+")"}},A.prototype={extend:function(t){var e,i;if(!t)return this;if(t instanceof Z||"number"==typeof t[0]||"x"in t)e=i=O(t);else if(e=(t=I(t)).min,i=t.max,!e||!i)return this;return this.min||this.max?(this.min.x=Math.min(e.x,this.min.x),this.max.x=Math.max(i.x,this.max.x),this.min.y=Math.min(e.y,this.min.y),this.max.y=Math.max(i.y,this.max.y)):(this.min=e.clone(),this.max=i.clone()),this},getCenter:function(t){return O((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return O(this.min.x,this.max.y)},getTopRight:function(){return O(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return(t="number"==typeof t[0]||t instanceof Z?O(t):I(t))instanceof A?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=I(t);var e=this.min,i=this.max,o=t.min,n=t.max,s=n.x>=e.x&&o.x<=i.x,r=n.y>=e.y&&o.y<=i.y;return s&&r},overlaps:function(t){t=I(t);var e=this.min,i=this.max,o=t.min,n=t.max,s=n.x>e.x&&o.x<i.x,r=n.y>e.y&&o.y<i.y;return s&&r},isValid:function(){return!(!this.min||!this.max)},pad:function(t){var e=this.min,i=this.max,o=Math.abs(e.x-i.x)*t,n=Math.abs(e.y-i.y)*t;return I(O(e.x-o,e.y-n),O(i.x+o,i.y+n))},equals:function(t){return!!t&&(t=I(t),this.min.equals(t.getTopLeft())&&this.max.equals(t.getBottomRight()))}},j.prototype={extend:function(t){var e,i,o=this._southWest,n=this._northEast;if(t instanceof R)e=t,i=t;else{if(!(t instanceof j))return t?this.extend(N(t)||B(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return o||n?(o.lat=Math.min(e.lat,o.lat),o.lng=Math.min(e.lng,o.lng),n.lat=Math.max(i.lat,n.lat),n.lng=Math.max(i.lng,n.lng)):(this._southWest=new R(e.lat,e.lng),this._northEast=new R(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,o=Math.abs(e.lat-i.lat)*t,n=Math.abs(e.lng-i.lng)*t;return new j(new R(e.lat-o,e.lng-n),new R(i.lat+o,i.lng+n))},getCenter:function(){return new R((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new R(this.getNorth(),this.getWest())},getSouthEast:function(){return new R(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof R||"lat"in t?N(t):B(t);var e,i,o=this._southWest,n=this._northEast;return t instanceof j?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=o.lat&&i.lat<=n.lat&&e.lng>=o.lng&&i.lng<=n.lng},intersects:function(t){t=B(t);var e=this._southWest,i=this._northEast,o=t.getSouthWest(),n=t.getNorthEast(),s=n.lat>=e.lat&&o.lat<=i.lat,r=n.lng>=e.lng&&o.lng<=i.lng;return s&&r},overlaps:function(t){t=B(t);var e=this._southWest,i=this._northEast,o=t.getSouthWest(),n=t.getNorthEast(),s=n.lat>e.lat&&o.lat<i.lat,r=n.lng>e.lng&&o.lng<i.lng;return s&&r},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=B(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}},R.prototype={equals:function(t,e){return!!t&&(t=N(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+l(this.lat,t)+", "+l(this.lng,t)+")"},distanceTo:function(t){return H.distance(this,N(t))},wrap:function(){return H.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return B([this.lat-e,this.lng-i],[this.lat+e,this.lng+i])},clone:function(){return new R(this.lat,this.lng,this.alt)}};var D,F={latLngToPoint:function(t,e){var i=this.projection.project(t),o=this.scale(e);return this.transformation._transform(i,o)},pointToLatLng:function(t,e){var i=this.scale(e),o=this.transformation.untransform(t,i);return this.projection.unproject(o)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,i=this.scale(t);return new A(this.transformation.transform(e.min,i),this.transformation.transform(e.max,i))},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?a(t.lng,this.wrapLng,!0):t.lng;return new R(this.wrapLat?a(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),o=e.lat-i.lat,n=e.lng-i.lng;if(0===o&&0===n)return t;var s=t.getSouthWest(),r=t.getNorthEast();return new j(new R(s.lat-o,s.lng-n),new R(r.lat-o,r.lng-n))}},H=e({},F,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,o=t.lat*i,n=e.lat*i,s=Math.sin((e.lat-t.lat)*i/2),r=Math.sin((e.lng-t.lng)*i/2),a=s*s+Math.cos(o)*Math.cos(n)*r*r,h=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*h}}),U=6378137,W={R:U,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,o=Math.max(Math.min(i,t.lat),-i),n=Math.sin(o*e);return new Z(this.R*t.lng*e,this.R*Math.log((1+n)/(1-n))/2)},unproject:function(t){var e=180/Math.PI;return new R((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:(D=U*Math.PI,new A([-D,-D],[D,D]))};function q(t,e,i,o){if(f(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=e,this._c=i,this._d=o}function G(t,e,i,o){return new q(t,e,i,o)}q.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return e=e||1,t.x=e*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return e=e||1,new Z((t.x/e-this._b)/this._a,(t.y/e-this._d)/this._c)}};var V=e({},H,{code:"EPSG:3857",projection:W,transformation:function(){var t=.5/(Math.PI*W.R);return G(t,.5,-t,.5)}()}),J=e({},V,{code:"EPSG:900913"});function K(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function Y(t,e){var i,o,n,s,r,a,h="";for(i=0,n=t.length;i<n;i++){for(o=0,s=(r=t[i]).length;o<s;o++)h+=(o?"L":"M")+(a=r[o]).x+" "+a.y;h+=e?At.svg?"z":"x":""}return h||"M0 0"}var X,$=document.documentElement.style,Q="ActiveXObject"in window,tt=Q&&!document.addEventListener,et="msLaunchUri"in navigator&&!("documentMode"in document),it=Ot("webkit"),ot=Ot("android"),nt=Ot("android 2")||Ot("android 3"),st=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),rt=ot&&Ot("Google")&&st<537&&!("AudioNode"in window),at=!!window.opera,ht=!et&&Ot("chrome"),lt=Ot("gecko")&&!it&&!at&&!Q,ut=!ht&&Ot("safari"),ct=Ot("phantom"),dt="OTransition"in $,pt=0===navigator.platform.indexOf("Win"),mt=Q&&"transition"in $,_t="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!nt,ft="MozPerspective"in $,gt=!window.L_DISABLE_3D&&(mt||_t||ft)&&!dt&&!ct,vt="undefined"!=typeof orientation||Ot("mobile"),yt=vt&&it,bt=vt&&_t,wt=!window.PointerEvent&&window.MSPointerEvent,xt=!(!window.PointerEvent&&!wt),Pt="ontouchstart"in window||!!window.TouchEvent,Lt=!window.L_NO_TOUCH&&(Pt||xt),kt=vt&&at,Tt=vt&&lt,Mt=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,zt=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",h,e),window.removeEventListener("testPassiveEventSupport",h,e)}catch(t){}return t}(),Ct=!!document.createElement("canvas").getContext,St=!(!document.createElementNS||!K("svg").createSVGRect),Zt=!!St&&((X=document.createElement("div")).innerHTML="<svg/>","http://www.w3.org/2000/svg"===(X.firstChild&&X.firstChild.namespaceURI)),Et=!St&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Ot(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var At={ie:Q,ielt9:tt,edge:et,webkit:it,android:ot,android23:nt,androidStock:rt,opera:at,chrome:ht,gecko:lt,safari:ut,phantom:ct,opera12:dt,win:pt,ie3d:mt,webkit3d:_t,gecko3d:ft,any3d:gt,mobile:vt,mobileWebkit:yt,mobileWebkit3d:bt,msPointer:wt,pointer:xt,touch:Lt,touchNative:Pt,mobileOpera:kt,mobileGecko:Tt,retina:Mt,passiveEvents:zt,canvas:Ct,svg:St,vml:Et,inlineSvg:Zt,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},It=At.msPointer?"MSPointerDown":"pointerdown",jt=At.msPointer?"MSPointerMove":"pointermove",Bt=At.msPointer?"MSPointerUp":"pointerup",Rt=At.msPointer?"MSPointerCancel":"pointercancel",Nt={touchstart:It,touchmove:jt,touchend:Bt,touchcancel:Rt},Dt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&Be(e),Vt(t,e)},touchmove:Vt,touchend:Vt,touchcancel:Vt},Ft={},Ht=!1;function Ut(t,e,i){return"touchstart"===e&&(Ht||(document.addEventListener(It,Wt,!0),document.addEventListener(jt,qt,!0),document.addEventListener(Bt,Gt,!0),document.addEventListener(Rt,Gt,!0),Ht=!0)),Dt[e]?(i=Dt[e].bind(this,i),t.addEventListener(Nt[e],i,!1),i):(console.warn("wrong event specified:",e),h)}function Wt(t){Ft[t.pointerId]=t}function qt(t){Ft[t.pointerId]&&(Ft[t.pointerId]=t)}function Gt(t){delete Ft[t.pointerId]}function Vt(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Ft)e.touches.push(Ft[i]);e.changedTouches=[e],t(e)}}var Jt,Kt,Yt,Xt,$t,Qt=_e(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),te=_e(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ee="webkitTransition"===te||"OTransition"===te?te+"End":"transitionend";function ie(t){return"string"==typeof t?document.getElementById(t):t}function oe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var o=document.defaultView.getComputedStyle(t,null);i=o?o[e]:null}return"auto"===i?null:i}function ne(t,e,i){var o=document.createElement(t);return o.className=e||"",i&&i.appendChild(o),o}function se(t){var e=t.parentNode;e&&e.removeChild(t)}function re(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ae(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function he(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function le(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=pe(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function ue(t,e){if(void 0!==t.classList)for(var i=c(e),o=0,n=i.length;o<n;o++)t.classList.add(i[o]);else if(!le(t,e)){var s=pe(t);de(t,(s?s+" ":"")+e)}}function ce(t,e){void 0!==t.classList?t.classList.remove(e):de(t,u((" "+pe(t)+" ").replace(" "+e+" "," ")))}function de(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function pe(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function me(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&function(t,e){var i=!1,o="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(o)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+o+"(opacity="+e+")"}(t,e)}function _e(t){for(var e=document.documentElement.style,i=0;i<t.length;i++)if(t[i]in e)return t[i];return!1}function fe(t,e,i){var o=e||new Z(0,0);t.style[Qt]=(At.ie3d?"translate("+o.x+"px,"+o.y+"px)":"translate3d("+o.x+"px,"+o.y+"px,0)")+(i?" scale("+i+")":"")}function ge(t,e){t._leaflet_pos=e,At.any3d?fe(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function ve(t){return t._leaflet_pos||new Z(0,0)}if("onselectstart"in document)Jt=function(){Me(window,"selectstart",Be)},Kt=function(){Ce(window,"selectstart",Be)};else{var ye=_e(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);Jt=function(){if(ye){var t=document.documentElement.style;Yt=t[ye],t[ye]="none"}},Kt=function(){ye&&(document.documentElement.style[ye]=Yt,Yt=void 0)}}function be(){Me(window,"dragstart",Be)}function we(){Ce(window,"dragstart",Be)}function xe(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Pe(),Xt=t,$t=t.style.outlineStyle,t.style.outlineStyle="none",Me(window,"keydown",Pe))}function Pe(){Xt&&(Xt.style.outlineStyle=$t,Xt=void 0,$t=void 0,Ce(window,"keydown",Pe))}function Le(t){do{t=t.parentNode}while(!(t.offsetWidth&&t.offsetHeight||t===document.body));return t}function ke(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}var Te={__proto__:null,TRANSFORM:Qt,TRANSITION:te,TRANSITION_END:ee,get:ie,getStyle:oe,create:ne,remove:se,empty:re,toFront:ae,toBack:he,hasClass:le,addClass:ue,removeClass:ce,setClass:de,getClass:pe,setOpacity:me,testProp:_e,setTransform:fe,setPosition:ge,getPosition:ve,get disableTextSelection(){return Jt},get enableTextSelection(){return Kt},disableImageDrag:be,enableImageDrag:we,preventOutline:xe,restoreOutline:Pe,getSizedParentNode:Le,getScale:ke};function Me(t,e,i,o){if(e&&"object"==typeof e)for(var n in e)Ee(t,n,e[n],i);else for(var s=0,r=(e=c(e)).length;s<r;s++)Ee(t,e[s],i,o);return this}var ze="_leaflet_events";function Ce(t,e,i,o){if(1===arguments.length)Se(t),delete t[ze];else if(e&&"object"==typeof e)for(var n in e)Oe(t,n,e[n],i);else if(e=c(e),2===arguments.length)Se(t,(function(t){return-1!==g(e,t)}));else for(var s=0,r=e.length;s<r;s++)Oe(t,e[s],i,o);return this}function Se(t,e){for(var i in t[ze]){var o=i.split(/\d/)[0];e&&!e(o)||Oe(t,o,null,null,i)}}var Ze={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Ee(t,e,i,o){var n=e+s(i)+(o?"_"+s(o):"");if(t[ze]&&t[ze][n])return this;var r=function(e){return i.call(o||t,e||window.event)},a=r;!At.touchNative&&At.pointer&&0===e.indexOf("touch")?r=Ut(t,e,r):At.touch&&"dblclick"===e?r=function(t,e){t.addEventListener("dblclick",e);var i,o=0;function n(t){if(1===t.detail){if("mouse"!==t.pointerType&&(!t.sourceCapabilities||t.sourceCapabilities.firesTouchEvents)){var n=Ne(t);if(!n.some((function(t){return t instanceof HTMLLabelElement&&t.attributes.for}))||n.some((function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement}))){var s=Date.now();s-o<=200?2==++i&&e(function(t){var e,i,o={};for(i in t)e=t[i],o[i]=e&&e.bind?e.bind(t):e;return t=o,o.type="dblclick",o.detail=2,o.isTrusted=!1,o._simulated=!0,o}(t)):i=1,o=s}}}else i=t.detail}return t.addEventListener("click",n),{dblclick:e,simDblclick:n}}(t,r):"addEventListener"in t?"touchstart"===e||"touchmove"===e||"wheel"===e||"mousewheel"===e?t.addEventListener(Ze[e]||e,r,!!At.passiveEvents&&{passive:!1}):"mouseenter"===e||"mouseleave"===e?(r=function(e){e=e||window.event,Ue(t,e)&&a(e)},t.addEventListener(Ze[e],r,!1)):t.addEventListener(e,a,!1):t.attachEvent("on"+e,r),t[ze]=t[ze]||{},t[ze][n]=r}function Oe(t,e,i,o,n){n=n||e+s(i)+(o?"_"+s(o):"");var r=t[ze]&&t[ze][n];if(!r)return this;!At.touchNative&&At.pointer&&0===e.indexOf("touch")?function(t,e,i){Nt[e]?t.removeEventListener(Nt[e],i,!1):console.warn("wrong event specified:",e)}(t,e,r):At.touch&&"dblclick"===e?function(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}(t,r):"removeEventListener"in t?t.removeEventListener(Ze[e]||e,r,!1):t.detachEvent("on"+e,r),t[ze][n]=null}function Ae(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,this}function Ie(t){return Ee(t,"wheel",Ae),this}function je(t){return Me(t,"mousedown touchstart dblclick contextmenu",Ae),t._leaflet_disable_click=!0,this}function Be(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return Be(t),Ae(t),this}function Ne(t){if(t.composedPath)return t.composedPath();for(var e=[],i=t.target;i;)e.push(i),i=i.parentNode;return e}function De(t,e){if(!e)return new Z(t.clientX,t.clientY);var i=ke(e),o=i.boundingClientRect;return new Z((t.clientX-o.left)/i.x-e.clientLeft,(t.clientY-o.top)/i.y-e.clientTop)}var Fe=At.linux&&At.chrome?window.devicePixelRatio:At.mac?3*window.devicePixelRatio:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function He(t){return At.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Fe:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function Ue(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var We={__proto__:null,on:Me,off:Ce,stopPropagation:Ae,disableScrollPropagation:Ie,disableClickPropagation:je,preventDefault:Be,stop:Re,getPropagationPath:Ne,getMousePosition:De,getWheelDelta:He,isExternalTarget:Ue,addListener:Me,removeListener:Ce},qe=S.extend({run:function(t,e,i,o){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(o||.5,.2),this._startPos=ve(t),this._offset=e.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=k(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var i=this._startPos.add(this._offset.multiplyBy(t));e&&i._round(),ge(this._el,i),this.fire("step")},_complete:function(){T(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Ge=S.extend({options:{crs:V,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=d(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=o(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(N(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=te&&At.any3d&&!At.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Me(this._proxy,ee,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,i,o){return i=void 0===i?this._zoom:this._limitZoom(i),t=this._limitCenter(N(t),i,this.options.maxBounds),o=o||{},this._stop(),this._loaded&&!o.reset&&!0!==o&&(void 0!==o.animate&&(o.zoom=e({animate:o.animate},o.zoom),o.pan=e({animate:o.animate,duration:o.duration},o.pan)),this._zoom!==i?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,i,o.zoom):this._tryAnimatedPan(t,o.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,i,o.pan&&o.pan.noMoveStart),this)},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(At.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(At.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var o=this.getZoomScale(e),n=this.getSize().divideBy(2),s=(t instanceof Z?t:this.latLngToContainerPoint(t)).subtract(n).multiplyBy(1-1/o),r=this.containerPointToLatLng(n.add(s));return this.setView(r,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():B(t);var i=O(e.paddingTopLeft||e.padding||[0,0]),o=O(e.paddingBottomRight||e.padding||[0,0]),n=this.getBoundsZoom(t,!1,i.add(o));if((n="number"==typeof e.maxZoom?Math.min(e.maxZoom,n):n)===1/0)return{center:t.getCenter(),zoom:n};var s=o.subtract(i).divideBy(2),r=this.project(t.getSouthWest(),n),a=this.project(t.getNorthEast(),n);return{center:this.unproject(r.add(a).divideBy(2).add(s),n),zoom:n}},fitBounds:function(t,e){if(!(t=B(t)).isValid())throw new Error("Bounds are not valid.");var i=this._getBoundsCenterZoom(t,e);return this.setView(i.center,i.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(e=e||{},!(t=O(t).round()).x&&!t.y)return this.fire("moveend");if(!0!==e.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new qe,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate){ue(this._mapPane,"leaflet-pan-anim");var i=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,i){if(!1===(i=i||{}).animate||!At.any3d)return this.setView(t,e,i);this._stop();var o=this.project(this.getCenter()),n=this.project(t),s=this.getSize(),r=this._zoom;t=N(t),e=void 0===e?r:e;var a=Math.max(s.x,s.y),h=a*this.getZoomScale(r,e),l=n.distanceTo(o)||1,u=1.42,c=2.0164;function d(t){var e=(h*h-a*a+(t?-1:1)*c*c*l*l)/(2*(t?h:a)*c*l),i=Math.sqrt(e*e+1)-e;return i<1e-9?-18:Math.log(i)}function p(t){return(Math.exp(t)-Math.exp(-t))/2}function m(t){return(Math.exp(t)+Math.exp(-t))/2}var _=d(0);function f(t){return a*(m(_)*(p(e=_+u*t)/m(e))-p(_))/c;var e}var g=Date.now(),v=(d(1)-_)/u,y=i.duration?1e3*i.duration:1e3*v*.8;return this._moveStart(!0,i.noMoveStart),function i(){var s=(Date.now()-g)/y,h=function(t){return 1-Math.pow(1-t,1.5)}(s)*v;s<=1?(this._flyToFrame=k(i,this),this._move(this.unproject(o.add(n.subtract(o).multiplyBy(f(h)/l)),r),this.getScaleZoom(a/function(t){return a*(m(_)/m(_+u*t))}(h),r),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}.call(this),this},flyToBounds:function(t,e){var i=this._getBoundsCenterZoom(t,e);return this.flyTo(i.center,i.zoom,e)},setMaxBounds:function(t){return t=B(t),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),t.isValid()?(this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),o=this._limitCenter(i,this._zoom,B(t));return i.equals(o)||this.panTo(o,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=O((e=e||{}).paddingTopLeft||e.padding||[0,0]),o=O(e.paddingBottomRight||e.padding||[0,0]),n=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),a=I([r.min.add(i),r.max.subtract(o)]),h=a.getSize();if(!a.contains(s)){this._enforcingBounds=!0;var l=s.subtract(a.getCenter()),u=a.extend(s).getSize().subtract(h);n.x+=l.x<0?-u.x:u.x,n.y+=l.y<0?-u.y:u.y,this.panTo(this.unproject(n),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=e({animate:!1,pan:!0},!0===t?{animate:!0}:t);var i=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var n=this.getSize(),s=i.divideBy(2).round(),r=n.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:n})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=e({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var i=o(this._handleGeolocationResponse,this),n=o(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(i,n,t):navigator.geolocation.getCurrentPosition(i,n,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=new R(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),o=this._locateOptions;if(o.setView){var n=this.getBoundsZoom(i);this.setView(e,o.maxZoom?Math.min(n,o.maxZoom):n)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.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(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(T(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)se(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=ne("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new j(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=B(t),i=O(i||[0,0]);var o=this.getZoom()||0,n=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(i),l=I(this.project(a,o),this.project(r,o)).getSize(),u=At.any3d?this.options.zoomSnap:1,c=h.x/l.x,d=h.y/l.y,p=e?Math.max(c,d):Math.min(c,d);return o=this.getScaleZoom(p,o),u&&(o=Math.round(o/(u/100))*(u/100),o=e?Math.ceil(o/u)*u:Math.floor(o/u)*u),Math.max(n,Math.min(s,o))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new Z(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new A(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var o=i.zoom(t*i.scale(e));return isNaN(o)?1/0:o},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(N(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(O(t),e)},layerPointToLatLng:function(t){var e=O(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(N(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(N(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(B(t))},distance:function(t,e){return this.options.crs.distance(N(t),N(e))},containerPointToLayerPoint:function(t){return O(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return O(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(O(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(N(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=ie(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");Me(e,"scroll",this._onScroll,this),this._containerId=s(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&At.any3d,ue(t,"leaflet-container"+(At.touch?" leaflet-touch":"")+(At.retina?" leaflet-retina":"")+(At.ielt9?" leaflet-oldie":"")+(At.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=oe(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),ge(this._mapPane,new Z(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(ue(t.markerPane,"leaflet-zoom-hide"),ue(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){ge(this._mapPane,new Z(0,0));var o=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var n=this._zoom!==e;this._moveStart(n,i)._move(t,e)._moveEnd(n),this.fire("viewreset"),o&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,o){void 0===e&&(e=this._zoom);var n=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),o?i&&i.pinch&&this.fire("zoom",i):((n||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return T(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){ge(this._mapPane,this._getMapPanePos().subtract(t))},_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(t){this._targets={},this._targets[s(this._container)]=this;var e=t?Ce:Me;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),At.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){T(this._resizeRequest),this._resizeRequest=k((function(){this.invalidateSize({debounceMoveend:!0})}),this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,o=[],n="mouseout"===e||"mouseover"===e,r=t.target||t.srcElement,a=!1;r;){if((i=this._targets[s(r)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){a=!0;break}if(i&&i.listens(e,!0)){if(n&&!Ue(r,t))break;if(o.push(i),n)break}if(r===this._container)break;r=r.parentNode}return o.length||a||n||!this.listens(e,!0)||(o=[this]),o},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(e))){var i=t.type;"mousedown"===i&&xe(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,i,o){if("click"===t.type){var n=e({},t);n.type="preclick",this._fireDOMEvent(n,n.type,o)}var s=this._findEventTargets(t,i);if(o){for(var r=[],a=0;a<o.length;a++)o[a].listens(i,!0)&&r.push(o[a]);s=r.concat(s)}if(s.length){"contextmenu"===i&&Be(t);var h=s[0],l={originalEvent:t};if("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type){var u=h.getLatLng&&(!h._radius||h._radius<=10);l.containerPoint=u?this.latLngToContainerPoint(h.getLatLng()):this.mouseEventToContainerPoint(t),l.layerPoint=this.containerPointToLayerPoint(l.containerPoint),l.latlng=u?h.getLatLng():this.layerPointToLatLng(l.layerPoint)}for(a=0;a<s.length;a++)if(s[a].fire(i,l,!0),l.originalEvent._stopped||!1===s[a].options.bubblingMouseEvents&&-1!==g(this._mouseEvents,i))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return ve(this._mapPane)||new Z(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){var o=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(o)},_latLngBoundsToNewLayerBounds:function(t,e,i){var o=this._getNewPixelOrigin(i,e);return I([this.project(t.getSouthWest(),e)._subtract(o),this.project(t.getNorthWest(),e)._subtract(o),this.project(t.getSouthEast(),e)._subtract(o),this.project(t.getNorthEast(),e)._subtract(o)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){if(!i)return t;var o=this.project(t,e),n=this.getSize().divideBy(2),s=new A(o.subtract(n),o.add(n)),r=this._getBoundsOffset(s,i,e);return Math.abs(r.x)<=1&&Math.abs(r.y)<=1?t:this.unproject(o.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var i=this.getPixelBounds(),o=new A(i.min.add(t),i.max.add(t));return t.add(this._getBoundsOffset(o,e))},_getBoundsOffset:function(t,e,i){var o=I(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),n=o.min.subtract(t.min),s=o.max.subtract(t.max);return new Z(this._rebound(n.x,-s.x),this._rebound(n.y,-s.y))},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),o=At.any3d?this.options.zoomSnap:1;return o&&(t=Math.round(t/o)*o),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ce(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i)||(this.panBy(i,e),0))},_createAnimProxy:function(){var t=this._proxy=ne("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",(function(t){var e=Qt,i=this._proxy.style[e];fe(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()}),this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();fe(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var o=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/o);return!(!0!==i.animate&&!this.getSize().contains(n)||(k((function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)}),this),0))},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,ue(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(o(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&ce(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))}});var Ve=z.extend({options:{position:"topright"},initialize:function(t){d(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),o=t._controlCorners[i];return ue(e,"leaflet-control"),-1!==i.indexOf("bottom")?o.insertBefore(e,o.firstChild):o.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(se(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),Je=function(t){return new Ve(t)};Ge.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=ne("div",e+"control-container",this._container);function o(o,n){var s=e+o+" "+e+n;t[o+n]=ne("div",s,i)}o("top","left"),o("top","right"),o("bottom","left"),o("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)se(this._controlCorners[t]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ke=Ve.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,o){return i<o?-1:o<i?1:0}},initialize:function(t,e,i){for(var o in d(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1,t)this._addLayer(t[o],o);for(o in e)this._addLayer(e[o],o,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return Ve.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(s(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){ue(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(ue(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):ce(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return ce(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=ne("div",t),i=this.options.collapsed;e.setAttribute("aria-haspopup",!0),je(e),Ie(e);var o=this._section=ne("section",t+"-list");i&&(this._map.on("click",this.collapse,this),Me(e,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var n=this._layersLink=ne("a",t+"-toggle",e);n.href="#",n.title="Layers",n.setAttribute("role","button"),Me(n,{keydown:function(t){13===t.keyCode&&this._expandSafely()},click:function(t){Be(t),this._expandSafely()}},this),i||this.expand(),this._baseLayersList=ne("div",t+"-base",o),this._separator=ne("div",t+"-separator",o),this._overlaysList=ne("div",t+"-overlays",o),e.appendChild(o)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&s(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(o((function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)}),this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;re(this._baseLayersList),re(this._overlaysList),this._layerControlInputs=[];var t,e,i,o,n=0;for(i=0;i<this._layers.length;i++)o=this._layers[i],this._addItem(o),e=e||o.overlay,t=t||!o.overlay,n+=o.overlay?0:1;return this.options.hideSingleBase&&(t=t&&n>1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(s(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",o=document.createElement("div");return o.innerHTML=i,o.firstChild},_addItem:function(t){var e,i=document.createElement("label"),o=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=o):e=this._createRadioElement("leaflet-base-layers_"+s(this),o),this._layerControlInputs.push(e),e.layerId=s(t.layer),Me(e,"click",this._onInputClick,this);var n=document.createElement("span");n.innerHTML=" "+t.name;var r=document.createElement("span");return i.appendChild(r),r.appendChild(e),r.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,o=[],n=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?o.push(e):t.checked||n.push(e);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])&&this._map.removeLayer(n[s]);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])||this._map.addLayer(o[s]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var t,e,i=this._layerControlInputs,o=this._map.getZoom(),n=i.length-1;n>=0;n--)t=i[n],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&o<e.options.minZoom||void 0!==e.options.maxZoom&&o>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,Me(t,"click",Be),this.expand();var e=this;setTimeout((function(){Ce(t,"click",Be),e._preventClick=!1}))}}),Ye=Ve.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=ne("div",e+" leaflet-bar"),o=this.options;return this._zoomInButton=this._createButton(o.zoomInText,o.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(o.zoomOutText,o.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.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(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,o,n){var s=ne("a",i,o);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),je(s),Me(s,"click",Re),Me(s,"click",n,this),Me(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";ce(this._zoomInButton,e),ce(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(ue(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(ue(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});Ge.mergeOptions({zoomControl:!0}),Ge.addInitHook((function(){this.options.zoomControl&&(this.zoomControl=new Ye,this.addControl(this.zoomControl))}));var Xe=Ve.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=ne("div",e),o=this.options;return this._addScales(o,e+"-line",i),t.on(o.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=ne("div",e,i)),t.imperial&&(this._iScale=ne("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,o,n=3.2808399*t;n>5280?(e=n/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(o=this._getRoundNum(n),this._updateScale(this._iScale,o+" ft",o/n))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),$e=Ve.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(At.inlineSvg?'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg> ':"")+"Leaflet</a>"},initialize:function(t){d(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=ne("div","leaflet-control-attribution"),je(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",(function(){this.removeAttribution(t.layer.getAttribution())}),this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' <span aria-hidden="true">|</span> ')}}});Ge.mergeOptions({attributionControl:!0}),Ge.addInitHook((function(){this.options.attributionControl&&(new $e).addTo(this)}));Ve.Layers=Ke,Ve.Zoom=Ye,Ve.Scale=Xe,Ve.Attribution=$e,Je.layers=function(t,e,i){return new Ke(t,e,i)},Je.zoom=function(t){return new Ye(t)},Je.scale=function(t){return new Xe(t)},Je.attribution=function(t){return new $e(t)};var Qe=z.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Qe.addTo=function(t,e){return t.addHandler(e,this),this};var ti={Events:C},ei=At.touch?"touchstart mousedown":"mousedown",ii=S.extend({options:{clickTolerance:3},initialize:function(t,e,i,o){d(this,o),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(Me(this._dragStartTarget,ei,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ii._dragging===this&&this.finishDrag(!0),Ce(this._dragStartTarget,ei,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!le(this._element,"leaflet-zoom-anim")))if(t.touches&&1!==t.touches.length)ii._dragging===this&&this.finishDrag();else if(!(ii._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(ii._dragging=this,this._preventOutline&&xe(this._element),be(),Jt(),this._moving))){this.fire("down");var e=t.touches?t.touches[0]:t,i=Le(this._element);this._startPoint=new Z(e.clientX,e.clientY),this._startPos=ve(this._element),this._parentScale=ke(i);var o="mousedown"===t.type;Me(document,o?"mousemove":"touchmove",this._onMove,this),Me(document,o?"mouseup":"touchend touchcancel",this._onUp,this)}},_onMove:function(t){if(this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new Z(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)<this.options.clickTolerance||(i.x/=this._parentScale.x,i.y/=this._parentScale.y,Be(t),this._moved||(this.fire("dragstart"),this._moved=!0,ue(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),ue(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(i),this._moving=!0,this._lastEvent=t,this._updatePosition()))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),ge(this._element,this._newPos),this.fire("drag",t)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(t){ce(document.body,"leaflet-dragging"),this._lastTarget&&(ce(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Ce(document,"mousemove touchmove",this._onMove,this),Ce(document,"mouseup touchend touchcancel",this._onUp,this),we(),Kt();var e=this._moved&&this._moving;this._moving=!1,ii._dragging=!1,e&&this.fire("dragend",{noInertia:t,distance:this._newPos.distanceTo(this._startPos)})}});function oi(t,e,i){var o,n,s,r,a,h,l,u,c,d=[1,4,2,8];for(n=0,l=t.length;n<l;n++)t[n]._code=pi(t[n],e);for(r=0;r<4;r++){for(u=d[r],o=[],n=0,s=(l=t.length)-1;n<l;s=n++)a=t[n],h=t[s],a._code&u?h._code&u||((c=di(h,a,u,e,i))._code=pi(c,e),o.push(c)):(h._code&u&&((c=di(h,a,u,e,i))._code=pi(c,e),o.push(c)),o.push(a));t=o}return t}function ni(t,e){var i,o,n,s,r,a,h,l,u;if(!t||0===t.length)throw new Error("latlngs not passed");fi(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var c=N([0,0]),d=B(t);d.getNorthWest().distanceTo(d.getSouthWest())*d.getNorthEast().distanceTo(d.getNorthWest())<1700&&(c=si(t));var p=t.length,m=[];for(i=0;i<p;i++){var _=N(t[i]);m.push(e.project(N([_.lat-c.lat,_.lng-c.lng])))}for(a=h=l=0,i=0,o=p-1;i<p;o=i++)n=m[i],s=m[o],r=n.y*s.x-s.y*n.x,h+=(n.x+s.x)*r,l+=(n.y+s.y)*r,a+=3*r;u=0===a?m[0]:[h/a,l/a];var f=e.unproject(O(u));return N([f.lat+c.lat,f.lng+c.lng])}function si(t){for(var e=0,i=0,o=0,n=0;n<t.length;n++){var s=N(t[n]);e+=s.lat,i+=s.lng,o++}return N([e/o,i/o])}var ri,ai={__proto__:null,clipPolygon:oi,polygonCenter:ni,centroid:si};function hi(t,e){if(!e||!t.length)return t.slice();var i=e*e;return function(t,e){var i=t.length,o=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(i);o[0]=o[i-1]=1,ui(t,o,e,0,i-1);var n,s=[];for(n=0;n<i;n++)o[n]&&s.push(t[n]);return s}(t=function(t,e){for(var i=[t[0]],o=1,n=0,s=t.length;o<s;o++)mi(t[o],t[n])>e&&(i.push(t[o]),n=o);return n<s-1&&i.push(t[s-1]),i}(t,i),i)}function li(t,e,i){return Math.sqrt(_i(t,e,i,!0))}function ui(t,e,i,o,n){var s,r,a,h=0;for(r=o+1;r<=n-1;r++)(a=_i(t[r],t[o],t[n],!0))>h&&(s=r,h=a);h>i&&(e[s]=1,ui(t,e,i,o,s),ui(t,e,i,s,n))}function ci(t,e,i,o,n){var s,r,a,h=o?ri:pi(t,i),l=pi(e,i);for(ri=l;;){if(!(h|l))return[t,e];if(h&l)return!1;a=pi(r=di(t,e,s=h||l,i,n),i),s===h?(t=r,h=a):(e=r,l=a)}}function di(t,e,i,o,n){var s,r,a=e.x-t.x,h=e.y-t.y,l=o.min,u=o.max;return 8&i?(s=t.x+a*(u.y-t.y)/h,r=u.y):4&i?(s=t.x+a*(l.y-t.y)/h,r=l.y):2&i?(s=u.x,r=t.y+h*(u.x-t.x)/a):1&i&&(s=l.x,r=t.y+h*(l.x-t.x)/a),new Z(s,r,n)}function pi(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i}function mi(t,e){var i=e.x-t.x,o=e.y-t.y;return i*i+o*o}function _i(t,e,i,o){var n,s=e.x,r=e.y,a=i.x-s,h=i.y-r,l=a*a+h*h;return l>0&&((n=((t.x-s)*a+(t.y-r)*h)/l)>1?(s=i.x,r=i.y):n>0&&(s+=a*n,r+=h*n)),a=t.x-s,h=t.y-r,o?a*a+h*h:new Z(s,r)}function fi(t){return!f(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function gi(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),fi(t)}function vi(t,e){var i,o,n,s,r,a,h,l;if(!t||0===t.length)throw new Error("latlngs not passed");fi(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var u=N([0,0]),c=B(t);c.getNorthWest().distanceTo(c.getSouthWest())*c.getNorthEast().distanceTo(c.getNorthWest())<1700&&(u=si(t));var d=t.length,p=[];for(i=0;i<d;i++){var m=N(t[i]);p.push(e.project(N([m.lat-u.lat,m.lng-u.lng])))}for(i=0,o=0;i<d-1;i++)o+=p[i].distanceTo(p[i+1])/2;if(0===o)l=p[0];else for(i=0,s=0;i<d-1;i++)if(r=p[i],a=p[i+1],(s+=n=r.distanceTo(a))>o){h=(s-o)/n,l=[a.x-h*(a.x-r.x),a.y-h*(a.y-r.y)];break}var _=e.unproject(O(l));return N([_.lat+u.lat,_.lng+u.lng])}var yi={__proto__:null,simplify:hi,pointToSegmentDistance:li,closestPointOnSegment:function(t,e,i){return _i(t,e,i)},clipSegment:ci,_getEdgeIntersection:di,_getBitCode:pi,_sqClosestPointOnSegment:_i,isFlat:fi,_flat:gi,polylineCenter:vi},bi={project:function(t){return new Z(t.lng,t.lat)},unproject:function(t){return new R(t.y,t.x)},bounds:new A([-180,-90],[180,90])},wi={R:6378137,R_MINOR:6356752.314245179,bounds:new A([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,o=t.lat*e,n=this.R_MINOR/i,s=Math.sqrt(1-n*n),r=s*Math.sin(o),a=Math.tan(Math.PI/4-o/2)/Math.pow((1-r)/(1+r),s/2);return o=-i*Math.log(Math.max(a,1e-10)),new Z(t.lng*e*i,o)},unproject:function(t){for(var e,i=180/Math.PI,o=this.R,n=this.R_MINOR/o,s=Math.sqrt(1-n*n),r=Math.exp(-t.y/o),a=Math.PI/2-2*Math.atan(r),h=0,l=.1;h<15&&Math.abs(l)>1e-7;h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=l=Math.PI/2-2*Math.atan(r*e)-a;return new R(a*i,t.x*i/o)}},xi={__proto__:null,LonLat:bi,Mercator:wi,SphericalMercator:W},Pi=e({},H,{code:"EPSG:3395",projection:wi,transformation:function(){var t=.5/(Math.PI*wi.R);return G(t,.5,-t,.5)}()}),Li=e({},H,{code:"EPSG:4326",projection:bi,transformation:G(1/180,1,-1/180,.5)}),ki=e({},F,{projection:bi,transformation:G(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,o=e.lat-t.lat;return Math.sqrt(i*i+o*o)},infinite:!0});F.Earth=H,F.EPSG3395=Pi,F.EPSG3857=V,F.EPSG900913=J,F.EPSG4326=Li,F.Simple=ki;var Ti=S.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[s(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[s(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",(function(){e.off(i,this)}),this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});Ge.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=s(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=s(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return s(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?f(t)?t:[t]:[]).length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[s(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=s(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-1/0,i=this._getZoomSpan();for(var o in this._zoomBoundLayers){var n=this._zoomBoundLayers[o].options;t=void 0===n.minZoom?t:Math.min(t,n.minZoom),e=void 0===n.maxZoom?e:Math.max(e,n.maxZoom)}this._layersMaxZoom=e===-1/0?void 0:e,this._layersMinZoom=t===1/0?void 0:t,i!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Mi=Ti.extend({initialize:function(t,e){var i,o;if(d(this,e),this._layers={},t)for(i=0,o=t.length;i<o;i++)this.addLayer(t[i])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return("number"==typeof t?t:this.getLayerId(t))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,i,o=Array.prototype.slice.call(arguments,1);for(e in this._layers)(i=this._layers[e])[t]&&i[t].apply(i,o);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return s(t)}}),zi=Mi.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),Mi.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),Mi.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new j;for(var e in this._layers){var i=this._layers[e];t.extend(i.getBounds?i.getBounds():i.getLatLng())}return t}}),Ci=z.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(t){d(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(!i){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var o=this._createImg(i,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(o,t),(this.options.crossOrigin||""===this.options.crossOrigin)&&(o.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),o},_setIconStyles:function(t,e){var i=this.options,o=i[e+"Size"];"number"==typeof o&&(o=[o,o]);var n=O(o),s=O("shadow"===e&&i.shadowAnchor||i.iconAnchor||n&&n.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),s&&(t.style.marginLeft=-s.x+"px",t.style.marginTop=-s.y+"px"),n&&(t.style.width=n.x+"px",t.style.height=n.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return At.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});var Si=Ci.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return"string"!=typeof Si.imagePath&&(Si.imagePath=this._detectIconPath()),(this.options.imagePath||Si.imagePath)+Ci.prototype._getIconUrl.call(this,t)},_stripUrl:function(t){var e=function(t,e,i){var o=e.exec(t);return o&&o[i]};return(t=e(t,/^url\((['"])?(.+)\1\)$/,2))&&e(t,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var t=ne("div","leaflet-default-icon-path",document.body),e=oe(t,"background-image")||oe(t,"backgroundImage");if(document.body.removeChild(t),e=this._stripUrl(e))return e;var i=document.querySelector('link[href$="leaflet.css"]');return i?i.href.substring(0,i.href.length-11-1):""}}),Zi=Qe.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new ii(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),ue(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&ce(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,i=e._map,o=this._marker.options.autoPanSpeed,n=this._marker.options.autoPanPadding,s=ve(e._icon),r=i.getPixelBounds(),a=i.getPixelOrigin(),h=I(r.min._subtract(a).add(n),r.max._subtract(a).subtract(n));if(!h.contains(s)){var l=O((Math.max(h.max.x,s.x)-h.max.x)/(r.max.x-h.max.x)-(Math.min(h.min.x,s.x)-h.min.x)/(r.min.x-h.min.x),(Math.max(h.max.y,s.y)-h.max.y)/(r.max.y-h.max.y)-(Math.min(h.min.y,s.y)-h.min.y)/(r.min.y-h.min.y)).multiplyBy(o);i.panBy(l,{animate:!1}),this._draggable._newPos._add(l),this._draggable._startPos._add(l),ge(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=k(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(T(this._panRequest),this._panRequest=k(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,i=e._shadow,o=ve(e._icon),n=e._map.layerPointToLatLng(o);i&&ge(i,o),e._latlng=n,t.latlng=n,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){T(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Ei=Ti.extend({options:{icon:new Si,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){d(this,e),this._latlng=N(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=N(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),o=!1;i!==this._icon&&(this._icon&&this._removeIcon(),o=!0,t.title&&(i.title=t.title),"IMG"===i.tagName&&(i.alt=t.alt||"")),ue(i,e),t.keyboard&&(i.tabIndex="0",i.setAttribute("role","button")),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Me(i,"focus",this._panOnFocus,this);var n=t.icon.createShadow(this._shadow),s=!1;n!==this._shadow&&(this._removeShadow(),s=!0),n&&(ue(n,e),n.alt=""),this._shadow=n,t.opacity<1&&this._updateOpacity(),o&&this.getPane().appendChild(this._icon),this._initInteraction(),n&&s&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Ce(this._icon,"focus",this._panOnFocus,this),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&ge(this._icon,t),this._shadow&&ge(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(ue(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Zi)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Zi(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&me(this._icon,t),this._shadow&&me(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var t=this._map;if(t){var e=this.options.icon.options,i=e.iconSize?O(e.iconSize):O(0,0),o=e.iconAnchor?O(e.iconAnchor):O(0,0);t.panInside(this._latlng,{paddingTopLeft:o,paddingBottomRight:i.subtract(o)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});var Oi=Ti.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return d(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),Ai=Oi.extend({options:{fill:!0,radius:10},initialize:function(t,e){d(this,e),this._latlng=N(t),this._radius=this.options.radius},setLatLng:function(t){var e=this._latlng;return this._latlng=N(t),this.redraw(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return Oi.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),o=[t+i,e+i];this._pxBounds=new A(this._point.subtract(o),this._point.add(o))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});var Ii=Ai.extend({initialize:function(t,i,o){if("number"==typeof i&&(i=e({},o,{radius:i})),d(this,i),this._latlng=N(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new j(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Oi.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,i=this._map,o=i.options.crs;if(o.distance===H.distance){var n=Math.PI/180,s=this._mRadius/H.R/n,r=i.project([e+s,t]),a=i.project([e-s,t]),h=r.add(a).divideBy(2),l=i.unproject(h).lat,u=Math.acos((Math.cos(s*n)-Math.sin(e*n)*Math.sin(l*n))/(Math.cos(e*n)*Math.cos(l*n)))/n;(isNaN(u)||0===u)&&(u=s/Math.cos(Math.PI/180*e)),this._point=h.subtract(i.getPixelOrigin()),this._radius=isNaN(u)?0:h.x-i.project([l,t-u]).x,this._radiusY=h.y-r.y}else{var c=o.unproject(o.project(this._latlng).subtract([this._mRadius,0]));this._point=i.latLngToLayerPoint(this._latlng),this._radius=this._point.x-i.latLngToLayerPoint(c).x}this._updateBounds()}});var ji=Oi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){d(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,i,o=1/0,n=null,s=_i,r=0,a=this._parts.length;r<a;r++)for(var h=this._parts[r],l=1,u=h.length;l<u;l++){var c=s(t,e=h[l-1],i=h[l],!0);c<o&&(o=c,n=s(t,e,i))}return n&&(n.distance=Math.sqrt(o)),n},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return vi(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=N(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new j,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return fi(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=fi(t),o=0,n=t.length;o<n;o++)i?(e[o]=N(t[o]),this._bounds.extend(e[o])):e[o]=this._convertLatLngs(t[o]);return e},_project:function(){var t=new A;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),e=new Z(t,t);this._rawPxBounds&&(this._pxBounds=new A([this._rawPxBounds.min.subtract(e),this._rawPxBounds.max.add(e)]))},_projectLatlngs:function(t,e,i){var o,n,s=t[0]instanceof R,r=t.length;if(s){for(n=[],o=0;o<r;o++)n[o]=this._map.latLngToLayerPoint(t[o]),i.extend(n[o]);e.push(n)}else for(o=0;o<r;o++)this._projectLatlngs(t[o],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var e,i,o,n,s,r,a,h=this._parts;for(e=0,o=0,n=this._rings.length;e<n;e++)for(i=0,s=(a=this._rings[e]).length;i<s-1;i++)(r=ci(a[i],a[i+1],t,i,!0))&&(h[o]=h[o]||[],h[o].push(r[0]),r[1]===a[i+1]&&i!==s-2||(h[o].push(r[1]),o++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,o=t.length;i<o;i++)t[i]=hi(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var i,o,n,s,r,a,h=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(i=0,s=this._parts.length;i<s;i++)for(o=0,n=(r=(a=this._parts[i]).length)-1;o<r;n=o++)if((e||0!==o)&&li(t,a[n],a[o])<=h)return!0;return!1}});ji._flat=gi;var Bi=ji.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return ni(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(t){var e=ji.prototype._convertLatLngs.call(this,t),i=e.length;return i>=2&&e[0]instanceof R&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){ji.prototype._setLatLngs.call(this,t),fi(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return fi(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new Z(e,e);if(t=new A(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var o,n=0,s=this._rings.length;n<s;n++)(o=oi(this._rings[n],t,!0)).length&&this._parts.push(o)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,i,o,n,s,r,a,h,l=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(n=0,a=this._parts.length;n<a;n++)for(s=0,r=(h=(e=this._parts[n]).length)-1;s<h;r=s++)i=e[s],o=e[r],i.y>t.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(l=!l);return l||ji.prototype._containsPoint.call(this,t,!0)}});var Ri=zi.extend({initialize:function(t,e){d(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,o,n=f(t)?t:t.features;if(n){for(e=0,i=n.length;e<i;e++)((o=n[e]).geometries||o.geometry||o.features||o.coordinates)&&this.addData(o);return this}var s=this.options;if(s.filter&&!s.filter(t))return this;var r=Ni(t,s);return r?(r.feature=Gi(t),r.defaultOptions=r.options,this.resetStyle(r),s.onEachFeature&&s.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return void 0===t?this.eachLayer(this.resetStyle,this):(t.options=e({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(t){return this.eachLayer((function(e){this._setLayerStyle(e,t)}),this)},_setLayerStyle:function(t,e){t.setStyle&&("function"==typeof e&&(e=e(t.feature)),t.setStyle(e))}});function Ni(t,e){var i,o,n,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],l=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Fi;if(!a&&!r)return null;switch(r.type){case"Point":return Di(l,t,i=u(a),e);case"MultiPoint":for(n=0,s=a.length;n<s;n++)i=u(a[n]),h.push(Di(l,t,i,e));return new zi(h);case"LineString":case"MultiLineString":return o=Hi(a,"LineString"===r.type?0:1,u),new ji(o,e);case"Polygon":case"MultiPolygon":return o=Hi(a,"Polygon"===r.type?1:2,u),new Bi(o,e);case"GeometryCollection":for(n=0,s=r.geometries.length;n<s;n++){var c=Ni({geometry:r.geometries[n],type:"Feature",properties:t.properties},e);c&&h.push(c)}return new zi(h);case"FeatureCollection":for(n=0,s=r.features.length;n<s;n++){var d=Ni(r.features[n],e);d&&h.push(d)}return new zi(h);default:throw new Error("Invalid GeoJSON object.")}}function Di(t,e,i,o){return t?t(e,i):new Ei(i,o&&o.markersInheritOptions&&o)}function Fi(t){return new R(t[1],t[0],t[2])}function Hi(t,e,i){for(var o,n=[],s=0,r=t.length;s<r;s++)o=e?Hi(t[s],e-1,i):(i||Fi)(t[s]),n.push(o);return n}function Ui(t,e){return void 0!==(t=N(t)).alt?[l(t.lng,e),l(t.lat,e),l(t.alt,e)]:[l(t.lng,e),l(t.lat,e)]}function Wi(t,e,i,o){for(var n=[],s=0,r=t.length;s<r;s++)n.push(e?Wi(t[s],fi(t[s])?0:e-1,i,o):Ui(t[s],o));return!e&&i&&n.length>0&&n.push(n[0].slice()),n}function qi(t,i){return t.feature?e({},t.feature,{geometry:i}):Gi(i)}function Gi(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Vi={toGeoJSON:function(t){return qi(this,{type:"Point",coordinates:Ui(this.getLatLng(),t)})}};function Ji(t,e){return new Ri(t,e)}Ei.include(Vi),Ii.include(Vi),Ai.include(Vi),ji.include({toGeoJSON:function(t){var e=!fi(this._latlngs);return qi(this,{type:(e?"Multi":"")+"LineString",coordinates:Wi(this._latlngs,e?1:0,!1,t)})}}),Bi.include({toGeoJSON:function(t){var e=!fi(this._latlngs),i=e&&!fi(this._latlngs[0]),o=Wi(this._latlngs,i?2:e?1:0,!0,t);return e||(o=[o]),qi(this,{type:(i?"Multi":"")+"Polygon",coordinates:o})}}),Mi.include({toMultiPoint:function(t){var e=[];return this.eachLayer((function(i){e.push(i.toGeoJSON(t).geometry.coordinates)})),qi(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var i="GeometryCollection"===e,o=[];return this.eachLayer((function(e){if(e.toGeoJSON){var n=e.toGeoJSON(t);if(i)o.push(n.geometry);else{var s=Gi(n);"FeatureCollection"===s.type?o.push.apply(o,s.features):o.push(s)}}})),i?qi(this,{geometries:o,type:"GeometryCollection"}):{type:"FeatureCollection",features:o}}});var Ki=Ji,Yi=Ti.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=B(e),d(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(ue(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&ae(this._image),this},bringToBack:function(){return this._map&&he(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=B(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:ne("img");ue(e,"leaflet-image-layer"),this._zoomAnimated&&ue(e,"leaflet-zoom-animated"),this.options.className&&ue(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onload=o(this.fire,this,"load"),e.onerror=o(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;fe(this._image,i,e)},_reset:function(){var t=this._image,e=new A(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();ge(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){me(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),Xi=Yi.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:ne("video");if(ue(e,"leaflet-image-layer"),this._zoomAnimated&&ue(e,"leaflet-zoom-animated"),this.options.className&&ue(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onloadeddata=o(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],s=0;s<i.length;s++)n.push(i[s].src);this._url=i.length>0?n:[e.src]}else{f(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var r=0;r<this._url.length;r++){var a=ne("source");a.src=this._url[r],e.appendChild(a)}}}});var $i=Yi.extend({_initImage:function(){var t=this._image=this._url;ue(t,"leaflet-image-layer"),this._zoomAnimated&&ue(t,"leaflet-zoom-animated"),this.options.className&&ue(t,this.options.className),t.onselectstart=h,t.onmousemove=h}});var Qi=Ti.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(t,e){t&&(t instanceof R||f(t))?(this._latlng=N(t),d(this,e)):(d(this,t),this._source=e),this.options.content&&(this._content=this.options.content)},openOn:function(t){return(t=arguments.length?t:this._source._map).hasLayer(this)||t.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(t){return this._map?this.close():(arguments.length?this._source=t:t=this._source,this._prepareOpen(),this.openOn(t._map)),this},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&me(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&me(this._container,1),this.bringToFront(),this.options.interactive&&(ue(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(t){t._fadeAnimated?(me(this._container,0),this._removeTimeout=setTimeout(o(se,void 0,this._container),200)):se(this._container),this.options.interactive&&(ce(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=N(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ae(this._container),this},bringToBack:function(){return this._map&&he(this._container),this},_prepareOpen:function(t){var e=this._source;if(!e._map)return!1;if(e instanceof zi){e=null;var i=this._source._layers;for(var o in i)if(i[o]._map){e=i[o];break}if(!e)return!1;this._source=e}if(!t)if(e.getCenter)t=e.getCenter();else if(e.getLatLng)t=e.getLatLng();else{if(!e.getBounds)throw new Error("Unable to get source layer LatLng.");t=e.getBounds().getCenter()}return this.setLatLng(t),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=O(this.options.offset),i=this._getAnchor();this._zoomAnimated?ge(this._container,t.add(i)):e=e.add(t).add(i);var o=this._containerBottom=-e.y,n=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=o+"px",this._container.style.left=n+"px"}},_getAnchor:function(){return[0,0]}});Ge.include({_initOverlay:function(t,e,i,o){var n=e;return n instanceof t||(n=new t(o).setContent(e)),i&&n.setLatLng(i),n}}),Ti.include({_initOverlay:function(t,e,i,o){var n=i;return n instanceof t?(d(n,o),n._source=this):(n=e&&!o?e:new t(o,this)).setContent(i),n}});var to=Qi.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return!(t=arguments.length?t:this._source._map).hasLayer(this)&&t._popup&&t._popup.options.autoClose&&t.removeLayer(t._popup),t._popup=this,Qi.prototype.openOn.call(this,t)},onAdd:function(t){Qi.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Oi||this._source.on("preclick",Ae))},onRemove:function(t){Qi.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Oi||this._source.off("preclick",Ae))},getEvents:function(){var t=Qi.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this.close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_initLayout:function(){var t="leaflet-popup",e=this._container=ne("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),i=this._wrapper=ne("div",t+"-content-wrapper",e);if(this._contentNode=ne("div",t+"-content",i),je(e),Ie(this._contentNode),Me(e,"contextmenu",Ae),this._tipContainer=ne("div",t+"-tip-container",e),this._tip=ne("div",t+"-tip",this._tipContainer),this.options.closeButton){var o=this._closeButton=ne("a",t+"-close-button",e);o.setAttribute("role","button"),o.setAttribute("aria-label","Close popup"),o.href="#close",o.innerHTML='<span aria-hidden="true">&#215;</span>',Me(o,"click",(function(t){Be(t),this.close()}),this)}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var i=t.offsetWidth;i=Math.min(i,this.options.maxWidth),i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="";var o=t.offsetHeight,n=this.options.maxHeight,s="leaflet-popup-scrolled";n&&o>n?(e.height=n+"px",ue(t,s)):ce(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();ge(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan)if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning)this._autopanning=!1;else{var t=this._map,e=parseInt(oe(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,o=this._containerWidth,n=new Z(this._containerLeft,-i-this._containerBottom);n._add(ve(this._container));var s=t.layerPointToContainerPoint(n),r=O(this.options.autoPanPadding),a=O(this.options.autoPanPaddingTopLeft||r),h=O(this.options.autoPanPaddingBottomRight||r),l=t.getSize(),u=0,c=0;s.x+o+h.x>l.x&&(u=s.x+o-l.x+h.x),s.x-u-a.x<0&&(u=s.x-a.x),s.y+i+h.y>l.y&&(c=s.y+i-l.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(u||c)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([u,c]))}},_getAnchor:function(){return O(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Ge.mergeOptions({closePopupOnClick:!0}),Ge.include({openPopup:function(t,e,i){return this._initOverlay(to,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),Ti.include({bindPopup:function(t,e){return this._popup=this._initOverlay(to,this._popup,t,e),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(t){return this._popup&&(this instanceof zi||(this._popup._source=this),this._popup._prepareOpen(t||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()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(this._popup&&this._map){Re(t);var e=t.layer||t.target;this._popup._source!==e||e instanceof Oi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var eo=Qi.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Qi.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Qi.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Qi.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ne("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+s(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,o=this._map,n=this._container,s=o.latLngToContainerPoint(o.getCenter()),r=o.layerPointToContainerPoint(t),a=this.options.direction,h=n.offsetWidth,l=n.offsetHeight,u=O(this.options.offset),c=this._getAnchor();"top"===a?(e=h/2,i=l):"bottom"===a?(e=h/2,i=0):"center"===a?(e=h/2,i=l/2):"right"===a?(e=0,i=l/2):"left"===a?(e=h,i=l/2):r.x<s.x?(a="right",e=0,i=l/2):(a="left",e=h+2*(u.x+c.x),i=l/2),t=t.subtract(O(e,i,!0)).add(u).add(c),ce(n,"leaflet-tooltip-right"),ce(n,"leaflet-tooltip-left"),ce(n,"leaflet-tooltip-top"),ce(n,"leaflet-tooltip-bottom"),ue(n,"leaflet-tooltip-"+a),ge(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&me(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return O(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});Ge.include({openTooltip:function(t,e,i){return this._initOverlay(eo,t,e,i).openOn(this),this},closeTooltip:function(t){return t.close(),this}}),Ti.include({bindTooltip:function(t,e){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(eo,this._tooltip,t,e),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?"off":"on",i={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,i.click=this._openTooltip,this._map?this._addFocusListeners():i.add=this._addFocusListeners),this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),this[e](i),this._tooltipHandlersAdded=!t}},openTooltip:function(t){return this._tooltip&&(this instanceof zi||(this._tooltip._source=this),this._tooltip._prepareOpen(t)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&(Me(e,"focus",(function(){this._tooltip._source=t,this.openTooltip()}),this),Me(e,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&e.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(t){if(this._tooltip&&this._map)if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var e=this;this._map.once("moveend",(function(){e._openOnceFlag=!1,e._openTooltip(t)}))}else this._tooltip._source=t.layer||t.target,this.openTooltip(this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var e,i,o=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(e=this._map.mouseEventToContainerPoint(t.originalEvent),i=this._map.containerPointToLayerPoint(e),o=this._map.layerPointToLatLng(i)),this._tooltip.setLatLng(o)}});var io=Ci.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),i=this.options;if(i.html instanceof Element?(re(e),e.appendChild(i.html)):e.innerHTML=!1!==i.html?i.html:"",i.bgPos){var o=O(i.bgPos);e.style.backgroundPosition=-o.x+"px "+-o.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});Ci.Default=Si;var oo=Ti.extend({options:{tileSize:256,opacity:1,updateWhenIdle:At.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){d(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),se(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ae(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(he(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var t=this._clampZoom(this._map.getZoom());t!==this._tileZoom&&(this._tileZoom=t,this._updateLevels()),this._update()}return this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=r(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof Z?t:new Z(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,o=-t(-1/0,1/0),n=0,s=i.length;n<s;n++)e=i[n].style.zIndex,i[n]!==this._container&&e&&(o=t(o,+e));isFinite(o)&&(this.options.zIndex=o+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!At.ielt9){me(this._container,this.options.opacity);var t=+new Date,e=!1,i=!1;for(var o in this._tiles){var n=this._tiles[o];if(n.current&&n.loaded){var s=Math.min(1,(t-n.loaded)/200);me(n.el,s),s<1?e=!0:(n.active?i=!0:this._onOpaqueTile(n),n.active=!0)}}i&&!this._noPrune&&this._pruneTiles(),e&&(T(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this))}},_onOpaqueTile:h,_initContainer:function(){this._container||(this._container=ne("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var i in this._levels)i=Number(i),this._levels[i].el.children.length||i===t?(this._levels[i].el.style.zIndex=e-Math.abs(t-i),this._onUpdateLevel(i)):(se(this._levels[i].el),this._removeTilesAtZoom(i),this._onRemoveLevel(i),delete this._levels[i]);var o=this._levels[t],n=this._map;return o||((o=this._levels[t]={}).el=ne("div","leaflet-tile-container leaflet-zoom-animated",this._container),o.el.style.zIndex=e,o.origin=n.project(n.unproject(n.getPixelOrigin()),t).round(),o.zoom=t,this._setZoomTransform(o,n.getCenter(),n.getZoom()),o.el.offsetWidth,this._onCreateLevel(o)),this._level=o,o}},_onUpdateLevel:h,_onRemoveLevel:h,_onCreateLevel:h,_pruneTiles:function(){if(this._map){var t,e,i=this._map.getZoom();if(i>this.options.maxZoom||i<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(e=this._tiles[t]).retain=e.current;for(t in this._tiles)if((e=this._tiles[t]).current&&!e.active){var o=e.coords;this._retainParent(o.x,o.y,o.z,o.z-5)||this._retainChildren(o.x,o.y,o.z,o.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)se(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,i,o){var n=Math.floor(t/2),s=Math.floor(e/2),r=i-1,a=new Z(+n,+s);a.z=+r;var h=this._tileCoordsToKey(a),l=this._tiles[h];return l&&l.active?(l.retain=!0,!0):(l&&l.loaded&&(l.retain=!0),r>o&&this._retainParent(n,s,r,o))},_retainChildren:function(t,e,i,o){for(var n=2*t;n<2*t+2;n++)for(var s=2*e;s<2*e+2;s++){var r=new Z(n,s);r.z=i+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),i+1<o&&this._retainChildren(n,s,i+1,o))}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,i,o){var n=Math.round(e);n=void 0!==this.options.maxZoom&&n>this.options.maxZoom||void 0!==this.options.minZoom&&n<this.options.minZoom?void 0:this._clampZoom(n);var s=this.options.updateWhenZooming&&n!==this._tileZoom;o&&!s||(this._tileZoom=n,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==n&&this._update(t),i||this._pruneTiles(),this._noPrune=!!i),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var o=this._map.getZoomScale(i,t.zoom),n=t.origin.multiplyBy(o).subtract(this._map._getNewPixelOrigin(e,i)).round();At.any3d?fe(t.el,n,o):ge(t.el,n)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),o=this._tileZoom,n=this._map.getPixelWorldBounds(this._tileZoom);n&&(this._globalTileRange=this._pxBoundsToTileRange(n)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],o).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],o).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],o).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],o).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),o=e.getZoomScale(i,this._tileZoom),n=e.project(t,this._tileZoom).floor(),s=e.getSize().divideBy(2*o);return new A(n.subtract(s),n.add(s))},_update:function(t){var e=this._map;if(e){var i=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var o=this._getTiledPixelBounds(t),n=this._pxBoundsToTileRange(o),s=n.getCenter(),r=[],a=this.options.keepBuffer,h=new A(n.getBottomLeft().subtract([a,-a]),n.getTopRight().add([a,-a]));if(!(isFinite(n.min.x)&&isFinite(n.min.y)&&isFinite(n.max.x)&&isFinite(n.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var l in this._tiles){var u=this._tiles[l].coords;u.z===this._tileZoom&&h.contains(new Z(u.x,u.y))||(this._tiles[l].current=!1)}if(Math.abs(i-this._tileZoom)>1)this._setView(t,i);else{for(var c=n.min.y;c<=n.max.y;c++)for(var d=n.min.x;d<=n.max.x;d++){var p=new Z(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var m=this._tiles[this._tileCoordsToKey(p)];m?m.current=!0:r.push(p)}}if(r.sort((function(t,e){return t.distanceTo(s)-e.distanceTo(s)})),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var _=document.createDocumentFragment();for(d=0;d<r.length;d++)this._addTile(r[d],_);this._level.el.appendChild(_)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}if(!this.options.bounds)return!0;var o=this._tileCoordsToBounds(t);return B(this.options.bounds).overlaps(o)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),o=t.scaleBy(i),n=o.add(i);return[e.unproject(o,t.z),e.unproject(n,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new j(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new Z(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(se(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){ue(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=h,t.onmousemove=h,At.ielt9&&this.options.opacity<1&&me(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),o(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&k(o(this._tileReady,this,t,null,s)),ge(s,i),this._tiles[n]={el:s,coords:t,current:!0},e.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(me(i.el,0),T(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(ue(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),At.ielt9||!this._map._fadeAnimated?k(this._pruneTiles,this):setTimeout(o(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new Z(this._wrapX?a(t.x,this._wrapX):t.x,this._wrapY?a(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new A(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var no=oo.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=d(this,e)).detectRetina&&At.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return Me(i,"load",o(this._tileOnLoad,this,e,i)),Me(i,"error",o(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var i={r:At.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var o=this._globalTileRange.max.y-t.y;this.options.tms&&(i.y=o),i["-y"]=o}return _(this._url,e(i,this.options))},_tileOnLoad:function(t,e){At.ielt9?setTimeout(o(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var o=this.options.errorTileUrl;o&&e.getAttribute("src")!==o&&(e.src=o),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return this.options.zoomReverse&&(t=e-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=h,e.onerror=h,!e.complete)){e.src=v;var i=this._tiles[t].coords;se(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",v),oo.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==v))return oo.prototype._tileReady.call(this,t,e,i)}});function so(t,e){return new no(t,e)}var ro=no.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,i){this._url=t;var o=e({},this.defaultWmsParams);for(var n in i)n in this.options||(o[n]=i[n]);var s=(i=d(this,i)).detectRetina&&At.retina?2:1,r=this.getTileSize();o.width=r.x*s,o.height=r.y*s,this.wmsParams=o},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,no.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,o=I(i.project(e[0]),i.project(e[1])),n=o.min,s=o.max,r=(this._wmsVersion>=1.3&&this._crs===Li?[n.y,n.x,s.y,s.x]:[n.x,n.y,s.x,s.y]).join(","),a=no.prototype.getTileUrl.call(this,t);return a+p(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,i){return e(this.wmsParams,t),i||this.redraw(),this}});no.WMS=ro,so.wms=function(t,e){return new ro(t,e)};var ao=Ti.extend({options:{padding:.1},initialize:function(t){d(this,t),s(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),ue(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 t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),o=this._map.getSize().multiplyBy(.5+this.options.padding),n=this._map.project(this._center,e),s=o.multiplyBy(-i).add(n).subtract(this._map._getNewPixelOrigin(t,e));At.any3d?fe(this._container,s,i):ge(this._container,s)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new A(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),ho=ao.extend({options:{tolerance:0},getEvents:function(){var t=ao.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){ao.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");Me(t,"mousemove",this._onMouseMove,this),Me(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Me(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){T(this._redrawRequest),delete this._ctx,se(this._container),Ce(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){ao.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),o=At.retina?2:1;ge(e,t.min),e.width=o*i.x,e.height=o*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",At.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){ao.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[s(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,o=e.prev;i?i.prev=o:this._drawLast=o,o?o.next=i:this._drawFirst=i,delete t._order,delete this._layers[s(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,o=t.options.dashArray.split(/[, ]+/),n=[];for(i=0;i<o.length;i++){if(e=Number(o[i]),isNaN(e))return;n.push(e)}t.options._dashArray=n}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||k(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new A,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var i=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,i.x,i.y),this._ctx.clip()}this._drawing=!0;for(var o=this._drawFirst;o;o=o.next)t=o.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,o,n,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(h.beginPath(),i=0;i<a;i++){for(o=0,n=r[i].length;o<n;o++)s=r[i][o],h[o?"lineTo":"moveTo"](s.x,s.y);e&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var e=t._point,i=this._ctx,o=Math.max(Math.round(t._radius),1),n=(Math.max(Math.round(t._radiusY),1)||o)/o;1!==n&&(i.save(),i.scale(1,n)),i.beginPath(),i.arc(e.x,e.y/n,o,0,2*Math.PI,!1),1!==n&&i.restore(),this._fillStroke(i,t)}},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||"evenodd")),i.stroke&&0!==i.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,o=this._map.mouseEventToLayerPoint(t),n=this._drawFirst;n;n=n.next)(e=n.layer).options.interactive&&e._containsPoint(o)&&("click"!==t.type&&"preclick"!==t.type||!this._map._draggableMoved(e))&&(i=e);this._fireEvent(!!i&&[i],t)},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(ce(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,e){if(!this._mouseHoverThrottled){for(var i,n,s=this._drawFirst;s;s=s.next)(i=s.layer).options.interactive&&i._containsPoint(e)&&(n=i);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(ue(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._fireEvent(!!this._hoveredLayer&&[this._hoveredLayer],t),this._mouseHoverThrottled=!0,setTimeout(o((function(){this._mouseHoverThrottled=!1}),this),32)}},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e=t._order;if(e){var i=e.next,o=e.prev;i&&(i.prev=o,o?o.next=i:i&&(this._drawFirst=i),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))}},_bringToBack:function(t){var e=t._order;if(e){var i=e.next,o=e.prev;o&&(o.next=i,i?i.prev=o:o&&(this._drawLast=o),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}});function lo(t){return At.canvas?new ho(t):null}var uo=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),co={_initContainer:function(){this._container=ne("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(ao.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=uo("shape");ue(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=uo("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[s(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;se(e),t.removeInteractiveTarget(e),delete this._layers[s(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,o=t.options,n=t._container;n.stroked=!!o.stroke,n.filled=!!o.fill,o.stroke?(e||(e=t._stroke=uo("stroke")),n.appendChild(e),e.weight=o.weight+"px",e.color=o.color,e.opacity=o.opacity,o.dashArray?e.dashStyle=f(o.dashArray)?o.dashArray.join(" "):o.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=o.lineCap.replace("butt","flat"),e.joinstyle=o.lineJoin):e&&(n.removeChild(e),t._stroke=null),o.fill?(i||(i=t._fill=uo("fill")),n.appendChild(i),i.color=o.fillColor||o.color,i.opacity=o.fillOpacity):i&&(n.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),o=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+o+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){ae(t._container)},_bringToBack:function(t){he(t._container)}},po=At.vml?uo:K,mo=ao.extend({_initContainer:function(){this._container=po("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=po("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),Ce(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){ao.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),ge(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=po("path");t.options.className&&ue(e,t.options.className),t.options.interactive&&ue(e,"leaflet-interactive"),this._updateStyle(t),this._layers[s(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){se(t._path),t.removeInteractiveTarget(t._path),delete this._layers[s(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,Y(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),o="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",n=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+o+2*i+",0 "+o+2*-i+",0 ";this._setPath(t,n)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){ae(t._path)},_bringToBack:function(t){he(t._path)}});function _o(t){return At.svg||At.vml?new mo(t):null}At.vml&&mo.include(co),Ge.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&lo(t)||_o(t)}});var fo=Bi.extend({initialize:function(t,e){Bi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=B(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});mo.create=po,mo.pointsToPath=Y,Ri.geometryToLayer=Ni,Ri.coordsToLatLng=Fi,Ri.coordsToLatLngs=Hi,Ri.latLngToCoords=Ui,Ri.latLngsToCoords=Wi,Ri.getFeature=qi,Ri.asFeature=Gi,Ge.mergeOptions({boxZoom:!0});var go=Qe.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){Me(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Ce(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),Jt(),be(),this._startPoint=this._map.mouseEventToContainerPoint(t),Me(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ne("div","leaflet-zoom-box",this._container),ue(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new A(this._point,this._startPoint),i=e.getSize();ge(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(se(this._box),ce(this._container,"leaflet-crosshair")),Kt(),we(),Ce(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(o(this._resetState,this),0);var e=new j(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Ge.addInitHook("addHandler","boxZoom",go),Ge.mergeOptions({doubleClickZoom:!0});var vo=Qe.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),o=e.options.zoomDelta,n=t.originalEvent.shiftKey?i-o:i+o;"center"===e.options.doubleClickZoom?e.setZoom(n):e.setZoomAround(t.containerPoint,n)}});Ge.addInitHook("addHandler","doubleClickZoom",vo),Ge.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var yo=Qe.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new ii(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}ue(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ce(this._map._container,"leaflet-grab"),ce(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 t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=B(this._map.options.maxBounds);this._offsetLimit=I(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,o=this._draggable._newPos.x,n=(o-e+i)%t+e-i,s=(o+e+i)%t-e-i,r=Math.abs(n+i)<Math.abs(s+i)?n:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var e=this._map,i=e.options,o=!i.inertia||t.noInertia||this._times.length<2;if(e.fire("dragend",t),o)e.fire("moveend");else{this._prunePositions(+new Date);var n=this._lastPos.subtract(this._positions[0]),s=(this._lastTime-this._times[0])/1e3,r=i.easeLinearity,a=n.multiplyBy(r/s),h=a.distanceTo([0,0]),l=Math.min(i.inertiaMaxSpeed,h),u=a.multiplyBy(l/h),c=l/(i.inertiaDeceleration*r),d=u.multiplyBy(-c/2).round();d.x||d.y?(d=e._limitOffset(d,e.options.maxBounds),k((function(){e.panBy(d,{duration:c,easeLinearity:r,noMoveStart:!0,animate:!0})}))):e.fire("moveend")}}});Ge.addInitHook("addHandler","dragging",yo),Ge.mergeOptions({keyboard:!0,keyboardPanDelta:80});var bo=Qe.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),Me(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Ce(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,i=t.scrollTop||e.scrollTop,o=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(o,i)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,i,o=this._panKeys={},n=this.keyCodes;for(e=0,i=n.left.length;e<i;e++)o[n.left[e]]=[-1*t,0];for(e=0,i=n.right.length;e<i;e++)o[n.right[e]]=[t,0];for(e=0,i=n.down.length;e<i;e++)o[n.down[e]]=[0,t];for(e=0,i=n.up.length;e<i;e++)o[n.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,i,o=this._zoomKeys={},n=this.keyCodes;for(e=0,i=n.zoomIn.length;e<i;e++)o[n.zoomIn[e]]=t;for(e=0,i=n.zoomOut.length;e<i;e++)o[n.zoomOut[e]]=-t},_addHooks:function(){Me(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Ce(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i=t.keyCode,o=this._map;if(i in this._panKeys){if(!o._panAnim||!o._panAnim._inProgress)if(e=this._panKeys[i],t.shiftKey&&(e=O(e).multiplyBy(3)),o.options.maxBounds&&(e=o._limitOffset(O(e),o.options.maxBounds)),o.options.worldCopyJump){var n=o.wrapLatLng(o.unproject(o.project(o.getCenter()).add(e)));o.panTo(n)}else o.panBy(e)}else if(i in this._zoomKeys)o.setZoom(o.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[i]);else{if(27!==i||!o._popup||!o._popup.options.closeOnEscapeKey)return;o.closePopup()}Re(t)}}});Ge.addInitHook("addHandler","keyboard",bo),Ge.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var wo=Qe.extend({addHooks:function(){Me(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Ce(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=He(t),i=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var n=Math.max(i-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(o(this._performZoom,this),n),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0;t._stop();var o=this._delta/(4*this._map.options.wheelPxPerZoomLevel),n=4*Math.log(2/(1+Math.exp(-Math.abs(o))))/Math.LN2,s=i?Math.ceil(n/i)*i:n,r=t._limitZoom(e+(this._delta>0?s:-s))-e;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});Ge.addInitHook("addHandler","scrollWheelZoom",wo);Ge.mergeOptions({tapHold:At.touchNative&&At.safari&&At.mobile,tapTolerance:15});var xo=Qe.extend({addHooks:function(){Me(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Ce(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),1===t.touches.length){var e=t.touches[0];this._startPos=this._newPos=new Z(e.clientX,e.clientY),this._holdTimeout=setTimeout(o((function(){this._cancel(),this._isTapValid()&&(Me(document,"touchend",Be),Me(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))}),this),600),Me(document,"touchend touchcancel contextmenu",this._cancel,this),Me(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){Ce(document,"touchend",Be),Ce(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),Ce(document,"touchend touchcancel contextmenu",this._cancel,this),Ce(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new Z(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});Ge.addInitHook("addHandler","tapHold",xo),Ge.mergeOptions({touchZoom:At.touch,bounceAtZoomLimits:!0});var Po=Qe.extend({addHooks:function(){ue(this._map._container,"leaflet-touch-zoom"),Me(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ce(this._map._container,"leaflet-touch-zoom"),Ce(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),o=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(o)._divideBy(2))),this._startDist=i.distanceTo(o),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),Me(document,"touchmove",this._onTouchMove,this),Me(document,"touchend touchcancel",this._onTouchEnd,this),Be(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),s=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(s,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&s<1||this._zoom>e.getMaxZoom()&&s>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),T(this._animRequest);var a=o(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=k(a,this,!0),Be(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,T(this._animRequest),Ce(document,"touchmove",this._onTouchMove,this),Ce(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))):this._zooming=!1}});Ge.addInitHook("addHandler","touchZoom",Po),Ge.BoxZoom=go,Ge.DoubleClickZoom=vo,Ge.Drag=yo,Ge.Keyboard=bo,Ge.ScrollWheelZoom=wo,Ge.TapHold=xo,Ge.TouchZoom=Po,t.Bounds=A,t.Browser=At,t.CRS=F,t.Canvas=ho,t.Circle=Ii,t.CircleMarker=Ai,t.Class=z,t.Control=Ve,t.DivIcon=io,t.DivOverlay=Qi,t.DomEvent=We,t.DomUtil=Te,t.Draggable=ii,t.Evented=S,t.FeatureGroup=zi,t.GeoJSON=Ri,t.GridLayer=oo,t.Handler=Qe,t.Icon=Ci,t.ImageOverlay=Yi,t.LatLng=R,t.LatLngBounds=j,t.Layer=Ti,t.LayerGroup=Mi,t.LineUtil=yi,t.Map=Ge,t.Marker=Ei,t.Mixin=ti,t.Path=Oi,t.Point=Z,t.PolyUtil=ai,t.Polygon=Bi,t.Polyline=ji,t.Popup=to,t.PosAnimation=qe,t.Projection=xi,t.Rectangle=fo,t.Renderer=ao,t.SVG=mo,t.SVGOverlay=$i,t.TileLayer=no,t.Tooltip=eo,t.Transformation=q,t.Util=M,t.VideoOverlay=Xi,t.bind=o,t.bounds=I,t.canvas=lo,t.circle=function(t,e,i){return new Ii(t,e,i)},t.circleMarker=function(t,e){return new Ai(t,e)},t.control=Je,t.divIcon=function(t){return new io(t)},t.extend=e,t.featureGroup=function(t,e){return new zi(t,e)},t.geoJSON=Ji,t.geoJson=Ki,t.gridLayer=function(t){return new oo(t)},t.icon=function(t){return new Ci(t)},t.imageOverlay=function(t,e,i){return new Yi(t,e,i)},t.latLng=N,t.latLngBounds=B,t.layerGroup=function(t,e){return new Mi(t,e)},t.map=function(t,e){return new Ge(t,e)},t.marker=function(t,e){return new Ei(t,e)},t.point=O,t.polygon=function(t,e){return new Bi(t,e)},t.polyline=function(t,e){return new ji(t,e)},t.popup=function(t,e){return new to(t,e)},t.rectangle=function(t,e){return new fo(t,e)},t.setOptions=d,t.stamp=s,t.svg=_o,t.svgOverlay=function(t,e,i){return new $i(t,e,i)},t.tileLayer=so,t.tooltip=function(t,e){return new eo(t,e)},t.transformation=G,t.version="1.9.4",t.videoOverlay=function(t,e,i){return new Xi(t,e,i)};var Lo=window.L;t.noConflict=function(){return window.L=Lo,this},window.L=t}(e)},576:function(t,e,i){var o;!function(n,s){"use strict";var r="function",a="undefined",h="object",l="string",u="major",c="model",d="name",p="type",m="vendor",_="version",f="architecture",g="console",v="mobile",y="tablet",b="smarttv",w="wearable",x="embedded",P="Amazon",L="Apple",k="ASUS",T="BlackBerry",M="Browser",z="Chrome",C="Firefox",S="Google",Z="Huawei",E="LG",O="Microsoft",A="Motorola",I="Opera",j="Samsung",B="Sharp",R="Sony",N="Xiaomi",D="Zebra",F="Facebook",H="Chromium OS",U="Mac OS",W=" Browser",q=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].toUpperCase()]=t[i];return e},G=function(t,e){return typeof t===l&&-1!==V(e).indexOf(V(t))},V=function(t){return t.toLowerCase()},J=function(t,e){if(typeof t===l)return t=t.replace(/^\s\s*/,""),typeof e===a?t:t.substring(0,500)},K=function(t,e){for(var i,o,n,a,l,u,c=0;c<e.length&&!l;){var d=e[c],p=e[c+1];for(i=o=0;i<d.length&&!l&&d[i];)if(l=d[i++].exec(t))for(n=0;n<p.length;n++)u=l[++o],typeof(a=p[n])===h&&a.length>0?2===a.length?typeof a[1]==r?this[a[0]]=a[1].call(this,u):this[a[0]]=a[1]:3===a.length?typeof a[1]!==r||a[1].exec&&a[1].test?this[a[0]]=u?u.replace(a[1],a[2]):s:this[a[0]]=u?a[1].call(this,u,a[2]):s:4===a.length&&(this[a[0]]=u?a[3].call(this,u.replace(a[1],a[2])):s):this[a]=u||s;c+=2}},Y=function(t,e){for(var i in e)if(typeof e[i]===h&&e[i].length>0){for(var o=0;o<e[i].length;o++)if(G(e[i][o],t))return"?"===i?s:i}else if(G(e[i],t))return"?"===i?s:i;return e.hasOwnProperty("*")?e["*"]:t},X={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},$={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[_,[d,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[_,[d,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[d,_],[/opios[\/ ]+([\w\.]+)/i],[_,[d,I+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[_,[d,I+" GX"]],[/\bopr\/([\w\.]+)/i],[_,[d,I]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[_,[d,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[_,[d,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[d,_],[/quark(?:pc)?\/([-\w\.]+)/i],[_,[d,"Quark"]],[/\bddg\/([\w\.]+)/i],[_,[d,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[_,[d,"UC"+M]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[_,[d,"WeChat"]],[/konqueror\/([\w\.]+)/i],[_,[d,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[_,[d,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[_,[d,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[_,[d,"Smart Lenovo "+M]],[/(avast|avg)\/([\w\.]+)/i],[[d,/(.+)/,"$1 Secure "+M],_],[/\bfocus\/([\w\.]+)/i],[_,[d,C+" Focus"]],[/\bopt\/([\w\.]+)/i],[_,[d,I+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[_,[d,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[_,[d,"Dolphin"]],[/coast\/([\w\.]+)/i],[_,[d,I+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[_,[d,"MIUI"+W]],[/fxios\/([\w\.-]+)/i],[_,[d,C]],[/\bqihoobrowser\/?([\w\.]*)/i],[_,[d,"360"]],[/\b(qq)\/([\w\.]+)/i],[[d,/(.+)/,"$1Browser"],_],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[d,/(.+)/,"$1"+W],_],[/samsungbrowser\/([\w\.]+)/i],[_,[d,j+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[_,[d,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[d,"Sogou Mobile"],_],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[d,_],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[d],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[_,d],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[d,F],_],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[d,_],[/\bgsa\/([\w\.]+) .*safari\//i],[_,[d,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[_,[d,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[_,[d,z+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[d,z+" WebView"],_],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[_,[d,"Android "+M]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[d,_],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[_,[d,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[_,d],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[d,[_,Y,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[d,_],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[d,"Netscape"],_],[/(wolvic|librewolf)\/([\w\.]+)/i],[d,_],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[_,[d,C+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[d,[_,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[d,[_,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,V]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",V]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,V]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[m,j],[p,y]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[c,[m,j],[p,v]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[c,[m,L],[p,v]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[c,[m,L],[p,y]],[/(macintosh);/i],[c,[m,L]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[c,[m,B],[p,v]],[/(?:honor)([-\w ]+)[;\)]/i],[c,[m,"Honor"],[p,v]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[c,[m,Z],[p,y]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[c,[m,Z],[p,v]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i],[[c,/_/g," "],[m,N],[p,v]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[c,/_/g," "],[m,N],[p,y]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[c,[m,"OPPO"],[p,v]],[/\b(opd2\d{3}a?) bui/i],[c,[m,"OPPO"],[p,y]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[c,[m,"Vivo"],[p,v]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[c,[m,"Realme"],[p,v]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[c,[m,A],[p,v]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[c,[m,A],[p,y]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[m,E],[p,y]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[c,[m,E],[p,v]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[c,[m,"Lenovo"],[p,y]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[c,/_/g," "],[m,"Nokia"],[p,v]],[/(pixel c)\b/i],[c,[m,S],[p,y]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[c,[m,S],[p,v]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[c,[m,R],[p,v]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[c,"Xperia Tablet"],[m,R],[p,y]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[c,[m,"OnePlus"],[p,v]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[c,[m,P],[p,y]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[c,/(.+)/g,"Fire Phone $1"],[m,P],[p,v]],[/(playbook);[-\w\),; ]+(rim)/i],[c,m,[p,y]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[c,[m,T],[p,v]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[c,[m,k],[p,y]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[c,[m,k],[p,v]],[/(nexus 9)/i],[c,[m,"HTC"],[p,y]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[m,[c,/_/g," "],[p,v]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[c,[m,"TCL"],[p,y]],[/(itel) ((\w+))/i],[[m,V],c,[p,Y,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[c,[m,"Acer"],[p,y]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[c,[m,"Meizu"],[p,v]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[c,[m,"Ulefone"],[p,v]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[c,[m,"Energizer"],[p,v]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[c,[m,"Cat"],[p,v]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[c,[m,"Smartfren"],[p,v]],[/droid.+; (a(?:015|06[35]|142p?))/i],[c,[m,"Nothing"],[p,v]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (imo) ((?!tab)[\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[m,c,[p,v]],[/(imo) (tab \w+)/i,/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[m,c,[p,y]],[/(surface duo)/i],[c,[m,O],[p,y]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[c,[m,"Fairphone"],[p,v]],[/(u304aa)/i],[c,[m,"AT&T"],[p,v]],[/\bsie-(\w*)/i],[c,[m,"Siemens"],[p,v]],[/\b(rct\w+) b/i],[c,[m,"RCA"],[p,y]],[/\b(venue[\d ]{2,7}) b/i],[c,[m,"Dell"],[p,y]],[/\b(q(?:mv|ta)\w+) b/i],[c,[m,"Verizon"],[p,y]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[c,[m,"Barnes & Noble"],[p,y]],[/\b(tm\d{3}\w+) b/i],[c,[m,"NuVision"],[p,y]],[/\b(k88) b/i],[c,[m,"ZTE"],[p,y]],[/\b(nx\d{3}j) b/i],[c,[m,"ZTE"],[p,v]],[/\b(gen\d{3}) b.+49h/i],[c,[m,"Swiss"],[p,v]],[/\b(zur\d{3}) b/i],[c,[m,"Swiss"],[p,y]],[/\b((zeki)?tb.*\b) b/i],[c,[m,"Zeki"],[p,y]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[m,"Dragon Touch"],c,[p,y]],[/\b(ns-?\w{0,9}) b/i],[c,[m,"Insignia"],[p,y]],[/\b((nxa|next)-?\w{0,9}) b/i],[c,[m,"NextBook"],[p,y]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[m,"Voice"],c,[p,v]],[/\b(lvtel\-)?(v1[12]) b/i],[[m,"LvTel"],c,[p,v]],[/\b(ph-1) /i],[c,[m,"Essential"],[p,v]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[c,[m,"Envizen"],[p,y]],[/\b(trio[-\w\. ]+) b/i],[c,[m,"MachSpeed"],[p,y]],[/\btu_(1491) b/i],[c,[m,"Rotor"],[p,y]],[/(shield[\w ]+) b/i],[c,[m,"Nvidia"],[p,y]],[/(sprint) (\w+)/i],[m,c,[p,v]],[/(kin\.[onetw]{3})/i],[[c,/\./g," "],[m,O],[p,v]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[c,[m,D],[p,y]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[c,[m,D],[p,v]],[/smart-tv.+(samsung)/i],[m,[p,b]],[/hbbtv.+maple;(\d+)/i],[[c,/^/,"SmartTV"],[m,j],[p,b]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[m,E],[p,b]],[/(apple) ?tv/i],[m,[c,L+" TV"],[p,b]],[/crkey/i],[[c,z+"cast"],[m,S],[p,b]],[/droid.+aft(\w+)( bui|\))/i],[c,[m,P],[p,b]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[c,[m,B],[p,b]],[/(bravia[\w ]+)( bui|\))/i],[c,[m,R],[p,b]],[/(mitv-\w{5}) bui/i],[c,[m,N],[p,b]],[/Hbbtv.*(technisat) (.*);/i],[m,c,[p,b]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[m,J],[c,J],[p,b]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[p,b]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[m,c,[p,g]],[/droid.+; (shield) bui/i],[c,[m,"Nvidia"],[p,g]],[/(playstation [345portablevi]+)/i],[c,[m,R],[p,g]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[c,[m,O],[p,g]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[c,[m,j],[p,w]],[/((pebble))app/i],[m,c,[p,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[c,[m,L],[p,w]],[/droid.+; (glass) \d/i],[c,[m,S],[p,w]],[/droid.+; (wt63?0{2,3})\)/i],[c,[m,D],[p,w]],[/droid.+; (glass) \d/i],[c,[m,S],[p,w]],[/(pico) (4|neo3(?: link|pro)?)/i],[m,c,[p,w]],[/; (quest( \d| pro)?)/i],[c,[m,F],[p,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[m,[p,x]],[/(aeobc)\b/i],[c,[m,P],[p,x]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[c,[p,v]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[c,[p,y]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[p,y]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[p,v]],[/(android[-\w\. ]{0,9});.+buil/i],[c,[m,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[_,[d,"EdgeHTML"]],[/(arkweb)\/([\w\.]+)/i],[d,_],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[_,[d,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[d,_],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[_,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,_],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[d,[_,Y,X]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[_,Y,X],[d,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[_,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[d,U],[_,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[_,d],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish|openharmony)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[d,_],[/\(bb(10);/i],[_,[d,T]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[_,[d,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[_,[d,C+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[_,[d,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[_,[d,"watchOS"]],[/crkey\/([\d\.]+)/i],[_,[d,z+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[d,H],_],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[d,_],[/(sunos) ?([\w\.\d]*)/i],[[d,"Solaris"],_],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[d,_]]},Q=function(t,e){if(typeof t===h&&(e=t,t=s),!(this instanceof Q))return new Q(t,e).getResult();var i=typeof n!==a&&n.navigator?n.navigator:s,o=t||(i&&i.userAgent?i.userAgent:""),g=i&&i.userAgentData?i.userAgentData:s,b=e?function(t,e){var i={};for(var o in t)e[o]&&e[o].length%2==0?i[o]=e[o].concat(t[o]):i[o]=t[o];return i}($,e):$,w=i&&i.userAgent==o;return this.getBrowser=function(){var t,e={};return e[d]=s,e[_]=s,K.call(e,o,b.browser),e[u]=typeof(t=e[_])===l?t.replace(/[^\d\.]/g,"").split(".")[0]:s,w&&i&&i.brave&&typeof i.brave.isBrave==r&&(e[d]="Brave"),e},this.getCPU=function(){var t={};return t[f]=s,K.call(t,o,b.cpu),t},this.getDevice=function(){var t={};return t[m]=s,t[c]=s,t[p]=s,K.call(t,o,b.device),w&&!t[p]&&g&&g.mobile&&(t[p]=v),w&&"Macintosh"==t[c]&&i&&typeof i.standalone!==a&&i.maxTouchPoints&&i.maxTouchPoints>2&&(t[c]="iPad",t[p]=y),t},this.getEngine=function(){var t={};return t[d]=s,t[_]=s,K.call(t,o,b.engine),t},this.getOS=function(){var t={};return t[d]=s,t[_]=s,K.call(t,o,b.os),w&&!t[d]&&g&&g.platform&&"Unknown"!=g.platform&&(t[d]=g.platform.replace(/chrome os/i,H).replace(/macos/i,U)),t},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return o},this.setUA=function(t){return o=typeof t===l&&t.length>500?J(t,500):t,this},this.setUA(o),this};Q.VERSION="1.0.40",Q.BROWSER=q([d,_,u]),Q.CPU=q([f]),Q.DEVICE=q([c,m,p,g,v,b,y,w,x]),Q.ENGINE=Q.OS=q([d,_]),typeof e!==a?(t.exports&&(e=t.exports=Q),e.UAParser=Q):i.amdO?(o=function(){return Q}.call(e,i,e,t))===s||(t.exports=o):typeof n!==a&&(n.UAParser=Q);var tt=typeof n!==a&&(n.jQuery||n.Zepto);if(tt&&!tt.ua){var et=new Q;tt.ua=et.getResult(),tt.ua.get=function(){return et.getUA()},tt.ua.set=function(t){et.setUA(t);var e=et.getResult();for(var i in e)tt.ua[i]=e[i]}}}("object"==typeof window?window:this)},609:t=>{"use strict";t.exports=window.React},840:()=>{wp.domReady((()=>{ootbGlobal?.options?.geodata||wp.blocks.unregisterBlockVariation("ootb/openstreetmap","custom-fields")}))}},e={};function i(o){var n=e[o];if(void 0!==n)return n.exports;var s=e[o]={exports:{}};return t[o].call(s.exports,s,s.exports,i),s.exports}i.amdO={},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var o in e)i.o(e,o)&&!i.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";const t=window.wp.plugins,e=window.wp.editPost,o=window.wp.i18n,n=window.wp.data;var s=i(609);const r=window.wp.compose;var a=i(481),h=i.n(a);function l(t,e){return Object.freeze({...t,...e})}const u=(0,s.createContext)(null),c=u.Provider;function d(){const t=(0,s.useContext)(u);if(null==t)throw new Error("No context provided: useLeafletContext() can only be used in a descendant of <MapContainer>");return t}function p(){return p=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t},p.apply(this,arguments)}function m({bounds:t,boundsOptions:e,center:i,children:o,className:n,id:r,placeholder:h,style:l,whenReady:u,zoom:d,...m},_){const[f]=(0,s.useState)({className:n,id:r,style:l}),[g,v]=(0,s.useState)(null);(0,s.useImperativeHandle)(_,(()=>g?.map??null),[g]);const y=(0,s.useCallback)((o=>{if(null!==o&&null===g){const n=new a.Map(o,m);null!=i&&null!=d?n.setView(i,d):null!=t&&n.fitBounds(t,e),null!=u&&n.whenReady(u),v(function(t){return Object.freeze({__version:1,map:t})}(n))}}),[]);(0,s.useEffect)((()=>()=>{g?.map.remove()}),[g]);const b=g?s.createElement(c,{value:g},o):h??null;return s.createElement("div",p({},f,{ref:y}),b)}const _=(0,s.forwardRef)(m),f=window.ReactDOM;function g(t){function e(e,i){const{instance:o,context:n}=t(e).current;return(0,s.useImperativeHandle)(i,(()=>o)),null==e.children?null:s.createElement(c,{value:n},e.children)}return(0,s.forwardRef)(e)}function v(t,e,i){return Object.freeze({instance:t,context:e,container:i})}function y(t,e){return null==e?function(e,i){const o=(0,s.useRef)();return o.current||(o.current=t(e,i)),o}:function(i,o){const n=(0,s.useRef)();n.current||(n.current=t(i,o));const r=(0,s.useRef)(i),{instance:a}=n.current;return(0,s.useEffect)((function(){r.current!==i&&(e(a,i,r.current),r.current=i)}),[a,i,o]),n}}function b(t,e){const i=(0,s.useRef)(e);(0,s.useEffect)((function(){e!==i.current&&null!=t.attributionControl&&(null!=i.current&&t.attributionControl.removeAttribution(i.current),null!=e&&t.attributionControl.addAttribution(e)),i.current=e}),[t,e])}function w(t,e){const i=(0,s.useRef)();(0,s.useEffect)((function(){return null!=e&&t.instance.on(e),i.current=e,function(){null!=i.current&&t.instance.off(i.current),i.current=null}}),[t,e])}function x(t,e){const i=t.pane??e.pane;return i?{...t,pane:i}:t}function P(t,e){(0,s.useEffect)((function(){return(e.layerContainer??e.map).addLayer(t.instance),function(){e.layerContainer?.removeLayer(t.instance),e.map.removeLayer(t.instance)}}),[e,t])}function L(t){return function(e){const i=d(),o=t(x(e,i),i);return b(i.map,e.attribution),w(o.current,e.eventHandlers),P(o.current,i),o}}function k(t,e){return g((i=y(t,e),function(t){const e=d(),o=i(x(t,e),e);return w(o.current,t.eventHandlers),P(o.current,e),function(t,e){const i=(0,s.useRef)();(0,s.useEffect)((function(){if(e.pathOptions!==i.current){const o=e.pathOptions??{};t.instance.setStyle(o),i.current=o}}),[t,e])}(o.current,t),o}));var i}const T=function(t){function e(e,i){const{instance:o}=t(e).current;return(0,s.useImperativeHandle)(i,(()=>o)),null}return(0,s.forwardRef)(e)}(L(y((function({url:t,...e},i){return v(new a.TileLayer(t,x(e,i)),i)}),(function(t,e,i){!function(t,e,i){const{opacity:o,zIndex:n}=e;null!=o&&o!==i.opacity&&t.setOpacity(o),null!=n&&n!==i.zIndex&&t.setZIndex(n)}(t,e,i);const{url:o}=e;null!=o&&o!==i.url&&t.setUrl(o)})))),M=g(L(y((function({position:t,...e},i){const o=new a.Marker(t,e);return v(o,l(i,{overlayContainer:o}))}),(function(t,e,i){e.position!==i.position&&t.setLatLng(e.position),null!=e.icon&&e.icon!==i.icon&&t.setIcon(e.icon),null!=e.zIndexOffset&&e.zIndexOffset!==i.zIndexOffset&&t.setZIndexOffset(e.zIndexOffset),null!=e.opacity&&e.opacity!==i.opacity&&t.setOpacity(e.opacity),null!=t.dragging&&e.draggable!==i.draggable&&(!0===e.draggable?t.dragging.enable():t.dragging.disable())})))),z=window.wp.components;function C(t,e=0){return"https://nominatim.openstreetmap.org/search?q="+t+(e>0?"&limit="+e:"")+"&format=json"}function S({searchCount:t,setSearchCount:e,searchResults:i},o){let n,s,r,a;if(void 0!==i&&0<i.length){e(t+1);const h=o.target.getAttribute("data-index"),{lat:l,lon:u,display_name:c}=i[h];n=null!=l?l:"",s=null!=u?u:"",r=c?`<p>${c}</p>`:"",a=null!=c?c:""}else{var h,l;n=null!==(h=o.latlng.lat)&&void 0!==h?h:"",s=null!==(l=o.latlng.lng)&&void 0!==l?l:"",r="",a=""}if(n&&s)return{lat:n.toString(),lng:s.toString(),text:r,textRaw:a,id:Date.now()}}const Z=window.ReactJSXRuntime;function E(t){const{setMarker:e,setAddress:i,setLatitude:o,setLongitude:n,setMapUpdate:r,setKeywords:a,searchResults:h,setSearchResults:l}=t,[u,c]=(0,s.useState)(0),d=t=>{var s,d,p;const m=S({searchCount:u,setSearchCount:c,searchResults:h},t);a(""),l([]),e(m),o(null!==(s=m?.lat)&&void 0!==s?s:""),n(null!==(d=m.lng)&&void 0!==d?d:""),i(null!==(p=m?.textRaw)&&void 0!==p?p:""),r(!0)};return h&&h.length?(0,Z.jsx)("div",{className:"ootb-openstreetmap--search-results",children:h.map(((t,e)=>{const{display_name:i}=t;return(0,Z.jsx)(z.Button,{autoFocus:0===e,onClick:d,"data-index":e,children:i},e)}))}):null}function O(t){const[e,i]=(0,s.useState)(""),[n,r]=(0,s.useState)([]),[a,h]=(0,s.useState)(null),l=()=>{e&&e.length>2&&fetch(C(e)).then((t=>{if(200===t.status)return t.json()})).then((t=>{r(t)}))};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"ootb-openstreetmap--searchbox",children:[(0,Z.jsx)(z.TextControl,{value:e,onChange:t=>{i(t)},onKeyDown:t=>{a||h(t),"Enter"===t.key&&l()},placeholder:(0,o.__)("Enter keywords...","ootb-openstreetmap")}),(0,Z.jsx)(z.Button,{onClick:()=>{n&&n.length?a&&(a.target.focus(),r([]),i("")):l()},icon:e&&n&&n.length>0?"no":"search",showTooltip:!0,label:n&&n.length>0?(0,o.__)("Clear results","ootb-openstreetmap"):(0,o.__)("Find locations","ootb-openstreetmap"),disabled:!(e&&e.length>2)})]}),(0,Z.jsx)(E,{...t,setKeywords:i,searchResults:n,setSearchResults:r})]})}function A(){return d().map}function I(t){const e=A();return(0,s.useEffect)((function(){return e.on(t),function(){e.off(t)}}),[e,t]),e}var j=i(159);function B(t){const{draggingProps:{isDraggingMarker:e,setIsDraggingMarker:i,addingMarker:o,setAddingMarker:n},setMarker:s,setMapUpdate:r,setLatitude:a,setLongitude:h,setAddress:l}=t;let u;return I({mouseup:t=>{if(clearTimeout(u),o){var e,c,d;r(!1);const o=S({},t);s(o),n(""),a(null!==(e=o?.lat)&&void 0!==e?e:""),h(null!==(c=o.lng)&&void 0!==c?c:""),l(null!==(d=o?.textRaw)&&void 0!==d?d:""),setTimeout((()=>i(!1)),600)}},mousedown:t=>{"div"===t.originalEvent.target.nodeName.toLowerCase()&&i(!1),e||(j.Fr&&!j.nr?n("pinning"):u=setTimeout((()=>{n("pinning"),setTimeout((()=>n("")),900)}),300))},drag:()=>{clearTimeout(u),n(""),r(!1),i(!1)},mouseout:()=>{i(!1)}}),null}function R(t){const{mapUpdate:e,markerPosition:i}=t;if(e){const t=A();t.fitBounds([i]),t.setZoom(6)}return null}function N(){const{pluginDirUrl:t}=ootbGlobal;return t+"assets/vendor/leaflet/images/marker-icon.png"}function D(t){const e=t.map((t=>t[0])),i=t.map((t=>t[1])),o=(Math.min(...e)+Math.max(...e))/2,n=(Math.min(...i)+Math.max(...i))/2;return o&&!isNaN(o)&&n&&!isNaN(n)?[o,n]:null}function F(t){const{marker:e,addingMarker:i,setAddingMarker:o}=t,n=D(ootbGlobal.defaultLocation),r=e?.lat?parseFloat(e.lat):null,a=e?.lng?parseFloat(e.lng):null,l=r&&a?[r,a]:null,[u,c]=(0,s.useState)(!1),d={isDraggingMarker:u,setIsDraggingMarker:c,addingMarker:i,setAddingMarker:o},p=h().icon({iconUrl:N(),iconAnchor:[12,41]});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(O,{...t}),(0,Z.jsxs)(_,{center:n,zoom:6,scrollWheelZoom:!1,style:{height:"250px"},children:[(0,Z.jsx)(B,{...t,draggingProps:d}),(0,Z.jsx)(T,{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),l&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M,{position:l,icon:p}),(0,Z.jsx)(R,{...t,markerPosition:l})]})]})]})}function H(t){const{latitude:e,longitude:i,address:n,setAddress:s,setMapUpdate:r}=t;if(e&&0!==e&&i&&0!==i)return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("table",{children:(0,Z.jsxs)("tbody",{children:[(0,Z.jsxs)("tr",{children:[(0,Z.jsx)("td",{children:(0,Z.jsxs)("strong",{children:[(0,o.__)("Latitude:","ootb-openstreetmap")," "]})}),(0,Z.jsx)("td",{children:(0,Z.jsx)("code",{children:e})})]}),(0,Z.jsxs)("tr",{children:[(0,Z.jsx)("td",{children:(0,Z.jsxs)("strong",{children:[(0,o.__)("Longitude:","ootb-openstreetmap")," "]})}),(0,Z.jsx)("td",{children:(0,Z.jsx)("code",{children:i})})]})]})}),(0,Z.jsx)("br",{}),(0,Z.jsx)(z.TextareaControl,{label:(0,o.__)("Address","ootb-openstreetmap"),value:n,onChange:t=>{s(t),r(!1)},placeholder:(0,o.__)("Enter address","ootb-openstreetmap")})]})}const U=(0,r.compose)([(0,n.withSelect)((t=>{const{getEditedPostAttribute:e}=t("core/editor"),i=e("meta");return{meta:i,geoAddress:i.geo_address,geoLatitude:i.geo_latitude,geoLongitude:i.geo_longitude}})),(0,n.withDispatch)(((t,{meta:e})=>{const{editPost:i}=t("core/editor");return{setMetaValues:t=>{i({meta:{...e,...t}})}}}))])((function({geoAddress:t,geoLatitude:e,geoLongitude:i,setMetaValues:o}){const[n,r]=(0,s.useState)({lat:e,lng:i}),[a,h]=(0,s.useState)(e),[l,u]=(0,s.useState)(i),[c,d]=(0,s.useState)(t),[p,m]=(0,s.useState)(!1),[_,f]=(0,s.useState)(""),g={marker:n,setMarker:r,latitude:a,setLatitude:h,longitude:l,setLongitude:u,address:c,setAddress:d,mapUpdate:p,setMapUpdate:m,addingMarker:_,setAddingMarker:f};return(0,s.useEffect)((()=>{m(!0)}),[]),(0,s.useEffect)((()=>{o({geo_address:c,geo_latitude:a,geo_longitude:l})}),[a,l,c]),(0,Z.jsxs)("div",{className:`ootb-openstreetmap--custom-fields-container ${_}`,children:[(0,Z.jsx)(F,{...g}),(0,Z.jsx)(H,{...g})]})})),W=()=>(0,Z.jsx)(e.PluginDocumentSettingPanel,{name:"ootb-custom-fields",title:(0,o.__)("Location","ootb-openstreetmap"),className:"ootb-custom-fields",children:(0,Z.jsx)(U,{})});let q=(0,n.subscribe)((function(){(function(t=null){const e=ootbGlobal?.options?.geo_post_types?Object.keys(ootbGlobal.options.geo_post_types):[];return null===t||!ootbGlobal?.options?.geodata||!e.includes(t)})((0,n.select)("core/editor").getCurrentPostType())||((0,t.registerPlugin)("ootb-custom-fields",{render:W}),q())}));const G=window.wp.blocks,V=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"ootb/openstreetmap","version":"2.4.1","title":"OpenStreetMap by Out of the Block","category":"common","icon":"location-alt","description":"A map block for the Gutenberg Editor using OpenStreetMaps and Leaflet that needs no API keys and works out of the box.","supports":{"html":false,"align":["wide","full"]},"usesContext":["postId","postType"],"keywords":["Map block","Open Street Maps","Contact","Locations"],"attributes":{"mapHeight":{"type":"integer","default":400},"markers":{"type":"array","default":[]},"zoom":{"type":"integer","default":8},"minZoom":{"type":"integer","default":2},"maxZoom":{"type":"integer","default":18},"dragging":{"type":"boolean","default":true},"touchZoom":{"type":"boolean","default":true},"doubleClickZoom":{"type":"boolean","default":true},"scrollWheelZoom":{"type":"boolean","default":true},"defaultIcon":{"type":"object","default":null},"keywords":{"type":"string","default":""},"showDefaultBounds":{"type":"boolean","default":true},"bounds":{"type":"array","default":[[37.97155174977503,23.72656345367432]]},"provider":{"type":"string","default":"openstreetmap"},"mapboxStyleUrl":{"type":"string","default":""},"mapType":{"type":"string","default":"marker"},"showMarkers":{"type":"boolean","default":true},"shapeColor":{"type":"string","default":"#008EFF"},"shapeWeight":{"type":"integer","default":3},"shapeText":{"type":"string","default":""},"isDraggingMarker":{"type":"boolean","default":false},"openAImode":{"type":"string","default":""},"queryArgs":{"type":"object","default":{"post_type":"post"}},"serverSideRender":{"type":"boolean","default":false},"showMapData":{"type":"boolean","default":true},"showSearchBox":{"type":"boolean","default":true},"queryCustomFields":{"type":"boolean","default":false}},"variations":[{"name":"custom-fields","title":"OpenStreetMap from custom fields","icon":"location","attributes":{"queryCustomFields":true,"showMapData":false,"showSearchBox":false,"serverSideRender":true}}],"textdomain":"ootb-openstreetmap","editorScript":"file:../index.js","style":"file:../index.css","script":["leaflet","leaflet-gesture-handling"],"viewScript":["file:./view.js","ootb-openstreetmap"],"viewStyle":["file:./view.css","ootb-openstreetmap"]}'),J=window.wp.blockEditor,K=window.wp.element;function Y(t,e){const{attributes:{markers:i,defaultIcon:o}}=t,{pluginDirUrl:n}=ootbGlobal,s=()=>void 0!==e&&i[e]?.icon?i[e].icon:null!=o?o:null,r=s()?Math.round(s().width/2):12,a=s()?Math.round(s().height):41;return{iconUrl:s()?s().url:N(),iconAnchor:[r,a],popupAnchor:[0,-Math.abs(a)]}}function X(t,e,i){const{attributes:{defaultIcon:o}}=t;return!(void 0!==i||!o)||!(void 0===i||!e)&&![o?.icon,N()].includes(e)}function $({props:t,index:e}){const{attributes:{markers:i},setAttributes:n}=t,s=void 0!==e,r=t=>{if(s){let o=[...i];o[e].icon=t,n({markers:o})}else n({defaultIcon:t})},a=Y(t,e);return(0,Z.jsx)(J.MediaUploadCheck,{children:(0,Z.jsxs)("div",{className:"ootb-openstreetmap--icon",children:[s?null:(0,Z.jsx)("img",{src:a.iconUrl,alt:(0,o.__)("Map Marker","ootb-openstreetmap")}),(0,Z.jsxs)("div",{className:"gmp-openstreetmap--buttons",children:[(0,Z.jsx)(J.MediaUpload,{onSelect:t=>{r(t)},allowedTypes:["image"],value:a,render:({open:t})=>(0,Z.jsx)(z.Button,{onClick:t,icon:"format-gallery",label:(0,o.__)("Change the Marker icon","ootb-openstreetmap"),isSecondary:!s,children:s?null:(0,o.__)("Change","ootb-openstreetmap")})}),X(t,a?.iconUrl,e)?(0,Z.jsx)(z.Button,{onClick:()=>{r(null)},icon:"image-rotate",label:(0,o.__)("Restore the Marker icon","ootb-openstreetmap"),isSecondary:!s,children:s?null:(0,o.__)("Restore","ootb-openstreetmap")}):null]})]})})}function Q({props:t}){const{attributes:{provider:e,mapboxStyleUrl:i},setAttributes:n}=t,{adminUrl:s,options:{api_mapbox:r,global_mapbox_style_url:a}}=ootbGlobal,h=[{label:(0,o.__)("OpenStreetMap","ootb-openstreetmap"),value:"openstreetmap"},{label:(0,o.__)("Mapbox","ootb-openstreetmap"),value:"mapbox"},{label:(0,o.__)("Stamen","ootb-openstreetmap"),value:"stamen"}];let l="";"mapbox"!==e||r?e&&"openstreetmap"!==e||(l=(0,Z.jsx)("span",{children:(0,K.createInterpolateElement)((0,o.__)("Heavy usage of OSM tiles is forbidden, and you might want to switch to a different tile provider. Read more on the <a>plugin settings</a>.","ootb-openstreetmap"),{a:(0,Z.jsx)("a",{href:s})})})):l=(0,Z.jsx)("span",{children:(0,K.createInterpolateElement)((0,o.__)("Make sure that you provided a valid API key on the <a>plugin settings</a>.","ootb-openstreetmap"),{a:(0,Z.jsx)("a",{href:s})})});const u="mapbox"===e?(0,Z.jsx)(z.TextControl,{label:(0,o.__)("Mapbox Style URL","ootb-openstreetmap"),value:i,onChange:t=>{n({mapboxStyleUrl:t})},help:(0,Z.jsx)("span",{children:a?(0,K.createInterpolateElement)((0,o.__)("You can override the style URL set in the <a>plugin settings</a>.","ootb-openstreetmap"),{mapbox_url:(0,Z.jsx)("a",{href:"https://studio.mapbox.com/"}),code:(0,Z.jsx)("code",{}),a:(0,Z.jsx)("a",{href:s})}):(0,K.createInterpolateElement)((0,o.__)('You can find the style URL on <mapbox_url>Mapbox Studio</mapbox_url>. There, use the "Share" button, and under "Developer resources", copy the "Style URL". It should look like that: <code>mapbox://styles/username/style-id</code>. For the styles to work, you need to have a Mapbox API key set in the <a>plugin settings</a>.',"ootb-openstreetmap"),{mapbox_url:(0,Z.jsx)("a",{href:"https://studio.mapbox.com/"}),code:(0,Z.jsx)("code",{}),a:(0,Z.jsx)("a",{href:s})})})}):null;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(z.SelectControl,{label:(0,o.__)("Tile Layer Provider","ootb-openstreetmap"),value:e,options:h,onChange:t=>{n({provider:t})},help:l}),u]})}function tt({props:t}){const{attributes:{mapType:e,showMarkers:i,shapeColor:n,shapeWeight:s},setAttributes:r}=t,a=[{label:(0,o.__)("Markers","ootb-openstreetmap"),value:"marker"},{label:(0,o.__)("Polygon","ootb-openstreetmap"),value:"polygon"},{label:(0,o.__)("Polyline","ootb-openstreetmap"),value:"polyline"}];return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.SelectControl,{label:(0,o.__)("Map type","ootb-openstreetmap"),value:e,options:a,onChange:t=>{r({mapType:t})},help:(0,o.__)("How the map should display its locations.","ootb-openstreetmap")}),"marker"!==e?(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.ToggleControl,{label:(0,o.__)("Show Markers","ootb-openstreetmap"),checked:!!i,onChange:()=>r({showMarkers:!i}),help:i?(0,o.__)("Show the markers on the frontend.","ootb-openstreetmap"):(0,o.__)("Hide the markers on the frontend (does not affect the Backend).","ootb-openstreetmap")}),(0,Z.jsx)(z.RangeControl,{label:(0,o.__)("Line weight","ootb-openstreetmap"),value:s,onChange:t=>{r({shapeWeight:t})},min:1,max:100}),(0,Z.jsx)(z.BaseControl,{label:(0,o.__)("Shape color","ootb-openstreetmap"),children:(0,Z.jsx)(z.ColorPicker,{color:n,onChange:t=>{r({shapeColor:t})},enableAlpha:!1,defaultValue:null})})]}):null]})}function et({props:t}){const{attributes:{mapHeight:e,zoom:i},setAttributes:n}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(Q,{props:t}),(0,Z.jsx)(tt,{props:t}),(0,Z.jsx)(z.RangeControl,{label:(0,o.__)("Height (pixels)","ootb-openstreetmap"),value:e,onChange:t=>{n({mapHeight:t})},min:50,max:1e3}),(0,Z.jsx)(z.RangeControl,{label:(0,o.__)("Zoom","ootb-openstreetmap"),value:i,onChange:t=>{n({zoom:t,shouldUpdateZoom:!0})},min:0,max:18}),(0,Z.jsx)($,{props:t})]})}function it({props:t}){const{attributes:{minZoom:e,maxZoom:i,dragging:n,touchZoom:s,doubleClickZoom:r,scrollWheelZoom:a},setAttributes:h}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(z.ToggleControl,{label:(0,o.__)("Map dragging","ootb-openstreetmap"),checked:!!n,onChange:()=>h({dragging:!n}),help:n?(0,o._x)("Enabled.","Map dragging setting","ootb-openstreetmap"):(0,o._x)("Disabled.","Map dragging setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,o.__)("Touch zoom","ootb-openstreetmap"),checked:!!s,onChange:()=>h({touchZoom:!s}),help:s?(0,o._x)("Enabled.","Touch zoom setting","ootb-openstreetmap"):(0,o._x)("Disabled.","Touch zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,o.__)("Double-click zoom","ootb-openstreetmap"),checked:!!r,onChange:()=>h({doubleClickZoom:!r}),help:r?(0,o._x)("Enabled.","Double-click zoom setting","ootb-openstreetmap"):(0,o._x)("Disabled.","Double-click zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.ToggleControl,{label:(0,o.__)("Scroll Wheel zoom","ootb-openstreetmap"),checked:!!a,onChange:()=>h({scrollWheelZoom:!a}),help:a?(0,o._x)("Enabled.","Scroll Wheel zoom setting","ootb-openstreetmap"):(0,o._x)("Disabled.","Scroll Wheel zoom setting","ootb-openstreetmap")}),(0,Z.jsx)(z.RangeControl,{label:(0,o.__)("Minimum Zoom","ootb-openstreetmap"),value:e,onChange:t=>{h({minZoom:t,maxZoom:i<=e?e+1:i})},min:0,max:18}),(0,Z.jsx)(z.RangeControl,{label:(0,o.__)("Maximum Zoom","ootb-openstreetmap"),value:i,onChange:t=>{h({maxZoom:t,minZoom:e>=i?i-1:e})},min:0,max:18,help:(0,o.__)("Tip: setting the same minimum and maximum zoom practically locks zoom at that level.","ootb-openstreetmap")})]})}function ot(t="",e=""){return!(!t||!e)&&function(t){return isFinite(t)&&Math.abs(t)<=90}(parseFloat(t))&&function(t){return isFinite(t)&&Math.abs(t)<=180}(parseFloat(e))}function nt(t){try{const i=JSON.parse(t.toString());if(i&&"object"==typeof i){let t=[];for(const o of i){var e;if(!o.lat||!o.lng)continue;if(!ot(o.lat,o.lng))continue;o.id=null!==(e=o.id)&&void 0!==e?e:Date.now();const{lat:i,lng:n,text:s,id:r}=o;t.push({lat:i,lng:n,text:s,id:r})}return t}}catch(t){return!1}return!1}const{withSelect:st}=wp.data,rt=st((t=>({postId:t("core/editor").getCurrentPostId()})))((function({props:t,postId:e,variant:i}){const{attributes:{serverSideRender:n},setAttributes:s}=t,r=n?"controls-repeat":"admin-post",a=n?(0,o.__)("Stop syncing","ootb-openstreetmap"):(0,o.__)("Fetch locations","ootb-openstreetmap");return(0,Z.jsx)(z.Button,{icon:r,iconPosition:"left",variant:i,onClick:()=>{n?((t,e)=>{const{attributes:{queryArgs:i},setAttributes:o}=t,n=new URLSearchParams({action:"ootb_get_markers",post_id:e,query_args:JSON.stringify(i),nonce:ootbGlobal.nonce});fetch(ootbGlobal.ajaxUrl,{method:"POST",body:n}).then((t=>{if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return t.json()})).then((t=>{const e=nt(t?.data);e&&o({markers:e,shouldUpdateBounds:!0,serverSideRender:!1})})).catch((t=>{console.error("Fetch Error:",t)}))})(t,e):s({markers:[],serverSideRender:!0,bounds:[[37.97155174977503,23.72656345367432]]})},children:a})}));function at({props:t}){var e;const{attributes:{queryArgs:i,serverSideRender:n,showMapData:s,queryCustomFields:r},setAttributes:a}=t,h=n?"secondary":"primary";let l=(0,o.__)("Get from existing entries","ootb-openstreetmap"),u=(0,o.__)("Fetch locations from existing posts or post types containing at least one map block.","ootb-openstreetmap");r?(l=(0,o.__)("Gets posts with locations","ootb-openstreetmap"),u=(0,o.__)("Markers are automatically fetched from existing posts or post types with locations assigned to them.","ootb-openstreetmap")):n&&(l=(0,o.__)("Gets posts containing the block","ootb-openstreetmap"),u=(0,o.__)('Markers are automatically fetched from existing posts or post types containing at least one map block. By hitting "Stop syncing" the block will stop automatic updating with new markers, and you will be able to manually edit it.',"ootb-openstreetmap"));const c=r?function(){const t=ootbGlobal?.postTypes,e=ootbGlobal?.options?.geo_post_types?Object.keys(ootbGlobal.options.geo_post_types):[];return t.filter((t=>e.includes(t.value)))}():ootbGlobal?.postTypes;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(z.BaseControl,{label:l,help:u,children:(0,Z.jsxs)("div",{children:[(!n||r)&&c.length>1&&(0,Z.jsx)(Z.Fragment,{children:(0,Z.jsx)(z.SelectControl,{label:(0,o.__)("Post type","ootb-openstreetmap"),value:null!==(e=i.post_type)&&void 0!==e?e:"post",options:c,onChange:t=>{a({queryArgs:{...i,post_type:t}})}})}),s&&(0,Z.jsx)(rt,{props:t,variant:h})]})}),s&&(0,Z.jsx)("hr",{})]})}function ht({props:t}){const{attributes:{markers:e},clientId:i}=t,n=e&&0<e.length,s=new Blob([JSON.stringify(e)],{type:"application/json"});return(0,Z.jsx)(z.BaseControl,{label:(0,o.__)("Export","ootb-openstreetmap"),help:(0,o.__)("Download a JSON file with the locations of this map.","ootb-openstreetmap"),children:(0,Z.jsx)("div",{children:(0,Z.jsx)(z.Button,{icon:"download",iconPosition:"left",variant:n?"primary":"secondary",href:window.URL.createObjectURL(s),target:"_blank",download:"ootb_"+i,disabled:!n,showTooltip:!0,text:(0,o.__)("Export locations","ootb-openstreetmap")})})})}function lt({props:t}){const{attributes:{markers:e},setAttributes:i}=t,n=e&&0<e.length;return(0,Z.jsx)(z.BaseControl,{label:(0,o.__)("Import from file","ootb-openstreetmap"),help:(0,o.__)("Import locations from a previously exported JSON file.","ootb-openstreetmap"),children:(0,Z.jsx)(z.FormFileUpload,{icon:"database-add",iconPosition:"left",variant:"primary",isDestructive:n,label:n?(0,o.__)("This map already includes locations. Uploading new locations will merge them with the existing ones.","ootb-openstreetmap"):null,text:(0,o.__)("Import locations","ootb-openstreetmap"),accept:"application/json",onChange:t=>{(t=>{const n=t.currentTarget.files[0];if(!n||0===n.length)return;const s=new FileReader;s.readAsText(n,"UTF-8"),s.onload=function(t){const o=nt(t.target.result);o&&i({markers:e.concat(o),shouldUpdateBounds:!0})},s.onerror=function(t){console.log((0,o.__)("Error reading file","ootb-openstreetmap"))}})(t)}})})}function ut({props:t}){const{attributes:{showMapData:e}}=t;return(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsx)(at,{props:t}),e&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ht,{props:t}),(0,Z.jsx)(lt,{props:t})]})]})}function ct({props:t}){const{attributes:{queryCustomFields:e}}=t;return(0,Z.jsxs)(J.InspectorControls,{children:[(0,Z.jsx)(z.PanelBody,{title:(0,o.__)("Main settings","ootb-openstreetmap"),initialOpen:!0,children:(0,Z.jsx)(et,{props:t})}),(0,Z.jsx)(z.PanelBody,{title:(0,o.__)("Map behavior","ootb-openstreetmap"),initialOpen:!1,children:(0,Z.jsx)(it,{props:t})}),(0,Z.jsx)(z.PanelBody,{title:(0,o.__)("Map data","ootb-openstreetmap"),initialOpen:!!e,children:(0,Z.jsx)(ut,{props:t})})]})}function dt(t,e=null){e&&t&&e.fitBounds(t,{padding:[50,50]})}function pt(t,e=[],i=null){const{attributes:{markers:o,zoom:n},setAttributes:s}=t;let r=[];if(e&&void 0!==e.lat&&r.push([e.lat,e.lng]),Object.entries(o).forEach((([t,e])=>{e&&r.push([e.lat,e.lng])})),r.length&&(s({bounds:r}),dt(r,i)),i){const t=i.getZoom();n!==t&&s({zoom:t})}}function mt({props:t}){const{attributes:{markers:e,searchResults:i,mapObj:o,inputRef:n},setAttributes:r}=t,[a,h]=(0,s.useState)(0),l=s=>{const l=S({searchCount:a,setSearchCount:h,searchResults:i},s);r({markers:[...e,l],keywords:"",searchResults:[]}),pt(t,l,o),n&&n.target.focus()};return i&&i.length?(0,Z.jsx)("div",{className:"ootb-openstreetmap--search-results",children:i.map(((t,e)=>{const{display_name:i}=t;return(0,Z.jsx)(z.Button,{autoFocus:0===e,onClick:l,"data-index":e,children:i},e)}))}):null}async function _t(t){const{attributes:{markers:e,keywords:i,mapObj:o,openAImode:n},setAttributes:s}=t;if(!i)return;if(!n)return;let r=[...e];return s({openAImode:"connecting"}),wp.apiFetch({path:"/ootb-openstreetmap/v1/openai/",method:"POST",data:{prompt:i}}).then((t=>{let e=[];try{const i=t?.choices[0]?.message?.content;i&&"invalid_question"!==i?(e=JSON.parse(i),s({openAImode:"success"})):(s({openAImode:"invalid_question"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3))}catch(t){s({openAImode:"error"}),console.error("Error parsing AI response")}let i=e?.map(((t,e)=>new Promise((i=>setTimeout((()=>{(t=>{t&&t.length>2&&fetch(C(t,1)).then((t=>{if(!t.ok)throw new Error(`Network response was not ok, status: ${t.status}`);return t.json()})).then((t=>{(t=>{var e,i;const n={lat:null!==(e=t?.lat.toString())&&void 0!==e?e:"",lng:null!==(i=t?.lon.toString())&&void 0!==i?i:"",text:t?.display_name?`<p>${t.display_name}</p>`:"",id:Date.now()};r.push(n);let a=[];r.length>0&&(r.forEach((t=>{t&&a.push([t.lat,t.lng])})),s({bounds:a,markers:r,openAImode:"working"}),dt(a,o))})(t[0])})).catch((t=>{s({openAImode:"error"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3),console.error("There has been a problem with the fetch operation:",JSON.stringify(t))}))})(t),i()}),1e3*(e+1))))));Promise.all(i).then((()=>{setTimeout((()=>{s({openAImode:"",keywords:""})}),1e3)}))})).catch((t=>{s({openAImode:"error"}),setTimeout((()=>{s({openAImode:"",keywords:""})}),3e3),console.error("Error fetching AI response: "+JSON.stringify(t))}))}function ft({props:t}){const{attributes:{keywords:e,inputRef:i,searchResults:n,openAImode:s},setAttributes:r}=t,a=()=>{e&&e.length>2&&fetch(C(e)).then((t=>{if(200===t.status)return t.json()})).then((t=>{r({searchResults:t})}))};let h="ootb-openstreetmap--searchbox";return s.length&&(h+=" openai-active"),(0,Z.jsxs)(K.Fragment,{children:[(0,Z.jsxs)("div",{className:h,children:[(0,Z.jsx)(z.TextControl,{value:e,onChange:t=>{r({keywords:t,openAImode:/\bplease\b/i.test(t)?"started":""})},onKeyDown:e=>{i||r({inputRef:e}),"Enter"===e.key&&(_t(t).then((()=>null)),a())},placeholder:(0,o.__)("Enter your keywords...","ootb-openstreetmap")}),(0,Z.jsx)(z.Button,{onClick:()=>{_t(t).then((()=>null)),n&&n.length?i&&(i.target.focus(),r({searchResults:[],keywords:""})):a()},icon:n&&n.length>0?"no":s.length?"format-status":"search",showTooltip:!0,label:n&&n.length>0?(0,o.__)("Clear results","ootb-openstreetmap"):(0,o.__)("Find locations","ootb-openstreetmap"),disabled:!(e&&e.length>2)})]}),(0,Z.jsx)(mt,{props:t})]})}function gt(t){const{attributes:{bounds:e,showDefaultBounds:i,markers:o}}=t;return!0===i?D(ootbGlobal.defaultLocation):D(e)||[o[0]?.lat,o[0]?.lng]}function vt(t,e){if(!t||!e||"string"!=typeof t||"string"!=typeof e||!t.startsWith("mapbox://"))return"";const i=t.split("/"),o=i[3],n=i[4];return o&&n&&"string"==typeof o&&"string"==typeof n?`https://api.mapbox.com/styles/v1/${o}/${n}/tiles/{z}/{x}/{y}?access_token=${e}`:""}function yt({props:t}){const{attributes:{provider:e,mapboxStyleUrl:i}}=t,{options:{api_mapbox:o,global_mapbox_style_url:n},providers:{openstreetmap:s,mapbox:r,stamen:a}}=ootbGlobal;let h=s.url,l=s.attribution;"mapbox"===e&&o&&(h=i||n?vt(i.length?i:n,o):r.url+o,l=r.attribution),"stamen"===e&&(h=a.url,l=a.attribution);const u=(0,K.useRef)(null);return(0,K.useEffect)((()=>{u.current.setUrl(h)}),[h]),(0,Z.jsx)(T,{ref:u,url:h,attribution:l})}const bt=function(){const t=function(t,e){return function(i,o){const n=d(),s=t(x(i,n),n);return b(n.map,i.attribution),w(s.current,i.eventHandlers),e(s.current,n,i,o),s}}(y((function(t,e){return v(new a.Popup(t,e.overlayContainer),e)})),(function(t,e,{position:i},o){(0,s.useEffect)((function(){const{instance:n}=t;function s(t){t.popup===n&&(n.update(),o(!0))}function r(t){t.popup===n&&o(!1)}return e.map.on({popupopen:s,popupclose:r}),null==e.overlayContainer?(null!=i&&n.setLatLng(i),n.openOn(e.map)):e.overlayContainer.bindPopup(n),function(){e.map.off({popupopen:s,popupclose:r}),e.overlayContainer?.unbindPopup(),e.map.removeLayer(n)}}),[t,e,o,i])}));return function(t){function e(e,i){const[o,n]=(0,s.useState)(!1),{instance:r}=t(e,n).current;(0,s.useImperativeHandle)(i,(()=>r)),(0,s.useEffect)((function(){o&&r.update()}),[r,o,e.children]);const a=r._contentNode;return a?(0,f.createPortal)(e.children,a):null}return(0,s.forwardRef)(e)}(t)}();function wt({setAddingMarker:t,props:e}){const{attributes:{mapObj:i,markers:n,isDraggingMarker:s},setAttributes:r}=e,a=t=>{const o=t.target;let s;if(o.hasAttribute("dataIndex"))s=o.getAttribute("dataIndex");else{const t=o.parentElement;t&&"button"===t.tagName.toLowerCase()&&(s=t.getAttribute("dataIndex"))}let a=[...n];a.splice(s,1),r({isDraggingMarker:!1,markers:a,shouldUpdateBounds:!0}),pt(e,[],i.leafletElement)};let l=null;const u=t=>h().icon(Y(e,t));return void 0!==n&&n.length?n.map(((h,c)=>(0,Z.jsx)(M,{markerId:h.id,position:[h.lat,h.lng],icon:u(c),draggable:!0,eventHandlers:{mousedown:e=>{l=new Date,t("")},mouseup:t=>{(t=>{if(!0!==s){const e=new Date;l&&0!=!!(e-l)||t.target.openPopup()}})(t)},mouseover:t=>{n&&r({isDraggingMarker:!0})},dragstart:t=>{r({isDraggingMarker:!0})},dragend:t=>{(t=>{const o=t.target.getLatLng(),s=function(t,e){const i=t.target.options.markerId;let o=null;for(let t in e)i===e[t].id&&(o=t);return o}(t,n),a=[...n];a[s]&&(a[s].lat=o.lat.toString(),a[s].lng=o.lng.toString(),r({markers:a,shouldUpdateBounds:!0}),pt(e,[],i.leafletElement)),r({isDraggingMarker:!1})})(t)}},children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:h.text,onChange:t=>{let e=[...n];e[c].text=t,r({markers:e})},placeholder:(0,o.__)("Write something","ootb-openstreetmap")}),(0,Z.jsxs)("div",{className:"ootb-openstreetmap--marker-icon-container",children:[(0,Z.jsx)($,{props:e,index:c}),(0,Z.jsx)(z.Button,{onClick:a,dataindex:c,icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,label:(0,o.__)("Remove this marker","ootb-openstreetmap")})]})]})},c))):null}const xt=k((function({positions:t,...e},i){const o=new a.Polygon(t,e);return v(o,l(i,{overlayContainer:o}))}),(function(t,e,i){e.positions!==i.positions&&t.setLatLngs(e.positions)}));function Pt({props:t,styles:e}){const{attributes:{markers:i,shapeText:n},setAttributes:s}=t;return(0,Z.jsx)(xt,{positions:i,pathOptions:e,children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:n,onChange:t=>{s({shapeText:t})},placeholder:(0,o.__)("Write something","ootb-openstreetmap")}),(0,Z.jsx)("div",{className:"ootb-openstreetmap--marker-icon-container ootb-openstreetmap--marker-remove ootb-openstreetmap--shape-controls",children:(0,Z.jsx)(z.Button,{onClick:()=>{s({isDraggingMarker:!1,markers:[],shapeText:"",zoom:8,shouldUpdateZoom:!0})},icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,isSecondary:!0,label:(0,o.__)("Remove this shape","ootb-openstreetmap")})})]})})}const Lt=k((function({positions:t,...e},i){const o=new a.Polyline(t,e);return v(o,l(i,{overlayContainer:o}))}),(function(t,e,i){e.positions!==i.positions&&t.setLatLngs(e.positions)}));function kt({props:t,styles:e}){const{attributes:{markers:i,shapeText:n},setAttributes:s}=t;return(0,Z.jsx)(Lt,{positions:i,pathOptions:e,children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(J.RichText,{value:n,onChange:t=>{s({shapeText:t})},placeholder:(0,o.__)("Write something","ootb-openstreetmap")}),(0,Z.jsx)("div",{className:"ootb-openstreetmap--marker-icon-container ootb-openstreetmap--marker-remove ootb-openstreetmap--shape-controls",children:(0,Z.jsx)(z.Button,{onClick:()=>{s({isDraggingMarker:!1,markers:[],shapeText:"",zoom:8,shouldUpdateZoom:!0})},icon:"trash",isDestructive:!0,variant:"secondary",showTooltip:!0,isSecondary:!0,label:(0,o.__)("Remove this shape","ootb-openstreetmap")})})]})})}function Tt({props:t}){const{attributes:{mapType:e,markers:i,shapeColor:o,shapeWeight:n,isDraggingMarker:s}}=t,r={fillColor:o,color:o,weight:n};return"polygon"===e&&!0!==s&&i.length?(0,Z.jsx)(Pt,{props:t,styles:r}):"polyline"===e&&!0!==s&&i.length?(0,Z.jsx)(kt,{props:t,styles:r}):null}function Mt({addingMarker:t,setAddingMarker:e,props:i}){const{attributes:{mapObj:o,markers:n,zoom:r,showDefaultBounds:a,shouldUpdateZoom:h,shouldUpdateBounds:l,isDraggingMarker:u,searchResults:c},setAttributes:d}=i,[p,m]=(0,s.useState)(0),_=(0,K.useRef)(!0);let f;const g=I({mouseup:o=>{(o=>{if(clearTimeout(f),t){const t=S({searchCount:p,setSearchCount:m,searchResults:c},o);d({markers:[...n,t]}),e(""),pt(i,t,o.target),setTimeout((function(){d({isDraggingMarker:!1})}),600)}})(o)},mousedown:t=>{(t=>{"div"===t.originalEvent.target.nodeName.toLowerCase()&&d({isDraggingMarker:!1}),!1===u&&(j.Fr&&!j.nr?e(" pinning"):f=setTimeout((function(){e(" pinning"),setTimeout((function(){e("")}),900)}),300))})(t)},drag:t=>{clearTimeout(f),e(""),d({isDraggingMarker:!1})},mouseout:t=>{d({isDraggingMarker:!1})},zoomanim:t=>{(t=>{d({zoom:t.zoom})})(t)},popupclose:()=>{d({isDraggingMarker:!1})}});return(0,K.useEffect)((()=>{_.current?_.current=!1:void 0===g||void 0!==o&&o.length&&o===g||d({mapObj:g})}),[n]),(0,K.useEffect)((()=>{!0===a&&d({bounds:ootbGlobal.defaultLocation,showDefaultBounds:!1}),!0===l&&(pt(i,[],g),d({shouldUpdateBounds:!1})),!0===h&&r!==g.getZoom()&&(g.setZoom(r),d({shouldUpdateZoom:!1}))}),[]),null}function zt({props:t}){const{attributes:{mapHeight:e}}=t,i=A().getContainer();return parseInt(i.style.height)!==e&&(i.style.height=`${e}px`),null}function Ct({inBlockEditor:t,addingMarker:e,setAddingMarker:i,...o}){const{attributes:{zoom:n,bounds:s,mapHeight:r,mapType:a}}=o;return(0,Z.jsxs)(_,{center:gt(o),zoom:n,dragging:t,bounds:s,style:{height:r+"px"},children:[(0,Z.jsx)(Mt,{props:o,addingMarker:e,setAddingMarker:i}),(0,Z.jsx)(zt,{props:o}),(0,Z.jsx)(yt,{props:o}),(0,Z.jsx)(wt,{props:o,setAddingMarker:i}),"marker"!==a?(0,Z.jsx)(Tt,{props:o}):null]})}function St({addingMarker:t,...e}){const{attributes:{openAImode:i}}=e;let n="",s="ootb-openstreetmap--alert";return" pinning"===t?n=(0,o.__)("Release to drop a marker here","ootb-openstreetmap"):i.length&&("started"===i?n=(0,o.__)("You have entered OpenAI mode. When you finish your prompt, please hit enter or click on the bubble icon.","ootb-openstreetmap"):"connecting"===i?n=(0,o.__)("Connecting to OpenAI...","ootb-openstreetmap"):"success"===i?n=(0,o.__)("Preparing the data. Please be patient...","ootb-openstreetmap"):"working"===i?(n=(0,o.sprintf)((0,o.__)('Creating the markers. It will take a while, because we don\'t want to violate the <a href="%s">Nominatim usage policy</a>.',"ootb-openstreetmap"),"https://operations.osmfoundation.org/policies/nominatim/"),s+=" alert-active"):"invalid_question"===i?(n=(0,o.__)("I don't understand your question. Please try again.","ootb-openstreetmap"),s+=" alert-error"):"error"===i&&(n=(0,o.__)("Something went wrong. Sorry...","ootb-openstreetmap"),s+=" alert-error")),n?(0,Z.jsx)("div",{className:s,dangerouslySetInnerHTML:{__html:n}}):null}function Zt(t){const{attributes:{bounds:e,markers:i}}=t;return D(e)||[i[0].lat,i[0].lng]}function Et(t){const{attributes:{defaultIcon:e}}=t,{pluginDirUrl:i}=ootbGlobal,o=i+"assets/vendor/leaflet/images/marker-icon.png",n=e?e.width/2:12;return{iconUrl:e?e.url:o,iconAnchor:[n,0]}}const Ot=[{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]},provider:{type:"string",default:"openstreetmap"}},supports:{className:!1,align:["wide","full"]},save(t,e){const{attributes:{mapHeight:i,markers:o,zoom:n,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u,provider:c}}=t;return o?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":c,"data-markers":encodeURIComponent(JSON.stringify(o)),"data-bounds":JSON.stringify(gt(t)),"data-zoom":n,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":encodeURIComponent(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]},provider:{type:"string",default:"openstreetmap"}},supports:{className:!1,align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:o,zoom:n,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u,provider:c}}=t;return o?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":c,"data-markers":escape(JSON.stringify(o)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":n,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]}},supports:{align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:o,zoom:n,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u}}=t;return o?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-markers":escape(JSON.stringify(o)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":n,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Y(t))),style:{height:i+"px"}})}):null}},{attributes:{mapHeight:{type:"integer",default:400},markers:{type:"array",default:[]},zoom:{type:"integer",default:8},minZoom:{type:"integer",default:2},maxZoom:{type:"integer",default:18},dragging:{type:"boolean",default:!0},touchZoom:{type:"boolean",default:!0},doubleClickZoom:{type:"boolean",default:!0},scrollWheelZoom:{type:"boolean",default:!0},defaultIcon:{type:"object",default:null},bounds:{type:"array",default:[[37.97155174977503,23.72656345367432]]}},supports:{align:["wide","full"]},save(t){const{className:e,attributes:{mapHeight:i,markers:o,zoom:n,minZoom:s,maxZoom:r,dragging:a,touchZoom:h,doubleClickZoom:l,scrollWheelZoom:u}}=t;return o?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-markers":escape(JSON.stringify(o)),"data-bounds":JSON.stringify(Zt(t)),"data-zoom":n,"data-minzoom":s,"data-maxzoom":r,"data-dragging":a,"data-touchzoom":h,"data-doubleclickzoom":l,"data-scrollwheelzoom":u,"data-marker":escape(JSON.stringify(Et(t))),style:{height:i+"px"}})}):null}}];(0,G.registerBlockType)(V,{edit:function(t){const{attributes:{queryArgs:e,serverSideRender:i,showSearchBox:n,queryCustomFields:r},context:{postType:a,postId:h}}=t,l=!(!a||!h),[u,c]=(0,s.useState)(""),d=(0,J.useBlockProps)({className:u||""}),p=()=>{let t="";if(ootbGlobal&&ootbGlobal.postTypes){const i=ootbGlobal.postTypes.find((t=>t.value===e?.post_type));i&&(t=i.label)}return t};return(0,Z.jsxs)("div",{...d,children:[(0,Z.jsx)(ct,{props:t}),i&&!r&&(0,Z.jsxs)("div",{className:"ootb-server-side-rendered",children:[(0,Z.jsx)("span",{children:(0,o.__)("Updates automatically from the latest "+p(),"ootb-openstreetmap")}),(0,Z.jsx)("div",{children:(0,Z.jsx)(rt,{props:t,variant:"primary"})})]}),i&&r&&(0,Z.jsx)("div",{className:"ootb-server-side-rendered ootb-custom-fields",children:(0,Z.jsx)("span",{children:(0,o.__)("Retrieves "+p()+" with locations","ootb-openstreetmap")})}),n&&(0,Z.jsx)(ft,{props:t}),(0,Z.jsx)(Ct,{...t,inBlockEditor:l,addingMarker:u,setAddingMarker:c}),(0,Z.jsx)(St,{...t,addingMarker:u})]})},save:function(t,e){var i;const{attributes:{mapHeight:o,markers:n,zoom:s,minZoom:r,maxZoom:a,dragging:h,touchZoom:l,doubleClickZoom:u,scrollWheelZoom:c,provider:d,mapType:p,showMarkers:m,shapeColor:_,shapeWeight:f,shapeText:g,mapboxStyleUrl:v}}=t,y={fillColor:_,color:_,weight:f},b=null!==(i=ootbGlobal?.options?.api_mapbox)&&void 0!==i?i:null,w=v&&b?vt(v,b):"";return n?(0,Z.jsx)("div",{className:e,children:(0,Z.jsx)("div",{className:"ootb-openstreetmap--map","data-provider":d,"data-maptype":p,"data-showmarkers":m,"data-shapestyle":encodeURIComponent(JSON.stringify(y)),"data-shapetext":g,"data-markers":encodeURIComponent(JSON.stringify(n)),"data-bounds":JSON.stringify(gt(t)),"data-zoom":s,"data-minzoom":r,"data-maxzoom":a,"data-dragging":h,"data-touchzoom":l,"data-doubleclickzoom":u,"data-scrollwheelzoom":c,"data-marker":encodeURIComponent(JSON.stringify(Y(t))),"data-mapboxstyle":w?encodeURIComponent(JSON.stringify(w)):null,style:{height:o+"px"}})}):null},deprecated:Ot}),i(840)})()})();
  • ootb-openstreetmap/trunk/includes/classes/OpenAI.php

    r3208055 r3248944  
    1111
    1212class OpenAI {
    13     public string $url = 'https://api.openai.com/v1/chat/completions';
    1413    public string $context = "You are an application that helps users to find locations on a map. The user enters a question in the search box and you need to find the answer to it. You only reply with the location's name, the city and the country that it belongs to. If the answer is a city, then you only reply with the city and the country. If the answer is a country, then you only reply with the country's name. If the answer has multiple locations, then you should include all locations to your answer. Your replies should be in an array. For example, if the question is `Which are the two biggest cities of Greece?`, the answer should be [\"Athens, Greece\", \"Thessaloniki, Greece\"]. If the question is `What is the capital of Greece?`, the answer should be [\"Athens, Greece\"]. If the question is `Eiffel Tower', the answer should be '[\"Eiffel Tower, Paris, France\"]'. If the question cannot be answered by a list of locations, then you should reply with a message `invalid_question`.";
    1514
     
    1817    }
    1918
    20     public function openai_rest_endpoint() {
     19
     20    /**
     21     * Provides default values for AI API configuration fields.
     22     *
     23     * @param string $field Optional. Specifies a particular configuration field to retrieve. Defaults to an empty string.
     24     *
     25     * @return array|string Returns an array of default configuration values if no specific field is requested.
     26     *                      Returns a string containing the value of the requested field if it exists.
     27     */
     28    public static function ai_api_defaults( string $field = '' ): array|string {
     29        $defaults = [
     30            'url'   => 'https://api.openai.com/v1/chat/completions',
     31            'model' => 'gpt-3.5-turbo',
     32        ];
     33        if ( empty( $field ) || ! isset ( $defaults[ $field ] ) ) {
     34            return $defaults;
     35        }
     36
     37        return $defaults[ $field ];
     38    }
     39
     40    /**
     41     * Registers a REST API endpoint for the OpenAI integration.
     42     *
     43     * @return void
     44     */
     45    public function openai_rest_endpoint(): void {
    2146        register_rest_route( 'ootb-openstreetmap/v1', '/openai/', [
    2247            'methods'             => 'POST',
     
    2853    }
    2954
    30     public function openai_callback( \WP_REST_Request $request ) {
     55    /**
     56     * Sends a request to the OpenAI API and returns the API response or an error.
     57     *
     58     * @param \WP_REST_Request $request The REST request object containing parameters from the client.
     59     *
     60     * @return \WP_Error|\WP_REST_Response Returns a WP_Error if the API request fails or a WP_REST_Response object if the request is successful.
     61     */
     62    public function openai_callback( \WP_REST_Request $request ): \WP_Error|\WP_REST_Response {
    3163        $parameters = $request->get_json_params();
    3264        $api_key    = Helper::get_option( 'api_openai' );
    33 
    34         $headers  = [
     65        $api_url    = ! empty( Helper::get_option( 'api_ai_provider' ) ) ? Helper::get_option( 'api_ai_provider' ) : self::ai_api_defaults( 'url' );
     66        $api_model  = ! empty( Helper::get_option( 'api_ai_model' ) ) ? Helper::get_option( 'api_ai_model' ) : self::ai_api_defaults( 'model' );
     67        $headers    = [
    3568            'Authorization' => 'Bearer ' . $api_key,
    3669            'Content-Type'  => 'application/json'
    3770        ];
    38         $body     = [
    39             'model'    => 'gpt-3.5-turbo',
     71        $body       = [
     72            'model'    => $api_model,
    4073            'messages' => [
    4174                [
     
    4679            ]
    4780        ];
    48         $response = wp_safe_remote_post( $this->url, [
     81        $response   = wp_safe_remote_post( $api_url, [
    4982            'method'  => 'POST',
    5083            'headers' => $headers,
     
    5487
    5588        if ( is_wp_error( $response ) ) {
    56             return new \WP_Error( 'openai_error', __( 'An error occurred while making the OpenAI API request.', 'ootb-openstreetmap' ) );
     89            return new \WP_Error(
     90                'openai_error',
     91                sprintf(
     92                    /* translators: %1$s is the error message */
     93                    __( 'An error occurred while making the OpenAI API request: %1$s', 'ootb-openstreetmap' ),
     94                    $response->get_error_message()
     95                ),
     96            );
    5797        } else {
    5898            return rest_ensure_response( json_decode( wp_remote_retrieve_body( $response ), true ) );
  • ootb-openstreetmap/trunk/includes/classes/Options.php

    r3208055 r3248944  
    4545     * @return void
    4646     */
    47     function settings_fields() {
    48         register_setting( 'ootb',
     47    function settings_fields(): void {
     48        register_setting(
     49            'ootb',
    4950            'ootb_options',
    5051            [
    51                 'sanitize_callback' => [ $this, 'options_validate' ],
    52             ] );
     52                'type'              => 'array',
     53                'sanitize_callback' => [ $this, 'sanitize_options' ],
     54                'default'           => []
     55            ]
     56        );
    5357
    5458        add_settings_section(
     
    165169                'label'            => sprintf(
    166170                    /* translators: %1$s is the URL to the WordPress documentation about Geodata */
    167                         __( 'Enable a location custom field, to store a post\'s or post type\'s location. The data are stored following the <a href="%1$s" target="_blank">official guidelines</a>.', 'ootb-openstreetmap' ),
     171                    __( 'Enable a location custom field, to store a post\'s or post type\'s location. The data are stored following the <a href="%1$s" target="_blank">official guidelines</a>.', 'ootb-openstreetmap' ),
    168172                    esc_url( 'https://codex.wordpress.org/Geodata' )
    169173                ),
     
    193197
    194198        add_settings_field(
     199            'api_ai_provider',
     200            esc_html__( 'AI Provider', 'ootb-openstreetmap' ),
     201            [ $this, 'field_api_ai_text' ],
     202            'ootb',
     203            'ootb_section_openai',
     204            [
     205                'label_for'        => 'api_ai_provider',
     206                'class'            => 'ootb_row',
     207                'ootb_custom_data' => 'custom',
     208                'default'          => OpenAI::ai_api_defaults( 'url' ),
     209                'description'      => __( 'Set the API endpoint URL for your preferred provider. Defaults to the OpenAI provider.', 'ootb-openstreetmap' )
     210            ]
     211        );
     212
     213        add_settings_field(
     214            'api_ai_model',
     215            esc_html__( 'AI Model', 'ootb-openstreetmap' ),
     216            [ $this, 'field_api_ai_text' ],
     217            'ootb',
     218            'ootb_section_openai',
     219            [
     220                'label_for'        => 'api_ai_model',
     221                'class'            => 'ootb_row',
     222                'ootb_custom_data' => 'custom',
     223                'default'          => OpenAI::ai_api_defaults( 'model' ),
     224                'description'      => sprintf(
     225                /* translators: %1$s is the default model */
     226                    __( 'The identifier of the model from your provider. Typically a short name without spaces. Defaults to %1$s.', 'ootb-openstreetmap' ),
     227                    '<code>' . OpenAI::ai_api_defaults( 'model' ) . '</code>'
     228                ),
     229            ]
     230        );
     231
     232        add_settings_field(
    195233            'api_openai',
    196             esc_html__( 'OpenAI API key', 'ootb-openstreetmap' ),
     234            esc_html__( 'AI API key', 'ootb-openstreetmap' ),
    197235            [ $this, 'field_api_key_openai' ],
    198236            'ootb',
     
    202240                'class'            => 'ootb_row',
    203241                'ootb_custom_data' => 'custom',
     242                'description'      => __( 'Your API key for this provider.', 'ootb-openstreetmap' )
    204243            ]
    205244        );
     
    213252     * @return void
    214253     */
    215     function field_prevent_default_gestures( array $args ) {
     254    function field_prevent_default_gestures( array $args ): void {
    216255        $option = Helper::get_option( 'all' );
    217256        ?>
    218         <input type="checkbox" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    219                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
    220                value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ] ), true ); ?> />
    221         <label
    222                 for="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"><?php echo esc_html( $args[ 'label' ] ); ?></label>
     257        <input type="checkbox" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     258               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     259               value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ] ), true ); ?> />
     260        <label
     261            for="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"><?php echo esc_html( $args[ 'label' ] ); ?></label>
    223262        <?php
    224263    }
     
    231270     * @return void
    232271     */
    233     function field_geodata( array $args ) {
     272    function field_geodata( array $args ): void {
    234273        $option = Helper::get_option( 'all' );
    235274        ?>
    236         <input type="checkbox" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    237                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
    238                value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ] ), true ); ?> />
     275        <input type="checkbox" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     276               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     277               value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ] ), true ); ?> />
    239278        <label for="<?php echo esc_attr( $args[ 'label_for' ] ); ?>">
    240279            <?php
     
    260299     * @return void
    261300     */
    262     function field_geo_post_types( array $args ) {
     301    function field_geo_post_types( array $args ): void {
    263302        $option     = Helper::get_option( 'all' );
    264303        $post_types = get_post_types( [ 'public' => true ], 'names', 'and' ); // Get public post types
    265304        ?>
    266         <fieldset>
    267             <legend><?php echo esc_html( $args[ 'label' ] ); ?></legend>
     305        <fieldset>
     306            <legend><?php echo esc_html( $args[ 'label' ] ); ?></legend>
    268307            <?php
    269308            foreach ( $post_types as $post_type ) :
     
    272311                }
    273312                ?>
    274                 <input type="checkbox"
    275                        id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>-<?php echo esc_attr( $post_type ); ?>"
    276                        name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>][<?php echo esc_attr( $post_type ); ?>]"
    277                        value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ][ $post_type ] ), true ); ?> />
    278                 <label
    279                         for="<?php echo esc_attr( $args[ 'label_for' ] ); ?>-<?php echo esc_attr( $post_type ); ?>"><?php echo esc_html( $post_type ); ?></label>
    280                 <br/>
     313                <input type="checkbox"
     314                       id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>-<?php echo esc_attr( $post_type ); ?>"
     315                       name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>][<?php echo esc_attr( $post_type ); ?>]"
     316                       value="1" <?php checked( ! empty( $option[ $args[ 'label_for' ] ][ $post_type ] ), true ); ?> />
     317                <label
     318                    for="<?php echo esc_attr( $args[ 'label_for' ] ); ?>-<?php echo esc_attr( $post_type ); ?>"><?php echo esc_html( $post_type ); ?></label>
     319                <br/>
    281320            <?php
    282321            endforeach;
    283322            ?>
    284         </fieldset>
     323        </fieldset>
    285324        <?php
    286325    }
     
    293332     * @return void
    294333     */
    295     function section_frontend_callback( array $args ) {
    296         ?>
    297         <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
     334    function section_frontend_callback( array $args ): void {
     335        ?>
     336        <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
    298337            <?php
    299338            echo esc_html__( 'Apply adjustments to the Frontend behavior of the map.', 'ootb-openstreetmap' );
    300339            ?>
    301         </p>
     340        </p>
    302341        <?php
    303342    }
     
    310349     * @return void
    311350     */
    312     function section_custom_fields_callback( array $args ) {
    313         ?>
    314         <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
     351    function section_custom_fields_callback( array $args ): void {
     352        ?>
     353        <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
    315354            <?php
    316355            echo esc_html__( 'Enable support for custom fields.', 'ootb-openstreetmap' );
    317356            ?>
    318         </p>
     357        </p>
    319358        <?php
    320359    }
     
    327366     * @return void
    328367     */
    329     function section_defaults_callback( array $args ) {
    330         ?>
    331         <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
     368    function section_defaults_callback( array $args ): void {
     369        ?>
     370        <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
    332371            <?php
    333372            echo sprintf(
    334373                wp_kses(
    335                     /* translators: %1$s is the URL to the site's General options (Settings/General) */
     374                /* translators: %1$s is the URL to the site's General options (Settings/General) */
    336375                    __( 'Set the default coordinates when you add a new block and no marker is yet set. The plugin will try to guess the default location based on the <a href="%1$s">site\'s timezone</a>, but because there is no easy way to match against a specific database of coordinates, it can get it wrong. You can override these values here.', 'ootb-openstreetmap' ),
    337376                    [ 'a' => [ 'href' => [] ] ]
     
    340379            );
    341380            ?>
    342         </p>
     381        </p>
    343382        <?php
    344383    }
     
    351390     * @return void
    352391     */
    353     function section_settings_callback( array $args ) {
    354         ?>
    355         <div class="ootb_info">
    356             <h3><?php echo esc_html__( 'About OpenStreetMap usage limits', 'ootb-openstreetmap' ); ?></h3>
    357             <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
     392    function section_settings_callback( array $args ): void {
     393        ?>
     394        <div class="ootb_info">
     395            <h3><?php echo esc_html__( 'About OpenStreetMap usage limits', 'ootb-openstreetmap' ); ?></h3>
     396            <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
    358397                <?php
    359398                echo sprintf(
    360399                    wp_kses(
    361                         /* translators: %1$s is the URL to the OpenStreetMap Tile Usage Policy and %1$s is the URL to the Mapbox homepage */
     400                    /* translators: %1$s is the URL to the OpenStreetMap Tile Usage Policy and %1$s is the URL to the Mapbox homepage */
    362401                        __( 'As stated on the <a href="%1$s" target="_blank">OpenStreetMap Tile Usage Policy</a>, OSM’s own servers are run entirely on donated resources and they have strictly limited capacity. Using them on a site with low traffic will probably be fine. Nevertheless, you are advised to create an account to <a href="%2$s" target="_blank">MapBox</a> and get a free API Key.',
    363402                            'ootb-openstreetmap'
     
    369408                );
    370409                ?>
    371             </p>
    372             <p class="ootb-colophon">
     410            </p>
     411            <p class="ootb-colophon">
    373412                <a href="https://wordpress.org/support/plugin/ootb-openstreetmap/" target="_blank">
    374413                    <?php esc_html_e( 'Support forum', 'ootb-openstreetmap' ); ?>
    375414                </a>
    376                 |
     415                |
    377416                <?php
    378417                echo sprintf(
    379418                    wp_kses(
    380                         /* translators: %s is the URL to the plugin creator's website */
     419                    /* translators: %s is the URL to the plugin creator's website */
    381420                        __( 'Plugin created by <a href="%s" target="_blank">Giorgos Sarigiannidis</a>', 'ootb-openstreetmap' ),
    382421                        [ 'a' => [ 'href' => [], 'target' => [] ] ]
     
    386425                ?>
    387426            </p>
    388         </div>
     427        </div>
    389428
    390429        <?php
     
    396435     * @return void
    397436     */
    398     function options_page() {
     437    function options_page(): void {
    399438        add_submenu_page(
    400439            'options-general.php',
    401             'Out of the Block: OpenStreetMap',
    402             'OOTB OpenStreetMap',
     440            __( 'Out of the Block: OpenStreetMap', 'ootb-openstreetmap' ),
     441            __( 'OOTB OpenStreetMap', 'ootb-openstreetmap' ),
    403442            'manage_options',
    404443            'ootb-openstreetmap',
     
    414453     * @return void
    415454     */
    416     function field_api_key_mapbox( array $args ) {
     455    function field_api_key_mapbox( array $args ): void {
    417456        $option = Helper::get_option( 'all' );
    418457        ?>
    419         <input type="password" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    420                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
    421                value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"/>
     458        <input type="password" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     459               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     460               value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"/>
    422461        <?php
    423462    }
     
    430469     * @return void
    431470     */
    432     function field_url( array $args ) {
     471    function field_url( array $args ): void {
    433472        $option = Helper::get_option( 'all' );
    434473        ?>
    435         <input type="url" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    436                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
    437                value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"
    438                size="60"/>
     474        <input type="url" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     475               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     476               value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"
     477               size="60"/>
    439478        <p class="description">
    440479            <?php
     
    458497     * @return void
    459498     */
    460     function field_coordinates( array $args ) {
     499    function field_coordinates( array $args ): void {
    461500        $option   = Helper::get_option( 'all' );
    462501        $defaults = Helper::default_location();
     
    469508        }
    470509        ?>
    471         <input type="text" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    472                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>" placeholder="<?php echo esc_html( $default ); ?>"
    473                value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : esc_attr( $default ); ?>"/>
     510        <input type="text" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     511               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>" placeholder="<?php echo esc_html( $default ); ?>"
     512               value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : esc_attr( $default ); ?>"/>
    474513        <?php
    475514    }
     
    482521     * @return void
    483522     */
    484     function section_openai_callback( array $args ) {
    485         ?>
    486         <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
    487             <?php
    488             echo esc_html__( 'Set the OpenAI API key.', 'ootb-openstreetmap' );
     523    function section_openai_callback( array $args ): void {
     524        ?>
     525        <p id="<?php echo esc_attr( $args[ 'id' ] ); ?>">
     526            <?php
     527            echo esc_html__( 'Set the credentials for your AI provider. Defaults to OpenAI, but you can use any provider.', 'ootb-openstreetmap' );
    489528            ?>
    490         </p>
    491         <?php
     529        </p>
     530        <?php
     531    }
     532
     533    /**
     534     * Renders a text input field for API AI settings.
     535     *
     536     * @param array $args Array of arguments for the field, including:
     537     *                    - 'label_for' (string): The ID and name attribute for the input.
     538     *                    - 'default' (string): Default placeholder value for the input field.
     539     *                    - 'description' (string, optional): Description displayed below the input field.
     540     *
     541     * @return void
     542     */
     543    function field_api_ai_text( array $args ): void {
     544        $option = Helper::get_option( 'all' );
     545        ?>
     546        <input type="text" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     547               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     548               placeholder="<?php echo esc_html( $args[ 'default' ] ); ?>"
     549               value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : esc_attr( $args[ 'default' ] ); ?>"/>
     550        <?php if ( isset( $args[ 'description' ] ) ): ?>
     551            <p><?php echo wp_kses_post( $args[ 'description' ] ); ?></p>
     552        <?php
     553        endif;
    492554    }
    493555
     
    499561     * @return void
    500562     */
    501     function field_api_key_openai( array $args ) {
     563    function field_api_key_openai( array $args ): void {
    502564        $option = Helper::get_option( 'all' );
    503565        ?>
    504         <input type="password" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
    505                id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
    506                value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"/>
    507         <?php
     566        <input type="password" name="ootb_options[<?php echo esc_attr( $args[ 'label_for' ] ); ?>]"
     567               id="<?php echo esc_attr( $args[ 'label_for' ] ); ?>"
     568               value="<?php echo isset( $option[ $args[ 'label_for' ] ] ) ? esc_attr( $option[ $args[ 'label_for' ] ] ) : ''; ?>"/>
     569        <?php if ( isset( $args[ 'description' ] ) ): ?>
     570            <p><?php echo esc_html( $args[ 'description' ] ); ?></p>
     571        <?php
     572        endif;
    508573    }
    509574
     
    513578     * @return void
    514579     */
    515     function options_page_html() {
     580    function options_page_html(): void {
    516581        if ( ! current_user_can( 'manage_options' ) ) {
    517582            return;
     
    521586        $current = isset( $options[ 'ootb_field_mode' ] ) && $options[ 'ootb_field_mode' ] ? $options[ 'ootb_field_mode' ] : '';
    522587        ?>
    523         <div id="ootb_form" class="wrap" data-current="<?php echo esc_attr( $current ); ?>">
    524             <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
    525             <form action="options.php" method="post">
     588        <div id="ootb_form" class="wrap" data-current="<?php echo esc_attr( $current ); ?>">
     589            <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
     590            <form action="options.php" method="post">
    526591                <?php
    527592                settings_fields( 'ootb' );
     
    529594                submit_button( esc_html__( 'Save Settings', 'ootb-openstreetmap' ) );
    530595                ?>
    531             </form>
    532         </div>
    533         <?php
    534     }
    535 
    536     /**
    537      * Validate Options.
    538      *
    539      * @param array $input The Options to validate.
     596            </form>
     597        </div>
     598        <?php
     599    }
     600
     601    /**
     602     * Sanitize Options.
     603     *
     604     * @param array $input The Options to sanitize.
    540605     *
    541606     * @return array
    542607     */
    543     function options_validate( array $input ): array {
    544         // Validate api_mapbox.
     608    function sanitize_options( array $input ): array {
     609        // Sanitize api_mapbox.
    545610        if ( ! empty( $input[ 'api_mapbox' ] ) ) {
    546611            $input[ 'api_mapbox' ] = preg_replace( '/\s+/',
     
    548613                esc_attr( $input[ 'api_mapbox' ] ) );
    549614        }
    550         // Validate coordinates.
     615        // Sanitize coordinates.
    551616        $fallback = Helper::fallback_location();
    552617        if ( ! empty( $input[ 'default_lat' ] ) ) {
     
    573638     * @return void
    574639     */
    575     function enqueues( string $hook ) {
     640    function enqueues( string $hook ): void {
    576641        if ( 'settings_page_ootb-openstreetmap' !== $hook ) {
    577642            return;
  • ootb-openstreetmap/trunk/ootb-openstreetmap.php

    r3208055 r3248944  
    66 * Requires at least: 6.5
    77 * Requires PHP:      8.1
    8  * Version:           2.8.5
     8 * Version:           2.8.6
    99 * Author:            Giorgos Sarigiannidis
    1010 * Author URI:        https://www.gsarigiannidis.gr
     
    2121
    2222const OOTB_BLOCK_NAME     = 'ootb/openstreetmap';
    23 const OOTB_VERSION        = '2.8.5';
     23const OOTB_VERSION        = '2.8.6';
    2424const OOTB_SCRIPT_VERSION = [
    2525    'leaflet'                  => '1.9.4',
  • ootb-openstreetmap/trunk/readme.txt

    r3208055 r3248944  
    66Tested up to: 6.7
    77Requires PHP: 8.1
    8 Stable tag: 2.8.5
     8Stable tag: 2.8.6
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    3535* [Place search](https://www.gsarigiannidis.gr/openstreetmap-place-search/). Find locations by typing keywords.
    3636* Remembers the zoom that you set when adding the markers and stores it so that you don't set it by hand (which you can do anyway if you prefer).
    37 * OpenAI integration which allows you to add markers by using commands in natural language. Just say "please" to activate (e.g. "Please, show me where GOT was filmed"). Requires an OpenAI API key. [Read more](https://www.gsarigiannidis.gr/openstreetmap-openai-integration/).
     37* AI integration which allows you to add markers by using commands in natural language. Just say "please" to activate (e.g. "Please, show me where GOT was filmed"). Requires an API key from an AI Provider. [Read more](https://www.gsarigiannidis.gr/openstreetmap-openai-integration/).
    3838* Query Maps: Supports creating a map out of maps added on other posts or post types. This can be quite powerful when, for example, you have a custom post type for "Places" with each place having its own map, and you want to dynamically gather-up all the places on a single map.
    3939* Shortcode support: You can use the shortcode `[ootb_query]` as an alternative way to use the aforementioned Query Maps feature (see the FAQ for more info).
     
    8181Check under the "Map behavior" section, at the blocks' settings at the sidebar on the right. It's toggled off by default, that's probably why you missed it.
    8282
    83 = How does the OpenAI integration work? =
    84 
    85 First of all, you will need to create an account to [OpenAI](https://openai.com/) and get an API key. Then, go to the plugin's settings page and paste your key there. After that, you can start adding markers by using commands in natural language. Just say "please" to activate (e.g. "Please, show me where GOT was filmed"). Please keep in mind, though, that it's like asking ChatGPT: the answers you get might not always be 100% reliable, and you should always double-check to confirm their accuracy. [Read more](https://www.gsarigiannidis.gr/openstreetmap-openai-integration/).
     83= How does the AI integration work? =
     84
     85First of all, you will need to create an account to an AI provider (like [OpenAI](https://openai.com/), [Gemini](https://gemini.google.com/), (Anthropic)[https://console.anthropic.com/] or similar) and get an API key. Then, go to the plugin's settings page and paste your API provider's endpoint URL, Model and API key there. After that, you can start adding markers by using commands in natural language. Just say "please" to activate (e.g. "Please, show me where GOT was filmed"). Please keep in mind, though, that it's like asking ChatGPT, Claude or any other AI Assistant: the answers you get might not always be 100% reliable, and you should always double-check to confirm their accuracy. [Read more](https://www.gsarigiannidis.gr/openstreetmap-openai-integration/).
    8686
    8787= How can I query maps from other posts or post types? =
     
    110110
    111111== Upgrade Notice ==
     112= 2.8.6 =
     113Adds support for more AI Providers, besides OpenAI (OpenAI is kept as the default).
     114
    112115= 2.8.3 =
    113116Version 2.8.3 makes changes to the way the scripts are loaded, and bumps the minimum WordPress version to 6.5. If you are using an older WordPress version, please update WordPress first, before trying to update the plugin.
Note: See TracChangeset for help on using the changeset viewer.