/**Released Version v3.0.9,BUILD 171,Time 1650882279469. Fengmap Javascript SDK , see: https://www.fengmap.com for details**/ !function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i():"function"==typeof define&&define.amd?define([],i):"object"==typeof exports?exports.fengmap=i():t.fengmap=i()}(this,function(){return n=[function(S,x,P){"use strict";P.r(x);var l={LEFT_TOP:1,LEFT_BOTTOM:2,RIGHT_TOP:3,RIGHT_BOTTOM:4};function Z(t,i){for(var n=0;nt);n++);}},{key:"getClikEventName",value:function(){return window.PointerEvent?"pointerdown":"click"}}],(n=null)&&D(i.prototype,n),e&&D(i,e),Object.defineProperty(i,"prototype",{writable:!1}),t}(),G={FMMap_CONTROL_SMALL:"small",FMMap_CONTROL_NORMAL:"normal"};function B(t,i){for(var n=0;n\n \n \n
\n
\n \n
\n ')}},{key:"checkPosition",value:function(t,i,n){switch(n.style.left="",n.style.right="",n.style.top="",n.style.bottom="",t){case l.LEFT_TOP:n.style.left=i.x+"px",n.style.top=i.y+"px";break;case l.RIGHT_TOP:n.style.right=-i.x+"px",n.style.top=i.y+"px";break;case l.LEFT_BOTTOM:n.style.left=i.x+"px",n.style.bottom=-i.y+"px";break;case l.RIGHT_BOTTOM:n.style.right=-i.x+"px",n.style.bottom=-i.y+"px"}}}])&&U(t.prototype,n),e&&U(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}(),W={MODE_3D:2,MODE_2D:4},X=(Object.freeze(W),W);function _(t,i){var n=document.createElement("div"),t='
');return n.innerHTML=t.trim(),n.firstChild}function H(t,i){t&&i?t.appendChild(i):console.error(t,i)}for(var r=[],K=0;K<256;K++)r[K]=(K<16?"0":"")+K.toString(16);var Q,v={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var t=4294967295*Math.random()|0,i=4294967295*Math.random()|0,n=4294967295*Math.random()|0,e=4294967295*Math.random()|0;return(r[255&t]+r[t>>8&255]+r[t>>16&255]+r[t>>24&255]+"-"+r[255&i]+r[i>>8&255]+"-"+r[i>>16&15|64]+r[i>>24&255]+"-"+r[63&n|128]+r[n>>8&255]+"-"+r[n>>16&255]+r[n>>24&255]+r[255&e]+r[e>>8&255]+r[e>>16&255]+r[e>>24&255]).toUpperCase()},clamp:function(t,i,n){return Math.max(i,Math.min(n,t))},euclideanModulo:function(t,i){return(t%i+i)%i},mapLinear:function(t,i,n,e,r){return e+(t-i)*(r-e)/(n-i)},lerp:function(t,i,n){return(1-n)*t+n*i},smoothstep:function(t,i,n){return t<=i?0:n<=t?1:(t=(t-i)/(n-i))*t*(3-2*t)},smootherstep:function(t,i,n){return t<=i?0:n<=t?1:(t=(t-i)/(n-i))*t*t*(t*(6*t-15)+10)},randInt:function(t,i){return t+Math.floor(Math.random()*(i-t+1))},randFloat:function(t,i){return t+Math.random()*(i-t)},randFloatSpread:function(t){return t*(.5-Math.random())},degToRad:function(t){return t*v.DEG2RAD},radToDeg:function(t){return t*v.RAD2DEG},isPowerOfTwo:function(t){return 0==(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,i,n,e,r){var g=Math.cos,A=Math.sin,C=g(n/2),n=A(n/2),o=g((i+e)/2),I=A((i+e)/2),s=g((i-e)/2),h=A((i-e)/2),g=g((e-i)/2),A=A((e-i)/2);"XYX"===r?t.set(C*I,n*s,n*h,C*o):"YZY"===r?t.set(n*h,C*I,n*s,C*o):"ZXZ"===r?t.set(n*s,n*h,C*I,C*o):"XZX"===r?t.set(C*I,n*A,n*g,C*o):"YXY"===r?t.set(n*g,C*I,n*A,C*o):"ZYZ"===r?t.set(n*A,n*g,C*I,C*o):console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order.")}};function J(t,i){for(var n=0;n'.trim(),t.firstChild),i=(this.D=t,this.T.position),e=this.T.offset,r=t;switch(r.style.left="",r.style.right="",r.style.top="",r.style.bottom="",i){case l.LEFT_TOP:r.style.left=e.x+"px",r.style.top=e.y+"px";break;case l.RIGHT_TOP:r.style.right=-e.x+"px",r.style.top=e.y+"px";break;case l.LEFT_BOTTOM:r.style.left=e.x+"px",r.style.bottom=-e.y+"px";break;case l.RIGHT_BOTTOM:r.style.right=-e.x+"px",r.style.bottom=-e.y+"px";break;default:r.style.left=e.x+"px",r.style.top=e.y+"px"}H(this.j,t);var g,i=this.e.getLevels(),A=i.length,C=this.S,o=!0,I=(this.viewModeControl&&(this.e.getViewMode()===X.MODE_3D?this.L=!1:this.L=!0,this.B=((g=document.createElement("div")).innerHTML='\n
'.trim(),g.firstChild),this.initViewModePanelEvent(this.B),H(t,this.B),this.setViewModeToStyle(this.B,this.L?"2d":"3d")),(g=document.createElement("div")).innerHTML='\n
\n
\n
'.trim(),g.firstChild);if(this.T.needAllLayerBtn&&H(t,I),this.V=I,this.eventSwitchBtn(I),this.handleLayerChangeStyle=this.handleLayerChangeStyle.bind(this),this.e.on("visibleLevelsLoaded",this.handleLayerChangeStyle),this.floorModeControl){A<=this.S&&(C=A,o=!1);this.W;this.P&&this.X,(I=document.createElement("div")).innerHTML='
').concat(h.alias&&h.alias.toUpperCase()||h.name.toUpperCase(),"\n "),a.innerHTML=u.trim(),a.firstChild)),0'.trim(),h.firstChild));var I=document.querySelector(".fm-floor-line"),f=0,I=(I&&(f=I.getBoundingClientRect().height),this._=document.querySelector(".fm-floor-name").clientHeight+f,document.querySelector(".fm-floor-list").style.height=this._*C+"px",o&&A.appendChild(_("down",this.uuid)),s.scrollTop=this.getCenterScrolltopById(this.U,i.length),document.getElementById("gid_"+this.U+this.uuid)),f=(I.classList.remove("fm-floor-name-normal"),I.classList.add("fm-floor-name-active"),this.eventBtnPanelInit(s),this.eventPanelInit(t,s,i),function(t){var i=n.e.getLevels();t.leveli[i.length-1]||(s.scrollTop=n.getCenterScrolltopById(t.level,i.length),n.setGidStyleByEvent(t.level,"levelChanged"))});this.gidchange=f,this.handleLayerChangeStyle=this.handleLayerChangeStyle.bind(this),this.e.on("levelChanged",f),this.H=function(t){return(n.map?n.map.mapView.container_:document).querySelector(t)}}}},{key:"handleLayerChange",value:function(){var t=this;!t.P?t.e.setVisibleLevels(t.e.getLevels()):t.e.setVisibleLevels([t.e.getLevel()])}},{key:"handleLayerChangeStyle",value:function(){1t[t.length-1]||(n.scrollTop=r.getCenterScrolltopById(parseInt(this.dataset.gid),t.length),r.setGidStyleByClick(this.dataset.gid,"click")))});n.addEventListener("mousewheel",t,{passive:!0}),n.addEventListener("MozMousePixelScroll",t,!1),n.addEventListener("touchstart",this.touchstart.bind(this),!1),n.addEventListener("touchmove",this.touchmove.bind(this),!1),n.addEventListener("touchend",this.touchend.bind(this),!0)}},{key:"touchstart",value:function(t){t.preventDefault(),this.touchStartPointY=t.touches[0].pageY,this.touchPointX=t.touches[0].pageX,this.touchPointY=t.touches[0].pageY,t.stopPropagation()}},{key:"touchmove",value:function(t){t.preventDefault(),this.touchEndPointX=t.touches[0].pageX,this.touchEndPointY=t.touches[0].pageY,this.handleTouchEnd(t),t.stopPropagation()}},{key:"handleTouchEnd",value:function(t){var i=this;0<(t=t||window.event).changedTouches.length&&(i.touchEndPointX=t.changedTouches[0].pageX,i.touchEndPointY=t.changedTouches[0].pageY),(t=t.target)instanceof HTMLSpanElement==!0&&t.parentElement,0!=(t=-(i.touchEndPointY-i.touchPointY))&&(i.touchPointX=i.touchEndPointX,i.touchPointY=i.touchEndPointY,i=i.H(".fm-floor-list"),this.scrollTopAn_({el:i,to:i.scrollTop,form:i.scrollTop+t}))}},{key:"touchend",value:function(t){var i=this,n=null,e=(0<(t=t||window.event).changedTouches.length&&(i.touchEndPointX=t.changedTouches[0].pageX,i.touchEndPointY=t.changedTouches[0].pageY),(n=t.target)instanceof HTMLSpanElement==!0&&(n=n.parentElement),Math.abs(i.touchEndPointY-i.touchStartPointY));e<5&&0<=e&&n&&(e=parseInt(n.dataset.gid),isNaN(e)||(i.foucusId=e,i.setGidStyleByClick(e,"click"))),t.stopPropagation()}},{key:"eventPanelInit",value:function(t,C,o){var I=this;t.onselectstart=function(){return!1},t.style.MozUserSelect="none",N.bindEvent(t,".fm-scroll","click",function(t){var i=this._,n=o.length-Math.floor(C.scrollTop/i)-(I.S-1),e=C.scrollTop%i,r=n+I.S-1+(0>8&255]+g[t>>16&255]+g[t>>24&255]+"-"+g[255&i]+g[i>>8&255]+"-"+g[i>>16&15|64]+g[i>>24&255]+"-"+g[63&n|128]+g[n>>8&255]+"-"+g[n>>16&255]+g[n>>24&255]+g[255&e]+g[e>>8&255]+g[e>>16&255]+g[e>>24&255]).toUpperCase()},clamp:function(t,i,n){return Math.max(i,Math.min(n,t))},euclideanModulo:function(t,i){return(t%i+i)%i},mapLinear:function(t,i,n,e,r){return e+(t-i)*(r-e)/(n-i)},lerp:function(t,i,n){return(1-n)*t+n*i},smoothstep:function(t,i,n){return t<=i?0:n<=t?1:(t=(t-i)/(n-i))*t*(3-2*t)},smootherstep:function(t,i,n){return t<=i?0:n<=t?1:(t=(t-i)/(n-i))*t*t*(t*(6*t-15)+10)},randInt:function(t,i){return t+Math.floor(Math.random()*(i-t+1))},randFloat:function(t,i){return t+Math.random()*(i-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return((ht=16807*(ht=void 0!==t?t%2147483647:ht)%2147483647)-1)/2147483646},degToRad:function(t){return t*ut.DEG2RAD},radToDeg:function(t){return t*ut.RAD2DEG},isPowerOfTwo:function(t){return 0==(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,i,n,e,r){var g=Math.cos,A=Math.sin,C=g(n/2),o=A(n/2),I=g((i+e)/2),s=A((i+e)/2),h=g((i-e)/2),u=A((i-e)/2),a=g((e-i)/2),c=A((e-i)/2);switch(r){case"XYX":t.set(C*s,o*h,o*u,C*I);break;case"YZY":t.set(o*u,C*s,o*h,C*I);break;case"ZXZ":t.set(o*h,o*u,C*s,C*I);break;case"XZX":t.set(C*s,o*c,o*a,C*I);break;case"YXY":t.set(o*a,C*s,o*c,C*I);break;case"ZYZ":t.set(o*c,o*a,C*s,C*I);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}};function at(t,i){for(var n=0;nNumber.EPSILON&&(I=Math.sqrt(I),o=Math.atan2(I,o*C),g=Math.sin(g*o)/I,A=Math.sin(A*o)/I),s=s*g+e*(o=A*C),h=h*g+a*o,u=u*g+c*o,n=n*g+r*o,g===1-A&&(s*=I=1/Math.sqrt(s*s+h*h+u*u+n*n),h*=I,u*=I,n*=I)),t[i]=s,t[i+1]=h,t[i+2]=u,t[i+3]=n}},{key:"multiplyQuaternionsFlat",value:function(t,i,n,e,r,g){var A=n[e],C=n[e+1],o=n[e+2],n=n[e+3],e=r[g],I=r[g+1],s=r[g+2],r=r[g+3];return t[i]=A*r+n*e+C*s-o*I,t[i+1]=C*r+n*I+o*e-A*s,t[i+2]=o*r+n*s+A*I-C*e,t[i+3]=n*r-A*e-C*I-o*s,t}}],(i=[{key:"x",get:function(){return this.it},set:function(t){this.it=t,this.gt()}},{key:"y",get:function(){return this.nt},set:function(t){this.nt=t,this.gt()}},{key:"z",get:function(){return this.et},set:function(t){this.et=t,this.gt()}},{key:"w",get:function(){return this.rt},set:function(t){this.rt=t,this.gt()}},{key:"set",value:function(t,i,n,e){return this.it=t,this.nt=i,this.et=n,this.rt=e,this.gt(),this}},{key:"clone",value:function(){return new this.constructor(this.it,this.nt,this.et,this.rt)}},{key:"copy",value:function(t){return this.it=t.x,this.nt=t.y,this.et=t.z,this.rt=t.w,this.gt(),this}},{key:"setFromEuler",value:function(t,i){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var n=t.it,e=t.nt,r=t.et,g=t.At,t=Math.cos,A=Math.sin,C=t(n/2),o=t(e/2),I=t(r/2),s=A(n/2),h=A(e/2),u=A(r/2);switch(g){case"XYZ":this.it=s*o*I+C*h*u,this.nt=C*h*I-s*o*u,this.et=C*o*u+s*h*I,this.rt=C*o*I-s*h*u;break;case"YXZ":this.it=s*o*I+C*h*u,this.nt=C*h*I-s*o*u,this.et=C*o*u-s*h*I,this.rt=C*o*I+s*h*u;break;case"ZXY":this.it=s*o*I-C*h*u,this.nt=C*h*I+s*o*u,this.et=C*o*u+s*h*I,this.rt=C*o*I-s*h*u;break;case"ZYX":this.it=s*o*I-C*h*u,this.nt=C*h*I+s*o*u,this.et=C*o*u-s*h*I,this.rt=C*o*I+s*h*u;break;case"YZX":this.it=s*o*I+C*h*u,this.nt=C*h*I+s*o*u,this.et=C*o*u-s*h*I,this.rt=C*o*I-s*h*u;break;case"XZY":this.it=s*o*I-C*h*u,this.nt=C*h*I-s*o*u,this.et=C*o*u+s*h*I,this.rt=C*o*I+s*h*u;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+g)}return!1!==i&&this.gt(),this}},{key:"setFromAxisAngle",value:function(t,i){var i=i/2,n=Math.sin(i);return this.it=t.x*n,this.nt=t.y*n,this.et=t.z*n,this.rt=Math.cos(i),this.gt(),this}},{key:"setFromRotationMatrix",value:function(t){var t=t.elements,i=t[0],n=t[4],e=t[8],r=t[1],g=t[5],A=t[9],C=t[2],o=t[6],t=t[10],I=i+g+t;return 0Math.abs(t.z)?(this.it=-t.y,this.nt=t.x,this.et=0):(this.it=0,this.nt=-t.z,this.et=t.y)):(this.it=t.y*i.z-t.z*i.y,this.nt=t.z*i.x-t.x*i.z,this.et=t.x*i.y-t.y*i.x),this.rt=n,this.normalize()}},{key:"angleTo",value:function(t){return 2*Math.acos(Math.abs(ut.clamp(this.dot(t),-1,1)))}},{key:"rotateTowards",value:function(t,i){var n=this.angleTo(t);if(0===n)return this;i=Math.min(1,i/n);return this.slerp(t,i),this}},{key:"identity",value:function(){return this.set(0,0,0,1)}},{key:"invert",value:function(){return this.conjugate()}},{key:"conjugate",value:function(){return this.it*=-1,this.nt*=-1,this.et*=-1,this.gt(),this}},{key:"dot",value:function(t){return this.it*t.it+this.nt*t.nt+this.et*t.et+this.rt*t.rt}},{key:"lengthSq",value:function(){return this.it*this.it+this.nt*this.nt+this.et*this.et+this.rt*this.rt}},{key:"length",value:function(){return Math.sqrt(this.it*this.it+this.nt*this.nt+this.et*this.et+this.rt*this.rt)}},{key:"normalize",value:function(){var t=this.length();return 0===t?(this.it=0,this.nt=0,this.et=0,this.rt=1):(this.it=this.it*(t=1/t),this.nt=this.nt*t,this.et=this.et*t,this.rt=this.rt*t),this.gt(),this}},{key:"multiply",value:function(t,i){return void 0!==i?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,i)):this.multiplyQuaternions(this,t)}},{key:"premultiply",value:function(t){return this.multiplyQuaternions(t,this)}},{key:"multiplyQuaternions",value:function(t,i){var n=t.it,e=t.nt,r=t.et,t=t.rt,g=i.it,A=i.nt,C=i.et,i=i.rt;return this.it=n*i+t*g+e*C-r*A,this.nt=e*i+t*A+r*g-n*C,this.et=r*i+t*C+n*A-e*g,this.rt=t*i-n*g-e*A-r*C,this.gt(),this}},{key:"slerp",value:function(t,i){if(0===i)return this;if(1===i)return this.copy(t);var n=this.it,e=this.nt,r=this.et,g=this.rt,A=g*t.rt+n*t.it+e*t.nt+r*t.et;if(A<0?(this.rt=-t.rt,this.it=-t.it,this.nt=-t.nt,this.et=-t.et,A=-A):this.copy(t),1<=A)return this.rt=g,this.it=n,this.nt=e,this.et=r,this;t=1-A*A;if(t<=Number.EPSILON)return this.rt=(C=1-i)*g+i*this.rt,this.it=C*n+i*this.it,this.nt=C*e+i*this.nt,this.et=C*r+i*this.et,this.normalize(),this.gt(),this;var C=Math.sqrt(t),t=Math.atan2(C,A),A=Math.sin((1-i)*t)/C,i=Math.sin(i*t)/C;return this.rt=g*A+this.rt*i,this.it=n*A+this.it*i,this.nt=e*A+this.nt*i,this.et=r*A+this.et*i,this.gt(),this}},{key:"equals",value:function(t){return t.it===this.it&&t.nt===this.nt&&t.et===this.et&&t.rt===this.rt}},{key:"fromArray",value:function(t){var i=1this.max.x&&(i=!1),t.max.ythis.max.y?!1:i}}])&&yt(i.prototype,n),e&&yt(i,e),Object.defineProperty(i,"prototype",{writable:!1}),t}(),dt=(Object.assign(t.prototype,{ht:function(){return!(this.min.x>this.max.x||this.min.y>this.max.y)},It:function(t){t&&t.valid()&&(t.min.xthis.max.x&&(this.max.x=t.max.x),t.max.y>this.max.y&&(this.max.y=t.max.y))},st:function(t){var i=this;t&&0!=t.length&&t.forEach(function(t){t.xi.max.x&&(i.max.x=t.x),t.y>i.max.y&&(i.max.y=t.y)})}}),t),pt=function(t,i,n){n=n||2;var e,r,g,A,C,o=i&&i.length,I=o?i[0]*n:t.length,s=bt(t,0,I,n,!0),h=[];if(!s||s.next===s.prev)return h;if(o&&(s=function(t,i,n,e){var r,g,A,C,o=[];for(r=0,g=i.length;r=e.next.y&&e.next.y!==e.y){var C=e.x+(g-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(C<=r&&A=e.x&&e.x>=s&&r!==e.x&&jt(gn.x||e.x===n.x&&function(t,i){return k(t.prev,t,i.prev)<0&&k(i.next,t,t.next)<0}(n,e)))&&(n=e,u=o)),e=e.next,e!==I;);return n}(t,i))&&(t=xt(i,t),mt(i,i.next),mt(t,t.next))}(o[r],n),n=mt(n,n.next);return n}(t,i,s,n)),t.length>80*n){for(var u=e=t[0],a=r=t[1],c=n;cg.x?r.x>A.x?r:A:g.x>A.x?g:A).x,s=(r.y>g.y?r.y>A.y?r:A:g.y>A.y?g:A).y,h=kt(C,o,i,n,e),u=kt(I,s,i,n,e),a=t.prevZ,c=t.nextZ;for(;a&&a.z>=h&&c&&c.z<=u;){if(a!==t.prev&&a!==t.next&&jt(r.x,r.y,g.x,g.y,A.x,A.y,a.x,a.y)&&0<=k(a.prev,a,a.next))return;if(a=a.prevZ,c!==t.prev&&c!==t.next&&jt(r.x,r.y,g.x,g.y,A.x,A.y,c.x,c.y)&&0<=k(c.prev,c,c.next))return;c=c.nextZ}for(;a&&a.z>=h;){if(a!==t.prev&&a!==t.next&&jt(r.x,r.y,g.x,g.y,A.x,A.y,a.x,a.y)&&0<=k(a.prev,a,a.next))return;a=a.prevZ}for(;c&&c.z<=u;){if(c!==t.prev&&c!==t.next&&jt(r.x,r.y,g.x,g.y,A.x,A.y,c.x,c.y)&&0<=k(c.prev,c,c.next))return;c=c.nextZ}return 1}(t,e,r,g):function(t){var i=t.prev,n=t,e=t.next;if(0<=k(i,n,e))return;var r=t.next.next;for(;r!==t.prev;){if(jt(i.x,i.y,n.x,n.y,e.x,e.y,r.x,r.y)&&0<=k(r.prev,r,r.next))return;r=r.next}return 1}(t))i.push(m.i/n),i.push(t.i/n),i.push(w.i/n),Lt(t),t=w.next,M=w.next;else if((t=w)===M){A?1===A?wt(t=function(t,i,n){var e=t;do{var r=e.prev,g=e.next.next}while(!Ot(r,g)&&Rt(r,e,e.next,g)&&St(r,g)&&St(g,r)&&(i.push(r.i/n),i.push(e.i/n),i.push(g.i/n),Lt(e),Lt(e.next),e=t=g),e=e.next,e!==t);return mt(e)}(mt(t),i,n),i,n,e,r,g,2):2===A&&function(t,i,n,e,r,g){var A=t;do{for(var C,o=A.next.next;o!==A.prev;){if(A.i!==o.i&&function(t,i){return t.next.i!==i.i&&t.prev.i!==i.i&&!function(t,i){var n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==i.i&&n.next.i!==i.i&&Rt(n,n.next,t,i))return 1}while(n=n.next,n!==t);return}(t,i)&&(St(t,i)&&St(i,t)&&function(t,i){var n=t,e=!1,r=(t.x+i.x)/2,g=(t.y+i.y)/2;for(;n.y>g!=n.next.y>g&&n.next.y!==n.y&&r<(n.next.x-n.x)*(g-n.y)/(n.next.y-n.y)+n.x&&(e=!e),n=n.next,n!==t;);return e}(t,i)&&(k(t.prev,t,i.prev)||k(t,i.prev,i))||Ot(t,i)&&0=Math.min(t.x,n.x)&&i.y<=Math.max(t.y,n.y)&&i.y>=Math.min(t.y,n.y)}function Tt(t){return 0t.length)&&(i=t.length);for(var n=0,e=new Array(i);n=Math.min(r,A)&&o>i.x&&o!==r&&(o===A&&0<(g-i.y)*(C-i.y)?n+=2:n++):o<=Math.max(r,A)&&o>=Math.min(r,A)&&o>i.x&&(o===A&&0<(g-i.y)*(C-i.y)?n+=2:n++)}}return 0n.x)&&!(t.y>n.y)))},wt:function(t,i,n){var e=Math.min(i.x,n.x),r=Math.max(i.x,n.x),g=Math.min(i.y,n.y),i=Math.max(i.y,n.y);return!(t.xr||t.yi)},Mt:function(t,i,n){var e=Math.min(n.x,i.x),r=Math.max(n.x,i.x),g=Math.min(n.y,i.y),n=Math.max(n.y,i.y);return!(t.xr||t.yn)},kt:function(t,i,n){for(var e,r,g=!1,A=0;A=t.y||r.y=t.y)&&(e.x<=t.x||r.x<=t.x)&&e.x+(t.y-e.y)/(r.y-e.y)*(r.x-e.x)A)return!1;var f=(c-u)/(a-h)*(I-h)+u;return r.y=f,r.x=I,fA)return!1;var f=(c-u)/(a-h)*(I-h)+u;return r.y=f,r.x=I,st.length)&&(i=t.length);for(var n=0,e=new Array(i);ni.insertIndex;k--)k-1>=i.insertIndex&&(m=e[k],w=e[k-1],m.level===w.level&&(M+=Xt.Ot(m,w)));e[i.insertIndex]&&e[i.insertIndex].level===i.coords.level&&(M+=Xt.Ot(e[i.insertIndex],i.coords)),i.remain=M}return i.time=t.time,this._t=t,this.Xt=i}}},{key:"pathConstraint",value:function(t,i){return this.Qt?this.Qt.pathConstraint(t,i):null}},{key:"locate",value:function(t,i){this.di&&this.stop(),t.level!==this.rn&&(this.rn=t.level),this.gn(t,i),this._t=t}},{key:"locateNoConstraint",value:function(t,i){this.di&&this.stop(),t.level!==this.rn&&(this.rn=t.level),this.An(t,i),this._t=t}},{key:"clearLocationMarker",value:function(){this.Xi&&(this.Xi.remove(),this.Xi=null)}},{key:"clearMarkers",value:function(){this.Cn&&(this.Cn.remove(),this.Cn=null,this.Ki=null),this.In&&(this.In.remove(),this.In=null,this.Ji=null)}},{key:"drawNaviLine",value:function(t){if(this.Ki&&this.Ji)return this.sn=this.hn(this.an,t),this.sn}},{key:"clearNaviLine",value:function(){this.sn&&(this.sn.remove(),this.sn=null)}},{key:"clearAll",value:function(){this.clearMarkers(),this.clearNaviLine(),this.clearLocationMarker()}},{key:"overview",value:function(t,i){var n,e;0!==this.an.length&&(n=new dt,e=[Number.MAX_VALUE,-Number.MAX_VALUE],this.an.forEach(function(t){t.levele[1]&&(e[1]=t.level),n.st(t.pointList)}),this.cn(t,n,e,i))}},{key:"focusNaviLineSegment",value:function(t,i,n){var e;0!=this.nn.length&&(t=this.nn[t])&&((e=new dt).st([t.startPoint,t.endPoint]),t=[Math.min(t.startLevel,t.endLevel),Math.max(t.startLevel,t.endLevel)],this.cn(i,e,t,n))}},{key:"simulate",value:function(t){var i,n,e=this;this.Ki&&this.Ji&&0!==this.an.length&&!0!==this.di&&(this.di=!0,this.Wi(t),i={},this.Oi=!1,this.Ri=this.e.getRotation(),n=i.ei||this.ei,i.Ai=i.Ai||this.Ai||0,this.fn(),this.Xi.rotateTo({heading:-this.Ri}),this.qt?this.ln(this.Ki.level,n,function(){e.di&&e.vn(e.Ki,n,function(){var t;e.di&&(t=i.Ai>e.oi?e.oi:i.Ai,e.Ci?e.yn(e.ri,n,function(){e.di&&e.dn(t,n,function(){e.di&&e.pn()})}):e.dn(t,n,function(){e.di&&e.pn()}))})}):this.di&&this.pn())}},{key:"pause",value:function(){this.bi=!0}},{key:"resume",value:function(){this.bi=!1}},{key:"stop",value:function(){this.yi=!0,this.Ui.stop(),this.bn&&this.e.off("update",this.bn),this.bi=!1,this.ji=null,this.Ei=null,this.wi=0,this.Oi=!1,this.Si=0,this.Ti=!1,this.bn=null,this.di=!1,this.pi=!1,this.mi=0,this.ki=null}}])&&Qt(t.prototype,n),e&&Qt(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}(),Jt=(Object.assign(t.prototype,{Wi:function(t){t&&(void 0!==t.map&&(this.e=t.map),void 0!==t.analyser&&(this.Qt=t.analyser),void 0!==t.speed&&(this.Jt=t.speed),void 0!==t.followSpeed&&(this.$t=t.followSpeed),void 0!==t.followPosition&&(this.qt=t.followPosition),void 0!==t.followAngle&&(this.ti=t.followAngle),void 0!==t.locationMarkerFollowAngle&&(this.ii=t.locationMarkerFollowAngle),void 0!==t.isMultiLevels&&(this.ni=t.isMultiLevels),void 0!==t.inTime&&(this.ei=t.inTime),void 0!==t.tiltAngle&&(this.ri=t.tiltAngle),void 0!==t.changeFloorTiltAngle&&(this.gi=t.changeFloorTiltAngle),void 0!==t.changeTiltAngle&&(this.Ci=t.changeTiltAngle),void 0!==t.zoom&&(this.Ai=t.zoom),void 0!==t.maxZoom&&(this.oi=t.maxZoom),void 0!==t.extendScale&&(this.Ii=t.extendScale),void 0!==t.locationMarkerUrl&&(this.si=t.locationMarkerUrl),void 0!==t.locationMarkerSize&&(this.hi=t.locationMarkerSize),void 0!==t.locationMarkerHeight&&(this.ui=t.locationMarkerHeight),void 0!==t.lineMarkerHeight&&(this.ai=t.lineMarkerHeight),void 0!==t.imageMarkerHeight&&(this.ci=t.imageMarkerHeight),void 0!==t.directionAssert&&(this.fi=t.directionAssert),void 0!==t.combineAsset&&(this.li=t.combineAsset),void 0!==t.completeDistance&&(this.vi=t.completeDistance),void 0!==t.xi&&(this.fi=t.directionAssert),void 0!==t.mode&&(this.Pi=t.mode),void 0!==t.priority&&(this.Li=t.priority),void 0!==t.toDoors&&(this.Fi=t.toDoors),void 0!==t.obstruct&&(this.Zi=t.obstruct),void 0!==t.viapoints&&(this.Di=t.viapoints),void 0!==t.barrierFree&&(this.Ni=t.barrierFree),void 0!==t.lineStyle&&Object.assign(this.Gi,t.lineStyle),void 0!==t.linePassed&&(this.zi=t.linePassed))},v:function(){1===this.Wt?this.in=void 0!==fengmap.FMNaviDriveAnalyser&&this.Qt instanceof fengmap.FMNaviDriveAnalyser:this.in=void 0!==fengmap.FMNaviAnalyser&&(this.Qt instanceof fengmap.FMNaviAnalyser||this.Qt instanceof fengmap.FMNaviWalkAnalyser),this.Ki=null,this.Ji=null,this.Cn=null,this.In=null,this.Xi=null,this._i=null,this.an=[],this.mn=[],this.nn=[],this.$i=0,this.wn=[],this.rn=null,this.bn=null,this.Mn=null,this.kn=null},fn:function(){this.Xi instanceof fengmap.FMLocationMarker?this.Xi.moveTo({level:this.Ki.level,x:this.Ki.x,y:this.Ki.y}):this.Xi=new fengmap.FMLocationMarker({id:"location",level:this.Ki.level,x:this.Ki.x,y:this.Ki.y,url:this.si||"",size:this.hi}),this.Xi.addTo(this.e)},jn:function(t){for(var i,n=arguments.length<=1?0:arguments.length-1,e=0;ethis.oi?this.oi:e.Ai);this.ni||(e={x:this.Xi.x,y:this.Xi.y,height:this.Xi.height,level:t.level},(t=this.Tn[this.mi])&&t.pointList&&0this.oi?this.oi:r.Ai,this.Ti=!0,this.Ci&&this.yn(this.gi,g,null),this.ni||(this.Xi.visible=!1),this.ln(e.level,g,function(){C.dn(A,g,function(){C.locationMarker.moveTo({x:e.x,y:e.y,height:C.ui,level:e.level}),C.vn(e,g,function(){C.Ci?C.yn(C.ri,g,function(){C.Bn(i,e)}):C.Bn(i,e)})})})),this.Vi.tt({type:"transit",level:i.level})))))))},Vn:function(){this.yi=!1;var t=this.Fn(this.Gn()),t=(this.Ui.start(),this.pi=!1,{step:2,cnt:this.mi=0,ps:t});this.Un(t)},Wn:function(){if(!this.Ti&&!this.bi){if(this.ji){var t=new ft(this.Xi.x,this.Xi.y,0).lerp(this.ji,this.Oi?1:this.$t),i=(t.level=this.ji.level,this.Xi.moveTo({x:t.x,y:t.y,height:this.ui,level:t.level}),this.naviConstraint(t));if(this.sn&&(this.sn.passed?this.sn.moveProportion(1-i.remain/this.$i):this.sn.moveProportion(0)),this.Wt===_t.Drive?this.Vi.tt(Object.assign({},this.ki,{type:"driving",distance:i.distance,remain:i.remain,walk:this.$i-i.remain,distanceToNext:i.distanceToNext,angle:i.angle,point:i.coords,level:t.level,index:i.index,isReal:!1})):this.Vi.tt(Object.assign({},this.ki,{type:"walking",distance:i.distance,remain:i.remain,walk:this.$i-i.remain,distanceToNext:i.distanceToNext,angle:i.angle,point:i.coords,level:t.level,index:i.index,isReal:!1})),this.qt?this.vn(t):this.e.updateCountDown_=0,this.pi)return this.stop(),void this.Vi.tt({type:"complete"})}null!=this.Ei&&(i=this.zn(this.Ri,this.Ei,this.$t),this.Ri=i,this.Xi.rotateTo({heading:-i}),this.ti&&this.Ln(i))}},pn:function(){this.Vn(),this.bn=this.Wn.bind(this),this.e.on("update",this.bn)},gn:function(t,i){var n,e=this.naviConstraint(t);e&&(this.sn&&(this.sn.passed?this.sn.moveProportion(1-e.remain/this.$i):this.sn.moveProportion(0)),n=null,n=this.Wt===_t.Drive?{type:"driving",distance:e.distance,remain:e.remain,drive:this.$i-e.remain,distanceToNext:e.distanceToNext,angle:e.angle,point:e.coords,level:t.level,index:e.index,isReal:!0}:{type:"walking",distance:e.distance,remain:e.remain,walk:this.$i-e.remain,distanceToNext:e.distanceToNext,angle:e.angle,point:e.coords,level:t.level,index:e.index,isReal:!0},this.Vi.tt(n),this.Xi&&(e.coords.height=this.ui,this.Xi.moveTo(e.coords),void 0!==i?this.Xi.rotateTo({heading:i}):this.Xi.rotateTo({heading:-e.angle})))},An:function(t,i){var n=this.naviConstraint(t);n&&(this.Wt===_t.Drive?this.Vi.tt({type:"driving",distance:n.distance,remain:n.remain,drive:this.$i-n.remain,distanceToNext:n.distanceToNext,angle:n.angle,point:n.coords,level:t.level,index:n.index,isReal:!0}):this.Vi.tt({type:"walking",distance:n.distance,remain:n.remain,walk:this.$i-n.remain,distanceToNext:n.distanceToNext,angle:n.angle,point:n.coords,level:t.level,index:n.index,isReal:!0}),this.Xi&&(t.height=this.ui,this.Xi.moveTo(t),void 0!==i?this.Xi.rotateTo({heading:i}):this.Xi.rotateTo({heading:-n.angle})))},Xn:function(t,i){for(var n=[],e=(n.push({x:t.min.x,y:t.min.y}),n.push({x:t.min.x,y:t.max.y}),n.push({x:t.max.x,y:t.max.y}),n.push({x:t.max.x,y:t.min.y}),new dt),r=0;ri.x/i.y?i.y/n:i.x/t},Hn:function(t,i){for(var n=this.Xn(t,i),e=[],r=0;rNumber.EPSILON&&(I=Math.sqrt(I),o=Math.atan2(I,o*C),g=Math.sin(g*o)/I,A=Math.sin(A*o)/I),s=s*g+e*(o=A*C),h=h*g+a*o,u=u*g+c*o,n=n*g+r*o,g===1-A&&(s*=I=1/Math.sqrt(s*s+h*h+u*u+n*n),h*=I,u*=I,n*=I)),t[i]=s,t[i+1]=h,t[i+2]=u,t[i+3]=n}}),Object.defineProperties(yi.prototype,{x:{get:function(){return this.it},set:function(t){this.it=t,this.gt()}},y:{get:function(){return this.nt},set:function(t){this.nt=t,this.gt()}},z:{get:function(){return this.et},set:function(t){this.et=t,this.gt()}},w:{get:function(){return this.rt},set:function(t){this.rt=t,this.gt()}}}),Object.assign(yi.prototype,{isQuaternion:!0,set:function(t,i,n,e){return this.it=t,this.nt=i,this.et=n,this.rt=e,this.gt(),this},clone:function(){return new this.constructor(this.it,this.nt,this.et,this.rt)},copy:function(t){return this.it=t.x,this.nt=t.y,this.et=t.z,this.rt=t.w,this.gt(),this},setFromEuler:function(t,i){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var n=t.it,e=t.nt,r=t.et,t=t.order,g=Math.cos,A=Math.sin,C=g(n/2),o=g(e/2),g=g(r/2),n=A(n/2),e=A(e/2),A=A(r/2);return"XYZ"===t?(this.it=n*o*g+C*e*A,this.nt=C*e*g-n*o*A,this.et=C*o*A+n*e*g,this.rt=C*o*g-n*e*A):"YXZ"===t?(this.it=n*o*g+C*e*A,this.nt=C*e*g-n*o*A,this.et=C*o*A-n*e*g,this.rt=C*o*g+n*e*A):"ZXY"===t?(this.it=n*o*g-C*e*A,this.nt=C*e*g+n*o*A,this.et=C*o*A+n*e*g,this.rt=C*o*g-n*e*A):"ZYX"===t?(this.it=n*o*g-C*e*A,this.nt=C*e*g+n*o*A,this.et=C*o*A-n*e*g,this.rt=C*o*g+n*e*A):"YZX"===t?(this.it=n*o*g+C*e*A,this.nt=C*e*g+n*o*A,this.et=C*o*A-n*e*g,this.rt=C*o*g-n*e*A):"XZY"===t&&(this.it=n*o*g-C*e*A,this.nt=C*e*g-n*o*A,this.et=C*o*A+n*e*g,this.rt=C*o*g+n*e*A),!1!==i&&this.gt(),this},setFromAxisAngle:function(t,i){var i=i/2,n=Math.sin(i);return this.it=t.x*n,this.nt=t.y*n,this.et=t.z*n,this.rt=Math.cos(i),this.gt(),this},setFromRotationMatrix:function(t){var i,t=t.elements,n=t[0],e=t[4],r=t[8],g=t[1],A=t[5],C=t[9],o=t[2],I=t[6],t=t[10],s=n+A+t;return 0Math.abs(t.z)?(this.it=-t.y,this.nt=t.x,this.et=0):(this.it=0,this.nt=-t.z,this.et=t.y)):(this.it=t.y*i.z-t.z*i.y,this.nt=t.z*i.x-t.x*i.z,this.et=t.x*i.y-t.y*i.x),this.rt=n,this.normalize()},angleTo:function(t){return 2*Math.acos(Math.abs(v.clamp(this.dot(t),-1,1)))},rotateTowards:function(t,i){var n=this.angleTo(t);if(0===n)return this;i=Math.min(1,i/n);return this.slerp(t,i),this},inverse:function(){return this.conjugate()},conjugate:function(){return this.it*=-1,this.nt*=-1,this.et*=-1,this.gt(),this},dot:function(t){return this.it*t.it+this.nt*t.nt+this.et*t.et+this.rt*t.rt},lengthSq:function(){return this.it*this.it+this.nt*this.nt+this.et*this.et+this.rt*this.rt},length:function(){return Math.sqrt(this.it*this.it+this.nt*this.nt+this.et*this.et+this.rt*this.rt)},normalize:function(){var t=this.length();return 0===t?(this.it=0,this.nt=0,this.et=0,this.rt=1):(this.it=this.it*(t=1/t),this.nt=this.nt*t,this.et=this.et*t,this.rt=this.rt*t),this.gt(),this},multiply:function(t,i){return void 0!==i?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,i)):this.multiplyQuaternions(this,t)},premultiply:function(t){return this.multiplyQuaternions(t,this)},multiplyQuaternions:function(t,i){var n=t.it,e=t.nt,r=t.et,t=t.rt,g=i.it,A=i.nt,C=i.et,i=i.rt;return this.it=n*i+t*g+e*C-r*A,this.nt=e*i+t*A+r*g-n*C,this.et=r*i+t*C+n*A-e*g,this.rt=t*i-n*g-e*A-r*C,this.gt(),this},slerp:function(t,i){if(0===i)return this;if(1===i)return this.copy(t);var n=this.it,e=this.nt,r=this.et,g=this.rt,A=g*t.rt+n*t.it+e*t.nt+r*t.et;if(A<0?(this.rt=-t.rt,this.it=-t.it,this.nt=-t.nt,this.et=-t.et,A=-A):this.copy(t),1<=A)return this.rt=g,this.it=n,this.nt=e,this.et=r,this;t=1-A*A;if(t<=Number.EPSILON)return this.rt=(C=1-i)*g+i*this.rt,this.it=C*n+i*this.it,this.nt=C*e+i*this.nt,this.et=C*r+i*this.et,this.normalize(),this.gt(),this;var C=Math.sqrt(t),t=Math.atan2(C,A),A=Math.sin((1-i)*t)/C,i=Math.sin(i*t)/C;return this.rt=g*A+this.rt*i,this.it=n*A+this.it*i,this.nt=e*A+this.nt*i,this.et=r*A+this.et*i,this.gt(),this},equals:function(t){return t.it===this.it&&t.nt===this.nt&&t.et===this.et&&t.rt===this.rt},fromArray:function(t,i){return this.it=t[i=void 0===i?0:i],this.nt=t[i+1],this.et=t[i+2],this.rt=t[i+3],this.gt(),this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.it,t[i+1]=this.nt,t[i+2]=this.et,t[i+3]=this.rt,t},fromBufferAttribute:function(t,i){return this.it=t.getX(i),this.nt=t.getY(i),this.et=t.getZ(i),this.rt=t.getW(i),this},Qn:function(t){return this.gt=t,this},gt:function(){}});var di=new y,pi=new yi;function y(t,i,n){this.x=t||0,this.y=i||0,this.z=n||0}Object.assign(y.prototype,{isVector3:!0,set:function(t,i,n){return this.x=t,this.y=i,this.z=n,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setComponent:function(t,i){switch(t){case 0:this.x=i;break;case 1:this.y=i;break;case 2:this.z=i;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,i)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addVectors:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this.z=t.z+i.z,this},addScaledVector:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this.z+=t.z*i,this},sub:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,i)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this},subVectors:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this.z=t.z-i.z,this},multiply:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,i)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this},multiplyVectors:function(t,i){return this.x=t.x*i.x,this.y=t.y*i.y,this.z=t.z*i.z,this},applyEuler:function(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(pi.setFromEuler(t))},applyAxisAngle:function(t,i){return this.applyQuaternion(pi.setFromAxisAngle(t,i))},applyMatrix3:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements;return this.x=t[0]*i+t[3]*n+t[6]*e,this.y=t[1]*i+t[4]*n+t[7]*e,this.z=t[2]*i+t[5]*n+t[8]*e,this},applyNormalMatrix:function(t){return this.applyMatrix3(t).normalize()},applyMatrix4:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements,r=1/(t[3]*i+t[7]*n+t[11]*e+t[15]);return this.x=(t[0]*i+t[4]*n+t[8]*e+t[12])*r,this.y=(t[1]*i+t[5]*n+t[9]*e+t[13])*r,this.z=(t[2]*i+t[6]*n+t[10]*e+t[14])*r,this},applyQuaternion:function(t){var i=this.x,n=this.y,e=this.z,r=t.x,g=t.y,A=t.z,t=t.w,C=t*i+g*e-A*n,o=t*n+A*i-r*e,I=t*e+r*n-g*i,i=-r*i-g*n-A*e;return this.x=C*t+i*-r+o*-A-I*-g,this.y=o*t+i*-g+I*-r-C*-A,this.z=I*t+i*-A+C*-g-o*-r,this},project:function(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)},unproject:function(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)},transformDirection:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements;return this.x=t[0]*i+t[4]*n+t[8]*e,this.y=t[1]*i+t[5]*n+t[9]*e,this.z=t[2]*i+t[6]*n+t[10]*e,this.normalize()},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this},clamp:function(t,i){return this.x=Math.max(t.x,Math.min(i.x,this.x)),this.y=Math.max(t.y,Math.min(i.y,this.y)),this.z=Math.max(t.z,Math.min(i.z,this.z)),this},clampScalar:function(t,i){return this.x=Math.max(t,Math.min(i,this.x)),this.y=Math.max(t,Math.min(i,this.y)),this.z=Math.max(t,Math.min(i,this.z)),this},clampLength:function(t,i){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(i,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(t,i){return this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i,this.z+=(t.z-this.z)*i,this},lerpVectors:function(t,i,n){return this.subVectors(i,t).multiplyScalar(n).add(t)},cross:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,i)):this.crossVectors(this,t)},crossVectors:function(t,i){var n=t.x,e=t.y,t=t.z,r=i.x,g=i.y,i=i.z;return this.x=e*i-t*g,this.y=t*r-n*i,this.z=n*g-e*r,this},projectOnVector:function(t){var i=t.lengthSq();if(0===i)return this.set(0,0,0);i=t.dot(this)/i;return this.copy(t).multiplyScalar(i)},projectOnPlane:function(t){return di.copy(this).projectOnVector(t),this.sub(di)},reflect:function(t){return this.sub(di.copy(t).multiplyScalar(2*this.dot(t)))},angleTo:function(t){var i=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===i)return Math.PI/2;t=this.dot(t)/i;return Math.acos(v.clamp(t,-1,1))},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var i=this.x-t.x,n=this.y-t.y,t=this.z-t.z;return i*i+n*n+t*t},manhattanDistanceTo:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)},setFromSpherical:function(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)},setFromSphericalCoords:function(t,i,n){var e=Math.sin(i)*t;return this.x=e*Math.sin(n),this.y=Math.cos(i)*t,this.z=e*Math.cos(n),this},setFromCylindrical:function(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)},setFromCylindricalCoords:function(t,i,n){return this.x=t*Math.sin(i),this.y=n,this.z=t*Math.cos(i),this},setFromMatrixPosition:function(t){t=t.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this},setFromMatrixScale:function(t){var i=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),t=this.setFromMatrixColumn(t,2).length();return this.x=i,this.y=n,this.z=t,this},setFromMatrixColumn:function(t,i){return this.fromArray(t.elements,4*i)},setFromMatrix3Column:function(t,i){return this.fromArray(t.elements,3*i)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},fromArray:function(t,i){return this.x=t[i=void 0===i?0:i],this.y=t[i+1],this.z=t[i+2],this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.x,t[i+1]=this.y,t[i+2]=this.z,t},fromBufferAttribute:function(t,i,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(i),this.y=t.getY(i),this.z=t.getZ(i),this}});var bi=new y,o=new ji,mi=new y(0,0,0),wi=new y(1,1,1),Mi=new y,ki=new y,A=new y;function ji(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],0>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this},setRGB:function(t,i,n){return this.r=t,this.g=i,this.b=n,this},setHSL:function(t,i,n){return t=v.euclideanModulo(t,1),i=v.clamp(i,0,1),n=v.clamp(n,0,1),0===i?this.r=this.g=this.b=n:(this.r=Qi(i=2*n-(n=n<=.5?n*(1+i):n+i-n*i),n,t+1/3),this.g=Qi(i,n,t),this.b=Qi(i,n,t-1/3)),this},setStyle:function(i){function t(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+i+" will be ignored.")}if(o=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(i)){var n,e,r,g,A=o[1],C=o[2];switch(A){case"rgb":case"rgba":if(n=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(C))return this.r=Math.min(255,parseInt(n[1],10))/255,this.g=Math.min(255,parseInt(n[2],10))/255,this.b=Math.min(255,parseInt(n[3],10))/255,t(n[5]),this;if(n=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(C))return this.r=Math.min(100,parseInt(n[1],10))/100,this.g=Math.min(100,parseInt(n[2],10))/100,this.b=Math.min(100,parseInt(n[3],10))/100,t(n[5]),this;break;case"hsl":case"hsla":if(n=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(C))return e=parseFloat(n[1])/360,r=parseInt(n[2],10)/100,g=parseInt(n[3],10)/100,t(n[5]),this.setHSL(e,r,g)}}else if(o=/^\#([A-Fa-f0-9]+)$/.exec(i)){var A=o[1],o=A.length;if(3===o)return this.r=parseInt(A.charAt(0)+A.charAt(0),16)/255,this.g=parseInt(A.charAt(1)+A.charAt(1),16)/255,this.b=parseInt(A.charAt(2)+A.charAt(2),16)/255,this;if(6===o)return this.r=parseInt(A.charAt(0)+A.charAt(1),16)/255,this.g=parseInt(A.charAt(2)+A.charAt(3),16)/255,this.b=parseInt(A.charAt(4)+A.charAt(5),16)/255,this}return i&&0C)return!1}return!0}function ln(t,i,n,e){this.x=t||0,this.y=i||0,this.z=n||0,this.w=void 0!==e?e:1}function L(t,i){this.x=t||0,this.y=i||0}Object.assign(cn.prototype,{isBox3:!0,set:function(t,i){return this.min.copy(t),this.max.copy(i),this},setFromArray:function(t){for(var i=1/0,n=1/0,e=1/0,r=-1/0,g=-1/0,A=-1/0,C=0,o=t.length;Cthis.max.x||t.ythis.max.y||t.zthis.max.z)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z},getParameter:function(t,i){return void 0===i&&(console.warn("THREE.Box3: .getParameter() target is now required"),i=new y),i.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)},intersectsSphere:function(t){return this.clampPoint(t.center,nn),nn.distanceToSquared(t.center)<=t.radius*t.radius},intersectsPlane:function(t){var i,n=0=-t.constant},intersectsTriangle:function(t){return!this.isEmpty()&&(this.getCenter(sn),hn.subVectors(this.max,sn),rn.subVectors(t.a,sn),gn.subVectors(t.b,sn),An.subVectors(t.c,sn),Cn.subVectors(gn,rn),on.subVectors(An,gn),In.subVectors(rn,An),!!fn([0,-Cn.z,Cn.y,0,-on.z,on.y,0,-In.z,In.y,Cn.z,0,-Cn.x,on.z,0,-on.x,In.z,0,-In.x,-Cn.y,Cn.x,0,-on.y,on.x,0,-In.y,In.x,0],rn,gn,An,hn)&&(!!fn([1,0,0,0,1,0,0,0,1],rn,gn,An,hn)&&(un.crossVectors(Cn,on),fn([un.x,un.y,un.z],rn,gn,An,hn))))},clampPoint:function(t,i){return void 0===i&&(console.warn("THREE.Box3: .clampPoint() target is now required"),i=new y),i.copy(t).clamp(this.min,this.max)},distanceToPoint:function(t){return nn.copy(t).clamp(this.min,this.max).sub(t).length()},getBoundingSphere:function(t){return void 0===t&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(t.center),t.radius=.5*this.getSize(nn).length(),t},intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},applyMatrix4:function(t){return this.isEmpty()||(tn[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),tn[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),tn[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),tn[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),tn[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),tn[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),tn[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),tn[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(tn)),this},translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}),Object.defineProperties(ln.prototype,{width:{get:function(){return this.z},set:function(t){this.z=t}},height:{get:function(){return this.w},set:function(t){this.w=t}}}),Object.assign(ln.prototype,{isVector4:!0,set:function(t,i,n,e){return this.x=t,this.y=i,this.z=n,this.w=e,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setW:function(t){return this.w=t,this},setComponent:function(t,i){switch(t){case 0:this.x=i;break;case 1:this.y=i;break;case 2:this.z=i;break;case 3:this.w=i;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this},add:function(t,i){return void 0!==i?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,i)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},addVectors:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this.z=t.z+i.z,this.w=t.w+i.w,this},addScaledVector:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this.z+=t.z*i,this.w+=t.w*i,this},sub:function(t,i){return void 0!==i?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,i)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},subVectors:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this.z=t.z-i.z,this.w=t.w-i.w,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},applyMatrix4:function(t){var i=this.x,n=this.y,e=this.z,r=this.w,t=t.elements;return this.x=t[0]*i+t[4]*n+t[8]*e+t[12]*r,this.y=t[1]*i+t[5]*n+t[9]*e+t[13]*r,this.z=t[2]*i+t[6]*n+t[10]*e+t[14]*r,this.w=t[3]*i+t[7]*n+t[11]*e+t[15]*r,this},divideScalar:function(t){return this.multiplyScalar(1/t)},setAxisAngleFromQuaternion:function(t){this.w=2*Math.acos(t.w);var i=Math.sqrt(1-t.w*t.w);return i<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/i,this.y=t.y/i,this.z=t.z/i),this},setAxisAngleFromRotationMatrix:function(t){var i,n,e,t=t.elements,r=t[0],g=t[4],A=t[8],C=t[1],o=t[5],I=t[9],s=t[2],h=t[6],t=t[10];if(Math.abs(g-C)<.01&&Math.abs(A-s)<.01&&Math.abs(I-h)<.01){if(Math.abs(g+C)<.1&&Math.abs(A+s)<.1&&Math.abs(I+h)<.1&&Math.abs(r+o+t-3)<.1)return this.set(1,0,0,0),this;var u=Math.PI,a=(r+1)/2,c=(o+1)/2,f=(t+1)/2,l=(g+C)/4,v=(A+s)/4,y=(I+h)/4;return cthis.radius*this.radius&&(i.sub(this.center).normalize(),i.multiplyScalar(this.radius).add(this.center)),i},getBoundingBox:function(t){return void 0===t&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),t=new cn),t.set(this.center,this.center),t.expandByScalar(this.radius),t},applyMatrix4:function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},translate:function(t){return this.center.add(t),this},equals:function(t){return t.center.equals(this.center)&&t.radius===this.radius}}),Object.assign(En.prototype,{computeGroups:function(t){for(var i,n=[],e=void 0,r=t.faces,g=0;gi&&(i=t[n]);return i}(t)?kn:wn)(t,1):this.index=t},getAttribute:function(t){return this.attributes[t]},setAttribute:function(t,i){return this.attributes[t]=i,this},deleteAttribute:function(t){return delete this.attributes[t],this},addGroup:function(t,i,n){this.groups.push({start:t,count:i,materialIndex:void 0!==n?n:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,i){this.drawRange.start=t,this.drawRange.count=i},applyMatrix4:function(t){var i=this.attributes.position,i=(void 0!==i&&(i.applyMatrix4(t),i.needsUpdate=!0),this.attributes.normal),n=(void 0!==i&&(n=(new xi).getNormalMatrix(t),i.applyNormalMatrix(n),i.needsUpdate=!0),this.attributes.tangent);return void 0!==n&&(n.transformDirection(t),n.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(t){return Sn.makeRotationX(t),this.applyMatrix4(Sn),this},rotateY:function(t){return Sn.makeRotationY(t),this.applyMatrix4(Sn),this},rotateZ:function(t){return Sn.makeRotationZ(t),this.applyMatrix4(Sn),this},translate:function(t,i,n){return Sn.makeTranslation(t,i,n),this.applyMatrix4(Sn),this},scale:function(t,i,n){return Sn.makeScale(t,i,n),this.applyMatrix4(Sn),this},lookAt:function(t){return xn.lookAt(t),xn.updateMatrix(),this.applyMatrix4(xn.matrix),this},center:function(){return this.computeBoundingBox(),this.boundingBox.getCenter(Pn).negate(),this.translate(Pn.x,Pn.y,Pn.z),this},setFromObject:function(t){var i,n,e=t.geometry;return t.isPoints||t.isLine?(n=new m(3*e.vertices.length,3),i=new m(3*e.colors.length,3),this.setAttribute("position",n.copyVector3sArray(e.vertices)),this.setAttribute("color",i.copyColorsArray(e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length&&(n=new m(e.lineDistances.length,1),this.setAttribute("lineDistance",n.copyArray(e.lineDistances))),null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone())):t.isMesh&&e&&e.isGeometry&&this.fromGeometry(e),this},setFromPoints:function(t){for(var i=[],n=0,e=t.length;nn.far?null:{distance:r,point:Re.clone(),object:t}}function Se(t,i,n,e,r,g,A,C,o,I,s,h){fe.fromBufferAttribute(r,I),le.fromBufferAttribute(r,s),ve.fromBufferAttribute(r,h);var u=t.morphTargetInfluences;if(i.morphTargets&&g&&u){be.set(0,0,0),me.set(0,0,0),we.set(0,0,0);for(var a=0,c=g.length;at[2]&&(t[2]=i[0]),i[1]t[3]&&(t[3]=i[1])}function yr(t,i,n,e,r){for(;ni[0]?n[0]=t[0]:n[0]=i[0],t[1]>i[1]?n[1]=t[1]:n[1]=i[1],t[2]=i[0]&&t[1]<=i[3]&&t[3]>=i[1]}function Tr(t){return t[2]this.maxCacheSize_}},{key:"expire",value:function(){if(this.canExpireCache()){var t,i=0;for(t in this.cache_){var n=this.cache_[t];0!=(3&i++)||n.hasListener()||(delete this.cache_[t],--this.cacheSize_)}}}},{key:"get",value:function(t,i,n){t=Qr(t,i,n);return t in this.cache_?this.cache_[t]:null}},{key:"set",value:function(t,i,n,e){t=Qr(t,i,n);this.cache_[t]=e,++this.cacheSize_}},{key:"setSize",value:function(t){this.maxCacheSize_=t,this.expire()}}])&&Kr(i.prototype,n),e&&Kr(i,e),Object.defineProperty(i,"prototype",{writable:!1}),t}();function Qr(t,i,n){return i+":"+t+":"+(n?Yr(n):"null")}var Jr=new i;function qr(t,i){for(var n=0;n=t.maxResolution))return(n=i.zoom)>t.minZoom&&n<=t.maxZoom}}var AA=function(){var t=r,i=Xg;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&nA(t,i);var n,e=eA(r);function r(t){if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");var i=j({},t),t=(delete i.source,(i=e.call(this,i)).on,i.once,i.un,i.mapPrecomposeKey_=null,i.mapRenderKey_=null,i.sourceChangeKey_=null,i.renderer_=null,i.rendered=!1,t.render&&(i.render=t.render),t.map&&i.setMap(t.map),i.addChangeListener(Ng,i.handleSourcePropertyChange_),t.source||null);return i.setSource(t),i}return t=r,(i=[{key:"getLayersArray",value:function(t){t=t||[];return t.push(this),t}},{key:"getLayerStatesArray",value:function(t){t=t||[];return t.push(this.getLayerState()),t}},{key:"getSource",value:function(){return this.get(Ng)||null}},{key:"getRenderSource",value:function(){return this.getSource()}},{key:"getSourceState",value:function(){var t=this.getSource();return t?t.getState():Jg}},{key:"handleSourceChange_",value:function(){this.changed()}},{key:"handleSourcePropertyChange_",value:function(){this.sourceChangeKey_&&(R(this.sourceChangeKey_),this.sourceChangeKey_=null);var t=this.getSource();t&&(this.sourceChangeKey_=M(t,p,this.handleSourceChange_,this)),this.changed()}},{key:"getFeatures",value:function(t){return this.renderer_?this.renderer_.getFeatures(t):new Promise(function(t){return t([])})}},{key:"getData",value:function(t){return this.renderer_&&this.rendered?this.renderer_.getData(t):null}},{key:"render",value:function(t,i){var n=this.getRenderer();if(n.prepareFrame(t))return this.rendered=!0,n.renderFrame(t,i)}},{key:"unrender",value:function(){this.rendered=!1}},{key:"setMapInternal",value:function(t){t||this.unrender(),this.set(Gg,t)}},{key:"getMapInternal",value:function(){return this.get(Gg)}},{key:"setMap",value:function(t){this.mapPrecomposeKey_&&(R(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(R(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=M(t,Kg,function(t){var t=t.frameState.layerStatesArray,i=this.getLayerState(!1);c(!t.some(function(t){return t.layer===i.layer}),67),t.push(i)},this),this.mapRenderKey_=M(this,p,t.render,t),this.changed())}},{key:"setSource",value:function(t){this.set(Ng,t)}},{key:"getRenderer",value:function(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}},{key:"hasRenderer",value:function(){return!!this.renderer_}},{key:"createRenderer",value:function(){return null}},{key:"disposeInternal",value:function(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_),this.setSource(null),iA(rA(r.prototype),"disposeInternal",this).call(this)}}])&&tA(t.prototype,i),n&&tA(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function CA(t,i){for(var n=!0,e=t.length-1;0<=e;--e)if(t[e]!=i[e]){n=!1;break}return n}function oA(t,i,n){var e=i.getExtent(),r=0;return i.canWrapX()&&(t[0]e[2])&&(i=n||O(e),r=Math.floor((t[0]-e[0])/i)),r}function IA(t){return(IA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function sA(t,i){for(var n=0;n>1}},{key:"heapify_",value:function(){for(var t=(this.elements_.length>>1)-1;0<=t;t--)this.siftUp_(t)}},{key:"isEmpty",value:function(){return 0===this.elements_.length}},{key:"isKeyQueued",value:function(t){return t in this.queuedElements_}},{key:"isQueued",value:function(t){return this.isKeyQueued(this.keyFunction_(t))}},{key:"siftUp_",value:function(t){for(var i=this.elements_,n=this.priorities_,e=i.length,r=i[t],g=n[t],A=t;t>1;){var C=this.getLeftChildIndex_(t),o=this.getRightChildIndex_(t),o=og))break;n[i]=n[A],e[i]=e[A],i=A}n[i]=r,e[i]=g}},{key:"reprioritize",value:function(){for(var t,i,n=this.priorityFunction_,e=this.elements_,r=this.priorities_,g=0,A=e.length,C=0;Cn&&et)throw new Error("Tile load sequence violation");this.state=t,this.changed()}},{key:"load",value:function(){a()}},{key:"getAlpha",value:function(t,i){if(!this.transition_)return 1;var n=this.transitionStarts_[t];if(n){if(-1===n)return 1}else this.transitionStarts_[t]=n=i;t=i-n+1e3/60;return t>=this.transition_?1:xo(t/this.transition_)}},{key:"inTransition",value:function(t){return!!this.transition_&&-1!==this.transitionStarts_[t]}},{key:"endTransition",value:function(t){this.transition_&&(this.transitionStarts_[t]=-1)}}])&&AI(t.prototype,i),n&&AI(t,n),Object.defineProperty(t,"prototype",{writable:!1}),g}();var hI=0,uI=2,aI=3;function cI(t,i,n){var e=!0,r=!1,g=!1,A=[ug(t,sg,function(){g=!0,r||i()})];return t.src&&He?(r=!0,t.decode().then(function(){e&&i()}).catch(function(t){e&&(g?i:n)()})):A.push(ug(t,Ig,n)),function(){e=!1,A.forEach(R)}}function fI(t){return(fI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function lI(t,i){for(var n=0;nthis.sourceWorldWidth_/2&&((i=[[t.source[0][0],t.source[0][1]],[t.source[1][0],t.source[1][1]],[t.source[2][0],t.source[2][1]]])[0][0]-A>this.sourceWorldWidth_/2&&(i[0][0]-=this.sourceWorldWidth_),i[1][0]-A>this.sourceWorldWidth_/2&&(i[1][0]-=this.sourceWorldWidth_),i[2][0]-A>this.sourceWorldWidth_/2&&(i[2][0]-=this.sourceWorldWidth_),n=Math.min(i[0][0],i[1][0],i[2][0]),Math.max(i[0][0],i[1][0],i[2][0])-nthis.errorThresholdSquared_),a)return void(Math.abs(t[0]-n[0])<=Math.abs(t[1]-n[1])?(I=[(i[0]+n[0])/2,(i[1]+n[1])/2],h=this.transformInv_(I),a=[(e[0]+t[0])/2,(e[1]+t[1])/2],c=this.transformInv_(a),this.addQuad_(t,i,I,a,r,g,h,c,o-1),this.addQuad_(a,I,n,e,c,h,A,C,o-1)):(a=[(t[0]+i[0])/2,(t[1]+i[1])/2],I=this.transformInv_(a),c=[(n[0]+e[0])/2,(n[1]+e[1])/2],h=this.transformInv_(c),this.addQuad_(t,a,c,e,r,I,h,C,o-1),this.addQuad_(a,i,n,c,I,g,A,h,o-1)));if(u){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}0==(11&s)&&this.addTriangle_(t,n,e,r,A,C),0==(14&s)&&this.addTriangle_(t,n,i,r,A,g),s&&(0==(13&s)&&this.addTriangle_(i,e,t,g,C,r),0==(7&s)&&this.addTriangle_(i,e,n,g,C,A))}}},{key:"calculateSourceExtent",value:function(){var e=ar();return this.triangles_.forEach(function(t,i,n){t=t.source;vr(e,t[0]),vr(e,t[1]),vr(e,t[2])}),e}},{key:"getTriangles",value:function(){return this.triangles_}}])&&bI(t.prototype,i),n&&bI(t,n),Object.defineProperty(t,"prototype",{writable:!1}),a}(),MI={imageSmoothingEnabled:!1,msImageSmoothingEnabled:!1};function kI(t,i,n,e,r){t.beginPath(),t.moveTo(0,0),t.lineTo(i,n),t.lineTo(e,r),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(i,e)+1,Math.max(n,r)),t.restore()}function jI(t,i){return 2e[2]&&(e[2]=t[2]),t[1]e[3]&&(e[3]=t[3])}),O(w)),i=kr(w),M=mA(Math.round(v*t/y),Math.round(v*i/y)),o=(p||j(M,MI),v/y),k=(g.forEach(function(t,i,n){var e=t.extent[0]-w[0],r=-(t.extent[3]-w[3]),g=O(t.extent),A=kr(t.extent);0this.highWaterMark}},{key:"expireCache",value:function(t){for(;this.canExpireCache();)this.pop()}},{key:"clear",value:function(){this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}},{key:"containsKey",value:function(t){return this.entries_.hasOwnProperty(t)}},{key:"forEach",value:function(t){for(var i=this.oldest_;i;)t(i.value_,i.key_,this),i=i.newer}},{key:"get",value:function(t,i){t=this.entries_[t];return c(void 0!==t,15),t===this.newest_?t.value_:(t===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(t.newer.older=t.older,t.older.newer=t.newer),t.newer=null,t.older=this.newest_,this.newest_.newer=t,(this.newest_=t).value_)}},{key:"remove",value:function(t){var i=this.entries_[t];return c(void 0!==i,15),i===this.newest_?(this.newest_=i.older,this.newest_&&(this.newest_.newer=null)):i===this.oldest_?(this.oldest_=i.newer,this.oldest_&&(this.oldest_.older=null)):(i.newer.older=i.older,i.older.newer=i.newer),delete this.entries_[t],--this.count_,i.value_}},{key:"getCount",value:function(){return this.count_}},{key:"getKeys",value:function(){for(var t=new Array(this.count_),i=0,n=this.newest_;n;n=n.older)t[i++]=n.key_;return t}},{key:"getValues",value:function(){for(var t=new Array(this.count_),i=0,n=this.newest_;n;n=n.older)t[i++]=n.value_;return t}},{key:"peekLast",value:function(){return this.oldest_.value_}},{key:"peekLastKey",value:function(){return this.oldest_.key_}},{key:"peekFirstKey",value:function(){return this.newest_.key_}},{key:"pop",value:function(){var t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_}},{key:"replace",value:function(t,i){this.get(t),this.entries_[t].value_=i}},{key:"set",value:function(t,i){c(!(t in this.entries_),16);i={key_:t,newer:null,older:this.newest_,value_:i};this.newest_?this.newest_.newer=i:this.oldest_=i,this.newest_=i,this.entries_[t]=i,++this.count_}},{key:"setSize",value:function(t){this.highWaterMark=t}}])&&ZI(t.prototype,n),e&&ZI(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}();function NI(t,i,n,e){return void 0!==e?(e[0]=t,e[1]=i,e[2]=n,e):[t,i,n]}function GI(t,i,n){return t+"/"+i+"/"+n}function BI(t){return GI(t[0],t[1],t[2])}function zI(t){return(zI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function YI(t,i){for(var n=0;nthis.maxX&&(this.maxX=t.maxX),t.minYthis.maxY&&(this.maxY=t.maxY)}},{key:"getHeight",value:function(){return this.maxY-this.minY+1}},{key:"getSize",value:function(){return[this.getWidth(),this.getHeight()]}},{key:"getWidth",value:function(){return this.maxX-this.minX+1}},{key:"intersects",value:function(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY}}])&&rs(t.prototype,i),n&&rs(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function As(t,i,n,e,r){return void 0!==r?(r.minX=t,r.maxX=i,r.minY=n,r.maxY=e,r):new gs(t,i,n,e)}var Cs=gs;function os(t,i){for(var n=0;n=this.minZoom;){if(i(C,2===this.zoomFactor_?As(r=Math.floor(r/2),r,g=Math.floor(g/2),g,n):this.getTileRangeForExtentAndZ(A,C,n)))return!0;--C}return!1}},{key:"getExtent",value:function(){return this.extent_}},{key:"getMaxZoom",value:function(){return this.maxZoom}},{key:"getMinZoom",value:function(){return this.minZoom}},{key:"getOrigin",value:function(t){return this.origin_||this.origins_[t]}},{key:"getResolution",value:function(t){return this.resolutions_[t]}},{key:"getResolutions",value:function(){return this.resolutions_}},{key:"getTileCoordChildTileRange",value:function(t,i,n){if(t[0]this.maxZoom||in||n>i.getMaxZoom()))return!(i=i.getFullTileRange(n))||i.containsXY(e,t)}(t,A)?t:null}},{key:"clear",value:function(){this.tileCache.clear()}},{key:"refresh",value:function(){this.clear(),ys(ms(e.prototype),"refresh",this).call(this)}},{key:"updateCacheSize",value:function(t,i){i=this.getTileCacheForProjection(i);t>i.highWaterMark&&(i.highWaterMark=t)}},{key:"useTile",value:function(t,i,n,e){}}]),e}(),ws=function(){ds(e,$r);var n=bs(e);function e(t,i){return fs(this,e),(t=n.call(this,t)).tile=i,t}return vs(e)}(),Ms=i;function ks(t,i){for(var r,n=t.length,e=new Array(n),g=0;gOpenStreetMap contributors.'],void 0!==t.crossOrigin?t.crossOrigin:"anonymous"),r=void 0!==t.url?t.url:"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png";return g.call(this,{attributions:i,attributionsCollapsible:!1,cacheSize:t.cacheSize,crossOrigin:e,interpolate:n,maxZoom:void 0!==t.maxZoom?t.maxZoom:19,opaque:void 0===t.opaque||t.opaque,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileLoadFunction:t.tileLoadFunction,transition:t.transition,url:r,wrapX:t.wrapX,zDirection:t.zDirection})}return t=A,n&&_s(t.prototype,n),e&&_s(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}(),qs="preload",$s="useInterimTilesOnError";function th(t){return(th="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ih(t,i){for(var n=0;n=C.getMinZoom();--I){var s,h,u,a,c=C.getTileCoordForCoordAndZ(e,I),f=A.getTile(I,c[1],c[2],r,g);if(!(f instanceof pI||f instanceof FI))return null;if(f.getState()!==it);else return a=C.getOrigin(I),s=Uo(C.getTileSize(I)),h=C.getResolution(I),u=Math.floor(o*((e[0]-a[0])/h-c[1]*s[0])),a=Math.floor(o*((a[1]-e[1])/h-c[2]*s[1])),this.getImageData(f.getImage(),u,a)}return null}},{key:"loadedTileCallback",value:function(t,i,n){return!!this.isDrawableTile(n)&&kh(Rh(r.prototype),"loadedTileCallback",this).call(this,t,i,n)}},{key:"prepareFrame",value:function(t){return!!this.getLayer().getSource()}},{key:"renderFrame",value:function(t,Z){var i=t.layerStatesArray[t.layerIndex],n=t.viewState,e=n.projection,r=n.resolution,g=n.center,n=n.rotation,A=t.pixelRatio,C=this.getLayer(),o=C.getSource(),D=o.getRevision(),I=o.getTileGridForProjection(e),s=I.getZForResolution(r,o.zDirection),h=I.getResolution(s),u=t.extent,a=(i.extent&&Mo(i.extent,e)&&(u=jr(u,Mo(i.extent,e))),o.getTilePixelRatio(A)),c=Math.round(t.size[0]*a),f=Math.round(t.size[1]*a),l=(n&&(f=c=Math.round(Math.sqrt(c*c+f*f))),h*c/2/a),v=h*f/2/a,y=[g[0]-l,g[1]-v,g[0]+l,g[1]+v],d=I.getTileRangeForExtentAndZ(u,s),p={},N=(p[s]={},this.createLoadedTileFinder(o,e,p)),G=this.tmpExtent,B=this.tmpTileRange_;this.newTiles_=!1;for(var b=d.minX;b<=d.maxX;++b)for(var m=d.minY;m<=d.maxY;++m){var w=this.getTile(s,b,m,t);if(this.isDrawableTile(w)){var M=$(this);if(w.getState()==it&&(k=(p[s][w.tileCoord.toString()]=w).inTransition(M),this.newTiles_||!k&&-1!==this.renderedTiles.indexOf(w)||(this.newTiles_=!0)),1===w.getAlpha(M,t.time))continue}var k=I.getTileCoordChildTileRange(w.tileCoord,B,G),M=!1;(M=k?N(s+1,k):M)||I.forEachTileCoordParentTileRange(w.tileCoord,N,B,G)}for(var z,j=h/r,O=(gr(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/a,1/a,n,-c/2,-f/2),Ar(this.inversePixelTransform,this.pixelTransform),gr(this.tempTransform,c/2,f/2,j,j,0,-c/2,-f/2),this.renderedTiles.length=0,Object.keys(p).map(Number)),Y=(O.sort(Ge),1!==i.opacity||this.containerReused&&!o.getOpaque(t.viewState.projection)?(z=[],0):O=O.reverse(),[]),R=O.length-1;0<=R;--R){var U,E=O[R],T=o.getTilePixelSize(E,A,e),V=I.getResolution(E)/h,W=T[0]*V*j,X=T[1]*V*j,S=I.getTileCoordForCoordAndZ(Or(y),E),T=I.getTileCoordExtent(S),x=tt(this.tempTransform,[a*(T[0]-y[0])/h,a*(y[3]-T[3])/h]),_=a*o.getGutterForProjection(e),H=p[E];for(U in H){var P=H[U],L=P.tileCoord,F=S[1]-L[1],K=Math.round(x[0]-(F-1)*W),L=S[2]-L[2],Q=Math.round(x[1]-(L-1)*X),F=Math.round(x[0]-F*W),L=Math.round(x[1]-L*X),K=K-F,Q=Q-L,J=s===E,q=J&&1!==P.getAlpha($(this),t.time);this.drawTileImage(P,t,F,L,K,Q,_,J,Y),z&&!q?this.renderedTiles.unshift(P):this.renderedTiles.push(P),this.updateUsedTiles(t.usedTiles,o,P)}}return this.renderedRevision=D,this.renderedResolution=h,this.extentChanged=!this.renderedExtent_||!lr(this.renderedExtent_,y),this.renderedExtent_=y,this.renderedPixelRatio=A,this.renderedProjection=e,this.manageTilePyramid(t,o,I,A,e,u,s,C.getPreload()),this.scheduleExpireCache(t,o),this.thirdMap_&&this.thirdMap_.qn&&this.thirdMap_.qn(Y),this.container}},{key:"drawTileImage",value:function(t,i,n,e,r,g,A,C,o){var I,s,h=this.getTileImage(t);h&&(I=$(this),s=C?t.getAlpha(I,i.time):1,o.push({image:h,x:n,y:e,w:r,h:g,frameState:i}),1!==s?i.animate=!0:C&&t.endTransition(I))}},{key:"getTileImage",value:function(t){return t.getImage()}},{key:"scheduleExpireCache",value:function(t,i){i.canExpireCache()&&(i=function(t,i,n){var e=$(t);e in n.usedTiles&&t.expireCache(n.viewState.projection,n.usedTiles[e])}.bind(null,i),t.postRenderFunctions.push(i))}},{key:"updateUsedTiles",value:function(t,i,n){i=$(i);i in t||(t[i]={}),t[i][n.getKey()]=!0}},{key:"manageTilePyramid",value:function(t,i,n,e,r,g,A,C,o){for(var I,s,h,u,a,c=$(i),f=(c in t.wantedTiles||(t.wantedTiles[c]={}),t.wantedTiles[c]),l=t.tileQueue,v=0,y=n.getMinZoom();y<=A;++y)for(s=n.getTileRangeForExtentAndZ(g,y,s),h=n.getResolution(y),u=s.minX;u<=s.maxX;++u)for(a=s.minY;a<=s.maxY;++a)A-y<=C?(++v,(I=i.getTile(y,u,a,e,r)).getState()==E&&(f[I.getKey()]=!0,l.isKeyQueued(I.getKey())||l.enqueue([I,c,n.getTileCoordCenter(I.tileCoord),h])),void 0!==o&&o(I)):i.useTile(y,u,a,r);i.updateCacheSize(v,r)}}])&&Mh(t.prototype,i),n&&Mh(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function Th(t){return(Th="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Sh(t,i){for(var n=0;n=a[0]&&A[2]<=a[2]||(A[1]>=a[1]&&A[3]<=a[3]||function(t,i,n,e,r){var g;for(i+=e;i