function m(){return function(){}}function s(d){return function(a){this[d]=a}}function v(d){return function(){return this[d]}}function A(d){return function(){return d}} (function(){var d={};window.SP=d;d.Function={formatData:function(a,b){function c(a){return(10>a?"0":"")+a}var d=new Date(a);return b.replace(/yyyy|MM|dd|HH|mm|ss/g,function(a){switch(a){case "yyyy":return c(d.getFullYear());case "MM":return c(d.getMonth()+1);case "mm":return c(d.getMinutes());case "dd":return c(d.getDate());case "HH":return c(d.getHours());case "ss":return c(d.getSeconds())}})},formatDate:function(a,b){var c=new Date(a),d={"M+":c.getMonth()+1,"d+":c.getDate(),"h+":c.getHours(),"m+":c.getMinutes(), "s+":c.getSeconds(),"q+":Math.floor((c.getMonth()+3)/3),S:c.getMilliseconds()};/(y+)/.test(b)&&(b=b.replace(RegExp.$1,(c.getFullYear()+"").substr(4-RegExp.$1.length)));for(var e in d)RegExp("("+e+")").test(b)&&(b=b.replace(RegExp.$1,1==RegExp.$1.length?d[e]:("00"+d[e]).substr((""+d[e]).length)));return b},isInDocument:function(a){return a.parentNode&&11!=a.parentNode.nodeType},getLngLatByOffset:function(a,b,c){return new d.LngLat(a.lng+360*Math.asin(Math.sin(Math.round(b)/12756274)/Math.cos(a.lat* Math.PI/180))/Math.PI,a.lat+360*Math.asin(Math.round(c)/12756274)/Math.PI)},createElement:function(a){var b=document.createElement(a.name);a.id&&(b.id=a.id);a.cssText&&(b.style.cssText=a.cssText);return b},createElementNS:function(a){var b=document.createElementNS(a.xmlns,a.name);a.cssText&&(b.style.cssText=a.cssText);a.id&&b.setAttribute("id",a.id);return b},getElement:function(a){"string"==typeof a&&(a=document.getElementById(a));return a},unSelect:function(a){"WebkitUserSelect"in document.documentElement.style? (a.style.WebkitUserSelect="none",a.style.onselectstart="return false;"):"MozUserSelect"in document.documentElement.style?a.style.MozUserSelect="none":"OUserSelect"in document.documentElement.style?a.style.jc="none":"msUserSelect"in document.documentElement.style?a.style.bc="none":(a.unselectable="on",a.style.bc="none",a.onselectstart="return false;")},pageSize:function(a){return new d.Size(a.offsetWidth||document.body.clientWidth,a.offsetHeight||(d.Browser.isIE?"CSS1Compat"==document.compatMode?document.documentElement.offsetHeight: document.body.offsetHeight:self.innerHeight))},lastSeqID:0,createUniqueID:function(){d.Function.lastSeqID+=1;return d.Function.lastSeqID},applyDefaults:function(a,b,c){b=b||{};if(c)for(var d in b)a[c+d]=b[d];else for(d in b)a[d]=b[d]},extend:function(a,b){if(a&&b&&"object"==typeof b){for(var c in b)a[c]=b[c];c="initialize hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");for(var d=0,e;d=e?(c=a[0].lng,d=a[0].lat):e>=(g=c*c+d*d)?(c=a[1].lng,d=a[1].lat):(c= a[0].lng+e*c/g,d=a[0].lat+e*d/g);return{lng:c,lat:d,dis:Math.pow(b.lng-c,2)+Math.pow(b.lat-d,2)}},calculatePedal:function(a,b){for(var c=null,f=null,e=null,c=null,g=-1,h=f=-1,k=1,l=a.length;ka?a+360:a},za:function(a,b){if(-1==a||-1==b)return 0;var c=Math.abs(b-a);return 180>= c?c:360-c},getEventPosition:function(a,b){try{if("undefined"!=typeof a.pageX){var c=d.Function.getPageOffset(b);return[a.pageX-c[0],a.pageY-c[1]]}if("undefined"!=typeof a.offsetX){for(var f=a.target||a.srcElement,c=[a.offsetX,a.offsetY];f&&f!=b;){var e=f.style.zoom;e&&(c[0]*=e,c[1]*=e);0==f.clientWidth&&0==f.clientHeight&&f.offsetParent&&"TD"==f.offsetParent.nodeName||(c[0]+=f.offsetLeft,c[1]+=f.offsetTop);f=f.offsetParent}return c}return[0,0]}catch(g){}},getPageOffset:function(a){var b=0,c=0;if(c= a.getBoundingClientRect()){b=Math.floor(c.left)+Math.max(document.documentElement.scrollLeft,document.body.scrollLeft);c=Math.floor(c.top)+Math.max(document.documentElement.scrollTop,document.body.scrollTop);b-=document.documentElement.clientLeft;c-=document.documentElement.clientTop;if("CSS1Compat"!=document.compatMode&&d.Browser.isIE()){a=document.body.style.borderLeftWidth;var f=document.body.style.borderTopWidth,b=b-(isNaN(a)?2:a),c=c-(isNaN(f)?2:f)}return[b,c]}for(b=[0,0];a&&a.offsetParent;)b[0]+= a.offsetLeft,b[1]+=a.offsetTop,a=a.offsetParent;return b},getOffset:function(a,b){a=this.zb(a);var c=new d.Pixel(a.offsetX,a.offsetY),f=a.target,e=-1<"svg,path,circle,".indexOf(a.target.nodeName);if(d.Browser.isOpera()&&-1<["path","circle"].indexOf(a.target.nodeName))e=b.getOverlayLayer().p[a.target.id].pc,e=b.lngLatToContainerPixel(e,b.level),new d.Pixel("path"==a.target.nodeName?5:-2,"path"==a.target.nodeName?5:-1),c.x+=e.x-b._relative.x-5,c.y+=e.y-b._relative.y-5;else if(e&&!d.Browser.isIE9()){"svg"!= f.nodeName&&(f=f.parentNode);try{c.x=parseInt(f.style.left)+a.offsetX,c.y=parseInt(f.style.top)+a.offsetY}catch(g){return c}f=f.parentNode}try{for(;f&&"tmmapc"!=f.id;)c.x+=f.offsetLeft||0,c.y+=f.offsetTop||0,f=f.offsetParent}catch(h){}finally{return f||(c.x+=b._layerOffset.x,c.y+=b._layerOffset.y),c}},zb:function(a){d.Browser.isIE()&&(a.charCode="keypress"==a.type?a.keyCode:0,a.eventPhase=2,a.isChar=0b)return a.substring(0,e-1)+""}},checkFieldLength:function(a,b){var c=0;for(i=0;ib?this.cutStrLength(a, b):a},formatNumber:function(a,b){var c=a.toString(),d=c.indexOf(".");return 0c.lng&&(c.lng+=360);180this.northeast.lng},lb:function(a){return a>this.northeast.lat},equals:function(a){return"object"!=typeof a||"object"!=typeof a.southwest||"object"!=typeof a.northeast||isNaN(a.southwest.lng)||isNaN(a.southwest.lat)||isNaN(a.northeast.lng)||isNaN(a.northeast.lat)?!1:a.southwest.lng==this.southwest.lng&&a.southwest.lat==this.southwest.lat&&a.northeast.lng==this.northeast.lng&&a.northeast.lat==this.northeast.lat},containsLngLat:function(a){if("object"!=typeof a||isNaN(a.lng)|| isNaN(a.lat))return!1;var b=this.southwest,c=this.northeast;return a.lng>b.lng&&a.lat>b.lat&&a.lnga.lng||c.lng?!0:!1},containsBounds:function(a){if(!(a instanceof d.LngLatBounds))return null;var b=a.southwest;a=a.northeast;var c=this.southwest,f=this.northeast;return b.lng>c.lng||b.lat>c.lat||b.lngc.lng||a.lat>c.lat||a.lng=f&&c>=a?new d.LngLatBounds(new d.LngLat(f,a),new d.LngLat(b,a)):0>b&&f>b?new d.LngLatBounds(new d.LngLat(b,a),new d.LngLat(f,a)):null},getIntersection:function(a,b){var c=[],f=this.northeast,e=this.southwest;if(a.lat==b.lat){if(a.lng==b.lng)return c;if(a.lat>=e.lat&&a.lat=f.lng?1:0,h=b.lng<=e.lng?-1:b.lng>=f.lng?1:0;if(g==h)return c;0>=g+h&&c.push(new d.LngLat(e.lng, a.lat));0<=g+h&&c.push(new d.LngLat(f.lng,a.lat))}return c}if(a.lng==b.lng){if(a.lng>=e.lng&&a.lng=f.lat?1:0;h=b.lat<=e.lat?-1:b.lat>=f.lat?1:0;if(g==h)return c;0>=g+h&&c.push(new d.LngLat(a.lng,e.lat));0<=g+h&&c.push(new d.LngLat(a.lng,f.lat))}return c}g=(b.lat-a.lat)*(e.lng-a.lng)/(b.lng-a.lng)+a.lat;g>=e.lat&&g=(g-a.lat)*(g-b.lat)&&c.push(new d.LngLat(e.lng,g));g=(b.lat-a.lat)*(f.lng-a.lng)/(b.lng-a.lng)+a.lat;g>=e.lat&&g=(g-a.lat)*(g-b.lat)&& c.push(new d.LngLat(f.lng,g));g=(b.lng-a.lng)*(f.lat-a.lat)/(b.lat-a.lat)+a.lng;g>=e.lng&&g=(g-a.lng)*(g-b.lng)&&c.push(new d.LngLat(g,f.lat));g=(b.lng-a.lng)*(e.lat-a.lat)/(b.lat-a.lat)+a.lng;g>=e.lng&&g=(g-a.lng)*(g-b.lng)&&c.push(new d.LngLat(g,e.lat));2==c.length&&c[0].lng==c[1].lng&&c.pop();return c},extend:function(a){"object"!=typeof a||isNaN(a.lng)||isNaN(a.lat)||(this.ob(a.lng)&&(this.southwest.lng=a.lng),this.nb(a.lat)&&(this.southwest.lat=a.lat),this.mb(a.lng)&&(this.northeast.lng= a.lng),this.lb(a.lat)&&(this.northeast.lat=a.lat))},getCenter:function(){return new d.LngLat((this.southwest.lng+this.northeast.lng)/2,(this.northeast.lat+this.southwest.lat)/2)},isEmpty:function(){return this.southwest.lng==this.northeast.lng||this.southwest.lat==this.northeast.lat},setSouthWest:s("southwest"),getSouthWest:v("southwest"),setNorthEast:s("northeast"),getNorthEast:v("northeast"),isNull:function(){return!(this.southwest&&this.northeast)},getWidth:function(){return this.northeast.lng- this.southwest.lng},getHeight:function(){return this.northeast.lat-this.southwest.lat}});d.PixelBounds=d.Class(d.LngLatBounds,{southwest:null,northeast:null,initialize:function(a,b){a instanceof d.Pixel&&b instanceof d.Pixel&&(this.southwest=a,this.northeast=b)},containsPixel:function(a){return"object"!=typeof a||a.isNull()?!1:a.x>=this.southwest.x&&a.y=this.northeast.y},getCenter:function(){return new d.Pixel((this.southwest.x+this.northeast.x)/2,(this.northeast.y+ this.southwest.y)/2)}});d.Size=d.Class({width:0,height:0,initialize:function(a,b){isNaN(a)&&(a=0);isNaN(b)&&(b=0);this.width=Number(a);this.height=Number(b)},getWidth:v("width"),getHeight:v("height"),equals:function(a){return"object"!=typeof a||isNaN(a.width)||isNaN(a.height)?!1:a.width==a.width&&a.height==a.height},toString:function(a){return this.width+(a||",")+this.height}});d.Event={u:{},isLeftClick:function(a){return 2!=a.which&&1==a.button||0==a.button},isRightClick:function(a){return a.which&& 3==a.which||a.button&&2==a.button},element:function(a){return a.target||a.srcElement},observe:function(a,b,c){a=d.Function.getElement(a);"keypress"==b&&(d.Browser.isSupportKeypress()||a.attachEvent)&&(b="keydown");a._eventCacheID||(a._eventCacheID="eventCacheID_"+d.Function.createUniqueID());var f=a._eventCacheID;d.Event.u[f]||(d.Event.u[f]=[]);d.Event.u[f].push({element:a,type:b,observer:c});a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,c)},stopObservingElement:function(a){a= d.Function.getElement(a);d.Event.Ra(d.Event.u[a._eventCacheID])},stopObserving:function(a,b){a=d.Function.getElement(a);var c=a._eventCacheID;"keypress"==name&&(d.Browser.isSupportKeypress()||a.detachEvent)&&(name="keydown");var f=d.Event.u[c],e=!1;if(f)for(var g,h=0,k=f.length;hb||b>=e)return null;for(;0>a;)a+=e;for(;a>=e;)a-= e;g="C"+this.getHexString(a);return d+this.getDir(c,b)+g+".jpg"},getDir:function(a,b){var c=levDir=rowDir="";levDir=2>a?"LN"+a.toString():12>a?"L0"+(a-2).toString():"L"+(a-2).toString();rowDir="R"+this.getHexString(b);return c=levDir+"/"+rowDir+"/"},getHexString:function(a){a=a.toString(16);switch(a.length){case 1:a="0000000"+a;break;case 2:return"000000"+a;case 3:a="00000"+a;break;case 4:a="0000"+a;break;case 5:a="000"+a;break;case 6:a="00"+a;break;case 7:a="0"+a}return a},rb:function(){this.e=d.Function.createElement({name:"div", cssText:"position:absolute;left:0px;top:0px;z-index:"+this.J})},destroy:function(a){if(this.l){var b=this.e;b&&b.parentNode&&(this.m={},a?(b.parentNode.removeChild(b),delete this.e,delete this.l):b.innerHTML="")}},getTile:function(a,b,c,f,e,g){var h=this,k=h.l,l=h._options.tileSize,n=a+"."+b;if(h.m[n]&&(3<=c||1==h.N))h._resetImg(h.m[n].img,k,l,h.m,a,b,c,e,g);else{var q=f[0];f=f[1];var p=h.getTileUrl(a,b,c),p=new SPTile(p,new d.Pixel(q,f),h._options.tileSize);p._createImg();var r=p._tileCache;h.m[n]= {x:a,y:b,left:q,top:f,img:p._tileImg,cacheImg:r,z:c};q=function(){if(h.m[n]){var f=h.m[n].img,p=h.tileSize,q=k._width,t=k._height,u=k.I(k.j,k.q),x=u[1]-Math.ceil((t/2-u[3])/p),B=u[0]+Math.ceil((q/2+u[2])/p),t=u[1]+Math.ceil((t/2+u[3])/p);aB||et||c!=k.a?(k.contains.cac.style.visibility="hidden",h.m[n]=null,r.complete=!1,r.onload=null,r.onerror=null):d.Function.isInDocument(f)?h._resetImg(f,k,l,h.m,a,b,c,e,g):(f.src=r.src,1!=h.P&&(d.Browser.isIE()?f.style.filter= "alpha(opacity="+100*h.P+")":f.style.opacity=h.P),h.m[n].img=f,h.e.appendChild(f),d.Function.unSelect(h.e),window.clearTimeout(k.timer.cac),k.timer.cac=setTimeout(function(){k.contains.layer.style.visibility="visible";k.contains.ol.style.visibility="visible";k.contains.re.style.visibility="visible";k.contains.cac.style.visibility="hidden"},1E3))}};r.complete?q():r.onload=q;r.onerror=function(){r.src=k.errorUrl}}},_resetImg:function(a,b,c,d,e,g,h,k,l){b=this.l;h=b.q;h=[(-b.j.lng+b.X)/h[0],(b.j.lat- b.Y)/h[1]];b=[l*b.tileSize+parseInt(h[0])+b._width/2,k*b.tileSize+parseInt(h[1])+b._height/2];a.style.left=b[0]+"px";a.style.top=b[1]+"px";a.style.width=c+"px";a.style.height=c+"px";d[e+"."+g].left=b[0];d[e+"."+g].top=b[1]},modifiedTile:function(a,b,c,d){c=this._options.tileSize;this.m[a+"."+b]&&(a=this.m[a+"."+b].img,a.style.left=d[0]+"px",a.style.top=d[1]+"px",a.style.width=c+"px",a.style.height=c+"px")},expired:function(a){a.split(".");a.split(".");var b=this.m;b[a]&&b[a].img.parentNode&&(b[a].img.parentNode.removeChild(b[a].img), b[a].cacheImg.onload=null,b[a].cacheImg.onerror=null,b[a]=null)}});d.BGTileLayer=d.Class(d.TileLayer,{initialize:function(a){a=a||{};d.TileLayer.prototype.initialize.apply(this,[a]);this._options.isMapTypeControl=a.isMapTypeControl||!1;this.projection=a.projection;this.N=0;this.J=1}});SPTile=d.Class({_tileImg:null,_tileCache:null,initialize:function(a,b,c){this.Rb=a||"";this.Sb=b.x||0;this.Tb=b.y||0;this.H=c||{width:256,height:256};this.pb()},_createImg:function(){this._tileImg=d.Function.createElement({name:"img", cssText:"width:"+this.H+"px;height:"+this.H+"px;position:absolute;background-size: "+this.H.width+"px "+this.H.height+"px;left:"+this.Sb+"px;top:"+this.Tb+"px;"});d.Function.unSelect(this._tileImg)},pb:function(){this._tileCache=d.Function.createElement({name:"img"});this._tileCache.src=this.Rb}});d.OverlayLayer=d.Class(d.Layer,{initialize:function(a){d.Layer.prototype.initialize.apply(this,[a]);this.p={};this.N=2;this.na=!1;this.ba=0;this.qb()},setMap:function(a){a instanceof d.Map?(a.contains.ol.appendChild(this.e), this.l=a):(this.destroy(!0),this.l=null)},getRenderRoot:v("Sa"),getRender:v("na"),injectRender:function(a){this.na=a;this.Sa=a.createRoot();this.e.appendChild(this.Sa)},destroy:function(){if(this.l){var a=this.e;a&&mklay.parentNode&&(a.parentNode.removeChild(a),delete this.F);lblay&&lblay.parentNode&&(lblay.parentNode.removeChild(lblay),delete this._lblay);this.p={};this.ba=0;delete this.l}},qb:function(){this.e=(0,d.Function.createElement)({name:"div",cssText:"position:absolute;left:0px;top:0px;z-index:2"})}, addOverlay:function(a){var b=this.l;b&&!this.p[a.getId()]&&(a instanceof d.Overlay||a instanceof SPVector||a instanceof d.Ship)&&(a._setMap(b),this.p[a.getId()]=a,b._events.triggerEvent(d.Const.ADD_OVERLAY,{type:d.Const.ADD_OVERLAY,overlay:a,target:this}),this.ba++)},reloadOverlays:function(){if(this.l){var a=this.na;a&&"svg"==a.name&&a.resize();for(var b in this.p)this.p[b]._redraw(!0)}},removeOverlay:function(a){var b=!1,c=this.l;"string"==typeof a&&(a=this.p[a]);if(a){if(a instanceof d.Overlay|| a instanceof SPVector||a instanceof d.Ship)b=!0,a._setMap(null),this.ba--;b&&c&&(a=a.getId(),delete this.p[a],c._events.triggerEvent(d.Const.REMOVE_OVERLAY,{type:d.Const.REMOVE_OVERLAY,overlayId:a,target:this}))}},removeAllOverlay:function(a){if(null!=a)for(var b in a)this.removeOverlay(a[b]);else for(var c in this.p)this.removeOverlay(this.p[c])},getOverlayById:function(a){return this.p[a]},getOverlays:v("p"),getOverlayLength:v("ba")});d.DragPan=d.Class({initialize:function(a){this.U=0;this.map= a;this.da=new d.Pixel(0,0);this.K=this.time=0;this.V=a.getOverlayLayer()},cc:function(a){var b=this.map;b._options.dragable&&(this.B&&this.Ea(a),this.K=10,this.qa=!0,this.da=a,this.time=(new Date).getTime(),this.B={ra:a,pa:!1},b._events.triggerEvent(d.Const.DRAG_START,{type:d.Const.DRAG_START,target:this,center:b.getCenter()}))},dc:function(a){if(this.qa){var b=this.map,c=this.B;if(c){var d=a.x-c.ra.x,e=a.y-c.ra.y;c.pa=!0;if(0!=d||0!=e)b.move(d,e,!0),b=5,100<=this.V.getOverlayLength()&&(b=15),(Math.abs(d)> b||Math.abs(e)>b)&&this.V.reloadOverlays();c.ra=a}}},$a:function(a){this.qa=!1;this.B&&this.Ea(a)},Ea:function(a){var b=this,c=b.map,f=c._options,e=b.B;if(e&&b.B.pa){var f=c.getDefaultCursor(),g=c.getCenter();c.container.style.cursor="default"==f?"url("+(d.MapConfig.API_REALM_NAME+d.MapConfig._MAP_HAND[0])+"), pointer":""==f?"pointer":"url("+f+"),auto";var h={type:d.Const.DRAG_END,target:b,center:g},k={type:d.Const.MOVE_END,target:b,center:g},b=this,c=b.map,f=c._options;b.qa=!1;if(e=b.B){h={type:d.Const.DRAG_END, target:b,center:g};k={type:d.Const.MOVE_END,target:b,center:g};if(f.dragable&&f.inertial){b.time=(new Date).getTime()-b.time;var l=a.x-b.da.x,n=a.y-b.da.y,q=d.Function.distanceByPixel(a,b.da);b.U&&d.Function.clearInterval(b.U);0.015<2*q/Math.pow(b.time,2)?(b.K=0,b.U=d.Function.createInterval(function(){var a=(new SPTween).ta.Ya,a=a(b.K,0,q/2,10)-a(b.K-1,0,q/2,10);c.move(Math.round(l/q*a),Math.round(n/q*a),!0);10<=b.K&&(d.Function.clearInterval(b.U),b.U=0,0!=q&&(c._events.triggerEvent(d.Const.DRAG_END, h),c._events.triggerEvent(d.Const.MOVE_END,k),b.V.reloadOverlays()));b.K++},70)):0!=q&&(c._events.triggerEvent(d.Const.DRAG_END,h),c._events.triggerEvent(d.Const.MOVE_END,k),b.V.reloadOverlays())}else b.B.pa&&(c._events.triggerEvent(d.Const.DRAG_END,h),c._events.triggerEvent(d.Const.MOVE_END,k),b.V.reloadOverlays());b.B=null}}}});SPTween=d.Class({ic:function(a,b,c,d){return c*a/d+b},ta:{tc:function(a,b,c,d){return c*(a/=d)*a*a+b},Ya:function(a,b,c,d){return c*((a=a/d-1)*a*a+1)+b},uc:function(a,b, c,d){return 1>(a/=d/2)?c/2*a*a*a+b:c/2*((a-=2)*a*a+2)+b}}});d.Mapset=d.Class({d:!1,Bb:function(){var a=this._options;if(a.bgTileLayer)var b=a.bgTileLayer;else b=new d.BGTileLayer({baseUrl:this.fa,tileSize:this.tileSize,maxZoom:a.maxZoom,minZoom:a.minZoom,isMapTypeControl:!0,projection:"EPSG:41001"}),b.imgUrl=d.MapConfig.API_REALM_NAME+"images/mapswitcher.png",b.imgOffset={x:-4,y:-6},b.setName("海图"),b.setId("sp_baselayer");this.v=b;this.w=a=new d.OverlayLayer({maxZoom:a.maxZoom,minZoom:a.minZoom}); this.f={};this.t=[];this.addLayer(b);this.addLayer(a)},addLayer:function(a,b){if(a instanceof d.Layer&&!this.f[a.getId()]){var c=!1;if(0==a.getType()){this.v.visible(!1);this.v.destroy(!1);a.visible(!0);this.t=[];this.v=a;var f=this._options,e=f.projection;this.d?(this.d.setProjCode(a.projection||e),c=!0):this.d=new SPProjection(a.projection||e);this.Za=this.d.minResolution;this.X=-this.d.maxResolution;this.Y=this.d.maxResolution;this.q=this.getZoomUnits(this.a,!0);this.j=this.d.inverseMercator(f.centerLngLat, !0);this.Z()}this.f[a.getId()]=a;b||a.setMap(this);if(2!=a.getType()){if(!(this._options.centerLngLat instanceof d.LngLat))return;this.ea(a)}b||this._events.triggerEvent(d.Const.ADD_LAYER,{layer:a});c&&this.w.reloadOverlays()}},changeBGLayer:function(a){a instanceof d.BGTileLayer&&(this.f[a.getId()]?(this.v.visible(!1),this.v.destroy(!1),this.v=a,a.visible(!0),this.ea(a)):this.addLayer(a))},getDefaultBGTileLayer:v("v"),getTileCode:function(a,b){return this.getProjection().getTileCode(a,b)},getLayerManager:v("f"), _getMapRelative:v("rc"),removeLayer:function(a){a&&this.f[a.getId()]&&(a.destroy(!0),delete this.f[a.getId()]);var b={};b.layerId=a.getId();this._events.triggerEvent(d.Const.REMOVE_LAYER,b)},getLayer:function(a){if(a)return this.f[a]},getBGLayerIds:function(){var a=[],b;for(b in this.f){var c=this.f[b];0==c.getType()&&a.push(c.getId())}return a},addOverlay:function(a){this.w.addOverlay(a)},removeOverlay:function(a){this.w.removeOverlay(a)},removeAllOverlay:function(){this.w.removeAllOverlay()},getOverlayById:function(a){return this.w.getOverlayById(a)}, getOverlayLayer:v("w"),Pa:function(a){var b=this.contains.root,c=this.contains.cac;c.style.left="0px";c.style.top="0px";b.style.left="0px";b.style.top="0px";this.t=[];for(var d in this.f)b=this.f[d],2!=b.getType()&&b.getVisible()&&(b.destroy(!1),a?this.Qa():this.ea(b))},Eb:function(){var a=this.contains.root,b=this.contains.cac;b.style.left="0px";b.style.top="0px";a.style.left="0px";a.style.top="0px";this.Qa()},ea:function(a){var b=a.getOptions(),c=this.a;if(!(cb.maxZoom)){var b=this.tileSize, d=this._width,e=this._height,g=this.q,h=this.j,k=this.I(this.j,g),l=k[0]-Math.ceil((d/2-k[2])/b),n=k[1]-Math.ceil((e/2-k[3])/b),q=k[0]+Math.ceil((d/2+k[2])/b),k=k[1]+Math.ceil((e/2+k[3])/b);this.I(h,g);var p=Math.pow(2,c),g=[(-h.getLng()+this.X)/g[0],(this.j.getLat()-this.Y)/g[1]];if(2!=a.getType()&&a.getVisible())for(;l<=q;l++)for(h=n;h<=k;h++){var r=l,w=h;if(0>l||l>=p)r=l%p,0>l&&(r+=p);a.getTile(r,w,c,[l*b+parseInt(g[0])+d/2,w*b+parseInt(g[1])+e/2],h,l);-1==this.t.join(",").indexOf(r+"."+w)&&this.t.push(r+ "."+w)}}},I:function(a,b){var c=a.getLng()-this.X,d=this.Y-a.getLat(),e=b[0]*this.tileSize,g=b[1]*this.tileSize,h=parseInt(c/e),k=parseInt(d/g);return[h,k,(c-h*e)/e*this.tileSize,(d-k*g)/g*this.tileSize]},sb:function(a){a=a.join(",");for(var b=0;bw._options.maxZoom)return;for(var y=n;y<=p;y++)for(var z=q;z<=l;z++){var t=y,u=z;if(0>y||y>=k)t=y%k,0>y&&(t+=k);var x=[y*d+parseInt(h[0])+e/2,z*d+parseInt(h[1])+g/2];4>a|| -1==c.indexOf(y+"."+z)?w.getTile(t,u,a,x,z,y):w.modifiedTile(t,u,a,x);-1==this.t.join(",").indexOf(t+"."+u)&&this.t.push(t+"."+u);b.push(t+"."+u)}}}this.sb(b)},nc:function(){var a=0,b;for(b in this.f)a++;return a},addWeatherLayer:function(a){var b;b=new d.LayerOptions;b.Yb=8;b.ac=2;b=new d.TileLayer(b);b.setId(a);b.setName(a);b.setOpacity(0.7);b.setTileUrlFunc(this.getWeatherTileUrl);curType=a;this.addLayer(b)},getWeatherTileUrl:function(a,b,c){return d.MapConfig._MAP_WEATHER_URL[Math.floor(Math.random()* d.MapConfig._MAP_WEATHER_URL.length)]+curType+"?REQUEST=GetTile&X="+a+"&Y="+b+"&Z="+c},removeWeatherLayer:function(a){a=this.getLayer(a);null!=a&&this.removeLayer(a)},addShipDistLayer:function(){var a=new d.LayerOptions;a.Yb=12;a.ac=2;tl=new d.TileLayer(a);tl.setId("shipdistlayer");tl.setName("distlayer");tl.setOpacity(1);tl.setTileUrlFunc(this.getDistTileUrl);this.addLayer(tl)},getDistTileUrl:function(a,b,c){var f=d.MapConfig._MAP_DIST_SHIP_URL[Math.floor(Math.random()*d.MapConfig._MAP_DIST_SHIP_URL.length)], e="";6a.lng&&(a.lng+=this._maxLimit.getWidth());b=b?this.d.inverseMercator(b,c):this.j;a=this.d.inverseMercator(a,c);return new d.Pixel(Math.round((a.getLng()-b.getLng())/f[0]+this._width/2),Math.round((b.getLat()-a.getLat())/f[1]+this._height/2))},containerPixelToLnglat:function(a,b,c,d){var e=this.q;b=b?this.d.inverseMercator(b,c):this.j;return this.d.forwardMercator({lng:b.getLng()+e[0]*(a.x-this._width/2),lat:b.getLat()-e[1]*(a.y-this._height/2)},d)},move:function(a, b,c){var f=this._options;if(!isNaN(a)&&!isNaN(b)){var e=this._maxLimit,g=this.ya;e&&(g.northeast.lat>e.northeast.lat&&0b&&(b=0));if(0!=a||0!=b){a=this._width/2-a;b=this._height/2-b;var g=this.q,h=this.j;a=this.d.forwardMercator({lng:h.getLng()+g[0]*(a-this._width/2),lat:h.getLat()-g[1]*(b-this._height/2)},!0);a.lnge.northeast.lng&&(a.lng-=e.getWidth());this._options.centerLngLat=a;this.j=this.d.inverseMercator(a, !0);this.Z();this.Eb();c=c?d.Const.DRAG_ING:d.Const.MOVING;this._events.triggerEvent(c,{type:c,centerLngLat:f.centerLngLat,target:this})}}},panTo:function(a){if(a instanceof d.LngLat&&-1!=a.lng&&-1!=a.lat){var b=this._options,c=b.projection.fromLngLatToPixel(b.centerLngLat,this.a);a=b.projection.fromLngLatToPixel(a,this.a);this.move(-Math.round(c.x-a.x),-Math.round(c.y-a.y))}},getProjection:v("d"),getResolution:function(a){var b=this._options;return b.projection.getResolution(this.a,a?a:b.centerLngLat)}, getBoundsForZoom:function(a,b){var c=0;if(!(a instanceof d.LngLatBounds)||a.isNull())return null;b&&(c=1);var f=a.getCenter(),e=d.Function.distanceByLngLat(a.southwest,a.northeast),c=Math.floor(Math.LOG2E*Math.log(12756274*Math.cos(f.lat*Math.PI/180)*Math.PI/(Math.round(e)/Math.sqrt(Math.pow(this._width,2)+Math.pow(this._height,2)))/this.tileSize))-c,c=Math.min(Math.max(this._options.minZoom,parseInt(c)),parseInt(this._options.maxZoom));return{centerLngLat:f,zoom:c}},getBounds:v("ya"),setCenter:function(a, b){if(a instanceof d.LngLat&&!a.isNull()){var c=this._maxLimit;c.containsLngLat(a)&&(a.lngc.northeast.lng&&(a.lng-=c.getWidth()),this._options.centerLngLat=a,this._zoomTo(b||this.a,!1,!1,!0))}},setZoom:function(a){isNaN(a)||(a=Math.min(Math.max(this._options.minZoom,parseInt(a)),parseInt(this._options.maxZoom)),a!=this.a&&this._zoomTo(a,!1,!0))},getZoom:v("a"),getCenter:function(){return this._options.centerLngLat},getZoomIndex:function(a){var b=this._options; a=a||this.a;var c=b.maxZoom-b.minZoom+1;return b.minZoom<=a&&a<=b.maxZoom?c-(b.maxZoom-a)-1:c-1},setBestMap:function(a){this.setBounds(a,!0)},setBounds:function(a,b){var c=this.getBoundsForZoom(a,b);c&&this.setCenter(c.centerLngLat,c.zoom)},setDefaultCursor:function(a){this.s=a?a:"default";this.container.style.cursor="default"==this.s?"url("+(d.MapConfig.API_REALM_NAME+d.MapConfig._MAP_HAND[0])+"), pointer":"pointer"==this.s?"pointer":"url("+this.s+"),auto"},getDefaultCursor:v("s"),getId:v("n"),getOptions:function(){var a= this._options;a.zoom=this.a;return a},addControl:function(a){a&&a.setMap(this)},removeControl:function(a){a&&a.setMap(null)},addTool:function(a){a&&a.setMap(this)},removeTool:function(a){a&&a.setMap(null)},zoomIn:function(a){var b=this.a+1,b=Math.min(Math.max(this._options.minZoom,parseInt(b)),parseInt(this._options.maxZoom));a instanceof d.LngLat&&!a.isNull()?this.setCenter(a,b):this._zoomTo(b,!1,!0)},zoomOut:function(a){var b=this.a-1,b=Math.min(Math.max(this._options.minZoom,parseInt(b)),parseInt(this._options.maxZoom)); a instanceof d.LngLat&&!a.isNull()?this.setCenter(a,b):this._zoomTo(b,!1,!0)},getSize:function(){return new d.Size(this._width,this._height)},getContainer:v("container"),getResolution:function(a){return this.d.getResolution(this.a,a||this._options.centerLngLat)},autoResize:function(){if("number"==typeof this._width){var a=d.Function.pageSize(this.container);(this._width!=a.width||this._height!=a.height)&&a.width&&a.height&&(this._width=a.width,this._height=a.height,this.Z(),this.Pa(),this.w.reloadOverlays(), this._events.triggerEvent(d.Const.RESIZE,{type:d.Const.RESIZE,target:this}))}},getDefaultBGTileLayer:v("v"),addEventListener:function(a,b,c,d){return this._events.register(a,b,c,d)},removeEventListener:function(a){this._events.unregister(a)},destroy:function(){this._events&&(this._events.destroy(),delete this._events);this._extendEvts&&(this._extendEvts.destroy(),delete this._extendEvts);d.Event.unloadCache();this.Ta&&(d.Function.clearInterval(this.Ta),delete this.Ta);for(;this.container.hasChildNodes();)this.container.removeChild(this.container.firstChild)}, kb:function(){var a=d.Function.createElement,b=d.Function.createElement({name:"div",cssText:"position:relative;width:100%;height:100%;overflow:hidden;z-index:0;background-image:url("+this._options.backgoundImg+")"});b.id="tmmapc";var c=a({name:"div",cssText:"width:100%;height:100%;position:absolute;left:0px;top:0px;"}),f=a({name:"div",cssText:"position:absolute;left:0px;top:0px;"}),e=a({name:"div",id:"layers",cssText:"position:absolute;left:0px;top:0px;z-index:"+this.W.ab+";"});f.appendChild(e);var g= a({name:"div",cssText:"position:absolute;left:0px;top:0px;z-index:1;"});f.appendChild(g);var h=a({name:"div",cssText:"position:absolute;left:0px;top:0px;z-index:"+this.W.eb+";text-align:left;"});f.appendChild(h);var k=a({name:"div",cssText:"position:absolute;left:0px;top:0px;z-index:"+this.W.cb+";text-align:left;"});f.appendChild(k);a=a({name:"div",cssText:"position:absolute;left:0px;top:0px;z-index:"+this.W.bb+";"});f.appendChild(a);c.appendChild(f);b.appendChild(c);this.container.appendChild(b); this.contains={mc:b,root:c,cac:g,lays:f,re:h,layer:e,ol:k}},gb:function(){var a=this,b=a._events,c=d.Const,f=a.container,e=c.MOUSE_OVER,g=c.MOUSE_OUT;d.Browser.isIE()&&(e="mouseenter",g="mouseleave");b.attachToElement([{name:c._MOUSE_SCROLL,callback:a.Lb,element:f},{name:c.MOUSE_CONTEXTMENU,callback:a.La,element:f},{name:c.MOUSE_MOVE,callback:a.Jb,element:f},{name:c.MOUSE_DOWN,callback:a.Ib,element:f},{name:c.MOUSE_UP,callback:a.Kb,element:f},{name:c.KEY_DOWN,callback:a.Fb,element:document},{name:c.KEY_UP, callback:a.Gb,element:document},{name:e,callback:a.Ma,element:f},{name:g,callback:a.Ma,element:f},{name:c.DBLCLICK,callback:a.Hb,element:f}]);b=new d.Events(a,null,!0);b.attachToElement([{name:c.MOUSE_UP,callback:function(){if(a.M&&a.D){var b=d.Const.MOUSE_UP,c=a.c.evt;c.type=b;a._events.triggerEvent(b,c);a.D.$a(new d.Pixel(c.clientX,c.clientY))}},element:d.Browser.isIE()&&!d.Browser.isIE9()||d.Browser.isFirefox()?document:window},{name:c.RESIZE,callback:a.autoResize,element:window},{name:c.LOAD, callback:a.autoResize,element:window}]);a._extendEvts=b},La:function(a){d.Event.stop(a);var b=new d.Pixel(this.c.x,this.c.y),c=d.Const.MOUSE_CONTEXTMENU,f=this.containerPixelToLnglat(b,null,!1,!0);pixel=this.lngLatToContainerPixel(f);this._events.triggerEvent(c,{type:c,lnglat:f,target:this,pixel:pixel,opixel:b,leftClick:!0,overlay:a.overlay})},Ma:function(a){d.Event.stop(a);a=d.Const.MOUSE_OVER;this._events.triggerEvent(a,{type:a,target:this})},qc:function(a){d.Event.stop(a);a=d.Const.MOUSE_OUT;this._events.triggerEvent(a, {type:a,target:this})},Ib:function(a){a.nonStop||d.Event.stop(a);this.isCapture&&this.container.setCapture&&this.container.setCapture();d.Event.isLeftClick(a)&&(this.M=this.aa=!0,this.Qb=(new Date).getTime(),this.container.style.cursor="default"==this.s?"url("+(d.MapConfig.API_REALM_NAME+d.MapConfig._MAP_HAND[1])+"), pointer":"pointer"==this.s?"pointer":"url("+this.s+"),auto",this.D&&!a.nonStop&&this.D.cc({x:a.clientX,y:a.clientY}));var b=new d.Pixel(this.c.x,this.c.y),c=this.containerPixelToLnglat(b, null,!1,!0);pixel=this.lngLatToContainerPixel(c);var f=d.Const.MOUSE_DOWN;a={clientX:a.clientX,clientY:a.clientY,pixel:pixel,opixel:b,lnglat:c,type:f,target:this,leftClick:d.Event.isLeftClick(a),pageX:a.pageX,pageY:a.pageY};this._events.triggerEvent(f,a);this.c.evt=a},Kb:function(a){d.Event.stop(a);this.isCapture&&this.container.releaseCapture&&this.container.releaseCapture();var b=new d.Pixel(this.c.x,this.c.y),c=this.containerPixelToLnglat(b,null,!1,!0);pixel=this.lngLatToContainerPixel(c);var f= d.Const.MOUSE_UP,e=d.Event.isLeftClick(a),b={clientX:a.clientX,clientY:a.clientY,pixel:pixel,opixel:b,lnglat:c,type:f,target:this,leftClick:e,pageX:a.pageX,pageY:a.pageY};this.c.evt=b;this._events.triggerEvent(f,b);e&&(this.container.style.cursor="default"==this.s?"url("+(d.MapConfig.API_REALM_NAME+d.MapConfig._MAP_HAND[0])+"), pointer":"pointer"==this.s?"pointer":"url("+this.s+"),auto",a.nonStop||(this.ub=(new Date).getTime(),f=this.ub-this.Qb,this.aa&&f<=d.Const._Click_Interval?(f=d.Const.CLICK, b.type=f,this._events.triggerEvent(f,b)):this.aa&&f>d.Const._Click_Interval&&(f=d.Const.LONGPRESS,b.type=f,this._events.triggerEvent(f,b))));this.M&&(this.D.$a(new d.Pixel(a.clientX,a.clientY)),this.M=!1)},Jb:function(a){this.aa=!1;var b=a.xy,c=d.Function.getEventPosition(a,this.container),f=new d.Pixel(c[0],c[1]);this.c.x=f.x;this.c.y=f.y;var e=this.containerPixelToLnglat(f,null,!1,!0),b=this.lngLatToContainerPixel(e),g=this.I(this.d.inverseMercator(e),this.q),c=d.Const.MOUSE_MOVE,b={type:c,pixel:b, lnglat:e,opixel:f,target:this,overlay:a.overlay,clientX:a.clientX,clientY:a.clientY,pageX:a.pageX,pageY:a.pageY,tile:{x:g[0],y:g[1],z:this.a}};this.c.evt=b;this.M&&this.D.dc({x:a.clientX,y:a.clientY});this._events.triggerEvent(c,b)},La:function(a){d.Event.stop(a);var b=new d.Pixel(this.c.x,this.c.y),c=d.Const.MOUSE_CONTEXTMENU,f=this.containerPixelToLnglat(b,null,!1,!0);pixel=this.lngLatToContainerPixel(f);this._events.triggerEvent(c,{type:c,lnglat:f,target:this,pixel:pixel,opixel:b,leftClick:!0, overlay:a.overlay})},Lb:function(a){var b=this,c=b._options;d.Event.stop(a);c.scrollWheel&&1!=b.ma&&(b.ma=1,a=a||window.event,a.wheelDelta?a.Xa=a.wheelDelta/120:a.detail&&(a.Xa=-a.detail/3),0c.minZoom&&b._zoomTo(b.a-1,!0),setTimeout(function(){b.ma=-1},300))},Ia:function(a){if(a.ctrlKey||a.altKey||a.metaKey)return!1;a=a.target||a.srcElement;return!a||"INPUT"==a.nodeName&&"text"==a.type||"TEXTAREA"==a.nodeName?!1:!0},Hb:function(a){var b= this._options;d.Event.stop(a);var c=new d.Pixel(this.c.x,this.c.y),f=this.containerPixelToLnglat(c,null,!1,!0);pixel=this.lngLatToContainerPixel(f);var e=d.Const.DBLCLICK,c={type:e,target:this,opixel:c,pixel:pixel,lnglat:f};c.leftClick=d.Event.isLeftClick(a);this._events.triggerEvent(e,c);b.dblclickZoom&&this.ab.minZoom&&this._zoomTo(this.a-1,!0);break;case 36:case 65:this.move(this._width/2,0);c=!0;break;case 33:case 87:this.move(0, this._height/2);c=!0;break;case 35:case 68:this.move(-this._width/2,0);c=!0;break;case 34:case 83:this.move(0,-this._height/2),c=!0}c&&(a=d.Const.MOVE_END,this._events.triggerEvent(a,{type:a,target:this,centerLngLat:b.centerLngLat.clone()}))}},getZoomUnits:function(a,b){var c=[0,0];c[0]=this.Za*Math.pow(2,18-a);c[1]=this.Za*Math.pow(2,18-a);return!0==b?c:c[0]},Z:function(){var a=this.j,b=this.q,c=parseInt(a.getLng()-b[0]*this._width/2),f=parseInt(a.getLat()-b[1]*this._height/2),e=parseInt(a.getLng()+ b[0]*this._width/2),a=parseInt(a.getLat()+b[1]*this._height/2),c=new d.LngLat(c,f),e=new d.LngLat(e,a);c.transform("EPSG:41001","EPSG:900913");e.transform("EPSG:41001","EPSG:900913");c=this.d.forwardMercator(c);e=this.d.forwardMercator(e);this.ya=new d.LngLatBounds(c,e)},kc:function(a,b){a.Zb=Math.min(b.lng,a.Zb);a.$b=Math.min(b.lat,a.$b);a.Wb=Math.max(b.lng,a.Wb);a.Xb=Math.max(b.lat,a.Xb)},_zoomTo:function(a,b,c,f){if((this.a!=a||f)&&this._options.centerLngLat instanceof d.LngLat){f=d.Const.ZOOM_START; this._events.triggerEvent(f,{type:f,target:this,zoom:this.a});var e=this._options;f=a-this.a;c&&(this.c.x=this._width/2,this.c.y=this._height/2,b=!0);var g=this.c.x,h=this.c.y,k=this.q,l=this.j,g=this.d.forwardMercator({lng:l.getLng()+k[0]*(g-this._width/2),lat:l.getLat()-k[1]*(h-this._height/2)},!0),h=this._maxLimit.containsLngLat(g);if(c||!h)g=this.getCenter();b&&(1==f?e.centerLngLat=new d.LngLat((e.centerLngLat.lng+g.lng)/2,(e.centerLngLat.lat+g.lat)/2):-1==f&&(e.centerLngLat=new d.LngLat(2*e.centerLngLat.lng- g.lng,2*e.centerLngLat.lat-g.lat)));this.j=this.d.inverseMercator(e.centerLngLat,!0);e.animation&&b&&(b=this.I(this.d.inverseMercator(g,!0),this.q),this.wb(this.a,f,!0,b));this.a=a;this.q=this.getZoomUnits(this.a,!0);this.Z();this.Pa();this.w.reloadOverlays();f=d.Const.ZOOM_END;this._events.triggerEvent(f,{type:f,target:this,zoom:a})}},ib:function(){var a=this.v;this.contains.lays.replaceChild(a.getElement(),this.contains.cac);this.contains.cac=a.getElement();this.contains.layer.style.visibility= "hidden";this.contains.ol.style.visibility="hidden";this.contains.re.style.visibility="hidden";var b=a.getTiles(),c=d.Function.createElement({name:"div",cssText:"position:absolute;border-color:red;left:0px;top:0px;z-index:"+a.getZIndex()});this.contains.layer.appendChild(c);this.f[a.getId()]&&this.f[a.getId()].clearTiles(c);return b},wb:function(a,b,c,f){var e=this.t;d.Function.clearInterval(this.timer.layer);var g=this.ib(!0);this.Ub(a,b,e,g,f,c)},Ub:function(a,b,c,f,e,g){var h=this;a=Math.pow(2, h.zoom);e[3]=e[0];if(0>e[0]||e[0]>=a)e[3]=e[0]%a,0>e[0]&&(e[3]+=a);g?(g=h.c.x,a=h.c.y):(g=h._width/2,a=h._height/2);var k=h.tileSize;if(f[e[0]+"."+e[1]])var l={x:g-parseInt(f[e[3]+"."+e[1]].left),y:a-parseInt(f[e[3]+"."+e[1]].top)};else c=c[Math.floor(c.length/2)],f[c[0]+"."+c[1]]&&(c=c.split("."),l={x:g-h._layerOffset.x-f[c[0]+"."+c[1]].left,y:a-h._layerOffset.y-f[c[0]+"."+c[1]].top});if(l){var n=1,q=1==b?64:-32,p=1==b?1:0.5;h.timer.layer=d.Function.createInterval(function(){var a=e[0],c=e[1],g= q*n,z=b*l.x/4*n*p,t=b*l.y/4*n*p,u;for(u in f){var x=f[u];x&&x.img&&(x.img.style.width=x.img.style.height=k+g+"px",x.img.style.left=x.left-(a-x.x)*g-z+"px",x.img.style.top=x.top-(c-x.y)*g-t+"px")}4<=n&&(d.Function.clearInterval(h.timer.layer),h.contains.layer.style.visibility="visible",h.contains.ol.style.visibility="visible",h.contains.re.style.visibility="visible");n++},50)}},oc:function(a,b){var c,d,e=Number.POSITIVE_INFINITY,g=this._options,h=g.projection,k=g.centerLngLat;for(c=g.minZoom;c<=g.maxZoom;++c)if(b){d= Math.abs(h.getResolution(c,k)-a);if(d>e)break;e=d}else if(h.getResolution(c,k)b.strokeWeight?1:8b.strokeWeight?1:8b.strokeWeight?1:8b.strokeWeight?1:8c.strokeWeight? 1:8d.ShipUtil.MAX_SHIP_SPEED?d.ShipUtil.MAX_SHIP_SPEED:a;var c=4*(a/20),c=1l;)e=d.x+Math.round((a[l].x-b)*c-(a[l].y-k)*h),g=d.y+Math.round((a[l].y-k)*c+(a[l].x-b)*h),a[l].x=Math.round(e),a[l].y=Math.round(g),++l;Math.min(a[0].x,a[1].x,a[2].x,a[3].x,a[4].x,a[5].x,a[6].x,a[7].x,a[8].x);Math.max(a[0].y,a[1].y,a[2].y,a[3].y,a[4].y,a[5].y,a[6].y,a[7].y,a[8].y);Math.max(a[0].x,a[1].x,a[2].x,a[3].x,a[4].x,a[5].x,a[6].x,a[7].x,a[8].x);Math.min(a[0].y,a[1].y,a[2].y, a[3].y,a[4].y,a[5].y,a[6].y,a[7].y,a[8].y);return a},isRealShip:function(a,b,c){if(0>=c)return!1;a/=c;b/=c;return 25d.ShipUtil.max||a>d.ShipUtil.MAX_SHIP_LENGTH)?!0:!1},getMetersPixel:function(a,b){var c=b*Math.PI/180,d=Math.sin(c);return 78271.517/Math.pow(2,a-1)*Math.cos(c)/Math.sqrt(1-0.00669437999014132*d*d)},getAngle:function(a,b,c){var f;0a?f=3<=b&&15<=d.ShipUtil.degreeAbs(a-c)?0<=c&&360>c?Math.round(c):Math.round(a):Math.round(a):0<=c&&360>c&&(f=Math.round(c)); return f},degreeAbs:function(a){a=Math.abs(a);return 180c.strokeWeight?1:8f.strokeWeight?1:8>>0,isValueSet=false;if(1index;++index){if(this.hasOwnProperty(index)){if(isValueSet){value=callback(value,this[index],index,this)}else{value=this[index];isValueSet=true}}}if(!isValueSet){throw new TypeError('Reduce of empty array with no initial value');}return value}}if("function"!==typeof Array.prototype.indexOf){Array.prototype.indexOf=function(obj,idx){var from=idx==null?0:(idx<0?Math.max(0,arr.length+idx):idx);for(var i=from,l=this.length;i=0;i--){if(i in this&&this[i]===obj){return i}}return-1}}if("function"!==typeof Array.prototype.every){Array.prototype.every=function(fn,thisObj){var l=this.length;for(var i=0;if;f++)if(!b||2!==f||void 0!==c.z)switch(0===f?(d=g,e="x"):1===f?(d=h,e="y"):(d=i,e="z"),a.axis[f]){case"e":c[e]=d;break;case"w":c[e]=-d;break;case"n":c[e]=d;break;case"s":c[e]=-d;break;case"u":void 0!==c[e]&&(c.z=d);break;case"d":void 0!==c[e]&&(c.z=-d);break;default:return null}return c}},{}],4:[function(a,b){var c=Math.PI/2,d=a("./sign");b.exports=function(a){return Math.abs(a)1&&(a=a>1?1:-1),Math.asin(a)}},{}],7:[function(a,b){b.exports=function(a){return 1-.25*a*(1+a/16*(3+1.25*a))}},{}],8:[function(a,b){b.exports=function(a){return.375*a*(1+.25*a*(1+.46875*a))}},{}],9:[function(a,b){b.exports=function(a){return.05859375*a*a*(1+.75*a)}},{}],10:[function(a,b){b.exports=function(a){return a*a*a*(35/3072)}},{}],11:[function(a,b){b.exports=function(a,b,c){var d=b*c;return a/Math.sqrt(1-d*d)}},{}],12:[function(a,b){b.exports=function(a,b,c,d,e){var f,g;f=a/b;for(var h=0;15>h;h++)if(g=(a-(b*f-c*Math.sin(2*f)+d*Math.sin(4*f)-e*Math.sin(6*f)))/(b-2*c*Math.cos(2*f)+4*d*Math.cos(4*f)-6*e*Math.cos(6*f)),f+=g,Math.abs(g)<=1e-10)return f;return 0/0}},{}],13:[function(a,b){var c=Math.PI/2;b.exports=function(a,b){var d=1-(1-a*a)/(2*a)*Math.log((1-a)/(1+a));if(Math.abs(Math.abs(b)-d)<1e-6)return 0>b?-1*c:c;for(var e,f,g,h,i=Math.asin(.5*b),j=0;30>j;j++)if(f=Math.sin(i),g=Math.cos(i),h=a*f,e=Math.pow(1-h*h,2)/(2*g)*(b/(1-a*a)-f/(1-h*h)+.5/a*Math.log((1-h)/(1+h))),i+=e,Math.abs(e)<=1e-10)return i;return 0/0}},{}],14:[function(a,b){b.exports=function(a,b,c,d,e){return a*e-b*Math.sin(2*e)+c*Math.sin(4*e)-d*Math.sin(6*e)}},{}],15:[function(a,b){b.exports=function(a,b,c){var d=a*b;return c/Math.sqrt(1-d*d)}},{}],16:[function(a,b){var c=Math.PI/2;b.exports=function(a,b){for(var d,e,f=.5*a,g=c-2*Math.atan(b),h=0;15>=h;h++)if(d=a*Math.sin(g),e=c-2*Math.atan(b*Math.pow((1-d)/(1+d),f))-g,g+=e,Math.abs(e)<=1e-10)return g;return-9999}},{}],17:[function(a,b){var c=1,d=.25,e=.046875,f=.01953125,g=.01068115234375,h=.75,i=.46875,j=.013020833333333334,k=.007120768229166667,l=.3645833333333333,m=.005696614583333333,n=.3076171875;b.exports=function(a){var b=[];b[0]=c-a*(d+a*(e+a*(f+a*g))),b[1]=a*(h-a*(e+a*(f+a*g)));var o=a*a;return b[2]=o*(i-a*(j+a*k)),o*=a,b[3]=o*(l-a*m),b[4]=o*a*n,b}},{}],18:[function(a,b){var c=a("./pj_mlfn"),d=1e-10,e=20;b.exports=function(a,b,f){for(var g=1/(1-b),h=a,i=e;i;--i){var j=Math.sin(h),k=1-b*j*j;if(k=(c(h,j,Math.cos(h),f)-a)*k*Math.sqrt(k)*g,h-=k,Math.abs(k)1e-7?(c=a*b,(1-a*a)*(b/(1-c*c)-.5/a*Math.log((1-c)/(1+c)))):2*b}},{}],21:[function(a,b){b.exports=function(a){return 0>a?-1:1}},{}],22:[function(a,b){b.exports=function(a,b){return Math.pow((1-a)/(1+a),b)}},{}],23:[function(a,b){b.exports=function(a){var b={x:a[0],y:a[1]};return a.length>2&&(b.z=a[2]),a.length>3&&(b.m=a[3]),b}},{}],24:[function(a,b){var c=Math.PI/2;b.exports=function(a,b,d){var e=a*d,f=.5*a;return e=Math.pow((1-e)/(1+e),f),Math.tan(.5*(c-b))/e}},{}],25:[function(a,b,c){c.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},c.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},c.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},c.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},c.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},c.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},c.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},c.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},c.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},c.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},c.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},c.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},c.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},c.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},c.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},c.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}},{}],26:[function(a,b,c){c.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},c.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},c.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},c.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},c.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},c.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},c.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},c.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},c.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},c.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},c.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},c.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},c.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},c.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},c.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},c.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},c.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},c.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},c.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},c.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},c.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},c.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},c.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},c.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},c.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},c.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},c.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},c.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},c.hough={a:6378270,rf:297,ellipseName:"Hough"},c.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},c.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},c.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},c.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},c.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},c.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},c.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},c.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},c.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"},c.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},c.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},c.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"},c.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"},c.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},{}],27:[function(a,b,c){c.greenwich=0,c.lisbon=-9.131906111111,c.paris=2.337229166667,c.bogota=-74.080916666667,c.madrid=-3.687938888889,c.rome=12.452333333333,c.bern=7.439583333333,c.jakarta=106.807719444444,c.ferro=-17.666666666667,c.brussels=4.367975,c.stockholm=18.058277777778,c.athens=23.7163375,c.oslo=10.722916666667},{}],28:[function(a,b){function c(a,b,c){var d;return Array.isArray(c)?(d=f(a,b,c),3===c.length?[d.x,d.y,d.z]:[d.x,d.y]):f(a,b,c)}function d(a){return a instanceof e?a:a.oProj?a.oProj:e(a)}function proj4(a,b,e){a=d(a);var f,h=!1;return"undefined"==typeof b?(b=a,a=g,h=!0):("undefined"!=typeof b.x||Array.isArray(b))&&(e=b,b=a,a=g,h=!0),b=d(b),e?c(a,b,e):(f={forward:function(d){return c(a,b,d)},inverse:function(d){return c(b,a,d)}},h&&(f.oProj=b),f)}var e=a("./Proj"),f=a("./transform"),g=e("WGS84");b.exports=proj4},{"./Proj":2,"./transform":64}],29:[function(a,b){var c=Math.PI/2,d=1,e=2,f=3,g=4,h=5,i=484813681109536e-20,j=1.0026,k=.3826834323650898,l=function(a){if(!(this instanceof l))return new l(a);if(this.datum_type=g,a){if(a.datumCode&&"none"===a.datumCode&&(this.datum_type=h),a.datum_params){for(var b=0;b3&&(0!==a.datum_params[3]||0!==a.datum_params[4]||0!==a.datum_params[5]||0!==a.datum_params[6])&&(this.datum_type=e,a.datum_params[3]*=i,a.datum_params[4]*=i,a.datum_params[5]*=i,a.datum_params[6]=a.datum_params[6]/1e6+1)}this.datum_type=a.grids?f:this.datum_type,this.a=a.a,this.b=a.b,this.es=a.es,this.ep2=a.ep2,this.datum_params=a.datum_params,this.datum_type===f&&(this.grids=a.grids)}};l.prototype={compare_datums:function(a){return this.datum_type!==a.datum_type?!1:this.a!==a.a||Math.abs(this.es-a.es)>5e-11?!1:this.datum_type===d?this.datum_params[0]===a.datum_params[0]&&this.datum_params[1]===a.datum_params[1]&&this.datum_params[2]===a.datum_params[2]:this.datum_type===e?this.datum_params[0]===a.datum_params[0]&&this.datum_params[1]===a.datum_params[1]&&this.datum_params[2]===a.datum_params[2]&&this.datum_params[3]===a.datum_params[3]&&this.datum_params[4]===a.datum_params[4]&&this.datum_params[5]===a.datum_params[5]&&this.datum_params[6]===a.datum_params[6]:this.datum_type===f||a.datum_type===f?this.nadgrids===a.nadgrids:!0},geodetic_to_geocentric:function(a){var b,d,e,f,g,h,i,j=a.x,k=a.y,l=a.z?a.z:0,m=0;if(-c>k&&k>-1.001*c)k=-c;else if(k>c&&1.001*c>k)k=c;else if(-c>k||k>c)return null;return j>Math.PI&&(j-=2*Math.PI),g=Math.sin(k),i=Math.cos(k),h=g*g,f=this.a/Math.sqrt(1-this.es*h),b=(f+l)*i*Math.cos(j),d=(f+l)*i*Math.sin(j),e=(f*(1-this.es)+l)*g,a.x=b,a.y=d,a.z=e,m},geocentric_to_geodetic:function(a){var b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t=1e-12,u=t*t,v=30,w=a.x,x=a.y,y=a.z?a.z:0;if(o=!1,b=Math.sqrt(w*w+x*x),d=Math.sqrt(w*w+x*x+y*y),b/this.au&&v>p);return r=Math.atan(m/Math.abs(l)),a.x=q,a.y=r,a.z=s,a},geocentric_to_geodetic_noniter:function(a){var b,d,e,f,g,h,i,l,m,n,o,p,q,r,s,t,u,v=a.x,w=a.y,x=a.z?a.z:0;if(v=parseFloat(v),w=parseFloat(w),x=parseFloat(x),u=!1,0!==v)b=Math.atan2(w,v);else if(w>0)b=c;else if(0>w)b=-c;else if(u=!0,b=0,x>0)d=c;else{if(!(0>x))return d=c,void(e=-this.b);d=-c}return g=v*v+w*w,f=Math.sqrt(g),h=x*j,l=Math.sqrt(h*h+g),n=h/l,p=f/l,o=n*n*n,i=x+this.b*this.ep2*o,t=f-this.a*this.es*p*p*p,m=Math.sqrt(i*i+t*t),q=i/m,r=t/m,s=this.a/Math.sqrt(1-this.es*q*q),e=r>=k?f/r-s:-k>=r?f/-r-s:x/q+s*(this.es-1),u===!1&&(d=Math.atan(q/r)),a.x=b,a.y=d,a.z=e,a},geocentric_to_wgs84:function(a){if(this.datum_type===d)a.x+=this.datum_params[0],a.y+=this.datum_params[1],a.z+=this.datum_params[2];else if(this.datum_type===e){var b=this.datum_params[0],c=this.datum_params[1],f=this.datum_params[2],g=this.datum_params[3],h=this.datum_params[4],i=this.datum_params[5],j=this.datum_params[6],k=j*(a.x-i*a.y+h*a.z)+b,l=j*(i*a.x+a.y-g*a.z)+c,m=j*(-h*a.x+g*a.y+a.z)+f;a.x=k,a.y=l,a.z=m}},geocentric_from_wgs84:function(a){if(this.datum_type===d)a.x-=this.datum_params[0],a.y-=this.datum_params[1],a.z-=this.datum_params[2];else if(this.datum_type===e){var b=this.datum_params[0],c=this.datum_params[1],f=this.datum_params[2],g=this.datum_params[3],h=this.datum_params[4],i=this.datum_params[5],j=this.datum_params[6],k=(a.x-b)/j,l=(a.y-c)/j,m=(a.z-f)/j;a.x=k+i*l-h*m,a.y=-i*k+l+g*m,a.z=h*k-g*l+m}}},b.exports=l},{}],30:[function(a,b){var c=1,d=2,e=3,f=5,g=6378137,h=.006694379990141316;b.exports=function(a,b,i){function j(a){return a===c||a===d}var k,l,m;if(a.compare_datums(b))return i;if(a.datum_type===f||b.datum_type===f)return i;var n=a.a,o=a.es,p=b.a,q=b.es,r=a.datum_type;if(r===e)if(0===this.apply_gridshift(a,0,i))a.a=g,a.es=h;else{if(!a.datum_params)return a.a=n,a.es=a.es,i;for(k=1,l=0,m=a.datum_params.length;m>l;l++)k*=a.datum_params[l];if(0===k)return a.a=n,a.es=a.es,i;r=a.datum_params.length>3?d:c}return b.datum_type===e&&(b.a=g,b.es=h),(a.es!==b.es||a.a!==b.a||j(r)||j(b.datum_type))&&(a.geodetic_to_geocentric(i),j(a.datum_type)&&a.geocentric_to_wgs84(i),j(b.datum_type)&&b.geocentric_from_wgs84(i),b.geocentric_to_geodetic(i)),b.datum_type===e&&this.apply_gridshift(b,1,i),a.a=n,a.es=o,b.a=p,b.es=q,i}},{}],31:[function(a,b){function c(a){var b=this;if(2===arguments.length){var d=arguments[1];c[a]="string"==typeof d?"+"===d[0]?e(arguments[1]):f(arguments[1]):d}else if(1===arguments.length){if(Array.isArray(a))return a.map(function(a){Array.isArray(a)?c.apply(b,a):c(a)});if("string"==typeof a){if(a in c)return c[a]}else"EPSG"in a?c["EPSG:"+a.EPSG]=a:"ESRI"in a?c["ESRI:"+a.ESRI]=a:"IAU2000"in a?c["IAU2000:"+a.IAU2000]=a:console.log(a);return}}var d=a("./global"),e=a("./projString"),f=a("./wkt");d(c),b.exports=c},{"./global":34,"./projString":37,"./wkt":65}],32:[function(a,b){var c=a("./constants/Datum"),d=a("./constants/Ellipsoid"),e=a("./extend"),f=a("./datum"),g=1e-10,h=.16666666666666666,i=.04722222222222222,j=.022156084656084655;b.exports=function(a){if(a.datumCode&&"none"!==a.datumCode){var b=c[a.datumCode];b&&(a.datum_params=b.towgs84?b.towgs84.split(","):null,a.ellps=b.ellipse,a.datumName=b.datumName?b.datumName:a.datumCode)}if(!a.a){var k=d[a.ellps]?d[a.ellps]:d.WGS84;e(a,k)}return a.rf&&!a.b&&(a.b=(1-1/a.rf)*a.a),(0===a.rf||Math.abs(a.a-a.b)d?(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},c.forward=function(a){var b=a.x,c=a.y;this.sin_phi=Math.sin(c),this.cos_phi=Math.cos(c);var d=f(this.e3,this.sin_phi,this.cos_phi),e=this.a*Math.sqrt(this.c-this.ns0*d)/this.ns0,h=this.ns0*g(b-this.long0),i=e*Math.sin(h)+this.x0,j=this.rh-e*Math.cos(h)+this.y0;return a.x=i,a.y=j,a},c.inverse=function(a){var b,c,d,e,f,h;return a.x-=this.x0,a.y=this.rh-a.y+this.y0,this.ns0>=0?(b=Math.sqrt(a.x*a.x+a.y*a.y),d=1):(b=-Math.sqrt(a.x*a.x+a.y*a.y),d=-1),e=0,0!==b&&(e=Math.atan2(d*a.x,d*a.y)),d=b*this.ns0/this.a,this.sphere?h=Math.asin((this.c-d*d)/(2*this.ns0)):(c=(this.c-d*d)/this.ns0,h=this.phi1z(this.e3,c)),f=g(e/this.ns0+this.long0),a.x=f,a.y=h,a},c.phi1z=function(a,b){var c,e,f,g,i,j=h(.5*b);if(d>a)return j;for(var k=a*a,l=1;25>=l;l++)if(c=Math.sin(j),e=Math.cos(j),f=a*c,g=1-f*f,i=.5*g*g/e*(b/(1-k)-c/g+.5/a*Math.log((1-f)/(1+f))),j+=i,Math.abs(i)<=1e-7)return j;return null},c.names=["Albers_Conic_Equal_Area","Albers","aea"]},{"../common/adjust_lon":5,"../common/asinz":6,"../common/msfnz":15,"../common/qsfnz":20}],40:[function(a,b,c){var d=a("../common/adjust_lon"),e=Math.PI/2,f=1e-10,g=a("../common/mlfn"),h=a("../common/e0fn"),i=a("../common/e1fn"),j=a("../common/e2fn"),k=a("../common/e3fn"),l=a("../common/gN"),m=a("../common/asinz"),n=a("../common/imlfn");c.init=function(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)},c.forward=function(a){var b,c,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H=a.x,I=a.y,J=Math.sin(a.y),K=Math.cos(a.y),L=d(H-this.long0);return this.sphere?Math.abs(this.sin_p12-1)<=f?(a.x=this.x0+this.a*(e-I)*Math.sin(L),a.y=this.y0-this.a*(e-I)*Math.cos(L),a):Math.abs(this.sin_p12+1)<=f?(a.x=this.x0+this.a*(e+I)*Math.sin(L),a.y=this.y0+this.a*(e+I)*Math.cos(L),a):(B=this.sin_p12*J+this.cos_p12*K*Math.cos(L),z=Math.acos(B),A=z/Math.sin(z),a.x=this.x0+this.a*A*K*Math.sin(L),a.y=this.y0+this.a*A*(this.cos_p12*J-this.sin_p12*K*Math.cos(L)),a):(b=h(this.es),c=i(this.es),m=j(this.es),n=k(this.es),Math.abs(this.sin_p12-1)<=f?(o=this.a*g(b,c,m,n,e),p=this.a*g(b,c,m,n,I),a.x=this.x0+(o-p)*Math.sin(L),a.y=this.y0-(o-p)*Math.cos(L),a):Math.abs(this.sin_p12+1)<=f?(o=this.a*g(b,c,m,n,e),p=this.a*g(b,c,m,n,I),a.x=this.x0+(o+p)*Math.sin(L),a.y=this.y0+(o+p)*Math.cos(L),a):(q=J/K,r=l(this.a,this.e,this.sin_p12),s=l(this.a,this.e,J),t=Math.atan((1-this.es)*q+this.es*r*this.sin_p12/(s*K)),u=Math.atan2(Math.sin(L),this.cos_p12*Math.tan(t)-this.sin_p12*Math.cos(L)),C=0===u?Math.asin(this.cos_p12*Math.sin(t)-this.sin_p12*Math.cos(t)):Math.abs(Math.abs(u)-Math.PI)<=f?-Math.asin(this.cos_p12*Math.sin(t)-this.sin_p12*Math.cos(t)):Math.asin(Math.sin(L)*Math.cos(t)/Math.sin(u)),v=this.e*this.sin_p12/Math.sqrt(1-this.es),w=this.e*this.cos_p12*Math.cos(u)/Math.sqrt(1-this.es),x=v*w,y=w*w,D=C*C,E=D*C,F=E*C,G=F*C,z=r*C*(1-D*y*(1-y)/6+E/8*x*(1-2*y)+F/120*(y*(4-7*y)-3*v*v*(1-7*y))-G/48*x),a.x=this.x0+z*Math.sin(u),a.y=this.y0+z*Math.cos(u),a))},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I;if(this.sphere){if(b=Math.sqrt(a.x*a.x+a.y*a.y),b>2*e*this.a)return;return c=b/this.a,o=Math.sin(c),p=Math.cos(c),q=this.long0,Math.abs(b)<=f?r=this.lat0:(r=m(p*this.sin_p12+a.y*o*this.cos_p12/b),s=Math.abs(this.lat0)-e,q=d(Math.abs(s)<=f?this.lat0>=0?this.long0+Math.atan2(a.x,-a.y):this.long0-Math.atan2(-a.x,a.y):this.long0+Math.atan2(a.x*o,b*this.cos_p12*p-a.y*this.sin_p12*o))),a.x=q,a.y=r,a}return t=h(this.es),u=i(this.es),v=j(this.es),w=k(this.es),Math.abs(this.sin_p12-1)<=f?(x=this.a*g(t,u,v,w,e),b=Math.sqrt(a.x*a.x+a.y*a.y),y=x-b,r=n(y/this.a,t,u,v,w),q=d(this.long0+Math.atan2(a.x,-1*a.y)),a.x=q,a.y=r,a):Math.abs(this.sin_p12+1)<=f?(x=this.a*g(t,u,v,w,e),b=Math.sqrt(a.x*a.x+a.y*a.y),y=b-x,r=n(y/this.a,t,u,v,w),q=d(this.long0+Math.atan2(a.x,a.y)),a.x=q,a.y=r,a):(b=Math.sqrt(a.x*a.x+a.y*a.y),B=Math.atan2(a.x,a.y),z=l(this.a,this.e,this.sin_p12),C=Math.cos(B),D=this.e*this.cos_p12*C,E=-D*D/(1-this.es),F=3*this.es*(1-E)*this.sin_p12*this.cos_p12*C/(1-this.es),G=b/z,H=G-E*(1+E)*Math.pow(G,3)/6-F*(1+3*E)*Math.pow(G,4)/24,I=1-E*H*H/2-G*H*H*H/6,A=Math.asin(this.sin_p12*Math.cos(H)+this.cos_p12*Math.sin(H)*C),q=d(this.long0+Math.asin(Math.sin(B)*Math.sin(H)/Math.cos(A))),r=Math.atan((1-this.es*I*this.sin_p12/Math.sin(A))*Math.tan(A)/(1-this.es)),a.x=q,a.y=r,a)},c.names=["Azimuthal_Equidistant","aeqd"]},{"../common/adjust_lon":5,"../common/asinz":6,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],41:[function(a,b,c){var d=a("../common/mlfn"),e=a("../common/e0fn"),f=a("../common/e1fn"),g=a("../common/e2fn"),h=a("../common/e3fn"),i=a("../common/gN"),j=a("../common/adjust_lon"),k=a("../common/adjust_lat"),l=a("../common/imlfn"),m=Math.PI/2,n=1e-10;c.init=function(){this.sphere||(this.e0=e(this.es),this.e1=f(this.es),this.e2=g(this.es),this.e3=h(this.es),this.ml0=this.a*d(this.e0,this.e1,this.e2,this.e3,this.lat0))},c.forward=function(a){var b,c,e=a.x,f=a.y;if(e=j(e-this.long0),this.sphere)b=this.a*Math.asin(Math.cos(f)*Math.sin(e)),c=this.a*(Math.atan2(Math.tan(f),Math.cos(e))-this.lat0);else{var g=Math.sin(f),h=Math.cos(f),k=i(this.a,this.e,g),l=Math.tan(f)*Math.tan(f),m=e*Math.cos(f),n=m*m,o=this.es*h*h/(1-this.es),p=this.a*d(this.e0,this.e1,this.e2,this.e3,f);b=k*m*(1-n*l*(1/6-(8-l+8*o)*n/120)),c=p-this.ml0+k*g/h*n*(.5+(5-l+6*o)*n/24)}return a.x=b+this.x0,a.y=c+this.y0,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c,d=a.x/this.a,e=a.y/this.a;if(this.sphere){var f=e+this.lat0;b=Math.asin(Math.sin(f)*Math.cos(d)),c=Math.atan2(Math.tan(d),Math.cos(f))}else{var g=this.ml0/this.a+e,h=l(g,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(h)-m)<=n)return a.x=this.long0,a.y=m,0>e&&(a.y*=-1),a;var o=i(this.a,this.e,Math.sin(h)),p=o*o*o/this.a/this.a*(1-this.es),q=Math.pow(Math.tan(h),2),r=d*this.a/o,s=r*r;b=h-o*Math.tan(h)/p*r*r*(.5-(1+3*q)*r*r/24),c=r*(1-s*(q/3+(1+3*q)*q*s/15))/Math.cos(h)}return a.x=j(c+this.long0),a.y=k(b),a},c.names=["Cassini","Cassini_Soldner","cass"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],42:[function(a,b,c){var d=a("../common/adjust_lon"),e=a("../common/qsfnz"),f=a("../common/msfnz"),g=a("../common/iqsfnz");c.init=function(){this.sphere||(this.k0=f(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},c.forward=function(a){var b,c,f=a.x,g=a.y,h=d(f-this.long0);if(this.sphere)b=this.x0+this.a*h*Math.cos(this.lat_ts),c=this.y0+this.a*Math.sin(g)/Math.cos(this.lat_ts);else{var i=e(this.e,Math.sin(g));b=this.x0+this.a*this.k0*h,c=this.y0+this.a*i*.5/this.k0}return a.x=b,a.y=c,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c;return this.sphere?(b=d(this.long0+a.x/this.a/Math.cos(this.lat_ts)),c=Math.asin(a.y/this.a*Math.cos(this.lat_ts))):(c=g(this.e,2*a.y*this.k0/this.a),b=d(this.long0+a.x/(this.a*this.k0))),a.x=b,a.y=c,a},c.names=["cea"]},{"../common/adjust_lon":5,"../common/iqsfnz":13,"../common/msfnz":15,"../common/qsfnz":20}],43:[function(a,b,c){var d=a("../common/adjust_lon"),e=a("../common/adjust_lat");c.init=function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},c.forward=function(a){var b=a.x,c=a.y,f=d(b-this.long0),g=e(c-this.lat0);return a.x=this.x0+this.a*f*this.rc,a.y=this.y0+this.a*g,a},c.inverse=function(a){var b=a.x,c=a.y;return a.x=d(this.long0+(b-this.x0)/(this.a*this.rc)),a.y=e(this.lat0+(c-this.y0)/this.a),a},c.names=["Equirectangular","Equidistant_Cylindrical","eqc"]},{"../common/adjust_lat":4,"../common/adjust_lon":5}],44:[function(a,b,c){var d=a("../common/e0fn"),e=a("../common/e1fn"),f=a("../common/e2fn"),g=a("../common/e3fn"),h=a("../common/msfnz"),i=a("../common/mlfn"),j=a("../common/adjust_lon"),k=a("../common/adjust_lat"),l=a("../common/imlfn"),m=1e-10;c.init=function(){Math.abs(this.lat1+this.lat2)=0?(c=Math.sqrt(a.x*a.x+a.y*a.y),b=1):(c=-Math.sqrt(a.x*a.x+a.y*a.y),b=-1);var f=0;if(0!==c&&(f=Math.atan2(b*a.x,b*a.y)),this.sphere)return e=j(this.long0+f/this.ns),d=k(this.g-c/this.a),a.x=e,a.y=d,a;var g=this.g-c/this.a;return d=l(g,this.e0,this.e1,this.e2,this.e3),e=j(this.long0+f/this.ns),a.x=e,a.y=d,a},c.names=["Equidistant_Conic","eqdc"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/imlfn":12,"../common/mlfn":14,"../common/msfnz":15}],45:[function(a,b,c){var d=Math.PI/4,e=a("../common/srat"),f=Math.PI/2,g=20;c.init=function(){var a=Math.sin(this.lat0),b=Math.cos(this.lat0);b*=b,this.rc=Math.sqrt(1-this.es)/(1-this.es*a*a),this.C=Math.sqrt(1+this.es*b*b/(1-this.es)),this.phic0=Math.asin(a/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+d)/(Math.pow(Math.tan(.5*this.lat0+d),this.C)*e(this.e*a,this.ratexp))},c.forward=function(a){var b=a.x,c=a.y;return a.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*c+d),this.C)*e(this.e*Math.sin(c),this.ratexp))-f,a.x=this.C*b,a},c.inverse=function(a){for(var b=1e-14,c=a.x/this.C,h=a.y,i=Math.pow(Math.tan(.5*h+d)/this.K,1/this.C),j=g;j>0&&(h=2*Math.atan(i*e(this.e*Math.sin(a.y),-.5*this.e))-f,!(Math.abs(h-a.y)0||Math.abs(i)<=e?(j=this.x0+this.a*h*c*Math.sin(f)/i,k=this.y0+this.a*h*(this.cos_p14*b-this.sin_p14*c*g)/i):(j=this.x0+this.infinity_dist*c*Math.sin(f),k=this.y0+this.infinity_dist*(this.cos_p14*b-this.sin_p14*c*g)),a.x=j,a.y=k,a },c.inverse=function(a){var b,c,e,g,h,i;return a.x=(a.x-this.x0)/this.a,a.y=(a.y-this.y0)/this.a,a.x/=this.k0,a.y/=this.k0,(b=Math.sqrt(a.x*a.x+a.y*a.y))?(g=Math.atan2(b,this.rc),c=Math.sin(g),e=Math.cos(g),i=f(e*this.sin_p14+a.y*c*this.cos_p14/b),h=Math.atan2(a.x*c,b*this.cos_p14*e-a.y*this.sin_p14*c),h=d(this.long0+h)):(i=this.phic0,h=0),a.x=h,a.y=i,a},c.names=["gnom"]},{"../common/adjust_lon":5,"../common/asinz":6}],47:[function(a,b,c){var d=a("../common/adjust_lon");c.init=function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},c.forward=function(a){var b,c,e,f,g,h,i,j=a.x,k=a.y,l=d(j-this.long0);return b=Math.pow((1+this.e*Math.sin(k))/(1-this.e*Math.sin(k)),this.alfa*this.e/2),c=2*(Math.atan(this.k*Math.pow(Math.tan(k/2+this.s45),this.alfa)/b)-this.s45),e=-l*this.alfa,f=Math.asin(Math.cos(this.ad)*Math.sin(c)+Math.sin(this.ad)*Math.cos(c)*Math.cos(e)),g=Math.asin(Math.cos(c)*Math.sin(e)/Math.cos(f)),h=this.n*g,i=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(f/2+this.s45),this.n),a.y=i*Math.cos(h)/1,a.x=i*Math.sin(h)/1,this.czech||(a.y*=-1,a.x*=-1),a},c.inverse=function(a){var b,c,d,e,f,g,h,i,j=a.x;a.x=a.y,a.y=j,this.czech||(a.y*=-1,a.x*=-1),g=Math.sqrt(a.x*a.x+a.y*a.y),f=Math.atan2(a.y,a.x),e=f/Math.sin(this.s0),d=2*(Math.atan(Math.pow(this.ro0/g,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),b=Math.asin(Math.cos(this.ad)*Math.sin(d)-Math.sin(this.ad)*Math.cos(d)*Math.cos(e)),c=Math.asin(Math.cos(d)*Math.sin(e)/Math.cos(b)),a.x=this.long0-c/this.alfa,h=b,i=0;var k=0;do a.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(b/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(h))/(1-this.e*Math.sin(h)),this.e/2))-this.s45),Math.abs(h-a.y)<1e-10&&(i=1),h=a.y,k+=1;while(0===i&&15>k);return k>=15?null:a},c.names=["Krovak","krovak"]},{"../common/adjust_lon":5}],48:[function(a,b,c){var d=Math.PI/2,e=Math.PI/4,f=1e-10,g=a("../common/qsfnz"),h=a("../common/adjust_lon");c.S_POLE=1,c.N_POLE=2,c.EQUIT=3,c.OBLIQ=4,c.init=function(){var a=Math.abs(this.lat0);if(this.mode=Math.abs(a-d)0){var b;switch(this.qp=g(this.e,1),this.mmf=.5/(1-this.es),this.apa=this.authset(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),b=Math.sin(this.lat0),this.sinb1=g(this.e,b)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*b*b)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},c.forward=function(a){var b,c,i,j,k,l,m,n,o,p,q=a.x,r=a.y;if(q=h(q-this.long0),this.sphere){if(k=Math.sin(r),p=Math.cos(r),i=Math.cos(q),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(c=this.mode===this.EQUIT?1+p*i:1+this.sinph0*k+this.cosph0*p*i,f>=c)return null;c=Math.sqrt(2/c),b=c*p*Math.sin(q),c*=this.mode===this.EQUIT?k:this.cosph0*k-this.sinph0*p*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(r+this.phi0)=0?(b=(o=Math.sqrt(l))*j,c=i*(this.mode===this.S_POLE?o:-o)):b=c=0}}return a.x=this.a*b+this.x0,a.y=this.a*c+this.y0,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c,e,g,i,j,k,l=a.x/this.a,m=a.y/this.a;if(this.sphere){var n,o=0,p=0;if(n=Math.sqrt(l*l+m*m),c=.5*n,c>1)return null;switch(c=2*Math.asin(c),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(p=Math.sin(c),o=Math.cos(c)),this.mode){case this.EQUIT:c=Math.abs(n)<=f?0:Math.asin(m*p/n),l*=p,m=o*n;break;case this.OBLIQ:c=Math.abs(n)<=f?this.phi0:Math.asin(o*this.sinph0+m*p*this.cosph0/n),l*=p*this.cosph0,m=(o-Math.sin(c)*this.sinph0)*n;break;case this.N_POLE:m=-m,c=d-c;break;case this.S_POLE:c-=d}b=0!==m||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(l,m):0}else{if(k=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(l/=this.dd,m*=this.dd,j=Math.sqrt(l*l+m*m),f>j)return a.x=0,a.y=this.phi0,a;g=2*Math.asin(.5*j/this.rq),e=Math.cos(g),l*=g=Math.sin(g),this.mode===this.OBLIQ?(k=e*this.sinb1+m*g*this.cosb1/j,i=this.qp*k,m=j*this.cosb1*e-m*this.sinb1*g):(k=m*g/j,i=this.qp*k,m=j*e)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(m=-m),i=l*l+m*m,!i)return a.x=0,a.y=this.phi0,a;k=1-i/this.qp,this.mode===this.S_POLE&&(k=-k)}b=Math.atan2(l,m),c=this.authlat(Math.asin(k),this.apa)}return a.x=h(this.long0+b),a.y=c,a},c.P00=.3333333333333333,c.P01=.17222222222222222,c.P02=.10257936507936508,c.P10=.06388888888888888,c.P11=.0664021164021164,c.P20=.016415012942191543,c.authset=function(a){var b,c=[];return c[0]=a*this.P00,b=a*a,c[0]+=b*this.P01,c[1]=b*this.P10,b*=a,c[0]+=b*this.P02,c[1]+=b*this.P11,c[2]=b*this.P20,c},c.authlat=function(a,b){var c=a+a;return a+b[0]*Math.sin(c)+b[1]*Math.sin(c+c)+b[2]*Math.sin(c+c+c)},c.names=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"]},{"../common/adjust_lon":5,"../common/qsfnz":20}],49:[function(a,b,c){var d=1e-10,e=a("../common/msfnz"),f=a("../common/tsfnz"),g=Math.PI/2,h=a("../common/sign"),i=a("../common/adjust_lon"),j=a("../common/phi2z");c.init=function(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)d?Math.log(g/k)/Math.log(h/l):b,isNaN(this.ns)&&(this.ns=b),this.f0=g/(this.ns*Math.pow(h,this.ns)),this.rh=this.a*this.f0*Math.pow(m,this.ns),this.title||(this.title="Lambert Conformal Conic")}},c.forward=function(a){var b=a.x,c=a.y;Math.abs(2*Math.abs(c)-Math.PI)<=d&&(c=h(c)*(g-2*d));var e,j,k=Math.abs(Math.abs(c)-g);if(k>d)e=f(this.e,c,Math.sin(c)),j=this.a*this.f0*Math.pow(e,this.ns);else{if(k=c*this.ns,0>=k)return null;j=0}var l=this.ns*i(b-this.long0);return a.x=this.k0*j*Math.sin(l)+this.x0,a.y=this.k0*(this.rh-j*Math.cos(l))+this.y0,a},c.inverse=function(a){var b,c,d,e,f,h=(a.x-this.x0)/this.k0,k=this.rh-(a.y-this.y0)/this.k0;this.ns>0?(b=Math.sqrt(h*h+k*k),c=1):(b=-Math.sqrt(h*h+k*k),c=-1);var l=0;if(0!==b&&(l=Math.atan2(c*h,c*k)),0!==b||this.ns>0){if(c=1/this.ns,d=Math.pow(b/(this.a*this.f0),c),e=j(this.e,d),-9999===e)return null}else e=-g;return f=i(l/this.ns+this.long0),a.x=f,a.y=e,a},c.names=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],50:[function(a,b,c){function d(a){return a}c.init=function(){},c.forward=d,c.inverse=d,c.names=["longlat","identity"]},{}],51:[function(a,b,c){var d=a("../common/msfnz"),e=Math.PI/2,f=1e-10,g=57.29577951308232,h=a("../common/adjust_lon"),i=Math.PI/4,j=a("../common/tsfnz"),k=a("../common/phi2z");c.init=function(){var a=this.b/this.a;this.es=1-a*a,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.k0=this.sphere?Math.cos(this.lat_ts):d(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k0=this.k?this.k:1)},c.forward=function(a){var b=a.x,c=a.y;if(c*g>90&&-90>c*g&&b*g>180&&-180>b*g)return null;var d,k;if(Math.abs(Math.abs(c)-e)<=f)return null;if(this.sphere)d=this.x0+this.a*this.k0*h(b-this.long0),k=this.y0+this.a*this.k0*Math.log(Math.tan(i+.5*c));else{var l=Math.sin(c),m=j(this.e,c,l);d=this.x0+this.a*this.k0*h(b-this.long0),k=this.y0-this.a*this.k0*Math.log(m)}return a.x=d,a.y=k,a},c.inverse=function(a){var b,c,d=a.x-this.x0,f=a.y-this.y0;if(this.sphere)c=e-2*Math.atan(Math.exp(-f/(this.a*this.k0)));else{var g=Math.exp(-f/(this.a*this.k0));if(c=k(this.e,g),-9999===c)return null}return b=h(this.long0+d/(this.a*this.k0)),a.x=b,a.y=c,a},c.names=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/tsfnz":24}],52:[function(a,b,c){var d=a("../common/adjust_lon");c.init=function(){},c.forward=function(a){var b=a.x,c=a.y,e=d(b-this.long0),f=this.x0+this.a*e,g=this.y0+this.a*Math.log(Math.tan(Math.PI/4+c/2.5))*1.25;return a.x=f,a.y=g,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b=d(this.long0+a.x/this.a),c=2.5*(Math.atan(Math.exp(.8*a.y/this.a))-Math.PI/4);return a.x=b,a.y=c,a},c.names=["Miller_Cylindrical","mill"]},{"../common/adjust_lon":5}],53:[function(a,b,c){var d=a("../common/adjust_lon"),e=1e-10;c.init=function(){},c.forward=function(a){for(var b=a.x,c=a.y,f=d(b-this.long0),g=c,h=Math.PI*Math.sin(c),i=0;!0;i++){var j=-(g+Math.sin(g)-h)/(1+Math.cos(g));if(g+=j,Math.abs(j).999999999999&&(c=.999999999999),b=Math.asin(c);var e=d(this.long0+a.x/(.900316316158*this.a*Math.cos(b)));e<-Math.PI&&(e=-Math.PI),e>Math.PI&&(e=Math.PI),c=(2*b+Math.sin(2*b))/Math.PI,Math.abs(c)>1&&(c=1);var f=Math.asin(c);return a.x=e,a.y=f,a},c.names=["Mollweide","moll"]},{"../common/adjust_lon":5}],54:[function(a,b,c){var d=484813681109536e-20;c.iterations=1,c.init=function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},c.forward=function(a){var b,c=a.x,e=a.y,f=e-this.lat0,g=c-this.long0,h=f/d*1e-5,i=g,j=1,k=0;for(b=1;10>=b;b++)j*=h,k+=this.A[b]*j;var l,m,n=k,o=i,p=1,q=0,r=0,s=0;for(b=1;6>=b;b++)l=p*n-q*o,m=q*n+p*o,p=l,q=m,r=r+this.B_re[b]*p-this.B_im[b]*q,s=s+this.B_im[b]*p+this.B_re[b]*q;return a.x=s*this.a+this.x0,a.y=r*this.a+this.y0,a},c.inverse=function(a){var b,c,e,f=a.x,g=a.y,h=f-this.x0,i=g-this.y0,j=i/this.a,k=h/this.a,l=1,m=0,n=0,o=0;for(b=1;6>=b;b++)c=l*j-m*k,e=m*j+l*k,l=c,m=e,n=n+this.C_re[b]*l-this.C_im[b]*m,o=o+this.C_im[b]*l+this.C_re[b]*m;for(var p=0;p=b;b++)q=s*n-t*o,r=t*n+s*o,s=q,t=r,u+=(b-1)*(this.B_re[b]*s-this.B_im[b]*t),v+=(b-1)*(this.B_im[b]*s+this.B_re[b]*t);s=1,t=0;var w=this.B_re[1],x=this.B_im[1];for(b=2;6>=b;b++)q=s*n-t*o,r=t*n+s*o,s=q,t=r,w+=b*(this.B_re[b]*s-this.B_im[b]*t),x+=b*(this.B_im[b]*s+this.B_re[b]*t);var y=w*w+x*x;n=(u*w+v*x)/y,o=(v*w-u*x)/y}var z=n,A=o,B=1,C=0;for(b=1;9>=b;b++)B*=z,C+=this.D[b]*B;var D=this.lat0+C*d*1e5,E=this.long0+A;return a.x=E,a.y=D,a},c.names=["New_Zealand_Map_Grid","nzmg"]},{}],55:[function(a,b,c){var d=a("../common/tsfnz"),e=a("../common/adjust_lon"),f=a("../common/phi2z"),g=Math.PI/2,h=Math.PI/4,i=1e-10;c.init=function(){this.no_off=this.no_off||!1,this.no_rot=this.no_rot||!1,isNaN(this.k0)&&(this.k0=1);var a=Math.sin(this.lat0),b=Math.cos(this.lat0),c=this.e*a;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(b,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-c*c);var f=d(this.e,this.lat0,a),g=this.bl/b*Math.sqrt((1-this.es)/(1-c*c));1>g*g&&(g=1);var h,i;if(isNaN(this.longc)){var j=d(this.e,this.lat1,Math.sin(this.lat1)),k=d(this.e,this.lat2,Math.sin(this.lat2));this.el=this.lat0>=0?(g+Math.sqrt(g*g-1))*Math.pow(f,this.bl):(g-Math.sqrt(g*g-1))*Math.pow(f,this.bl);var l=Math.pow(j,this.bl),m=Math.pow(k,this.bl);h=this.el/l,i=.5*(h-1/h);var n=(this.el*this.el-m*l)/(this.el*this.el+m*l),o=(m-l)/(m+l),p=e(this.long1-this.long2);this.long0=.5*(this.long1+this.long2)-Math.atan(n*Math.tan(.5*this.bl*p)/o)/this.bl,this.long0=e(this.long0);var q=e(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*q)/i),this.alpha=Math.asin(g*Math.sin(this.gamma0))}else h=this.lat0>=0?g+Math.sqrt(g*g-1):g-Math.sqrt(g*g-1),this.el=h*Math.pow(f,this.bl),i=.5*(h-1/h),this.gamma0=Math.asin(Math.sin(this.alpha)/g),this.long0=this.longc-Math.asin(i*Math.tan(this.gamma0))/this.bl;this.uc=this.no_off?0:this.lat0>=0?this.al/this.bl*Math.atan2(Math.sqrt(g*g-1),Math.cos(this.alpha)):-1*this.al/this.bl*Math.atan2(Math.sqrt(g*g-1),Math.cos(this.alpha))},c.forward=function(a){var b,c,f,j=a.x,k=a.y,l=e(j-this.long0);if(Math.abs(Math.abs(k)-g)<=i)f=k>0?-1:1,c=this.al/this.bl*Math.log(Math.tan(h+f*this.gamma0*.5)),b=-1*f*g*this.al/this.bl;else{var m=d(this.e,k,Math.sin(k)),n=this.el/Math.pow(m,this.bl),o=.5*(n-1/n),p=.5*(n+1/n),q=Math.sin(this.bl*l),r=(o*Math.sin(this.gamma0)-q*Math.cos(this.gamma0))/p;c=Math.abs(Math.abs(r)-1)<=i?Number.POSITIVE_INFINITY:.5*this.al*Math.log((1-r)/(1+r))/this.bl,b=Math.abs(Math.cos(this.bl*l))<=i?this.al*this.bl*l:this.al*Math.atan2(o*Math.cos(this.gamma0)+q*Math.sin(this.gamma0),Math.cos(this.bl*l))/this.bl}return this.no_rot?(a.x=this.x0+b,a.y=this.y0+c):(b-=this.uc,a.x=this.x0+c*Math.cos(this.alpha)+b*Math.sin(this.alpha),a.y=this.y0+b*Math.cos(this.alpha)-c*Math.sin(this.alpha)),a},c.inverse=function(a){var b,c;this.no_rot?(c=a.y-this.y0,b=a.x-this.x0):(c=(a.x-this.x0)*Math.cos(this.alpha)-(a.y-this.y0)*Math.sin(this.alpha),b=(a.y-this.y0)*Math.cos(this.alpha)+(a.x-this.x0)*Math.sin(this.alpha),b+=this.uc);var d=Math.exp(-1*this.bl*c/this.al),h=.5*(d-1/d),j=.5*(d+1/d),k=Math.sin(this.bl*b/this.al),l=(k*Math.cos(this.gamma0)+h*Math.sin(this.gamma0))/j,m=Math.pow(this.el/Math.sqrt((1+l)/(1-l)),1/this.bl);return Math.abs(l-1)g?(g=Math.sin(b),c=this.long0+a.x*Math.sqrt(1-this.es*g*g)/(this.a*Math.cos(b)),f=d(c)):j>g-k&&(f=this.long0)),a.x=f,a.y=b,a},c.names=["Sinusoidal","sinu"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/asinz":6,"../common/pj_enfn":17,"../common/pj_inv_mlfn":18,"../common/pj_mlfn":19}],58:[function(a,b,c){c.init=function(){var a=this.lat0;this.lambda0=this.long0;var b=Math.sin(a),c=this.a,d=this.rf,e=1/d,f=2*e-Math.pow(e,2),g=this.e=Math.sqrt(f);this.R=this.k0*c*Math.sqrt(1-f)/(1-f*Math.pow(b,2)),this.alpha=Math.sqrt(1+f/(1-f)*Math.pow(Math.cos(a),4)),this.b0=Math.asin(b/this.alpha);var h=Math.log(Math.tan(Math.PI/4+this.b0/2)),i=Math.log(Math.tan(Math.PI/4+a/2)),j=Math.log((1+g*b)/(1-g*b));this.K=h-this.alpha*i+this.alpha*g/2*j},c.forward=function(a){var b=Math.log(Math.tan(Math.PI/4-a.y/2)),c=this.e/2*Math.log((1+this.e*Math.sin(a.y))/(1-this.e*Math.sin(a.y))),d=-this.alpha*(b+c)+this.K,e=2*(Math.atan(Math.exp(d))-Math.PI/4),f=this.alpha*(a.x-this.lambda0),g=Math.atan(Math.sin(f)/(Math.sin(this.b0)*Math.tan(e)+Math.cos(this.b0)*Math.cos(f))),h=Math.asin(Math.cos(this.b0)*Math.sin(e)-Math.sin(this.b0)*Math.cos(e)*Math.cos(f));return a.y=this.R/2*Math.log((1+Math.sin(h))/(1-Math.sin(h)))+this.y0,a.x=this.R*g+this.x0,a},c.inverse=function(a){for(var b=a.x-this.x0,c=a.y-this.y0,d=b/this.R,e=2*(Math.atan(Math.exp(c/this.R))-Math.PI/4),f=Math.asin(Math.cos(this.b0)*Math.sin(e)+Math.sin(this.b0)*Math.cos(e)*Math.cos(d)),g=Math.atan(Math.sin(d)/(Math.cos(this.b0)*Math.cos(d)-Math.sin(this.b0)*Math.tan(e))),h=this.lambda0+g/this.alpha,i=0,j=f,k=-1e3,l=0;Math.abs(j-k)>1e-7;){if(++l>20)return;i=1/this.alpha*(Math.log(Math.tan(Math.PI/4+f/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(j))/2)),k=j,j=2*Math.atan(Math.exp(i))-Math.PI/2}return a.x=h,a.y=j,a},c.names=["somerc"]},{}],59:[function(a,b,c){var d=Math.PI/2,e=1e-10,f=a("../common/sign"),g=a("../common/msfnz"),h=a("../common/tsfnz"),i=a("../common/phi2z"),j=a("../common/adjust_lon");c.ssfn_=function(a,b,c){return b*=c,Math.tan(.5*(d+a))*Math.pow((1-b)/(1+b),.5*c)},c.init=function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=e&&(this.k0=.5*(1+f(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=e&&(this.con=this.lat0>0?1:-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=e&&(this.k0=.5*this.cons*g(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/h(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=g(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-d,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},c.forward=function(a){var b,c,f,g,i,k,l=a.x,m=a.y,n=Math.sin(m),o=Math.cos(m),p=j(l-this.long0);return Math.abs(Math.abs(l-this.long0)-Math.PI)<=e&&Math.abs(m+this.lat0)<=e?(a.x=0/0,a.y=0/0,a):this.sphere?(b=2*this.k0/(1+this.sinlat0*n+this.coslat0*o*Math.cos(p)),a.x=this.a*b*o*Math.sin(p)+this.x0,a.y=this.a*b*(this.coslat0*n-this.sinlat0*o*Math.cos(p))+this.y0,a):(c=2*Math.atan(this.ssfn_(m,n,this.e))-d,g=Math.cos(c),f=Math.sin(c),Math.abs(this.coslat0)<=e?(i=h(this.e,m*this.con,this.con*n),k=2*this.a*this.k0*i/this.cons,a.x=this.x0+k*Math.sin(l-this.long0),a.y=this.y0-this.con*k*Math.cos(l-this.long0),a):(Math.abs(this.sinlat0)=k?(a.x=b,a.y=c,a):(c=Math.asin(Math.cos(l)*this.sinlat0+a.y*Math.sin(l)*this.coslat0/k),b=j(Math.abs(this.coslat0)0?this.long0+Math.atan2(a.x,-1*a.y):this.long0+Math.atan2(a.x,a.y):this.long0+Math.atan2(a.x*Math.sin(l),k*this.coslat0*Math.cos(l)-a.y*this.sinlat0*Math.sin(l))),a.x=b,a.y=c,a)}if(Math.abs(this.coslat0)<=e){if(e>=k)return c=this.lat0,b=this.long0,a.x=b,a.y=c,a;a.x*=this.con,a.y*=this.con,f=k*this.cons/(2*this.a*this.k0),c=this.con*i(this.e,f),b=this.con*j(this.con*this.long0+Math.atan2(a.x,-1*a.y))}else g=2*Math.atan(k*this.cosX0/(2*this.a*this.k0*this.ms1)),b=this.long0,e>=k?h=this.X0:(h=Math.asin(Math.cos(g)*this.sinX0+a.y*Math.sin(g)*this.cosX0/k),b=j(this.long0+Math.atan2(a.x*Math.sin(g),k*this.cosX0*Math.cos(g)-a.y*this.sinX0*Math.sin(g)))),c=-1*i(this.e,Math.tan(.5*(d+h)));return a.x=b,a.y=c,a},c.names=["stere"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],60:[function(a,b,c){var d=a("./gauss"),e=a("../common/adjust_lon");c.init=function(){d.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},c.forward=function(a){var b,c,f,g;return a.x=e(a.x-this.long0),d.forward.apply(this,[a]),b=Math.sin(a.y),c=Math.cos(a.y),f=Math.cos(a.x),g=this.k0*this.R2/(1+this.sinc0*b+this.cosc0*c*f),a.x=g*c*Math.sin(a.x),a.y=g*(this.cosc0*b-this.sinc0*c*f),a.x=this.a*a.x+this.x0,a.y=this.a*a.y+this.y0,a},c.inverse=function(a){var b,c,f,g,h;if(a.x=(a.x-this.x0)/this.a,a.y=(a.y-this.y0)/this.a,a.x/=this.k0,a.y/=this.k0,h=Math.sqrt(a.x*a.x+a.y*a.y)){var i=2*Math.atan2(h,this.R2);b=Math.sin(i),c=Math.cos(i),g=Math.asin(c*this.sinc0+a.y*b*this.cosc0/h),f=Math.atan2(a.x*b,h*this.cosc0*c-a.y*this.sinc0*b)}else g=this.phic0,f=0;return a.x=f,a.y=g,d.inverse.apply(this,[a]),a.x=e(a.x+this.long0),a},c.names=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative"]},{"../common/adjust_lon":5,"./gauss":45}],61:[function(a,b,c){var d=a("../common/e0fn"),e=a("../common/e1fn"),f=a("../common/e2fn"),g=a("../common/e3fn"),h=a("../common/mlfn"),i=a("../common/adjust_lon"),j=Math.PI/2,k=1e-10,l=a("../common/sign"),m=a("../common/asinz");c.init=function(){this.e0=d(this.es),this.e1=e(this.es),this.e2=f(this.es),this.e3=g(this.es),this.ml0=this.a*h(this.e0,this.e1,this.e2,this.e3,this.lat0)},c.forward=function(a){var b,c,d,e=a.x,f=a.y,g=i(e-this.long0),j=Math.sin(f),k=Math.cos(f);if(this.sphere){var l=k*Math.sin(g);if(Math.abs(Math.abs(l)-1)<1e-10)return 93;c=.5*this.a*this.k0*Math.log((1+l)/(1-l)),b=Math.acos(k*Math.cos(g)/Math.sqrt(1-l*l)),0>f&&(b=-b),d=this.a*this.k0*(b-this.lat0)}else{var m=k*g,n=Math.pow(m,2),o=this.ep2*Math.pow(k,2),p=Math.tan(f),q=Math.pow(p,2);b=1-this.es*Math.pow(j,2);var r=this.a/Math.sqrt(b),s=this.a*h(this.e0,this.e1,this.e2,this.e3,f);c=this.k0*r*m*(1+n/6*(1-q+o+n/20*(5-18*q+Math.pow(q,2)+72*o-58*this.ep2)))+this.x0,d=this.k0*(s-this.ml0+r*p*n*(.5+n/24*(5-q+9*o+4*Math.pow(o,2)+n/30*(61-58*q+Math.pow(q,2)+600*o-330*this.ep2))))+this.y0}return a.x=c,a.y=d,a},c.inverse=function(a){var b,c,d,e,f,g,h=6;if(this.sphere){var n=Math.exp(a.x/(this.a*this.k0)),o=.5*(n-1/n),p=this.lat0+a.y/(this.a*this.k0),q=Math.cos(p);b=Math.sqrt((1-q*q)/(1+o*o)),f=m(b),0>p&&(f=-f),g=0===o&&0===q?this.long0:i(Math.atan2(o,q)+this.long0)}else{var r=a.x-this.x0,s=a.y-this.y0;for(b=(this.ml0+s/this.k0)/this.a,c=b,e=0;!0&&(d=(b+this.e1*Math.sin(2*c)-this.e2*Math.sin(4*c)+this.e3*Math.sin(6*c))/this.e0-c,c+=d,!(Math.abs(d)<=k));e++)if(e>=h)return 95;if(Math.abs(c)=0?this.y0+Math.PI*this.R*Math.tan(.5*k):this.y0+Math.PI*this.R*-Math.tan(.5*k));var l=.5*Math.abs(Math.PI/j-j/Math.PI),m=l*l,n=Math.sin(k),o=Math.cos(k),p=o/(n+o-1),q=p*p,r=p*(2/n-1),s=r*r,t=Math.PI*this.R*(l*(p-s)+Math.sqrt(m*(p-s)*(p-s)-(s+m)*(q-s)))/(s+m);0>j&&(t=-t),b=this.x0+t;var u=m+p;return t=Math.PI*this.R*(r*u-l*Math.sqrt((s+m)*(m+1)-u*u))/(s+m),c=i>=0?this.y0+t:this.y0-t,a.x=b,a.y=c,a},c.inverse=function(a){var b,c,e,g,h,i,j,k,l,m,n,o,p;return a.x-=this.x0,a.y-=this.y0,n=Math.PI*this.R,e=a.x/n,g=a.y/n,h=e*e+g*g,i=-Math.abs(g)*(1+h),j=i-2*g*g+e*e,k=-2*i+1+2*g*g+h*h,p=g*g/k+(2*j*j*j/k/k/k-9*i*j/k/k)/27,l=(i-j*j/3/k)/k,m=2*Math.sqrt(-l/3),n=3*p/l/m,Math.abs(n)>1&&(n=n>=0?1:-1),o=Math.acos(n)/3,c=a.y>=0?(-m*Math.cos(o+Math.PI/3)-j/3/k)*Math.PI:-(-m*Math.cos(o+Math.PI/3)-j/3/k)*Math.PI,b=Math.abs(e)-1?(b[e]={name:a[0].toLowerCase(),convert:a[1]},3===a.length&&(b[e].auth=a[2])):"SPHEROID"===e?(b[e]={name:a[0],a:a[1],rf:a[2]},4===a.length&&(b[e].auth=a[3])):["GEOGCS","GEOCCS","DATUM","VERT_CS","COMPD_CS","LOCAL_CS","FITTED_CS","LOCAL_DATUM"].indexOf(e)>-1?(a[0]=["name",a[0]],c(b,e,a)):a.every(function(a){return Array.isArray(a)})?c(b,e,a):d(a,b[e])):b[e]=!0,void 0):void(b[a]=!0)}function e(a,b){var c=b[0],d=b[1];!(c in a)&&d in a&&(a[c]=a[d],3===b.length&&(a[c]=b[2](a[c])))}function f(a){return a*h}function g(a){function b(b){var c=a.to_meter||1;return parseFloat(b,10)*c}"GEOGCS"===a.type?a.projName="longlat":"LOCAL_CS"===a.type?(a.projName="identity",a.local=!0):a.projName="object"==typeof a.PROJECTION?Object.keys(a.PROJECTION)[0]:a.PROJECTION,a.UNIT&&(a.units=a.UNIT.name.toLowerCase(),"metre"===a.units&&(a.units="meter"),a.UNIT.convert&&(a.to_meter=parseFloat(a.UNIT.convert,10))),a.GEOGCS&&(a.datumCode=a.GEOGCS.DATUM?a.GEOGCS.DATUM.name.toLowerCase():a.GEOGCS.name.toLowerCase(),"d_"===a.datumCode.slice(0,2)&&(a.datumCode=a.datumCode.slice(2)),("new_zealand_geodetic_datum_1949"===a.datumCode||"new_zealand_1949"===a.datumCode)&&(a.datumCode="nzgd49"),"wgs_1984"===a.datumCode&&("Mercator_Auxiliary_Sphere"===a.PROJECTION&&(a.sphere=!0),a.datumCode="wgs84"),"_ferro"===a.datumCode.slice(-6)&&(a.datumCode=a.datumCode.slice(0,-6)),"_jakarta"===a.datumCode.slice(-8)&&(a.datumCode=a.datumCode.slice(0,-8)),~a.datumCode.indexOf("belge")&&(a.datumCode="rnb72"),a.GEOGCS.DATUM&&a.GEOGCS.DATUM.SPHEROID&&(a.ellps=a.GEOGCS.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===a.ellps.toLowerCase().slice(0,13)&&(a.ellps="intl"),a.a=a.GEOGCS.DATUM.SPHEROID.a,a.rf=parseFloat(a.GEOGCS.DATUM.SPHEROID.rf,10)),~a.datumCode.indexOf("osgb_1936")&&(a.datumCode="osgb36")),a.b&&!isFinite(a.b)&&(a.b=a.a); var c=function(b){return e(a,b)},d=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",f],["longitude_of_center","Longitude_Of_Center"],["longc","longitude_of_center",f],["x0","false_easting",b],["y0","false_northing",b],["long0","central_meridian",f],["lat0","latitude_of_origin",f],["lat0","standard_parallel_1",f],["lat1","standard_parallel_1",f],["lat2","standard_parallel_2",f],["alpha","azimuth",f],["srsCode","name"]];d.forEach(c),a.long0||!a.longc||"Albers_Conic_Equal_Area"!==a.PROJECTION&&"Lambert_Azimuthal_Equal_Area"!==a.PROJECTION||(a.long0=a.longc)}var h=.017453292519943295,i=a("./extend");b.exports=function(a,b){var c=JSON.parse((","+a).replace(/\s*\,\s*([A-Z_0-9]+?)(\[)/g,',["$1",').slice(1).replace(/\s*\,\s*([A-Z_0-9]+?)\]/g,',"$1"]')),e=c.shift(),f=c.shift();c.unshift(["name",f]),c.unshift(["type",e]),c.unshift("output");var h={};return d(c,h),g(h.output),i(b,h.output)}},{"./extend":33}],66:[function(a,b,c){function d(a){return a*(Math.PI/180)}function e(a){return 180*(a/Math.PI)}function f(a){var b,c,e,f,g,i,j,k,l,m=a.lat,n=a.lon,o=6378137,p=.00669438,q=.9996,r=d(m),s=d(n);l=Math.floor((n+180)/6)+1,180===n&&(l=60),m>=56&&64>m&&n>=3&&12>n&&(l=32),m>=72&&84>m&&(n>=0&&9>n?l=31:n>=9&&21>n?l=33:n>=21&&33>n?l=35:n>=33&&42>n&&(l=37)),b=6*(l-1)-180+3,k=d(b),c=p/(1-p),e=o/Math.sqrt(1-p*Math.sin(r)*Math.sin(r)),f=Math.tan(r)*Math.tan(r),g=c*Math.cos(r)*Math.cos(r),i=Math.cos(r)*(s-k),j=o*((1-p/4-3*p*p/64-5*p*p*p/256)*r-(3*p/8+3*p*p/32+45*p*p*p/1024)*Math.sin(2*r)+(15*p*p/256+45*p*p*p/1024)*Math.sin(4*r)-35*p*p*p/3072*Math.sin(6*r));var t=q*e*(i+(1-f+g)*i*i*i/6+(5-18*f+f*f+72*g-58*c)*i*i*i*i*i/120)+5e5,u=q*(j+e*Math.tan(r)*(i*i/2+(5-f+9*g+4*g*g)*i*i*i*i/24+(61-58*f+f*f+600*g-330*c)*i*i*i*i*i*i/720));return 0>m&&(u+=1e7),{northing:Math.round(u),easting:Math.round(t),zoneNumber:l,zoneLetter:h(m)}}function g(a){var b=a.northing,c=a.easting,d=a.zoneLetter,f=a.zoneNumber;if(0>f||f>60)return null;var h,i,j,k,l,m,n,o,p,q,r=.9996,s=6378137,t=.00669438,u=(1-Math.sqrt(1-t))/(1+Math.sqrt(1-t)),v=c-5e5,w=b;"N">d&&(w-=1e7),o=6*(f-1)-180+3,h=t/(1-t),n=w/r,p=n/(s*(1-t/4-3*t*t/64-5*t*t*t/256)),q=p+(3*u/2-27*u*u*u/32)*Math.sin(2*p)+(21*u*u/16-55*u*u*u*u/32)*Math.sin(4*p)+151*u*u*u/96*Math.sin(6*p),i=s/Math.sqrt(1-t*Math.sin(q)*Math.sin(q)),j=Math.tan(q)*Math.tan(q),k=h*Math.cos(q)*Math.cos(q),l=s*(1-t)/Math.pow(1-t*Math.sin(q)*Math.sin(q),1.5),m=v/(i*r);var x=q-i*Math.tan(q)/l*(m*m/2-(5+3*j+10*k-4*k*k-9*h)*m*m*m*m/24+(61+90*j+298*k+45*j*j-252*h-3*k*k)*m*m*m*m*m*m/720);x=e(x);var y=(m-(1+2*j+k)*m*m*m/6+(5-2*k+28*j-3*k*k+8*h+24*j*j)*m*m*m*m*m/120)/Math.cos(q);y=o+e(y);var z;if(a.accuracy){var A=g({northing:a.northing+a.accuracy,easting:a.easting+a.accuracy,zoneLetter:a.zoneLetter,zoneNumber:a.zoneNumber});z={top:A.lat,right:A.lon,bottom:x,left:y}}else z={lat:x,lon:y};return z}function h(a){var b="Z";return 84>=a&&a>=72?b="X":72>a&&a>=64?b="W":64>a&&a>=56?b="V":56>a&&a>=48?b="U":48>a&&a>=40?b="T":40>a&&a>=32?b="S":32>a&&a>=24?b="R":24>a&&a>=16?b="Q":16>a&&a>=8?b="P":8>a&&a>=0?b="N":0>a&&a>=-8?b="M":-8>a&&a>=-16?b="L":-16>a&&a>=-24?b="K":-24>a&&a>=-32?b="J":-32>a&&a>=-40?b="H":-40>a&&a>=-48?b="G":-48>a&&a>=-56?b="F":-56>a&&a>=-64?b="E":-64>a&&a>=-72?b="D":-72>a&&a>=-80&&(b="C"),b}function i(a,b){var c=""+a.easting,d=""+a.northing;return a.zoneNumber+a.zoneLetter+j(a.easting,a.northing,a.zoneNumber)+c.substr(c.length-5,b)+d.substr(d.length-5,b)}function j(a,b,c){var d=k(c),e=Math.floor(a/1e5),f=Math.floor(b/1e5)%20;return l(e,f,d)}function k(a){var b=a%q;return 0===b&&(b=q),b}function l(a,b,c){var d=c-1,e=r.charCodeAt(d),f=s.charCodeAt(d),g=e+a-1,h=f+b,i=!1;g>x&&(g=g-x+t-1,i=!0),(g===u||u>e&&g>u||(g>u||u>e)&&i)&&g++,(g===v||v>e&&g>v||(g>v||v>e)&&i)&&(g++,g===u&&g++),g>x&&(g=g-x+t-1),h>w?(h=h-w+t-1,i=!0):i=!1,(h===u||u>f&&h>u||(h>u||u>f)&&i)&&h++,(h===v||v>f&&h>v||(h>v||v>f)&&i)&&(h++,h===u&&h++),h>w&&(h=h-w+t-1);var j=String.fromCharCode(g)+String.fromCharCode(h);return j}function m(a){if(a&&0===a.length)throw"MGRSPoint coverting from nothing";for(var b,c=a.length,d=null,e="",f=0;!/[A-Z]/.test(b=a.charAt(f));){if(f>=2)throw"MGRSPoint bad conversion from: "+a;e+=b,f++}var g=parseInt(e,10);if(0===f||f+3>c)throw"MGRSPoint bad conversion from: "+a;var h=a.charAt(f++);if("A">=h||"B"===h||"Y"===h||h>="Z"||"I"===h||"O"===h)throw"MGRSPoint zone letter "+h+" not handled: "+a;d=a.substring(f,f+=2);for(var i=k(g),j=n(d.charAt(0),i),l=o(d.charAt(1),i);l0&&(q=1e5/Math.pow(10,v),r=a.substring(f,f+v),w=parseFloat(r)*q,s=a.substring(f+v),x=parseFloat(s)*q),t=w+j,u=x+l,{easting:t,northing:u,zoneLetter:h,zoneNumber:g,accuracy:q}}function n(a,b){for(var c=r.charCodeAt(b-1),d=1e5,e=!1;c!==a.charCodeAt(0);){if(c++,c===u&&c++,c===v&&c++,c>x){if(e)throw"Bad character: "+a;c=t,e=!0}d+=1e5}return d}function o(a,b){if(a>"V")throw"MGRSPoint given invalid Northing "+a;for(var c=s.charCodeAt(b-1),d=0,e=!1;c!==a.charCodeAt(0);){if(c++,c===u&&c++,c===v&&c++,c>w){if(e)throw"Bad character: "+a;c=t,e=!0}d+=1e5}return d}function p(a){var b;switch(a){case"C":b=11e5;break;case"D":b=2e6;break;case"E":b=28e5;break;case"F":b=37e5;break;case"G":b=46e5;break;case"H":b=55e5;break;case"J":b=64e5;break;case"K":b=73e5;break;case"L":b=82e5;break;case"M":b=91e5;break;case"N":b=0;break;case"P":b=8e5;break;case"Q":b=17e5;break;case"R":b=26e5;break;case"S":b=35e5;break;case"T":b=44e5;break;case"U":b=53e5;break;case"V":b=62e5;break;case"W":b=7e6;break;case"X":b=79e5;break;default:b=-1}if(b>=0)return b;throw"Invalid zone letter: "+a}var q=6,r="AJSAJS",s="AFAFAF",t=65,u=73,v=79,w=86,x=90;c.forward=function(a,b){return b=b||5,i(f({lat:a[1],lon:a[0]}),b)},c.inverse=function(a){var b=g(m(a.toUpperCase()));return[b.left,b.bottom,b.right,b.top]},c.toPoint=function(a){var b=c.inverse(a);return[(b[2]+b[0])/2,(b[3]+b[1])/2]}},{}],67:[function(a,b){b.exports={name:"proj4",version:"2.2.1",description:"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.",main:"lib/index.js",directories:{test:"test",doc:"docs"},scripts:{test:"./node_modules/istanbul/lib/cli.js test ./node_modules/mocha/bin/_mocha test/test.js"},repository:{type:"git",url:"git://github.com/proj4js/proj4js.git"},author:"",license:"MIT",jam:{main:"dist/proj4.js",include:["dist/proj4.js","README.md","AUTHORS","LICENSE.md"]},devDependencies:{"grunt-cli":"~0.1.13",grunt:"~0.4.2","grunt-contrib-connect":"~0.6.0","grunt-contrib-jshint":"~0.8.0",chai:"~1.8.1",mocha:"~1.17.1","grunt-mocha-phantomjs":"~0.4.0",browserify:"~3.24.5","grunt-browserify":"~1.3.0","grunt-contrib-uglify":"~0.3.2",curl:"git://github.com/cujojs/curl.git",istanbul:"~0.2.4",tin:"~0.4.0"},dependencies:{mgrs:"0.0.0"}}},{}],"./includedProjections":[function(a,b){b.exports=a("gWUPNW")},{}],gWUPNW:[function(a,b){var c=[a("./lib/projections/tmerc"),a("./lib/projections/utm"),a("./lib/projections/sterea"),a("./lib/projections/stere"),a("./lib/projections/somerc"),a("./lib/projections/omerc"),a("./lib/projections/lcc"),a("./lib/projections/krovak"),a("./lib/projections/cass"),a("./lib/projections/laea"),a("./lib/projections/aea"),a("./lib/projections/gnom"),a("./lib/projections/cea"),a("./lib/projections/eqc"),a("./lib/projections/poly"),a("./lib/projections/nzmg"),a("./lib/projections/mill"),a("./lib/projections/sinu"),a("./lib/projections/moll"),a("./lib/projections/eqdc"),a("./lib/projections/vandg"),a("./lib/projections/aeqd")];b.exports=function(proj4){c.forEach(function(a){proj4.Proj.projections.add(a)})}},{"./lib/projections/aea":39,"./lib/projections/aeqd":40,"./lib/projections/cass":41,"./lib/projections/cea":42,"./lib/projections/eqc":43,"./lib/projections/eqdc":44,"./lib/projections/gnom":46,"./lib/projections/krovak":47,"./lib/projections/laea":48,"./lib/projections/lcc":49,"./lib/projections/mill":52,"./lib/projections/moll":53,"./lib/projections/nzmg":54,"./lib/projections/omerc":55,"./lib/projections/poly":56,"./lib/projections/sinu":57,"./lib/projections/somerc":58,"./lib/projections/stere":59,"./lib/projections/sterea":60,"./lib/projections/tmerc":61,"./lib/projections/utm":62,"./lib/projections/vandg":63}]},{},[35])(35)});