!function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t;"undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.leafletPip=n()}}(function(){return function n(t,o,e){function r(i,s){if(!o[i]){if(!t[i]){var u="function"==typeof require&&require;if(!s&&u)return u(i,!0);if(a)return a(i,!0);throw new Error("Cannot find module '"+i+"'")}var c=o[i]={exports:{}};t[i][0].call(c.exports,function(n){var o=t[i][1][n];return r(o?o:n)},c,c.exports,n,t,o,e)}return o[i].exports}for(var a="function"==typeof require&&require,i=0;it!=e[a][0]>t&&n<(e[a][1]-e[r][1])*(t-e[r][0])/(e[a][0]-e[r][0])+e[r][1]&&(i=!i);return i}var e=this.gju={};"undefined"!=typeof t&&t.exports&&(t.exports=e),e.lineStringsIntersect=function(n,t){for(var o=[],e=0;e<=n.coordinates.length-2;++e)for(var r=0;r<=t.coordinates.length-2;++r){var a={x:n.coordinates[e][1],y:n.coordinates[e][0]},i={x:n.coordinates[e+1][1],y:n.coordinates[e+1][0]},s={x:t.coordinates[r][1],y:t.coordinates[r][0]},u={x:t.coordinates[r+1][1],y:t.coordinates[r+1][0]},c=(u.x-s.x)*(a.y-s.y)-(u.y-s.y)*(a.x-s.x),f=(i.x-a.x)*(a.y-s.y)-(i.y-a.y)*(a.x-s.x),h=(u.y-s.y)*(i.x-a.x)-(u.x-s.x)*(i.y-a.y);if(0!=h){var d=c/h,l=f/h;d>=0&&1>=d&&l>=0&&1>=l&&o.push({type:"Point",coordinates:[a.x+d*(i.x-a.x),a.y+d*(i.y-a.y)]})}}return 0==o.length&&(o=!1),o},e.pointInBoundingBox=function(n,t){return!(n.coordinates[1]t[1][0]||n.coordinates[0]t[1][1])},e.pointInPolygon=function(t,r){for(var a="Polygon"==r.type?[r.coordinates]:r.coordinates,i=!1,s=0;su;u++){var c=2*Math.PI*u/o,f=Math.asin(Math.sin(i[0])*Math.cos(a)+Math.cos(i[0])*Math.sin(a)*Math.cos(c)),h=i[1]+Math.atan2(Math.sin(c)*Math.sin(a)*Math.cos(i[0]),Math.cos(a)-Math.sin(i[0])*Math.sin(f));s[u]=[],s[u][1]=e.numberToDegree(f),s[u][0]=e.numberToDegree(h)}return{type:"Polygon",coordinates:[s]}},e.rectangleCentroid=function(n){var t=n.coordinates[0],o=t[0][0],e=t[0][1],r=t[2][0],a=t[2][1],i=r-o,s=a-e;return{type:"Point",coordinates:[o+i/2,e+s/2]}},e.pointDistance=function(n,t){var o=n.coordinates[0],r=n.coordinates[1],a=t.coordinates[0],i=t.coordinates[1],s=e.numberToRadius(i-r),u=e.numberToRadius(a-o),c=Math.pow(Math.sin(s/2),2)+Math.cos(e.numberToRadius(r))*Math.cos(e.numberToRadius(i))*Math.pow(Math.sin(u/2),2),f=2*Math.atan2(Math.sqrt(c),Math.sqrt(1-c));return 6371*f*1e3},e.geometryWithinRadius=function(n,t,o){if("Point"==n.type)return e.pointDistance(n,t)<=o;if("LineString"==n.type||"Polygon"==n.type){var r,a={};r="Polygon"==n.type?n.coordinates[0]:n.coordinates;for(var i in r)if(a.coordinates=r[i],e.pointDistance(a,t)>o)return!1}return!0},e.area=function(n){for(var t,o,e=0,r=n.coordinates[0],a=r.length-1,i=0;i0;)if(a=I[e-1],i=w[e-1],e--,i-a>1){for(d=n[i].lng()-n[a].lng(),l=n[i].lat()-n[a].lat(),Math.abs(d)>180&&(d=360-Math.abs(d)),d*=Math.cos(b*(n[i].lat()+n[a].lat())),y=d*d+l*l,s=a+1,u=a,f=-1;i>s;s++)g=n[s].lng()-n[a].lng(),p=n[s].lat()-n[a].lat(),Math.abs(g)>180&&(g=360-Math.abs(g)),g*=Math.cos(b*(n[s].lat()+n[a].lat())),M=g*g+p*p,x=n[s].lng()-n[i].lng(),v=n[s].lat()-n[i].lat(),Math.abs(x)>180&&(x=360-Math.abs(x)),x*=Math.cos(b*(n[s].lat()+n[i].lat())),P=x*x+v*v,c=M>=y+P?P:P>=y+M?M:(g*l-p*d)*(g*l-p*d)/y,c>f&&(u=s,f=c);h>f?(m[r]=a,r++):(e++,I[e-1]=u,w[e-1]=i,e++,I[e-1]=a,w[e-1]=u)}else m[r]=a,r++;m[r]=o-1,r++;for(var T=new Array,s=0;r>s;s++)T.push(n[m[s]]);return T.map(function(n){return{type:"Point",coordinates:[n.lng,n.lat]}})},e.destinationPoint=function(n,t,o){o/=6371,t=e.numberToRadius(t);var r=e.numberToRadius(n.coordinates[0]),a=e.numberToRadius(n.coordinates[1]),i=Math.asin(Math.sin(a)*Math.cos(o)+Math.cos(a)*Math.sin(o)*Math.cos(t)),s=r+Math.atan2(Math.sin(t)*Math.sin(o)*Math.cos(a),Math.cos(o)-Math.sin(a)*Math.sin(i));return s=(s+3*Math.PI)%(2*Math.PI)-Math.PI,{type:"Point",coordinates:[e.numberToDegree(s),e.numberToDegree(i)]}}}()},{}]},{},[1])(1)});