src/pyams_gis/resources/js/leaflet-1.0.3.min.js
changeset 0 c73bb834ccbe
equal deleted inserted replaced
-1:000000000000 0:c73bb834ccbe
       
     1 (function(f,b,h){var a={version:"1.0.3+ed36a04"};function d(){var i=f.L;a.noConflict=function(){f.L=i;return this};f.L=a}if(typeof module==="object"&&typeof module.exports==="object"){module.exports=a}else{if(typeof define==="function"&&define.amd){define(a)}}if(typeof f!=="undefined"){d()}a.Util={extend:function(m){var n,l,k,o;for(l=1,k=arguments.length;l<k;l++){o=arguments[l];for(n in o){m[n]=o[n]}}return m},create:Object.create||(function(){function i(){}return function(j){i.prototype=j;return new i()}})(),bind:function(j,k){var l=Array.prototype.slice;if(j.bind){return j.bind.apply(j,l.call(arguments,1))}var i=l.call(arguments,2);return function(){return j.apply(k,i.length?i.concat(l.call(arguments)):arguments)}},stamp:function(i){i._leaflet_id=i._leaflet_id||++a.Util.lastId;return i._leaflet_id},lastId:0,throttle:function(n,o,m){var l,k,j,i;i=function(){l=false;if(k){j.apply(m,k);k=false}};j=function(){if(l){k=arguments}else{n.apply(m,arguments);setTimeout(i,o);l=true}};return j},wrapNum:function(j,k,m){var i=k[1],l=k[0],n=i-l;return j===i&&m?j:((j-l)%n+n)%n+l},falseFn:function(){return false},formatNum:function(i,k){var j=Math.pow(10,k||5);return Math.round(i*j)/j},trim:function(i){return i.trim?i.trim():i.replace(/^\s+|\s+$/g,"")},splitWords:function(i){return a.Util.trim(i).split(/\s+/)},setOptions:function(l,j){if(!l.hasOwnProperty("options")){l.options=l.options?a.Util.create(l.options):{}}for(var k in j){l.options[k]=j[k]}return l.options},getParamString:function(m,j,k){var n=[];for(var l in m){n.push(encodeURIComponent(k?l.toUpperCase():l)+"="+encodeURIComponent(m[l]))}return((!j||j.indexOf("?")===-1)?"?":"&")+n.join("&")},template:function(j,i){return j.replace(a.Util.templateRe,function(m,k){var l=i[k];if(l===h){throw new Error("No value provided for variable "+m)}else{if(typeof l==="function"){l=l(i)}}return l})},templateRe:/\{ *([\w_\-]+) *\}/g,isArray:Array.isArray||function(i){return(Object.prototype.toString.call(i)==="[object Array]")},indexOf:function(l,k){for(var j=0;j<l.length;j++){if(l[j]===k){return j}}return -1},emptyImageUrl:"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="};(function(){function l(n){return f["webkit"+n]||f["moz"+n]||f["ms"+n]}var m=0;function j(n){var p=+new Date(),o=Math.max(0,16-(p-m));m=p+o;return f.setTimeout(n,o)}var i=f.requestAnimationFrame||l("RequestAnimationFrame")||j,k=f.cancelAnimationFrame||l("CancelAnimationFrame")||l("CancelRequestAnimationFrame")||function(n){f.clearTimeout(n)};a.Util.requestAnimFrame=function(p,o,n){if(n&&i===j){p.call(o)}else{return i.call(f,a.bind(p,o))}};a.Util.cancelAnimFrame=function(n){if(n){k.call(f,n)}}})();a.extend=a.Util.extend;a.bind=a.Util.bind;a.stamp=a.Util.stamp;a.setOptions=a.Util.setOptions;a.Class=function(){};a.Class.extend=function(k){var n=function(){if(this.initialize){this.initialize.apply(this,arguments)}this.callInitHooks()};var m=n.__super__=this.prototype;var l=a.Util.create(m);l.constructor=n;n.prototype=l;for(var j in this){if(this.hasOwnProperty(j)&&j!=="prototype"){n[j]=this[j]}}if(k.statics){a.extend(n,k.statics);delete k.statics}if(k.includes){a.Util.extend.apply(null,[l].concat(k.includes));delete k.includes}if(l.options){k.options=a.Util.extend(a.Util.create(l.options),k.options)}a.extend(l,k);l._initHooks=[];l.callInitHooks=function(){if(this._initHooksCalled){return}if(m.callInitHooks){m.callInitHooks.call(this)}this._initHooksCalled=true;for(var p=0,o=l._initHooks.length;p<o;p++){l._initHooks[p].call(this)}};return n};a.Class.include=function(i){a.extend(this.prototype,i);return this};a.Class.mergeOptions=function(i){a.extend(this.prototype.options,i);return this};a.Class.addInitHook=function(j){var i=Array.prototype.slice.call(arguments,1);var k=typeof j==="function"?j:function(){this[j].apply(this,i)};this.prototype._initHooks=this.prototype._initHooks||[];this.prototype._initHooks.push(k);return this};a.Evented=a.Class.extend({on:function(m,o,l){if(typeof m==="object"){for(var n in m){this._on(n,m[n],o)}}else{m=a.Util.splitWords(m);for(var k=0,j=m.length;k<j;k++){this._on(m[k],o,l)}}return this},off:function(m,o,l){if(!m){delete this._events}else{if(typeof m==="object"){for(var n in m){this._off(n,m[n],o)}}else{m=a.Util.splitWords(m);for(var k=0,j=m.length;k<j;k++){this._off(m[k],o,l)}}}return this},_on:function(q,p,n){this._events=this._events||{};var k=this._events[q];if(!k){k=[];this._events[q]=k}if(n===this){n=h}var l={fn:p,ctx:n},o=k;for(var m=0,j=o.length;m<j;m++){if(o[m].fn===p&&o[m].ctx===n){return}}o.push(l)},_off:function(q,p,n){var o,m,j;if(!this._events){return}o=this._events[q];if(!o){return}if(!p){for(m=0,j=o.length;m<j;m++){o[m].fn=a.Util.falseFn}delete this._events[q];return}if(n===this){n=h}if(o){for(m=0,j=o.length;m<j;m++){var k=o[m];if(k.ctx!==n){continue}if(k.fn===p){k.fn=a.Util.falseFn;if(this._firingCount){this._events[q]=o=o.slice()}o.splice(m,1);return}}}},fire:function(p,r,k){if(!this.listens(p,k)){return this}var q=a.Util.extend({},r,{type:p,target:this});if(this._events){var o=this._events[p];if(o){this._firingCount=(this._firingCount+1)||1;for(var n=0,j=o.length;n<j;n++){var m=o[n];m.fn.call(m.ctx||this,q)}this._firingCount--}}if(k){this._propagateEvent(q)}return this},listens:function(k,i){var j=this._events&&this._events[k];if(j&&j.length){return true}if(i){for(var l in this._eventParents){if(this._eventParents[l].listens(k,i)){return true}}}return false},once:function(j,m,i){if(typeof j==="object"){for(var l in j){this.once(l,j[l],m)}return this}var k=a.bind(function(){this.off(j,m,i).off(j,k,i)},this);return this.on(j,m,i).on(j,k,i)},addEventParent:function(i){this._eventParents=this._eventParents||{};this._eventParents[a.stamp(i)]=i;return this},removeEventParent:function(i){if(this._eventParents){delete this._eventParents[a.stamp(i)]}return this},_propagateEvent:function(i){for(var j in this._eventParents){this._eventParents[j].fire(i.type,a.extend({layer:i.target},i),true)}}});var e=a.Evented.prototype;e.addEventListener=e.on;e.removeEventListener=e.clearAllEventListeners=e.off;e.addOneTimeEventListener=e.once;e.fireEvent=e.fire;e.hasEventListeners=e.listens;a.Mixin={Events:e};(function(){var l=navigator.userAgent.toLowerCase(),u=b.documentElement,k="ActiveXObject" in f,v=l.indexOf("webkit")!==-1,x=l.indexOf("phantom")!==-1,s=l.search("android [23]")!==-1,q=l.indexOf("chrome")!==-1,m=l.indexOf("gecko")!==-1&&!v&&!f.opera&&!k,t=navigator.platform.indexOf("Win")===0,j=typeof orientation!=="undefined"||l.indexOf("mobile")!==-1,o=!f.PointerEvent&&f.MSPointerEvent,i=f.PointerEvent||o,r=k&&("transition" in u.style),w=("WebKitCSSMatrix" in f)&&("m11" in new f.WebKitCSSMatrix())&&!s,n="MozPerspective" in u.style,y="OTransition" in u.style;var p=!f.L_NO_TOUCH&&(i||"ontouchstart" in f||(f.DocumentTouch&&b instanceof f.DocumentTouch));a.Browser={ie:k,ielt9:k&&!b.addEventListener,edge:"msLaunchUri" in navigator&&!("documentMode" in b),webkit:v,gecko:m,android:l.indexOf("android")!==-1,android23:s,chrome:q,safari:!q&&l.indexOf("safari")!==-1,win:t,ie3d:r,webkit3d:w,gecko3d:n,opera12:y,any3d:!f.L_DISABLE_3D&&(r||w||n)&&!y&&!x,mobile:j,mobileWebkit:j&&v,mobileWebkit3d:j&&w,mobileOpera:j&&f.opera,mobileGecko:j&&m,touch:!!p,msPointer:!!o,pointer:!!i,retina:(f.devicePixelRatio||(f.screen.deviceXDPI/f.screen.logicalXDPI))>1}}());a.Point=function(i,k,j){this.x=(j?Math.round(i):i);this.y=(j?Math.round(k):k)};a.Point.prototype={clone:function(){return new a.Point(this.x,this.y)},add:function(i){return this.clone()._add(a.point(i))},_add:function(i){this.x+=i.x;this.y+=i.y;return this},subtract:function(i){return this.clone()._subtract(a.point(i))},_subtract:function(i){this.x-=i.x;this.y-=i.y;return this},divideBy:function(i){return this.clone()._divideBy(i)},_divideBy:function(i){this.x/=i;this.y/=i;return this},multiplyBy:function(i){return this.clone()._multiplyBy(i)},_multiplyBy:function(i){this.x*=i;this.y*=i;return this},scaleBy:function(i){return new a.Point(this.x*i.x,this.y*i.y)},unscaleBy:function(i){return new a.Point(this.x/i.x,this.y/i.y)},round:function(){return this.clone()._round()},_round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this},floor:function(){return this.clone()._floor()},_floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this},ceil:function(){return this.clone()._ceil()},_ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this},distanceTo:function(j){j=a.point(j);var i=j.x-this.x,k=j.y-this.y;return Math.sqrt(i*i+k*k)},equals:function(i){i=a.point(i);return i.x===this.x&&i.y===this.y},contains:function(i){i=a.point(i);return Math.abs(i.x)<=Math.abs(this.x)&&Math.abs(i.y)<=Math.abs(this.y)},toString:function(){return"Point("+a.Util.formatNum(this.x)+", "+a.Util.formatNum(this.y)+")"}};a.point=function(i,k,j){if(i instanceof a.Point){return i}if(a.Util.isArray(i)){return new a.Point(i[0],i[1])}if(i===h||i===null){return i}if(typeof i==="object"&&"x" in i&&"y" in i){return new a.Point(i.x,i.y)}return new a.Point(i,k,j)};a.Bounds=function(l,k){if(!l){return}var n=k?[l,k]:l;for(var m=0,j=n.length;m<j;m++){this.extend(n[m])}};a.Bounds.prototype={extend:function(i){i=a.point(i);if(!this.min&&!this.max){this.min=i.clone();this.max=i.clone()}else{this.min.x=Math.min(i.x,this.min.x);this.max.x=Math.max(i.x,this.max.x);this.min.y=Math.min(i.y,this.min.y);this.max.y=Math.max(i.y,this.max.y)}return this},getCenter:function(i){return new a.Point((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,i)},getBottomLeft:function(){return new a.Point(this.min.x,this.max.y)},getTopRight:function(){return new a.Point(this.max.x,this.min.y)},getSize:function(){return this.max.subtract(this.min)},contains:function(k){var j,i;if(typeof k[0]==="number"||k instanceof a.Point){k=a.point(k)}else{k=a.bounds(k)}if(k instanceof a.Bounds){j=k.min;i=k.max}else{j=i=k}return(j.x>=this.min.x)&&(i.x<=this.max.x)&&(j.y>=this.min.y)&&(i.y<=this.max.y)},intersects:function(n){n=a.bounds(n);var l=this.min,i=this.max,m=n.min,j=n.max,k=(j.x>=l.x)&&(m.x<=i.x),o=(j.y>=l.y)&&(m.y<=i.y);return k&&o},overlaps:function(o){o=a.bounds(o);var l=this.min,i=this.max,n=o.min,j=o.max,m=(j.x>l.x)&&(n.x<i.x),k=(j.y>l.y)&&(n.y<i.y);return m&&k},isValid:function(){return !!(this.min&&this.max)}};a.bounds=function(j,i){if(!j||j instanceof a.Bounds){return j}return new a.Bounds(j,i)};a.Transformation=function(j,i,l,k){this._a=j;this._b=i;this._c=l;this._d=k};a.Transformation.prototype={transform:function(i,j){return this._transform(i.clone(),j)},_transform:function(i,j){j=j||1;i.x=j*(this._a*i.x+this._b);i.y=j*(this._c*i.y+this._d);return i},untransform:function(i,j){j=j||1;return new a.Point((i.x/j-this._b)/this._a,(i.y/j-this._d)/this._c)}};a.DomUtil={get:function(i){return typeof i==="string"?b.getElementById(i):i},getStyle:function(k,j){var l=k.style[j]||(k.currentStyle&&k.currentStyle[j]);if((!l||l==="auto")&&b.defaultView){var i=b.defaultView.getComputedStyle(k,null);l=i?i[j]:null}return l==="auto"?null:l},create:function(j,l,i){var k=b.createElement(j);k.className=l||"";if(i){i.appendChild(k)}return k},remove:function(j){var i=j.parentNode;if(i){i.removeChild(j)}},empty:function(i){while(i.firstChild){i.removeChild(i.firstChild)}},toFront:function(i){i.parentNode.appendChild(i)},toBack:function(j){var i=j.parentNode;i.insertBefore(j,i.firstChild)},hasClass:function(k,i){if(k.classList!==h){return k.classList.contains(i)}var j=a.DomUtil.getClass(k);return j.length>0&&new RegExp("(^|\\s)"+i+"(\\s|$)").test(j)},addClass:function(o,k){if(o.classList!==h){var m=a.Util.splitWords(k);for(var l=0,j=m.length;l<j;l++){o.classList.add(m[l])}}else{if(!a.DomUtil.hasClass(o,k)){var n=a.DomUtil.getClass(o);a.DomUtil.setClass(o,(n?n+" ":"")+k)}}},removeClass:function(j,i){if(j.classList!==h){j.classList.remove(i)}else{a.DomUtil.setClass(j,a.Util.trim((" "+a.DomUtil.getClass(j)+" ").replace(" "+i+" "," ")))}},setClass:function(j,i){if(j.className.baseVal===h){j.className=i}else{j.className.baseVal=i}},getClass:function(i){return i.className.baseVal===h?i.className:i.className.baseVal},setOpacity:function(i,j){if("opacity" in i.style){i.style.opacity=j}else{if("filter" in i.style){a.DomUtil._setOpacityIE(i,j)}}},_setOpacityIE:function(k,l){var j=false,i="DXImageTransform.Microsoft.Alpha";try{j=k.filters.item(i)}catch(m){if(l===1){return}}l=Math.round(l*100);if(j){j.Enabled=(l!==100);j.Opacity=l}else{k.style.filter+=" progid:"+i+"(opacity="+l+")"}},testProp:function(l){var k=b.documentElement.style;for(var j=0;j<l.length;j++){if(l[j] in k){return l[j]}}return false},setTransform:function(i,k,j){var l=k||new a.Point(0,0);i.style[a.DomUtil.TRANSFORM]=(a.Browser.ie3d?"translate("+l.x+"px,"+l.y+"px)":"translate3d("+l.x+"px,"+l.y+"px,0)")+(j?" scale("+j+")":"")},setPosition:function(j,i){j._leaflet_pos=i;if(a.Browser.any3d){a.DomUtil.setTransform(j,i)}else{j.style.left=i.x+"px";j.style.top=i.y+"px"}},getPosition:function(i){return i._leaflet_pos||new a.Point(0,0)}};(function(){a.DomUtil.TRANSFORM=a.DomUtil.testProp(["transform","WebkitTransform","OTransform","MozTransform","msTransform"]);var j=a.DomUtil.TRANSITION=a.DomUtil.testProp(["webkitTransition","transition","OTransition","MozTransition","msTransition"]);a.DomUtil.TRANSITION_END=j==="webkitTransition"||j==="OTransition"?j+"End":"transitionend";if("onselectstart" in b){a.DomUtil.disableTextSelection=function(){a.DomEvent.on(f,"selectstart",a.DomEvent.preventDefault)};a.DomUtil.enableTextSelection=function(){a.DomEvent.off(f,"selectstart",a.DomEvent.preventDefault)}}else{var i=a.DomUtil.testProp(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);a.DomUtil.disableTextSelection=function(){if(i){var k=b.documentElement.style;this._userSelect=k[i];k[i]="none"}};a.DomUtil.enableTextSelection=function(){if(i){b.documentElement.style[i]=this._userSelect;delete this._userSelect}}}a.DomUtil.disableImageDrag=function(){a.DomEvent.on(f,"dragstart",a.DomEvent.preventDefault)};a.DomUtil.enableImageDrag=function(){a.DomEvent.off(f,"dragstart",a.DomEvent.preventDefault)};a.DomUtil.preventOutline=function(k){while(k.tabIndex===-1){k=k.parentNode}if(!k||!k.style){return}a.DomUtil.restoreOutline();this._outlineElement=k;this._outlineStyle=k.style.outline;k.style.outline="none";a.DomEvent.on(f,"keydown",a.DomUtil.restoreOutline,this)};a.DomUtil.restoreOutline=function(){if(!this._outlineElement){return}this._outlineElement.style.outline=this._outlineStyle;delete this._outlineElement;delete this._outlineStyle;a.DomEvent.off(f,"keydown",a.DomUtil.restoreOutline,this)}})();a.LatLng=function(k,i,j){if(isNaN(k)||isNaN(i)){throw new Error("Invalid LatLng object: ("+k+", "+i+")")}this.lat=+k;this.lng=+i;if(j!==h){this.alt=+j}};a.LatLng.prototype={equals:function(k,i){if(!k){return false}k=a.latLng(k);var j=Math.max(Math.abs(this.lat-k.lat),Math.abs(this.lng-k.lng));return j<=(i===h?1e-9:i)},toString:function(i){return"LatLng("+a.Util.formatNum(this.lat,i)+", "+a.Util.formatNum(this.lng,i)+")"},distanceTo:function(i){return a.CRS.Earth.distance(this,a.latLng(i))},wrap:function(){return a.CRS.Earth.wrapLatLng(this)},toBounds:function(j){var k=180*j/40075017,i=k/Math.cos((Math.PI/180)*this.lat);return a.latLngBounds([this.lat-k,this.lng-i],[this.lat+k,this.lng+i])},clone:function(){return new a.LatLng(this.lat,this.lng,this.alt)}};a.latLng=function(j,i,k){if(j instanceof a.LatLng){return j}if(a.Util.isArray(j)&&typeof j[0]!=="object"){if(j.length===3){return new a.LatLng(j[0],j[1],j[2])}if(j.length===2){return new a.LatLng(j[0],j[1])}return null}if(j===h||j===null){return j}if(typeof j==="object"&&"lat" in j){return new a.LatLng(j.lat,"lng" in j?j.lng:j.lon,j.alt)}if(i===h){return null}return new a.LatLng(j,i,k)};a.LatLngBounds=function(m,l){if(!m){return}var k=l?[m,l]:m;for(var n=0,j=k.length;n<j;n++){this.extend(k[n])}};a.LatLngBounds.prototype={extend:function(m){var i=this._southWest,l=this._northEast,j,k;if(m instanceof a.LatLng){j=m;k=m}else{if(m instanceof a.LatLngBounds){j=m._southWest;k=m._northEast;if(!j||!k){return this}}else{return m?this.extend(a.latLng(m)||a.latLngBounds(m)):this}}if(!i&&!l){this._southWest=new a.LatLng(j.lat,j.lng);this._northEast=new a.LatLng(k.lat,k.lng)}else{i.lat=Math.min(j.lat,i.lat);i.lng=Math.min(j.lng,i.lng);l.lat=Math.max(k.lat,l.lat);l.lng=Math.max(k.lng,l.lng)}return this},pad:function(l){var j=this._southWest,m=this._northEast,i=Math.abs(j.lat-m.lat)*l,k=Math.abs(j.lng-m.lng)*l;return new a.LatLngBounds(new a.LatLng(j.lat-i,j.lng-k),new a.LatLng(m.lat+i,m.lng+k))},getCenter:function(){return new a.LatLng((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 a.LatLng(this.getNorth(),this.getWest())},getSouthEast:function(){return new a.LatLng(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(m){if(typeof m[0]==="number"||m instanceof a.LatLng||"lat" in m){m=a.latLng(m)}else{m=a.latLngBounds(m)}var i=this._southWest,l=this._northEast,j,k;if(m instanceof a.LatLngBounds){j=m.getSouthWest();k=m.getNorthEast()}else{j=k=m}return(j.lat>=i.lat)&&(k.lat<=l.lat)&&(j.lng>=i.lng)&&(k.lng<=l.lng)},intersects:function(l){l=a.latLngBounds(l);var i=this._southWest,o=this._northEast,j=l.getSouthWest(),n=l.getNorthEast(),m=(n.lat>=i.lat)&&(j.lat<=o.lat),k=(n.lng>=i.lng)&&(j.lng<=o.lng);return m&&k},overlaps:function(m){m=a.latLngBounds(m);var i=this._southWest,o=this._northEast,j=m.getSouthWest(),n=m.getNorthEast(),l=(n.lat>i.lat)&&(j.lat<o.lat),k=(n.lng>i.lng)&&(j.lng<o.lng);return l&&k},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(i){if(!i){return false}i=a.latLngBounds(i);return this._southWest.equals(i.getSouthWest())&&this._northEast.equals(i.getNorthEast())},isValid:function(){return !!(this._southWest&&this._northEast)}};a.latLngBounds=function(j,i){if(j instanceof a.LatLngBounds){return j}return new a.LatLngBounds(j,i)};a.Projection={};a.Projection.LonLat={project:function(i){return new a.Point(i.lng,i.lat)},unproject:function(i){return new a.LatLng(i.y,i.x)},bounds:a.bounds([-180,-90],[180,90])};a.Projection.SphericalMercator={R:6378137,MAX_LATITUDE:85.0511287798,project:function(m){var l=Math.PI/180,i=this.MAX_LATITUDE,k=Math.max(Math.min(i,m.lat),-i),j=Math.sin(k*l);return new a.Point(this.R*m.lng*l,this.R*Math.log((1+j)/(1-j))/2)},unproject:function(i){var j=180/Math.PI;return new a.LatLng((2*Math.atan(Math.exp(i.y/this.R))-(Math.PI/2))*j,i.x*j/this.R)},bounds:(function(){var i=6378137*Math.PI;return a.bounds([-i,-i],[i,i])})()};a.CRS={latLngToPoint:function(l,j){var i=this.projection.project(l),k=this.scale(j);return this.transformation._transform(i,k)},pointToLatLng:function(i,k){var l=this.scale(k),j=this.transformation.untransform(i,l);return this.projection.unproject(j)},project:function(i){return this.projection.project(i)},unproject:function(i){return this.projection.unproject(i)},scale:function(i){return 256*Math.pow(2,i)},zoom:function(i){return Math.log(i/256)/Math.LN2},getProjectedBounds:function(m){if(this.infinite){return null}var j=this.projection.bounds,l=this.scale(m),k=this.transformation.transform(j.min,l),i=this.transformation.transform(j.max,l);return a.bounds(k,i)},infinite:false,wrapLatLng:function(l){var i=this.wrapLng?a.Util.wrapNum(l.lng,this.wrapLng,true):l.lng,k=this.wrapLat?a.Util.wrapNum(l.lat,this.wrapLat,true):l.lat,j=l.alt;return a.latLng(k,i,j)},wrapLatLngBounds:function(i){var j=i.getCenter(),k=this.wrapLatLng(j),n=j.lat-k.lat,o=j.lng-k.lng;if(n===0&&o===0){return i}var p=i.getSouthWest(),l=i.getNorthEast(),q=a.latLng({lat:p.lat-n,lng:p.lng-o}),m=a.latLng({lat:l.lat-n,lng:l.lng-o});return new a.LatLngBounds(q,m)}};a.CRS.Simple=a.extend({},a.CRS,{projection:a.Projection.LonLat,transformation:new a.Transformation(1,0,-1,0),scale:function(i){return Math.pow(2,i)},zoom:function(i){return Math.log(i)/Math.LN2},distance:function(i,l){var k=l.lng-i.lng,j=l.lat-i.lat;return Math.sqrt(k*k+j*j)},infinite:true});a.CRS.Earth=a.extend({},a.CRS,{wrapLng:[-180,180],R:6371000,distance:function(j,n){var i=Math.PI/180,m=j.lat*i,l=n.lat*i,k=Math.sin(m)*Math.sin(l)+Math.cos(m)*Math.cos(l)*Math.cos((n.lng-j.lng)*i);return this.R*Math.acos(Math.min(k,1))}});a.CRS.EPSG3857=a.extend({},a.CRS.Earth,{code:"EPSG:3857",projection:a.Projection.SphericalMercator,transformation:(function(){var i=0.5/(Math.PI*a.Projection.SphericalMercator.R);return new a.Transformation(i,0.5,-i,0.5)}())});a.CRS.EPSG900913=a.extend({},a.CRS.EPSG3857,{code:"EPSG:900913"});a.CRS.EPSG4326=a.extend({},a.CRS.Earth,{code:"EPSG:4326",projection:a.Projection.LonLat,transformation:new a.Transformation(1/180,1,-1/180,0.5)});a.Map=a.Evented.extend({options:{crs:a.CRS.EPSG3857,center:h,zoom:h,minZoom:h,maxZoom:h,layers:[],maxBounds:h,renderer:h,zoomAnimation:true,zoomAnimationThreshold:4,fadeAnimation:true,markerZoomAnimation:true,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:true},initialize:function(j,i){i=a.setOptions(this,i);this._initContainer(j);this._initLayout();this._onResize=a.bind(this._onResize,this);this._initEvents();if(i.maxBounds){this.setMaxBounds(i.maxBounds)}if(i.zoom!==h){this._zoom=this._limitZoom(i.zoom)}if(i.center&&i.zoom!==h){this.setView(a.latLng(i.center),i.zoom,{reset:true})}this._handlers=[];this._layers={};this._zoomBoundLayers={};this._sizeChanged=true;this.callInitHooks();this._zoomAnimated=a.DomUtil.TRANSITION&&a.Browser.any3d&&!a.Browser.mobileOpera&&this.options.zoomAnimation;if(this._zoomAnimated){this._createAnimProxy();a.DomEvent.on(this._proxy,a.DomUtil.TRANSITION_END,this._catchTransitionEnd,this)}this._addLayers(this.options.layers)},setView:function(i,l,j){l=l===h?this._zoom:this._limitZoom(l);i=this._limitCenter(a.latLng(i),l,this.options.maxBounds);j=j||{};this._stop();if(this._loaded&&!j.reset&&j!==true){if(j.animate!==h){j.zoom=a.extend({animate:j.animate},j.zoom);j.pan=a.extend({animate:j.animate,duration:j.duration},j.pan)}var k=(this._zoom!==l)?this._tryAnimatedZoom&&this._tryAnimatedZoom(i,l,j.zoom):this._tryAnimatedPan(i,j.pan);if(k){clearTimeout(this._sizeTimer);return this}}this._resetView(i,l);return this},setZoom:function(j,i){if(!this._loaded){this._zoom=j;return this}return this.setView(this.getCenter(),j,{zoom:i})},zoomIn:function(j,i){j=j||(a.Browser.any3d?this.options.zoomDelta:1);return this.setZoom(this._zoom+j,i)},zoomOut:function(j,i){j=j||(a.Browser.any3d?this.options.zoomDelta:1);return this.setZoom(this._zoom-j,i)},setZoomAround:function(p,n,m){var o=this.getZoomScale(n),l=this.getSize().divideBy(2),k=p instanceof a.Point?p:this.latLngToContainerPoint(p),i=k.subtract(l).multiplyBy(1-1/o),j=this.containerPointToLatLng(l.add(i));return this.setView(j,n,{zoom:m})},_getBoundsCenterZoom:function(j,q){q=q||{};j=j.getBounds?j.getBounds():a.latLngBounds(j);var l=a.point(q.paddingTopLeft||q.padding||[0,0]),k=a.point(q.paddingBottomRight||q.padding||[0,0]),p=this.getBoundsZoom(j,false,l.add(k));p=(typeof q.maxZoom==="number")?Math.min(q.maxZoom,p):p;var n=k.subtract(l).divideBy(2),o=this.project(j.getSouthWest(),p),m=this.project(j.getNorthEast(),p),i=this.unproject(o.add(m).divideBy(2).add(n),p);return{center:i,zoom:p}},fitBounds:function(j,i){j=a.latLngBounds(j);if(!j.isValid()){throw new Error("Bounds are not valid.")}var k=this._getBoundsCenterZoom(j,i);return this.setView(k.center,k.zoom,i)},fitWorld:function(i){return this.fitBounds([[-90,-180],[90,180]],i)},panTo:function(i,j){return this.setView(i,this._zoom,{pan:j})},panBy:function(k,i){k=a.point(k).round();i=i||{};if(!k.x&&!k.y){return this.fire("moveend")}if(i.animate!==true&&!this.getSize().contains(k)){this._resetView(this.unproject(this.project(this.getCenter()).add(k)),this.getZoom());return this}if(!this._panAnim){this._panAnim=new a.PosAnimation();this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)}if(!i.noMoveStart){this.fire("movestart")}if(i.animate!==false){a.DomUtil.addClass(this._mapPane,"leaflet-pan-anim");var j=this._getMapPanePos().subtract(k).round();this._panAnim.run(this._mapPane,j,i.duration||0.25,i.easeLinearity)}else{this._rawPanBy(k);this.fire("move").fire("moveend")}return this},flyTo:function(F,C,n){n=n||{};if(n.animate===false||!a.Browser.any3d){return this.setView(F,C,n)}this._stop();var G=this.project(this.getCenter()),l=this.project(F),E=this.getSize(),s=this._zoom;F=a.latLng(F);C=C===h?s:C;var z=Math.max(E.x,E.y),y=z*this.getZoomScale(s,C),I=(l.distanceTo(G))||1,k=1.42,q=k*k;function D(K){var J=K?-1:1,w=K?y:z,N=y*y-z*z+J*q*q*I*I,u=2*w*q*I,r=N/u,M=Math.sqrt(r*r+1)-r;var L=M<1e-9?-18:Math.log(M);return L}function v(r){return(Math.exp(r)-Math.exp(-r))/2}function j(r){return(Math.exp(r)+Math.exp(-r))/2}function m(r){return v(r)/j(r)}var H=D(0);function x(r){return z*(j(H)/j(H+k*r))}function A(r){return z*(j(H)*m(H+k*r)-v(H))/q}function t(r){return 1-Math.pow(1-r,1.5)}var p=Date.now(),o=(D(1)-H)/k,i=n.duration?1000*n.duration:1000*o*0.8;function B(){var r=(Date.now()-p)/i,u=t(r)*o;if(r<=1){this._flyToFrame=a.Util.requestAnimFrame(B,this);this._move(this.unproject(G.add(l.subtract(G).multiplyBy(A(u)/I)),s),this.getScaleZoom(z/x(u),s),{flyTo:true})}else{this._move(F,C)._moveEnd(true)}}this._moveStart(true);B.call(this);return this},flyToBounds:function(j,i){var k=this._getBoundsCenterZoom(j,i);return this.flyTo(k.center,k.zoom,i)},setMaxBounds:function(i){i=a.latLngBounds(i);if(!i.isValid()){this.options.maxBounds=null;return this.off("moveend",this._panInsideMaxBounds)}else{if(this.options.maxBounds){this.off("moveend",this._panInsideMaxBounds)}}this.options.maxBounds=i;if(this._loaded){this._panInsideMaxBounds()}return this.on("moveend",this._panInsideMaxBounds)},setMinZoom:function(i){this.options.minZoom=i;if(this._loaded&&this.getZoom()<this.options.minZoom){return this.setZoom(i)}return this},setMaxZoom:function(i){this.options.maxZoom=i;if(this._loaded&&(this.getZoom()>this.options.maxZoom)){return this.setZoom(i)}return this},panInsideBounds:function(l,k){this._enforcingBounds=true;var i=this.getCenter(),j=this._limitCenter(i,this._zoom,a.latLngBounds(l));if(!i.equals(j)){this.panTo(j,k)}this._enforcingBounds=false;return this},invalidateSize:function(k){if(!this._loaded){return this}k=a.extend({animate:false,pan:true},k===true?{animate:true}:k);var l=this.getSize();this._sizeChanged=true;this._lastCenter=null;var j=this.getSize(),n=l.divideBy(2).round(),i=j.divideBy(2).round(),m=n.subtract(i);if(!m.x&&!m.y){return this}if(k.animate&&k.pan){this.panBy(m)}else{if(k.pan){this._rawPanBy(m)}this.fire("move");if(k.debounceMoveend){clearTimeout(this._sizeTimer);this._sizeTimer=setTimeout(a.bind(this.fire,this,"moveend"),200)}else{this.fire("moveend")}}return this.fire("resize",{oldSize:l,newSize:j})},stop:function(){this.setZoom(this._limitZoom(this._zoom));if(!this.options.zoomSnap){this.fire("viewreset")}return this._stop()},locate:function(i){i=this._locateOptions=a.extend({timeout:10000,watch:false},i);if(!("geolocation" in navigator)){this._handleGeolocationError({code:0,message:"Geolocation not supported."});return this}var k=a.bind(this._handleGeolocationResponse,this),j=a.bind(this._handleGeolocationError,this);if(i.watch){this._locationWatchId=navigator.geolocation.watchPosition(k,j,i)}else{navigator.geolocation.getCurrentPosition(k,j,i)}return this},stopLocate:function(){if(navigator.geolocation&&navigator.geolocation.clearWatch){navigator.geolocation.clearWatch(this._locationWatchId)}if(this._locateOptions){this._locateOptions.setView=false}return this},_handleGeolocationError:function(i){var k=i.code,j=i.message||(k===1?"permission denied":(k===2?"position unavailable":"timeout"));if(this._locateOptions.setView&&!this._loaded){this.fitWorld()}this.fire("locationerror",{code:k,message:"Geolocation error: "+j+"."})},_handleGeolocationResponse:function(o){var n=o.coords.latitude,p=o.coords.longitude,k=new a.LatLng(n,p),j=k.toBounds(o.coords.accuracy),r=this._locateOptions;if(r.setView){var q=this.getBoundsZoom(j);this.setView(k,r.maxZoom?Math.min(q,r.maxZoom):q)}var m={latlng:k,bounds:j,timestamp:o.timestamp};for(var l in o.coords){if(typeof o.coords[l]==="number"){m[l]=o.coords[l]}}this.fire("locationfound",m)},addHandler:function(i,k){if(!k){return this}var j=this[i]=new k(this);this._handlers.push(j);if(this.options[i]){j.enable()}return this},remove:function(){this._initEvents(true);if(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(k){this._container._leaflet_id=h;this._containerId=h}a.DomUtil.remove(this._mapPane);if(this._clearControlPos){this._clearControlPos()}this._clearHandlers();if(this._loaded){this.fire("unload")}for(var j in this._layers){this._layers[j].remove()}return this},createPane:function(j,i){var k="leaflet-pane"+(j?" leaflet-"+j.replace("Pane","")+"-pane":""),l=a.DomUtil.create("div",k,i||this._mapPane);if(j){this._panes[j]=l}return l},getCenter:function(){this._checkIfLoaded();if(this._lastCenter&&!this._moved()){return this._lastCenter}return this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var j=this.getPixelBounds(),i=this.unproject(j.getBottomLeft()),k=this.unproject(j.getTopRight());return new a.LatLngBounds(i,k)},getMinZoom:function(){return this.options.minZoom===h?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===h?(this._layersMaxZoom===h?Infinity:this._layersMaxZoom):this.options.maxZoom},getBoundsZoom:function(i,l,q){i=a.latLngBounds(i);q=a.point(q||[0,0]);var r=this.getZoom()||0,m=this.getMinZoom(),p=this.getMaxZoom(),n=i.getNorthWest(),o=i.getSouthEast(),t=this.getSize().subtract(q),s=a.bounds(this.project(o,r),this.project(n,r)).getSize(),k=a.Browser.any3d?this.options.zoomSnap:1;var j=Math.min(t.x/s.x,t.y/s.y);r=this.getScaleZoom(j,r);if(k){r=Math.round(r/(k/100))*(k/100);r=l?Math.ceil(r/k)*k:Math.floor(r/k)*k}return Math.max(m,Math.min(p,r))},getSize:function(){if(!this._size||this._sizeChanged){this._size=new a.Point(this._container.clientWidth||0,this._container.clientHeight||0);this._sizeChanged=false}return this._size.clone()},getPixelBounds:function(i,k){var j=this._getTopLeftPoint(i,k);return new a.Bounds(j,j.add(this.getSize()))},getPixelOrigin:function(){this._checkIfLoaded();return this._pixelOrigin},getPixelWorldBounds:function(i){return this.options.crs.getProjectedBounds(i===h?this.getZoom():i)},getPane:function(i){return typeof i==="string"?this._panes[i]:i},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(j,k){var i=this.options.crs;k=k===h?this._zoom:k;return i.scale(j)/i.scale(k)},getScaleZoom:function(l,k){var i=this.options.crs;k=k===h?this._zoom:k;var j=i.zoom(l*i.scale(k));return isNaN(j)?Infinity:j},project:function(j,i){i=i===h?this._zoom:i;return this.options.crs.latLngToPoint(a.latLng(j),i)},unproject:function(i,j){j=j===h?this._zoom:j;return this.options.crs.pointToLatLng(a.point(i),j)},layerPointToLatLng:function(i){var j=a.point(i).add(this.getPixelOrigin());return this.unproject(j)},latLngToLayerPoint:function(j){var i=this.project(a.latLng(j))._round();return i._subtract(this.getPixelOrigin())},wrapLatLng:function(i){return this.options.crs.wrapLatLng(a.latLng(i))},wrapLatLngBounds:function(i){return this.options.crs.wrapLatLngBounds(a.latLngBounds(i))},distance:function(i,j){return this.options.crs.distance(a.latLng(i),a.latLng(j))},containerPointToLayerPoint:function(i){return a.point(i).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(i){return a.point(i).add(this._getMapPanePos())},containerPointToLatLng:function(i){var j=this.containerPointToLayerPoint(a.point(i));return this.layerPointToLatLng(j)},latLngToContainerPoint:function(i){return this.layerPointToContainerPoint(this.latLngToLayerPoint(a.latLng(i)))},mouseEventToContainerPoint:function(i){return a.DomEvent.getMousePosition(i,this._container)},mouseEventToLayerPoint:function(i){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(i))},mouseEventToLatLng:function(i){return this.layerPointToLatLng(this.mouseEventToLayerPoint(i))},_initContainer:function(j){var i=this._container=a.DomUtil.get(j);if(!i){throw new Error("Map container not found.")}else{if(i._leaflet_id){throw new Error("Map container is already initialized.")}}a.DomEvent.addListener(i,"scroll",this._onScroll,this);this._containerId=a.Util.stamp(i)},_initLayout:function(){var j=this._container;this._fadeAnimated=this.options.fadeAnimation&&a.Browser.any3d;a.DomUtil.addClass(j,"leaflet-container"+(a.Browser.touch?" leaflet-touch":"")+(a.Browser.retina?" leaflet-retina":"")+(a.Browser.ielt9?" leaflet-oldie":"")+(a.Browser.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var i=a.DomUtil.getStyle(j,"position");if(i!=="absolute"&&i!=="relative"&&i!=="fixed"){j.style.position="relative"}this._initPanes();if(this._initControlPos){this._initControlPos()}},_initPanes:function(){var i=this._panes={};this._paneRenderers={};this._mapPane=this.createPane("mapPane",this._container);a.DomUtil.setPosition(this._mapPane,new a.Point(0,0));this.createPane("tilePane");this.createPane("shadowPane");this.createPane("overlayPane");this.createPane("markerPane");this.createPane("tooltipPane");this.createPane("popupPane");if(!this.options.markerZoomAnimation){a.DomUtil.addClass(i.markerPane,"leaflet-zoom-hide");a.DomUtil.addClass(i.shadowPane,"leaflet-zoom-hide")}},_resetView:function(j,k){a.DomUtil.setPosition(this._mapPane,new a.Point(0,0));var l=!this._loaded;this._loaded=true;k=this._limitZoom(k);this.fire("viewprereset");var i=this._zoom!==k;this._moveStart(i)._move(j,k)._moveEnd(i);this.fire("viewreset");if(l){this.fire("load")}},_moveStart:function(i){if(i){this.fire("zoomstart")}return this.fire("movestart")},_move:function(j,k,l){if(k===h){k=this._zoom}var i=this._zoom!==k;this._zoom=k;this._lastCenter=j;this._pixelOrigin=this._getNewPixelOrigin(j);if(i||(l&&l.pinch)){this.fire("zoom",l)}return this.fire("move",l)},_moveEnd:function(i){if(i){this.fire("zoomend")}return this.fire("moveend")},_stop:function(){a.Util.cancelAnimFrame(this._flyToFrame);if(this._panAnim){this._panAnim.stop()}return this},_rawPanBy:function(i){a.DomUtil.setPosition(this._mapPane,this._getMapPanePos().subtract(i))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){if(!this._enforcingBounds){this.panInsideBounds(this.options.maxBounds)}},_checkIfLoaded:function(){if(!this._loaded){throw new Error("Set map center and zoom first.")}},_initEvents:function(j){if(!a.DomEvent){return}this._targets={};this._targets[a.stamp(this._container)]=this;var i=j?"off":"on";a.DomEvent[i](this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this);if(this.options.trackResize){a.DomEvent[i](f,"resize",this._onResize,this)}if(a.Browser.any3d&&this.options.transform3DLimit){this[i]("moveend",this._onMoveEnd)}},_onResize:function(){a.Util.cancelAnimFrame(this._resizeRequest);this._resizeRequest=a.Util.requestAnimFrame(function(){this.invalidateSize({debounceMoveend:true})},this)},_onScroll:function(){this._container.scrollTop=0;this._container.scrollLeft=0},_onMoveEnd:function(){var i=this._getMapPanePos();if(Math.max(Math.abs(i.x),Math.abs(i.y))>=this.options.transform3DLimit){this._resetView(this.getCenter(),this.getZoom())}},_findEventTargets:function(n,j){var i=[],m,l=j==="mouseout"||j==="mouseover",o=n.target||n.srcElement,k=false;while(o){m=this._targets[a.stamp(o)];if(m&&(j==="click"||j==="preclick")&&!n._simulated&&this._draggableMoved(m)){k=true;break}if(m&&m.listens(j,true)){if(l&&!a.DomEvent._isExternalTarget(o,n)){break}i.push(m);if(l){break}}if(o===this._container){break}o=o.parentNode}if(!i.length&&!k&&!l&&a.DomEvent._isExternalTarget(o,n)){i=[this]}return i},_handleDOMEvent:function(j){if(!this._loaded||a.DomEvent._skipped(j)){return}var i=j.type==="keypress"&&j.keyCode===13?"click":j.type;if(i==="mousedown"){a.DomUtil.preventOutline(j.target||j.srcElement)}this._fireDOMEvent(j,i)},_fireDOMEvent:function(p,m,j){if(p.type==="click"){var k=a.Util.extend({},p);k.type="preclick";this._fireDOMEvent(k,k.type,j)}if(p._stopped){return}j=(j||[]).concat(this._findEventTargets(p,m));if(!j.length){return}var o=j[0];if(m==="contextmenu"&&o.listens(m,true)){a.DomEvent.preventDefault(p)}var n={originalEvent:p};if(p.type!=="keypress"){var q=o instanceof a.Marker;n.containerPoint=q?this.latLngToContainerPoint(o.getLatLng()):this.mouseEventToContainerPoint(p);n.layerPoint=this.containerPointToLayerPoint(n.containerPoint);n.latlng=q?o.getLatLng():this.layerPointToLatLng(n.layerPoint)}for(var l=0;l<j.length;l++){j[l].fire(m,n,true);if(n.originalEvent._stopped||(j[l].options.nonBubblingEvents&&a.Util.indexOf(j[l].options.nonBubblingEvents,m)!==-1)){return}}},_draggableMoved:function(i){i=i.dragging&&i.dragging.enabled()?i:this;return(i.dragging&&i.dragging.moved())||(this.boxZoom&&this.boxZoom.moved())},_clearHandlers:function(){for(var k=0,j=this._handlers.length;k<j;k++){this._handlers[k].disable()}},whenReady:function(j,i){if(this._loaded){j.call(i||this,{target:this})}else{this.on("load",j,i)}return this},_getMapPanePos:function(){return a.DomUtil.getPosition(this._mapPane)||new a.Point(0,0)},_moved:function(){var i=this._getMapPanePos();return i&&!i.equals([0,0])},_getTopLeftPoint:function(i,k){var j=i&&k!==h?this._getNewPixelOrigin(i,k):this.getPixelOrigin();return j.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(i,k){var j=this.getSize()._divideBy(2);return this.project(i,k)._subtract(j)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,k,i){var j=this._getNewPixelOrigin(i,k);return this.project(l,k)._subtract(j)},_latLngBoundsToNewLayerBounds:function(l,k,i){var j=this._getNewPixelOrigin(i,k);return a.bounds([this.project(l.getSouthWest(),k)._subtract(j),this.project(l.getNorthWest(),k)._subtract(j),this.project(l.getSouthEast(),k)._subtract(j),this.project(l.getNorthEast(),k)._subtract(j)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(i){return this.latLngToLayerPoint(i).subtract(this._getCenterLayerPoint())},_limitCenter:function(i,l,k){if(!k){return i}var o=this.project(i,l),j=this.getSize().divideBy(2),m=new a.Bounds(o.subtract(j),o.add(j)),n=this._getBoundsOffset(m,k,l);if(n.round().equals([0,0])){return i}return this.unproject(o.add(n),l)},_limitOffset:function(l,i){if(!i){return l}var k=this.getPixelBounds(),j=new a.Bounds(k.min.add(l),k.max.add(l));return l.add(this._getBoundsOffset(j,i))},_getBoundsOffset:function(n,k,o){var j=a.bounds(this.project(k.getNorthEast(),o),this.project(k.getSouthWest(),o)),p=j.min.subtract(n.min),m=j.max.subtract(n.max),l=this._rebound(p.x,-m.x),i=this._rebound(p.y,-m.y);return new a.Point(l,i)},_rebound:function(j,i){return j+i>0?Math.round(j-i)/2:Math.max(0,Math.ceil(j))-Math.max(0,Math.floor(i))},_limitZoom:function(l){var k=this.getMinZoom(),j=this.getMaxZoom(),i=a.Browser.any3d?this.options.zoomSnap:1;if(i){l=Math.round(l/i)*i}return Math.max(k,Math.min(j,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){a.DomUtil.removeClass(this._mapPane,"leaflet-pan-anim");this.fire("moveend")},_tryAnimatedPan:function(i,j){var k=this._getCenterOffset(i)._floor();if((j&&j.animate)!==true&&!this.getSize().contains(k)){return false}this.panBy(k,j);return true},_createAnimProxy:function(){var i=this._proxy=a.DomUtil.create("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(i);this.on("zoomanim",function(k){var l=a.DomUtil.TRANSFORM,j=i.style[l];a.DomUtil.setTransform(i,this.project(k.center,k.zoom),this.getZoomScale(k.zoom,1));if(j===i.style[l]&&this._animatingZoom){this._onZoomTransitionEnd()}},this);this.on("load moveend",function(){var k=this.getCenter(),j=this.getZoom();a.DomUtil.setTransform(i,this.project(k,j),this.getZoomScale(j,1))},this)},_catchTransitionEnd:function(i){if(this._animatingZoom&&i.propertyName.indexOf("transform")>=0){this._onZoomTransitionEnd()}},_nothingToAnimate:function(){return !this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(i,k,j){if(this._animatingZoom){return true}j=j||{};if(!this._zoomAnimated||j.animate===false||this._nothingToAnimate()||Math.abs(k-this._zoom)>this.options.zoomAnimationThreshold){return false}var m=this.getZoomScale(k),l=this._getCenterOffset(i)._divideBy(1-1/m);if(j.animate!==true&&!this.getSize().contains(l)){return false}a.Util.requestAnimFrame(function(){this._moveStart(true)._animateZoom(i,k,true)},this);return true},_animateZoom:function(i,l,j,k){if(j){this._animatingZoom=true;this._animateToCenter=i;this._animateToZoom=l;a.DomUtil.addClass(this._mapPane,"leaflet-zoom-anim")}this.fire("zoomanim",{center:i,zoom:l,noUpdate:k});setTimeout(a.bind(this._onZoomTransitionEnd,this),250)},_onZoomTransitionEnd:function(){if(!this._animatingZoom){return}a.DomUtil.removeClass(this._mapPane,"leaflet-zoom-anim");this._animatingZoom=false;this._move(this._animateToCenter,this._animateToZoom);a.Util.requestAnimFrame(function(){this._moveEnd(true)},this)}});a.map=function(j,i){return new a.Map(j,i)};a.Layer=a.Evented.extend({options:{pane:"overlayPane",nonBubblingEvents:[],attribution:null},addTo:function(i){i.addLayer(this);return this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(i){if(i){i.removeLayer(this)}return this},getPane:function(i){return this._map.getPane(i?(this.options[i]||i):this.options.pane)},addInteractiveTarget:function(i){this._map._targets[a.stamp(i)]=this;return this},removeInteractiveTarget:function(i){delete this._map._targets[a.stamp(i)];return this},getAttribution:function(){return this.options.attribution},_layerAdd:function(k){var j=k.target;if(!j.hasLayer(this)){return}this._map=j;this._zoomAnimated=j._zoomAnimated;if(this.getEvents){var i=this.getEvents();j.on(i,this);this.once("remove",function(){j.off(i,this)},this)}this.onAdd(j);if(this.getAttribution&&j.attributionControl){j.attributionControl.addAttribution(this.getAttribution())}this.fire("add");j.fire("layeradd",{layer:this})}});a.Map.include({addLayer:function(i){var j=a.stamp(i);if(this._layers[j]){return this}this._layers[j]=i;i._mapToAdd=this;if(i.beforeAdd){i.beforeAdd(this)}this.whenReady(i._layerAdd,i);return this},removeLayer:function(i){var j=a.stamp(i);if(!this._layers[j]){return this}if(this._loaded){i.onRemove(this)}if(i.getAttribution&&this.attributionControl){this.attributionControl.removeAttribution(i.getAttribution())}delete this._layers[j];if(this._loaded){this.fire("layerremove",{layer:i});i.fire("remove")}i._map=i._mapToAdd=null;return this},hasLayer:function(i){return !!i&&(a.stamp(i) in this._layers)},eachLayer:function(l,k){for(var j in this._layers){l.call(k,this._layers[j])}return this},_addLayers:function(l){l=l?(a.Util.isArray(l)?l:[l]):[];for(var k=0,j=l.length;k<j;k++){this.addLayer(l[k])}},_addZoomLimit:function(i){if(isNaN(i.options.maxZoom)||!isNaN(i.options.minZoom)){this._zoomBoundLayers[a.stamp(i)]=i;this._updateZoomLevels()}},_removeZoomLimit:function(i){var j=a.stamp(i);if(this._zoomBoundLayers[j]){delete this._zoomBoundLayers[j];this._updateZoomLevels()}},_updateZoomLevels:function(){var n=Infinity,j=-Infinity,m=this._getZoomSpan();for(var l in this._zoomBoundLayers){var k=this._zoomBoundLayers[l].options;n=k.minZoom===h?n:Math.min(n,k.minZoom);j=k.maxZoom===h?j:Math.max(j,k.maxZoom)}this._layersMaxZoom=j===-Infinity?h:j;this._layersMinZoom=n===Infinity?h:n;if(m!==this._getZoomSpan()){this.fire("zoomlevelschange")}if(this.options.maxZoom===h&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom){this.setZoom(this._layersMaxZoom)}if(this.options.minZoom===h&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom){this.setZoom(this._layersMinZoom)}}});var g="_leaflet_events";a.DomEvent={on:function(p,m,o,l){if(typeof m==="object"){for(var n in m){this._on(p,n,m[n],o)}}else{m=a.Util.splitWords(m);for(var k=0,j=m.length;k<j;k++){this._on(p,m[k],o,l)}}return this},off:function(p,m,o,l){if(typeof m==="object"){for(var n in m){this._off(p,n,m[n],o)}}else{m=a.Util.splitWords(m);for(var k=0,j=m.length;k<j;k++){this._off(p,m[k],o,l)}}return this},_on:function(n,m,l,j){var o=m+a.stamp(l)+(j?"_"+a.stamp(j):"");if(n[g]&&n[g][o]){return this}var k=function(p){return l.call(j||n,p||f.event)};var i=k;if(a.Browser.pointer&&m.indexOf("touch")===0){this.addPointerListener(n,m,k,o)}else{if(a.Browser.touch&&(m==="dblclick")&&this.addDoubleTapListener&&!(a.Browser.pointer&&a.Browser.chrome)){this.addDoubleTapListener(n,k,o)}else{if("addEventListener" in n){if(m==="mousewheel"){n.addEventListener("onwheel" in n?"wheel":"mousewheel",k,false)}else{if((m==="mouseenter")||(m==="mouseleave")){k=function(p){p=p||f.event;if(a.DomEvent._isExternalTarget(n,p)){i(p)}};n.addEventListener(m==="mouseenter"?"mouseover":"mouseout",k,false)}else{if(m==="click"&&a.Browser.android){k=function(p){return a.DomEvent._filterClick(p,i)}}n.addEventListener(m,k,false)}}}else{if("attachEvent" in n){n.attachEvent("on"+m,k)}}}}n[g]=n[g]||{};n[g][o]=k;return this},_off:function(m,l,k,i){var n=l+a.stamp(k)+(i?"_"+a.stamp(i):""),j=m[g]&&m[g][n];if(!j){return this}if(a.Browser.pointer&&l.indexOf("touch")===0){this.removePointerListener(m,l,n)}else{if(a.Browser.touch&&(l==="dblclick")&&this.removeDoubleTapListener){this.removeDoubleTapListener(m,n)}else{if("removeEventListener" in m){if(l==="mousewheel"){m.removeEventListener("onwheel" in m?"wheel":"mousewheel",j,false)}else{m.removeEventListener(l==="mouseenter"?"mouseover":l==="mouseleave"?"mouseout":l,j,false)}}else{if("detachEvent" in m){m.detachEvent("on"+l,j)}}}}m[g][n]=null;return this},stopPropagation:function(i){if(i.stopPropagation){i.stopPropagation()}else{if(i.originalEvent){i.originalEvent._stopped=true}else{i.cancelBubble=true}}a.DomEvent._skipped(i);return this},disableScrollPropagation:function(i){return a.DomEvent.on(i,"mousewheel",a.DomEvent.stopPropagation)},disableClickPropagation:function(j){var i=a.DomEvent.stopPropagation;a.DomEvent.on(j,a.Draggable.START.join(" "),i);return a.DomEvent.on(j,{click:a.DomEvent._fakeStop,dblclick:i})},preventDefault:function(i){if(i.preventDefault){i.preventDefault()}else{i.returnValue=false}return this},stop:function(i){return a.DomEvent.preventDefault(i).stopPropagation(i)},getMousePosition:function(k,i){if(!i){return new a.Point(k.clientX,k.clientY)}var j=i.getBoundingClientRect();return new a.Point(k.clientX-j.left-i.clientLeft,k.clientY-j.top-i.clientTop)},_wheelPxFactor:(a.Browser.win&&a.Browser.chrome)?2:a.Browser.gecko?f.devicePixelRatio:1,getWheelDelta:function(i){return(a.Browser.edge)?i.wheelDeltaY/2:(i.deltaY&&i.deltaMode===0)?-i.deltaY/a.DomEvent._wheelPxFactor:(i.deltaY&&i.deltaMode===1)?-i.deltaY*20:(i.deltaY&&i.deltaMode===2)?-i.deltaY*60:(i.deltaX||i.deltaZ)?0:i.wheelDelta?(i.wheelDeltaY||i.wheelDelta)/2:(i.detail&&Math.abs(i.detail)<32765)?-i.detail*20:i.detail?i.detail/-32765*60:0},_skipEvents:{},_fakeStop:function(i){a.DomEvent._skipEvents[i.type]=true},_skipped:function(j){var i=this._skipEvents[j.type];this._skipEvents[j.type]=false;return i},_isExternalTarget:function(i,l){var k=l.relatedTarget;if(!k){return true}try{while(k&&(k!==i)){k=k.parentNode}}catch(j){return false}return(k!==i)},_filterClick:function(l,k){var j=(l.timeStamp||(l.originalEvent&&l.originalEvent.timeStamp)),i=a.DomEvent._lastClick&&(j-a.DomEvent._lastClick);if((i&&i>100&&i<500)||(l.target._simulatedClick&&!l._simulated)){a.DomEvent.stop(l);return}a.DomEvent._lastClick=j;k(l)}};a.DomEvent.addListener=a.DomEvent.on;a.DomEvent.removeListener=a.DomEvent.off;a.PosAnimation=a.Evented.extend({run:function(j,i,k,l){this.stop();this._el=j;this._inProgress=true;this._duration=k||0.25;this._easeOutPower=1/Math.max(l||0.5,0.2);this._startPos=a.DomUtil.getPosition(j);this._offset=i.subtract(this._startPos);this._startTime=+new Date();this.fire("start");this._animate()},stop:function(){if(!this._inProgress){return}this._step(true);this._complete()},_animate:function(){this._animId=a.Util.requestAnimFrame(this._animate,this);this._step()},_step:function(j){var i=(+new Date())-this._startTime,k=this._duration*1000;if(i<k){this._runFrame(this._easeOut(i/k),j)}else{this._runFrame(1);this._complete()}},_runFrame:function(j,i){var k=this._startPos.add(this._offset.multiplyBy(j));if(i){k._round()}a.DomUtil.setPosition(this._el,k);this.fire("step")},_complete:function(){a.Util.cancelAnimFrame(this._animId);this._inProgress=false;this.fire("end")},_easeOut:function(i){return 1-Math.pow(1-i,this._easeOutPower)}});a.Projection.Mercator={R:6378137,R_MINOR:6356752.314245179,bounds:a.bounds([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(p){var n=Math.PI/180,l=this.R,o=p.lat*n,j=this.R_MINOR/l,m=Math.sqrt(1-j*j),i=m*Math.sin(o);var k=Math.tan(Math.PI/4-o/2)/Math.pow((1-i)/(1+i),m/2);o=-l*Math.log(Math.max(k,1e-10));return new a.Point(p.lng*n*l,o)},unproject:function(t){var q=180/Math.PI,j=this.R,l=this.R_MINOR/j,o=Math.sqrt(1-l*l),s=Math.exp(-t.y/j),p=Math.PI/2-2*Math.atan(s);for(var m=0,n=0.1,k;m<15&&Math.abs(n)>1e-7;m++){k=o*Math.sin(p);k=Math.pow((1-k)/(1+k),o/2);n=Math.PI/2-2*Math.atan(s*k)-p;p+=n}return new a.LatLng(p*q,t.x*q/j)}};a.CRS.EPSG3395=a.extend({},a.CRS.Earth,{code:"EPSG:3395",projection:a.Projection.Mercator,transformation:(function(){var i=0.5/(Math.PI*a.Projection.Mercator.R);return new a.Transformation(i,0.5,-i,0.5)}())});a.GridLayer=a.Layer.extend({options:{tileSize:256,opacity:1,updateWhenIdle:a.Browser.mobile,updateWhenZooming:true,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:h,noWrap:false,pane:"tilePane",className:"",keepBuffer:2},initialize:function(i){a.setOptions(this,i)},onAdd:function(){this._initContainer();this._levels={};this._tiles={};this._resetView();this._update()},beforeAdd:function(i){i._addZoomLimit(this)},onRemove:function(i){this._removeAllTiles();a.DomUtil.remove(this._container);i._removeZoomLimit(this);this._container=null;this._tileZoom=null},bringToFront:function(){if(this._map){a.DomUtil.toFront(this._container);this._setAutoZIndex(Math.max)}return this},bringToBack:function(){if(this._map){a.DomUtil.toBack(this._container);this._setAutoZIndex(Math.min)}return this},getContainer:function(){return this._container},setOpacity:function(i){this.options.opacity=i;this._updateOpacity();return this},setZIndex:function(i){this.options.zIndex=i;this._updateZIndex();return this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();this._update()}return this},getEvents:function(){var i={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};if(!this.options.updateWhenIdle){if(!this._onMove){this._onMove=a.Util.throttle(this._onMoveEnd,this.options.updateInterval,this)}i.move=this._onMove}if(this._zoomAnimated){i.zoomanim=this._animateZoom}return i},createTile:function(){return b.createElement("div")},getTileSize:function(){var i=this.options.tileSize;return i instanceof a.Point?i:new a.Point(i,i)},_updateZIndex:function(){if(this._container&&this.options.zIndex!==h&&this.options.zIndex!==null){this._container.style.zIndex=this.options.zIndex}},_setAutoZIndex:function(m){var n=this.getPane().children,l=-m(-Infinity,Infinity);for(var k=0,j=n.length,o;k<j;k++){o=n[k].style.zIndex;if(n[k]!==this._container&&o){l=m(l,+o)}}if(isFinite(l)){this.options.zIndex=l+m(-1,1);this._updateZIndex()}},_updateOpacity:function(){if(!this._map){return}if(a.Browser.ielt9){return}a.DomUtil.setOpacity(this._container,this.options.opacity);var i=+new Date(),l=false,n=false;for(var j in this._tiles){var k=this._tiles[j];if(!k.current||!k.loaded){continue}var m=Math.min(1,(i-k.loaded)/200);a.DomUtil.setOpacity(k.el,m);if(m<1){l=true}else{if(k.active){n=true}k.active=true}}if(n&&!this._noPrune){this._pruneTiles()}if(l){a.Util.cancelAnimFrame(this._fadeFrame);this._fadeFrame=a.Util.requestAnimFrame(this._updateOpacity,this)}},_initContainer:function(){if(this._container){return}this._container=a.DomUtil.create("div","leaflet-layer "+(this.options.className||""));this._updateZIndex();if(this.options.opacity<1){this._updateOpacity()}this.getPane().appendChild(this._container)},_updateLevels:function(){var j=this._tileZoom,i=this.options.maxZoom;if(j===h){return h}for(var l in this._levels){if(this._levels[l].el.children.length||l===j){this._levels[l].el.style.zIndex=i-Math.abs(j-l)}else{a.DomUtil.remove(this._levels[l].el);this._removeTilesAtZoom(l);delete this._levels[l]}}var m=this._levels[j],k=this._map;if(!m){m=this._levels[j]={};m.el=a.DomUtil.create("div","leaflet-tile-container leaflet-zoom-animated",this._container);m.el.style.zIndex=i;m.origin=k.project(k.unproject(k.getPixelOrigin()),j).round();m.zoom=j;this._setZoomTransform(m,k.getCenter(),k.getZoom());a.Util.falseFn(m.el.offsetWidth)}this._level=m;return m},_pruneTiles:function(){if(!this._map){return}var i,k;var j=this._map.getZoom();if(j>this.options.maxZoom||j<this.options.minZoom){this._removeAllTiles();return}for(i in this._tiles){k=this._tiles[i];k.retain=k.current}for(i in this._tiles){k=this._tiles[i];if(k.current&&!k.active){var l=k.coords;if(!this._retainParent(l.x,l.y,l.z,l.z-5)){this._retainChildren(l.x,l.y,l.z,l.z+2)}}}for(i in this._tiles){if(!this._tiles[i].retain){this._removeTile(i)}}},_removeTilesAtZoom:function(j){for(var i in this._tiles){if(this._tiles[i].coords.z!==j){continue}this._removeTile(i)}},_removeAllTiles:function(){for(var i in this._tiles){this._removeTile(i)}},_invalidateAll:function(){for(var i in this._levels){a.DomUtil.remove(this._levels[i].el);delete this._levels[i]}this._removeAllTiles();this._tileZoom=null},_retainParent:function(p,n,m,i){var j=Math.floor(p/2),o=Math.floor(n/2),k=m-1,r=new a.Point(+j,+o);r.z=+k;var q=this._tileCoordsToKey(r),l=this._tiles[q];if(l&&l.active){l.retain=true;return true}else{if(l&&l.loaded){l.retain=true}}if(k>i){return this._retainParent(j,o,k,i)}return false},_retainChildren:function(r,o,n,q){for(var l=2*r;l<2*r+2;l++){for(var k=2*o;k<2*o+2;k++){var p=new a.Point(l,k);p.z=n+1;var s=this._tileCoordsToKey(p),m=this._tiles[s];if(m&&m.active){m.retain=true;continue}else{if(m&&m.loaded){m.retain=true}}if(n+1<q){this._retainChildren(l,k,n+1,q)}}}},_resetView:function(j){var i=j&&(j.pinch||j.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),i,i)},_animateZoom:function(i){this._setView(i.center,i.zoom,true,i.noUpdate)},_setView:function(j,l,i,k){var n=Math.round(l);if((this.options.maxZoom!==h&&n>this.options.maxZoom)||(this.options.minZoom!==h&&n<this.options.minZoom)){n=h}var m=this.options.updateWhenZooming&&(n!==this._tileZoom);if(!k||m){this._tileZoom=n;if(this._abortLoading){this._abortLoading()}this._updateLevels();this._resetGrid();if(n!==h){this._update(j)}if(!i){this._pruneTiles()}this._noPrune=!!i}this._setZoomTransforms(j,l)},_setZoomTransforms:function(j,l){for(var k in this._levels){this._setZoomTransform(this._levels[k],j,l)}},_setZoomTransform:function(m,i,j){var l=this._map.getZoomScale(j,m.zoom),k=m.origin.multiplyBy(l).subtract(this._map._getNewPixelOrigin(i,j)).round();if(a.Browser.any3d){a.DomUtil.setTransform(m.el,k,l)}else{a.DomUtil.setPosition(m.el,k)}},_resetGrid:function(){var l=this._map,i=l.options.crs,k=this._tileSize=this.getTileSize(),m=this._tileZoom;var j=this._map.getPixelWorldBounds(this._tileZoom);if(j){this._globalTileRange=this._pxBoundsToTileRange(j)}this._wrapX=i.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,i.wrapLng[0]],m).x/k.x),Math.ceil(l.project([0,i.wrapLng[1]],m).x/k.y)];this._wrapY=i.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([i.wrapLat[0],0],m).y/k.x),Math.ceil(l.project([i.wrapLat[1],0],m).y/k.y)]},_onMoveEnd:function(){if(!this._map||this._map._animatingZoom){return}this._update()},_getTiledPixelBounds:function(i){var m=this._map,l=m._animatingZoom?Math.max(m._animateToZoom,m.getZoom()):m.getZoom(),n=m.getZoomScale(l,this._tileZoom),k=m.project(i,this._tileZoom).floor(),j=m.getSize().divideBy(n*2);return new a.Bounds(k.subtract(j),k.add(j))},_update:function(k){var l=this._map;if(!l){return}var z=l.getZoom();if(k===h){k=l.getCenter()}if(this._tileZoom===h){return}var q=this._getTiledPixelBounds(k),m=this._pxBoundsToTileRange(q),w=m.getCenter(),s=[],n=this.options.keepBuffer,r=new a.Bounds(m.getBottomLeft().subtract([n,-n]),m.getTopRight().add([n,-n]));for(var y in this._tiles){var v=this._tiles[y].coords;if(v.z!==this._tileZoom||!r.contains(a.point(v.x,v.y))){this._tiles[y].current=false}}if(Math.abs(z-this._tileZoom)>1){this._setView(k,z);return}for(var o=m.min.y;o<=m.max.y;o++){for(var p=m.min.x;p<=m.max.x;p++){var x=new a.Point(p,o);x.z=this._tileZoom;if(!this._isValidTile(x)){continue}var u=this._tiles[this._tileCoordsToKey(x)];if(u){u.current=true}else{s.push(x)}}}s.sort(function(j,i){return j.distanceTo(w)-i.distanceTo(w)});if(s.length!==0){if(!this._loading){this._loading=true;this.fire("loading")}var t=b.createDocumentFragment();for(p=0;p<s.length;p++){this._addTile(s[p],t)}this._level.el.appendChild(t)}},_isValidTile:function(k){var i=this._map.options.crs;if(!i.infinite){var j=this._globalTileRange;if((!i.wrapLng&&(k.x<j.min.x||k.x>j.max.x))||(!i.wrapLat&&(k.y<j.min.y||k.y>j.max.y))){return false}}if(!this.options.bounds){return true}var l=this._tileCoordsToBounds(k);return a.latLngBounds(this.options.bounds).overlaps(l)},_keyToBounds:function(i){return this._tileCoordsToBounds(this._keyToTileCoords(i))},_tileCoordsToBounds:function(o){var p=this._map,n=this.getTileSize(),k=o.scaleBy(n),i=k.add(n),j=p.unproject(k,o.z),m=p.unproject(i,o.z),l=new a.LatLngBounds(j,m);if(!this.options.noWrap){p.wrapLatLngBounds(l)}return l},_tileCoordsToKey:function(i){return i.x+":"+i.y+":"+i.z},_keyToTileCoords:function(j){var i=j.split(":"),l=new a.Point(+i[0],+i[1]);l.z=+i[2];return l},_removeTile:function(i){var j=this._tiles[i];if(!j){return}a.DomUtil.remove(j.el);delete this._tiles[i];this.fire("tileunload",{tile:j.el,coords:this._keyToTileCoords(i)})},_initTile:function(i){a.DomUtil.addClass(i,"leaflet-tile");var j=this.getTileSize();i.style.width=j.x+"px";i.style.height=j.y+"px";i.onselectstart=a.Util.falseFn;i.onmousemove=a.Util.falseFn;if(a.Browser.ielt9&&this.options.opacity<1){a.DomUtil.setOpacity(i,this.options.opacity)}if(a.Browser.android&&!a.Browser.android23){i.style.WebkitBackfaceVisibility="hidden"}},_addTile:function(m,i){var k=this._getTilePos(m),j=this._tileCoordsToKey(m);var l=this.createTile(this._wrapCoords(m),a.bind(this._tileReady,this,m));this._initTile(l);if(this.createTile.length<2){a.Util.requestAnimFrame(a.bind(this._tileReady,this,m,null,l))}a.DomUtil.setPosition(l,k);this._tiles[j]={el:l,coords:m,current:true};i.appendChild(l);this.fire("tileloadstart",{tile:l,coords:m})},_tileReady:function(l,k,j){if(!this._map){return}if(k){this.fire("tileerror",{error:k,tile:j,coords:l})}var i=this._tileCoordsToKey(l);j=this._tiles[i];if(!j){return}j.loaded=+new Date();if(this._map._fadeAnimated){a.DomUtil.setOpacity(j.el,0);a.Util.cancelAnimFrame(this._fadeFrame);this._fadeFrame=a.Util.requestAnimFrame(this._updateOpacity,this)}else{j.active=true;this._pruneTiles()}if(!k){a.DomUtil.addClass(j.el,"leaflet-tile-loaded");this.fire("tileload",{tile:j.el,coords:l})}if(this._noTilesToLoad()){this._loading=false;this.fire("load");if(a.Browser.ielt9||!this._map._fadeAnimated){a.Util.requestAnimFrame(this._pruneTiles,this)}else{setTimeout(a.bind(this._pruneTiles,this),250)}}},_getTilePos:function(i){return i.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(i){var j=new a.Point(this._wrapX?a.Util.wrapNum(i.x,this._wrapX):i.x,this._wrapY?a.Util.wrapNum(i.y,this._wrapY):i.y);j.z=i.z;return j},_pxBoundsToTileRange:function(i){var j=this.getTileSize();return new a.Bounds(i.min.unscaleBy(j).floor(),i.max.unscaleBy(j).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var i in this._tiles){if(!this._tiles[i].loaded){return false}}return true}});a.gridLayer=function(i){return new a.GridLayer(i)};a.TileLayer=a.GridLayer.extend({options:{minZoom:0,maxZoom:18,maxNativeZoom:null,minNativeZoom:null,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:false,zoomReverse:false,detectRetina:false,crossOrigin:false},initialize:function(j,i){this._url=j;i=a.setOptions(this,i);if(i.detectRetina&&a.Browser.retina&&i.maxZoom>0){i.tileSize=Math.floor(i.tileSize/2);if(!i.zoomReverse){i.zoomOffset++;i.maxZoom--}else{i.zoomOffset--;i.minZoom++}i.minZoom=Math.max(0,i.minZoom)}if(typeof i.subdomains==="string"){i.subdomains=i.subdomains.split("")}if(!a.Browser.android){this.on("tileunload",this._onTileRemove)}},setUrl:function(i,j){this._url=i;if(!j){this.redraw()}return this},createTile:function(k,i){var j=b.createElement("img");a.DomEvent.on(j,"load",a.bind(this._tileOnLoad,this,i,j));a.DomEvent.on(j,"error",a.bind(this._tileOnError,this,i,j));if(this.options.crossOrigin){j.crossOrigin=""}j.alt="";j.setAttribute("role","presentation");j.src=this.getTileUrl(k);return j},getTileUrl:function(j){var i={r:a.Browser.retina?"@2x":"",s:this._getSubdomain(j),x:j.x,y:j.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var k=this._globalTileRange.max.y-j.y;if(this.options.tms){i.y=k}i["-y"]=k}return a.Util.template(this._url,a.extend(i,this.options))},_tileOnLoad:function(i,j){if(a.Browser.ielt9){setTimeout(a.bind(i,this,null,j),0)}else{i(null,j)}},_tileOnError:function(j,k,l){var i=this.options.errorTileUrl;if(i&&k.src!==i){k.src=i}j(l,k)},getTileSize:function(){var k=this._map,j=a.GridLayer.prototype.getTileSize.call(this),i=this._tileZoom+this.options.zoomOffset,m=this.options.minNativeZoom,l=this.options.maxNativeZoom;if(m!==null&&i<m){return j.divideBy(k.getZoomScale(m,i)).round()}if(l!==null&&i>l){return j.divideBy(k.getZoomScale(l,i)).round()}return j},_onTileRemove:function(i){i.tile.onload=null},_getZoomForUrl:function(){var k=this._tileZoom,j=this.options.maxZoom,l=this.options.zoomReverse,i=this.options.zoomOffset,n=this.options.minNativeZoom,m=this.options.maxNativeZoom;if(l){k=j-k}k+=i;if(n!==null&&k<n){return n}if(m!==null&&k>m){return m}return k},_getSubdomain:function(j){var i=Math.abs(j.x+j.y)%this.options.subdomains.length;return this.options.subdomains[i]},_abortLoading:function(){var j,k;for(j in this._tiles){if(this._tiles[j].coords.z!==this._tileZoom){k=this._tiles[j].el;k.onload=a.Util.falseFn;k.onerror=a.Util.falseFn;if(!k.complete){k.src=a.Util.emptyImageUrl;a.DomUtil.remove(k)}}}}});a.tileLayer=function(j,i){return new a.TileLayer(j,i)};a.TileLayer.WMS=a.TileLayer.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:false,version:"1.1.1"},options:{crs:null,uppercase:false},initialize:function(l,k){this._url=l;var j=a.extend({},this.defaultWmsParams);for(var m in k){if(!(m in this.options)){j[m]=k[m]}}k=a.setOptions(this,k);j.width=j.height=k.tileSize*(k.detectRetina&&a.Browser.retina?2:1);this.wmsParams=j},onAdd:function(i){this._crs=this.options.crs||i.options.crs;this._wmsVersion=parseFloat(this.wmsParams.version);var j=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[j]=this._crs.code;a.TileLayer.prototype.onAdd.call(this,i)},getTileUrl:function(l){var m=this._tileCoordsToBounds(l),i=this._crs.project(m.getNorthWest()),k=this._crs.project(m.getSouthEast()),n=(this._wmsVersion>=1.3&&this._crs===a.CRS.EPSG4326?[k.y,i.x,i.y,k.x]:[i.x,k.y,k.x,i.y]).join(","),j=a.TileLayer.prototype.getTileUrl.call(this,l);return j+a.Util.getParamString(this.wmsParams,j,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+n},setParams:function(j,i){a.extend(this.wmsParams,j);if(!i){this.redraw()}return this}});a.tileLayer.wms=function(j,i){return new a.TileLayer.WMS(j,i)};a.ImageOverlay=a.Layer.extend({options:{opacity:1,alt:"",interactive:false,crossOrigin:false},initialize:function(j,k,i){this._url=j;this._bounds=a.latLngBounds(k);a.setOptions(this,i)},onAdd:function(){if(!this._image){this._initImage();if(this.options.opacity<1){this._updateOpacity()}}if(this.options.interactive){a.DomUtil.addClass(this._image,"leaflet-interactive");this.addInteractiveTarget(this._image)}this.getPane().appendChild(this._image);this._reset()},onRemove:function(){a.DomUtil.remove(this._image);if(this.options.interactive){this.removeInteractiveTarget(this._image)}},setOpacity:function(i){this.options.opacity=i;if(this._image){this._updateOpacity()}return this},setStyle:function(i){if(i.opacity){this.setOpacity(i.opacity)}return this},bringToFront:function(){if(this._map){a.DomUtil.toFront(this._image)}return this},bringToBack:function(){if(this._map){a.DomUtil.toBack(this._image)}return this},setUrl:function(i){this._url=i;if(this._image){this._image.src=i}return this},setBounds:function(i){this._bounds=i;if(this._map){this._reset()}return this},getEvents:function(){var i={zoom:this._reset,viewreset:this._reset};if(this._zoomAnimated){i.zoomanim=this._animateZoom}return i},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var i=this._image=a.DomUtil.create("img","leaflet-image-layer "+(this._zoomAnimated?"leaflet-zoom-animated":""));i.onselectstart=a.Util.falseFn;i.onmousemove=a.Util.falseFn;i.onload=a.bind(this.fire,this,"load");if(this.options.crossOrigin){i.crossOrigin=""}i.src=this._url;i.alt=this.options.alt},_animateZoom:function(i){var k=this._map.getZoomScale(i.zoom),j=this._map._latLngBoundsToNewLayerBounds(this._bounds,i.zoom,i.center).min;a.DomUtil.setTransform(this._image,j,k)},_reset:function(){var k=this._image,j=new a.Bounds(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=j.getSize();a.DomUtil.setPosition(k,j.min);k.style.width=i.x+"px";k.style.height=i.y+"px"},_updateOpacity:function(){a.DomUtil.setOpacity(this._image,this.options.opacity)}});a.imageOverlay=function(j,k,i){return new a.ImageOverlay(j,k,i)};a.Icon=a.Class.extend({initialize:function(i){a.setOptions(this,i)},createIcon:function(i){return this._createIcon("icon",i)},createShadow:function(i){return this._createIcon("shadow",i)},_createIcon:function(j,k){var l=this._getIconUrl(j);if(!l){if(j==="icon"){throw new Error("iconUrl not set in Icon options (see the docs).")}return null}var i=this._createImg(l,k&&k.tagName==="IMG"?k:null);this._setIconStyles(i,j);return i},_setIconStyles:function(j,m){var l=this.options;var i=l[m+"Size"];if(typeof i==="number"){i=[i,i]}var n=a.point(i),k=a.point(m==="shadow"&&l.shadowAnchor||l.iconAnchor||n&&n.divideBy(2,true));j.className="leaflet-marker-"+m+" "+(l.className||"");if(k){j.style.marginLeft=(-k.x)+"px";j.style.marginTop=(-k.y)+"px"}if(n){j.style.width=n.x+"px";j.style.height=n.y+"px"}},_createImg:function(j,i){i=i||b.createElement("img");i.src=j;return i},_getIconUrl:function(i){return a.Browser.retina&&this.options[i+"RetinaUrl"]||this.options[i+"Url"]}});a.icon=function(i){return new a.Icon(i)};a.Icon.Default=a.Icon.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(i){if(!a.Icon.Default.imagePath){a.Icon.Default.imagePath=this._detectIconPath()}return(this.options.imagePath||a.Icon.Default.imagePath)+a.Icon.prototype._getIconUrl.call(this,i)},_detectIconPath:function(){var i=a.DomUtil.create("div","leaflet-default-icon-path",b.body);var j=a.DomUtil.getStyle(i,"background-image")||a.DomUtil.getStyle(i,"backgroundImage");b.body.removeChild(i);return j.indexOf("url")===0?j.replace(/^url\([\"\']?/,"").replace(/marker-icon\.png[\"\']?\)$/,""):""}});a.Marker=a.Layer.extend({options:{icon:new a.Icon.Default(),interactive:true,draggable:false,keyboard:true,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:false,riseOffset:250,pane:"markerPane",nonBubblingEvents:["click","dblclick","mouseover","mouseout","contextmenu"]},initialize:function(j,i){a.setOptions(this,i);this._latlng=a.latLng(j)},onAdd:function(i){this._zoomAnimated=this._zoomAnimated&&i.options.markerZoomAnimation;if(this._zoomAnimated){i.on("zoomanim",this._animateZoom,this)}this._initIcon();this.update()},onRemove:function(i){if(this.dragging&&this.dragging.enabled()){this.options.draggable=true;this.dragging.removeHooks()}if(this._zoomAnimated){i.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(j){var i=this._latlng;this._latlng=a.latLng(j);this.update();return this.fire("move",{oldLatLng:i,latlng:this._latlng})},setZIndexOffset:function(i){this.options.zIndexOffset=i;return this.update()},setIcon:function(i){this.options.icon=i;if(this._map){this._initIcon();this.update()}if(this._popup){this.bindPopup(this._popup,this._popup.options)}return this},getElement:function(){return this._icon},update:function(){if(this._icon){var i=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(i)}return this},_initIcon:function(){var j=this.options,l="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");var k=j.icon.createIcon(this._icon),m=false;if(k!==this._icon){if(this._icon){this._removeIcon()}m=true;if(j.title){k.title=j.title}if(j.alt){k.alt=j.alt}}a.DomUtil.addClass(k,l);if(j.keyboard){k.tabIndex="0"}this._icon=k;if(j.riseOnHover){this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex})}var i=j.icon.createShadow(this._shadow),n=false;if(i!==this._shadow){this._removeShadow();n=true}if(i){a.DomUtil.addClass(i,l);i.alt=""}this._shadow=i;if(j.opacity<1){this._updateOpacity()}if(m){this.getPane().appendChild(this._icon)}this._initInteraction();if(i&&n){this.getPane("shadowPane").appendChild(this._shadow)}},_removeIcon:function(){if(this.options.riseOnHover){this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex})}a.DomUtil.remove(this._icon);this.removeInteractiveTarget(this._icon);this._icon=null},_removeShadow:function(){if(this._shadow){a.DomUtil.remove(this._shadow)}this._shadow=null},_setPos:function(i){a.DomUtil.setPosition(this._icon,i);if(this._shadow){a.DomUtil.setPosition(this._shadow,i)}this._zIndex=i.y+this.options.zIndexOffset;this._resetZIndex()},_updateZIndex:function(i){this._icon.style.zIndex=this._zIndex+i},_animateZoom:function(i){var j=this._map._latLngToNewLayerPoint(this._latlng,i.zoom,i.center).round();this._setPos(j)},_initInteraction:function(){if(!this.options.interactive){return}a.DomUtil.addClass(this._icon,"leaflet-interactive");this.addInteractiveTarget(this._icon);if(a.Handler.MarkerDrag){var i=this.options.draggable;if(this.dragging){i=this.dragging.enabled();this.dragging.disable()}this.dragging=new a.Handler.MarkerDrag(this);if(i){this.dragging.enable()}}},setOpacity:function(i){this.options.opacity=i;if(this._map){this._updateOpacity()}return this},_updateOpacity:function(){var i=this.options.opacity;a.DomUtil.setOpacity(this._icon,i);if(this._shadow){a.DomUtil.setOpacity(this._shadow,i)}},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor||[0,0]},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor||[0,0]}});a.marker=function(j,i){return new a.Marker(j,i)};a.DivIcon=a.Icon.extend({options:{iconSize:[12,12],html:false,bgPos:null,className:"leaflet-div-icon"},createIcon:function(j){var l=(j&&j.tagName==="DIV")?j:b.createElement("div"),i=this.options;l.innerHTML=i.html!==false?i.html:"";if(i.bgPos){var k=a.point(i.bgPos);l.style.backgroundPosition=(-k.x)+"px "+(-k.y)+"px"}this._setIconStyles(l,"icon");return l},createShadow:function(){return null}});a.divIcon=function(i){return new a.DivIcon(i)};a.DivOverlay=a.Layer.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(i,j){a.setOptions(this,i);this._source=j},onAdd:function(i){this._zoomAnimated=i._zoomAnimated;if(!this._container){this._initLayout()}if(i._fadeAnimated){a.DomUtil.setOpacity(this._container,0)}clearTimeout(this._removeTimeout);this.getPane().appendChild(this._container);this.update();if(i._fadeAnimated){a.DomUtil.setOpacity(this._container,1)}this.bringToFront()},onRemove:function(i){if(i._fadeAnimated){a.DomUtil.setOpacity(this._container,0);this._removeTimeout=setTimeout(a.bind(a.DomUtil.remove,a.DomUtil,this._container),200)}else{a.DomUtil.remove(this._container)}},getLatLng:function(){return this._latlng},setLatLng:function(i){this._latlng=a.latLng(i);if(this._map){this._updatePosition();this._adjustPan()}return this},getContent:function(){return this._content},setContent:function(i){this._content=i;this.update();return this},getElement:function(){return this._container},update:function(){if(!this._map){return}this._container.style.visibility="hidden";this._updateContent();this._updateLayout();this._updatePosition();this._container.style.visibility="";this._adjustPan()},getEvents:function(){var i={zoom:this._updatePosition,viewreset:this._updatePosition};if(this._zoomAnimated){i.zoomanim=this._animateZoom}return i},isOpen:function(){return !!this._map&&this._map.hasLayer(this)},bringToFront:function(){if(this._map){a.DomUtil.toFront(this._container)}return this},bringToBack:function(){if(this._map){a.DomUtil.toBack(this._container)}return this},_updateContent:function(){if(!this._content){return}var j=this._contentNode;var i=(typeof this._content==="function")?this._content(this._source||this):this._content;if(typeof i==="string"){j.innerHTML=i}else{while(j.hasChildNodes()){j.removeChild(j.firstChild)}j.appendChild(i)}this.fire("contentupdate")},_updatePosition:function(){if(!this._map){return}var m=this._map.latLngToLayerPoint(this._latlng),l=a.point(this.options.offset),j=this._getAnchor();if(this._zoomAnimated){a.DomUtil.setPosition(this._container,m.add(j))}else{l=l.add(m).add(j)}var i=this._containerBottom=-l.y,k=this._containerLeft=-Math.round(this._containerWidth/2)+l.x;this._container.style.bottom=i+"px";this._container.style.left=k+"px"},_getAnchor:function(){return[0,0]}});a.Popup=a.DivOverlay.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:true,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:false,closeButton:true,autoClose:true,className:""},openOn:function(i){i.openPopup(this);return this},onAdd:function(i){a.DivOverlay.prototype.onAdd.call(this,i);i.fire("popupopen",{popup:this});if(this._source){this._source.fire("popupopen",{popup:this},true);if(!(this._source instanceof a.Path)){this._source.on("preclick",a.DomEvent.stopPropagation)}}},onRemove:function(i){a.DivOverlay.prototype.onRemove.call(this,i);i.fire("popupclose",{popup:this});if(this._source){this._source.fire("popupclose",{popup:this},true);if(!(this._source instanceof a.Path)){this._source.off("preclick",a.DomEvent.stopPropagation)}}},getEvents:function(){var i=a.DivOverlay.prototype.getEvents.call(this);if("closeOnClick" in this.options?this.options.closeOnClick:this._map.options.closePopupOnClick){i.preclick=this._close}if(this.options.keepInView){i.moveend=this._adjustPan}return i},_close:function(){if(this._map){this._map.closePopup(this)}},_initLayout:function(){var k="leaflet-popup",i=this._container=a.DomUtil.create("div",k+" "+(this.options.className||"")+" leaflet-zoom-animated");if(this.options.closeButton){var j=this._closeButton=a.DomUtil.create("a",k+"-close-button",i);j.href="#close";j.innerHTML="&#215;";a.DomEvent.on(j,"click",this._onCloseButtonClick,this)}var l=this._wrapper=a.DomUtil.create("div",k+"-content-wrapper",i);this._contentNode=a.DomUtil.create("div",k+"-content",l);a.DomEvent.disableClickPropagation(l).disableScrollPropagation(this._contentNode).on(l,"contextmenu",a.DomEvent.stopPropagation);this._tipContainer=a.DomUtil.create("div",k+"-tip-container",i);this._tip=a.DomUtil.create("div",k+"-tip",this._tipContainer)},_updateLayout:function(){var j=this._contentNode,l=j.style;l.width="";l.whiteSpace="nowrap";var k=j.offsetWidth;k=Math.min(k,this.options.maxWidth);k=Math.max(k,this.options.minWidth);l.width=(k+1)+"px";l.whiteSpace="";l.height="";var i=j.offsetHeight,m=this.options.maxHeight,n="leaflet-popup-scrolled";if(m&&i>m){l.height=m+"px";a.DomUtil.addClass(j,n)}else{a.DomUtil.removeClass(j,n)}this._containerWidth=this._container.offsetWidth},_animateZoom:function(j){var k=this._map._latLngToNewLayerPoint(this._latlng,j.zoom,j.center),i=this._getAnchor();a.DomUtil.setPosition(this._container,k.add(i))},_adjustPan:function(){if(!this.options.autoPan||(this._map._panAnim&&this._map._panAnim._inProgress)){return}var j=this._map,m=parseInt(a.DomUtil.getStyle(this._container,"marginBottom"),10)||0,t=this._container.offsetHeight+m,p=this._containerWidth,n=new a.Point(this._containerLeft,-t-this._containerBottom);n._add(a.DomUtil.getPosition(this._container));var l=j.layerPointToContainerPoint(n),o=a.point(this.options.autoPanPadding),k=a.point(this.options.autoPanPaddingTopLeft||o),i=a.point(this.options.autoPanPaddingBottomRight||o),s=j.getSize(),r=0,q=0;if(l.x+p+i.x>s.x){r=l.x+p-s.x+i.x}if(l.x-r-k.x<0){r=l.x-k.x}if(l.y+t+i.y>s.y){q=l.y+t-s.y+i.y}if(l.y-q-k.y<0){q=l.y-k.y}if(r||q){j.fire("autopanstart").panBy([r,q])}},_onCloseButtonClick:function(i){this._close();a.DomEvent.stop(i)},_getAnchor:function(){return a.point(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});a.popup=function(i,j){return new a.Popup(i,j)};a.Map.mergeOptions({closePopupOnClick:true});a.Map.include({openPopup:function(i,k,j){if(!(i instanceof a.Popup)){i=new a.Popup(j).setContent(i)}if(k){i.setLatLng(k)}if(this.hasLayer(i)){return this}if(this._popup&&this._popup.options.autoClose){this.closePopup()}this._popup=i;return this.addLayer(i)},closePopup:function(i){if(!i||i===this._popup){i=this._popup;this._popup=null}if(i){this.removeLayer(i)}return this}});a.Layer.include({bindPopup:function(j,i){if(j instanceof a.Popup){a.setOptions(j,i);this._popup=j;j._source=this}else{if(!this._popup||i){this._popup=new a.Popup(i,this)}this._popup.setContent(j)}if(!this._popupHandlersAdded){this.on({click:this._openPopup,remove:this.closePopup,move:this._movePopup});this._popupHandlersAdded=true}return this},unbindPopup:function(){if(this._popup){this.off({click:this._openPopup,remove:this.closePopup,move:this._movePopup});this._popupHandlersAdded=false;this._popup=null}return this},openPopup:function(i,k){if(!(i instanceof a.Layer)){k=i;i=this}if(i instanceof a.FeatureGroup){for(var j in this._layers){i=this._layers[j];break}}if(!k){k=i.getCenter?i.getCenter():i.getLatLng()}if(this._popup&&this._map){this._popup._source=i;this._popup.update();this._map.openPopup(this._popup,k)}return this},closePopup:function(){if(this._popup){this._popup._close()}return this},togglePopup:function(i){if(this._popup){if(this._popup._map){this.closePopup()}else{this.openPopup(i)}}return this},isPopupOpen:function(){return(this._popup?this._popup.isOpen():false)},setPopupContent:function(i){if(this._popup){this._popup.setContent(i)}return this},getPopup:function(){return this._popup},_openPopup:function(j){var i=j.layer||j.target;if(!this._popup){return}if(!this._map){return}a.DomEvent.stop(j);if(i instanceof a.Path){this.openPopup(j.layer||j.target,j.latlng);return}if(this._map.hasLayer(this._popup)&&this._popup._source===i){this.closePopup()}else{this.openPopup(i,j.latlng)}},_movePopup:function(i){this._popup.setLatLng(i.latlng)}});a.Tooltip=a.DivOverlay.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:false,sticky:false,interactive:false,opacity:0.9},onAdd:function(i){a.DivOverlay.prototype.onAdd.call(this,i);this.setOpacity(this.options.opacity);i.fire("tooltipopen",{tooltip:this});if(this._source){this._source.fire("tooltipopen",{tooltip:this},true)}},onRemove:function(i){a.DivOverlay.prototype.onRemove.call(this,i);i.fire("tooltipclose",{tooltip:this});if(this._source){this._source.fire("tooltipclose",{tooltip:this},true)}},getEvents:function(){var i=a.DivOverlay.prototype.getEvents.call(this);if(a.Browser.touch&&!this.options.permanent){i.preclick=this._close}return i},_close:function(){if(this._map){this._map.closeTooltip(this)}},_initLayout:function(){var j="leaflet-tooltip",i=j+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=a.DomUtil.create("div",i)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(p){var i=this._map,j=this._container,o=i.latLngToContainerPoint(i.getCenter()),k=i.layerPointToContainerPoint(p),q=this.options.direction,n=j.offsetWidth,r=j.offsetHeight,l=a.point(this.options.offset),m=this._getAnchor();if(q==="top"){p=p.add(a.point(-n/2+l.x,-r+l.y+m.y,true))}else{if(q==="bottom"){p=p.subtract(a.point(n/2-l.x,-l.y,true))}else{if(q==="center"){p=p.subtract(a.point(n/2+l.x,r/2-m.y+l.y,true))}else{if(q==="right"||q==="auto"&&k.x<o.x){q="right";p=p.add(a.point(l.x+m.x,m.y-r/2+l.y,true))}else{q="left";p=p.subtract(a.point(n+m.x-l.x,r/2-m.y-l.y,true))}}}}a.DomUtil.removeClass(j,"leaflet-tooltip-right");a.DomUtil.removeClass(j,"leaflet-tooltip-left");a.DomUtil.removeClass(j,"leaflet-tooltip-top");a.DomUtil.removeClass(j,"leaflet-tooltip-bottom");a.DomUtil.addClass(j,"leaflet-tooltip-"+q);a.DomUtil.setPosition(j,p)},_updatePosition:function(){var i=this._map.latLngToLayerPoint(this._latlng);this._setPosition(i)},setOpacity:function(i){this.options.opacity=i;if(this._container){a.DomUtil.setOpacity(this._container,i)}},_animateZoom:function(i){var j=this._map._latLngToNewLayerPoint(this._latlng,i.zoom,i.center);this._setPosition(j)},_getAnchor:function(){return a.point(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});a.tooltip=function(i,j){return new a.Tooltip(i,j)};a.Map.include({openTooltip:function(j,k,i){if(!(j instanceof a.Tooltip)){j=new a.Tooltip(i).setContent(j)}if(k){j.setLatLng(k)}if(this.hasLayer(j)){return this}return this.addLayer(j)},closeTooltip:function(i){if(i){this.removeLayer(i)}return this}});a.Layer.include({bindTooltip:function(j,i){if(j instanceof a.Tooltip){a.setOptions(j,i);this._tooltip=j;j._source=this}else{if(!this._tooltip||i){this._tooltip=a.tooltip(i,this)}this._tooltip.setContent(j)}this._initTooltipInteractions();if(this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)){this.openTooltip()}return this},unbindTooltip:function(){if(this._tooltip){this._initTooltipInteractions(true);this.closeTooltip();this._tooltip=null}return this},_initTooltipInteractions:function(j){if(!j&&this._tooltipHandlersAdded){return}var i=j?"off":"on",k={remove:this.closeTooltip,move:this._moveTooltip};if(!this._tooltip.options.permanent){k.mouseover=this._openTooltip;k.mouseout=this.closeTooltip;if(this._tooltip.options.sticky){k.mousemove=this._moveTooltip}if(a.Browser.touch){k.click=this._openTooltip}}else{k.add=this._openTooltip}this[i](k);this._tooltipHandlersAdded=!j},openTooltip:function(i,k){if(!(i instanceof a.Layer)){k=i;i=this}if(i instanceof a.FeatureGroup){for(var j in this._layers){i=this._layers[j];break}}if(!k){k=i.getCenter?i.getCenter():i.getLatLng()}if(this._tooltip&&this._map){this._tooltip._source=i;this._tooltip.update();this._map.openTooltip(this._tooltip,k);if(this._tooltip.options.interactive&&this._tooltip._container){a.DomUtil.addClass(this._tooltip._container,"leaflet-clickable");this.addInteractiveTarget(this._tooltip._container)}}return this},closeTooltip:function(){if(this._tooltip){this._tooltip._close();if(this._tooltip.options.interactive&&this._tooltip._container){a.DomUtil.removeClass(this._tooltip._container,"leaflet-clickable");this.removeInteractiveTarget(this._tooltip._container)}}return this},toggleTooltip:function(i){if(this._tooltip){if(this._tooltip._map){this.closeTooltip()}else{this.openTooltip(i)}}return this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(i){if(this._tooltip){this._tooltip.setContent(i)}return this},getTooltip:function(){return this._tooltip},_openTooltip:function(j){var i=j.layer||j.target;if(!this._tooltip||!this._map){return}this.openTooltip(i,this._tooltip.options.sticky?j.latlng:h)},_moveTooltip:function(k){var l=k.latlng,j,i;if(this._tooltip.options.sticky&&k.originalEvent){j=this._map.mouseEventToContainerPoint(k.originalEvent);i=this._map.containerPointToLayerPoint(j);l=this._map.layerPointToLatLng(i)}this._tooltip.setLatLng(l)}});a.LayerGroup=a.Layer.extend({initialize:function(l){this._layers={};var k,j;if(l){for(k=0,j=l.length;k<j;k++){this.addLayer(l[k])}}},addLayer:function(i){var j=this.getLayerId(i);this._layers[j]=i;if(this._map){this._map.addLayer(i)}return this},removeLayer:function(i){var j=i in this._layers?i:this.getLayerId(i);if(this._map&&this._layers[j]){this._map.removeLayer(this._layers[j])}delete this._layers[j];return this},hasLayer:function(i){return !!i&&(i in this._layers||this.getLayerId(i) in this._layers)},clearLayers:function(){for(var j in this._layers){this.removeLayer(this._layers[j])}return this},invoke:function(j){var k=Array.prototype.slice.call(arguments,1),m,l;for(m in this._layers){l=this._layers[m];if(l[j]){l[j].apply(l,k)}}return this},onAdd:function(k){for(var j in this._layers){k.addLayer(this._layers[j])}},onRemove:function(k){for(var j in this._layers){k.removeLayer(this._layers[j])}},eachLayer:function(l,k){for(var j in this._layers){l.call(k,this._layers[j])}return this},getLayer:function(i){return this._layers[i]},getLayers:function(){var k=[];for(var j in this._layers){k.push(this._layers[j])}return k},setZIndex:function(i){return this.invoke("setZIndex",i)},getLayerId:function(i){return a.stamp(i)}});a.layerGroup=function(i){return new a.LayerGroup(i)};a.FeatureGroup=a.LayerGroup.extend({addLayer:function(i){if(this.hasLayer(i)){return this}i.addEventParent(this);a.LayerGroup.prototype.addLayer.call(this,i);return this.fire("layeradd",{layer:i})},removeLayer:function(i){if(!this.hasLayer(i)){return this}if(i in this._layers){i=this._layers[i]}i.removeEventParent(this);a.LayerGroup.prototype.removeLayer.call(this,i);return this.fire("layerremove",{layer:i})},setStyle:function(i){return this.invoke("setStyle",i)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var j=new a.LatLngBounds();for(var k in this._layers){var i=this._layers[k];j.extend(i.getBounds?i.getBounds():i.getLatLng())}return j}});a.featureGroup=function(i){return new a.FeatureGroup(i)};a.Renderer=a.Layer.extend({options:{padding:0.1},initialize:function(i){a.setOptions(this,i);a.stamp(this);this._layers=this._layers||{}},onAdd:function(){if(!this._container){this._initContainer();if(this._zoomAnimated){a.DomUtil.addClass(this._container,"leaflet-zoom-animated")}}this.getPane().appendChild(this._container);this._update();this.on("update",this._updatePaths,this)},onRemove:function(){a.DomUtil.remove(this._container);this.off("update",this._updatePaths,this)},getEvents:function(){var i={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};if(this._zoomAnimated){i.zoomanim=this._onAnimZoom}return i},_onAnimZoom:function(i){this._updateTransform(i.center,i.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(i,q){var l=this._map.getZoomScale(q,this._zoom),n=a.DomUtil.getPosition(this._container),o=this._map.getSize().multiplyBy(0.5+this.options.padding),j=this._map.project(this._center,q),m=this._map.project(i,q),p=m.subtract(j),k=o.multiplyBy(-l).add(n).add(o).subtract(p);if(a.Browser.any3d){a.DomUtil.setTransform(this._container,k,l)}else{a.DomUtil.setPosition(this._container,k)}},_reset:function(){this._update();this._updateTransform(this._center,this._zoom);for(var i in this._layers){this._layers[i]._reset()}},_onZoomEnd:function(){for(var i in this._layers){this._layers[i]._project()}},_updatePaths:function(){for(var i in this._layers){this._layers[i]._update()}},_update:function(){var k=this.options.padding,j=this._map.getSize(),i=this._map.containerPointToLayerPoint(j.multiplyBy(-k)).round();this._bounds=new a.Bounds(i,i.add(j.multiplyBy(1+k*2)).round());this._center=this._map.getCenter();this._zoom=this._map.getZoom()}});a.Map.include({getRenderer:function(i){var j=i.options.renderer||this._getPaneRenderer(i.options.pane)||this.options.renderer||this._renderer;if(!j){j=this._renderer=(this.options.preferCanvas&&a.canvas())||a.svg()}if(!this.hasLayer(j)){this.addLayer(j)}return j},_getPaneRenderer:function(i){if(i==="overlayPane"||i===h){return false}var j=this._paneRenderers[i];if(j===h){j=(a.SVG&&a.svg({pane:i}))||(a.Canvas&&a.canvas({pane:i}));this._paneRenderers[i]=j}return j}});a.Path=a.Layer.extend({options:{stroke:true,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:false,fillColor:null,fillOpacity:0.2,fillRule:"evenodd",interactive:true},beforeAdd:function(i){this._renderer=i.getRenderer(this)},onAdd:function(){this._renderer._initPath(this);this._reset();this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){if(this._map){this._renderer._updatePath(this)}return this},setStyle:function(i){a.setOptions(this,i);if(this._renderer){this._renderer._updateStyle(this)}return this},bringToFront:function(){if(this._renderer){this._renderer._bringToFront(this)}return this},bringToBack:function(){if(this._renderer){this._renderer._bringToBack(this)}return this},getElement:function(){return this._path},_reset:function(){this._project();this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(a.Browser.touch?10:0)}});a.LineUtil={simplify:function(k,i){if(!i||!k.length){return k.slice()}var j=i*i;k=this._reducePoints(k,j);k=this._simplifyDP(k,j);return k},pointToSegmentDistance:function(j,k,i){return Math.sqrt(this._sqClosestPointOnSegment(j,k,i,true))},closestPointOnSegment:function(j,k,i){return this._sqClosestPointOnSegment(j,k,i)},_simplifyDP:function(n,k){var j=n.length,m=typeof Uint8Array!==h+""?Uint8Array:Array,p=new m(j);p[0]=p[j-1]=1;this._simplifyDPStep(n,p,k,0,j-1);var l,o=[];for(l=0;l<j;l++){if(p[l]){o.push(n[l])}}return o},_simplifyDPStep:function(r,k,j,o,q){var l=0,p,m,n;for(m=o+1;m<=q-1;m++){n=this._sqClosestPointOnSegment(r[m],r[o],r[q],true);if(n>l){p=m;l=n}}if(l>j){k[p]=1;this._simplifyDPStep(r,k,j,o,p);this._simplifyDPStep(r,k,j,p,q)}},_reducePoints:function(m,k){var o=[m[0]];for(var l=1,n=0,j=m.length;l<j;l++){if(this._sqDist(m[l],m[n])>k){o.push(m[l]);n=l}}if(n<j-1){o.push(m[j-1])}return o},clipSegment:function(q,o,i,r,s){var m=r?this._lastCode:this._getBitCode(q,i),k=this._getBitCode(o,i),l,j,n;this._lastCode=k;while(true){if(!(m|k)){return[q,o]}if(m&k){return false}l=m||k;j=this._getEdgeIntersection(q,o,l,i,s);n=this._getBitCode(j,i);if(l===m){q=j;m=n}else{o=j;k=n}}},_getEdgeIntersection:function(p,n,j,i,q){var s=n.x-p.x,r=n.y-p.y,k=i.min,m=i.max,o,l;if(j&8){o=p.x+s*(m.y-p.y)/r;l=m.y}else{if(j&4){o=p.x+s*(k.y-p.y)/r;l=k.y}else{if(j&2){o=m.x;l=p.y+r*(m.x-p.x)/s}else{if(j&1){o=k.x;l=p.y+r*(k.x-p.x)/s}}}}return new a.Point(o,l,q)},_getBitCode:function(k,j){var i=0;if(k.x<j.min.x){i|=1}else{if(k.x>j.max.x){i|=2}}if(k.y<j.min.y){i|=4}else{if(k.y>j.max.y){i|=8}}return i},_sqDist:function(l,k){var j=k.x-l.x,i=k.y-l.y;return j*j+i*i},_sqClosestPointOnSegment:function(j,o,n,k){var m=o.x,l=o.y,s=n.x-m,r=n.y-l,i=s*s+r*r,q;if(i>0){q=((j.x-m)*s+(j.y-l)*r)/i;if(q>1){m=n.x;l=n.y}else{if(q>0){m+=s*q;l+=r*q}}}s=j.x-m;r=j.y-l;return k?s*s+r*r:new a.Point(m,l)}};a.Polyline=a.Path.extend({options:{smoothFactor:1,noClip:false},initialize:function(i,j){a.setOptions(this,j);this._setLatLngs(i)},getLatLngs:function(){return this._latlngs},setLatLngs:function(i){this._setLatLngs(i);return this.redraw()},isEmpty:function(){return !this._latlngs.length},closestLayerPoint:function(k){var t=Infinity,r=null,l=a.LineUtil._sqClosestPointOnSegment,v,u;for(var m=0,w=this._parts.length;m<w;m++){var s=this._parts[m];for(var n=1,q=s.length;n<q;n++){v=s[n-1];u=s[n];var o=l(k,v,u,true);if(o<t){t=o;r=l(k,v,u)}}}if(r){r.distance=Math.sqrt(t)}return r},getCenter:function(){if(!this._map){throw new Error("Must add layer to map before using getCenter()")}var l,j,k,o,r,p,n,q=this._rings[0],m=q.length;if(!m){return null}for(l=0,j=0;l<m-1;l++){j+=q[l].distanceTo(q[l+1])/2}if(j===0){return this._map.layerPointToLatLng(q[0])}for(l=0,o=0;l<m-1;l++){r=q[l];p=q[l+1];k=r.distanceTo(p);o+=k;if(o>j){n=(o-j)/k;return this._map.layerPointToLatLng([p.x-n*(p.x-r.x),p.y-n*(p.y-r.y)])}}},getBounds:function(){return this._bounds},addLatLng:function(j,i){i=i||this._defaultShape();j=a.latLng(j);i.push(j);this._bounds.extend(j);return this.redraw()},_setLatLngs:function(i){this._bounds=new a.LatLngBounds();this._latlngs=this._convertLatLngs(i)},_defaultShape:function(){return a.Polyline._flat(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){var k=[],n=a.Polyline._flat(l);for(var m=0,j=l.length;m<j;m++){if(n){k[m]=a.latLng(l[m]);this._bounds.extend(k[m])}else{k[m]=this._convertLatLngs(l[m])}}return k},_project:function(){var j=new a.Bounds();this._rings=[];this._projectLatlngs(this._latlngs,this._rings,j);var i=this._clickTolerance(),k=new a.Point(i,i);if(this._bounds.isValid()&&j.isValid()){j.min._subtract(k);j.max._add(k);this._pxBounds=j}},_projectLatlngs:function(l,k,o){var p=l[0] instanceof a.LatLng,j=l.length,n,m;if(p){m=[];for(n=0;n<j;n++){m[n]=this._map.latLngToLayerPoint(l[n]);o.extend(m[n])}k.push(m)}else{for(n=0;n<j;n++){this._projectLatlngs(l[n],k,o)}}},_clipPoints:function(){var l=this._renderer._bounds;this._parts=[];if(!this._pxBounds||!this._pxBounds.intersects(l)){return}if(this.options.noClip){this._parts=this._rings;return}var o=this._parts,q,p,m,s,n,r,t;for(q=0,m=0,s=this._rings.length;q<s;q++){t=this._rings[q];for(p=0,n=t.length;p<n-1;p++){r=a.LineUtil.clipSegment(t[p],t[p+1],l,p,true);if(!r){continue}o[m]=o[m]||[];o[m].push(r[0]);if((r[1]!==t[p+1])||(p===n-2)){o[m].push(r[1]);m++}}}},_simplifyPoints:function(){var m=this._parts,k=this.options.smoothFactor;for(var l=0,j=m.length;l<j;l++){m[l]=a.LineUtil.simplify(m[l],k)}},_update:function(){if(!this._map){return}this._clipPoints();this._simplifyPoints();this._updatePath()},_updatePath:function(){this._renderer._updatePoly(this)}});a.polyline=function(i,j){return new a.Polyline(i,j)};a.Polyline._flat=function(i){return !a.Util.isArray(i[0])||(typeof i[0][0]!=="object"&&typeof i[0][0]!=="undefined")};a.PolyUtil={};a.PolyUtil.clipPolygon=function(y,l,z){var v,s=[1,4,2,8],t,r,q,x,w,u,n,m,o=a.LineUtil;for(t=0,u=y.length;t<u;t++){y[t]._code=o._getBitCode(y[t],l)}for(q=0;q<4;q++){n=s[q];v=[];for(t=0,u=y.length,r=u-1;t<u;r=t++){x=y[t];w=y[r];if(!(x._code&n)){if(w._code&n){m=o._getEdgeIntersection(w,x,n,l,z);m._code=o._getBitCode(m,l);v.push(m)}v.push(x)}else{if(!(w._code&n)){m=o._getEdgeIntersection(w,x,n,l,z);m._code=o._getBitCode(m,l);v.push(m)}}}y=v}return y};a.Polygon=a.Polyline.extend({options:{fill:true},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()")}var n,m,u,t,p,l,r,q,k,s=this._rings[0],o=s.length;if(!o){return null}l=r=q=0;for(n=0,m=o-1;n<o;m=n++){u=s[n];t=s[m];p=u.y*t.x-t.y*u.x;r+=(u.x+t.x)*p;q+=(u.y+t.y)*p;l+=p*3}if(l===0){k=s[0]}else{k=[r/l,q/l]}return this._map.layerPointToLatLng(k)},_convertLatLngs:function(k){var j=a.Polyline.prototype._convertLatLngs.call(this,k),i=j.length;if(i>=2&&j[0] instanceof a.LatLng&&j[0].equals(j[i-1])){j.pop()}return j},_setLatLngs:function(i){a.Polyline.prototype._setLatLngs.call(this,i);if(a.Polyline._flat(this._latlngs)){this._latlngs=[this._latlngs]}},_defaultShape:function(){return a.Polyline._flat(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var n=this._renderer._bounds,l=this.options.weight,o=new a.Point(l,l);n=new a.Bounds(n.min.subtract(o),n.max.add(o));this._parts=[];if(!this._pxBounds||!this._pxBounds.intersects(n)){return}if(this.options.noClip){this._parts=this._rings;return}for(var m=0,k=this._rings.length,j;m<k;m++){j=a.PolyUtil.clipPolygon(this._rings[m],n,true);if(j.length){this._parts.push(j)}}},_updatePath:function(){this._renderer._updatePoly(this,true)}});a.polygon=function(i,j){return new a.Polygon(i,j)};a.Rectangle=a.Polygon.extend({initialize:function(j,i){a.Polygon.prototype.initialize.call(this,this._boundsToLatLngs(j),i)},setBounds:function(i){return this.setLatLngs(this._boundsToLatLngs(i))},_boundsToLatLngs:function(i){i=a.latLngBounds(i);return[i.getSouthWest(),i.getNorthWest(),i.getNorthEast(),i.getSouthEast()]}});a.rectangle=function(j,i){return new a.Rectangle(j,i)};a.CircleMarker=a.Path.extend({options:{fill:true,radius:10},initialize:function(j,i){a.setOptions(this,i);this._latlng=a.latLng(j);this._radius=this.options.radius},setLatLng:function(i){this._latlng=a.latLng(i);this.redraw();return this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(i){this.options.radius=this._radius=i;return this.redraw()},getRadius:function(){return this._radius},setStyle:function(j){var i=j&&j.radius||this._radius;a.Path.prototype.setStyle.call(this,j);this.setRadius(i);return this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng);this._updateBounds()},_updateBounds:function(){var k=this._radius,j=this._radiusY||k,i=this._clickTolerance(),l=[k+i,j+i];this._pxBounds=new a.Bounds(this._point.subtract(l),this._point.add(l))},_update:function(){if(this._map){this._updatePath()}},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)}});a.circleMarker=function(j,i){return new a.CircleMarker(j,i)};a.Circle=a.CircleMarker.extend({initialize:function(k,j,i){if(typeof j==="number"){j=a.extend({},i,{radius:j})}a.setOptions(this,j);this._latlng=a.latLng(k);if(isNaN(this.options.radius)){throw new Error("Circle radius cannot be NaN")}this._mRadius=this.options.radius},setRadius:function(i){this._mRadius=i;return this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var i=[this._radius,this._radiusY||this._radius];return new a.LatLngBounds(this._map.layerPointToLatLng(this._point.subtract(i)),this._map.layerPointToLatLng(this._point.add(i)))},setStyle:a.Path.prototype.setStyle,_project:function(){var r=this._latlng.lng,o=this._latlng.lat,j=this._map,t=j.options.crs;if(t.distance===a.CRS.Earth.distance){var n=Math.PI/180,u=(this._mRadius/a.CRS.Earth.R)/n,q=j.project([o+u,r]),i=j.project([o-u,r]),k=q.add(i).divideBy(2),m=j.unproject(k).lat,l=Math.acos((Math.cos(u*n)-Math.sin(o*n)*Math.sin(m*n))/(Math.cos(o*n)*Math.cos(m*n)))/n;if(isNaN(l)||l===0){l=u/Math.cos(Math.PI/180*o)}this._point=k.subtract(j.getPixelOrigin());this._radius=isNaN(l)?0:Math.max(Math.round(k.x-j.project([m,r-l]).x),1);this._radiusY=Math.max(Math.round(k.y-q.y),1)}else{var s=t.unproject(t.project(this._latlng).subtract([this._mRadius,0]));this._point=j.latLngToLayerPoint(this._latlng);this._radius=this._point.x-j.latLngToLayerPoint(s).x}this._updateBounds()}});a.circle=function(k,j,i){return new a.Circle(k,j,i)};a.SVG=a.Renderer.extend({getEvents:function(){var i=a.Renderer.prototype.getEvents.call(this);i.zoomstart=this._onZoomStart;return i},_initContainer:function(){this._container=a.SVG.create("svg");this._container.setAttribute("pointer-events","none");this._rootGroup=a.SVG.create("g");this._container.appendChild(this._rootGroup)},_onZoomStart:function(){this._update()},_update:function(){if(this._map._animatingZoom&&this._bounds){return}a.Renderer.prototype._update.call(this);var i=this._bounds,k=i.getSize(),j=this._container;if(!this._svgSize||!this._svgSize.equals(k)){this._svgSize=k;j.setAttribute("width",k.x);j.setAttribute("height",k.y)}a.DomUtil.setPosition(j,i.min);j.setAttribute("viewBox",[i.min.x,i.min.y,k.x,k.y].join(" "));this.fire("update")},_initPath:function(i){var j=i._path=a.SVG.create("path");if(i.options.className){a.DomUtil.addClass(j,i.options.className)}if(i.options.interactive){a.DomUtil.addClass(j,"leaflet-interactive")}this._updateStyle(i);this._layers[a.stamp(i)]=i},_addPath:function(i){this._rootGroup.appendChild(i._path);i.addInteractiveTarget(i._path)},_removePath:function(i){a.DomUtil.remove(i._path);i.removeInteractiveTarget(i._path);delete this._layers[a.stamp(i)]},_updatePath:function(i){i._project();i._update()},_updateStyle:function(j){var k=j._path,i=j.options;if(!k){return}if(i.stroke){k.setAttribute("stroke",i.color);k.setAttribute("stroke-opacity",i.opacity);k.setAttribute("stroke-width",i.weight);k.setAttribute("stroke-linecap",i.lineCap);k.setAttribute("stroke-linejoin",i.lineJoin);if(i.dashArray){k.setAttribute("stroke-dasharray",i.dashArray)}else{k.removeAttribute("stroke-dasharray")}if(i.dashOffset){k.setAttribute("stroke-dashoffset",i.dashOffset)}else{k.removeAttribute("stroke-dashoffset")}}else{k.setAttribute("stroke","none")}if(i.fill){k.setAttribute("fill",i.fillColor||i.color);k.setAttribute("fill-opacity",i.fillOpacity);k.setAttribute("fill-rule",i.fillRule||"evenodd")}else{k.setAttribute("fill","none")}},_updatePoly:function(j,i){this._setPath(j,a.SVG.pointsToPath(j._parts,i))},_updateCircle:function(k){var m=k._point,l=k._radius,i=k._radiusY||l,j="a"+l+","+i+" 0 1,0 ";var n=k._empty()?"M0 0":"M"+(m.x-l)+","+m.y+j+(l*2)+",0 "+j+(-l*2)+",0 ";this._setPath(k,n)},_setPath:function(i,j){i._path.setAttribute("d",j)},_bringToFront:function(i){a.DomUtil.toFront(i._path)},_bringToBack:function(i){a.DomUtil.toBack(i._path)}});a.extend(a.SVG,{create:function(i){return b.createElementNS("http://www.w3.org/2000/svg",i)},pointsToPath:function(s,o){var r="",n,m,q,l,t,k;for(n=0,q=s.length;n<q;n++){t=s[n];for(m=0,l=t.length;m<l;m++){k=t[m];r+=(m?"L":"M")+k.x+" "+k.y}r+=o?(a.Browser.svg?"z":"x"):""}return r||"M0 0"}});a.Browser.svg=!!(b.createElementNS&&a.SVG.create("svg").createSVGRect);a.svg=function(i){return a.Browser.svg||a.Browser.vml?new a.SVG(i):null};a.Browser.vml=!a.Browser.svg&&(function(){try{var k=b.createElement("div");k.innerHTML='<v:shape adj="1"/>';var i=k.firstChild;i.style.behavior="url(#default#VML)";return i&&(typeof i.adj==="object")}catch(j){return false}}());a.SVG.include(!a.Browser.vml?{}:{_initContainer:function(){this._container=a.DomUtil.create("div","leaflet-vml-container")},_update:function(){if(this._map._animatingZoom){return}a.Renderer.prototype._update.call(this);this.fire("update")},_initPath:function(j){var i=j._container=a.SVG.create("shape");a.DomUtil.addClass(i,"leaflet-vml-shape "+(this.options.className||""));i.coordsize="1 1";j._path=a.SVG.create("path");i.appendChild(j._path);this._updateStyle(j);this._layers[a.stamp(j)]=j},_addPath:function(j){var i=j._container;this._container.appendChild(i);if(j.options.interactive){j.addInteractiveTarget(i)}},_removePath:function(j){var i=j._container;a.DomUtil.remove(i);j.removeInteractiveTarget(i);delete this._layers[a.stamp(j)]},_updateStyle:function(k){var m=k._stroke,l=k._fill,j=k.options,i=k._container;i.stroked=!!j.stroke;i.filled=!!j.fill;if(j.stroke){if(!m){m=k._stroke=a.SVG.create("stroke")}i.appendChild(m);m.weight=j.weight+"px";m.color=j.color;m.opacity=j.opacity;if(j.dashArray){m.dashStyle=a.Util.isArray(j.dashArray)?j.dashArray.join(" "):j.dashArray.replace(/( *, *)/g," ")}else{m.dashStyle=""}m.endcap=j.lineCap.replace("butt","flat");m.joinstyle=j.lineJoin}else{if(m){i.removeChild(m);k._stroke=null}}if(j.fill){if(!l){l=k._fill=a.SVG.create("fill")}i.appendChild(l);l.color=j.fillColor||j.color;l.opacity=j.fillOpacity}else{if(l){i.removeChild(l);k._fill=null}}},_updateCircle:function(j){var l=j._point.round(),k=Math.round(j._radius),i=Math.round(j._radiusY||k);this._setPath(j,j._empty()?"M0 0":"AL "+l.x+","+l.y+" "+k+","+i+" 0,"+(65535*360))},_setPath:function(i,j){i._path.v=j},_bringToFront:function(i){a.DomUtil.toFront(i._container)},_bringToBack:function(i){a.DomUtil.toBack(i._container)}});if(a.Browser.vml){a.SVG.create=(function(){try{b.namespaces.add("lvml","urn:schemas-microsoft-com:vml");return function(j){return b.createElement("<lvml:"+j+' class="lvml">')}}catch(i){return function(j){return b.createElement("<"+j+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}})()}a.Canvas=a.Renderer.extend({getEvents:function(){var i=a.Renderer.prototype.getEvents.call(this);i.viewprereset=this._onViewPreReset;return i},_onViewPreReset:function(){this._postponeUpdatePaths=true},onAdd:function(){a.Renderer.prototype.onAdd.call(this);this._draw()},_initContainer:function(){var i=this._container=b.createElement("canvas");a.DomEvent.on(i,"mousemove",a.Util.throttle(this._onMouseMove,32,this),this).on(i,"click dblclick mousedown mouseup contextmenu",this._onClick,this).on(i,"mouseout",this._handleMouseOut,this);this._ctx=i.getContext("2d")},_updatePaths:function(){if(this._postponeUpdatePaths){return}var i;this._redrawBounds=null;for(var j in this._layers){i=this._layers[j];i._update()}this._redraw()},_update:function(){if(this._map._animatingZoom&&this._bounds){return}this._drawnLayers={};a.Renderer.prototype._update.call(this);var j=this._bounds,k=this._container,l=j.getSize(),i=a.Browser.retina?2:1;a.DomUtil.setPosition(k,j.min);k.width=i*l.x;k.height=i*l.y;k.style.width=l.x+"px";k.style.height=l.y+"px";if(a.Browser.retina){this._ctx.scale(2,2)}this._ctx.translate(-j.min.x,-j.min.y);this.fire("update")},_reset:function(){a.Renderer.prototype._reset.call(this);if(this._postponeUpdatePaths){this._postponeUpdatePaths=false;this._updatePaths()}},_initPath:function(j){this._updateDashArray(j);this._layers[a.stamp(j)]=j;var i=j._order={layer:j,prev:this._drawLast,next:null};if(this._drawLast){this._drawLast.next=i}this._drawLast=i;this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(i){this._requestRedraw(i)},_removePath:function(j){var i=j._order;var k=i.next;var l=i.prev;if(k){k.prev=l}else{this._drawLast=l}if(l){l.next=k}else{this._drawFirst=k}delete j._order;delete this._layers[a.stamp(j)];this._requestRedraw(j)},_updatePath:function(i){this._extendRedrawBounds(i);i._project();i._update();this._requestRedraw(i)},_updateStyle:function(i){this._updateDashArray(i);this._requestRedraw(i)},_updateDashArray:function(l){if(l.options.dashArray){var m=l.options.dashArray.split(","),j=[],k;for(k=0;k<m.length;k++){j.push(Number(m[k]))}l.options._dashArray=j}},_requestRedraw:function(i){if(!this._map){return}this._extendRedrawBounds(i);this._redrawRequest=this._redrawRequest||a.Util.requestAnimFrame(this._redraw,this)},_extendRedrawBounds:function(i){var j=(i.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new a.Bounds();this._redrawBounds.extend(i._pxBounds.min.subtract([j,j]));this._redrawBounds.extend(i._pxBounds.max.add([j,j]))},_redraw:function(){this._redrawRequest=null;if(this._redrawBounds){this._redrawBounds.min._floor();this._redrawBounds.max._ceil()}this._clear();this._draw();this._redrawBounds=null},_clear:function(){var j=this._redrawBounds;if(j){var i=j.getSize();this._ctx.clearRect(j.min.x,j.min.y,i.x,i.y)}else{this._ctx.clearRect(0,0,this._container.width,this._container.height)}},_draw:function(){var k,l=this._redrawBounds;this._ctx.save();if(l){var j=l.getSize();this._ctx.beginPath();this._ctx.rect(l.min.x,l.min.y,j.x,j.y);this._ctx.clip()}this._drawing=true;for(var i=this._drawFirst;i;i=i.next){k=i.layer;if(!l||(k._pxBounds&&k._pxBounds.intersects(l))){k._updatePath()}}this._drawing=false;this._ctx.restore()},_updatePoly:function(q,r){if(!this._drawing){return}var o,n,l,k,m=q._parts,s=m.length,t=this._ctx;if(!s){return}this._drawnLayers[q._leaflet_id]=q;t.beginPath();if(t.setLineDash){t.setLineDash(q.options&&q.options._dashArray||[])}for(o=0;o<s;o++){for(n=0,l=m[o].length;n<l;n++){k=m[o][n];t[n?"lineTo":"moveTo"](k.x,k.y)}if(r){t.closePath()}}this._fillStroke(t,q)},_updateCircle:function(j){if(!this._drawing||j._empty()){return}var m=j._point,i=this._ctx,l=j._radius,k=(j._radiusY||l)/l;this._drawnLayers[j._leaflet_id]=j;if(k!==1){i.save();i.scale(1,k)}i.beginPath();i.arc(m.x,m.y/k,l,0,Math.PI*2,false);if(k!==1){i.restore()}this._fillStroke(i,j)},_fillStroke:function(i,k){var j=k.options;if(j.fill){i.globalAlpha=j.fillOpacity;i.fillStyle=j.fillColor||j.color;i.fill(j.fillRule||"evenodd")}if(j.stroke&&j.weight!==0){i.globalAlpha=j.opacity;i.lineWidth=j.weight;i.strokeStyle=j.color;i.lineCap=j.lineCap;i.lineJoin=j.lineJoin;i.stroke()}},_onClick:function(m){var j=this._map.mouseEventToLayerPoint(m),k,l;for(var i=this._drawFirst;i;i=i.next){k=i.layer;if(k.options.interactive&&k._containsPoint(j)&&!this._map._draggableMoved(k)){l=k}}if(l){a.DomEvent._fakeStop(m);this._fireEvent([l],m)}},_onMouseMove:function(j){if(!this._map||this._map.dragging.moving()||this._map._animatingZoom){return}var i=this._map.mouseEventToLayerPoint(j);this._handleMouseHover(j,i)},_handleMouseOut:function(j){var i=this._hoveredLayer;if(i){a.DomUtil.removeClass(this._container,"leaflet-interactive");this._fireEvent([i],j,"mouseout");this._hoveredLayer=null}},_handleMouseHover:function(m,j){var l,k;for(var i=this._drawFirst;i;i=i.next){l=i.layer;if(l.options.interactive&&l._containsPoint(j)){k=l}}if(k!==this._hoveredLayer){this._handleMouseOut(m);if(k){a.DomUtil.addClass(this._container,"leaflet-interactive");this._fireEvent([k],m,"mouseover");this._hoveredLayer=k}}if(this._hoveredLayer){this._fireEvent([this._hoveredLayer],m)}},_fireEvent:function(k,j,i){this._map._fireDOMEvent(j,i||j.type,k)},_bringToFront:function(j){var i=j._order;var k=i.next;var l=i.prev;if(k){k.prev=l}else{return}if(l){l.next=k}else{if(k){this._drawFirst=k}}i.prev=this._drawLast;this._drawLast.next=i;i.next=null;this._drawLast=i;this._requestRedraw(j)},_bringToBack:function(j){var i=j._order;var k=i.next;var l=i.prev;if(l){l.next=k}else{return}if(k){k.prev=l}else{if(l){this._drawLast=l}}i.prev=null;i.next=this._drawFirst;this._drawFirst.prev=i;this._drawFirst=i;this._requestRedraw(j)}});a.Browser.canvas=(function(){return !!b.createElement("canvas").getContext}());a.canvas=function(i){return a.Browser.canvas?new a.Canvas(i):null};a.Polyline.prototype._containsPoint=function(l,s){var r,q,n,t,o,m,u=this._clickTolerance();if(!this._pxBounds.contains(l)){return false}for(r=0,t=this._parts.length;r<t;r++){m=this._parts[r];for(q=0,o=m.length,n=o-1;q<o;n=q++){if(!s&&(q===0)){continue}if(a.LineUtil.pointToSegmentDistance(l,m[n],m[q])<=u){return true}}}return false};a.Polygon.prototype._containsPoint=function(l){var n=false,m,v,u,s,r,q,t,o;if(!this._pxBounds.contains(l)){return false}for(s=0,t=this._parts.length;s<t;s++){m=this._parts[s];for(r=0,o=m.length,q=o-1;r<o;q=r++){v=m[r];u=m[q];if(((v.y>l.y)!==(u.y>l.y))&&(l.x<(u.x-v.x)*(l.y-v.y)/(u.y-v.y)+v.x)){n=!n}}}return n||a.Polyline.prototype._containsPoint.call(this,l,true)};a.CircleMarker.prototype._containsPoint=function(i){return i.distanceTo(this._point)<=this._radius+this._clickTolerance()};a.GeoJSON=a.FeatureGroup.extend({initialize:function(j,i){a.setOptions(this,i);this._layers={};if(j){this.addData(j)}},addData:function(l){var p=a.Util.isArray(l)?l:l.features,o,j,n;if(p){for(o=0,j=p.length;o<j;o++){n=p[o];if(n.geometries||n.geometry||n.features||n.coordinates){this.addData(n)}}return this}var k=this.options;if(k.filter&&!k.filter(l)){return this}var m=a.GeoJSON.geometryToLayer(l,k);if(!m){return this}m.feature=a.GeoJSON.asFeature(l);m.defaultOptions=m.options;this.resetStyle(m);if(k.onEachFeature){k.onEachFeature(l,m)}return this.addLayer(m)},resetStyle:function(i){i.options=a.Util.extend({},i.defaultOptions);this._setLayerStyle(i,this.options.style);return this},setStyle:function(i){return this.eachLayer(function(j){this._setLayerStyle(j,i)},this)},_setLayerStyle:function(i,j){if(typeof j==="function"){j=j(i.feature)}if(i.setStyle){i.setStyle(j)}}});a.extend(a.GeoJSON,{geometryToLayer:function(k,u){var s=k.type==="Feature"?k.geometry:k,t=s?s.coordinates:null,p=[],l=u&&u.pointToLayer,m=u&&u.coordsToLatLng||this.coordsToLatLng,n,j,o,r;if(!t&&!s){return null}switch(s.type){case"Point":n=m(t);return l?l(k,n):new a.Marker(n);case"MultiPoint":for(o=0,r=t.length;o<r;o++){n=m(t[o]);p.push(l?l(k,n):new a.Marker(n))}return new a.FeatureGroup(p);case"LineString":case"MultiLineString":j=this.coordsToLatLngs(t,s.type==="LineString"?0:1,m);return new a.Polyline(j,u);case"Polygon":case"MultiPolygon":j=this.coordsToLatLngs(t,s.type==="Polygon"?1:2,m);return new a.Polygon(j,u);case"GeometryCollection":for(o=0,r=s.geometries.length;o<r;o++){var q=this.geometryToLayer({geometry:s.geometries[o],type:"Feature",properties:k.properties},u);if(q){p.push(q)}}return new a.FeatureGroup(p);default:throw new Error("Invalid GeoJSON object.")}},coordsToLatLng:function(i){return new a.LatLng(i[1],i[0],i[2])},coordsToLatLngs:function(n,m,p){var k=[];for(var l=0,j=n.length,o;l<j;l++){o=m?this.coordsToLatLngs(n[l],m-1,p):(p||this.coordsToLatLng)(n[l]);k.push(o)}return k},latLngToCoords:function(i){return i.alt!==h?[i.lng,i.lat,i.alt]:[i.lng,i.lat]},latLngsToCoords:function(k,o,l){var n=[];for(var m=0,j=k.length;m<j;m++){n.push(o?a.GeoJSON.latLngsToCoords(k[m],o-1,l):a.GeoJSON.latLngToCoords(k[m]))}if(!o&&l){n.push(n[0])}return n},getFeature:function(j,i){return j.feature?a.extend({},j.feature,{geometry:i}):a.GeoJSON.asFeature(i)},asFeature:function(i){if(i.type==="Feature"||i.type==="FeatureCollection"){return i}return{type:"Feature",properties:{},geometry:i}}});var c={toGeoJSON:function(){return a.GeoJSON.getFeature(this,{type:"Point",coordinates:a.GeoJSON.latLngToCoords(this.getLatLng())})}};a.Marker.include(c);a.Circle.include(c);a.CircleMarker.include(c);a.Polyline.prototype.toGeoJSON=function(){var j=!a.Polyline._flat(this._latlngs);var i=a.GeoJSON.latLngsToCoords(this._latlngs,j?1:0);return a.GeoJSON.getFeature(this,{type:(j?"Multi":"")+"LineString",coordinates:i})};a.Polygon.prototype.toGeoJSON=function(){var i=!a.Polyline._flat(this._latlngs),k=i&&!a.Polyline._flat(this._latlngs[0]);var j=a.GeoJSON.latLngsToCoords(this._latlngs,k?2:i?1:0,true);if(!i){j=[j]}return a.GeoJSON.getFeature(this,{type:(k?"Multi":"")+"Polygon",coordinates:j})};a.LayerGroup.include({toMultiPoint:function(){var i=[];this.eachLayer(function(j){i.push(j.toGeoJSON().geometry.coordinates)});return a.GeoJSON.getFeature(this,{type:"MultiPoint",coordinates:i})},toGeoJSON:function(){var j=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(j==="MultiPoint"){return this.toMultiPoint()}var i=j==="GeometryCollection",k=[];this.eachLayer(function(m){if(m.toGeoJSON){var l=m.toGeoJSON();k.push(i?l.geometry:a.GeoJSON.asFeature(l))}});if(i){return a.GeoJSON.getFeature(this,{geometries:k,type:"GeometryCollection"})}return{type:"FeatureCollection",features:k}}});a.geoJSON=function(j,i){return new a.GeoJSON(j,i)};a.geoJson=a.geoJSON;a.Draggable=a.Evented.extend({options:{clickTolerance:3},statics:{START:a.Browser.touch?["touchstart","mousedown"]:["mousedown"],END:{mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},MOVE:{mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"}},initialize:function(j,k,i){this._element=j;this._dragStartTarget=k||j;this._preventOutline=i},enable:function(){if(this._enabled){return}a.DomEvent.on(this._dragStartTarget,a.Draggable.START.join(" "),this._onDown,this);this._enabled=true},disable:function(){if(!this._enabled){return}if(a.Draggable._dragging===this){this.finishDrag()}a.DomEvent.off(this._dragStartTarget,a.Draggable.START.join(" "),this._onDown,this);this._enabled=false;this._moved=false},_onDown:function(i){if(i._simulated||!this._enabled){return}this._moved=false;if(a.DomUtil.hasClass(this._element,"leaflet-zoom-anim")){return}if(a.Draggable._dragging||i.shiftKey||((i.which!==1)&&(i.button!==1)&&!i.touches)){return}a.Draggable._dragging=this;if(this._preventOutline){a.DomUtil.preventOutline(this._element)}a.DomUtil.disableImageDrag();a.DomUtil.disableTextSelection();if(this._moving){return}this.fire("down");var j=i.touches?i.touches[0]:i;this._startPoint=new a.Point(j.clientX,j.clientY);a.DomEvent.on(b,a.Draggable.MOVE[i.type],this._onMove,this).on(b,a.Draggable.END[i.type],this._onUp,this)},_onMove:function(j){if(j._simulated||!this._enabled){return}if(j.touches&&j.touches.length>1){this._moved=true;return}var l=(j.touches&&j.touches.length===1?j.touches[0]:j),i=new a.Point(l.clientX,l.clientY),k=i.subtract(this._startPoint);if(!k.x&&!k.y){return}if(Math.abs(k.x)+Math.abs(k.y)<this.options.clickTolerance){return}a.DomEvent.preventDefault(j);if(!this._moved){this.fire("dragstart");this._moved=true;this._startPos=a.DomUtil.getPosition(this._element).subtract(k);a.DomUtil.addClass(b.body,"leaflet-dragging");this._lastTarget=j.target||j.srcElement;if((f.SVGElementInstance)&&(this._lastTarget instanceof SVGElementInstance)){this._lastTarget=this._lastTarget.correspondingUseElement}a.DomUtil.addClass(this._lastTarget,"leaflet-drag-target")}this._newPos=this._startPos.add(k);this._moving=true;a.Util.cancelAnimFrame(this._animRequest);this._lastEvent=j;this._animRequest=a.Util.requestAnimFrame(this._updatePosition,this,true)},_updatePosition:function(){var i={originalEvent:this._lastEvent};this.fire("predrag",i);a.DomUtil.setPosition(this._element,this._newPos);this.fire("drag",i)},_onUp:function(i){if(i._simulated||!this._enabled){return}this.finishDrag()},finishDrag:function(){a.DomUtil.removeClass(b.body,"leaflet-dragging");if(this._lastTarget){a.DomUtil.removeClass(this._lastTarget,"leaflet-drag-target");this._lastTarget=null}for(var j in a.Draggable.MOVE){a.DomEvent.off(b,a.Draggable.MOVE[j],this._onMove,this).off(b,a.Draggable.END[j],this._onUp,this)}a.DomUtil.enableImageDrag();a.DomUtil.enableTextSelection();if(this._moved&&this._moving){a.Util.cancelAnimFrame(this._animRequest);this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})}this._moving=false;a.Draggable._dragging=false}});a.Handler=a.Class.extend({initialize:function(i){this._map=i},enable:function(){if(this._enabled){return this}this._enabled=true;this.addHooks();return this},disable:function(){if(!this._enabled){return this}this._enabled=false;this.removeHooks();return this},enabled:function(){return !!this._enabled}});a.Map.mergeOptions({dragging:true,inertia:!a.Browser.android23,inertiaDeceleration:3400,inertiaMaxSpeed:Infinity,easeLinearity:0.2,worldCopyJump:false,maxBoundsViscosity:0});a.Map.Drag=a.Handler.extend({addHooks:function(){if(!this._draggable){var i=this._map;this._draggable=new a.Draggable(i._mapPane,i._container);this._draggable.on({down:this._onDown,dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this);this._draggable.on("predrag",this._onPreDragLimit,this);if(i.options.worldCopyJump){this._draggable.on("predrag",this._onPreDragWrap,this);i.on("zoomend",this._onZoomEnd,this);i.whenReady(this._onZoomEnd,this)}}a.DomUtil.addClass(this._map._container,"leaflet-grab leaflet-touch-drag");this._draggable.enable();this._positions=[];this._times=[]},removeHooks:function(){a.DomUtil.removeClass(this._map._container,"leaflet-grab");a.DomUtil.removeClass(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},_onDown:function(){this._map._stop()},_onDragStart:function(){var j=this._map;if(this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var i=a.latLngBounds(this._map.options.maxBounds);this._offsetLimit=a.bounds(this._map.latLngToContainerPoint(i.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(i.getSouthEast()).multiplyBy(-1).add(this._map.getSize()));this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else{this._offsetLimit=null}j.fire("movestart").fire("dragstart");if(j.options.inertia){this._positions=[];this._times=[]}},_onDrag:function(j){if(this._map.options.inertia){var i=this._lastTime=+new Date(),k=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(k);this._times.push(i);if(i-this._times[0]>50){this._positions.shift();this._times.shift()}}this._map.fire("move",j).fire("drag",j)},_onZoomEnd:function(){var j=this._map.getSize().divideBy(2),i=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=i.subtract(j).x;this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(j,i){return j-(j-i)*this._viscosity},_onPreDragLimit:function(){if(!this._viscosity||!this._offsetLimit){return}var j=this._draggable._newPos.subtract(this._draggable._startPos);var i=this._offsetLimit;if(j.x<i.min.x){j.x=this._viscousLimit(j.x,i.min.x)}if(j.y<i.min.y){j.y=this._viscousLimit(j.y,i.min.y)}if(j.x>i.max.x){j.x=this._viscousLimit(j.x,i.max.x)}if(j.y>i.max.y){j.y=this._viscousLimit(j.y,i.max.y)}this._draggable._newPos=this._draggable._startPos.add(j)},_onPreDragWrap:function(){var o=this._worldWidth,n=Math.round(o/2),j=this._initialWorldOffset,i=this._draggable._newPos.x,l=(i-n+j)%o+n-j,k=(i+n+j)%o-n-j,m=Math.abs(l+j)<Math.abs(k+j)?l:k;this._draggable._absPos=this._draggable._newPos.clone();this._draggable._newPos.x=m},_onDragEnd:function(q){var j=this._map,u=j.options,i=!u.inertia||this._times.length<2;j.fire("dragend",q);if(i){j.fire("moveend")}else{var r=this._lastPos.subtract(this._positions[0]),o=(this._lastTime-this._times[0])/1000,n=u.easeLinearity,m=r.multiplyBy(n/o),l=m.distanceTo([0,0]),t=Math.min(u.inertiaMaxSpeed,l),s=m.multiplyBy(t/l),k=t/(u.inertiaDeceleration*n),p=s.multiplyBy(-k/2).round();if(!p.x&&!p.y){j.fire("moveend")}else{p=j._limitOffset(p,j.options.maxBounds);a.Util.requestAnimFrame(function(){j.panBy(p,{duration:k,easeLinearity:n,noMoveStart:true,animate:true})})}}}});a.Map.addInitHook("addHandler","dragging",a.Map.Drag);a.Map.mergeOptions({doubleClickZoom:true});a.Map.DoubleClickZoom=a.Handler.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(l){var k=this._map,j=k.getZoom(),m=k.options.zoomDelta,i=l.originalEvent.shiftKey?j-m:j+m;if(k.options.doubleClickZoom==="center"){k.setZoom(i)}else{k.setZoomAround(l.containerPoint,i)}}});a.Map.addInitHook("addHandler","doubleClickZoom",a.Map.DoubleClickZoom);a.Map.mergeOptions({scrollWheelZoom:true,wheelDebounceTime:40,wheelPxPerZoomLevel:60});a.Map.ScrollWheelZoom=a.Handler.extend({addHooks:function(){a.DomEvent.on(this._map._container,"mousewheel",this._onWheelScroll,this);this._delta=0},removeHooks:function(){a.DomEvent.off(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(k){var l=a.DomEvent.getWheelDelta(k);var i=this._map.options.wheelDebounceTime;this._delta+=l;this._lastMousePos=this._map.mouseEventToContainerPoint(k);if(!this._startTime){this._startTime=+new Date()}var j=Math.max(i-(+new Date()-this._startTime),0);clearTimeout(this._timer);this._timer=setTimeout(a.bind(this._performZoom,this),j);a.DomEvent.stop(k)},_performZoom:function(){var n=this._map,m=n.getZoom(),i=this._map.options.zoomSnap||0;n._stop();var l=this._delta/(this._map.options.wheelPxPerZoomLevel*4),k=4*Math.log(2/(1+Math.exp(-Math.abs(l))))/Math.LN2,j=i?Math.ceil(k/i)*i:k,o=n._limitZoom(m+(this._delta>0?j:-j))-m;this._delta=0;this._startTime=null;if(!o){return}if(n.options.scrollWheelZoom==="center"){n.setZoom(m+o)}else{n.setZoomAround(this._lastMousePos,m+o)}}});a.Map.addInitHook("addHandler","scrollWheelZoom",a.Map.ScrollWheelZoom);a.extend(a.DomEvent,{_touchstart:a.Browser.msPointer?"MSPointerDown":a.Browser.pointer?"pointerdown":"touchstart",_touchend:a.Browser.msPointer?"MSPointerUp":a.Browser.pointer?"pointerup":"touchend",addDoubleTapListener:function(l,t,i){var s,k,p=false,n=250;function m(w){var v;if(a.Browser.pointer){if((!a.Browser.edge)||w.pointerType==="mouse"){return}v=a.DomEvent._pointersCount}else{v=w.touches.length}if(v>1){return}var u=Date.now(),x=u-(s||u);k=w.touches?w.touches[0]:w;p=(x>0&&x<=n);s=u}function q(w){if(p&&!k.cancelBubble){if(a.Browser.pointer){if((!a.Browser.edge)||w.pointerType==="mouse"){return}var u={},x,v;for(v in k){x=k[v];u[v]=x&&x.bind?x.bind(k):x}k=u}k.type="dblclick";t(k);s=null}}var j="_leaflet_",o=this._touchstart,r=this._touchend;l[j+o+i]=m;l[j+r+i]=q;l[j+"dblclick"+i]=t;l.addEventListener(o,m,false);l.addEventListener(r,q,false);l.addEventListener("dblclick",t,false);return this},removeDoubleTapListener:function(k,n){var j="_leaflet_",m=k[j+this._touchstart+n],l=k[j+this._touchend+n],i=k[j+"dblclick"+n];k.removeEventListener(this._touchstart,m,false);k.removeEventListener(this._touchend,l,false);if(!a.Browser.edge){k.removeEventListener("dblclick",i,false)}return this}});a.extend(a.DomEvent,{POINTER_DOWN:a.Browser.msPointer?"MSPointerDown":"pointerdown",POINTER_MOVE:a.Browser.msPointer?"MSPointerMove":"pointermove",POINTER_UP:a.Browser.msPointer?"MSPointerUp":"pointerup",POINTER_CANCEL:a.Browser.msPointer?"MSPointerCancel":"pointercancel",TAG_WHITE_LIST:["INPUT","SELECT","OPTION"],_pointers:{},_pointersCount:0,addPointerListener:function(k,j,i,l){if(j==="touchstart"){this._addPointerStart(k,i,l)}else{if(j==="touchmove"){this._addPointerMove(k,i,l)}else{if(j==="touchend"){this._addPointerEnd(k,i,l)}}}return this},removePointerListener:function(k,j,l){var i=k["_leaflet_"+j+l];if(j==="touchstart"){k.removeEventListener(this.POINTER_DOWN,i,false)}else{if(j==="touchmove"){k.removeEventListener(this.POINTER_MOVE,i,false)}else{if(j==="touchend"){k.removeEventListener(this.POINTER_UP,i,false);k.removeEventListener(this.POINTER_CANCEL,i,false)}}}return this},_addPointerStart:function(k,i,m){var j=a.bind(function(n){if(n.pointerType!=="mouse"&&n.MSPOINTER_TYPE_MOUSE&&n.pointerType!==n.MSPOINTER_TYPE_MOUSE){if(this.TAG_WHITE_LIST.indexOf(n.target.tagName)<0){a.DomEvent.preventDefault(n)}else{return}}this._handlePointer(n,i)},this);k["_leaflet_touchstart"+m]=j;k.addEventListener(this.POINTER_DOWN,j,false);if(!this._pointerDocListener){var l=a.bind(this._globalPointerUp,this);b.documentElement.addEventListener(this.POINTER_DOWN,a.bind(this._globalPointerDown,this),true);b.documentElement.addEventListener(this.POINTER_MOVE,a.bind(this._globalPointerMove,this),true);b.documentElement.addEventListener(this.POINTER_UP,l,true);b.documentElement.addEventListener(this.POINTER_CANCEL,l,true);this._pointerDocListener=true}},_globalPointerDown:function(i){this._pointers[i.pointerId]=i;this._pointersCount++},_globalPointerMove:function(i){if(this._pointers[i.pointerId]){this._pointers[i.pointerId]=i}},_globalPointerUp:function(i){delete this._pointers[i.pointerId];this._pointersCount--},_handlePointer:function(l,k){l.touches=[];for(var j in this._pointers){l.touches.push(this._pointers[j])}l.changedTouches=[l];k(l)},_addPointerMove:function(j,i,l){var k=a.bind(function(m){if((m.pointerType===m.MSPOINTER_TYPE_MOUSE||m.pointerType==="mouse")&&m.buttons===0){return}this._handlePointer(m,i)},this);j["_leaflet_touchmove"+l]=k;j.addEventListener(this.POINTER_MOVE,k,false)},_addPointerEnd:function(j,i,l){var k=a.bind(function(m){this._handlePointer(m,i)},this);j["_leaflet_touchend"+l]=k;j.addEventListener(this.POINTER_UP,k,false);j.addEventListener(this.POINTER_CANCEL,k,false)}});a.Map.mergeOptions({touchZoom:a.Browser.touch&&!a.Browser.android23,bounceAtZoomLimits:true});a.Map.TouchZoom=a.Handler.extend({addHooks:function(){a.DomUtil.addClass(this._map._container,"leaflet-touch-zoom");a.DomEvent.on(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){a.DomUtil.removeClass(this._map._container,"leaflet-touch-zoom");a.DomEvent.off(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(k){var j=this._map;if(!k.touches||k.touches.length!==2||j._animatingZoom||this._zooming){return}var l=j.mouseEventToContainerPoint(k.touches[0]),i=j.mouseEventToContainerPoint(k.touches[1]);this._centerPoint=j.getSize()._divideBy(2);this._startLatLng=j.containerPointToLatLng(this._centerPoint);if(j.options.touchZoom!=="center"){this._pinchStartLatLng=j.containerPointToLatLng(l.add(i)._divideBy(2))}this._startDist=l.distanceTo(i);this._startZoom=j.getZoom();this._moved=false;this._zooming=true;j._stop();a.DomEvent.on(b,"touchmove",this._onTouchMove,this).on(b,"touchend",this._onTouchEnd,this);a.DomEvent.preventDefault(k)},_onTouchMove:function(l){if(!l.touches||l.touches.length!==2||!this._zooming){return}var k=this._map,n=k.mouseEventToContainerPoint(l.touches[0]),j=k.mouseEventToContainerPoint(l.touches[1]),m=n.distanceTo(j)/this._startDist;this._zoom=k.getScaleZoom(m,this._startZoom);if(!k.options.bounceAtZoomLimits&&((this._zoom<k.getMinZoom()&&m<1)||(this._zoom>k.getMaxZoom()&&m>1))){this._zoom=k._limitZoom(this._zoom)}if(k.options.touchZoom==="center"){this._center=this._startLatLng;if(m===1){return}}else{var o=n._add(j)._divideBy(2)._subtract(this._centerPoint);if(m===1&&o.x===0&&o.y===0){return}this._center=k.unproject(k.project(this._pinchStartLatLng,this._zoom).subtract(o),this._zoom)}if(!this._moved){k._moveStart(true);this._moved=true}a.Util.cancelAnimFrame(this._animRequest);var i=a.bind(k._move,k,this._center,this._zoom,{pinch:true,round:false});this._animRequest=a.Util.requestAnimFrame(i,this,true);a.DomEvent.preventDefault(l)},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=false;return}this._zooming=false;a.Util.cancelAnimFrame(this._animRequest);a.DomEvent.off(b,"touchmove",this._onTouchMove).off(b,"touchend",this._onTouchEnd);if(this._map.options.zoomAnimation){this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),true,this._map.options.zoomSnap)}else{this._map._resetView(this._center,this._map._limitZoom(this._zoom))}}});a.Map.addInitHook("addHandler","touchZoom",a.Map.TouchZoom);a.Map.mergeOptions({tap:true,tapTolerance:15});a.Map.Tap=a.Handler.extend({addHooks:function(){a.DomEvent.on(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){a.DomEvent.off(this._map._container,"touchstart",this._onDown,this)},_onDown:function(j){if(!j.touches){return}a.DomEvent.preventDefault(j);this._fireClick=true;if(j.touches.length>1){this._fireClick=false;clearTimeout(this._holdTimeout);return}var k=j.touches[0],i=k.target;this._startPos=this._newPos=new a.Point(k.clientX,k.clientY);if(i.tagName&&i.tagName.toLowerCase()==="a"){a.DomUtil.addClass(i,"leaflet-active")}this._holdTimeout=setTimeout(a.bind(function(){if(this._isTapValid()){this._fireClick=false;this._onUp();this._simulateEvent("contextmenu",k)}},this),1000);this._simulateEvent("mousedown",k);a.DomEvent.on(b,{touchmove:this._onMove,touchend:this._onUp},this)},_onUp:function(j){clearTimeout(this._holdTimeout);a.DomEvent.off(b,{touchmove:this._onMove,touchend:this._onUp},this);if(this._fireClick&&j&&j.changedTouches){var k=j.changedTouches[0],i=k.target;if(i&&i.tagName&&i.tagName.toLowerCase()==="a"){a.DomUtil.removeClass(i,"leaflet-active")}this._simulateEvent("mouseup",k);if(this._isTapValid()){this._simulateEvent("click",k)}}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(i){var j=i.touches[0];this._newPos=new a.Point(j.clientX,j.clientY);this._simulateEvent("mousemove",j)},_simulateEvent:function(i,k){var j=b.createEvent("MouseEvents");j._simulated=true;k.target._simulatedClick=true;j.initMouseEvent(i,true,true,f,1,k.screenX,k.screenY,k.clientX,k.clientY,false,false,false,false,0,null);k.target.dispatchEvent(j)}});if(a.Browser.touch&&!a.Browser.pointer){a.Map.addInitHook("addHandler","tap",a.Map.Tap)}a.Map.mergeOptions({boxZoom:true});a.Map.BoxZoom=a.Handler.extend({initialize:function(i){this._map=i;this._container=i._container;this._pane=i._panes.overlayPane},addHooks:function(){a.DomEvent.on(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){a.DomEvent.off(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_resetState:function(){this._moved=false},_onMouseDown:function(i){if(!i.shiftKey||((i.which!==1)&&(i.button!==1))){return false}this._resetState();a.DomUtil.disableTextSelection();a.DomUtil.disableImageDrag();this._startPoint=this._map.mouseEventToContainerPoint(i);a.DomEvent.on(b,{contextmenu:a.DomEvent.stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(k){if(!this._moved){this._moved=true;this._box=a.DomUtil.create("div","leaflet-zoom-box",this._container);a.DomUtil.addClass(this._container,"leaflet-crosshair");this._map.fire("boxzoomstart")}this._point=this._map.mouseEventToContainerPoint(k);var j=new a.Bounds(this._point,this._startPoint),i=j.getSize();a.DomUtil.setPosition(this._box,j.min);this._box.style.width=i.x+"px";this._box.style.height=i.y+"px"},_finish:function(){if(this._moved){a.DomUtil.remove(this._box);a.DomUtil.removeClass(this._container,"leaflet-crosshair")}a.DomUtil.enableTextSelection();a.DomUtil.enableImageDrag();a.DomEvent.off(b,{contextmenu:a.DomEvent.stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(j){if((j.which!==1)&&(j.button!==1)){return}this._finish();if(!this._moved){return}setTimeout(a.bind(this._resetState,this),0);var i=new a.LatLngBounds(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(i).fire("boxzoomend",{boxZoomBounds:i})},_onKeyDown:function(i){if(i.keyCode===27){this._finish()}}});a.Map.addInitHook("addHandler","boxZoom",a.Map.BoxZoom);a.Map.mergeOptions({keyboard:true,keyboardPanDelta:80});a.Map.Keyboard=a.Handler.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(i){this._map=i;this._setPanDelta(i.options.keyboardPanDelta);this._setZoomDelta(i.options.zoomDelta)},addHooks:function(){var i=this._map._container;if(i.tabIndex<=0){i.tabIndex="0"}a.DomEvent.on(i,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this);this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks();a.DomEvent.off(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){return}var i=b.body,l=b.documentElement,k=i.scrollTop||l.scrollTop,j=i.scrollLeft||l.scrollLeft;this._map._container.focus();f.scrollTo(j,k)},_onFocus:function(){this._focused=true;this._map.fire("focus")},_onBlur:function(){this._focused=false;this._map.fire("blur")},_setPanDelta:function(n){var m=this._panKeys={},k=this.keyCodes,l,j;for(l=0,j=k.left.length;l<j;l++){m[k.left[l]]=[-1*n,0]}for(l=0,j=k.right.length;l<j;l++){m[k.right[l]]=[n,0]}for(l=0,j=k.down.length;l<j;l++){m[k.down[l]]=[0,n]}for(l=0,j=k.up.length;l<j;l++){m[k.up[l]]=[0,-1*n]}},_setZoomDelta:function(n){var m=this._zoomKeys={},k=this.keyCodes,l,j;for(l=0,j=k.zoomIn.length;l<j;l++){m[k.zoomIn[l]]=n}for(l=0,j=k.zoomOut.length;l<j;l++){m[k.zoomOut[l]]=-n}},_addHooks:function(){a.DomEvent.on(b,"keydown",this._onKeyDown,this)},_removeHooks:function(){a.DomEvent.off(b,"keydown",this._onKeyDown,this)},_onKeyDown:function(k){if(k.altKey||k.ctrlKey||k.metaKey){return}var i=k.keyCode,j=this._map,l;if(i in this._panKeys){if(j._panAnim&&j._panAnim._inProgress){return}l=this._panKeys[i];if(k.shiftKey){l=a.point(l).multiplyBy(3)}j.panBy(l);if(j.options.maxBounds){j.panInsideBounds(j.options.maxBounds)}}else{if(i in this._zoomKeys){j.setZoom(j.getZoom()+(k.shiftKey?3:1)*this._zoomKeys[i])}else{if(i===27){j.closePopup()}else{return}}}a.DomEvent.stop(k)}});a.Map.addInitHook("addHandler","keyboard",a.Map.Keyboard);a.Handler.MarkerDrag=a.Handler.extend({initialize:function(i){this._marker=i},addHooks:function(){var i=this._marker._icon;if(!this._draggable){this._draggable=new a.Draggable(i,i,true)}this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this).enable();a.DomUtil.addClass(i,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this).disable();if(this._marker._icon){a.DomUtil.removeClass(this._marker._icon,"leaflet-marker-draggable")}},moved:function(){return this._draggable&&this._draggable._moved},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng();this._marker.closePopup().fire("movestart").fire("dragstart")},_onDrag:function(k){var i=this._marker,m=i._shadow,j=a.DomUtil.getPosition(i._icon),l=i._map.layerPointToLatLng(j);if(m){a.DomUtil.setPosition(m,j)}i._latlng=l;k.latlng=l;k.oldLatLng=this._oldLatLng;i.fire("move",k).fire("drag",k)},_onDragEnd:function(i){delete this._oldLatLng;this._marker.fire("moveend").fire("dragend",i)}});a.Control=a.Class.extend({options:{position:"topright"},initialize:function(i){a.setOptions(this,i)},getPosition:function(){return this.options.position},setPosition:function(i){var j=this._map;if(j){j.removeControl(this)}this.options.position=i;if(j){j.addControl(this)}return this},getContainer:function(){return this._container},addTo:function(k){this.remove();this._map=k;var i=this._container=this.onAdd(k),l=this.getPosition(),j=k._controlCorners[l];a.DomUtil.addClass(i,"leaflet-control");if(l.indexOf("bottom")!==-1){j.insertBefore(i,j.firstChild)}else{j.appendChild(i)}return this},remove:function(){if(!this._map){return this}a.DomUtil.remove(this._container);if(this.onRemove){this.onRemove(this._map)}this._map=null;return this},_refocusOnMap:function(i){if(this._map&&i&&i.screenX>0&&i.screenY>0){this._map.getContainer().focus()}}});a.control=function(i){return new a.Control(i)};a.Map.include({addControl:function(i){i.addTo(this);return this},removeControl:function(i){i.remove();return this},_initControlPos:function(){var k=this._controlCorners={},j="leaflet-",i=this._controlContainer=a.DomUtil.create("div",j+"control-container",this._container);function m(n,o){var l=j+n+" "+j+o;k[n+o]=a.DomUtil.create("div",l,i)}m("top","left");m("top","right");m("bottom","left");m("bottom","right")},_clearControlPos:function(){a.DomUtil.remove(this._controlContainer)}});a.Control.Zoom=a.Control.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"-",zoomOutTitle:"Zoom out"},onAdd:function(k){var l="leaflet-control-zoom",i=a.DomUtil.create("div",l+" leaflet-bar"),j=this.options;this._zoomInButton=this._createButton(j.zoomInText,j.zoomInTitle,l+"-in",i,this._zoomIn);this._zoomOutButton=this._createButton(j.zoomOutText,j.zoomOutTitle,l+"-out",i,this._zoomOut);this._updateDisabled();k.on("zoomend zoomlevelschange",this._updateDisabled,this);return i},onRemove:function(i){i.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){this._disabled=true;this._updateDisabled();return this},enable:function(){this._disabled=false;this._updateDisabled();return this},_zoomIn:function(i){if(!this._disabled&&this._map._zoom<this._map.getMaxZoom()){this._map.zoomIn(this._map.options.zoomDelta*(i.shiftKey?3:1))}},_zoomOut:function(i){if(!this._disabled&&this._map._zoom>this._map.getMinZoom()){this._map.zoomOut(this._map.options.zoomDelta*(i.shiftKey?3:1))}},_createButton:function(j,n,l,i,k){var m=a.DomUtil.create("a",l,i);m.innerHTML=j;m.href="#";m.title=n;m.setAttribute("role","button");m.setAttribute("aria-label",n);a.DomEvent.on(m,"mousedown dblclick",a.DomEvent.stopPropagation).on(m,"click",a.DomEvent.stop).on(m,"click",k,this).on(m,"click",this._refocusOnMap,this);return m},_updateDisabled:function(){var j=this._map,i="leaflet-disabled";a.DomUtil.removeClass(this._zoomInButton,i);a.DomUtil.removeClass(this._zoomOutButton,i);if(this._disabled||j._zoom===j.getMinZoom()){a.DomUtil.addClass(this._zoomOutButton,i)}if(this._disabled||j._zoom===j.getMaxZoom()){a.DomUtil.addClass(this._zoomInButton,i)}}});a.Map.mergeOptions({zoomControl:true});a.Map.addInitHook(function(){if(this.options.zoomControl){this.zoomControl=new a.Control.Zoom();this.addControl(this.zoomControl)}});a.control.zoom=function(i){return new a.Control.Zoom(i)};a.Control.Attribution=a.Control.extend({options:{position:"bottomright",prefix:'<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(i){a.setOptions(this,i);this._attributions={}},onAdd:function(k){k.attributionControl=this;this._container=a.DomUtil.create("div","leaflet-control-attribution");if(a.DomEvent){a.DomEvent.disableClickPropagation(this._container)}for(var j in k._layers){if(k._layers[j].getAttribution){this.addAttribution(k._layers[j].getAttribution())}}this._update();return this._container},setPrefix:function(i){this.options.prefix=i;this._update();return this},addAttribution:function(i){if(!i){return this}if(!this._attributions[i]){this._attributions[i]=0}this._attributions[i]++;this._update();return this},removeAttribution:function(i){if(!i){return this}if(this._attributions[i]){this._attributions[i]--;this._update()}return this},_update:function(){if(!this._map){return}var l=[];for(var j in this._attributions){if(this._attributions[j]){l.push(j)}}var k=[];if(this.options.prefix){k.push(this.options.prefix)}if(l.length){k.push(l.join(", "))}this._container.innerHTML=k.join(" | ")}});a.Map.mergeOptions({attributionControl:true});a.Map.addInitHook(function(){if(this.options.attributionControl){new a.Control.Attribution().addTo(this)}});a.control.attribution=function(i){return new a.Control.Attribution(i)};a.Control.Scale=a.Control.extend({options:{position:"bottomleft",maxWidth:100,metric:true,imperial:true},onAdd:function(l){var k="leaflet-control-scale",i=a.DomUtil.create("div",k),j=this.options;this._addScales(j,k+"-line",i);l.on(j.updateWhenIdle?"moveend":"move",this._update,this);l.whenReady(this._update,this);return i},onRemove:function(i){i.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(j,k,i){if(j.metric){this._mScale=a.DomUtil.create("div",k,i)}if(j.imperial){this._iScale=a.DomUtil.create("div",k,i)}},_update:function(){var j=this._map,k=j.getSize().y/2;var i=j.distance(j.containerPointToLatLng([0,k]),j.containerPointToLatLng([this.options.maxWidth,k]));this._updateScales(i)},_updateScales:function(i){if(this.options.metric&&i){this._updateMetric(i)}if(this.options.imperial&&i){this._updateImperial(i)}},_updateMetric:function(k){var i=this._getRoundNum(k),j=i<1000?i+" m":(i/1000)+" km";this._updateScale(this._mScale,j,i/k)},_updateImperial:function(m){var l=m*3.2808399,k,j,i;if(l>5280){k=l/5280;j=this._getRoundNum(k);this._updateScale(this._iScale,j+" mi",j/k)}else{i=this._getRoundNum(l);this._updateScale(this._iScale,i+" ft",i/l)}},_updateScale:function(k,j,i){k.style.width=Math.round(this.options.maxWidth*i)+"px";k.innerHTML=j},_getRoundNum:function(j){var i=Math.pow(10,(Math.floor(j)+"").length-1),k=j/i;k=k>=10?10:k>=5?5:k>=3?3:k>=2?2:1;return i*k}});a.control.scale=function(i){return new a.Control.Scale(i)};a.Control.Layers=a.Control.extend({options:{collapsed:true,position:"topright",autoZIndex:true,hideSingleBase:false,sortLayers:false,sortFunction:function(l,j,k,i){return k<i?-1:(i<k?1:0)}},initialize:function(m,l,j){a.setOptions(this,j);this._layers=[];this._lastZIndex=0;this._handlingClick=false;for(var k in m){this._addLayer(m[k],k)}for(k in l){this._addLayer(l[k],k,true)}},onAdd:function(i){this._initLayout();this._update();this._map=i;i.on("zoomend",this._checkDisabledLayers,this);return this._container},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var j=0;j<this._layers.length;j++){this._layers[j].layer.off("add remove",this._onLayerChange,this)}},addBaseLayer:function(j,i){this._addLayer(j,i);return(this._map)?this._update():this},addOverlay:function(j,i){this._addLayer(j,i,true);return(this._map)?this._update():this},removeLayer:function(i){i.off("add remove",this._onLayerChange,this);var j=this._getLayer(a.stamp(i));if(j){this._layers.splice(this._layers.indexOf(j),1)}return(this._map)?this._update():this},expand:function(){a.DomUtil.addClass(this._container,"leaflet-control-layers-expanded");this._form.style.height=null;var i=this._map.getSize().y-(this._container.offsetTop+50);if(i<this._form.clientHeight){a.DomUtil.addClass(this._form,"leaflet-control-layers-scrollbar");this._form.style.height=i+"px"}else{a.DomUtil.removeClass(this._form,"leaflet-control-layers-scrollbar")}this._checkDisabledLayers();return this},collapse:function(){a.DomUtil.removeClass(this._container,"leaflet-control-layers-expanded");return this},_initLayout:function(){var j="leaflet-control-layers",i=this._container=a.DomUtil.create("div",j),m=this.options.collapsed;i.setAttribute("aria-haspopup",true);a.DomEvent.disableClickPropagation(i);if(!a.Browser.touch){a.DomEvent.disableScrollPropagation(i)}var l=this._form=a.DomUtil.create("form",j+"-list");if(m){this._map.on("click",this.collapse,this);if(!a.Browser.android){a.DomEvent.on(i,{mouseenter:this.expand,mouseleave:this.collapse},this)}}var k=this._layersLink=a.DomUtil.create("a",j+"-toggle",i);k.href="#";k.title="Layers";if(a.Browser.touch){a.DomEvent.on(k,"click",a.DomEvent.stop).on(k,"click",this.expand,this)}else{a.DomEvent.on(k,"focus",this.expand,this)}a.DomEvent.on(l,"click",function(){setTimeout(a.bind(this._onInputClick,this),0)},this);if(!m){this.expand()}this._baseLayersList=a.DomUtil.create("div",j+"-base",l);this._separator=a.DomUtil.create("div",j+"-separator",l);this._overlaysList=a.DomUtil.create("div",j+"-overlays",l);i.appendChild(l)},_getLayer:function(k){for(var j=0;j<this._layers.length;j++){if(this._layers[j]&&a.stamp(this._layers[j].layer)===k){return this._layers[j]}}},_addLayer:function(k,j,i){k.on("add remove",this._onLayerChange,this);this._layers.push({layer:k,name:j,overlay:i});if(this.options.sortLayers){this._layers.sort(a.bind(function(m,l){return this.options.sortFunction(m.layer,l.layer,m.name,l.name)},this))}if(this.options.autoZIndex&&k.setZIndex){this._lastZIndex++;k.setZIndex(this._lastZIndex)}},_update:function(){if(!this._container){return this}a.DomUtil.empty(this._baseLayersList);a.DomUtil.empty(this._overlaysList);var j,m,l,n,k=0;for(l=0;l<this._layers.length;l++){n=this._layers[l];this._addItem(n);m=m||n.overlay;j=j||!n.overlay;k+=!n.overlay?1:0}if(this.options.hideSingleBase){j=j&&k>1;this._baseLayersList.style.display=j?"":"none"}this._separator.style.display=m&&j?"":"none";return this},_onLayerChange:function(k){if(!this._handlingClick){this._update()}var j=this._getLayer(a.stamp(k.target));var i=j.overlay?(k.type==="add"?"overlayadd":"overlayremove"):(k.type==="add"?"baselayerchange":null);if(i){this._map.fire(i,j)}},_createRadioElement:function(i,l){var k='<input type="radio" class="leaflet-control-layers-selector" name="'+i+'"'+(l?' checked="checked"':"")+"/>";var j=b.createElement("div");j.innerHTML=k;return j.firstChild},_addItem:function(o){var l=b.createElement("label"),n=this._map.hasLayer(o.layer),j;if(o.overlay){j=b.createElement("input");j.type="checkbox";j.className="leaflet-control-layers-selector";j.defaultChecked=n}else{j=this._createRadioElement("leaflet-base-layers",n)}j.layerId=a.stamp(o.layer);a.DomEvent.on(j,"click",this._onInputClick,this);var k=b.createElement("span");k.innerHTML=" "+o.name;var m=b.createElement("div");l.appendChild(m);m.appendChild(j);m.appendChild(k);var i=o.overlay?this._overlaysList:this._baseLayersList;i.appendChild(l);this._checkDisabledLayers();return l},_onInputClick:function(){var k=this._form.getElementsByTagName("input"),l,p,j;var n=[],m=[];this._handlingClick=true;for(var o=k.length-1;o>=0;o--){l=k[o];p=this._getLayer(l.layerId).layer;j=this._map.hasLayer(p);if(l.checked&&!j){n.push(p)}else{if(!l.checked&&j){m.push(p)}}}for(o=0;o<m.length;o++){this._map.removeLayer(m[o])}for(o=0;o<n.length;o++){this._map.addLayer(n[o])}this._handlingClick=false;this._refocusOnMap()},_checkDisabledLayers:function(){var j=this._form.getElementsByTagName("input"),k,m,n=this._map.getZoom();for(var l=j.length-1;l>=0;l--){k=j[l];m=this._getLayer(k.layerId).layer;k.disabled=(m.options.minZoom!==h&&n<m.options.minZoom)||(m.options.maxZoom!==h&&n>m.options.maxZoom)}},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}});a.control.layers=function(k,j,i){return new a.Control.Layers(k,j,i)}}(window,document));