diff --git a/DESCRIPTION b/DESCRIPTION index 91c61c45..88a02eeb 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: mapdeck Type: Package Title: Interactive Maps Using 'Mapbox GL JS' and 'Deck.gl' -Version: 0.3.40003 +Version: 0.3.40004 Date: 2020-10-28 Authors@R: c( person("David", "Cooley", ,"dcooley@symbolix.com.au", role = c("aut", "cre")) diff --git a/R/mapdeck_dependencies.R b/R/mapdeck_dependencies.R index 8cb65736..b7564be5 100644 --- a/R/mapdeck_dependencies.R +++ b/R/mapdeck_dependencies.R @@ -160,7 +160,7 @@ deckgl_min_js <- function() { list( createHtmlDependency( name = "deckgl", - version = "8.7.8", + version = "8.7.10", src = system.file("htmlwidgets/lib/", package = "mapdeck"), script = c("deckgl.min.js"), all_files = FALSE diff --git a/inst/htmlwidgets/lib/deckgl.min.js b/inst/htmlwidgets/lib/deckgl.min.js index eab87466..69b7606c 100644 --- a/inst/htmlwidgets/lib/deckgl.min.js +++ b/inst/htmlwidgets/lib/deckgl.min.js @@ -1,4 +1,4 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("h3")):"function"==typeof define&&define.amd?define(["h3"],t):"object"==typeof exports?exports.deck=t(require("h3")):e.deck=t(e.h3)}(window,(function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=254)}([function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t){function n(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},r=n.copyState,i=void 0!==r&&r,o=n.log,a=void 0===o?function(){}:o;W()(this,e),this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=i?oe(t):Object.assign({},B),this.log=a,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return X()(e,[{key:"push",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.stateStack.push({})}},{key:"pop",value:function(){i(this.stateStack.length>0);var e=this.stateStack[this.stateStack.length-1];ie(this.gl,e),this.stateStack.pop()}},{key:"_updateCache",value:function(e){var t,n=!1,r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(var o in e){i(void 0!==o);var a=e[o],s=this.cache[o];q(a,s)||(n=!0,t=s,!r||o in r||(r[o]=s),this.cache[o]=a)}return{valueChanged:n,oldValue:t}}}]),e}();function ee(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.enable,r=void 0===n||n,o=t.copyState;if(i(void 0!==o),!e.state){var a="undefined"!=typeof global?global:window,s=a.polyfillContext;for(var u in s&&s(e),e.state=new $(e,{copyState:o}),Q(e),z){var c=z[u];Y(e,u,c)}Z(e,"getParameter"),Z(e,"isEnabled")}return e.state.enable=r,e}function te(e){i(e.state),e.state.pop()}function ne(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return re(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return re(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2])||arguments[2],r=ue(e),i=e.drawingBufferWidth,o=e.drawingBufferHeight;return fe(t,r,i,o,n)}function le(e){var t="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}function fe(e,t,n,r,i){var o,a=he(e[0],t,n),s=de(e[1],t,r,i),u=he(e[0]+1,t,n),c=u===n-1?u:u-1;return u=de(e[1]+1,t,r,i),i?(o=s,s=u=0===u?u:u+1):o=u===r-1?u:u-1,{x:a,y:s,width:Math.max(c-a+1,1),height:Math.max(o-s+1,1)}}function he(e,t,n){return Math.min(Math.round(e*t),n-1)}function de(e,t,n,r){return r?Math.max(0,n-1-Math.round(e*t)):Math.min(Math.round(e*t),n-1)}var pe=Object(l.isBrowser)(),ve=pe&&"undefined"!=typeof document,ge={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function ye(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(pe,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils");var t,n=e=Object.assign({},ge,e),r=n.width,o=n.height;function a(t){if(e.throwOnError)throw new Error(t);return console.error(t),null}e.onError=a;var s=e,u=s.canvas,c=Oe({canvas:u,width:r,height:o,onError:a});return(t=_e(c,e))?(we(t=me(t,e)),t):null}function me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||xe(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var n=t=Object.assign({},ge,t),i=n.manageState,o=n.debug;return i&&ee(e,{copyState:!1,log:function(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:{};if(e.canvas){var n=le(t.useDevicePixels);Ae(e,n,t)}else{var r=e.getExtension("STACKGL_resize_drawingbuffer");r&&"width"in t&&"height"in t&&r.resize(t.width,t.height)}}function _e(e,t){var n=t.onError,r=null,i=function(e){return r=e.statusMessage||r};e.addEventListener("webglcontextcreationerror",i,!1);var o=t.webgl1,a=void 0===o||o,s=t.webgl2,u=void 0===s||s,c=null;return u&&(c=(c=c||e.getContext("webgl2",t))||e.getContext("experimental-webgl2",t)),a&&(c=(c=c||e.getContext("webgl",t))||e.getContext("experimental-webgl",t)),e.removeEventListener("webglcontextcreationerror",i,!1),c?(t.onContextLost&&e.addEventListener("webglcontextlost",t.onContextLost,!1),t.onContextRestored&&e.addEventListener("webglcontextrestored",t.onContextRestored,!1),c):n("Failed to create ".concat(u&&!a?"WebGL2":"WebGL"," context: ").concat(r||"Unknown error"))}function Oe(e){var t,n=e.canvas,r=e.width,i=void 0===r?800:r,o=e.height,a=void 0===o?600:o,s=e.onError;"string"==typeof n?(ve&&"complete"===document.readyState||s("createGLContext called on canvas '".concat(n,"' before page was loaded")),t=document.getElementById(n)):n?t=n:((t=document.createElement("canvas")).id="lumagl-canvas",t.style.width=Number.isFinite(i)?"".concat(i,"px"):"100%",t.style.height=Number.isFinite(a)?"".concat(a,"px"):"100%",document.body.insertBefore(t,document.body.firstChild));return t}function we(e){var t=a(e)?"WebGL2":"WebGL1",n=function(e){var t=e.getParameter(7936),n=e.getParameter(7937),r=e.getExtension("WEBGL_debug_renderer_info");return{vendor:r&&e.getParameter(r.UNMASKED_VENDOR_WEBGL||7936)||t,renderer:r&&e.getParameter(r.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:t,rendererMasked:n,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e),i=n?"(".concat(n.vendor,",").concat(n.renderer,")"):"",o=e.debug?" debug":"";r.info(1,"".concat(t).concat(o," context ").concat(i))()}function xe(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext?2:1}function Ae(e,t,n){var i="width"in n?n.width:e.canvas.clientWidth,o="height"in n?n.height:e.canvas.clientHeight;i&&o||(r.log(1,"Canvas clientWidth/clientHeight is 0")(),t=1,i=e.canvas.width||1,o=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var a=e.luma.canvasSizeInfo;if(a.clientWidth!==i||a.clientHeight!==o||a.devicePixelRatio!==t){var s=t,u=Math.floor(i*s),c=Math.floor(o*s);e.canvas.width=u,e.canvas.height=c,e.drawingBufferWidth===u&&e.drawingBufferHeight===c||(r.warn("Device pixel ratio clamped")(),s=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/o),e.canvas.width=Math.floor(i*s),e.canvas.height=Math.floor(o*s)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:o,devicePixelRatio:t})}}n.d(t,"k",(function(){return r})),n.d(t,"i",(function(){return o})),n.d(t,"j",(function(){return a})),n.d(t,"g",(function(){return s})),n.d(t,"b",(function(){return u})),n.d(t,"a",(function(){return c})),n.d(t,"f",(function(){return oe})),n.d(t,"n",(function(){return ie})),n.d(t,"l",(function(){return ae})),n.d(t,"o",(function(){return se})),n.d(t,"c",(function(){return ye})),n.d(t,"m",(function(){return be})),n.d(t,"h",(function(){return me})),n.d(t,"e",(function(){return ue})),n.d(t,"d",(function(){return ce}))},function(e,t,n){var r=n(270),i=n(271),o=n(272);e.exports=function(e,t){return r(e)||i(e,t)||o()}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t,n){"use strict";function r(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return o}));var r=1e-6,i="undefined"!=typeof Float32Array?Float32Array:Array,o=Math.random;Math.PI;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)})},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"e",(function(){return s})),n.d(t,"f",(function(){return u})),n.d(t,"j",(function(){return l})),n.d(t,"i",(function(){return f})),n.d(t,"h",(function(){return h})),n.d(t,"c",(function(){return d})),n.d(t,"a",(function(){return p})),n.d(t,"g",(function(){return v})),n.d(t,"d",(function(){return g}));n(167),n(242),n(243),n(48);var r=1/Math.PI*180,i=1/180*Math.PI,o={};function a(e){return Math.round(e/o.EPSILON)*o.EPSILON}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.precision,r=void 0===n?o.precision||4:n;return e=a(e),"".concat(parseFloat(e.toPrecision(r)))}function u(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function c(e,t,n){if(u(e)){n=n||((i=e).clone?i.clone():new Array(i.length));for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};l()(this,e);var n=t.color,r=void 0===n?g:n,i=t.intensity,o=void 0===i?1:i,a=t.position,s=void 0===a?m:a;this.id=t.id||"point-".concat(b++),this.color=r,this.intensity=o,this.type="point",this.position=s,this.attenuation=O(t),this.projectedLight=v({},this)}return h()(e,[{key:"getProjectedLight",value:function(e){var t=e.layer,n=this.projectedLight,i=t.context.viewport,o=t.props,a=o.coordinateSystem,s=o.coordinateOrigin,u=Object(d.b)(this.position,{viewport:i,coordinateSystem:a,coordinateOrigin:s,fromCoordinateSystem:i.isGeospatial?r.a.LNGLAT:r.a.CARTESIAN,fromCoordinateOrigin:[0,0,0]});return n.color=this.color,n.intensity=this.intensity,n.position=u,n}}]),e}();function O(e){return"attenuation"in e?e.attenuation:"intensity"in e?[0,0,e.intensity]:y}var w=n(6),x=n.n(w),A=n(7),P=n.n(A),S=n(2),k=n.n(S),C=n(118);function j(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k()(e);if(t){var i=k()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return P()(this,n)}}var E=function(e){x()(n,e);var t=j(n);function n(){return l()(this,n),t.apply(this,arguments)}return h()(n,[{key:"getProjectedLight",value:function(e){var t=e.layer,n=this.projectedLight,r=t.context.viewport,i=t.props,o=i.coordinateSystem,a=i.coordinateOrigin,s=i.modelMatrix,u=Object(C.b)({viewport:r,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a}).project_uCameraPosition;return n.color=this.color,n.intensity=this.intensity,n.position=u,n}}]),n}(_),T=n(11),M=n.n(T),B=n(119),I=n.n(B),R=Math.PI/180,L=23.4397*R;function D(e,t,n){var r,i,o,a,s,u,c=R*-n,l=R*t,f=function(e){return function(e){return e/864e5-.5+2440588}(e)-2451545}(e),h=(r=R*(357.5291+.98560028*f),i=R*(1.9148*Math.sin(r)+.02*Math.sin(2*r)+3e-4*Math.sin(3*r)),o=r+i+102.9372*R+Math.PI,{declination:(a=o,s=0,u=a,Math.asin(Math.sin(s)*Math.cos(L)+Math.cos(s)*Math.sin(L)*Math.sin(u))),rightAscension:N(o,0)}),d=function(e,t){return R*(280.147+360.9856235*e)-t}(f,c)-h.rightAscension;return{azimuth:U(d,l,h.declination),altitude:z(d,l,h.declination)}}function F(e,t,n){var r=D(e,t,n),i=r.azimuth,o=r.altitude;return[Math.sin(i)*Math.cos(o),Math.cos(i)*Math.cos(o),-Math.sin(o)]}function N(e,t){var n=e;return Math.atan2(Math.sin(n)*Math.cos(L)-Math.tan(t)*Math.sin(L),Math.cos(n))}function U(e,t,n){var r=e,i=t,o=n;return Math.atan2(Math.sin(r),Math.cos(r)*Math.sin(i)-Math.tan(o)*Math.cos(i))}function z(e,t,n){var r=e,i=t,o=n;return Math.asin(Math.sin(i)*Math.sin(o)+Math.cos(i)*Math.cos(o)*Math.cos(r))}var G=["timestamp"];function V(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k()(e);if(t){var i=k()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return P()(this,n)}}var H=function(e){x()(n,e);var t=V(n);function n(e){var r,i=e.timestamp,o=I()(e,G);return l()(this,n),(r=t.call(this,o)).timestamp=i,r}return h()(n,[{key:"getProjectedLight",value:function(e){var t=e.layer.context.viewport;if(t.resolution>0){var n=F(this.timestamp,0,0),r=M()(n,3),i=r[0],o=r[1],a=r[2];this.direction=[i,-a,o]}else{var s=t.latitude,u=t.longitude;this.direction=F(this.timestamp,s,u)}return this}}]),n}(a.a),W=n(80),J=n(20),X=n.n(J),K=n(179),q=n(70);function Z(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k()(e);if(t){var i=k()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return P()(this,n)}}var Y=[-1,-1,1,-1,-1,1,1,1],Q=function(e){x()(n,e);var t=Z(n);function n(e,r){var i;l()(this,n);var o=Y.map((function(e){return-1===e?0:e}));return(i=t.call(this,e,Object.assign({},r,{vs:"attribute vec2 aClipSpacePosition;\nattribute vec2 aTexCoord;\nattribute vec2 aCoordinate;\n\nvarying vec2 position;\nvarying vec2 coordinate;\nvarying vec2 uv;\n\nvoid main(void) {\n gl_Position = vec4(aClipSpacePosition, 0., 1.);\n position = aClipSpacePosition;\n coordinate = aCoordinate;\n uv = aTexCoord;\n}\n",geometry:new q.a({drawMode:5,vertexCount:4,attributes:{aClipSpacePosition:{size:2,value:new Float32Array(Y)},aTexCoord:{size:2,value:new Float32Array(o)},aCoordinate:{size:2,value:new Float32Array(o)}}})}))).setVertexCount(4),i}return n}(K.a),$=n(10),ee=n(181);function te(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k()(e);if(t){var i=k()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return P()(this,n)}}var ne=function(e){x()(n,e);var t=te(n);function n(e,r){var i;l()(this,n),i=t.call(this,e,r),u()(X()(i),"model",void 0);var o=r.module,a=r.fs,s=r.id;return i.model=new Q(e,{id:s,fs:a,modules:[o]}),i}return h()(n,[{key:"render",value:function(e){var t=this,n=this.gl;Object($.n)(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),Object($.o)(n,{framebuffer:e.outputBuffer,clearColor:[0,0,0,0]},(function(){return t._renderPass(n,e)}))}},{key:"delete",value:function(){this.model.delete(),this.model=null}},{key:"_renderPass",value:function(e,t){var n=t.inputBuffer;Object(ee.a)(e,{color:!0}),this.model.draw({moduleSettings:this.props.moduleSettings,uniforms:{texture:n,texSize:[n.width,n.height]},parameters:{depthWrite:!1,depthTest:!1}})}}]),n}(n(173).a),re=n(198);function ie(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return oe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return oe(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function oe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return l()(this,n),(r=t.call(this,i)).id="".concat(e.name,"-pass"),Object(re.b)(e),r.module=e,r}return h()(n,[{key:"postRender",value:function(e,t){this.passes||(this.passes=function(e,t,n,r){if(t.filter||t.sampler){var i=le(t);return[new ne(e,{id:n,module:t,fs:i,moduleSettings:r})]}return(t.passes||[]).map((function(i,o){var a=le(t,i),s="".concat(n,"-").concat(o);return new ne(e,{id:s,module:t,fs:a,moduleSettings:r})}))}(e,this.module,this.id,this.props));for(var n=t.target,r=t.inputBuffer,i=t.swapBuffer,o=0;o1&&void 0!==arguments[1]?arguments[1]:e;if(t.filter){var n="string"==typeof t.filter?t.filter:"".concat(e.name,"_filterColor");return ue(n)}if(t.sampler){var r="string"==typeof t.sampler?t.sampler:"".concat(e.name,"_sampleColor");return ce(r)}return null}var fe=n(79),he=n(227),de=n(161),pe=n(156),ve=n(155),ge=n(192),ye=n(163),me=n(46),be=n(90),_e=n(85),Oe=n(27),we=n(31);function xe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ae(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};l()(this,n);var i=r.latitude,o=void 0===i?0:i,a=r.longitude,s=void 0===a?0:a,u=r.zoom,c=void 0===u?11:u,f=r.nearZMultiplier,h=void 0===f?.1:f,d=r.farZMultiplier,p=void 0===d?2:d,v=r.resolution,g=void 0===v?10:v,y=r.width,m=r.height,b=r.altitude,_=void 0===b?1.5:b;y=y||1,m=m||1,_=Math.max(.75,_);var O=(new _e.a).lookAt({eye:[0,-_,0],up:[0,0,1]}),w=Math.pow(2,c);O.rotateX(o*Se),O.rotateZ(-s*Se),O.scale(w/m);var x=Math.atan(.5/_),A=512*w/m;return(e=t.call(this,Ae(Ae({},r),{},{width:y,height:m,viewMatrix:O,longitude:s,latitude:o,zoom:c,fovyRadians:2*x,aspect:y/m,focalDistance:_,near:h,far:Math.min(2,1/A+1)*_*p}))).resolution=g,e.distanceScales=Ce(),e}return h()(n,[{key:"projectionMode",get:function(){return r.d.GLOBE}},{key:"getDistanceScales",value:function(){return this.distanceScales}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={targetZ:e.z||0},n=this.unproject([0,this.height/2],t),r=this.unproject([this.width/2,0],t),i=this.unproject([this.width,this.height/2],t),o=this.unproject([this.width/2,this.height],t);return i[0]this.longitude&&(n[0]-=360),[Math.min(n[0],i[0],r[0],o[0]),Math.min(n[1],i[1],r[1],o[1]),Math.max(n[0],i[0],r[0],o[0]),Math.max(n[1],i[1],r[1],o[1])]}},{key:"unproject",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.topLeft,i=void 0===r||r,o=n.targetZ,a=M()(e,3),s=a[0],u=a[1],c=a[2],l=i?u:this.height-u,f=this.pixelUnprojectionMatrix;if(Number.isFinite(c))t=Ee(f,[s,l,c,1]);else{var h=Ee(f,[s,l,-1,1]),d=Ee(f,[s,l,1,1]),p=256*((o||0)/6370972+1),v=Oe.q(Oe.r([],h,d)),g=Oe.q(h),y=Oe.q(d),m=(4*g*y-Math.pow(v-g-y,2))/16,b=4*m/v,_=Math.sqrt(g-b),O=Math.sqrt(Math.max(0,p*p-b)),w=(_-O)/Math.sqrt(v);t=Oe.j([],h,d,w)}var x=this.unprojectPosition(t),A=M()(x,3),P=A[0],S=A[1],k=A[2];return Number.isFinite(c)?[P,S,k]:Number.isFinite(o)?[P,S,o]:[P,S]}},{key:"projectPosition",value:function(e){var t=M()(e,3),n=t[0],r=t[1],i=t[2],o=void 0===i?0:i,a=n*Se,s=r*Se,u=Math.cos(s),c=256*(o/6370972+1);return[Math.sin(a)*u*c,-Math.cos(a)*u*c,Math.sin(s)*c]}},{key:"unprojectPosition",value:function(e){var t=M()(e,3),n=t[0],r=t[1],i=t[2],o=Oe.h(e),a=Math.asin(i/o);return[Math.atan2(n,-r)*ke,a*ke,6370972*(o/256-1)]}},{key:"projectFlat",value:function(e){return e}},{key:"unprojectFlat",value:function(e){return e}},{key:"panByPosition",value:function(e,t){var n=this.unproject(t);return{longitude:e[0]-n[0]+this.longitude,latitude:e[1]-n[1]+this.latitude}}}]),n}(me.a);function Ee(e,t){var n=we.n([],t,e);return we.k(n,n,1/n[3]),n}var Te=n(235),Me=n(102),Be=n(215),Ie=n(237),Re=n(117),Le=n(69),De=n(147),Fe=n(24),Ne=n(143),Ue=n(68),ze=n(120),Ge=n(39),Ve=n(74),He=n(15);function We(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Je(e){for(var t=1;t0&&void 0!==arguments[0]&&arguments[0],t=new Ne.a({bearing:this._viewportProps.bearing,pitch:e?90:90+this._viewportProps.pitch}),n=t.toVector3().normalize();return n}},{key:"panStart",value:function(){return this}},{key:"pan",value:function(){return this}},{key:"panEnd",value:function(){return this}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}},{key:"rotate",value:function(e){var t,n=e.pos,r=e.deltaAngleX,i=void 0===r?0:r,o=e.deltaAngleY,a=void 0===o?0:o,s=this._state,u=s.startRotatePos,c=s.startBearing,l=s.startPitch,f=this._viewportProps,h=f.width,d=f.height;if(!u||!Number.isFinite(c)||!Number.isFinite(l))return this;n?t={bearing:c-180*((n[0]-u[0])/h),pitch:l-90*((n[1]-u[1])/d)}:t={bearing:c-i,pitch:l-a};return this._getUpdatedState(t)}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startRotatePos:null,startBearing:null,startPitch:null})}},{key:"zoomStart",value:function(){return this._getUpdatedState({startZoomPosition:this._viewportProps.position,startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.scale,n=this._state.startZoomPosition;n||(n=this._viewportProps.position);var r=this.getDirection();return this._move(r,20*Math.log2(t),n)}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t.rotateZ({radians:Math.PI/2}),e)}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t.rotateZ({radians:-Math.PI/2}),e)}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t,e)}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t.negate(),e)}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this.zoom({scale:e})}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this.zoom({scale:1/e})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=Je({},this._viewportProps),r=n.bearing,i=n.longitude;return Math.abs(r-t.bearing)>180&&(n.bearing=r<0?r+360:r-360),Math.abs(i-t.longitude)>180&&(n.longitude=i<0?i+360:i-360),n}},{key:"_move",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._viewportProps.position,r=e.scale(t);return this._getUpdatedState({position:new Ve.a(n).add(r)})}},{key:"_getUpdatedState",value:function(e){return new n(Je(Je(Je({},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.pitch,n=e.maxPitch,r=e.minPitch,i=e.longitude,o=e.bearing;return e.pitch=Object(He.a)(t,r,n),(i<-180||i>180)&&(e.longitude=Object(Ge.e)(i+180,360)-180),(o<-180||o>180)&&(e.bearing=Object(Ge.e)(o+180,360)-180),e}}]),n}(ze.a),Ze=function(e){x()(n,e);var t=Xe(n);function n(e){return l()(this,n),t.call(this,qe,e)}return h()(n,[{key:"linearTransitionProps",get:function(){return["position","pitch","bearing"]}}]),n}(Ue.a);function Ye(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qe(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=t.topLeft,r=void 0===n||n,i=M()(e,3),o=i[0],a=i[1],s=i[2],u=void 0===s?this.projectedCenter[2]:s,c=r?a:this.height-a,l=Object(Fe.n)([o,c,u],this.pixelUnprojectionMatrix),f=M()(l,3),h=f[0],d=f[1],p=f[2];return[h,d,p]}},{key:"panByPosition",value:function(e,t){var n=this.project(e),r=[this.width/2+n[0]-t[0],this.height/2+n[1]-t[1],this.projectedCenter[2]];return{target:this.unproject(r)}}}]),n}(me.a);u()(ut,"displayName","OrbitView");var ct=function(e){x()(n,e);var t=ot(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};l()(this,n);var r=e.orbitAxis,i=void 0===r?"Z":r;return t.call(this,it(it({},e),{},{orbitAxis:i,type:ut}))}return h()(n,[{key:"controller",get:function(){return this._getControllerProps({type:nt.b})}}]),n}(Le.a),lt=n(151),ft=n(9),ht=n.n(ft),dt=n(110);function pt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k()(e);if(t){var i=k()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return P()(this,n)}}var vt=function(e){x()(n,e);var t=pt(n);function n(){return l()(this,n),t.apply(this,arguments)}return h()(n,[{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,r=e.zoom;e.zoom=Object(He.a)(r,n,t);var i=e.longitude,o=e.latitude;return(i<-180||i>180)&&(e.longitude=Object(Ge.e)(i+180,360)-180),e.latitude=Object(He.a)(o,-89,89),e}}]),n}(dt.a),gt=function(e){x()(n,e);var t=pt(n);function n(e){return l()(this,n),e.dragMode=e.dragMode||"pan",t.call(this,vt,e)}return h()(n,[{key:"setProps",value:function(e){ht()(k()(n.prototype),"setProps",this).call(this,e),this.dragRotate=!1,this.touchRotate=!1}},{key:"linearTransitionProps",get:function(){return["longitude","latitude","zoom"]}}]),n}(Ue.a);function yt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function mt(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function kt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};return l()(this,n),(e=t.call(this,{compare:["longitude","latitude","zoom","bearing","pitch"],extract:["width","height","longitude","latitude","zoom","bearing","pitch"],required:["width","height","latitude","longitude","zoom"]})).props=jt(jt({},Mt),r),e}return h()(n,[{key:"interpolateProps",value:function(e,t,n){var r,i=Object(Fe.d)(e,t,n,this.props),o=St(Tt);try{for(o.s();!(r=o.n()).done;){var a=r.value;i[a]=Object(He.g)(e[a]||0,t[a]||0,n)}}catch(e){o.e(e)}finally{o.f()}return i}},{key:"getDuration",value:function(e,t){var n=t.transitionDuration;return"auto"===n&&(n=Object(Fe.h)(e,t,this.props)),n}}]),n}(At.a),It=n(22),Rt=n(62),Lt=n(216),Dt=n(77),Ft=n(154),Nt=n(89),Ut=n(153),zt=n(131);n.d(t,"COORDINATE_SYSTEM",(function(){return r.a})),n.d(t,"OPERATION",(function(){return r.c})),n.d(t,"UNIT",(function(){return r.e})),n.d(t,"LightingEffect",(function(){return i.a})),n.d(t,"AmbientLight",(function(){return o.a})),n.d(t,"DirectionalLight",(function(){return a.a})),n.d(t,"PointLight",(function(){return _})),n.d(t,"_CameraLight",(function(){return E})),n.d(t,"_SunLight",(function(){return H})),n.d(t,"PostProcessEffect",(function(){return se})),n.d(t,"_LayersPass",(function(){return fe.a})),n.d(t,"Deck",(function(){return he.a})),n.d(t,"LayerManager",(function(){return de.a})),n.d(t,"AttributeManager",(function(){return pe.a})),n.d(t,"Layer",(function(){return ve.a})),n.d(t,"CompositeLayer",(function(){return ge.a})),n.d(t,"DeckRenderer",(function(){return ye.a})),n.d(t,"Viewport",(function(){return me.a})),n.d(t,"WebMercatorViewport",(function(){return be.a})),n.d(t,"_GlobeViewport",(function(){return je})),n.d(t,"picking",(function(){return Te.a})),n.d(t,"project",(function(){return Me.a})),n.d(t,"project32",(function(){return Be.a})),n.d(t,"gouraudLighting",(function(){return Ie.a})),n.d(t,"phongLighting",(function(){return Ie.b})),n.d(t,"shadow",(function(){return Re.a})),n.d(t,"View",(function(){return Le.a})),n.d(t,"MapView",(function(){return De.a})),n.d(t,"FirstPersonView",(function(){return tt})),n.d(t,"OrbitView",(function(){return ct})),n.d(t,"OrthographicView",(function(){return lt.a})),n.d(t,"_GlobeView",(function(){return _t})),n.d(t,"Controller",(function(){return Ue.a})),n.d(t,"MapController",(function(){return dt.b})),n.d(t,"_GlobeController",(function(){return gt})),n.d(t,"FirstPersonController",(function(){return Ze})),n.d(t,"OrbitController",(function(){return nt.b})),n.d(t,"OrthographicController",(function(){return Ot.a})),n.d(t,"Effect",(function(){return W.a})),n.d(t,"LayerExtension",(function(){return wt.a})),n.d(t,"TRANSITION_EVENTS",(function(){return xt.a})),n.d(t,"TransitionInterpolator",(function(){return At.a})),n.d(t,"LinearInterpolator",(function(){return Pt.a})),n.d(t,"FlyToInterpolator",(function(){return Bt})),n.d(t,"log",(function(){return It.a})),n.d(t,"createIterable",(function(){return Rt.a})),n.d(t,"fp64LowPart",(function(){return Ge.b})),n.d(t,"Tesselator",(function(){return Lt.a})),n.d(t,"_fillArray",(function(){return Dt.a})),n.d(t,"_flatten",(function(){return Dt.b})),n.d(t,"_count",(function(){return Ft.a})),n.d(t,"_memoize",(function(){return Nt.a})),n.d(t,"_mergeShaders",(function(){return Ut.a})),n.d(t,"_compareProps",(function(){return zt.a}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"d",(function(){return o})),n.d(t,"e",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return u}));var r=n(22),i={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(i,"IDENTITY",{get:function(){return r.a.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0}});var o={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},a={common:0,meters:1,pixels:2},s={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},u={DRAW:"draw",MASK:"mask"}},function(e,t,n){"use strict";var r=n(15),i=n(74);n.d(t,"a",(function(){return i.a}));var o={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global};(o.global||o.self||o.window).mathgl={config:r.b}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},,function(e,t,n){"use strict";var r=n(12),i=n.n(r),o=n(16),a=n.n(o),s=n(0),u=n.n(s),c=n(1),l=n.n(c),f=n(3),h=n.n(f),d=n(5),p=n(169);Object(p.a)();function v(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}var g,y=function(){function e(t){l()(this,e);var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";Object(d.a)(this,"storage",void 0),Object(d.a)(this,"id",void 0),Object(d.a)(this,"config",{}),this.storage=v(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return h()(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function m(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var o=e.width*n,a=e.height*n,s=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(i,");"),"background-size:".concat(o,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}function b(e){return"string"==typeof e?g[e.toUpperCase()]||g.WHITE:e}function _(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),o=_(i);try{var a=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(o.s();!(t=o.n()).done;)a()}catch(e){o.e(e)}finally{o.f()}}function x(e,t){if(!e)throw new Error(t||"Assertion failed")}!function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"}(g||(g={}));var A={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":i()(process))&&process},P=(globalThis,A.window||A.self||A.global),S=A.process||{};console;function k(){var e,t,n;if(p.a&&"performance"in P)e=null==P?void 0:null===(t=P.performance)||void 0===t?void 0:null===(n=t.now)||void 0===n?void 0:n.call(t);else if("hrtime"in S){var r,i=null==S?void 0:null===(r=S.hrtime)||void 0===r?void 0:r.call(S);e=1e3*i[0]+i[1]/1e6}else e=Date.now();return e}var C={debug:p.a&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},j={enabled:!0,level:0};function E(){}var T={},M={once:!0},B=function(){function e(){l()(this,e);var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;Object(d.a)(this,"id",void 0),Object(d.a)(this,"VERSION","8.7.8"),Object(d.a)(this,"_startTs",k()),Object(d.a)(this,"_deltaTs",k()),Object(d.a)(this,"_storage",void 0),Object(d.a)(this,"userData",{}),Object(d.a)(this,"LOG_THROTTLE_TIMEOUT",0),this.id=n,this._storage=new y("__probe-".concat(this.id,"__"),j),this.userData={},this.timeStamp("".concat(this.id," started")),w(this),Object.seal(this)}return h()(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((k()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((k()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(u()({},e,t))}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"assert",value:function(e,t){x(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,C.warn,arguments,M)}},{key:"error",value:function(e){return this._getLogFunction(0,e,C.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,C.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,C.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=R({logLevel:e,message:t,opts:n}),i=n.collapsed;return r.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||E)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=I(e)}},{key:"_getLogFunction",value:function(e,t,n,r,i){if(this._shouldLog(e)){var o;i=R({logLevel:e,message:t,args:r,opts:i}),x(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=k();var s=i.tag||i.message;if(i.once){if(T[s])return E;T[s]=k()}return t=function(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((s=n.total)<10?"".concat(s.toFixed(2),"ms"):s<100?"".concat(s.toFixed(1),"ms"):s<1e3?"".concat(s.toFixed(0),"ms"):"".concat((s/1e3).toFixed(2),"s")):"";t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),i=t,o=n.color,a=n.background,p.a||"string"!=typeof i||(o&&(o=b(o),i="[".concat(o,"m").concat(i,"")),a&&(o=b(a),i="[".concat(a+10,"m").concat(i,""))),t=i}var i,o,a;var s;return t}(this.id,i.message,i),(o=n).bind.apply(o,[console,t].concat(a()(i.args)))}return E}}]),e}();function I(e){if(!e)return 0;var t;switch(i()(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return x(Number.isFinite(t)&&t>=0),t}function R(e){var t=e.logLevel,n=e.message;e.logLevel=I(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(i()(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var o=i()(e.message);return x("string"===o||"object"===o),Object.assign(e,{args:r},e.opts)}function L(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}Object(d.a)(B,"VERSION","8.7.8");t.a=new B({id:"deck"})},function(e,t,n){"use strict";var r={};function i(e){var t=e&&e.lastIndexOf("/");return t>=0?e.substr(t+1):""}function o(e){var t=e&&e.lastIndexOf("/");return t>=0?e.substr(0,t):""}function a(){for(var e=arguments.length,t=new Array(e),n=0;nn?n:e}var l=Math.log2||function(e){return Math.log(e)*Math.LOG2E},f=n(25),h=n(30),d=n(27);function p(e,t){if(!e)throw new Error(t||"@math.gl/web-mercator: assertion failed.")}var v=Math.PI,g=v/4,y=v/180,m=180/v;function b(e){return Math.pow(2,e)}function _(e){return l(e)}function O(e){var t=i()(e,2),n=t[0],r=t[1];p(Number.isFinite(n)),p(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude");var o=r*y;return[512*(n*y+v)/(2*v),512*(v+Math.log(Math.tan(g+.5*o)))/(2*v)]}function w(e){var t=i()(e,2),n=t[0],r=t[1],o=n/512*(2*v)-v,a=2*(Math.atan(Math.exp(r/512*(2*v)-v))-g);return[o*m,a*m]}function x(e){var t=e.latitude;return p(Number.isFinite(t)),_(4003e4*Math.cos(t*y))-9}function A(e){var t=e.latitude,n=e.longitude,r=e.highPrecision,i=void 0!==r&&r;p(Number.isFinite(t)&&Number.isFinite(n));var o={},a=Math.cos(t*y),s=512/360/a,u=512/4003e4/a;if(o.unitsPerMeter=[u,u,u],o.metersPerUnit=[1/u,1/u,1/u],o.unitsPerDegree=[512/360,s,u],o.degreesPerUnit=[.703125,1/s,1/u],i){var c=y*Math.tan(t*y)/a,l=512/360*c/2,f=512/4003e4*c,h=f/s*u;o.unitsPerDegree2=[0,l,f],o.unitsPerMeter2=[h,0,h]}return o}function P(e,t){var n=i()(e,3),r=n[0],o=n[1],a=n[2],s=i()(t,3),u=s[0],c=s[1],l=s[2],f=A({longitude:r,latitude:o,highPrecision:!0}),h=f.unitsPerMeter,d=f.unitsPerMeter2,p=O(e);p[0]+=u*(h[0]+d[0]*c),p[1]+=c*(h[1]+d[1]*c);var v=w(p),g=(a||0)+(l||0);return Number.isFinite(a)||Number.isFinite(l)?[v[0],v[1],g]:v}function S(e){var t=e.height,n=e.pitch,r=e.bearing,i=e.altitude,o=e.scale,a=e.center,s=void 0===a?null:a,u=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return f.p(u,u,[0,0,-i]),f.l(u,u,-n*y),f.n(u,u,r*y),o/=t,f.o(u,u,[o,o,o]),s&&f.p(u,u,d.l([],s)),u}function k(e){var t=e.width,n=e.height,r=e.fovy,i=void 0===r?C(1.5):r,o=e.altitude,a=e.pitch,s=void 0===a?0:a,u=e.nearZMultiplier,c=void 0===u?1:u,l=e.farZMultiplier,f=void 0===l?1:l;void 0!==o&&(i=C(o));var h=.5*i*y,d=j(i),p=s*y,v=Math.sin(h)*d/Math.sin(Math.min(Math.max(Math.PI/2-p-h,.01),Math.PI-.01));return{fov:2*h,aspect:t/n,focalDistance:d,near:c,far:(Math.sin(p)*v+d)*f}}function C(e){return 2*Math.atan(.5/e)*m}function j(e){return.5/Math.tan(.5*e*y)}function E(e,t){var n=i()(e,3),r=n[0],o=n[1],s=n[2],u=void 0===s?0:s;return p(Number.isFinite(r)&&Number.isFinite(o)&&Number.isFinite(u)),a(t,[r,o,u,1])}function T(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=i()(e,3),o=r[0],s=r[1],u=r[2];if(p(Number.isFinite(o)&&Number.isFinite(s),"invalid pixel coordinate"),Number.isFinite(u)){var c=a(t,[o,s,u,1]);return c}var l=a(t,[o,s,0,1]),f=a(t,[o,s,1,1]),d=l[2],v=f[2],g=d===v?0:((n||0)-d)/(v-d);return h.c([],l,f,g)}function M(e){var t=e.width,n=e.height,r=e.bounds,o=e.minExtent,a=void 0===o?0:o,s=e.maxZoom,u=void 0===s?24:s,f=e.padding,h=void 0===f?0:f,d=e.offset,v=void 0===d?[0,0]:d,g=i()(r,2),y=i()(g[0],2),m=y[0],b=y[1],_=i()(g[1],2),x=_[0],A=_[1];if(Number.isFinite(h)){h={top:h,bottom:h,left:h,right:h}}else p(Number.isFinite(h.top)&&Number.isFinite(h.bottom)&&Number.isFinite(h.left)&&Number.isFinite(h.right));var P=O([m,c(A,-85.051129,85.051129)]),S=O([x,c(b,-85.051129,85.051129)]),k=[Math.max(Math.abs(S[0]-P[0]),a),Math.max(Math.abs(S[1]-P[1]),a)],C=[t-h.left-h.right-2*Math.abs(v[0]),n-h.top-h.bottom-2*Math.abs(v[1])];p(C[0]>0&&C[1]>0);var j=C[0]/k[0],E=C[1]/k[1],T=(h.right-h.left)/2/j,M=(h.bottom-h.top)/2/E,B=w([(S[0]+P[0])/2+T,(S[1]+P[1])/2+M]),I=Math.min(u,l(Math.abs(Math.min(j,E))));return p(Number.isFinite(I)),{longitude:B[0],latitude:B[1],zoom:I}}var B=Math.PI/180;function I(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=e.width,o=e.height,a=e.unproject,s={targetZ:r},u=a([0,o],s),c=a([i,o],s),l=e.fovy?.5*e.fovy*B:Math.atan(.5/e.altitude),f=(90-e.pitch)*B;return l>f-.01?(t=R(e,0,r),n=R(e,i,r)):(t=a([0,0],s),n=a([i,0],s)),[u,c,n,t]}function R(e,t,n){var r=e.pixelUnprojectionMatrix,i=a(r,[t,0,1,1]),o=a(r,[t,e.height,1,1]),s=(n*e.distanceScales.unitsPerMeter[2]-i[2])/(o[2]-i[2]),u=w(h.c([],i,o,s));return u[2]=n,u}function L(e){var t=e.width,n=e.height,r=e.longitude,i=e.latitude,o=e.zoom,a=e.pitch,u=void 0===a?0:a,c=e.bearing,f=void 0===c?0:c;(r<-180||r>180)&&(r=s(r+180,360)-180),(f<-180||f>180)&&(f=s(f+180,360)-180);var h=l(n/512);if(o<=h)o=h,i=0;else{var d=n/2/Math.pow(2,o),p=w([0,d])[1];if(iv&&(i=v)}}return{width:t,height:n,longitude:r,latitude:i,zoom:o,pitch:u,bearing:f}}function D(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return F(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return F(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n3&&void 0!==arguments[3]?arguments[3]:{},i={},o=V(e,t,r),a=o.startZoom,s=o.startCenterXY,c=o.uDelta,l=o.w0,f=o.u1,d=o.S,p=o.rho,v=o.rho2,g=o.r0;if(f<.01){var y,m=D(N);try{for(m.s();!(y=m.n()).done;){var b=y.value,O=e[b],x=t[b];i[b]=u(O,x,n)}}catch(e){m.e(e)}finally{m.f()}return i}var A=n*d,P=Math.cosh(g)/Math.cosh(g+p*A),S=l*((Math.cosh(g)*Math.tanh(g+p*A)-Math.sinh(g))/v)/f,k=1/P,C=a+_(k),j=h.e([],c,S);h.a(j,j,s);var E=w(j);return i.longitude=E[0],i.latitude=E[1],i.zoom=C,i}function G(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r=Object.assign({},U,r),o=i.screenSpeed,a=i.speed,s=i.maxDuration,u=V(e,t,r),c=u.S,l=u.rho,f=1e3*c;return n=Number.isFinite(o)?f/(o/l):f/a,Number.isFinite(s)&&n>s?0:n}function V(e,t,n){var r=(n=Object.assign({},U,n)).curve,i=e.zoom,o=[e.longitude,e.latitude],a=b(i),s=t.zoom,u=[t.longitude,t.latitude],c=b(s-i),l=O(o),f=O(u),d=h.f([],f,l),p=Math.max(e.width,e.height),v=p/c,g=h.b(d)*a,y=Math.max(g,.01),m=r*r,_=(v*v-p*p+m*m*y*y)/(2*p*m*y),w=(v*v-p*p-m*m*y*y)/(2*v*m*y),x=Math.log(Math.sqrt(_*_+1)-_),A=Math.log(Math.sqrt(w*w+1)-w);return{startZoom:i,startCenterXY:l,uDelta:d,w0:p,u1:g,S:(A-x)/r,rho:r,rho2:m,r0:x,r1:A}}n.d(t,"f",(function(){return I})),n.d(t,"c",(function(){return M})),n.d(t,"m",(function(){return L})),n.d(t,"d",(function(){return z})),n.d(t,"h",(function(){return G})),n.d(t,"l",(function(){return O})),n.d(t,"o",(function(){return w})),n.d(t,"p",(function(){return E})),n.d(t,"n",(function(){return T})),n.d(t,"b",(function(){return C})),n.d(t,"e",(function(){return j})),n.d(t,"i",(function(){return x})),n.d(t,"g",(function(){return A})),n.d(t,"a",(function(){return P})),n.d(t,"k",(function(){return S})),n.d(t,"j",(function(){return k}))},function(e,t,n){"use strict";n.d(t,"q",(function(){return i})),n.d(t,"f",(function(){return o})),n.d(t,"a",(function(){return a})),n.d(t,"h",(function(){return s})),n.d(t,"p",(function(){return u})),n.d(t,"o",(function(){return c})),n.d(t,"k",(function(){return l})),n.d(t,"l",(function(){return f})),n.d(t,"m",(function(){return h})),n.d(t,"n",(function(){return d})),n.d(t,"e",(function(){return p})),n.d(t,"c",(function(){return v})),n.d(t,"d",(function(){return g})),n.d(t,"j",(function(){return y})),n.d(t,"i",(function(){return m})),n.d(t,"g",(function(){return b})),n.d(t,"b",(function(){return _}));var r=n(14);function i(e,t){if(e===t){var n=t[1],r=t[2],i=t[3],o=t[6],a=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[6]=t[9],e[7]=t[13],e[8]=r,e[9]=o,e[11]=t[14],e[12]=i,e[13]=a,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function o(e,t){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],h=t[10],d=t[11],p=t[12],v=t[13],g=t[14],y=t[15],m=n*s-r*a,b=n*u-i*a,_=n*c-o*a,O=r*u-i*s,w=r*c-o*s,x=i*c-o*u,A=l*v-f*p,P=l*g-h*p,S=l*y-d*p,k=f*g-h*v,C=f*y-d*v,j=h*y-d*g,E=m*j-b*C+_*k+O*S-w*P+x*A;return E?(E=1/E,e[0]=(s*j-u*C+c*k)*E,e[1]=(i*C-r*j-o*k)*E,e[2]=(v*x-g*w+y*O)*E,e[3]=(h*w-f*x-d*O)*E,e[4]=(u*S-a*j-c*P)*E,e[5]=(n*j-i*S+o*P)*E,e[6]=(g*_-p*x-y*b)*E,e[7]=(l*x-h*_+d*b)*E,e[8]=(a*C-s*S+c*A)*E,e[9]=(r*S-n*C-o*A)*E,e[10]=(p*w-v*_+y*m)*E,e[11]=(f*_-l*w-d*m)*E,e[12]=(s*P-a*k-u*A)*E,e[13]=(n*k-r*P+i*A)*E,e[14]=(v*b-p*O-g*m)*E,e[15]=(l*O-f*b+h*m)*E,e):null}function a(e){var t=e[0],n=e[1],r=e[2],i=e[3],o=e[4],a=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],h=e[11],d=e[12],p=e[13],v=e[14],g=e[15];return(t*a-n*o)*(f*g-h*v)-(t*s-r*o)*(l*g-h*p)+(t*u-i*o)*(l*v-f*p)+(n*s-r*a)*(c*g-h*d)-(n*u-i*a)*(c*v-f*d)+(r*u-i*s)*(c*p-l*d)}function s(e,t,n){var r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],h=t[9],d=t[10],p=t[11],v=t[12],g=t[13],y=t[14],m=t[15],b=n[0],_=n[1],O=n[2],w=n[3];return e[0]=b*r+_*s+O*f+w*v,e[1]=b*i+_*u+O*h+w*g,e[2]=b*o+_*c+O*d+w*y,e[3]=b*a+_*l+O*p+w*m,b=n[4],_=n[5],O=n[6],w=n[7],e[4]=b*r+_*s+O*f+w*v,e[5]=b*i+_*u+O*h+w*g,e[6]=b*o+_*c+O*d+w*y,e[7]=b*a+_*l+O*p+w*m,b=n[8],_=n[9],O=n[10],w=n[11],e[8]=b*r+_*s+O*f+w*v,e[9]=b*i+_*u+O*h+w*g,e[10]=b*o+_*c+O*d+w*y,e[11]=b*a+_*l+O*p+w*m,b=n[12],_=n[13],O=n[14],w=n[15],e[12]=b*r+_*s+O*f+w*v,e[13]=b*i+_*u+O*h+w*g,e[14]=b*o+_*c+O*d+w*y,e[15]=b*a+_*l+O*p+w*m,e}function u(e,t,n){var r,i,o,a,s,u,c,l,f,h,d,p,v=n[0],g=n[1],y=n[2];return t===e?(e[12]=t[0]*v+t[4]*g+t[8]*y+t[12],e[13]=t[1]*v+t[5]*g+t[9]*y+t[13],e[14]=t[2]*v+t[6]*g+t[10]*y+t[14],e[15]=t[3]*v+t[7]*g+t[11]*y+t[15]):(r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],h=t[9],d=t[10],p=t[11],e[0]=r,e[1]=i,e[2]=o,e[3]=a,e[4]=s,e[5]=u,e[6]=c,e[7]=l,e[8]=f,e[9]=h,e[10]=d,e[11]=p,e[12]=r*v+s*g+f*y+t[12],e[13]=i*v+u*g+h*y+t[13],e[14]=o*v+c*g+d*y+t[14],e[15]=a*v+l*g+p*y+t[15]),e}function c(e,t,n){var r=n[0],i=n[1],o=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*o,e[9]=t[9]*o,e[10]=t[10]*o,e[11]=t[11]*o,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function l(e,t,n,i){var o,a,s,u,c,l,f,h,d,p,v,g,y,m,b,_,O,w,x,A,P,S,k,C,j=i[0],E=i[1],T=i[2],M=Math.hypot(j,E,T);return M0&&(o=1/Math.sqrt(o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e}function l(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function f(e,t,n){var r=t[0],i=t[1],o=t[2],a=n[0],s=n[1],u=n[2];return e[0]=i*u-o*s,e[1]=o*a-r*u,e[2]=r*s-i*a,e}function h(e,t,n,r){var i=t[0],o=t[1],a=t[2];return e[0]=i+r*(n[0]-i),e[1]=o+r*(n[1]-o),e[2]=a+r*(n[2]-a),e}function d(e,t,n){var r=t[0],i=t[1],o=t[2],a=n[3]*r+n[7]*i+n[11]*o+n[15];return a=a||1,e[0]=(n[0]*r+n[4]*i+n[8]*o+n[12])/a,e[1]=(n[1]*r+n[5]*i+n[9]*o+n[13])/a,e[2]=(n[2]*r+n[6]*i+n[10]*o+n[14])/a,e}function p(e,t,n){var r=t[0],i=t[1],o=t[2];return e[0]=r*n[0]+i*n[3]+o*n[6],e[1]=r*n[1]+i*n[4]+o*n[7],e[2]=r*n[2]+i*n[5]+o*n[8],e}function v(e,t,n){var r=n[0],i=n[1],o=n[2],a=n[3],s=t[0],u=t[1],c=t[2],l=i*c-o*u,f=o*s-r*c,h=r*u-i*s,d=i*h-o*f,p=o*l-r*h,v=r*f-i*l,g=2*a;return l*=g,f*=g,h*=g,d*=2,p*=2,v*=2,e[0]=s+l+d,e[1]=u+f+p,e[2]=c+h+v,e}function g(e,t,n,r){var i=[],o=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],o[0]=i[0],o[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),o[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),e[0]=o[0]+n[0],e[1]=o[1]+n[1],e[2]=o[2]+n[2],e}function y(e,t,n,r){var i=[],o=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],o[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),o[1]=i[1],o[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),e[0]=o[0]+n[0],e[1]=o[1]+n[1],e[2]=o[2]+n[2],e}function m(e,t,n,r){var i=[],o=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],o[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),o[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),o[2]=i[2],e[0]=o[0]+n[0],e[1]=o[1]+n[1],e[2]=o[2]+n[2],e}function b(e,t){var n=e[0],r=e[1],i=e[2],o=t[0],a=t[1],s=t[2],u=Math.sqrt(n*n+r*r+i*i)*Math.sqrt(o*o+a*a+s*s),c=u&&l(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}var _,O=function(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e},w=function(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e},x=function(e,t){var n=t[0]-e[0],r=t[1]-e[1],i=t[2]-e[2];return Math.hypot(n,r,i)},A=o,P=function(e){var t=e[0],n=e[1],r=e[2];return t*t+n*n+r*r};_=i()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return u}));var r=n(15);function i(e,t){if(e.length!==t)return!1;for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:"";if(r.b.debug&&!i(e,t))throw new Error("math.gl: ".concat(n," some fields set to invalid numbers'"));return e}var s={};function u(e,t){s[e]||(s[e]=!0,console.warn("".concat(e," has been removed in version ").concat(t,", see upgrade guide for more information")))}},function(e,t,n){"use strict";n.d(t,"e",(function(){return r})),n.d(t,"d",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return s}));var r={NO_STATE:"Awaiting state",MATCHED:"Matched. State transferred from previous layer",INITIALIZED:"Initialized",AWAITING_GC:"Discarded. Awaiting garbage collection",AWAITING_FINALIZATION:"No longer matched. Awaiting garbage collection",FINALIZED:"Finalized! Awaiting garbage collection"},i=Symbol.for("component"),o=Symbol.for("asyncPropDefaults"),a=Symbol.for("asyncPropOriginal"),s=Symbol.for("asyncPropResolved")},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"e",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"c",(function(){return u})),n.d(t,"g",(function(){return c})),n.d(t,"h",(function(){return l})),n.d(t,"i",(function(){return f})),n.d(t,"j",(function(){return h})),n.d(t,"f",(function(){return v}));var r=n(14);function i(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e}function o(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e}function a(e){var t=e[0],n=e[1];return Math.hypot(t,n)}function s(e,t){return e[0]=-t[0],e[1]=-t[1],e}function u(e,t,n,r){var i=t[0],o=t[1];return e[0]=i+r*(n[0]-i),e[1]=o+r*(n[1]-o),e}function c(e,t,n){var r=t[0],i=t[1];return e[0]=n[0]*r+n[2]*i,e[1]=n[1]*r+n[3]*i,e}function l(e,t,n){var r=t[0],i=t[1];return e[0]=n[0]*r+n[2]*i+n[4],e[1]=n[1]*r+n[3]*i+n[5],e}function f(e,t,n){var r=t[0],i=t[1];return e[0]=n[0]*r+n[3]*i+n[6],e[1]=n[1]*r+n[4]*i+n[7],e}function h(e,t,n){var r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e}var d,p,v=function(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e};d=new r.a(2),r.a!=Float32Array&&(d[0]=0,d[1]=0),p=d},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"g",(function(){return o})),n.d(t,"c",(function(){return a})),n.d(t,"l",(function(){return s})),n.d(t,"a",(function(){return u})),n.d(t,"k",(function(){return c})),n.d(t,"h",(function(){return l})),n.d(t,"m",(function(){return f})),n.d(t,"j",(function(){return h})),n.d(t,"d",(function(){return d})),n.d(t,"i",(function(){return p})),n.d(t,"n",(function(){return v})),n.d(t,"o",(function(){return g})),n.d(t,"f",(function(){return y})),n.d(t,"e",(function(){return m}));var r=n(14);function i(e){var t=new r.a(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function o(e,t,n,i){var o=new r.a(4);return o[0]=e,o[1]=t,o[2]=n,o[3]=i,o}function a(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function s(e,t,n,r,i){return e[0]=t,e[1]=n,e[2]=r,e[3]=i,e}function u(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e}function c(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function l(e){var t=e[0],n=e[1],r=e[2],i=e[3];return Math.hypot(t,n,r,i)}function f(e){var t=e[0],n=e[1],r=e[2],i=e[3];return t*t+n*n+r*r+i*i}function h(e,t){var n=t[0],r=t[1],i=t[2],o=t[3],a=n*n+r*r+i*i+o*o;return a>0&&(a=1/Math.sqrt(a)),e[0]=n*a,e[1]=r*a,e[2]=i*a,e[3]=o*a,e}function d(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function p(e,t,n,r){var i=t[0],o=t[1],a=t[2],s=t[3];return e[0]=i+r*(n[0]-i),e[1]=o+r*(n[1]-o),e[2]=a+r*(n[2]-a),e[3]=s+r*(n[3]-s),e}function v(e,t,n){var r=t[0],i=t[1],o=t[2],a=t[3];return e[0]=n[0]*r+n[4]*i+n[8]*o+n[12]*a,e[1]=n[1]*r+n[5]*i+n[9]*o+n[13]*a,e[2]=n[2]*r+n[6]*i+n[10]*o+n[14]*a,e[3]=n[3]*r+n[7]*i+n[11]*o+n[15]*a,e}function g(e,t,n){var r=t[0],i=t[1],o=t[2],a=n[0],s=n[1],u=n[2],c=n[3],l=c*r+s*o-u*i,f=c*i+u*r-a*o,h=c*o+a*i-s*r,d=-a*r-s*i-u*o;return e[0]=l*c+d*-a+f*-u-h*-s,e[1]=f*c+d*-s+h*-a-l*-u,e[2]=h*c+d*-u+l*-s-f*-a,e[3]=t[3],e}function y(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function m(e,t){var n=e[0],i=e[1],o=e[2],a=e[3],s=t[0],u=t[1],c=t[2],l=t[3];return Math.abs(n-s)<=r.b*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-u)<=r.b*Math.max(1,Math.abs(i),Math.abs(u))&&Math.abs(o-c)<=r.b*Math.max(1,Math.abs(o),Math.abs(c))&&Math.abs(a-l)<=r.b*Math.max(1,Math.abs(a),Math.abs(l))}var b,_;b=new r.a(4),r.a!=Float32Array&&(b[0]=0,b[1]=0,b[2]=0,b[3]=0),_=b},function(e,t,n){e.exports=n(292)()},,function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.default=e.exports,e.exports.__esModule=!0,n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){e.exports=n(268)},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));var r=n(22),i={};function o(e){i=e}function a(e){var t;r.a.level>0&&i[e]&&(t=i[e]).call.apply(t,arguments)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return P}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(20),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(43),g=n(73),y=n(63),m=n(10),b=n(13),_=n(133);function O(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}var w={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},x={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:w},A={removedProps:w},P=function(e){l()(n,e);var t=O(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,n),(r=t.call(this,e,o)).stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),r.target=o.target||(r.gl.webgl2?36662:34962),r.initialize(o),Object.seal(u()(r)),r}return a()(n,[{key:"getElementCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/g.a.getBytesPerElement(e))}},{key:"getVertexCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/g.a.getBytesPerVertex(e))}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=Object(_.a)("Buffer",e,x),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}},{key:"setProps",value:function(e){return"accessor"in(e=Object(_.a)("Buffer",e,A))&&this.setAccessor(e.accessor),this}},{key:"setAccessor",value:function(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new g.a(e),this}},{key:"reallocate",value:function(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}},{key:"setData",value:function(e){return this.initialize(e)}},{key:"subData",value:function(e){ArrayBuffer.isView(e)&&(e={data:e});var t=e,n=t.data,r=t.offset,i=void 0===r?0:r,o=t.srcOffset,a=void 0===o?0:o,s=e.byteLength||e.length;Object(b.a)(n);var u=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(u,this.handle),0!==a||void 0!==s?(Object(m.a)(this.gl),this.gl.bufferSubData(this.target,i,n,a,s)):this.gl.bufferSubData(u,i,n),this.gl.bindBuffer(u,null),this.debugData=null,this._inferType(n),this}},{key:"copyData",value:function(e){var t=e.sourceBuffer,n=e.readOffset,r=void 0===n?0:n,i=e.writeOffset,o=void 0===i?0:i,a=e.size,s=this.gl;return Object(m.a)(s),s.bindBuffer(36662,t.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,r,o,a),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dstData,n=void 0===t?null:t,r=e.srcByteOffset,i=void 0===r?0:r,o=e.dstOffset,a=void 0===o?0:o,s=e.length,u=void 0===s?0:s;Object(m.a)(this.gl);var c,l,f=Object(y.c)(this.accessor.type||5126,{clamped:!1}),h=this._getAvailableElementCount(i),d=a;n?c=(l=n.length)-d:l=d+(c=Math.min(h,u||h));var p=Math.min(h,c);return u=u||p,Object(b.a)(u<=p),n=n||new f(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,i,n,a,u),this.gl.bindBuffer(36662,null),n}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,r=e.index,i=void 0===r?this.accessor&&this.accessor.index:r,o=e.offset,a=void 0===o?0:o,s=e.size;return 35345===n||35982===n?void 0!==s?this.gl.bindBufferRange(n,i,this.handle,a,s):(Object(b.a)(0===a),this.gl.bindBufferBase(n,i,this.handle)):this.gl.bindBuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,r=e.index,i=void 0===r?this.accessor&&this.accessor.index:r,o=35345===n||35982===n;return o?this.gl.bindBufferBase(n,i,null):this.gl.bindBuffer(n,null),this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.byteLength+t;Object(b.a)(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();var r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,n,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);var i=Object(y.b)(e);return Object(b.a)(i),this.setAccessor(new g.a(this.accessor,{type:i})),this}},{key:"_setByteLength",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.usage;Object(b.a)(e>=0),this._trackDeallocatedMemory();var n=e;0===e&&(n=new Float32Array(0));var r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,n,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?36663:this.target}},{key:"_getAvailableElementCount",value:function(e){var t=e/Object(y.c)(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-t}},{key:"_inferType",value:function(e){this.accessor.type||this.setAccessor(new g.a(this.accessor,{type:Object(y.b)(e)}))}},{key:"_createHandle",value:function(){return this.gl.createBuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_getParameter",value:function(e){this.gl.bindBuffer(this.target,this.handle);var t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}},{key:"type",get:function(){return m.k.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}},{key:"bytes",get:function(){return m.k.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}},{key:"setByteLength",value:function(e){return m.k.deprecated("setByteLength","reallocate")(),this.reallocate(e)}},{key:"updateAccessor",value:function(e){return m.k.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new g.a(this.accessor,e),this}}]),n}(v.a)},function(e,t,n){var r=n(214);e.exports=function(e){return new r(e)}},function(e,t,n){"use strict";var r=n(78),i=n(19);function o(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function a(e,t){var n=e%t;return n<0?t+n:n}function s(e){return[e[12],e[13],e[14]]}function u(e){return{left:f(e[3]+e[0],e[7]+e[4],e[11]+e[8],e[15]+e[12]),right:f(e[3]-e[0],e[7]-e[4],e[11]-e[8],e[15]-e[12]),bottom:f(e[3]+e[1],e[7]+e[5],e[11]+e[9],e[15]+e[13]),top:f(e[3]-e[1],e[7]-e[5],e[11]-e[9],e[15]-e[13]),near:f(e[3]+e[2],e[7]+e[6],e[11]+e[10],e[15]+e[14]),far:f(e[3]-e[2],e[7]-e[6],e[11]-e[10],e[15]-e[14])}}n.d(t,"a",(function(){return o})),n.d(t,"e",(function(){return a})),n.d(t,"c",(function(){return s})),n.d(t,"d",(function(){return u})),n.d(t,"b",(function(){return h})),n.d(t,"f",(function(){return d}));var c,l=new i.a;function f(e,t,n,r){l.set(e,t,n);var o=l.len();return{distance:r/o,normal:new i.a(-e/o,-t/o,-n/o)}}function h(e){return e-Math.fround(e)}function d(e,t){var n=t.size,i=void 0===n?1:n,o=t.startIndex,a=void 0===o?0:o,s=void 0!==t.endIndex?t.endIndex:e.length,u=(s-a)/i;c=r.a.allocate(c,u,{type:Float32Array,size:2*i});for(var l=a,f=0;l2&&void 0!==arguments[2]?arguments[2]:{},r=o(e,n);return r!==t&&(s(e,n),!0)}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Math.sign(a(e,t))}function a(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.start,r=void 0===n?0:n,i=t.end,o=void 0===i?e.length:i,a=t.size||2,s=0,u=r,c=o-a;u80*n){s=o=e[0],u=a=e[1];for(var O=n;Oo&&(o=h),d>a&&(a=d);i=0!==(i=Math.max(o-s,a-u))?1/i:0}return f(m,b,n,s,u,i),b}function c(e,t,n,r,i,o){var s,u;if(void 0===o&&(o=a(e,{start:t,end:n,size:r})),i===o<0)for(s=t;s=t;s-=r)u=E(s,e[s],e[s+1],u);return u&&A(u,u.next)&&(T(u),u=u.next),u}function l(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!A(r,r.next)&&0!==x(r.prev,r,r.next))r=r.next;else{if(T(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function f(e,t,n,r,i,o,a){if(e){!a&&o&&function(e,t,n,r){var i=e;do{null===i.z&&(i.z=b(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,n,r,i,o,a,s,u,c=1;do{for(i=e,e=null,u=null,r=0;i;){for(r++,a=i,o=0,n=0;n0||s>0&&a;)0!==o&&(0===s||!a||i.z<=a.z)?(t=i,i=i.nextZ,o--):(t=a,a=a.nextZ,s--),u?u.nextZ=t:e=t,t.prevZ=u,u=t;i=a}u.nextZ=null,c*=2}while(r>1)}(i)}(e,r,i,o);for(var s,u,c=e;e.prev!==e.next;)if(s=e.prev,u=e.next,o?d(e,r,i,o):h(e))t.push(s.i/n),t.push(e.i/n),t.push(u.i/n),T(e),e=u.next,c=u.next;else if((e=u)===c){a?1===a?f(e=p(l(e),t,n),t,n,r,i,o,2):2===a&&v(e,t,n,r,i,o):f(l(e),t,n,r,i,o,1);break}}}function h(e){var t=e.prev,n=e,r=e.next;if(x(t,n,r)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(O(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&x(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function d(e,t,n,r){var i=e.prev,o=e,a=e.next;if(x(i,o,a)>=0)return!1;for(var s=i.xo.x?i.x>a.x?i.x:a.x:o.x>a.x?o.x:a.x,l=i.y>o.y?i.y>a.y?i.y:a.y:o.y>a.y?o.y:a.y,f=b(s,u,t,n,r),h=b(c,l,t,n,r),d=e.prevZ,p=e.nextZ;d&&d.z>=f&&p&&p.z<=h;){if(d!==e.prev&&d!==e.next&&O(i.x,i.y,o.x,o.y,a.x,a.y,d.x,d.y)&&x(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,p!==e.prev&&p!==e.next&&O(i.x,i.y,o.x,o.y,a.x,a.y,p.x,p.y)&&x(p.prev,p,p.next)>=0)return!1;p=p.nextZ}for(;d&&d.z>=f;){if(d!==e.prev&&d!==e.next&&O(i.x,i.y,o.x,o.y,a.x,a.y,d.x,d.y)&&x(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;p&&p.z<=h;){if(p!==e.prev&&p!==e.next&&O(i.x,i.y,o.x,o.y,a.x,a.y,p.x,p.y)&&x(p.prev,p,p.next)>=0)return!1;p=p.nextZ}return!0}function p(e,t,n){var r=e;do{var i=r.prev,o=r.next.next;!A(i,o)&&P(i,r,r.next,o)&&C(i,o)&&C(o,i)&&(t.push(i.i/n),t.push(r.i/n),t.push(o.i/n),T(r),T(r.next),r=e=o),r=r.next}while(r!==e);return l(r)}function v(e,t,n,r,i,o){var a=e;do{for(var s=a.next.next;s!==a.prev;){if(a.i!==s.i&&w(a,s)){var u=j(a,s);return a=l(a,a.next),u=l(u,u.next),f(a,t,n,r,i,o),void f(u,t,n,r,i,o)}s=s.next}a=a.next}while(a!==e)}function g(e,t){return e.x-t.x}function y(e,t){if(t=function(e,t){var n,r=t,i=e.x,o=e.y,a=-1/0;do{if(o<=r.y&&o>=r.next.y&&r.next.y!==r.y){var s=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=i&&s>a){if(a=s,s===i){if(o===r.y)return r;if(o===r.next.y)return r.next}n=r.x=r.x&&r.x>=l&&i!==r.x&&O(on.x||r.x===n.x&&m(n,r)))&&(n=r,h=u)),r=r.next}while(r!==c);return n}(e,t)){var n=j(t,e);l(t,t.next),l(n,n.next)}}function m(e,t){return x(e.prev,e,t.prev)<0&&x(t.next,e,e.next)<0}function b(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function _(e){var t=e,n=e;do{(t.x=0&&(e-a)*(r-s)-(n-a)*(t-s)>=0&&(n-a)*(o-s)-(i-a)*(r-s)>=0}function w(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&P(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(C(e,t)&&C(t,e)&&function(e,t){var n=e,r=!1,i=(e.x+t.x)/2,o=(e.y+t.y)/2;do{n.y>o!=n.next.y>o&&n.next.y!==n.y&&i<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(x(e.prev,e,t.prev)||x(e,t.prev,t))||A(e,t)&&x(e.prev,e,e.next)>0&&x(t.prev,t,t.next)>0)}function x(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function A(e,t){return e.x===t.x&&e.y===t.y}function P(e,t,n,r){var i=k(x(e,t,n)),o=k(x(e,t,r)),a=k(x(n,r,e)),s=k(x(n,r,t));return i!==o&&a!==s||(!(0!==i||!S(e,n,t))||(!(0!==o||!S(e,r,t))||(!(0!==a||!S(n,e,r))||!(0!==s||!S(n,t,r)))))}function S(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function k(e){return e>0?1:e<0?-1:0}function C(e,t){return x(e.prev,e,e.next)<0?x(e,t,e.next)>=0&&x(e,e.prev,t)>=0:x(e,t,e.prev)<0||x(e,e.next,t)<0}function j(e,t){var n=new M(e.i,e.x,e.y),r=new M(t.i,t.x,t.y),i=e.next,o=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,o.next=r,r.prev=o,r}function E(e,t,n,r){var i=new M(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function T(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function M(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function B(e,t){var n=t.length,r=e.length;if(r>0){for(var i=!0,o=0;o4&&void 0!==arguments[4]?arguments[4]:[],o=r+t*n,a=0;a4&&void 0!==arguments[4]?arguments[4]:[];if(8&n)i=(r[3]-e[1])/(t[1]-e[1]),o=3;else if(4&n)i=(r[1]-e[1])/(t[1]-e[1]),o=1;else if(2&n)i=(r[2]-e[0])/(t[0]-e[0]),o=2;else{if(!(1&n))return null;i=(r[0]-e[0])/(t[0]-e[0]),o=0}for(var s=0;st[2]&&(n|=2),e[1]t[3]&&(n|=8),n}function F(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.size,o=void 0===i?2:i,a=r.broken,s=void 0!==a&&a,u=r.gridResolution,c=void 0===u?10:u,l=r.gridOffset,f=void 0===l?[0,0]:l,h=r.startIndex,d=void 0===h?0:h,p=r.endIndex,v=void 0===p?e.length:p,g=(v-d)/o,y=[],m=[y],b=R(e,0,o,d),_=G(b,c,f,[]),O=[];B(y,b);for(var w=1;wo&&(y=[],m.push(y),B(y,b)),n=D(t,_)}B(y,t),I(b,t)}return s?m:m[0]}function N(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{};if(!e.length)return[];for(var r=n.size,i=void 0===r?2:r,o=n.gridResolution,a=void 0===o?10:o,s=n.gridOffset,u=void 0===s?[0,0]:s,c=n.edgeTypes,l=void 0!==c&&c,f=[],h=[{pos:e,types:l&&new Array(e.length/i).fill(1),holes:t||[]}],d=[[],[]],p=[];h.length;){var v=h.shift(),g=v.pos,y=v.types,m=v.holes;H(g,i,m[0]||g.length,d),p=G(d[0],a,u,p);var b=D(d[1],p);if(b){var _=z(g,y,i,0,m[0]||g.length,p,b),O={pos:_[0].pos,types:_[0].types,holes:[]},w={pos:_[1].pos,types:_[1].types,holes:[]};h.push(O,w);for(var x=0;x=0?(B(h,s)&&p.push(c),_+=u):p.length&&(p[p.length-1]=0),I(g,s),y=u,m=c;return[b?{pos:f,types:t&&d}:null,_?{pos:h,types:t&&p}:null]}function G(e,t,n,r){var i=Math.floor((e[0]-n[0])/t)*t+n[0],o=Math.floor((e[1]-n[1])/t)*t+n[1];return r[0]=i,r[1]=o,r[2]=i+t,r[3]=o+t,r}function V(e,t,n){8&n?(e[1]+=t,e[3]+=t):4&n?(e[1]-=t,e[3]-=t):2&n?(e[0]+=t,e[2]+=t):1&n&&(e[0]-=t,e[2]-=t)}function H(e,t,n,r){for(var i=1/0,o=-1/0,a=1/0,s=-1/0,u=0;uo?c:o,a=ls?l:s}return r[0][0]=i,r[0][1]=a,r[1][0]=o,r[1][1]=s,r}function W(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return J(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return J(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function J(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=t.size,r=void 0===n?2:n,i=t.startIndex,o=void 0===i?0:i,a=t.endIndex,s=void 0===a?e.length:a,u=t.normalize,c=void 0===u||u,l=e.slice(o,s);Y(l,r,0,s-o);var f=F(l,{size:r,broken:!0,gridResolution:360,gridOffset:[-180,-180]});if(c){var h,d=W(f);try{for(d.s();!(h=d.n()).done;){var p=h.value;Q(p,r)}}catch(e){d.e(e)}finally{d.f()}}return f}function K(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.size,i=void 0===r?2:r,o=n.normalize,a=void 0===o||o,s=n.edgeTypes,u=void 0!==s&&s;t=t||[];for(var c=[],l=[],f=0,h=0,d=0;d<=t.length;d++){for(var p=t[d]||e.length,v=h,g=q(e,i,f,p),y=g;yi&&(i=s,o=a-1)}return o}function Z(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:85.051129,o=e[n],a=e[r-t];if(Math.abs(o-a)>180){var s=R(e,0,t,n);s[0]+=360*Math.round((a-o)/360),B(e,s),s[1]=Math.sign(s[1])*i,B(e,s),s[0]=o,B(e,s)}}function Y(e,t,n,r){for(var i,o=e[0],a=n;a180||s<-180)&&(i-=360*Math.round(s/360)),e[a]=o=i}}function Q(e,t){for(var n,r=e.length/t,i=0;i=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),Object(s.b)(t);var r=n.id,o=n.userData,a=void 0===o?{}:o;this.gl=t,this.gl2=t,this.id=r||Object(f.c)(this.constructor.name),this.userData=a,this._bound=!1,this._handle=n.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}return a()(e,[{key:"toString",value:function(){return"".concat(this.constructor.name,"(").concat(this.id,")")}},{key:"handle",get:function(){return this._handle}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deleteChildren,n=void 0!==t&&t,r=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,r&&n&&r.filter(Boolean).forEach((function(e){return e.delete()})),this}},{key:"bind",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.handle;return"function"!=typeof t?(this._bindHandle(t),this):(this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e)}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(c.b)(this.gl,e),Object(l.a)(e);var n=this.constructor.PARAMETERS||{},r=n[e];if(r){var i=Object(s.j)(this.gl),o=(!("webgl2"in r)||i)&&(!("extension"in r)||this.gl.getExtension(r.extension));if(!o){var a=r.webgl1,u="webgl2"in r?r.webgl2:r.webgl1,f=i?u:a;return f}}return this._getParameter(e,t)}},{key:"getParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.parameters,r=t.keys,i=this.constructor.PARAMETERS||{},o=Object(s.j)(this.gl),a={},u=n||Object.keys(i),l=d(u);try{for(l.s();!(e=l.n()).done;){var f=e.value,h=i[f],p=h&&(!("webgl2"in h)||o)&&(!("extension"in h)||this.gl.getExtension(h.extension));if(p){var v=r?Object(c.a)(this.gl,f):f;a[v]=this.getParameter(f,t),r&&"GLenum"===h.type&&(a[v]=Object(c.a)(this.gl,a[v]))}}}catch(e){l.e(e)}finally{l.f()}return a}},{key:"setParameter",value:function(e,t){e=Object(c.b)(this.gl,e),Object(l.a)(e);var n=(this.constructor.PARAMETERS||{})[e];if(n){var r=Object(s.j)(this.gl);if(!((!("webgl2"in n)||r)&&(!("extension"in n)||this.gl.getExtension(n.extension))))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(t=Object(c.b)(t))}return this._setParameter(e,t),this}},{key:"setParameters",value:function(e){for(var t in e)this.setParameter(t,e[t]);return this}},{key:"stubRemovedMethods",value:function(e,t,n){return Object(h.a)(this,e,t,n)}},{key:"initialize",value:function(e){}},{key:"_createHandle",value:function(){throw new Error(v)}},{key:"_deleteHandle",value:function(){throw new Error(v)}},{key:"_bindHandle",value:function(e){throw new Error(v)}},{key:"_getOptsFromHandle",value:function(){throw new Error(v)}},{key:"_getParameter",value:function(e,t){throw new Error(v)}},{key:"_setParameter",value:function(e,t){throw new Error(v)}},{key:"_context",value:function(){return this.gl.luma=this.gl.luma||{},this.gl.luma}},{key:"_addStats",value:function(){var e=this.constructor.name,t=u.a.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get("".concat(e,"s Created")).incrementCount(),t.get("".concat(e,"s Active")).incrementCount()}},{key:"_removeStats",value:function(){var e=this.constructor.name;u.a.get("Resource Counts").get("".concat(e,"s Active")).decrementCount()}},{key:"_trackAllocatedMemory",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.constructor.name,n=u.a.get("Memory Usage");n.get("GPU Memory").addCount(e),n.get("".concat(t," Memory")).addCount(e),this.byteLength=e}},{key:"_trackDeallocatedMemory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.constructor.name,t=u.a.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get("".concat(e," Memory")).subtractCount(this.byteLength),this.byteLength=0}}]),e}()},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e);var n=t.id,r=void 0===n?null:n,i=t.x,o=void 0===i?0:i,s=t.y,u=void 0===s?0:s,c=t.width,l=void 0===c?1:c,f=t.height,h=void 0===f?1:f;this.id=r||this.constructor.displayName||"viewport",this.x=o,this.y=u,this.width=l||1,this.height=h||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}return u()(e,[{key:"metersPerPixel",get:function(){return this.distanceScales.metersPerUnit[2]/this.scale}},{key:"projectionMode",get:function(){return this.isGeospatial?this.zoom<12?g.d.WEB_MERCATOR:g.d.WEB_MERCATOR_AUTO_OFFSET:g.d.IDENTITY}},{key:"equals",value:function(t){return t instanceof e&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&Object(f.d)(t.projectionMatrix,this.projectionMatrix)&&Object(f.d)(t.viewMatrix,this.viewMatrix))}},{key:"project",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.topLeft,r=void 0===n||n,o=this.projectPosition(e),a=Object(v.p)(o,this.pixelProjectionMatrix),s=i()(a,2),u=s[0],c=s[1],l=r?c:this.height-c;return 2===e.length?[u,l]:[u,l,a[2]]}},{key:"unproject",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.topLeft,r=void 0===n||n,o=t.targetZ,a=i()(e,3),s=a[0],u=a[1],c=a[2],l=r?u:this.height-u,f=o&&o*this.distanceScales.unitsPerMeter[2],h=Object(v.n)([s,l,c],this.pixelUnprojectionMatrix,f),d=this.unprojectPosition(h),p=i()(d,3),g=p[0],y=p[1],m=p[2];return Number.isFinite(c)?[g,y,m]:Number.isFinite(o)?[g,y,o]:[g,y]}},{key:"projectPosition",value:function(e){var t=this.projectFlat(e),n=i()(t,2);return[n[0],n[1],(e[2]||0)*this.distanceScales.unitsPerMeter[2]]}},{key:"unprojectPosition",value:function(e){var t=this.unprojectFlat(e),n=i()(t,2);return[n[0],n[1],(e[2]||0)*this.distanceScales.metersPerUnit[2]]}},{key:"projectFlat",value:function(e){if(this.isGeospatial){var t=Object(v.l)(e);return t[1]=Object(f.a)(t[1],-318,830),t}return e}},{key:"unprojectFlat",value:function(e){return this.isGeospatial?Object(v.o)(e):e}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={targetZ:e.z||0},n=this.unproject([0,0],t),r=this.unproject([this.width,0],t),i=this.unproject([0,this.height],t),o=this.unproject([this.width,this.height],t);return[Math.min(n[0],r[0],i[0],o[0]),Math.min(n[1],r[1],i[1],o[1]),Math.max(n[0],r[0],i[0],o[0]),Math.max(n[1],r[1],i[1],o[1])]}},{key:"getDistanceScales",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?Object(v.g)({longitude:e[0],latitude:e[1],highPrecision:!0}):this.distanceScales}},{key:"containsPixel",value:function(e){var t=e.x,n=e.y,r=e.width,i=void 0===r?1:r,o=e.height,a=void 0===o?1:o;return t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nc)n.set(t.subarray(0,c),i);else if(n.set(t,i),a)for(var l=u;l=v)){var y=g?r.value:r.getBuffer().getData({srcByteOffset:f});if(r.settings.normalized&&!g){var m=u;u=function(e,t){return r._normalizeConstant(m(e,t))}}var b=g?function(e,t){return u(y,t)}:function(e,t){return u(y.subarray(e,e+l),t)},_=t.getData({length:i}),O=new Float32Array(v);!function(e){var t=e.source,n=e.target,r=e.size,i=e.getData,a=e.sourceStartIndices,s=e.targetStartIndices;if(!Array.isArray(s))return o({source:t,target:n,size:r,getData:i}),n;for(var u=0,c=0,l=i&&function(e,t){return i(e+c,t)},f=Math.min(a.length,s.length),h=1;h0&&void 0!==arguments[0]?arguments[0]:"id";i[e]=i[e]||1;var t=i[e]++;return"".concat(e,"-").concat(t)}function a(e){return Object(r.a)("number"==typeof e,"Input must be a number"),e&&0==(e&e-1)}function s(e){var t=!0;for(var n in e){t=!1;break}return t}},function(e,t,n){var r=n(291);e.exports=function(e){return function(){return new r(e.apply(this,arguments))}}},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}));var r=n(13);function i(e,t){if("string"!=typeof t)return t;var n=Number(t);if(!isNaN(n))return n;var i=e[t=t.replace(/^.*\./,"")];return Object(r.a)(void 0!==i,"Accessing undefined constant GL.".concat(t)),i}function o(e,t){for(var n in t=Number(t),e)if(e[n]===t)return"GL.".concat(n);return String(t)}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,o=r,a={index:-1,data:e,target:[]};return e?"function"==typeof e[Symbol.iterator]?o=e:e.length>0&&(i.length=e.length,o=i):o=r,(t>0||Number.isFinite(n))&&(o=(Array.isArray(o)?o:Array.from(o)).slice(t,n),a.index=t-1),{iterable:o,objectInfo:a}}function a(e){return e&&e[Symbol.asyncIterator]}function s(e,t){var n=t.size,r=t.stride,i=t.offset,o=t.startIndices,a=t.nested,s=e.BYTES_PER_ELEMENT,u=r?r/s:n,c=i?i/s:0,l=Math.floor((e.length-c)/u);return function(t,r){var i=r.index,s=r.target;if(!o){for(var f=i*u+c,h=0;h1&&void 0!==arguments[1]?arguments[1]:{},n=t.clamped,r=void 0===n||n;switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return r?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function o(e){var t=e.data,n=e.width,r=e.height,i=e.bytesPerPixel,o=void 0===i?4:i,a=e.temp,s=n*o;a=a||new Uint8Array(s);for(var u=0;u=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},n=t.data;if(n instanceof Promise)return n.then((function(n){return e.initialize(Object.assign({},t,{pixels:n,data:n}))})),this;var r="undefined"!=typeof HTMLVideoElement&&n instanceof HTMLVideoElement;if(r&&n.readyState=HTMLVideoElement.HAVE_CURRENT_DATA?n.currentTime:-1}),this}},{key:"update",value:function(){if(this._video){var e=this._video,t=e.video,n=e.parameters;if(e.lastTime===t.currentTime||t.readyState0&&void 0!==arguments[0]?arguments[0]:{};return this._isNPOT()?(v.k.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Object(v.o)(this.gl,t,(function(){e.gl.generateMipmap(e.target)})),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(e){this._trackDeallocatedMemory("Texture");var t=e.target,n=void 0===t?this.target:t,r=e.pixels,o=void 0===r?null:r,a=e.level,s=void 0===a?0:a,u=e.format,c=void 0===u?this.format:u,l=e.border,f=void 0===l?this.border:l,h=e.offset,d=void 0===h?0:h,p=e.parameters,g=void 0===p?{}:p,y=e.data,m=void 0===y?null:y,O=e.type,x=void 0===O?this.type:O,A=e.width,P=void 0===A?this.width:A,S=e.height,k=void 0===S?this.height:S,C=e.dataFormat,j=void 0===C?this.dataFormat:C,E=e.compressed,T=void 0!==E&&E;m||(m=o);var M=this._deduceParameters({format:c,type:x,dataFormat:j,compressed:T,data:m,width:P,height:k});x=M.type,j=M.dataFormat,T=M.compressed,P=M.width,k=M.height;var B=this.gl;B.bindTexture(this.target,this.handle);var I,R,L=this._getDataType({data:m,compressed:T});if(m=L.data,I=L.dataType,Object(v.o)(this.gl,g,(function(){switch(I){case"null":B.texImage2D(n,s,c,P,k,f,j,x,m);break;case"typed-array":B.texImage2D(n,s,c,P,k,f,j,x,m,d);break;case"buffer":(R=Object(v.a)(B)).bindBuffer(35052,m.handle||m),R.texImage2D(n,s,c,P,k,f,j,x,d),R.bindBuffer(35052,null);break;case"browser-object":Object(v.j)(B)?B.texImage2D(n,s,c,P,k,f,j,x,m):B.texImage2D(n,s,c,j,x,m);break;case"compressed":var e,t=w(m.entries());try{for(t.s();!(e=t.n()).done;){var r=i()(e.value,2),o=r[0],a=r[1];B.compressedTexImage2D(n,o,a.format,a.width,a.height,f,a.data)}}catch(e){t.e(e)}finally{t.f()}break;default:Object(_.a)(!1,"Unknown image data type")}})),m&&m.byteLength)this._trackAllocatedMemory(m.byteLength,"Texture");else{var D=b.a[this.dataFormat]||4,F=b.c[this.type]||1;this._trackAllocatedMemory(this.width*this.height*D*F,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(e){var t=this,n=e.target,r=void 0===n?this.target:n,i=e.pixels,o=void 0===i?null:i,a=e.data,s=void 0===a?null:a,u=e.x,c=void 0===u?0:u,l=e.y,f=void 0===l?0:l,h=e.width,d=void 0===h?this.width:h,p=e.height,g=void 0===p?this.height:p,y=e.level,b=void 0===y?0:y,O=e.format,w=void 0===O?this.format:O,x=e.type,A=void 0===x?this.type:x,P=e.dataFormat,k=void 0===P?this.dataFormat:P,C=e.compressed,j=void 0!==C&&C,E=e.offset,T=void 0===E?0:E,M=e.border,B=(void 0===M&&this.border,e.parameters),I=void 0===B?{}:B,R=this._deduceParameters({format:w,type:A,dataFormat:k,compressed:j,data:s,width:d,height:g});if(A=R.type,k=R.dataFormat,j=R.compressed,d=R.width,g=R.height,Object(_.a)(0===this.depth,"texSubImage not supported for 3D textures"),s||(s=o),s&&s.data){var L=s;s=L.data,d=L.shape[0],g=L.shape[1]}s instanceof m.a&&(s=s.handle),this.gl.bindTexture(this.target,this.handle),Object(v.o)(this.gl,I,(function(){if(j)t.gl.compressedTexSubImage2D(r,b,c,f,d,g,w,s);else if(null===s)t.gl.texSubImage2D(r,b,c,f,d,g,k,A,null);else if(ArrayBuffer.isView(s))t.gl.texSubImage2D(r,b,c,f,d,g,k,A,s,T);else if(s instanceof S){var e=Object(v.a)(t.gl);e.bindBuffer(35052,s),e.texSubImage2D(r,b,c,f,d,g,k,A,T),e.bindBuffer(35052,null)}else if(Object(v.j)(t.gl)){Object(v.a)(t.gl).texSubImage2D(r,b,c,f,d,g,k,A,s)}else t.gl.texSubImage2D(r,b,c,f,k,A,s)})),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return v.k.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(34016)-33984}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}},{key:"_getDataType",value:function(e){var t=e.data,n=e.compressed;return void 0!==n&&n?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof m.a?{data:t.handle,dataType:"buffer"}:t instanceof S?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(e){var t=e.format,n=e.data,r=e.width,i=e.height,o=e.dataFormat,a=e.type,s=e.compressed,u=b.b[t];o=o||u&&u.dataFormat,a=a||u&&u.types[0],s=s||u&&u.compressed;var c=this._deduceImageSize(n,r,i);return{dataFormat:o,type:a,compressed:s,width:r=c.width,height:i=c.height,format:t,data:n}}},{key:"_deduceImageSize",value:function(e,t,n){var r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement?{width:e.width,height:e.height}:"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:n}:{width:t>=0?t:1,height:n>=0?n:1},Object(_.a)(r,"Could not deduced texture size"),Object(_.a)(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),Object(_.a)(void 0===n||r.height===n,"Deduced texture height does not match supplied height"),r}},{key:"_createHandle",value:function(){return this.gl.createTexture()}},{key:"_deleteHandle",value:function(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}},{key:"_getParameter",value:function(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);var t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}},{key:"_setParameter",value:function(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:Object(_.a)(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}},{key:"_isNPOT",value:function(){return!Object(v.j)(this.gl)&&(!(!this.width||!this.height)&&(!Object(O.b)(this.width)||!Object(O.b)(this.height)))}},{key:"_updateForNPOT",value:function(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}},{key:"_getNPOTParam",value:function(e,t){if(this._isNPOT())switch(e){case 10241:-1===P.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.format,r=t.linearFiltering,i=!0;return n&&(i=(i=i&&Object(b.d)(e,n))&&(!r||Object(b.e)(e,n))),i}}]),n}(y.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"i",(function(){return o})),n.d(t,"d",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"e",(function(){return u})),n.d(t,"h",(function(){return c})),n.d(t,"f",(function(){return l})),n.d(t,"g",(function(){return f})),n.d(t,"c",(function(){return h}));var r=n(14);function i(){var e=new r.a(9);return r.a!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function o(e,t){if(e===t){var n=t[1],r=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=n,e[5]=t[7],e[6]=r,e[7]=i}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function a(e,t){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*a-s*c,h=-l*o+s*u,d=c*o-a*u,p=n*f+r*h+i*d;return p?(p=1/p,e[0]=f*p,e[1]=(-l*r+i*c)*p,e[2]=(s*r-i*a)*p,e[3]=h*p,e[4]=(l*n-i*u)*p,e[5]=(-s*n+i*o)*p,e[6]=d*p,e[7]=(-c*n+r*u)*p,e[8]=(a*n-r*o)*p,e):null}function s(e){var t=e[0],n=e[1],r=e[2],i=e[3],o=e[4],a=e[5],s=e[6],u=e[7],c=e[8];return t*(c*o-a*u)+n*(-c*i+a*s)+r*(u*i-o*s)}function u(e,t,n){var r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],h=n[0],d=n[1],p=n[2],v=n[3],g=n[4],y=n[5],m=n[6],b=n[7],_=n[8];return e[0]=h*r+d*a+p*c,e[1]=h*i+d*s+p*l,e[2]=h*o+d*u+p*f,e[3]=v*r+g*a+y*c,e[4]=v*i+g*s+y*l,e[5]=v*o+g*u+y*f,e[6]=m*r+b*a+_*c,e[7]=m*i+b*s+_*l,e[8]=m*o+b*u+_*f,e}function c(e,t,n){var r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],h=n[0],d=n[1];return e[0]=r,e[1]=i,e[2]=o,e[3]=a,e[4]=s,e[5]=u,e[6]=h*r+d*a+c,e[7]=h*i+d*s+l,e[8]=h*o+d*u+f,e}function l(e,t,n){var r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],h=Math.sin(n),d=Math.cos(n);return e[0]=d*r+h*a,e[1]=d*i+h*s,e[2]=d*o+h*u,e[3]=d*a-h*r,e[4]=d*s-h*i,e[5]=d*u-h*o,e[6]=c,e[7]=l,e[8]=f,e}function f(e,t,n){var r=n[0],i=n[1];return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function h(e,t){var n=t[0],r=t[1],i=t[2],o=t[3],a=n+n,s=r+r,u=i+i,c=n*a,l=r*a,f=r*s,h=i*a,d=i*s,p=i*u,v=o*a,g=o*s,y=o*u;return e[0]=1-f-p,e[3]=l-y,e[6]=h+g,e[1]=l+y,e[4]=1-c-p,e[7]=d-v,e[2]=h-g,e[5]=d+v,e[8]=1-c-f,e}},function(t,n){t.exports=e},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));var r=n(12),i={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":n.n(r)()(process))&&process},o=i.window||i.self||i.global,a=i.process||{};console},function(e,t,n){"use strict";n.d(t,"a",(function(){return w}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(0),u=n.n(s),c=n(129),l=n(130);function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),u()(this,"ControllerState",void 0),u()(this,"controllerState",null),u()(this,"controllerStateProps",null),u()(this,"transitionManager",void 0),u()(this,"_transition",void 0),u()(this,"_events",null),u()(this,"eventManager",null),u()(this,"_interactionState",{isDragging:!1}),u()(this,"_customEvents",[]),u()(this,"onViewStateChange",null),u()(this,"onStateChange",null),u()(this,"makeViewport",void 0),u()(this,"_eventStartBlocked",void 0),u()(this,"_state",void 0),u()(this,"_panMove",void 0),u()(this,"invertPan",void 0),u()(this,"dragMode","rotate"),u()(this,"inertia",0),u()(this,"scrollZoom",!0),u()(this,"dragPan",!0),u()(this,"dragRotate",!0),u()(this,"doubleClickZoom",!0),u()(this,"touchZoom",!0),u()(this,"touchRotate",!1),u()(this,"keyboard",!0),this.ControllerState=t,this.transitionManager=new c.b(t,h(h({},n),{},{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));var r=this.linearTransitionProps;this._transition=r&&h(h({},p),{},{transitionInterpolator:new l.a({transitionProps:r})}),this.handleEvent=this.handleEvent.bind(this),this.setProps(n)}return a()(e,[{key:"linearTransitionProps",get:function(){return null}},{key:"events",set:function(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}},{key:"finalize",value:function(){for(var e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}},{key:"handleEvent",value:function(e){var t=this.ControllerState;this.controllerState=new t(h(h({makeViewport:this.makeViewport},this.controllerStateProps),this._state));var n=this._eventStartBlocked;switch(e.type){case"panstart":return!n&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!n&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!n&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}},{key:"getCenter",value:function(e){var t=this.controllerStateProps,n=t.x,r=t.y,i=e.offsetCenter;return[i.x-n,i.y-r]}},{key:"isPointInBounds",value:function(e,t){var n=this.controllerStateProps,r=n.width,i=n.height;if(t&&t.handled)return!1;var o=e[0]>=0&&e[0]<=r&&e[1]>=0&&e[1]<=i;return o&&t&&t.stopPropagation(),o}},{key:"isFunctionKeyPressed",value:function(e){var t=e.srcEvent;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}},{key:"isDragging",value:function(){return this._interactionState.isDragging}},{key:"blockEvents",value:function(e){var t=this,n=setTimeout((function(){t._eventStartBlocked===n&&(t._eventStartBlocked=null)}),e);this._eventStartBlocked=n}},{key:"setProps",value:function(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);var t=e.inertia;!0===t&&(t=300),this.inertia=t;var n=e.scrollZoom,r=void 0===n||n,i=e.dragPan,o=void 0===i||i,a=e.dragRotate,s=void 0===a||a,u=e.doubleClickZoom,c=void 0===u||u,l=e.touchZoom,f=void 0===l||l,h=e.touchRotate,d=void 0!==h&&h,p=e.keyboard,v=void 0===p||p,w=Boolean(this.onViewStateChange);this.toggleEvents(g,w&&r),this.toggleEvents(y,w&&(o||s)),this.toggleEvents(m,w&&(f||d)),this.toggleEvents(b,w&&d),this.toggleEvents(_,w&&c),this.toggleEvents(O,w&&v),this.scrollZoom=r,this.dragPan=o,this.dragRotate=s,this.doubleClickZoom=c,this.touchZoom=f,this.touchRotate=d,this.keyboard=v}},{key:"updateTransition",value:function(){this.transitionManager.updateTransition()}},{key:"toggleEvents",value:function(e,t){var n=this;this.eventManager&&e.forEach((function(e){n._events[e]!==t&&(n._events[e]=t,t?n.eventManager.on(e,n.handleEvent):n.eventManager.off(e,n.handleEvent))}))}},{key:"updateViewport",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=h(h({},e.getViewportProps()),t),i=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(n),i){var o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}},{key:"_onTransition",value:function(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}},{key:"_setInteractionState",value:function(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}},{key:"_onPanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);var r=this.controllerState[n?"panStart":"rotateStart"]({pos:t});return this._panMove=n,this.updateViewport(r,d,{isDragging:!0}),!0}},{key:"_onPan",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}},{key:"_onPanEnd",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}},{key:"_onPanMove",value:function(e){if(!this.dragPan)return!1;var t=this.getCenter(e),n=this.controllerState.pan({pos:t});return this.updateViewport(n,d,{isDragging:!0,isPanning:!0}),!0}},{key:"_onPanMoveEnd",value:function(e){var t=this.inertia;if(this.dragPan&&t&&e.velocity){var n=this.getCenter(e),r=[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2],i=this.controllerState.pan({pos:r}).panEnd();this.updateViewport(i,h(h({},this._getTransitionProps()),{},{transitionDuration:t,transitionEasing:v}),{isDragging:!1,isPanning:!0})}else{var o=this.controllerState.panEnd();this.updateViewport(o,null,{isDragging:!1,isPanning:!1})}return!0}},{key:"_onPanRotate",value:function(e){if(!this.dragRotate)return!1;var t=this.getCenter(e),n=this.controllerState.rotate({pos:t});return this.updateViewport(n,d,{isDragging:!0,isRotating:!0}),!0}},{key:"_onPanRotateEnd",value:function(e){var t=this.inertia;if(this.dragRotate&&t&&e.velocity){var n=this.getCenter(e),r=[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2],i=this.controllerState.rotate({pos:r}).rotateEnd();this.updateViewport(i,h(h({},this._getTransitionProps()),{},{transitionDuration:t,transitionEasing:v}),{isDragging:!1,isRotating:!0})}else{var o=this.controllerState.rotateEnd();this.updateViewport(o,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onWheel",value:function(e){if(!this.scrollZoom)return!1;e.preventDefault();var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.scrollZoom,r=n.speed,i=void 0===r?.01:r,o=n.smooth,a=void 0!==o&&o,s=e.delta,u=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==u&&(u=1/u);var c=this.controllerState.zoom({pos:t,scale:u});return this.updateViewport(c,h(h({},this._getTransitionProps({around:t})),{},{transitionDuration:a?250:1}),{isZooming:!0,isPanning:!0}),!0}},{key:"_onTriplePanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.rotateStart({pos:t});return this.updateViewport(n,d,{isDragging:!0}),!0}},{key:"_onTriplePan",value:function(e){if(!this.touchRotate)return!1;if(!this.isDragging())return!1;var t=this.getCenter(e);t[0]-=e.deltaX;var n=this.controllerState.rotate({pos:t});return this.updateViewport(n,d,{isDragging:!0,isRotating:!0}),!0}},{key:"_onTriplePanEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia;if(this.touchRotate&&t&&e.velocityY){var n=this.getCenter(e),r=[n[0],n[1]+=e.velocityY*t/2],i=this.controllerState.rotate({pos:r});this.updateViewport(i,h(h({},this._getTransitionProps()),{},{transitionDuration:t,transitionEasing:v}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{var o=this.controllerState.rotateEnd();this.updateViewport(o,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onPinchStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(n,d,{isDragging:!0}),!0}},{key:"_onPinch",value:function(e){if(!this.touchZoom&&!this.touchRotate)return!1;if(!this.isDragging())return!1;var t=this.controllerState;if(this.touchZoom){var n=e.scale,r=this.getCenter(e);t=t.zoom({pos:r,scale:n})}if(this.touchRotate){var i=e.rotation;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,d,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}},{key:"_onPinchEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia,n=this._lastPinchEvent;if(this.touchZoom&&t&&n&&e.scale!==n.scale){var r=this.getCenter(e),i=this.controllerState.rotateEnd(),o=Math.log2(e.scale),a=(o-Math.log2(n.scale))/(e.deltaTime-n.deltaTime),s=Math.pow(2,o+a*t/2);i=i.zoom({pos:r,scale:s}).zoomEnd(),this.updateViewport(i,h(h({},this._getTransitionProps({around:r})),{},{transitionDuration:t,transitionEasing:v}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{var u=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(u,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}},{key:"_onDoubleTap",value:function(e){if(!this.doubleClickZoom)return!1;var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:n?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}},{key:"_onKeyDown",value:function(e){if(!this.keyboard)return!1;var t,n=this.isFunctionKeyPressed(e),r=this.keyboard,i=r.zoomSpeed,o=r.moveSpeed,a=r.rotateSpeedX,s=r.rotateSpeedY,u=this.controllerState,c={};switch(e.srcEvent.code){case"Minus":t=n?u.zoomOut(i).zoomOut(i):u.zoomOut(i),c.isZooming=!0;break;case"Equal":t=n?u.zoomIn(i).zoomIn(i):u.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":n?(t=u.rotateLeft(a),c.isRotating=!0):(t=u.moveLeft(o),c.isPanning=!0);break;case"ArrowRight":n?(t=u.rotateRight(a),c.isRotating=!0):(t=u.moveRight(o),c.isPanning=!0);break;case"ArrowUp":n?(t=u.rotateUp(s),c.isRotating=!0):(t=u.moveUp(o),c.isPanning=!0);break;case"ArrowDown":n?(t=u.rotateDown(s),c.isRotating=!0):(t=u.moveDown(o),c.isPanning=!0);break;default:return!1}return this.updateViewport(t,this._getTransitionProps(),c),!0}},{key:"_getTransitionProps",value:function(e){var t=this._transition;return t?e?h(h({},t),{},{transitionInterpolator:new l.a(h(h({},e),{},{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:d}}]),e}()},function(e,t,n){"use strict";var r=n(12),i=n.n(r),o=n(0),a=n.n(o),s=n(1),u=n.n(s),c=n(3),l=n.n(c),f=n(46),h=/([0-9]+\.?[0-9]*)(%|px)/;function d(e){switch(i()(e)){case"number":return{position:e,relative:!1};case"string":var t=h.exec(e);if(t&&t.length>=3){var n="%"===t[2],r=parseFloat(t[1]);return{position:n?r/100:r,relative:n}}default:throw new Error("Could not parse position string ".concat(e))}}function p(e,t){return e.relative?Math.round(e.position*t):e.position}var v=n(71),g=n(40);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};u()(this,e);var n=t.id,r=void 0===n?null:n,i=t.x,o=void 0===i?0:i,a=t.y,s=void 0===a?0:a,c=t.width,l=void 0===c?"100%":c,h=t.height,d=void 0===h?"100%":h,p=t.viewportInstance,v=t.type,y=void 0===v?f.a:v;Object(g.a)(!p||p instanceof f.a),this.viewportInstance=p,this.id=r||this.constructor.displayName||"view",this.type=y,this.props=m(m({},t),{},{id:this.id}),this._parseDimensions({x:o,y:s,width:l,height:d}),this.equals=this.equals.bind(this),Object.seal(this)}return l()(e,[{key:"equals",value:function(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):Object(v.a)(this.props,e.props))}},{key:"makeViewport",value:function(e){var t=e.width,n=e.height,r=e.viewState;if(this.viewportInstance)return this.viewportInstance;r=this.filterViewState(r);var i=this.getDimensions({width:t,height:n});return this._getViewport(r,i)}},{key:"getViewStateId",value:function(){switch(i()(this.props.viewState)){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}},{key:"filterViewState",value:function(e){if(this.props.viewState&&"object"===i()(this.props.viewState)){if(!this.props.viewState.id)return this.props.viewState;var t=m({},e);for(var n in this.props.viewState)"id"!==n&&(t[n]=this.props.viewState[n]);return t}return e}},{key:"getDimensions",value:function(e){var t=e.width,n=e.height;return{x:p(this._x,t),y:p(this._y,n),width:p(this._width,t),height:p(this._height,n)}}},{key:"_getControllerProps",value:function(e){var t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),m(m({},e),t)):null}},{key:"_getViewport",value:function(e,t){return new(0,this.type)(m(m(m({},e),this.props),t))}},{key:"_parseDimensions",value:function(e){var t=e.x,n=e.y,r=e.width,i=e.height;this._x=d(t),this._y=d(n),this._width=d(r),this._height=d(i)}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(54),l=n(13);function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var h={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},d=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e);var n=t.id,r=void 0===n?Object(c.c)("geometry"):n,i=t.drawMode,o=void 0===i?h.TRIANGLES:i,s=t.attributes,u=void 0===s?{}:s,l=t.indices,f=void 0===l?null:l,d=t.vertexCount,p=void 0===d?null:d;this.id=r,this.drawMode=0|o,this.attributes={},this.userData={},this._setAttributes(u,f),this.vertexCount=p||this._calculateVertexCount(this.attributes,this.indices)}return u()(e,[{key:"mode",get:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?function(e){for(var t=1;t=1&&(n=Math.min(n,o.length/a))}return Object(l.a)(Number.isFinite(n)),n}}],[{key:"DRAW_MODE",get:function(){return h}}]),e}()},function(e,t,n){"use strict";function r(e,t){if(e===t)return!0;if(!e||!t)return!1;for(var n in e){var i=e[n],o=t[n];if(!(i===o||Array.isArray(i)&&Array.isArray(o)&&r(i,o)))return!1}return!0}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(26),i=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,o=/^([-\w.]+\/[-\w.+]+)/;function a(e){var t=i.exec(e);return t?t[1]:""}n.d(t,"b",(function(){return u})),n.d(t,"a",(function(){return c}));var s=/\?.*/;function u(e){if(Object(r.j)(e)){var t=l(e.url||""),n=e.headers.get("content-type")||"";return{url:t,type:(i=n,s=o.exec(i),(s?s[1]:i)||a(t))}}var i,s;return Object(r.b)(e)?{url:l(e.name||""),type:e.type||""}:"string"==typeof e?{url:l(e),type:a(e)}:{url:"",type:""}}function c(e){return Object(r.j)(e)?e.headers["content-length"]||-1:Object(r.b)(e)?e.size:"string"==typeof e?e.length:e instanceof ArrayBuffer?e.byteLength:ArrayBuffer.isView(e)?e.byteLength:-1}function l(e){return e.replace(s,"")}},function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var r=n(238),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(63),l=n(13),f=n(133),h={offset:0,stride:0,type:5126,size:1,divisor:0,normalized:!1,integer:!1},d={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},p=function(){function e(){var t=this;a()(this,e);for(var n=arguments.length,r=new Array(n),i=0;i0&&void 0!==arguments[0]?arguments[0]:{};return void 0!==(e=Object(f.a)("Accessor",e,d)).type&&(this.type=e.type,5124!==e.type&&5125!==e.type||(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&("boolean"==typeof e.index?this.index=e.index?1:0:this.index=e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}],[{key:"getBytesPerElement",value:function(e){return Object(c.c)(e.type||5126).BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(e){return Object(l.a)(e.size),Object(c.c)(e.type||5126).BYTES_PER_ELEMENT*e.size}},{key:"resolve",value:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return i()(this,n),e=t.call(this,-0,-0,-0),1===arguments.length&&Object(p.f)(r)?e.copy(r):(p.b.debug&&(Object(v.a)(r),Object(v.a)(o),Object(v.a)(a)),e[0]=r,e[1]=o,e[2]=a),e}return a()(n,[{key:"set",value:function(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return p.b.debug&&(Object(v.a)(e.x),Object(v.a)(e.y),Object(v.a)(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=Object(v.a)(e)}},{key:"angle",value:function(e){return g.b(this,e)}},{key:"cross",value:function(e){return g.d(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,n=e.origin,r=void 0===n?b:n;return g.n(this,this,r,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,n=e.origin,r=void 0===n?b:n;return g.o(this,this,r,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,n=e.origin,r=void 0===n?b:n;return g.p(this,this,r,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return g.t(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return Object(y.c)(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return g.s(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return Object(y.b)(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return g.u(this,this,e),this.check()}}],[{key:"ZERO",get:function(){return _.ZERO=_.ZERO||Object.freeze(new n(0,0,0,0))}}]),n}(d.a)},function(e,t,n){"use strict";n.r(t);var r=n(101),i=n(8),o=n.n(i),a=n(4),s=n.n(a),u=n(23);function c(e,t,n){return l.apply(this,arguments)}function l(){return(l=o()(s.a.mark((function e(t,n,r){var i;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("number"!=typeof t){e.next=4;break}return e.next=3,u.a._readToArrayBuffer(t,n,r);case 3:return e.abrupt("return",e.sent);case 4:return t instanceof Blob||(t=new Blob([t])),i=t.slice(n,n+r),e.next=8,f(i);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function f(e){return h.apply(this,arguments)}function h(){return(h=o()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise((function(e,n){var r=new FileReader;r.onload=function(t){var n;return e(null==t?void 0:null===(n=t.target)||void 0===n?void 0:n.result)},r.onerror=function(e){return n(e)},r.readAsArrayBuffer(t)}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var d=n(98),p=n(94),v=n(87),g=n(104);function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e=Object(d.b)(e),!p.c){var n=u.a.readFileSync(e,t);return"string"!=typeof n?Object(v.d)(n):n}return t.nothrow||Object(g.a)(!1),null}var m=n(99);function b(e,t,n){return _.apply(this,arguments)}function _(){return(_=o()(s.a.mark((function e(t,n,r){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=Object(d.b)(t),p.c){e.next=4;break}return e.next=4,u.a.writeFile(t,Object(m.c)(n),{flag:"w"});case 4:Object(g.a)(!1);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function O(e,t,n){e=Object(d.b)(e),p.c||u.a.writeFileSync(e,Object(m.c)(t),{flag:"w"}),Object(g.a)(!1)}var w=n(47);function x(e){Object(w.d)(e)}var A=n(109),P=n(88),S=n(103),k=n(12),C=n.n(k),j=n(53),E=n(121),T=n(96),M=n(72);function B(e,t,n,r){Object(g.a)(!r||"object"===C()(r)),Array.isArray(t)||Object(j.a)(t)||(r=void 0,n=t,t=void 0),n=n||{};var i=t,o=Object(T.b)(i,r),a=Object(P.b)(e,o,n);if(!a)return null;n=Object(w.c)(n,a,o);var s=Object(M.b)(e).url;return function(e,t,n,r){if(t=Object(E.b)(t,e,n),e.parseTextSync&&"string"==typeof t)return e.parseTextSync(t,n);if(e.parseSync&&t instanceof ArrayBuffer)return e.parseSync(t,n,r);throw new Error("".concat(e.name," loader: 'parseSync' not supported by this loader, use 'parse' instead. ").concat(r.url||""))}(a,e,n,r=Object(T.a)({url:s,parseSync:B,parse:function(){throw new Error("parseSync called parse")},loaders:t},n))}var I=n(0),R=n.n(I),L=n(55),D=n.n(L),F=n(38),N=n.n(F),U=n(41),z=n.n(U),G=n(246),V=n.n(G),H=n(149);function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function J(e){for(var t=1;t1&&void 0!==f[1]?f[1]:[],r=t,i=!1,o=!1,e.prev=4,u=z()(n);case 6:return e.next=8,u.next();case 8:if(!(i=!(c=e.sent).done)){e.next=14;break}l=c.value,r=l(r);case 11:i=!1,e.next=6;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(4),o=!0,a=e.t0;case 20:if(e.prev=20,e.prev=21,!i||null==u.return){e.next=25;break}return e.next=25,u.return();case 25:if(e.prev=25,!o){e.next=28;break}throw a;case 28:return e.finish(25);case 29:return e.finish(20);case 30:return e.abrupt("return",r);case 31:case"end":return e.stop()}}),e,null,[[4,16,20,30],[21,,25,29]])})))).apply(this,arguments)}var ee=n(212);function te(e,t,n,r){Array.isArray(t)||Object(j.a)(t)||(void 0,n=t,t=null);var i=Object(w.a)(n||{});return Array.isArray(e)?e.map((function(e){return ne(e,t,n,i)})):ne(e,t,n,i)}function ne(e,t,n,r){return re.apply(this,arguments)}function re(){return(re=o()(s.a.mark((function e(t,n,r,i){var o,a;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=8;break}return o=t,e.next=4,i(o);case 4:return a=e.sent,e.next=7,X(a,n,r);case 7:return e.abrupt("return",e.sent);case 8:return e.next=10,X(t,n,r);case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ie(e,t,n){return oe.apply(this,arguments)}function oe(){return(oe=o()(s.a.mark((function e(t,n,i){var o,a,u,c,l,f,h,d,g,y,m,_;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n.encode){e.next=4;break}return e.next=3,n.encode(t,i);case 3:return e.abrupt("return",e.sent);case 4:if(!n.encodeSync){e.next=6;break}return e.abrupt("return",n.encodeSync(t,i));case 6:if(!n.encodeText){e.next=12;break}return e.t0=new TextEncoder,e.next=10,n.encodeText(t,i);case 10:return e.t1=e.sent,e.abrupt("return",e.t0.encode.call(e.t0,e.t1));case 12:if(!n.encodeInBatches){e.next=44;break}o=ce(t,n,i),a=[],u=!1,c=!1,e.prev=17,f=z()(o);case 19:return e.next=21,f.next();case 21:if(!(u=!(h=e.sent).done)){e.next=27;break}d=h.value,a.push(d);case 24:u=!1,e.next=19;break;case 27:e.next=33;break;case 29:e.prev=29,e.t2=e.catch(17),c=!0,l=e.t2;case 33:if(e.prev=33,e.prev=34,!u||null==f.return){e.next=38;break}return e.next=38,f.return();case 38:if(e.prev=38,!c){e.next=41;break}throw l;case 41:return e.finish(38);case 42:return e.finish(33);case 43:return e.abrupt("return",v.b.apply(void 0,a));case 44:if(p.c||!n.encodeURLtoURL){e.next=56;break}return g=he("input"),e.next=48,b(g,t);case 48:return y=he("output"),e.next=51,le(g,y,n,i);case 51:return m=e.sent,e.next=54,Object(r.a)(m);case 54:return _=e.sent,e.abrupt("return",_.arrayBuffer());case 56:throw new Error("Writer could not encode data");case 57:case"end":return e.stop()}}),e,null,[[17,29,33,43],[34,,38,42]])})))).apply(this,arguments)}function ae(e,t,n){if(t.encodeSync)return t.encodeSync(e,n);throw new Error("Writer could not synchronously encode data")}function se(e,t,n){return ue.apply(this,arguments)}function ue(){return(ue=o()(s.a.mark((function e(t,n,r){var i;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n.text||!n.encodeText){e.next=4;break}return e.next=3,n.encodeText(t,r);case 3:return e.abrupt("return",e.sent);case 4:if(!n.text||!n.encode&&!n.encodeInBatches){e.next=9;break}return e.next=7,ie(t,n,r);case 7:return i=e.sent,e.abrupt("return",(new TextDecoder).decode(i));case 9:throw new Error("Writer could not encode data as text");case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ce(e,t,n){if(t.encodeInBatches){var r=function(e){return[{table:e,start:0,end:e.length}]}(e);return t.encodeInBatches(r,n)}throw new Error("Writer could not encode data in batches")}function le(e,t,n,r){return fe.apply(this,arguments)}function fe(){return(fe=o()(s.a.mark((function e(t,n,r,i){var o;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=Object(d.b)(t),n=Object(d.b)(n),!p.c&&r.encodeURLtoURL){e.next=4;break}throw new Error;case 4:return e.next=6,r.encodeURLtoURL(t,n,i);case 6:return o=e.sent,e.abrupt("return",o);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function he(e){return"/tmp/".concat(e)}function de(e,t,n,r){return pe.apply(this,arguments)}function pe(){return(pe=o()(s.a.mark((function e(t,n,r,i){var o;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ie(t,r,i);case 2:return o=e.sent,e.next=5,b(n,o);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ve(e,t,n,r){return O(t,ae(e,n,r))}var ge=n(217),ye=n(122);function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function be(e,t){var n=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new ReadableStream({type:"bytes",pull:function(e){return o()(s.a.mark((function t(){var r,i,o;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,n.next();case 3:r=t.sent,i=r.done,o=r.value,i?e.close():e.enqueue(new Uint8Array(o)),t.next=12;break;case 9:t.prev=9,t.t0=t.catch(0),e.error(t.t0);case 12:case"end":return t.stop()}}),t,null,[[0,9]])})))()},cancel:function(){return o()(s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==n?void 0:null===(t=n.return)||void 0===t?void 0:t.call(n);case 2:case"end":return e.stop()}}),e)})))()}},function(e){for(var t=1;t2&&void 0!==f[2]?f[2]:function(){},i=f.length>3&&void 0!==f[3]?f[3]:function(){},e.next=4,t;case 4:if((t=e.sent).ok){e.next=7;break}return e.abrupt("return",t);case 7:if(a=t.body){e.next=10;break}return e.abrupt("return",t);case 10:if(u=t.headers.get("content-length")||0,c=u&&parseInt(u),u>0){e.next=14;break}return e.abrupt("return",t);case 14:if("undefined"!=typeof ReadableStream&&a.getReader){e.next=16;break}return e.abrupt("return",t);case 16:return l=new ReadableStream({start:function(e){return o()(s.a.mark((function t(){var o;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=a.getReader(),t.next=3,ke(e,o,0,c,n,r,i);case 3:case"end":return t.stop()}}),t)})))()}}),e.abrupt("return",new Response(l));case 18:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ke(e,t,n,r,i,o,a){return Ce.apply(this,arguments)}function Ce(){return(Ce=o()(s.a.mark((function e(t,n,r,i,o,a,u){var c,l,f,h;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,n.read();case 3:if(c=e.sent,l=c.done,f=c.value,!l){e.next=10;break}return a(),t.close(),e.abrupt("return");case 10:return r+=f.byteLength,h=Math.round(r/i*100),o(h,{loadedBytes:r,totalBytes:i}),t.enqueue(f),e.next=16,ke(t,n,r,i,o,a,u);case 16:e.next=22;break;case 18:e.prev=18,e.t0=e.catch(0),t.error(e.t0),u(e.t0);case 22:case"end":return e.stop()}}),e,null,[[0,18]])})))).apply(this,arguments)}var je=n(1),Ee=n.n(je),Te=n(3),Me=n.n(Te),Be=n(5),Ie=function(){function e(t,n){Ee()(this,e),Object(Be.a)(this,"_fetch",void 0),Object(Be.a)(this,"files",{}),Object(Be.a)(this,"lowerCaseFiles",{}),Object(Be.a)(this,"usedFiles",{}),this._fetch=(null==n?void 0:n.fetch)||fetch;for(var r=0;r2&&void 0!==u[2]&&u[2],r=u.length>3&&void 0!==u[3]?u[3]:n.byteLength,u.length>4&&void 0!==u[4]&&u[4],i=t,o=0,e.next=7,i.slice(o,o+r).arrayBuffer();case 7:return a=e.sent,e.abrupt("return",{bytesRead:r,buffer:a});case 9:case"end":return e.stop()}}),e)}))),function(e,t){return n.apply(this,arguments)})},{key:"close",value:(t=o()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"_getFile",value:function(e,t){var n=this.files[e]||this.lowerCaseFiles[e];return n&&t&&(this.usedFiles[e]=!0),n}}]),e}(),Re=n(127),Le=n(26);n.d(t,"fetchFile",(function(){return r.a})),n.d(t,"readArrayBuffer",(function(){return c})),n.d(t,"readFileSync",(function(){return y})),n.d(t,"writeFile",(function(){return b})),n.d(t,"writeFileSync",(function(){return O})),n.d(t,"setLoaderOptions",(function(){return x})),n.d(t,"registerLoaders",(function(){return A.c})),n.d(t,"selectLoader",(function(){return P.a})),n.d(t,"selectLoaderSync",(function(){return P.b})),n.d(t,"parse",(function(){return S.a})),n.d(t,"parseSync",(function(){return B})),n.d(t,"parseInBatches",(function(){return X})),n.d(t,"load",(function(){return ee.a})),n.d(t,"loadInBatches",(function(){return te})),n.d(t,"encode",(function(){return ie})),n.d(t,"encodeSync",(function(){return ae})),n.d(t,"encodeInBatches",(function(){return ce})),n.d(t,"encodeText",(function(){return se})),n.d(t,"encodeURLtoURL",(function(){return le})),n.d(t,"save",(function(){return de})),n.d(t,"saveSync",(function(){return ve})),n.d(t,"setPathPrefix",(function(){return d.c})),n.d(t,"getPathPrefix",(function(){return d.a})),n.d(t,"resolvePath",(function(){return d.b})),n.d(t,"RequestScheduler",(function(){return ge.a})),n.d(t,"makeIterator",(function(){return ye.a})),n.d(t,"makeStream",(function(){return be})),n.d(t,"NullWorkerLoader",(function(){return we})),n.d(t,"NullLoader",(function(){return xe})),n.d(t,"JSONLoader",(function(){return Ae.a})),n.d(t,"_fetchProgress",(function(){return Pe})),n.d(t,"_BrowserFileSystem",(function(){return Ie})),n.d(t,"_unregisterLoaders",(function(){return A.a})),n.d(t,"isBrowser",(function(){return p.c})),n.d(t,"isWorker",(function(){return p.d})),n.d(t,"self",(function(){return p.e})),n.d(t,"window",(function(){return p.f})),n.d(t,"global",(function(){return p.b})),n.d(t,"document",(function(){return p.a})),n.d(t,"assert",(function(){return g.a})),n.d(t,"forEach",(function(){return H.b})),n.d(t,"concatenateArrayBuffersAsync",(function(){return H.a})),n.d(t,"makeTextDecoderIterator",(function(){return Re.c})),n.d(t,"makeTextEncoderIterator",(function(){return Re.d})),n.d(t,"makeLineIterator",(function(){return Re.a})),n.d(t,"makeNumberedLineIterator",(function(){return Re.b})),n.d(t,"isPureObject",(function(){return Le.h})),n.d(t,"isPromise",(function(){return Le.g})),n.d(t,"isIterable",(function(){return Le.d})),n.d(t,"isAsyncIterable",(function(){return Le.a})),n.d(t,"isIterator",(function(){return Le.e})),n.d(t,"isResponse",(function(){return Le.j})),n.d(t,"isReadableStream",(function(){return Le.i})),n.d(t,"isWritableStream",(function(){return Le.k}))},function(e,t,n){"use strict";n.r(t);var r=n(231),i=n(11),o=n.n(i),a=n(0),s=n.n(a),u=n(1),c=n.n(u),l=n(3),f=n.n(l),h=n(9),d=n.n(h),p=n(6),v=n.n(p),g=n(7),y=n.n(g),m=n(2),b=n.n(m),_=n(18),O=n(215),w=n(235),x=n(155),A=n(179),P=n(70),S=n(24),k=n(15),C=new Uint16Array([0,2,1,0,3,2]),j=new Float32Array([0,1,0,0,1,0,1,1]);function E(e,t){if(!t)return function(e){for(var t=new Float64Array(12),n=0;n0&&p>0&&(s[f++]=l-o,s[f++]=l-o-1,s[f++]=l-1,s[f++]=l-o,s[f++]=l-1,s[f++]=l),l++}return{vertexCount:a,positions:c,indices:s,texCoords:u}}function T(e,t,n){return Object(k.g)(Object(k.g)(e[0],e[1],n),Object(k.g)(e[3],e[2],n),t)}var M="\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\n\n// apply desaturation\nvec3 color_desaturate(vec3 color) {\n float luminance = (color.r + color.g + color.b) * 0.333333333;\n return mix(color, vec3(luminance), desaturate);\n}\n\n// apply tint\nvec3 color_tint(vec3 color) {\n return color * tintColor;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n return mix(transparentColor, vec4(color, 1.0), alpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n".concat("\nvec3 packUVsIntoRGB(vec2 uv) {\n // Extract the top 8 bits. We want values to be truncated down so we can add a fraction\n vec2 uv8bit = floor(uv * 256.);\n\n // Calculate the normalized remainders of u and v parts that do not fit into 8 bits\n // Scale and clamp to 0-1 range\n vec2 uvFraction = fract(uv * 256.);\n vec2 uvFraction4bit = floor(uvFraction * 16.);\n\n // Remainder can be encoded in blue channel, encode as 4 bits for pixel coordinates\n float fractions = uvFraction4bit.x + uvFraction4bit.y * 16.;\n\n return vec3(uv8bit, fractions) / 255.;\n}\n","\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture2D(bitmapTexture, uv);\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n\n if (picking_uActive) {\n // Since instance information is not used, we can use picking color for pixel index\n gl_FragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n");function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n",fs:M,modules:[O.a,w.a]})}},{key:"initializeState",value:function(){var e=this,t=this.getAttributeManager();t.remove(["instancePickingColors"]);t.add({indices:{size:1,isIndexed:!0,update:function(t){return t.value=e.state.mesh.indices},noAlloc:!0},positions:{size:3,type:5130,fp64:this.use64bitPositions(),update:function(t){return t.value=e.state.mesh.positions},noAlloc:!0},texCoords:{size:2,update:function(t){return t.value=e.state.mesh.texCoords},noAlloc:!0}})}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps;if(e.changeFlags.extensionsChanged){var r,i=this.context.gl;null===(r=this.state.model)||void 0===r||r.delete(),this.state.model=this._getModel(i),this.getAttributeManager().invalidateAll()}var o=this.getAttributeManager();if(t.bounds!==n.bounds){var a=this.state.mesh,s=this._createMesh();for(var u in this.state.model.setVertexCount(s.vertexCount),s)a&&a[u]!==s[u]&&o.invalidate(u);this.setState(I({mesh:s},this._getCoordinateUniforms()))}else t._imageCoordinateSystem!==n._imageCoordinateSystem&&this.setState(this._getCoordinateUniforms())}},{key:"getPickingInfo",value:function(e){var t=e.info,n=this.props.image;if(!t.color||!n)return t.bitmap=null,t;var r=n.width,i=n.height;t.index=0;var a,s,u,c,l,f=(a=t.color,s=o()(a,3),u=s[0],c=s[1],l=s[2],[(u+(15&l)/16)/256,(c+(240&l)/256)/256]),h=[Math.floor(f[0]*r),Math.floor(f[1]*i)];return t.bitmap={size:{width:r,height:i},uv:f,pixel:h},t}},{key:"disablePickingIndex",value:function(){this.setState({disablePicking:!0})}},{key:"restorePickingColors",value:function(){this.setState({disablePicking:!1})}},{key:"_updateAutoHighlight",value:function(e){d()(b()(n.prototype),"_updateAutoHighlight",this).call(this,I(I({},e),{},{color:this.encodePickingColor(0)}))}},{key:"_createMesh",value:function(){var e=this.props.bounds,t=e;return Number.isFinite(e[0])&&(t=[[e[0],e[1]],[e[0],e[3]],[e[2],e[3]],[e[2],e[1]]]),E(t,this.context.viewport.resolution)}},{key:"_getModel",value:function(e){return e?new A.a(e,I(I({},this.getShaders()),{},{id:this.props.id,geometry:new P.a({drawMode:4,vertexCount:6}),isInstanced:!1})):null}},{key:"draw",value:function(e){var t=e.uniforms,n=e.moduleParameters,r=this.state,i=r.model,o=r.coordinateConversion,a=r.bounds,s=r.disablePicking,u=this.props,c=u.image,l=u.desaturate,f=u.transparentColor,h=u.tintColor;n.pickingActive&&s||c&&i&&i.setUniforms(t).setUniforms({bitmapTexture:c,desaturate:l,transparentColor:f.map((function(e){return e/255})),tintColor:h.slice(0,3).map((function(e){return e/255})),coordinateConversion:o,bounds:a}).draw()}},{key:"_getCoordinateUniforms",value:function(){var e=_.a.LNGLAT,t=_.a.CARTESIAN,n=_.a.DEFAULT,r=this.props._imageCoordinateSystem;if(r!==n){var i=this.props.bounds;if(!Number.isFinite(i[0]))throw new Error("_imageCoordinateSystem only supports rectangular bounds");var o=this.context.viewport.resolution?e:t;if((r=r===e?e:t)===e&&o===t)return{coordinateConversion:-1,bounds:i};if(r===t&&o===e){var a=Object(S.l)([i[0],i[1]]),s=Object(S.l)([i[2],i[3]]);return{coordinateConversion:1,bounds:[a[0],a[1],s[0],s[1]]}}}return{coordinateConversion:0,bounds:[0,0,0,0]}}}]),n}(x.a);D.layerName="BitmapLayer",D.defaultProps=L;var F=n(115),N=n(232),U=n(233),z=n(159),G=n(157),V=n(219),H=n(114),W=n(220),J=n(230),X=n(158),K=n(113),q=n(162),Z=n(160);n.d(t,"ArcLayer",(function(){return r.a})),n.d(t,"BitmapLayer",(function(){return D})),n.d(t,"IconLayer",(function(){return F.a})),n.d(t,"LineLayer",(function(){return N.a})),n.d(t,"PointCloudLayer",(function(){return U.a})),n.d(t,"ScatterplotLayer",(function(){return z.a})),n.d(t,"ColumnLayer",(function(){return G.a})),n.d(t,"GridCellLayer",(function(){return V.a})),n.d(t,"PathLayer",(function(){return H.a})),n.d(t,"PolygonLayer",(function(){return W.a})),n.d(t,"GeoJsonLayer",(function(){return J.a})),n.d(t,"TextLayer",(function(){return X.a})),n.d(t,"SolidPolygonLayer",(function(){return K.a})),n.d(t,"_MultiIconLayer",(function(){return q.a})),n.d(t,"_TextBackgroundLayer",(function(){return Z.a}))},function(e,t,n){"use strict";function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0};return Array.isArray(e)?i(e,t,[]):t(e)?[e]:[]}function i(e,t,n){for(var r=-1;++rr&&(i=r);var o=this._pool,a=e.BYTES_PER_ELEMENT*i,s=o.findIndex((function(e){return e.byteLength>=a}));if(s>=0){var u=new e(o.splice(s,1)[0],0,i);return n&&u.fill(0),u}return new e(i)}},{key:"_release",value:function(e){if(ArrayBuffer.isView(e)){var t=this._pool,n=e.buffer,r=n.byteLength,i=t.findIndex((function(e){return e.byteLength>=r}));i<0?t.push(n):(i>0||t.lengththis.props.poolSize&&t.shift()}}}]),e}();t.a=new s},function(e,t,n){"use strict";n.d(t,"a",(function(){return b}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(6),u=n.n(s),c=n(7),l=n.n(c),f=n(2),h=n.n(f),d=n(173),p=n(10),v=n(181);function g(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},i=function i(o,a){var s,u=o.props._offset,c=o.id,l=o.parent&&o.parent.id;if(!l||l in n||i(o.parent,!1),l in r){var f=r[l]=r[l]||e(n[l],n);s=f(o,a),r[c]=f}else Number.isFinite(u)?(s=u+(n[l]||0),r[c]=null):s=t;return a&&s>=t&&(t=s+1),n[c]=s,s};return i}(),c={layer:n[0],viewport:e,isPicking:r.startsWith("picking"),renderPass:r},l={},f=0;f0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e),u()(this,"id",void 0),u()(this,"props",void 0),u()(this,"useInPicking",void 0);var n=t.id,r=void 0===n?"effect":n;this.id=r,this.props=l({},t),this.useInPicking=!1}return a()(e,[{key:"preRender",value:function(){}},{key:"getModuleParameters",value:function(e){}},{key:"cleanup",value:function(){}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return B}));var r=n(0),i=n.n(r),o=n(11),a=n.n(o),s=n(1),u=n.n(s),c=n(3),l=n.n(c),f=n(20),h=n.n(f),d=n(9),p=n.n(d),v=n(6),g=n.n(v),y=n(7),m=n.n(y),b=n(2),_=n.n(b),O=n(10),w=n(43),x=n(105),A=n(107),P=n(181),S=n(199),k=n(253),C=n(56),j=n(13);function E(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return T(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return u()(this,n),(r=t.call(this,e,i)).width=null,r.height=null,r.attachments={},r.readBuffer=36064,r.drawBuffers=[36064],r.ownResources=[],r.initialize(i),Object.seal(h()(r)),r}return l()(n,[{key:"MAX_COLOR_ATTACHMENTS",get:function(){var e=Object(O.a)(this.gl);return e.getParameter(e.MAX_COLOR_ATTACHMENTS)}},{key:"MAX_DRAW_BUFFERS",get:function(){var e=Object(O.a)(this.gl);return e.getParameter(e.MAX_DRAW_BUFFERS)}},{key:"color",get:function(){return this.attachments[36064]||null}},{key:"texture",get:function(){return this.attachments[36064]||null}},{key:"depth",get:function(){return this.attachments[36096]||this.attachments[33306]||null}},{key:"stencil",get:function(){return this.attachments[36128]||this.attachments[33306]||null}},{key:"initialize",value:function(e){var t=e.width,n=void 0===t?1:t,r=e.height,i=void 0===r?1:r,o=e.attachments,a=void 0===o?null:o,s=e.color,u=void 0===s||s,c=e.depth,l=void 0===c||c,f=e.stencil,h=void 0!==f&&f,d=e.check,p=void 0===d||d,v=e.readBuffer,g=void 0===v?void 0:v,y=e.drawBuffers,m=void 0===y?void 0:y;if(Object(j.a)(n>=0&&i>=0,"Width and height need to be integers"),this.width=n,this.height=i,a)for(var b in a){var _=a[b];(Array.isArray(_)?_[0]:_).resize({width:n,height:i})}else a=this._createDefaultAttachments(u,l,h,n,i);this.update({clearAttachments:!0,attachments:a,readBuffer:g,drawBuffers:m}),a&&p&&this.checkStatus()}},{key:"delete",value:function(){var e,t=E(this.ownResources);try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(e){t.e(e)}finally{t.f()}return p()(_()(n.prototype),"delete",this).call(this),this}},{key:"update",value:function(e){var t=e.attachments,n=void 0===t?{}:t,r=e.readBuffer,i=e.drawBuffers,o=e.clearAttachments,a=void 0!==o&&o,s=e.resizeAttachments,u=void 0===s||s;this.attach(n,{clearAttachments:a,resizeAttachments:u});var c=this.gl,l=c.bindFramebuffer(36160,this.handle);return r&&this._setReadBuffer(r),i&&this._setDrawBuffers(i),c.bindFramebuffer(36160,l||null),this}},{key:"resize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.width,n=e.height;if(null===this.handle)return Object(j.a)(void 0===t&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;for(var r in void 0===t&&(t=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),t!==this.width&&n!==this.height&&O.k.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(t,"x").concat(n))(),this.attachments)this.attachments[r].resize({width:t,height:n});return this.width=t,this.height=n,this}},{key:"attach",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.clearAttachments,i=void 0!==r&&r,o=n.resizeAttachments,s=void 0===o||o,u={};i&&Object.keys(this.attachments).forEach((function(e){u[e]=null})),Object.assign(u,e);var c=this.gl.bindFramebuffer(36160,this.handle);for(var l in u){Object(j.a)(void 0!==l,"Misspelled framebuffer binding point?");var f=Number(l),h=u[f],d=h;if(d)if(d instanceof A.a)this._attachRenderbuffer({attachment:f,renderbuffer:d});else if(Array.isArray(h)){var p=a()(h,3),v=p[0],g=p[1],y=void 0===g?0:g,m=p[2],b=void 0===m?0:m;d=v,this._attachTexture({attachment:f,texture:v,layer:y,level:b})}else this._attachTexture({attachment:f,texture:d,layer:0,level:0});else this._unattach(f);s&&d&&d.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,c||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter((function(e){return!t.attachments[e]})).forEach((function(e){delete t.attachments[e]}))}},{key:"checkStatus",value:function(){this.gl;var e=this.getStatus();if(36053!==e)throw new Error(I(e));return this}},{key:"getStatus",value:function(){var e=this.gl,t=e.bindFramebuffer(36160,this.handle),n=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),n}},{key:"clear",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.color,r=t.depth,i=t.stencil,o=t.drawBuffers,a=void 0===o?[]:o,s=this.gl.bindFramebuffer(36160,this.handle);return(n||r||i)&&Object(P.a)(this.gl,{color:n,depth:r,stencil:i}),a.forEach((function(t,n){Object(P.b)(e.gl,{drawBuffer:n,value:t})})),this.gl.bindFramebuffer(36160,s||null),this}},{key:"readPixels",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}},{key:"readPixelsToBuffer",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}},{key:"copyToDataUrl",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}},{key:"copyToImage",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}},{key:"copyToTexture",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"blit",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}},{key:"invalidate",value:function(e){var t=e.attachments,n=void 0===t?[]:t,r=e.x,i=void 0===r?0:r,o=e.y,a=void 0===o?0:o,s=e.width,u=e.height,c=Object(O.a)(this.gl),l=c.bindFramebuffer(36008,this.handle);return 0===i&&0===a&&void 0===s&&void 0===u?c.invalidateFramebuffer(36008,n):c.invalidateFramebuffer(36008,n,i,a,s,u),c.bindFramebuffer(36008,l),this}},{key:"getAttachmentParameter",value:function(e,t,n){var r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),n&&r>1e3&&(r=Object(C.a)(this.gl,r)),r}},{key:"getAttachmentParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:36064,n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],i={},o=E(r);try{for(o.s();!(e=o.n()).done;){var a=e.value,s=n?Object(C.a)(this.gl,a):a;i[s]=this.getAttachmentParameter(t,a,n)}}catch(e){o.e(e)}finally{o.f()}return i}},{key:"getParameters",value:function(){for(var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=Object.keys(this.attachments),n={},r=0,i=t;r0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(e>O.k.level||"undefined"==typeof window)return this;t=t||"Framebuffer ".concat(this.id);var n=Object(S.a)(this,{targetMaxHeight:100});return O.k.image({logLevel:e,message:t,image:n},t)(),this}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,null),this}},{key:"_createDefaultAttachments",value:function(e,t,n,r,o){var a,s=null;e&&((s=s||{})[36064]=new x.a(this.gl,{id:"".concat(this.id,"-color0"),pixels:null,format:6408,type:5121,width:r,height:o,mipmaps:!1,parameters:(a={},i()(a,10241,9729),i()(a,10240,9729),i()(a,10242,33071),i()(a,10243,33071),a)}),this.ownResources.push(s[36064]));return t&&n?((s=s||{})[33306]=new A.a(this.gl,{id:"".concat(this.id,"-depth-stencil"),format:35056,width:r,height:111}),this.ownResources.push(s[33306])):t?((s=s||{})[36096]=new A.a(this.gl,{id:"".concat(this.id,"-depth"),format:33189,width:r,height:o}),this.ownResources.push(s[36096])):n&&Object(j.a)(!1),s}},{key:"_unattach",value:function(e){var t=this.attachments[e];t&&(t instanceof A.a?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}},{key:"_attachRenderbuffer",value:function(e){var t=e.attachment,n=void 0===t?36064:t,r=e.renderbuffer;this.gl.framebufferRenderbuffer(36160,n,36161,r.handle),this.attachments[n]=r}},{key:"_attachTexture",value:function(e){var t=e.attachment,n=void 0===t?36064:t,r=e.texture,i=e.layer,o=e.level,a=this.gl;switch(a.bindTexture(r.target,r.handle),r.target){case 35866:case 32879:Object(O.a)(a).framebufferTextureLayer(36160,n,r.target,o,i);break;case 34067:var s=function(e){return e<34069?e+34069:e}(i);a.framebufferTexture2D(36160,n,s,r.handle,o);break;case 3553:a.framebufferTexture2D(36160,n,3553,r.handle,o);break;default:Object(j.a)(!1,"Illegal texture type")}a.bindTexture(r.target,null),this.attachments[n]=r}},{key:"_setReadBuffer",value:function(e){var t=Object(O.g)(this.gl);t?t.readBuffer(e):Object(j.a)(36064===e||1029===e,"Multiple render targets not supported"),this.readBuffer=e}},{key:"_setDrawBuffers",value:function(e){var t=this.gl,n=Object(O.a)(t);if(n)n.drawBuffers(e);else{var r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):Object(j.a)(1===e.length&&(36064===e[0]||1029===e[0]),"Multiple render targets not supported")}this.drawBuffers=e}},{key:"_getAttachmentParameterFallback",value:function(e){var t=Object(k.a)(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}},{key:"_createHandle",value:function(){return this.gl.createFramebuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteFramebuffer(this.handle)}},{key:"_bindHandle",value:function(e){return this.gl.bindFramebuffer(36160,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.colorBufferFloat,r=t.colorBufferHalfFloat,i=!0;return n&&(i=Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("WEBGL_color_buffer_float")||e.getExtension("OES_texture_float"))),r&&(i=i&&Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("EXT_color_buffer_half_float"))),i}},{key:"getDefaultFramebuffer",value:function(e){return e.luma=e.luma||{},e.luma.defaultFramebuffer=e.luma.defaultFramebuffer||new n(e,{id:"default-framebuffer",handle:null,attachments:{}}),e.luma.defaultFramebuffer}}]),n}(w.a);function I(e){return(B.STATUS||{})[e]||"Framebuffer error ".concat(e)}B.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303]},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t2*Math.PI)throw Error("radians");var h=r/2,d=s*Math.tan(h),p=d*o;return(new n).ortho({left:-p,right:p,bottom:-d,top:d,near:c,far:f})}},{key:"perspective",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fovy,n=void 0===t?void 0:t,r=e.fov,i=void 0===r?45*Math.PI/180:r,o=e.aspect,a=void 0===o?1:o,s=e.near,u=void 0===s?.1:s,c=e.far,l=void 0===c?500:c;if((n=n||i)>2*Math.PI)throw Error("radians");return m.j(this,n,a,u,l),this.check()}},{key:"determinant",value:function(){return m.a(this)}},{key:"getScale",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}},{key:"getTranslation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}},{key:"getRotation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),r=1/n[0],i=1/n[1],o=1/n[2];return e[0]=this[0]*r,e[1]=this[1]*i,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*i,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*i,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{key:"getRotationMatrix3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),r=1/n[0],i=1/n[1],o=1/n[2];return e[0]=this[0]*r,e[1]=this[1]*i,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*i,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*i,e[8]=this[10]*o,e}},{key:"transpose",value:function(){return m.q(this,this),this.check()}},{key:"invert",value:function(){return m.f(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return m.h(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return m.h(this,this,e),this.check()}},{key:"rotateX",value:function(e){return m.l(this,this,e),this.check()}},{key:"rotateY",value:function(e){return m.m(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return m.n(this,this,e),this.check()}},{key:"rotateXYZ",value:function(e){var t=i()(e,3),n=t[0],r=t[1],o=t[2];return this.rotateX(n).rotateY(r).rotateZ(o)}},{key:"rotateAxis",value:function(e,t){return m.k(this,this,e,t),this.check()}},{key:"scale",value:function(e){return Array.isArray(e)?m.o(this,this,e):m.o(this,this,[e,e,e]),this.check()}},{key:"translate",value:function(e){return m.p(this,this,e),this.check()}},{key:"transform",value:function(e,t){return 4===e.length?(t=O.n(t||[-0,-0,-0,-0],e,this),Object(v.b)(t,4),t):this.transformAsPoint(e,t)}},{key:"transformAsPoint",value:function(e,t){switch(e.length){case 2:t=b.j(t||[-0,-0],e,this);break;case 3:t=_.t(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Object(v.b)(t,e.length),t}},{key:"transformAsVector",value:function(e,t){switch(e.length){case 2:t=Object(y.a)(t||[-0,-0],e,this);break;case 3:t=Object(y.c)(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Object(v.b)(t,e.length),t}},{key:"makeRotationX",value:function(e){return this.identity().rotateX(e)}},{key:"makeTranslation",value:function(e,t,n){return this.identity().translate([e,t,n])}},{key:"transformPoint",value:function(e,t){return Object(v.c)("Matrix4.transformPoint","3.0"),this.transformAsPoint(e,t)}},{key:"transformVector",value:function(e,t){return Object(v.c)("Matrix4.transformVector","3.0"),this.transformAsPoint(e,t)}},{key:"transformDirection",value:function(e,t){return Object(v.c)("Matrix4.transformDirection","3.0"),this.transformAsVector(e,t)}}],[{key:"IDENTITY",get:function(){return S.IDENTITY=S.IDENTITY||Object.freeze(new n(x)),S.IDENTITY}},{key:"ZERO",get:function(){return S.ZERO=S.ZERO||Object.freeze(new n(A)),S.ZERO}},{key:"_computeInfinitePerspectiveOffCenter",value:function(e,t,n,r,i,o){var a=2*o/(n-t),s=2*o/(i-r),u=(n+t)/(n-t),c=(i+r)/(i-r),l=-2*o;return e[0]=a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=u,e[9]=c,e[10]=-1,e[11]=-1,e[12]=0,e[13]=0,e[14]=l,e[15]=0,e}}]),n}(g.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"c",(function(){return u}));var r=n(12),i={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},o=i.global||i.self||i.window||{},a="object"!==("undefined"==typeof process?"undefined":n.n(r)()(process))||"[object process]"!==String(process)||process.browser,s="function"==typeof importScripts,u="undefined"!=typeof window&&void 0!==window.orientation,c="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);c&&parseFloat(c[1])},function(e,t,n){"use strict";n.d(t,"d",(function(){return u})),n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return l})),n.d(t,"c",(function(){return f}));var r=n(12),i=n.n(r),o=n(99);function a(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw o}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==a[1]?a[1]:[],r=a.length>2?a[2]:void 0,i=a.length>3?a[3]:void 0,C(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(!(o=S(t,n,_(_({},r),{},{nothrow:!0}),i))){e.next=8;break}return e.abrupt("return",o);case 8:if(!Object(m.b)(t)){e.next=13;break}return e.next=11,t.slice(0,10).arrayBuffer();case 11:t=e.sent,o=S(t,n,r,i);case 13:if(o||null!=r&&r.nothrow){e.next=15;break}throw new Error(j(t));case 15:return e.abrupt("return",o);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;if(!C(e))return null;if(t&&!Array.isArray(t))return Object(v.b)(t);var i,o=[];(t&&(o=o.concat(t)),null!=n&&n.ignoreRegisteredLoaders)||(i=o).push.apply(i,u()(Object(y.b)()));E(o);var a=k(e,o,n,r);if(!(a||null!=n&&n.nothrow))throw new Error(j(e));return a}function k(e,t,n,r){var i=Object(g.b)(e),o=i.url,a=i.type,s=o||(null==r?void 0:r.url),u=null;return null!=n&&n.mimeType&&(u=T(t,null==n?void 0:n.mimeType)),u=(u=(u=(u=u||function(e,t){var n=t&&x.exec(t),r=n&&n[1];return r?function(e,t){t=t.toLowerCase();var n,r=O(e);try{for(r.s();!(n=r.n()).done;){var i,o=n.value,a=O(o.extensions);try{for(a.s();!(i=a.n()).done;){if(i.value.toLowerCase()===t)return o}}catch(e){a.e(e)}finally{a.f()}}}catch(e){r.e(e)}finally{r.f()}return null}(e,r):null}(t,s))||T(t,a))||function(e,t){if(!t)return null;var n,r=O(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if("string"==typeof t){if(M(t,i))return i}else if(ArrayBuffer.isView(t)){if(B(t.buffer,t.byteOffset,i))return i}else if(t instanceof ArrayBuffer){if(B(t,0,i))return i}}}catch(e){r.e(e)}finally{r.f()}return null}(t,e))||T(t,null==n?void 0:n.fallbackMimeType)}function C(e){return!(e instanceof Response&&204===e.status)}function j(e){var t=Object(g.b)(e),n=t.url,r=t.type,i="No valid loader found (";i+=n?"".concat(d.b.filename(n),", "):"no url provided, ",i+="MIME type: ".concat(r?'"'.concat(r,'"'):"not provided",", ");var o=e?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;if("string"==typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return I(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){var n=0;return I(e,n,t)}return""}(e):"";return i+=o?' first bytes: "'.concat(o,'"'):"first bytes: not available",i+=")"}function E(e){var t,n=O(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;Object(v.b)(r)}}catch(e){n.e(e)}finally{n.f()}}function T(e,t){var n,r=O(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if(i.mimeTypes&&i.mimeTypes.includes(t))return i;if(t==="application/x.".concat(i.id))return i}}catch(e){r.e(e)}finally{r.f()}return null}function M(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some((function(t){return e.startsWith(t)}))}function B(e,t,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some((function(r){return function(e,t,n,r){if(r instanceof ArrayBuffer)return Object(p.a)(r,e,r.byteLength);switch(a()(r)){case"function":return r(e,n);case"string":var i=I(e,t,r.length);return r===i;default:return!1}}(e,t,n,r)}))}function I(e,t,n){if(e.byteLength0&&void 0!==arguments[0]?arguments[0]:{};u()(this,n);var i,o=r.latitude,a=void 0===o?0:o,s=r.longitude,c=void 0===s?0:s,l=r.zoom,f=void 0===l?11:l,d=r.pitch,p=void 0===d?0:d,v=r.bearing,g=void 0===v?0:v,y=r.nearZMultiplier,m=void 0===y?.1:y,b=r.farZMultiplier,_=void 0===b?1.01:b,O=r.orthographic,x=void 0!==O&&O,P=r.projectionMatrix,k=r.repeat,C=void 0!==k&&k,j=r.worldOffset,E=void 0===j?0:j,T=r.legacyMeterSizes,M=void 0!==T&&T,B=r.width,I=r.height,R=r.altitude,L=void 0===R?1.5:R,D=Math.pow(2,f);B=B||1,I=I||1;var F=null;P?(L=P[5]/2,i=Object(w.b)(L)):(r.fovy?(i=r.fovy,L=Object(w.e)(i)):i=Object(w.b)(L),F=Object(w.j)({width:B,height:I,pitch:p,fovy:i,nearZMultiplier:m,farZMultiplier:_}));var N=Object(w.k)({height:I,pitch:p,bearing:g,scale:D,altitude:L});if(E){var U=(new A.a).translate([512*E,0,0]);N=U.multiplyLeft(N)}return(e=t.call(this,S(S(S({},r),{},{width:B,height:I,viewMatrix:N,longitude:c,latitude:a,zoom:f},F),{},{fovy:i,focalDistance:L}))).latitude=a,e.longitude=c,e.zoom=f,e.pitch=p,e.bearing=g,e.altitude=L,e.fovy=i,e.orthographic=x,e._subViewports=C?[]:null,e._pseudoMeters=M,Object.freeze(h()(e)),e}return l()(n,[{key:"subViewports",get:function(){if(this._subViewports&&!this._subViewports.length)for(var e=this.getBounds(),t=Math.floor((e[0]+180)/360),r=Math.ceil((e[2]-180)/360),i=t;i<=r;i++){var o=i?new n(S(S({},this),{},{worldOffset:i})):this;this._subViewports.push(o)}return this._subViewports}},{key:"projectPosition",value:function(e){if(this._pseudoMeters)return p()(_()(n.prototype),"projectPosition",this).call(this,e);var t=this.projectFlat(e),r=i()(t,2);return[r[0],r[1],(e[2]||0)*j(e[1])]}},{key:"unprojectPosition",value:function(e){if(this._pseudoMeters)return p()(_()(n.prototype),"unprojectPosition",this).call(this,e);var t=this.unprojectFlat(e),r=i()(t,2),o=r[0],a=r[1];return[o,a,(e[2]||0)/j(a)]}},{key:"addMetersToLngLat",value:function(e,t){return Object(w.a)(e,t)}},{key:"panByPosition",value:function(e,t){var n=Object(w.n)(t,this.pixelUnprojectionMatrix),r=this.projectFlat(e),o=x.a([],r,x.d([],n)),a=x.a([],this.center,o),s=this.unprojectFlat(a),u=i()(s,2);return{longitude:u[0],latitude:u[1]}}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object(w.f)(this,e.z||0);return[Math.min(t[0][0],t[1][0],t[2][0],t[3][0]),Math.min(t[0][1],t[1][1],t[2][1],t[3][1]),Math.max(t[0][0],t[1][0],t[2][0],t[3][0]),Math.max(t[0][1],t[1][1],t[2][1],t[3][1])]}},{key:"fitBounds",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.width,i=this.height,o=Object(w.c)(S({width:r,height:i,bounds:e},t)),a=o.longitude,s=o.latitude,u=o.zoom;return new n({width:r,height:i,longitude:a,latitude:s,zoom:u})}}]),n}(O.a);E.displayName="WebMercatorViewport"},function(e,t,n){"use strict";n.d(t,"c",(function(){return l})),n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return h}));var r,i=n(11),o=n.n(i),a=n(0),s=n.n(a),u=n(13),c=(r={},s()(r,5126,[5126,1,"float"]),s()(r,35664,[5126,2,"vec2"]),s()(r,35665,[5126,3,"vec3"]),s()(r,35666,[5126,4,"vec4"]),s()(r,5124,[5124,1,"int"]),s()(r,35667,[5124,2,"ivec2"]),s()(r,35668,[5124,3,"ivec3"]),s()(r,35669,[5124,4,"ivec4"]),s()(r,5125,[5125,1,"uint"]),s()(r,36294,[5125,2,"uvec2"]),s()(r,36295,[5125,3,"uvec3"]),s()(r,36296,[5125,4,"uvec4"]),s()(r,35670,[5126,1,"bool"]),s()(r,35671,[5126,2,"bvec2"]),s()(r,35672,[5126,3,"bvec3"]),s()(r,35673,[5126,4,"bvec4"]),s()(r,35674,[5126,8,"mat2"]),s()(r,35685,[5126,8,"mat2x3"]),s()(r,35686,[5126,8,"mat2x4"]),s()(r,35675,[5126,12,"mat3"]),s()(r,35687,[5126,12,"mat3x2"]),s()(r,35688,[5126,12,"mat3x4"]),s()(r,35676,[5126,16,"mat4"]),s()(r,35689,[5126,16,"mat4x2"]),s()(r,35690,[5126,16,"mat4x3"]),r);function l(e){switch(e){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return Object(u.a)(!1),0}}function f(e){var t=c[e];if(!t)return null;var n=o()(t,2);return{type:n[0],components:n[1]}}function h(e,t){switch(e){case 5120:case 5121:case 5122:case 5123:e=5126}for(var n in c){var r=o()(c[n],3),i=r[0],a=r[1],s=r[2];if(i===e&&a===t)return{glType:n,name:s}}return null}},function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return l})),n.d(t,"c",(function(){return f})),n.d(t,"d",(function(){return h})),n.d(t,"e",(function(){return d}));var r,i,o,a=n(0),s=n.n(a),u=n(10),c=(r={},s()(r,6407,{dataFormat:6407,types:[5121,33635]}),s()(r,6408,{dataFormat:6408,types:[5121,32819,32820]}),s()(r,6406,{dataFormat:6406,types:[5121]}),s()(r,6409,{dataFormat:6409,types:[5121]}),s()(r,6410,{dataFormat:6410,types:[5121]}),s()(r,33326,{dataFormat:6403,types:[5126],gl2:!0}),s()(r,33328,{dataFormat:33319,types:[5126],gl2:!0}),s()(r,34837,{dataFormat:6407,types:[5126],gl2:!0}),s()(r,34836,{dataFormat:6408,types:[5126],gl2:!0}),r),l=(i={},s()(i,6403,1),s()(i,36244,1),s()(i,33319,2),s()(i,33320,2),s()(i,6407,3),s()(i,36248,3),s()(i,6408,4),s()(i,36249,4),s()(i,6402,1),s()(i,34041,1),s()(i,6406,1),s()(i,6409,1),s()(i,6410,2),i),f=(o={},s()(o,5126,4),s()(o,5125,4),s()(o,5124,4),s()(o,5123,2),s()(o,5122,2),s()(o,5131,2),s()(o,5120,1),s()(o,5121,1),o);function h(e,t){var n=c[t];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;var r=Object(u.j)(e)&&n.gl2||n.gl1;return"string"==typeof r?e.getExtension(r):r}function d(e,t){var n=c[t];switch(n&&n.types[0]){case 5126:return e.getExtension("OES_texture_float_linear");case 5131:return e.getExtension("OES_texture_half_float_linear");default:return!0}}},,function(e,t,n){"use strict";n.d(t,"e",(function(){return o})),n.d(t,"f",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return u})),n.d(t,"c",(function(){return c})),n.d(t,"d",(function(){return l}));var r=n(12),i={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},o=i.self||i.window||i.global||{},a=i.window||i.self||i.global||{},s=i.global||i.self||i.window||{},u=i.document||{},c=Boolean("object"!==("undefined"==typeof process?"undefined":n.n(r)()(process))||"[object process]"!==String(process)||process.browser),l="function"==typeof importScripts,f="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);f&&parseFloat(f[1])},function(e,t,n){"use strict";var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(5);function u(){var e;if("undefined"!=typeof window&&window.performance)e=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){var t=process.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}var c=function(){function e(t,n){i()(this,e),Object(s.a)(this,"name",void 0),Object(s.a)(this,"type",void 0),Object(s.a)(this,"sampleSize",1),Object(s.a)(this,"time",void 0),Object(s.a)(this,"count",void 0),Object(s.a)(this,"samples",void 0),Object(s.a)(this,"lastTiming",void 0),Object(s.a)(this,"lastSampleTime",void 0),Object(s.a)(this,"lastSampleCount",void 0),Object(s.a)(this,"_count",0),Object(s.a)(this,"_time",0),Object(s.a)(this,"_samples",0),Object(s.a)(this,"_startTime",0),Object(s.a)(this,"_timerPending",!1),this.name=t,this.type=n,this.reset()}return a()(e,[{key:"setSampleSize",value:function(e){return this.sampleSize=e,this}},{key:"incrementCount",value:function(){return this.addCount(1),this}},{key:"decrementCount",value:function(){return this.subtractCount(1),this}},{key:"addCount",value:function(e){return this._count+=e,this._samples++,this._checkSampling(),this}},{key:"subtractCount",value:function(e){return this._count-=e,this._samples++,this._checkSampling(),this}},{key:"addTime",value:function(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}},{key:"timeStart",value:function(){return this._startTime=u(),this._timerPending=!0,this}},{key:"timeEnd",value:function(){return this._timerPending?(this.addTime(u()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}},{key:"getSampleAverageCount",value:function(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}},{key:"_checkSampling",value:function(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}]),e}(),l=function(){function e(t){i()(this,e),Object(s.a)(this,"id",void 0),Object(s.a)(this,"stats",{}),this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}return a()(e,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}},{key:"size",get:function(){return Object.keys(this.stats).length}},{key:"reset",value:function(){for(var e in this.stats)this.stats[e].reset();return this}},{key:"forEach",value:function(e){for(var t in this.stats)e(this.stats[t])}},{key:"getTable",value:function(){var e={};return this.forEach((function(t){e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}})),e}},{key:"_initializeStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){return e._getOrCreate(t)}))}},{key:"_getOrCreate",value:function(e){if(!e||!e.name)return null;var t=e.name,n=e.type;return this.stats[t]||(this.stats[t]=e instanceof c?e:new c(t,n)),this.stats[t]}}]),e}();n.d(t,"a",(function(){return l}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return f}));var r=n(16),i=n.n(r),o=n(0),a=n.n(o),s=n(47);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:null;if(n)return n;var r=c({fetch:Object(s.a)(t,e)},e);return Array.isArray(r.loaders)||(r.loaders=null),r}function f(e,t){if(!t&&e&&!Array.isArray(e))return e;var n;if(e&&(n=Array.isArray(e)?e:[e]),t&&t.loaders){var r=Array.isArray(t.loaders)?t.loaders:[t.loaders];n=n?[].concat(i()(n),i()(r)):r}return n&&n.length?n:null}},,function(e,t,n){"use strict";n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return s}));var r="",i={};function o(e){r=e}function a(){return r}function s(e){for(var t in i)if(e.startsWith(t)){var n=i[t];e=e.replace(t,n)}return e.startsWith("http://")||e.startsWith("https://")||(e="".concat(r).concat(e)),e}},function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return s})),n.d(t,"a",(function(){return u}));var r=n(12),i=n.n(r),o=n(195);function a(e){return e&&"object"===i()(e)&&e.isBuffer}function s(e){return o.toBuffer?o.toBuffer(e):e}function u(e){return a(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(74),u=[255,255,255],c=[0,0,-1],l=0,f=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e);var n=t.color,r=void 0===n?u:n,o=t.intensity,a=void 0===o?1:o,f=t.direction,h=void 0===f?c:f,d=t._shadow,p=void 0!==d&&d;this.id=t.id||"directional-".concat(l++),this.color=r,this.intensity=a,this.type="directional",this.direction=new s.a(h).normalize().toArray(),this.shadow=p}return a()(e,[{key:"getProjectedLight",value:function(){return this}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(98),u=n(106);function c(e,t){return l.apply(this,arguments)}function l(){return(l=i()(a.a.mark((function e(t,n){var r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=7;break}return t=Object(s.b)(t),r=n,null!=n&&n.fetch&&"function"!=typeof(null==n?void 0:n.fetch)&&(r=n.fetch),e.next=6,fetch(t,r);case 6:return e.abrupt("return",e.sent);case 7:return e.next=9,Object(u.b)(t);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},function(e,t,n){"use strict";var r={name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null},i="#define SMOOTH_EDGE_RADIUS 0.5",o={name:"geometry",vs:"\n".concat(i,"\n\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry = VertexGeometry(\n vec4(0.0, 0.0, 1.0, 0.0),\n vec3(0.0),\n vec3(0.0),\n vec3(0.0),\n vec2(0.0),\n vec3(0.0)\n);\n"),fs:"\n".concat(i,"\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n")},a=n(18),s=Object.keys(a.a).map((function(e){return"const int COORDINATE_SYSTEM_".concat(e," = ").concat(a.a[e],";")})).join(""),u=Object.keys(a.d).map((function(e){return"const int PROJECTION_MODE_".concat(e," = ").concat(a.d[e],";")})).join(""),c=Object.keys(a.e).map((function(e){return"const int UNIT_".concat(e.toUpperCase()," = ").concat(a.e[e],";")})).join(""),l="".concat(s,"\n").concat(u,"\n").concat(c,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\nuniform bool project_uPseudoMeters;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size() {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR &&\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT &&\n project_uPseudoMeters == false) {\n \n if (geometry.position.w == 0.0) {\n float y = clamp(geometry.worldPosition.y, -89.9, 89.9);\n return 1.0 / cos(radians(y));\n }\n \n float y = geometry.position.y / TILE_SIZE * 2.0 - 1.0;\n float y2 = y * y;\n float y4 = y2 * y2;\n float y6 = y4 * y2;\n return 1.0 + 4.9348 * y2 + 4.0587 * y4 + 1.5642 * y6;\n }\n return 1.0;\n}\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z * project_size();\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy * project_size();\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter * project_size();\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n vec3 n = normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n mat3 rotation;\n if (project_needs_rotation(geometry.position.xyz, rotation)) {\n n = rotation * n;\n }\n return n;\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_size_to_pixel(float size, int unit) {\n if (unit == UNIT_METERS) return project_size_to_pixel(size);\n if (unit == UNIT_COMMON) return size * project_uScale;\n return size;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\n"),f=n(118),h={};t.a={name:"project",dependencies:[r,o],vs:l,getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h;return e.viewport?Object(f.b)(e):{}}}},function(e,t,n){"use strict";var r=n(12),i=n.n(r),o=n(8),a=n.n(o),s=n(4),u=n.n(s),c=n(61),l=n(148);function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l.a;Object(c.a)(e,"no worker provided");var n=e.version;return!(!t||!n)}var h=n(191),d=n(53),p=n(47),v=n(121),g=n(96),y=n(72),m=n(88);function b(e,t,n,r){return _.apply(this,arguments)}function _(){return(_=a()(u.a.mark((function e(t,n,r,o){var a,s,l,f,h;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Object(c.a)(!o||"object"===i()(o)),!n||Array.isArray(n)||Object(d.a)(n)||(o=void 0,r=n,n=void 0),e.next=4,t;case 4:return t=e.sent,r=r||{},a=Object(y.b)(t),s=a.url,l=n,f=Object(g.b)(l,o),e.next=11,Object(m.a)(t,f,r);case 11:if(h=e.sent){e.next=14;break}return e.abrupt("return",null);case 14:return r=Object(p.c)(r,h,f,s),o=Object(g.a)({url:s,parse:b,loaders:f},r,o),e.next=18,O(h,t,r,o);case 18:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function O(e,t,n,r){return w.apply(this,arguments)}function w(){return(w=a()(u.a.mark((function e(t,n,r,i){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return f(t),e.next=3,Object(v.a)(n,t,r);case 3:if(n=e.sent,!t.parseTextSync||"string"!=typeof n){e.next=7;break}return r.dataType="text",e.abrupt("return",t.parseTextSync(n,r,i,t));case 7:if(!Object(h.a)(t,r)){e.next=11;break}return e.next=10,Object(h.b)(t,n,r,i,b);case 10:return e.abrupt("return",e.sent);case 11:if(!t.parseText||"string"!=typeof n){e.next=15;break}return e.next=14,t.parseText(n,r,i,t);case 14:return e.abrupt("return",e.sent);case 15:if(!t.parse){e.next=19;break}return e.next=18,t.parse(n,r,i,t);case 18:return e.abrupt("return",e.sent);case 19:throw Object(c.a)(!t.parseSync),new Error("".concat(t.id," loader - no parser found and worker is disabled"));case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}n.d(t,"a",(function(){return b}))},function(e,t,n){"use strict";function r(e,t){if(!e)throw new Error(t||"loader assertion failed.")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(20),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(10),g=n(64),y=n(13),m="";function b(e,t){return Object(y.a)("string"==typeof e),e=m+e,new Promise((function(n,r){try{var i=new Image;i.onload=function(){return n(i)},i.onerror=function(){return r(new Error("Could not load image ".concat(e,".")))},i.crossOrigin=t&&t.crossOrigin||"anonymous",i.src=e}catch(e){r(e)}}))}function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}n.d(t,"a",(function(){return O}));var O=function(e){l()(n,e);var t=_(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,n),Object(v.b)(e),(o instanceof Promise||"string"==typeof o)&&(o={data:o}),"string"==typeof o.data&&(o=Object.assign({},o,{data:b(o.data)})),(r=t.call(this,e,Object.assign({},o,{target:3553}))).initialize(o),Object.seal(u()(r)),r}return a()(n,null,[{key:"isSupported",value:function(e,t){return g.a.isSupported(e,t)}}]),n}(g.a)},function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return f}));var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(26),u=n(72);function c(e){return l.apply(this,arguments)}function l(){return(l=i()(a.a.mark((function e(t){var n,r,i,o,c,l,f;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Object(s.j)(t)){e.next=2;break}return e.abrupt("return",t);case 2:return n={},(r=Object(u.a)(t))>=0&&(n["content-length"]=String(r)),i=Object(u.b)(t),o=i.url,(c=i.type)&&(n["content-type"]=c),e.next=9,v(t);case 9:return(l=e.sent)&&(n["x-first-bytes"]=l),"string"==typeof t&&(t=(new TextEncoder).encode(t)),f=new Response(t,{headers:n}),Object.defineProperty(f,"url",{value:o}),e.abrupt("return",f);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function f(e){return h.apply(this,arguments)}function h(){return(h=i()(a.a.mark((function e(t){var n;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,d(t);case 3:throw n=e.sent,new Error(n);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function d(e){return p.apply(this,arguments)}function p(){return(p=i()(a.a.mark((function e(t){var n,r,i;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n="Failed to fetch resource ".concat(t.url," (").concat(t.status,"): "),e.prev=1,r=t.headers.get("Content-Type"),i=t.statusText,!r.includes("application/json")){e.next=11;break}return e.t0=i,e.t1=" ",e.next=9,t.text();case 9:e.t2=e.sent,i=e.t0+=e.t1.concat.call(e.t1,e.t2);case 11:n=(n+=i).length>60?"".concat(n.slice(60),"..."):n,e.next=17;break;case 15:e.prev=15,e.t3=e.catch(1);case 17:return e.abrupt("return",n);case 18:case"end":return e.stop()}}),e,null,[[1,15]])})))).apply(this,arguments)}function v(e){return g.apply(this,arguments)}function g(){return(g=i()(a.a.mark((function e(t){var n,r,i,o;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=5,"string"!=typeof t){e.next=3;break}return e.abrupt("return","data:,".concat(t.slice(0,n)));case 3:if(!(t instanceof Blob)){e.next=8;break}return r=t.slice(0,5),e.next=7,new Promise((function(e){var t=new FileReader;t.onload=function(t){var n;return e(null==t?void 0:null===(n=t.target)||void 0===n?void 0:n.result)},t.readAsDataURL(r)}));case 7:return e.abrupt("return",e.sent);case 8:if(!(t instanceof ArrayBuffer)){e.next=12;break}return i=t.slice(0,n),o=y(i),e.abrupt("return","data:base64,".concat(o));case 12:return e.abrupt("return",null);case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function y(e){for(var t="",n=new Uint8Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return o()(this,n),(r=t.call(this,e,i)).initialize(i),Object.seal(c()(r)),r}return s()(n,[{key:"initialize",value:function(e){var t=e.format,n=e.width,r=void 0===n?1:n,i=e.height,o=void 0===i?1:i,a=e.samples,s=void 0===a?0:a;return Object(w.a)(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==s&&Object(O.j)(this.gl)?this.gl.renderbufferStorageMultisample(36161,s,t,r,o):this.gl.renderbufferStorage(36161,t,r,o),this.format=t,this.width=r,this.height=o,this.samples=s,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*_[this.format].bpp),this}},{key:"resize",value:function(e){var t=e.width,n=e.height;return t!==this.width||n!==this.height?this.initialize({width:t,height:n,format:this.format,samples:this.samples}):this}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_bindHandle",value:function(e){this.gl.bindRenderbuffer(36161,e)}},{key:"_syncHandle",value:function(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}},{key:"_getParameter",value:function(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{format:null},n=t.format;return!n||A(e,n,_)}},{key:"getSamplesForFormat",value:function(e,t){var n=t.format;return e.getInternalformatParameter(36161,n,32937)}}]),n}(g.a)},function(e,t,n){var r=n(294),i=n(295),o=n(296),a=n(297);e.exports=function(e){return r(e)||i(e)||o(e)||a()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return l}));var r=n(53),i=n(47);function o(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw o}}}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(e)}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(1/e)}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([-e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,-e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=x({},this._viewportProps),r=n.bearing,i=n.longitude;return Math.abs(r-t.bearing)>180&&(n.bearing=r<0?r+360:r-360),Math.abs(i-t.longitude)>180&&(n.longitude=i<0?i+360:i-360),n}},{key:"_zoomFromCenter",value:function(e){var t=this._viewportProps,n=t.width,r=t.height;return this.zoom({pos:[n/2,r/2],scale:e})}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,r=t.height;return this.pan({startPos:[n/2,r/2],pos:[n/2+e[0],r/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new this.constructor(x(x(x({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,r=e.zoom;e.zoom=Object(y.a)(r,n,t);var i=e.maxPitch,o=e.minPitch,a=e.pitch;e.pitch=Object(y.a)(a,o,i);var s=e.normalize;return(void 0===s||s)&&Object.assign(e,Object(_.m)(e)),e}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,r=this._viewportProps,i=r.maxZoom,o=r.minZoom,a=n+Math.log2(t);return Object(y.a)(a,o,i)}},{key:"_calculateNewPitchAndBearing",value:function(e){var t=e.deltaScaleX,n=e.deltaScaleY,r=e.startBearing,i=e.startPitch;n=Object(y.a)(n,-1,1);var o=this._viewportProps,a=o.minPitch,s=o.maxPitch,u=i;return n>0?u=i+n*(s-i):n<0&&(u=i-n*(a-i)),{pitch:u,bearing:r+180*t}}},{key:"_getRotationParams",value:function(e,t){var n=e[0]-t[0],r=e[1]-t[1],i=e[1],o=t[1],a=this._viewportProps,s=a.width,u=a.height,c=n/s,l=0;return r>0?Math.abs(u-o)>5&&(l=r/(o-u)*1.2):r<0&&o>5&&(l=1-i/o),{deltaScaleX:c,deltaScaleY:l=Math.min(1,Math.max(-1,l))}}}]),n}(b.a),k=function(e){h()(n,e);var t=A(n);function n(e){return u()(this,n),e.dragMode=e.dragMode||"pan",t.call(this,S,e)}return l()(n,[{key:"setProps",value:function(e){e.position=e.position||[0,0,0];var t=this.controllerStateProps;i()(g()(n.prototype),"setProps",this).call(this,e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(x(x({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}},{key:"linearTransitionProps",get:function(){return["longitude","latitude","zoom","bearing","pitch","position"]}}]),n}(m.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(15),u=n(40);function c(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e),Array.isArray(t)&&(t={compare:t,extract:t,required:t});var n=t,r=n.compare,o=n.extract,a=n.required;this._propsToCompare=r,this._propsToExtract=o,this._requiredProps=a}return a()(e,[{key:"arePropsEqual",value:function(e,t){var n,r=c(this._propsToCompare||Object.keys(t));try{for(r.s();!(n=r.n()).done;){var i=n.value;if(!(i in e&&i in t&&Object(s.d)(e[i],t[i])))return!1}}catch(e){r.e(e)}finally{r.f()}return!0}},{key:"initializeProps",value:function(e,t){var n;if(this._propsToExtract){var r,i={},o={},a=c(this._propsToExtract);try{for(a.s();!(r=a.n()).done;){var s=r.value;i[s]=e[s],o[s]=t[s]}}catch(e){a.e(e)}finally{a.f()}n={start:i,end:o}}else n={start:e,end:t};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}},{key:"interpolateProps",value:function(e,t,n){return t}},{key:"getDuration",value:function(e,t){return t.transitionDuration}},{key:"_checkRequiredProps",value:function(e){this._requiredProps&&this._requiredProps.forEach((function(t){var n=e[t];Object(u.a)(Number.isFinite(n)||Array.isArray(n),"".concat(t," is required for transition"))}))}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return x})),n.d(t,"b",(function(){return A}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(15),g=n(68),y=n(120),m=n(39);function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _(e){for(var t=1;t90)&&(p*=-1),t={rotationX:c+180*((n[1]-u[1])/d),rotationOrbit:l+180*p}}else t={rotationX:c+a,rotationOrbit:l+i};return this._getUpdatedState(t)}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=_({},this._viewportProps),r=n.rotationOrbit;return Math.abs(r-t.rotationOrbit)>180&&(n.rotationOrbit=r<0?r+360:r-360),n}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,n=e.startPos,r=e.scale,i=this._viewportProps.zoom,o=this._state,a=o.startZoom,s=o.startZoomPosition;Number.isFinite(a)||(a=i,s=this._unproject(n)||this._unproject(t));var u=this._calculateNewZoom({scale:r,startZoom:a}),c=this.makeViewport(_(_({},this._viewportProps),{},{zoom:u}));return this._getUpdatedState(_({zoom:u},c.panByPosition(s,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([-e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,-e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,r=this._viewportProps,i=r.maxZoom,o=r.minZoom;Number.isFinite(n)||(n=this._viewportProps.zoom);var a=n+Math.log2(t);return Object(v.a)(a,o,i)}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,r=t.height,i=t.target;return this.pan({startPosition:i,pos:[n/2+e[0],r/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new this.constructor(_(_(_({},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,r=e.zoom,i=e.maxRotationX,o=e.minRotationX,a=e.rotationOrbit;return e.zoom=Object(v.a)(r,n,t),e.rotationX=Object(v.a)(e.rotationX,o,i),(a<-180||a>180)&&(e.rotationOrbit=Object(m.e)(a+180,360)-180),e}}]),n}(y.a),A=function(e){l()(n,e);var t=O(n);function n(e){return a()(this,n),t.call(this,x,e)}return u()(n,[{key:"linearTransitionProps",get:function(){return["target","zoom","rotationX","rotationOrbit"]}}]),n}(g.a)},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(237),b=n(235),_=n(18),O=n(155),w=n(253),x=n(182),A=n(179),P=n(70),S=n(135),k=n(216),C=n(42);function j(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2?a[u*o+2]:0;i[3*s]=c,i[3*s+1]=l,i[3*s+2]=f}}},{key:"_updateVertexValid",value:function(e,t){var n=t.vertexStart,r=t.geometrySize,i=this.attributes.vertexValid,o=this.positionSize,a=e&&e.holeIndices;if(e&&e.edgeTypes?i.set(e.edgeTypes,n):i.fill(1,n,n+r),a)for(var s=0;s=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:[],r=this.positionSize;t*r>=e.length&&(t+=1-e.length/r);var i=t*r;return n[0]=e[i],n[1]=e[i+1],n[2]=3===r&&e[i+2]||0,n}},{key:"isClosed",value:function(e){if(!this.normalize)return this.opts.loop;var t=this.positionSize,n=e.length-t;return e[0]===e[n]&&e[1]===e[n+1]&&(2===t||e[2]===e[n+2])}}]),n}(A.a);function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function B(e){for(var t=1;t 0.0;\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n vec2 dir = isEnd ? dirA : dirB;\n vec2 perp = isEnd ? perpA : perpB;\n float L = isEnd ? lenA : lenB;\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return currPoint + offset;\n}\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 pos = lineJoin(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n gl_Position = vec4(pos * currPositionScreen.w, currPositionScreen.w);\n } else {\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec4 pos = vec4(\n lineJoin(prevPosition, currPosition, nextPosition, width.xy),\n 1.0);\n geometry.position = pos;\n gl_Position = project_common_position_to_clipspace(pos);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[y.a,m.a]})}},{key:"wrapLongitude",get:function(){return!1}},{key:"initializeState",value:function(){var e=this;this.getAttributeManager().addInstanced({positions:{size:3,vertexOffset:1,type:5130,fp64:this.use64bitPositions(),transition:D,accessor:"getPath",update:this.calculatePositions,noAlloc:!0,shaderAttributes:{instanceLeftPositions:{vertexOffset:0},instanceStartPositions:{vertexOffset:1},instanceEndPositions:{vertexOffset:2},instanceRightPositions:{vertexOffset:3}}},instanceTypes:{size:1,type:5121,update:this.calculateSegmentTypes,noAlloc:!0},instanceStrokeWidths:{size:1,accessor:"getWidth",transition:D,defaultValue:1},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,accessor:"getColor",transition:D,defaultValue:R},instancePickingColors:{size:3,type:5121,accessor:function(t,n){var r=n.index,i=n.target;return e.encodePickingColor(t&&t.__source?t.__source.index:r,i)}}}),this.setState({pathTesselator:new T({fp64:this.use64bitPositions()})}),this.props.getDashArray&&!this.props.extensions.length&&b.a.removed("getDashArray","PathStyleExtension")()}},{key:"updateState",value:function(e){var t=e.oldProps,r=e.props,i=e.changeFlags;l()(g()(n.prototype),"updateState",this).call(this,{props:r,oldProps:t,changeFlags:i});var o=this.getAttributeManager();if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPath)){var a=this.state.pathTesselator,s=r.data.attributes||{};a.updateGeometry({data:r.data,geometryBuffer:s.getPath,buffers:s,normalize:!r._pathType,loop:"loop"===r._pathType,getGeometry:r.getPath,positionFormat:r.positionFormat,wrapLongitude:r.wrapLongitude,resolution:this.context.viewport.resolution,dataChanged:i.dataChanged}),this.setState({numInstances:a.instanceCount,startIndices:a.vertexStarts}),i.dataChanged||o.invalidateAll()}if(i.extensionsChanged){var u,c=this.context.gl;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(c),o.invalidateAll()}}},{key:"getPickingInfo",value:function(e){var t=l()(g()(n.prototype),"getPickingInfo",this).call(this,e),r=t.index,i=this.props.data;return i[0]&&i[0].__source&&(t.object=i.find((function(e){return e.__source.index===r}))),t}},{key:"disablePickingIndex",value:function(e){var t=this.props.data;if(t[0]&&t[0].__source)for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){var u=function(e){for(var t,n=e.icons,r=e.buffer,i=e.mapping,o=void 0===i?{}:i,a=e.xOffset,s=void 0===a?0:a,u=e.yOffset,c=void 0===u?0:u,l=e.rowHeight,f=void 0===l?0:l,h=e.canvasWidth,d=[],p=0;ph&&(F(o,d,c),s=0,c=f+c+r,f=0,d=[]),d.push({icon:v,xOffset:s}),s=s+y+r,f=Math.max(f,g)}}return d.length>0&&F(o,d,c),{mapping:o,rowHeight:f,xOffset:s,yOffset:c,canvasWidth:h,canvasHeight:(t=f+c+r,Math.pow(2,Math.ceil(Math.log2(t))))}}({icons:s,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset}),c=u.mapping,l=u.xOffset,f=u.yOffset,h=u.rowHeight,d=u.canvasHeight;this._rowHeight=h,this._mapping=c,this._xOffset=l,this._yOffset=f,this._canvasHeight=d,this._texture||(this._texture=new k.a(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:L})),this._texture.height!==this._canvasHeight&&(this._texture=(this.gl,t=this._texture,n=this._canvasWidth,r=this._canvasHeight,i=t.width,o=t.height,a=Object(P.a)(t,{width:n,height:r}),Object(S.b)(t,a,{targetY:0,width:i,height:o}),t.delete(),a)),this.onUpdate(),this._loadIcons(s)}}},{key:"_loadIcons",value:function(e){var t,n=this,r=this._canvas.getContext("2d"),i=T(e);try{var o=function(){var e=t.value;n._pendingCount++,Object(j.a)(e.url,C.a,n._loadOptions).then((function(t){var i=D(e),o=n._mapping[i],a=o.x,s=o.y,u=o.width,c=o.height,l=function(e,t,n,r){return n===t.width&&r===t.height?t:(e.canvas.height=r,e.canvas.width=n,e.clearRect(0,0,e.canvas.width,e.canvas.height),e.drawImage(t,0,0,t.width,t.height,0,0,n,r),e.canvas)}(r,t,u,c);n._texture.setSubImageData({data:l,x:a,y:s,width:u,height:c}),n._texture.generateMipmap(),n.onUpdate()})).catch((function(t){n.onError({url:e.url,source:e.source,sourceIndex:e.sourceIndex,loadOptions:n._loadOptions,error:t})})).finally((function(){n._pendingCount--}))};for(i.s();!(t=i.n()).done;)o()}catch(e){i.e(e)}finally{i.f()}}}]),e}();function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function z(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0?", ":"")+Object(d.e)(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={shadow_uDrawShadowMap:Boolean(e.drawToShadowMap),shadow_uUseShadowMap:!!e.shadowMaps&&e.shadowMaps.length>0,shadow_uColor:e.shadowColor||y,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},r=v({viewport:e.viewport,center:t.project_uCenter}),i=[],o=g({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice(),a=0;a0?n["shadow_uShadowMap".concat(f)]=e.shadowMaps[f]:n["shadow_uShadowMap".concat(f)]=e.dummyShadowMap;return n}t.a={name:"shadow",dependencies:[u.a],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0){var n=e.shadowEnabled,r=void 0===n||n;return r&&e.shadowMatrices&&e.shadowMatrices.length>0?b(e,t):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return p}));var r=n(25),i=n(31),o=n(18),a=n(89),s=[0,0,0,0],u=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],l=[0,0,0],f=[0,0,0],h=Object(a.a)((function(e){var t=e.viewport,n=e.devicePixelRatio,a=e.coordinateSystem,c=e.coordinateOrigin,f=function(e,t,n){var o=e.viewMatrixUncentered,a=e.projectionMatrix,c=e.viewMatrix,l=e.viewProjectionMatrix,f=s,h=s,p=e.cameraPosition,v=d(e,t,n),g=v.geospatialOrigin,y=v.shaderCoordinateOrigin;v.offsetMode&&(h=e.projectPosition(g||y),p=[p[0]-h[0],p[1]-h[1],p[2]-h[2]],h[3]=1,f=i.n([],h,l),c=o||c,l=r.h([],a,c),l=r.h([],l,u));return{viewMatrix:c,viewProjectionMatrix:l,projectionCenter:f,originCommon:h,cameraPosCommon:p,shaderCoordinateOrigin:y,geospatialOrigin:g}}(t,a,c),h=f.projectionCenter,p=f.viewProjectionMatrix,v=f.originCommon,g=f.cameraPosCommon,y=f.shaderCoordinateOrigin,m=f.geospatialOrigin,b=t.getDistanceScales(),_=[t.width*n,t.height*n],O=i.n([],[0,0,-t.focalDistance,1],t.projectionMatrix)[3]||1,w={project_uCoordinateSystem:a,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:y,project_uCommonOrigin:v.slice(0,3),project_uCenter:h,project_uPseudoMeters:Boolean(t._pseudoMeters),project_uViewportSize:_,project_uDevicePixelRatio:n,project_uFocalDistance:O,project_uCommonUnitsPerMeter:b.unitsPerMeter,project_uCommonUnitsPerWorldUnit:b.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:l,project_uScale:t.scale,project_uViewProjectionMatrix:p,project_uCameraPosition:g};if(m){var x=t.getDistanceScales(m);switch(a){case o.a.METER_OFFSETS:w.project_uCommonUnitsPerWorldUnit=x.unitsPerMeter,w.project_uCommonUnitsPerWorldUnit2=x.unitsPerMeter2;break;case o.a.LNGLAT:case o.a.LNGLAT_OFFSETS:t._pseudoMeters||(w.project_uCommonUnitsPerMeter=x.unitsPerMeter),w.project_uCommonUnitsPerWorldUnit=x.unitsPerDegree,w.project_uCommonUnitsPerWorldUnit2=x.unitsPerDegree2;break;case o.a.CARTESIAN:w.project_uCommonUnitsPerWorldUnit=[1,1,x.unitsPerMeter[2]],w.project_uCommonUnitsPerWorldUnit2=[0,0,x.unitsPerMeter2[2]]}}return w}));function d(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:f;n.length<3&&(n=[n[0],n[1],0]);var r,i=n,a=!0;switch(r=t===o.a.LNGLAT_OFFSETS||t===o.a.METER_OFFSETS?n:e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case o.d.WEB_MERCATOR:t!==o.a.LNGLAT&&t!==o.a.CARTESIAN||(r=[0,0,0],a=!1);break;case o.d.WEB_MERCATOR_AUTO_OFFSET:t===o.a.LNGLAT?i=r:t===o.a.CARTESIAN&&(i=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],r=e.unprojectPosition(i),i[0]-=n[0],i[1]-=n[1],i[2]-=n[2]);break;case o.d.IDENTITY:(i=e.position.map(Math.fround))[2]=i[2]||0;break;case o.d.GLOBE:a=!1,r=null;break;default:a=!1}return{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:a}}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.viewport,n=e.devicePixelRatio,r=void 0===n?1:n,i=e.modelMatrix,a=void 0===i?null:i,s=e.coordinateSystem,u=void 0===s?o.a.DEFAULT:s,l=e.coordinateOrigin,f=e.autoWrapLongitude,d=void 0!==f&&f;u===o.a.DEFAULT&&(u=t.isGeospatial?o.a.LNGLAT:o.a.CARTESIAN);var p=h({viewport:t,devicePixelRatio:r,coordinateSystem:u,coordinateOrigin:l});return p.project_uWrapLongitude=d,p.project_uModelMatrix=a||c,p}},function(e,t,n){var r=n(290);e.exports=function(e,t){if(null==e)return{};var n,i,o=r(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(0),u=n.n(s),c=function(){function e(t){i()(this,e),u()(this,"_viewportProps",void 0),u()(this,"_state",void 0),this._viewportProps=this._applyConstraints(t)}return a()(e,[{key:"getViewportProps",value:function(){return this._viewportProps}},{key:"getState",value:function(){return this._state}},{key:"shortestPathFrom",value:function(e){return this._viewportProps}},{key:"_applyConstraints",value:function(e){return e}}]),e}()},function(e,t,n){"use strict";n.d(t,"b",(function(){return h})),n.d(t,"a",(function(){return d})),n.d(t,"c",(function(){return v}));var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(149),u=n(26),c=n(122),l=n(106),f="Cannot convert supplied data type";function h(e,t,n){if(t.text&&"string"==typeof e)return e;if(Object(u.c)(e)&&(e=e.buffer),e instanceof ArrayBuffer){var r=e;return t.text&&!t.binary?new TextDecoder("utf8").decode(r):r}if(ArrayBuffer.isView(e)){if(t.text&&!t.binary)return new TextDecoder("utf8").decode(e);var i=e.buffer,o=e.byteLength||e.length;return 0===e.byteOffset&&o===i.byteLength||(i=i.slice(e.byteOffset,e.byteOffset+o)),i}throw new Error(f)}function d(e,t,n){return p.apply(this,arguments)}function p(){return(p=i()(a.a.mark((function e(t,n,r){var i,o;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t instanceof ArrayBuffer||ArrayBuffer.isView(t),"string"!=typeof t&&!i){e.next=3;break}return e.abrupt("return",h(t,n));case 3:if(!Object(u.b)(t)){e.next=7;break}return e.next=6,Object(l.b)(t);case 6:t=e.sent;case 7:if(!Object(u.j)(t)){e.next=21;break}return o=t,e.next=11,Object(l.a)(o);case 11:if(!n.binary){e.next=17;break}return e.next=14,o.arrayBuffer();case 14:e.t0=e.sent,e.next=20;break;case 17:return e.next=19,o.text();case 19:e.t0=e.sent;case 20:return e.abrupt("return",e.t0);case 21:if(Object(u.i)(t)&&(t=Object(c.a)(t,r)),!Object(u.d)(t)&&!Object(u.a)(t)){e.next=24;break}return e.abrupt("return",Object(s.a)(t));case 24:throw new Error(f);case 25:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function v(e,t){return g.apply(this,arguments)}function g(){return(g=i()(a.a.mark((function e(t,n){var r,i;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Object(u.e)(t)){e.next=2;break}return e.abrupt("return",t);case 2:if(!Object(u.j)(t)){e.next=10;break}return r=t,e.next=6,Object(l.a)(r);case 6:return e.next=8,r.body;case 8:return i=e.sent,e.abrupt("return",Object(c.a)(i,n));case 10:if(!Object(u.b)(t)&&!Object(u.i)(t)){e.next=12;break}return e.abrupt("return",Object(c.a)(t,n));case 12:if(!Object(u.a)(t)){e.next=14;break}return e.abrupt("return",t[Symbol.asyncIterator]());case 14:return e.abrupt("return",y(t));case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function y(e){if(ArrayBuffer.isView(e))return a.a.mark((function t(){return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.buffer;case 2:case"end":return t.stop()}}),t)}))();if(e instanceof ArrayBuffer)return a.a.mark((function t(){return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e;case 2:case"end":return t.stop()}}),t)}))();if(Object(u.e)(e))return e;if(Object(u.d)(e))return e[Symbol.iterator]();throw new Error(f)}},function(e,t,n){"use strict";var r=n(4),i=n.n(r),o=i.a.mark(a);function a(e,t){var n,r,a,s,u;return i.a.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:n=(null==t?void 0:t.chunkSize)||262144,r=0,a=new TextEncoder;case 3:if(!(r1&&void 0!==l[1]?l[1]:{},n=t.chunkSize,r=void 0===n?262144:n,o=0;case 3:if(!(o=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},r=n.copyState,i=void 0!==r&&r,o=n.log,a=void 0===o?function(){}:o;W()(this,e),this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=i?oe(t):Object.assign({},B),this.log=a,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return X()(e,[{key:"push",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.stateStack.push({})}},{key:"pop",value:function(){i(this.stateStack.length>0);var e=this.stateStack[this.stateStack.length-1];ie(this.gl,e),this.stateStack.pop()}},{key:"_updateCache",value:function(e){var t,n=!1,r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(var o in e){i(void 0!==o);var a=e[o],s=this.cache[o];q(a,s)||(n=!0,t=s,!r||o in r||(r[o]=s),this.cache[o]=a)}return{valueChanged:n,oldValue:t}}}]),e}();function ee(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.enable,r=void 0===n||n,o=t.copyState;if(i(void 0!==o),!e.state){var a="undefined"!=typeof global?global:window,s=a.polyfillContext;for(var u in s&&s(e),e.state=new $(e,{copyState:o}),Q(e),z){var c=z[u];Y(e,u,c)}Z(e,"getParameter"),Z(e,"isEnabled")}return e.state.enable=r,e}function te(e){i(e.state),e.state.pop()}function ne(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return re(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return re(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2])||arguments[2],r=ue(e),i=e.drawingBufferWidth,o=e.drawingBufferHeight;return fe(t,r,i,o,n)}function le(e){var t="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}function fe(e,t,n,r,i){var o,a=he(e[0],t,n),s=de(e[1],t,r,i),u=he(e[0]+1,t,n),c=u===n-1?u:u-1;return u=de(e[1]+1,t,r,i),i?(o=s,s=u=0===u?u:u+1):o=u===r-1?u:u-1,{x:a,y:s,width:Math.max(c-a+1,1),height:Math.max(o-s+1,1)}}function he(e,t,n){return Math.min(Math.round(e*t),n-1)}function de(e,t,n,r){return r?Math.max(0,n-1-Math.round(e*t)):Math.min(Math.round(e*t),n-1)}var pe=Object(l.isBrowser)(),ve=pe&&"undefined"!=typeof document,ge={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function ye(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(pe,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils");var t,n=e=Object.assign({},ge,e),r=n.width,o=n.height;function a(t){if(e.throwOnError)throw new Error(t);return console.error(t),null}e.onError=a;var s=e,u=s.canvas,c=Oe({canvas:u,width:r,height:o,onError:a});return(t=_e(c,e))?(we(t=me(t,e)),t):null}function me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||xe(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var n=t=Object.assign({},ge,t),i=n.manageState,o=n.debug;return i&&ee(e,{copyState:!1,log:function(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:{};if(e.canvas){var n=le(t.useDevicePixels);Ae(e,n,t)}else{var r=e.getExtension("STACKGL_resize_drawingbuffer");r&&"width"in t&&"height"in t&&r.resize(t.width,t.height)}}function _e(e,t){var n=t.onError,r=null,i=function(e){return r=e.statusMessage||r};e.addEventListener("webglcontextcreationerror",i,!1);var o=t.webgl1,a=void 0===o||o,s=t.webgl2,u=void 0===s||s,c=null;return u&&(c=(c=c||e.getContext("webgl2",t))||e.getContext("experimental-webgl2",t)),a&&(c=(c=c||e.getContext("webgl",t))||e.getContext("experimental-webgl",t)),e.removeEventListener("webglcontextcreationerror",i,!1),c?(t.onContextLost&&e.addEventListener("webglcontextlost",t.onContextLost,!1),t.onContextRestored&&e.addEventListener("webglcontextrestored",t.onContextRestored,!1),c):n("Failed to create ".concat(u&&!a?"WebGL2":"WebGL"," context: ").concat(r||"Unknown error"))}function Oe(e){var t,n=e.canvas,r=e.width,i=void 0===r?800:r,o=e.height,a=void 0===o?600:o,s=e.onError;"string"==typeof n?(ve&&"complete"===document.readyState||s("createGLContext called on canvas '".concat(n,"' before page was loaded")),t=document.getElementById(n)):n?t=n:((t=document.createElement("canvas")).id="lumagl-canvas",t.style.width=Number.isFinite(i)?"".concat(i,"px"):"100%",t.style.height=Number.isFinite(a)?"".concat(a,"px"):"100%",document.body.insertBefore(t,document.body.firstChild));return t}function we(e){var t=a(e)?"WebGL2":"WebGL1",n=function(e){var t=e.getParameter(7936),n=e.getParameter(7937),r=e.getExtension("WEBGL_debug_renderer_info");return{vendor:r&&e.getParameter(r.UNMASKED_VENDOR_WEBGL||7936)||t,renderer:r&&e.getParameter(r.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:t,rendererMasked:n,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e),i=n?"(".concat(n.vendor,",").concat(n.renderer,")"):"",o=e.debug?" debug":"";r.info(1,"".concat(t).concat(o," context ").concat(i))()}function xe(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext?2:1}function Ae(e,t,n){var i="width"in n?n.width:e.canvas.clientWidth,o="height"in n?n.height:e.canvas.clientHeight;i&&o||(r.log(1,"Canvas clientWidth/clientHeight is 0")(),t=1,i=e.canvas.width||1,o=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var a=e.luma.canvasSizeInfo;if(a.clientWidth!==i||a.clientHeight!==o||a.devicePixelRatio!==t){var s=t,u=Math.floor(i*s),c=Math.floor(o*s);e.canvas.width=u,e.canvas.height=c,e.drawingBufferWidth===u&&e.drawingBufferHeight===c||(r.warn("Device pixel ratio clamped")(),s=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/o),e.canvas.width=Math.floor(i*s),e.canvas.height=Math.floor(o*s)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:o,devicePixelRatio:t})}}n.d(t,"k",(function(){return r})),n.d(t,"i",(function(){return o})),n.d(t,"j",(function(){return a})),n.d(t,"g",(function(){return s})),n.d(t,"b",(function(){return u})),n.d(t,"a",(function(){return c})),n.d(t,"f",(function(){return oe})),n.d(t,"n",(function(){return ie})),n.d(t,"l",(function(){return ae})),n.d(t,"o",(function(){return se})),n.d(t,"c",(function(){return ye})),n.d(t,"m",(function(){return be})),n.d(t,"h",(function(){return me})),n.d(t,"e",(function(){return ue})),n.d(t,"d",(function(){return ce}))},function(e,t,n){var r=n(270),i=n(271),o=n(272);e.exports=function(e,t){return r(e)||i(e,t)||o()}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t,n){"use strict";function r(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return o}));var r=1e-6,i="undefined"!=typeof Float32Array?Float32Array:Array,o=Math.random;Math.PI;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)})},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"e",(function(){return s})),n.d(t,"f",(function(){return u})),n.d(t,"j",(function(){return l})),n.d(t,"i",(function(){return f})),n.d(t,"h",(function(){return h})),n.d(t,"c",(function(){return d})),n.d(t,"a",(function(){return p})),n.d(t,"g",(function(){return v})),n.d(t,"d",(function(){return g}));n(167),n(242),n(243),n(48);var r=1/Math.PI*180,i=1/180*Math.PI,o={};function a(e){return Math.round(e/o.EPSILON)*o.EPSILON}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.precision,r=void 0===n?o.precision||4:n;return e=a(e),"".concat(parseFloat(e.toPrecision(r)))}function u(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function c(e,t,n){if(u(e)){n=n||((i=e).clone?i.clone():new Array(i.length));for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};l()(this,e);var n=t.color,r=void 0===n?g:n,i=t.intensity,o=void 0===i?1:i,a=t.position,s=void 0===a?m:a;this.id=t.id||"point-".concat(b++),this.color=r,this.intensity=o,this.type="point",this.position=s,this.attenuation=O(t),this.projectedLight=v({},this)}return h()(e,[{key:"getProjectedLight",value:function(e){var t=e.layer,n=this.projectedLight,i=t.context.viewport,o=t.props,a=o.coordinateSystem,s=o.coordinateOrigin,u=Object(d.b)(this.position,{viewport:i,coordinateSystem:a,coordinateOrigin:s,fromCoordinateSystem:i.isGeospatial?r.a.LNGLAT:r.a.CARTESIAN,fromCoordinateOrigin:[0,0,0]});return n.color=this.color,n.intensity=this.intensity,n.position=u,n}}]),e}();function O(e){return"attenuation"in e?e.attenuation:"intensity"in e?[0,0,e.intensity]:y}var w=n(6),x=n.n(w),A=n(7),P=n.n(A),S=n(2),k=n.n(S),C=n(118);function j(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k()(e);if(t){var i=k()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return P()(this,n)}}var E=function(e){x()(n,e);var t=j(n);function n(){return l()(this,n),t.apply(this,arguments)}return h()(n,[{key:"getProjectedLight",value:function(e){var t=e.layer,n=this.projectedLight,r=t.context.viewport,i=t.props,o=i.coordinateSystem,a=i.coordinateOrigin,s=i.modelMatrix,u=Object(C.b)({viewport:r,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a}).project_uCameraPosition;return n.color=this.color,n.intensity=this.intensity,n.position=u,n}}]),n}(_),T=n(11),M=n.n(T),B=n(119),I=n.n(B),R=Math.PI/180,L=23.4397*R;function D(e,t,n){var r,i,o,a,s,u,c=R*-n,l=R*t,f=function(e){return function(e){return e/864e5-.5+2440588}(e)-2451545}(e),h=(r=R*(357.5291+.98560028*f),i=R*(1.9148*Math.sin(r)+.02*Math.sin(2*r)+3e-4*Math.sin(3*r)),o=r+i+102.9372*R+Math.PI,{declination:(a=o,s=0,u=a,Math.asin(Math.sin(s)*Math.cos(L)+Math.cos(s)*Math.sin(L)*Math.sin(u))),rightAscension:N(o,0)}),d=function(e,t){return R*(280.147+360.9856235*e)-t}(f,c)-h.rightAscension;return{azimuth:U(d,l,h.declination),altitude:z(d,l,h.declination)}}function F(e,t,n){var r=D(e,t,n),i=r.azimuth,o=r.altitude;return[Math.sin(i)*Math.cos(o),Math.cos(i)*Math.cos(o),-Math.sin(o)]}function N(e,t){var n=e;return Math.atan2(Math.sin(n)*Math.cos(L)-Math.tan(t)*Math.sin(L),Math.cos(n))}function U(e,t,n){var r=e,i=t,o=n;return Math.atan2(Math.sin(r),Math.cos(r)*Math.sin(i)-Math.tan(o)*Math.cos(i))}function z(e,t,n){var r=e,i=t,o=n;return Math.asin(Math.sin(i)*Math.sin(o)+Math.cos(i)*Math.cos(o)*Math.cos(r))}var G=["timestamp"];function V(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k()(e);if(t){var i=k()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return P()(this,n)}}var H=function(e){x()(n,e);var t=V(n);function n(e){var r,i=e.timestamp,o=I()(e,G);return l()(this,n),(r=t.call(this,o)).timestamp=i,r}return h()(n,[{key:"getProjectedLight",value:function(e){var t=e.layer.context.viewport;if(t.resolution>0){var n=F(this.timestamp,0,0),r=M()(n,3),i=r[0],o=r[1],a=r[2];this.direction=[i,-a,o]}else{var s=t.latitude,u=t.longitude;this.direction=F(this.timestamp,s,u)}return this}}]),n}(a.a),W=n(80),J=n(20),X=n.n(J),K=n(179),q=n(70);function Z(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k()(e);if(t){var i=k()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return P()(this,n)}}var Y=[-1,-1,1,-1,-1,1,1,1],Q=function(e){x()(n,e);var t=Z(n);function n(e,r){var i;l()(this,n);var o=Y.map((function(e){return-1===e?0:e}));return(i=t.call(this,e,Object.assign({},r,{vs:"attribute vec2 aClipSpacePosition;\nattribute vec2 aTexCoord;\nattribute vec2 aCoordinate;\n\nvarying vec2 position;\nvarying vec2 coordinate;\nvarying vec2 uv;\n\nvoid main(void) {\n gl_Position = vec4(aClipSpacePosition, 0., 1.);\n position = aClipSpacePosition;\n coordinate = aCoordinate;\n uv = aTexCoord;\n}\n",geometry:new q.a({drawMode:5,vertexCount:4,attributes:{aClipSpacePosition:{size:2,value:new Float32Array(Y)},aTexCoord:{size:2,value:new Float32Array(o)},aCoordinate:{size:2,value:new Float32Array(o)}}})}))).setVertexCount(4),i}return n}(K.a),$=n(10),ee=n(181);function te(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k()(e);if(t){var i=k()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return P()(this,n)}}var ne=function(e){x()(n,e);var t=te(n);function n(e,r){var i;l()(this,n),i=t.call(this,e,r),u()(X()(i),"model",void 0);var o=r.module,a=r.fs,s=r.id;return i.model=new Q(e,{id:s,fs:a,modules:[o]}),i}return h()(n,[{key:"render",value:function(e){var t=this,n=this.gl;Object($.n)(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),Object($.o)(n,{framebuffer:e.outputBuffer,clearColor:[0,0,0,0]},(function(){return t._renderPass(n,e)}))}},{key:"delete",value:function(){this.model.delete(),this.model=null}},{key:"_renderPass",value:function(e,t){var n=t.inputBuffer;Object(ee.a)(e,{color:!0}),this.model.draw({moduleSettings:this.props.moduleSettings,uniforms:{texture:n,texSize:[n.width,n.height]},parameters:{depthWrite:!1,depthTest:!1}})}}]),n}(n(173).a),re=n(198);function ie(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return oe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return oe(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function oe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return l()(this,n),(r=t.call(this,i)).id="".concat(e.name,"-pass"),Object(re.b)(e),r.module=e,r}return h()(n,[{key:"postRender",value:function(e,t){this.passes||(this.passes=function(e,t,n,r){if(t.filter||t.sampler){var i=le(t);return[new ne(e,{id:n,module:t,fs:i,moduleSettings:r})]}return(t.passes||[]).map((function(i,o){var a=le(t,i),s="".concat(n,"-").concat(o);return new ne(e,{id:s,module:t,fs:a,moduleSettings:r})}))}(e,this.module,this.id,this.props));for(var n=t.target,r=t.inputBuffer,i=t.swapBuffer,o=0;o1&&void 0!==arguments[1]?arguments[1]:e;if(t.filter){var n="string"==typeof t.filter?t.filter:"".concat(e.name,"_filterColor");return ue(n)}if(t.sampler){var r="string"==typeof t.sampler?t.sampler:"".concat(e.name,"_sampleColor");return ce(r)}return null}var fe=n(79),he=n(227),de=n(161),pe=n(156),ve=n(155),ge=n(192),ye=n(163),me=n(46),be=n(90),_e=n(85),Oe=n(27),we=n(31);function xe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ae(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};l()(this,n);var i=r.latitude,o=void 0===i?0:i,a=r.longitude,s=void 0===a?0:a,u=r.zoom,c=void 0===u?11:u,f=r.nearZMultiplier,h=void 0===f?.1:f,d=r.farZMultiplier,p=void 0===d?2:d,v=r.resolution,g=void 0===v?10:v,y=r.width,m=r.height,b=r.altitude,_=void 0===b?1.5:b;y=y||1,m=m||1,_=Math.max(.75,_);var O=(new _e.a).lookAt({eye:[0,-_,0],up:[0,0,1]}),w=Math.pow(2,c);O.rotateX(o*Se),O.rotateZ(-s*Se),O.scale(w/m);var x=Math.atan(.5/_),A=512*w/m;return(e=t.call(this,Ae(Ae({},r),{},{width:y,height:m,viewMatrix:O,longitude:s,latitude:o,zoom:c,fovyRadians:2*x,aspect:y/m,focalDistance:_,near:h,far:Math.min(2,1/A+1)*_*p}))).resolution=g,e.distanceScales=Ce(),e}return h()(n,[{key:"projectionMode",get:function(){return r.d.GLOBE}},{key:"getDistanceScales",value:function(){return this.distanceScales}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={targetZ:e.z||0},n=this.unproject([0,this.height/2],t),r=this.unproject([this.width/2,0],t),i=this.unproject([this.width,this.height/2],t),o=this.unproject([this.width/2,this.height],t);return i[0]this.longitude&&(n[0]-=360),[Math.min(n[0],i[0],r[0],o[0]),Math.min(n[1],i[1],r[1],o[1]),Math.max(n[0],i[0],r[0],o[0]),Math.max(n[1],i[1],r[1],o[1])]}},{key:"unproject",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.topLeft,i=void 0===r||r,o=n.targetZ,a=M()(e,3),s=a[0],u=a[1],c=a[2],l=i?u:this.height-u,f=this.pixelUnprojectionMatrix;if(Number.isFinite(c))t=Ee(f,[s,l,c,1]);else{var h=Ee(f,[s,l,-1,1]),d=Ee(f,[s,l,1,1]),p=256*((o||0)/6370972+1),v=Oe.q(Oe.r([],h,d)),g=Oe.q(h),y=Oe.q(d),m=(4*g*y-Math.pow(v-g-y,2))/16,b=4*m/v,_=Math.sqrt(g-b),O=Math.sqrt(Math.max(0,p*p-b)),w=(_-O)/Math.sqrt(v);t=Oe.j([],h,d,w)}var x=this.unprojectPosition(t),A=M()(x,3),P=A[0],S=A[1],k=A[2];return Number.isFinite(c)?[P,S,k]:Number.isFinite(o)?[P,S,o]:[P,S]}},{key:"projectPosition",value:function(e){var t=M()(e,3),n=t[0],r=t[1],i=t[2],o=void 0===i?0:i,a=n*Se,s=r*Se,u=Math.cos(s),c=256*(o/6370972+1);return[Math.sin(a)*u*c,-Math.cos(a)*u*c,Math.sin(s)*c]}},{key:"unprojectPosition",value:function(e){var t=M()(e,3),n=t[0],r=t[1],i=t[2],o=Oe.h(e),a=Math.asin(i/o);return[Math.atan2(n,-r)*ke,a*ke,6370972*(o/256-1)]}},{key:"projectFlat",value:function(e){return e}},{key:"unprojectFlat",value:function(e){return e}},{key:"panByPosition",value:function(e,t){var n=this.unproject(t);return{longitude:e[0]-n[0]+this.longitude,latitude:e[1]-n[1]+this.latitude}}}]),n}(me.a);function Ee(e,t){var n=we.n([],t,e);return we.k(n,n,1/n[3]),n}var Te=n(235),Me=n(102),Be=n(215),Ie=n(237),Re=n(117),Le=n(69),De=n(147),Fe=n(24),Ne=n(143),Ue=n(68),ze=n(120),Ge=n(39),Ve=n(74),He=n(15);function We(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Je(e){for(var t=1;t0&&void 0!==arguments[0]&&arguments[0],t=new Ne.a({bearing:this._viewportProps.bearing,pitch:e?90:90+this._viewportProps.pitch}),n=t.toVector3().normalize();return n}},{key:"panStart",value:function(){return this}},{key:"pan",value:function(){return this}},{key:"panEnd",value:function(){return this}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}},{key:"rotate",value:function(e){var t,n=e.pos,r=e.deltaAngleX,i=void 0===r?0:r,o=e.deltaAngleY,a=void 0===o?0:o,s=this._state,u=s.startRotatePos,c=s.startBearing,l=s.startPitch,f=this._viewportProps,h=f.width,d=f.height;if(!u||!Number.isFinite(c)||!Number.isFinite(l))return this;n?t={bearing:c-180*((n[0]-u[0])/h),pitch:l-90*((n[1]-u[1])/d)}:t={bearing:c-i,pitch:l-a};return this._getUpdatedState(t)}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startRotatePos:null,startBearing:null,startPitch:null})}},{key:"zoomStart",value:function(){return this._getUpdatedState({startZoomPosition:this._viewportProps.position,startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.scale,n=this._state.startZoomPosition;n||(n=this._viewportProps.position);var r=this.getDirection();return this._move(r,20*Math.log2(t),n)}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t.rotateZ({radians:Math.PI/2}),e)}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t.rotateZ({radians:-Math.PI/2}),e)}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t,e)}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=this.getDirection(!0);return this._move(t.negate(),e)}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this.zoom({scale:e})}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this.zoom({scale:1/e})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=Je({},this._viewportProps),r=n.bearing,i=n.longitude;return Math.abs(r-t.bearing)>180&&(n.bearing=r<0?r+360:r-360),Math.abs(i-t.longitude)>180&&(n.longitude=i<0?i+360:i-360),n}},{key:"_move",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._viewportProps.position,r=e.scale(t);return this._getUpdatedState({position:new Ve.a(n).add(r)})}},{key:"_getUpdatedState",value:function(e){return new n(Je(Je(Je({},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.pitch,n=e.maxPitch,r=e.minPitch,i=e.longitude,o=e.bearing;return e.pitch=Object(He.a)(t,r,n),(i<-180||i>180)&&(e.longitude=Object(Ge.e)(i+180,360)-180),(o<-180||o>180)&&(e.bearing=Object(Ge.e)(o+180,360)-180),e}}]),n}(ze.a),Ze=function(e){x()(n,e);var t=Xe(n);function n(e){return l()(this,n),t.call(this,qe,e)}return h()(n,[{key:"linearTransitionProps",get:function(){return["position","pitch","bearing"]}}]),n}(Ue.a);function Ye(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qe(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=t.topLeft,r=void 0===n||n,i=M()(e,3),o=i[0],a=i[1],s=i[2],u=void 0===s?this.projectedCenter[2]:s,c=r?a:this.height-a,l=Object(Fe.n)([o,c,u],this.pixelUnprojectionMatrix),f=M()(l,3),h=f[0],d=f[1],p=f[2];return[h,d,p]}},{key:"panByPosition",value:function(e,t){var n=this.project(e),r=[this.width/2+n[0]-t[0],this.height/2+n[1]-t[1],this.projectedCenter[2]];return{target:this.unproject(r)}}}]),n}(me.a);u()(ut,"displayName","OrbitView");var ct=function(e){x()(n,e);var t=ot(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};l()(this,n);var r=e.orbitAxis,i=void 0===r?"Z":r;return t.call(this,it(it({},e),{},{orbitAxis:i,type:ut}))}return h()(n,[{key:"controller",get:function(){return this._getControllerProps({type:nt.b})}}]),n}(Le.a),lt=n(151),ft=n(9),ht=n.n(ft),dt=n(110);function pt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k()(e);if(t){var i=k()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return P()(this,n)}}var vt=function(e){x()(n,e);var t=pt(n);function n(){return l()(this,n),t.apply(this,arguments)}return h()(n,[{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,r=e.zoom;e.zoom=Object(He.a)(r,n,t);var i=e.longitude,o=e.latitude;return(i<-180||i>180)&&(e.longitude=Object(Ge.e)(i+180,360)-180),e.latitude=Object(He.a)(o,-89,89),e}}]),n}(dt.a),gt=function(e){x()(n,e);var t=pt(n);function n(e){return l()(this,n),e.dragMode=e.dragMode||"pan",t.call(this,vt,e)}return h()(n,[{key:"setProps",value:function(e){ht()(k()(n.prototype),"setProps",this).call(this,e),this.dragRotate=!1,this.touchRotate=!1}},{key:"linearTransitionProps",get:function(){return["longitude","latitude","zoom"]}}]),n}(Ue.a);function yt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function mt(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function kt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};return l()(this,n),(e=t.call(this,{compare:["longitude","latitude","zoom","bearing","pitch"],extract:["width","height","longitude","latitude","zoom","bearing","pitch"],required:["width","height","latitude","longitude","zoom"]})).props=jt(jt({},Mt),r),e}return h()(n,[{key:"interpolateProps",value:function(e,t,n){var r,i=Object(Fe.d)(e,t,n,this.props),o=St(Tt);try{for(o.s();!(r=o.n()).done;){var a=r.value;i[a]=Object(He.g)(e[a]||0,t[a]||0,n)}}catch(e){o.e(e)}finally{o.f()}return i}},{key:"getDuration",value:function(e,t){var n=t.transitionDuration;return"auto"===n&&(n=Object(Fe.h)(e,t,this.props)),n}}]),n}(At.a),It=n(22),Rt=n(62),Lt=n(216),Dt=n(77),Ft=n(154),Nt=n(89),Ut=n(153),zt=n(131);n.d(t,"COORDINATE_SYSTEM",(function(){return r.a})),n.d(t,"OPERATION",(function(){return r.c})),n.d(t,"UNIT",(function(){return r.e})),n.d(t,"LightingEffect",(function(){return i.a})),n.d(t,"AmbientLight",(function(){return o.a})),n.d(t,"DirectionalLight",(function(){return a.a})),n.d(t,"PointLight",(function(){return _})),n.d(t,"_CameraLight",(function(){return E})),n.d(t,"_SunLight",(function(){return H})),n.d(t,"PostProcessEffect",(function(){return se})),n.d(t,"_LayersPass",(function(){return fe.a})),n.d(t,"Deck",(function(){return he.a})),n.d(t,"LayerManager",(function(){return de.a})),n.d(t,"AttributeManager",(function(){return pe.a})),n.d(t,"Layer",(function(){return ve.a})),n.d(t,"CompositeLayer",(function(){return ge.a})),n.d(t,"DeckRenderer",(function(){return ye.a})),n.d(t,"Viewport",(function(){return me.a})),n.d(t,"WebMercatorViewport",(function(){return be.a})),n.d(t,"_GlobeViewport",(function(){return je})),n.d(t,"picking",(function(){return Te.a})),n.d(t,"project",(function(){return Me.a})),n.d(t,"project32",(function(){return Be.a})),n.d(t,"gouraudLighting",(function(){return Ie.a})),n.d(t,"phongLighting",(function(){return Ie.b})),n.d(t,"shadow",(function(){return Re.a})),n.d(t,"View",(function(){return Le.a})),n.d(t,"MapView",(function(){return De.a})),n.d(t,"FirstPersonView",(function(){return tt})),n.d(t,"OrbitView",(function(){return ct})),n.d(t,"OrthographicView",(function(){return lt.a})),n.d(t,"_GlobeView",(function(){return _t})),n.d(t,"Controller",(function(){return Ue.a})),n.d(t,"MapController",(function(){return dt.b})),n.d(t,"_GlobeController",(function(){return gt})),n.d(t,"FirstPersonController",(function(){return Ze})),n.d(t,"OrbitController",(function(){return nt.b})),n.d(t,"OrthographicController",(function(){return Ot.a})),n.d(t,"Effect",(function(){return W.a})),n.d(t,"LayerExtension",(function(){return wt.a})),n.d(t,"TRANSITION_EVENTS",(function(){return xt.a})),n.d(t,"TransitionInterpolator",(function(){return At.a})),n.d(t,"LinearInterpolator",(function(){return Pt.a})),n.d(t,"FlyToInterpolator",(function(){return Bt})),n.d(t,"log",(function(){return It.a})),n.d(t,"createIterable",(function(){return Rt.a})),n.d(t,"fp64LowPart",(function(){return Ge.b})),n.d(t,"Tesselator",(function(){return Lt.a})),n.d(t,"_fillArray",(function(){return Dt.a})),n.d(t,"_flatten",(function(){return Dt.b})),n.d(t,"_count",(function(){return Ft.a})),n.d(t,"_memoize",(function(){return Nt.a})),n.d(t,"_mergeShaders",(function(){return Ut.a})),n.d(t,"_compareProps",(function(){return zt.a}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"d",(function(){return o})),n.d(t,"e",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return u}));var r=n(22),i={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(i,"IDENTITY",{get:function(){return r.a.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0}});var o={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},a={common:0,meters:1,pixels:2},s={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},u={DRAW:"draw",MASK:"mask"}},function(e,t,n){"use strict";var r=n(15),i=n(74);n.d(t,"a",(function(){return i.a}));var o={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global};(o.global||o.self||o.window).mathgl={config:r.b}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},,function(e,t,n){"use strict";var r=n(12),i=n.n(r),o=n(16),a=n.n(o),s=n(0),u=n.n(s),c=n(1),l=n.n(c),f=n(3),h=n.n(f),d=n(5),p=n(169);Object(p.a)();function v(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}var g,y=function(){function e(t){l()(this,e);var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";Object(d.a)(this,"storage",void 0),Object(d.a)(this,"id",void 0),Object(d.a)(this,"config",{}),this.storage=v(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return h()(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function m(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var o=e.width*n,a=e.height*n,s=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(i,");"),"background-size:".concat(o,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}function b(e){return"string"==typeof e?g[e.toUpperCase()]||g.WHITE:e}function _(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),o=_(i);try{var a=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(o.s();!(t=o.n()).done;)a()}catch(e){o.e(e)}finally{o.f()}}function x(e,t){if(!e)throw new Error(t||"Assertion failed")}!function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"}(g||(g={}));var A={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":i()(process))&&process},P=(globalThis,A.window||A.self||A.global),S=A.process||{};console;function k(){var e,t,n;if(p.a&&"performance"in P)e=null==P?void 0:null===(t=P.performance)||void 0===t?void 0:null===(n=t.now)||void 0===n?void 0:n.call(t);else if("hrtime"in S){var r,i=null==S?void 0:null===(r=S.hrtime)||void 0===r?void 0:r.call(S);e=1e3*i[0]+i[1]/1e6}else e=Date.now();return e}var C={debug:p.a&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},j={enabled:!0,level:0};function E(){}var T={},M={once:!0},B=function(){function e(){l()(this,e);var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;Object(d.a)(this,"id",void 0),Object(d.a)(this,"VERSION","8.7.10"),Object(d.a)(this,"_startTs",k()),Object(d.a)(this,"_deltaTs",k()),Object(d.a)(this,"_storage",void 0),Object(d.a)(this,"userData",{}),Object(d.a)(this,"LOG_THROTTLE_TIMEOUT",0),this.id=n,this._storage=new y("__probe-".concat(this.id,"__"),j),this.userData={},this.timeStamp("".concat(this.id," started")),w(this),Object.seal(this)}return h()(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((k()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((k()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(u()({},e,t))}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"assert",value:function(e,t){x(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,C.warn,arguments,M)}},{key:"error",value:function(e){return this._getLogFunction(0,e,C.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,C.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,C.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=R({logLevel:e,message:t,opts:n}),i=n.collapsed;return r.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||E)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=I(e)}},{key:"_getLogFunction",value:function(e,t,n,r,i){if(this._shouldLog(e)){var o;i=R({logLevel:e,message:t,args:r,opts:i}),x(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=k();var s=i.tag||i.message;if(i.once){if(T[s])return E;T[s]=k()}return t=function(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((s=n.total)<10?"".concat(s.toFixed(2),"ms"):s<100?"".concat(s.toFixed(1),"ms"):s<1e3?"".concat(s.toFixed(0),"ms"):"".concat((s/1e3).toFixed(2),"s")):"";t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),i=t,o=n.color,a=n.background,p.a||"string"!=typeof i||(o&&(o=b(o),i="[".concat(o,"m").concat(i,"")),a&&(o=b(a),i="[".concat(a+10,"m").concat(i,""))),t=i}var i,o,a;var s;return t}(this.id,i.message,i),(o=n).bind.apply(o,[console,t].concat(a()(i.args)))}return E}}]),e}();function I(e){if(!e)return 0;var t;switch(i()(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return x(Number.isFinite(t)&&t>=0),t}function R(e){var t=e.logLevel,n=e.message;e.logLevel=I(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(i()(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var o=i()(e.message);return x("string"===o||"object"===o),Object.assign(e,{args:r},e.opts)}function L(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}Object(d.a)(B,"VERSION","8.7.10");t.a=new B({id:"deck"})},function(e,t,n){"use strict";var r={};function i(e){var t=e&&e.lastIndexOf("/");return t>=0?e.substr(t+1):""}function o(e){var t=e&&e.lastIndexOf("/");return t>=0?e.substr(0,t):""}function a(){for(var e=arguments.length,t=new Array(e),n=0;nn?n:e}var l=Math.log2||function(e){return Math.log(e)*Math.LOG2E},f=n(25),h=n(30),d=n(27);function p(e,t){if(!e)throw new Error(t||"@math.gl/web-mercator: assertion failed.")}var v=Math.PI,g=v/4,y=v/180,m=180/v;function b(e){return Math.pow(2,e)}function _(e){return l(e)}function O(e){var t=i()(e,2),n=t[0],r=t[1];p(Number.isFinite(n)),p(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude");var o=r*y;return[512*(n*y+v)/(2*v),512*(v+Math.log(Math.tan(g+.5*o)))/(2*v)]}function w(e){var t=i()(e,2),n=t[0],r=t[1],o=n/512*(2*v)-v,a=2*(Math.atan(Math.exp(r/512*(2*v)-v))-g);return[o*m,a*m]}function x(e){var t=e.latitude;return p(Number.isFinite(t)),_(4003e4*Math.cos(t*y))-9}function A(e){var t=e.latitude,n=e.longitude,r=e.highPrecision,i=void 0!==r&&r;p(Number.isFinite(t)&&Number.isFinite(n));var o={},a=Math.cos(t*y),s=512/360/a,u=512/4003e4/a;if(o.unitsPerMeter=[u,u,u],o.metersPerUnit=[1/u,1/u,1/u],o.unitsPerDegree=[512/360,s,u],o.degreesPerUnit=[.703125,1/s,1/u],i){var c=y*Math.tan(t*y)/a,l=512/360*c/2,f=512/4003e4*c,h=f/s*u;o.unitsPerDegree2=[0,l,f],o.unitsPerMeter2=[h,0,h]}return o}function P(e,t){var n=i()(e,3),r=n[0],o=n[1],a=n[2],s=i()(t,3),u=s[0],c=s[1],l=s[2],f=A({longitude:r,latitude:o,highPrecision:!0}),h=f.unitsPerMeter,d=f.unitsPerMeter2,p=O(e);p[0]+=u*(h[0]+d[0]*c),p[1]+=c*(h[1]+d[1]*c);var v=w(p),g=(a||0)+(l||0);return Number.isFinite(a)||Number.isFinite(l)?[v[0],v[1],g]:v}function S(e){var t=e.height,n=e.pitch,r=e.bearing,i=e.altitude,o=e.scale,a=e.center,s=void 0===a?null:a,u=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return f.p(u,u,[0,0,-i]),f.l(u,u,-n*y),f.n(u,u,r*y),o/=t,f.o(u,u,[o,o,o]),s&&f.p(u,u,d.l([],s)),u}function k(e){var t=e.width,n=e.height,r=e.fovy,i=void 0===r?C(1.5):r,o=e.altitude,a=e.pitch,s=void 0===a?0:a,u=e.nearZMultiplier,c=void 0===u?1:u,l=e.farZMultiplier,f=void 0===l?1:l;void 0!==o&&(i=C(o));var h=.5*i*y,d=j(i),p=s*y,v=Math.sin(h)*d/Math.sin(Math.min(Math.max(Math.PI/2-p-h,.01),Math.PI-.01));return{fov:2*h,aspect:t/n,focalDistance:d,near:c,far:(Math.sin(p)*v+d)*f}}function C(e){return 2*Math.atan(.5/e)*m}function j(e){return.5/Math.tan(.5*e*y)}function E(e,t){var n=i()(e,3),r=n[0],o=n[1],s=n[2],u=void 0===s?0:s;return p(Number.isFinite(r)&&Number.isFinite(o)&&Number.isFinite(u)),a(t,[r,o,u,1])}function T(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=i()(e,3),o=r[0],s=r[1],u=r[2];if(p(Number.isFinite(o)&&Number.isFinite(s),"invalid pixel coordinate"),Number.isFinite(u)){var c=a(t,[o,s,u,1]);return c}var l=a(t,[o,s,0,1]),f=a(t,[o,s,1,1]),d=l[2],v=f[2],g=d===v?0:((n||0)-d)/(v-d);return h.c([],l,f,g)}function M(e){var t=e.width,n=e.height,r=e.bounds,o=e.minExtent,a=void 0===o?0:o,s=e.maxZoom,u=void 0===s?24:s,f=e.padding,h=void 0===f?0:f,d=e.offset,v=void 0===d?[0,0]:d,g=i()(r,2),y=i()(g[0],2),m=y[0],b=y[1],_=i()(g[1],2),x=_[0],A=_[1];if(Number.isFinite(h)){h={top:h,bottom:h,left:h,right:h}}else p(Number.isFinite(h.top)&&Number.isFinite(h.bottom)&&Number.isFinite(h.left)&&Number.isFinite(h.right));var P=O([m,c(A,-85.051129,85.051129)]),S=O([x,c(b,-85.051129,85.051129)]),k=[Math.max(Math.abs(S[0]-P[0]),a),Math.max(Math.abs(S[1]-P[1]),a)],C=[t-h.left-h.right-2*Math.abs(v[0]),n-h.top-h.bottom-2*Math.abs(v[1])];p(C[0]>0&&C[1]>0);var j=C[0]/k[0],E=C[1]/k[1],T=(h.right-h.left)/2/j,M=(h.bottom-h.top)/2/E,B=w([(S[0]+P[0])/2+T,(S[1]+P[1])/2+M]),I=Math.min(u,l(Math.abs(Math.min(j,E))));return p(Number.isFinite(I)),{longitude:B[0],latitude:B[1],zoom:I}}var B=Math.PI/180;function I(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=e.width,o=e.height,a=e.unproject,s={targetZ:r},u=a([0,o],s),c=a([i,o],s),l=e.fovy?.5*e.fovy*B:Math.atan(.5/e.altitude),f=(90-e.pitch)*B;return l>f-.01?(t=R(e,0,r),n=R(e,i,r)):(t=a([0,0],s),n=a([i,0],s)),[u,c,n,t]}function R(e,t,n){var r=e.pixelUnprojectionMatrix,i=a(r,[t,0,1,1]),o=a(r,[t,e.height,1,1]),s=(n*e.distanceScales.unitsPerMeter[2]-i[2])/(o[2]-i[2]),u=w(h.c([],i,o,s));return u[2]=n,u}function L(e){var t=e.width,n=e.height,r=e.longitude,i=e.latitude,o=e.zoom,a=e.pitch,u=void 0===a?0:a,c=e.bearing,f=void 0===c?0:c;(r<-180||r>180)&&(r=s(r+180,360)-180),(f<-180||f>180)&&(f=s(f+180,360)-180);var h=l(n/512);if(o<=h)o=h,i=0;else{var d=n/2/Math.pow(2,o),p=w([0,d])[1];if(iv&&(i=v)}}return{width:t,height:n,longitude:r,latitude:i,zoom:o,pitch:u,bearing:f}}function D(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return F(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return F(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n3&&void 0!==arguments[3]?arguments[3]:{},i={},o=V(e,t,r),a=o.startZoom,s=o.startCenterXY,c=o.uDelta,l=o.w0,f=o.u1,d=o.S,p=o.rho,v=o.rho2,g=o.r0;if(f<.01){var y,m=D(N);try{for(m.s();!(y=m.n()).done;){var b=y.value,O=e[b],x=t[b];i[b]=u(O,x,n)}}catch(e){m.e(e)}finally{m.f()}return i}var A=n*d,P=Math.cosh(g)/Math.cosh(g+p*A),S=l*((Math.cosh(g)*Math.tanh(g+p*A)-Math.sinh(g))/v)/f,k=1/P,C=a+_(k),j=h.e([],c,S);h.a(j,j,s);var E=w(j);return i.longitude=E[0],i.latitude=E[1],i.zoom=C,i}function G(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r=Object.assign({},U,r),o=i.screenSpeed,a=i.speed,s=i.maxDuration,u=V(e,t,r),c=u.S,l=u.rho,f=1e3*c;return n=Number.isFinite(o)?f/(o/l):f/a,Number.isFinite(s)&&n>s?0:n}function V(e,t,n){var r=(n=Object.assign({},U,n)).curve,i=e.zoom,o=[e.longitude,e.latitude],a=b(i),s=t.zoom,u=[t.longitude,t.latitude],c=b(s-i),l=O(o),f=O(u),d=h.f([],f,l),p=Math.max(e.width,e.height),v=p/c,g=h.b(d)*a,y=Math.max(g,.01),m=r*r,_=(v*v-p*p+m*m*y*y)/(2*p*m*y),w=(v*v-p*p-m*m*y*y)/(2*v*m*y),x=Math.log(Math.sqrt(_*_+1)-_),A=Math.log(Math.sqrt(w*w+1)-w);return{startZoom:i,startCenterXY:l,uDelta:d,w0:p,u1:g,S:(A-x)/r,rho:r,rho2:m,r0:x,r1:A}}n.d(t,"f",(function(){return I})),n.d(t,"c",(function(){return M})),n.d(t,"m",(function(){return L})),n.d(t,"d",(function(){return z})),n.d(t,"h",(function(){return G})),n.d(t,"l",(function(){return O})),n.d(t,"o",(function(){return w})),n.d(t,"p",(function(){return E})),n.d(t,"n",(function(){return T})),n.d(t,"b",(function(){return C})),n.d(t,"e",(function(){return j})),n.d(t,"i",(function(){return x})),n.d(t,"g",(function(){return A})),n.d(t,"a",(function(){return P})),n.d(t,"k",(function(){return S})),n.d(t,"j",(function(){return k}))},function(e,t,n){"use strict";n.d(t,"q",(function(){return i})),n.d(t,"f",(function(){return o})),n.d(t,"a",(function(){return a})),n.d(t,"h",(function(){return s})),n.d(t,"p",(function(){return u})),n.d(t,"o",(function(){return c})),n.d(t,"k",(function(){return l})),n.d(t,"l",(function(){return f})),n.d(t,"m",(function(){return h})),n.d(t,"n",(function(){return d})),n.d(t,"e",(function(){return p})),n.d(t,"c",(function(){return v})),n.d(t,"d",(function(){return g})),n.d(t,"j",(function(){return y})),n.d(t,"i",(function(){return m})),n.d(t,"g",(function(){return b})),n.d(t,"b",(function(){return _}));var r=n(14);function i(e,t){if(e===t){var n=t[1],r=t[2],i=t[3],o=t[6],a=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[6]=t[9],e[7]=t[13],e[8]=r,e[9]=o,e[11]=t[14],e[12]=i,e[13]=a,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function o(e,t){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],h=t[10],d=t[11],p=t[12],v=t[13],g=t[14],y=t[15],m=n*s-r*a,b=n*u-i*a,_=n*c-o*a,O=r*u-i*s,w=r*c-o*s,x=i*c-o*u,A=l*v-f*p,P=l*g-h*p,S=l*y-d*p,k=f*g-h*v,C=f*y-d*v,j=h*y-d*g,E=m*j-b*C+_*k+O*S-w*P+x*A;return E?(E=1/E,e[0]=(s*j-u*C+c*k)*E,e[1]=(i*C-r*j-o*k)*E,e[2]=(v*x-g*w+y*O)*E,e[3]=(h*w-f*x-d*O)*E,e[4]=(u*S-a*j-c*P)*E,e[5]=(n*j-i*S+o*P)*E,e[6]=(g*_-p*x-y*b)*E,e[7]=(l*x-h*_+d*b)*E,e[8]=(a*C-s*S+c*A)*E,e[9]=(r*S-n*C-o*A)*E,e[10]=(p*w-v*_+y*m)*E,e[11]=(f*_-l*w-d*m)*E,e[12]=(s*P-a*k-u*A)*E,e[13]=(n*k-r*P+i*A)*E,e[14]=(v*b-p*O-g*m)*E,e[15]=(l*O-f*b+h*m)*E,e):null}function a(e){var t=e[0],n=e[1],r=e[2],i=e[3],o=e[4],a=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],h=e[11],d=e[12],p=e[13],v=e[14],g=e[15];return(t*a-n*o)*(f*g-h*v)-(t*s-r*o)*(l*g-h*p)+(t*u-i*o)*(l*v-f*p)+(n*s-r*a)*(c*g-h*d)-(n*u-i*a)*(c*v-f*d)+(r*u-i*s)*(c*p-l*d)}function s(e,t,n){var r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],h=t[9],d=t[10],p=t[11],v=t[12],g=t[13],y=t[14],m=t[15],b=n[0],_=n[1],O=n[2],w=n[3];return e[0]=b*r+_*s+O*f+w*v,e[1]=b*i+_*u+O*h+w*g,e[2]=b*o+_*c+O*d+w*y,e[3]=b*a+_*l+O*p+w*m,b=n[4],_=n[5],O=n[6],w=n[7],e[4]=b*r+_*s+O*f+w*v,e[5]=b*i+_*u+O*h+w*g,e[6]=b*o+_*c+O*d+w*y,e[7]=b*a+_*l+O*p+w*m,b=n[8],_=n[9],O=n[10],w=n[11],e[8]=b*r+_*s+O*f+w*v,e[9]=b*i+_*u+O*h+w*g,e[10]=b*o+_*c+O*d+w*y,e[11]=b*a+_*l+O*p+w*m,b=n[12],_=n[13],O=n[14],w=n[15],e[12]=b*r+_*s+O*f+w*v,e[13]=b*i+_*u+O*h+w*g,e[14]=b*o+_*c+O*d+w*y,e[15]=b*a+_*l+O*p+w*m,e}function u(e,t,n){var r,i,o,a,s,u,c,l,f,h,d,p,v=n[0],g=n[1],y=n[2];return t===e?(e[12]=t[0]*v+t[4]*g+t[8]*y+t[12],e[13]=t[1]*v+t[5]*g+t[9]*y+t[13],e[14]=t[2]*v+t[6]*g+t[10]*y+t[14],e[15]=t[3]*v+t[7]*g+t[11]*y+t[15]):(r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],h=t[9],d=t[10],p=t[11],e[0]=r,e[1]=i,e[2]=o,e[3]=a,e[4]=s,e[5]=u,e[6]=c,e[7]=l,e[8]=f,e[9]=h,e[10]=d,e[11]=p,e[12]=r*v+s*g+f*y+t[12],e[13]=i*v+u*g+h*y+t[13],e[14]=o*v+c*g+d*y+t[14],e[15]=a*v+l*g+p*y+t[15]),e}function c(e,t,n){var r=n[0],i=n[1],o=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*o,e[9]=t[9]*o,e[10]=t[10]*o,e[11]=t[11]*o,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function l(e,t,n,i){var o,a,s,u,c,l,f,h,d,p,v,g,y,m,b,_,O,w,x,A,P,S,k,C,j=i[0],E=i[1],T=i[2],M=Math.hypot(j,E,T);return M0&&(o=1/Math.sqrt(o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e}function l(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function f(e,t,n){var r=t[0],i=t[1],o=t[2],a=n[0],s=n[1],u=n[2];return e[0]=i*u-o*s,e[1]=o*a-r*u,e[2]=r*s-i*a,e}function h(e,t,n,r){var i=t[0],o=t[1],a=t[2];return e[0]=i+r*(n[0]-i),e[1]=o+r*(n[1]-o),e[2]=a+r*(n[2]-a),e}function d(e,t,n){var r=t[0],i=t[1],o=t[2],a=n[3]*r+n[7]*i+n[11]*o+n[15];return a=a||1,e[0]=(n[0]*r+n[4]*i+n[8]*o+n[12])/a,e[1]=(n[1]*r+n[5]*i+n[9]*o+n[13])/a,e[2]=(n[2]*r+n[6]*i+n[10]*o+n[14])/a,e}function p(e,t,n){var r=t[0],i=t[1],o=t[2];return e[0]=r*n[0]+i*n[3]+o*n[6],e[1]=r*n[1]+i*n[4]+o*n[7],e[2]=r*n[2]+i*n[5]+o*n[8],e}function v(e,t,n){var r=n[0],i=n[1],o=n[2],a=n[3],s=t[0],u=t[1],c=t[2],l=i*c-o*u,f=o*s-r*c,h=r*u-i*s,d=i*h-o*f,p=o*l-r*h,v=r*f-i*l,g=2*a;return l*=g,f*=g,h*=g,d*=2,p*=2,v*=2,e[0]=s+l+d,e[1]=u+f+p,e[2]=c+h+v,e}function g(e,t,n,r){var i=[],o=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],o[0]=i[0],o[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),o[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),e[0]=o[0]+n[0],e[1]=o[1]+n[1],e[2]=o[2]+n[2],e}function y(e,t,n,r){var i=[],o=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],o[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),o[1]=i[1],o[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),e[0]=o[0]+n[0],e[1]=o[1]+n[1],e[2]=o[2]+n[2],e}function m(e,t,n,r){var i=[],o=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],o[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),o[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),o[2]=i[2],e[0]=o[0]+n[0],e[1]=o[1]+n[1],e[2]=o[2]+n[2],e}function b(e,t){var n=e[0],r=e[1],i=e[2],o=t[0],a=t[1],s=t[2],u=Math.sqrt(n*n+r*r+i*i)*Math.sqrt(o*o+a*a+s*s),c=u&&l(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}var _,O=function(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e},w=function(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e},x=function(e,t){var n=t[0]-e[0],r=t[1]-e[1],i=t[2]-e[2];return Math.hypot(n,r,i)},A=o,P=function(e){var t=e[0],n=e[1],r=e[2];return t*t+n*n+r*r};_=i()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return u}));var r=n(15);function i(e,t){if(e.length!==t)return!1;for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:"";if(r.b.debug&&!i(e,t))throw new Error("math.gl: ".concat(n," some fields set to invalid numbers'"));return e}var s={};function u(e,t){s[e]||(s[e]=!0,console.warn("".concat(e," has been removed in version ").concat(t,", see upgrade guide for more information")))}},function(e,t,n){"use strict";n.d(t,"e",(function(){return r})),n.d(t,"d",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return s}));var r={NO_STATE:"Awaiting state",MATCHED:"Matched. State transferred from previous layer",INITIALIZED:"Initialized",AWAITING_GC:"Discarded. Awaiting garbage collection",AWAITING_FINALIZATION:"No longer matched. Awaiting garbage collection",FINALIZED:"Finalized! Awaiting garbage collection"},i=Symbol.for("component"),o=Symbol.for("asyncPropDefaults"),a=Symbol.for("asyncPropOriginal"),s=Symbol.for("asyncPropResolved")},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"e",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"c",(function(){return u})),n.d(t,"g",(function(){return c})),n.d(t,"h",(function(){return l})),n.d(t,"i",(function(){return f})),n.d(t,"j",(function(){return h})),n.d(t,"f",(function(){return v}));var r=n(14);function i(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e}function o(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e}function a(e){var t=e[0],n=e[1];return Math.hypot(t,n)}function s(e,t){return e[0]=-t[0],e[1]=-t[1],e}function u(e,t,n,r){var i=t[0],o=t[1];return e[0]=i+r*(n[0]-i),e[1]=o+r*(n[1]-o),e}function c(e,t,n){var r=t[0],i=t[1];return e[0]=n[0]*r+n[2]*i,e[1]=n[1]*r+n[3]*i,e}function l(e,t,n){var r=t[0],i=t[1];return e[0]=n[0]*r+n[2]*i+n[4],e[1]=n[1]*r+n[3]*i+n[5],e}function f(e,t,n){var r=t[0],i=t[1];return e[0]=n[0]*r+n[3]*i+n[6],e[1]=n[1]*r+n[4]*i+n[7],e}function h(e,t,n){var r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e}var d,p,v=function(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e};d=new r.a(2),r.a!=Float32Array&&(d[0]=0,d[1]=0),p=d},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"g",(function(){return o})),n.d(t,"c",(function(){return a})),n.d(t,"l",(function(){return s})),n.d(t,"a",(function(){return u})),n.d(t,"k",(function(){return c})),n.d(t,"h",(function(){return l})),n.d(t,"m",(function(){return f})),n.d(t,"j",(function(){return h})),n.d(t,"d",(function(){return d})),n.d(t,"i",(function(){return p})),n.d(t,"n",(function(){return v})),n.d(t,"o",(function(){return g})),n.d(t,"f",(function(){return y})),n.d(t,"e",(function(){return m}));var r=n(14);function i(e){var t=new r.a(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function o(e,t,n,i){var o=new r.a(4);return o[0]=e,o[1]=t,o[2]=n,o[3]=i,o}function a(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function s(e,t,n,r,i){return e[0]=t,e[1]=n,e[2]=r,e[3]=i,e}function u(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e}function c(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function l(e){var t=e[0],n=e[1],r=e[2],i=e[3];return Math.hypot(t,n,r,i)}function f(e){var t=e[0],n=e[1],r=e[2],i=e[3];return t*t+n*n+r*r+i*i}function h(e,t){var n=t[0],r=t[1],i=t[2],o=t[3],a=n*n+r*r+i*i+o*o;return a>0&&(a=1/Math.sqrt(a)),e[0]=n*a,e[1]=r*a,e[2]=i*a,e[3]=o*a,e}function d(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function p(e,t,n,r){var i=t[0],o=t[1],a=t[2],s=t[3];return e[0]=i+r*(n[0]-i),e[1]=o+r*(n[1]-o),e[2]=a+r*(n[2]-a),e[3]=s+r*(n[3]-s),e}function v(e,t,n){var r=t[0],i=t[1],o=t[2],a=t[3];return e[0]=n[0]*r+n[4]*i+n[8]*o+n[12]*a,e[1]=n[1]*r+n[5]*i+n[9]*o+n[13]*a,e[2]=n[2]*r+n[6]*i+n[10]*o+n[14]*a,e[3]=n[3]*r+n[7]*i+n[11]*o+n[15]*a,e}function g(e,t,n){var r=t[0],i=t[1],o=t[2],a=n[0],s=n[1],u=n[2],c=n[3],l=c*r+s*o-u*i,f=c*i+u*r-a*o,h=c*o+a*i-s*r,d=-a*r-s*i-u*o;return e[0]=l*c+d*-a+f*-u-h*-s,e[1]=f*c+d*-s+h*-a-l*-u,e[2]=h*c+d*-u+l*-s-f*-a,e[3]=t[3],e}function y(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function m(e,t){var n=e[0],i=e[1],o=e[2],a=e[3],s=t[0],u=t[1],c=t[2],l=t[3];return Math.abs(n-s)<=r.b*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-u)<=r.b*Math.max(1,Math.abs(i),Math.abs(u))&&Math.abs(o-c)<=r.b*Math.max(1,Math.abs(o),Math.abs(c))&&Math.abs(a-l)<=r.b*Math.max(1,Math.abs(a),Math.abs(l))}var b,_;b=new r.a(4),r.a!=Float32Array&&(b[0]=0,b[1]=0,b[2]=0,b[3]=0),_=b},function(e,t,n){e.exports=n(292)()},,function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.default=e.exports,e.exports.__esModule=!0,n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){e.exports=n(268)},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));var r=n(22),i={};function o(e){i=e}function a(e){var t;r.a.level>0&&i[e]&&(t=i[e]).call.apply(t,arguments)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return P}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(20),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(43),g=n(73),y=n(63),m=n(10),b=n(13),_=n(133);function O(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}var w={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},x={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:w},A={removedProps:w},P=function(e){l()(n,e);var t=O(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,n),(r=t.call(this,e,o)).stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),r.target=o.target||(r.gl.webgl2?36662:34962),r.initialize(o),Object.seal(u()(r)),r}return a()(n,[{key:"getElementCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/g.a.getBytesPerElement(e))}},{key:"getVertexCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/g.a.getBytesPerVertex(e))}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=Object(_.a)("Buffer",e,x),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}},{key:"setProps",value:function(e){return"accessor"in(e=Object(_.a)("Buffer",e,A))&&this.setAccessor(e.accessor),this}},{key:"setAccessor",value:function(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new g.a(e),this}},{key:"reallocate",value:function(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}},{key:"setData",value:function(e){return this.initialize(e)}},{key:"subData",value:function(e){ArrayBuffer.isView(e)&&(e={data:e});var t=e,n=t.data,r=t.offset,i=void 0===r?0:r,o=t.srcOffset,a=void 0===o?0:o,s=e.byteLength||e.length;Object(b.a)(n);var u=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(u,this.handle),0!==a||void 0!==s?(Object(m.a)(this.gl),this.gl.bufferSubData(this.target,i,n,a,s)):this.gl.bufferSubData(u,i,n),this.gl.bindBuffer(u,null),this.debugData=null,this._inferType(n),this}},{key:"copyData",value:function(e){var t=e.sourceBuffer,n=e.readOffset,r=void 0===n?0:n,i=e.writeOffset,o=void 0===i?0:i,a=e.size,s=this.gl;return Object(m.a)(s),s.bindBuffer(36662,t.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,r,o,a),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dstData,n=void 0===t?null:t,r=e.srcByteOffset,i=void 0===r?0:r,o=e.dstOffset,a=void 0===o?0:o,s=e.length,u=void 0===s?0:s;Object(m.a)(this.gl);var c,l,f=Object(y.c)(this.accessor.type||5126,{clamped:!1}),h=this._getAvailableElementCount(i),d=a;n?c=(l=n.length)-d:l=d+(c=Math.min(h,u||h));var p=Math.min(h,c);return u=u||p,Object(b.a)(u<=p),n=n||new f(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,i,n,a,u),this.gl.bindBuffer(36662,null),n}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,r=e.index,i=void 0===r?this.accessor&&this.accessor.index:r,o=e.offset,a=void 0===o?0:o,s=e.size;return 35345===n||35982===n?void 0!==s?this.gl.bindBufferRange(n,i,this.handle,a,s):(Object(b.a)(0===a),this.gl.bindBufferBase(n,i,this.handle)):this.gl.bindBuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,r=e.index,i=void 0===r?this.accessor&&this.accessor.index:r,o=35345===n||35982===n;return o?this.gl.bindBufferBase(n,i,null):this.gl.bindBuffer(n,null),this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.byteLength+t;Object(b.a)(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();var r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,n,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);var i=Object(y.b)(e);return Object(b.a)(i),this.setAccessor(new g.a(this.accessor,{type:i})),this}},{key:"_setByteLength",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.usage;Object(b.a)(e>=0),this._trackDeallocatedMemory();var n=e;0===e&&(n=new Float32Array(0));var r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,n,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?36663:this.target}},{key:"_getAvailableElementCount",value:function(e){var t=e/Object(y.c)(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-t}},{key:"_inferType",value:function(e){this.accessor.type||this.setAccessor(new g.a(this.accessor,{type:Object(y.b)(e)}))}},{key:"_createHandle",value:function(){return this.gl.createBuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_getParameter",value:function(e){this.gl.bindBuffer(this.target,this.handle);var t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}},{key:"type",get:function(){return m.k.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}},{key:"bytes",get:function(){return m.k.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}},{key:"setByteLength",value:function(e){return m.k.deprecated("setByteLength","reallocate")(),this.reallocate(e)}},{key:"updateAccessor",value:function(e){return m.k.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new g.a(this.accessor,e),this}}]),n}(v.a)},function(e,t,n){var r=n(214);e.exports=function(e){return new r(e)}},function(e,t,n){"use strict";var r=n(78),i=n(19);function o(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function a(e,t){var n=e%t;return n<0?t+n:n}function s(e){return[e[12],e[13],e[14]]}function u(e){return{left:f(e[3]+e[0],e[7]+e[4],e[11]+e[8],e[15]+e[12]),right:f(e[3]-e[0],e[7]-e[4],e[11]-e[8],e[15]-e[12]),bottom:f(e[3]+e[1],e[7]+e[5],e[11]+e[9],e[15]+e[13]),top:f(e[3]-e[1],e[7]-e[5],e[11]-e[9],e[15]-e[13]),near:f(e[3]+e[2],e[7]+e[6],e[11]+e[10],e[15]+e[14]),far:f(e[3]-e[2],e[7]-e[6],e[11]-e[10],e[15]-e[14])}}n.d(t,"a",(function(){return o})),n.d(t,"e",(function(){return a})),n.d(t,"c",(function(){return s})),n.d(t,"d",(function(){return u})),n.d(t,"b",(function(){return h})),n.d(t,"f",(function(){return d}));var c,l=new i.a;function f(e,t,n,r){l.set(e,t,n);var o=l.len();return{distance:r/o,normal:new i.a(-e/o,-t/o,-n/o)}}function h(e){return e-Math.fround(e)}function d(e,t){var n=t.size,i=void 0===n?1:n,o=t.startIndex,a=void 0===o?0:o,s=void 0!==t.endIndex?t.endIndex:e.length,u=(s-a)/i;c=r.a.allocate(c,u,{type:Float32Array,size:2*i});for(var l=a,f=0;l2&&void 0!==arguments[2]?arguments[2]:{},r=o(e,n);return r!==t&&(s(e,n),!0)}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Math.sign(a(e,t))}function a(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.start,r=void 0===n?0:n,i=t.end,o=void 0===i?e.length:i,a=t.size||2,s=0,u=r,c=o-a;u80*n){s=o=e[0],u=a=e[1];for(var O=n;Oo&&(o=h),d>a&&(a=d);i=0!==(i=Math.max(o-s,a-u))?1/i:0}return f(m,b,n,s,u,i),b}function c(e,t,n,r,i,o){var s,u;if(void 0===o&&(o=a(e,{start:t,end:n,size:r})),i===o<0)for(s=t;s=t;s-=r)u=E(s,e[s],e[s+1],u);return u&&A(u,u.next)&&(T(u),u=u.next),u}function l(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!A(r,r.next)&&0!==x(r.prev,r,r.next))r=r.next;else{if(T(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function f(e,t,n,r,i,o,a){if(e){!a&&o&&function(e,t,n,r){var i=e;do{null===i.z&&(i.z=b(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,n,r,i,o,a,s,u,c=1;do{for(i=e,e=null,u=null,r=0;i;){for(r++,a=i,o=0,n=0;n0||s>0&&a;)0!==o&&(0===s||!a||i.z<=a.z)?(t=i,i=i.nextZ,o--):(t=a,a=a.nextZ,s--),u?u.nextZ=t:e=t,t.prevZ=u,u=t;i=a}u.nextZ=null,c*=2}while(r>1)}(i)}(e,r,i,o);for(var s,u,c=e;e.prev!==e.next;)if(s=e.prev,u=e.next,o?d(e,r,i,o):h(e))t.push(s.i/n),t.push(e.i/n),t.push(u.i/n),T(e),e=u.next,c=u.next;else if((e=u)===c){a?1===a?f(e=p(l(e),t,n),t,n,r,i,o,2):2===a&&v(e,t,n,r,i,o):f(l(e),t,n,r,i,o,1);break}}}function h(e){var t=e.prev,n=e,r=e.next;if(x(t,n,r)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(O(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&x(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function d(e,t,n,r){var i=e.prev,o=e,a=e.next;if(x(i,o,a)>=0)return!1;for(var s=i.xo.x?i.x>a.x?i.x:a.x:o.x>a.x?o.x:a.x,l=i.y>o.y?i.y>a.y?i.y:a.y:o.y>a.y?o.y:a.y,f=b(s,u,t,n,r),h=b(c,l,t,n,r),d=e.prevZ,p=e.nextZ;d&&d.z>=f&&p&&p.z<=h;){if(d!==e.prev&&d!==e.next&&O(i.x,i.y,o.x,o.y,a.x,a.y,d.x,d.y)&&x(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,p!==e.prev&&p!==e.next&&O(i.x,i.y,o.x,o.y,a.x,a.y,p.x,p.y)&&x(p.prev,p,p.next)>=0)return!1;p=p.nextZ}for(;d&&d.z>=f;){if(d!==e.prev&&d!==e.next&&O(i.x,i.y,o.x,o.y,a.x,a.y,d.x,d.y)&&x(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;p&&p.z<=h;){if(p!==e.prev&&p!==e.next&&O(i.x,i.y,o.x,o.y,a.x,a.y,p.x,p.y)&&x(p.prev,p,p.next)>=0)return!1;p=p.nextZ}return!0}function p(e,t,n){var r=e;do{var i=r.prev,o=r.next.next;!A(i,o)&&P(i,r,r.next,o)&&C(i,o)&&C(o,i)&&(t.push(i.i/n),t.push(r.i/n),t.push(o.i/n),T(r),T(r.next),r=e=o),r=r.next}while(r!==e);return l(r)}function v(e,t,n,r,i,o){var a=e;do{for(var s=a.next.next;s!==a.prev;){if(a.i!==s.i&&w(a,s)){var u=j(a,s);return a=l(a,a.next),u=l(u,u.next),f(a,t,n,r,i,o),void f(u,t,n,r,i,o)}s=s.next}a=a.next}while(a!==e)}function g(e,t){return e.x-t.x}function y(e,t){if(t=function(e,t){var n,r=t,i=e.x,o=e.y,a=-1/0;do{if(o<=r.y&&o>=r.next.y&&r.next.y!==r.y){var s=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=i&&s>a){if(a=s,s===i){if(o===r.y)return r;if(o===r.next.y)return r.next}n=r.x=r.x&&r.x>=l&&i!==r.x&&O(on.x||r.x===n.x&&m(n,r)))&&(n=r,h=u)),r=r.next}while(r!==c);return n}(e,t)){var n=j(t,e);l(t,t.next),l(n,n.next)}}function m(e,t){return x(e.prev,e,t.prev)<0&&x(t.next,e,e.next)<0}function b(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function _(e){var t=e,n=e;do{(t.x=0&&(e-a)*(r-s)-(n-a)*(t-s)>=0&&(n-a)*(o-s)-(i-a)*(r-s)>=0}function w(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&P(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(C(e,t)&&C(t,e)&&function(e,t){var n=e,r=!1,i=(e.x+t.x)/2,o=(e.y+t.y)/2;do{n.y>o!=n.next.y>o&&n.next.y!==n.y&&i<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(x(e.prev,e,t.prev)||x(e,t.prev,t))||A(e,t)&&x(e.prev,e,e.next)>0&&x(t.prev,t,t.next)>0)}function x(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function A(e,t){return e.x===t.x&&e.y===t.y}function P(e,t,n,r){var i=k(x(e,t,n)),o=k(x(e,t,r)),a=k(x(n,r,e)),s=k(x(n,r,t));return i!==o&&a!==s||(!(0!==i||!S(e,n,t))||(!(0!==o||!S(e,r,t))||(!(0!==a||!S(n,e,r))||!(0!==s||!S(n,t,r)))))}function S(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function k(e){return e>0?1:e<0?-1:0}function C(e,t){return x(e.prev,e,e.next)<0?x(e,t,e.next)>=0&&x(e,e.prev,t)>=0:x(e,t,e.prev)<0||x(e,e.next,t)<0}function j(e,t){var n=new M(e.i,e.x,e.y),r=new M(t.i,t.x,t.y),i=e.next,o=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,o.next=r,r.prev=o,r}function E(e,t,n,r){var i=new M(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function T(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function M(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function B(e,t){var n=t.length,r=e.length;if(r>0){for(var i=!0,o=0;o4&&void 0!==arguments[4]?arguments[4]:[],o=r+t*n,a=0;a4&&void 0!==arguments[4]?arguments[4]:[];if(8&n)i=(r[3]-e[1])/(t[1]-e[1]),o=3;else if(4&n)i=(r[1]-e[1])/(t[1]-e[1]),o=1;else if(2&n)i=(r[2]-e[0])/(t[0]-e[0]),o=2;else{if(!(1&n))return null;i=(r[0]-e[0])/(t[0]-e[0]),o=0}for(var s=0;st[2]&&(n|=2),e[1]t[3]&&(n|=8),n}function F(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.size,o=void 0===i?2:i,a=r.broken,s=void 0!==a&&a,u=r.gridResolution,c=void 0===u?10:u,l=r.gridOffset,f=void 0===l?[0,0]:l,h=r.startIndex,d=void 0===h?0:h,p=r.endIndex,v=void 0===p?e.length:p,g=(v-d)/o,y=[],m=[y],b=R(e,0,o,d),_=G(b,c,f,[]),O=[];B(y,b);for(var w=1;wo&&(y=[],m.push(y),B(y,b)),n=D(t,_)}B(y,t),I(b,t)}return s?m:m[0]}function N(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{};if(!e.length)return[];for(var r=n.size,i=void 0===r?2:r,o=n.gridResolution,a=void 0===o?10:o,s=n.gridOffset,u=void 0===s?[0,0]:s,c=n.edgeTypes,l=void 0!==c&&c,f=[],h=[{pos:e,types:l&&new Array(e.length/i).fill(1),holes:t||[]}],d=[[],[]],p=[];h.length;){var v=h.shift(),g=v.pos,y=v.types,m=v.holes;H(g,i,m[0]||g.length,d),p=G(d[0],a,u,p);var b=D(d[1],p);if(b){var _=z(g,y,i,0,m[0]||g.length,p,b),O={pos:_[0].pos,types:_[0].types,holes:[]},w={pos:_[1].pos,types:_[1].types,holes:[]};h.push(O,w);for(var x=0;x=0?(B(h,s)&&p.push(c),_+=u):p.length&&(p[p.length-1]=0),I(g,s),y=u,m=c;return[b?{pos:f,types:t&&d}:null,_?{pos:h,types:t&&p}:null]}function G(e,t,n,r){var i=Math.floor((e[0]-n[0])/t)*t+n[0],o=Math.floor((e[1]-n[1])/t)*t+n[1];return r[0]=i,r[1]=o,r[2]=i+t,r[3]=o+t,r}function V(e,t,n){8&n?(e[1]+=t,e[3]+=t):4&n?(e[1]-=t,e[3]-=t):2&n?(e[0]+=t,e[2]+=t):1&n&&(e[0]-=t,e[2]-=t)}function H(e,t,n,r){for(var i=1/0,o=-1/0,a=1/0,s=-1/0,u=0;uo?c:o,a=ls?l:s}return r[0][0]=i,r[0][1]=a,r[1][0]=o,r[1][1]=s,r}function W(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return J(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return J(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function J(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=t.size,r=void 0===n?2:n,i=t.startIndex,o=void 0===i?0:i,a=t.endIndex,s=void 0===a?e.length:a,u=t.normalize,c=void 0===u||u,l=e.slice(o,s);Y(l,r,0,s-o);var f=F(l,{size:r,broken:!0,gridResolution:360,gridOffset:[-180,-180]});if(c){var h,d=W(f);try{for(d.s();!(h=d.n()).done;){var p=h.value;Q(p,r)}}catch(e){d.e(e)}finally{d.f()}}return f}function K(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.size,i=void 0===r?2:r,o=n.normalize,a=void 0===o||o,s=n.edgeTypes,u=void 0!==s&&s;t=t||[];for(var c=[],l=[],f=0,h=0,d=0;d<=t.length;d++){for(var p=t[d]||e.length,v=h,g=q(e,i,f,p),y=g;yi&&(i=s,o=a-1)}return o}function Z(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:85.051129,o=e[n],a=e[r-t];if(Math.abs(o-a)>180){var s=R(e,0,t,n);s[0]+=360*Math.round((a-o)/360),B(e,s),s[1]=Math.sign(s[1])*i,B(e,s),s[0]=o,B(e,s)}}function Y(e,t,n,r){for(var i,o=e[0],a=n;a180||s<-180)&&(i-=360*Math.round(s/360)),e[a]=o=i}}function Q(e,t){for(var n,r=e.length/t,i=0;i=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),Object(s.b)(t);var r=n.id,o=n.userData,a=void 0===o?{}:o;this.gl=t,this.gl2=t,this.id=r||Object(f.c)(this.constructor.name),this.userData=a,this._bound=!1,this._handle=n.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}return a()(e,[{key:"toString",value:function(){return"".concat(this.constructor.name,"(").concat(this.id,")")}},{key:"handle",get:function(){return this._handle}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deleteChildren,n=void 0!==t&&t,r=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,r&&n&&r.filter(Boolean).forEach((function(e){return e.delete()})),this}},{key:"bind",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.handle;return"function"!=typeof t?(this._bindHandle(t),this):(this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e)}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(c.b)(this.gl,e),Object(l.a)(e);var n=this.constructor.PARAMETERS||{},r=n[e];if(r){var i=Object(s.j)(this.gl),o=(!("webgl2"in r)||i)&&(!("extension"in r)||this.gl.getExtension(r.extension));if(!o){var a=r.webgl1,u="webgl2"in r?r.webgl2:r.webgl1,f=i?u:a;return f}}return this._getParameter(e,t)}},{key:"getParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.parameters,r=t.keys,i=this.constructor.PARAMETERS||{},o=Object(s.j)(this.gl),a={},u=n||Object.keys(i),l=d(u);try{for(l.s();!(e=l.n()).done;){var f=e.value,h=i[f],p=h&&(!("webgl2"in h)||o)&&(!("extension"in h)||this.gl.getExtension(h.extension));if(p){var v=r?Object(c.a)(this.gl,f):f;a[v]=this.getParameter(f,t),r&&"GLenum"===h.type&&(a[v]=Object(c.a)(this.gl,a[v]))}}}catch(e){l.e(e)}finally{l.f()}return a}},{key:"setParameter",value:function(e,t){e=Object(c.b)(this.gl,e),Object(l.a)(e);var n=(this.constructor.PARAMETERS||{})[e];if(n){var r=Object(s.j)(this.gl);if(!((!("webgl2"in n)||r)&&(!("extension"in n)||this.gl.getExtension(n.extension))))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(t=Object(c.b)(t))}return this._setParameter(e,t),this}},{key:"setParameters",value:function(e){for(var t in e)this.setParameter(t,e[t]);return this}},{key:"stubRemovedMethods",value:function(e,t,n){return Object(h.a)(this,e,t,n)}},{key:"initialize",value:function(e){}},{key:"_createHandle",value:function(){throw new Error(v)}},{key:"_deleteHandle",value:function(){throw new Error(v)}},{key:"_bindHandle",value:function(e){throw new Error(v)}},{key:"_getOptsFromHandle",value:function(){throw new Error(v)}},{key:"_getParameter",value:function(e,t){throw new Error(v)}},{key:"_setParameter",value:function(e,t){throw new Error(v)}},{key:"_context",value:function(){return this.gl.luma=this.gl.luma||{},this.gl.luma}},{key:"_addStats",value:function(){var e=this.constructor.name,t=u.a.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get("".concat(e,"s Created")).incrementCount(),t.get("".concat(e,"s Active")).incrementCount()}},{key:"_removeStats",value:function(){var e=this.constructor.name;u.a.get("Resource Counts").get("".concat(e,"s Active")).decrementCount()}},{key:"_trackAllocatedMemory",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.constructor.name,n=u.a.get("Memory Usage");n.get("GPU Memory").addCount(e),n.get("".concat(t," Memory")).addCount(e),this.byteLength=e}},{key:"_trackDeallocatedMemory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.constructor.name,t=u.a.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get("".concat(e," Memory")).subtractCount(this.byteLength),this.byteLength=0}}]),e}()},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e);var n=t.id,r=void 0===n?null:n,i=t.x,o=void 0===i?0:i,s=t.y,u=void 0===s?0:s,c=t.width,l=void 0===c?1:c,f=t.height,h=void 0===f?1:f;this.id=r||this.constructor.displayName||"viewport",this.x=o,this.y=u,this.width=l||1,this.height=h||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}return u()(e,[{key:"metersPerPixel",get:function(){return this.distanceScales.metersPerUnit[2]/this.scale}},{key:"projectionMode",get:function(){return this.isGeospatial?this.zoom<12?g.d.WEB_MERCATOR:g.d.WEB_MERCATOR_AUTO_OFFSET:g.d.IDENTITY}},{key:"equals",value:function(t){return t instanceof e&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&Object(f.d)(t.projectionMatrix,this.projectionMatrix)&&Object(f.d)(t.viewMatrix,this.viewMatrix))}},{key:"project",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.topLeft,r=void 0===n||n,o=this.projectPosition(e),a=Object(v.p)(o,this.pixelProjectionMatrix),s=i()(a,2),u=s[0],c=s[1],l=r?c:this.height-c;return 2===e.length?[u,l]:[u,l,a[2]]}},{key:"unproject",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.topLeft,r=void 0===n||n,o=t.targetZ,a=i()(e,3),s=a[0],u=a[1],c=a[2],l=r?u:this.height-u,f=o&&o*this.distanceScales.unitsPerMeter[2],h=Object(v.n)([s,l,c],this.pixelUnprojectionMatrix,f),d=this.unprojectPosition(h),p=i()(d,3),g=p[0],y=p[1],m=p[2];return Number.isFinite(c)?[g,y,m]:Number.isFinite(o)?[g,y,o]:[g,y]}},{key:"projectPosition",value:function(e){var t=this.projectFlat(e),n=i()(t,2);return[n[0],n[1],(e[2]||0)*this.distanceScales.unitsPerMeter[2]]}},{key:"unprojectPosition",value:function(e){var t=this.unprojectFlat(e),n=i()(t,2);return[n[0],n[1],(e[2]||0)*this.distanceScales.metersPerUnit[2]]}},{key:"projectFlat",value:function(e){if(this.isGeospatial){var t=Object(v.l)(e);return t[1]=Object(f.a)(t[1],-318,830),t}return e}},{key:"unprojectFlat",value:function(e){return this.isGeospatial?Object(v.o)(e):e}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={targetZ:e.z||0},n=this.unproject([0,0],t),r=this.unproject([this.width,0],t),i=this.unproject([0,this.height],t),o=this.unproject([this.width,this.height],t);return[Math.min(n[0],r[0],i[0],o[0]),Math.min(n[1],r[1],i[1],o[1]),Math.max(n[0],r[0],i[0],o[0]),Math.max(n[1],r[1],i[1],o[1])]}},{key:"getDistanceScales",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?Object(v.g)({longitude:e[0],latitude:e[1],highPrecision:!0}):this.distanceScales}},{key:"containsPixel",value:function(e){var t=e.x,n=e.y,r=e.width,i=void 0===r?1:r,o=e.height,a=void 0===o?1:o;return t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nc)n.set(t.subarray(0,c),i);else if(n.set(t,i),a)for(var l=u;l=v)){var y=g?r.value:r.getBuffer().getData({srcByteOffset:f});if(r.settings.normalized&&!g){var m=u;u=function(e,t){return r._normalizeConstant(m(e,t))}}var b=g?function(e,t){return u(y,t)}:function(e,t){return u(y.subarray(e,e+l),t)},_=t.getData({length:i}),O=new Float32Array(v);!function(e){var t=e.source,n=e.target,r=e.size,i=e.getData,a=e.sourceStartIndices,s=e.targetStartIndices;if(!Array.isArray(s))return o({source:t,target:n,size:r,getData:i}),n;for(var u=0,c=0,l=i&&function(e,t){return i(e+c,t)},f=Math.min(a.length,s.length),h=1;h0&&void 0!==arguments[0]?arguments[0]:"id";i[e]=i[e]||1;var t=i[e]++;return"".concat(e,"-").concat(t)}function a(e){return Object(r.a)("number"==typeof e,"Input must be a number"),e&&0==(e&e-1)}function s(e){var t=!0;for(var n in e){t=!1;break}return t}},function(e,t,n){var r=n(291);e.exports=function(e){return function(){return new r(e.apply(this,arguments))}}},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}));var r=n(13);function i(e,t){if("string"!=typeof t)return t;var n=Number(t);if(!isNaN(n))return n;var i=e[t=t.replace(/^.*\./,"")];return Object(r.a)(void 0!==i,"Accessing undefined constant GL.".concat(t)),i}function o(e,t){for(var n in t=Number(t),e)if(e[n]===t)return"GL.".concat(n);return String(t)}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,o=r,a={index:-1,data:e,target:[]};return e?"function"==typeof e[Symbol.iterator]?o=e:e.length>0&&(i.length=e.length,o=i):o=r,(t>0||Number.isFinite(n))&&(o=(Array.isArray(o)?o:Array.from(o)).slice(t,n),a.index=t-1),{iterable:o,objectInfo:a}}function a(e){return e&&e[Symbol.asyncIterator]}function s(e,t){var n=t.size,r=t.stride,i=t.offset,o=t.startIndices,a=t.nested,s=e.BYTES_PER_ELEMENT,u=r?r/s:n,c=i?i/s:0,l=Math.floor((e.length-c)/u);return function(t,r){var i=r.index,s=r.target;if(!o){for(var f=i*u+c,h=0;h1&&void 0!==arguments[1]?arguments[1]:{},n=t.clamped,r=void 0===n||n;switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return r?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function o(e){var t=e.data,n=e.width,r=e.height,i=e.bytesPerPixel,o=void 0===i?4:i,a=e.temp,s=n*o;a=a||new Uint8Array(s);for(var u=0;u=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},n=t.data;if(n instanceof Promise)return n.then((function(n){return e.initialize(Object.assign({},t,{pixels:n,data:n}))})),this;var r="undefined"!=typeof HTMLVideoElement&&n instanceof HTMLVideoElement;if(r&&n.readyState=HTMLVideoElement.HAVE_CURRENT_DATA?n.currentTime:-1}),this}},{key:"update",value:function(){if(this._video){var e=this._video,t=e.video,n=e.parameters;if(e.lastTime===t.currentTime||t.readyState0&&void 0!==arguments[0]?arguments[0]:{};return this._isNPOT()?(v.k.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Object(v.o)(this.gl,t,(function(){e.gl.generateMipmap(e.target)})),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(e){this._trackDeallocatedMemory("Texture");var t=e.target,n=void 0===t?this.target:t,r=e.pixels,o=void 0===r?null:r,a=e.level,s=void 0===a?0:a,u=e.format,c=void 0===u?this.format:u,l=e.border,f=void 0===l?this.border:l,h=e.offset,d=void 0===h?0:h,p=e.parameters,g=void 0===p?{}:p,y=e.data,m=void 0===y?null:y,O=e.type,x=void 0===O?this.type:O,A=e.width,P=void 0===A?this.width:A,S=e.height,k=void 0===S?this.height:S,C=e.dataFormat,j=void 0===C?this.dataFormat:C,E=e.compressed,T=void 0!==E&&E;m||(m=o);var M=this._deduceParameters({format:c,type:x,dataFormat:j,compressed:T,data:m,width:P,height:k});x=M.type,j=M.dataFormat,T=M.compressed,P=M.width,k=M.height;var B=this.gl;B.bindTexture(this.target,this.handle);var I,R,L=this._getDataType({data:m,compressed:T});if(m=L.data,I=L.dataType,Object(v.o)(this.gl,g,(function(){switch(I){case"null":B.texImage2D(n,s,c,P,k,f,j,x,m);break;case"typed-array":B.texImage2D(n,s,c,P,k,f,j,x,m,d);break;case"buffer":(R=Object(v.a)(B)).bindBuffer(35052,m.handle||m),R.texImage2D(n,s,c,P,k,f,j,x,d),R.bindBuffer(35052,null);break;case"browser-object":Object(v.j)(B)?B.texImage2D(n,s,c,P,k,f,j,x,m):B.texImage2D(n,s,c,j,x,m);break;case"compressed":var e,t=w(m.entries());try{for(t.s();!(e=t.n()).done;){var r=i()(e.value,2),o=r[0],a=r[1];B.compressedTexImage2D(n,o,a.format,a.width,a.height,f,a.data)}}catch(e){t.e(e)}finally{t.f()}break;default:Object(_.a)(!1,"Unknown image data type")}})),m&&m.byteLength)this._trackAllocatedMemory(m.byteLength,"Texture");else{var D=b.a[this.dataFormat]||4,F=b.c[this.type]||1;this._trackAllocatedMemory(this.width*this.height*D*F,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(e){var t=this,n=e.target,r=void 0===n?this.target:n,i=e.pixels,o=void 0===i?null:i,a=e.data,s=void 0===a?null:a,u=e.x,c=void 0===u?0:u,l=e.y,f=void 0===l?0:l,h=e.width,d=void 0===h?this.width:h,p=e.height,g=void 0===p?this.height:p,y=e.level,b=void 0===y?0:y,O=e.format,w=void 0===O?this.format:O,x=e.type,A=void 0===x?this.type:x,P=e.dataFormat,k=void 0===P?this.dataFormat:P,C=e.compressed,j=void 0!==C&&C,E=e.offset,T=void 0===E?0:E,M=e.border,B=(void 0===M&&this.border,e.parameters),I=void 0===B?{}:B,R=this._deduceParameters({format:w,type:A,dataFormat:k,compressed:j,data:s,width:d,height:g});if(A=R.type,k=R.dataFormat,j=R.compressed,d=R.width,g=R.height,Object(_.a)(0===this.depth,"texSubImage not supported for 3D textures"),s||(s=o),s&&s.data){var L=s;s=L.data,d=L.shape[0],g=L.shape[1]}s instanceof m.a&&(s=s.handle),this.gl.bindTexture(this.target,this.handle),Object(v.o)(this.gl,I,(function(){if(j)t.gl.compressedTexSubImage2D(r,b,c,f,d,g,w,s);else if(null===s)t.gl.texSubImage2D(r,b,c,f,d,g,k,A,null);else if(ArrayBuffer.isView(s))t.gl.texSubImage2D(r,b,c,f,d,g,k,A,s,T);else if(s instanceof S){var e=Object(v.a)(t.gl);e.bindBuffer(35052,s),e.texSubImage2D(r,b,c,f,d,g,k,A,T),e.bindBuffer(35052,null)}else if(Object(v.j)(t.gl)){Object(v.a)(t.gl).texSubImage2D(r,b,c,f,d,g,k,A,s)}else t.gl.texSubImage2D(r,b,c,f,k,A,s)})),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return v.k.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(34016)-33984}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}},{key:"_getDataType",value:function(e){var t=e.data,n=e.compressed;return void 0!==n&&n?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof m.a?{data:t.handle,dataType:"buffer"}:t instanceof S?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(e){var t=e.format,n=e.data,r=e.width,i=e.height,o=e.dataFormat,a=e.type,s=e.compressed,u=b.b[t];o=o||u&&u.dataFormat,a=a||u&&u.types[0],s=s||u&&u.compressed;var c=this._deduceImageSize(n,r,i);return{dataFormat:o,type:a,compressed:s,width:r=c.width,height:i=c.height,format:t,data:n}}},{key:"_deduceImageSize",value:function(e,t,n){var r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement?{width:e.width,height:e.height}:"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:n}:{width:t>=0?t:1,height:n>=0?n:1},Object(_.a)(r,"Could not deduced texture size"),Object(_.a)(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),Object(_.a)(void 0===n||r.height===n,"Deduced texture height does not match supplied height"),r}},{key:"_createHandle",value:function(){return this.gl.createTexture()}},{key:"_deleteHandle",value:function(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}},{key:"_getParameter",value:function(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);var t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}},{key:"_setParameter",value:function(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:Object(_.a)(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}},{key:"_isNPOT",value:function(){return!Object(v.j)(this.gl)&&(!(!this.width||!this.height)&&(!Object(O.b)(this.width)||!Object(O.b)(this.height)))}},{key:"_updateForNPOT",value:function(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}},{key:"_getNPOTParam",value:function(e,t){if(this._isNPOT())switch(e){case 10241:-1===P.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.format,r=t.linearFiltering,i=!0;return n&&(i=(i=i&&Object(b.d)(e,n))&&(!r||Object(b.e)(e,n))),i}}]),n}(y.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"i",(function(){return o})),n.d(t,"d",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"e",(function(){return u})),n.d(t,"h",(function(){return c})),n.d(t,"f",(function(){return l})),n.d(t,"g",(function(){return f})),n.d(t,"c",(function(){return h}));var r=n(14);function i(){var e=new r.a(9);return r.a!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function o(e,t){if(e===t){var n=t[1],r=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=n,e[5]=t[7],e[6]=r,e[7]=i}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function a(e,t){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*a-s*c,h=-l*o+s*u,d=c*o-a*u,p=n*f+r*h+i*d;return p?(p=1/p,e[0]=f*p,e[1]=(-l*r+i*c)*p,e[2]=(s*r-i*a)*p,e[3]=h*p,e[4]=(l*n-i*u)*p,e[5]=(-s*n+i*o)*p,e[6]=d*p,e[7]=(-c*n+r*u)*p,e[8]=(a*n-r*o)*p,e):null}function s(e){var t=e[0],n=e[1],r=e[2],i=e[3],o=e[4],a=e[5],s=e[6],u=e[7],c=e[8];return t*(c*o-a*u)+n*(-c*i+a*s)+r*(u*i-o*s)}function u(e,t,n){var r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],h=n[0],d=n[1],p=n[2],v=n[3],g=n[4],y=n[5],m=n[6],b=n[7],_=n[8];return e[0]=h*r+d*a+p*c,e[1]=h*i+d*s+p*l,e[2]=h*o+d*u+p*f,e[3]=v*r+g*a+y*c,e[4]=v*i+g*s+y*l,e[5]=v*o+g*u+y*f,e[6]=m*r+b*a+_*c,e[7]=m*i+b*s+_*l,e[8]=m*o+b*u+_*f,e}function c(e,t,n){var r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],h=n[0],d=n[1];return e[0]=r,e[1]=i,e[2]=o,e[3]=a,e[4]=s,e[5]=u,e[6]=h*r+d*a+c,e[7]=h*i+d*s+l,e[8]=h*o+d*u+f,e}function l(e,t,n){var r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],h=Math.sin(n),d=Math.cos(n);return e[0]=d*r+h*a,e[1]=d*i+h*s,e[2]=d*o+h*u,e[3]=d*a-h*r,e[4]=d*s-h*i,e[5]=d*u-h*o,e[6]=c,e[7]=l,e[8]=f,e}function f(e,t,n){var r=n[0],i=n[1];return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function h(e,t){var n=t[0],r=t[1],i=t[2],o=t[3],a=n+n,s=r+r,u=i+i,c=n*a,l=r*a,f=r*s,h=i*a,d=i*s,p=i*u,v=o*a,g=o*s,y=o*u;return e[0]=1-f-p,e[3]=l-y,e[6]=h+g,e[1]=l+y,e[4]=1-c-p,e[7]=d-v,e[2]=h-g,e[5]=d+v,e[8]=1-c-f,e}},function(t,n){t.exports=e},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));var r=n(12),i={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":n.n(r)()(process))&&process},o=i.window||i.self||i.global,a=i.process||{};console},function(e,t,n){"use strict";n.d(t,"a",(function(){return w}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(0),u=n.n(s),c=n(129),l=n(130);function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),u()(this,"ControllerState",void 0),u()(this,"controllerState",null),u()(this,"controllerStateProps",null),u()(this,"transitionManager",void 0),u()(this,"_transition",void 0),u()(this,"_events",null),u()(this,"eventManager",null),u()(this,"_interactionState",{isDragging:!1}),u()(this,"_customEvents",[]),u()(this,"onViewStateChange",null),u()(this,"onStateChange",null),u()(this,"makeViewport",void 0),u()(this,"_eventStartBlocked",void 0),u()(this,"_state",void 0),u()(this,"_panMove",void 0),u()(this,"invertPan",void 0),u()(this,"dragMode","rotate"),u()(this,"inertia",0),u()(this,"scrollZoom",!0),u()(this,"dragPan",!0),u()(this,"dragRotate",!0),u()(this,"doubleClickZoom",!0),u()(this,"touchZoom",!0),u()(this,"touchRotate",!1),u()(this,"keyboard",!0),this.ControllerState=t,this.transitionManager=new c.b(t,h(h({},n),{},{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));var r=this.linearTransitionProps;this._transition=r&&h(h({},p),{},{transitionInterpolator:new l.a({transitionProps:r})}),this.handleEvent=this.handleEvent.bind(this),this.setProps(n)}return a()(e,[{key:"linearTransitionProps",get:function(){return null}},{key:"events",set:function(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}},{key:"finalize",value:function(){for(var e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}},{key:"handleEvent",value:function(e){var t=this.ControllerState;this.controllerState=new t(h(h({makeViewport:this.makeViewport},this.controllerStateProps),this._state));var n=this._eventStartBlocked;switch(e.type){case"panstart":return!n&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!n&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!n&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}},{key:"getCenter",value:function(e){var t=this.controllerStateProps,n=t.x,r=t.y,i=e.offsetCenter;return[i.x-n,i.y-r]}},{key:"isPointInBounds",value:function(e,t){var n=this.controllerStateProps,r=n.width,i=n.height;if(t&&t.handled)return!1;var o=e[0]>=0&&e[0]<=r&&e[1]>=0&&e[1]<=i;return o&&t&&t.stopPropagation(),o}},{key:"isFunctionKeyPressed",value:function(e){var t=e.srcEvent;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}},{key:"isDragging",value:function(){return this._interactionState.isDragging}},{key:"blockEvents",value:function(e){var t=this,n=setTimeout((function(){t._eventStartBlocked===n&&(t._eventStartBlocked=null)}),e);this._eventStartBlocked=n}},{key:"setProps",value:function(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);var t=e.inertia;!0===t&&(t=300),this.inertia=t;var n=e.scrollZoom,r=void 0===n||n,i=e.dragPan,o=void 0===i||i,a=e.dragRotate,s=void 0===a||a,u=e.doubleClickZoom,c=void 0===u||u,l=e.touchZoom,f=void 0===l||l,h=e.touchRotate,d=void 0!==h&&h,p=e.keyboard,v=void 0===p||p,w=Boolean(this.onViewStateChange);this.toggleEvents(g,w&&r),this.toggleEvents(y,w&&(o||s)),this.toggleEvents(m,w&&(f||d)),this.toggleEvents(b,w&&d),this.toggleEvents(_,w&&c),this.toggleEvents(O,w&&v),this.scrollZoom=r,this.dragPan=o,this.dragRotate=s,this.doubleClickZoom=c,this.touchZoom=f,this.touchRotate=d,this.keyboard=v}},{key:"updateTransition",value:function(){this.transitionManager.updateTransition()}},{key:"toggleEvents",value:function(e,t){var n=this;this.eventManager&&e.forEach((function(e){n._events[e]!==t&&(n._events[e]=t,t?n.eventManager.on(e,n.handleEvent):n.eventManager.off(e,n.handleEvent))}))}},{key:"updateViewport",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=h(h({},e.getViewportProps()),t),i=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(n),i){var o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}},{key:"_onTransition",value:function(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}},{key:"_setInteractionState",value:function(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}},{key:"_onPanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);var r=this.controllerState[n?"panStart":"rotateStart"]({pos:t});return this._panMove=n,this.updateViewport(r,d,{isDragging:!0}),!0}},{key:"_onPan",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}},{key:"_onPanEnd",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}},{key:"_onPanMove",value:function(e){if(!this.dragPan)return!1;var t=this.getCenter(e),n=this.controllerState.pan({pos:t});return this.updateViewport(n,d,{isDragging:!0,isPanning:!0}),!0}},{key:"_onPanMoveEnd",value:function(e){var t=this.inertia;if(this.dragPan&&t&&e.velocity){var n=this.getCenter(e),r=[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2],i=this.controllerState.pan({pos:r}).panEnd();this.updateViewport(i,h(h({},this._getTransitionProps()),{},{transitionDuration:t,transitionEasing:v}),{isDragging:!1,isPanning:!0})}else{var o=this.controllerState.panEnd();this.updateViewport(o,null,{isDragging:!1,isPanning:!1})}return!0}},{key:"_onPanRotate",value:function(e){if(!this.dragRotate)return!1;var t=this.getCenter(e),n=this.controllerState.rotate({pos:t});return this.updateViewport(n,d,{isDragging:!0,isRotating:!0}),!0}},{key:"_onPanRotateEnd",value:function(e){var t=this.inertia;if(this.dragRotate&&t&&e.velocity){var n=this.getCenter(e),r=[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2],i=this.controllerState.rotate({pos:r}).rotateEnd();this.updateViewport(i,h(h({},this._getTransitionProps()),{},{transitionDuration:t,transitionEasing:v}),{isDragging:!1,isRotating:!0})}else{var o=this.controllerState.rotateEnd();this.updateViewport(o,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onWheel",value:function(e){if(!this.scrollZoom)return!1;e.preventDefault();var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.scrollZoom,r=n.speed,i=void 0===r?.01:r,o=n.smooth,a=void 0!==o&&o,s=e.delta,u=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==u&&(u=1/u);var c=this.controllerState.zoom({pos:t,scale:u});return this.updateViewport(c,h(h({},this._getTransitionProps({around:t})),{},{transitionDuration:a?250:1}),{isZooming:!0,isPanning:!0}),!0}},{key:"_onTriplePanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.rotateStart({pos:t});return this.updateViewport(n,d,{isDragging:!0}),!0}},{key:"_onTriplePan",value:function(e){if(!this.touchRotate)return!1;if(!this.isDragging())return!1;var t=this.getCenter(e);t[0]-=e.deltaX;var n=this.controllerState.rotate({pos:t});return this.updateViewport(n,d,{isDragging:!0,isRotating:!0}),!0}},{key:"_onTriplePanEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia;if(this.touchRotate&&t&&e.velocityY){var n=this.getCenter(e),r=[n[0],n[1]+=e.velocityY*t/2],i=this.controllerState.rotate({pos:r});this.updateViewport(i,h(h({},this._getTransitionProps()),{},{transitionDuration:t,transitionEasing:v}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{var o=this.controllerState.rotateEnd();this.updateViewport(o,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onPinchStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(n,d,{isDragging:!0}),!0}},{key:"_onPinch",value:function(e){if(!this.touchZoom&&!this.touchRotate)return!1;if(!this.isDragging())return!1;var t=this.controllerState;if(this.touchZoom){var n=e.scale,r=this.getCenter(e);t=t.zoom({pos:r,scale:n})}if(this.touchRotate){var i=e.rotation;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,d,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}},{key:"_onPinchEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia,n=this._lastPinchEvent;if(this.touchZoom&&t&&n&&e.scale!==n.scale){var r=this.getCenter(e),i=this.controllerState.rotateEnd(),o=Math.log2(e.scale),a=(o-Math.log2(n.scale))/(e.deltaTime-n.deltaTime),s=Math.pow(2,o+a*t/2);i=i.zoom({pos:r,scale:s}).zoomEnd(),this.updateViewport(i,h(h({},this._getTransitionProps({around:r})),{},{transitionDuration:t,transitionEasing:v}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{var u=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(u,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}},{key:"_onDoubleTap",value:function(e){if(!this.doubleClickZoom)return!1;var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:n?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}},{key:"_onKeyDown",value:function(e){if(!this.keyboard)return!1;var t,n=this.isFunctionKeyPressed(e),r=this.keyboard,i=r.zoomSpeed,o=r.moveSpeed,a=r.rotateSpeedX,s=r.rotateSpeedY,u=this.controllerState,c={};switch(e.srcEvent.code){case"Minus":t=n?u.zoomOut(i).zoomOut(i):u.zoomOut(i),c.isZooming=!0;break;case"Equal":t=n?u.zoomIn(i).zoomIn(i):u.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":n?(t=u.rotateLeft(a),c.isRotating=!0):(t=u.moveLeft(o),c.isPanning=!0);break;case"ArrowRight":n?(t=u.rotateRight(a),c.isRotating=!0):(t=u.moveRight(o),c.isPanning=!0);break;case"ArrowUp":n?(t=u.rotateUp(s),c.isRotating=!0):(t=u.moveUp(o),c.isPanning=!0);break;case"ArrowDown":n?(t=u.rotateDown(s),c.isRotating=!0):(t=u.moveDown(o),c.isPanning=!0);break;default:return!1}return this.updateViewport(t,this._getTransitionProps(),c),!0}},{key:"_getTransitionProps",value:function(e){var t=this._transition;return t?e?h(h({},t),{},{transitionInterpolator:new l.a(h(h({},e),{},{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:d}}]),e}()},function(e,t,n){"use strict";var r=n(12),i=n.n(r),o=n(0),a=n.n(o),s=n(1),u=n.n(s),c=n(3),l=n.n(c),f=n(46),h=/([0-9]+\.?[0-9]*)(%|px)/;function d(e){switch(i()(e)){case"number":return{position:e,relative:!1};case"string":var t=h.exec(e);if(t&&t.length>=3){var n="%"===t[2],r=parseFloat(t[1]);return{position:n?r/100:r,relative:n}}default:throw new Error("Could not parse position string ".concat(e))}}function p(e,t){return e.relative?Math.round(e.position*t):e.position}var v=n(71),g=n(40);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};u()(this,e);var n=t.id,r=void 0===n?null:n,i=t.x,o=void 0===i?0:i,a=t.y,s=void 0===a?0:a,c=t.width,l=void 0===c?"100%":c,h=t.height,d=void 0===h?"100%":h,p=t.viewportInstance,v=t.type,y=void 0===v?f.a:v;Object(g.a)(!p||p instanceof f.a),this.viewportInstance=p,this.id=r||this.constructor.displayName||"view",this.type=y,this.props=m(m({},t),{},{id:this.id}),this._parseDimensions({x:o,y:s,width:l,height:d}),this.equals=this.equals.bind(this),Object.seal(this)}return l()(e,[{key:"equals",value:function(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):Object(v.a)(this.props,e.props))}},{key:"makeViewport",value:function(e){var t=e.width,n=e.height,r=e.viewState;if(this.viewportInstance)return this.viewportInstance;r=this.filterViewState(r);var i=this.getDimensions({width:t,height:n});return this._getViewport(r,i)}},{key:"getViewStateId",value:function(){switch(i()(this.props.viewState)){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}},{key:"filterViewState",value:function(e){if(this.props.viewState&&"object"===i()(this.props.viewState)){if(!this.props.viewState.id)return this.props.viewState;var t=m({},e);for(var n in this.props.viewState)"id"!==n&&(t[n]=this.props.viewState[n]);return t}return e}},{key:"getDimensions",value:function(e){var t=e.width,n=e.height;return{x:p(this._x,t),y:p(this._y,n),width:p(this._width,t),height:p(this._height,n)}}},{key:"_getControllerProps",value:function(e){var t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),m(m({},e),t)):null}},{key:"_getViewport",value:function(e,t){return new(0,this.type)(m(m(m({},e),this.props),t))}},{key:"_parseDimensions",value:function(e){var t=e.x,n=e.y,r=e.width,i=e.height;this._x=d(t),this._y=d(n),this._width=d(r),this._height=d(i)}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(54),l=n(13);function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var h={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},d=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e);var n=t.id,r=void 0===n?Object(c.c)("geometry"):n,i=t.drawMode,o=void 0===i?h.TRIANGLES:i,s=t.attributes,u=void 0===s?{}:s,l=t.indices,f=void 0===l?null:l,d=t.vertexCount,p=void 0===d?null:d;this.id=r,this.drawMode=0|o,this.attributes={},this.userData={},this._setAttributes(u,f),this.vertexCount=p||this._calculateVertexCount(this.attributes,this.indices)}return u()(e,[{key:"mode",get:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?function(e){for(var t=1;t=1&&(n=Math.min(n,o.length/a))}return Object(l.a)(Number.isFinite(n)),n}}],[{key:"DRAW_MODE",get:function(){return h}}]),e}()},function(e,t,n){"use strict";function r(e,t){if(e===t)return!0;if(!e||!t)return!1;for(var n in e){var i=e[n],o=t[n];if(!(i===o||Array.isArray(i)&&Array.isArray(o)&&r(i,o)))return!1}return!0}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(26),i=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,o=/^([-\w.]+\/[-\w.+]+)/;function a(e){var t=i.exec(e);return t?t[1]:""}n.d(t,"b",(function(){return u})),n.d(t,"a",(function(){return c}));var s=/\?.*/;function u(e){if(Object(r.j)(e)){var t=l(e.url||""),n=e.headers.get("content-type")||"";return{url:t,type:(i=n,s=o.exec(i),(s?s[1]:i)||a(t))}}var i,s;return Object(r.b)(e)?{url:l(e.name||""),type:e.type||""}:"string"==typeof e?{url:l(e),type:a(e)}:{url:"",type:""}}function c(e){return Object(r.j)(e)?e.headers["content-length"]||-1:Object(r.b)(e)?e.size:"string"==typeof e?e.length:e instanceof ArrayBuffer?e.byteLength:ArrayBuffer.isView(e)?e.byteLength:-1}function l(e){return e.replace(s,"")}},function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var r=n(238),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(63),l=n(13),f=n(133),h={offset:0,stride:0,type:5126,size:1,divisor:0,normalized:!1,integer:!1},d={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},p=function(){function e(){var t=this;a()(this,e);for(var n=arguments.length,r=new Array(n),i=0;i0&&void 0!==arguments[0]?arguments[0]:{};return void 0!==(e=Object(f.a)("Accessor",e,d)).type&&(this.type=e.type,5124!==e.type&&5125!==e.type||(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&("boolean"==typeof e.index?this.index=e.index?1:0:this.index=e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}],[{key:"getBytesPerElement",value:function(e){return Object(c.c)(e.type||5126).BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(e){return Object(l.a)(e.size),Object(c.c)(e.type||5126).BYTES_PER_ELEMENT*e.size}},{key:"resolve",value:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return i()(this,n),e=t.call(this,-0,-0,-0),1===arguments.length&&Object(p.f)(r)?e.copy(r):(p.b.debug&&(Object(v.a)(r),Object(v.a)(o),Object(v.a)(a)),e[0]=r,e[1]=o,e[2]=a),e}return a()(n,[{key:"set",value:function(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return p.b.debug&&(Object(v.a)(e.x),Object(v.a)(e.y),Object(v.a)(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=Object(v.a)(e)}},{key:"angle",value:function(e){return g.b(this,e)}},{key:"cross",value:function(e){return g.d(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,n=e.origin,r=void 0===n?b:n;return g.n(this,this,r,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,n=e.origin,r=void 0===n?b:n;return g.o(this,this,r,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,n=e.origin,r=void 0===n?b:n;return g.p(this,this,r,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return g.t(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return Object(y.c)(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return g.s(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return Object(y.b)(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return g.u(this,this,e),this.check()}}],[{key:"ZERO",get:function(){return _.ZERO=_.ZERO||Object.freeze(new n(0,0,0,0))}}]),n}(d.a)},function(e,t,n){"use strict";n.r(t);var r=n(101),i=n(8),o=n.n(i),a=n(4),s=n.n(a),u=n(23);function c(e,t,n){return l.apply(this,arguments)}function l(){return(l=o()(s.a.mark((function e(t,n,r){var i;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("number"!=typeof t){e.next=4;break}return e.next=3,u.a._readToArrayBuffer(t,n,r);case 3:return e.abrupt("return",e.sent);case 4:return t instanceof Blob||(t=new Blob([t])),i=t.slice(n,n+r),e.next=8,f(i);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function f(e){return h.apply(this,arguments)}function h(){return(h=o()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise((function(e,n){var r=new FileReader;r.onload=function(t){var n;return e(null==t?void 0:null===(n=t.target)||void 0===n?void 0:n.result)},r.onerror=function(e){return n(e)},r.readAsArrayBuffer(t)}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var d=n(98),p=n(94),v=n(87),g=n(104);function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e=Object(d.b)(e),!p.c){var n=u.a.readFileSync(e,t);return"string"!=typeof n?Object(v.d)(n):n}return t.nothrow||Object(g.a)(!1),null}var m=n(99);function b(e,t,n){return _.apply(this,arguments)}function _(){return(_=o()(s.a.mark((function e(t,n,r){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=Object(d.b)(t),p.c){e.next=4;break}return e.next=4,u.a.writeFile(t,Object(m.c)(n),{flag:"w"});case 4:Object(g.a)(!1);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function O(e,t,n){e=Object(d.b)(e),p.c||u.a.writeFileSync(e,Object(m.c)(t),{flag:"w"}),Object(g.a)(!1)}var w=n(47);function x(e){Object(w.d)(e)}var A=n(109),P=n(88),S=n(103),k=n(12),C=n.n(k),j=n(53),E=n(121),T=n(96),M=n(72);function B(e,t,n,r){Object(g.a)(!r||"object"===C()(r)),Array.isArray(t)||Object(j.a)(t)||(r=void 0,n=t,t=void 0),n=n||{};var i=t,o=Object(T.b)(i,r),a=Object(P.b)(e,o,n);if(!a)return null;n=Object(w.c)(n,a,o);var s=Object(M.b)(e).url;return function(e,t,n,r){if(t=Object(E.b)(t,e,n),e.parseTextSync&&"string"==typeof t)return e.parseTextSync(t,n);if(e.parseSync&&t instanceof ArrayBuffer)return e.parseSync(t,n,r);throw new Error("".concat(e.name," loader: 'parseSync' not supported by this loader, use 'parse' instead. ").concat(r.url||""))}(a,e,n,r=Object(T.a)({url:s,parseSync:B,parse:function(){throw new Error("parseSync called parse")},loaders:t},n))}var I=n(0),R=n.n(I),L=n(55),D=n.n(L),F=n(38),N=n.n(F),U=n(41),z=n.n(U),G=n(246),V=n.n(G),H=n(149);function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function J(e){for(var t=1;t1&&void 0!==f[1]?f[1]:[],r=t,i=!1,o=!1,e.prev=4,u=z()(n);case 6:return e.next=8,u.next();case 8:if(!(i=!(c=e.sent).done)){e.next=14;break}l=c.value,r=l(r);case 11:i=!1,e.next=6;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(4),o=!0,a=e.t0;case 20:if(e.prev=20,e.prev=21,!i||null==u.return){e.next=25;break}return e.next=25,u.return();case 25:if(e.prev=25,!o){e.next=28;break}throw a;case 28:return e.finish(25);case 29:return e.finish(20);case 30:return e.abrupt("return",r);case 31:case"end":return e.stop()}}),e,null,[[4,16,20,30],[21,,25,29]])})))).apply(this,arguments)}var ee=n(212);function te(e,t,n,r){Array.isArray(t)||Object(j.a)(t)||(void 0,n=t,t=null);var i=Object(w.a)(n||{});return Array.isArray(e)?e.map((function(e){return ne(e,t,n,i)})):ne(e,t,n,i)}function ne(e,t,n,r){return re.apply(this,arguments)}function re(){return(re=o()(s.a.mark((function e(t,n,r,i){var o,a;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=8;break}return o=t,e.next=4,i(o);case 4:return a=e.sent,e.next=7,X(a,n,r);case 7:return e.abrupt("return",e.sent);case 8:return e.next=10,X(t,n,r);case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ie(e,t,n){return oe.apply(this,arguments)}function oe(){return(oe=o()(s.a.mark((function e(t,n,i){var o,a,u,c,l,f,h,d,g,y,m,_;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n.encode){e.next=4;break}return e.next=3,n.encode(t,i);case 3:return e.abrupt("return",e.sent);case 4:if(!n.encodeSync){e.next=6;break}return e.abrupt("return",n.encodeSync(t,i));case 6:if(!n.encodeText){e.next=12;break}return e.t0=new TextEncoder,e.next=10,n.encodeText(t,i);case 10:return e.t1=e.sent,e.abrupt("return",e.t0.encode.call(e.t0,e.t1));case 12:if(!n.encodeInBatches){e.next=44;break}o=ce(t,n,i),a=[],u=!1,c=!1,e.prev=17,f=z()(o);case 19:return e.next=21,f.next();case 21:if(!(u=!(h=e.sent).done)){e.next=27;break}d=h.value,a.push(d);case 24:u=!1,e.next=19;break;case 27:e.next=33;break;case 29:e.prev=29,e.t2=e.catch(17),c=!0,l=e.t2;case 33:if(e.prev=33,e.prev=34,!u||null==f.return){e.next=38;break}return e.next=38,f.return();case 38:if(e.prev=38,!c){e.next=41;break}throw l;case 41:return e.finish(38);case 42:return e.finish(33);case 43:return e.abrupt("return",v.b.apply(void 0,a));case 44:if(p.c||!n.encodeURLtoURL){e.next=56;break}return g=he("input"),e.next=48,b(g,t);case 48:return y=he("output"),e.next=51,le(g,y,n,i);case 51:return m=e.sent,e.next=54,Object(r.a)(m);case 54:return _=e.sent,e.abrupt("return",_.arrayBuffer());case 56:throw new Error("Writer could not encode data");case 57:case"end":return e.stop()}}),e,null,[[17,29,33,43],[34,,38,42]])})))).apply(this,arguments)}function ae(e,t,n){if(t.encodeSync)return t.encodeSync(e,n);throw new Error("Writer could not synchronously encode data")}function se(e,t,n){return ue.apply(this,arguments)}function ue(){return(ue=o()(s.a.mark((function e(t,n,r){var i;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n.text||!n.encodeText){e.next=4;break}return e.next=3,n.encodeText(t,r);case 3:return e.abrupt("return",e.sent);case 4:if(!n.text||!n.encode&&!n.encodeInBatches){e.next=9;break}return e.next=7,ie(t,n,r);case 7:return i=e.sent,e.abrupt("return",(new TextDecoder).decode(i));case 9:throw new Error("Writer could not encode data as text");case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ce(e,t,n){if(t.encodeInBatches){var r=function(e){return[{table:e,start:0,end:e.length}]}(e);return t.encodeInBatches(r,n)}throw new Error("Writer could not encode data in batches")}function le(e,t,n,r){return fe.apply(this,arguments)}function fe(){return(fe=o()(s.a.mark((function e(t,n,r,i){var o;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=Object(d.b)(t),n=Object(d.b)(n),!p.c&&r.encodeURLtoURL){e.next=4;break}throw new Error;case 4:return e.next=6,r.encodeURLtoURL(t,n,i);case 6:return o=e.sent,e.abrupt("return",o);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function he(e){return"/tmp/".concat(e)}function de(e,t,n,r){return pe.apply(this,arguments)}function pe(){return(pe=o()(s.a.mark((function e(t,n,r,i){var o;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ie(t,r,i);case 2:return o=e.sent,e.next=5,b(n,o);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ve(e,t,n,r){return O(t,ae(e,n,r))}var ge=n(217),ye=n(122);function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function be(e,t){var n=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new ReadableStream({type:"bytes",pull:function(e){return o()(s.a.mark((function t(){var r,i,o;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,n.next();case 3:r=t.sent,i=r.done,o=r.value,i?e.close():e.enqueue(new Uint8Array(o)),t.next=12;break;case 9:t.prev=9,t.t0=t.catch(0),e.error(t.t0);case 12:case"end":return t.stop()}}),t,null,[[0,9]])})))()},cancel:function(){return o()(s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==n?void 0:null===(t=n.return)||void 0===t?void 0:t.call(n);case 2:case"end":return e.stop()}}),e)})))()}},function(e){for(var t=1;t2&&void 0!==f[2]?f[2]:function(){},i=f.length>3&&void 0!==f[3]?f[3]:function(){},e.next=4,t;case 4:if((t=e.sent).ok){e.next=7;break}return e.abrupt("return",t);case 7:if(a=t.body){e.next=10;break}return e.abrupt("return",t);case 10:if(u=t.headers.get("content-length")||0,c=u&&parseInt(u),u>0){e.next=14;break}return e.abrupt("return",t);case 14:if("undefined"!=typeof ReadableStream&&a.getReader){e.next=16;break}return e.abrupt("return",t);case 16:return l=new ReadableStream({start:function(e){return o()(s.a.mark((function t(){var o;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=a.getReader(),t.next=3,ke(e,o,0,c,n,r,i);case 3:case"end":return t.stop()}}),t)})))()}}),e.abrupt("return",new Response(l));case 18:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ke(e,t,n,r,i,o,a){return Ce.apply(this,arguments)}function Ce(){return(Ce=o()(s.a.mark((function e(t,n,r,i,o,a,u){var c,l,f,h;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,n.read();case 3:if(c=e.sent,l=c.done,f=c.value,!l){e.next=10;break}return a(),t.close(),e.abrupt("return");case 10:return r+=f.byteLength,h=Math.round(r/i*100),o(h,{loadedBytes:r,totalBytes:i}),t.enqueue(f),e.next=16,ke(t,n,r,i,o,a,u);case 16:e.next=22;break;case 18:e.prev=18,e.t0=e.catch(0),t.error(e.t0),u(e.t0);case 22:case"end":return e.stop()}}),e,null,[[0,18]])})))).apply(this,arguments)}var je=n(1),Ee=n.n(je),Te=n(3),Me=n.n(Te),Be=n(5),Ie=function(){function e(t,n){Ee()(this,e),Object(Be.a)(this,"_fetch",void 0),Object(Be.a)(this,"files",{}),Object(Be.a)(this,"lowerCaseFiles",{}),Object(Be.a)(this,"usedFiles",{}),this._fetch=(null==n?void 0:n.fetch)||fetch;for(var r=0;r2&&void 0!==u[2]&&u[2],r=u.length>3&&void 0!==u[3]?u[3]:n.byteLength,u.length>4&&void 0!==u[4]&&u[4],i=t,o=0,e.next=7,i.slice(o,o+r).arrayBuffer();case 7:return a=e.sent,e.abrupt("return",{bytesRead:r,buffer:a});case 9:case"end":return e.stop()}}),e)}))),function(e,t){return n.apply(this,arguments)})},{key:"close",value:(t=o()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"_getFile",value:function(e,t){var n=this.files[e]||this.lowerCaseFiles[e];return n&&t&&(this.usedFiles[e]=!0),n}}]),e}(),Re=n(127),Le=n(26);n.d(t,"fetchFile",(function(){return r.a})),n.d(t,"readArrayBuffer",(function(){return c})),n.d(t,"readFileSync",(function(){return y})),n.d(t,"writeFile",(function(){return b})),n.d(t,"writeFileSync",(function(){return O})),n.d(t,"setLoaderOptions",(function(){return x})),n.d(t,"registerLoaders",(function(){return A.c})),n.d(t,"selectLoader",(function(){return P.a})),n.d(t,"selectLoaderSync",(function(){return P.b})),n.d(t,"parse",(function(){return S.a})),n.d(t,"parseSync",(function(){return B})),n.d(t,"parseInBatches",(function(){return X})),n.d(t,"load",(function(){return ee.a})),n.d(t,"loadInBatches",(function(){return te})),n.d(t,"encode",(function(){return ie})),n.d(t,"encodeSync",(function(){return ae})),n.d(t,"encodeInBatches",(function(){return ce})),n.d(t,"encodeText",(function(){return se})),n.d(t,"encodeURLtoURL",(function(){return le})),n.d(t,"save",(function(){return de})),n.d(t,"saveSync",(function(){return ve})),n.d(t,"setPathPrefix",(function(){return d.c})),n.d(t,"getPathPrefix",(function(){return d.a})),n.d(t,"resolvePath",(function(){return d.b})),n.d(t,"RequestScheduler",(function(){return ge.a})),n.d(t,"makeIterator",(function(){return ye.a})),n.d(t,"makeStream",(function(){return be})),n.d(t,"NullWorkerLoader",(function(){return we})),n.d(t,"NullLoader",(function(){return xe})),n.d(t,"JSONLoader",(function(){return Ae.a})),n.d(t,"_fetchProgress",(function(){return Pe})),n.d(t,"_BrowserFileSystem",(function(){return Ie})),n.d(t,"_unregisterLoaders",(function(){return A.a})),n.d(t,"isBrowser",(function(){return p.c})),n.d(t,"isWorker",(function(){return p.d})),n.d(t,"self",(function(){return p.e})),n.d(t,"window",(function(){return p.f})),n.d(t,"global",(function(){return p.b})),n.d(t,"document",(function(){return p.a})),n.d(t,"assert",(function(){return g.a})),n.d(t,"forEach",(function(){return H.b})),n.d(t,"concatenateArrayBuffersAsync",(function(){return H.a})),n.d(t,"makeTextDecoderIterator",(function(){return Re.c})),n.d(t,"makeTextEncoderIterator",(function(){return Re.d})),n.d(t,"makeLineIterator",(function(){return Re.a})),n.d(t,"makeNumberedLineIterator",(function(){return Re.b})),n.d(t,"isPureObject",(function(){return Le.h})),n.d(t,"isPromise",(function(){return Le.g})),n.d(t,"isIterable",(function(){return Le.d})),n.d(t,"isAsyncIterable",(function(){return Le.a})),n.d(t,"isIterator",(function(){return Le.e})),n.d(t,"isResponse",(function(){return Le.j})),n.d(t,"isReadableStream",(function(){return Le.i})),n.d(t,"isWritableStream",(function(){return Le.k}))},function(e,t,n){"use strict";n.r(t);var r=n(231),i=n(11),o=n.n(i),a=n(0),s=n.n(a),u=n(1),c=n.n(u),l=n(3),f=n.n(l),h=n(9),d=n.n(h),p=n(6),v=n.n(p),g=n(7),y=n.n(g),m=n(2),b=n.n(m),_=n(18),O=n(215),w=n(235),x=n(155),A=n(179),P=n(70),S=n(24),k=n(15),C=new Uint16Array([0,2,1,0,3,2]),j=new Float32Array([0,1,0,0,1,0,1,1]);function E(e,t){if(!t)return function(e){for(var t=new Float64Array(12),n=0;n0&&p>0&&(s[f++]=l-o,s[f++]=l-o-1,s[f++]=l-1,s[f++]=l-o,s[f++]=l-1,s[f++]=l),l++}return{vertexCount:a,positions:c,indices:s,texCoords:u}}function T(e,t,n){return Object(k.g)(Object(k.g)(e[0],e[1],n),Object(k.g)(e[3],e[2],n),t)}var M="\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\n\n// apply desaturation\nvec3 color_desaturate(vec3 color) {\n float luminance = (color.r + color.g + color.b) * 0.333333333;\n return mix(color, vec3(luminance), desaturate);\n}\n\n// apply tint\nvec3 color_tint(vec3 color) {\n return color * tintColor;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n return mix(transparentColor, vec4(color, 1.0), alpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n".concat("\nvec3 packUVsIntoRGB(vec2 uv) {\n // Extract the top 8 bits. We want values to be truncated down so we can add a fraction\n vec2 uv8bit = floor(uv * 256.);\n\n // Calculate the normalized remainders of u and v parts that do not fit into 8 bits\n // Scale and clamp to 0-1 range\n vec2 uvFraction = fract(uv * 256.);\n vec2 uvFraction4bit = floor(uvFraction * 16.);\n\n // Remainder can be encoded in blue channel, encode as 4 bits for pixel coordinates\n float fractions = uvFraction4bit.x + uvFraction4bit.y * 16.;\n\n return vec3(uv8bit, fractions) / 255.;\n}\n","\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture2D(bitmapTexture, uv);\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n\n if (picking_uActive) {\n // Since instance information is not used, we can use picking color for pixel index\n gl_FragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n");function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n",fs:M,modules:[O.a,w.a]})}},{key:"initializeState",value:function(){var e=this,t=this.getAttributeManager();t.remove(["instancePickingColors"]);t.add({indices:{size:1,isIndexed:!0,update:function(t){return t.value=e.state.mesh.indices},noAlloc:!0},positions:{size:3,type:5130,fp64:this.use64bitPositions(),update:function(t){return t.value=e.state.mesh.positions},noAlloc:!0},texCoords:{size:2,update:function(t){return t.value=e.state.mesh.texCoords},noAlloc:!0}})}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps;if(e.changeFlags.extensionsChanged){var r,i=this.context.gl;null===(r=this.state.model)||void 0===r||r.delete(),this.state.model=this._getModel(i),this.getAttributeManager().invalidateAll()}var o=this.getAttributeManager();if(t.bounds!==n.bounds){var a=this.state.mesh,s=this._createMesh();for(var u in this.state.model.setVertexCount(s.vertexCount),s)a&&a[u]!==s[u]&&o.invalidate(u);this.setState(I({mesh:s},this._getCoordinateUniforms()))}else t._imageCoordinateSystem!==n._imageCoordinateSystem&&this.setState(this._getCoordinateUniforms())}},{key:"getPickingInfo",value:function(e){var t=e.info,n=this.props.image;if(!t.color||!n)return t.bitmap=null,t;var r=n.width,i=n.height;t.index=0;var a,s,u,c,l,f=(a=t.color,s=o()(a,3),u=s[0],c=s[1],l=s[2],[(u+(15&l)/16)/256,(c+(240&l)/256)/256]),h=[Math.floor(f[0]*r),Math.floor(f[1]*i)];return t.bitmap={size:{width:r,height:i},uv:f,pixel:h},t}},{key:"disablePickingIndex",value:function(){this.setState({disablePicking:!0})}},{key:"restorePickingColors",value:function(){this.setState({disablePicking:!1})}},{key:"_updateAutoHighlight",value:function(e){d()(b()(n.prototype),"_updateAutoHighlight",this).call(this,I(I({},e),{},{color:this.encodePickingColor(0)}))}},{key:"_createMesh",value:function(){var e=this.props.bounds,t=e;return Number.isFinite(e[0])&&(t=[[e[0],e[1]],[e[0],e[3]],[e[2],e[3]],[e[2],e[1]]]),E(t,this.context.viewport.resolution)}},{key:"_getModel",value:function(e){return e?new A.a(e,I(I({},this.getShaders()),{},{id:this.props.id,geometry:new P.a({drawMode:4,vertexCount:6}),isInstanced:!1})):null}},{key:"draw",value:function(e){var t=e.uniforms,n=e.moduleParameters,r=this.state,i=r.model,o=r.coordinateConversion,a=r.bounds,s=r.disablePicking,u=this.props,c=u.image,l=u.desaturate,f=u.transparentColor,h=u.tintColor;n.pickingActive&&s||c&&i&&i.setUniforms(t).setUniforms({bitmapTexture:c,desaturate:l,transparentColor:f.map((function(e){return e/255})),tintColor:h.slice(0,3).map((function(e){return e/255})),coordinateConversion:o,bounds:a}).draw()}},{key:"_getCoordinateUniforms",value:function(){var e=_.a.LNGLAT,t=_.a.CARTESIAN,n=_.a.DEFAULT,r=this.props._imageCoordinateSystem;if(r!==n){var i=this.props.bounds;if(!Number.isFinite(i[0]))throw new Error("_imageCoordinateSystem only supports rectangular bounds");var o=this.context.viewport.resolution?e:t;if((r=r===e?e:t)===e&&o===t)return{coordinateConversion:-1,bounds:i};if(r===t&&o===e){var a=Object(S.l)([i[0],i[1]]),s=Object(S.l)([i[2],i[3]]);return{coordinateConversion:1,bounds:[a[0],a[1],s[0],s[1]]}}}return{coordinateConversion:0,bounds:[0,0,0,0]}}}]),n}(x.a);D.layerName="BitmapLayer",D.defaultProps=L;var F=n(115),N=n(232),U=n(233),z=n(159),G=n(157),V=n(219),H=n(114),W=n(220),J=n(230),X=n(158),K=n(113),q=n(162),Z=n(160);n.d(t,"ArcLayer",(function(){return r.a})),n.d(t,"BitmapLayer",(function(){return D})),n.d(t,"IconLayer",(function(){return F.a})),n.d(t,"LineLayer",(function(){return N.a})),n.d(t,"PointCloudLayer",(function(){return U.a})),n.d(t,"ScatterplotLayer",(function(){return z.a})),n.d(t,"ColumnLayer",(function(){return G.a})),n.d(t,"GridCellLayer",(function(){return V.a})),n.d(t,"PathLayer",(function(){return H.a})),n.d(t,"PolygonLayer",(function(){return W.a})),n.d(t,"GeoJsonLayer",(function(){return J.a})),n.d(t,"TextLayer",(function(){return X.a})),n.d(t,"SolidPolygonLayer",(function(){return K.a})),n.d(t,"_MultiIconLayer",(function(){return q.a})),n.d(t,"_TextBackgroundLayer",(function(){return Z.a}))},function(e,t,n){"use strict";function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0};return Array.isArray(e)?i(e,t,[]):t(e)?[e]:[]}function i(e,t,n){for(var r=-1;++rr&&(i=r);var o=this._pool,a=e.BYTES_PER_ELEMENT*i,s=o.findIndex((function(e){return e.byteLength>=a}));if(s>=0){var u=new e(o.splice(s,1)[0],0,i);return n&&u.fill(0),u}return new e(i)}},{key:"_release",value:function(e){if(ArrayBuffer.isView(e)){var t=this._pool,n=e.buffer,r=n.byteLength,i=t.findIndex((function(e){return e.byteLength>=r}));i<0?t.push(n):(i>0||t.lengththis.props.poolSize&&t.shift()}}}]),e}();t.a=new s},function(e,t,n){"use strict";n.d(t,"a",(function(){return b}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(6),u=n.n(s),c=n(7),l=n.n(c),f=n(2),h=n.n(f),d=n(173),p=n(10),v=n(181);function g(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},i=function i(o,a){var s,u=o.props._offset,c=o.id,l=o.parent&&o.parent.id;if(!l||l in n||i(o.parent,!1),l in r){var f=r[l]=r[l]||e(n[l],n);s=f(o,a),r[c]=f}else Number.isFinite(u)?(s=u+(n[l]||0),r[c]=null):s=t;return a&&s>=t&&(t=s+1),n[c]=s,s};return i}(),c={layer:n[0],viewport:e,isPicking:r.startsWith("picking"),renderPass:r},l={},f=0;f0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e),u()(this,"id",void 0),u()(this,"props",void 0),u()(this,"useInPicking",void 0);var n=t.id,r=void 0===n?"effect":n;this.id=r,this.props=l({},t),this.useInPicking=!1}return a()(e,[{key:"preRender",value:function(){}},{key:"getModuleParameters",value:function(e){}},{key:"cleanup",value:function(){}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return B}));var r=n(0),i=n.n(r),o=n(11),a=n.n(o),s=n(1),u=n.n(s),c=n(3),l=n.n(c),f=n(20),h=n.n(f),d=n(9),p=n.n(d),v=n(6),g=n.n(v),y=n(7),m=n.n(y),b=n(2),_=n.n(b),O=n(10),w=n(43),x=n(105),A=n(107),P=n(181),S=n(199),k=n(253),C=n(56),j=n(13);function E(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return T(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return u()(this,n),(r=t.call(this,e,i)).width=null,r.height=null,r.attachments={},r.readBuffer=36064,r.drawBuffers=[36064],r.ownResources=[],r.initialize(i),Object.seal(h()(r)),r}return l()(n,[{key:"MAX_COLOR_ATTACHMENTS",get:function(){var e=Object(O.a)(this.gl);return e.getParameter(e.MAX_COLOR_ATTACHMENTS)}},{key:"MAX_DRAW_BUFFERS",get:function(){var e=Object(O.a)(this.gl);return e.getParameter(e.MAX_DRAW_BUFFERS)}},{key:"color",get:function(){return this.attachments[36064]||null}},{key:"texture",get:function(){return this.attachments[36064]||null}},{key:"depth",get:function(){return this.attachments[36096]||this.attachments[33306]||null}},{key:"stencil",get:function(){return this.attachments[36128]||this.attachments[33306]||null}},{key:"initialize",value:function(e){var t=e.width,n=void 0===t?1:t,r=e.height,i=void 0===r?1:r,o=e.attachments,a=void 0===o?null:o,s=e.color,u=void 0===s||s,c=e.depth,l=void 0===c||c,f=e.stencil,h=void 0!==f&&f,d=e.check,p=void 0===d||d,v=e.readBuffer,g=void 0===v?void 0:v,y=e.drawBuffers,m=void 0===y?void 0:y;if(Object(j.a)(n>=0&&i>=0,"Width and height need to be integers"),this.width=n,this.height=i,a)for(var b in a){var _=a[b];(Array.isArray(_)?_[0]:_).resize({width:n,height:i})}else a=this._createDefaultAttachments(u,l,h,n,i);this.update({clearAttachments:!0,attachments:a,readBuffer:g,drawBuffers:m}),a&&p&&this.checkStatus()}},{key:"delete",value:function(){var e,t=E(this.ownResources);try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(e){t.e(e)}finally{t.f()}return p()(_()(n.prototype),"delete",this).call(this),this}},{key:"update",value:function(e){var t=e.attachments,n=void 0===t?{}:t,r=e.readBuffer,i=e.drawBuffers,o=e.clearAttachments,a=void 0!==o&&o,s=e.resizeAttachments,u=void 0===s||s;this.attach(n,{clearAttachments:a,resizeAttachments:u});var c=this.gl,l=c.bindFramebuffer(36160,this.handle);return r&&this._setReadBuffer(r),i&&this._setDrawBuffers(i),c.bindFramebuffer(36160,l||null),this}},{key:"resize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.width,n=e.height;if(null===this.handle)return Object(j.a)(void 0===t&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;for(var r in void 0===t&&(t=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),t!==this.width&&n!==this.height&&O.k.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(t,"x").concat(n))(),this.attachments)this.attachments[r].resize({width:t,height:n});return this.width=t,this.height=n,this}},{key:"attach",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.clearAttachments,i=void 0!==r&&r,o=n.resizeAttachments,s=void 0===o||o,u={};i&&Object.keys(this.attachments).forEach((function(e){u[e]=null})),Object.assign(u,e);var c=this.gl.bindFramebuffer(36160,this.handle);for(var l in u){Object(j.a)(void 0!==l,"Misspelled framebuffer binding point?");var f=Number(l),h=u[f],d=h;if(d)if(d instanceof A.a)this._attachRenderbuffer({attachment:f,renderbuffer:d});else if(Array.isArray(h)){var p=a()(h,3),v=p[0],g=p[1],y=void 0===g?0:g,m=p[2],b=void 0===m?0:m;d=v,this._attachTexture({attachment:f,texture:v,layer:y,level:b})}else this._attachTexture({attachment:f,texture:d,layer:0,level:0});else this._unattach(f);s&&d&&d.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,c||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter((function(e){return!t.attachments[e]})).forEach((function(e){delete t.attachments[e]}))}},{key:"checkStatus",value:function(){this.gl;var e=this.getStatus();if(36053!==e)throw new Error(I(e));return this}},{key:"getStatus",value:function(){var e=this.gl,t=e.bindFramebuffer(36160,this.handle),n=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),n}},{key:"clear",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.color,r=t.depth,i=t.stencil,o=t.drawBuffers,a=void 0===o?[]:o,s=this.gl.bindFramebuffer(36160,this.handle);return(n||r||i)&&Object(P.a)(this.gl,{color:n,depth:r,stencil:i}),a.forEach((function(t,n){Object(P.b)(e.gl,{drawBuffer:n,value:t})})),this.gl.bindFramebuffer(36160,s||null),this}},{key:"readPixels",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}},{key:"readPixelsToBuffer",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}},{key:"copyToDataUrl",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}},{key:"copyToImage",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}},{key:"copyToTexture",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"blit",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];return O.k.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}},{key:"invalidate",value:function(e){var t=e.attachments,n=void 0===t?[]:t,r=e.x,i=void 0===r?0:r,o=e.y,a=void 0===o?0:o,s=e.width,u=e.height,c=Object(O.a)(this.gl),l=c.bindFramebuffer(36008,this.handle);return 0===i&&0===a&&void 0===s&&void 0===u?c.invalidateFramebuffer(36008,n):c.invalidateFramebuffer(36008,n,i,a,s,u),c.bindFramebuffer(36008,l),this}},{key:"getAttachmentParameter",value:function(e,t,n){var r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),n&&r>1e3&&(r=Object(C.a)(this.gl,r)),r}},{key:"getAttachmentParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:36064,n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],i={},o=E(r);try{for(o.s();!(e=o.n()).done;){var a=e.value,s=n?Object(C.a)(this.gl,a):a;i[s]=this.getAttachmentParameter(t,a,n)}}catch(e){o.e(e)}finally{o.f()}return i}},{key:"getParameters",value:function(){for(var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=Object.keys(this.attachments),n={},r=0,i=t;r0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(e>O.k.level||"undefined"==typeof window)return this;t=t||"Framebuffer ".concat(this.id);var n=Object(S.a)(this,{targetMaxHeight:100});return O.k.image({logLevel:e,message:t,image:n},t)(),this}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,null),this}},{key:"_createDefaultAttachments",value:function(e,t,n,r,o){var a,s=null;e&&((s=s||{})[36064]=new x.a(this.gl,{id:"".concat(this.id,"-color0"),pixels:null,format:6408,type:5121,width:r,height:o,mipmaps:!1,parameters:(a={},i()(a,10241,9729),i()(a,10240,9729),i()(a,10242,33071),i()(a,10243,33071),a)}),this.ownResources.push(s[36064]));return t&&n?((s=s||{})[33306]=new A.a(this.gl,{id:"".concat(this.id,"-depth-stencil"),format:35056,width:r,height:111}),this.ownResources.push(s[33306])):t?((s=s||{})[36096]=new A.a(this.gl,{id:"".concat(this.id,"-depth"),format:33189,width:r,height:o}),this.ownResources.push(s[36096])):n&&Object(j.a)(!1),s}},{key:"_unattach",value:function(e){var t=this.attachments[e];t&&(t instanceof A.a?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}},{key:"_attachRenderbuffer",value:function(e){var t=e.attachment,n=void 0===t?36064:t,r=e.renderbuffer;this.gl.framebufferRenderbuffer(36160,n,36161,r.handle),this.attachments[n]=r}},{key:"_attachTexture",value:function(e){var t=e.attachment,n=void 0===t?36064:t,r=e.texture,i=e.layer,o=e.level,a=this.gl;switch(a.bindTexture(r.target,r.handle),r.target){case 35866:case 32879:Object(O.a)(a).framebufferTextureLayer(36160,n,r.target,o,i);break;case 34067:var s=function(e){return e<34069?e+34069:e}(i);a.framebufferTexture2D(36160,n,s,r.handle,o);break;case 3553:a.framebufferTexture2D(36160,n,3553,r.handle,o);break;default:Object(j.a)(!1,"Illegal texture type")}a.bindTexture(r.target,null),this.attachments[n]=r}},{key:"_setReadBuffer",value:function(e){var t=Object(O.g)(this.gl);t?t.readBuffer(e):Object(j.a)(36064===e||1029===e,"Multiple render targets not supported"),this.readBuffer=e}},{key:"_setDrawBuffers",value:function(e){var t=this.gl,n=Object(O.a)(t);if(n)n.drawBuffers(e);else{var r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):Object(j.a)(1===e.length&&(36064===e[0]||1029===e[0]),"Multiple render targets not supported")}this.drawBuffers=e}},{key:"_getAttachmentParameterFallback",value:function(e){var t=Object(k.a)(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}},{key:"_createHandle",value:function(){return this.gl.createFramebuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteFramebuffer(this.handle)}},{key:"_bindHandle",value:function(e){return this.gl.bindFramebuffer(36160,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.colorBufferFloat,r=t.colorBufferHalfFloat,i=!0;return n&&(i=Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("WEBGL_color_buffer_float")||e.getExtension("OES_texture_float"))),r&&(i=i&&Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("EXT_color_buffer_half_float"))),i}},{key:"getDefaultFramebuffer",value:function(e){return e.luma=e.luma||{},e.luma.defaultFramebuffer=e.luma.defaultFramebuffer||new n(e,{id:"default-framebuffer",handle:null,attachments:{}}),e.luma.defaultFramebuffer}}]),n}(w.a);function I(e){return(B.STATUS||{})[e]||"Framebuffer error ".concat(e)}B.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303]},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t2*Math.PI)throw Error("radians");var h=r/2,d=s*Math.tan(h),p=d*o;return(new n).ortho({left:-p,right:p,bottom:-d,top:d,near:c,far:f})}},{key:"perspective",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fovy,n=void 0===t?void 0:t,r=e.fov,i=void 0===r?45*Math.PI/180:r,o=e.aspect,a=void 0===o?1:o,s=e.near,u=void 0===s?.1:s,c=e.far,l=void 0===c?500:c;if((n=n||i)>2*Math.PI)throw Error("radians");return m.j(this,n,a,u,l),this.check()}},{key:"determinant",value:function(){return m.a(this)}},{key:"getScale",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}},{key:"getTranslation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}},{key:"getRotation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),r=1/n[0],i=1/n[1],o=1/n[2];return e[0]=this[0]*r,e[1]=this[1]*i,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*i,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*i,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{key:"getRotationMatrix3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),r=1/n[0],i=1/n[1],o=1/n[2];return e[0]=this[0]*r,e[1]=this[1]*i,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*i,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*i,e[8]=this[10]*o,e}},{key:"transpose",value:function(){return m.q(this,this),this.check()}},{key:"invert",value:function(){return m.f(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return m.h(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return m.h(this,this,e),this.check()}},{key:"rotateX",value:function(e){return m.l(this,this,e),this.check()}},{key:"rotateY",value:function(e){return m.m(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return m.n(this,this,e),this.check()}},{key:"rotateXYZ",value:function(e){var t=i()(e,3),n=t[0],r=t[1],o=t[2];return this.rotateX(n).rotateY(r).rotateZ(o)}},{key:"rotateAxis",value:function(e,t){return m.k(this,this,e,t),this.check()}},{key:"scale",value:function(e){return Array.isArray(e)?m.o(this,this,e):m.o(this,this,[e,e,e]),this.check()}},{key:"translate",value:function(e){return m.p(this,this,e),this.check()}},{key:"transform",value:function(e,t){return 4===e.length?(t=O.n(t||[-0,-0,-0,-0],e,this),Object(v.b)(t,4),t):this.transformAsPoint(e,t)}},{key:"transformAsPoint",value:function(e,t){switch(e.length){case 2:t=b.j(t||[-0,-0],e,this);break;case 3:t=_.t(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Object(v.b)(t,e.length),t}},{key:"transformAsVector",value:function(e,t){switch(e.length){case 2:t=Object(y.a)(t||[-0,-0],e,this);break;case 3:t=Object(y.c)(t||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Object(v.b)(t,e.length),t}},{key:"makeRotationX",value:function(e){return this.identity().rotateX(e)}},{key:"makeTranslation",value:function(e,t,n){return this.identity().translate([e,t,n])}},{key:"transformPoint",value:function(e,t){return Object(v.c)("Matrix4.transformPoint","3.0"),this.transformAsPoint(e,t)}},{key:"transformVector",value:function(e,t){return Object(v.c)("Matrix4.transformVector","3.0"),this.transformAsPoint(e,t)}},{key:"transformDirection",value:function(e,t){return Object(v.c)("Matrix4.transformDirection","3.0"),this.transformAsVector(e,t)}}],[{key:"IDENTITY",get:function(){return S.IDENTITY=S.IDENTITY||Object.freeze(new n(x)),S.IDENTITY}},{key:"ZERO",get:function(){return S.ZERO=S.ZERO||Object.freeze(new n(A)),S.ZERO}},{key:"_computeInfinitePerspectiveOffCenter",value:function(e,t,n,r,i,o){var a=2*o/(n-t),s=2*o/(i-r),u=(n+t)/(n-t),c=(i+r)/(i-r),l=-2*o;return e[0]=a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=u,e[9]=c,e[10]=-1,e[11]=-1,e[12]=0,e[13]=0,e[14]=l,e[15]=0,e}}]),n}(g.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"c",(function(){return u}));var r=n(12),i={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},o=i.global||i.self||i.window||{},a="object"!==("undefined"==typeof process?"undefined":n.n(r)()(process))||"[object process]"!==String(process)||process.browser,s="function"==typeof importScripts,u="undefined"!=typeof window&&void 0!==window.orientation,c="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);c&&parseFloat(c[1])},function(e,t,n){"use strict";n.d(t,"d",(function(){return u})),n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return l})),n.d(t,"c",(function(){return f}));var r=n(12),i=n.n(r),o=n(99);function a(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw o}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==a[1]?a[1]:[],r=a.length>2?a[2]:void 0,i=a.length>3?a[3]:void 0,C(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(!(o=S(t,n,_(_({},r),{},{nothrow:!0}),i))){e.next=8;break}return e.abrupt("return",o);case 8:if(!Object(m.b)(t)){e.next=13;break}return e.next=11,t.slice(0,10).arrayBuffer();case 11:t=e.sent,o=S(t,n,r,i);case 13:if(o||null!=r&&r.nothrow){e.next=15;break}throw new Error(j(t));case 15:return e.abrupt("return",o);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;if(!C(e))return null;if(t&&!Array.isArray(t))return Object(v.b)(t);var i,o=[];(t&&(o=o.concat(t)),null!=n&&n.ignoreRegisteredLoaders)||(i=o).push.apply(i,u()(Object(y.b)()));E(o);var a=k(e,o,n,r);if(!(a||null!=n&&n.nothrow))throw new Error(j(e));return a}function k(e,t,n,r){var i=Object(g.b)(e),o=i.url,a=i.type,s=o||(null==r?void 0:r.url),u=null;return null!=n&&n.mimeType&&(u=T(t,null==n?void 0:n.mimeType)),u=(u=(u=(u=u||function(e,t){var n=t&&x.exec(t),r=n&&n[1];return r?function(e,t){t=t.toLowerCase();var n,r=O(e);try{for(r.s();!(n=r.n()).done;){var i,o=n.value,a=O(o.extensions);try{for(a.s();!(i=a.n()).done;){if(i.value.toLowerCase()===t)return o}}catch(e){a.e(e)}finally{a.f()}}}catch(e){r.e(e)}finally{r.f()}return null}(e,r):null}(t,s))||T(t,a))||function(e,t){if(!t)return null;var n,r=O(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if("string"==typeof t){if(M(t,i))return i}else if(ArrayBuffer.isView(t)){if(B(t.buffer,t.byteOffset,i))return i}else if(t instanceof ArrayBuffer){if(B(t,0,i))return i}}}catch(e){r.e(e)}finally{r.f()}return null}(t,e))||T(t,null==n?void 0:n.fallbackMimeType)}function C(e){return!(e instanceof Response&&204===e.status)}function j(e){var t=Object(g.b)(e),n=t.url,r=t.type,i="No valid loader found (";i+=n?"".concat(d.b.filename(n),", "):"no url provided, ",i+="MIME type: ".concat(r?'"'.concat(r,'"'):"not provided",", ");var o=e?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;if("string"==typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return I(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){var n=0;return I(e,n,t)}return""}(e):"";return i+=o?' first bytes: "'.concat(o,'"'):"first bytes: not available",i+=")"}function E(e){var t,n=O(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;Object(v.b)(r)}}catch(e){n.e(e)}finally{n.f()}}function T(e,t){var n,r=O(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if(i.mimeTypes&&i.mimeTypes.includes(t))return i;if(t==="application/x.".concat(i.id))return i}}catch(e){r.e(e)}finally{r.f()}return null}function M(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some((function(t){return e.startsWith(t)}))}function B(e,t,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some((function(r){return function(e,t,n,r){if(r instanceof ArrayBuffer)return Object(p.a)(r,e,r.byteLength);switch(a()(r)){case"function":return r(e,n);case"string":var i=I(e,t,r.length);return r===i;default:return!1}}(e,t,n,r)}))}function I(e,t,n){if(e.byteLength0&&void 0!==arguments[0]?arguments[0]:{};u()(this,n);var i,o=r.latitude,a=void 0===o?0:o,s=r.longitude,c=void 0===s?0:s,l=r.zoom,f=void 0===l?11:l,d=r.pitch,p=void 0===d?0:d,v=r.bearing,g=void 0===v?0:v,y=r.nearZMultiplier,m=void 0===y?.1:y,b=r.farZMultiplier,_=void 0===b?1.01:b,O=r.orthographic,x=void 0!==O&&O,P=r.projectionMatrix,k=r.repeat,C=void 0!==k&&k,j=r.worldOffset,E=void 0===j?0:j,T=r.legacyMeterSizes,M=void 0!==T&&T,B=r.width,I=r.height,R=r.altitude,L=void 0===R?1.5:R,D=Math.pow(2,f);B=B||1,I=I||1;var F=null;P?(L=P[5]/2,i=Object(w.b)(L)):(r.fovy?(i=r.fovy,L=Object(w.e)(i)):i=Object(w.b)(L),F=Object(w.j)({width:B,height:I,pitch:p,fovy:i,nearZMultiplier:m,farZMultiplier:_}));var N=Object(w.k)({height:I,pitch:p,bearing:g,scale:D,altitude:L});if(E){var U=(new A.a).translate([512*E,0,0]);N=U.multiplyLeft(N)}return(e=t.call(this,S(S(S({},r),{},{width:B,height:I,viewMatrix:N,longitude:c,latitude:a,zoom:f},F),{},{fovy:i,focalDistance:L}))).latitude=a,e.longitude=c,e.zoom=f,e.pitch=p,e.bearing=g,e.altitude=L,e.fovy=i,e.orthographic=x,e._subViewports=C?[]:null,e._pseudoMeters=M,Object.freeze(h()(e)),e}return l()(n,[{key:"subViewports",get:function(){if(this._subViewports&&!this._subViewports.length)for(var e=this.getBounds(),t=Math.floor((e[0]+180)/360),r=Math.ceil((e[2]-180)/360),i=t;i<=r;i++){var o=i?new n(S(S({},this),{},{worldOffset:i})):this;this._subViewports.push(o)}return this._subViewports}},{key:"projectPosition",value:function(e){if(this._pseudoMeters)return p()(_()(n.prototype),"projectPosition",this).call(this,e);var t=this.projectFlat(e),r=i()(t,2);return[r[0],r[1],(e[2]||0)*j(e[1])]}},{key:"unprojectPosition",value:function(e){if(this._pseudoMeters)return p()(_()(n.prototype),"unprojectPosition",this).call(this,e);var t=this.unprojectFlat(e),r=i()(t,2),o=r[0],a=r[1];return[o,a,(e[2]||0)/j(a)]}},{key:"addMetersToLngLat",value:function(e,t){return Object(w.a)(e,t)}},{key:"panByPosition",value:function(e,t){var n=Object(w.n)(t,this.pixelUnprojectionMatrix),r=this.projectFlat(e),o=x.a([],r,x.d([],n)),a=x.a([],this.center,o),s=this.unprojectFlat(a),u=i()(s,2);return{longitude:u[0],latitude:u[1]}}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object(w.f)(this,e.z||0);return[Math.min(t[0][0],t[1][0],t[2][0],t[3][0]),Math.min(t[0][1],t[1][1],t[2][1],t[3][1]),Math.max(t[0][0],t[1][0],t[2][0],t[3][0]),Math.max(t[0][1],t[1][1],t[2][1],t[3][1])]}},{key:"fitBounds",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.width,i=this.height,o=Object(w.c)(S({width:r,height:i,bounds:e},t)),a=o.longitude,s=o.latitude,u=o.zoom;return new n({width:r,height:i,longitude:a,latitude:s,zoom:u})}}]),n}(O.a);E.displayName="WebMercatorViewport"},function(e,t,n){"use strict";n.d(t,"c",(function(){return l})),n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return h}));var r,i=n(11),o=n.n(i),a=n(0),s=n.n(a),u=n(13),c=(r={},s()(r,5126,[5126,1,"float"]),s()(r,35664,[5126,2,"vec2"]),s()(r,35665,[5126,3,"vec3"]),s()(r,35666,[5126,4,"vec4"]),s()(r,5124,[5124,1,"int"]),s()(r,35667,[5124,2,"ivec2"]),s()(r,35668,[5124,3,"ivec3"]),s()(r,35669,[5124,4,"ivec4"]),s()(r,5125,[5125,1,"uint"]),s()(r,36294,[5125,2,"uvec2"]),s()(r,36295,[5125,3,"uvec3"]),s()(r,36296,[5125,4,"uvec4"]),s()(r,35670,[5126,1,"bool"]),s()(r,35671,[5126,2,"bvec2"]),s()(r,35672,[5126,3,"bvec3"]),s()(r,35673,[5126,4,"bvec4"]),s()(r,35674,[5126,8,"mat2"]),s()(r,35685,[5126,8,"mat2x3"]),s()(r,35686,[5126,8,"mat2x4"]),s()(r,35675,[5126,12,"mat3"]),s()(r,35687,[5126,12,"mat3x2"]),s()(r,35688,[5126,12,"mat3x4"]),s()(r,35676,[5126,16,"mat4"]),s()(r,35689,[5126,16,"mat4x2"]),s()(r,35690,[5126,16,"mat4x3"]),r);function l(e){switch(e){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return Object(u.a)(!1),0}}function f(e){var t=c[e];if(!t)return null;var n=o()(t,2);return{type:n[0],components:n[1]}}function h(e,t){switch(e){case 5120:case 5121:case 5122:case 5123:e=5126}for(var n in c){var r=o()(c[n],3),i=r[0],a=r[1],s=r[2];if(i===e&&a===t)return{glType:n,name:s}}return null}},function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return l})),n.d(t,"c",(function(){return f})),n.d(t,"d",(function(){return h})),n.d(t,"e",(function(){return d}));var r,i,o,a=n(0),s=n.n(a),u=n(10),c=(r={},s()(r,6407,{dataFormat:6407,types:[5121,33635]}),s()(r,6408,{dataFormat:6408,types:[5121,32819,32820]}),s()(r,6406,{dataFormat:6406,types:[5121]}),s()(r,6409,{dataFormat:6409,types:[5121]}),s()(r,6410,{dataFormat:6410,types:[5121]}),s()(r,33326,{dataFormat:6403,types:[5126],gl2:!0}),s()(r,33328,{dataFormat:33319,types:[5126],gl2:!0}),s()(r,34837,{dataFormat:6407,types:[5126],gl2:!0}),s()(r,34836,{dataFormat:6408,types:[5126],gl2:!0}),r),l=(i={},s()(i,6403,1),s()(i,36244,1),s()(i,33319,2),s()(i,33320,2),s()(i,6407,3),s()(i,36248,3),s()(i,6408,4),s()(i,36249,4),s()(i,6402,1),s()(i,34041,1),s()(i,6406,1),s()(i,6409,1),s()(i,6410,2),i),f=(o={},s()(o,5126,4),s()(o,5125,4),s()(o,5124,4),s()(o,5123,2),s()(o,5122,2),s()(o,5131,2),s()(o,5120,1),s()(o,5121,1),o);function h(e,t){var n=c[t];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;var r=Object(u.j)(e)&&n.gl2||n.gl1;return"string"==typeof r?e.getExtension(r):r}function d(e,t){var n=c[t];switch(n&&n.types[0]){case 5126:return e.getExtension("OES_texture_float_linear");case 5131:return e.getExtension("OES_texture_half_float_linear");default:return!0}}},,function(e,t,n){"use strict";n.d(t,"e",(function(){return o})),n.d(t,"f",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return u})),n.d(t,"c",(function(){return c})),n.d(t,"d",(function(){return l}));var r=n(12),i={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},o=i.self||i.window||i.global||{},a=i.window||i.self||i.global||{},s=i.global||i.self||i.window||{},u=i.document||{},c=Boolean("object"!==("undefined"==typeof process?"undefined":n.n(r)()(process))||"[object process]"!==String(process)||process.browser),l="function"==typeof importScripts,f="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);f&&parseFloat(f[1])},function(e,t,n){"use strict";var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(5);function u(){var e;if("undefined"!=typeof window&&window.performance)e=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){var t=process.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}var c=function(){function e(t,n){i()(this,e),Object(s.a)(this,"name",void 0),Object(s.a)(this,"type",void 0),Object(s.a)(this,"sampleSize",1),Object(s.a)(this,"time",void 0),Object(s.a)(this,"count",void 0),Object(s.a)(this,"samples",void 0),Object(s.a)(this,"lastTiming",void 0),Object(s.a)(this,"lastSampleTime",void 0),Object(s.a)(this,"lastSampleCount",void 0),Object(s.a)(this,"_count",0),Object(s.a)(this,"_time",0),Object(s.a)(this,"_samples",0),Object(s.a)(this,"_startTime",0),Object(s.a)(this,"_timerPending",!1),this.name=t,this.type=n,this.reset()}return a()(e,[{key:"setSampleSize",value:function(e){return this.sampleSize=e,this}},{key:"incrementCount",value:function(){return this.addCount(1),this}},{key:"decrementCount",value:function(){return this.subtractCount(1),this}},{key:"addCount",value:function(e){return this._count+=e,this._samples++,this._checkSampling(),this}},{key:"subtractCount",value:function(e){return this._count-=e,this._samples++,this._checkSampling(),this}},{key:"addTime",value:function(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}},{key:"timeStart",value:function(){return this._startTime=u(),this._timerPending=!0,this}},{key:"timeEnd",value:function(){return this._timerPending?(this.addTime(u()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}},{key:"getSampleAverageCount",value:function(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}},{key:"_checkSampling",value:function(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}]),e}(),l=function(){function e(t){i()(this,e),Object(s.a)(this,"id",void 0),Object(s.a)(this,"stats",{}),this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}return a()(e,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}},{key:"size",get:function(){return Object.keys(this.stats).length}},{key:"reset",value:function(){for(var e in this.stats)this.stats[e].reset();return this}},{key:"forEach",value:function(e){for(var t in this.stats)e(this.stats[t])}},{key:"getTable",value:function(){var e={};return this.forEach((function(t){e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}})),e}},{key:"_initializeStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){return e._getOrCreate(t)}))}},{key:"_getOrCreate",value:function(e){if(!e||!e.name)return null;var t=e.name,n=e.type;return this.stats[t]||(this.stats[t]=e instanceof c?e:new c(t,n)),this.stats[t]}}]),e}();n.d(t,"a",(function(){return l}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return f}));var r=n(16),i=n.n(r),o=n(0),a=n.n(o),s=n(47);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:null;if(n)return n;var r=c({fetch:Object(s.a)(t,e)},e);return Array.isArray(r.loaders)||(r.loaders=null),r}function f(e,t){if(!t&&e&&!Array.isArray(e))return e;var n;if(e&&(n=Array.isArray(e)?e:[e]),t&&t.loaders){var r=Array.isArray(t.loaders)?t.loaders:[t.loaders];n=n?[].concat(i()(n),i()(r)):r}return n&&n.length?n:null}},,function(e,t,n){"use strict";n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return s}));var r="",i={};function o(e){r=e}function a(){return r}function s(e){for(var t in i)if(e.startsWith(t)){var n=i[t];e=e.replace(t,n)}return e.startsWith("http://")||e.startsWith("https://")||(e="".concat(r).concat(e)),e}},function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return s})),n.d(t,"a",(function(){return u}));var r=n(12),i=n.n(r),o=n(195);function a(e){return e&&"object"===i()(e)&&e.isBuffer}function s(e){return o.toBuffer?o.toBuffer(e):e}function u(e){return a(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(74),u=[255,255,255],c=[0,0,-1],l=0,f=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e);var n=t.color,r=void 0===n?u:n,o=t.intensity,a=void 0===o?1:o,f=t.direction,h=void 0===f?c:f,d=t._shadow,p=void 0!==d&&d;this.id=t.id||"directional-".concat(l++),this.color=r,this.intensity=a,this.type="directional",this.direction=new s.a(h).normalize().toArray(),this.shadow=p}return a()(e,[{key:"getProjectedLight",value:function(){return this}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(98),u=n(106);function c(e,t){return l.apply(this,arguments)}function l(){return(l=i()(a.a.mark((function e(t,n){var r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=7;break}return t=Object(s.b)(t),r=n,null!=n&&n.fetch&&"function"!=typeof(null==n?void 0:n.fetch)&&(r=n.fetch),e.next=6,fetch(t,r);case 6:return e.abrupt("return",e.sent);case 7:return e.next=9,Object(u.b)(t);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},function(e,t,n){"use strict";var r={name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null},i="#define SMOOTH_EDGE_RADIUS 0.5",o={name:"geometry",vs:"\n".concat(i,"\n\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry = VertexGeometry(\n vec4(0.0, 0.0, 1.0, 0.0),\n vec3(0.0),\n vec3(0.0),\n vec3(0.0),\n vec2(0.0),\n vec3(0.0)\n);\n"),fs:"\n".concat(i,"\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n")},a=n(18),s=Object.keys(a.a).map((function(e){return"const int COORDINATE_SYSTEM_".concat(e," = ").concat(a.a[e],";")})).join(""),u=Object.keys(a.d).map((function(e){return"const int PROJECTION_MODE_".concat(e," = ").concat(a.d[e],";")})).join(""),c=Object.keys(a.e).map((function(e){return"const int UNIT_".concat(e.toUpperCase()," = ").concat(a.e[e],";")})).join(""),l="".concat(s,"\n").concat(u,"\n").concat(c,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\nuniform bool project_uPseudoMeters;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size() {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR &&\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT &&\n project_uPseudoMeters == false) {\n \n if (geometry.position.w == 0.0) {\n float y = clamp(geometry.worldPosition.y, -89.9, 89.9);\n return 1.0 / cos(radians(y));\n }\n \n float y = geometry.position.y / TILE_SIZE * 2.0 - 1.0;\n float y2 = y * y;\n float y4 = y2 * y2;\n float y6 = y4 * y2;\n return 1.0 + 4.9348 * y2 + 4.0587 * y4 + 1.5642 * y6;\n }\n return 1.0;\n}\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z * project_size();\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy * project_size();\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter * project_size();\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n vec3 n = normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n mat3 rotation;\n if (project_needs_rotation(geometry.position.xyz, rotation)) {\n n = rotation * n;\n }\n return n;\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_size_to_pixel(float size, int unit) {\n if (unit == UNIT_METERS) return project_size_to_pixel(size);\n if (unit == UNIT_COMMON) return size * project_uScale;\n return size;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\n"),f=n(118),h={};t.a={name:"project",dependencies:[r,o],vs:l,getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h;return e.viewport?Object(f.b)(e):{}}}},function(e,t,n){"use strict";var r=n(12),i=n.n(r),o=n(8),a=n.n(o),s=n(4),u=n.n(s),c=n(61),l=n(148);function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l.a;Object(c.a)(e,"no worker provided");var n=e.version;return!(!t||!n)}var h=n(191),d=n(53),p=n(47),v=n(121),g=n(96),y=n(72),m=n(88);function b(e,t,n,r){return _.apply(this,arguments)}function _(){return(_=a()(u.a.mark((function e(t,n,r,o){var a,s,l,f,h;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Object(c.a)(!o||"object"===i()(o)),!n||Array.isArray(n)||Object(d.a)(n)||(o=void 0,r=n,n=void 0),e.next=4,t;case 4:return t=e.sent,r=r||{},a=Object(y.b)(t),s=a.url,l=n,f=Object(g.b)(l,o),e.next=11,Object(m.a)(t,f,r);case 11:if(h=e.sent){e.next=14;break}return e.abrupt("return",null);case 14:return r=Object(p.c)(r,h,f,s),o=Object(g.a)({url:s,parse:b,loaders:f},r,o),e.next=18,O(h,t,r,o);case 18:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function O(e,t,n,r){return w.apply(this,arguments)}function w(){return(w=a()(u.a.mark((function e(t,n,r,i){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return f(t),e.next=3,Object(v.a)(n,t,r);case 3:if(n=e.sent,!t.parseTextSync||"string"!=typeof n){e.next=7;break}return r.dataType="text",e.abrupt("return",t.parseTextSync(n,r,i,t));case 7:if(!Object(h.a)(t,r)){e.next=11;break}return e.next=10,Object(h.b)(t,n,r,i,b);case 10:return e.abrupt("return",e.sent);case 11:if(!t.parseText||"string"!=typeof n){e.next=15;break}return e.next=14,t.parseText(n,r,i,t);case 14:return e.abrupt("return",e.sent);case 15:if(!t.parse){e.next=19;break}return e.next=18,t.parse(n,r,i,t);case 18:return e.abrupt("return",e.sent);case 19:throw Object(c.a)(!t.parseSync),new Error("".concat(t.id," loader - no parser found and worker is disabled"));case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}n.d(t,"a",(function(){return b}))},function(e,t,n){"use strict";function r(e,t){if(!e)throw new Error(t||"loader assertion failed.")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(20),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(10),g=n(64),y=n(13),m="";function b(e,t){return Object(y.a)("string"==typeof e),e=m+e,new Promise((function(n,r){try{var i=new Image;i.onload=function(){return n(i)},i.onerror=function(){return r(new Error("Could not load image ".concat(e,".")))},i.crossOrigin=t&&t.crossOrigin||"anonymous",i.src=e}catch(e){r(e)}}))}function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}n.d(t,"a",(function(){return O}));var O=function(e){l()(n,e);var t=_(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,n),Object(v.b)(e),(o instanceof Promise||"string"==typeof o)&&(o={data:o}),"string"==typeof o.data&&(o=Object.assign({},o,{data:b(o.data)})),(r=t.call(this,e,Object.assign({},o,{target:3553}))).initialize(o),Object.seal(u()(r)),r}return a()(n,null,[{key:"isSupported",value:function(e,t){return g.a.isSupported(e,t)}}]),n}(g.a)},function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return f}));var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(26),u=n(72);function c(e){return l.apply(this,arguments)}function l(){return(l=i()(a.a.mark((function e(t){var n,r,i,o,c,l,f;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Object(s.j)(t)){e.next=2;break}return e.abrupt("return",t);case 2:return n={},(r=Object(u.a)(t))>=0&&(n["content-length"]=String(r)),i=Object(u.b)(t),o=i.url,(c=i.type)&&(n["content-type"]=c),e.next=9,v(t);case 9:return(l=e.sent)&&(n["x-first-bytes"]=l),"string"==typeof t&&(t=(new TextEncoder).encode(t)),f=new Response(t,{headers:n}),Object.defineProperty(f,"url",{value:o}),e.abrupt("return",f);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function f(e){return h.apply(this,arguments)}function h(){return(h=i()(a.a.mark((function e(t){var n;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,d(t);case 3:throw n=e.sent,new Error(n);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function d(e){return p.apply(this,arguments)}function p(){return(p=i()(a.a.mark((function e(t){var n,r,i;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n="Failed to fetch resource ".concat(t.url," (").concat(t.status,"): "),e.prev=1,r=t.headers.get("Content-Type"),i=t.statusText,!r.includes("application/json")){e.next=11;break}return e.t0=i,e.t1=" ",e.next=9,t.text();case 9:e.t2=e.sent,i=e.t0+=e.t1.concat.call(e.t1,e.t2);case 11:n=(n+=i).length>60?"".concat(n.slice(60),"..."):n,e.next=17;break;case 15:e.prev=15,e.t3=e.catch(1);case 17:return e.abrupt("return",n);case 18:case"end":return e.stop()}}),e,null,[[1,15]])})))).apply(this,arguments)}function v(e){return g.apply(this,arguments)}function g(){return(g=i()(a.a.mark((function e(t){var n,r,i,o;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=5,"string"!=typeof t){e.next=3;break}return e.abrupt("return","data:,".concat(t.slice(0,n)));case 3:if(!(t instanceof Blob)){e.next=8;break}return r=t.slice(0,5),e.next=7,new Promise((function(e){var t=new FileReader;t.onload=function(t){var n;return e(null==t?void 0:null===(n=t.target)||void 0===n?void 0:n.result)},t.readAsDataURL(r)}));case 7:return e.abrupt("return",e.sent);case 8:if(!(t instanceof ArrayBuffer)){e.next=12;break}return i=t.slice(0,n),o=y(i),e.abrupt("return","data:base64,".concat(o));case 12:return e.abrupt("return",null);case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function y(e){for(var t="",n=new Uint8Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return o()(this,n),(r=t.call(this,e,i)).initialize(i),Object.seal(c()(r)),r}return s()(n,[{key:"initialize",value:function(e){var t=e.format,n=e.width,r=void 0===n?1:n,i=e.height,o=void 0===i?1:i,a=e.samples,s=void 0===a?0:a;return Object(w.a)(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==s&&Object(O.j)(this.gl)?this.gl.renderbufferStorageMultisample(36161,s,t,r,o):this.gl.renderbufferStorage(36161,t,r,o),this.format=t,this.width=r,this.height=o,this.samples=s,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*_[this.format].bpp),this}},{key:"resize",value:function(e){var t=e.width,n=e.height;return t!==this.width||n!==this.height?this.initialize({width:t,height:n,format:this.format,samples:this.samples}):this}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_bindHandle",value:function(e){this.gl.bindRenderbuffer(36161,e)}},{key:"_syncHandle",value:function(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}},{key:"_getParameter",value:function(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{format:null},n=t.format;return!n||A(e,n,_)}},{key:"getSamplesForFormat",value:function(e,t){var n=t.format;return e.getInternalformatParameter(36161,n,32937)}}]),n}(g.a)},function(e,t,n){var r=n(294),i=n(295),o=n(296),a=n(297);e.exports=function(e){return r(e)||i(e)||o(e)||a()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return l}));var r=n(53),i=n(47);function o(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw o}}}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(e)}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(1/e)}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([-e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,-e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=x({},this._viewportProps),r=n.bearing,i=n.longitude;return Math.abs(r-t.bearing)>180&&(n.bearing=r<0?r+360:r-360),Math.abs(i-t.longitude)>180&&(n.longitude=i<0?i+360:i-360),n}},{key:"_zoomFromCenter",value:function(e){var t=this._viewportProps,n=t.width,r=t.height;return this.zoom({pos:[n/2,r/2],scale:e})}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,r=t.height;return this.pan({startPos:[n/2,r/2],pos:[n/2+e[0],r/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new this.constructor(x(x(x({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,r=e.zoom;e.zoom=Object(y.a)(r,n,t);var i=e.maxPitch,o=e.minPitch,a=e.pitch;e.pitch=Object(y.a)(a,o,i);var s=e.normalize;return(void 0===s||s)&&Object.assign(e,Object(_.m)(e)),e}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,r=this._viewportProps,i=r.maxZoom,o=r.minZoom,a=n+Math.log2(t);return Object(y.a)(a,o,i)}},{key:"_calculateNewPitchAndBearing",value:function(e){var t=e.deltaScaleX,n=e.deltaScaleY,r=e.startBearing,i=e.startPitch;n=Object(y.a)(n,-1,1);var o=this._viewportProps,a=o.minPitch,s=o.maxPitch,u=i;return n>0?u=i+n*(s-i):n<0&&(u=i-n*(a-i)),{pitch:u,bearing:r+180*t}}},{key:"_getRotationParams",value:function(e,t){var n=e[0]-t[0],r=e[1]-t[1],i=e[1],o=t[1],a=this._viewportProps,s=a.width,u=a.height,c=n/s,l=0;return r>0?Math.abs(u-o)>5&&(l=r/(o-u)*1.2):r<0&&o>5&&(l=1-i/o),{deltaScaleX:c,deltaScaleY:l=Math.min(1,Math.max(-1,l))}}}]),n}(b.a),k=function(e){h()(n,e);var t=A(n);function n(e){return u()(this,n),e.dragMode=e.dragMode||"pan",t.call(this,S,e)}return l()(n,[{key:"setProps",value:function(e){e.position=e.position||[0,0,0];var t=this.controllerStateProps;i()(g()(n.prototype),"setProps",this).call(this,e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(x(x({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}},{key:"linearTransitionProps",get:function(){return["longitude","latitude","zoom","bearing","pitch","position"]}}]),n}(m.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(15),u=n(40);function c(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e),Array.isArray(t)&&(t={compare:t,extract:t,required:t});var n=t,r=n.compare,o=n.extract,a=n.required;this._propsToCompare=r,this._propsToExtract=o,this._requiredProps=a}return a()(e,[{key:"arePropsEqual",value:function(e,t){var n,r=c(this._propsToCompare||Object.keys(t));try{for(r.s();!(n=r.n()).done;){var i=n.value;if(!(i in e&&i in t&&Object(s.d)(e[i],t[i])))return!1}}catch(e){r.e(e)}finally{r.f()}return!0}},{key:"initializeProps",value:function(e,t){var n;if(this._propsToExtract){var r,i={},o={},a=c(this._propsToExtract);try{for(a.s();!(r=a.n()).done;){var s=r.value;i[s]=e[s],o[s]=t[s]}}catch(e){a.e(e)}finally{a.f()}n={start:i,end:o}}else n={start:e,end:t};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}},{key:"interpolateProps",value:function(e,t,n){return t}},{key:"getDuration",value:function(e,t){return t.transitionDuration}},{key:"_checkRequiredProps",value:function(e){this._requiredProps&&this._requiredProps.forEach((function(t){var n=e[t];Object(u.a)(Number.isFinite(n)||Array.isArray(n),"".concat(t," is required for transition"))}))}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return x})),n.d(t,"b",(function(){return A}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(15),g=n(68),y=n(120),m=n(39);function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _(e){for(var t=1;t90)&&(p*=-1),t={rotationX:c+180*((n[1]-u[1])/d),rotationOrbit:l+180*p}}else t={rotationX:c+a,rotationOrbit:l+i};return this._getUpdatedState(t)}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=_({},this._viewportProps),r=n.rotationOrbit;return Math.abs(r-t.rotationOrbit)>180&&(n.rotationOrbit=r<0?r+360:r-360),n}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,n=e.startPos,r=e.scale,i=this._viewportProps.zoom,o=this._state,a=o.startZoom,s=o.startZoomPosition;Number.isFinite(a)||(a=i,s=this._unproject(n)||this._unproject(t));var u=this._calculateNewZoom({scale:r,startZoom:a}),c=this.makeViewport(_(_({},this._viewportProps),{},{zoom:u}));return this._getUpdatedState(_({zoom:u},c.panByPosition(s,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([-e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,-e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,r=this._viewportProps,i=r.maxZoom,o=r.minZoom;Number.isFinite(n)||(n=this._viewportProps.zoom);var a=n+Math.log2(t);return Object(v.a)(a,o,i)}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,r=t.height,i=t.target;return this.pan({startPosition:i,pos:[n/2+e[0],r/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new this.constructor(_(_(_({},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,r=e.zoom,i=e.maxRotationX,o=e.minRotationX,a=e.rotationOrbit;return e.zoom=Object(v.a)(r,n,t),e.rotationX=Object(v.a)(e.rotationX,o,i),(a<-180||a>180)&&(e.rotationOrbit=Object(m.e)(a+180,360)-180),e}}]),n}(y.a),A=function(e){l()(n,e);var t=O(n);function n(e){return a()(this,n),t.call(this,x,e)}return u()(n,[{key:"linearTransitionProps",get:function(){return["target","zoom","rotationX","rotationOrbit"]}}]),n}(g.a)},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(237),b=n(235),_=n(18),O=n(155),w=n(253),x=n(182),A=n(179),P=n(70),S=n(135),k=n(216),C=n(42);function j(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2?a[u*o+2]:0;i[3*s]=c,i[3*s+1]=l,i[3*s+2]=f}}},{key:"_updateVertexValid",value:function(e,t){var n=t.vertexStart,r=t.geometrySize,i=this.attributes.vertexValid,o=this.positionSize,a=e&&e.holeIndices;if(e&&e.edgeTypes?i.set(e.edgeTypes,n):i.fill(1,n,n+r),a)for(var s=0;s=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:[],r=this.positionSize;t*r>=e.length&&(t+=1-e.length/r);var i=t*r;return n[0]=e[i],n[1]=e[i+1],n[2]=3===r&&e[i+2]||0,n}},{key:"isClosed",value:function(e){if(!this.normalize)return this.opts.loop;var t=this.positionSize,n=e.length-t;return e[0]===e[n]&&e[1]===e[n+1]&&(2===t||e[2]===e[n+2])}}]),n}(A.a);function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function B(e){for(var t=1;t 0.0;\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n vec2 dir = isEnd ? dirA : dirB;\n vec2 perp = isEnd ? perpA : perpB;\n float L = isEnd ? lenA : lenB;\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return currPoint + offset;\n}\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 pos = lineJoin(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n gl_Position = vec4(pos * currPositionScreen.w, currPositionScreen.w);\n } else {\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec4 pos = vec4(\n lineJoin(prevPosition, currPosition, nextPosition, width.xy),\n 1.0);\n geometry.position = pos;\n gl_Position = project_common_position_to_clipspace(pos);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[y.a,m.a]})}},{key:"wrapLongitude",get:function(){return!1}},{key:"initializeState",value:function(){var e=this;this.getAttributeManager().addInstanced({positions:{size:3,vertexOffset:1,type:5130,fp64:this.use64bitPositions(),transition:D,accessor:"getPath",update:this.calculatePositions,noAlloc:!0,shaderAttributes:{instanceLeftPositions:{vertexOffset:0},instanceStartPositions:{vertexOffset:1},instanceEndPositions:{vertexOffset:2},instanceRightPositions:{vertexOffset:3}}},instanceTypes:{size:1,type:5121,update:this.calculateSegmentTypes,noAlloc:!0},instanceStrokeWidths:{size:1,accessor:"getWidth",transition:D,defaultValue:1},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,accessor:"getColor",transition:D,defaultValue:R},instancePickingColors:{size:3,type:5121,accessor:function(t,n){var r=n.index,i=n.target;return e.encodePickingColor(t&&t.__source?t.__source.index:r,i)}}}),this.setState({pathTesselator:new T({fp64:this.use64bitPositions()})}),this.props.getDashArray&&!this.props.extensions.length&&b.a.removed("getDashArray","PathStyleExtension")()}},{key:"updateState",value:function(e){var t=e.oldProps,r=e.props,i=e.changeFlags;l()(g()(n.prototype),"updateState",this).call(this,{props:r,oldProps:t,changeFlags:i});var o=this.getAttributeManager();if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPath)){var a=this.state.pathTesselator,s=r.data.attributes||{};a.updateGeometry({data:r.data,geometryBuffer:s.getPath,buffers:s,normalize:!r._pathType,loop:"loop"===r._pathType,getGeometry:r.getPath,positionFormat:r.positionFormat,wrapLongitude:r.wrapLongitude,resolution:this.context.viewport.resolution,dataChanged:i.dataChanged}),this.setState({numInstances:a.instanceCount,startIndices:a.vertexStarts}),i.dataChanged||o.invalidateAll()}if(i.extensionsChanged){var u,c=this.context.gl;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(c),o.invalidateAll()}}},{key:"getPickingInfo",value:function(e){var t=l()(g()(n.prototype),"getPickingInfo",this).call(this,e),r=t.index,i=this.props.data;return i[0]&&i[0].__source&&(t.object=i.find((function(e){return e.__source.index===r}))),t}},{key:"disablePickingIndex",value:function(e){var t=this.props.data;if(t[0]&&t[0].__source)for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){var u=function(e){for(var t,n=e.icons,r=e.buffer,i=e.mapping,o=void 0===i?{}:i,a=e.xOffset,s=void 0===a?0:a,u=e.yOffset,c=void 0===u?0:u,l=e.rowHeight,f=void 0===l?0:l,h=e.canvasWidth,d=[],p=0;ph&&(F(o,d,c),s=0,c=f+c+r,f=0,d=[]),d.push({icon:v,xOffset:s}),s=s+y+r,f=Math.max(f,g)}}return d.length>0&&F(o,d,c),{mapping:o,rowHeight:f,xOffset:s,yOffset:c,canvasWidth:h,canvasHeight:(t=f+c+r,Math.pow(2,Math.ceil(Math.log2(t))))}}({icons:s,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset}),c=u.mapping,l=u.xOffset,f=u.yOffset,h=u.rowHeight,d=u.canvasHeight;this._rowHeight=h,this._mapping=c,this._xOffset=l,this._yOffset=f,this._canvasHeight=d,this._texture||(this._texture=new k.a(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:L})),this._texture.height!==this._canvasHeight&&(this._texture=(this.gl,t=this._texture,n=this._canvasWidth,r=this._canvasHeight,i=t.width,o=t.height,a=Object(P.a)(t,{width:n,height:r}),Object(S.b)(t,a,{targetY:0,width:i,height:o}),t.delete(),a)),this.onUpdate(),this._loadIcons(s)}}},{key:"_loadIcons",value:function(e){var t,n=this,r=this._canvas.getContext("2d"),i=T(e);try{var o=function(){var e=t.value;n._pendingCount++,Object(j.a)(e.url,C.a,n._loadOptions).then((function(t){var i=D(e),o=n._mapping[i],a=o.x,s=o.y,u=o.width,c=o.height,l=function(e,t,n,r){return n===t.width&&r===t.height?t:(e.canvas.height=r,e.canvas.width=n,e.clearRect(0,0,e.canvas.width,e.canvas.height),e.drawImage(t,0,0,t.width,t.height,0,0,n,r),e.canvas)}(r,t,u,c);n._texture.setSubImageData({data:l,x:a,y:s,width:u,height:c}),n._texture.generateMipmap(),n.onUpdate()})).catch((function(t){n.onError({url:e.url,source:e.source,sourceIndex:e.sourceIndex,loadOptions:n._loadOptions,error:t})})).finally((function(){n._pendingCount--}))};for(i.s();!(t=i.n()).done;)o()}catch(e){i.e(e)}finally{i.f()}}}]),e}();function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function z(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0?", ":"")+Object(d.e)(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={shadow_uDrawShadowMap:Boolean(e.drawToShadowMap),shadow_uUseShadowMap:!!e.shadowMaps&&e.shadowMaps.length>0,shadow_uColor:e.shadowColor||y,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},r=v({viewport:e.viewport,center:t.project_uCenter}),i=[],o=g({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice(),a=0;a0?n["shadow_uShadowMap".concat(f)]=e.shadowMaps[f]:n["shadow_uShadowMap".concat(f)]=e.dummyShadowMap;return n}t.a={name:"shadow",dependencies:[u.a],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0){var n=e.shadowEnabled,r=void 0===n||n;return r&&e.shadowMatrices&&e.shadowMatrices.length>0?b(e,t):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return p}));var r=n(25),i=n(31),o=n(18),a=n(89),s=[0,0,0,0],u=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],l=[0,0,0],f=[0,0,0],h=Object(a.a)((function(e){var t=e.viewport,n=e.devicePixelRatio,a=e.coordinateSystem,c=e.coordinateOrigin,f=function(e,t,n){var o=e.viewMatrixUncentered,a=e.projectionMatrix,c=e.viewMatrix,l=e.viewProjectionMatrix,f=s,h=s,p=e.cameraPosition,v=d(e,t,n),g=v.geospatialOrigin,y=v.shaderCoordinateOrigin;v.offsetMode&&(h=e.projectPosition(g||y),p=[p[0]-h[0],p[1]-h[1],p[2]-h[2]],h[3]=1,f=i.n([],h,l),c=o||c,l=r.h([],a,c),l=r.h([],l,u));return{viewMatrix:c,viewProjectionMatrix:l,projectionCenter:f,originCommon:h,cameraPosCommon:p,shaderCoordinateOrigin:y,geospatialOrigin:g}}(t,a,c),h=f.projectionCenter,p=f.viewProjectionMatrix,v=f.originCommon,g=f.cameraPosCommon,y=f.shaderCoordinateOrigin,m=f.geospatialOrigin,b=t.getDistanceScales(),_=[t.width*n,t.height*n],O=i.n([],[0,0,-t.focalDistance,1],t.projectionMatrix)[3]||1,w={project_uCoordinateSystem:a,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:y,project_uCommonOrigin:v.slice(0,3),project_uCenter:h,project_uPseudoMeters:Boolean(t._pseudoMeters),project_uViewportSize:_,project_uDevicePixelRatio:n,project_uFocalDistance:O,project_uCommonUnitsPerMeter:b.unitsPerMeter,project_uCommonUnitsPerWorldUnit:b.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:l,project_uScale:t.scale,project_uViewProjectionMatrix:p,project_uCameraPosition:g};if(m){var x=t.getDistanceScales(m);switch(a){case o.a.METER_OFFSETS:w.project_uCommonUnitsPerWorldUnit=x.unitsPerMeter,w.project_uCommonUnitsPerWorldUnit2=x.unitsPerMeter2;break;case o.a.LNGLAT:case o.a.LNGLAT_OFFSETS:t._pseudoMeters||(w.project_uCommonUnitsPerMeter=x.unitsPerMeter),w.project_uCommonUnitsPerWorldUnit=x.unitsPerDegree,w.project_uCommonUnitsPerWorldUnit2=x.unitsPerDegree2;break;case o.a.CARTESIAN:w.project_uCommonUnitsPerWorldUnit=[1,1,x.unitsPerMeter[2]],w.project_uCommonUnitsPerWorldUnit2=[0,0,x.unitsPerMeter2[2]]}}return w}));function d(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:f;n.length<3&&(n=[n[0],n[1],0]);var r,i=n,a=!0;switch(r=t===o.a.LNGLAT_OFFSETS||t===o.a.METER_OFFSETS?n:e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case o.d.WEB_MERCATOR:t!==o.a.LNGLAT&&t!==o.a.CARTESIAN||(r=[0,0,0],a=!1);break;case o.d.WEB_MERCATOR_AUTO_OFFSET:t===o.a.LNGLAT?i=r:t===o.a.CARTESIAN&&(i=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],r=e.unprojectPosition(i),i[0]-=n[0],i[1]-=n[1],i[2]-=n[2]);break;case o.d.IDENTITY:(i=e.position.map(Math.fround))[2]=i[2]||0;break;case o.d.GLOBE:a=!1,r=null;break;default:a=!1}return{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:a}}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.viewport,n=e.devicePixelRatio,r=void 0===n?1:n,i=e.modelMatrix,a=void 0===i?null:i,s=e.coordinateSystem,u=void 0===s?o.a.DEFAULT:s,l=e.coordinateOrigin,f=e.autoWrapLongitude,d=void 0!==f&&f;u===o.a.DEFAULT&&(u=t.isGeospatial?o.a.LNGLAT:o.a.CARTESIAN);var p=h({viewport:t,devicePixelRatio:r,coordinateSystem:u,coordinateOrigin:l});return p.project_uWrapLongitude=d,p.project_uModelMatrix=a||c,p}},function(e,t,n){var r=n(290);e.exports=function(e,t){if(null==e)return{};var n,i,o=r(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(0),u=n.n(s),c=function(){function e(t){i()(this,e),u()(this,"_viewportProps",void 0),u()(this,"_state",void 0),this._viewportProps=this._applyConstraints(t)}return a()(e,[{key:"getViewportProps",value:function(){return this._viewportProps}},{key:"getState",value:function(){return this._state}},{key:"shortestPathFrom",value:function(e){return this._viewportProps}},{key:"_applyConstraints",value:function(e){return e}}]),e}()},function(e,t,n){"use strict";n.d(t,"b",(function(){return h})),n.d(t,"a",(function(){return d})),n.d(t,"c",(function(){return v}));var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(149),u=n(26),c=n(122),l=n(106),f="Cannot convert supplied data type";function h(e,t,n){if(t.text&&"string"==typeof e)return e;if(Object(u.c)(e)&&(e=e.buffer),e instanceof ArrayBuffer){var r=e;return t.text&&!t.binary?new TextDecoder("utf8").decode(r):r}if(ArrayBuffer.isView(e)){if(t.text&&!t.binary)return new TextDecoder("utf8").decode(e);var i=e.buffer,o=e.byteLength||e.length;return 0===e.byteOffset&&o===i.byteLength||(i=i.slice(e.byteOffset,e.byteOffset+o)),i}throw new Error(f)}function d(e,t,n){return p.apply(this,arguments)}function p(){return(p=i()(a.a.mark((function e(t,n,r){var i,o;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t instanceof ArrayBuffer||ArrayBuffer.isView(t),"string"!=typeof t&&!i){e.next=3;break}return e.abrupt("return",h(t,n));case 3:if(!Object(u.b)(t)){e.next=7;break}return e.next=6,Object(l.b)(t);case 6:t=e.sent;case 7:if(!Object(u.j)(t)){e.next=21;break}return o=t,e.next=11,Object(l.a)(o);case 11:if(!n.binary){e.next=17;break}return e.next=14,o.arrayBuffer();case 14:e.t0=e.sent,e.next=20;break;case 17:return e.next=19,o.text();case 19:e.t0=e.sent;case 20:return e.abrupt("return",e.t0);case 21:if(Object(u.i)(t)&&(t=Object(c.a)(t,r)),!Object(u.d)(t)&&!Object(u.a)(t)){e.next=24;break}return e.abrupt("return",Object(s.a)(t));case 24:throw new Error(f);case 25:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function v(e,t){return g.apply(this,arguments)}function g(){return(g=i()(a.a.mark((function e(t,n){var r,i;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Object(u.e)(t)){e.next=2;break}return e.abrupt("return",t);case 2:if(!Object(u.j)(t)){e.next=10;break}return r=t,e.next=6,Object(l.a)(r);case 6:return e.next=8,r.body;case 8:return i=e.sent,e.abrupt("return",Object(c.a)(i,n));case 10:if(!Object(u.b)(t)&&!Object(u.i)(t)){e.next=12;break}return e.abrupt("return",Object(c.a)(t,n));case 12:if(!Object(u.a)(t)){e.next=14;break}return e.abrupt("return",t[Symbol.asyncIterator]());case 14:return e.abrupt("return",y(t));case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function y(e){if(ArrayBuffer.isView(e))return a.a.mark((function t(){return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.buffer;case 2:case"end":return t.stop()}}),t)}))();if(e instanceof ArrayBuffer)return a.a.mark((function t(){return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e;case 2:case"end":return t.stop()}}),t)}))();if(Object(u.e)(e))return e;if(Object(u.d)(e))return e[Symbol.iterator]();throw new Error(f)}},function(e,t,n){"use strict";var r=n(4),i=n.n(r),o=i.a.mark(a);function a(e,t){var n,r,a,s,u;return i.a.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:n=(null==t?void 0:t.chunkSize)||262144,r=0,a=new TextEncoder;case 3:if(!(r1&&void 0!==l[1]?l[1]:{},n=t.chunkSize,r=void 0===n?262144:n,o=0;case 3:if(!(o * Released under the Apache License, Version 2.0 @@ -8,4 +8,4 @@ * http://hammerjs.github.io/ * * Copyright (c) 2016 Jorik Tangelder; - * Licensed under the MIT license */!function(i,o,a,s){"use strict";var u,c=["","webkit","Moz","MS","ms","o"],l=o.createElement("div"),f=Math.round,h=Math.abs,d=Date.now;function p(e,t,n){return setTimeout(O(e,n),t)}function v(e,t,n){return!!Array.isArray(e)&&(g(e,n[t],n),!0)}function g(e,t,n){var r;if(e)if(e.forEach)e.forEach(t,n);else if(void 0!==e.length)for(r=0;r\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=i.console&&(i.console.warn||i.console.log);return o&&o.call(i.console,r,n),e.apply(this,arguments)}}u="function"!=typeof Object.assign?function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n-1}function C(e){return e.trim().split(/\s+/g)}function j(e,t,n){if(e.indexOf&&!n)return e.indexOf(t);for(var r=0;rn[t]})):r.sort()),r}function M(e,t){for(var n,r,i=t[0].toUpperCase()+t.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=G(t):1===i&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,s=a?a.center:o.center,u=t.center=V(r);t.timeStamp=d(),t.deltaTime=t.timeStamp-o.timeStamp,t.angle=X(s,u),t.distance=J(s,u),function(e,t){var n=t.center,r=e.offsetDelta||{},i=e.prevDelta||{},o=e.prevInput||{};1!==t.eventType&&4!==o.eventType||(i=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=e.offsetDelta={x:n.x,y:n.y});t.deltaX=i.x+(n.x-r.x),t.deltaY=i.y+(n.y-r.y)}(n,t),t.offsetDirection=W(t.deltaX,t.deltaY);var c=H(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=c.x,t.overallVelocityY=c.y,t.overallVelocity=h(c.x)>h(c.y)?c.x:c.y,t.scale=a?(l=a.pointers,f=r,J(f[0],f[1],N)/J(l[0],l[1],N)):1,t.rotation=a?function(e,t){return X(t[1],t[0],N)+X(e[1],e[0],N)}(a.pointers,r):0,t.maxPointers=n.prevInput?t.pointers.length>n.prevInput.maxPointers?t.pointers.length:n.prevInput.maxPointers:t.pointers.length,function(e,t){var n,r,i,o,a=e.lastInterval||t,s=t.timeStamp-a.timeStamp;if(8!=t.eventType&&(s>25||void 0===a.velocity)){var u=t.deltaX-a.deltaX,c=t.deltaY-a.deltaY,l=H(s,u,c);r=l.x,i=l.y,n=h(l.x)>h(l.y)?l.x:l.y,o=W(u,c),e.lastInterval=t}else n=a.velocity,r=a.velocityX,i=a.velocityY,o=a.direction;t.velocity=n,t.velocityX=r,t.velocityY=i,t.direction=o}(n,t);var l,f;var p=e.element;S(t.srcEvent.target,p)&&(p=t.srcEvent.target);t.target=p}(e,n),e.emit("hammer.input",n),e.recognize(n),e.session.prevInput=n}function G(e){for(var t=[],n=0;n=h(t)?e<0?2:4:t<0?8:16}function J(e,t,n){n||(n=F);var r=t[n[0]]-e[n[0]],i=t[n[1]]-e[n[1]];return Math.sqrt(r*r+i*i)}function X(e,t,n){n||(n=F);var r=t[n[0]]-e[n[0]],i=t[n[1]]-e[n[1]];return 180*Math.atan2(i,r)/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&A(this.element,this.evEl,this.domHandler),this.evTarget&&A(this.target,this.evTarget,this.domHandler),this.evWin&&A(I(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&P(this.element,this.evEl,this.domHandler),this.evTarget&&P(this.target,this.evTarget,this.domHandler),this.evWin&&P(I(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4};function q(){this.evEl="mousedown",this.evWin="mousemove mouseup",this.pressed=!1,U.apply(this,arguments)}_(q,U,{handler:function(e){var t=K[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:"mouse",srcEvent:e}))}});var Z={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Y={2:"touch",3:"pen",4:"mouse",5:"kinect"},Q="pointerdown",$="pointermove pointerup pointercancel";function ee(){this.evEl=Q,this.evWin=$,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}i.MSPointerEvent&&!i.PointerEvent&&(Q="MSPointerDown",$="MSPointerMove MSPointerUp MSPointerCancel"),_(ee,U,{handler:function(e){var t=this.store,n=!1,r=e.type.toLowerCase().replace("ms",""),i=Z[r],o=Y[e.pointerType]||e.pointerType,a="touch"==o,s=j(t,e.pointerId,"pointerId");1&i&&(0===e.button||a)?s<0&&(t.push(e),s=t.length-1):12&i&&(n=!0),s<0||(t[s]=e,this.callback(this.manager,i,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),n&&t.splice(s,1))}});var te={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function ne(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,U.apply(this,arguments)}function re(e,t){var n=E(e.touches),r=E(e.changedTouches);return 12&t&&(n=T(n.concat(r),"identifier",!0)),[n,r]}_(ne,U,{handler:function(e){var t=te[e.type];if(1===t&&(this.started=!0),this.started){var n=re.call(this,e,t);12&t&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:e})}}});var ie={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function oe(){this.evTarget="touchstart touchmove touchend touchcancel",this.targetIds={},U.apply(this,arguments)}function ae(e,t){var n=E(e.touches),r=this.targetIds;if(3&t&&1===n.length)return r[n[0].identifier]=!0,[n,n];var i,o,a=E(e.changedTouches),s=[],u=this.target;if(o=n.filter((function(e){return S(e.target,u)})),1===t)for(i=0;i-1&&r.splice(e,1)}),2500)}}function le(e){for(var t=e.srcEvent.clientX,n=e.srcEvent.clientY,r=0;r-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,n=this.state;function r(n){t.manager.emit(n,e)}n<8&&r(t.options.event+ge(n)),r(t.options.event),e.additionalEvent&&r(e.additionalEvent),n>=8&&r(t.options.event+ge(n))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=32},canEmit:function(){for(var e=0;et.threshold&&i&t.direction},attrTest:function(e){return be.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=ye(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),_(Oe,be,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),_(we,ve,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,r=e.distancet.time;if(this._input=e,!r||!n||12&e.eventType&&!i)this.reset();else if(1&e.eventType)this.reset(),this._timer=p((function(){this.state=8,this.tryEmit()}),t.time,this);else if(4&e.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=d(),this.manager.emit(this.options.event,this._input)))}}),_(xe,be,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),_(Ae,be,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return _e.prototype.getTouchAction.call(this)},attrTest:function(e){var t,n=this.options.direction;return 30&n?t=e.overallVelocity:6&n?t=e.overallVelocityX:24&n&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&h(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=ye(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),_(Pe,ve,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return["manipulation"]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,r=e.distance0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}},{key:"_checkSampling",value:function(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}]),e}(),l=function(){function e(t){var n=t.id,r=t.stats;i()(this,e),this.id=n,this.stats={},this._initializeStats(r),Object.seal(this)}return a()(e,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}},{key:"size",get:function(){return Object.keys(this.stats).length}},{key:"reset",value:function(){for(var e in this.stats)this.stats[e].reset();return this}},{key:"forEach",value:function(e){for(var t in this.stats)e(this.stats[t])}},{key:"getTable",value:function(){var e={};return this.forEach((function(t){e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}})),e}},{key:"_initializeStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){return e._getOrCreate(t)}))}},{key:"_getOrCreate",value:function(e){if(!e||!e.name)return null;var t=e.name,n=e.type;return this.stats[t]||(this.stats[t]=e instanceof c?e:new c(t,n)),this.stats[t]}}]),e}(),f=n(35);n.d(t,"a",(function(){return h}));var h=new(function(){function e(){i()(this,e),this.stats=new Map}return a()(e,[{key:"get",value:function(e){return this.stats.has(e)||this.stats.set(e,new l({id:e})),this.stats.get(e)}}]),e}());if(f.global.luma&&"8.5.10"!==f.global.luma.VERSION)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(f.global.luma.VERSION," vs ").concat("8.5.10"));f.global.luma||(Object(f.isBrowser)()&&s.k.log(1,"luma.gl ".concat("8.5.10"," - ").concat("set luma.log.level=1 (or higher) to trace rendering"))(),f.global.luma=f.global.luma||{VERSION:"8.5.10",version:"8.5.10",log:s.k,stats:h,globals:{modules:{},nodeIO:{}}});f.global.luma},,,function(e,t){},function(e,t,n){"use strict";n.d(t,"a",(function(){return h}));var r=n(171),i=n.n(r),o=n(44),a=n.n(o),s=n(45),u=n.n(s),c=n(15),l=n(74),f=n(27),h=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.phi,r=void 0===n?0:n,i=t.theta,o=void 0===i?0:i,s=t.radius,u=void 0===s?1:s,c=t.bearing,l=void 0===c?void 0:c,f=t.pitch,h=void 0===f?void 0:f,d=t.altitude,p=void 0===d?void 0:d,v=t.radiusScale,g=void 0===v?6371e3:v;a()(this,e),this.phi=r,this.theta=o,this.radius=u||p||1,this.radiusScale=g||1,void 0!==l&&(this.bearing=l),void 0!==h&&(this.pitch=h),this.check()}return u()(e,[{key:"toString",value:function(){return this.formatString(c.b)}},{key:"formatString",value:function(e){var t=e.printTypes,n=void 0!==t&&t,r=c.e;return"".concat(n?"Spherical":"","[rho:").concat(r(this.radius),",theta:").concat(r(this.theta),",phi:").concat(r(this.phi),"]")}},{key:"equals",value:function(e){return Object(c.d)(this.radius,e.radius)&&Object(c.d)(this.theta,e.theta)&&Object(c.d)(this.phi,e.phi)}},{key:"exactEquals",value:function(e){return this.radius===e.radius&&this.theta===e.theta&&this.phi===e.phi}},{key:"bearing",get:function(){return 180-Object(c.c)(this.phi)},set:function(e){this.phi=Math.PI-Object(c.h)(e)}},{key:"pitch",get:function(){return Object(c.c)(this.theta)},set:function(e){this.theta=Object(c.h)(e)}},{key:"longitude",get:function(){return Object(c.c)(this.phi)}},{key:"latitude",get:function(){return Object(c.c)(this.theta)}},{key:"lng",get:function(){return Object(c.c)(this.phi)}},{key:"lat",get:function(){return Object(c.c)(this.theta)}},{key:"z",get:function(){return(this.radius-1)*this.radiusScale}},{key:"set",value:function(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this.check()}},{key:"clone",value:function(){return(new e).copy(this)}},{key:"copy",value:function(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this.check()}},{key:"fromLngLatZ",value:function(e){var t=i()(e,3),n=t[0],r=t[1],o=t[2];this.radius=1+o/this.radiusScale,this.phi=Object(c.h)(r),this.theta=Object(c.h)(n)}},{key:"fromVector3",value:function(e){return this.radius=f.i(e),this.radius>0&&(this.theta=Math.atan2(e[0],e[1]),this.phi=Math.acos(Object(c.a)(e[2]/this.radius,-1,1))),this.check()}},{key:"toVector3",value:function(){return new l.a(0,0,this.radius).rotateX({radians:this.theta}).rotateZ({radians:this.phi})}},{key:"makeSafe",value:function(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this}},{key:"check",value:function(){if(!(Number.isFinite(this.phi)&&Number.isFinite(this.theta)&&this.radius>0))throw new Error("SphericalCoordinates: some fields set to invalid numbers");return this}}]),e}()},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}));var r=n(104);function i(e,t){return Object(r.a)(e>=0),Object(r.a)(t>0),e+(t-1)&~(t-1)}function o(e,t,n){var r;if(e instanceof ArrayBuffer)r=new Uint8Array(e);else{var o=e.byteOffset,a=e.byteLength;r=new Uint8Array(e.buffer||e.arrayBuffer,o,a)}return t.set(r,n),n+i(r.byteLength,4)}},function(e,t,n){"use strict";n.r(t);var r=n(234);n.d(t,"SimpleMeshLayer",(function(){return r.a}));var i=n(229);n.d(t,"ScenegraphLayer",(function(){return i.a}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(1),i=n.n(r),o=[255,255,255],a=0,s=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e);var n=t.color,r=void 0===n?o:n,s=t.intensity,u=void 0===s?1:s;this.id=t.id||"ambient-".concat(a++),this.color=r,this.intensity=u,this.type="ambient"}},function(e,t,n){"use strict";n.d(t,"a",(function(){return O}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(69),g=n(90),y=n(110);function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);no&&(s+=o-h),l+=s,f+=s}return[l,f]}return Object(b.a)(n+s,a,o)}}]),n}(n(112).a),x=function(e){h()(n,e);var t=O(n);function n(e){return a()(this,n),e.dragMode=e.dragMode||"pan",t.call(this,w,e)}return u()(n,[{key:"_onPanRotate",value:function(e){return!1}},{key:"linearTransitionProps",get:function(){return["target","zoom"]}}]),n}(_.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(0),i=n.n(r);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0&&n.modules.splice(r,1)}if("inject"in t)if(e.inject){var i=a({},e.inject);for(var o in t.inject)i[o]=(i[o]||"")+t.inject[o];n.inject=i}else n.inject=t.inject;return n}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(12),i=n.n(r);function o(e){if(null===(t=e)||"object"!==i()(t))throw new Error("count(): argument not an object");var t;if("function"==typeof e.count)return e.count();if(Number.isFinite(e.size))return e.size;if(Number.isFinite(e.length))return e.length;if(function(e){return null!==e&&"object"===i()(e)&&e.constructor===Object}(e))return Object.keys(e).length;throw new Error("count(): argument not a container")}},function(e,t,n){"use strict";var r=n(11),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(0),g=n.n(v),y=n(18),m=n(156),b=n(52),_=n(15),O=n(82);function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}var x=function(e){l()(n,e);var t=w(n);function n(){return a()(this,n),t.apply(this,arguments)}return u()(n,[{key:"value",get:function(){return this._value}},{key:"_onUpdate",value:function(){var e=this.time,t=this.settings,n=t.fromValue,r=t.toValue,i=t.duration,o=(0,t.easing)(e/i);this._value=Object(_.g)(n,r,o)}}]),n}(O.a);function A(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}function P(e,t,n,r,i){var o=t-e;return(n-t)*i+-o*r+o+t}function S(e,t){if(Array.isArray(e)){for(var n=0,r=0;r=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}},{key:"add",value:function(e,t,n,r){var i=this.transitions;if(i.has(e)){var o=i.get(e),a=o.value;t=void 0===a?o.settings.fromValue:a,this.remove(e)}if(r=Object(b.e)(r)){var s=I[r.type];if(s){var u=new s(this.timeline);u.start(M(M({},r),{},{fromValue:t,toValue:n})),i.set(e,u)}else C.a.error("unsupported transition type '".concat(r.type,"'"))()}}},{key:"remove",value:function(e){var t=this.transitions;t.has(e)&&(t.get(e).cancel(),t.delete(e))}},{key:"update",value:function(){var e,t={},n=j(this.transitions);try{for(n.s();!(e=n.n()).done;){var r=i()(e.value,2),o=r[0],a=r[1];a.update(),t[o]=a.value,a.inProgress||this.remove(o)}}catch(e){n.e(e)}finally{n.f()}return t}},{key:"clear",value:function(){var e,t=j(this.transitions.keys());try{for(t.s();!(e=t.n()).done;){var n=e.value;this.remove(n)}}catch(e){t.e(e)}finally{t.f()}}}]),e}(),L=n(131),D=n(154),F=n(36),N=n(10),U=n(40),z=n(89),G=n(153),V=n(134),H=n(78),W=n(29),J=n(62),X=n(12),K=n.n(X),q=n(105);function Z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t=t.min)}},color:{validate:function(e,t){return t.optional&&!e||se(e)&&(3===e.length||4===e.length)},equal:function(e,t,n){return ie(e,t)}},accessor:{validate:function(e,t){var n=ue(e);return"function"===n||n===ue(t.value)},equal:function(e,t,n){return"function"==typeof t||ie(e,t)}},array:{validate:function(e,t){return t.optional&&!e||se(e)},equal:function(e,t,n){return n.compare?ie(e,t):e===t}},object:{equal:function(e,t,n){return n.compare?Object(ee.a)(e,t):e===t}},function:{validate:function(e,t){return t.optional&&!e||"function"==typeof e},equal:function(e,t,n){return!n.compare||e===t}},data:{transform:function(e,t,n){var r=n.props.dataTransform;return r&&e?r(e):e}},image:{transform:function(e,t,n){return function(e,t){var n=e.context&&e.context.gl;if(!n||!t)return null;if(t instanceof q.a)return t;t.constructor&&"Object"!==t.constructor.name&&(t={data:t});var r=null;t.compressed&&(r=g()({},10241,t.data.length>1?9985:9729));var i=new q.a(n,Y(Y({},t),{},{parameters:Y(Y(Y({},Q),r),e.props.textureParameters)}));return $[i.id]=!0,i}(n,e)},release:function(e){var t;(t=e)&&t instanceof q.a&&$[t.id]&&(t.delete(),delete $[t.id])}}};function ie(e,t){if(e===t)return!0;if(!se(e)||!se(t))return!1;var n=e.length;if(n!==t.length)return!1;for(var r=0;r=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function le(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(var n in this.asyncProps)if(this.isAsyncPropLoading(n))return!0;return!1}},{key:"reloadAsyncProp",value:function(e,t){this._watchPromise(e,Promise.resolve(t))}},{key:"setAsyncProps",value:function(e){var t=e[W.c]||{},n=e[W.b]||e,r=e[W.a]||{};for(var i in t){var o=t[i];this._createAsyncPropData(i,r[i]),this._updateAsyncProp(i,o),t[i]=this.getAsyncProp(i)}for(var a in n){var s=n[a];this._createAsyncPropData(a,r[a]),this._updateAsyncProp(a,s)}}},{key:"_fetch",value:function(e,t){return t}},{key:"_onResolve",value:function(e,t){}},{key:"_onError",value:function(e,t){}},{key:"_updateAsyncProp",value:function(e,t){this._didAsyncInputValueChange(e,t)&&("string"==typeof t&&(t=this._fetch(e,t)),t instanceof Promise?this._watchPromise(e,t):Object(J.c)(t)?this._resolveAsyncIterable(e,t):this._setPropValue(e,t))}},{key:"_freezeAsyncOldProps",value:function(){if(!this.oldAsyncProps&&this.oldProps)for(var e in this.oldAsyncProps=Object.create(this.oldProps),this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}},{key:"_didAsyncInputValueChange",value:function(e,t){var n=this.asyncProps[e];return t!==n.resolvedValue&&t!==n.lastValue&&(n.lastValue=t,!0)}},{key:"_setPropValue",value:function(e,t){this._freezeAsyncOldProps();var n=this.asyncProps[e];n&&(t=this._postProcessValue(n,t),n.resolvedValue=t,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount)}},{key:"_setAsyncPropValue",value:function(e,t,n){var r=this.asyncProps[e];r&&n>=r.resolvedLoadCount&&void 0!==t&&(this._freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=n,this.onAsyncPropUpdated(e,t))}},{key:"_watchPromise",value:function(e,t){var n=this,r=this.asyncProps[e];if(r){r.pendingLoadCount++;var i=r.pendingLoadCount;t.then((function(t){t=n._postProcessValue(r,t),n._setAsyncPropValue(e,t,i),n._onResolve(e,t)})).catch((function(t){n._onError(e,t)}))}}},{key:"_resolveAsyncIterable",value:(t=be()(xe.a.mark((function e(t,n){var r,i,o,a,s,u,c,l,f,h,d;return xe.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("data"===t){e.next=3;break}return this._setPropValue(t,n),e.abrupt("return");case 3:if(r=this.asyncProps[t]){e.next=6;break}return e.abrupt("return");case 6:r.pendingLoadCount++,i=r.pendingLoadCount,o=[],a=0,s=!1,u=!1,e.prev=12,l=Oe()(n);case 14:return e.next=16,l.next();case 16:if(!(s=!(f=e.sent).done)){e.next=26;break}h=f.value,d=this.component.props.dataTransform,o=d?d(h,o):o.concat(h),Object.defineProperty(o,"__diff",{enumerable:!1,value:[{startRow:a,endRow:o.length}]}),a=o.length,this._setAsyncPropValue(t,o,i);case 23:s=!1,e.next=14;break;case 26:e.next=32;break;case 28:e.prev=28,e.t0=e.catch(12),u=!0,c=e.t0;case 32:if(e.prev=32,e.prev=33,!s||null==l.return){e.next=37;break}return e.next=37,l.return();case 37:if(e.prev=37,!u){e.next=40;break}throw c;case 40:return e.finish(37);case 41:return e.finish(32);case 42:this._onResolve(t,o);case 43:case"end":return e.stop()}}),e,this,[[12,28,32,42],[33,,37,41]])}))),function(e,n){return t.apply(this,arguments)})},{key:"_postProcessValue",value:function(e,t){var n=e.type;return n&&(n.release&&n.release(e.resolvedValue,n,this.component),n.transform)?n.transform(t,n,this.component):t}},{key:"_createAsyncPropData",value:function(e,t){if(!this.asyncProps[e]){var n=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:n&&n[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}]),e}();function Se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ke(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ne(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0])||arguments[0];this.internalState&&(this.internalState.needsRedraw=e)}},{key:"setNeedsUpdate",value:function(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};return this._getNeedsRedraw(e)}},{key:"needsUpdate",value:function(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}},{key:"hasUniformTransition",value:function(){return this.internalState.uniformTransitions.active}},{key:"isLoaded",get:function(){return this.internalState&&!this.internalState.isAsyncPropLoading()}},{key:"wrapLongitude",get:function(){return this.props.wrapLongitude}},{key:"isPickable",value:function(){return this.props.pickable&&this.props.visible}},{key:"getModels",value:function(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}},{key:"getAttributeManager",value:function(){return this.internalState&&this.internalState.attributeManager}},{key:"getCurrentLayer",value:function(){return this.internalState&&this.internalState.layer}},{key:"getLoadOptions",value:function(){return this.props.loadOptions}},{key:"project",value:function(e){var t=this.context.viewport,n=Object(V.a)(e,{viewport:t,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),r=Object(Le.p)(n,t.pixelProjectionMatrix),o=i()(r,3),a=o[0],s=o[1],u=o[2];return 2===e.length?[a,s]:[a,s,u]}},{key:"unproject",value:function(e){return this.context.viewport.unproject(e)}},{key:"projectPosition",value:function(e,t){return Object(V.b)(e,Ge({viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem},t))}},{key:"use64bitPositions",value:function(){var e=this.props.coordinateSystem;return e===y.a.DEFAULT||e===y.a.LNGLAT||e===y.a.CARTESIAN}},{key:"onHover",value:function(e,t){return!!this.props.onHover&&this.props.onHover(e,t)}},{key:"onClick",value:function(e,t){return!!this.props.onClick&&this.props.onClick(e,t)}},{key:"nullPickingColor",value:function(){return[0,0,0]}},{key:"encodePickingColor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t[0]=e+1&255,t[1]=e+1>>8&255,t[2]=e+1>>8>>8&255,t}},{key:"decodePickingColor",value:function(e){Object(U.a)(e instanceof Uint8Array);var t=i()(e,3);return t[0]+256*t[1]+65536*t[2]-1}},{key:"initializeState",value:function(){throw new Error("Layer ".concat(this," has not defined initializeState"))}},{key:"getShaders",value:function(e){var t,n=Fe(this.props.extensions);try{for(n.s();!(t=n.n()).done;){var r=t.value;e=Object(G.a)(e,r.getShaders.call(this,r))}}catch(e){n.e(e)}finally{n.f()}return e}},{key:"getBounds",value:function(){var e,t=this.getAttributeManager();if(!t)return null;var n=t.attributes,r=n.positions,i=n.instancePositions;return null===(e=r||i)||void 0===e?void 0:e.getBounds()}},{key:"shouldUpdateState",value:function(e){e.oldProps,e.props,e.context;return e.changeFlags.propsOrDataChanged}},{key:"updateState",value:function(e){var t=e.oldProps,n=e.props,r=(e.context,e.changeFlags),i=this.getAttributeManager();if(r.dataChanged&&i){var o=r.dataChanged;if(Array.isArray(o)){var a,s=Fe(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;i.invalidateAll(u)}}catch(e){s.e(e)}finally{s.f()}}else i.invalidateAll()}var c=Number.isInteger(t.highlightedObjectIndex)||t.pickable,l=Number.isInteger(n.highlightedObjectIndex)||n.pickable;if(c!==l&&i){var f=i.attributes,h=f.pickingColors,d=f.instancePickingColors,p=h||d;p&&(l&&p.constant&&(p.constant=!1,i.invalidate(p.id)),p.value||l||(p.constant=!0,p.value=[0,0,0]))}}},{key:"finalizeState",value:function(){var e,t=Fe(this.getModels());try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(e){t.e(e)}finally{t.f()}var n=this.getAttributeManager();n&&n.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}},{key:"draw",value:function(e){var t,n=Fe(this.getModels());try{for(n.s();!(t=n.n()).done;){t.value.draw(e)}}catch(e){n.e(e)}finally{n.f()}}},{key:"getPickingInfo",value:function(e){var t=e.info,n=(e.mode,t.index);return n>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[n]),t}},{key:"activateViewport",value:function(e){var t=this.internalState.viewport;this.internalState.viewport=e,t&&We({oldViewport:t,viewport:e})||(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}},{key:"invalidateAttribute",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",t=(arguments.length>1&&void 0!==arguments[1]&&arguments[1],this.getAttributeManager());t&&("all"===e?t.invalidateAll():t.invalidate(e))}},{key:"updateAttributes",value:function(e){var t,n=Fe(this.getModels());try{for(n.s();!(t=n.n()).done;){var r=t.value;this._setModelAttributes(r,e)}}catch(e){n.e(e)}finally{n.f()}}},{key:"_updateAttributes",value:function(e){var t=this.getAttributeManager();if(t){var n=this.getNumInstances(e),r=this.getStartIndices(e);t.update({data:e.data,numInstances:n,startIndices:r,props:e,transitions:e.transitions,buffers:e.data.attributes,context:this,ignoreUnknownAttributes:!0});var i=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(i)}}},{key:"_updateAttributeTransition",value:function(){var e=this.getAttributeManager();e&&e.updateTransition()}},{key:"_updateUniformTransition",value:function(){var e=this.internalState.uniformTransitions;if(e.active){var t=e.update(),n=Object.create(this.props);for(var r in t)Object.defineProperty(n,r,{value:t[r]});return n}return this.props}},{key:"calculateInstancePickingColors",value:function(e,t){var n=t.numInstances;if(!e.constant){var r=Math.floor(Je.length/3);if(this.internalState.usesPickingColorCache=!0,rVe&&C.a.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),Je=H.a.allocate(Je,n,{size:3,copy:!0,maxCount:Math.max(n,Ve)});for(var i=Math.floor(Je.length/3),o=[],a=r;a=0?this.encodePickingColor(o):null),this.setModuleParameters(s)}}},{key:"_getUpdateParams",value:function(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}},{key:"_getNeedsRedraw",value:function(e){if(!this.internalState)return!1;var t=!1;t=t||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!e.clearRedrawFlags;var n=this.getAttributeManager(),r=n&&n.getNeedsRedraw(e);return t=t||r}},{key:"_getAttributeManager",value:function(){return new m.a(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}},{key:"_initState",value:function(){Object(U.a)(!this.internalState&&!this.state),Object(U.a)(isFinite(this.props.coordinateSystem));var e=this._getAttributeManager();e&&e.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new Re({attributeManager:e,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:function(){return C.a.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),e}}),this.internalState.layer=this,this.internalState.uniformTransitions=new R(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}},{key:"_transferState",value:function(e){Object(F.a)("layer.matched",this,this===e);var t=e.state,n=e.internalState;this!==e&&(this.internalState=n,this.internalState.layer=this,this.state=t,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}},{key:"_onAsyncPropUpdated",value:function(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}]),n}(je);Ke.layerName="Layer",Ke.defaultProps=Xe},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(11),l=n.n(c),f=n(9),h=n.n(f),d=n(6),p=n.n(d),v=n(7),g=n.n(v),y=n(2),m=n.n(y),b=n(253),_=n(182),O=n(37);function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function x(e){for(var t=1;t=o){for(var a=new Array(i).fill(1/0),s=new Array(i).fill(-1/0),u=0;us[c]&&(s[c]=l)}e=[a,s]}}return this.state.bounds=e,e}},{key:"setData",value:function(e){var t=this.state;ArrayBuffer.isView(e)?e={value:e}:e instanceof O.a&&(e={buffer:e});var n=j(j({},this.settings),e);if(t.bufferAccessor=n,t.bounds=null,e.constant){var r=e.value;if(r=this._normalizeValue(r,[],0),this.settings.normalized&&(r=this._normalizeConstant(r)),!(!t.constant||!this._areValuesEqual(r,this.value)))return!1;t.externalBuffer=null,t.constant=!0,this.value=r}else if(e.buffer){var i=e.buffer;t.externalBuffer=i,t.constant=!1,this.value=e.value;var o=e.value instanceof Float64Array;n.type=e.type||i.accessor.type,n.bytesPerElement=i.accessor.BYTES_PER_ELEMENT*(o?2:1),n.stride=E(n)}else if(e.value){this._checkExternalBuffer(e);var a=e.value;t.externalBuffer=null,t.constant=!1,this.value=a,n.bytesPerElement=a.BYTES_PER_ELEMENT,n.stride=E(n);var s=this.buffer,u=this.byteOffset;this.doublePrecision&&a instanceof Float64Array&&(a=Object(S.f)(a,n));var c=a.byteLength+u+2*n.stride;s.byteLength0&&void 0!==arguments[0]?arguments[0]:{};this.state.bounds=null;var t=this.value,n=e.startOffset,r=void 0===n?0:n,i=e.endOffset;this.buffer.subData({data:this.doublePrecision&&t instanceof Float64Array?Object(S.f)(t,{size:this.size,startIndex:r,endIndex:i}):t.subarray(r,i),offset:r*t.BYTES_PER_ELEMENT+this.byteOffset})}},{key:"allocate",value:function(e){var t=e.numInstances,n=e.copy,r=void 0!==n&&n,i=this.state,o=i.allocatedValue,a=P.a.allocate(o,t+1,{size:this.size,type:this.defaultType,copy:r});this.value=a;var s=this.buffer,u=this.byteOffset;return s.byteLength=0;)t[n+a]=Number.isFinite(e[a])?e[a]:i[a]}return t}},{key:"_areValuesEqual",value:function(e,t){if(!e||!t)return!1;for(var n=this.size,r=0;r=t[1])return e;for(var n=[],r=e.length,i=0,o=0;ot[1]?n.push(a):t=[Math.min(a[0],t[0]),Math.max(a[1],t[1])]}return n.splice(i,0,t),n}var N=n(52);function U(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return z(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};a()(this,n),r=t.call(this,e,i);var o=i.transition,s=void 0!==o&&o,u=i.noAlloc,c=void 0!==u&&u,l=i.update,f=void 0===l?null:l,h=i.accessor,d=void 0===h?null:h,p=i.transform,v=void 0===p?null:p,g=i.startIndices,y=void 0===g?null:g;return Object.assign(r.settings,{transition:s,noAlloc:c,update:f||d&&r._autoUpdater,accessor:d,transform:v}),Object.assign(r.state,{lastExternalBuffer:null,binaryValue:null,binaryAccessor:null,needsUpdate:!0,needsRedraw:!1,updateRanges:D,startIndices:y}),Object.seal(r.settings),Object.seal(r.state),r._validateAttributeUpdaters(),r}return u()(n,[{key:"startIndices",get:function(){return this.state.startIndices},set:function(e){this.state.startIndices=e}},{key:"needsUpdate",value:function(){return this.state.needsUpdate}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearChangedFlags,n=void 0!==t&&t,r=this.state.needsRedraw;return this.state.needsRedraw=r&&!n,r}},{key:"getUpdateTriggers",value:function(){var e=this.settings.accessor;return[this.id].concat("function"!=typeof e&&e||[])}},{key:"supportsTransition",value:function(){return Boolean(this.settings.transition)}},{key:"getTransitionSetting",value:function(e){if(!e||!this.supportsTransition())return null;var t=this.settings.accessor,n=this.settings.transition,r=Array.isArray(t)?e[t.find((function(t){return e[t]}))]:e[t];return Object(N.e)(r,n)}},{key:"setNeedsUpdate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id,t=arguments.length>1?arguments[1]:void 0;if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){var n=t.startRow,r=void 0===n?0:n,i=t.endRow,o=void 0===i?1/0:i;this.state.updateRanges=F(this.state.updateRanges,[r,o])}else this.state.updateRanges=D}},{key:"clearNeedsUpdate",value:function(){this.state.needsUpdate=!1,this.state.updateRanges=L}},{key:"setNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id;this.state.needsRedraw=this.state.needsRedraw||e}},{key:"update",value:function(e){this.setData(e)}},{key:"allocate",value:function(e){var t=this.state,r=this.settings;return!r.noAlloc&&(!!r.update&&(h()(m()(n.prototype),"allocate",this).call(this,{numInstances:e,copy:t.updateRanges!==D}),!0))}},{key:"updateBuffer",value:function(e){var t=e.numInstances,r=e.data,i=e.props,o=e.context;if(!this.needsUpdate())return!1;var a=this.state.updateRanges,s=this.settings,u=s.update,c=s.noAlloc,f=!0;if(u){var d,p=U(a);try{for(p.s();!(d=p.n()).done;){var v=l()(d.value,2),g=v[0],y=v[1];u.call(o,this,{data:r,startRow:g,endRow:y,props:i,numInstances:t})}}catch(e){p.e(e)}finally{p.f()}if(this.value)if(this.constant||this.buffer.byteLength1&&void 0!==arguments[1]?arguments[1]:null,n=this.state,r=this.settings;if(!e)return n.binaryValue=null,n.binaryAccessor=null,!1;if(r.noAlloc)return!1;if(n.binaryValue===e)return this.clearNeedsUpdate(),!0;n.binaryValue=e,this.setNeedsRedraw(),ArrayBuffer.isView(e)&&(e={value:e});var i=r.transform||t!==this.startIndices;if(i){Object(B.a)(ArrayBuffer.isView(e.value),"invalid ".concat(r.accessor));var o=e.size&&e.size!==this.size;return n.binaryAccessor=Object(I.b)(e.value,{size:e.size||this.size,stride:e.stride,offset:e.offset,startIndices:t,nested:o}),!1}return this.clearNeedsUpdate(),this.setData(e),!0}},{key:"getVertexOffset",value:function(e){var t=this.startIndices;return(t?t[e]:e)*this.size}},{key:"getShaderAttributes",value:function(){var e=this.settings.shaderAttributes||i()({},this.id,null),t={};for(var r in e)Object.assign(t,h()(m()(n.prototype),"getShaderAttributes",this).call(this,r,e[r]));return t}},{key:"_autoUpdater",value:function(e,t){var n=t.data,r=t.startRow,i=t.endRow,o=t.props,a=t.numInstances;if(!e.constant){var s=e.settings,u=e.state,c=e.value,l=e.size,f=e.startIndices,h=s.accessor,d=s.transform,p=u.binaryAccessor||("function"==typeof h?h:o[h]);Object(B.a)("function"==typeof p,'accessor "'.concat(h,'" is not a function'));var v,g=e.getVertexOffset(r),y=Object(I.a)(n,r,i),m=y.iterable,b=y.objectInfo,_=U(m);try{for(_.s();!(v=_.n()).done;){var O=v.value;b.index++;var w=p(O,b);if(d&&(w=d.call(this,w)),f){var x=(b.indexl?c.set(w,g):(e._normalizeValue(w,b.target,0),Object(R.a)({target:c,source:b.target,start:g,count:x}));g+=x*l}else e._normalizeValue(w,c,g),g+=l}}catch(e){_.e(e)}finally{_.f()}}}},{key:"_validateAttributeUpdaters",value:function(){var e=this.settings;if(!(e.noAlloc||"function"==typeof e.update))throw new Error("Attribute ".concat(this.id," missing update or accessor"))}},{key:"_checkAttributeArray",value:function(){var e=this.value,t=Math.min(4,this.size);if(e&&e.length>=t){var n=!0;switch(t){case 4:n=n&&Number.isFinite(e[3]);case 3:n=n&&Number.isFinite(e[2]);case 2:n=n&&Number.isFinite(e[1]);case 1:n=n&&Number.isFinite(e[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}]),n}(M),H=n(36),W=n(328),J=n(82);function X(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ne(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:r},varyings:["vNext"]})}(n,r,this.framebuffer);var s={byteLength:0,usage:35050};this.buffers=[new O.a(n,s),new O.a(n,s),new O.a(n,s)]}return u()(e,[{key:"inProgress",get:function(){return this.transition.inProgress}},{key:"start",value:function(e,t){var n,r=this.gl,i=this.buffers,o=this.attribute,a={numInstances:t,attribute:o,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},s=te(i);try{for(s.s();!(n=s.n()).done;){var u=n.value;Object(N.f)(ie({buffer:u},a))}}catch(e){s.e(e)}finally{s.f()}this.currentStartIndices=o.startIndices,this.currentLength=Object(N.b)(o,t),this.attributeInTransition.update({buffer:i[1],value:o.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/o.size),sourceBuffers:{aTo:Object(N.d)(r,o)}})}},{key:"update",value:function(){var e=this.buffers,t=this.transform,n=this.framebuffer,r=this.transition;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),Object(N.a)(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),Object(Q.c)(n)[0]>0||r.end(),!0)}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}]),e}()},ae=function(){function e(t,n){var r=n.id,i=n.timeline;a()(this,e),this.id=r,this.gl=t,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=W.a.isSupported(t)}return u()(e,[{key:"finalize",value:function(){for(var e in this.transitions)this._removeTransition(e)}},{key:"update",value:function(e){var t=e.attributes,n=e.transitions,r=e.numInstances;for(var i in this.numInstances=r||1,t){var o=t[i],a=o.getTransitionSetting(n);a&&this._updateAttribute(i,o,a)}for(var s in this.transitions){var u=t[s];u&&u.getTransitionSetting(n)||this._removeTransition(s)}}},{key:"hasAttribute",value:function(e){var t=this.transitions[e];return t&&t.inProgress}},{key:"getAttributes",value:function(){var e={};for(var t in this.transitions){var n=this.transitions[t];n.inProgress&&(e[t]=n.attributeInTransition)}return e}},{key:"run",value:function(){if(!this.isSupported||0===this.numInstances)return!1;for(var e in this.transitions){this.transitions[e].update()&&(this.needsRedraw=!0)}var t=this.needsRedraw;return this.needsRedraw=!1,t}},{key:"_removeTransition",value:function(e){this.transitions[e].cancel(),delete this.transitions[e]}},{key:"_updateAttribute",value:function(e,t,n){var r=this.transitions[e],i=!r||r.type!==n.type;if(i){if(!this.isSupported)return void k.a.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);var o=oe[n.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(k.a.error("unsupported transition type '".concat(n.type,"'"))(),i=!1)}(i||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(n,this.numInstances))}}]),e}();function se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ue(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=n.id,i=void 0===r?"attribute-manager":r,o=n.stats,s=n.timeline;a()(this,e),this.id=i,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=o,this.attributeTransitionManager=new ae(t,{id:"".concat(i,"-transitions"),timeline:s}),Object.seal(this)}return u()(e,[{key:"finalize",value:function(){for(var e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}},{key:"setNeedsRedraw",value:function(){!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.needsRedraw=!0,this}},{key:"add",value:function(e,t){this._add(e,t)}},{key:"addInstanced",value:function(e,t){this._add(e,t,{instanced:1})}},{key:"remove",value:function(e){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.data,n=e.numInstances,r=e.startIndices,i=void 0===r?null:r,o=e.transitions,a=e.props,s=void 0===a?{}:a,u=e.buffers,c=void 0===u?{}:u,l=e.context,f=void 0===l?{}:l,h=!1;for(var d in Object(H.a)("attributeManager.updateStart",this),this.stats&&this.stats.get("Update Attributes").timeStart(),this.attributes){var p=this.attributes[d],v=p.settings.accessor;p.startIndices=i,p.numInstances=n,s[d]&&k.a.removed("props.".concat(d),"data.attributes.".concat(d))(),p.setExternalBuffer(c[d])||p.setBinaryValue(c[v],t.startIndices)||!c[v]&&p.setConstantValue(s[v])||p.needsUpdate()&&(h=!0,this._updateAttribute({attribute:p,numInstances:n,data:t,props:s,context:f})),this.needsRedraw|=p.needsRedraw()}h&&Object(H.a)("attributeManager.updateEnd",this,n),this.stats&&this.stats.get("Update Attributes").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:n,transitions:o})}},{key:"updateTransition",value:function(){var e=this.attributeTransitionManager.run();return this.needsRedraw=this.needsRedraw||e,e}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getChangedAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearChangedFlags:!1},t=this.attributes,n=this.attributeTransitionManager,r=ue({},n.getAttributes());for(var i in t){var o=t[i];o.needsRedraw(e)&&!n.hasAttribute(i)&&(r[i]=o)}return r}},{key:"getShaderAttributes",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e||(e=this.getAttributes());var n={};for(var r in e)t[r]||Object.assign(n,e[r].getShaderAttributes());return n}},{key:"getAccessors",value:function(){return this.updateTriggers}},{key:"_add",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var r in t&&k.a.warn("AttributeManager.add({updaters}) - updater map no longer supported")(),e){var i=e[r];this.attributes[r]=this._createAttribute(r,i,n)}this._mapUpdateTriggersToAttributes()}},{key:"_createAttribute",value:function(e,t,n){var r=ue(ue({},t),{},{id:e,isIndexed:t.isIndexed||t.elements||!1,constant:t.constant||!1,size:(t.elements?1:t.size)||1,value:t.value||null,divisor:t.instanced||n.instanced?1:t.divisor||0});return new V(this.gl,r)}},{key:"_mapUpdateTriggersToAttributes",value:function(){var e=this,t={},n=function(n){e.attributes[n].getUpdateTriggers().forEach((function(e){t[e]||(t[e]=[]),t[e].push(n)}))};for(var r in this.attributes)n(r);this.updateTriggers=t}},{key:"_invalidateTrigger",value:function(e,t){var n=this.attributes,r=this.updateTriggers[e];return r&&r.forEach((function(e){var r=n[e];r&&r.setNeedsUpdate(r.id,t)})),r}},{key:"_updateAttribute",value:function(e){var t=e.attribute,n=e.numInstances;(Object(H.a)("attribute.updateStart",t),t.constant)?t.setConstantValue(t.value):(t.allocate(n)&&Object(H.a)("attribute.allocate",t,n),t.updateBuffer(e)&&(this.needsRedraw=!0,Object(H.a)("attribute.updateEnd",t,n)))}}]),e}()},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(237),b=n(235),_=n(18),O=n(155),w=n(10),x=n(253),A=n(182),P=n(179),S=n(22),k=n(54),C=n(70),j=n(42);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function T(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};a()(this,n);var r=e.id,i=void 0===r?Object(k.c)("column-geometry"):r,o=I(e),s=o.indices,u=o.attributes;return t.call(this,T(T({},e),{},{id:i,indices:s,attributes:u}))}return n}(C.a);function I(e){var t=e.radius,n=e.height,r=void 0===n?1:n,i=e.nradial,o=void 0===i?10:i,a=e.vertices;a&&(S.a.assert(a.length>=o),a=a.flatMap((function(e){return[e[0],e[1]]})),Object(j.h)(a,j.a.COUNTER_CLOCKWISE));var s=r>0,u=o+1,c=s?3*u+1:o,l=2*Math.PI/o,f=new Uint16Array(s?3*o*2:0),h=new Float32Array(3*c),d=new Float32Array(3*c),p=0;if(s){for(var v=0;v 0.0 && instanceElevations >= 0.0);\n float dotRadius = radius * coverage * shouldRender;\n\n geometry.pickingColor = instancePickingColors;\n vec3 centroidPosition = vec3(instancePositions.xy, instancePositions.z + elevation);\n vec3 centroidPosition64Low = instancePositions64Low;\n vec2 offset = (rotationMatrix * positions.xy * strokeOffsetRatio + offset) * dotRadius;\n if (radiusUnits == UNIT_METERS) {\n offset = project_size(offset);\n }\n vec3 pos = vec3(offset, 0.);\n DECKGL_FILTER_SIZE(pos, geometry);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n geometry.normal = project_normal(vec3(rotationMatrix * normals.xy, normals.z));\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n if (extruded && !isStroke) {\n#ifdef FLAT_SHADING\n position_commonspace = geometry.position;\n vColor = vec4(color.rgb, color.a * opacity);\n#else\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, color.a * opacity);\n#endif\n } else {\n vColor = vec4(color.rgb, color.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nuniform vec3 project_uCameraPosition;\nuniform bool extruded;\nuniform bool isStroke;\n\nout vec4 fragColor;\n\nin vec4 vColor;\n#ifdef FLAT_SHADING\nin vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n fragColor = vColor;\n#ifdef FLAT_SHADING\n if (extruded && !isStroke && !picking_uActive) {\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal);\n }\n#endif\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",defines:r,transpileToGLSL100:t,modules:[y.a,i?m.b:m.a,b.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceElevations:{size:1,transition:!0,accessor:"getElevation"},instanceFillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getFillColor",defaultValue:F},instanceLineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getLineColor",defaultValue:F},instanceStrokeWidths:{size:1,accessor:"getLineWidth",transition:!0}})}},{key:"updateState",value:function(e){var t=e.props,r=e.oldProps,i=e.changeFlags;l()(g()(n.prototype),"updateState",this).call(this,{props:t,oldProps:r,changeFlags:i});var o=i.extensionsChanged||t.flatShading!==r.flatShading;if(o){var a,s=this.context.gl;null===(a=this.state.model)||void 0===a||a.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}(o||t.diskResolution!==r.diskResolution||t.vertices!==r.vertices||(t.extruded||t.stroked)!==(r.extruded||r.stroked))&&this._updateGeometry(t)}},{key:"getGeometry",value:function(e,t,n){var r=new B({radius:1,height:n?2:0,vertices:t,nradial:e}),i=0;if(t)for(var o=0;o=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nr&&(as){var f=S(e,s,u,i);c+f>r&&(ar&&(f=k(e,s,u,r,i,o),a=o[o.length-1])),s=u,c+=f}return c}function j(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5?arguments[5]:void 0;void 0===o&&(o=e.length);var a=[];return"break-all"===t?k(e,i,o,n,r,a):C(e,i,o,n,r,a),a}function E(e,t,n,r,i,o){for(var a=0,s=0,u=t;u0,l=[0,0],f=[],h=0,d=0,p=0,v=0;v<=o;v++){var g=e[v];if("\n"!==g&&v!==o||(p=v),p>d){for(var y=c?j(e,n,r,i,d,p):P,m=0;m<=y.length;m++){var b=0===m?d:y[m-1],_=m0&&void 0!==arguments[0]?arguments[0]:5;u()(this,e),this.limit=t,this.clear()}return l()(e,[{key:"clear",value:function(){this._cache={},this._order=[]}},{key:"get",value:function(e){var t=this._cache[e];return t&&(this._deleteOrder(e),this._appendOrder(e)),t}},{key:"set",value:function(e,t){this._cache[e]?(this.delete(e),this._cache[e]=t,this._appendOrder(e)):(Object.keys(this._cache).length===this.limit&&this.delete(this._order[0]),this._cache[e]=t,this._appendOrder(e))}},{key:"delete",value:function(e){this._cache[e]&&(this._deleteCache(e),this._deleteOrder(e))}},{key:"_deleteCache",value:function(e){delete this._cache[e]}},{key:"_deleteOrder",value:function(e){var t=this._order.findIndex((function(t){return t===e}));t>=0&&this._order.splice(t,1)}},{key:"_appendOrder",value:function(e){this._order.push(e)}}]),e}();function B(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return I(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return I(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};F.forEach((function(n){n in t&&(e.props[n]=t[n])}));var n=this._key;this._key=this._getKey();var r=N(this._key,this.props.characterSet),i=D.get(this._key);if(i&&0===r.length)this._key!==n&&(this._atlas=i);else{var o=this._generateFontAtlas(this._key,r,i);this._atlas=o,D.set(this._key,o)}}},{key:"_generateFontAtlas",value:function(e,t,n){var r=this.props,i=r.fontFamily,o=r.fontWeight,s=r.fontSize,u=r.buffer,c=r.sdf,l=r.radius,f=r.cutoff,h=n&&n.data;h||((h=document.createElement("canvas")).width=1024);var d=h.getContext("2d");z(d,i,s,o);var p=function(e){var t,n=e.characterSet,r=e.getFontWidth,i=e.fontHeight,o=e.buffer,a=e.maxCanvasWidth,s=e.mapping,u=void 0===s?{}:s,c=e.xOffset,l=void 0===c?0:c,f=e.yOffset,h=void 0===f?0:f,d=0,p=l,v=0,g=x(n);try{for(g.s();!(t=g.n()).done;){var y=t.value;if(!u[y]){var m=r(y,v++);p+m+2*o>a&&(p=0,d++),u[y]={x:p+o,y:h+d*(i+2*o)+o,width:m,height:i},p+=m+2*o}}}catch(e){g.e(e)}finally{g.f()}var b,_=i+2*o;return{mapping:u,xOffset:p,yOffset:h+d*_,canvasHeight:(b=h+(d+1)*_,Math.pow(2,Math.ceil(Math.log2(b))))}}(function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?this.props.data[t.index]:null,t}},{key:"_updateFontAtlas",value:function(e,t){var n=t.fontSettings,r=t.fontFamily,i=t.fontWeight,o=this.state,a=o.fontAtlasManager,s=o.characterSet;a.setProps(X(X(X({},q),n),{},{characterSet:s,fontFamily:r,fontWeight:i}))}},{key:"_fontChanged",value:function(e,t){if(e.fontFamily!==t.fontFamily||e.fontWeight!==t.fontWeight)return!0;if(e.fontSettings===t.fontSettings)return!1;var n=e.fontSettings||{},r=t.fontSettings||{};return $.some((function(e){return n[e]!==r[e]}))}},{key:"_updateText",value:function(){var e,t=this.props,n=t.data,r=t.characterSet,i=n.attributes&&n.attributes.getText,o=this.props.getText,a=n.startIndices,s="auto"===r&&new Set;if(i&&a){var u=function(e){var t=e.value,n=e.length,r=e.stride,i=e.offset,o=e.startIndices,a=e.characterSet,s=t.BYTES_PER_ELEMENT,u=r?r/s:1,c=i?i/s:0,l=o[n]||Math.ceil((t.length-c)/u),f=a&&new Set,h=new Array(n),d=t;if(u>1||c>0){d=new t.constructor(l);for(var p=0;p=3,"Invalid cache limit"),D=new M(e)}(e)}}]),n}(m.a);te.layerName="TextLayer",te.defaultProps=ee},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(235),b=n(18),_=n(155),O=n(179),w=n(70);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n gl_FragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (filled) {\n gl_FragColor = vFillColor;\n } else {\n discard;\n }\n\n gl_FragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[y.a,m.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceRadius:{size:1,transition:!0,accessor:"getRadius",defaultValue:1},instanceFillColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}},{key:"updateState",value:function(e){var t=e.props,r=e.oldProps,i=e.changeFlags;if(l()(g()(n.prototype),"updateState",this).call(this,{props:t,oldProps:r,changeFlags:i}),i.extensionsChanged){var o,a=this.context.gl;null===(o=this.state.model)||void 0===o||o.delete(),this.state.model=this._getModel(a),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.radiusUnits,i=n.radiusScale,o=n.radiusMinPixels,a=n.radiusMaxPixels,s=n.stroked,u=n.filled,c=n.billboard,l=n.antialiasing,f=n.lineWidthUnits,h=n.lineWidthScale,d=n.lineWidthMinPixels,p=n.lineWidthMaxPixels;this.state.model.setUniforms(t).setUniforms({stroked:s?1:0,filled:u,billboard:c,antialiasing:l,radiusUnits:b.e[r],radiusScale:i,radiusMinPixels:o,radiusMaxPixels:a,lineWidthUnits:b.e[f],lineWidthScale:h,lineWidthMinPixels:d,lineWidthMaxPixels:p}).draw()}},{key:"_getModel",value:function(e){return new O.a(e,A(A({},this.getShaders()),{},{id:this.props.id,geometry:new w.a({drawMode:6,vertexCount:4,attributes:{positions:{size:3,value:new Float32Array([-1,-1,0,1,-1,0,1,1,0,-1,1,0])}}}),isInstanced:!0}))}}]),n}(_.a);C.layerName="ScatterplotLayer",C.defaultProps=k},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(235),b=n(18),_=n(155),O=n(179),w=n(70);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}},{key:"delete",value:function(){}},{key:"getData",value:function(){var e=this;return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then((function(){return e.getData()}))}},{key:"setData",value:function(e,t){var n=this;if(e!==this._data||t){this._data=e;var r=++this._loadCount,i=e;"string"==typeof e&&(i=Object(v.a)(e)),i instanceof Promise?(this.isLoaded=!1,this._loader=i.then((function(e){n._loadCount===r&&(n.isLoaded=!0,n._error=null,n._content=e)})).catch((function(e){n._loadCount===r&&(n.isLoaded=!0,n._error=e||!0)}))):(this.isLoaded=!0,this._error=null,this._content=e);var o,a=g(this._subscribers);try{for(a.s();!(o=a.n()).done;){o.value.onChange(this.getData())}}catch(e){a.e(e)}finally{a.f()}}}}]),e}(),b=function(){function e(t){var n=t.gl,r=t.protocol;a()(this,e),this.protocol=r||"resource://",this._context={gl:n,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}return u()(e,[{key:"contains",value:function(e){return!!e.startsWith(this.protocol)||e in this._resources}},{key:"add",value:function(e){var t=e.resourceId,n=e.data,r=e.forceUpdate,i=void 0!==r&&r,o=e.persistent,a=void 0===o||o,s=this._resources[t];s?s.setData(n,i):(s=new m(t,n,this._context),this._resources[t]=s),s.persistent=a}},{key:"remove",value:function(e){var t=this._resources[e];t&&(t.delete(),delete this._resources[e])}},{key:"unsubscribe",value:function(e){var t=e.consumerId,n=this._consumers[t];if(n){for(var r in n){var i=n[r];i.resource&&i.resource.unsubscribe(i)}delete this._consumers[t],this.prune()}}},{key:"subscribe",value:function(e){var t=e.resourceId,n=e.onChange,r=e.consumerId,i=e.requestId,o=void 0===i?"default":i,a=this._resources,s=this.protocol;t.startsWith(s)&&(a[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));var u=a[t];if(this._track(r,o,u,n),u)return u.getData()}},{key:"prune",value:function(){var e=this;this._pruneRequest||(this._pruneRequest=setTimeout((function(){return e._prune()}),0))}},{key:"finalize",value:function(){for(var e in this._resources)this._resources[e].delete()}},{key:"_track",value:function(e,t,n,r){var i=this._consumers,o=i[e]=i[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),n&&(o[t]=a,a.onChange=r,a.resource=n,n.subscribe(a))}},{key:"_prune",value:function(){this._pruneRequest=null;for(var e=0,t=Object.keys(this._resources);e=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},r=n.deck,i=n.stats,o=n.viewport,s=n.timeline;a()(this,e),this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new b({gl:t,protocol:"deck://"}),this.context=P(P({},S),{},{layerManager:this,gl:t,deck:r,programManager:t&&Object(O.a)(t),stats:i||new p.a({id:"deck.gl"}),viewport:o||new _.a({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new c.a,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}return u()(e,[{key:"finalize",value:function(){this.resourceManager.finalize();var e,t=w(this.layers);try{for(t.s();!(e=t.n()).done;){var n=e.value;this._finalizeLayer(n)}}catch(e){t.e(e)}finally{t.f()}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n,r=w(this.layers);try{for(r.s();!(n=r.n()).done;){var i=n.value,o=i.getNeedsRedraw(e);t=t||o}}catch(e){r.e(e)}finally{r.f()}return t}},{key:"needsUpdate",value:function(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}},{key:"setNeedsRedraw",value:function(e){this._needsRedraw=this._needsRedraw||e}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e}},{key:"getLayers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.layerIds,n=void 0===t?null:t;return n?this.layers.filter((function(e){return n.find((function(t){return 0===e.id.indexOf(t)}))})):this.layers}},{key:"setProps",value:function(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}},{key:"setLayers",value:function(e,t){Object(h.a)("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e;var n,r=w(e=Object(d.b)(e,Boolean));try{for(r.s();!(n=r.n()).done;){n.value.context=this.context}}catch(e){r.e(e)}finally{r.f()}return this._updateLayers(this.layers,e),this}},{key:"updateLayers",value:function(){var e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}},{key:"activateViewport",value:function(e){return Object(h.a)("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}},{key:"_handleError",value:function(e,t,n){n.raiseError(t,"".concat(e," of ").concat(n))}},{key:"_updateLayers",value:function(e,t){var n,r={},i=w(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;r[o.id]?f.a.warn("Multiple old layers with same id ".concat(o.id))():r[o.id]=o}}catch(e){i.e(e)}finally{i.f()}var a=[];this._updateSublayersRecursively(t,r,a),this._finalizeOldLayers(r);for(var s=!1,u=0,c=a;u 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}},{key:"initializeState",value:function(){var e=this;l()(g()(n.prototype),"initializeState",this).call(this),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:function(t,n){var r=n.index,i=n.target;return e.encodePickingColor(r,i)}}})}},{key:"updateState",value:function(e){l()(g()(n.prototype),"updateState",this).call(this,e);var t=e.props,r=e.oldProps,i=t.outlineColor;i!==r.outlineColor&&((i=i.map((function(e){return e/255})))[3]=Number.isFinite(i[3])?i[3]:1,this.setState({outlineColor:i})),!t.sdf&&t.outlineWidth&&y.a.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}},{key:"draw",value:function(e){var t=this.props,r=t.sdf,i=t.smoothing,o=t.outlineWidth,a=this.state.outlineColor;e.uniforms=_(_({},e.uniforms),{},{buffer:.75,outlineBuffer:o?Math.max(i,.75*(1-o)):-1,gamma:i,sdf:Boolean(r),outlineColor:a}),l()(g()(n.prototype),"draw",this).call(this,e)}},{key:"getInstanceOffset",value:function(e){var t=this;return e?Array.from(e).map((function(e){return l()(g()(n.prototype),"getInstanceOffset",t).call(t,e)})):w}},{key:"getInstanceColorMode",value:function(e){return 1}},{key:"getInstanceIconFrame",value:function(e){var t=this;return e?Array.from(e).map((function(e){return l()(g()(n.prototype),"getInstanceIconFrame",t).call(t,e)})):w}}]),n}(m.a);x.layerName="MultiIconLayer",x.defaultProps={getIconOffsets:{type:"accessor",value:function(e){return e.offsets}},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}}},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(36),l=n(6),f=n.n(l),h=n(7),d=n.n(h),p=n(2),v=n.n(p),g=n(18);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return d()(this,n)}}var m=function(e){f()(n,e);var t=y(n);function n(){return a()(this,n),t.apply(this,arguments)}return u()(n,[{key:"shouldDrawLayer",value:function(e){return e.props.operation===g.c.DRAW}}]),n}(n(79).a),b=n(174),_=n(81);function O(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"finalize",value:function(){var e,t=this.renderBuffers,n=O(t);try{for(n.s();!(e=n.n()).done;){e.value.delete()}}catch(e){n.e(e)}finally{n.f()}t.length=0}},{key:"_preRender",value:function(e,t){var n,r=null,i=O(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;o.preRender(this.gl,t),o.postRender&&(r=o)}}catch(e){i.e(e)}finally{i.f()}r&&this._resizeRenderBuffers(),this.lastPostProcessEffect=r}},{key:"_resizeRenderBuffers",value:function(){var e=this.renderBuffers;0===e.length&&e.push(new _.a(this.gl),new _.a(this.gl));var t,n=O(e);try{for(n.s();!(t=n.n()).done;){t.value.resize()}}catch(e){n.e(e)}finally{n.f()}}},{key:"_postRender",value:function(e,t){var n,r=this.renderBuffers,i={inputBuffer:r[0],swapBuffer:r[1],target:null},o=O(e);try{for(o.s();!(n=o.n()).done;){var a=n.value;if(a.postRender){if(a===this.lastPostProcessEffect){i.target=t.target,a.postRender(this.gl,i);break}var s=a.postRender(this.gl,i);i.inputBuffer=s,i.swapBuffer=s===r[0]?r[1]:r[0]}}}catch(e){o.e(e)}finally{o.f()}}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(12),i=n.n(r),o=n(165);function a(){return!("object"===("undefined"==typeof process?"undefined":i()(process))&&"[object process]"===String(process)&&!process.browser)||Object(o.a)()}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(12),i=n.n(r);function o(e){if("undefined"!=typeof window&&"object"===i()(window.process)&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"===i()(process.versions)&&Boolean(process.versions.electron))return!0;var t="object"===("undefined"==typeof navigator?"undefined":i()(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf("Electron")>=0)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(10);function i(e,t,n,i){var o="See luma.gl ".concat(n," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),a=Object.getPrototypeOf(e);i.forEach((function(e){a.methodName||(a[e]=function(){throw r.k.removed("Calling removed method ".concat(t,".").concat(e,": "),o)(),new Error(e)})}))}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=n=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";n.d(t,"a",(function(){return y}));var r=n(44),i=n.n(r),o=n(45),a=n.n(o),s=n(50),u=n.n(s),c=n(51),l=n.n(c),f=n(34),h=n.n(f),d=n(116),p=n(28),v=n(48);function g(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var y=function(e){u()(n,e);var t=g(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"ELEMENTS",get:function(){return Object(v.a)(!1),0}},{key:"copy",value:function(e){return Object(v.a)(!1),this}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=Object(p.a)(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=Object(p.a)(e)}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t=0&&e=0&&e=0)}},function(e,t,n){var r=n(287),i=n(288),o=n(209),a=n(289);e.exports=function(e,t){return r(e)||i(e,t)||o(e,t)||a()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";n.d(t,"a",(function(){return m}));var r=n(44),i=n.n(r),o=n(45),a=n.n(o),s=n(50),u=n.n(s),c=n(51),l=n.n(c),f=n(34),h=n.n(f),d=n(116),p=n(28),v=n(15),g=n(48);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var m=function(e){u()(n,e);var t=y(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"ELEMENTS",get:function(){return Object(g.a)(!1),0}},{key:"RANK",get:function(){return Object(g.a)(!1),0}},{key:"toString",value:function(){var e="[";if(v.b.printRowMajor){e+="row-major:";for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),n=e*this.RANK,r=0;r1&&void 0!==arguments[1]?arguments[1]:{id:"pass"};i()(this,e),u()(this,"id",void 0),u()(this,"gl",void 0),u()(this,"props",void 0);var r=n.id;this.id=r,this.gl=t,this.props=l({},n)}return a()(e,[{key:"setProps",value:function(e){Object.assign(this.props,e)}},{key:"render",value:function(e){}},{key:"cleanup",value:function(){}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return k}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(20),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(0),m=n.n(y),b=n(79),_=n(10),O=n(18),w=n(22);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t=24&&2303741511===t.getUint32(0,!1)))return null;return{mimeType:"image/png",width:t.getUint32(16,!1),height:t.getUint32(20,!1)}}(t)||function(e){var t=i(e);if(!(t.byteLength>=3&&65496===t.getUint16(0,!1)&&255===t.getUint8(2)))return null;var n=function(){for(var e=new Set([65499,65476,65484,65501,65534]),t=65504;t<65520;++t)e.add(t);var n=new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502]);return{tableMarkers:e,sofMarkers:n}}(),r=n.tableMarkers,o=n.sofMarkers,a=2;for(;a+9=10&&1195984440===t.getUint32(0,!1)))return null;return{mimeType:"image/gif",width:t.getUint16(6,!0),height:t.getUint16(8,!0)}}(t)||function(e){var t=i(e);if(!(t.byteLength>=14&&16973===t.getUint16(0,!1)&&t.getUint32(2,!0)===t.byteLength))return null;return{mimeType:"image/bmp",width:t.getUint32(18,!0),height:t.getUint32(22,!0)}}(t)}function i(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}},function(e,t,n){"use strict";function r(e){for(var t=e.data,n=e.getIndex,r=e.dataRange,i=e.replace,o=r.startRow,a=void 0===o?0:o,s=r.endRow,u=void 0===s?1/0:s,c=t.length,l=c,f=c,h=0;hh&&d>=a&&(l=h),d>=u){f=h;break}}for(var p=l,v=f-l!==i.length,g=v&&t.slice(f),y=0;yi?l:i,o=f>o?f:o,a=h>a?h:a}return[[t,n,r],[i,o,a]]}function O(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;g()(this,e),Object(b.a)(this,"name",void 0),Object(b.a)(this,"type",void 0),Object(b.a)(this,"nullable",void 0),Object(b.a)(this,"metadata",void 0),this.name=t,this.type=n,this.nullable=r,this.metadata=i}return m()(e,[{key:"typeId",get:function(){return this.type&&this.type.typeId}},{key:"clone",value:function(){return new e(this.name,this.type,this.nullable,this.metadata)}},{key:"compareTo",value:function(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}},{key:"toString",value:function(){return"".concat(this.type).concat(this.nullable?", nullable":"").concat(this.metadata?", metadata: ".concat(this.metadata):"")}}]),e}(),k=n(20),C=n.n(k),j=n(6),E=n.n(j),T=n(7),M=n.n(T),B=n(2),I=n.n(B);function R(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=I()(e);if(t){var i=I()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return M()(this,n)}}!function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"}(P||(P={}));var L=function(){function e(){g()(this,e)}return m()(e,[{key:"typeId",get:function(){return P.NONE}},{key:"compareTo",value:function(e){return this===e}}],[{key:"isNull",value:function(e){return e&&e.typeId===P.Null}},{key:"isInt",value:function(e){return e&&e.typeId===P.Int}},{key:"isFloat",value:function(e){return e&&e.typeId===P.Float}},{key:"isBinary",value:function(e){return e&&e.typeId===P.Binary}},{key:"isUtf8",value:function(e){return e&&e.typeId===P.Utf8}},{key:"isBool",value:function(e){return e&&e.typeId===P.Bool}},{key:"isDecimal",value:function(e){return e&&e.typeId===P.Decimal}},{key:"isDate",value:function(e){return e&&e.typeId===P.Date}},{key:"isTime",value:function(e){return e&&e.typeId===P.Time}},{key:"isTimestamp",value:function(e){return e&&e.typeId===P.Timestamp}},{key:"isInterval",value:function(e){return e&&e.typeId===P.Interval}},{key:"isList",value:function(e){return e&&e.typeId===P.List}},{key:"isStruct",value:function(e){return e&&e.typeId===P.Struct}},{key:"isUnion",value:function(e){return e&&e.typeId===P.Union}},{key:"isFixedSizeBinary",value:function(e){return e&&e.typeId===P.FixedSizeBinary}},{key:"isFixedSizeList",value:function(e){return e&&e.typeId===P.FixedSizeList}},{key:"isMap",value:function(e){return e&&e.typeId===P.Map}},{key:"isDictionary",value:function(e){return e&&e.typeId===P.Dictionary}}]),e}(),D=(Symbol.toStringTag,Symbol.toStringTag,function(e,t){E()(r,e);var n=R(r);function r(e,t){var i;return g()(this,r),i=n.call(this),Object(b.a)(C()(i),"isSigned",void 0),Object(b.a)(C()(i),"bitWidth",void 0),i.isSigned=e,i.bitWidth=t,i}return m()(r,[{key:"typeId",get:function(){return P.Int}},{key:t,get:function(){return"Int"}},{key:"toString",value:function(){return"".concat(this.isSigned?"I":"Ui","nt").concat(this.bitWidth)}}]),r}(L,Symbol.toStringTag)),F=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!0,8)}return n}(D),N=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!0,16)}return n}(D),U=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!0,32)}return n}(D),z=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!1,8)}return n}(D),G=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!1,16)}return n}(D),V=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!1,32)}return n}(D),H=32,W=64,J=function(e,t){E()(r,e);var n=R(r);function r(e){var t;return g()(this,r),t=n.call(this),Object(b.a)(C()(t),"precision",void 0),t.precision=e,t}return m()(r,[{key:"typeId",get:function(){return P.Float}},{key:t,get:function(){return"Float"}},{key:"toString",value:function(){return"Float".concat(this.precision)}}]),r}(L,Symbol.toStringTag),X=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,H)}return n}(J),K=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,W)}return n}(J),q=(Symbol.toStringTag,Symbol.toStringTag,{DAY:0,MILLISECOND:1}),Z=(Symbol.toStringTag,{SECOND:1,MILLISECOND:1e3,MICROSECOND:1e6,NANOSECOND:1e9}),Y=(Symbol.toStringTag,Symbol.toStringTag,{DAY_TIME:0,YEAR_MONTH:1}),Q=(Symbol.toStringTag,function(e,t){E()(r,e);var n=R(r);function r(e,t){var i;return g()(this,r),i=n.call(this),Object(b.a)(C()(i),"listSize",void 0),Object(b.a)(C()(i),"children",void 0),i.listSize=e,i.children=[t],i}return m()(r,[{key:"typeId",get:function(){return P.FixedSizeList}},{key:"valueType",get:function(){return this.children[0].type}},{key:"valueField",get:function(){return this.children[0]}},{key:t,get:function(){return"FixedSizeList"}},{key:"toString",value:function(){return"FixedSizeList[".concat(this.listSize,"]<").concat(this.valueType,">")}}]),r}(L,Symbol.toStringTag));Symbol.toStringTag;function $(e,t,n){var r=function(e){switch(e.constructor){case Int8Array:return new F;case Uint8Array:return new z;case Int16Array:return new N;case Uint16Array:return new G;case Int32Array:return new U;case Uint32Array:return new V;case Float32Array:return new X;case Float64Array:return new K;default:throw new Error("array type not supported")}}(t.value),i=n||function(e){var t=new Map;"byteOffset"in e&&t.set("byteOffset",e.byteOffset.toString(10));"byteStride"in e&&t.set("byteStride",e.byteStride.toString(10));"normalized"in e&&t.set("normalized",e.normalized.toString());return t}(t);return new S(e,new Q(t.size,new S("value",r)),!1,i)}function ee(e,t,n){var r=ne(t.metadata),i=[],o=function(e){var t={};for(var n in e){var r=e[n];t[r.name||"undefined"]=r}return t}(t.attributes);for(var a in e){var s=te(a,e[a],o[a]);i.push(s)}if(n){var u=te("indices",n);i.push(u)}return new x(i,r)}function te(e,t,n){return $(e,t,n?ne(n.metadata):void 0)}function ne(e){var t=new Map;for(var n in e)t.set("".concat(n,".string"),JSON.stringify(e[n]));return t}function re(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return ie(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ie(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ie(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);var r=this.decoder.GetEncodedGeometryType(n),i=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{var o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,i);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,i);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!i.ptr){var a="DRACO decompression failed: ".concat(o.error_msg());throw new Error(a)}var s=this._getDracoLoaderData(i,r,t),u=this._getMeshData(i,s,t),c=_(u.attributes),l=ee(u.attributes,s,u.indices),f=ae(ae({loader:"draco",loaderData:s,header:{vertexCount:i.num_points(),boundingBox:c}},u),{},{schema:l});return f}finally{this.draco.destroy(n),i&&this.draco.destroy(i)}}},{key:"_getDracoLoaderData",value:function(e,t,n){var r=this._getTopLevelMetadata(e),i=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:i}}},{key:"_getDracoAttributes",value:function(e,t){for(var n={},r=0;r-1)return"Edge";var r=-1!==n.indexOf("MSIE "),i=-1!==n.indexOf("Trident/");return r||i?"IE":E.b.chrome?"Chrome":E.b.safari?"Safari":E.b.mozInnerScreenX?"Firefox":"Unknown"}function I(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=S()(e);if(t){var i=S()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return A()(this,n)}}var R="elements must be GL.ELEMENT_ARRAY_BUFFER",L=function(e){w()(n,e);var t=I(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a()(this,n);var o=i.id||i.program&&i.program.id;return(r=t.call(this,e,Object.assign({},i,{id:o}))).buffer=null,r.bufferValue=null,r.isDefaultArray=i.isDefaultArray||!1,r.gl2=e,r.initialize(i),Object.seal(m()(r)),r}return u()(n,[{key:"delete",value:function(){return _()(S()(n.prototype),"delete",this).call(this),this.buffer&&this.buffer.delete(),this}},{key:"MAX_ATTRIBUTES",get:function(){return n.getMaxAttributes(this.gl)}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setProps(e)}},{key:"setProps",value:function(e){return this}},{key:"setElementBuffer",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Object(h.a)(!t||34963===t.target,R),this.bind((function(){e.gl.bindBuffer(34963,t?t.handle:null)})),this}},{key:"setBuffer",value:function(e,t,n){if(34963===t.target)return this.setElementBuffer(t,n);var r=n.size,i=n.type,o=n.stride,a=n.offset,s=n.normalized,u=n.integer,l=n.divisor,f=this.gl,d=this.gl2;return e=Number(e),this.bind((function(){f.bindBuffer(34962,t.handle),u?(Object(h.a)(Object(c.j)(f)),d.vertexAttribIPointer(e,r,i,o,a)):f.vertexAttribPointer(e,r,i,s,o,a),f.enableVertexAttribArray(e),d.vertexAttribDivisor(e,l||0)})),this}},{key:"enable",value:function(e){var t=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!r&&0===e&&!n.isSupported(this.gl,{constantAttributeZero:!0});return i||(e=Number(e),this.bind((function(){return r?t.gl.enableVertexAttribArray(e):t.gl.disableVertexAttribArray(e)}))),this}},{key:"getConstantBuffer",value:function(e,t){var n=this._normalizeConstantArrayValue(t),r=n.byteLength*e,i=n.length*e,o=!this.buffer;if(this.buffer=this.buffer||new g.a(this.gl,r),o=(o=o||this.buffer.reallocate(r))||!this._compareConstantArrayValues(n,this.bufferValue)){var a=j(t.constructor,i);!function(e){for(var t=e.target,n=e.source,r=e.start,i=void 0===r?0:r,o=e.count,a=void 0===o?1:o,s=n.length,u=a*s,c=0,l=i;c1&&void 0!==arguments[1]?arguments[1]:{};return!t.constantAttributeZero||(Object(c.j)(e)||"Chrome"===B())}},{key:"getDefaultArray",value:function(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new n(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}},{key:"getMaxAttributes",value:function(e){return n.MAX_ATTRIBUTES=n.MAX_ATTRIBUTES||e.getParameter(34921),n.MAX_ATTRIBUTES}},{key:"setConstant",value:function(e,t,r){switch(r.constructor){case Float32Array:n._setConstantFloatArray(e,t,r);break;case Int32Array:n._setConstantIntArray(e,t,r);break;case Uint32Array:n._setConstantUintArray(e,t,r);break;default:Object(h.a)(!1)}}},{key:"_setConstantFloatArray",value:function(e,t,n){switch(n.length){case 1:e.vertexAttrib1fv(t,n);break;case 2:e.vertexAttrib2fv(t,n);break;case 3:e.vertexAttrib3fv(t,n);break;case 4:e.vertexAttrib4fv(t,n);break;default:Object(h.a)(!1)}}},{key:"_setConstantIntArray",value:function(e,t,n){switch(Object(h.a)(Object(c.j)(e)),n.length){case 1:e.vertexAttribI1iv(t,n);break;case 2:e.vertexAttribI2iv(t,n);break;case 3:e.vertexAttribI3iv(t,n);break;case 4:e.vertexAttribI4iv(t,n);break;default:Object(h.a)(!1)}}},{key:"_setConstantUintArray",value:function(e,t,n){switch(Object(h.a)(Object(c.j)(e)),n.length){case 1:e.vertexAttribI1uiv(t,n);break;case 2:e.vertexAttribI2uiv(t,n);break;case 3:e.vertexAttribI3uiv(t,n);break;case 4:e.vertexAttribI4uiv(t,n);break;default:Object(h.a)(!1)}}}]),n}(k.a),D=n(166),F=/^(.+)__LOCATION_([0-9]+)$/,N=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"],U=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a()(this,e);var r=n.id||n.program&&n.program.id;this.id=r,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new L(t),Object(D.a)(this,"VertexArray","v6.0",N),this.initialize(n),Object.seal(this)}return u()(e,[{key:"delete",value:function(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}},{key:"reset",value:function(){this.elements=null,this.elementsAccessor=null;var e=this.vertexArrayObject.MAX_ATTRIBUTES;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}},{key:"setProps",value:function(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}},{key:"clearDrawParams",value:function(){this.drawParams=null}},{key:"getDrawParams",value:function(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}},{key:"setAttributes",value:function(e){var t=this;return Object.assign(this.attributes,e),this.vertexArrayObject.bind((function(){for(var n in e){var r=e[n];t._setAttribute(n,r)}t.gl.bindBuffer(34962,null)})),this}},{key:"setElementBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}},{key:"setBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(34963===t.target)return this.setElementBuffer(t,n);var r=this._resolveLocationAndAccessor(e,t,t.accessor,n),i=r.location,o=r.accessor;return i>=0&&(this.values[i]=t,this.accessors[i]=o,this.clearDrawParams(),this.vertexArrayObject.setBuffer(i,t,o)),this}},{key:"setConstant",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},n)),i=r.location,o=r.accessor;return i>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[i]=t,this.accessors[i]=o,this.clearDrawParams(),this.vertexArrayObject.enable(i,!1)),this}},{key:"unbindBuffers",value:function(){var e=this;return this.vertexArrayObject.bind((function(){e.elements&&e.vertexArrayObject.setElementBuffer(null),e.buffer=e.buffer||new g.a(e.gl,{accessor:{size:4}});for(var t=0;t0;if(e.isInstanced=e.isInstanced||i,n instanceof g.a){var o=n;if(i){var a=o.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,a)}else{var s=o.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,s)}}}}},{key:"setElements",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c.k.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}]),e}(),z=n(321),G=n(56),V=n(91);function H(e,t){for(var n=t.maxElts,r=void 0===n?16:n,i=t.size,o=void 0===i?1:i,a="[",s=0;s0&&(a+=",".concat(s%o==0?" ":"")),a+=W(e[s],t);var u=e.length>r?"...":"]";return"".concat(a).concat(u)}function W(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=1e-16,r=t.isInteger,i=void 0!==r&&r;if(Array.isArray(e)||ArrayBuffer.isView(e))return H(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)100&&Math.abs(e)<1e4)return e.toFixed(0);var o=e.toPrecision(2),a=o.indexOf(".0");return a===o.length-2?o.slice(0,-1):o}function J(e,t,n,r){var o,a,s=e.gl;if(!t)return a={},i()(a,r,"null"),i()(a,"Format ","N/A"),a;var u,c,l,f="NOT PROVIDED",h=1,d=0,p=0;if(n&&(f=n.type,h=n.size,u=-1!==(f=String(f).replace("Array","")).indexOf("nt")),t instanceof g.a){var v,y,m=t,b=m.getDebugData(),_=b.data;if(c=b.changed?"*":"",l=_,d=(p=m.byteLength)/_.BYTES_PER_ELEMENT/h,n){var O=n.divisor>0;y="".concat(O?"I ":"P "," ").concat(d," (x").concat(h,"=").concat(p," bytes ").concat(Object(G.a)(s,f),")")}else u=!0,y="".concat(p," bytes");return v={},i()(v,r,"".concat(c).concat(W(l,{size:h,isInteger:u}))),i()(v,"Format ",y),v}return l=t,h=t.length,u=-1!==(f=String(t.constructor.name).replace("Array","")).indexOf("nt"),o={},i()(o,r,"".concat(W(l,{size:h,isInteger:u})," (constant)")),i()(o,"Format ","".concat(h,"x").concat(f," (constant)")),o}function X(e,t){var n=t.type,r=t.size,i=Object(V.b)(n,r);return i?"".concat(e," (").concat(i.name,")"):e}function K(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return q(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return q(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};a()(this,e);var r=n.id,i=void 0===r?Object(f.c)("model"):r;Object(h.a)(Object(c.i)(t)),this.id=i,this.gl=t,this.id=n.id||Object(f.c)("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(n)}return u()(e,[{key:"initialize",value:function(e){this.props={},this.programManager=e.programManager||l.a.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;var t=e.program,n=void 0===t?null:t,r=e.vs,i=e.fs,o=e.modules,a=e.defines,s=e.inject,u=e.varyings,c=e.bufferMode,f=e.transpileToGLSL100;this.programProps={program:n,vs:r,fs:i,modules:o,defines:a,inject:s,varyings:u,bufferMode:c,transpileToGLSL100:f},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},Object(h.a)(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}},{key:"setProps",value:function(e){this._setModelProps(e)}},{key:"delete",value:function(){for(var e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}},{key:"getDrawMode",value:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getInstanceCount",value:function(){return this.instanceCount}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getProgram",value:function(){return this.program}},{key:"setProgram",value:function(e){var t=e.program,n=e.vs,r=e.fs,i=e.modules,o=e.defines,a=e.inject,s=e.varyings,u=e.bufferMode,c=e.transpileToGLSL100;this.programProps={program:t,vs:n,fs:r,modules:i,defines:o,inject:a,varyings:s,bufferMode:u,transpileToGLSL100:c},this._programDirty=!0}},{key:"getUniforms",value:function(){return this.uniforms}},{key:"setDrawMode",value:function(e){return this.drawMode=e,this}},{key:"setVertexCount",value:function(e){return Object(h.a)(Number.isFinite(e)),this.vertexCount=e,this}},{key:"setInstanceCount",value:function(e){return Object(h.a)(Number.isFinite(e)),this.instanceCount=e,this}},{key:"setGeometry",value:function(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(e,t,n){var r={},i=t.indices;for(var o in t.attributes){var a=t.attributes[o],s=ie(o,n);if("indices"===o)i=a;else if(a.constant)r[s]=a.value;else{var u=a.value,c=ne({},a);delete c.value,r[s]=[new g.a(e,u),c],oe(o,c)}}if(i){var l=i.value||i;Object(h.a)(l instanceof Uint16Array||l instanceof Uint32Array,'attribute array for "indices" must be of integer type');var f={size:1,isIndexed:void 0===i.isIndexed||i.isIndexed};r.indices=[new g.a(e,{data:l,target:34963}),f]}return r}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}},{key:"setAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Object(f.a)(e))return this;var t={};for(var n in e){var r=e[n];t[n]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(this.uniforms,e),this}},{key:"getModuleUniforms",value:function(e){this._checkProgram();var t=this.programManager.getUniforms(this.program);return t?t(e):{}}},{key:"updateModuleSettings",value:function(e){var t=this.getModuleUniforms(e||{});return this.setUniforms(t)}},{key:"clear",value:function(e){return Object(d.a)(this.program.gl,e),this}},{key:"draw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._checkProgram();var t,n=e.moduleSettings,r=void 0===n?null:n,i=e.framebuffer,o=e.uniforms,a=void 0===o?{}:o,s=e.attributes,u=void 0===s?{}:s,l=e.transformFeedback,f=void 0===l?this.transformFeedback:l,h=e.parameters,d=void 0===h?{}:h,p=e.vertexArray,v=void 0===p?this.vertexArray:p;this.setAttributes(u),this.updateModuleSettings(r),this.setUniforms(a),c.k.priority>=2&&(t=this._logDrawCallStart(2));var g=this.vertexArray.getDrawParams(),y=this.props,m=y.isIndexed,b=void 0===m?g.isIndexed:m,_=y.indexType,O=void 0===_?g.indexType:_,w=y.indexOffset,x=void 0===w?g.indexOffset:w,A=y.vertexArrayInstanced,P=void 0===A?g.isInstanced:A;P&&!this.isInstanced&&c.k.warn("Found instanced attributes on non-instanced model",this.id)();var S=this.isInstanced,k=this.instanceCount,C=this.props,j=C.onBeforeRender,E=void 0===j?ae:j,T=C.onAfterRender,M=void 0===T?ae:T;E(),this.program.setUniforms(this.uniforms);var B=this.program.draw(Object.assign(se,e,{logPriority:t,uniforms:null,framebuffer:i,parameters:d,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:v,transformFeedback:f,isIndexed:b,indexType:O,isInstanced:S,instanceCount:k,offset:b?x:0}));return M(),c.k.priority>=2&&this._logDrawCallEnd(t,v,i),B}},{key:"transform",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.discard,n=void 0===t||t,r=e.feedbackBuffers,o=e.unbindModels,a=void 0===o?[]:o,s=e.parameters;r&&this._setFeedbackBuffers(r),n&&(s=Object.assign({},s,i()({},35977,n))),a.forEach((function(e){return e.vertexArray.unbindBuffers()}));try{this.draw(Object.assign({},e,{parameters:s}))}finally{a.forEach((function(e){return e.vertexArray.bindBuffers()}))}return this}},{key:"render",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return c.k.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}},{key:"_setModelProps",value:function(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}},{key:"_checkProgram",value:function(){if(this._programDirty||this.programManager.stateHash!==this._programManagerState){var e=this.programProps.program;if(e)this._managedProgram=!1;else{var t=this.programProps,n=t.vs,r=t.fs,i=t.modules,o=t.inject,a=t.defines,s=t.varyings,u=t.bufferMode,c=t.transpileToGLSL100;e=this.programManager.get({vs:n,fs:r,modules:i,inject:o,defines:a,varyings:s,bufferMode:u,transpileToGLSL100:c}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}Object(h.a)(e instanceof p.a,"Model needs a program"),this._programDirty=!1,e!==this.program&&(this.program=e,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new U(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}}},{key:"_deleteGeometryBuffers",value:function(){for(var e in this.geometryBuffers){var t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof g.a&&t.delete()}}},{key:"_setAnimationProps",value:function(e){this.animated&&Object(h.a)(e,"Model.draw(): animated uniforms but no animationProps")}},{key:"_setFeedbackBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Object(f.a)(e))return this;var t=this.program.gl;return this.transformFeedback=this.transformFeedback||new z.a(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}},{key:"_logDrawCallStart",value:function(e){var t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ".concat(this.id),{collapsed:c.k.level<=2})(),e}},{key:"_logDrawCallEnd",value:function(e,t,n,r){if(void 0!==e){var o=function(e){var t=e.vertexArray,n=e.header,r=void 0===n?"Attributes":n;if(!t.configuration)return{};var i={};t.elements&&(i.ELEMENT_ARRAY_BUFFER=J(t,t.elements,null,r));var o=t.values;for(var a in o){var s=t._getAttributeInfo(a);if(s){var u="".concat(a,": ").concat(s.name),c=t.accessors[s.location];c&&(u="".concat(a,": ").concat(X(s.name,c))),i[u]=J(t,o[a],c,r)}}return i}({vertexArray:t,header:"".concat(this.id," attributes"),attributes:this._attributes}),a=Z({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),s=a.table,u=a.unusedTable,l=a.unusedCount,f=Z({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0}),h=f.table;f.count>0&&c.k.log("MISSING UNIFORMS",Object.keys(h))(),l>0&&c.k.log("UNUSED UNIFORMS",Object.keys(u))();var d=function(e){var t,n={},r="Accessors for ".concat(e.id),o=Q(e.attributeInfos);try{for(o.s();!(t=o.n()).done;){var a=t.value;if(a){var s=ee(a);n["in ".concat(s)]=i()({},r,JSON.stringify(a.accessor))}}}catch(e){o.e(e)}finally{o.f()}var u,c=Q(e.varyingInfos);try{for(c.s();!(u=c.n()).done;){var l=u.value;if(l){var f=ee(l);n["out ".concat(f)]=i()({},r,JSON.stringify(l.accessor))}}}catch(e){c.e(e)}finally{c.f()}return n}(this.vertexArray.configuration);c.k.table(e,o)(),c.k.table(e,s)(),c.k.table(e+1,d)(),r&&r.log({logLevel:2,message:"Rendered to ".concat(r.id)}),c.k.groupEnd(2,">>> DRAWING MODEL ".concat(this.id))()}}}]),e}()},function(e,t,n){"use strict";function r(e,t){if(!e)throw new Error(t||"shadertools: assertion failed.")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return u}));var r=n(11),i=n.n(r),o=n(10),a=n(13);function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.framebuffer,r=void 0===n?null:n,i=t.color,s=void 0===i?null:i,u=t.depth,c=void 0===u?null:u,l=t.stencil,f=void 0===l?null:l,h={};r&&(h.framebuffer=r);var d=0;s&&(d|=16384,!0!==s&&(h.clearColor=s)),c&&(d|=256,!0!==c&&(h.clearDepth=c)),f&&(d|=1024,!0!==c&&(h.clearStencil=c)),Object(a.a)(0!==d,"clear: bad arguments"),Object(o.o)(e,h,(function(){e.clear(d)}))}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.framebuffer,r=void 0===n?null:n,s=t.buffer,u=void 0===s?6144:s,c=t.drawBuffer,l=void 0===c?0:c,f=t.value,h=void 0===f?[0,0,0,0]:f;Object(o.a)(e),Object(o.o)(e,{framebuffer:r},(function(){switch(u){case 6144:switch(h.constructor){case Int32Array:e.clearBufferiv(u,l,h);break;case Uint32Array:e.clearBufferuiv(u,l,h);break;case Float32Array:default:e.clearBufferfv(u,l,h)}break;case 6145:e.clearBufferfv(6145,0,[h]);break;case 6146:e.clearBufferiv(6146,0,[h]);break;case 34041:var t=i()(h,2),n=t[0],r=t[1];e.clearBufferfi(34041,0,n,r);break;default:Object(a.a)(!1,"clear: bad arguments")}}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r,i=n(0),o=n.n(i),a=n(81),s=n(105),u={WEBGL2:"WEBGL2",VERTEX_ARRAY_OBJECT:"VERTEX_ARRAY_OBJECT",TIMER_QUERY:"TIMER_QUERY",INSTANCED_RENDERING:"INSTANCED_RENDERING",MULTIPLE_RENDER_TARGETS:"MULTIPLE_RENDER_TARGETS",ELEMENT_INDEX_UINT32:"ELEMENT_INDEX_UINT32",BLEND_EQUATION_MINMAX:"BLEND_EQUATION_MINMAX",FLOAT_BLEND:"FLOAT_BLEND",COLOR_ENCODING_SRGB:"COLOR_ENCODING_SRGB",TEXTURE_DEPTH:"TEXTURE_DEPTH",TEXTURE_FLOAT:"TEXTURE_FLOAT",TEXTURE_HALF_FLOAT:"TEXTURE_HALF_FLOAT",TEXTURE_FILTER_LINEAR_FLOAT:"TEXTURE_FILTER_LINEAR_FLOAT",TEXTURE_FILTER_LINEAR_HALF_FLOAT:"TEXTURE_FILTER_LINEAR_HALF_FLOAT",TEXTURE_FILTER_ANISOTROPIC:"TEXTURE_FILTER_ANISOTROPIC",COLOR_ATTACHMENT_RGBA32F:"COLOR_ATTACHMENT_RGBA32F",COLOR_ATTACHMENT_FLOAT:"COLOR_ATTACHMENT_FLOAT",COLOR_ATTACHMENT_HALF_FLOAT:"COLOR_ATTACHMENT_HALF_FLOAT",GLSL_FRAG_DATA:"GLSL_FRAG_DATA",GLSL_FRAG_DEPTH:"GLSL_FRAG_DEPTH",GLSL_DERIVATIVES:"GLSL_DERIVATIVES",GLSL_TEXTURE_LOD:"GLSL_TEXTURE_LOD"};t.b=(r={},o()(r,u.WEBGL2,[!1,!0]),o()(r,u.VERTEX_ARRAY_OBJECT,["OES_vertex_array_object",!0]),o()(r,u.TIMER_QUERY,["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"]),o()(r,u.INSTANCED_RENDERING,["ANGLE_instanced_arrays",!0]),o()(r,u.MULTIPLE_RENDER_TARGETS,["WEBGL_draw_buffers",!0]),o()(r,u.ELEMENT_INDEX_UINT32,["OES_element_index_uint",!0]),o()(r,u.BLEND_EQUATION_MINMAX,["EXT_blend_minmax",!0]),o()(r,u.FLOAT_BLEND,["EXT_float_blend"]),o()(r,u.COLOR_ENCODING_SRGB,["EXT_sRGB",!0]),o()(r,u.TEXTURE_DEPTH,["WEBGL_depth_texture",!0]),o()(r,u.TEXTURE_FLOAT,["OES_texture_float",!0]),o()(r,u.TEXTURE_HALF_FLOAT,["OES_texture_half_float",!0]),o()(r,u.TEXTURE_FILTER_LINEAR_FLOAT,["OES_texture_float_linear"]),o()(r,u.TEXTURE_FILTER_LINEAR_HALF_FLOAT,["OES_texture_half_float_linear"]),o()(r,u.TEXTURE_FILTER_ANISOTROPIC,["EXT_texture_filter_anisotropic"]),o()(r,u.COLOR_ATTACHMENT_RGBA32F,[function(e){var t=new s.a(e,{format:6408,type:5126,dataFormat:6408}),n=new a.a(e,{id:"test-framebuffer",check:!1,attachments:o()({},36064,t)}),r=n.getStatus();return t.delete(),n.delete(),36053===r},"EXT_color_buffer_float"]),o()(r,u.COLOR_ATTACHMENT_FLOAT,[!1,"EXT_color_buffer_float"]),o()(r,u.COLOR_ATTACHMENT_HALF_FLOAT,["EXT_color_buffer_half_float"]),o()(r,u.GLSL_FRAG_DATA,["WEBGL_draw_buffers",!0]),o()(r,u.GLSL_FRAG_DEPTH,["EXT_frag_depth",!0]),o()(r,u.GLSL_DERIVATIVES,["OES_standard_derivatives",!0]),o()(r,u.GLSL_TEXTURE_LOD,["EXT_shader_texture_lod",!0]),r)},function(e,t,n){"use strict";var r,i=n(0),o=n.n(i),a=n(84),s=n(180);n.d(t,"a",(function(){return c})),n.d(t,"c",(function(){return d})),n.d(t,"b",(function(){return p}));var u=(r={},o()(r,a.b,"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n"),o()(r,a.a,"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"),r),c="__LUMA_INJECT_DECLARATIONS__",l=/void\s+main\s*\([^)]*\)\s*\{\n?/,f=/}\n?[^{}]*$/,h=[];function d(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=t===a.b,o=function(t){var r=n[t];r.sort((function(e,t){return e.order-t.order})),h.length=r.length;for(var o=0,a=r.length;o1),e.forEach((function(e){for(var n in e)t[n]=t[n]?"".concat(t[n],"\n").concat(e[n]):e[n]})),t}},,,,,,,function(e,t,n){"use strict";var r=n(126);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if("undefined"!=typeof window&&"object"===(0,i.default)(window.process)&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"===(0,i.default)(process.versions)&&Boolean(process.versions.electron))return!0;var t="object"===("undefined"==typeof navigator?"undefined":(0,i.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;if(n&&n.indexOf("Electron")>=0)return!0;return!1};var i=r(n(12))},function(e,t,n){"use strict";var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(0),u=n.n(s),c=n(1),l=n.n(c),f=n(3),h=n.n(f),d=n(5),p=n(86),v=n(61),g=new Map;function y(e){Object(v.a)(e.source&&!e.url||!e.source&&e.url);var t=g.get(e.source||e.url);return t||(e.url&&(t=function(e){if(!e.startsWith("http"))return e;return m((t=e,"try {\n importScripts('".concat(t,"');\n} catch (error) {\n console.error(error);\n throw error;\n}")));var t}(e.url),g.set(e.url,t)),e.source&&(t=m(e.source),g.set(e.source,t))),Object(v.a)(t),t}function m(e){var t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}var b=n(12),_=n.n(b);function O(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&e instanceof MessagePort||("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}var w=function(){},x=function(){function e(t){l()(this,e),Object(d.a)(this,"name",void 0),Object(d.a)(this,"source",void 0),Object(d.a)(this,"url",void 0),Object(d.a)(this,"terminated",!1),Object(d.a)(this,"worker",void 0),Object(d.a)(this,"onMessage",void 0),Object(d.a)(this,"onError",void 0),Object(d.a)(this,"_loadableURL","");var n=t.name,r=t.source,i=t.url;Object(v.a)(r||i),this.name=n,this.source=r,this.url=i,this.onMessage=w,this.onError=function(e){return console.log(e)},this.worker=this._createBrowserWorker()}return h()(e,[{key:"destroy",value:function(){this.onMessage=w,this.onError=w,this.worker.terminate(),this.terminated=!0}},{key:"isRunning",get:function(){return Boolean(this.onMessage)}},{key:"postMessage",value:function(e,t){t=t||function e(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,i=r||new Set;if(t){if(O(t))i.add(t);else if(O(t.buffer))i.add(t.buffer);else if(ArrayBuffer.isView(t));else if(n&&"object"===_()(t))for(var o in t)e(t[o],n,i)}else;return void 0===r?Array.from(i):[]}(e),this.worker.postMessage(e,t)}},{key:"_getErrorFromErrorEvent",value:function(e){var t="Failed to load ";return t+="worker ".concat(this.name," from ").concat(this.url,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}},{key:"_createBrowserWorker",value:function(){var e=this;this._loadableURL=y({source:this.source,url:this.url});var t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=function(t){t.data?e.onMessage(t.data):e.onError(new Error("No data received"))},t.onerror=function(t){e.onError(e._getErrorFromErrorEvent(t)),e.terminated=!0},t.onmessageerror=function(e){return console.error(e)},t}}],[{key:"isSupported",value:function(){return"undefined"!=typeof Worker}}]),e}(),A=function(){function e(t,n){var r=this;l()(this,e),Object(d.a)(this,"name",void 0),Object(d.a)(this,"workerThread",void 0),Object(d.a)(this,"isRunning",void 0),Object(d.a)(this,"result",void 0),Object(d.a)(this,"_resolve",void 0),Object(d.a)(this,"_reject",void 0),this.name=t,this.workerThread=n,this.isRunning=!0,this._resolve=function(){},this._reject=function(){},this.result=new Promise((function(e,t){r._resolve=e,r._reject=t}))}return h()(e,[{key:"postMessage",value:function(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}},{key:"done",value:function(e){Object(v.a)(this.isRunning),this.isRunning=!1,this._resolve(e)}},{key:"error",value:function(e){Object(v.a)(this.isRunning),this.isRunning=!1,this._reject(e)}}]),e}();function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function S(e){for(var t=1;t1&&void 0!==s[1]?s[1]:function(e,t,n){return e.done(n)},r=s.length>2&&void 0!==s[2]?s[2]:function(e,t){return e.error(t)},i=new Promise((function(e){return o.jobQueue.push({name:t,onMessage:n,onError:r,onStart:e}),o})),this._startQueuedJob(),e.next=6,i;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"_startQueuedJob",value:(t=i()(a.a.mark((function e(){var t,n,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.jobQueue.length){e.next=2;break}return e.abrupt("return");case 2:if(t=this._getAvailableWorker()){e.next=5;break}return e.abrupt("return");case 5:if(!(n=this.jobQueue.shift())){e.next=18;break}return this.onDebug({message:"Starting job",name:n.name,workerThread:t,backlog:this.jobQueue.length}),r=new A(n.name,t),t.onMessage=function(e){return n.onMessage(r,e.type,e.payload)},t.onError=function(e){return n.onError(r,e)},n.onStart(r),e.prev=12,e.next=15,r.result;case 15:return e.prev=15,this.returnWorkerToQueue(t),e.finish(15);case 18:case"end":return e.stop()}}),e,this,[[12,,15,18]])}))),function(){return t.apply(this,arguments)})},{key:"returnWorkerToQueue",value:function(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}},{key:"_getAvailableWorker",value:function(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}}]),e}();Object(d.a)(B,"_workerFarm",void 0);function I(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t[e.id]||{},r="".concat(e.id,"-worker.js"),i=n.workerUrl;if(i||"compression"!==e.id||(i=t.workerUrl),"test"===t._workerType&&(i="modules/".concat(e.module,"/dist/").concat(r)),!i){var o=e.version;"latest"===o&&(o="latest");var a=o?"@".concat(o):"";i="https://unpkg.com/@loaders.gl/".concat(e.module).concat(a,"/dist/").concat(r)}return Object(v.a)(i),i}function R(e,t){return!!B.isSupported()&&(e.worker&&(null==t?void 0:t.worker))}function L(e,t,n,r,i){return D.apply(this,arguments)}function D(){return(D=i()(a.a.mark((function e(t,n,r,i,o){var s,u,c,l,f,h;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=t.id,u=I(t,r),c=B.getWorkerFarm(r),l=c.getWorkerPool({name:s,url:u}),r=JSON.parse(JSON.stringify(r)),e.next=7,l.startJob("process-on-worker",F.bind(null,o));case 7:return(f=e.sent).postMessage("process",{input:n,options:r}),e.next=11,f.result;case 11:return h=e.sent,e.next=14,h.result;case 14:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function F(e,t,n,r){return N.apply(this,arguments)}function N(){return(N=i()(a.a.mark((function e(t,n,r,i){var o,s,u,c,l;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=r,e.next="done"===e.t0?3:"error"===e.t0?5:"process"===e.t0?7:20;break;case 3:return n.done(i),e.abrupt("break",21);case 5:return n.error(new Error(i.error)),e.abrupt("break",21);case 7:return o=i.id,s=i.input,u=i.options,e.prev=8,e.next=11,t(s,u);case 11:c=e.sent,n.postMessage("done",{id:o,result:c}),e.next=19;break;case 15:e.prev=15,e.t1=e.catch(8),l=e.t1 instanceof Error?e.t1.message:"unknown error",n.postMessage("error",{id:o,error:l});case 19:return e.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(r));case 21:case"end":return e.stop()}}),e,null,[[8,15]])})))).apply(this,arguments)}n.d(t,"a",(function(){return R})),n.d(t,"b",(function(){return L}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return P}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(155),m=n(36),b=n(77);function _(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},t=this.props,n=t.opacity,r=t.pickable,i=t.visible,o=t.parameters,a=t.getPolygonOffset,s=t.highlightedObjectIndex,u=t.autoHighlight,c=t.highlightColor,l=t.coordinateSystem,f=t.coordinateOrigin,h=t.wrapLongitude,d=t.positionFormat,p=t.modelMatrix,v=t.extensions,g=t.fetch,y=t.operation,m=t._subLayerProps,b={opacity:n,pickable:r,visible:i,parameters:o,getPolygonOffset:a,highlightedObjectIndex:s,autoHighlight:u,highlightColor:c,coordinateSystem:l,coordinateOrigin:f,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:v,fetch:g,operation:y},O=m&&m[e.id],w=O&&O.updateTriggers,A=e.id||"sublayer";if(O){var P=this.constructor._propTypes,S=e.type?e.type._propTypes:{};for(var k in O){var C=S[k]||P[k];C&&"accessor"===C.type&&(O[k]=this.getSubLayerAccessor(O[k]))}}Object.assign(b,e,O),b.id="".concat(this.props.id,"-").concat(A),b.updateTriggers=x(x({all:this.props.updateTriggers.all},e.updateTriggers),w);var j,E=_(v);try{for(E.s();!(j=E.n()).done;){var T=j.value,M=T.getSubLayerProps.call(this,T);M&&Object.assign(b,M,{updateTriggers:Object.assign(b.updateTriggers,M.updateTriggers)})}}catch(e){E.e(e)}finally{E.f()}return b}},{key:"_updateAutoHighlight",value:function(e){var t,n=_(this.getSubLayers());try{for(n.s();!(t=n.n()).done;){t.value.updateAutoHighlight(e)}}catch(e){n.e(e)}finally{n.f()}}},{key:"_getAttributeManager",value:function(){return null}},{key:"_renderLayers",value:function(){var e=this.internalState.subLayers,t=!e||this.needsUpdate();t&&(e=this.renderLayers(),e=Object(b.b)(e,Boolean),this.internalState.subLayers=e),Object(m.a)("compositeLayer.renderLayers",this,t,e);var n,r=_(e);try{for(r.s();!(n=r.n()).done;){n.value.parent=this}}catch(e){r.e(e)}finally{r.f()}}}]),n}(y.a);P.layerName="CompositeLayer"},function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(0),u=n.n(s),c=n(71),l=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e),u()(this,"props",void 0),this.opts=t}return a()(e,[{key:"equals",value:function(e){return this===e||this.constructor===e.constructor&&Object(c.a)(this.opts,e.opts)}},{key:"getShaders",value:function(e){return null}},{key:"getSubLayerProps",value:function(e){var t=e.constructor.defaultProps,n=void 0===t?{}:t,r={updateTriggers:{}};for(var i in n)if(i in this.props){var o=n[i],a=this.props[i];r[i]=a,o&&"accessor"===o.type&&(r.updateTriggers[i]=this.props.updateTriggers[i],"function"==typeof a&&(r[i]=this.getSubLayerAccessor(a,!0)))}return r}},{key:"initializeState",value:function(e,t){}},{key:"updateState",value:function(e,t){}},{key:"draw",value:function(e,t){}},{key:"finalizeState",value:function(e){}}]),e}()},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(109),a=n(325),s=n(22),u=n(36);var c={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(e){var t=e[0],n=e[e.length-1];return"{"===t&&"}"===n||"["===t&&"]"===n},parseTextSync:JSON.parse};function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t>>0):4294967296*(t>>>0)+(e>>>0)}function u(e,t,n){var r=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));n.realloc(r);for(var i=n.pos-1;i>=e;i--)n.buf[i+r]=n.buf[i]}function c(e,t){for(var n=0;n>>8,e[n+2]=t>>>16,e[n+3]=t>>>24}function _(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}i.prototype={destroy:function(){this.buf=null},readFields:function(e,t,n){for(n=n||this.length;this.pos>3,o=this.pos;this.type=7&r,e(i,t,this),this.pos===o&&this.skip(r)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=m(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=_(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=m(this.buf,this.pos)+4294967296*m(this.buf,this.pos+4);return this.pos+=8,e},readSFixed64:function(){var e=m(this.buf,this.pos)+4294967296*_(this.buf,this.pos+4);return this.pos+=8,e},readFloat:function(){var e=r.read(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=r.read(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,n,r=this.buf;return t=127&(n=r[this.pos++]),n<128?t:(t|=(127&(n=r[this.pos++]))<<7,n<128?t:(t|=(127&(n=r[this.pos++]))<<14,n<128?t:(t|=(127&(n=r[this.pos++]))<<21,n<128?t:function(e,t,n){var r,i,o=n.buf;if(i=o[n.pos++],r=(112&i)>>4,i<128)return s(e,r,t);if(i=o[n.pos++],r|=(127&i)<<3,i<128)return s(e,r,t);if(i=o[n.pos++],r|=(127&i)<<10,i<128)return s(e,r,t);if(i=o[n.pos++],r|=(127&i)<<17,i<128)return s(e,r,t);if(i=o[n.pos++],r|=(127&i)<<24,i<128)return s(e,r,t);if(i=o[n.pos++],r|=(1&i)<<31,i<128)return s(e,r,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(n=r[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&o?function(e,t,n){return o.decode(e.subarray(t,n))}(this.buf,t,e):function(e,t,n){var r="",i=t;for(;i239?4:u>223?3:u>191?2:1;if(i+l>n)break;1===l?u<128&&(c=u):2===l?128==(192&(o=e[i+1]))&&(c=(31&u)<<6|63&o)<=127&&(c=null):3===l?(o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&((c=(15&u)<<12|(63&o)<<6|63&a)<=2047||c>=55296&&c<=57343)&&(c=null)):4===l&&(o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&((c=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,l=1):c>65535&&(c-=65536,r+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),r+=String.fromCharCode(c),i+=l}return r}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==i.Bytes)return e.push(this.readVarint(t));var n=a(this);for(e=e||[];this.pos127;);else if(t===i.Bytes)this.pos=this.readVarint()+this.pos;else if(t===i.Fixed32)this.pos+=4;else{if(t!==i.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0?function(e,t){var n,r;e>=0?(n=e%4294967296|0,r=e/4294967296|0):(r=~(-e/4294967296),4294967295^(n=~(-e%4294967296))?n=n+1|0:(n=0,r=r+1|0));if(e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(e,t,n){n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos]=127&e}(n,0,t),function(e,t){var n=(7&e)<<4;if(t.buf[t.pos++]|=n|((e>>>=3)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;t.buf[t.pos++]=127&e}(r,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(Boolean(e))},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,n){for(var r,i,o=0;o55295&&r<57344){if(!i){r>56319||o+1===t.length?(e[n++]=239,e[n++]=191,e[n++]=189):i=r;continue}if(r<56320){e[n++]=239,e[n++]=191,e[n++]=189,i=r;continue}r=i-55296<<10|r-56320|65536,i=null}else i&&(e[n++]=239,e[n++]=191,e[n++]=189,i=null);r<128?e[n++]=r:(r<2048?e[n++]=r>>6|192:(r<65536?e[n++]=r>>12|224:(e[n++]=r>>18|240,e[n++]=r>>12&63|128),e[n++]=r>>6&63|128),e[n++]=63&r|128)}return n}(this.buf,e,this.pos);var n=this.pos-t;n>=128&&u(t,n,this),this.pos=t-1,this.writeVarint(n),this.pos+=n},writeFloat:function(e){this.realloc(4),r.write(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),r.write(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var n=0;n=128&&u(n,r,this),this.pos=n-1,this.writeVarint(r),this.pos+=r},writeMessage:function(e,t,n){this.writeTag(e,i.Bytes),this.writeRawMessage(t,n)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,c,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,l,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,d,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,f,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,h,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,p,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,v,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,g,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,y,t)},writeBytesField:function(e,t){this.writeTag(e,i.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,i.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,i.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,i.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,i.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,i.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,i.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,i.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,i.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,i.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}}},function(e,t,n){"use strict";var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(11),u=n.n(s),c=n(0),l=n.n(c),f=n(84),h=n(198),d=n(180);function p(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=5)throw new Error("Possible loop in shader dependency graph");var o,a=p(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;r[s.name]=s,(void 0===i[s.name]||i[s.name]0&&void 0!==arguments[0]?arguments[0]:{},t="undefined"!=typeof window&&window.navigator||{},n=e.userAgent||t.userAgent||"",r=-1!==n.indexOf("MSIE "),i=-1!==n.indexOf("Trident/");return r||i}var _={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},O={};Object.keys(_).forEach((function(e){O[e]=e}));var w={};function x(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=_[t];if(Object(d.a)(r,t),!b(n))return!0;if(t in w)return w[t];var i=r[0],o=n.behavior||"enable",a="#extension GL_".concat(i," : ").concat(o,"\nvoid main(void) {}"),s=e.createShader(35633);e.shaderSource(s,a),e.compileShader(s);var u=e.getShaderParameter(s,35713);return e.deleteShader(s),w[t]=u,u}function A(e,t){var n=_[t];Object(d.a)(n,t);var r=function(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}(e)&&n[1]||n[0],i="string"==typeof r?Boolean(e.getExtension(r)):r;return Object(d.a)(!1===i||!0===i),i}function P(e,t){return(t=Array.isArray(t)?t:[t]).every((function(t){return A(e,t)}))}var S=n(183);function k(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return C(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},t=0,n="";for(var r in e){0===t&&(n+="\n// APPLICATION DEFINES\n"),t++;var i=e[r];(i||Number.isFinite(i))&&(n+="#define ".concat(r.toUpperCase()," ").concat(e[r],"\n"))}0===t&&(n+="\n");return n}(j),"\n").concat(_?"":"precision highp float;\n\n","\n"):"".concat(k,"\n"),T=function(e){var t={vs:{},fs:{}};return e.forEach((function(e){var n;"string"!=typeof e?e=(n=e).hook:n={};var r=(e=e.trim()).split(":"),i=u()(r,2),o=i[0],a=i[1],s=e.replace(/\(.+/,"");t[o][s]=Object.assign(n,{signature:a})})),t}(l),M={},B={},I={};for(var R in p){var L="string"==typeof p[R]?{injection:p[R],order:0}:p[R],D=R.match(/^(v|f)s:(#)?([\w-]+)$/);if(D){var F=D[2],U=D[3];F?"decl"===U?B[R]=[L]:I[R]=[L]:M[R]=[L]}else I[R]=[L]}var G,W=z(o);try{for(W.s();!(G=W.n()).done;){var J=G.value;b&&J.checkDeprecations(C,b),E+=J.getModuleSource(i,A);var X=J.injections[i];for(var K in X){var q=K.match(/^(v|f)s:#([\w-]+)$/);if(q){var Z="decl"===q[2]?B:I;Z[K]=Z[K]||[],Z[K].push(X[K])}else M[K]=M[K]||[],M[K].push(X[K])}}}catch(e){W.e(e)}finally{W.f()}return E+=V,E=Object(S.c)(E,i,B),E+=function(e,t){var n="";for(var r in e){var i=e[r];if(n+="void ".concat(i.signature," {\n"),i.header&&(n+=" ".concat(i.header)),t[r]){var o=t[r];o.sort((function(e,t){return e.order-t.order}));var a,s=z(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;n+=" ".concat(u.injection,"\n")}}catch(e){s.e(e)}finally{s.f()}}i.footer&&(n+=" ".concat(i.footer)),n+="}\n"}return n}(T[i],M),E+=C,E=N(E=Object(S.c)(E,i,I),g?100:A,_)}function X(e){return function(t){var n,r={},i=z(e);try{for(i.s();!(n=i.n()).done;){var o=n.value.getUniforms(t,r);Object.assign(r,o)}}catch(e){i.e(e)}finally{i.f()}return r}}var K=n(327);function q(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Z(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},r=n.vs,i=void 0===r?"":r,o=n.fs,a=void 0===o?"":o,s=n.defines,u=void 0===s?{}:s,c=n.inject,l=void 0===c?{}:c,f=n.varyings,h=void 0===f?[]:f,d=n.bufferMode,p=void 0===d?35981:d,v=n.transpileToGLSL100,g=void 0!==v&&v,y=this._getModuleList(n.modules),m=this._getHash(i),b=this._getHash(a),_=y.map((function(e){return t._getHash(e.name)})).sort(),O=h.map((function(e){return t._getHash(e)})),w=Object.keys(u).sort(),x=Object.keys(l).sort(),A=[],P=[],S=q(w);try{for(S.s();!(e=S.n()).done;){var k=e.value;A.push(this._getHash(k)),A.push(this._getHash(u[k]))}}catch(e){S.e(e)}finally{S.f()}var C,j=q(x);try{for(j.s();!(C=j.n()).done;){var E=C.value;P.push(this._getHash(E)),P.push(this._getHash(l[E]))}}catch(e){j.e(e)}finally{j.f()}var T="".concat(m,"/").concat(b,"D").concat(A.join("/"),"M").concat(_.join("/"),"I").concat(P.join("/"),"V").concat(O.join("/"),"H").concat(this.stateHash,"B").concat(p).concat(g?"T":"");if(!this._programCache[T]){var M=W(this.gl,{vs:i,fs:a,modules:y,inject:l,defines:u,hookFunctions:this._hookFunctions,transpileToGLSL100:g});this._programCache[T]=new K.a(this.gl,{hash:T,vs:M.vs,fs:M.fs,varyings:h,bufferMode:p}),this._getUniforms[T]=M.getUniforms||function(e){},this._useCounts[T]=0}return this._useCounts[T]++,this._programCache[T]}},{key:"getUniforms",value:function(e){return this._getUniforms[e.hash]||null}},{key:"release",value:function(e){var t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}},{key:"_getHash",value:function(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}},{key:"_getModuleList",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Array(this._defaultModules.length+e.length),n={},r=0,i=0,o=this._defaultModules.length;i=t.min)}},array:{validate:function(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function f(e){var t=h(e);return"object"===t?e?"type"in e?Object.assign({},e,l[e.type]):"value"in e?(t=h(e.value),Object.assign({type:t},e,l[t])):{type:"object",value:e}:{type:"object",value:null}:Object.assign({type:t,value:e},l[t])}function h(e){return Array.isArray(e)||ArrayBuffer.isView(e)?"array":c()(e)}n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return p}));var d=function(){function e(t){var n=t.name,r=t.vs,o=t.fs,a=t.dependencies,u=void 0===a?[]:a,c=t.uniforms,l=t.getUniforms,h=t.deprecations,d=void 0===h?[]:h,p=t.defines,v=void 0===p?{}:p,g=t.inject,y=void 0===g?{}:g,m=t.vertexShader,b=t.fragmentShader;i()(this,e),Object(s.a)("string"==typeof n),this.name=n,this.vs=r||m,this.fs=o||b,this.getModuleUniforms=l,this.dependencies=u,this.deprecations=this._parseDeprecationDefinitions(d),this.defines=v,this.injections=function(e){var t={vs:{},fs:{}};for(var n in e){var r=e[n],i=n.slice(0,2);"string"==typeof r&&(r={order:0,injection:r}),t[i][n]=r}return t}(y),c&&(this.uniforms=function(e){var t={};for(var n in e){var r=f(e[n]);t[n]=r}return t}(c))}return a()(e,[{key:"getModuleSource",value:function(e){var t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Object(s.a)(!1)}return"#define MODULE_".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_"),"\n").concat(t,"// END MODULE_").concat(this.name,"\n\n")}},{key:"getUniforms",value:function(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}},{key:"getDefines",value:function(){return this.defines}},{key:"checkDeprecations",value:function(e,t){this.deprecations.forEach((function(n){n.regex.test(e)&&(n.deprecated?t.deprecated(n.old,n.new)():t.removed(n.old,n.new)())}))}},{key:"_parseDeprecationDefinitions",value:function(e){return e.forEach((function(e){switch(e.type){case"function":e.regex=new RegExp("\\b".concat(e.old,"\\("));break;default:e.regex=new RegExp("".concat(e.type," ").concat(e.old,";"))}})),e}},{key:"_defaultGetUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={},n=this.uniforms;for(var r in n){var i=n[r];r in e&&!i.private?(i.validate&&Object(s.a)(i.validate(e[r],i),"".concat(this.name,": invalid ").concat(r)),t[r]=e[r]):t[r]=i.value}return t}}]),e}();function p(e){if(!e.normalized&&(e.normalized=!0,e.uniforms&&!e.getUniforms)){var t=new d(e);e.getUniforms=t.getUniforms.bind(t)}return e}},function(e,t,n){"use strict";var r=n(37),i=n(81),o=n(64),a=n(10),s=n(63),u=n(13);function c(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return Object(u.a)(!1),0}}var l=n(239);function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceX,r=void 0===n?0:n,i=t.sourceY,o=void 0===i?0:i,a=t.sourceFormat,c=void 0===a?6408:a,l=t.sourceAttachment,f=void 0===l?36064:l,h=t.target,d=void 0===h?null:h,p=t.sourceWidth,y=t.sourceHeight,m=t.sourceType,b=v(e),_=b.framebuffer,O=b.deleteFramebuffer;Object(u.a)(_);var w=_.gl,x=_.handle,A=_.attachments;p=p||_.width,y=y||_.height,36064===f&&null===x&&(f=1028),Object(u.a)(A[f]),d=g(d,m=m||A[f].type,c,p,y),m=m||Object(s.b)(d);var P=w.bindFramebuffer(36160,x);return w.readPixels(r,o,p,y,c,m,d),w.bindFramebuffer(36160,P||null),O&&_.delete(),d}function h(e,t){var n=t.sourceX,i=void 0===n?0:n,o=t.sourceY,s=void 0===o?0:o,l=t.sourceFormat,f=void 0===l?6408:l,h=t.target,d=void 0===h?null:h,p=t.targetByteOffset,g=void 0===p?0:p,y=t.sourceWidth,m=t.sourceHeight,b=t.sourceType,_=v(e),O=_.framebuffer,w=_.deleteFramebuffer;Object(u.a)(O),y=y||O.width,m=m||O.height;var x=Object(a.a)(O.gl);if(b=b||(d?d.type:5121),!d){var A=c(f),P=function(e){switch(e){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return Object(u.a)(!1),0}}(b),S=g+y*m*A*P;d=new r.a(x,{byteLength:S,accessor:{type:b,size:A}})}return d.bind({target:35051}),Object(a.o)(x,{framebuffer:O},(function(){x.readPixels(i,s,y,m,f,b,g)})),d.unbind({target:35051}),w&&O.delete(),d}function d(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceAttachment,r=void 0===n?36064:n,i=t.targetMaxHeight,o=void 0===i?Number.MAX_SAFE_INTEGER:i,a=f(e,{sourceAttachment:r}),u=e.width,c=e.height;c>o;){var l=Object(s.d)({data:a,width:u,height:c});a=l.data,u=l.width,c=l.height}Object(s.a)({data:a,width:u,height:c});var h=document.createElement("canvas");h.width=u,h.height=c;var d=h.getContext("2d"),p=d.createImageData(u,c);return p.data.set(a),d.putImageData(p,0,0),h.toDataURL()}function p(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.sourceX,i=void 0===r?0:r,s=n.sourceY,c=void 0===s?0:s,l=n.targetMipmaplevel,f=void 0===l?0:l,h=n.targetInternalFormat,d=void 0===h?6408:h,p=n.targetX,g=n.targetY,y=n.targetZ,m=n.width,b=n.height,_=v(e),O=_.framebuffer,w=_.deleteFramebuffer;Object(u.a)(O);var x=O.gl,A=O.handle,P=void 0!==p||void 0!==g||void 0!==y;p=p||0,g=g||0,y=y||0;var S=x.bindFramebuffer(36160,A);Object(u.a)(t);var k=null;if(t instanceof o.a&&(k=t,m=Number.isFinite(m)?m:k.width,b=Number.isFinite(b)?b:k.height,k.bind(0),t=k.target),P)switch(t){case 3553:case 34067:x.copyTexSubImage2D(t,f,p,g,i,c,m,b);break;case 35866:case 32879:var C=Object(a.a)(x);C.copyTexSubImage3D(t,f,p,g,y,i,c,m,b)}else x.copyTexImage2D(t,f,d,i,c,m,b,0);return k&&k.unbind(),x.bindFramebuffer(36160,S||null),w&&O.delete(),k}function v(e){return e instanceof i.a?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:Object(l.b)(e),deleteFramebuffer:!0}}function g(e,t,n,r,i){return e||(t=t||5121,new(Object(s.c)(t,{clamped:!1}))(r*i*c(n)))}n.d(t,"c",(function(){return f})),n.d(t,"d",(function(){return h})),n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return p}))},,,,,function(e,t,n){"use strict";var r=n(126);Object.defineProperty(t,"__esModule",{value:!0}),t.console=t.process=t.document=t.global=t.window=t.self=void 0;var i=r(n(12)),o={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,i.default)(process))&&process},a=o.self||o.window||o.global;t.self=a;var s=o.window||o.self||o.global;t.window=s;var u=o.global||o.self||o.window;t.global=u;var c=o.document||{};t.document=c;var l=o.process||{};t.process=l;var f=console;t.console=f},function(e,t,n){"use strict";var r=n(126);Object.defineProperty(t,"__esModule",{value:!0}),t.default=a,t.isBrowserMainThread=function(){return a()&&"undefined"!=typeof document};var i=r(n(12)),o=r(n(190));function a(){return!("object"===("undefined"==typeof process?"undefined":(0,i.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,o.default)()}},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.default=e.exports,e.exports.__esModule=!0,n(t,r)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e);var n=t.attributes,r=void 0===n?{}:n;this.typedArrayManager=u.a,this.indexStarts=null,this.vertexStarts=null,this.vertexCount=0,this.instanceCount=0,this.attributes={},this._attributeDefs=r,this.opts=t,this.updateGeometry(t),Object.seal(this)}return a()(e,[{key:"updateGeometry",value:function(e){Object.assign(this.opts,e);var t=this.opts,n=t.data,r=t.buffers,i=void 0===r?{}:r,o=t.getGeometry,a=t.geometryBuffer,s=t.positionFormat,u=t.dataChanged,l=t.normalize,h=void 0===l||l;if(this.data=n,this.getGeometry=o,this.positionSize=a&&a.size||("XY"===s?2:3),this.buffers=i,this.normalize=h,a&&(Object(c.a)(n.startIndices),this.getGeometry=this.getGeometryFromBuffer(a),h||(i.positions=a)),this.geometryBuffer=i.positions,Array.isArray(u)){var d,p=f(u);try{for(p.s();!(d=p.n()).done;){var v=d.value;this._rebuildGeometry(v)}}catch(e){p.e(e)}finally{p.f()}}else this._rebuildGeometry()}},{key:"updatePartialGeometry",value:function(e){var t=e.startRow,n=e.endRow;this._rebuildGeometry({startRow:t,endRow:n})}},{key:"normalizeGeometry",value:function(e){return e}},{key:"updateGeometryAttributes",value:function(e,t,n){throw new Error("Not implemented")}},{key:"getGeometrySize",value:function(e){throw new Error("Not implemented")}},{key:"getGeometryFromBuffer",value:function(e){var t=e.value||e;return Object(c.a)(ArrayBuffer.isView(t)),Object(s.b)(t,{size:this.positionSize,offset:e.offset,stride:e.stride,startIndices:this.data.startIndices})}},{key:"_allocate",value:function(e,t){var n=this.attributes,r=this.buffers,i=this._attributeDefs,o=this.typedArrayManager;for(var a in i)if(a in r)o.release(n[a]),n[a]=null;else{var s=i[a];s.copy=t,n[a]=o.allocate(n[a],e,s)}}},{key:"_forEachGeometry",value:function(e,t,n){var r,i=this.data,o=this.getGeometry,a=Object(s.a)(i,t,n),u=a.iterable,c=a.objectInfo,l=f(u);try{for(l.s();!(r=l.n()).done;){var h=r.value;c.index++,e(o(h,c),c.index)}}catch(e){l.e(e)}finally{l.f()}}},{key:"_rebuildGeometry",value:function(e){var t=this;if(this.data&&this.getGeometry){var n=this.indexStarts,r=this.vertexStarts,i=this.instanceCount,o=this.data,a=this.geometryBuffer,s=e||{},u=s.startRow,c=void 0===u?0:u,f=s.endRow,h=void 0===f?1/0:f,d={};if(e||(n=[0],r=[0]),this.normalize||!a)this._forEachGeometry((function(e,n){e=t.normalizeGeometry(e),d[n]=e,r[n+1]=r[n]+t.getGeometrySize(e)}),c,h),i=r[r.length-1];else if(a.buffer instanceof l.a){var p=a.stride||4*this.positionSize;r=o.startIndices,i=r[o.length]||a.buffer.byteLength/p}else{var v=a.value||a,g=a.stride/v.BYTES_PER_ELEMENT||this.positionSize;r=o.startIndices,i=r[o.length]||v.length/g}this._allocate(i,Boolean(e)),this.indexStarts=n,this.vertexStarts=r,this.instanceCount=i;var y={};this._forEachGeometry((function(e,o){e=d[o]||e,y.vertexStart=r[o],y.indexStart=n[o];var a=o0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e),Object(c.a)(this,"props",void 0),Object(c.a)(this,"stats",void 0),Object(c.a)(this,"activeRequestCount",0),Object(c.a)(this,"requestQueue",[]),Object(c.a)(this,"requestMap",new Map),Object(c.a)(this,"deferredUpdate",null),this.props=h(h({},d),t),this.stats=new l.a({id:this.props.id}),this.stats.get("Queued Requests"),this.stats.get("Active Requests"),this.stats.get("Cancelled Requests"),this.stats.get("Queued Requests Ever"),this.stats.get("Active Requests Ever")}return u()(e,[{key:"scheduleRequest",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return 0};if(!this.props.throttleRequests)return Promise.resolve({done:function(){}});if(this.requestMap.has(e))return this.requestMap.get(e);var n={handle:e,priority:0,getPriority:t},r=new Promise((function(e){return n.resolve=e,n}));return this.requestQueue.push(n),this.requestMap.set(e,r),this._issueNewRequests(),r}},{key:"_issueRequest",value:function(e){var t=this,n=e.handle,r=e.resolve,i=!1,o=function(){i||(i=!0,t.requestMap.delete(n),t.activeRequestCount--,t._issueNewRequests())};return this.activeRequestCount++,r?r({done:o}):Promise.resolve({done:o})}},{key:"_issueNewRequests",value:function(){var e=this;this.deferredUpdate||(this.deferredUpdate=setTimeout((function(){return e._issueNewRequestsAsync()}),0))}},{key:"_issueNewRequestsAsync",value:function(){this.deferredUpdate=null;var e=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(0!==e){this._updateAllRequests();for(var t=0;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},n=this.props,r=n.data,i=n.getPolygon,o=n.positionFormat,a=n._normalize,s=[],u="XY"===o?2:3,c=t.startRow,l=t.endRow,f=Object(p.a)(r,c,l),h=f.iterable,d=f.objectInfo,v=_(h);try{for(v.s();!(e=v.n()).done;){var g=e.value;d.index++;var y=i(g,d);a&&(y=m.b(y,u));var b=y,O=b.holeIndices,w=y.positions||y;if(O)for(var x=0;x<=O.length;x++){var A=w.slice(O[x-1]||0,O[x]||w.length);s.push(this.getSubLayerRow({path:A},g,d.index))}else s.push(this.getSubLayerRow({path:w},g,d.index))}}catch(e){v.e(e)}finally{v.f()}return s}},{key:"renderLayers",value:function(){var e=this.props,t=e.data,n=e._dataDiff,r=e.stroked,i=e.filled,o=e.extruded,a=e.wireframe,s=e._normalize,u=e._windingOrder,c=e.elevationScale,l=e.transitions,f=e.positionFormat,h=this.props,d=h.lineWidthUnits,p=h.lineWidthScale,v=h.lineWidthMinPixels,m=h.lineWidthMaxPixels,b=h.lineJointRounded,_=h.lineMiterLimit,O=h.lineDashJustified,w=this.props,A=w.getFillColor,P=w.getLineColor,S=w.getLineWidth,k=w.getLineDashArray,C=w.getElevation,j=w.getPolygon,E=w.updateTriggers,T=w.material,M=this.state,B=M.paths,I=M.pathsDiff,R=this.getSubLayerClass("fill",g.a),L=this.getSubLayerClass("stroke",y.a),D=this.shouldRenderSubLayer("fill",B)&&new R({_dataDiff:n,extruded:o,elevationScale:c,filled:i,wireframe:a,_normalize:s,_windingOrder:u,getElevation:C,getFillColor:A,getLineColor:o&&a?P:x,material:T,transitions:l},this.getSubLayerProps({id:"fill",updateTriggers:{getPolygon:E.getPolygon,getElevation:E.getElevation,getFillColor:E.getFillColor,lineColors:o&&a,getLineColor:E.getLineColor}}),{data:t,positionFormat:f,getPolygon:j});return[!o&&D,!o&&r&&this.shouldRenderSubLayer("stroke",B)&&new L({_dataDiff:I&&function(){return I},widthUnits:d,widthScale:p,widthMinPixels:v,widthMaxPixels:m,jointRounded:b,miterLimit:_,dashJustified:O,_pathType:"loop",transitions:l&&{getWidth:l.getLineWidth,getColor:l.getLineColor,getPath:l.getPolygon},getColor:this.getSubLayerAccessor(P),getWidth:this.getSubLayerAccessor(S),getDashArray:this.getSubLayerAccessor(k)},this.getSubLayerProps({id:"stroke",updateTriggers:{getWidth:E.getLineWidth,getColor:E.getLineColor,getDashArray:E.getLineDashArray}}),{data:B,positionFormat:f,getPath:function(e){return e.path}}),o&&D]}}]),n}(v.a);P.layerName="PolygonLayer",P.defaultProps=A},function(e,t,n){"use strict";n.d(t,"a",(function(){return O}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(6),u=n.n(s),c=n(7),l=n.n(c),f=n(2),h=n.n(f),d=n(193);function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var v={clipBounds:[0,0,1,1]},g="\nuniform vec4 clip_bounds;\n\nbool clip_isInBounds(vec2 position) {\n return position.x >= clip_bounds[0] && position.y >= clip_bounds[1] && position.x < clip_bounds[2] && position.y < clip_bounds[3];\n}\n",y={name:"clip-vs",vs:g},m={"vs:#decl":"\nvarying float clip_isVisible;\n","vs:DECKGL_FILTER_GL_POSITION":"\n clip_isVisible = float(clip_isInBounds(geometry.worldPosition.xy));\n","fs:#decl":"\nvarying float clip_isVisible;\n","fs:DECKGL_FILTER_COLOR":"\n if (clip_isVisible < 0.5) discard;\n"},b={name:"clip-fs",fs:g},_={"vs:#decl":"\nvarying vec2 clip_commonPosition;\n","vs:DECKGL_FILTER_GL_POSITION":"\n clip_commonPosition = geometry.position.xy;\n","fs:#decl":"\nvarying vec2 clip_commonPosition;\n","fs:DECKGL_FILTER_COLOR":"\n if (!clip_isInBounds(clip_commonPosition)) discard;\n"},O=function(e){u()(n,e);var t=p(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(){var e="instancePositions"in this.getAttributeManager().attributes;return"clipByInstance"in this.props&&(e=this.props.clipByInstance),this.state.clipByInstance=e,e?{modules:[y],inject:m}:{modules:[b],inject:_}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props.clipBounds,r=void 0===n?v.clipBounds:n;if(this.state.clipByInstance)t.clip_bounds=r;else{var i=this.projectPosition([r[0],r[1],0]),o=this.projectPosition([r[2],r[3],0]);t.clip_bounds=[Math.min(i[0],o[0]),Math.min(i[1],o[1]),Math.max(i[0],o[0]),Math.max(i[1],o[1])]}}}]),n}(d.a);O.extensionName="ClipExtension",O.defaultProps=v},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return i()(this,n),e=t.call(this,2),Object(p.f)(r)&&1===arguments.length?e.copy(r):(p.b.debug&&(Object(v.a)(r),Object(v.a)(o)),e[0]=r,e[1]=o),e}return a()(n,[{key:"set",value:function(e,t){return this[0]=e,this[1]=t,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this.check()}},{key:"fromObject",value:function(e){return p.b.debug&&(Object(v.a)(e.x),Object(v.a)(e.y)),this[0]=e.x,this[1]=e.y,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e}},{key:"ELEMENTS",get:function(){return 2}},{key:"horizontalAngle",value:function(){return Math.atan2(this.y,this.x)}},{key:"verticalAngle",value:function(){return Math.atan2(this.x,this.y)}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return g.j(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return Object(y.a)(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return g.i(this,this,e),this.check()}},{key:"transformByMatrix2x3",value:function(e){return g.h(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return g.g(this,this,e),this.check()}}]),n}(d.a)},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(161),l=n(71),f=n(22),h=n(77);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e),this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}return u()(e,[{key:"finalize",value:function(){for(var e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}},{key:"updateViewStates",value:function(){for(var e in this.controllers){var t=this.controllers[e];t&&t.updateTransition()}}},{key:"getViewports",value:function(e){return e?this._viewports.filter((function(t){return t.containsPixel(e)})):this._viewports}},{key:"getViews",value:function(){var e={};return this.views.forEach((function(t){e[t.id]=t})),e}},{key:"getView",value:function(e){return"string"==typeof e?this.views.find((function(t){return t.id===e})):e}},{key:"getViewState",value:function(e){var t=this.getView(e),n=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(n):n}},{key:"getViewport",value:function(e){return this._viewportMap[e]}},{key:"unproject",value:function(e,t){for(var n=this.getViewports(),r={x:e[0],y:e[1]},i=n.length-1;i>=0;--i){var o=n[i];if(o.containsPixel(r)){var a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}},{key:"setProps",value:function(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}},{key:"_update",value:function(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}},{key:"_setSize",value:function(e,t){e===this.width&&t===this.height||(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}},{key:"_setViews",value:function(e){e=Object(h.b)(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}},{key:"_setViewState",value:function(e){e?(!Object(l.a)(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):f.a.warn("missing `viewState` or `initialViewState`")()}},{key:"_onViewStateChange",value:function(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}},{key:"_createController",value:function(e,t){return new(0,t.type)(p({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:function(t){return e._getViewport(t,{width:t.width,height:t.height})}},t))}},{key:"_updateController",value:function(e,t,n,r){var i=e.controller;return i?(i=p(p(p(p({},t),e.props),i),{},{id:e.id,x:n.x,y:n.y,width:n.width,height:n.height}),r?r.setProps(i):r=this._createController(e,i),r):null}},{key:"_rebuildViewports",value:function(){var e=this.width,t=this.height,n=this.views,r=this.controllers;this._viewports=[],this.controllers={};for(var i=!1,o=n.length;o--;){var a=n[o],s=this.getViewState(a),u=a.makeViewport({width:e,height:t,viewState:s}),c=r[a.id];a.controller&&!c&&(i=!0),!i&&a.controller||!c||(c.finalize(),c=null),this.controllers[a.id]=this._updateController(a,s,u,c),this._viewports.unshift(u)}for(var l in r)r[l]&&!this.controllers[l]&&r[l].finalize();this._buildViewportMap()}},{key:"_buildViewportMap",value:function(){var e=this;this._viewportMap={},this._viewports.forEach((function(t){t.id&&(e._viewportMap[t.id]=e._viewportMap[t.id]||t)}))}},{key:"_diffViews",value:function(e,t){return e.length!==t.length||e.some((function(n,r){return!e[r].equals(t[r])}))}}]),e}(),g=n(147),y=n(132),m=n(6),b=n.n(m),_=n(7),O=n.n(_),w=n(2),x=n.n(w),A=n(105),P=n(15),S=n(20),k=n.n(S),C=n(9),j=n.n(C),E=n(81),T=n(10),M=n(18);function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n4)return f.a.warn("Too many mask layers. The max supported is 4")(),"continue";a={id:o,index:n.channels.findIndex((function(e){return(null==e?void 0:e.id)===o})),layers:[],layerBounds:[],coordinateOrigin:e.root.props.coordinateOrigin,coordinateSystem:e.root.props.coordinateSystem},r[o]=a}a.layers.push(e),a.layerBounds.push(e.getBounds())};for(o.s();!(t=o.n()).done;)a()}catch(e){o.e(e)}finally{o.f()}for(var s=0;s<4;s++){var u=this.channels[s];u&&u.id in r||(this.channels[s]=null)}for(var c in r){var l=r[c];l.index<0&&(l.index=this.channels.findIndex((function(e){return!e})),this.channels[l.index]=l)}return r}},{key:"getModuleParameters",value:function(){return{maskMap:this.masks?this.maskMap:this.dummyMaskMap,maskChannels:this.masks}}},{key:"cleanup",value:function(){this.dummyMaskMap&&(this.dummyMaskMap.delete(),this.dummyMaskMap=null),this.maskPass&&(this.maskPass.delete(),this.maskPass=null,this.maskMap=null),this.lastViewport=null,this.masks=null,this.channels.length=0}}]),n}(D.a);function X(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return K(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return K(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"getEffects",value:function(){return this._internalEffects}},{key:"finalize",value:function(){this.cleanup()}},{key:"setEffects",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.cleanup(),this.effects=e,this._internalEffects=e.slice(),this._internalEffects.push(new J),e.some((function(e){return e instanceof y.a}))||this._internalEffects.push(q)}},{key:"cleanup",value:function(){var e,t=X(this.effects);try{for(t.s();!(e=t.n()).done;){e.value.cleanup()}}catch(e){t.e(e)}finally{t.f()}var n,r=X(this._internalEffects);try{for(r.s();!(n=r.n()).done;){n.value.cleanup()}}catch(e){r.e(e)}finally{r.f()}this.effects.length=0,this._internalEffects.length=0}}]),e}(),Y=n(163),Q=n(199),$=n(174);function ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function te(e){for(var t=1;th)p+=4*c;else for(var m=0;m=0){var b=m+s-r,_=b*b+y;_<=h&&(h=_,d=p)}p+=4}}if(d>=0){var O=t.slice(d,d+4),w=n(O);if(w){var x=Math.floor(d/4/c),A=d/4-x*c;return te(te({},w),{},{pickedColor:O,pickedX:s+A,pickedY:u+x})}f.a.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return ne}function ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function oe(e){var t=e.pickInfo,n=e.viewports,r=e.pixelRatio,i=e.x,o=e.y,a=e.z,s=n[0];n.length>1&&(s=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.containsPixel(t))return r}return e[0]}((null==t?void 0:t.pickedViewports)||n,{x:i,y:o}));var u=s&&s.unproject([i-s.x,o-s.y,a]);return{color:null,layer:null,viewport:s,index:-1,picked:!1,x:i,y:o,pixel:[i,o],coordinate:u,devicePixel:t&&"pickedX"in t?[t.pickedX,t.pickedY]:null,pixelRatio:r}}function ae(e){var t=e.pickInfo,n=e.lastPickedInfo,r=e.mode,o=e.layers,a=t.pickedColor,s=t.pickedLayer,u=t.pickedObjectIndex,c=s?[s]:[];if("hover"===r){var l=n.index,f=n.layerId,h=s&&s.props.id;if(h!==f||u!==l){if(h!==f){var d=o.find((function(e){return e.props.id===f}));d&&c.unshift(d)}n.layerId=h,n.index=u,n.info=null}}var p=oe(e),v=new Map;return v.set(null,p),c.forEach((function(e){var t=function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:this.lastPickedInfo.info,a=o&&o.layer&&o.layer.id,s=o&&o.viewport&&o.viewport.id,u=a?r.find((function(e){return e.id===a})):null,c=s&&i.find((function(e){return e.id===s}))||i[0],l=c&&c.unproject([t-c.x,n-c.y]),f={x:t,y:n,viewport:c,coordinate:l,layer:u};return fe(fe({},o),f)}},{key:"_resizeBuffer",value:function(){var e=this.gl;return this.pickingFBO||(this.pickingFBO=new E.a(e),E.a.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new E.a(e),this.depthFBO.attach(i()({},36064,new A.a(e,{format:Object(T.j)(e)?34836:6408,type:5126}))))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}},{key:"_getPickable",value:function(e){if(!1===this._pickable)return null;var t=e.filter((function(e){return e.isPickable()&&!e.isComposite}));return t.length?t:null}},{key:"_pickClosestObject",value:function(e){var t=e.layers,n=e.views,r=e.viewports,i=e.x,o=e.y,a=e.radius,s=void 0===a?0:a,u=e.depth,c=void 0===u?1:u,l=e.mode,f=void 0===l?"query":l,h=e.unproject3D,d=e.onViewportActive,p=e.effects;if(!(t=this._getPickable(t)))return{result:[],emptyInfo:oe({viewports:r,x:i,y:o})};this._resizeBuffer();for(var v,g=Object(T.e)(this.gl),y=Object(T.d)(this.gl,[i,o],!0),m=[y.x+Math.floor(y.width/2),y.y+Math.floor(y.height/2)],b=Math.round(s*g),_=this.pickingFBO,O=_.width,w=_.height,x=this._getPickingRect({deviceX:m[0],deviceY:m[1],deviceRadius:b,deviceWidth:O,deviceHeight:w}),A=[],P=new Set,S=0;S=0){var o=t.slice(i,i+4),a=o.join(",");if(!r.has(a)){var s=n(o);s?r.set(a,te(te({},s),{},{pickedColor:o})):f.a.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(r.values())}(this._drawAndSample({layers:t,views:n,viewports:r,onViewportActive:v,deviceRect:A,effects:g,pass:"picking:".concat(h),redrawReason:h})),S=new Map,k=Number.isFinite(p),C=0;C=p);C++){var j=P[C],E={color:j.pickedColor,layer:null,index:j.pickedObjectIndex,picked:!0,x:i,y:o,width:s,height:c,pixelRatio:y};E=se({layer:j.pickedLayer,info:E,mode:h}),S.has(E.object)||S.set(E.object,E)}return Array.from(S.values())}},{key:"_drawAndSample",value:function(e){var t=e.layers,n=e.views,r=e.viewports,i=e.onViewportActive,o=e.deviceRect,a=e.effects,s=e.pass,u=e.redrawReason,c=e.pickZ,l=c?this.depthFBO:this.pickingFBO,f=this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:n,viewports:r,onViewportActive:i,pickingFBO:l,deviceRect:o,effects:a,pass:s,redrawReason:u,pickZ:c}).decodePickingColor,h=o.x,d=o.y,p=o.width,v=o.height,g=new(c?Float32Array:Uint8Array)(p*v*4);return Object(Q.c)(l,{sourceX:h,sourceY:d,sourceWidth:p,sourceHeight:v,target:g}),{pickedColors:g,decodePickingColor:f}}},{key:"_getPickingRect",value:function(e){var t=e.deviceX,n=e.deviceY,r=e.deviceRadius,i=e.deviceWidth,o=e.deviceHeight,a=Math.max(0,t-r),s=Math.max(0,n-r),u=Math.min(i,t+r+1)-a,c=Math.min(o,n+r+1)-s;return u<=0||c<=0?null:{x:a,y:s,width:u,height:c}}}]),e}(),de={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"},pe=function(){function e(t){a()(this,e);var n=t.parentElement;n&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,de),n.appendChild(this.el)),this.isVisible=!1}return u()(e,[{key:"setTooltip",value:function(e,t,n){var r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(n,"px)")}},{key:"remove",value:function(){this.el&&this.el.remove()}}]),e}(),ve=n(78),ge=n(194),ye=n(169),me=n(170),be=globalThis;var _e=n(12),Oe=n.n(_e),we=n(8),xe=n.n(we),Ae=n(4),Pe=n.n(Ae),Se=n(139),ke=n(13),Ce=n(43),je=n(253),Ee=n(182);function Te(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Me(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Me(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Me(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return a()(this,n),(r=t.call(this,e,i)).target=null,r._queryPending=!1,r._pollingPromise=null,Object.seal(k()(r)),r}return u()(n,[{key:"beginTimeElapsedQuery",value:function(){return this.begin(35007)}},{key:"beginOcclusionQuery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.conservative,n=void 0!==t&&t;return this.begin(n?36202:35887)}},{key:"beginTransformFeedbackQuery",value:function(){return this.begin(35976)}},{key:"begin",value:function(e){return this._queryPending?this:(this.target=e,this.gl2.beginQuery(this.target,this.handle),this)}},{key:"end",value:function(){return this._queryPending?this:(this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this)}},{key:"isResultAvailable",value:function(){if(!this._queryPending)return!1;var e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}},{key:"isTimerDisjoint",value:function(){return this.gl2.getParameter(36795)}},{key:"getResult",value:function(){return this.gl2.getQueryParameter(this.handle,34918)}},{key:"getTimerMilliseconds",value:function(){return this.getResult()/1e6}},{key:"createPoll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;var n=0;return this._pollingPromise=new Promise((function(r,i){requestAnimationFrame((function o(){e.isResultAvailable()?(r(e.getResult()),e._pollingPromise=null):n++>t?(i("Timed out"),e._pollingPromise=null):requestAnimationFrame(o)}))})),this._pollingPromise}},{key:"_createHandle",value:function(){return n.isSupported(this.gl)?this.gl2.createQuery():null}},{key:"_deleteHandle",value:function(){this.gl2.deleteQuery(this.handle)}}],[{key:"isSupported",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=Object(T.j)(e),i=Object(je.c)(e,Ee.a.TIMER_QUERY),o=r||i,a=Te(n);try{for(a.s();!(t=a.n()).done;){var s=t.value;switch(s){case"queries":o=o&&r;break;case"timers":o=o&&i;break;default:Object(ke.a)(!1)}}}catch(e){a.e(e)}finally{a.f()}return o}}]),n}(Ce.a);var Re=n(35),Le=Object(Re.isBrowser)()&&"undefined"!=typeof document,De=0,Fe=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e);var n=t.onCreateContext,r=void 0===n?function(e){return Object(T.c)(e)}:n,i=t.onAddHTML,o=void 0===i?null:i,s=t.onInitialize,u=void 0===s?function(){}:s,c=t.onRender,l=void 0===c?function(){}:c,f=t.onFinalize,h=void 0===f?function(){}:f,d=t.onError,p=t.gl,v=void 0===p?null:p,g=t.glOptions,y=void 0===g?{}:g,m=t.debug,b=void 0!==m&&m,_=t.createFramebuffer,O=void 0!==_&&_,w=t.autoResizeViewport,x=void 0===w||w,A=t.autoResizeDrawingBuffer,P=void 0===A||A,S=t.stats,k=void 0===S?Se.a.get("animation-loop-".concat(De++)):S,C=t.useDevicePixels,j=void 0===C||C;"useDevicePixelRatio"in t&&(T.k.deprecated("useDevicePixelRatio","useDevicePixels")(),j=t.useDevicePixelRatio),this.props={onCreateContext:r,onAddHTML:o,onInitialize:u,onRender:l,onFinalize:h,onError:d,gl:v,glOptions:y,debug:b,createFramebuffer:O},this.gl=v,this.needsRedraw=null,this.timeline=null,this.stats=k,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:x,autoResizeDrawingBuffer:P,useDevicePixels:j}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}var t;return u()(e,[{key:"delete",value:function(){this.stop(),this._setDisplay(null)}},{key:"setNeedsRedraw",value:function(e){return Object(ke.a)("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}},{key:"setProps",value:function(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}},{key:"start",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this._running)return this;this._running=!0;var n=this._getPageLoadPromise().then((function(){return!e._running||e._initialized?null:(e._createWebGLContext(t),e._createFramebuffer(),e._startEventHandling(),e._initializeCallbackData(),e._updateCallbackData(),e._resizeCanvasDrawingBuffer(),e._resizeViewport(),e._gpuTimeQuery=Ie.isSupported(e.gl,["timers"])?new Ie(e.gl):null,e._initialized=!0,e.onInitialize(e.animationProps))})).then((function(t){e._running&&(e._addCallbackData(t||{}),!1!==t&&e._startLoop())}));return this.props.onError&&n.catch(this.props.onError),this}},{key:"redraw",value:function(){return this.isContextLost()?this:(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers(),this)}},{key:"stop",value:function(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}},{key:"attachTimeline",value:function(e){return this.timeline=e,this.timeline}},{key:"detachTimeline",value:function(){this.timeline=null}},{key:"waitForRender",value:function(){var e=this;return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise((function(t){e._resolveNextFrame=t}))),this._nextFramePromise}},{key:"toDataURL",value:(t=xe()(Pe.a.mark((function e(){return Pe.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setNeedsRedraw("toDataURL"),e.next=3,this.waitForRender();case 3:return e.abrupt("return",this.gl.canvas.toDataURL());case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"isContextLost",value:function(){return this.gl.isContextLost()}},{key:"onCreateContext",value:function(){var e;return(e=this.props).onCreateContext.apply(e,arguments)}},{key:"onInitialize",value:function(){var e;return(e=this.props).onInitialize.apply(e,arguments)}},{key:"onRender",value:function(){var e;return(e=this.props).onRender.apply(e,arguments)}},{key:"onFinalize",value:function(){var e;return(e=this.props).onFinalize.apply(e,arguments)}},{key:"getHTMLControlValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=document.getElementById(e);return n?Number(n.value):t}},{key:"setViewParameters",value:function(){return T.k.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}},{key:"_startLoop",value:function(){var e=this;this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame((function t(){e._running&&(e.redraw(),e._animationFrameId=e._requestAnimationFrame(t))}))}},{key:"_getPageLoadPromise",value:function(){return this._pageLoadPromise||(this._pageLoadPromise=Le?new Promise((function(e,t){Le&&"complete"===document.readyState?e(document):window.addEventListener("load",(function(){e(document)}))})):Promise.resolve({})),this._pageLoadPromise}},{key:"_setDisplay",value:function(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}},{key:"_cancelAnimationFrame",value:function(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):(t=e,"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(t):clearTimeout(t));var t}},{key:"_requestAnimationFrame",value:function(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):(t=e,"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(t):setTimeout(t,1e3/60));var t}},{key:"_renderFrame",value:function(){var e;this.display?(e=this.display)._renderFrame.apply(e,arguments):this.onRender.apply(this,arguments)}},{key:"_clearNeedsRedraw",value:function(){this.needsRedraw=null}},{key:"_setupFrame",value:function(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}},{key:"_initializeCallbackData",value:function(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}},{key:"_updateCallbackData",value:function(){var e=this._getSizeAndAspect(),t=e.width,n=e.height,r=e.aspect;t===this.animationProps.width&&n===this.animationProps.height||this.setNeedsRedraw("drawing buffer resized"),r!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=n,this.animationProps.aspect=r,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}},{key:"_finalizeCallbackData",value:function(){this.onFinalize(this.animationProps)}},{key:"_addCallbackData",value:function(e){"object"===Oe()(e)&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}},{key:"_createWebGLContext",value:function(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?Object(T.h)(this.props.gl,e):this.onCreateContext(e),!Object(T.i)(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");Object(T.l)(this.gl),this._createInfoDiv()}},{key:"_createInfoDiv",value:function(){if(this.gl.canvas&&this.props.onAddHTML){var e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";var t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);var n=this.props.onAddHTML(t);n&&(t.innerHTML=n)}}},{key:"_getSizeAndAspect",value:function(){var e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight,n=1,r=this.gl.canvas;return r&&r.clientHeight?n=r.clientWidth/r.clientHeight:e>0&&t>0&&(n=e/t),{width:e,height:t,aspect:n}}},{key:"_resizeViewport",value:function(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}},{key:"_resizeCanvasDrawingBuffer",value:function(){this.autoResizeDrawingBuffer&&Object(T.m)(this.gl,{useDevicePixels:this.useDevicePixels})}},{key:"_createFramebuffer",value:function(){this.props.createFramebuffer&&(this.framebuffer=new E.a(this.gl))}},{key:"_resizeFramebuffer",value:function(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}},{key:"_beginTimers",value:function(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}},{key:"_endTimers",value:function(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}},{key:"_startEventHandling",value:function(){var e=this.gl.canvas;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}},{key:"_onMousemove",value:function(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}},{key:"_onMouseleave",value:function(e){this.animationProps._mousePosition=null}}]),e}(),Ne=n(322),Ue=n(95);function ze(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Ge,Ve,He=n(57),We=n(58),Je=n(138),Xe=n.n(Je),Ke={mousedown:1,mousemove:2,mouseup:4};Ge=Xe.a.PointerEventInput,Ve=Ge.prototype.handler,Ge.prototype.handler=function(e){var t=this.store;e.button>0&&(function(e,t){for(var n=0;n=0&&(this.pressed=!0),2&t&&0===e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:"mouse",srcEvent:e}))};var qe=Xe.a.Manager,Ze=Xe.a,Ye=Ze?[[Ze.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[Ze.Rotate,{enable:!1}],[Ze.Pinch,{enable:!1}],[Ze.Swipe,{enable:!1}],[Ze.Pan,{threshold:0,enable:!1}],[Ze.Press,{enable:!1}],[Ze.Tap,{event:"doubletap",taps:2,enable:!1}],[Ze.Tap,{event:"anytap",enable:!1}],[Ze.Tap,{enable:!1}]]:null,Qe={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},$e={doubletap:["tap"]},et={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},tt=["keydown","keyup"],nt=["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],rt=["wheel","mousewheel","DOMMouseScroll"],it={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},ot={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},at="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",st="undefined"!=typeof window?window:global,ut=("undefined"!=typeof global?global:window,"undefined"!=typeof document&&document,!1);try{var ct={get passive(){return ut=!0,!0}};st.addEventListener("test",ct,ct),st.removeEventListener("test",ct,ct)}catch(e){}var lt=-1!==at.indexOf("firefox"),ft=rt,ht=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(He.a)(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},i),this.events=ft.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach((function(e){return t.addEventListener(e,r.handleEvent,!!ut&&{passive:!1})}))}return Object(We.a)(e,[{key:"destroy",value:function(){var e=this;this.events.forEach((function(t){return e.element.removeEventListener(t,e.handleEvent)}))}},{key:"enableEventType",value:function(e,t){"wheel"===e&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){if(this.options.enable){var t=e.deltaY;st.WheelEvent&&(lt&&e.deltaMode===st.WheelEvent.DOM_DELTA_PIXEL&&(t/=st.devicePixelRatio),e.deltaMode===st.WheelEvent.DOM_DELTA_LINE&&(t*=40));var n={x:e.clientX,y:e.clientY};0!==t&&t%4.000244140625==0&&(t=Math.floor(t/4.000244140625)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,n)}}},{key:"_onWheel",value:function(e,t,n){this.callback({type:"wheel",center:n,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),dt=nt,pt=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(He.a)(this,e),this.element=t,this.callback=n,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=dt.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach((function(e){return t.addEventListener(e,r.handleEvent)}))}return Object(We.a)(e,[{key:"destroy",value:function(){var e=this;this.events.forEach((function(t){return e.element.removeEventListener(t,e.handleEvent)}))}},{key:"enableEventType",value:function(e,t){"pointermove"===e&&(this.enableMoveEvent=t),"pointerover"===e&&(this.enableOverEvent=t),"pointerout"===e&&(this.enableOutEvent=t),"pointerleave"===e&&(this.enableLeaveEvent=t)}},{key:"handleEvent",value:function(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}},{key:"handleOverEvent",value:function(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:"pointerover",srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleOutEvent",value:function(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:"pointerout",srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleLeaveEvent",value:function(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:"pointerleave",srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleMoveEvent",value:function(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:"pointermove",srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}]),e}(),vt=tt,gt=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(He.a)(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=vt.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=i.tabIndex||0,t.style.outline="none",this.events.forEach((function(e){return t.addEventListener(e,r.handleEvent)}))}return Object(We.a)(e,[{key:"destroy",value:function(){var e=this;this.events.forEach((function(t){return e.element.removeEventListener(t,e.handleEvent)}))}},{key:"enableEventType",value:function(e,t){"keydown"===e&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}},{key:"handleEvent",value:function(e){var t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:"keydown",srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}]),e}(),yt=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(He.a)(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},r),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}return Object(We.a)(e,[{key:"destroy",value:function(){this.element.removeEventListener("contextmenu",this.handleEvent)}},{key:"enableEventType",value:function(e,t){"contextmenu"===e&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){this.options.enable&&this.callback({type:"contextmenu",center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}();function mt(e){return(mt="function"==typeof Symbol&&"symbol"===Oe()(Symbol.iterator)?function(e){return Oe()(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":Oe()(e)})(e)}var bt={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4};var _t={srcElement:"root",priority:0},Ot=function(){function e(t){Object(He.a)(this,e),this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}return Object(We.a)(e,[{key:"isEmpty",value:function(){return!this._active}},{key:"add",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=this.handlers,a=this.handlersByElement;n&&("object"!==mt(n)||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},_t,n):_t;var s=a.get(n.srcElement);s||(s=[],a.set(n.srcElement,s));var u={type:e,handler:t,srcElement:n.srcElement,priority:n.priority};r&&(u.once=!0),i&&(u.passive=!0),o.push(u),this._active=this._active||!u.passive;for(var c=s.length-1;c>=0&&!(s[c].priority>=u.priority);)c--;s.splice(c+1,0,u)}},{key:"remove",value:function(e,t){for(var n=this.handlers,r=this.handlersByElement,i=n.length-1;i>=0;i--){var o=n[i];if(o.type===e&&o.handler===t){n.splice(i,1);var a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=n.some((function(e){return!e.passive}))}},{key:"handleEvent",value:function(e){if(!this.isEmpty()){for(var t=this._normalizeEvent(e),n=e.srcEvent.target;n&&n!==t.rootElement;){if(this._emit(t,n),t.handled)return;n=n.parentNode}this._emit(t,"root")}}},{key:"_emit",value:function(e,t){var n=this.handlersByElement.get(t);if(n){for(var r=!1,i=function(){e.handled=!0},o=function(){e.handled=!0,r=!0},a=[],s=0;s=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function xt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(He.a)(this,e),this.options=Object.assign({},At,n),this.events=new Map,this._onBasicInput=this._onBasicInput.bind(this),this._onOtherEvent=this._onOtherEvent.bind(this),this.setElement(t);var r=n.events;r&&this.on(r)}return Object(We.a)(e,[{key:"setElement",value:function(e){var t=this;if(this.element&&this.destroy(),this.element=e,e){var n=this.options,r=n.Manager;for(var i in this.manager=new r(e,{touchAction:n.touchAction,recognizers:n.recognizers||Ye}).on("hammer.input",this._onBasicInput),n.recognizers||Object.keys(Qe).forEach((function(e){var n=t.manager.get(e);n&&Qe[e].forEach((function(e){n.recognizeWith(e)}))})),n.recognizerOptions){var o=this.manager.get(i);if(o){var a=n.recognizerOptions[i];delete a.enable,o.set(a)}}this.wheelInput=new ht(e,this._onOtherEvent,{enable:!1}),this.moveInput=new pt(e,this._onOtherEvent,{enable:!1}),this.keyInput=new gt(e,this._onOtherEvent,{enable:!1,tabIndex:n.tabIndex}),this.contextmenuInput=new yt(e,this._onOtherEvent,{enable:!1});var s,u=wt(this.events);try{for(u.s();!(s=u.n()).done;){var c=ze(s.value,2),l=c[0],f=c[1];f.isEmpty()||(this._toggleRecognizer(f.recognizerName,!0),this.manager.on(l,f.handleEvent))}}catch(e){u.e(e)}finally{u.f()}}}},{key:"destroy",value:function(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}},{key:"on",value:function(e,t,n){this._addEventHandler(e,t,n,!1)}},{key:"once",value:function(e,t,n){this._addEventHandler(e,t,n,!0)}},{key:"watch",value:function(e,t,n){this._addEventHandler(e,t,n,!1,!0)}},{key:"off",value:function(e,t){this._removeEventHandler(e,t)}},{key:"_toggleRecognizer",value:function(e,t){var n=this.manager;if(n){var r=n.get(e);if(r&&r.options.enable!==t){r.set({enable:t});var i=$e[e];i&&!this.options.recognizers&&i.forEach((function(i){var o=n.get(i);t?(o.requireFailure(e),r.dropRequireFailure(i)):o.dropRequireFailure(e)}))}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}}},{key:"_addEventHandler",value:function(e,t,n,r,i){if("string"==typeof e){var o=this.manager,a=this.events,s=ot[e]||e,u=a.get(s);u||(u=new Ot(this),a.set(s,u),u.recognizerName=it[s]||s,o&&o.on(s,u.handleEvent)),u.add(e,t,n,r,i),u.isEmpty()||this._toggleRecognizer(u.recognizerName,!0)}else for(var c in n=t,e)this._addEventHandler(c,e[c],n,r,i)}},{key:"_removeEventHandler",value:function(e,t){if("string"==typeof e){var n=this.events,r=ot[e]||e,i=n.get(r);if(i&&(i.remove(e,t),i.isEmpty())){var o,a=i.recognizerName,s=!1,u=wt(n.values());try{for(u.s();!(o=u.n()).done;){var c=o.value;if(c.recognizerName===a&&!c.isEmpty()){s=!0;break}}}catch(e){u.e(e)}finally{u.f()}s||this._toggleRecognizer(a,!1)}}else for(var l in e)this._removeEventHandler(l,e[l])}},{key:"_onBasicInput",value:function(e){var t=e.srcEvent,n=et[t.type];n&&this.manager.emit(n,e)}},{key:"_onOtherEvent",value:function(e){this.manager.emit(e.type,e)}}]),e}(),St=n(40);function kt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ct(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ct(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1)return"Edge";var r=-1!==n.indexOf("MSIE "),i=-1!==n.indexOf("Trident/");return r||i?"IE":be.chrome?"Chrome":be.safari?"Safari":be.mozInnerScreenX?"Firefox":"Unknown"}()&&f.a.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Ue.a({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&ve.a.setProps(t._typedArrayManagerProps),this.animationLoop.start()}return u()(e,[{key:"finalize",value:function(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),this.props.canvas||this.props.gl||!this.canvas||(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}},{key:"setProps",value:function(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&f.a.removed("onLayerHover","onHover")(),"onLayerClick"in e&&f.a.removed("onLayerClick","onClick")(),e.initialViewState&&!Object(l.a)(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);var t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};if(this.props._animate)return"Deck._animate";var t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),i=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||n||r||i||o}},{key:"redraw",value:function(e){if(this.layerManager){var t=e||this.needsRedraw({clearRedrawFlags:!0});t&&(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}}},{key:"getViews",value:function(){return this.viewManager.views}},{key:"getViewports",value:function(e){return this.viewManager.getViewports(e)}},{key:"pickObject",value:function(e){var t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}},{key:"pickMultipleObjects",value:function(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}},{key:"pickObjects",value:function(e){return this._pick("pickObjects","pickObjects Time",e)}},{key:"_addResources",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(var n in e)this.layerManager.resourceManager.add({resourceId:n,data:e[n],forceUpdate:t})}},{key:"_removeResources",value:function(e){var t,n=kt(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;this.layerManager.resourceManager.remove(r)}}catch(e){n.e(e)}finally{n.f()}}},{key:"_pick",value:function(e,t,n){var r=this.stats;r.get("Pick Count").incrementCount(),r.get(t).timeStart();var i=this.deckPicker[e](Et({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport,effects:this.effectManager.getEffects()},n));return r.get(t).timeEnd(),i}},{key:"_createCanvas",value:function(e){var t=e.canvas;("string"==typeof t&&(t=document.getElementById(t),Object(St.a)(t)),t)||((t=document.createElement("canvas")).id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t));return Object.assign(t.style,e.style),t}},{key:"_setCanvasSize",value:function(e){if(this.canvas){var t=e.width,n=e.height;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}}},{key:"_updateCanvasSize",value:function(){if(this._checkForCanvasSizeChange()){var e=this.width,t=this.height;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}},{key:"_checkForCanvasSizeChange",value:function(){var e=this.canvas;if(!e)return!1;var t=e.clientWidth||e.width,n=e.clientHeight||e.height;return(t!==this.width||n!==this.height)&&(this.width=t,this.height=n,!0)}},{key:"_createAnimationLoop",value:function(e){var t=this,n=e.width,r=e.height,i=e.gl,o=e.glOptions,a=e.debug,s=e.onError,u=e.onBeforeRender,c=e.onAfterRender,l=e.useDevicePixels,f=e.autoResizeDrawingBuffer;return new Fe({width:n,height:r,useDevicePixels:l,autoResizeDrawingBuffer:f,autoResizeViewport:!1,gl:i,onCreateContext:function(e){return Object(T.c)(Et(Et(Et({},o),e),{},{canvas:t.canvas,debug:a,onContextLost:function(){return t._onContextLost()}}))},onInitialize:function(e){return t._setGLContext(e.gl)},onRender:this._onRenderFrame.bind(this),onBeforeRender:u,onAfterRender:c,onError:s})}},{key:"_getViewState",value:function(){return this.props.viewState||this.viewState}},{key:"_getViews",value:function(){var e=this.props.views||[new g.a({id:"default-view"})];return(e=Array.isArray(e)?e:[e]).length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}},{key:"_onContextLost",value:function(){var e=this.props.onError;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}},{key:"_onPointerMove",value:function(e){var t=this._pickRequest;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;var n=e.offsetCenter;if(!n)return;t.x=n.x,t.y=n.y,t.radius=this.props.pickingRadius}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}},{key:"_pickAndCallback",value:function(){var e=this._pickRequest;if(e.event){var t=this._pick("pickObject","pickObject Time",e),n=t.result,r=t.emptyInfo;this.interactiveState.isHovering=n.length>0;var i,o=r,a=!1,s=kt(n);try{for(s.s();!(i=s.n()).done;){var u=i.value;o=u,a=u.layer.onHover(u,e.event)}}catch(e){s.e(e)}finally{s.f()}if(!a&&this.props.onHover&&this.props.onHover(o,e.event),this.props.getTooltip){var c=this.props.getTooltip(o);this.tooltip.setTooltip(c,o.x,o.y)}e.event=null}}},{key:"_updateCursor",value:function(){var e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}},{key:"_setGLContext",value:function(e){if(!this.layerManager){this.canvas||(this.canvas=e.canvas,Object(T.h)(e,{enable:!0,copyState:!0})),this.tooltip=new pe(this.canvas),Object(T.n)(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);var t=new Ne.a;for(var n in t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new Pt(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}}),M.b)this.eventManager.on(n,this._onEvent);this.viewManager=new v({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});var r=this.viewManager.getViewports()[0];this.layerManager=new c.a(e,{deck:this,stats:this.stats,viewport:r,timeline:t}),this.effectManager=new Z,this.deckRenderer=new Y.a(e),this.deckPicker=new he(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}}},{key:"_drawLayers",value:function(e,t){var n=this.layerManager.context.gl;Object(T.n)(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(Et({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:n})}},{key:"_onRenderFrame",value:function(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),f.a.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}},{key:"_onViewStateChange",value:function(e){var t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Et(Et({},this.viewState),{},i()({},e.viewId,t)),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}},{key:"_onInteractionStateChange",value:function(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}},{key:"_onEvent",value:function(e){var t=M.b[e.type],n=e.offsetCenter;if(t&&n){var r=this.layerManager.getLayers(),i=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:r,viewports:this.getViewports(n)},this._lastPointerDownInfo),o=i.layer,a=o&&(o[t.handler]||o.props[t.handler]),s=this.props[t.handler],u=!1;a&&(u=a.call(o,i,e)),!u&&s&&s(i,e)}}},{key:"_onPointerDown",value:function(e){var t=e.offsetCenter,n=this._pick("pickObject","pickObject Time",{x:t.x,y:t.y,radius:this.props.pickingRadius});this._lastPointerDownInfo=n.result[0]||n.emptyInfo}},{key:"_getFrameStats",value:function(){var e=this.stats;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();var t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}},{key:"_getMetrics",value:function(){var e=this.metrics,t=this.stats;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();var n=Se.a.get("Memory Usage");e.bufferMemory=n.get("Buffer Memory").count,e.textureMemory=n.get("Texture Memory").count,e.renderbufferMemory=n.get("Renderbuffer Memory").count,e.gpuMemory=n.get("GPU Memory").count}}]),e}();Bt.getPropTypes=function(e){return{id:e.string,width:e.oneOfType([e.number,e.string]),height:e.oneOfType([e.number,e.string]),layers:e.oneOfType([e.object,e.array]),layerFilter:e.func,views:e.oneOfType([e.object,e.array]),viewState:e.object,effects:e.arrayOf(e.instanceOf(D.a)),controller:e.oneOfType([e.func,e.bool,e.object]),gl:e.object,glOptions:e.object,parameters:e.object,pickingRadius:e.number,useDevicePixels:e.oneOfType([e.bool,e.number]),touchAction:e.string,eventRecognizerOptions:e.object,onWebGLInitialized:e.func,onResize:e.func,onViewStateChange:e.func,onInteractionStateChange:e.func,onBeforeRender:e.func,onAfterRender:e.func,onLoad:e.func,onError:e.func,debug:e.bool,drawPickingColors:e.bool,_framebuffer:e.object,_animate:e.bool,_pickable:e.bool,_typedArrayManagerProps:e.object}},Bt.defaultProps=Mt,Bt.VERSION=ge.a.VERSION},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(6),u=n.n(s),c=n(7),l=n.n(c),f=n(2),h=n.n(f),d=n(193),p=n(102),v={source:0,target:1,custom:2,source_target:3},g={name:"brushing",dependencies:[p.a],vs:"\n uniform bool brushing_enabled;\n uniform int brushing_target;\n uniform vec2 brushing_mousePos;\n uniform float brushing_radius;\n\n #ifdef NON_INSTANCED_MODEL\n attribute vec2 brushingTargets;\n #else\n attribute vec2 instanceBrushingTargets;\n #endif\n\n varying float brushing_isVisible;\n\n bool brushing_isPointInRange(vec2 position) {\n if (!brushing_enabled) {\n return true;\n }\n vec2 source_commonspace = project_position(position);\n vec2 target_commonspace = project_position(brushing_mousePos);\n float distance = length((target_commonspace - source_commonspace) / project_uCommonUnitsPerMeter.xy);\n\n return distance <= brushing_radius;\n }\n\n bool brushing_arePointsInRange(vec2 sourcePos, vec2 targetPos) {\n return brushing_isPointInRange(sourcePos) || brushing_isPointInRange(targetPos);\n }\n\n void brushing_setVisible(bool visible) {\n brushing_isVisible = float(visible);\n }\n",fs:"\n uniform bool brushing_enabled;\n varying float brushing_isVisible;\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n vec2 brushingTarget;\n vec2 brushingSource;\n if (brushing_target == 3) {\n brushingTarget = geometry.worldPositionAlt.xy;\n brushingSource = geometry.worldPosition.xy;\n } else if (brushing_target == 0) {\n brushingTarget = geometry.worldPosition.xy;\n } else if (brushing_target == 1) {\n brushingTarget = geometry.worldPositionAlt.xy;\n } else {\n #ifdef NON_INSTANCED_MODEL\n brushingTarget = brushingTargets;\n #else\n brushingTarget = instanceBrushingTargets;\n #endif\n }\n bool visible;\n if (brushing_target == 3) {\n visible = brushing_arePointsInRange(brushingSource, brushingTarget);\n } else {\n visible = brushing_isPointInRange(brushingTarget);\n }\n brushing_setVisible(visible);\n ","fs:DECKGL_FILTER_COLOR":"\n if (brushing_enabled && brushing_isVisible < 0.5) {\n discard;\n }\n "},getUniforms:function(e){if(!e||!e.viewport)return{};var t=e.brushingEnabled,n=void 0===t||t,r=e.brushingRadius,i=void 0===r?1e4:r,o=e.brushingTarget,a=void 0===o?"source":o,s=e.mousePosition,u=e.viewport;return{brushing_enabled:Boolean(n&&s&&u.containsPixel(s)),brushing_radius:i,brushing_target:v[a]||0,brushing_mousePos:s?u.unproject([s.x-u.x,s.y-u.y]):[0,0]}}};function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var m=function(e){u()(n,e);var t=y(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(e){return{modules:[g]}}},{key:"initializeState",value:function(e,t){var n=this,r=this.getAttributeManager();r&&r.add({brushingTargets:{size:2,accessor:"getBrushingTarget",update:!this.props.getBrushingTarget&&t.useConstantTargetPositions,shaderAttributes:{brushingTargets:{divisor:0},instanceBrushingTargets:{divisor:1}}}}),t.onMouseMove=function(){n.getCurrentLayer().setNeedsRedraw()},this.context.deck&&this.context.deck.eventManager.on({pointermove:t.onMouseMove,pointerleave:t.onMouseMove})}},{key:"finalizeState",value:function(e){this.context.deck&&this.context.deck.eventManager.off({pointermove:e.onMouseMove,pointerleave:e.onMouseMove})}},{key:"useConstantTargetPositions",value:function(e){e.constant=!0,e.value=new Float32Array(2)}}]),n}(d.a);m.extensionName="BrushingExtension",m.defaultProps={getBrushingTarget:{type:"accessor",value:[0,0]},brushingTarget:"source",brushingEnabled:!0,brushingRadius:1e4};var b=n(0),_=n.n(b),O="\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n",w="\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n",x=function(e){if(!e||!e.extensions)return{};var t=e.filterRange,n=void 0===t?[-1,1]:t,r=e.filterEnabled,i=void 0===r||r,o=e.filterTransformSize,a=void 0===o||o,s=e.filterTransformColor,u=void 0===s||s,c=e.filterSoftRange||n,l=Number.isFinite(n[0])?{filter_min:n[0],filter_softMin:c[0],filter_softMax:c[1],filter_max:n[1]}:{filter_min:n.map((function(e){return e[0]})),filter_softMin:c.map((function(e){return e[0]})),filter_softMax:c.map((function(e){return e[1]})),filter_max:n.map((function(e){return e[1]}))};return l.filter_enabled=i,l.filter_useSoftMargin=Boolean(e.filterSoftRange),l.filter_transformSize=i&&a,l.filter_transformColor=i&&u,l},A={"vs:#main-start":"\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n ","vs:DECKGL_FILTER_SIZE":"\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n ","fs:DECKGL_FILTER_COLOR":"\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n "},P={name:"data-filter",vs:O,fs:w,inject:A,getUniforms:x},S={name:"data-filter-fp64",vs:O,fs:w,inject:A,getUniforms:function(e){if(!e||!e.extensions)return{};var t=x(e);if(Number.isFinite(t.filter_min)){var n=Math.fround(t.filter_min);t.filter_min-=n,t.filter_softMin-=n,t.filter_min64High=n;var r=Math.fround(t.filter_max);t.filter_max-=r,t.filter_softMax-=r,t.filter_max64High=r}else{var i=t.filter_min.map(Math.fround);t.filter_min=t.filter_min.map((function(e,t){return e-i[t]})),t.filter_softMin=t.filter_softMin.map((function(e,t){return e-i[t]})),t.filter_min64High=i;var o=t.filter_max.map(Math.fround);t.filter_max=t.filter_max.map((function(e,t){return e-o[t]})),t.filter_softMax=t.filter_softMax.map((function(e,t){return e-o[t]})),t.filter_max64High=o}return t}},k=n(81),C=n(105),j=n(10),E=n(179);function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function M(e,t,n){return t.defines.NON_INSTANCED_MODEL=1,n&&(t.defines.FLOAT_TARGET=1),new E.a(e,function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},r=e.filterSize,o=void 0===r?1:r,a=e.fp64,s=void 0!==a&&a,u=e.countItems,c=void 0!==u&&u;if(i()(this,n),!N[o])throw new Error("filterSize out of range");return t.call(this,{filterSize:o,fp64:s,countItems:c})}return a()(n,[{key:"getShaders",value:function(e){var t=e.opts,n=t.filterSize,r=t.fp64;return{modules:[r?S:P],defines:{DATAFILTER_TYPE:N[n],DATAFILTER_DOUBLE:Boolean(r)}}}},{key:"initializeState",value:function(e,t){var n=this.getAttributeManager();n&&n.add({filterValues:{size:t.opts.filterSize,type:t.opts.fp64?5130:5126,accessor:"getFilterValue",shaderAttributes:{filterValues:{divisor:0},instanceFilterValues:{divisor:1}}}});var r=this.context.gl;if(n&&t.opts.countItems){var i=function(e){return e.getExtension("EXT_float_blend")&&(e.getExtension("EXT_color_buffer_float")||e.getExtension("WEBGL_color_buffer_float"))}(r);n.add({filterIndices:{size:i?1:2,vertexOffset:1,type:5121,normalized:!0,accessor:function(e,t){var n=t.index,r=e&&e.__source?e.__source.index:n;return i?(r+1)%255:[(r+1)%255,Math.floor(r/255)%255]},shaderAttributes:{filterPrevIndices:{vertexOffset:0},filterIndices:{vertexOffset:1}}}});var o=function(e,t){return t?new k.a(e,{width:1,height:1,attachments:_()({},36064,new C.a(e,{format:Object(j.j)(e)?34836:6408,type:5126,mipmaps:!1}))}):new k.a(e,{width:256,height:64,depth:!1})}(r,i),a=M(r,t.getShaders(t),i);this.setState({filterFBO:o,filterModel:a})}}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps;if(this.state.filterModel){var r=this.getAttributeManager().attributes.filterValues.needsUpdate()||t.filterEnabled!==n.filterEnabled||t.filterRange!==n.filterRange||t.filterSoftRange!==n.filterSoftRange;r&&this.setState({filterNeedsUpdate:r})}}},{key:"draw",value:function(e,t){var n=this.state,r=n.filterFBO,i=n.filterModel,o=n.filterNeedsUpdate,a=this.props.onFilteredItemsChange;if(o&&a&&i){var s=this.getAttributeManager().attributes,u=s.filterValues,c=s.filterIndices;i.setVertexCount(this.getNumInstances());var l=this.context.gl;Object(I.a)(l,{framebuffer:r,color:[0,0,0,0]}),i.updateModuleSettings(e.moduleParameters).setAttributes(D(D({},u.getShaderAttributes()),c&&c.getShaderAttributes())).draw({framebuffer:r,parameters:D(D({},B),{},{viewport:[0,0,r.width,r.height]})});for(var f=Object(R.c)(r),h=0,d=0;d0&&void 0!==arguments[0]?arguments[0]:X;if(e.viewport){var t=e.viewport,n=t.viewProjectionMatrix,r=t.scale;return K({viewProjectionMatrix:n,scale:r})}return{}}},X={},K=Object(V.a)((function(e){var t=e.viewProjectionMatrix,n=e.scale,r=W(t),i=H(n);return{project_uViewProjectionMatrixFP64:r,project64_uViewProjectionMatrix:r,project64_uScale:i}}));function q(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var Z=function(e){u()(n,e);var t=q(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(e){var t=this.props.coordinateSystem;if(t!==z.a.LNGLAT&&t!==z.a.DEFAULT)throw new Error("fp64: coordinateSystem must be LNGLAT");return{modules:[J]}}}]),n}(d.a);Z.extensionName="Fp64Extension";var Y=n(153),Q={inject:{"vs:#decl":"\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n","vs:#main-end":"\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n","fs:#decl":"\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n","fs:#main-start":"\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(clamp(vPathPosition.y, 0.0, vPathLength) + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n"}},$={inject:{"vs:#decl":"\nattribute float instanceOffsets;\n","vs:DECKGL_FILTER_SIZE":"\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n","vCornerOffset = offsetVec;":"\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n vec2 offsetCenter = -instanceOffsets * (isCap ? perp : miterVec * miterSize) * 2.0;\n vCornerOffset = vCornerOffset * offsetWidth - offsetCenter;\n","fs:#main-start":"\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n"}},ee=n(27);function te(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var ne=function(e){u()(n,e);var t=te(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.dash,o=void 0!==r&&r,a=e.offset,s=void 0!==a&&a,u=e.highPrecisionDash,c=void 0!==u&&u;return i()(this,n),t.call(this,{dash:o||c,offset:s,highPrecisionDash:c})}return a()(n,[{key:"isEnabled",value:function(e){return e.state.pathTesselator}},{key:"getShaders",value:function(e){if(!e.isEnabled(this))return null;var t={};return e.opts.dash&&(t=Object(Y.a)(t,Q)),e.opts.offset&&(t=Object(Y.a)(t,$)),t}},{key:"initializeState",value:function(e,t){var n=this.getAttributeManager();n&&t.isEnabled(this)&&(t.enabled=!0,t.opts.dash&&n.addInstanced({instanceDashArrays:{size:2,accessor:"getDashArray"}}),t.opts.highPrecisionDash&&n.addInstanced({instanceDashOffsets:{size:1,accessor:"getPath",transform:t.getDashOffsets.bind(this)}}),t.opts.offset&&n.addInstanced({instanceOffsets:{size:1,accessor:"getOffset"}}))}},{key:"updateState",value:function(e,t){if(t.isEnabled(this)){var n={};t.opts.dash&&(n.dashAlignMode=this.props.dashJustified?1:0,n.dashGapPickable=Boolean(this.props.dashGapPickable)),this.state.model.setUniforms(n)}}},{key:"getDashOffsets",value:function(e){for(var t,n,r=[0],i="XY"===this.props.positionFormat?2:3,o=Array.isArray(e[0]),a=o?e.length:e.length/i,s=0;s0&&(r[s]=r[s-1]+Object(ee.e)(n,t)),n=t;return r}}]),n}(d.a);ne.extensionName="PathStyleExtension",ne.defaultProps={getDashArray:{type:"accessor",value:[0,0]},getOffset:{type:"accessor",value:0},dashJustified:!1,dashGapPickable:!1};var re=n(8),ie=n.n(re),oe=n(4),ae=n.n(oe);var se,ue={name:"fill-pattern",vs:"\n#ifdef NON_INSTANCED_MODEL\n #define FILL_PATTERN_FRAME_ATTRIB fillPatternFrames\n #define FILL_PATTERN_SCALE_ATTRIB fillPatternScales\n #define FILL_PATTERN_OFFSET_ATTRIB fillPatternOffsets\n#else\n #define FILL_PATTERN_FRAME_ATTRIB instanceFillPatternFrames\n #define FILL_PATTERN_SCALE_ATTRIB instanceFillPatternScales\n #define FILL_PATTERN_OFFSET_ATTRIB instanceFillPatternOffsets\n#endif\n\nattribute vec4 FILL_PATTERN_FRAME_ATTRIB;\nattribute float FILL_PATTERN_SCALE_ATTRIB;\nattribute vec2 FILL_PATTERN_OFFSET_ATTRIB;\n\nuniform bool fill_patternEnabled;\nuniform vec2 fill_patternTextureSize;\n\nvarying vec2 fill_uv;\nvarying vec4 fill_patternBounds;\nvarying vec3 fill_patternPlacement;\n",fs:"\nuniform bool fill_patternEnabled;\nuniform bool fill_patternMask;\nuniform sampler2D fill_patternTexture;\nuniform vec2 fill_uvCoordinateOrigin;\n\nvarying vec4 fill_patternBounds;\nvarying vec3 fill_patternPlacement;\nvarying vec2 fill_uv;\n\nconst float FILL_UV_SCALE = 512.0 / 40000000.0;\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n fill_uv = geometry.position.xy;\n ","vs:DECKGL_FILTER_COLOR":"\n if (fill_patternEnabled) {\n fill_patternBounds = FILL_PATTERN_FRAME_ATTRIB / vec4(fill_patternTextureSize, fill_patternTextureSize);\n fill_patternPlacement.xy = FILL_PATTERN_OFFSET_ATTRIB;\n fill_patternPlacement.z = FILL_PATTERN_SCALE_ATTRIB * FILL_PATTERN_FRAME_ATTRIB.w;\n }\n ","fs:DECKGL_FILTER_COLOR":"\n if (fill_patternEnabled) {\n float scale = FILL_UV_SCALE * fill_patternPlacement.z;\n vec2 patternUV = mod(mod(fill_uvCoordinateOrigin, scale) + fill_uv, scale) / scale;\n patternUV = mod(fill_patternPlacement.xy + patternUV, 1.0);\n\n vec2 texCoords = fill_patternBounds.xy + fill_patternBounds.zw * patternUV;\n\n vec4 patternColor = texture2D(fill_patternTexture, texCoords);\n color.a *= patternColor.a;\n if (!fill_patternMask) {\n color.rgb = patternColor.rgb;\n }\n }\n "},dependencies:[p.a],getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if("fillPatternTexture"in e){var n=e.fillPatternTexture;return{fill_patternTexture:n,fill_patternTextureSize:[n.width,n.height]}}if(e.viewport){var r=e.viewport,i=e.fillPatternMask,o=void 0===i||i,a=e.fillPatternEnabled,s=void 0===a||a,u=t.project_uCoordinateOrigin,c=t.project_uCoordinateSystem,l=c===z.a.CARTESIAN?u:r.projectPosition(u);return{fill_uvCoordinateOrigin:l.slice(0,2),fill_patternMask:o,fill_patternEnabled:s}}return{}}};function ce(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var le=(se={},_()(se,10241,9729),_()(se,10240,9729),_()(se,10242,33071),_()(se,10243,33071),se),fe=function(e){u()(o,e);var t,n,r=ce(o);function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.pattern,n=void 0!==t&&t;return i()(this,o),r.call(this,{pattern:n})}return a()(o,[{key:"isEnabled",value:function(e){return e.getAttributeManager()&&!e.state.pathTesselator}},{key:"getShaders",value:function(e){return e.isEnabled(this)?{modules:[e.opts.pattern&&ue].filter(Boolean)}:null}},{key:"initializeState",value:function(e,t){if(t.isEnabled(this)){var n=this.getAttributeManager();t.opts.pattern&&n.add({fillPatternFrames:{size:4,accessor:"getFillPattern",transform:t.getPatternFrame.bind(this),shaderAttributes:{fillPatternFrames:{divisor:0},instanceFillPatternFrames:{divisor:1}}},fillPatternScales:{size:1,accessor:"getFillPatternScale",defaultValue:1,shaderAttributes:{fillPatternScales:{divisor:0},instanceFillPatternScales:{divisor:1}}},fillPatternOffsets:{size:2,accessor:"getFillPatternOffset",shaderAttributes:{fillPatternOffsets:{divisor:0},instanceFillPatternOffsets:{divisor:1}}}}),this.setState({emptyTexture:new C.a(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}}},{key:"updateState",value:function(e,t){var n=e.props,r=e.oldProps;t.isEnabled(this)&&(n.fillPatternAtlas&&n.fillPatternAtlas!==r.fillPatternAtlas&&t.loadPatternAtlas.call(this,n),n.fillPatternMapping&&n.fillPatternMapping!==r.fillPatternMapping&&t.loadPatternMapping.call(this,n))}},{key:"draw",value:function(e,t){if(t.isEnabled(this)){var n=this.state.patternTexture;this.setModuleParameters({fillPatternTexture:n||this.state.emptyTexture})}}},{key:"finalizeState",value:function(){var e=this.state,t=e.patternTexture,n=e.emptyTexture;null==t||t.delete(),null==n||n.delete()}},{key:"loadPatternAtlas",value:(n=ie()(ae.a.mark((function e(t){var n,r,i,o,a;return ae.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.fillPatternAtlas,i=t.fetch,null===(n=this.state.patternTexture)||void 0===n||n.delete(),this.setState({patternTexture:null}),"string"!=typeof(o=r)){e.next=8;break}return e.next=7,i(o,{propName:"fillPatternAtlas",layer:this});case 7:o=e.sent;case 8:a=o instanceof C.a?o:new C.a(this.context.gl,{data:o,parameters:le}),this.setState({patternTexture:a});case 10:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"loadPatternMapping",value:(t=ie()(ae.a.mark((function e(t){var n,r,i;return ae.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.fillPatternMapping,r=t.fetch,this.setState({patternMapping:null}),"string"!=typeof(i=n)){e.next=7;break}return e.next=6,r(i,{propName:"fillPatternMapping",layer:this});case 6:i=e.sent;case 7:this.setState({patternMapping:i}),this.getAttributeManager().invalidate("getFillPattern"),this.setNeedsUpdate();case 10:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"getPatternFrame",value:function(e){var t=this.state.patternMapping,n=t&&t[e];return n?[n.x,n.y,n.width,n.height]:[0,0,0,0]}}]),o}(d.a);fe.extensionName="FillStyleExtension",fe.defaultProps={fillPatternEnabled:!0,fillPatternAtlas:null,fillPatternMapping:null,fillPatternMask:!0,getFillPattern:{type:"accessor",value:function(e){return e.pattern}},getFillPatternScale:{type:"accessor",value:1},getFillPatternOffset:{type:"accessor",value:[0,0]}};var he=n(221),de=n(22),pe={name:"mask",dependencies:[p.a],vs:"\nuniform vec4 mask_bounds;\nuniform bool mask_maskByInstance;\nvec2 mask_getCoords(vec4 position) {\n return (position.xy - mask_bounds.xy) / (mask_bounds.zw - mask_bounds.xy);\n}\n",fs:"\nuniform sampler2D mask_texture;\nuniform int mask_channel;\nuniform bool mask_enabled;\nbool mask_isInBounds(vec2 texCoords) {\n if (!mask_enabled) {\n return true;\n }\n vec4 maskColor = texture2D(mask_texture, texCoords);\n float maskValue = 1.0;\n if (mask_channel == 0) {\n maskValue = maskColor.r;\n } else if (mask_channel == 1) {\n maskValue = maskColor.g;\n } else if (mask_channel == 2) {\n maskValue = maskColor.b;\n } else if (mask_channel == 3) {\n maskValue = maskColor.a;\n }\n return maskValue < 0.5;\n}\n",inject:{"vs:#decl":"\nvarying vec2 mask_texCoords;\n","vs:#main-end":"\n vec4 mask_common_position;\n if (mask_maskByInstance) {\n mask_common_position = project_position(vec4(geometry.worldPosition, 1.0));\n } else {\n mask_common_position = geometry.position;\n }\n mask_texCoords = mask_getCoords(mask_common_position);\n","fs:#decl":"\nvarying vec2 mask_texCoords;\n","fs:#main-start":"\n if (mask_enabled) {\n bool mask = mask_isInBounds(mask_texCoords);\n\n // Debug: show extent of render target\n // gl_FragColor = vec4(mask_texCoords, 0.0, 1.0);\n gl_FragColor = texture2D(mask_texture, mask_texCoords);\n\n if (!mask) discard;\n }\n"},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};return e.maskMap&&(t.mask_texture=e.maskMap),t}};function ve(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var ge=function(e){u()(n,e);var t=ve(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(){var e="instancePositions"in this.getAttributeManager().attributes;return"maskByInstance"in this.props&&(e=this.props.maskByInstance),this.state.maskByInstance=e,{modules:[pe]}}},{key:"draw",value:function(e){var t=e.uniforms,n=e.context,r=e.moduleParameters;t.mask_maskByInstance=this.state.maskByInstance;var i=this.props.maskId,o=r.maskChannels,a=n.viewport;if(o&&o[i]){var s=o[i],u=s.index,c=s.bounds,l=s.coordinateOrigin,f=o[i].coordinateSystem;t.mask_enabled=!0,t.mask_channel=u,f===z.a.DEFAULT&&(f=a.isGeospatial?z.a.LNGLAT:z.a.CARTESIAN);var h={modelMatrix:null,fromCoordinateOrigin:l,fromCoordinateSystem:f},d=this.projectPosition([c[0],c[1],0],h),p=this.projectPosition([c[2],c[3],0],h);t.mask_bounds=[d[0],d[1],p[0],p[1]]}else i&&de.a.warn("Could not find a mask layer with id: ".concat(i))(),t.mask_enabled=!1}}]),n}(d.a);ge.extensionName="MaskExtension",ge.defaultProps={maskId:""},n.d(t,"BrushingExtension",(function(){return m})),n.d(t,"DataFilterExtension",(function(){return U})),n.d(t,"Fp64Extension",(function(){return Z})),n.d(t,"PathStyleExtension",(function(){return ne})),n.d(t,"FillStyleExtension",(function(){return fe})),n.d(t,"ClipExtension",(function(){return he.a})),n.d(t,"MaskExtension",(function(){return ge})),n.d(t,"project64",(function(){return J}))},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(12),m=n.n(y),b=n(215),_=n(235),O=n(22),w=n(155),x=n(10),A=n(330),P=n(74),S=n(85),k=n(54),C=n(13),j=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e);var n=t.id;this.id=n||Object(k.c)(this.constructor.name),this.display=!0,this.position=new P.a,this.rotation=new P.a,this.scale=new P.a(1,1,1),this.matrix=new S.a,this.userData={},this.props={},this._setScenegraphNodeProps(t)}return u()(e,[{key:"delete",value:function(){}},{key:"setProps",value:function(e){return this._setScenegraphNodeProps(e),this}},{key:"toString",value:function(){return"{type: ScenegraphNode, id: ".concat(this.id,")}")}},{key:"setPosition",value:function(e){return Object(C.a)(3===e.length,"setPosition requires vector argument"),this.position=e,this}},{key:"setRotation",value:function(e){return Object(C.a)(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}},{key:"setScale",value:function(e){return Object(C.a)(3===e.length,"setScale requires vector argument"),this.scale=e,this}},{key:"setMatrix",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t?this.matrix.copy(e):this.matrix=e}},{key:"setMatrixComponents",value:function(e){var t=e.position,n=e.rotation,r=e.scale,i=e.update,o=void 0===i||i;return t&&this.setPosition(t),n&&this.setRotation(n),r&&this.setScale(r),o&&this.updateMatrix(),this}},{key:"updateMatrix",value:function(){var e=this.position,t=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(n),this}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.position,n=e.rotation,r=e.scale;return t&&this.setPosition(t),n&&this.setRotation(n),r&&this.setScale(r),this.updateMatrix(),this}},{key:"getCoordinateUniforms",value:function(e,t){Object(C.a)(e),t=t||this.matrix;var n=new S.a(e).multiplyRight(t),r=n.invert(),i=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:n,worldInverseMatrix:r,worldInverseTransposeMatrix:i}}},{key:"_setScenegraphNodeProps",value:function(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}]),e}(),E=n(37),T=n(73),M=n(16),B=n.n(M);function I(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return R(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};a()(this,n);var i=r=Array.isArray(r)?{children:r}:r,o=i.children,s=void 0===o?[]:o;return x.k.assert(s.every((function(e){return e instanceof j})),"every child must an instance of ScenegraphNode"),(e=t.call(this,r)).children=s,e}return u()(n,[{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n-1&&t.splice(n,1),this}},{key:"removeAll",value:function(){return this.children=[],this}},{key:"delete",value:function(){this.children.forEach((function(e){return e.delete()})),this.removeAll(),l()(g()(n.prototype),"delete",this).call(this)}},{key:"traverse",value:function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.worldMatrix,o=void 0===i?new S.a:i,a=new S.a(o).multiplyRight(this.matrix),s=I(this.children);try{for(s.s();!(t=s.n()).done;){var u=t.value;u instanceof n?u.traverse(e,{worldMatrix:a}):e(u,{worldMatrix:a})}}catch(e){s.e(e)}finally{s.f()}}}]),n}(j),F=n(236),N={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},U={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function z(e){if(!e._animation){var t=U[e.componentType],n=N[e.type],r=n*e.count,i=e.bufferView.data,o=new t(i.buffer,i.byteOffset+(e.byteOffset||0),r);if(1===n)e._animation=Array.from(o);else{for(var a=[],s=0;s=s})),c=Math.max(0,u-1);if(!Array.isArray(n[r]))switch(r){case"translation":n[r]=[0,0,0];break;case"rotation":n[r]=[0,0,0,1];break;case"scale":n[r]=[1,1,1];break;default:x.k.warn("Bad animation path ".concat(r))()}Object(C.a)(n[r].length===a[c].length);var l=i[c],f=i[u];switch(o){case"STEP":!function(e,t,n){for(var r=0;rl){var h=(s-l)/(f-l);!function(e,t,n,r,i){if("rotation"===t){V.slerp({start:n,target:r,ratio:i});for(var o=0;ol){var d=(s-l)/(f-l),p=f-l;!function(e,t,n){for(var r=n.p0,i=n.outTangent0,o=n.inTangent1,a=n.p1,s=n.tDiff,u=n.ratio,c=0;c1&&void 0!==arguments[1]?arguments[1]:{};return a()(this,n),(r=t.call(this,i)).onBeforeRender=null,r.AfterRender=null,e instanceof X.a?(r.model=e,r._setModelNodeProps(i)):r.model=new X.a(e,i),r.managedResources=i.managedResources||[],r}return u()(n,[{key:"setProps",value:function(e){return l()(g()(n.prototype),"setProps",this).call(this,e),this._setModelNodeProps(e),this}},{key:"delete",value:function(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach((function(e){return e.delete()})),this.managedResources=[]}},{key:"draw",value:function(){var e;return(e=this.model).draw.apply(e,arguments)}},{key:"setUniforms",value:function(){var e;return(e=this.model).setUniforms.apply(e,arguments),this}},{key:"setAttributes",value:function(){var e;return(e=this.model).setAttributes.apply(e,arguments),this}},{key:"updateModuleSettings",value:function(){var e;return(e=this.model).updateModuleSettings.apply(e,arguments),this}},{key:"_setModelNodeProps",value:function(e){this.model.setProps(e)}}]),n}(j),Z=n(252);function Y(e,t){return Object(x.j)(e)?"#version 300 es\n".concat(t):t}var Q={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},$={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1},ee=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a()(this,e),this.gl=t,this.options=Object.assign({},$,n)}return u()(e,[{key:"instantiate",value:function(e){var t=this;return this.gltf=e,(e.scenes||[]).map((function(e){return t.createScene(e)}))}},{key:"createAnimator",value:function(){return Array.isArray(this.gltf.animations)?new J(this.gltf):null}},{key:"createScene",value:function(e){var t=this,n=(e.nodes||[]).map((function(e){return t.createNode(e)}));return new D({id:e.name||e.id,children:n})}},{key:"createNode",value:function(e){var t=this;if(!e._node){var n=(e.children||[]).map((function(e){return t.createNode(e)}));e.mesh&&n.push(this.createMesh(e.mesh));var r=new D({id:e.name||e.id,children:n});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){var i=(new S.a).fromQuaternion(e.rotation);r.matrix.multiplyRight(i)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}},{key:"createMesh",value:function(e){var t=this;if(!e._mesh){var n=(e.primitives||[]).map((function(n,r){return t.createPrimitive(n,r,e)})),r=new D({id:e.name||e.id,children:n});e._mesh=r}return e._mesh}},{key:"getVertexCount",value:function(e){x.k.warn("getVertexCount() not found")()}},{key:"createPrimitive",value:function(e,t,n){return function(e,t){var n=t.id,r=t.drawMode,i=t.vertexCount,o=t.attributes,a=t.modelOptions,s=new Z.a(e,t);x.k.info(4,"createGLTFModel defines: ",s.defines)();var u=[];u.push.apply(u,B()(s.generatedTextures)),u.push.apply(u,B()(Object.values(o).map((function(e){return e.buffer}))));var c=new q(e,Object.assign({id:n,drawMode:r,vertexCount:i,modules:[A.a],defines:s.defines,parameters:s.parameters,vs:Y(e,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:Y(e,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:u},a));return c.setProps({attributes:o}),c.setUniforms(s.uniforms),c}(this.gl,Object.assign({id:e.name||"".concat(n.name||n.id,"-primitive-").concat(t),drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}},{key:"createAttributes",value:function(e,t){var n=this,r={};return Object.keys(e).forEach((function(t){r[t]=n.createAccessor(e[t],n.createBuffer(e[t],n.gl.ARRAY_BUFFER))})),t&&(r.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),x.k.info(4,"glTF Attributes",{attributes:e,indices:t,generated:r})(),r}},{key:"createBuffer",value:function(e,t){e.bufferView||(e.bufferView={});var n=e.bufferView;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[t]||(n.lumaBuffers[t]=new E.a(this.gl,{id:"from-".concat(n.id),data:n.data||e.value,target:t})),n.lumaBuffers[t]}},{key:"createAccessor",value:function(e,t){return new T.a({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Q[e.type]})}},{key:"createSampler",value:function(e){return e}},{key:"needsPOT",value:function(){return!1}}]),e}();var te=n(324),ne=n(8),re=n.n(ne),ie=n(4),oe=n.n(ie);function ae(){return(ae=re()(oe.a.mark((function e(t){var n;return oe.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=[],t.scenes.forEach((function(e){e.traverse((function(e){Object.values(e.model.getUniforms()).forEach((function(e){!1===e.loaded&&n.push(e)}))}))})),e.next=4,se((function(){return n.some((function(e){return!e.loaded}))}));case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function se(e){return ue.apply(this,arguments)}function ue(){return(ue=re()(oe.a.mark((function e(t){return oe.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t()){e.next=5;break}return e.next=3,new Promise((function(e){return requestAnimationFrame(e)}));case 3:e.next=0;break;case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ce=n(124);function le(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fe(e){for(var t=1;t=0&&i2&&void 0!==arguments[2]?arguments[2]:{},r={pointFeatures:[],lineFeatures:[],polygonFeatures:[],polygonOutlineFeatures:[]},i=n.startRow,o=void 0===i?0:i,a=n.endRow,s=void 0===a?e.length:a,u=o;u0;)t=t[0];return t&&Number.isFinite(t[0])}(o,a))switch(o){case"Point":s.push(n({geometry:e},r,i));break;case"MultiPoint":a.forEach((function(e){s.push(n({geometry:{type:"Point",coordinates:e}},r,i))}));break;case"LineString":u.push(n({geometry:e},r,i));break;case"MultiLineString":a.forEach((function(e){u.push(n({geometry:{type:"LineString",coordinates:e}},r,i))}));break;case"Polygon":c.push(n({geometry:e},r,i)),a.forEach((function(e){l.push(n({geometry:{type:"LineString",coordinates:e}},r,i))}));break;case"MultiPolygon":a.forEach((function(e){c.push(n({geometry:{type:"Polygon",coordinates:e}},r,i)),e.forEach((function(e){l.push(n({geometry:{type:"LineString",coordinates:e}},r,i))}))}))}else b.a.warn("".concat(o," coordinates are malformed"))()}var D={Point:1,MultiPoint:2,LineString:2,MultiLineString:3,Polygon:3,MultiPolygon:4};function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function N(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0&&o.id.startsWith("".concat(this.id,"-points-text"))&&this.state.binary&&(r.index=this.props.data.points.globalFeatureIds.value[i]),r}},{key:"_updateAutoHighlight",value:function(e){var t,n="".concat(this.id,"-points-"),r="points"===e.featureType,i=V(this.getSubLayers());try{for(i.s();!(t=i.n()).done;){var o=t.value;o.id.startsWith(n)===r&&o.updateAutoHighlight(e)}}catch(e){i.e(e)}finally{i.f()}}},{key:"_renderPolygonLayer",value:function(){var e=this.props,t=e.extruded,n=e.wireframe,r=this.state.layerProps,i="polygons-fill",o=this.shouldRenderSubLayer(i,r.polygons.data)&&this.getSubLayerClass(i,M.type);if(o){var a=I(this,M.props),s=t&&n;return s||delete a.getLineColor,a.updateTriggers.lineColors=s,new o(a,this.getSubLayerProps({id:i,updateTriggers:a.updateTriggers}),r.polygons)}return null}},{key:"_renderLineLayers",value:function(){var e=this.props,t=e.extruded,n=e.stroked,r=this.state.layerProps,i=!t&&n&&this.shouldRenderSubLayer("polygons-stroke",r.polygonsOutline.data)&&this.getSubLayerClass("polygons-stroke",T.type),o=this.shouldRenderSubLayer("linestrings",r.lines.data)&&this.getSubLayerClass("linestrings",T.type);if(i||o){var a=I(this,T.props);return[i&&new i(a,this.getSubLayerProps({id:"polygons-stroke",updateTriggers:a.updateTriggers}),r.polygonsOutline),o&&new o(a,this.getSubLayerProps({id:"linestrings",updateTriggers:a.updateTriggers}),r.lines)]}return null}},{key:"_renderPointLayers",value:function(){var e=this.props.pointType,t=this.state,n=t.layerProps,r=t.binary,o=this.props.highlightedObjectIndex;!r&&Number.isFinite(o)&&(o=n.points.data.findIndex((function(e){return e.__source.index===o})));var a,s=[],u=V(new Set(e.split("+")));try{for(u.s();!(a=u.n()).done;){var c=a.value,l="points-".concat(c),f=E[c],h=f&&this.shouldRenderSubLayer(l,n.points.data)&&this.getSubLayerClass(l,f.type);if(h){var d=I(this,f.props),p=n.points;if("text"===c&&this.state.binary){var v=p.data.attributes,g=(v.instancePickingColors,i()(v,G));p=X(X({},p),{},{data:X(X({},p.data),{},{attributes:g})})}s.push(new h(d,this.getSubLayerProps({id:l,updateTriggers:d.updateTriggers,highlightedObjectIndex:o}),p))}}}catch(e){u.e(e)}finally{u.f()}return s}},{key:"renderLayers",value:function(){var e=this.props.extruded,t=this._renderPolygonLayer();return[!e&&t,this._renderLineLayers(),this._renderPointLayers(),e&&t]}},{key:"getSubLayerAccessor",value:function(e){return this.state.binary&&"function"==typeof e?function(t,n){var r=A(n.data,n.index);return e(r,n)}:l()(g()(n.prototype),"getSubLayerAccessor",this).call(this,e)}}]),n}(_.a);Z.layerName="GeoJsonLayer",Z.defaultProps=q},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(235),b=n(18),_=n(155),O=n(179),w=n(70);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[y.a,m.a]})}},{key:"wrapLongitude",get:function(){return!1}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instanceSourcePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getSourcePosition"},instanceTargetPositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getTargetPosition"},instanceSourceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getSourceColor",defaultValue:S},instanceTargetColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getTargetColor",defaultValue:S},instanceWidths:{size:1,transition:!0,accessor:"getWidth",defaultValue:1},instanceHeights:{size:1,transition:!0,accessor:"getHeight",defaultValue:1},instanceTilts:{size:1,transition:!0,accessor:"getTilt",defaultValue:0}})}},{key:"updateState",value:function(e){var t=e.props,r=e.oldProps,i=e.changeFlags;if(l()(g()(n.prototype),"updateState",this).call(this,{props:t,oldProps:r,changeFlags:i}),i.extensionsChanged){var o,a=this.context.gl;null===(o=this.state.model)||void 0===o||o.delete(),this.state.model=this._getModel(a),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.widthUnits,i=n.widthScale,o=n.widthMinPixels,a=n.widthMaxPixels,s=n.greatCircle,u=n.wrapLongitude;this.state.model.setUniforms(t).setUniforms({greatCircle:s,widthUnits:b.e[r],widthScale:i,widthMinPixels:o,widthMaxPixels:a,useShortestPath:u}).draw()}},{key:"_getModel",value:function(e){for(var t=[],n=0;n<50;n++)t=t.concat([n,1,0,n,-1,0]);var r=new O.a(e,A(A({},this.getShaders()),{},{id:this.props.id,geometry:new w.a({drawMode:5,attributes:{positions:new Float32Array(t)}}),isInstanced:!0}));return r.setUniforms({numSegments:50}),r}}]),n}(_.a);C.layerName="ArcLayer",C.defaultProps=k},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(235),b=n(18),_=n(155),O=n(179),w=n(70);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t 0.5 || useShortestPath < -0.5) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n float deltaLng = target_world.x - source_world.x;\n\n if (deltaLng * useShortestPath > 180.) {\n source_world.x += 360. * useShortestPath;\n source_world = splitLine(source_world, target_world, 180. * useShortestPath);\n source_world_64low = vec3(0.0);\n } else if (deltaLng * useShortestPath < -180.) {\n target_world.x += 360. * useShortestPath;\n target_world = splitLine(source_world, target_world, 180. * useShortestPath);\n target_world_64low = vec3(0.0);\n } else if (useShortestPath < 0.) {\n gl_Position = vec4(0.);\n return;\n }\n }\n vec4 source_commonspace;\n vec4 target_commonspace;\n vec4 source = project_position_to_clipspace(source_world, source_world_64low, vec3(0.), source_commonspace);\n vec4 target = project_position_to_clipspace(target_world, target_world_64low, vec3(0.), target_commonspace);\n float segmentIndex = positions.x;\n vec4 p = mix(source, target, segmentIndex);\n geometry.position = mix(source_commonspace, target_commonspace, segmentIndex);\n uv = positions.xy;\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset(target.xy - source.xy, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = p + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#define SHADER_NAME line-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[y.a,m.a]})}},{key:"wrapLongitude",get:function(){return!1}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instanceSourcePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getSourcePosition"},instanceTargetPositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getTargetPosition"},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceWidths:{size:1,transition:!0,accessor:"getWidth",defaultValue:1}})}},{key:"updateState",value:function(e){var t=e.props,r=e.oldProps,i=e.changeFlags;if(l()(g()(n.prototype),"updateState",this).call(this,{props:t,oldProps:r,changeFlags:i}),i.extensionsChanged){var o,a=this.context.gl;null===(o=this.state.model)||void 0===o||o.delete(),this.state.model=this._getModel(a),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.widthUnits,i=n.widthScale,o=n.widthMinPixels,a=n.widthMaxPixels,s=n.wrapLongitude;this.state.model.setUniforms(t).setUniforms({widthUnits:b.e[r],widthScale:i,widthMinPixels:o,widthMaxPixels:a,useShortestPath:s?1:0}).draw(),s&&this.state.model.setUniforms({useShortestPath:-1}).draw()}},{key:"_getModel",value:function(e){return new O.a(e,A(A({},this.getShaders()),{},{id:this.props.id,geometry:new w.a({drawMode:5,attributes:{positions:new Float32Array([0,-1,0,0,1,0,1,-1,0,1,1,0])}}),isInstanced:!0}))}}]),n}(_.a);k.layerName="LineLayer",k.defaultProps=S},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(237),b=n(235),_=n(18),O=n(155),w=n(179),x=n(70);function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function P(e){for(var t=1;t 1.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[y.a,m.a,b.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceNormals:{size:3,transition:!0,accessor:"getNormal",defaultValue:C},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:k}})}},{key:"updateState",value:function(e){var t,r,i,o=e.props,a=e.oldProps,s=e.changeFlags;if(l()(g()(n.prototype),"updateState",this).call(this,{props:o,oldProps:a,changeFlags:s}),s.extensionsChanged){var u,c=this.context.gl;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(c),this.getAttributeManager().invalidateAll()}s.dataChanged&&(t=o.data,r=t.header,i=t.attributes,r&&i&&(t.length=r.vertexCount,i.POSITION&&(i.instancePositions=i.POSITION),i.NORMAL&&(i.instanceNormals=i.NORMAL),i.COLOR_0&&(i.instanceColors=i.COLOR_0)))}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.pointSize,i=n.sizeUnits;this.state.model.setUniforms(t).setUniforms({sizeUnits:_.e[i],radiusPixels:r}).draw()}},{key:"_getModel",value:function(e){for(var t=[],n=0;n<3;n++){var r=n/3*Math.PI*2;t.push(2*Math.cos(r),2*Math.sin(r),0)}return new w.a(e,P(P({},this.getShaders()),{},{id:this.props.id,geometry:new x.a({drawMode:4,attributes:{positions:new Float32Array(t)}}),isInstanced:!0}))}}]),n}(O.a);E.layerName="PointCloudLayer",E.defaultProps=j},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(22),m=n(215),b=n(237),_=n(235),O=n(155),w=n(70),x=n(10),A=n(105),P=n(179),S=n(253),k=n(182),C=n(124);function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o,t={};if(void 0!==e.pickingSelectedColor)if(e.pickingSelectedColor){var n=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=n}else t.picking_uSelectedColorValid=0;if(e.pickingHighlightColor){var r=Array.from(e.pickingHighlightColor,(function(e){return e/255}));Number.isFinite(r[3])||(r[3]=1),t.picking_uHighlightColor=r}return void 0!==e.pickingActive&&(t.picking_uActive=Boolean(e.pickingActive),t.picking_uAttribute=Boolean(e.pickingAttribute)),t}};function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}t.a=function(e){for(var t=1;tg.b?(i=Math.acos(o),a=Math.sin(i),s=Math.sin((1-r)*i)/a,u=Math.sin(r*i)/a):(s=1-r,u=r),e[0]=s*c+u*d,e[1]=s*l+u*p,e[2]=s*f+u*v,e[3]=s*h+u*y,e}function A(e,t){var n,r=t[0]+t[4]+t[8];if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[3*i+i]&&(i=2);var o=(i+1)%3,a=(i+2)%3;n=Math.sqrt(t[3*i+i]-t[3*o+o]-t[3*a+a]+1),e[i]=.5*n,n=.5/n,e[3]=(t[3*o+a]-t[3*a+o])*n,e[o]=(t[3*o+i]+t[3*i+o])*n,e[a]=(t[3*a+i]+t[3*i+a])*n}return e}b.b,b.g,b.c,b.l;var P,S,k,C,j,E,T=b.a,M=b.k,B=b.d,I=b.i,R=b.h,L=b.m,D=b.j,F=(b.f,b.e,P=m.c(),S=m.g(1,0,0),k=m.g(0,1,0),function(e,t,n){var r=m.f(t,n);return r<-.999999?(m.d(P,S,t),m.h(P)<1e-6&&m.d(P,k,t),m.m(P,P),O(e,P,Math.PI),e):r>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):(m.d(P,t,n),e[0]=P[0],e[1]=P[1],e[2]=P[2],e[3]=1+r,D(e,e))});C=_(),j=_(),E=y.a();function N(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}n.d(t,"a",(function(){return z}));var U=[0,0,0,1],z=function(e){u()(n,e);var t=N(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return i()(this,n),e=t.call(this,-0,-0,-0,-0),Array.isArray(r)&&1===arguments.length?e.copy(r):e.set(r,o,a,s),e}return a()(n,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,n,r){return this[0]=e,this[1]=t,this[2]=n,this[3]=r,this.check()}},{key:"fromMatrix3",value:function(e){return A(this,e),this.check()}},{key:"identity",value:function(){var e;return(e=this)[0]=0,e[1]=0,e[2]=0,e[3]=1,this.check()}},{key:"fromAxisRotation",value:function(e,t){return O(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=Object(p.a)(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=Object(p.a)(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=Object(p.a)(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=Object(p.a)(e)}},{key:"len",value:function(){return R(this)}},{key:"lengthSquared",value:function(){return L(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return B(this,e)}},{key:"rotationTo",value:function(e,t){return F(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return T(this,this,e),this.check()}},{key:"calculateW",value:function(){var e,t,n,r,i;return e=this,n=(t=this)[0],r=t[1],i=t[2],e[0]=n,e[1]=r,e[2]=i,e[3]=Math.sqrt(Math.abs(1-n*n-r*r-i*i)),this.check()}},{key:"conjugate",value:function(){var e,t;return t=this,(e=this)[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],this.check()}},{key:"invert",value:function(){var e,t,n,r,i,o,a,s;return e=this,n=(t=this)[0],r=t[1],i=t[2],o=t[3],s=(a=n*n+r*r+i*i+o*o)?1/a:0,e[0]=-n*s,e[1]=-r*s,e[2]=-i*s,e[3]=o*s,this.check()}},{key:"lerp",value:function(e,t,n){return I(this,e,t,n),this.check()}},{key:"multiplyRight",value:function(e,t){return Object(v.a)(!t),w(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return Object(v.a)(!t),w(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return function(e,t,n){n*=.5;var r=t[0],i=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);e[0]=r*u+a*s,e[1]=i*u+o*s,e[2]=o*u-i*s,e[3]=a*u-r*s}(this,this,e),this.check()}},{key:"rotateY",value:function(e){return function(e,t,n){n*=.5;var r=t[0],i=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);e[0]=r*u-o*s,e[1]=i*u+a*s,e[2]=o*u+r*s,e[3]=a*u-i*s}(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return function(e,t,n){n*=.5;var r=t[0],i=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);e[0]=r*u+i*s,e[1]=i*u-r*s,e[2]=o*u+a*s,e[3]=a*u-o*s}(this,this,e),this.check()}},{key:"scale",value:function(e){return M(this,this,e),this.check()}},{key:"slerp",value:function(e,t,n){switch(arguments.length){case 1:var r=arguments[0],i=r.start;e=void 0===i?U:i,t=r.target,n=r.ratio;break;case 2:var o=Array.prototype.slice.call(arguments);t=o[0],n=o[1],e=this}return x(this,e,t,n),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return b.o(t,e,this),Object(p.b)(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}}]),n}(d.a)},function(e,t,n){"use strict";var r=n(136),i="\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return c}));var o={};function a(e){var t=e.ambient,n=void 0===t?.35:t,r=e.diffuse,i=void 0===r?.6:r,o=e.shininess,a=void 0===o?32:o,s=e.specularColor;return{lighting_uAmbient:n,lighting_uDiffuse:i,lighting_uShininess:a,lighting_uSpecularColor:(void 0===s?[30,30,30]:s).map((function(e){return e/255}))}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o;if(!("material"in e))return{};var t=e.material;return t?a(t):{lighting_uEnabled:!1}}var u={name:"gouraud-lighting",dependencies:[r.a],vs:i,defines:{LIGHTING_VERTEX:1},getUniforms:s},c={name:"phong-lighting",dependencies:[r.a],fs:i,defines:{LIGHTING_FRAGMENT:1},getUniforms:s}},function(e,t,n){var r=n(206);function i(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function o(t,n,a){return i()?e.exports=o=Reflect.construct:e.exports=o=function(e,t,n){var i=[null];i.push.apply(i,t);var o=new(Function.bind.apply(e,i));return n&&r(o,n.prototype),o},o.apply(null,arguments)}e.exports=o},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return f}));var r=n(0),i=n.n(r),o=n(105),a=n(240),s=n(241),u=n(81),c=n(13);function l(e,t){Object(c.a)(e instanceof o.a||e instanceof a.a||e instanceof s.a);var n=e.constructor,r=e.gl,i=e.width,u=e.height,l=e.format,f=e.type,h=e.dataFormat,d=e.border,p=e.mipmaps;return new n(r,Object.assign({width:i,height:u,format:l,type:f,dataFormat:h,border:d,mipmaps:p},t))}function f(e,t){var n=e.gl,r=e.width,o=e.height,a=e.id;return new u.a(n,Object.assign({},t,{id:"framebuffer-for-".concat(a),width:r,height:o,attachments:i()({},36064,e)}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return x}));var r=n(8),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(20),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(4),m=n.n(y),b=n(10),_=n(64);function O(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=g()(e);if(t){var i=g()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var w=[34069,34070,34071,34072,34073,34074],x=function(e){h()(r,e);var t,n=O(r);function r(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return a()(this,r),Object(b.b)(e),(t=n.call(this,e,Object.assign({},i,{target:34067}))).initialize(i),Object.seal(l()(t)),t}return u()(r,[{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.mipmaps,r=void 0===n||n,i=t.parameters,o=void 0===i?{}:i;return this.opts=t,this.setCubeMapImageData(t).then((function(){e.loaded=!0,r&&e.generateMipmap(t),e.setParameters(o)})),this}},{key:"subImage",value:function(e){var t=e.face,n=e.data,r=e.x,i=void 0===r?0:r,o=e.y,a=void 0===o?0:o,s=e.mipmapLevel,u=void 0===s?0:s;return this._subImage({target:t,data:n,x:i,y:a,mipmapLevel:u})}},{key:"setCubeMapImageData",value:(t=i()(m.a.mark((function e(t){var n,r,i,o,a,s,u,c,l,f,h,d,p,v=this;return m.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.width,r=t.height,i=t.pixels,o=t.data,a=t.border,s=void 0===a?0:a,u=t.format,c=void 0===u?6408:u,l=t.type,f=void 0===l?5121:l,h=this.gl,d=i||o,e.next=5,Promise.all(w.map((function(e){var t=d[e];return Promise.all(Array.isArray(t)?t:[t])})));case 5:p=e.sent,this.bind(),w.forEach((function(e,t){p[t].length>1&&!1!==v.opts.mipmaps&&b.k.warn("".concat(v.id," has mipmap and multiple LODs."))(),p[t].forEach((function(t,i){n&&r?h.texImage2D(e,i,c,n,r,s,c,f,t):h.texImage2D(e,i,c,c,f,t)}))})),this.unbind();case 9:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"setImageDataForFace",value:function(e){var t=this,n=e.face,r=e.width,i=e.height,o=e.pixels,a=e.data,s=e.border,u=void 0===s?0:s,c=e.format,l=void 0===c?6408:c,f=e.type,h=void 0===f?5121:f,d=this.gl,p=o||a;return this.bind(),p instanceof Promise?p.then((function(r){return t.setImageDataForFace(Object.assign({},e,{face:n,data:r,pixels:r}))})):this.width||this.height?d.texImage2D(n,0,l,r,i,u,l,h,p):d.texImage2D(n,0,l,l,h,p),this}}]),r}(_.a);x.FACES=w},function(e,t,n){"use strict";n.d(t,"a",(function(){return _}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(20),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(10),g=n(64),y=n(92),m=n(37);function b(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}var _=function(e){l()(n,e);var t=b(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,n),Object(v.a)(e),o=Object.assign({depth:1},o,{target:32879,unpackFlipY:!1}),(r=t.call(this,e,o)).initialize(o),Object.seal(u()(r)),r}return a()(n,[{key:"setImageData",value:function(e){var t=this,n=e.level,r=void 0===n?0:n,i=e.dataFormat,o=void 0===i?6408:i,a=e.width,s=e.height,u=e.depth,c=void 0===u?1:u,l=e.border,f=void 0===l?0:l,h=e.format,d=e.type,p=void 0===d?5121:d,g=e.offset,b=void 0===g?0:g,_=e.data,O=e.parameters,w=void 0===O?{}:O;if(this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Object(v.o)(this.gl,w,(function(){ArrayBuffer.isView(_)&&t.gl.texImage3D(t.target,r,o,a,s,c,f,h,p,_),_ instanceof m.a&&(t.gl.bindBuffer(35052,_.handle),t.gl.texImage3D(t.target,r,o,a,s,c,f,h,p,b))})),_&&_.byteLength)this._trackAllocatedMemory(_.byteLength,"Texture");else{var x=y.a[this.dataFormat]||4,A=y.c[this.type]||1;this._trackAllocatedMemory(this.width*this.height*this.depth*x*A,"Texture")}return this.loaded=!0,this}}],[{key:"isSupported",value:function(e){return Object(v.j)(e)}}]),n}(g.a)},function(e,t,n){var r=n(207),i=n(276);function o(t,n,a){return i()?(e.exports=o=Reflect.construct,e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=o=function(e,t,n){var i=[null];i.push.apply(i,t);var o=new(Function.bind.apply(e,i));return n&&r(o,n.prototype),o},e.exports.default=e.exports,e.exports.__esModule=!0),o.apply(null,arguments)}e.exports=o,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(277),i=n(278),o=n(209),a=n(279);e.exports=function(e){return r(e)||i(e)||o(e)||a()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(e,t){for(var n=0;n80*n){r=u=e[0],s=c=e[1];for(var _=n;_u&&(u=l),d>c&&(c=d);p=0!==(p=Math.max(u-r,c-s))?1/p:0}return a(m,b,n,r,s,p),b}function i(e,t,n,r,i){var o,a;if(i===C(e,t,n,r)>0)for(o=t;o=t;o-=r)a=P(o,e[o],e[o+1],a);return a&&b(a,a.next)&&(S(a),a=a.next),a}function o(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!b(r,r.next)&&0!==m(r.prev,r,r.next))r=r.next;else{if(S(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function a(e,t,n,r,i,f,h){if(e){!h&&f&&function(e,t,n,r){var i=e;do{null===i.z&&(i.z=p(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,n,r,i,o,a,s,u,c=1;do{for(n=e,e=null,o=null,a=0;n;){for(a++,r=n,s=0,t=0;t0||u>0&&r;)0!==s&&(0===u||!r||n.z<=r.z)?(i=n,n=n.nextZ,s--):(i=r,r=r.nextZ,u--),o?o.nextZ=i:e=i,i.prevZ=o,o=i;n=r}o.nextZ=null,c*=2}while(a>1)}(i)}(e,r,i,f);for(var d,v,g=e;e.prev!==e.next;)if(d=e.prev,v=e.next,f?u(e,r,i,f):s(e))t.push(d.i/n),t.push(e.i/n),t.push(v.i/n),S(e),e=v.next,g=v.next;else if((e=v)===g){h?1===h?a(e=c(o(e),t,n),t,n,r,i,f,2):2===h&&l(e,t,n,r,i,f):a(o(e),t,n,r,i,f,1);break}}}function s(e){var t=e.prev,n=e,r=e.next;if(m(t,n,r)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(g(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&m(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function u(e,t,n,r){var i=e.prev,o=e,a=e.next;if(m(i,o,a)>=0)return!1;for(var s=i.xo.x?i.x>a.x?i.x:a.x:o.x>a.x?o.x:a.x,l=i.y>o.y?i.y>a.y?i.y:a.y:o.y>a.y?o.y:a.y,f=p(s,u,t,n,r),h=p(c,l,t,n,r),d=e.prevZ,v=e.nextZ;d&&d.z>=f&&v&&v.z<=h;){if(d!==e.prev&&d!==e.next&&g(i.x,i.y,o.x,o.y,a.x,a.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,v!==e.prev&&v!==e.next&&g(i.x,i.y,o.x,o.y,a.x,a.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;d&&d.z>=f;){if(d!==e.prev&&d!==e.next&&g(i.x,i.y,o.x,o.y,a.x,a.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;v&&v.z<=h;){if(v!==e.prev&&v!==e.next&&g(i.x,i.y,o.x,o.y,a.x,a.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function c(e,t,n){var r=e;do{var i=r.prev,a=r.next.next;!b(i,a)&&_(i,r,r.next,a)&&x(i,a)&&x(a,i)&&(t.push(i.i/n),t.push(r.i/n),t.push(a.i/n),S(r),S(r.next),r=e=a),r=r.next}while(r!==e);return o(r)}function l(e,t,n,r,i,s){var u=e;do{for(var c=u.next.next;c!==u.prev;){if(u.i!==c.i&&y(u,c)){var l=A(u,c);return u=o(u,u.next),l=o(l,l.next),a(u,t,n,r,i,s),void a(l,t,n,r,i,s)}c=c.next}u=u.next}while(u!==e)}function f(e,t){return e.x-t.x}function h(e,t){if(t=function(e,t){var n,r=t,i=e.x,o=e.y,a=-1/0;do{if(o<=r.y&&o>=r.next.y&&r.next.y!==r.y){var s=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=i&&s>a){if(a=s,s===i){if(o===r.y)return r;if(o===r.next.y)return r.next}n=r.x=r.x&&r.x>=l&&i!==r.x&&g(on.x||r.x===n.x&&d(n,r)))&&(n=r,h=u)),r=r.next}while(r!==c);return n}(e,t)){var n=A(t,e);o(n,n.next)}}function d(e,t){return m(e.prev,e,t.prev)<0&&m(t.next,e,e.next)<0}function p(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function v(e){var t=e,n=e;do{(t.x=0&&(e-a)*(r-s)-(n-a)*(t-s)>=0&&(n-a)*(o-s)-(i-a)*(r-s)>=0}function y(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&_(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(x(e,t)&&x(t,e)&&function(e,t){var n=e,r=!1,i=(e.x+t.x)/2,o=(e.y+t.y)/2;do{n.y>o!=n.next.y>o&&n.next.y!==n.y&&i<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(m(e.prev,e,t.prev)||m(e,t.prev,t))||b(e,t)&&m(e.prev,e,e.next)>0&&m(t.prev,t,t.next)>0)}function m(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function b(e,t){return e.x===t.x&&e.y===t.y}function _(e,t,n,r){var i=w(m(e,t,n)),o=w(m(e,t,r)),a=w(m(n,r,e)),s=w(m(n,r,t));return i!==o&&a!==s||(!(0!==i||!O(e,n,t))||(!(0!==o||!O(e,r,t))||(!(0!==a||!O(n,e,r))||!(0!==s||!O(n,t,r)))))}function O(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function w(e){return e>0?1:e<0?-1:0}function x(e,t){return m(e.prev,e,e.next)<0?m(e,t,e.next)>=0&&m(e,e.prev,t)>=0:m(e,t,e.prev)<0||m(e,e.next,t)<0}function A(e,t){var n=new k(e.i,e.x,e.y),r=new k(t.i,t.x,t.y),i=e.next,o=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,o.next=r,r.prev=o,r}function P(e,t,n,r){var i=new k(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function S(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function k(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function C(e,t,n,r){for(var i=0,o=t,a=n-r;o0&&(r+=e[i-1].length,n.holes.push(r))}return n}},function(e,t,n){"use strict";e.exports=r,e.exports.default=r;function r(e,t,n,r,i,o){this.fontSize=e||24,this.buffer=void 0===t?3:t,this.cutoff=r||.25,this.fontFamily=i||"sans-serif",this.fontWeight=o||"normal",this.radius=n||8;var a=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=a,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.d=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Int16Array(a),this.middle=Math.round(a/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function i(e,t,n,r,i,a,s){for(var u=0;u2&&void 0!==arguments[2]?arguments[2]:null,o=e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{},a=e.texture.source.image,s={};a.compressed?(n=a,s=i()({},this.gl.TEXTURE_MIN_FILTER,a.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR)):n={data:a};var u=new f.a(this.gl,p({id:e.name||e.id,parameters:p(p({},o),s),pixelStore:i()({},this.gl.UNPACK_FLIP_Y_WEBGL,!1)},n));this.uniforms[t]=u,this.defineIfPresent(r,r),this.generatedTextures.push(u)}},{key:"parsePbrMetallicRoughness",value:function(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");var t=e.metallicFactor,n=void 0===t?1:t,r=e.roughnessFactor,i=void 0===r?1:r;this.uniforms.u_MetallicRoughnessValues=[n,i]}},{key:"parseMaterial",value:function(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");var t=e.normalTexture.scale,n=void 0===t?1:t;this.uniforms.u_NormalScale=n}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");var r=e.occlusionTexture.strength,i=void 0===r?1:r;this.uniforms.u_OcclusionStrength=i}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){var o=e.alphaCutoff,a=void 0===o?.5:o;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=a}else"BLEND"===e.alphaMode&&(h.k.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}]),e}()},function(e,t,n){"use strict";n.d(t,"b",(function(){return u})),n.d(t,"c",(function(){return c})),n.d(t,"a",(function(){return l}));var r=n(182),i=n(10),o=n(13);function a(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw o}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1)return"Edge";var r=-1!==n.indexOf("MSIE "),s=-1!==n.indexOf("Trident/");if(r||s)return"IE";if(i.window.chrome)return"Chrome";if(i.window.safari)return"Safari";if(i.window.mozInnerScreenX)return"Firefox";return"Unknown"};var i=n(204),o=r(n(205)),a=r(n(190))},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){var r=n(2);e.exports=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=r(e)););return e}},function(e,t,n){var r=function(e){"use strict";var t=Object.prototype,n=t.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag";function s(e,t,n,r){var i=t&&t.prototype instanceof l?t:l,o=Object.create(i.prototype),a=new w(r||[]);return o._invoke=function(e,t,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return A()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=b(a,n);if(s){if(s===c)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=u(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===c)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}(e,n,a),o}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var c={};function l(){}function f(){}function h(){}var d={};d[i]=function(){return this};var p=Object.getPrototypeOf,v=p&&p(p(x([])));v&&v!==t&&n.call(v,i)&&(d=v);var g=h.prototype=l.prototype=Object.create(d);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function m(e){var t;this._invoke=function(r,i){function o(){return new Promise((function(t,o){!function t(r,i,o,a){var s=u(e[r],e,i);if("throw"!==s.type){var c=s.arg,l=c.value;return l&&"object"==typeof l&&n.call(l,"__await")?Promise.resolve(l.__await).then((function(e){t("next",e,o,a)}),(function(e){t("throw",e,o,a)})):Promise.resolve(l).then((function(e){c.value=e,o(c)}),(function(e){return t("throw",e,o,a)}))}a(s.arg)}(r,i,t,o)}))}return t=t?t.then(o,o):o()}}function b(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,b(e,t),"throw"===t.method))return c;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}var r=u(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,c;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,c):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,c)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function x(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,o=function t(){for(;++r=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(s&&u){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),c}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:x(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),c}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(208);e.exports=function(e){if(Array.isArray(e))return r(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){},function(e,t,n){var r=n(210);e.exports=function(e){if(Array.isArray(e))return r(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t,n){var r=n(214);function i(e){var t,n;function i(t,n){try{var a=e[t](n),s=a.value,u=s instanceof r;Promise.resolve(u?s.wrapped:s).then((function(e){u?i("return"===t?"return":"next",e):o(a.done?"return":"normal",e)}),(function(e){i("throw",e)}))}catch(e){o("throw",e)}}function o(e,r){switch(e){case"return":t.resolve({value:r,done:!0});break;case"throw":t.reject(r);break;default:t.resolve({value:r,done:!1})}(t=t.next)?i(t.key,t.arg):n=null}this._invoke=function(e,r){return new Promise((function(o,a){var s={key:e,arg:r,resolve:o,reject:a,next:null};n?n=n.next=s:(t=n=s,i(e,r))}))},"function"!=typeof e.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(i.prototype[Symbol.asyncIterator]=function(){return this}),i.prototype.next=function(e){return this._invoke("next",e)},i.prototype.throw=function(e){return this._invoke("throw",e)},i.prototype.return=function(e){return this._invoke("return",e)},e.exports=i},function(e,t,n){"use strict";var r=n(293);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(222);e.exports=function(e){if(Array.isArray(e))return r(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(222);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(301);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n>1,l=-7,f=n?i-1:0,h=n?-1:1,d=e[t+f];for(f+=h,o=d&(1<<-l)-1,d>>=-l,l+=s;l>0;o=256*o+e[t+f],f+=h,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+e[t+f],f+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),o-=c}return(d?-1:1)*a*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var a,s,u,c=8*o-i-1,l=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+f>=1?h/u:h*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=l?(s=0,a=l):a+f>=1?(s=(t*u-1)*Math.pow(2,i),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&s,d+=p,s/=256,i-=8);for(a=a<0;e[n+d]=255&a,d+=p,a/=256,c-=8);e[n+d-p]|=128*v}},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n.n(r),o=n(6),a=n.n(o),s=n(7),u=n.n(s),c=n(2),l=n.n(c);function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l()(e);if(t){var i=l()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u()(this,n)}}var h=function(e){a()(n,e);var t=f(n);function n(){return i()(this,n),t.apply(this,arguments)}return n}(n(231).a);h.layerName="GreatCircleLayer",h.defaultProps={getHeight:{type:"accessor",value:0},greatCircle:!0};var d=n(3),p=n.n(d),v=n(0),g=n.n(v),y=n(192),m=n(220);function b(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l()(e);if(t){var i=l()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u()(this,n)}}function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var O=function(e){for(var t=1;t=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function E(e){return[j(e[0]),j(e[1])]}function T(e,t){var n=A()(t,2),r=n[0],i=n[1];switch(e){case 0:return[1,r,i];case 1:return[-r,1,i];case 2:return[-r,-i,1];case 3:return[-1,-i,-r];case 4:return[i,-1,-r];case 5:return[i,r,-1];default:throw new Error("Invalid face")}}function M(e,t,n,r){if(0===r){1===n&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);var i=t[0];t[0]=t[1],t[1]=i}}function B(e){if("string"==typeof e){if(e.indexOf("/")>0)return e;e=function(e){var t=e.padEnd(16,"0");return S.a.fromString(t,16)}(e)}return function(e){for(var t=S.a.fromString(e,!0,10).toString(2);t.length<64;)t="0"+t;for(var n=t.lastIndexOf("1"),r=t.substring(0,3),i=t.substring(3,n),o=i.length/2,a=S.a.fromString(r,!0,2).toString(10),s=S.a.fromString(i,!0,2).toString(4);s.length89.999&&(w[0]=p);var x=w[0]-p;w[0]+=x>180?-360:x<-180?360:0,h[d++]=w[0],h[d++]=w[1],p=w[0]}return h[d++]=h[0],h[d++]=h[1],h}(function(e){for(var t,n=e.split("/"),r=parseInt(n[0],10),i=n[1],o=i.length,a=[0,0],s=o-1;s>=0;s--){t=o-s;var u=i[s],c=0,l=0;"1"===u?l=1:"2"===u?(c=1,l=1):"3"===u&&(c=1);var f=Math.pow(2,t-1);M(f,a,c,l),a[0]+=f*c,a[1]+=f*l}if(r%2==1){var h=a[0];a[0]=a[1],a[1]=h}return{face:r,ij:a,level:t}}(B(e)))}function R(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l()(e);if(t){var i=l()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u()(this,n)}}var L=function(e){a()(n,e);var t=R(n);function n(){return i()(this,n),t.apply(this,arguments)}return p()(n,[{key:"indexToBounds",value:function(){var e=this.props,t=e.data,n=e.getS2Token;return{data:t,_normalize:!1,positionFormat:"XY",getPolygon:function(e,t){return I(n(e,t))}}}}]),n}(w);L.layerName="S2Layer",L.defaultProps={getS2Token:{type:"accessor",value:function(e){return e.token}}};var D=n(24);function F(e){var t=function(e){for(var t=0,n=0,r=1<>=1;var a=parseInt(e[o]);a%2&&(t|=r),a>1&&(n|=r)}return[[t/i,512-n/i],[(t+.99)/i,512-(n+.99)/i]]}(e),n=A()(t,2),r=n[0],i=n[1],o=Object(D.o)(r),a=A()(o,2),s=a[0],u=a[1],c=Object(D.o)(i),l=A()(c,2),f=l[0],h=l[1];return[f,u,f,h,s,h,s,u,f,u]}function N(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l()(e);if(t){var i=l()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u()(this,n)}}var U=function(e){a()(n,e);var t=N(n);function n(){return i()(this,n),t.apply(this,arguments)}return p()(n,[{key:"indexToBounds",value:function(){var e=this.props,t=e.data,n=e.getQuadkey;return{data:t,_normalize:!1,positionFormat:"XY",getPolygon:function(e,t){return F(n(e,t))}}}}]),n}(w);U.layerName="QuadkeyLayer",U.defaultProps={getQuadkey:{type:"accessor",value:function(e){return e.quadkey}}};var z=n(77),G=n(230),V=n(8),H=n.n(V),W=n(4),J=n.n(W),X=n(22),K=function(){function e(t){var n=t.x,r=t.y,o=t.z;i()(this,e),this.x=n,this.y=r,this.z=o,this.isVisible=!1,this.isSelected=!1,this.parent=null,this.children=[],this.content=null,this._loaderId=0,this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1}var t;return p()(e,[{key:"data",get:function(){var e=this;return this.isLoading?this._loader.then((function(){return e.data})):this.content}},{key:"isLoaded",get:function(){return this._isLoaded&&!this._needsReload}},{key:"isLoading",get:function(){return Boolean(this._loader)&&!this._isCancelled}},{key:"needsReload",get:function(){return this._needsReload||this._isCancelled}},{key:"byteLength",get:function(){var e=this.content?this.content.byteLength:0;return Number.isFinite(e)||X.a.error("byteLength not defined in tile data")(),e}},{key:"_loadData",value:(t=H()(J.a.mark((function e(t){var n,r,i,o,a,s,u,c,l,f,h,d,p;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.getData,r=t.requestScheduler,i=t.onLoad,o=t.onError,a=this.x,s=this.y,u=this.z,c=this.bbox,l=this._loaderId,this._abortController=new AbortController,f=this._abortController.signal,e.next=7,r.scheduleRequest(this,(function(e){return e.isSelected?1:-1}));case 7:if(h=e.sent){e.next=11;break}return this._isCancelled=!0,e.abrupt("return");case 11:if(!this._isCancelled){e.next=14;break}return h.done(),e.abrupt("return");case 14:return d=null,e.prev=15,e.next=18,n({x:a,y:s,z:u,bbox:c,signal:f});case 18:d=e.sent,e.next=24;break;case 21:e.prev=21,e.t0=e.catch(15),p=e.t0||!0;case 24:return e.prev=24,h.done(),e.finish(24);case 27:if(l===this._loaderId){e.next=29;break}return e.abrupt("return");case 29:if(this._loader=void 0,this.content=d,!this._isCancelled||d){e.next=34;break}return this._isLoaded=!1,e.abrupt("return");case 34:this._isLoaded=!0,this._isCancelled=!1,p?o(p,this):i(this);case 37:case"end":return e.stop()}}),e,this,[[15,21,24,27]])}))),function(e){return t.apply(this,arguments)})},{key:"loadData",value:function(e){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(e),this._loader}},{key:"setNeedsReload",value:function(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0}},{key:"abort",value:function(){this.isLoaded||(this._isCancelled=!0,this._abortController.abort())}}]),e}(),q=n(16),Z=n.n(q),Y=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Q=n(59),$=n.n(Q),ee=n(60),te=n.n(ee),ne=n(74),re=new ne.a,ie=new ne.a,oe=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;$()(this,e),r=r||re.copy(t).add(n).scale(.5),this.center=new ne.a(r),this.halfDiagonal=new ne.a(n).subtract(this.center),this.minimum=new ne.a(t),this.maximum=new ne.a(n)}return te()(e,[{key:"clone",value:function(){return new e(this.minimum,this.maximum,this.center)}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.minimum.equals(e.minimum)&&this.maximum.equals(e.maximum)}},{key:"transform",value:function(e){return this.center.transformAsPoint(e),this.halfDiagonal.transform(e),this.minimum.transform(e),this.maximum.transform(e),this}},{key:"intersectPlane",value:function(e){var t=this.halfDiagonal,n=ie.from(e.normal),r=t.x*Math.abs(n.x)+t.y*Math.abs(n.y)+t.z*Math.abs(n.z),i=this.center.dot(n)+e.distance;return i-r>0?Y.INSIDE:i+r<0?Y.OUTSIDE:Y.INTERSECTING}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceSquaredTo(e))}},{key:"distanceSquaredTo",value:function(e){var t,n=re.from(e).subtract(this.center),r=this.halfDiagonal,i=0;return(t=Math.abs(n.x)-r.x)>0&&(i+=t*t),(t=Math.abs(n.y)-r.y)>0&&(i+=t*t),(t=Math.abs(n.z)-r.z)>0&&(i+=t*t),i}}]),e}(),ae=n(25),se=new ne.a,ue=new ne.a,ce=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;$()(this,e),this.radius=-0,this.center=new ne.a,this.fromCenterRadius(t,n)}return te()(e,[{key:"fromCenterRadius",value:function(e,t){return this.center.from(e),this.radius=t,this}},{key:"fromCornerPoints",value:function(e,t){return t=se.from(t),this.center=(new ne.a).from(e).add(t).scale(.5),this.radius=this.center.distance(t),this}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}},{key:"clone",value:function(){return new e(this.center,this.radius)}},{key:"union",value:function(e){var t=this.center,n=this.radius,r=e.center,i=e.radius,o=se.copy(r).subtract(t),a=o.magnitude();if(n>=a+i)return this.clone();if(i>=a+n)return e.clone();var s=.5*(n+a+i);return ue.copy(o).scale((-n+s)/a).add(t),this.center.copy(ue),this.radius=s,this}},{key:"expand",value:function(e){var t=(e=se.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}},{key:"transform",value:function(e){this.center.transform(e);var t=ae.e(se,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}},{key:"distanceSquaredTo",value:function(e){var t=this.distanceTo(e);return t*t}},{key:"distanceTo",value:function(e){var t=(e=se.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}},{key:"intersectPlane",value:function(e){var t=this.center,n=this.radius,r=e.normal.dot(t)+e.distance;return r<-n?Y.OUTSIDE:r0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0,0,0,0,0,0,0];$()(this,e),this.center=(new ne.a).from(t),this.halfAxes=new he.a(n)}return te()(e,[{key:"halfSize",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ne.a(e).len(),new ne.a(t).len(),new ne.a(n).len()]}},{key:"quaternion",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),r=new ne.a(e).normalize(),i=new ne.a(t).normalize(),o=new ne.a(n).normalize();return(new de.a).fromMatrix3(new he.a([].concat(fe()(r),fe()(i),fe()(o))))}},{key:"fromCenterHalfSizeQuaternion",value:function(e,t,n){var r=new de.a(n),i=(new he.a).fromQuaternion(r);return i[0]=i[0]*t[0],i[1]=i[1]*t[0],i[2]=i[2]*t[0],i[3]=i[3]*t[1],i[4]=i[4]*t[1],i[5]=i[5]*t[1],i[6]=i[6]*t[2],i[7]=i[7]*t[2],i[8]=i[8]*t[2],this.center=(new ne.a).from(e),this.halfAxes=i,this}},{key:"clone",value:function(){return new e(this.center,this.halfAxes)}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}},{key:"getBoundingSphere",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new ce,t=this.halfAxes,n=t.getColumn(0,ge),r=t.getColumn(1,ye),i=t.getColumn(2,me),o=pe.copy(n).add(r).add(i);return e.center.copy(this.center),e.radius=o.magnitude(),e}},{key:"intersectPlane",value:function(e){var t=this.center,n=e.normal,r=this.halfAxes,i=n.x,o=n.y,a=n.z,s=Math.abs(i*r[Oe]+o*r[we]+a*r[xe])+Math.abs(i*r[Ae]+o*r[Pe]+a*r[Se])+Math.abs(i*r[ke]+o*r[Ce]+a*r[je]),u=n.dot(t)+e.distance;return u<=-s?Y.OUTSIDE:u>=s?Y.INSIDE:Y.INTERSECTING}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceSquaredTo(e))}},{key:"distanceSquaredTo",value:function(e){var t=ve.from(e).subtract(this.center),n=this.halfAxes,r=n.getColumn(0,ge),i=n.getColumn(1,ye),o=n.getColumn(2,me),a=r.magnitude(),s=i.magnitude(),u=o.magnitude();r.normalize(),i.normalize(),o.normalize();var c,l=0;return(c=Math.abs(t.dot(r))-a)>0&&(l+=c*c),(c=Math.abs(t.dot(i))-s)>0&&(l+=c*c),(c=Math.abs(t.dot(o))-u)>0&&(l+=c*c),l}},{key:"computePlaneDistances",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[-0,-0],r=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,o=this.center,a=this.halfAxes,s=a.getColumn(0,ge),u=a.getColumn(1,ye),c=a.getColumn(2,me),l=be.copy(s).add(u).add(c).add(o),f=_e.copy(l).subtract(e),h=t.dot(f);return r=Math.min(h,r),i=Math.max(h,i),l.copy(o).add(s).add(u).subtract(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),l.copy(o).add(s).subtract(u).add(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),l.copy(o).add(s).subtract(u).subtract(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),o.copy(l).subtract(s).add(u).add(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),o.copy(l).subtract(s).add(u).subtract(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),o.copy(l).subtract(s).subtract(u).add(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),o.copy(l).subtract(s).subtract(u).subtract(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),n[0]=r,n[1]=i,n}},{key:"transform",value:function(e){this.center.transformAsPoint(e);var t=this.halfAxes.getColumn(0,ge);t.transformAsPoint(e);var n=this.halfAxes.getColumn(1,ye);n.transformAsPoint(e);var r=this.halfAxes.getColumn(2,me);return r.transformAsPoint(e),this.halfAxes=new he.a([].concat(fe()(t),fe()(n),fe()(r))),this}},{key:"getTransform",value:function(){throw new Error("not implemented")}}]),e}(),Te=n(48),Me=n(15),Be=new ne.a,Ie=new ne.a,Re=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,1],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;$()(this,e),this.normal=new ne.a,this.distance=-0,this.fromNormalDistance(t,n)}return te()(e,[{key:"fromNormalDistance",value:function(e,t){return Object(Te.a)(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}},{key:"fromPointNormal",value:function(e,t){e=Be.from(e),this.normal.from(t).normalize();var n=-this.normal.dot(e);return this.distance=n,this}},{key:"fromCoefficients",value:function(e,t,n,r){return this.normal.set(e,t,n),Object(Te.a)(Object(Me.d)(this.normal.len(),1)),this.distance=r,this}},{key:"clone",value:function(t){return new e(this.normal,this.distance)}},{key:"equals",value:function(e){return Object(Me.d)(this.distance,e.distance)&&Object(Me.d)(this.normal,e.normal)}},{key:"getPointDistance",value:function(e){return this.normal.dot(e)+this.distance}},{key:"transform",value:function(e){var t=Ie.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,t)}},{key:"projectPointOntoPlane",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];e=Be.from(e);var n=this.getPointDistance(e),r=Ie.copy(this.normal).scale(n);return e.subtract(r).to(t)}}]),e}();function Le(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return De(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return De(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function De(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:[];$()(this,e),this.planes=t,Object(Te.a)(this.planes.every((function(e){return e instanceof Re})))}return te()(e,[{key:"fromBoundingSphere",value:function(e){this.planes.length=2*Fe.length;var t,n=e.center,r=e.radius,i=0,o=Le(Fe);try{for(o.s();!(t=o.n()).done;){var a=t.value,s=this.planes[i],u=this.planes[i+1];s||(s=this.planes[i]=new Re),u||(u=this.planes[i+1]=new Re);var c=Ne.copy(a).scale(-r).add(n);a.dot(c);s.fromPointNormal(c,a);var l=Ne.copy(a).scale(r).add(n),f=Ue.copy(a).negate();f.dot(l);u.fromPointNormal(l,f),i+=2}}catch(e){o.e(e)}finally{o.f()}return this}},{key:"computeVisibility",value:function(e){Object(Te.a)(e);var t,n=Y.INSIDE,r=Le(this.planes);try{for(r.s();!(t=r.n()).done;){var i=t.value;switch(e.intersectPlane(i)){case Y.OUTSIDE:return Y.OUTSIDE;case Y.INTERSECTING:n=Y.INTERSECTING}}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"computeVisibilityWithPlaneMask",value:function(t,n){if(Object(Te.a)(t,"boundingVolume is required."),Object(Te.a)(Number.isFinite(n),"parentPlaneMask is required."),n===e.MASK_OUTSIDE||n===e.MASK_INSIDE)return n;for(var r=e.MASK_INSIDE,i=this.planes,o=0;o1&&void 0!==arguments[1]?arguments[1]:{},n=Ve.a.EPSILON20,r=10,i=0,o=0,a=We,s=Je;a.identity(),s.copy(e);for(var u=n*Ze(s);ou;)et(s,Xe),Ke.copy(Xe).transpose(),s.multiplyRight(Xe),s.multiplyLeft(Ke),a.multiplyRight(Xe),++i>2&&(++o,i=0);return t.unitary=a.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function Ze(e){for(var t=0,n=0;n<9;++n){var r=e[n];t+=r*r}return Math.sqrt(t)}var Ye=[1,0,0],Qe=[2,2,1];function $e(e){for(var t=0,n=0;n<3;++n){var r=e[He.getElementIndex(Qe[n],Ye[n])];t+=2*r*r}return Math.sqrt(t)}function et(e,t){for(var n=Ve.a.EPSILON15,r=0,i=1,o=0;o<3;++o){var a=Math.abs(e[He.getElementIndex(Qe[o],Ye[o])]);a>r&&(i=o,r=a)}var s=Ye[i],u=Qe[i],c=1,l=0;if(Math.abs(e[He.getElementIndex(u,s)])>n){var f,h=(e[He.getElementIndex(u,u)]-e[He.getElementIndex(s,s)])/2/e[He.getElementIndex(u,s)];l=(f=h<0?-1/(-h+Math.sqrt(1+h*h)):1/(h+Math.sqrt(1+h*h)))*(c=1/Math.sqrt(1+f*f))}return he.a.IDENTITY.to(t),t[He.getElementIndex(s,s)]=t[He.getElementIndex(u,u)]=c,t[He.getElementIndex(u,s)]=l,t[He.getElementIndex(s,u)]=-l,t}function tt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return nt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function nt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ft(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=i){var f=c.distanceTo(t.cameraPosition)*t.scale/t.height;l+=Math.floor(Math.log2(f))}if(l>=o)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;var h,d=lt(this.children);try{for(d.s();!(h=d.n()).done;){h.value.update(e)}}catch(e){d.e(e)}finally{d.f()}return!0}},{key:"getSelected",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(this.selected&&e.push(this),this._children){var t,n=lt(this._children);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.getSelected(e)}}catch(e){n.e(e)}finally{n.f()}}return e}},{key:"insideBounds",value:function(e){var t=A()(e,4),n=t[0],r=t[1],i=t[2],o=t[3],a=512/Math.pow(2,this.z);return this.x*an&&(this.y+1)*a>r}},{key:"getBoundingVolume",value:function(e,t,n){if(n){var r,i=[],o=lt(this.z<1?pt:this.z<2?dt:ht);try{for(o.s();!(r=o.n()).done;){var a=r.value,s=Ot(this.x+a[0],this.y+a[1],this.z);s[2]=e[0],i.push(n(s)),e[0]!==e[1]&&(s[2]=e[1],i.push(n(s)))}}catch(e){o.e(e)}finally{o.f()}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Ee;if(!e||0===e.length)return t.halfAxes=new he.a([0,0,0,0,0,0,0,0,0]),t.center=new ne.a,t;var n,r=e.length,i=new ne.a(0,0,0),o=tt(e);try{for(o.s();!(n=o.n()).done;){var a=n.value;i.add(a)}}catch(e){o.e(e)}finally{o.f()}var s=1/r;i.multiplyByScalar(s);var u,c=0,l=0,f=0,h=0,d=0,p=0,v=tt(e);try{for(v.s();!(u=v.n()).done;){var g=u.value,y=rt.copy(g).subtract(i);c+=y.x*y.x,l+=y.x*y.y,f+=y.x*y.z,h+=y.y*y.y,d+=y.y*y.z,p+=y.z*y.z}}catch(e){v.e(e)}finally{v.f()}c*=s,l*=s,f*=s,h*=s,d*=s,p*=s;var m=ut;m[0]=c,m[1]=l,m[2]=f,m[3]=l,m[4]=h,m[5]=d,m[6]=f,m[7]=d,m[8]=p;var b,_=qe(m,ct),O=_.unitary,w=t.halfAxes.copy(O),x=w.getColumn(0,ot),A=w.getColumn(1,at),P=w.getColumn(2,st),S=-Number.MAX_VALUE,k=-Number.MAX_VALUE,C=-Number.MAX_VALUE,j=Number.MAX_VALUE,E=Number.MAX_VALUE,T=Number.MAX_VALUE,M=tt(e);try{for(M.s();!(b=M.n()).done;){var B=b.value;rt.copy(B),S=Math.max(rt.dot(x),S),k=Math.max(rt.dot(A),k),C=Math.max(rt.dot(P),C),j=Math.min(rt.dot(x),j),E=Math.min(rt.dot(A),E),T=Math.min(rt.dot(P),T)}}catch(e){M.e(e)}finally{M.f()}x=x.multiplyByScalar(.5*(j+S)),A=A.multiplyByScalar(.5*(E+k)),P=P.multiplyByScalar(.5*(T+C)),t.center.copy(x).add(A).add(P);var I=it.set(S-j,k-E,C-T).multiplyByScalar(.5),R=new he.a([I[0],0,0,0,I[1],0,0,0,I[2]]);return t.halfAxes.multiplyRight(R),t}(i)}var u=512/Math.pow(2,this.z),c=this.x*u+512*t,l=512-(this.y+1)*u;return new oe([c,l,e[0]],[c+u,l+u,e[1]])}}]),e}();var gt=[-1/0,-1/0,1/0,1/0],yt={type:"url",value:null,validate:function(e,t){return t.optional&&null===e||"string"==typeof e||Array.isArray(e)&&e.every((function(e){return"string"==typeof e}))},equals:function(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t))return!1;var n=e.length;if(n!==t.length)return!1;for(var r=0;r4&&void 0!==arguments[4]?arguments[4]:512;if(e.isGeospatial){var o=Ot(t,n,r),a=A()(o,2),s=a[0],u=a[1],c=Ot(t+1,n+1,r),l=A()(c,2),f=l[0],h=l[1];return{west:s,north:u,east:f,south:h}}var d=wt(t,n,r,i),p=A()(d,2),v=p[0],g=p[1],y=wt(t+1,n+1,r,i),m=A()(y,2),b=m[0],_=m[1];return{left:v,top:g,right:b,bottom:_}}function At(e,t,n,r,i){for(var o=function(e,t,n){return n?mt(e,n).map((function(e){return e*t/512})):e.map((function(e){return e*t/512}))}(function(e,t,n){var r;if(t&&2===t.length){var i=A()(t,2),o=i[0],a=i[1],s=e.getBounds({z:o}),u=e.getBounds({z:a});r=[Math.min(s[0],u[0]),Math.min(s[1],u[1]),Math.max(s[2],u[2]),Math.max(s[3],u[3])]}else r=e.getBounds();return e.isGeospatial?[Math.max(r[0],n[0]),Math.max(r[1],n[1]),Math.min(r[2],n[2]),Math.min(r[3],n[3])]:[Math.max(Math.min(r[0],n[2]),n[0]),Math.max(Math.min(r[1],n[3]),n[1]),Math.min(Math.max(r[2],n[0]),n[2]),Math.min(Math.max(r[3],n[1]),n[3])]}(e,null,r),_t(t,n),i),a=A()(o,4),s=a[0],u=a[1],c=a[2],l=a[3],f=[],h=Math.floor(s);hn&&(h=n);var d=o;return u&&c&&o&&!t.isGeospatial&&(d=mt(o,u)),t.isGeospatial?function(e,t,n,r){var i=e.resolution?e.projectPosition:null,o=Object.values(e.getFrustumPlanes()).map((function(e){var t=e.normal,n=e.distance;return new Re(t.clone().negate(),n)})),a=new ze(o),s=e.distanceScales.unitsPerMeter[2],u=n&&n[0]*s||0,c=n&&n[1]*s||0,l=e.pitch<=60?t:0;if(r){var f=r,h=A()(f,4),d=h[0],p=h[1],v=h[2],g=h[3],y=Object(D.l)([d,g]),m=Object(D.l)([v,p]);r=[y[0],512-y[1],m[0],512-m[1]]}var b=new vt(0,0,0),_={viewport:e,project:i,cullingVolume:a,elevationBounds:[u,c],minZ:l,maxZ:t,bounds:r,offset:0};if(b.update(_),e.subViewports&&e.subViewports.length>1){for(_.offset=-1;b.update(_)&&!(--_.offset<-3););for(_.offset=1;b.update(_)&&!(++_.offset>3););}return b.getSelected()}(t,h,i,o):At(t,h,s,d||gt,c)}var St,kt=n(217);function Ct(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return jt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return jt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function jt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new Ge.a,this._modelMatrixInverse=new Ge.a,this.setOptions(t)}return p()(e,[{key:"tiles",get:function(){return this._tiles}},{key:"selectedTiles",get:function(){return this._selectedTiles}},{key:"isLoaded",get:function(){return this._selectedTiles.every((function(e){return e.isLoaded}))}},{key:"needsReload",get:function(){return this._selectedTiles.some((function(e){return e.needsReload}))}},{key:"setOptions",value:function(e){Object.assign(this.opts,e),Number.isFinite(e.maxZoom)&&(this._maxZoom=Math.floor(e.maxZoom)),Number.isFinite(e.minZoom)&&(this._minZoom=Math.ceil(e.minZoom))}},{key:"finalize",value:function(){var e,t=Ct(this._cache.values());try{for(t.s();!(e=t.n()).done;){var n=e.value;n.isLoading&&n.abort()}}catch(e){t.e(e)}finally{t.f()}this._cache.clear(),this._tiles=[],this._selectedTiles=null}},{key:"reloadAll",value:function(){var e,t=Ct(this._cache.keys());try{for(t.s();!(e=t.n()).done;){var n=e.value,r=this._cache.get(n);this._selectedTiles.includes(r)?r.setNeedsReload():this._cache.delete(n)}}catch(e){t.e(e)}finally{t.f()}}},{key:"update",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.zRange,i=n.modelMatrix,o=new Ge.a(i),a=!o.equals(this._modelMatrix);if(!e.equals(this._viewport)||a){a&&(this._modelMatrixInverse=o.clone().invert(),this._modelMatrix=o),this._viewport=e;var s=this.getTileIndices({viewport:e,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:r,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=s.map((function(e){return t._getTile(e,!0)})),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map((function(e){return t._getTile({x:e.x,y:e.y,z:e.z})})));var u=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),u&&this._frameNumber++,this._frameNumber}},{key:"getTileIndices",value:function(e){var t=e.viewport,n=e.maxZoom,r=e.minZoom,i=e.zRange,o=e.modelMatrix,a=e.modelMatrixInverse,s=this.opts;return Pt({viewport:t,maxZoom:n,minZoom:r,zRange:i,tileSize:s.tileSize,extent:s.extent,modelMatrix:o,modelMatrixInverse:a,zoomOffset:s.zoomOffset})}},{key:"getTileMetadata",value:function(e){var t=e.x,n=e.y,r=e.z,i=this.opts.tileSize;return{bbox:xt(this._viewport,t,n,r,i)}}},{key:"getParentIndex",value:function(e){return e.x=Math.floor(e.x/2),e.y=Math.floor(e.y/2),e.z-=1,e}},{key:"updateTileStates",value:function(){var e,t=this.opts.refinementStrategy||"best-available",n=new Array(this._cache.size),r=0,i=Ct(this._cache.values());try{for(i.s();!(e=i.n()).done;){var o=e.value;n[r++]=o.isVisible,o.isSelected=!1,o.isVisible=!1}}catch(e){i.e(e)}finally{i.f()}var a,s=Ct(this._selectedTiles);try{for(s.s();!(a=s.n()).done;){var u=a.value;u.isSelected=!0,u.isVisible=!0}}catch(e){s.e(e)}finally{s.f()}("function"==typeof t?t:Et[t])(Array.from(this._cache.values())),r=0;var c,l=Ct(this._cache.values());try{for(l.s();!(c=l.n()).done;){var f=c.value;if(n[r++]!==f.isVisible)return!0}}catch(e){l.e(e)}finally{l.f()}return!1}},{key:"_pruneRequests",value:function(){var e,t=this.opts.maxRequests,n=[],r=0,i=Ct(this._cache.values());try{for(i.s();!(e=i.n()).done;){var o=e.value;o.isLoading&&(r++,o.isSelected||o.isVisible||n.push(o))}}catch(e){i.e(e)}finally{i.f()}for(;t>0&&r>t&&n.length>0;){n.shift().abort(),r--}}},{key:"_rebuildTree",value:function(){var e,t=this._cache,n=Ct(t.values());try{for(n.s();!(e=n.n()).done;){var r=e.value;r.parent=null,r.children.length=0}}catch(e){n.e(e)}finally{n.f()}var i,o=Ct(t.values());try{for(o.s();!(i=o.n()).done;){var a=i.value,s=this._getNearestAncestor(a.x,a.y,a.z);a.parent=s,s&&s.children.push(a)}}catch(e){o.e(e)}finally{o.f()}}},{key:"_resizeCache",value:function(){var e=this._cache,t=this.opts,n=t.maxCacheSize||(t.maxCacheByteSize?1/0:5*this.selectedTiles.length),r=t.maxCacheByteSize||1/0;if(e.size>n||this._cacheByteSize>r){var i,o=Ct(e);try{for(o.s();!(i=o.n()).done;){var a=A()(i.value,2),s=a[0],u=a[1];if(u.isVisible||(this._cacheByteSize-=t.maxCacheByteSize?u.byteLength:0,e.delete(s),this.opts.onTileUnload(u)),e.size<=n&&this._cacheByteSize<=r)break}}catch(e){o.e(e)}finally{o.f()}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort((function(e,t){return e.z-t.z})),this._dirty=!1)}},{key:"_getTile",value:function(e,t){var n=e.x,r=e.y,i=e.z,o="".concat(n,",").concat(r,",").concat(i),a=this._cache.get(o),s=!1;return!a&&t?(a=new K({x:n,y:r,z:i}),Object.assign(a,this.getTileMetadata(a)),s=!0,this._cache.set(o,a),this._dirty=!0):a&&a.needsReload&&(s=!0),s&&a.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),a}},{key:"_getNearestAncestor",value:function(e,t,n){for(var r=this._minZoom,i=void 0===r?0:r,o={x:e,y:t,z:n};o.z>i;){o=this.getParentIndex(o);var a=this._getTile(o);if(a)return a}return null}}]),e}();function Mt(e){for(;e;){if(e.isLoaded||e.content)return e.state|=2,!0;e=e.parent}return!1}function Bt(e){var t,n=Ct(e.children);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.isLoaded||r.content?r.state|=2:Bt(r)}}catch(e){n.e(e)}finally{n.f()}}function It(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Rt(e){for(var t=1;t currentTime || (fadeTrail && (vTime < currentTime - trailLength))) {\n discard;\n}\n","fs:DECKGL_FILTER_COLOR":"if(fadeTrail) {\n color.a *= 1.0 - (currentTime - vTime) / trailLength;\n}\n"},e}},{key:"initializeState",value:function(e){Ut()(l()(n.prototype),"initializeState",this).call(this,e),this.getAttributeManager().addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})}},{key:"draw",value:function(e){var t=this.props,r=t.fadeTrail,i=t.trailLength,o=t.currentTime;e.uniforms=Gt(Gt({},e.uniforms),{},{fadeTrail:r,trailLength:i,currentTime:o}),Ut()(l()(n.prototype),"draw",this).call(this,e)}}]),n}(n(114).a);Ht.layerName="TripsLayer",Ht.defaultProps={fadeTrail:!0,trailLength:{type:"number",value:120,min:0},currentTime:{type:"number",value:0,min:0},getTimestamps:{type:"accessor",value:null}};var Wt=n(66),Jt=n(62);function Xt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Kt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Kt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Kt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function on(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n180?i[0]-=360:o<-180&&(i[0]+=360)}}catch(e){r.e(e)}finally{r.f()}}function sn(e,t,n){var r=Object(Wt.h3ToGeo)(e),i=A()(r,2),o=i[0],a=i[1],s=t.length;an(t,a);for(var u=t[0]===t[s-1]?s-1:s,c=0;c1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2?arguments[2]:void 0,r=Object(Wt.h3ToGeoBoundary)(e,!0);if(1!==t?sn(e,r,t):an(r),n){var i,o=new Float64Array(2*r.length),a=0,s=rn(r);try{for(s.s();!(i=s.n()).done;){var u=i.value;o[a++]=u[0],o[a++]=u[1]}}catch(e){s.e(e)}finally{s.f()}return o}return r}var ln=nn(nn({},m.a.defaultProps),{},{highPrecision:"auto",coverage:{type:"number",min:0,max:1,value:1},centerHexagon:null,getHexagon:{type:"accessor",value:function(e){return e.hexagon}},extruded:!0});delete ln.getLineDashArray;var fn=function(e){a()(n,e);var t=en(n);function n(){return i()(this,n),t.apply(this,arguments)}return p()(n,[{key:"shouldUpdateState",value:function(e){var t=e.changeFlags;return this._shouldUseHighPrecision()?t.propsOrDataChanged:t.somethingChanged}},{key:"updateState",value:function(e){var t=e.props,n=(e.oldProps,e.changeFlags);if(!0!==t.highPrecision&&(n.dataChanged||n.updateTriggers&&n.updateTriggers.getHexagon)){var r=this._calculateH3DataProps(t);this.setState(r)}this._updateVertices(this.context.viewport)}},{key:"_calculateH3DataProps",value:function(e){var t,n=-1,r=!1,i=!1,o=Object(Jt.a)(e.data),a=o.iterable,s=o.objectInfo,u=rn(a);try{for(u.s();!(t=u.n()).done;){var c=t.value;s.index++;var l=e.getHexagon(c,s),f=Object(Wt.h3GetResolution)(l);if(n<0){if(n=f,!e.highPrecision)break}else if(n!==f){i=!0;break}if(Object(Wt.h3IsPentagon)(l)){r=!0;break}}}catch(e){u.e(e)}finally{u.f()}return{resolution:n,edgeLengthKM:n>=0?Object(Wt.edgeLength)(n,Wt.UNITS.km):0,hasMultipleRes:i,hasPentagon:r}}},{key:"_shouldUseHighPrecision",value:function(){if("auto"===this.props.highPrecision){var e=this.state,t=e.resolution,n=e.hasPentagon,r=e.hasMultipleRes;return this.context.viewport.resolution||r||n||t>=0&&t<=5}return this.props.highPrecision}},{key:"_updateVertices",value:function(e){if(!this._shouldUseHighPrecision()){var t=this.state,n=t.resolution,r=t.edgeLengthKM,i=t.centerHex;if(!(n<0)){var o=this.props.centerHexagon||Object(Wt.geoToH3)(e.latitude,e.longitude,n);if(i!==o){if(i){var a=Object(Wt.h3Distance)(i,o);if(a>=0&&a*r<10)return}var s=e.distanceScales.unitsPerMeter,u=cn(o),c=Object(Wt.h3ToGeo)(o),l=A()(c,2),f=l[0],h=l[1],d=e.projectFlat([h,f]),p=A()(d,2),v=p[0],g=p[1];u=u.map((function(t){var n=e.projectFlat(t);return[(n[0]-v)/s[0],(n[1]-g)/s[1]]})),this.setState({centerHex:o,vertices:u})}}}}},{key:"renderLayers",value:function(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}},{key:"_getForwardProps",value:function(){var e=this.props,t=e.elevationScale,n=e.material,r=e.coverage,i=e.extruded,o=e.wireframe,a=e.stroked,s=e.filled,u=e.lineWidthUnits,c=e.lineWidthScale,l=e.lineWidthMinPixels,f=e.lineWidthMaxPixels,h=e.getFillColor,d=e.getElevation,p=e.getLineColor,v=e.getLineWidth,g=e.transitions,y=e.updateTriggers;return{elevationScale:t,extruded:i,coverage:r,wireframe:o,stroked:a,filled:s,lineWidthUnits:u,lineWidthScale:c,lineWidthMinPixels:l,lineWidthMaxPixels:f,material:n,getElevation:d,getFillColor:h,getLineColor:p,getLineWidth:v,transitions:g,updateTriggers:{getFillColor:y.getFillColor,getElevation:y.getElevation,getLineColor:y.getLineColor,getLineWidth:y.getLineWidth}}}},{key:"_renderPolygonLayer",value:function(){var e=this.props,t=e.data,n=e.getHexagon,r=e.updateTriggers,i=e.coverage,o=this.getSubLayerClass("hexagon-cell-hifi",m.a),a=this._getForwardProps();return a.updateTriggers.getPolygon=function(e,t){return null==e?t:"object"===Qt()(e)?nn(nn({},e),{},{coverage:t}):{getHexagon:e,coverage:t}}(r.getHexagon,i),new o(a,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:a.updateTriggers}),{data:t,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:function(e,t){return cn(n(e,t),i,!0)}})}},{key:"_renderColumnLayer",value:function(){var e=this.props,t=e.data,n=e.getHexagon,r=e.updateTriggers,i=this.getSubLayerClass("hexagon-cell",$t.a),o=this._getForwardProps();return o.updateTriggers.getPosition=r.getHexagon,new i(o,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:o.updateTriggers}),{data:t,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:un.bind(null,n)})}}]),n}(y.a);fn.defaultProps=ln,fn.layerName="H3HexagonLayer";var hn=n(70),dn=n(18),pn=n(233),vn=n(229),gn=n(252),yn=n(330),mn=n(179),bn=n(234);function _n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function On(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:Bn;return Object(Me.f)(e)?(t[0]=n(e[0]),t[1]=n(e[1]),t[2]=e[2]):"longitude"in e?(t[0]=n(e.longitude),t[1]=n(e.latitude),t[2]=e.height):(t[0]=n(e.x),t[1]=n(e.y),t[2]=e.z),t}function Ln(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:In;return Rn(e,t,Me.b._cartographicRadians?Bn:Me.j)}function Dn(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Bn;return Object(Me.f)(t)?(t[0]=n(e[0]),t[1]=n(e[1]),t[2]=e[2]):"longitude"in t?(t.longitude=n(e[0]),t.latitude=n(e[1]),t.height=e[2]):(t.x=n(e[0]),t.y=n(e[1]),t.z=e[2]),t}function Fn(e,t){return Dn(e,t,Me.b._cartographicRadians?Bn:Me.i)}var Nn=new ne.a,Un=new ne.a,zn=new ne.a;var Gn=new ne.a,Vn={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},Hn={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Wn={east:new ne.a,north:new ne.a,up:new ne.a,west:new ne.a,south:new ne.a,down:new ne.a},Jn=new ne.a,Xn=new ne.a,Kn=new ne.a;function qn(e,t,n,r,i,o){var a,s,u,c=Vn[t]&&Vn[t][n];Object(Te.a)(c&&(!r||r===c));var l=Gn.copy(i);if(Object(Me.d)(l.x,0,1e-14)&&Object(Me.d)(l.y,0,1e-14)){var f=Math.sign(l.z);a=Jn.fromArray(Hn[t]),"east"!==t&&"west"!==t&&a.scale(f),s=Xn.fromArray(Hn[n]),"east"!==n&&"west"!==n&&s.scale(f),u=Kn.fromArray(Hn[r]),"east"!==r&&"west"!==r&&u.scale(f)}else{var h=Wn.up,d=Wn.east,p=Wn.north;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,h),p.copy(h).cross(d);var v=Wn.west,g=Wn.south;Wn.down.copy(h).scale(-1),v.copy(d).scale(-1),g.copy(p).scale(-1),a=Wn[t],s=Wn[n],u=Wn[r]}return o[0]=a.x,o[1]=a.y,o[2]=a.z,o[3]=0,o[4]=s.x,o[5]=s.y,o[6]=s.z,o[7]=0,o[8]=u.x,o[9]=u.y,o[10]=u.z,o[11]=0,o[12]=l.x,o[13]=l.y,o[14]=l.z,o[15]=1,o}var Zn,Yn=new ne.a,Qn=new ne.a,$n=new ne.a,er=new ne.a,tr=new ne.a,nr=new ne.a,rr=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;jn()(this,e),Object(Te.a)(t>=0),Object(Te.a)(n>=0),Object(Te.a)(r>=0),this.radii=new ne.a(t,n,r),this.radiiSquared=new ne.a(t*t,n*n,r*r),this.radiiToTheFourth=new ne.a(t*t*t*t,n*n*n*n,r*r*r*r),this.oneOverRadii=new ne.a(0===t?0:1/t,0===n?0:1/n,0===r?0:1/r),this.oneOverRadiiSquared=new ne.a(0===t?0:1/(t*t),0===n?0:1/(n*n),0===r?0:1/(r*r)),this.minimumRadius=Math.min(t,n,r),this.maximumRadius=Math.max(t,n,r),this.centerToleranceSquared=Ve.a.EPSILON1,0!==this.radiiSquared.z&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}return Tn()(e,[{key:"equals",value:function(e){return this===e||Boolean(e&&this.radii.equals(e.radii))}},{key:"toString",value:function(){return this.radii.toString()}},{key:"cartographicToCartesian",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=Qn,r=$n,i=kn()(e,3),o=i[2];this.geodeticSurfaceNormalCartographic(e,n),r.copy(this.radiiSquared).scale(n);var a=Math.sqrt(n.dot(r));return r.scale(1/a),n.scale(o),r.add(n),r.to(t)}},{key:"cartesianToCartographic",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];nr.from(e);var n=this.scaleToGeodeticSurface(nr,er);if(n){var r=this.geodeticSurfaceNormal(n,Qn),i=tr;i.copy(nr).subtract(n);var o=Math.atan2(r.y,r.x),a=Math.asin(r.z),s=Math.sign(Mn.f(i,nr))*Mn.i(i);return Fn([o,a,s],t)}}},{key:"eastNorthUpToFixedFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Ge.a;return qn(this,"east","north","up",e,t)}},{key:"localFrameToFixedFrame",value:function(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:new Ge.a;return qn(this,e,t,n,r,i)}},{key:"geocentricSurfaceNormal",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return Yn.from(e).normalize().to(t)}},{key:"geodeticSurfaceNormalCartographic",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=Ln(e),r=n[0],i=n[1],o=Math.cos(i);return Yn.set(o*Math.cos(r),o*Math.sin(r),Math.sin(i)).normalize(),Yn.to(t)}},{key:"geodeticSurfaceNormal",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return Yn.from(e).scale(this.oneOverRadiiSquared).normalize().to(t)}},{key:"scaleToGeodeticSurface",value:function(e,t){return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new ne.a,r=t.oneOverRadii,i=t.oneOverRadiiSquared,o=t.centerToleranceSquared;Nn.from(e);var a=e.x,s=e.y,u=e.z,c=r.x,l=r.y,f=r.z,h=a*a*c*c,d=s*s*l*l,p=u*u*f*f,v=h+d+p,g=Math.sqrt(1/v);if(Number.isFinite(g)){var y=Un;if(y.copy(e).scale(g),vVe.a.EPSILON12);return Nn.scale([w,x,A]).to(n)}}(e,this,t)}},{key:"scaleToGeocentricSurface",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];er.from(e);var n=er.x,r=er.y,i=er.z,o=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*o.x+r*r*o.y+i*i*o.z);return er.multiplyScalar(a).to(t)}},{key:"transformPositionToScaledSpace",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return er.from(e).scale(this.oneOverRadii).to(t)}},{key:"transformPositionFromScaledSpace",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return er.from(e).scale(this.radii).to(t)}},{key:"getSurfaceNormalIntersectionWithZAxis",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[0,0,0];Object(Te.a)(Object(Me.d)(this.radii.x,this.radii.y,Ve.a.EPSILON15)),Object(Te.a)(this.radii.z>0),er.from(e);var r=er.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(r)>=this.radii.z-t))return er.set(0,0,r).to(n)}}],[{key:"WGS84",get:function(){return Zn=Zn||new e(6378137,6378137,6356752.314245179)}}]),e}(),ir=n(95),or=n(104),ar=n(23),sr=function e(t,n,r){i()(this,e),Object(Pn.a)(this,"item",void 0),Object(Pn.a)(this,"previous",void 0),Object(Pn.a)(this,"next",void 0),this.item=t,this.previous=n,this.next=r},ur=function(){function e(){i()(this,e),Object(Pn.a)(this,"head",null),Object(Pn.a)(this,"tail",null),Object(Pn.a)(this,"_length",0)}return p()(e,[{key:"length",get:function(){return this._length}},{key:"add",value:function(e){var t=new sr(e,this.tail,null);return this.tail?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),++this._length,t}},{key:"remove",value:function(e){e&&(e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=null,this.tail=e.previous):e.next?(e.next.previous=null,this.head=e.next):(this.head=null,this.tail=null),e.next=null,e.previous=null,--this._length)}},{key:"splice",value:function(e,t){e!==t&&(this.remove(t),this._insert(e,t))}},{key:"_insert",value:function(e,t){var n=e.next;e.next=t,this.tail===e?this.tail=t:n.previous=t,t.next=n,t.previous=e,++this._length}}]),e}();function cr(e){return null!=e}var lr=function(){function e(){i()(this,e),Object(Pn.a)(this,"_list",void 0),Object(Pn.a)(this,"_sentinel",void 0),Object(Pn.a)(this,"_trimTiles",void 0),this._list=new ur,this._sentinel=this._list.add("sentinel"),this._trimTiles=!1}return p()(e,[{key:"reset",value:function(){this._list.splice(this._list.tail,this._sentinel)}},{key:"touch",value:function(e){var t=e._cacheNode;cr(t)&&this._list.splice(this._sentinel,t)}},{key:"add",value:function(e,t,n){cr(t._cacheNode)||(t._cacheNode=this._list.add(t),n&&n(e,t))}},{key:"unloadTile",value:function(e,t,n){var r=t._cacheNode;cr(r)&&(this._list.remove(r),t._cacheNode=void 0,n&&n(e,t))}},{key:"unloadTiles",value:function(e,t){var n=this._trimTiles;this._trimTiles=!1;for(var r=this._list,i=1024*e.maximumMemoryUsage*1024,o=this._sentinel,a=r.head;a!==o&&(e.gpuMemoryUsageInBytes>i||n);){var s=a.item;a=a.next,this.unloadTile(e,s,t)}}},{key:"trim",value:function(){this._trimTiles=!0}}]),e}();var fr=new ne.a,hr=new ne.a,dr=new ze([new Re,new Re,new Re,new Re,new Re,new Re]);function pr(e,t){var n=e.cameraDirection,r=e.cameraUp,i=e.height,o=e.distanceScales.metersPerUnit,a=e.unprojectPosition(e.center),s=rr.WGS84.cartographicToCartesian(a,new ne.a),u=rr.WGS84.eastNorthUpToFixedFrame(s),c=e.unprojectPosition(e.cameraPosition),l=rr.WGS84.cartographicToCartesian(c,new ne.a),f=new ne.a(u.transformAsVector(new ne.a(n).scale(o))).normalize(),h=new ne.a(u.transformAsVector(new ne.a(r).scale(o))).normalize();return function(e,t){var n=e.getFrustumPlanes(),r=0;for(var i in n){var o=n[i],a=o.normal.dot(e.center);hr.copy(o.normal).scale(o.distance-a).add(e.center);var s=e.unprojectPosition(hr),u=rr.WGS84.cartographicToCartesian(s,new ne.a);dr.planes[r++].fromPointNormal(u,fr.copy(t).subtract(u))}}(e,s),{camera:{position:l,direction:f,up:h},viewport:e,height:i,cullingVolume:dr,frameNumber:t,sseDenominator:1.15}}var vr=new ne.a;function gr(e){var t=e.halfAxes,n=e.radius,r=e.width,i=e.height;if(t){var o=function(e){e.getColumn(0,vr);var t=e.getColumn(1),n=e.getColumn(2);return vr.add(t).add(n).len()}(t);return Math.log2(6356752.314245179/o)}return n?Math.log2(6356752.314245179/n):i&&r?(Math.log2(6378137/r)+Math.log2(6378137/i))/2:1}var yr=0,mr=1,br=3,_r=4,Or=5,wr=1,xr=2,Ar="empty",Pr="scenegraph",Sr="pointcloud",kr="mesh",Cr="I3S",jr="TILES3D",Er="geometricError",Tr=1;function Mr(e){return null!=e}var Br=new ne.a,Ir=new ne.a,Rr=new ne.a;function Lr(e,t,n){if(Object(or.a)(e,"3D Tile: boundingVolume must be defined"),e.box)return function(e,t,n){var r=new ne.a(e[0],e[1],e[2]);t.transform(r,r);var i=[];if(10===e.length){var o=e.slice(3,6),a=new de.a;a.fromArray(e,6);var s=new ne.a([1,0,0]),u=new ne.a([0,1,0]),c=new ne.a([0,0,1]);s.transformByQuaternion(a),s.scale(o[0]),u.transformByQuaternion(a),u.scale(o[1]),c.transformByQuaternion(a),c.scale(o[2]),i=[].concat(Z()(s.toArray()),Z()(u.toArray()),Z()(c.toArray()))}else i=[].concat(Z()(e.slice(3,6)),Z()(e.slice(6,9)),Z()(e.slice(9,12)));var l=t.transformAsVector(i.slice(0,3)),f=t.transformAsVector(i.slice(3,6)),h=t.transformAsVector(i.slice(6,9)),d=new he.a([l[0],l[1],l[2],f[0],f[1],f[2],h[0],h[1],h[2]]);if(Mr(n))return n.center=r,n.halfAxes=d,n;return new Ee(r,d)}(e.box,t,n);if(e.region){var r=A()(e.region,6),i=r[0],o=r[1],a=r[2],s=r[3],u=r[4],c=r[5],l=rr.WGS84.cartographicToCartesian([Object(Me.c)(i),Object(Me.c)(s),u],Ir),f=rr.WGS84.cartographicToCartesian([Object(Me.c)(a),Object(Me.c)(o),c],Rr),h=(new ne.a).addVectors(l,f).multiplyScalar(.5),d=(new ne.a).subVectors(l,f).len()/2;return Dr([h[0],h[1],h[2],d],new Ge.a)}if(e.sphere)return Dr(e.sphere,t,n);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function Dr(e,t,n){var r=new ne.a(e[0],e[1],e[2]);t.transform(r,r);var i=t.getScale(Br),o=Math.max(Math.max(i[0],i[1]),i[2]),a=e[3]*o;return Mr(n)?(n.center=r,n.radius=a,n):new ce(r,a)}new ne.a,new ne.a,new Ge.a,new ne.a,new ne.a,new ne.a;function Fr(e,t){if(e.dynamicScreenSpaceError&&e.dynamicScreenSpaceErrorComputedDensity){var n=e.dynamicScreenSpaceErrorComputedDensity,r=e.dynamicScreenSpaceErrorFactor;return function(e,t){var n=e*t;return 1-Math.exp(-n*n)}(t,n)*r}return 0}function Nr(e,t){var n=t.viewport,r=new(0,n.constructor)({longitude:n.longitude,latitude:n.latitude,height:n.height,width:n.width,bearing:n.bearing,zoom:n.zoom,pitch:0}),i=e.header.mbs[1],o=e.header.mbs[0],a=e.header.mbs[2],s=e.header.mbs[3],u=Z()(e.boundingVolume.center),c=r.unprojectPosition(r.cameraPosition),l=rr.WGS84.cartographicToCartesian(c,new ne.a),f=new ne.a(l).subtract(u).normalize(),h=new Ge.a;rr.WGS84.eastNorthUpToFixedFrame(u,h);var d=new Ge.a(h).invert(),p=new ne.a(l).transform(d),v=Math.sqrt(p[0]*p[0]+p[1]*p[1]),g=v*v/p[2],y=new ne.a([p[0],p[1],g]).transform(h),m=new ne.a(y).subtract(u).normalize(),b=f.cross(m).normalize().scale(s),_=new ne.a(u).add(b),O=rr.WGS84.cartesianToCartographic(_),w=r.project([o,i,a]),x=r.project(O);return new ne.a(w).subtract(x).magnitude()}var Ur=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;i()(this,e),Object(Pn.a)(this,"_map",new Map),Object(Pn.a)(this,"_array",void 0),Object(Pn.a)(this,"_length",void 0),this._array=new Array(t),this._length=t}return p()(e,[{key:"length",get:function(){return this._length},set:function(e){this._length=e,e>this._array.length&&(this._array.length=e)}},{key:"values",get:function(){return this._array}},{key:"get",value:function(e){return Object(or.a)(e=0),e>=this.length&&(this.length=e+1),this._map.has(this._array[e])&&this._map.delete(this._array[e]),this._array[e]=t,this._map.set(t,e)}},{key:"delete",value:function(e){var t=this._map.get(e);t>=0&&(this._array.splice(t,1),this._map.delete(e),this.length--)}},{key:"peek",value:function(){return this._array[this._length-1]}},{key:"push",value:function(e){if(!this._map.has(e)){var t=this.length++;this._array[t]=e,this._map.set(e,t)}}},{key:"pop",value:function(){var e=this._array[--this.length];return this._map.delete(e),e}},{key:"reserve",value:function(e){Object(or.a)(e>=0),e>this._array.length&&(this._array.length=e)}},{key:"resize",value:function(e){Object(or.a)(e>=0),this.length=e}},{key:"trim",value:function(e){null==e&&(e=this.length),this._array.length=e}},{key:"reset",value:function(){this._array=[],this._map=new Map,this._length=0}},{key:"find",value:function(e){return this._map.has(e)}}]),e}();function zr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Gr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Gr(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Gr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0;){var r=n.pop(),i=!1;this.canTraverse(r,t)&&(this.updateChildTiles(r,t),i=this.updateAndPushChildren(r,t,n,r.hasRenderContent?r._selectionDepth+1:r._selectionDepth));var o=r.parent,a=Boolean(!o||o._shouldRefine),s=!i;r.hasRenderContent?r.refine===wr?(this.loadTile(r,t),this.selectTile(r,t)):r.refine===xr&&(this.loadTile(r,t),s&&this.selectTile(r,t)):(this.emptyTiles[r.id]=r,this.loadTile(r,t),s&&this.selectTile(r,t)),this.touchTile(r,t),r._shouldRefine=i&&a}this.options.onTraversalEnd(t)}},{key:"updateChildTiles",value:function(e,t){var n,r=zr(e.children);try{for(r.s();!(n=r.n()).done;){var i=n.value;this.updateTile(i,t)}}catch(e){r.e(e)}finally{r.f()}return!0}},{key:"updateAndPushChildren",value:function(e,t,n,r){var i=this.options,o=i.loadSiblings,a=i.skipLevelOfDetail,s=e.children;s.sort(this.compareDistanceToCamera.bind(this));var u,c=e.refine===xr&&e.hasRenderContent&&!a,l=!1,f=!0,h=zr(s);try{for(h.s();!(u=h.n()).done;){var d=u.value;if(d._selectionDepth=r,d.isVisibleAndInRequestVolume?(n.find(d)&&n.delete(d),n.push(d),l=!0):(c||o)&&(this.loadTile(d,t),this.touchTile(d,t)),c){var p=void 0;if(p=!!d._inRequestVolume&&(d.hasRenderContent?d.contentAvailable:this.executeEmptyTraversal(d,t)),!(f=f&&p))return!1}}}catch(e){h.e(e)}finally{h.f()}return l||(f=!1),f}},{key:"updateTile",value:function(e,t){this.updateTileVisibility(e,t)}},{key:"selectTile",value:function(e,t){this.shouldSelectTile(e)&&(e._selectedFrame=t.frameNumber,this.selectedTiles[e.id]=e)}},{key:"loadTile",value:function(e,t){this.shouldLoadTile(e)&&(e._requestedFrame=t.frameNumber,e._priority=e._getPriority(),this.requestedTiles[e.id]=e)}},{key:"touchTile",value:function(e,t){e.tileset._cache.touch(e),e._touchedFrame=t.frameNumber}},{key:"canTraverse",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return!!e.hasChildren&&(e.hasTilesetContent?!e.contentExpired:!(!r&&!e.isVisibleAndInRequestVolume)&&this.shouldRefine(e,t,n))}},{key:"shouldLoadTile",value:function(e){return e.hasUnloadedContent||e.contentExpired}},{key:"shouldSelectTile",value:function(e){return e.contentAvailable&&!this.options.skipLevelOfDetail}},{key:"shouldRefine",value:function(e,t,n){var r=e._screenSpaceError;return n&&(r=e.getScreenSpaceError(t,!0)),r>this.options.maximumScreenSpaceError}},{key:"updateTileVisibility",value:function(e,t){var n=[];if(this.options.viewportTraversersMap)for(var r in this.options.viewportTraversersMap){this.options.viewportTraversersMap[r]===t.viewport.id&&n.push(r)}else n.push(t.viewport.id);e.updateVisibility(t,n)}},{key:"compareDistanceToCamera",value:function(e,t){return e._distanceToCamera-t._distanceToCamera}},{key:"anyChildrenVisible",value:function(e,t){var n,r=!1,i=zr(e.children);try{for(i.s();!(n=i.n()).done;){var o=n.value;o.updateVisibility(t),r=r||o.isVisibleAndInRequestVolume}}catch(e){i.e(e)}finally{i.f()}return r}},{key:"executeEmptyTraversal",value:function(e,t){var n=!0,r=this._emptyTraversalStack;for(r.push(e);r.length>0&&n;){var i=r.pop();if(this.updateTile(i,t),i.isVisibleAndInRequestVolume||this.loadTile(i,t),this.touchTile(i,t),!i.hasRenderContent&&this.canTraverse(i,t,!1,!0)){var o,a=zr(i.children);try{for(a.s();!(o=a.n()).done;){var s=o.value;r.find(s)&&r.delete(s),r.push(s)}}catch(e){a.e(e)}finally{a.f()}}else i.contentAvailable||(n=!1)}return n}}]),e}();function Xr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Kr(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:"";i()(this,e),Object(Pn.a)(this,"tileset",void 0),Object(Pn.a)(this,"header",void 0),Object(Pn.a)(this,"id",void 0),Object(Pn.a)(this,"url",void 0),Object(Pn.a)(this,"parent",void 0),Object(Pn.a)(this,"refine",void 0),Object(Pn.a)(this,"type",void 0),Object(Pn.a)(this,"contentUrl",void 0),Object(Pn.a)(this,"lodMetricType",void 0),Object(Pn.a)(this,"lodMetricValue",void 0),Object(Pn.a)(this,"boundingVolume",void 0),Object(Pn.a)(this,"content",void 0),Object(Pn.a)(this,"contentState",void 0),Object(Pn.a)(this,"gpuMemoryUsageInBytes",void 0),Object(Pn.a)(this,"children",void 0),Object(Pn.a)(this,"depth",void 0),Object(Pn.a)(this,"viewportIds",void 0),Object(Pn.a)(this,"transform",void 0),Object(Pn.a)(this,"extensions",void 0),Object(Pn.a)(this,"userData",void 0),Object(Pn.a)(this,"computedTransform",void 0),Object(Pn.a)(this,"hasEmptyContent",void 0),Object(Pn.a)(this,"hasTilesetContent",void 0),Object(Pn.a)(this,"traverser",void 0),Object(Pn.a)(this,"_cacheNode",void 0),Object(Pn.a)(this,"_frameNumber",void 0),Object(Pn.a)(this,"_lodJudge",void 0),Object(Pn.a)(this,"_expireDate",void 0),Object(Pn.a)(this,"_expiredContent",void 0),Object(Pn.a)(this,"_shouldRefine",void 0),Object(Pn.a)(this,"_distanceToCamera",void 0),Object(Pn.a)(this,"_centerZDepth",void 0),Object(Pn.a)(this,"_screenSpaceError",void 0),Object(Pn.a)(this,"_visibilityPlaneMask",void 0),Object(Pn.a)(this,"_visible",void 0),Object(Pn.a)(this,"_inRequestVolume",void 0),Object(Pn.a)(this,"_stackLength",void 0),Object(Pn.a)(this,"_selectionDepth",void 0),Object(Pn.a)(this,"_touchedFrame",void 0),Object(Pn.a)(this,"_visitedFrame",void 0),Object(Pn.a)(this,"_selectedFrame",void 0),Object(Pn.a)(this,"_requestedFrame",void 0),Object(Pn.a)(this,"_priority",void 0),Object(Pn.a)(this,"_contentBoundingVolume",void 0),Object(Pn.a)(this,"_viewerRequestVolume",void 0),Object(Pn.a)(this,"_initialTransform",void 0),this.header=n,this.tileset=t,this.id=o||n.id,this.url=n.url,this.parent=r,this.refine=this._getRefine(n.refine),this.type=n.type,this.contentUrl=n.contentUrl,this.lodMetricType="geometricError",this.lodMetricValue=0,this.boundingVolume=null,this.content=null,this.contentState=yr,this.gpuMemoryUsageInBytes=0,this.children=[],this.hasEmptyContent=!1,this.hasTilesetContent=!1,this.depth=0,this.viewportIds=[],this.userData={},this.extensions=null,this._priority=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._screenSpaceError=0,this._cacheNode=null,this._frameNumber=null,this._cacheNode=null,this.traverser=new Jr({}),this._shouldRefine=!1,this._distanceToCamera=0,this._centerZDepth=0,this._visible=void 0,this._inRequestVolume=!1,this._stackLength=0,this._selectionDepth=0,this._initialTransform=new Ge.a,this.transform=new Ge.a,this._initializeLodMetric(n),this._initializeTransforms(n),this._initializeBoundingVolumes(n),this._initializeContent(n),this._initializeRenderingState(n),this._lodJudge=null,this._expireDate=null,this._expiredContent=null,Object.seal(this)}var t;return p()(e,[{key:"destroy",value:function(){this.header=null}},{key:"isDestroyed",value:function(){return null===this.header}},{key:"selected",get:function(){return this._selectedFrame===this.tileset._frameNumber}},{key:"isVisible",get:function(){return this._visible}},{key:"isVisibleAndInRequestVolume",get:function(){return this._visible&&this._inRequestVolume}},{key:"hasRenderContent",get:function(){return!this.hasEmptyContent&&!this.hasTilesetContent}},{key:"hasChildren",get:function(){return this.children.length>0||this.header.children&&this.header.children.length>0}},{key:"contentReady",get:function(){return this.contentState===br||this.hasEmptyContent}},{key:"contentAvailable",get:function(){return Boolean(this.contentReady&&this.hasRenderContent||this._expiredContent&&!this.contentFailed)}},{key:"hasUnloadedContent",get:function(){return this.hasRenderContent&&this.contentUnloaded}},{key:"contentUnloaded",get:function(){return this.contentState===yr}},{key:"contentExpired",get:function(){return this.contentState===_r}},{key:"contentFailed",get:function(){return this.contentState===Or}},{key:"getScreenSpaceError",value:function(e,t){switch(this.tileset.type){case Cr:return Nr(this,e);case jr:return function(e,t,n){var r=e.tileset,i=e.parent&&e.parent.lodMetricValue||e.lodMetricValue,o=n?i:e.lodMetricValue;if(0===o)return 0;var a=Math.max(e._distanceToCamera,1e-7),s=t.height,u=t.sseDenominator,c=o*s*(r.options.viewDistanceScale||1)/(a*u);return c-=Fr(r,a)}(this,e,t);default:throw new Error("Unsupported tileset type")}}},{key:"_getPriority",value:function(){var e=this.tileset._traverser,t=e.options.skipLevelOfDetail,n=this.refine===wr||t;if(n&&!this.isVisible&&void 0!==this._visible)return-1;if(this.tileset._frameNumber-this._touchedFrame>=1)return-1;if(this.contentState===yr)return-1;var r=this.parent,i=r&&(!n||0===this._screenSpaceError||r.hasTilesetContent)?r._screenSpaceError:this._screenSpaceError,o=e.root?e.root._screenSpaceError:0;return Math.max(o-i,0)}},{key:"loadContent",value:(t=H()(J.a.mark((function e(){var t,n,r,i;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.hasEmptyContent){e.next=2;break}return e.abrupt("return",!1);case 2:if(!this.content){e.next=4;break}return e.abrupt("return",!0);case 4:return this.contentExpired&&(this._expireDate=null),this.contentState=mr,e.next=9,this.tileset._requestScheduler.scheduleRequest(this.id,this._getPriority.bind(this));case 9:if(t=e.sent){e.next=13;break}return this.contentState=yr,e.abrupt("return",!1);case 13:return e.prev=13,n=this.tileset.getTileUrl(this.contentUrl),r=this.tileset.loader,i=Kr(Kr({},this.tileset.loadOptions),{},g()({},r.id,Kr(Kr({},this.tileset.loadOptions[r.id]),{},{isTileset:"json"===this.type},this._getLoaderSpecificOptions(r.id)))),e.next=19,Object(An.a)(n,r,i);case 19:if(this.content=e.sent,!this.tileset.options.contentLoader){e.next=23;break}return e.next=23,this.tileset.options.contentLoader(this);case 23:return this._isTileset()&&this.tileset._initializeTileHeaders(this.content,this),this.contentState=br,this._onContentLoaded(),e.abrupt("return",!0);case 29:throw e.prev=29,e.t0=e.catch(13),this.contentState=Or,e.t0;case 33:return e.prev=33,t.done(),e.finish(33);case 36:case"end":return e.stop()}}),e,this,[[13,29,33,36]])}))),function(){return t.apply(this,arguments)})},{key:"unloadContent",value:function(){return this.content&&this.content.destroy&&this.content.destroy(),this.content=null,this.header.content&&this.header.content.destroy&&this.header.content.destroy(),this.header.content=null,this.contentState=yr,!0}},{key:"updateVisibility",value:function(e,t){if(this._frameNumber!==e.frameNumber){var n=this.parent,r=n?n._visibilityPlaneMask:ze.MASK_INDETERMINATE;if(this.tileset._traverser.options.updateTransforms){var i=n?n.computedTransform:this.tileset.modelMatrix;this._updateTransform(i)}this._distanceToCamera=this.distanceToTile(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._visibilityPlaneMask=this.visibility(e,r),this._visible=this._visibilityPlaneMask!==ze.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._frameNumber=e.frameNumber,this.viewportIds=t}}},{key:"visibility",value:function(e,t){var n=e.cullingVolume,r=this.boundingVolume;return n.computeVisibilityWithPlaneMask(r,t)}},{key:"contentVisibility",value:function(){return!0}},{key:"distanceToTile",value:function(e){var t=this.boundingVolume;return Math.sqrt(Math.max(t.distanceSquaredTo(e.camera.position),0))}},{key:"cameraSpaceZDepth",value:function(e){var t=e.camera,n=this.boundingVolume;return qr.subVectors(n.center,t.position),t.direction.dot(qr)}},{key:"insideViewerRequestVolume",value:function(e){var t=this._viewerRequestVolume;return!t||t.distanceSquaredTo(e.camera.position)<=0}},{key:"updateExpiration",value:function(){if(null!=this._expireDate&&this.contentReady&&!this.hasEmptyContent){var e=Date.now();Date.lessThan(this._expireDate,e)&&(this.contentState=_r,this._expiredContent=this.content)}}},{key:"extras",get:function(){return this.header.extras}},{key:"_initializeLodMetric",value:function(e){"lodMetricType"in e?this.lodMetricType=e.lodMetricType:(this.lodMetricType=this.parent&&this.parent.lodMetricType||this.tileset.lodMetricType,console.warn("3D Tile: Required prop lodMetricType is undefined. Using parent lodMetricType")),"lodMetricValue"in e?this.lodMetricValue=e.lodMetricValue:(this.lodMetricValue=this.parent&&this.parent.lodMetricValue||this.tileset.lodMetricValue,console.warn("3D Tile: Required prop lodMetricValue is undefined. Using parent lodMetricValue"))}},{key:"_initializeTransforms",value:function(e){this.transform=e.transform?new Ge.a(e.transform):new Ge.a;var t=this.parent,n=this.tileset,r=t&&t.computedTransform?t.computedTransform.clone():n.modelMatrix.clone();this.computedTransform=new Ge.a(r).multiplyRight(this.transform);var i=t&&t._initialTransform?t._initialTransform.clone():new Ge.a;this._initialTransform=new Ge.a(i).multiplyRight(this.transform)}},{key:"_initializeBoundingVolumes",value:function(e){this._contentBoundingVolume=null,this._viewerRequestVolume=null,this._updateBoundingVolume(e)}},{key:"_initializeContent",value:function(e){this.content={_tileset:this.tileset,_tile:this},this.hasEmptyContent=!0,this.contentState=yr,this.hasTilesetContent=!1,e.contentUrl&&(this.content=null,this.hasEmptyContent=!1)}},{key:"_initializeRenderingState",value:function(e){this.depth=e.level||(this.parent?this.parent.depth+1:0),this._shouldRefine=!1,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._visibilityPlaneMask=ze.MASK_INDETERMINATE,this._visible=void 0,this._inRequestVolume=!1,this._stackLength=0,this._selectionDepth=0,this._frameNumber=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._priority=0}},{key:"_getRefine",value:function(e){return e||this.parent&&this.parent.refine||xr}},{key:"_isTileset",value:function(){return-1!==this.contentUrl.indexOf(".json")}},{key:"_onContentLoaded",value:function(){switch(this.content&&this.content.type){case"vctr":case"geom":this.tileset._traverser.disableSkipLevelOfDetail=!0}this._isTileset()&&(this.hasTilesetContent=!0)}},{key:"_updateBoundingVolume",value:function(e){this.boundingVolume=Lr(e.boundingVolume,this.computedTransform,this.boundingVolume);var t=e.content;t&&(t.boundingVolume&&(this._contentBoundingVolume=Lr(t.boundingVolume,this.computedTransform,this._contentBoundingVolume)),e.viewerRequestVolume&&(this._viewerRequestVolume=Lr(e.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)))}},{key:"_updateTransform",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Ge.a,t=e.clone().multiplyRight(this.transform),n=!t.equals(this.computedTransform);n&&(this.computedTransform=t,this._updateBoundingVolume(this.header))}},{key:"_getLoaderSpecificOptions",value:function(e){switch(e){case"i3s":return Kr(Kr({},this.tileset.options.i3s),{},{tile:this.header,tileset:this.tileset.tileset,isTileHeader:!1});case"3d-tiles":case"cesium-ion":default:return{assetGltfUpAxis:(t=this.tileset.tileset).asset&&t.asset.gltfUpAxis||"Y"}}var t}}]),e}();function Yr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l()(e);if(t){var i=l()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u()(this,n)}}var Qr=function(e){a()(n,e);var t=Yr(n);function n(){return i()(this,n),t.apply(this,arguments)}return p()(n,[{key:"compareDistanceToCamera",value:function(e,t){return 0===t._distanceToCamera&&0===e._distanceToCamera?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera}},{key:"updateTileVisibility",value:function(e,t){if(Ut()(l()(n.prototype),"updateTileVisibility",this).call(this,e,t),e.isVisibleAndInRequestVolume){var r=e.children.length>0;if(e.hasTilesetContent&&r){var i=e.children[0];return this.updateTileVisibility(i,t),void(e._visible=i._visible)}if(this.meetsScreenSpaceErrorEarly(e,t))e._visible=!1;else{var o=e.refine===xr,a=e._optimChildrenWithinParent===Tr;o&&a&&r&&!this.anyChildrenVisible(e,t)&&(e._visible=!1)}}}},{key:"meetsScreenSpaceErrorEarly",value:function(e,t){var n=e.parent;return!(!n||n.hasTilesetContent||n.refine!==wr)&&!this.shouldRefine(e,t,!0)}}]),n}(Jr),$r=n(20),ei=n.n($r),ti="REQUESTED",ni="COMPLETED",ri="ERROR",ii=function(){function e(){i()(this,e),Object(Pn.a)(this,"_statusMap",void 0),this._statusMap={}}return p()(e,[{key:"add",value:function(e,t,n,r){var i=this;this._statusMap[t]||(this._statusMap[t]={request:e,callback:n,key:t,frameState:r,status:ti},e().then((function(e){i._statusMap[t].status=ni,i._statusMap[t].callback(e,r)})).catch((function(e){i._statusMap[t].status=ri,n(e)})))}},{key:"update",value:function(e,t){this._statusMap[e]&&(this._statusMap[e].frameState=t)}},{key:"find",value:function(e){return this._statusMap[e]}}]),e}();function oi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ai(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ui(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function hi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1)}},{key:"update",value:function(e){if((!("loadTiles"in this.options)||this.options.loadTiles)&&!(this.traverseCounter>0)){!e&&this.lastUpdatedVieports?e=this.lastUpdatedVieports:this.lastUpdatedVieports=e,e instanceof Array||(e=[e]),this._cache.reset(),this._frameNumber++,this.traverseCounter=e.length;var t,n=[],r=fi(e);try{for(r.s();!(t=r.n()).done;){var i=t.value.id;this._needTraverse(i)?n.push(i):this.traverseCounter--}}catch(e){r.e(e)}finally{r.f()}var o,a=fi(e);try{for(a.s();!(o=a.n()).done;){var s=o.value,u=s.id;if(this.roots[u]||(this.roots[u]=this._initializeTileHeaders(this.tileset,null)),n.includes(u)){var c=pr(s,this._frameNumber);this._traverser.traverse(this.roots[u],c,this.options)}}}catch(e){a.e(e)}finally{a.f()}}}},{key:"_needTraverse",value:function(e){var t=e;return this.options.viewportTraversersMap&&(t=this.options.viewportTraversersMap[e]),t===e}},{key:"_onTraversalEnd",value:function(e){var t=e.viewport.id;this.frameStateData[t]||(this.frameStateData[t]={selectedTiles:[],_requestedTiles:[],_emptyTiles:[]});var n=this.frameStateData[t],r=Object.values(this._traverser.selectedTiles);n.selectedTiles=r,n._requestedTiles=Object.values(this._traverser.requestedTiles),n._emptyTiles=Object.values(this._traverser.emptyTiles),this.traverseCounter--,this.traverseCounter>0||this._updateTiles()}},{key:"_updateTiles",value:function(){for(var e in this.selectedTiles=[],this._requestedTiles=[],this._emptyTiles=[],this.frameStateData){var t=this.frameStateData[e];this.selectedTiles=this.selectedTiles.concat(t.selectedTiles),this._requestedTiles=this._requestedTiles.concat(t._requestedTiles),this._emptyTiles=this._emptyTiles.concat(t._emptyTiles)}this.selectedTiles=this.options.onTraversalComplete(this.selectedTiles);var n,r=fi(this.selectedTiles);try{for(r.s();!(n=r.n()).done;){var i=n.value;this._tiles[i.id]=i}}catch(e){r.e(e)}finally{r.f()}this._loadTiles(),this._unloadTiles(),this._updateStats()}},{key:"_tilesChanged",value:function(e,t){if(e.length!==t.length)return!0;var n=new Set(e.map((function(e){return e.id}))),r=new Set(t.map((function(e){return e.id}))),i=e.filter((function(e){return!r.has(e.id)})).length>0;return i=i||t.filter((function(e){return!n.has(e.id)})).length>0}},{key:"_loadTiles",value:function(){var e,t=fi(this._requestedTiles);try{for(t.s();!(e=t.n()).done;){var n=e.value;n.contentUnloaded&&this._loadTile(n)}}catch(e){t.e(e)}finally{t.f()}}},{key:"_unloadTiles",value:function(){this._cache.unloadTiles(this,(function(e,t){return e._unloadTile(t)}))}},{key:"_updateStats",value:function(){var e,t=0,n=0,r=fi(this.selectedTiles);try{for(r.s();!(e=r.n()).done;){var i=e.value;i.contentAvailable&&i.content&&(t++,i.content.pointCount&&(n+=i.content.pointCount))}}catch(e){r.e(e)}finally{r.f()}this.stats.get("Tiles In View").count=this.selectedTiles.length,this.stats.get("Tiles To Render").count=t,this.stats.get("Points").count=n}},{key:"_initializeTileSet",value:function(e){this.root=this._initializeTileHeaders(e,null),this.type===jr&&this._initializeCesiumTileset(e),this.type===Cr&&this._initializeI3STileset(),this._calculateViewProps()}},{key:"_calculateViewProps",value:function(){var e=this.root;Object(or.a)(e);var t=e.boundingVolume.center;if(!t)return console.warn("center was not pre-calculated for the root tile"),this.cartographicCenter=new ne.a,void(this.zoom=1);this.cartographicCenter=rr.WGS84.cartesianToCartographic(t,new ne.a),this.cartesianCenter=t,this.zoom=gr(e.boundingVolume)}},{key:"_initializeStats",value:function(){this.stats.get("Tiles In Tileset(s)"),this.stats.get("Tiles Loading"),this.stats.get("Tiles In Memory"),this.stats.get("Tiles In View"),this.stats.get("Tiles To Render"),this.stats.get("Tiles Loaded"),this.stats.get("Tiles Unloaded"),this.stats.get("Failed Tile Loads"),this.stats.get("Points","memory"),this.stats.get("Tile Memory Use","memory")}},{key:"_initializeTileHeaders",value:function(e,t){var n=new Zr(this,e.root,t);if(t&&(t.children.push(n),n.depth=t.depth+1),this.type===jr){var r=[];for(r.push(n);r.length>0;){var i=r.pop();this.stats.get("Tiles In Tileset(s)").incrementCount();var o,a=fi(i.header.children||[]);try{for(a.s();!(o=a.n()).done;){var s=o.value,u=new Zr(this,s,i);i.children.push(u),u.depth=i.depth+1,r.push(u)}}catch(e){a.e(e)}finally{a.f()}}}return n}},{key:"_initializeTraverser",value:function(){var e;switch(this.type){case jr:e=Qr;break;case Cr:e=li;break;default:e=Jr}return new e({basePath:this.basePath,onTraversalEnd:this._onTraversalEnd.bind(this)})}},{key:"_destroyTileHeaders",value:function(e){this._destroySubtree(e)}},{key:"_loadTile",value:(t=H()(J.a.mark((function e(t){var n;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this._onStartTileLoading(),e.next=4,t.loadContent();case 4:n=e.sent,e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),this._onTileLoadError(t,e.t0);case 10:return e.prev=10,this._onEndTileLoading(),this._onTileLoad(t,n),e.finish(10);case 14:case"end":return e.stop()}}),e,this,[[0,7,10,14]])}))),function(e){return t.apply(this,arguments)})},{key:"_onTileLoadError",value:function(e,t){this.stats.get("Failed Tile Loads").incrementCount();var n=t.message||t.toString(),r=e.url;console.error("A 3D tile failed to load: ".concat(e.url," ").concat(n)),this.options.onTileError(e,n,r)}},{key:"_onTileLoad",value:function(e,t){t&&(e&&e.content&&function(e,t){Object(or.a)(e),Object(or.a)(t);var n=t.rtcCenter,r=t.gltfUpAxis,i=e.computedTransform,o=e.boundingVolume.center,a=new Ge.a(i);switch(n&&a.translate(n),r){case"Z":break;case"Y":var s=(new Ge.a).rotateX(Math.PI/2);a=a.multiplyRight(s);break;case"X":var u=(new Ge.a).rotateY(-Math.PI/2);a=a.multiplyRight(u)}t.isQuantized&&a.translate(t.quantizedVolumeOffset).scale(t.quantizedVolumeScale);var c=new ne.a(o);t.cartesianModelMatrix=a,t.cartesianOrigin=c;var l=rr.WGS84.cartesianToCartographic(c,new ne.a),f=rr.WGS84.eastNorthUpToFixedFrame(c).invert();t.cartographicModelMatrix=f.multiplyRight(a),t.cartographicOrigin=l,t.coordinateSystem||(t.modelMatrix=t.cartographicModelMatrix)}(e,e.content),this._addTileToCache(e),this.options.onTileLoad(e))}},{key:"_onStartTileLoading",value:function(){this._pendingCount++,this.stats.get("Tiles Loading").incrementCount()}},{key:"_onEndTileLoading",value:function(){this._pendingCount--,this.stats.get("Tiles Loading").decrementCount()}},{key:"_addTileToCache",value:function(e){this._cache.add(this,e,(function(t){return t._updateCacheStats(e)}))}},{key:"_updateCacheStats",value:function(e){this.stats.get("Tiles Loaded").incrementCount(),this.stats.get("Tiles In Memory").incrementCount(),this.gpuMemoryUsageInBytes+=e.content.byteLength||0,this.stats.get("Tile Memory Use").count=this.gpuMemoryUsageInBytes}},{key:"_unloadTile",value:function(e){this.gpuMemoryUsageInBytes-=e.content&&e.content.byteLength||0,this.stats.get("Tiles In Memory").decrementCount(),this.stats.get("Tiles Unloaded").incrementCount(),this.stats.get("Tile Memory Use").count=this.gpuMemoryUsageInBytes,this.options.onTileUnload(e),e.unloadContent()}},{key:"_destroy",value:function(){var e=[];for(this.root&&e.push(this.root);e.length>0;){var t,n=e.pop(),r=fi(n.children);try{for(r.s();!(t=r.n()).done;){var i=t.value;e.push(i)}}catch(e){r.e(e)}finally{r.f()}this._destroyTile(n)}this.root=null}},{key:"_destroySubtree",value:function(e){var t=e,n=[];for(n.push(t);n.length>0;){var r,i=fi((e=n.pop()).children);try{for(i.s();!(r=i.n()).done;){var o=r.value;n.push(o)}}catch(e){i.e(e)}finally{i.f()}e!==t&&this._destroyTile(e)}t.children=[]}},{key:"_destroyTile",value:function(e){this._cache.unloadTile(this,e),this._unloadTile(e),e.destroy()}},{key:"_initializeCesiumTileset",value:function(e){if(this.asset=e.asset,!this.asset)throw new Error("Tileset must have an asset property.");if("0.0"!==this.asset.version&&"1.0"!==this.asset.version)throw new Error("The tileset must be 3D Tiles version 0.0 or 1.0.");"tilesetVersion"in this.asset&&(this._queryParams.v=this.asset.tilesetVersion),this.credits={attributions:this.options.attributions||[]},this.description=this.options.description||"",this.properties=e.properties,this.geometricError=e.geometricError,this._extensionsUsed=e.extensionsUsed,this.extras=e.extras}},{key:"_initializeI3STileset",value:function(){this.loadOptions.i3s&&"token"in this.loadOptions.i3s&&(this._queryParams.token=this.loadOptions.i3s.token)}}]),e}();var yi={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"};Object.keys(yi);function mi(e,t,n){Object(or.a)(e instanceof ArrayBuffer);var r=new TextDecoder("utf8"),i=new Uint8Array(e,t,n);return r.decode(i)}function bi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=new DataView(e);return"".concat(String.fromCharCode(n.getUint8(t+0))).concat(String.fromCharCode(n.getUint8(t+1))).concat(String.fromCharCode(n.getUint8(t+2))).concat(String.fromCharCode(n.getUint8(t+3)))}var _i,Oi=n(178),wi=(_i={},g()(_i,5130,Float64Array),g()(_i,5126,Float32Array),g()(_i,5123,Uint16Array),g()(_i,5125,Uint32Array),g()(_i,5121,Uint8Array),g()(_i,5120,Int8Array),g()(_i,5122,Int16Array),g()(_i,5124,Int32Array),_i),xi={DOUBLE:5130,FLOAT:5126,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125,UNSIGNED_BYTE:5121,BYTE:5120,SHORT:5122,INT:5124},Ai=function(){function e(){i()(this,e)}return p()(e,null,[{key:"fromTypedArray",value:function(e){for(var t in e=ArrayBuffer.isView(e)?e.constructor:e,wi){if(wi[t]===e)return t}throw new Error("Failed to convert GL type")}},{key:"fromName",value:function(e){var t=xi[e];if(!t)throw new Error("Failed to convert GL type");return t}},{key:"getArrayType",value:function(e){switch(e){case 33635:case 32819:case 32820:return Uint16Array;default:var t=wi[e];if(!t)throw new Error("Failed to convert GL type");return t}}},{key:"getByteSize",value:function(t){return e.getArrayType(t).BYTES_PER_ELEMENT}},{key:"validate",value:function(t){return Boolean(e.getArrayType(t))}},{key:"createTypedArray",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;void 0===i&&(i=(n.byteLength-r)/e.getByteSize(t));var o=e.getArrayType(t);return new o(n,r,i)}}]),e}(),Pi=function(){function e(t,n){i()(this,e),Object(Pn.a)(this,"json",void 0),Object(Pn.a)(this,"buffer",void 0),Object(Pn.a)(this,"featuresLength",0),Object(Pn.a)(this,"_cachedTypedArrays",{}),this.json=t,this.buffer=n}return p()(e,[{key:"getExtension",value:function(e){return this.json.extensions&&this.json.extensions[e]}},{key:"hasProperty",value:function(e){return Boolean(this.json[e])}},{key:"getGlobalProperty",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5125,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=this.json[e];return r&&Number.isFinite(r.byteOffset)?this._getTypedArrayFromBinary(e,t,n,1,r.byteOffset):r}},{key:"getPropertyArray",value:function(e,t,n){var r=this.json[e];return r&&Number.isFinite(r.byteOffset)?("componentType"in r&&(t=Ai.fromName(r.componentType)),this._getTypedArrayFromBinary(e,t,n,this.featuresLength,r.byteOffset)):this._getTypedArrayFromArray(e,t,r)}},{key:"getProperty",value:function(e,t,n,r,i){var o=this.json[e];if(!o)return o;var a=this.getPropertyArray(e,t,n);if(1===n)return a[r];for(var s=0;s0?function(e,t,n){var r=e.classIds,i=e.parentCounts,o=e.parentIds,a=e.parentIndexes,s=r.length,u=scratchVisited;u.length=Math.max(u.length,s);var c=++marker,l=scratchStack;l.length=0,l.push(t);for(;l.length>0;)if(t=l.pop(),u[t]!==c){u[t]=c;var f=n(e,t);if(ji(f))return f;for(var h=i[t],d=a[t],p=0;p3&&void 0!==arguments[3]?arguments[3]:{};for(var s in i()(this,e),Object(Pn.a)(this,"json",void 0),Object(Pn.a)(this,"binary",void 0),Object(Pn.a)(this,"featureCount",void 0),Object(Pn.a)(this,"_extensions",void 0),Object(Pn.a)(this,"_properties",void 0),Object(Pn.a)(this,"_binaryProperties",void 0),Object(Pn.a)(this,"_hierarchy",void 0),Object(or.a)(r>=0),this.json=t||{},this.binary=n,this.featureCount=r,this._extensions=(null===(o=this.json)||void 0===o?void 0:o.extensions)||{},this._properties={},this.json)Ri[s]||(this._properties[s]=this.json[s]);this._binaryProperties=this._initializeBinaryProperties(),a["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Ei(this,this.json,this.binary))}return p()(e,[{key:"getExtension",value:function(e){return this.json&&this.json.extensions&&this.json.extensions[e]}},{key:"memorySizeInBytes",value:function(){return 0}},{key:"isClass",value:function(e,t){return this._checkBatchId(e),Object(or.a)("string"==typeof t,t),!!this._hierarchy&&Bi(Ti(this._hierarchy,e,(function(e,n){var r=e.classIds[n];return e.classes[r].name===t})))}},{key:"isExactClass",value:function(e,t){return Object(or.a)("string"==typeof t,t),this.getExactClassName(e)===t}},{key:"getExactClassName",value:function(e){if(this._checkBatchId(e),this._hierarchy){var t=this._hierarchy.classIds[e];return this._hierarchy.classes[t].name}}},{key:"hasProperty",value:function(e,t){return this._checkBatchId(e),Object(or.a)("string"==typeof t,t),Bi(this._properties[t])||this._hasPropertyInHierarchy(e,t)}},{key:"getPropertyNames",value:function(e,t){var n;this._checkBatchId(e),(t=Bi(t)?t:[]).length=0;var r=Object.keys(this._properties);return(n=t).push.apply(n,Z()(r)),this._hierarchy&&this._getPropertyNamesInHierarchy(e,t),t}},{key:"getProperty",value:function(e,t){if(this._checkBatchId(e),Object(or.a)("string"==typeof t,t),this._binaryProperties){var n=this._binaryProperties[t];if(Bi(n))return this._getBinaryProperty(n,e)}var r=this._properties[t];if(Bi(r))return Ii(r[e]);if(this._hierarchy){var i=this._getHierarchyProperty(e,t);if(Bi(i))return i}}},{key:"setProperty",value:function(e,t,n){var r=this.featureCount;if(this._checkBatchId(e),Object(or.a)("string"==typeof t,t),this._binaryProperties){var i=this._binaryProperties[t];if(i)return void this._setBinaryProperty(i,e,n)}if(!this._hierarchy||!this._setHierarchyProperty(this,e,t,n)){var o=this._properties[t];Bi(o)||(this._properties[t]=new Array(r),o=this._properties[t]),o[e]=Ii(n)}}},{key:"_checkBatchId",value:function(e){if(!(e>=0&&e2&&void 0!==arguments[2]?arguments[2]:0,r=new DataView(t);if(e.magic=r.getUint32(n,!0),n+=4,e.version=r.getUint32(n,!0),n+=4,e.byteLength=r.getUint32(n,!0),n+=4,1!==e.version)throw new Error("3D Tile Version ".concat(e.version," not supported"));return n}function Fi(e,t,n){var r,i=new DataView(t);e.header=e.header||{};var o=i.getUint32(n,!0);n+=4;var a=i.getUint32(n,!0);n+=4;var s=i.getUint32(n,!0);n+=4;var u=i.getUint32(n,!0);return n+=4,s>=570425344?(n-=8,r=o,s=a,u=0,o=0,a=0,console.warn("b3dm tile in legacy format.")):u>=570425344&&(n-=4,r=s,s=o,u=a,o=0,a=0,console.warn("b3dm tile in legacy format.")),e.header.featureTableJsonByteLength=o,e.header.featureTableBinaryByteLength=a,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=r,n}function Ni(e,t,n,r){return n=function(e,t,n,r){var i=e.header,o=i.featureTableJsonByteLength,a=i.featureTableBinaryByteLength,s=i.batchLength;if(e.featureTableJson={BATCH_LENGTH:s||0},o>0){var u=mi(t,n,o);e.featureTableJson=JSON.parse(u)}return n+=o,e.featureTableBinary=new Uint8Array(t,n,a),n+=a}(e,t,n),n=function(e,t,n,r){var i=e.header,o=i.batchTableJsonByteLength,a=i.batchTableBinaryByteLength;if(o>0){var s=mi(t,n,o);e.batchTableJson=JSON.parse(s),n+=o,a>0&&(e.batchTableBinary=new Uint8Array(t,n,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),n+=a)}return n}(e,t,n)}function Ui(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=e>>11&31,r=e>>5&63,i=31&e;return t[0]=n<<3,t[1]=r<<2,t[2]=i<<3,t}function zi(e,t,n){if(!(t||e&&e.batchIds&&n))return null;var r=e.batchIds,i=e.isRGB565,o=e.pointCount;if(r&&n){for(var a=new Uint8ClampedArray(3*o),s=0;s1&&void 0!==arguments[1]?arguments[1]:255;return Object(Me.a)(e,0,t)/t*2-1}function Wi(e){return e<0?-1:1}function Ji(e,t,n,r){if(Vi(r),e<0||e>n||t<0||t>n)throw new Error("x and y must be unsigned normalized integers between 0 and ".concat(n));if(r.x=Hi(e,n),r.y=Hi(t,n),r.z=1-(Math.abs(r.x)+Math.abs(r.y)),r.z<0){var i=r.x;r.x=(1-Math.abs(r.y))*Wi(i),r.y=(1-Math.abs(i))*Wi(r.y)}return r.normalize()}function Xi(e,t,n){return Ji(e,t,255,n)}var Ki=new ne.a;function qi(e,t,n){return e.isQuantized?n["3d-tiles"]&&n["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,function(e,t){for(var n=new ne.a,r=new Float32Array(3*e.pointCount),i=0;i12)){e.next=13;break}return u={},t.tiles.push(u),e.next=10,a(n,r,i,o,u);case 10:r=e.sent,e.next=5;break;case 13:return e.abrupt("return",r);case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function So(e,t,n,r){return ko.apply(this,arguments)}function ko(){return(ko=H()(J.a.mark((function e(t,n,r,i){var o;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.rotateYtoZ=!0,t.gltfUpAxis=r["3d-tiles"]&&r["3d-tiles"].assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",o=i.parse,e.next=5,o(n,co.a,r,i);case 5:t.gltf=e.sent;case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Co(e){return jo.apply(this,arguments)}function jo(){return(jo=H()(J.a.mark((function e(t){var n,r,i,o,a=arguments;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=a.length>1&&void 0!==a[1]?a[1]:0,r=a.length>2?a[2]:void 0,i=a.length>3?a[3]:void 0,(o=a.length>4&&void 0!==a[4]?a[4]:{}).byteOffset=n,o.type=bi(t,n),e.t0=o.type,e.next=e.t0===yi.COMPOSITE?9:e.t0===yi.BATCHED_3D_MODEL?12:e.t0===yi.GLTF?15:e.t0===yi.INSTANCED_3D_MODEL?18:e.t0===yi.POINT_CLOUD?21:24;break;case 9:return e.next=11,Ao(o,t,n,r,i,Co);case 11:return e.abrupt("return",e.sent);case 12:return e.next=14,mo(o,t,n,r,i);case 14:return e.abrupt("return",e.sent);case 15:return e.next=17,So(o,t,r,i);case 17:return e.abrupt("return",e.sent);case 18:return e.next=20,Oo(o,t,n,r,i);case 20:return e.abrupt("return",e.sent);case 21:return e.next=23,Qi(o,t,n,r,i);case 23:return e.abrupt("return",e.sent);case 24:throw new Error("3DTileLoader: unknown type ".concat(o.type));case 25:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Eo=n(101);function To(){return(To=H()(J.a.mark((function e(t){var n,r,i,o,a,s,u;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(1952609651===new Uint32Array(t.slice(0,4))[0]){e.next=3;break}throw new Error("Wrong subtree file magic number");case 3:if(1===new Uint32Array(t.slice(4,8))[0]){e.next=6;break}throw new Error("Wrong subtree file verson, must be 1");case 6:if(n=Io(t.slice(8,16)),r=new Uint8Array(t,24,n),i=new TextDecoder("utf8"),o=i.decode(r),a=JSON.parse(o),s=Io(t.slice(16,24)),u=new ArrayBuffer(0),s&&(u=t.slice(24+n)),!("bufferView"in a.tileAvailability)){e.next=18;break}return e.next=17,Mo(a,"tileAvailability",u);case 17:a.tileAvailability.explicitBitstream=e.sent;case 18:if(!("bufferView"in a.contentAvailability)){e.next=22;break}return e.next=21,Mo(a,"contentAvailability",u);case 21:a.contentAvailability.explicitBitstream=e.sent;case 22:if(!("bufferView"in a.childSubtreeAvailability)){e.next=26;break}return e.next=25,Mo(a,"childSubtreeAvailability",u);case 25:a.childSubtreeAvailability.explicitBitstream=e.sent;case 26:return e.abrupt("return",a);case 27:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Mo(e,t,n){return Bo.apply(this,arguments)}function Bo(){return(Bo=H()(J.a.mark((function e(t,n,r){var i,o,a,s,u;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t[n].bufferView,o=t.bufferViews[i],!(a=t.buffers[o.buffer]).uri){e.next=11;break}return e.next=6,Object(Eo.a)(a.uri);case 6:return s=e.sent,e.next=9,s.arrayBuffer();case 9:return u=e.sent,e.abrupt("return",new Uint8Array(u,o.byteOffset,o.byteLength));case 11:return e.abrupt("return",new Uint8Array(r,o.byteOffset,o.byteLength));case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Io(e){var t=new DataView(e),n=t.getUint32(0,!0),r=t.getUint32(4,!0);return n+Math.pow(2,32)*r}var Ro={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:"3.1.5",extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:function(e){return To.apply(this,arguments)},options:{}},Lo={QUADTREE:4,OCTREE:8};function Do(e,t){return Fo.apply(this,arguments)}function Fo(){return(Fo=H()(J.a.mark((function e(t,n){var r,i,o,a,s,u,c,l,f,h,d,p,v,g,y,m,b,_,O,w,x,A,P,S,k,C,j,E,T,M,B,I,R,L,D=arguments;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=D.length>2&&void 0!==D[2]?D[2]:{mortonIndex:0,x:0,y:0,z:0},i=D.length>3&&void 0!==D[3]?D[3]:0,o=D.length>4&&void 0!==D[4]?D[4]:0,a=D.length>5&&void 0!==D[5]?D[5]:{level:0,mortonIndex:0,x:0,y:0,z:0},s=n.subdivisionScheme,u=n.subtreeLevels,c=n.maximumLevel,l=n.contentUrlTemplate,f=n.subtreesUriTemplate,h=n.basePath,d={children:[],lodMetricValue:0,contentUrl:""},p=Lo[s],v=1&i,g=i>>1&1,y=i>>2&1,m=(Math.pow(p,o)-1)/(p-1),b=zo(r.mortonIndex,i),_=m+b,O=zo(r.x,v),w=zo(r.y,g),x=zo(r.z,y),A=!1,o+1>u&&(A=No(t.childSubtreeAvailability,b)),P=zo(a.x,O),S=zo(a.y,w),k=zo(a.z,x),C=o+a.level,!A){e.next=40;break}return j="".concat(h,"/").concat(f),E=Go(j,C,P,S,k),e.next=27,Object(An.a)(E,Ro);case 27:T=e.sent,t=T,a.mortonIndex=b,a.x=O,a.y=w,a.z=x,a.level=o,b=0,_=0,O=0,w=0,x=0,o=0;case 40:if(No(t.tileAvailability,_)&&!(o>c)){e.next=43;break}return e.abrupt("return",d);case 43:No(t.contentAvailability,_)&&(d.contentUrl=Go(l,C,P,S,k)),M=o+1,B={mortonIndex:b,x:O,y:w,z:x},I=0;case 48:if(!(I>o&1));var n,r,i,o}function Uo(e,t,n,r){var i=r.basePath,o=r.refine,a=r.getRefine,s=r.lodMetricType,u=r.getTileType,c=r.rootLodMetricValue,l=r.rootBoundingVolume,f=e.contentUrl&&e.contentUrl.replace("".concat(i,"/"),""),h=c/Math.pow(2,t),d=function(e,t,n){if(t.region){var r=n.childTileX,i=n.childTileY,o=n.childTileZ,a=A()(t.region,6),s=a[0],u=a[1],c=a[2],l=a[3],f=a[4],h=a[5],d=Math.pow(2,e),p=(c-s)/d,v=(l-u)/d,g=(h-f)/d;return{region:[s+p*r,u+v*i,s+p*(r+1),u+v*(i+1),f+g*o,f+g*(o+1)]}}return console.warn("Unsupported bounding volume type: ",t),null}(t,l,n);return{children:e.children,contentUrl:e.contentUrl,content:{uri:f},id:e.contentUrl,refine:a(o),type:u(e),lodMetricType:s,lodMetricValue:h,boundingVolume:d}}function zo(e,t){return parseInt(e.toString(2)+t.toString(2),2)}function Go(e,t,n,r,i){var o=function(e){var t={};for(var n in e)t["{".concat(n,"}")]=e[n];return t}({level:t,x:n,y:r,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,(function(e){return o[e]}))}function Vo(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ho(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ho(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ho(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0;){var i,o=Vo((r.pop()||{}).children||[]);try{for(o.s();!(i=o.n()).done;){var a=i.value;Xo(a,{basePath:t}),r.push(a)}}catch(e){o.e(e)}finally{o.f()}}return n}function qo(e){return Zo.apply(this,arguments)}function Zo(){return(Zo=H()(J.a.mark((function e(t){var n,r,i,o,a,s,u,c,l,f,h,d,p,v;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.root){e.next=2;break}return e.abrupt("return",null);case 2:return n=t.basePath,r=t.root.extensions["3DTILES_implicit_tiling"],i=r.subdivisionScheme,o=r.maximumLevel,a=r.subtreeLevels,s=r.subtrees.uri,u=Go(s,0,0,0,0),c="".concat(n,"/").concat(u),e.next=9,Object(An.a)(c,Ro);case 9:return l=e.sent,f="".concat(n,"/").concat(t.root.content.uri),h=t.root.refine,d=t.root.geometricError,p=t.root.boundingVolume,v={contentUrlTemplate:f,subtreesUriTemplate:s,subdivisionScheme:i,subtreeLevels:a,maximumLevel:o,refine:h,basePath:n,lodMetricType:Er,rootLodMetricValue:d,rootBoundingVolume:p,getTileType:Wo,getRefine:Jo},e.next=17,Yo(t.root,l,v);case 17:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Yo(e,t,n){return Qo.apply(this,arguments)}function Qo(){return(Qo=H()(J.a.mark((function e(t,n,r){var i,o,a;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",null);case 2:return t.lodMetricType=Er,t.lodMetricValue=t.geometricError,t.transformMatrix=t.transform,e.next=7,Do(n,r);case 7:return i=e.sent,o=i.children,(a=i.contentUrl)&&(t.contentUrl=a,t.content={uri:a.replace("".concat(r.basePath,"/"),"")}),t.refine=Jo(t.refine),t.type=Wo(t),t.children=o,t.id=t.contentUrl,e.abrupt("return",t);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var $o={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:"3.1.5",extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:function(e,t,n){return oa.apply(this,arguments)},options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};function ea(e){return ar.b.dirname(e.url)}function ta(e,t,n){return na.apply(this,arguments)}function na(){return(na=H()(J.a.mark((function e(t,n,r){var i;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i={content:{featureIds:null}},0,e.next=4,Co(t,0,n,r,i.content);case 4:return e.abrupt("return",i.content);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ra(e,t,n){return ia.apply(this,arguments)}function ia(){return(ia=H()(J.a.mark((function e(t,n,r){var i,o;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((o=JSON.parse((new TextDecoder).decode(t))).loader=n.loader||$o,o.url=r.url,o.basePath=ea(o),!aa(o)){e.next=10;break}return e.next=7,qo(o);case 7:e.t0=e.sent,e.next=11;break;case 10:e.t0=Ko(o);case 11:return o.root=e.t0,o.type=jr,o.lodMetricType=Er,o.lodMetricValue=(null===(i=o.root)||void 0===i?void 0:i.lodMetricValue)||0,e.abrupt("return",o);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function oa(){return(oa=H()(J.a.mark((function e(t,n,r){var i;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=n["3d-tiles"]||{},!("auto"===i.isTileset?r.url&&-1!==r.url.indexOf(".json"):i.isTileset)){e.next=8;break}return e.next=5,ra(t,n,r);case 5:t=e.sent,e.next=11;break;case 8:return e.next=10,ta(t,n,r);case 10:t=e.sent;case 11:return e.abrupt("return",t);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function aa(e){var t,n;return(null==e?void 0:null===(t=e.extensionsRequired)||void 0===t?void 0:t.includes("3DTILES_implicit_tiling"))&&(null==e?void 0:null===(n=e.extensionsUsed)||void 0===n?void 0:n.includes("3DTILES_implicit_tiling"))}function sa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ua(e){for(var t=1;tt[1])&&this.setState({zRange:[r,i]})}}}},{key:"renderLayers",value:function(){var e=this.props,t=e.color,n=e.material,r=e.elevationData,i=e.texture,o=e.wireframe,a=e.meshMaxError,s=e.elevationDecoder,u=e.tileSize,c=e.maxZoom,l=e.minZoom,f=e.extent,h=e.maxRequests,d=e.onTileLoad,p=e.onTileUnload,v=e.onTileError,g=e.maxCacheSize,y=e.maxCacheByteSize,m=e.refinementStrategy;return this.state.isTiled?new Ft(this.getSubLayerProps({id:"tiles"}),{wireframe:o,color:t,material:n,getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:_a(r),texture:_a(i),meshMaxError:a,elevationDecoder:s}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:u,maxZoom:c,minZoom:l,extent:f,maxRequests:h,onTileLoad:d,onTileUnload:p,onTileError:v,maxCacheSize:g,maxCacheByteSize:y,refinementStrategy:m}):new(this.getSubLayerClass("mesh",bn.a))(this.getSubLayerProps({id:"mesh"}),{data:ma,mesh:this.state.terrain,texture:i,_instanced:!1,getPosition:function(e){return[0,0,0]},getColor:t,material:n,wireframe:o})}}]),n}(y.a);function wa(e){for(var t,n,r=0,i=0,o=e.length-1;i>3}if(i--,1===r||2===r)o+=e.readSVarint(),a+=e.readSVarint(),1===r&&(t&&s.push(t),t=[]),t&&t.push([o,a]);else{if(7!==r)throw new Error("unknown command ".concat(r));t&&t.push(t[0].slice())}}return t&&s.push(t),s}},{key:"bbox",value:function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,n=1,r=0,i=0,o=0,a=1/0,s=-1/0,u=1/0,c=-1/0;e.pos>3}if(r--,1===n||2===n)(i+=e.readSVarint())s&&(s=i),(o+=e.readSVarint())c&&(c=o);else if(7!==n)throw new Error("unknown command ".concat(n))}return[a,u,s,c]}},{key:"_toGeoJSON",value:function(t){var n,r,i=this.loadGeometry(),o=e.types[this.type];switch(this.type){case 1:var a=[];for(n=0;n=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new Aa(this._pbf,t,this.extent,this._keys,this._values)}}]),e}();function Sa(e,t,n){t&&n&&(15===e?t.version=n.readVarint():1===e?t.name=n.readString():5===e?t.extent=n.readVarint():2===e?t._features.push(n.pos):3===e?t._keys.push(n.readString()):4===e&&t._values.push(function(e){var t=null,n=e.readVarint()+e.pos;for(;e.pos>3;t=1===r?e.readString():2===r?e.readFloat():3===r?e.readDouble():4===r?e.readVarint64():5===r?e.readVarint():6===r?e.readSVarint():7===r?e.readBoolean():null}return t}(n)))}var ka=function e(t,n){i()(this,e),Object(Pn.a)(this,"layers",void 0),this.layers=t.readFields(Ca,{},n)};function Ca(e,t,n){if(3===e&&n){var r=new Pa(n,n.readVarint()+n.pos);r.length&&t&&(t[r.name]=r)}}var ja,Ea,Ta,Ma,Ba,Ia,Ra,La=n(42);function Da(e){var t=e.indices.length;if(t<=1)return{type:"Polygon",data:e.data,areas:[[Object(La.g)(e.data)]],indices:[e.indices]};for(var n,r,i,o=[],a=[],s=[],u=[],c=0,l=0;l=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ua(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n>3),Ma--,1===Ea||2===Ea)Ba+=e.readSVarint(),Ia+=e.readSVarint(),1===Ea&&t.push(Ra),n.push(Ba,Ia),Ra+=2;else{if(7!==Ea)throw new Error("unknown command ".concat(Ea));if(Ra>0){var r=t[t.length-1];n.push(n[r],n[r+1]),Ra+=2}}return{data:n,indices:t}}},{key:"_toBinaryCoordinates",value:function(e){var t,n=this.loadGeometry();e(n.data,this);switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=n.indices.length,t=Ga({type:"Point"},n);break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=n.indices.length,this._geometryInfo.linePositionsCount+=n.data.length/2,t=Ga({type:"LineString"},n);break;case 3:t=Da(n),this._geometryInfo.polygonFeaturesCount++,this._geometryInfo.polygonObjectsCount+=t.indices.length;var r,i=Na(t.indices);try{for(i.s();!(r=i.n()).done;){var o=r.value;this._geometryInfo.polygonRingsCount+=o.length}}catch(e){i.e(e)}finally{i.f()}this._geometryInfo.polygonPositionsCount+=t.data.length/2;break;default:throw new Error("Invalid geometry type: ".concat(this.type))}var a={type:"Feature",geometry:t,properties:this.properties};return null!==this.id&&(a.id=this.id),a}},{key:"toBinaryCoordinates",value:function(e){if("function"==typeof e)return this._toBinaryCoordinates(e);var t=e.x,n=e.y,r=e.z,i=this.extent*Math.pow(2,r),o=this.extent*t,a=this.extent*n;return this._toBinaryCoordinates((function(e){return function(e,t,n,r){for(var i=0,o=e.length;i=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var n=this._pbf.readVarint()+this._pbf.pos;return new Va(this._pbf,n,this.extent,this._keys,this._values,t)}}]),e}();function Wa(e,t,n){t&&n&&(15===e?t.version=n.readVarint():1===e?t.name=n.readString():5===e?t.extent=n.readVarint():2===e?t._features.push(n.pos):3===e?t._keys.push(n.readString()):4===e&&t._values.push(function(e){var t=null,n=e.readVarint()+e.pos;for(;e.pos>3;t=1===r?e.readString():2===r?e.readFloat():3===r?e.readDouble():4===r?e.readVarint64():5===r?e.readVarint():6===r?e.readSVarint():7===r?e.readBoolean():null}return t}(n)))}var Ja=function e(t,n){i()(this,e),Object(Pn.a)(this,"layers",void 0),this.layers=t.readFields(Xa,{},n)};function Xa(e,t,n){if(3===e&&n){var r=new Ha(n,n.readVarint()+n.pos);r.length&&t&&(t[r.name]=r)}}function Ka(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return qa(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return qa(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function qa(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n65535?Uint32Array:Uint16Array,_={type:"Point",positions:new y(r*d),globalFeatureIds:new b(r),featureIds:i>65535?new Uint32Array(r):new Uint16Array(r),numericProps:{},properties:[],fields:[]},O={type:"LineString",pathIndices:o>65535?new Uint32Array(a+1):new Uint16Array(a+1),positions:new y(o*d),globalFeatureIds:new b(o),featureIds:s>65535?new Uint32Array(o):new Uint16Array(o),numericProps:{},properties:[],fields:[]},w={type:"Polygon",polygonIndices:u>65535?new Uint32Array(c+1):new Uint16Array(c+1),primitivePolygonIndices:u>65535?new Uint32Array(l+1):new Uint16Array(l+1),positions:new y(u*d),triangles:[],globalFeatureIds:new b(u),featureIds:f>65535?new Uint32Array(u):new Uint16Array(u),numericProps:{},properties:[],fields:[]},x=0,A=[_,O,w];x0){var o=r?new Ja(new cs.a(e)):new ka(new cs.a(e)),a=t.mvt;(Array.isArray(a.layers)?a.layers:Object.keys(o.layers)).forEach((function(e){var t=o.layers[e],s=fs(fs({},a),{},{layerName:e});if(t)for(var u=0;u=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function xs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1)return{type:"MultiPoint",coordinates:r};return{type:"Point",coordinates:r[0]}}(e,t,n);case"LineString":return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1/0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,r=e.positions,i=e.pathIndices.value.filter((function(e){return e>=t&&e<=n})),o=i.length>2;if(!o){var a=js(r,i[0],i[1]);return{type:"LineString",coordinates:a}}for(var s=[],u=0;u1&&void 0!==arguments[1]?arguments[1]:-1/0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,i=t.positions,o=t.polygonIndices.value.filter((function(e){return e>=n&&e<=r})),a=t.primitivePolygonIndices.value.filter((function(e){return e>=n&&e<=r})),s=o.length>2;if(!s){for(var u=[],c=0;c1&&void 0!==arguments[1]?arguments[1]:0,n=(arguments.length>2&&arguments[2],Object.assign({},e.properties[e.featureIds.value[t]]));for(var r in e.numericProps)n[r]=e.numericProps[r].value[t];return n}(e,t,n)},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;arguments.length>2&&arguments[2];return e.fields&&e.fields[e.featureIds.value[t]]}(e,t,n))}function js(e,t,n){t=t||0,n=n||e.value.length/e.size;for(var r=[],i=t;i=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ns(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=o&&i[t]=0?e.globalFeatureIds.value[c]:-1}return(u=t?Gs(e.properties,(function(e){return e[t]===n}),o,a):Gs(e.fields,(function(e){return e.id===n}),o,a))>=0?function(e,t){if(!e.__ids){for(var n=[],r=e.featureIds.value,i=e.globalFeatureIds.value,o=0;o=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Hs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.minZoom&&(t.minZoom=n.minzoom),Number.isFinite(n.maxzoom)&&(!Number.isFinite(e.maxZoom)||n.maxzoom=0)return s}}catch(e){o.e(e)}finally{o.f()}return-1}(u,a,l,c?"":r):-1}},{key:"_pickObjects",value:function(e){var t=this.context,n=t.deck,r=t.viewport,i=r.width,o=r.height,a=r.x,s=r.y,u=[this.id];return n.pickObjects({x:a,y:s,width:i,height:o,layerIds:u,maxObjects:e})}},{key:"getRenderedFeatures",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=this._pickObjects(t),r=new Set,i=[],o=Vs(n);try{for(o.s();!(e=o.n()).done;){var a=e.value,s=Zs(a.object,this.props.uniqueIdProperty);void 0===s?i.push(a.object):r.has(s)||(r.add(s),i.push(a.object))}}catch(e){o.e(e)}finally{o.f()}return i}},{key:"_setWGS84PropertyForTiles",value:function(){var e=this;this.state.tileset.selectedTiles.forEach((function(t){t.hasOwnProperty("dataInWGS84")||Object.defineProperty(t,"dataInWGS84",{get:function(){if(!t.content)return null;if(e.state.binary&&Array.isArray(t.content)&&!t.content.length)return[];if(void 0===t._contentWGS84){var n=e.state.binary?As(t.content):t.content;t._contentWGS84=n.map((function(n){return $s(n,t.bbox,e.context.viewport)}))}return t._contentWGS84}})}))}}]),r}(Ft);function Zs(e,t){return t?e.properties[t]:"id"in e?e.id:void 0}function Ys(e){var t;return(null===(t=e.properties)||void 0===t?void 0:t.layerName)||null}function Qs(e){return null!=e&&""!==e}function $s(e,t,n){var r=Xs(Xs({},e),{},{geometry:{type:e.geometry.type}});return Object.defineProperty(r.geometry,"coordinates",{get:function(){return function(e,t,n){var r=[n.projectFlat([t.west,t.north]),n.projectFlat([t.east,t.south])];return Ms(Ms({},e),{},{coordinates:Bs[e.type](e.coordinates,r,n)})}(e.geometry,t,n).coordinates}}),r}qs.layerName="MVTLayer",qs.defaultProps=Ks,n.d(t,"GreatCircleLayer",(function(){return h})),n.d(t,"S2Layer",(function(){return L})),n.d(t,"QuadkeyLayer",(function(){return U})),n.d(t,"TileLayer",(function(){return Ft})),n.d(t,"TripsLayer",(function(){return Ht})),n.d(t,"H3ClusterLayer",(function(){return Zt})),n.d(t,"H3HexagonLayer",(function(){return fn})),n.d(t,"Tile3DLayer",(function(){return ha})),n.d(t,"TerrainLayer",(function(){return Oa})),n.d(t,"MVTLayer",(function(){return qs})),n.d(t,"_getURLFromTemplate",(function(){return bt}))},function(e,t,n){"use strict";n.r(t);var r,i,o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(0),m=n.n(y),b=n(22),_=n(182),O=n(10),w=n(253),x=n(199),A=n(179),P=n(328),S=n(329),k=n(153),C=n(215),j={SUM:1,MEAN:2,MIN:3,MAX:4};function E(e,t){return e+t}function T(e,t){return t>e?t:e}function M(e,t){return t1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isFinite(e))return e;return function(n){return t.index=n.index,e(n.source,t)}}(t,n),r){case j.MIN:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(M,1/0):null}(e,t)};case j.SUM:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?e.length*t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(E,0):null}(e,t)};case j.MEAN:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(E,0)/n.length:null}(e,t)};case j.MAX:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(T,-1/0):null}(e,t)};default:return null}}function I(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){return t.indices=n.map((function(e){return e.index})),e(n.map((function(e){return e.source})),t)}}var R,L={projectPoints:!1,viewport:null,createBufferObjects:!0,moduleSettings:{}},D=[32775,32774],F=[32776,32774],N=[32776,32775],U=(r={},m()(r,j.SUM,32774),m()(r,j.MEAN,32774),m()(r,j.MIN,D),m()(r,j.MAX,F),r),z={size:1,operation:j.SUM,needMin:!1,needMax:!1,combineMaxMin:!1},G=(i={},m()(i,10240,9728),m()(i,10241,9728),n(105)),V=n(81),H=(R={},m()(R,10240,9728),m()(R,10241,9728),R);function W(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.width,r=void 0===n?1:n,i=t.height,o=void 0===i?1:i,a=t.data,s=void 0===a?null:a,u=t.unpackFlipY,c=void 0===u||u,l=t.parameters,f=void 0===l?H:l,h=new G.a(e,{data:s,format:Object(O.j)(e)?34836:6408,type:5126,border:0,mipmaps:!1,parameters:f,dataFormat:6408,width:r,height:o,unpackFlipY:c});return h}function J(e,t){var n=t.id,r=t.width,i=void 0===r?1:r,o=t.height,a=void 0===o?1:o,s=t.texture;return new V.a(e,{id:n,width:i,height:a,attachments:m()({},36064,s)})}function X(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return K(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return K(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};a()(this,e),this.id=n.id||"gpu-grid-aggregator",this.gl=t,this.state={weightAttributes:{},textures:{},meanTextures:{},buffers:{},framebuffers:{},maxMinFramebuffers:{},minFramebuffers:{},maxFramebuffers:{},equations:{},resources:{},results:{}},this._hasGPUSupport=Object(O.j)(t)&&Object(w.c)(this.gl,_.a.BLEND_EQUATION_MINMAX,_.a.COLOR_ATTACHMENT_RGBA32F,_.a.TEXTURE_FLOAT),this._hasGPUSupport&&this._setupModels()}return u()(e,[{key:"delete",value:function(){var e=this.gridAggregationModel,t=this.allAggregationModel,n=this.meanTransform,r=this.state,i=r.textures,o=r.framebuffers,a=r.maxMinFramebuffers,s=r.minFramebuffers,u=r.maxFramebuffers,c=r.meanTextures,l=r.resources;null==e||e.delete(),null==t||t.delete(),null==n||n.delete(),function(e){(e=Array.isArray(e)?e:[e]).forEach((function(e){for(var t in e)e[t].delete()}))}([o,i,a,s,u,c,l])}},{key:"run",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.setState({results:{}});var t=this._normalizeAggregationParams(e);return this._hasGPUSupport||b.a.log(1,"GPUGridAggregator: not supported")(),this._runAggregation(t)}},{key:"getData",value:function(e){var t={},n=this.state.results;for(var r in n[e].aggregationData||(n[e].aggregationData=n[e].aggregationBuffer.getData()),t.aggregationData=n[e].aggregationData,Q){var i=Q[r];(n[e][r]||n[e][i])&&(n[e][r]=n[e][r]||n[e][i].getData(),t[r]=n[e][r])}return t}},{key:"updateShaders",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.setState({shaderOptions:e,modelDirty:!0})}},{key:"_normalizeAggregationParams",value:function(e){var t=Z(Z({},L),e),n=t.weights;return n&&(t.weights=function(e){var t={};for(var n in e)t[n]=Z(Z({},z),e[n]);return t}(n)),t}},{key:"setState",value:function(e){Object.assign(this.state,e)}},{key:"_getAggregateData",value:function(e){var t={},n=this.state,r=n.textures,i=n.framebuffers,o=n.maxMinFramebuffers,a=n.minFramebuffers,s=n.maxFramebuffers,u=n.resources,c=e.weights;for(var l in c){t[l]={};var f=c[l],h=f.needMin,d=f.needMax,p=f.combineMaxMin;t[l].aggregationTexture=r[l],t[l].aggregationBuffer=Object(x.d)(i[l],{target:c[l].aggregationBuffer,sourceType:5126}),h&&d&&p?(t[l].maxMinBuffer=Object(x.d)(o[l],{target:c[l].maxMinBuffer,sourceType:5126}),t[l].maxMinTexture=u["".concat(l,"-maxMinTexture")]):(h&&(t[l].minBuffer=Object(x.d)(a[l],{target:c[l].minBuffer,sourceType:5126}),t[l].minTexture=u["".concat(l,"-minTexture")]),d&&(t[l].maxBuffer=Object(x.d)(s[l],{target:c[l].maxBuffer,sourceType:5126}),t[l].maxTexture=u["".concat(l,"-maxTexture")]))}return this._trackGPUResultBuffers(t,c),t}},{key:"_renderAggregateData",value:function(e){var t=e.cellSize,n=e.projectPoints,r=e.attributes,i=e.moduleSettings,o=e.numCol,a=e.numRow,s=e.weights,u=e.translation,c=e.scaling,l=this.state,f=l.maxMinFramebuffers,h=l.minFramebuffers,d=l.maxFramebuffers,p=[o,a],v={blend:!0,depthTest:!1,blendFunc:[1,1]},g={cellSize:t,gridSize:p,projectPoints:n,translation:u,scaling:c};for(var y in s){var m=s[y],b=m.needMin,_=m.needMax,O=b&&_&&s[y].combineMaxMin;this._renderToWeightsTexture({id:y,parameters:v,moduleSettings:i,uniforms:g,gridSize:p,attributes:r,weights:s}),O?this._renderToMaxMinTexture({id:y,parameters:Z(Z({},v),{},{blendEquation:N}),gridSize:p,minOrMaxFb:f[y],clearParams:{clearColor:[0,0,0,3402823466e29]},combineMaxMin:O}):(b&&this._renderToMaxMinTexture({id:y,parameters:Z(Z({},v),{},{blendEquation:D}),gridSize:p,minOrMaxFb:h[y],clearParams:{clearColor:[3402823466e29,3402823466e29,3402823466e29,0]},combineMaxMin:O}),_&&this._renderToMaxMinTexture({id:y,parameters:Z(Z({},v),{},{blendEquation:F}),gridSize:p,minOrMaxFb:d[y],clearParams:{clearColor:[0,0,0,0]},combineMaxMin:O}))}}},{key:"_renderToMaxMinTexture",value:function(e){var t=e.id,n=e.parameters,r=e.gridSize,i=e.minOrMaxFb,o=e.combineMaxMin,a=e.clearParams,s=void 0===a?{}:a,u=this.state.framebuffers,c=this.gl,l=this.allAggregationModel;Object(O.o)(c,Z(Z({},s),{},{framebuffer:i,viewport:[0,0,r[0],r[1]]}),(function(){c.clear(16384),l.draw({parameters:n,uniforms:{uSampler:u[t].texture,gridSize:r,combineMaxMin:o}})}))}},{key:"_renderToWeightsTexture",value:function(e){var t=e.id,n=e.parameters,r=e.moduleSettings,i=e.uniforms,o=e.gridSize,a=e.weights,s=this.state,u=s.framebuffers,c=s.equations,l=s.weightAttributes,f=this.gl,h=this.gridAggregationModel,d=a[t].operation,p=d===j.MIN?[3402823466e29,3402823466e29,3402823466e29,0]:[0,0,0,0];if(Object(O.o)(f,{framebuffer:u[t],viewport:[0,0,o[0],o[1]],clearColor:p},(function(){f.clear(16384);var e={weights:l[t]};h.draw({parameters:Z(Z({},n),{},{blendEquation:c[t]}),moduleSettings:r,uniforms:i,attributes:e})})),d===j.MEAN){var v=this.state,g=v.meanTextures,y=v.textures,b={_sourceTextures:{aggregationValues:g[t]},_targetTexture:y[t],elementCount:y[t].width*y[t].height};this.meanTransform?this.meanTransform.update(b):this.meanTransform=function(e,t){return new P.a(e,Z({vs:"#define SHADER_NAME gpu-aggregation-transform-mean-vs\nattribute vec4 aggregationValues;\nvarying vec4 meanValues;\n\nvoid main()\n{\n bool isCellValid = bool(aggregationValues.w > 0.);\n meanValues.xyz = isCellValid ? aggregationValues.xyz/aggregationValues.w : vec3(0, 0, 0);\n meanValues.w = aggregationValues.w;\n gl_PointSize = 1.0;\n}\n",_targetTextureVarying:"meanValues"},t))}(f,b),this.meanTransform.run({parameters:{blend:!1,depthTest:!1}}),u[t].attach(m()({},36064,y[t]))}}},{key:"_runAggregation",value:function(e){this._updateModels(e),this._setupFramebuffers(e),this._renderAggregateData(e);var t=this._getAggregateData(e);return this.setState({results:t}),t}},{key:"_setupFramebuffers",value:function(e){var t=this.state,n=t.textures,r=t.framebuffers,i=t.maxMinFramebuffers,o=t.minFramebuffers,a=t.maxFramebuffers,s=t.meanTextures,u=t.equations,c=e.weights,l=e.numCol,f=e.numRow,h={width:l,height:f};for(var d in c){var p=c[d],v=p.needMin,g=p.needMax,y=p.combineMaxMin,b=p.operation;n[d]=c[d].aggregationTexture||n[d]||W(this.gl,{id:"".concat(d,"-texture"),width:l,height:f}),n[d].resize(h);var _=n[d];b===j.MEAN&&(s[d]=s[d]||W(this.gl,{id:"".concat(d,"-mean-texture"),width:l,height:f}),s[d].resize(h),_=s[d]),r[d]?r[d].attach(m()({},36064,_)):r[d]=J(this.gl,{id:"".concat(d,"-fb"),width:l,height:f,texture:_}),r[d].resize(h),u[d]=U[b]||U.SUM,(v||g)&&(v&&g&&y?i[d]||(_=c[d].maxMinTexture||this._getMinMaxTexture("".concat(d,"-maxMinTexture")),i[d]=J(this.gl,{id:"".concat(d,"-maxMinFb"),texture:_})):(v&&(o[d]||(_=c[d].minTexture||this._getMinMaxTexture("".concat(d,"-minTexture")),o[d]=J(this.gl,{id:"".concat(d,"-minFb"),texture:_}))),g&&(a[d]||(_=c[d].maxTexture||this._getMinMaxTexture("".concat(d,"-maxTexture")),a[d]=J(this.gl,{id:"".concat(d,"-maxFb"),texture:_})))))}}},{key:"_getMinMaxTexture",value:function(e){var t=this.state.resources;return t[e]||(t[e]=W(this.gl,{id:"resourceName"})),t[e]}},{key:"_setupModels",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.numCol,r=void 0===n?0:n,i=t.numRow,o=void 0===i?0:i,a=this.gl,s=this.state.shaderOptions;if(null===(e=this.gridAggregationModel)||void 0===e||e.delete(),this.gridAggregationModel=te(a,s),!this.allAggregationModel){var u=r*o;this.allAggregationModel=ne(a,u)}}},{key:"_setupWeightAttributes",value:function(e){var t=this.state.weightAttributes,n=e.weights;for(var r in n)t[r]=e.attributes[r]}},{key:"_trackGPUResultBuffers",value:function(e,t){var n=this.state.resources;for(var r in e)if(e[r]){var i,o=X(Y);try{for(o.s();!(i=o.n()).done;){var a=i.value;if(e[r][a]&&t[r][a]!==e[r][a]){var s="gpu-result-".concat(r,"-").concat(a);n[s]&&n[s].delete(),n[s]=e[r][a]}}}catch(e){o.e(e)}finally{o.f()}}}},{key:"_updateModels",value:function(e){var t=e.vertexCount,n=e.attributes,r=e.numCol,i=e.numRow;this.state.modelDirty&&(this._setupModels(e),this.setState({modelDirty:!1})),this._setupWeightAttributes(e),this.gridAggregationModel.setVertexCount(t),this.gridAggregationModel.setAttributes(n),this.allAggregationModel.setInstanceCount(r*i)}}],[{key:"getAggregationData",value:function(e){var t=e.aggregationData,n=e.maxData,r=e.minData,i=e.maxMinData,o=4*e.pixelIndex,a={};return t&&(a.cellCount=t[o+3],a.cellWeight=t[o]),i?(a.maxCellWieght=i[0],a.minCellWeight=i[3]):(n&&(a.maxCellWieght=n[0],a.totalCount=n[3]),r&&(a.minCellWeight=r[0],a.totalCount=n[3])),a}},{key:"getCellData",value:function(e){for(var t=e.countsData,n=e.size,r=void 0===n?1:n,i=t.length/4,o=new Float32Array(i*r),a=new Uint32Array(i),s=0;s 0. ? result.xy * scaling.xy : result.xy;\n return result.xy;\n}\n\nvoid main(void) {\n\n vWeights = weights;\n\n vec4 windowPos = vec4(positions, 1.);\n if (projectPoints) {\n windowPos = project_position_to_clipspace(positions, positions64Low, vec3(0));\n }\n\n vec2 pos = project_to_pixel(windowPos);\n\n vec2 pixelXY64[2];\n pixelXY64[0] = vec2(pos.x, 0.);\n pixelXY64[1] = vec2(pos.y, 0.);\n vec2 gridXY64[2];\n gridXY64[0] = div_fp64(pixelXY64[0], vec2(cellSize.x, 0));\n gridXY64[1] = div_fp64(pixelXY64[1], vec2(cellSize.y, 0));\n float x = floor(gridXY64[0].x);\n float y = floor(gridXY64[1].x);\n pos = vec2(x, y);\n pos = (pos * (2., 2.) / (gridSize)) - (1., 1.);\n vec2 offset = 1.0 / gridSize;\n pos = pos + offset;\n\n gl_Position = vec4(pos, 0.0, 1.0);\n gl_PointSize = 1.0;\n}\n",fs:"#define SHADER_NAME gpu-aggregation-to-grid-fs\n\nprecision highp float;\n\nvarying vec3 vWeights;\n\nvoid main(void) {\n gl_FragColor = vec4(vWeights, 1.0);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[S.b,C.a]},t);return new A.a(e,Z({id:"Gird-Aggregation-Model",vertexCount:1,drawMode:0},n))}function ne(e,t){return new A.a(e,{id:"All-Aggregation-Model",vs:"#version 300 es\n#define SHADER_NAME gpu-aggregation-all-vs-64\n\nin vec2 position;\nuniform ivec2 gridSize;\nout vec2 vTextureCoord;\n\nvoid main(void) {\n vec2 pos = vec2(-1.0, -1.0);\n vec2 offset = 1.0 / vec2(gridSize);\n pos = pos + offset;\n\n gl_Position = vec4(pos, 0.0, 1.0);\n\n int yIndex = gl_InstanceID / gridSize[0];\n int xIndex = gl_InstanceID - (yIndex * gridSize[0]);\n\n vec2 yIndexFP64 = vec2(float(yIndex), 0.);\n vec2 xIndexFP64 = vec2(float(xIndex), 0.);\n vec2 gridSizeYFP64 = vec2(gridSize[1], 0.);\n vec2 gridSizeXFP64 = vec2(gridSize[0], 0.);\n\n vec2 texCoordXFP64 = div_fp64(yIndexFP64, gridSizeYFP64);\n vec2 texCoordYFP64 = div_fp64(xIndexFP64, gridSizeXFP64);\n\n vTextureCoord = vec2(texCoordYFP64.x, texCoordXFP64.x);\n gl_PointSize = 1.0;\n}\n",fs:"#version 300 es\n#define SHADER_NAME gpu-aggregation-all-fs\n\nprecision highp float;\n\nin vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform bool combineMaxMin;\nout vec4 fragColor;\nvoid main(void) {\n vec4 textureColor = texture(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));\n if (textureColor.a == 0.) {\n discard;\n }\n fragColor.rgb = textureColor.rgb;\n fragColor.a = combineMaxMin ? textureColor.r : textureColor.a;\n}\n",modules:[S.b],vertexCount:1,drawMode:0,isInstanced:!0,instanceCount:t,attributes:{position:[0,0]}})}var re=n(70),ie=n(235),oe=n(155),ae=[[255,255,178],[254,217,118],[254,178,76],[253,141,60],[240,59,32],[189,0,38]];function se(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Float32Array;if(Number.isFinite(e[0]))t=new r(e);else{t=new r(4*e.length);for(var i=0,o=0;o= domain.x && value <= domain.y) {\n float domainRange = domain.y - domain.x;\n if (domainRange <= 0.) {\n outColor = colorRange[0];\n } else {\n float rangeCount = float(RANGE_COUNT);\n float rangeStep = domainRange / rangeCount;\n float idx = floor((value - domain.x) / rangeStep);\n idx = clamp(idx, 0., rangeCount - 1.);\n int intIdx = int(idx);\n outColor = colorRange[intIdx];\n }\n }\n outColor = outColor / 255.;\n return outColor;\n}\n\nvoid main(void) {\n vSampleCount = instanceCounts.a;\n\n float weight = instanceCounts.r;\n float maxWeight = texture2D(maxTexture, vec2(0.5)).r;\n\n float step = weight / maxWeight;\n vec4 minMaxColor = mix(minColor, maxColor, step) / 255.;\n\n vec2 domain = colorDomain;\n float domainMaxValid = float(colorDomain.y != 0.);\n domain.y = mix(maxWeight, colorDomain.y, domainMaxValid);\n vec4 rangeColor = quantizeScale(domain, colorRange, weight);\n\n float rangeMinMax = float(shouldUseMinMax);\n vec4 color = mix(rangeColor, minMaxColor, rangeMinMax);\n vColor = vec4(color.rgb, color.a * opacity);\n picking_setPickingColor(instancePickingColors);\n\n gl_Position = vec4(instancePositions + positions * cellScale, 1.);\n}\n",fs:"#define SHADER_NAME screen-grid-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying float vSampleCount;\n\nvoid main(void) {\n if (vSampleCount <= 0.0) {\n discard;\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[ie.a]}}},{key:"initializeState",value:function(){var e=this.context.gl;this.getAttributeManager().addInstanced({instancePositions:{size:3,update:this.calculateInstancePositions},instanceCounts:{size:4,noAlloc:!0}}),this.setState({model:this._getModel(e)})}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.somethingChanged}},{key:"updateState",value:function(e){var t=e.oldProps,r=e.props,i=e.changeFlags;l()(g()(n.prototype),"updateState",this).call(this,{oldProps:t,props:r,changeFlags:i});var o=this.getAttributeManager();r.numInstances!==t.numInstances?o.invalidateAll():t.cellSizePixels!==r.cellSizePixels&&o.invalidate("instancePositions"),this._updateUniforms(t,r,i)}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.parameters,i=n.maxTexture,o=this.props.minColor||fe,a=this.props.maxColor||he,s=this.props.colorDomain||[1,0];this.state.model.setUniforms(t).setUniforms({minColor:o,maxColor:a,maxTexture:i,colorDomain:s}).draw({parameters:ce({depthTest:!1,depthMask:!1},r)})}},{key:"calculateInstancePositions",value:function(e,t){for(var n=t.numInstances,r=this.context.viewport,i=r.width,o=r.height,a=this.props.cellSizePixels,s=Math.ceil(i/a),u=e.value,c=e.size,l=0;lc?c:0,f=new Float32Array([(u-l)/o*2,-(u-l)/a*2,1]);r.setUniforms({cellScale:f})}}}],[{key:"isSupported",value:function(e){return Object(w.c)(e,[_.a.TEXTURE_FLOAT])}}]),n}(oe.a);ve.layerName="ScreenGridCellLayer",ve.defaultProps=pe;var ge=n(131),ye=n(156),me=n(192);function be(e,t){var n={};for(var r in e)t.includes(r)||(n[r]=e[r]);return n}function _e(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Oe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Oe(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Oe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.props,r=e.oldProps,i=e.changeFlags,o=t.compareAll,a=void 0!==o&&o,s=t.dimension,u=this.state.ignoreProps,c=s.props,l=s.accessors,f=void 0===l?[]:l,h=i.updateTriggersChanged;if(i.dataChanged)return!0;if(h){if(h.all)return!0;var d,p=_e(f);try{for(p.s();!(d=p.n()).done;){var v=d.value;if(h[v])return!0}}catch(e){p.e(e)}finally{p.f()}}if(a)return!!i.extensionsChanged||Object(ge.a)({oldProps:r,newProps:n,ignoreProps:u,propTypes:this.constructor._propTypes});var g,y=_e(c);try{for(y.s();!(g=y.n()).done;){var m=g.value;if(n[m]!==r[m])return!0}}catch(e){y.e(e)}finally{y.f()}return!1}},{key:"isAttributeChanged",value:function(e){var t=this.state.changedAttributes;return e?t&&void 0!==t[e]:!function(e){var t=!0;for(var n in e){t=!1;break}return t}(t)}},{key:"_getAttributeManager",value:function(){return new ye.a(this.context.gl,{id:this.props.id,stats:this.context.stats})}}]),n}(me.a);xe.layerName="AggregationLayer";var Ae=n(37),Pe=n(11),Se=n.n(Pe);function ke(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ce(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ce(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n>>1;Be(e[i],t)>0?r=i:n=i+1}return n}(e,n)]}(o,t,e)};return a.thresholds=function(){return o},je(e,t,a)}function Be(e,t){return e-t}function Ie(e,t){var n=e.length;if(t<=0||n<2)return e[0];if(t>=1)return e[n-1];var r=(n-1)*t,i=Math.floor(r),o=e[i];return o+(e[i+1]-o)*(r-i)}function Re(e,t){var n,r=new Map,i=[],o=ke(e);try{for(o.s();!(n=o.n()).done;){var a=n.value,s="".concat(a);r.has(s)||r.set(s,i.push(a))}}catch(e){o.e(e)}finally{o.f()}return je(e,t,(function(e){return function(e,t,n,r){var i="".concat(r),o=t.get(i);return void 0===o&&(o=e.push(r),t.set(i,o)),n[(o-1)%n.length]}(i,r,t,e)}))}function Le(e){return null!=e}function De(e,t){return("function"==typeof t?e.map(t):e).filter(Le)}function Fe(e,t){return De(e,t)}function Ne(e,t){return n=De(e,t),r=[],n.forEach((function(e){!r.includes(e)&&Le(e)&&r.push(e)})),r;var n,r}function Ue(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return ze(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ze(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ze(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nt?1:e>=t?0:NaN},Je={getValue:Ge,getPoints:Ve,getIndex:He,filterData:null},Xe=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Je;a()(this,e),this.aggregatedBins=this.getAggregatedBins(t,n),this._updateMinMaxValues(),this.binMap=this.getBinMap()}return u()(e,[{key:"getAggregatedBins",value:function(e,t){for(var n=t.getValue,r=void 0===n?Ge:n,i=t.getPoints,o=void 0===i?Ve:i,a=t.getIndex,s=void 0===a?He:a,u=t.filterData,c="function"==typeof u,l=e.length,f=[],h=0,d=0;da.counts?t:a.counts,n=n>a.value?n:a.value,r=r1&&void 0!==arguments[1]?arguments[1]:[],n=Se()(t,2),r=n[0],i=void 0===r?0:r,o=n[1],a=void 0===o?100:o;if(this.sortedBins||(this.sortedBins=this.aggregatedBins.sort((function(e,t){return We(e.value,t.value)}))),!this.sortedBins.length)return[];var s=this._percentileToIndex([i,a]);return this._getScaleDomain(e,s)}},{key:"_getScaleDomain",value:function(e,t){var n=Se()(t,2),r=n[0],i=n[1],o=this.sortedBins;switch(e){case"quantize":case"linear":return[o[r].value,o[i].value];case"quantile":return Fe(o.slice(r,i+1),(function(e){return e.value}));case"ordinal":return Ne(o,(function(e){return e.value}));default:return[o[r].value,o[i].value]}}}]),e}(),Ke=n(62),qe=n(18);function Ze(e){return Number.isFinite(e)?e:0}function Ye(e,t){for(var n,r,i=e.positions.value,o=1/0,a=-1/0,s=1/0,u=-1/0,c=0;ca?n:a,s=ru?r:u;return{xMin:Ze(s),xMax:Ze(u),yMin:Ze(o),yMax:Ze(a)}}function Qe(e,t){var n=e<0?-1:1,r=n<0?Math.abs(e)+t:Math.abs(e);return(r=Math.floor(r/t)*t)*n}function $e(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!n)return{xOffset:t,yOffset:t};var r=e.yMin,i=e.yMax,o=(r+i)/2;return tt(t,o)}function et(e,t,n,r){var i=$e(e,t,r!==qe.a.CARTESIAN),o=function(e,t,n,r){var i=r.width,o=r.height,a=n===qe.a.CARTESIAN?[-i/2,-o/2]:[-180,-90];b.a.assert(n===qe.a.CARTESIAN||n===qe.a.LNGLAT||n===qe.a.DEFAULT);var s=e.xMin,u=e.yMin;return[-1*(Qe(s-a[0],t.xOffset)+a[0]),-1*(Qe(u-a[1],t.yOffset)+a[1])]}(e,i,r,n),a=e.xMin,s=e.yMin,u=e.xMax,c=e.yMax,l=u-a+i.xOffset,f=c-s+i.yOffset;return{gridOffset:i,translation:o,width:l,height:f,numCol:Math.ceil(l/i.xOffset),numRow:Math.ceil(f/i.yOffset)}}function tt(e,t){var n;return{yOffset:e/6378e3*(180/Math.PI),xOffset:(n=t,e/6378e3*(180/Math.PI)/Math.cos(n*Math.PI/180))}}function nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rt(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ot(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ns?n:s,u=rc?r:c);return{xMin:u,xMax:c,yMin:a,yMax:s}}(o.positions,u),h=t.posOffset||[180,90],d=t.gridOffset||$e(f,i);if(d.xOffset<=0||d.yOffset<=0)return{gridHash:{},gridOffset:d};var p,v=a.width,g=a.height,y=Math.ceil(v/d.xOffset),m=Math.ceil(g/d.yOffset),b={},_=Object(Ke.a)(r),O=_.iterable,w=_.objectInfo,x=new Array(3),A=it(O);try{for(A.s();!(p=A.n()).done;){var P=p.value;w.index++,x[0]=c[w.index*l],x[1]=c[w.index*l+1],x[2]=l>=3?c[w.index*l+2]:0;var S=s?a.project(x):x,k=Se()(S,2),C=k[0],j=k[1];if(Number.isFinite(C)&&Number.isFinite(j)){var E=Math.floor((j+h[1])/d.yOffset),T=Math.floor((C+h[0])/d.xOffset);if(!s||T>=0&&T=0&&E=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ut(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0){var r=this.state,i=r.gpuGridAggregator,o=r.gpuAggregation,a=r.weights,s=o?i.getData("count"):a.count;t.object=ee.getAggregationData(dt({pixelIndex:n},s))}return t}},{key:"updateResults",value:function(e){var t=e.aggregationData,n=e.maxData,r=this.state.weights.count;r.aggregationData=t,r.aggregationBuffer.setData({data:t}),r.maxData=n,r.maxTexture.setImageData({data:n})}},{key:"updateAggregationState",value:function(e){var t=e.props.cellSizePixels,n=e.oldProps.cellSizePixels!==t,r=e.changeFlags.viewportChanged,i=e.props.gpuAggregation;this.state.gpuAggregation!==e.props.gpuAggregation&&i&&!ee.isSupported(this.context.gl)&&(b.a.warn("GPU Grid Aggregation not supported, falling back to CPU")(),i=!1);var o=i!==this.state.gpuAggregation;this.setState({gpuAggregation:i});var a=this.isAttributeChanged("positions"),s=this.state.dimensions,u=s.data,c=s.weights,l=a||o||r||this.isAggregationDirty(e,{compareAll:i,dimension:u}),f=this.isAggregationDirty(e,{dimension:c});this.setState({aggregationDataDirty:l,aggregationWeightsDirty:f});var h=this.context.viewport;if(r||n){var d=h.width,p=h.height,v=Math.ceil(d/t),g=Math.ceil(p/t);this.allocateResources(g,v),this.setState({scaling:[d/2,-p/2,1],gridOffset:{xOffset:t,yOffset:t},width:d,height:p,numCol:v,numRow:g})}f&&this._updateAccessors(e),(l||f)&&this._resetResults()}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.getWeight,r=t.aggregation,i=t.data,o=this.state.weights.count;o&&(o.getWeight=n,o.operation=j[r]),this.setState({getValue:B(r,n,{data:i})})}},{key:"_resetResults",value:function(){var e=this.state.weights.count;e&&(e.aggregationData=null)}}]),n}(lt);gt.layerName="ScreenGridLayer",gt.defaultProps=pt;var yt=n(219),mt=n(12),bt=n.n(mt);function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ot(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};return e.hexagons?Ot({data:e.hexagons},e):e.layerData?Ot({data:e.layerData},e):e}},{key:"getAggregatedData",value:function(e,t){var n=this._getAggregator(e)(e,t);this.setState({layerData:this.normalizeResult(n)}),this.changeFlags={layerData:!0},this.getSortedBins(e)}},{key:"updateGetValueFuncs",value:function(e,t,n){for(var r in this.dimensionUpdaters){var i=this.dimensionUpdaters[r].getBins.triggers,o=i.value,a=i.weight,s=i.aggregation,u=t[o.prop];this.needUpdateDimensionStep(this.dimensionUpdaters[r].getBins,e,t,n)&&(u=u?I(u,{data:t.data}):B(t[s.prop],t[a.prop],{data:t.data})),u&&this.setDimensionState(r,{getValue:u})}}},{key:"needsReProjectPoints",value:function(e,t,n){return this._getCellSize(e)!==this._getCellSize(t)||this._getAggregator(e)!==this._getAggregator(t)||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getPosition)}},{key:"addDimension",value:function(e){this._addDimension(e)}},{key:"_addDimension",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){var n=t.key;e.dimensionUpdaters[n]=e.getDimensionUpdaters(t),e.state.dimensions[n]={getValue:null,domain:null,sortedBins:null,scaleFunc:wt}}))}},{key:"getDimensionUpdaters",value:function(e){var t=e.key,n=e.accessor,r=e.pickingInfo,i=e.getBins,o=e.getDomain,a=e.getScaleFunc,s=e.nullValue;return{key:t,accessor:n,pickingInfo:r,getBins:Ot({updater:this.getDimensionSortedBins},i),getDomain:Ot({updater:this.getDimensionValueDomain},o),getScaleFunc:Ot({updater:this.getDimensionScale},a),attributeAccessor:this.getSubLayerDimensionAttribute(t,s)}}},{key:"needUpdateDimensionStep",value:function(e,t,n,r){return Object.values(e.triggers).some((function(e){return e.updateTrigger?r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged[e.updateTrigger]):t[e.prop]!==n[e.prop]}))}},{key:"getDimensionChanges",value:function(e,t,n){var r=this,i=[],o=function(o){var a=xt.find((function(i){return r.needUpdateDimensionStep(r.dimensionUpdaters[o][i],e,t,n)}));a&&i.push(r.dimensionUpdaters[o][a].updater.bind(r,t,r.dimensionUpdaters[o]))};for(var a in this.dimensionUpdaters)o(a);return i.length?i:null}},{key:"getUpdateTriggers",value:function(e){var t=this,n=e.updateTriggers||{},r={},i=function(i){var o=t.dimensionUpdaters[i].accessor;r[o]={},xt.forEach((function(a){Object.values(t.dimensionUpdaters[i][a].triggers).forEach((function(t){var i=t.prop,a=t.updateTrigger;if(a){var s=n[a];"object"!==bt()(s)||Array.isArray(s)?void 0!==s&&(r[o][i]=s):Object.assign(r[o],s)}else r[o][i]=e[i]}))}))};for(var o in this.dimensionUpdaters)i(o);return r}},{key:"getSortedBins",value:function(e){for(var t in this.dimensionUpdaters)this.getDimensionSortedBins(e,this.dimensionUpdaters[t])}},{key:"getDimensionSortedBins",value:function(e,t){var n=t.key,r=this.state.dimensions[n].getValue,i=new Xe(this.state.layerData.data||[],{getValue:r,filterData:e._filterData});this.setDimensionState(n,{sortedBins:i}),this.getDimensionValueDomain(e,t)}},{key:"getDimensionValueDomain",value:function(e,t){var n=t.getDomain,r=t.key,i=n.triggers,o=i.lowerPercentile,a=i.upperPercentile,s=i.scaleType,u=this.state.dimensions[r].sortedBins.getValueDomainByScale(e[s.prop],[e[o.prop],e[a.prop]]);this.setDimensionState(r,{valueDomain:u}),this.getDimensionScale(e,t)}},{key:"getDimensionScale",value:function(e,t){var n=t.key,r=t.getScaleFunc,i=t.getDomain,o=r.triggers,a=o.domain,s=o.range,u=i.triggers.scaleType,c=r.onSet,l=e[s.prop],f=e[a.prop]||this.state.dimensions[n].valueDomain,h=function(e){switch(e){case"quantize":return Ee;case"linear":return Te;case"quantile":return Me;case"ordinal":return Re;default:return Ee}}(u&&e[u.prop])(f,l);"object"===bt()(c)&&"function"==typeof e[c.props]&&e[c.props](h.domain()),this.setDimensionState(n,{scaleFunc:h})}},{key:"getSubLayerDimensionAttribute",value:function(e,t){var n=this;return function(r){var i=n.state.dimensions[e],o=i.sortedBins,a=i.scaleFunc,s=o.binMap[r.index];if(s&&0===s.counts)return t;var u=s&&s.value,c=a.domain();return u>=c[0]&&u<=c[c.length-1]?a(u):t}}},{key:"getSubLayerAccessors",value:function(e){var t={};for(var n in this.dimensionUpdaters){t[this.dimensionUpdaters[n].accessor]=this.getSubLayerDimensionAttribute(e,n)}return t}},{key:"getPickingInfo",value:function(e){var t=e.info,n=null;if(t.picked&&t.index>-1){var r=this.state.layerData.data[t.index],i={};for(var o in this.dimensionUpdaters){var a=this.dimensionUpdaters[o].pickingInfo,s=this.state.dimensions[o].sortedBins,u=s.binMap[r.index]&&s.binMap[r.index].value;i[a]=u}n=Object.assign(i,r,{points:r.filteredPoints||r.points})}return t.picked=Boolean(n),t.object=n,t}},{key:"getAccessor",value:function(e){return this.dimensionUpdaters.hasOwnProperty(e)?this.dimensionUpdaters[e].attributeAccessor:wt}}],[{key:"defaultDimensions",value:function(){return At}}]),e}();function kt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=g()(e);if(t){var i=g()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function Ct(){}var jt={colorDomain:null,colorRange:ae,getColorValue:{type:"accessor",value:null},getColorWeight:{type:"accessor",value:1},colorAggregation:"SUM",lowerPercentile:{type:"number",min:0,max:100,value:0},upperPercentile:{type:"number",min:0,max:100,value:100},colorScaleType:"quantize",onSetColorDomain:Ct,elevationDomain:null,elevationRange:[0,1e3],getElevationValue:{type:"accessor",value:null},getElevationWeight:{type:"accessor",value:1},elevationAggregation:"SUM",elevationLowerPercentile:{type:"number",min:0,max:100,value:0},elevationUpperPercentile:{type:"number",min:0,max:100,value:100},elevationScale:{type:"number",min:0,value:1},elevationScaleType:"linear",onSetElevationDomain:Ct,gridAggregator:at,cellSize:{type:"number",min:0,max:1e3,value:1e3},coverage:{type:"number",min:0,max:1,value:1},getPosition:{type:"accessor",value:function(e){return e.position}},extruded:!1,material:!0,_filterData:{type:"function",value:null,optional:!0}},Et=function(e){h()(n,e);var t=kt(n);function n(){return a()(this,n),t.apply(this,arguments)}return u()(n,[{key:"initializeState",value:function(){var e=new St({getAggregator:function(e){return e.gridAggregator},getCellSize:function(e){return e.cellSize}});this.state={cpuAggregator:e,aggregatorState:e.state},this.getAttributeManager().add({positions:{size:3,type:5130,accessor:"getPosition"}})}},{key:"updateState",value:function(e){l()(g()(n.prototype),"updateState",this).call(this,e),this.setState({aggregatorState:this.state.cpuAggregator.updateState(e,{viewport:this.context.viewport,attributes:this.getAttributes(),numInstances:this.getNumInstances(e.props)})})}},{key:"getPickingInfo",value:function(e){var t=e.info;return this.state.cpuAggregator.getPickingInfo({info:t})}},{key:"_onGetSublayerColor",value:function(e){return this.state.cpuAggregator.getAccessor("fillColor")(e)}},{key:"_onGetSublayerElevation",value:function(e){return this.state.cpuAggregator.getAccessor("elevation")(e)}},{key:"_getSublayerUpdateTriggers",value:function(){return this.state.cpuAggregator.getUpdateTriggers(this.props)}},{key:"renderLayers",value:function(){var e=this.props,t=e.elevationScale,n=e.extruded,r=e.cellSize,i=e.coverage,o=e.material,a=e.transitions,s=this.state.cpuAggregator,u=this.getSubLayerClass("grid-cell",yt.a),c=this._getSublayerUpdateTriggers();return new u({cellSize:r,coverage:i,material:o,elevationScale:t,extruded:n,getFillColor:this._onGetSublayerColor.bind(this),getElevation:this._onGetSublayerElevation.bind(this),transitions:a&&{getFillColor:a.getColorValue||a.getColorWeight,getElevation:a.getElevationValue||a.getElevationWeight}},this.getSubLayerProps({id:"grid-cell",updateTriggers:c}),{data:s.state.layerData.data})}}]),n}(xe);Et.layerName="CPUGridLayer",Et.defaultProps=jt;var Tt=n(157),Mt=Math.PI/3,Bt=[0,Mt,2*Mt,3*Mt,4*Mt,5*Mt];function It(e){return e[0]}function Rt(e){return e[1]}function Lt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Dt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1){var v=l-d,g=d+(lm*m+b*b&&(d=g+(1&h?1:-1)/2,h=y)}var _=d+"-"+h,O=i[_];O?O.push(c):(o.push(O=i[_]=[c]),O.x=(d+(1&h)/2)*t,O.y=h*n)}return o}function l(e){var t=0,n=0;return Bt.map((function(r){var i=Math.sin(r)*e,o=-Math.cos(r)*e,a=i-t,s=o-n;return t=i,n=o,[a,s]}))}return c.hexagon=function(t){return"m"+l(null==t?e:+t).join("l")+"z"},c.centers=function(){for(var s=[],u=Math.round(i/n),c=Math.round(r/t),l=u*n;l=t?1:0}function Gn(e){var t=e.cellWeights,n=e.x,r=e.y,i=e.width,o=e.height,a=e.threshold;e.thresholdValue&&(b.a.deprecated("thresholdValue","threshold")(),a=e.thresholdValue);var s=n<0,u=n>=i-1,c=r<0,l=r>=o-1,f=s||u||c||l,h={},d={};s||l?d.top=0:(h.top=t[(r+1)*i+n],d.top=zn(h.top,a)),u||l?d.topRight=0:(h.topRight=t[(r+1)*i+n+1],d.topRight=zn(h.topRight,a)),u||c?d.right=0:(h.right=t[r*i+n+1],d.right=zn(h.right,a)),s||c?d.current=0:(h.current=t[r*i+n],d.current=zn(h.current,a));var p=d.top,v=d.topRight,g=d.right,y=d.current,m=-1;Number.isFinite(a)&&(m=p<<3|v<<2|g<<1|y),Array.isArray(a)&&(m=p<<6|v<<4|g<<2|y);var _=0;return f||(_=zn((h.top+h.topRight+h.right+h.current)/4,a)),{code:m,meanCode:_}}function Vn(e){var t=e.gridOrigin,n=e.cellSize,r=e.x,i=e.y,o=e.code,a=e.meanCode,s=e.type,u=void 0===s?Fn:s,c=Dn(Dn({},Un),e.thresholdData),l=u===Nn?Rn[o]:Bn[o];Array.isArray(l)||(l=l[a]);var f=c.zIndex*c.zOffset,h=(r+1)*n[0],d=(i+1)*n[1],p=t[0]+h,v=t[1]+d;if(u===Nn){var g=[];return l.forEach((function(e){var t=[];e.forEach((function(e){var r=p+e[0]*n[0],i=v+e[1]*n[1];t.push([r,i,f])})),g.push(t)})),g}var y=[];return l.forEach((function(e){e.forEach((function(e){var t=p+e[0]*n[0],r=v+e[1]*n[1];y.push([t,r,f])}))})),y}function Hn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Wn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Wn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Wn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(o||t)&&this._generateContours()}},{key:"renderLayers",value:function(){var e=this.state.contourData,t=e.contourSegments,n=e.contourPolygons,r=this.getSubLayerClass("lines",Wt.a),i=this.getSubLayerClass("bands",Jt.a);return[t&&t.length>0&&new r(this.getSubLayerProps({id:"lines"}),{data:this.state.contourData.contourSegments,getSourcePosition:function(e){return e.start},getTargetPosition:function(e){return e.end},getColor:function(e){return e.contour.color||Xn},getWidth:function(e){return e.contour.strokeWidth||1}}),n&&n.length>0&&new i(this.getSubLayerProps({id:"bands"}),{data:this.state.contourData.contourPolygons,getPolygon:function(e){return e.vertices},getFillColor:function(e){return e.contour.color||Xn}})]}},{key:"updateAggregationState",value:function(e){var t=e.props,n=e.oldProps,r=t.cellSize,i=t.coordinateSystem,o=this.context.viewport,a=n.cellSize!==r,s=t.gpuAggregation;this.state.gpuAggregation!==t.gpuAggregation&&s&&!ee.isSupported(this.context.gl)&&(b.a.warn("GPU Grid Aggregation not supported, falling back to CPU")(),s=!1);var u=s!==this.state.gpuAggregation;this.setState({gpuAggregation:s});var c=this.state.dimensions,l=this.isAttributeChanged("positions"),f=c.data,h=c.weights,d=this.state.boundingBox;if(l&&(d=Ye(this.getAttributes(),this.getNumInstances()),this.setState({boundingBox:d})),l||a){var p=et(d,r,o,i),v=p.gridOffset,g=p.translation,y=p.width,m=p.height,_=p.numCol,O=p.numRow;this.allocateResources(O,_),this.setState({gridOffset:v,boundingBox:d,translation:g,posOffset:g.slice(),gridOrigin:[-1*g[0],-1*g[1]],width:y,height:m,numCol:_,numRow:O})}var w=l||u||this.isAggregationDirty(e,{dimension:f,compareAll:s}),x=this.isAggregationDirty(e,{dimension:h});x&&this._updateAccessors(e),(w||x)&&this._resetResults(),this.setState({aggregationDataDirty:w,aggregationWeightsDirty:x})}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.getWeight,r=t.aggregation,i=t.data,o=this.state.weights.count;o&&(o.getWeight=n,o.operation=j[r]),this.setState({getValue:B(r,n,{data:i})})}},{key:"_resetResults",value:function(){var e=this.state.weights.count;e&&(e.aggregationData=null)}},{key:"_generateContours",value:function(){var e=this.state,t=e.numCol,n=e.numRow,r=e.gridOrigin,i=e.gridOffset,o=e.thresholdData,a=this.state.weights.count,s=a.aggregationData;s||(s=a.aggregationBuffer.getData(),a.aggregationData=s);var u=function(e){var t,n=e.thresholdData,r=(e.colors,e.cellWeights),i=e.gridSize,o=e.gridOrigin,a=e.cellSize,s=[],u=[],c=i[0],l=i[1],f=0,h=0,d=Hn(n);try{for(d.s();!(t=d.n()).done;)for(var p=t.value,v=p.contour,g=v.threshold,y=-1;y= (domain.x - EPSILON) && value <= (domain.y + EPSILON)) {\n float domainRange = domain.y - domain.x;\n if (domainRange <= 0.) {\n outColor = colorRange[0];\n } else {\n float rangeCount = float(RANGE_COUNT);\n float rangeStep = domainRange / rangeCount;\n float idx = floor((value - domain.x) / rangeStep);\n idx = clamp(idx, 0., rangeCount - 1.);\n int intIdx = int(idx);\n outColor = colorRange[intIdx];\n }\n }\n return outColor;\n}\n\nfloat linearScale(vec2 domain, vec2 range, float value) {\n if (value >= (domain.x - EPSILON) && value <= (domain.y + EPSILON)) {\n return ((value - domain.x) / (domain.y - domain.x)) * (range.y - range.x) + range.x;\n }\n return -1.;\n}\n\nvoid main(void) {\n vec2 clrDomain = colorDomainValid ? colorDomain : vec2(colorData.maxMinCount.a, colorData.maxMinCount.r);\n vec4 color = quantizeScale(clrDomain, colorRange, colors.r);\n\n float elevation = 0.0;\n\n if (extruded) {\n vec2 elvDomain = elevationDomainValid ? elevationDomain : vec2(elevationData.maxMinCount.a, elevationData.maxMinCount.r);\n elevation = linearScale(elvDomain, elevationRange, elevations.r);\n elevation = elevation * (positions.z + 1.0) / 2.0 * elevationScale;\n }\n float shouldRender = float(color.r > 0.0 && elevations.r >= 0.0);\n float dotRadius = cellSize / 2. * coverage * shouldRender;\n\n int yIndex = (gl_InstanceID / gridSize[0]);\n int xIndex = gl_InstanceID - (yIndex * gridSize[0]);\n\n vec2 instancePositionXFP64 = mul_fp64(vec2(gridOffset[0], gridOffsetLow[0]), vec2(float(xIndex), 0.));\n instancePositionXFP64 = sum_fp64(instancePositionXFP64, vec2(gridOrigin[0], gridOriginLow[0]));\n vec2 instancePositionYFP64 = mul_fp64(vec2(gridOffset[1], gridOffsetLow[1]), vec2(float(yIndex), 0.));\n instancePositionYFP64 = sum_fp64(instancePositionYFP64, vec2(gridOrigin[1], gridOriginLow[1]));\n\n vec3 centroidPosition = vec3(instancePositionXFP64[0], instancePositionYFP64[0], elevation);\n vec3 centroidPosition64Low = vec3(instancePositionXFP64[1], instancePositionYFP64[1], 0.0);\n geometry.worldPosition = centroidPosition;\n vec3 pos = vec3(project_size(positions.xy + offset) * dotRadius, 0.);\n picking_setPickingColor(instancePickingColors);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n\n vec3 normals_commonspace = project_normal(normals);\n\n if (extruded) {\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, normals_commonspace);\n vColor = vec4(lightColor, color.a * opacity) / 255.;\n } else {\n vColor = vec4(color.rgb, color.a * opacity) / 255.;\n }\n}\n",fs:"#version 300 es\n#define SHADER_NAME gpu-grid-cell-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n fragColor = vColor;\n fragColor = picking_filterColor(fragColor);\n}\n",modules:[C.a,Yn.a,ie.a,S.b]})}},{key:"initializeState",value:function(){var e=this.context.gl;this.getAttributeManager().addInstanced({colors:{size:4,noAlloc:!0},elevations:{size:4,noAlloc:!0}});var t=this._getModel(e);this._setupUniformBuffer(t),this.setState({model:t})}},{key:"_getModel",value:function(e){return new A.a(e,tr(tr({},this.getShaders()),{},{id:this.props.id,geometry:new $n.a,isInstanced:!0}))}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.cellSize,i=n.offset,o=n.extruded,a=n.elevationScale,s=n.coverage,u=n.gridSize,c=n.gridOrigin,l=n.gridOffset,f=n.elevationRange,h=n.colorMaxMinBuffer,d=n.elevationMaxMinBuffer,p=[Object(Qn.b)(c[0]),Object(Qn.b)(c[1])],v=[Object(Qn.b)(l[0]),Object(Qn.b)(l[1])],g=this.getDomainUniforms(),y=se(this.props.colorRange);this.bindUniformBuffers(h,d),this.state.model.setUniforms(t).setUniforms(g).setUniforms({cellSize:r,offset:i,extruded:o,elevationScale:a,coverage:s,gridSize:u,gridOrigin:c,gridOriginLow:p,gridOffset:l,gridOffsetLow:v,colorRange:y,elevationRange:f}).draw(),this.unbindUniformBuffers(h,d)}},{key:"bindUniformBuffers",value:function(e,t){e.bind({target:35345,index:0}),t.bind({target:35345,index:1})}},{key:"unbindUniformBuffers",value:function(e,t){e.unbind({target:35345,index:0}),t.unbind({target:35345,index:1})}},{key:"getDomainUniforms",value:function(){var e=this.props,t=e.colorDomain,n=e.elevationDomain,r={};return null!==t?(r.colorDomainValid=!0,r.colorDomain=t):r.colorDomainValid=!1,null!==n?(r.elevationDomainValid=!0,r.elevationDomain=n):r.elevationDomainValid=!1,r}},{key:"_setupUniformBuffer",value:function(e){var t=this.context.gl,n=e.program.handle,r=t.getUniformBlockIndex(n,"ColorData"),i=t.getUniformBlockIndex(n,"ElevationData");t.uniformBlockBinding(n,r,0),t.uniformBlockBinding(n,i,1)}}]),n}(oe.a);function or(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ar(e){for(var t=1;t=0){var o=this.state.gpuGridAggregator,a=this.getPositionForIndex(r),s=ee.getAggregationData(ar({pixelIndex:r},o.getData("color"))),u=ee.getAggregationData(ar({pixelIndex:r},o.getData("elevation")));if(i={colorValue:s.cellWeight,elevationValue:u.cellWeight,count:s.cellCount||u.cellCount,position:a,totalCount:s.totalCount||u.totalCount},"hover"!==n){var c=this.props,l=this.state.gridHash;if(!l){var f=this.state,h=f.gridOffset,d=f.translation,p=f.boundingBox,v=this.context.viewport;l=at(c,{gridOffset:h,attributes:this.getAttributes(),viewport:v,translation:d,boundingBox:p}).gridHash,this.setState({gridHash:l})}var g=l[this.getHashKeyForIndex(r)];Object.assign(i,g)}}return t.picked=Boolean(i),t.object=i,t}},{key:"renderLayers",value:function(){if(!this.state.isSupported)return null;var e=this.props,t=e.elevationScale,n=e.extruded,r=e.cellSize,i=e.coverage,o=e.material,a=e.elevationRange,s=e.colorDomain,u=e.elevationDomain,c=this.state,l=c.weights,f=c.numRow,h=c.numCol,d=c.gridOrigin,p=c.gridOffset,v=l.color,g=l.elevation,y=se(this.props.colorRange);return new(this.getSubLayerClass("gpu-grid-cell",ir))({gridSize:[h,f],gridOrigin:d,gridOffset:[p.xOffset,p.yOffset],colorRange:y,elevationRange:a,colorDomain:s,elevationDomain:u,cellSize:r,coverage:i,material:o,elevationScale:t,extruded:n},this.getSubLayerProps({id:"gpu-grid-cell"}),{data:{attributes:{colors:v.aggregationBuffer,elevations:g.aggregationBuffer}},colorMaxMinBuffer:v.maxMinBuffer,elevationMaxMinBuffer:g.maxMinBuffer,numInstances:h*f})}},{key:"finalizeState",value:function(){var e=this.state.weights;[e.color,e.elevation].forEach((function(e){var t=e.aggregationBuffer;e.maxMinBuffer.delete(),null==t||t.delete()})),l()(g()(n.prototype),"finalizeState",this).call(this)}},{key:"updateAggregationState",value:function(e){var t=e.props,n=e.oldProps,r=t.cellSize,i=t.coordinateSystem,o=this.context.viewport,a=n.cellSize!==r,s=this.state.dimensions,u=this.isAttributeChanged("positions"),c=u||this.isAttributeChanged(),l=this.state.boundingBox;if(u&&(l=Ye(this.getAttributes(),this.getNumInstances()),this.setState({boundingBox:l})),u||a){var f=et(l,r,o,i),h=f.gridOffset,d=f.translation,p=f.width,v=f.height,g=f.numCol,y=f.numRow;this.allocateResources(y,g),this.setState({gridOffset:h,translation:d,gridOrigin:[-1*d[0],-1*d[1]],width:p,height:v,numCol:g,numRow:y})}var m=c||this.isAggregationDirty(e,{dimension:s.data,compareAll:!0});m&&this._updateAccessors(e),this.setState({aggregationDataDirty:m})}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.colorAggregation,r=t.elevationAggregation,i=this.state.weights,o=i.color,a=i.elevation;o.operation=j[n],a.operation=j[r]}}]),n}(lt);function fr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=g()(e);if(t){var i=g()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function hr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dr(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function yr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e[0]&&t[2]<=e[2]&&t[1]>=e[1]&&t[3]<=e[3]}vr.layerName="GridLayer",vr.defaultProps=pr;var _r=new Float32Array(12);function Or(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,r=0,i=gr(e);try{for(i.s();!(t=i.n()).done;)for(var o=t.value,a=0;a 0.) {\n maxValue = colorDomain[1];\n minValue = colorDomain[0];\n }\n vIntensityMax = intensity / maxValue;\n vIntensityMin = intensity / minValue;\n}\n",fs:"#define SHADER_NAME triangle-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D texture;\nuniform sampler2D colorTexture;\nuniform float aggregationMode;\n\nvarying vec2 vTexCoords;\nvarying float vIntensityMin;\nvarying float vIntensityMax;\n\nvec4 getLinearColor(float value) {\n float factor = clamp(value * vIntensityMax, 0., 1.);\n vec4 color = texture2D(colorTexture, vec2(factor, 0.5));\n color.a *= min(value * vIntensityMin, 1.0);\n return color;\n}\n\nvoid main(void) {\n vec4 weights = texture2D(texture, vTexCoords);\n float weight = weights.r;\n\n if (aggregationMode > 0.5) {\n weight /= max(1.0, weights.a);\n }\n if (weight <= 0.) {\n discard;\n }\n\n vec4 linearColor = getLinearColor(weight);\n linearColor.a *= opacity;\n gl_FragColor =linearColor;\n}\n",modules:[C.a]}}},{key:"initializeState",value:function(){var e=this.context.gl;this.getAttributeManager().add({positions:{size:3,noAlloc:!0},texCoords:{size:2,noAlloc:!0}}),this.setState({model:this._getModel(e)})}},{key:"_getModel",value:function(e){var t=this.props.vertexCount;return new A.a(e,Ar(Ar({},this.getShaders()),{},{id:this.props.id,geometry:new re.a({drawMode:6,vertexCount:t})}))}},{key:"draw",value:function(e){var t=e.uniforms,n=this.state.model,r=this.props,i=r.texture,o=r.maxTexture,a=r.colorTexture,s=r.intensity,u=r.threshold,c=r.aggregationMode,l=r.colorDomain;n.setUniforms(Ar(Ar({},t),{},{texture:i,maxTexture:o,colorTexture:a,intensity:s,threshold:u,aggregationMode:c,colorDomain:l})).draw()}}]),n}(oe.a);Sr.layerName="TriangleLayer";var kr;function Cr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function jr(e){for(var t=1;t 0.5) {\n discard;\n }\n gl_FragColor = weightsTexture * gaussianKDE(2. * dist);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}},{key:"_createWeightsTransform",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.context.gl,r=this.state.weightsTransform,i=this.state.weightsTexture;null===(e=r)||void 0===e||e.delete(),r=new P.a(n,jr({id:"".concat(this.id,"-weights-transform"),elementCount:1,_targetTexture:i,_targetTextureVarying:"weightsTexture"},t)),this.setState({weightsTransform:r})}},{key:"_setupResources",value:function(){var e=this.context.gl;this._createTextures();var t=this.state,n=t.textureSize,r=t.weightsTexture,i=t.maxWeightsTexture,o=this.getShaders("weights-transform");this._createWeightsTransform(o);var a=this.getShaders("max-weights-transform"),s=new P.a(e,jr(jr({id:"".concat(this.id,"-max-weights-transform"),_sourceTextures:{inTexture:r},_targetTexture:i,_targetTextureVarying:"outTexture"},a),{},{elementCount:n*n}));this.setState({weightsTexture:r,maxWeightsTexture:i,maxWeightTransform:s,zoom:null,triPositionBuffer:new Ae.a(e,{byteLength:48,accessor:{size:3}}),triTexCoordBuffer:new Ae.a(e,{byteLength:48,accessor:{size:2}})})}},{key:"updateShaders",value:function(e){this._createWeightsTransform(e)}},{key:"_updateMaxWeightValue",value:function(){this.state.maxWeightTransform.run({parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32776}})}},{key:"_updateBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.context.viewport,n=[t.unproject([0,0]),t.unproject([t.width,0]),t.unproject([t.width,t.height]),t.unproject([0,t.height])].map((function(e){return e.map(Math.fround)})),r=mr(n),i={visibleWorldBounds:r,viewportCorners:n},o=!1;if(e||!this.state.worldBounds||!br(this.state.worldBounds,r)){var a=this._worldToCommonBounds(r),s=this._commonToWorldBounds(a);this.props.coordinateSystem===qe.a.LNGLAT&&(s[1]=Math.max(s[1],-85.051129),s[3]=Math.min(s[3],85.051129),s[0]=Math.max(s[0],-360),s[2]=Math.min(s[2],360));var u=this._worldToCommonBounds(s);i.worldBounds=s,i.normalizedCommonBounds=u,o=!0}return this.setState(i),o}},{key:"_updateTextureRenderingBounds",value:function(){var e=this.state,t=e.triPositionBuffer,n=e.triTexCoordBuffer,r=e.normalizedCommonBounds,i=e.viewportCorners,o=this.context.viewport;t.subData(Or(i,3));var a=i.map((function(e){return t=o.projectPosition(e),n=r,i=Se()(n,4),a=i[0],s=i[1],u=i[2],c=i[3],[(t[0]-a)/(u-a),(t[1]-s)/(c-s)];var t,n,i,a,s,u,c}));n.subData(Or(a,2))}},{key:"_updateColorTexture",value:function(e){var t=e.props.colorRange,n=this.state.colorTexture,r=se(t,!1,Uint8Array);n?n.setImageData({data:r,width:t.length}):n=new G.a(this.context.gl,jr({data:r,width:t.length,height:1},Tr)),this.setState({colorTexture:n})}},{key:"_updateWeightmap",value:function(){var e,t=this.props,n=t.radiusPixels,r=t.colorDomain,i=t.aggregation,o=this.state,a=o.weightsTransform,s=o.worldBounds,u=o.textureSize,c=o.weightsTexture,l=o.weightsScale;this.state.isWeightMapDirty=!1;var f=this._worldToCommonBounds(s,{useLayerCoordinateSystem:!0});if(r&&"SUM"===i){var h=this.context.viewport.distanceScales.metersPerUnit[2]*(f[2]-f[0])/u;this.state.colorDomain=r.map((function(e){return e*h*l}))}else this.state.colorDomain=r||Mr;var d={radiusPixels:n,commonBounds:f,textureWidth:u,weightsScale:l};a.update({elementCount:this.getNumInstances()}),a.run({uniforms:d,parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32774},clearRenderTarget:!0,attributes:this.getAttributes(),moduleSettings:this.getModuleSettings()}),this._updateMaxWeightValue(),c.setParameters((e={},m()(e,10240,9729),m()(e,10241,9729),e))}},{key:"_debouncedUpdateWeightmap",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.state.updateTimer,n=this.props.debounceTimeout;e?(t=null,this._updateBounds(!0),this._updateTextureRenderingBounds(),this.setState({isWeightMapDirty:!0})):(this.setState({isWeightMapDirty:!1}),clearTimeout(t),t=setTimeout(this._debouncedUpdateWeightmap.bind(this,!0),n)),this.setState({updateTimer:t})}},{key:"_worldToCommonBounds",value:function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.useLayerCoordinateSystem,o=void 0!==i&&i,a=Se()(e,4),s=a[0],u=a[1],c=a[2],l=a[3],f=this.context.viewport,h=this.state.textureSize,d=this.props.coordinateSystem,p=o&&(d===qe.a.LNGLAT_OFFSETS||d===qe.a.METER_OFFSETS),v=p?f.projectPosition(this.props.coordinateOrigin):[0,0],g=2*h/f.scale;return o&&!p?(t=this.projectPosition([s,u,0]),n=this.projectPosition([c,l,0])):(t=f.projectPosition([s,u,0]),n=f.projectPosition([c,l,0])),wr([t[0]-v[0],t[1]-v[1],n[0]-v[0],n[1]-v[1]],g,g)}},{key:"_commonToWorldBounds",value:function(e){var t=Se()(e,4),n=t[0],r=t[1],i=t[2],o=t[3],a=this.context.viewport,s=a.unprojectPosition([n,r]),u=a.unprojectPosition([i,o]);return s.slice(0,2).concat(u.slice(0,2))}}]),n}(xe);Dr.layerName="HeatmapLayer",Dr.defaultProps=Ir,n.d(t,"ScreenGridLayer",(function(){return gt})),n.d(t,"CPUGridLayer",(function(){return Et})),n.d(t,"HexagonLayer",(function(){return Vt})),n.d(t,"ContourLayer",(function(){return Zn})),n.d(t,"GridLayer",(function(){return vr})),n.d(t,"GPUGridLayer",(function(){return lr})),n.d(t,"AGGREGATION_OPERATION",(function(){return j})),n.d(t,"HeatmapLayer",(function(){return Dr})),n.d(t,"_GPUGridAggregator",(function(){return ee})),n.d(t,"_CPUAggregator",(function(){return St})),n.d(t,"_AggregationLayer",(function(){return xe})),n.d(t,"_BinSorter",(function(){return Xe}))},function(e,t,n){"use strict";n.r(t);var r=n(179),i=n(328),o=n(197),a=n(322),s=n(10),u=n(182),c=n(253),l=n(199),f=n(239),h=n(37),d=n(327),p=n(81),v=n(107),g=n(105),y=n(240),m=n(241),b=n(321),_=n(70),O=n(0),w=n.n(O),x=n(1),A=n.n(x),P=n(6),S=n.n(P),k=n(7),C=n.n(k),j=n(2),E=n.n(j),T=n(54);function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function B(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("truncated-code-geometry"):r,o=D(e),a=o.indices,s=o.attributes;return t.call(this,B(B({},e),{},{id:i,indices:a,attributes:B(B({},s),e.attributes)}))}return n}(_.a);function D(e){for(var t=e.bottomRadius,n=void 0===t?0:t,r=e.topRadius,i=void 0===r?0:r,o=e.height,a=void 0===o?1:o,s=e.nradial,u=void 0===s?10:s,c=e.nvertical,l=void 0===c?10:c,f=e.verticalAxis,h=void 0===f?"y":f,d=e.topCap,p=void 0!==d&&d,v=e.bottomCap,g=void 0!==v&&v,y=(p?2:0)+(g?2:0),m=(u+1)*(l+1+y),b=Math.atan2(n-i,a),_=Math.sin,O=Math.cos,w=Math.PI,x=O(b),A=_(b),P=p?-2:0,S=l+(g?2:0),k=u+1,C=new Uint16Array(u*(l+y)*6),j=R[h],E=new Float32Array(3*m),T=new Float32Array(3*m),M=new Float32Array(2*m),B=0,I=0,L=P;L<=S;L++){var D=L/l,F=a*D,N=void 0;L<0?(F=0,D=1,N=n):L>l?(F=a,D=1,N=i):N=n+L/l*(i-n),-2!==L&&L!==l+2||(N=0,D=0),F-=a/2;for(var U=0;Ul?0:z*x,T[B+j[1]]=L<0?-1:L>l?1:A,T[B+j[2]]=L<0||L>l?0:G*x,M[I+0]=U/u,M[I+1]=D,I+=2,B+=3}}for(var V=0;V0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("cone-geometry"):r,o=e.radius,a=void 0===o?1:o,s=e.cap,u=void 0===s||s;return t.call(this,N(N({},e),{},{id:i,topRadius:0,topCap:Boolean(u),bottomCap:Boolean(u),bottomRadius:a}))}return n}(L),G=n(310);function V(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function H(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("cylinder-geometry"):r,o=e.radius,a=void 0===o?1:o;return t.call(this,H(H({},e),{},{id:i,bottomRadius:a,topRadius:a}))}return n}(L),X=n(74);function K(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function q(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("ico-sphere-geometry"):r,o=ee(e),a=o.indices,s=o.attributes;return t.call(this,q(q({},e),{},{id:i,indices:a,attributes:q(q({},s),e.attributes)}))}return n}(_.a);function ee(e){var t=e.iterations,n=void 0===t?0:t,r=Math.PI,i=2*r,o=[].concat(Y),a=[].concat(Q);o.push(),a.push();for(var s,u=(s={},function(e,t){var n=(e*=3)>(t*=3)?e:t,r="".concat(e=0;y-=3){var m=a[y+0],b=a[y+1],_=a[y+2],O=3*m,w=3*b,x=3*_,A=2*m,P=2*b,S=2*_,k=o[O+0],C=o[O+1],j=o[O+2],E=Math.acos(j/Math.sqrt(k*k+C*C+j*j))/r,T=1-(Math.atan2(C,k)+r)/i,M=o[w+0],B=o[w+1],I=o[w+2],R=Math.acos(I/Math.sqrt(M*M+B*B+I*I))/r,L=1-(Math.atan2(B,M)+r)/i,D=o[x+0],F=o[x+1],N=o[x+2],U=Math.acos(N/Math.sqrt(D*D+F*F+N*N))/r,z=1-(Math.atan2(F,D)+r)/i,G=[D-M,F-B,N-I],V=[k-M,C-B,j-I],H=new X.a(G).cross(V).normalize(),W=void 0;(0===T||0===L||0===z)&&(0===T||T>.5)&&(0===L||L>.5)&&(0===z||z>.5)&&(o.push(o[O+0],o[O+1],o[O+2]),W=o.length/3-1,a.push(W),g[2*W+0]=1,g[2*W+1]=E,v[3*W+0]=H.x,v[3*W+1]=H.y,v[3*W+2]=H.z,o.push(o[w+0],o[w+1],o[w+2]),W=o.length/3-1,a.push(W),g[2*W+0]=1,g[2*W+1]=R,v[3*W+0]=H.x,v[3*W+1]=H.y,v[3*W+2]=H.z,o.push(o[x+0],o[x+1],o[x+2]),W=o.length/3-1,a.push(W),g[2*W+0]=1,g[2*W+1]=U,v[3*W+0]=H.x,v[3*W+1]=H.y,v[3*W+2]=H.z),v[O+0]=v[w+0]=v[x+0]=H.x,v[O+1]=v[w+1]=v[x+1]=H.y,v[O+2]=v[w+2]=v[x+2]=H.z,g[A+0]=T,g[A+1]=E,g[P+0]=L,g[P+1]=R,g[S+0]=z,g[S+1]=U}return{indices:{size:1,value:new Uint16Array(a)},attributes:{POSITION:{size:3,value:new Float32Array(o)},NORMAL:{size:3,value:new Float32Array(v)},TEXCOORD_0:{size:2,value:new Float32Array(g)}}}}function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ne(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("plane-geometry"):r,o=oe(e),a=o.indices,s=o.attributes;return t.call(this,ne(ne({},e),{},{id:i,indices:a,attributes:ne(ne({},s),e.attributes)}))}return n}(_.a);function oe(e){var t=e.type,n=void 0===t?"x,y":t,r=e.offset,i=void 0===r?0:r,o=e.flipCull,a=void 0!==o&&o,s=e.unpack,u=void 0!==s&&s,c=n.split(","),l=e["".concat(c[0],"len")]||1,f=e["".concat(c[1],"len")]||1,h=e["n".concat(c[0])]||1,d=e["n".concat(c[1])]||1,p=(h+1)*(d+1),v=new Float32Array(3*p),g=new Float32Array(3*p),y=new Float32Array(2*p);a&&(l=-l);for(var m=0,b=0,_=0;_<=d;_++)for(var O=0;O<=h;O++){var w=O/h,x=_/d;switch(y[m+0]=a?1-w:w,y[m+1]=x,n){case"x,y":v[b+0]=l*w-.5*l,v[b+1]=f*x-.5*f,v[b+2]=i,g[b+0]=0,g[b+1]=0,g[b+2]=a?1:-1;break;case"x,z":v[b+0]=l*w-.5*l,v[b+1]=i,v[b+2]=f*x-.5*f,g[b+0]=0,g[b+1]=a?1:-1,g[b+2]=0;break;case"y,z":v[b+0]=i,v[b+1]=l*w-.5*l,v[b+2]=f*x-.5*f,g[b+0]=a?1:-1,g[b+1]=0,g[b+2]=0;break;default:throw new Error("PlaneGeometry: unknown type")}m+=2,b+=3}for(var A=h+1,P=new Uint16Array(h*d*6),S=0;S0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("sphere-geometry"):r,o=le(e),a=o.indices,s=o.attributes;return t.call(this,se(se({},e),{},{id:i,indices:a,attributes:se(se({},s),e.attributes)}))}return n}(_.a);function le(e){var t=e.nlat,n=void 0===t?10:t,r=e.nlong,i=void 0===r?10:r,o=e.radius,a=void 0===o?1:o,s=Math.PI-0,u=2*Math.PI-0,c=(n+1)*(i+1);if("number"==typeof a){var l=a;a=function(e,t,n,r,i){return l}}for(var f=new Float32Array(3*c),h=new Float32Array(3*c),d=new Float32Array(2*c),p=new(c>65535?Uint32Array:Uint16Array)(n*i*6),v=0;v<=n;v++)for(var g=0;g<=i;g++){var y=g/i,m=v/n,b=g+v*(i+1),_=2*b,O=3*b,w=u*y,x=s*m,A=Math.sin(w),P=Math.cos(w),S=Math.sin(x),k=P*S,C=Math.cos(x),j=A*S,E=a(k,C,j,y,m);f[O+0]=E*k,f[O+1]=E*C,f[O+2]=E*j,h[O+0]=k,h[O+1]=C,h[O+2]=j,d[_+0]=y,d[_+1]=1-m}for(var T=i+1,M=0;M85.05113){A=A>0?85.05113:-85.05113;var S=new google.maps.LatLng(A,P);g+=o.fromLatLngToContainerPixel(S).y-i/2}var k=180*new d.a(b).sub(x).verticalAngle()/Math.PI;k<0&&(k+=360);var C,j=e.getHeading()||0,E=e.getZoom()-1;if(0===k)C=i?(l.y-c.y)/i:1;else if(k===j){var T=new d.a([c.x,c.y]).sub([l.x,l.y]).len(),M=new d.a([r,-i]).len();C=M?T/M:1}return{width:r,height:i,left:v,top:g,zoom:E+=Math.log2(C||1),bearing:k,pitch:e.getTilt(),latitude:A,longitude:P}}(this._map,this._overlay),n=t.width,r=t.height,o=t.left,a=t.top,s=i()(t,A),u=e.canvas.parentElement.style;u.left="".concat(o,"px"),u.top="".concat(a,"px");e.setProps({width:n,height:r,viewState:S({altitude:1e4,repeat:!0},s)}),e.redraw()}},{key:"_onDrawVectorInterleaved",value:function(e){var t=e.gl,n=e.transformer;if(this._deck&&this._map){var r=this._deck;if(r.setProps(S(S({},_(this._map,n)),{},{width:!1,height:!1})),r.layerManager){var i=Object(f.f)(t,36006);r.setProps({_framebuffer:i}),r.needsRedraw({clearRedrawFlags:!0}),Object(f.n)(t,{viewport:[0,0,t.canvas.width,t.canvas.height],scissor:[0,0,t.canvas.width,t.canvas.height],stencilFunc:[519,0,255,519,0,255]}),Object(f.o)(t,C,(function(){r._drawLayers("google-vector",{clearCanvas:!1})}))}}}},{key:"_onDrawVectorOverlay",value:function(e){e.gl;var t=e.transformer;if(this._deck&&this._map){var n=this._deck;n.setProps(S({},_(this._map,t))),n.redraw()}}}]),e}();n.d(t,"GoogleMapsOverlay",(function(){return T}))},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(11),u=n.n(s),c=n(147),l=n(227),f=n(90);function h(e){var t=e.map,n=e.gl,r=e.deck;if(t.__deck)return t.__deck;var i=r&&r.props._customRender,o={useDevicePixels:!0,_customRender:function(){t.triggerRepaint(),i&&i()},parameters:{depthMask:!0,depthTest:!0,blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthFunc:515,blendEquation:32774},userData:{isExternal:!1,mapboxLayers:new Set},views:r&&r.props.views||[new c.a({id:"mapbox"})]};return r&&r.props.gl!==n||(Object.assign(o,{gl:n,width:!1,height:!1,touchAction:"unset",viewState:d(t)}),t.on("move",(function(){return function(e,t){e.setProps({viewState:d(t)}),e.needsRedraw({clearRedrawFlags:!0})}(r,t)}))),r?(r.setProps(o),r.props.userData.isExternal=!0):(r=new l.a(o),t.on("remove",(function(){r.finalize(),t.__deck=null}))),r.props.userData.mapboxVersion=function(e){var t=0,n=0;if(e.version){var r=e.version.split(".").slice(0,2).map(Number),i=u()(r,2);t=i[0],n=i[1]}return{major:t,minor:n}}(t),t.__deck=r,t.on("render",(function(){r.layerManager&&function(e,t){var n=e.props.userData,r=n.mapboxLayers;if(n.isExternal){var i=Array.from(r,(function(e){return e.id})),o=e.props.layers.some((function(e){return!i.includes(e.id)})),a=e.getViewports(),s=a.findIndex((function(e){return"mapbox"===e.id})),u=a.length>1||s<0;(o||u)&&(s>=0&&((a=a.slice())[s]=p(e,t,!1)),e._drawLayers("mapbox-repaint",{viewports:a,layerFilter:function(t){return(!e.props.layerFilter||e.props.layerFilter(t))&&("mapbox"!==t.viewport.id||!i.includes(t.layer.id))},clearCanvas:!1}))}e.props.userData.currentViewport=null}(r,t)})),r}function d(e){var t=e.getCenter();return{longitude:t.lng,latitude:t.lat,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch()}}function p(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.props.userData.mapboxVersion;return new f.a(Object.assign({id:"mapbox",x:0,y:0,width:e.width,height:e.height,repeat:t.getRenderWorldCopies()},d(t),n?{nearZMultiplier:1===r.major&&r.minor>=3||r.major>=2?.02:1/(e.height||1)}:{nearZMultiplier:.1}))}function v(e){if(!e.props.userData.isExternal){var t=[],n=0;e.props.userData.mapboxLayers.forEach((function(e){var r=new(0,e.props.type)(e.props,{_offset:n++});t.push(r)})),e.setProps({layers:t})}}var g=function(){function e(t){if(i()(this,e),!t.id)throw new Error("Layer must have an unique id");this.id=t.id,this.type="custom",this.renderingMode=t.renderingMode||"3d",this.map=null,this.deck=null,this.props=t}return a()(e,[{key:"onAdd",value:function(e,t){var n,r;this.map=e,this.deck=h({map:e,gl:t,deck:this.props.deck}),n=this.deck,r=this,n.props.userData.mapboxLayers.add(r),v(n)}},{key:"onRemove",value:function(){var e,t;e=this.deck,t=this,e.props.userData.mapboxLayers.delete(t),v(e)}},{key:"setProps",value:function(e){Object.assign(this.props,e,{id:this.id}),this.deck&&v(this.deck)}},{key:"render",value:function(e,t){var n,r,i,o;n=this.deck,r=this.map,i=this,(o=n.props.userData.currentViewport)||(o=p(n,r,!0),n.props.userData.currentViewport=o),n.layerManager&&n._drawLayers("mapbox-repaint",{viewports:[o],layerFilter:function(e){var t=e.layer;return i.id===t.id},clearCanvas:!1})}}]),e}();n.d(t,"MapboxLayer",(function(){return g}))},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(57),m=n(58),b=n(5),_=n(32),O=n.n(_),w=("undefined"!=typeof window?window:global,"undefined"!=typeof global?global:window,"undefined"!=typeof document?document:{});var x={container:O.a.object,gl:O.a.object,mapboxApiAccessToken:O.a.string,mapboxApiUrl:O.a.string,attributionControl:O.a.bool,preserveDrawingBuffer:O.a.bool,reuseMaps:O.a.bool,transformRequest:O.a.func,mapOptions:O.a.object,mapStyle:O.a.oneOfType([O.a.string,O.a.object]),visible:O.a.bool,asyncRender:O.a.bool,onLoad:O.a.func,onError:O.a.func,width:O.a.number,height:O.a.number,viewState:O.a.object,longitude:O.a.number,latitude:O.a.number,zoom:O.a.number,bearing:O.a.number,pitch:O.a.number,altitude:O.a.number},A={container:w.body,mapboxApiAccessToken:function(){var e=null;if("undefined"!=typeof window&&window.location){var t=window.location.search.match(/access_token=([^&\/]*)/);e=t&&t[1]}e||"undefined"==typeof process||(e=e||process.env.MapboxAccessToken||process.env.REACT_APP_MAPBOX_ACCESS_TOKEN);return e||"no-token"}(),mapboxApiUrl:"https://api.mapbox.com",preserveDrawingBuffer:!1,attributionControl:!0,reuseMaps:!1,mapOptions:{},mapStyle:"mapbox://styles/mapbox/light-v8",visible:!0,asyncRender:!1,onLoad:function(){},onError:function(e){e&&console.error(e.error)},width:0,height:0,longitude:0,latitude:0,zoom:0,bearing:0,pitch:0,altitude:1.5};function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"component";e.debug&&O.a.checkPropTypes(x,e,"prop",t)}var S=function(){function e(t){var n=this;if(Object(y.a)(this,e),Object(b.a)(this,"mapboxgl",void 0),Object(b.a)(this,"props",A),Object(b.a)(this,"_map",null),Object(b.a)(this,"width",0),Object(b.a)(this,"height",0),Object(b.a)(this,"_fireLoadEvent",(function(){n.props.onLoad({type:"load",target:n._map})})),!t.mapboxgl)throw new Error("Mapbox not available");this.mapboxgl=t.mapboxgl,e.initialized||(e.initialized=!0,this._checkStyleSheet(this.mapboxgl.version)),this._initialize(t)}return Object(m.a)(e,[{key:"finalize",value:function(){return this._destroy(),this}},{key:"setProps",value:function(e){return this._update(this.props,e),this}},{key:"resize",value:function(){return this._map.resize(),this}},{key:"redraw",value:function(){var e=this._map;e.style&&(e._frame&&(e._frame.cancel(),e._frame=null),e._render())}},{key:"getMap",value:function(){return this._map}},{key:"_reuse",value:function(t){this._map=e.savedMap;var n=this._map.getContainer(),r=t.container;for(r.classList.add("mapboxgl-map");n.childNodes.length>0;)r.appendChild(n.childNodes[0]);this._map._container=r,e.savedMap=null,t.mapStyle&&this._map.setStyle(t.mapStyle,{diff:!1}),this._map.isStyleLoaded()?this._fireLoadEvent():this._map.once("styledata",this._fireLoadEvent)}},{key:"_create",value:function(t){if(t.reuseMaps&&e.savedMap)this._reuse(t);else{if(t.gl){var n=HTMLCanvasElement.prototype.getContext;HTMLCanvasElement.prototype.getContext=function(){return HTMLCanvasElement.prototype.getContext=n,t.gl}}var r={container:t.container,center:[0,0],zoom:8,pitch:0,bearing:0,maxZoom:24,style:t.mapStyle,interactive:!1,trackResize:!1,attributionControl:t.attributionControl,preserveDrawingBuffer:t.preserveDrawingBuffer};t.transformRequest&&(r.transformRequest=t.transformRequest),this._map=new this.mapboxgl.Map(Object.assign({},r,t.mapOptions)),this._map.once("load",t.onLoad),this._map.on("error",t.onError)}return this}},{key:"_destroy",value:function(){this._map&&(e.savedMap?this._map.remove():(e.savedMap=this._map,this._map.off("load",this.props.onLoad),this._map.off("error",this.props.onError),this._map.off("styledata",this._fireLoadEvent)),this._map=null)}},{key:"_initialize",value:function(e){var t=this;P(e=Object.assign({},A,e),"Mapbox"),this.mapboxgl.accessToken=e.mapboxApiAccessToken||A.mapboxApiAccessToken,this.mapboxgl.baseApiUrl=e.mapboxApiUrl,this._create(e);var n=e.container;Object.defineProperty(n,"offsetWidth",{get:function(){return t.width}}),Object.defineProperty(n,"clientWidth",{get:function(){return t.width}}),Object.defineProperty(n,"offsetHeight",{get:function(){return t.height}}),Object.defineProperty(n,"clientHeight",{get:function(){return t.height}});var r=this._map.getCanvas();r&&(r.style.outline="none"),this._updateMapViewport({},e),this._updateMapSize({},e),this.props=e}},{key:"_update",value:function(e,t){if(this._map){P(t=Object.assign({},this.props,t),"Mapbox");var n=this._updateMapViewport(e,t),r=this._updateMapSize(e,t);t.asyncRender||!n&&!r||this.redraw(),this.props=t}}},{key:"_updateMapSize",value:function(e,t){var n=e.width!==t.width||e.height!==t.height;return n&&(this.width=t.width,this.height=t.height,this.resize()),n}},{key:"_updateMapViewport",value:function(e,t){var n=this._getViewState(e),r=this._getViewState(t),i=r.latitude!==n.latitude||r.longitude!==n.longitude||r.zoom!==n.zoom||r.pitch!==n.pitch||r.bearing!==n.bearing||r.altitude!==n.altitude;return i&&(this._map.jumpTo(this._viewStateToMapboxProps(r)),r.altitude!==n.altitude&&(this._map.transform.altitude=r.altitude)),i}},{key:"_getViewState",value:function(e){var t=e.viewState||e,n=t.longitude,r=t.latitude,i=t.zoom,o=t.pitch,a=void 0===o?0:o,s=t.bearing,u=void 0===s?0:s,c=t.altitude;return{longitude:n,latitude:r,zoom:i,pitch:a,bearing:u,altitude:void 0===c?1.5:c}}},{key:"_checkStyleSheet",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"0.47.0";if(void 0!==w)try{var t=w.createElement("div");t.className="mapboxgl-map",t.style.display="none",w.body.append(t);var n="static"!==window.getComputedStyle(t).position;if(!n){var r=w.createElement("link");r.setAttribute("rel","stylesheet"),r.setAttribute("type","text/css"),r.setAttribute("href","https://api.tiles.mapbox.com/mapbox-gl-js/v".concat(e,"/mapbox-gl.css")),w.head.append(r)}}catch(e){}}},{key:"_viewStateToMapboxProps",value:function(e){return{center:[e.longitude,e.latitude],zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}}}]),e}();Object(b.a)(S,"initialized",!1),Object(b.a)(S,"propTypes",x),Object(b.a)(S,"defaultProps",A),Object(b.a)(S,"savedMap",null);var k=n(227);function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function j(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};if(a()(this,n),"undefined"==typeof document)throw Error("Deck can only be used in the browser");var i=M(r),o=i.mapCanvas,s=i.deckCanvas,u=r.viewState||r.initialViewState,c=Number.isFinite(u&&u.latitude),l=r.map,f=void 0===l?window.mapboxgl:l;return e=t.call(this,j({canvas:s},r)),f&&f.Map?e._map=c&&new S(j(j({},r),{},{viewState:u,container:o,mapboxgl:f})):e._map=f,e._onBeforeRender=function(t){if(e.onBeforeRender(t),e._map){var n=e.getViewports()[0];e._map.setProps({width:n.width,height:n.height,viewState:n})}},e}return u()(n,[{key:"getMapboxMap",value:function(){return this._map&&this._map.getMap()}},{key:"finalize",value:function(){this._map&&this._map.finalize(),l()(g()(n.prototype),"finalize",this).call(this)}},{key:"setProps",value:function(e){"onBeforeRender"in e&&this._onBeforeRender&&e.onBeforeRender!==this._onBeforeRender&&(this.onBeforeRender=e.onBeforeRender,e.onBeforeRender=this._onBeforeRender),"mapStyle"in e&&this._map&&this._map._map.setStyle(e.mapStyle),l()(g()(n.prototype),"setProps",this).call(this,e)}}]),n}(k.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return x}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(6),u=n.n(s),c=n(7),l=n.n(c),f=n(2),h=n.n(f),d=n(70),p=n(54);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function g(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};a()(this,n);var r=e.id,i=void 0===r?Object(p.c)("cube-geometry"):r;return t.call(this,g(g({},e),{},{id:i,indices:{size:1,value:new Uint16Array(m)},attributes:g(g({},w),e.attributes)}))}return n}(d.a)},,,,,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return _}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(20),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(10),g=n(43),y=n(37),m=n(54);function b(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}var _=function(e){l()(n,e);var t=b(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,n),Object(v.a)(e),(r=t.call(this,e,o)).initialize(o),r.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(u()(r)),r}return a()(n,[{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Object(m.a)(this.buffers)||this.bind((function(){return e._unbindBuffers()})),this.setProps(t),this}},{key:"setProps",value:function(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}},{key:"setBuffers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.bind((function(){for(var n in t)e.setBuffer(n,t[n])})),this}},{key:"setBuffer",value:function(e,t){var n=this,r=this._getVaryingIndex(e),i=this._getBufferParams(t),o=i.buffer,a=i.byteSize,s=i.byteOffset;return r<0?(this.unused[e]=o,v.k.warn((function(){return"".concat(n.id," unused varying buffer ").concat(e)}))(),this):(this.buffers[r]=t,this.bindOnUse||this._bindBuffer(r,o,s,a),this)}},{key:"begin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}},{key:"end",value:function(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}},{key:"_getBufferParams",value:function(e){var t,n,r;return e instanceof y.a==!1?(r=e.buffer,n=e.byteSize,t=e.byteOffset):r=e,void 0===t&&void 0===n||(t=t||0,n=n||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:n}}},{key:"_getVaryingInfo",value:function(e){return this.configuration&&this.configuration.getVaryingInfo(e)}},{key:"_getVaryingIndex",value:function(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;var t=Number(e);return Number.isFinite(t)?t:-1}},{key:"_bindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers){var t=this._getBufferParams(this.buffers[e]),n=t.buffer,r=t.byteSize,i=t.byteOffset;this._bindBuffer(e,n,i,r)}}},{key:"_unbindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers)this._bindBuffer(e,null)}},{key:"_bindBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0,i=t&&t.handle;return i&&void 0!==r?this.gl.bindBufferRange(35982,e,i,n,r):this.gl.bindBufferBase(35982,e,i),this}},{key:"_createHandle",value:function(){return this.gl.createTransformFeedback()}},{key:"_deleteHandle",value:function(){this.gl.deleteTransformFeedback(this.handle)}},{key:"_bindHandle",value:function(e){this.gl.bindTransformFeedback(36386,this.handle)}}],[{key:"isSupported",value:function(e){return Object(v.j)(e)}}]),n}(g.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(11),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s);function c(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t.delay+t.duration*t.repeat}},{key:"getTime",value:function(e){if(void 0===e)return this.time;var t=this.channels.get(e);return void 0===t?-1:t.time}},{key:"setTime",value:function(e){this.time=Math.max(0,e);var t,n=c(this.channels.values());try{for(n.s();!(t=n.n()).done;){var r=t.value;this._setChannelTime(r,this.time)}}catch(e){n.e(e)}finally{n.f()}var i,o=c(this.animations.values());try{for(o.s();!(i=o.n()).done;){var a=i.value,s=a.animation,u=a.channel;s.setTime(this.getTime(u))}}catch(e){o.e(e)}finally{o.f()}}},{key:"play",value:function(){this.playing=!0}},{key:"pause",value:function(){this.playing=!1,this.lastEngineTime=-1}},{key:"reset",value:function(){this.setTime(0)}},{key:"attachAnimation",value:function(e,t){var n=h++;return this.animations.set(n,{animation:e,channel:t}),e.setTime(this.getTime(t)),n}},{key:"detachAnimation",value:function(e){this.animations.delete(e)}},{key:"update",value:function(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}},{key:"_setChannelTime",value:function(e,t){var n=t-e.delay;n>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,n)%e.duration,e.time*=e.rate)}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(86),u=n(125),c=n(61),l={};function f(e){return h.apply(this,arguments)}function h(){return(h=i()(a.a.mark((function e(t){var n,r,i=arguments;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:null,r=i.length>2&&void 0!==i[2]?i[2]:{},n&&(t=d(t,n,r)),l[t]=l[t]||p(t),e.next=6,l[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function d(e,t,n){if(e.startsWith("http"))return e;var r=n.modules||{};return r[e]?r[e]:s.b?n.CDN?(Object(c.a)(n.CDN.startsWith("http")),"".concat(n.CDN,"/").concat(t,"@").concat("3.1.5","/dist/libs/").concat(e)):s.d?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function p(e){return v.apply(this,arguments)}function v(){return(v=i()(a.a.mark((function e(t){var n,r,i;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=7;break}return e.next=3,fetch(t);case 3:return n=e.sent,e.next=6,n.arrayBuffer();case 6:return e.abrupt("return",e.sent);case 7:if(s.b){e.next=20;break}if(e.prev=8,e.t0=u&&u.requireFromFile,!e.t0){e.next=14;break}return e.next=13,u.requireFromFile(t);case 13:e.t0=e.sent;case 14:return e.abrupt("return",e.t0);case 17:return e.prev=17,e.t1=e.catch(8),e.abrupt("return",null);case 20:if(!s.d){e.next=22;break}return e.abrupt("return",importScripts(t));case 22:return e.next=24,fetch(t);case 24:return r=e.sent,e.next=27,r.text();case 27:return i=e.sent,e.abrupt("return",g(i,t));case 29:case"end":return e.stop()}}),e,null,[[8,17]])})))).apply(this,arguments)}function g(e,t){if(!s.b)return u.requireFromString&&u.requireFromString(e,t);if(s.d)return eval.call(s.a,e),null;var n=document.createElement("script");n.id=t;try{n.appendChild(document.createTextNode(e))}catch(t){n.text=e}return document.body.appendChild(n),null}},function(e,t,n){"use strict";var r={};n.r(r),n.d(r,"name",(function(){return nt})),n.d(r,"preprocess",(function(){return rt})),n.d(r,"decode",(function(){return it}));var i={};n.r(i),n.d(i,"name",(function(){return pt})),n.d(i,"preprocess",(function(){return vt}));var o={};n.r(o),n.d(o,"name",(function(){return mt})),n.d(o,"preprocess",(function(){return bt}));var a={};n.r(a),n.d(a,"name",(function(){return Ct})),n.d(a,"preprocess",(function(){return jt})),n.d(a,"decode",(function(){return Et})),n.d(a,"encode",(function(){return Mt}));var s={};n.r(s),n.d(s,"name",(function(){return Ut})),n.d(s,"decode",(function(){return zt})),n.d(s,"encode",(function(){return Vt}));var u={};n.r(u),n.d(u,"name",(function(){return Xt})),n.d(u,"decode",(function(){return Kt})),n.d(u,"encode",(function(){return Zt}));var c={};n.r(c),n.d(c,"name",(function(){return $t})),n.d(c,"decode",(function(){return en})),n.d(c,"encode",(function(){return nn}));var l,f,h=n(0),d=n.n(h),p=n(8),v=n.n(p),g=n(4),y=n.n(g),m=n(12),b=n.n(m),_=n(11),O=n.n(_),w=n(323),x="https://unpkg.com/@loaders.gl/textures@".concat("3.1.5","/dist/libs/basis_encoder.wasm"),A="https://unpkg.com/@loaders.gl/textures@".concat("3.1.5","/dist/libs/basis_encoder.js");function P(e){return S.apply(this,arguments)}function S(){return(S=v()(y.a.mark((function e(t){var n;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basis){e.next=3;break}return e.abrupt("return",n.basis);case 3:return l=l||k(t),e.next=6,l;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function k(e){return C.apply(this,arguments)}function C(){return(C=v()(y.a.mark((function e(t){var n,r,i,o;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,Object(w.a)("basis_transcoder.js","textures",t);case 5:return e.t1=e.sent,e.next=8,Object(w.a)("basis_transcoder.wasm","textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,o=O()(i,2),n=o[0],r=o[1],n=n||globalThis.BASIS,e.next=19,j(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function j(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile;(0,e.initializeBasis)(),t({BasisFile:n})}))}))}function E(e){return T.apply(this,arguments)}function T(){return(T=v()(y.a.mark((function e(t){var n;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basisEncoder){e.next=3;break}return e.abrupt("return",n.basisEncoder);case 3:return f=f||M(t),e.next=6,f;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function M(e){return B.apply(this,arguments)}function B(){return(B=v()(y.a.mark((function e(t){var n,r,i,o;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,Object(w.a)(A,"textures",t);case 5:return e.t1=e.sent,e.next=8,Object(w.a)(x,"textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,o=O()(i,2),n=o[0],r=o[1],n=n||globalThis.BASIS,e.next=19,I(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function I(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile,r=e.KTX2File,i=e.initializeBasis,o=e.BasisEncoder;i(),t({BasisFile:n,KTX2File:r,BasisEncoder:o})}))}))}var R={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};function L(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return D(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return D(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0&&a<=t.byteLength),{ArrayType:n,length:o,byteLength:a}}function Me(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Be(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Be(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Be(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return de(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}},{key:"addRequiredExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return de(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}},{key:"registerUsedExtension",value:function(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find((function(t){return t===e}))||this.json.extensionsUsed.push(e)}},{key:"registerRequiredExtension",value:function(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find((function(t){return t===e}))||this.json.extensionsRequired.push(e)}},{key:"removeExtension",value:function(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}},{key:"setDefaultScene",value:function(e){this.json.scene=e}},{key:"addScene",value:function(e){var t=e.nodeIndices;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}},{key:"addNode",value:function(e){var t=e.meshIndex,n=e.matrix;this.json.nodes=this.json.nodes||[];var r={mesh:t};return n&&(r.matrix=n),this.json.nodes.push(r),this.json.nodes.length-1}},{key:"addMesh",value:function(e){var t=e.attributes,n=e.indices,r=e.material,i=e.mode,o=void 0===i?4:i,a={primitives:[{attributes:this._addAttributes(t),mode:o}]};if(n){var s=this._addIndices(n);a.primitives[0].indices=s}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}},{key:"addPointCloud",value:function(e){var t={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(t),this.json.meshes.length-1}},{key:"addImage",value:function(e,t){var n=Object(Oe.a)(e),r=t||(null==n?void 0:n.mimeType),i={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(i),this.json.images.length-1}},{key:"addBufferView",value:function(e){var t=e.byteLength;de(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);var n={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=Object(we.b)(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}},{key:"addAccessor",value:function(e,t){var n={bufferView:e,type:je(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}},{key:"addBinaryBuffer",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{size:3},n=this.addBufferView(e),r={min:t.min,max:t.max};r.min&&r.max||(r=this._getAccessorMinMax(e,t.size));var i={size:t.size,componentType:Ee(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(n,Object.assign(i,t))}},{key:"addTexture",value:function(e){var t={source:e.imageIndex};return this.json.textures=this.json.textures||[],this.json.textures.push(t),this.json.textures.length-1}},{key:"addMaterial",value:function(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}},{key:"createBinaryChunk",value:function(){var e,t;this.gltf.buffers=[];var n,r=this.byteLength,i=new ArrayBuffer(r),o=new Uint8Array(i),a=0,s=Me(this.sourceBuffers||[]);try{for(s.s();!(n=s.n()).done;){var u=n.value;a=Object(we.a)(u,o,a)}}catch(e){s.e(e)}finally{s.f()}null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=r:this.json.buffers=[{byteLength:r}],this.gltf.binary=i,this.sourceBuffers=[i]}},{key:"_removeStringFromArray",value:function(e,t){for(var n=!0;n;){var r=e.indexOf(t);r>-1?e.splice(r,1):n=!1}}},{key:"_addAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};for(var n in e){var r=e[n],i=this._getGltfAttributeName(n),o=this.addBinaryBuffer(r.value,r);t[i]=o}return t}},{key:"_addIndices",value:function(e){return this.addBinaryBuffer(e,{size:1})}},{key:"_getGltfAttributeName",value:function(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}},{key:"_getAccessorMinMax",value:function(e,t){var n={min:null,max:null};if(e.length5&&void 0!==u[5]?u[5]:"NONE",e.next=3,Ke();case 3:$e(s=e.sent,s.exports[We[o]],t,n,r,i,s.exports[He[a||"NONE"]]);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ke(){return qe.apply(this,arguments)}function qe(){return(qe=v()(y.a.mark((function e(){return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Le||(Le=Ze()),e.abrupt("return",Le);case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ze(){return Ye.apply(this,arguments)}function Ye(){return(Ye=v()(y.a.mark((function e(){var t,n;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Ue,WebAssembly.validate(Ge)&&(t=ze,console.log("Warning: meshopt_decoder is using experimental SIMD support")),e.next=4,WebAssembly.instantiate(Qe(t),{});case 4:return n=e.sent,e.next=7,n.instance.exports.__wasm_call_ctors();case 7:return e.abrupt("return",n.instance);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Qe(e){for(var t=new Uint8Array(e.length),n=0;n96?r-71:r>64?r-65:r>47?r+4:r>46?63:62}for(var i=0,o=0;o=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function yt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]&&arguments[2];if(!e)return null;if(Array.isArray(e))return new t(e);if(n&&!(e instanceof t))return new t(e);return e}(t,Float32Array)),r=t.length/n);return{buffer:t,size:n,count:r}}(e),n=t.buffer,r=t.size;return{value:n,size:r,byteOffset:0,count:t.count,type:je(r),componentType:Ee(n)}}function xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function At(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function kt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},r=new Fe(e),i=St(r.json.meshes||[]);try{for(i.s();!(t=i.n()).done;){var o=t.value;Rt(o,n),r.addRequiredExtension("KHR_draco_mesh_compression")}}catch(e){i.e(e)}finally{i.f()}}function Bt(e,t,n,r){return It.apply(this,arguments)}function It(){return(It=v()(y.a.mark((function e(t,n,r,i){var o,a,s,u,c,l,f,h,d,p,v,g,m,b;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=t.getObjectExtension(n,"KHR_draco_mesh_compression")){e.next=3;break}return e.abrupt("return");case 3:return a=t.getTypedArrayForBufferView(o.bufferView),s=Object(he.c)(a.buffer,a.byteOffset),u=i.parse,delete(c=At({},r))["3d-tiles"],e.next=10,u(s,_t.a,c,i);case 10:for(l=e.sent,f=Ot(l.attributes),h=0,d=Object.entries(f);h2&&void 0!==arguments[2]?arguments[2]:4,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;if(!i.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");var a=i.DracoWriter.encodeSync({attributes:e}),s=null==o?void 0:null===(n=o.parseSync)||void 0===n?void 0:n.call(o,{attributes:e}),u=i._addFauxAttributes(s.attributes),c=i.addBufferView(a),l={primitives:[{attributes:u,mode:r,extensions:d()({},"KHR_draco_mesh_compression",{bufferView:c,attributes:u})}]};return l}function Lt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function Dt(e){var t,n,r,i,o,a;return y.a.wrap((function(s){for(;;)switch(s.prev=s.next){case 0:t=St(e.json.meshes||[]),s.prev=1,t.s();case 3:if((n=t.n()).done){s.next=24;break}r=n.value,i=St(r.primitives),s.prev=6,i.s();case 8:if((o=i.n()).done){s.next=14;break}return a=o.value,s.next=12,a;case 12:s.next=8;break;case 14:s.next=19;break;case 16:s.prev=16,s.t0=s.catch(6),i.e(s.t0);case 19:return s.prev=19,i.f(),s.finish(19);case 22:s.next=3;break;case 24:s.next=29;break;case 26:s.prev=26,s.t1=s.catch(1),t.e(s.t1);case 29:return s.prev=29,t.f(),s.finish(29);case 32:case"end":return s.stop()}}),Pt,null,[[1,26,29,32],[6,16,19,22]])}function Ft(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Nt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Nt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Nt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Jt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Qt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function un(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=cn.filter((function(e){return dn(e.name,n)})),o=sn(i);try{for(o.s();!(t=o.n()).done;){var a,s=t.value;null===(a=s.preprocess)||void 0===a||a.call(s,e,n,r)}}catch(e){o.e(e)}finally{o.f()}}function fn(e){return hn.apply(this,arguments)}function hn(){return(hn=v()(y.a.mark((function e(t){var n,r,i,o,a,s,u,c=arguments;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=c.length>1&&void 0!==c[1]?c[1]:{},r=c.length>2?c[2]:void 0,i=cn.filter((function(e){return dn(e.name,n)})),o=sn(i),e.prev=4,o.s();case 6:if((a=o.n()).done){e.next=12;break}return s=a.value,e.next=10,null===(u=s.decode)||void 0===u?void 0:u.call(s,t,n,r);case 10:e.next=6;break;case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(4),o.e(e.t0);case 17:return e.prev=17,o.f(),e.finish(17);case 20:case"end":return e.stop()}}),e,null,[[4,14,17,20]])})))).apply(this,arguments)}function dn(e,t){var n,r=(null==t?void 0:null===(n=t.gltf)||void 0===n?void 0:n.excludeExtensions)||{};return!(e in r&&!r[e])}function pn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return vn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return vn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function vn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function yn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return(new On).normalize(e,t)}function xn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function An(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=e.json,r=e.buffers,i=void 0===r?[]:r,o=e.images,a=void 0===o?[]:o,s=e.baseUri,u=void 0===s?"":s;return de(n),this.baseUri=u,this.json=n,this.buffers=i,this.images=a,this._resolveTree(this.json,t),this.json}},{key:"_resolveTree",value:function(e){var t=this;arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.bufferViews&&(e.bufferViews=e.bufferViews.map((function(e,n){return t._resolveBufferView(e,n)}))),e.images&&(e.images=e.images.map((function(e,n){return t._resolveImage(e,n)}))),e.samplers&&(e.samplers=e.samplers.map((function(e,n){return t._resolveSampler(e,n)}))),e.textures&&(e.textures=e.textures.map((function(e,n){return t._resolveTexture(e,n)}))),e.accessors&&(e.accessors=e.accessors.map((function(e,n){return t._resolveAccessor(e,n)}))),e.materials&&(e.materials=e.materials.map((function(e,n){return t._resolveMaterial(e,n)}))),e.meshes&&(e.meshes=e.meshes.map((function(e,n){return t._resolveMesh(e,n)}))),e.nodes&&(e.nodes=e.nodes.map((function(e,n){return t._resolveNode(e,n)}))),e.skins&&(e.skins=e.skins.map((function(e,n){return t._resolveSkin(e,n)}))),e.scenes&&(e.scenes=e.scenes.map((function(e,n){return t._resolveScene(e,n)}))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}},{key:"getScene",value:function(e){return this._get("scenes",e)}},{key:"getNode",value:function(e){return this._get("nodes",e)}},{key:"getSkin",value:function(e){return this._get("skins",e)}},{key:"getMesh",value:function(e){return this._get("meshes",e)}},{key:"getMaterial",value:function(e){return this._get("materials",e)}},{key:"getAccessor",value:function(e){return this._get("accessors",e)}},{key:"getCamera",value:function(e){return null}},{key:"getTexture",value:function(e){return this._get("textures",e)}},{key:"getSampler",value:function(e){return this._get("samplers",e)}},{key:"getImage",value:function(e){return this._get("images",e)}},{key:"getBufferView",value:function(e){return this._get("bufferViews",e)}},{key:"getBuffer",value:function(e){return this._get("buffers",e)}},{key:"_get",value:function(e,t){if("object"===b()(t))return t;var n=this.json[e]&&this.json[e][t];return n||console.warn("glTF file error: Could not find ".concat(e,"[").concat(t,"]")),n}},{key:"_resolveScene",value:function(e,t){var n=this;return e.id=e.id||"scene-".concat(t),e.nodes=(e.nodes||[]).map((function(e){return n.getNode(e)})),e}},{key:"_resolveNode",value:function(e,t){var n=this;return e.id=e.id||"node-".concat(t),e.children&&(e.children=e.children.map((function(e){return n.getNode(e)}))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((function(e,t){var r=n.getMesh(t);return e.id=r.id,e.primitives=e.primitives.concat(r.primitives),e}),{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}},{key:"_resolveSkin",value:function(e,t){return e.id=e.id||"skin-".concat(t),e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}},{key:"_resolveMesh",value:function(e,t){var n=this;return e.id=e.id||"mesh-".concat(t),e.primitives&&(e.primitives=e.primitives.map((function(e){var t=(e=An({},e)).attributes;for(var r in e.attributes={},t)e.attributes[r]=n.getAccessor(t[r]);return void 0!==e.indices&&(e.indices=n.getAccessor(e.indices)),void 0!==e.material&&(e.material=n.getMaterial(e.material)),e}))),e}},{key:"_resolveMaterial",value:function(e,t){if(e.id=e.id||"material-".concat(t),e.normalTexture&&(e.normalTexture=An({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=An({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=An({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=An({},e.pbrMetallicRoughness);var n=e.pbrMetallicRoughness;n.baseColorTexture&&(n.baseColorTexture=An({},n.baseColorTexture),n.baseColorTexture.texture=this.getTexture(n.baseColorTexture.index)),n.metallicRoughnessTexture&&(n.metallicRoughnessTexture=An({},n.metallicRoughnessTexture),n.metallicRoughnessTexture.texture=this.getTexture(n.metallicRoughnessTexture.index))}return e}},{key:"_resolveAccessor",value:function(e,t){var n,r;if(e.id=e.id||"accessor-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=(n=e.componentType,Sn[n]),e.components=(r=e.type,Pn[r]),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){var i=e.bufferView.buffer,o=Te(e,e.bufferView),a=o.ArrayType,s=o.byteLength,u=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,c=i.arrayBuffer.slice(u,u+s);e.bufferView.byteStride&&(c=this._getValueFromInterleavedBuffer(i,u,e.bufferView.byteStride,e.bytesPerElement,e.count)),e.value=new a(c)}return e}},{key:"_getValueFromInterleavedBuffer",value:function(e,t,n,r,i){for(var o=new Uint8Array(i*r),a=0;a1&&void 0!==arguments[1]?arguments[1]:0;return"".concat(String.fromCharCode(e.getUint8(t+0))).concat(String.fromCharCode(e.getUint8(t+1))).concat(String.fromCharCode(e.getUint8(t+2))).concat(String.fromCharCode(e.getUint8(t+3)))}function Un(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=new DataView(e),i=n.magic,o=void 0===i?1735152710:i,a=r.getUint32(t,!1);return a===o||1735152710===a}function zn(e,t,n){Object(Fn.a)(e.header.byteLength>20);var r=t.getUint32(n+0,!0),i=t.getUint32(n+4,!0);return n+=8,Object(Fn.a)(0===i),Vn(e,t,n,r),n+=r,n+=Hn(e,t,n,e.header.byteLength)}function Gn(e,t,n,r){return Object(Fn.a)(e.header.byteLength>20),function(e,t,n,r){for(;n+8<=e.header.byteLength;){var i=t.getUint32(n+0,!0),o=t.getUint32(n+4,!0);switch(n+=8,o){case 1313821514:Vn(e,t,n,i);break;case 5130562:Hn(e,t,n,i);break;case 0:r.strict||Vn(e,t,n,i);break;case 1:r.strict||Hn(e,t,n,i)}n+=Object(we.b)(i,4)}}(e,t,n,r),n+e.header.byteLength}function Vn(e,t,n,r){var i=new Uint8Array(t.buffer,n,r),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Object(we.b)(r,4)}function Hn(e,t,n,r){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:n,byteLength:r,arrayBuffer:t.buffer}),Object(we.b)(r,4)}function Wn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Jn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Jn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Jn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==d[2]?d[2]:0,i=d.length>3?d[3]:void 0,o=d.length>4?d[4]:void 0,qn(t,n,r,i),wn(t,{normalize:null==i?void 0:null===(a=i.gltf)||void 0===a?void 0:a.normalize}),ln(t,i,o),l=[],null==i||null===(s=i.gltf)||void 0===s||!s.loadBuffers||!t.json.buffers){e.next=10;break}return e.next=10,Zn(t,i,o);case 10:return null!=i&&null!==(u=i.gltf)&&void 0!==u&&u.loadImages&&(f=Qn(t,i,o),l.push(f)),h=fn(t,i,o),l.push(h),e.next=15,Promise.all(l);case 15:return e.abrupt("return",null!=i&&null!==(c=i.gltf)&&void 0!==c&&c.postProcess?Dn(t,i):t);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qn(e,t,n,r){(r.uri&&(e.baseUri=r.uri),t instanceof ArrayBuffer&&!Un(t,n,r))&&(t=(new TextDecoder).decode(t));if("string"==typeof t)e.json=Object(fe.a)(t);else if(t instanceof ArrayBuffer){var i={};n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],new DataView(t)),i=Nn(r,n+0),o=r.getUint32(n+4,!0),a=r.getUint32(n+8,!0);switch(Object.assign(e,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:i,version:o,json:{},binChunks:[]}),n+=12,e.version){case 1:return zn(e,r,n);case 2:return Gn(e,r,n,{});default:throw new Error("Invalid GLB version ".concat(e.version,". Only supports v1 and v2."))}}(i,t,n,r.glb),de("glTF"===i.type,"Invalid GLB magic string ".concat(i.type)),e._glb=i,e.json=i.json}else de(!1,"GLTF: must be ArrayBuffer or string");var o=e.json.buffers||[];if(e.buffers=new Array(o.length).fill(null),e._glb&&e._glb.header.hasBinChunk){var a=e._glb.binChunks;e.buffers[0]={arrayBuffer:a[0].arrayBuffer,byteOffset:a[0].byteOffset,byteLength:a[0].byteLength}}var s=e.json.images||[];e.images=new Array(s.length).fill({})}function Zn(e,t,n){return Yn.apply(this,arguments)}function Yn(){return(Yn=v()(y.a.mark((function e(t,n,r){var i,o,a,s,u,c,l,f;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.json.buffers||[],o=0;case 2:if(!(o1&&void 0!==s[1]?s[1]:{},r=s.length>2?s[2]:void 0,(n=ir(ir({},or.options),n)).gltf=ir(ir({},or.options.gltf),n.gltf),i=n.byteOffset,o=void 0===i?0:i,a={},e.next=8,Xn(a,t,o,n,r);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},function(e,t,n){"use strict";var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(104),u=n(94),c=globalThis._parseImageNode,l="undefined"!=typeof Image,f="undefined"!=typeof ImageBitmap,h=Boolean(c),d=!!u.c||h;var p=n(12),v=n.n(p);function g(e){var t=m(e);if(!t)throw new Error("Not an image");return t}function y(e){switch(g(e)){case"data":return e;case"image":case"imagebitmap":var t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("getImageData");return t.width=e.width,t.height=e.height,n.drawImage(e,0,0),n.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function m(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&e instanceof Image?"image":e&&"object"===v()(e)&&e.data&&e.width&&e.height?"data":null}var b=/^data:image\/svg\+xml/,_=/\.svg((\?|#).*)?$/;function O(e){return e&&(b.test(e)||_.test(e))}function w(e,t){if(O(t)){var n=(new TextDecoder).decode(e);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(n=unescape(encodeURIComponent(n)))}catch(e){throw new Error(e.message)}return"data:image/svg+xml;base64,".concat(btoa(n))}return x(e,t)}function x(e,t){if(O(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}function A(e,t,n){return P.apply(this,arguments)}function P(){return(P=i()(a.a.mark((function e(t,n,r){var i,o,s;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=w(t,r),o=self.URL||self.webkitURL,s="string"!=typeof i&&o.createObjectURL(i),e.prev=3,e.next=6,S(s||i,n);case 6:return e.abrupt("return",e.sent);case 7:return e.prev=7,s&&o.revokeObjectURL(s),e.finish(7);case 10:case"end":return e.stop()}}),e,null,[[3,,7,10]])})))).apply(this,arguments)}function S(e,t){return k.apply(this,arguments)}function k(){return(k=i()(a.a.mark((function e(t,n){var r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((r=new Image).src=t,!(n.image&&n.image.decode&&r.decode)){e.next=6;break}return e.next=5,r.decode();case 5:return e.abrupt("return",r);case 6:return e.next=8,new Promise((function(e,n){try{r.onload=function(){return e(r)},r.onerror=function(e){return n(new Error("Could not load image ".concat(t,": ").concat(e)))}}catch(e){n(e)}}));case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var C={},j=!0;function E(e,t,n){return T.apply(this,arguments)}function T(){return(T=i()(a.a.mark((function e(t,n,r){var i,o,s;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!O(r)){e.next=7;break}return e.next=3,A(t,n,r);case 3:o=e.sent,i=o,e.next=8;break;case 7:i=x(t,r);case 8:return s=n&&n.imagebitmap,e.next=11,M(i,s);case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function M(e){return B.apply(this,arguments)}function B(){return(B=i()(a.a.mark((function e(t){var n,r=arguments;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!I(n=r.length>1&&void 0!==r[1]?r[1]:null)&&j||(n=null),!n){e.next=13;break}return e.prev=3,e.next=6,createImageBitmap(t,n);case 6:return e.abrupt("return",e.sent);case 9:e.prev=9,e.t0=e.catch(3),console.warn(e.t0),j=!1;case 13:return e.next=15,createImageBitmap(t);case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e,null,[[3,9]])})))).apply(this,arguments)}function I(e){for(var t in e||C)return!1;return!0}var R=n(175);function L(e,t){return D.apply(this,arguments)}function D(){return(D=i()(a.a.mark((function e(t,n){var r,i,o;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=Object(R.a)(t)||{},i=r.mimeType,o=globalThis._parseImageNode,Object(s.a)(o),e.next=5,o(t,i);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function F(){return(F=i()(a.a.mark((function e(t,n,r){var i,o,u,c,l;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=(n=n||{}).image||{},o=i.type||"auto",u=(r||{}).url,c=N(o),e.t0=c,e.next="imagebitmap"===e.t0?8:"image"===e.t0?12:"data"===e.t0?16:20;break;case 8:return e.next=10,E(t,n,u);case 10:return l=e.sent,e.abrupt("break",21);case 12:return e.next=14,A(t,n,u);case 14:return l=e.sent,e.abrupt("break",21);case 16:return e.next=18,L(t,n);case 18:return l=e.sent,e.abrupt("break",21);case 20:Object(s.a)(!1);case 21:return"data"===o&&(l=y(l)),e.abrupt("return",l);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function N(e){switch(e){case"auto":case"data":return function(){if(f)return"imagebitmap";if(l)return"image";if(d)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(e){switch(e){case"auto":return f||l||d;case"imagebitmap":return f;case"image":return l;case"data":return d;default:throw new Error("@loaders.gl/images: image ".concat(e," not supported in this environment"))}}(e),e}}n.d(t,"a",(function(){return U}));var U={id:"image",module:"images",name:"Images",version:"3.1.5",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(e,t,n){return F.apply(this,arguments)},tests:[function(e){return Boolean(Object(R.a)(new DataView(e)))}],options:{image:{type:"auto",decode:!0}}}},function(e,t,n){"use strict";var r=n(12),i=n.n(r),o=n(16),a=n.n(o),s=n(0),u=n.n(s),c=n(1),l=n.n(c),f=n(3),h=n.n(f),d=n(164),p=Object(d.a)();function v(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}var g=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";l()(this,e),this.storage=v(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return h()(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function y(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var o=e.width*n,a=e.height*n,s=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(i,");"),"background-size:".concat(o,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var m={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function b(e){return"string"==typeof e?m[e.toUpperCase()]||m.WHITE:e}function _(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),o=_(i);try{var a=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(o.s();!(t=o.n()).done;)a()}catch(e){o.e(e)}finally{o.f()}}function x(e,t){if(!e)throw new Error(t||"Assertion failed")}var A=n(67);function P(){var e;if(p&&A.b.performance)e=A.b.performance.now();else if(A.a.hrtime){var t=A.a.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}n.d(t,"a",(function(){return M}));var S={debug:p&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},k={enabled:!0,level:0};function C(){}var j={},E={once:!0};function T(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}var M=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;l()(this,e),this.id=n,this.VERSION="8.7.8",this._startTs=P(),this._deltaTs=P(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new g("__probe-".concat(this.id,"__"),k),this.userData={},this.timeStamp("".concat(this.id," started")),w(this),Object.seal(this)}return h()(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((P()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((P()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){x(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,S.warn,arguments,E)}},{key:"error",value:function(e){return this._getLogFunction(0,e,S.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,S.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,S.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,S.debug||S.info,arguments,E)}},{key:"table",value:function(e,t,n){return t?this._getLogFunction(e,t,console.table||C,n&&[n],{tag:T(t)}):C}},{key:"image",value:function(e){var t=e.logLevel,r=e.priority,i=e.image,o=e.message,s=void 0===o?"":o,u=e.scale,c=void 0===u?1:u;return this._shouldLog(t||r)?p?function(e){var t=e.image,n=e.message,r=void 0===n?"":n,i=e.scale,o=void 0===i?1:i;if("string"==typeof t){var s=new Image;return s.onload=function(){var e,t=y(s,r,o);(e=console).log.apply(e,a()(t))},s.src=t,C}var u=t.nodeName||"";if("img"===u.toLowerCase()){var c;return(c=console).log.apply(c,a()(y(t,r,o))),C}if("canvas"===u.toLowerCase()){var l=new Image;return l.onload=function(){var e;return(e=console).log.apply(e,a()(y(l,r,o)))},l.src=t.toDataURL(),C}return C}({image:i,message:s,scale:c}):function(e){var t=e.image,r=(e.message,e.scale),i=void 0===r?1:r,o=null;try{o=n(267)}catch(e){}if(o)return function(){return o(t,{fit:"box",width:"".concat(Math.round(80*i),"%")}).then((function(e){return console.log(e)}))};return C}({image:i,message:s,scale:c}):C}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(u()({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||C)}},{key:"group",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=n=I({logLevel:e,message:t,opts:n}),i=r.collapsed;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||C)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=B(e)}},{key:"_getLogFunction",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var o;i=I({logLevel:e,message:t,args:r,opts:i}),x(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=P();var s=i.tag||i.message;if(i.once){if(j[s])return C;j[s]=P()}return t=R(this.id,i.message,i),(o=n).bind.apply(o,[console,t].concat(a()(i.args)))}return C}}]),e}();function B(e){if(!e)return 0;var t;switch(i()(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return x(Number.isFinite(t)&&t>=0),t}function I(e){var t=e.logLevel,n=e.message;e.logLevel=B(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(e.args=r,i()(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var o=i()(e.message);return x("string"===o||"object"===o),Object.assign(e,e.opts)}function R(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((s=n.total)<10?"".concat(s.toFixed(2),"ms"):s<100?"".concat(s.toFixed(1),"ms"):s<1e3?"".concat(s.toFixed(0),"ms"):"".concat((s/1e3).toFixed(2),"s")):"";t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),i=t,o=n.color,a=n.background,p||"string"!=typeof i||(o&&(o=b(o),i="[".concat(o,"m").concat(i,"")),a&&(o=b(a),i="[".concat(a+10,"m").concat(i,""))),t=i}var i,o,a,s;return t}M.VERSION="8.7.8"},function(e,t,n){"use strict";var r,i=n(1),o=n.n(i),a=n(3),s=n.n(a),u=n(20),c=n.n(u),l=n(9),f=n.n(l),h=n(6),d=n.n(h),p=n(7),v=n.n(p),g=n(2),y=n.n(g),m=n(43),b=n(64),_=n(81),O=n(0),w=n.n(O),x=n(10),A=n(107),P=n(13),S=(r={},w()(r,5126,z.bind(null,"uniform1fv",M,1,G)),w()(r,35664,z.bind(null,"uniform2fv",M,2,G)),w()(r,35665,z.bind(null,"uniform3fv",M,3,G)),w()(r,35666,z.bind(null,"uniform4fv",M,4,G)),w()(r,5124,z.bind(null,"uniform1iv",B,1,G)),w()(r,35667,z.bind(null,"uniform2iv",B,2,G)),w()(r,35668,z.bind(null,"uniform3iv",B,3,G)),w()(r,35669,z.bind(null,"uniform4iv",B,4,G)),w()(r,35670,z.bind(null,"uniform1iv",B,1,G)),w()(r,35671,z.bind(null,"uniform2iv",B,2,G)),w()(r,35672,z.bind(null,"uniform3iv",B,3,G)),w()(r,35673,z.bind(null,"uniform4iv",B,4,G)),w()(r,35674,z.bind(null,"uniformMatrix2fv",M,4,V)),w()(r,35675,z.bind(null,"uniformMatrix3fv",M,9,V)),w()(r,35676,z.bind(null,"uniformMatrix4fv",M,16,V)),w()(r,35678,U),w()(r,35680,U),w()(r,5125,z.bind(null,"uniform1uiv",I,1,G)),w()(r,36294,z.bind(null,"uniform2uiv",I,2,G)),w()(r,36295,z.bind(null,"uniform3uiv",I,3,G)),w()(r,36296,z.bind(null,"uniform4uiv",I,4,G)),w()(r,35685,z.bind(null,"uniformMatrix2x3fv",M,6,V)),w()(r,35686,z.bind(null,"uniformMatrix2x4fv",M,8,V)),w()(r,35687,z.bind(null,"uniformMatrix3x2fv",M,6,V)),w()(r,35688,z.bind(null,"uniformMatrix3x4fv",M,12,V)),w()(r,35689,z.bind(null,"uniformMatrix4x2fv",M,8,V)),w()(r,35690,z.bind(null,"uniformMatrix4x3fv",M,12,V)),w()(r,35678,U),w()(r,35680,U),w()(r,35679,U),w()(r,35682,U),w()(r,36289,U),w()(r,36292,U),w()(r,36293,U),w()(r,36298,U),w()(r,36299,U),w()(r,36300,U),w()(r,36303,U),w()(r,36306,U),w()(r,36307,U),w()(r,36308,U),w()(r,36311,U),r),k={},C={},j={},E=[0];function T(e,t,n,r){1===t&&"boolean"==typeof e&&(e=e?1:0),Number.isFinite(e)&&(E[0]=e,e=E);var i=e.length;if(i%t&&x.k.warn("Uniform size should be multiples of ".concat(t),e)(),e instanceof n)return e;var o=r[i];o||(o=new n(i),r[i]=o);for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"unnamed",n=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,r=e.match(n);return r?r[1]:t}function W(e,t,n,r){for(var i=e.split(/\r?\n/),o={},a={},s=r||H(t)||"(unnamed)",u="".concat(function(e){switch(e){case 35632:return"fragment";case 35633:return"vertex";default:return"unknown type"}}(n)," shader ").concat(s),c=0;c1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:": ",r=e.split(/\r?\n/),i=String(r.length+t-1).length;return r.map((function(e,r){var o=String(r+t),a=o.length;return X(o,i-a)+n+e}))}(t);return{shaderName:u,errors:J(o,p),warnings:J(a,p)}}function J(e,t){for(var n="",r=0;r0&&void 0!==arguments[0]?arguments[0]:this.source;e.startsWith("#version ")||(e="#version 100\n".concat(e)),this.source=e,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle);var t=this.getParameter(35713);if(!t){var n=this.gl.getShaderInfoLog(this.handle),r=W(n,this.source,this.shaderType,this.id),i=r.shaderName,o=r.errors,a=r.warnings;throw x.k.error("GLSL compilation errors in ".concat(i,"\n").concat(o))(),x.k.warn("GLSL compilation warnings in ".concat(i,"\n").concat(a))(),new Error("GLSL compilation errors in ".concat(i))}}},{key:"_deleteHandle",value:function(){this.gl.deleteShader(this.handle)}},{key:"_getOptsFromHandle",value:function(){return{type:this.getParameter(35663),source:this.getSource()}}}],[{key:"getTypeName",value:function(e){switch(e){case 35633:return"vertex-shader";case 35632:return"fragment-shader";default:return Object(P.a)(!1),"unknown"}}}]),n}(m.a),Y=function(e){d()(n,e);var t=q(n);function n(e,r){return o()(this,n),"string"==typeof r&&(r={source:r}),t.call(this,e,Object.assign({},r,{shaderType:35633}))}return s()(n,[{key:"_createHandle",value:function(){return this.gl.createShader(35633)}}]),n}(Z),Q=function(e){d()(n,e);var t=q(n);function n(e,r){return o()(this,n),"string"==typeof r&&(r={source:r}),t.call(this,e,Object.assign({},r,{shaderType:35632}))}return s()(n,[{key:"_createHandle",value:function(){return this.gl.createShader(35632)}}]),n}(Z),$=n(73),ee=n(91),te=function(){function e(t){o()(this,e),this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}return s()(e,[{key:"getAttributeInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}},{key:"getAttributeLocation",value:function(e){var t=this.getAttributeInfo(e);return t?t.location:-1}},{key:"getAttributeAccessor",value:function(e){var t=this.getAttributeInfo(e);return t?t.accessor:null}},{key:"getVaryingInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}},{key:"getVaryingIndex",value:function(e){var t=this.getVaryingInfo();return t?t.location:-1}},{key:"getVaryingAccessor",value:function(e){var t=this.getVaryingInfo();return t?t.accessor:null}},{key:"_readAttributesFromProgram",value:function(e){for(var t=e.gl,n=t.getProgramParameter(e.handle,35721),r=0;r=0&&this._addAttribute(u,o,a,s)}this.attributeInfos.sort((function(e,t){return e.location-t.location}))}},{key:"_readVaryingsFromProgram",value:function(e){var t=e.gl;if(Object(x.j)(t)){for(var n=t.getProgramParameter(e.handle,35971),r=0;r=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ie(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return o()(this,n),(r=t.call(this,e,i)).stubRemovedMethods("Program","v6.0",ae),r._isCached=!1,r.initialize(i),Object.seal(c()(r)),r._setId(i.id),r}return s()(n,[{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hash,n=e.vs,r=e.fs,i=e.varyings,o=e.bufferMode,a=void 0===o?35981:o;return this.hash=t||"",this.vs="string"==typeof n?new Y(this.gl,{id:"".concat(e.id,"-vs"),source:n}):n,this.fs="string"==typeof r?new Q(this.gl,{id:"".concat(e.id,"-fs"),source:r}):r,Object(P.a)(this.vs instanceof Y),Object(P.a)(this.fs instanceof Q),this.uniforms={},this._textureUniforms={},i&&i.length>0&&(Object(x.a)(this.gl),this.varyings=i,this.gl2.transformFeedbackVaryings(this.handle,i,a)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new te(this),this.setProps(e)}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._isCached?this:f()(y()(n.prototype),"delete",this).call(this,e)}},{key:"setProps",value:function(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}},{key:"draw",value:function(e){var t=this,n=e.logPriority,r=e.drawMode,i=void 0===r?4:r,o=e.vertexCount,a=e.offset,s=void 0===a?0:a,u=e.start,c=e.end,l=e.isIndexed,f=void 0!==l&&l,h=e.indexType,d=void 0===h?5123:h,p=e.instanceCount,v=void 0===p?0:p,g=e.isInstanced,y=void 0===g?v>0:g,m=e.vertexArray,b=void 0===m?null:m,_=e.transformFeedback,O=e.framebuffer,w=e.parameters,A=void 0===w?{}:w,S=e.uniforms,k=e.samplers;if((S||k)&&(x.k.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(S||{})),x.k.priority>=n){var C=O?O.id:"default",j="mode=".concat(Object(ne.a)(this.gl,i)," verts=").concat(o," ")+"instances=".concat(v," indexType=").concat(Object(ne.a)(this.gl,d)," ")+"isInstanced=".concat(y," isIndexed=").concat(f," ")+"Framebuffer=".concat(C);x.k.log(n,j)()}return Object(P.a)(b),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===o||y&&0===v)&&(b.bindForDraw(o,v,(function(){if(void 0!==O&&(A=Object.assign({},A,{framebuffer:O})),_){var e=Object(ee.c)(i);_.begin(e)}t._bindTextures(),Object(x.o)(t.gl,A,(function(){f&&y?t.gl2.drawElementsInstanced(i,o,d,s,v):f&&Object(x.j)(t.gl)&&!isNaN(u)&&!isNaN(c)?t.gl2.drawRangeElements(i,u,c,o,d,s):f?t.gl.drawElements(i,o,d,s):y?t.gl2.drawArraysInstanced(i,s,o,v):t.gl.drawArrays(i,s,o)})),_&&_.end()})),!0)}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in x.k.priority>=2&&D(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle),e){var n=e[t],r=this._uniformSetters[t];if(r){var i=n,o=!1;if(i instanceof _.a&&(i=i.texture),i instanceof b.a)if(o=this.uniforms[t]!==n){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);var a=i,s=r.textureIndex;a.bind(s),i=s,this._textureUniforms[t]=a}else i=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(i)||o)&&N(this.uniforms,t,n)}}return this}},{key:"_areTexturesRenderable",value:function(){var e=!0;for(var t in this._textureUniforms){var n=this._textureUniforms[t];n.update(),e=e&&n.loaded}return e}},{key:"_bindTextures",value:function(){for(var e in this._textureUniforms){var t=this._uniformSetters[e].textureIndex;this._textureUniforms[e].bind(t)}}},{key:"_createHandle",value:function(){return this.gl.createProgram()}},{key:"_deleteHandle",value:function(){this.gl.deleteProgram(this.handle)}},{key:"_getOptionsFromHandle",value:function(e){var t,n={},r=re(this.gl.getAttachedShaders(e));try{for(r.s();!(t=r.n()).done;){var i=t.value;switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new Y({handle:i});break;case 35632:n.fs=new Q({handle:i})}}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"_getParameter",value:function(e){return this.gl.getProgramParameter(this.handle,e)}},{key:"_setId",value:function(e){if(!e){var t=this._getName();this.id=Object(K.c)(t)}}},{key:"_getName",value:function(){var e=this.vs.getName()||this.fs.getName();return e=(e=e.replace(/shader/i,""))?"".concat(e,"-program"):"program"}},{key:"_compileAndLink",value:function(){var e=this.gl;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),x.k.time(4,"linkProgram for ".concat(this._getName()))(),e.linkProgram(this.handle),x.k.timeEnd(4,"linkProgram for ".concat(this._getName()))(),e.debug||x.k.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error("Error linking: ".concat(e.getProgramInfoLog(this.handle)));if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error("Error validating: ".concat(e.getProgramInfoLog(this.handle)))}}},{key:"_readUniformLocationsFromLinkedProgram",value:function(){var e=this.gl;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(var t=0;t1)for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:{},t=e.version,n=void 0===t?100:t,r=e.input,i=e.inputType,o=e.output;if(!r)return 300===n?h:n>300?"#version ".concat(n,"\n").concat(f):l;var a=g(r,i);return n>=300?"#version ".concat(n," ").concat(300===n?"es":"","\nin ").concat(i," ").concat(r,";\nout vec4 ").concat(o,";\nvoid main() {\n ").concat(o," = ").concat(a,";\n}"):"varying ".concat(i," ").concat(r,";\nvoid main() {\n gl_FragColor = ").concat(a,";\n}")}function v(e){switch(e){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Object(c.a)(!1),null}}function g(e,t){switch(t){case"float":return"vec4(".concat(e,", 0.0, 0.0, 1.0)");case"vec2":return"vec4(".concat(e,", 0.0, 1.0)");case"vec3":return"vec4(".concat(e,", 1.0)");case"vec4":return e;default:return Object(c.a)(!1),null}}var y=n(10),m=n(37),b=n(321),_=n(13);function O(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return a()(e,[{key:"setupResources",value:function(e){var t,n=O(this.bindings);try{for(n.s();!(t=n.n()).done;){var r=t.value;this._setupTransformFeedback(r,e)}}catch(e){n.e(e)}finally{n.f()}}},{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.varyings;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,r=t.transformFeedback,i=Object.assign({},n,e.attributes);return{attributes:i,transformFeedback:r}}},{key:"swap",value:function(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e)}},{key:"getBuffer",value:function(e){var t=this.bindings[this.currentIndex].feedbackBuffers,n=e?t[e]:null;return n?n instanceof m.a?n:n.buffer:null}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.varyingName,n=this.getBuffer(t);return n?n.getData():null}},{key:"delete",value:function(){for(var e in this.resources)this.resources[e].delete()}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&Object(_.a)(Object(y.j)(this.gl))}},{key:"_getFeedbackBuffers",value:function(e){var t=e.sourceBuffers,n=void 0===t?{}:t,r={};if(this.bindings[this.currentIndex]&&Object.assign(r,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(var i in this.feedbackMap){var o=this.feedbackMap[i];i in n&&(r[o]=i)}for(var a in Object.assign(r,e.feedbackBuffers),r){var s=r[a];if("string"==typeof s){var u=n[s],c=u.byteLength,l=u.usage,f=u.accessor;r[a]=this._createNewBuffer(a,{byteLength:c,usage:l,accessor:f})}}return r}},{key:"_setupBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=void 0===t?null:t;Object.assign(this.feedbackMap,e.feedbackMap);var r=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:n,feedbackBuffers:r})}},{key:"_setupTransformFeedback",value:function(e,t){var n=t.model.program;e.transformFeedback=new b.a(this.gl,{program:n,buffers:e.feedbackBuffers})}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){var t=this._swapBuffers(this.bindings[this.currentIndex]),n=t.sourceBuffers,r=t.feedbackBuffers,i=this._getNextIndex();this.bindings[i]=this._updateBinding(this.bindings[i],{sourceBuffers:n,feedbackBuffers:r})}}},{key:"_updateBinding",value:function(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}},{key:"_swapBuffers",value:function(e){if(!this.feedbackMap)return null;var t=Object.assign({},e.sourceBuffers),n=Object.assign({},e.feedbackBuffers);for(var r in this.feedbackMap){var i=this.feedbackMap[r];t[r]=e.feedbackBuffers[i],n[i]=e.sourceBuffers[r],Object(_.a)(n[i]instanceof m.a)}return{sourceBuffers:t,feedbackBuffers:n}}},{key:"_createNewBuffer",value:function(e,t){var n=new m.a(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=n,n}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}}]),e}(),A=n(0),P=n.n(A),S=n(199),k=n(105),C=n(81),j=n(239);function E(e){var t=100,n=e.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){var r=parseInt(n[1],10);Number.isFinite(r)&&(t=r)}return t}var T,M=n(183),B={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null};function I(e){var t=e.vs,n=e.sourceTextureMap,r=e.targetTextureVarying,i=e.targetTexture,o=Object.keys(n).length,a=null,s={},u=t,l={};if(o>0||r){var f=u.split("\n"),h=f.slice();if(f.forEach((function(e,t,i){if(o>0){var u=function(e,t){var n={},r=function(e){return d(e,["attribute","in"])}(e);if(!r)return null;var i=r.type,o=r.name;if(o&&t[o]){var a="// ".concat(e," => Replaced by Transform with a sampler"),s=function(e){var t="".concat("transform_uSampler_").concat(e),n="".concat("transform_uSize_").concat(e),r=" uniform sampler2D ".concat(t,";\n uniform vec2 ").concat(n,";");return{samplerName:t,sizeName:n,uniformDeclerations:r}}(o),u=s.samplerName,l=s.sizeName,f=s.uniformDeclerations,h=function(e){switch(e){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Object(c.a)(!1),null}}(i),p=" ".concat(i," ").concat(o," = transform_getInput(").concat(u,", ").concat(l,").").concat(h,";\n");return n[u]=o,{updatedLine:a,inject:{"vs:#decl":f,"vs:#main-start":p},samplerTextureMap:n}}return null}(e,n);if(u){var f=u.updatedLine,p=u.inject;h[t]=f,l=Object(M.b)([l,p]),Object.assign(s,u.samplerTextureMap),o--}}r&&!a&&(a=function(e,t){var n=d(e,["varying","out"]);if(!n)return null;return n.name===t?n.type:null}(e,r))})),r){Object(_.a)(i);var p="".concat("transform_uSize_").concat(r),v={"vs:#decl":"uniform vec2 ".concat(p,";\n"),"vs:#main-start":" vec2 ".concat("transform_position"," = transform_getPos(").concat(p,");\n gl_Position = vec4(").concat("transform_position",", 0, 1.);\n")};l=Object(M.b)([l,v])}u=h.join("\n")}return{vs:u,targetTextureType:a,inject:l,samplerTextureMap:s}}function R(e){var t,n,r=e.sourceTextureMap,i=e.targetTextureVarying,o=e.targetTexture,a={};for(var s in i&&(t=o.width,n=o.height,a["".concat("transform_uSize_").concat(i)]=[t,n]),r){var u=r[s];t=u.width,n=u.height,a["".concat("transform_uSize_").concat(s)]=[t,n]}return a}var L=(T={},P()(T,10241,9728),P()(T,10240,9728),P()(T,10242,33071),P()(T,10243,33071),T),D=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return a()(e,[{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._processVertexShader(e);return Object.assign({},e,t)}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,r=t.sourceTextures,i=t.framebuffer,o=t.targetTexture,a=Object.assign({},n,e.attributes),s=Object.assign({},e.uniforms),u=Object.assign({},e.parameters),c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){for(var l in a.transform_elementID=this.elementIDBuffer,this.samplerTextureMap){var f=this.samplerTextureMap[l];s[l]=r[f]}this._setSourceTextureParameters();var h=R({sourceTextureMap:r,targetTextureVarying:this.targetTextureVarying,targetTexture:o});Object.assign(s,h)}return this.hasTargetTexture&&(c=!1,u.viewport=[0,0,i.width,i.height]),{attributes:a,framebuffer:i,uniforms:s,discard:c,parameters:u}}},{key:"swap",value:function(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupTextures(e)}},{key:"getTargetTexture",value:function(){return this.bindings[this.currentIndex].targetTexture}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.packed,n=void 0!==t&&t,r=this.bindings[this.currentIndex].framebuffer,i=Object(S.c)(r);if(!n)return i;for(var o=i.constructor,a=v(this.targetTextureType),s=new o(i.length*a/4),u=0,c=0;c0&&void 0!==arguments[0]?arguments[0]:{},t=e._targetTextureVarying,n=e._swapTexture;this._swapTexture=n,this.targetTextureVarying=t,this.hasTargetTexture=t,this._setupTextures(e)}},{key:"_createTargetTexture",value:function(e){var t=e.sourceTextures,n=e.textureOrReference;if(n instanceof k.a)return n;var r=t[n];return r?(this._targetRefTexName=n,this._createNewTexture(r)):null}},{key:"_setupTextures",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=e._sourceTextures,r=void 0===n?{}:n,i=e._targetTexture,o=this._createTargetTexture({sourceTextures:r,textureOrReference:i});this.hasSourceTextures=this.hasSourceTextures||r&&Object.keys(r).length>0,this._updateBindings({sourceBuffers:t,sourceTextures:r,targetTexture:o}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}},{key:"_updateElementIDBuffer",value:function(e){if(!("number"!=typeof e||this.elementCount>=e)){var t=new Float32Array(e);t.forEach((function(e,t,n){n[t]=t})),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new m.a(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){var t=this._swapTextures(this.bindings[this.currentIndex]),n=t.sourceTextures,r=t.targetTexture,i=this._getNextIndex();this.bindings[i]=this._updateBinding(this.bindings[i],{sourceTextures:n,targetTexture:r})}}},{key:"_updateBinding",value:function(e,t){var n=t.sourceBuffers,r=t.sourceTextures,i=t.targetTexture;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,n),i){e.targetTexture=i;var o=i.width,a=i.height,s=e.framebuffer;s?(s.update({attachments:P()({},36064,i),resizeAttachments:!1}),s.resize({width:o,height:a})):e.framebuffer=new C.a(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:P()({},36064,i)})}return e}},{key:"_setSourceTextureParameters",value:function(){var e=this.currentIndex,t=this.bindings[e].sourceTextures;for(var n in t)t[n].setParameters(L)}},{key:"_swapTextures",value:function(e){if(!this._swapTexture)return null;var t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}},{key:"_createNewTexture",value:function(e){var t,n=Object(j.a)(e,{parameters:(t={},P()(t,10241,9728),P()(t,10240,9728),P()(t,10242,33071),P()(t,10243,33071),t),pixelStore:P()({},37440,!1)});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=n,n}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}},{key:"_processVertexShader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceTextures,r=t.targetTexture,i=I({vs:e.vs,sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:r}),o=i.vs,a=i.uniforms,s=i.targetTextureType,u=i.inject,c=i.samplerTextureMap,l=Object(M.b)([e.inject||{},u]);this.targetTextureType=s,this.samplerTextureMap=c;var f=e._fs||p({version:E(o),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),h=this.hasSourceTextures||this.targetTextureVarying?[B].concat(e.modules||[]):e.modules;return{vs:o,fs:f,modules:h,uniforms:a,inject:l}}}]),e}(),F=n(54),N=n(179);function U(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return z(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(n),Object.seal(this)}return a()(e,[{key:"delete",value:function(){var e=this.model,t=this.bufferTransform,n=this.textureTransform;e&&e.delete(),t&&t.delete(),n&&n.delete()}},{key:"run",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearRenderTarget,n=void 0===t||t,r=this._updateDrawOptions(e);n&&r.framebuffer&&r.framebuffer.clear({color:!0}),this.model.transform(r)}},{key:"swap",value:function(){var e,t=!1,n=U([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(n.s();!(e=n.n()).done;){var r=e.value;t=t||r.swap()}}catch(e){n.e(e)}finally{n.f()}Object(_.a)(t,"Nothing to swap")}},{key:"getBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(e)}},{key:"getData",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=[this.bufferTransform,this.textureTransform].filter(Boolean),r=U(n);try{for(r.s();!(e=r.n()).done;){var i=e.value,o=i.getData(t);if(o)return o}}catch(e){r.e(e)}finally{r.f()}return null}},{key:"getFramebuffer",value:function(){return this.textureTransform&&this.textureTransform.getFramebuffer()}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};"elementCount"in e&&this.model.setVertexCount(e.elementCount);var t,n=[this.bufferTransform,this.textureTransform].filter(Boolean),r=U(n);try{for(r.s();!(t=r.n()).done;){var i=t.value;i.update(e)}}catch(e){r.e(e)}finally{r.f()}}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.gl;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new N.a(t,Object.assign({},e,{fs:e.fs||p({version:E(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}},{key:"_updateModelProps",value:function(e){var t,n=Object.assign({},e),r=U([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(r.s();!(t=r.n()).done;){n=t.value.updateModelProps(n)}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"_buildResourceTransforms",value:function(e,t){(function(e){if(!Object(F.a)(e.feedbackBuffers)||!Object(F.a)(e.feedbackMap)||e.varyings&&e.varyings.length>0)return!0;return!1})(t)&&(this.bufferTransform=new x(e,t)),function(e){if(!Object(F.a)(e._sourceTextures)||e._targetTexture||e._targetTextureVarying)return!0;return!1}(t)&&(this.textureTransform=new D(e,t)),Object(_.a)(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}},{key:"_updateDrawOptions",value:function(e){var t,n=Object.assign({},e),r=U([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(r.s();!(t=r.n()).done;){var i=t.value;n=Object.assign(n,i.getDrawOptions(n))}}catch(e){r.e(e)}finally{r.f()}return n}}],[{key:"isSupported",value:function(e){return Object(y.j)(e)}}]),e}()},function(e,t,n){"use strict";function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=Math.fround(e),i=e-r;return t[n]=r,t[n+1]=i,t}function i(e){return e-Math.fround(e)}function o(e){for(var t=new Float32Array(32),n=0;n<4;++n)for(var i=0;i<4;++i){var o=4*n+i;r(e[4*i+n],t,2*o)}return t}n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return u}));var a={ONE:1};var s={name:"fp64-arithmetic",vs:"uniform float ONE;\nvec2 split(float a) {\n const float SPLIT = 4097.0;\n float t = a * SPLIT;\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float a_hi = t * ONE - (t - a);\n float a_lo = a * ONE - a_hi;\n#else\n float a_hi = t - (t - a);\n float a_lo = a - a_hi;\n#endif\n return vec2(a_hi, a_lo);\n}\nvec2 split2(vec2 a) {\n vec2 b = split(a.x);\n b.y += a.y;\n return b;\n}\nvec2 quickTwoSum(float a, float b) {\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float sum = (a + b) * ONE;\n float err = b - (sum - a) * ONE;\n#else\n float sum = a + b;\n float err = b - (sum - a);\n#endif\n return vec2(sum, err);\n}\nvec2 twoSum(float a, float b) {\n float s = (a + b);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float v = (s * ONE - a) * ONE;\n float err = (a - (s - v) * ONE) * ONE * ONE * ONE + (b - v);\n#else\n float v = s - a;\n float err = (a - (s - v)) + (b - v);\n#endif\n return vec2(s, err);\n}\n\nvec2 twoSub(float a, float b) {\n float s = (a - b);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float v = (s * ONE - a) * ONE;\n float err = (a - (s - v) * ONE) * ONE * ONE * ONE - (b + v);\n#else\n float v = s - a;\n float err = (a - (s - v)) - (b + v);\n#endif\n return vec2(s, err);\n}\n\nvec2 twoSqr(float a) {\n float prod = a * a;\n vec2 a_fp64 = split(a);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float err = ((a_fp64.x * a_fp64.x - prod) * ONE + 2.0 * a_fp64.x *\n a_fp64.y * ONE * ONE) + a_fp64.y * a_fp64.y * ONE * ONE * ONE;\n#else\n float err = ((a_fp64.x * a_fp64.x - prod) + 2.0 * a_fp64.x * a_fp64.y) + a_fp64.y * a_fp64.y;\n#endif\n return vec2(prod, err);\n}\n\nvec2 twoProd(float a, float b) {\n float prod = a * b;\n vec2 a_fp64 = split(a);\n vec2 b_fp64 = split(b);\n float err = ((a_fp64.x * b_fp64.x - prod) + a_fp64.x * b_fp64.y +\n a_fp64.y * b_fp64.x) + a_fp64.y * b_fp64.y;\n return vec2(prod, err);\n}\n\nvec2 sum_fp64(vec2 a, vec2 b) {\n vec2 s, t;\n s = twoSum(a.x, b.x);\n t = twoSum(a.y, b.y);\n s.y += t.x;\n s = quickTwoSum(s.x, s.y);\n s.y += t.y;\n s = quickTwoSum(s.x, s.y);\n return s;\n}\n\nvec2 sub_fp64(vec2 a, vec2 b) {\n vec2 s, t;\n s = twoSub(a.x, b.x);\n t = twoSub(a.y, b.y);\n s.y += t.x;\n s = quickTwoSum(s.x, s.y);\n s.y += t.y;\n s = quickTwoSum(s.x, s.y);\n return s;\n}\n\nvec2 mul_fp64(vec2 a, vec2 b) {\n vec2 prod = twoProd(a.x, b.x);\n prod.y += a.x * b.y;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n prod = split2(prod);\n#endif\n prod = quickTwoSum(prod.x, prod.y);\n prod.y += a.y * b.x;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n prod = split2(prod);\n#endif\n prod = quickTwoSum(prod.x, prod.y);\n return prod;\n}\n\nvec2 div_fp64(vec2 a, vec2 b) {\n float xn = 1.0 / b.x;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n vec2 yn = mul_fp64(a, vec2(xn, 0));\n#else\n vec2 yn = a * xn;\n#endif\n float diff = (sub_fp64(a, mul_fp64(b, yn))).x;\n vec2 prod = twoProd(xn, diff);\n return sum_fp64(yn, prod);\n}\n\nvec2 sqrt_fp64(vec2 a) {\n if (a.x == 0.0 && a.y == 0.0) return vec2(0.0, 0.0);\n if (a.x < 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);\n\n float x = 1.0 / sqrt(a.x);\n float yn = a.x * x;\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n vec2 yn_sqr = twoSqr(yn) * ONE;\n#else\n vec2 yn_sqr = twoSqr(yn);\n#endif\n float diff = sub_fp64(a, yn_sqr).x;\n vec2 prod = twoProd(x * 0.5, diff);\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n return sum_fp64(split(yn), prod);\n#else\n return sum_fp64(vec2(yn, 0.0), prod);\n#endif\n}\n",fs:null,getUniforms:function(){return a},fp64ify:r,fp64LowPart:i,fp64ifyMatrix4:o},u={name:"fp64",vs:"const vec2 E_FP64 = vec2(2.7182817459106445e+00, 8.254840366817007e-08);\nconst vec2 LOG2_FP64 = vec2(0.6931471824645996e+00, -1.9046542121259336e-09);\nconst vec2 PI_FP64 = vec2(3.1415927410125732, -8.742278012618954e-8);\nconst vec2 TWO_PI_FP64 = vec2(6.2831854820251465, -1.7484556025237907e-7);\nconst vec2 PI_2_FP64 = vec2(1.5707963705062866, -4.371139006309477e-8);\nconst vec2 PI_4_FP64 = vec2(0.7853981852531433, -2.1855695031547384e-8);\nconst vec2 PI_16_FP64 = vec2(0.19634954631328583, -5.463923757886846e-9);\nconst vec2 PI_16_2_FP64 = vec2(0.39269909262657166, -1.0927847515773692e-8);\nconst vec2 PI_16_3_FP64 = vec2(0.5890486240386963, -1.4906100798128818e-9);\nconst vec2 PI_180_FP64 = vec2(0.01745329238474369, 1.3519960498364902e-10);\n\nconst vec2 SIN_TABLE_0_FP64 = vec2(0.19509032368659973, -1.6704714833615242e-9);\nconst vec2 SIN_TABLE_1_FP64 = vec2(0.3826834261417389, 6.22335089017767e-9);\nconst vec2 SIN_TABLE_2_FP64 = vec2(0.5555702447891235, -1.1769521357507529e-8);\nconst vec2 SIN_TABLE_3_FP64 = vec2(0.7071067690849304, 1.2101617041793133e-8);\n\nconst vec2 COS_TABLE_0_FP64 = vec2(0.9807852506637573, 2.9739473106360492e-8);\nconst vec2 COS_TABLE_1_FP64 = vec2(0.9238795042037964, 2.8307490351764386e-8);\nconst vec2 COS_TABLE_2_FP64 = vec2(0.8314695954322815, 1.6870263741530778e-8);\nconst vec2 COS_TABLE_3_FP64 = vec2(0.7071067690849304, 1.2101617152815436e-8);\n\nconst vec2 INVERSE_FACTORIAL_3_FP64 = vec2(1.666666716337204e-01, -4.967053879312289e-09);\nconst vec2 INVERSE_FACTORIAL_4_FP64 = vec2(4.16666679084301e-02, -1.2417634698280722e-09);\nconst vec2 INVERSE_FACTORIAL_5_FP64 = vec2(8.333333767950535e-03, -4.34617203337595e-10);\nconst vec2 INVERSE_FACTORIAL_6_FP64 = vec2(1.3888889225199819e-03, -3.3631094437103215e-11);\nconst vec2 INVERSE_FACTORIAL_7_FP64 = vec2(1.9841270113829523e-04, -2.725596874933456e-12);\nconst vec2 INVERSE_FACTORIAL_8_FP64 = vec2(2.4801587642286904e-05, -3.406996025904184e-13);\nconst vec2 INVERSE_FACTORIAL_9_FP64 = vec2(2.75573188446287533e-06, 3.7935713937038186e-14);\nconst vec2 INVERSE_FACTORIAL_10_FP64 = vec2(2.755731998149713e-07, -7.575112367869873e-15);\n\nfloat nint(float d) {\n if (d == floor(d)) return d;\n return floor(d + 0.5);\n}\n\nvec2 nint_fp64(vec2 a) {\n float hi = nint(a.x);\n float lo;\n vec2 tmp;\n if (hi == a.x) {\n lo = nint(a.y);\n tmp = quickTwoSum(hi, lo);\n } else {\n lo = 0.0;\n if (abs(hi - a.x) == 0.5 && a.y < 0.0) {\n hi -= 1.0;\n }\n tmp = vec2(hi, lo);\n }\n return tmp;\n}\n\nvec2 exp_fp64(vec2 a) {\n\n const int k_power = 4;\n const float k = 16.0;\n\n const float inv_k = 1.0 / k;\n\n if (a.x <= -88.0) return vec2(0.0, 0.0);\n if (a.x >= 88.0) return vec2(1.0 / 0.0, 1.0 / 0.0);\n if (a.x == 0.0 && a.y == 0.0) return vec2(1.0, 0.0);\n if (a.x == 1.0 && a.y == 0.0) return E_FP64;\n\n float m = floor(a.x / LOG2_FP64.x + 0.5);\n vec2 r = sub_fp64(a, mul_fp64(LOG2_FP64, vec2(m, 0.0))) * inv_k;\n vec2 s, t, p;\n\n p = mul_fp64(r, r);\n s = sum_fp64(r, p * 0.5);\n p = mul_fp64(p, r);\n t = mul_fp64(p, INVERSE_FACTORIAL_3_FP64);\n\n s = sum_fp64(s, t);\n p = mul_fp64(p, r);\n t = mul_fp64(p, INVERSE_FACTORIAL_4_FP64);\n\n s = sum_fp64(s, t);\n p = mul_fp64(p, r);\n t = mul_fp64(p, INVERSE_FACTORIAL_5_FP64);\n\n\n\n\n\n\n s = sum_fp64(s, t);\n for (int i = 0; i < k_power; i++) {\n s = sum_fp64(s * 2.0, mul_fp64(s, s));\n }\n\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n s = sum_fp64(s, vec2(ONE, 0.0));\n#else\n s = sum_fp64(s, vec2(1.0, 0.0));\n#endif\n\n return s * pow(2.0, m);\n}\n\nvec2 log_fp64(vec2 a)\n{\n if (a.x == 1.0 && a.y == 0.0) return vec2(0.0, 0.0);\n if (a.x <= 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);\n vec2 x = vec2(log(a.x), 0.0);\n vec2 s;\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n s = vec2(ONE, 0.0);\n#else\n s = vec2(1.0, 0.0);\n#endif\n\n x = sub_fp64(sum_fp64(x, mul_fp64(a, exp_fp64(-x))), s);\n return x;\n}\n\nvec2 sin_taylor_fp64(vec2 a) {\n vec2 r, s, t, x;\n\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(0.0, 0.0);\n }\n\n x = -mul_fp64(a, a);\n s = a;\n r = a;\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_3_FP64);\n s = sum_fp64(s, t);\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_5_FP64);\n s = sum_fp64(s, t);\n\n\n\n\n\n\n return s;\n}\n\nvec2 cos_taylor_fp64(vec2 a) {\n vec2 r, s, t, x;\n\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(1.0, 0.0);\n }\n\n x = -mul_fp64(a, a);\n r = x;\n s = sum_fp64(vec2(1.0, 0.0), r * 0.5);\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_4_FP64);\n s = sum_fp64(s, t);\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_6_FP64);\n s = sum_fp64(s, t);\n\n\n\n\n\n\n return s;\n}\n\nvoid sincos_taylor_fp64(vec2 a, out vec2 sin_t, out vec2 cos_t) {\n if (a.x == 0.0 && a.y == 0.0) {\n sin_t = vec2(0.0, 0.0);\n cos_t = vec2(1.0, 0.0);\n }\n\n sin_t = sin_taylor_fp64(a);\n cos_t = sqrt_fp64(sub_fp64(vec2(1.0, 0.0), mul_fp64(sin_t, sin_t)));\n}\n\nvec2 sin_fp64(vec2 a) {\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(0.0, 0.0);\n }\n vec2 z = nint_fp64(div_fp64(a, TWO_PI_FP64));\n vec2 r = sub_fp64(a, mul_fp64(TWO_PI_FP64, z));\n\n vec2 t;\n float q = floor(r.x / PI_2_FP64.x + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n }\n\n t = sub_fp64(r, mul_fp64(PI_2_FP64, vec2(q, 0.0)));\n\n q = floor(t.x / PI_16_FP64.x + 0.5);\n int k = int(q);\n\n if (k == 0) {\n if (j == 0) {\n return sin_taylor_fp64(t);\n } else if (j == 1) {\n return cos_taylor_fp64(t);\n } else if (j == -1) {\n return -cos_taylor_fp64(t);\n } else {\n return -sin_taylor_fp64(t);\n }\n }\n\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n } else {\n t = sub_fp64(t, mul_fp64(PI_16_FP64, vec2(q, 0.0)));\n }\n\n vec2 u = vec2(0.0, 0.0);\n vec2 v = vec2(0.0, 0.0);\n\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#else\n if (abs_k == 1) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs_k == 2) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs_k == 3) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs_k == 4) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#endif\n\n vec2 sin_t, cos_t;\n sincos_taylor_fp64(t, sin_t, cos_t);\n\n\n\n vec2 result = vec2(0.0, 0.0);\n if (j == 0) {\n if (k > 0) {\n result = sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n }\n } else if (j == 1) {\n if (k > 0) {\n result = sub_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n } else {\n result = sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n } else if (j == -1) {\n if (k > 0) {\n result = sub_fp64(mul_fp64(v, sin_t), mul_fp64(u, cos_t));\n } else {\n result = -sum_fp64(mul_fp64(v, sin_t), mul_fp64(u, cos_t));\n }\n } else {\n if (k > 0) {\n result = -sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(v, cos_t), mul_fp64(u, sin_t));\n }\n }\n\n return result;\n}\n\nvec2 cos_fp64(vec2 a) {\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(1.0, 0.0);\n }\n vec2 z = nint_fp64(div_fp64(a, TWO_PI_FP64));\n vec2 r = sub_fp64(a, mul_fp64(TWO_PI_FP64, z));\n\n vec2 t;\n float q = floor(r.x / PI_2_FP64.x + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n }\n\n t = sub_fp64(r, mul_fp64(PI_2_FP64, vec2(q, 0.0)));\n\n q = floor(t.x / PI_16_FP64.x + 0.5);\n int k = int(q);\n\n if (k == 0) {\n if (j == 0) {\n return cos_taylor_fp64(t);\n } else if (j == 1) {\n return -sin_taylor_fp64(t);\n } else if (j == -1) {\n return sin_taylor_fp64(t);\n } else {\n return -cos_taylor_fp64(t);\n }\n }\n\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n } else {\n t = sub_fp64(t, mul_fp64(PI_16_FP64, vec2(q, 0.0)));\n }\n\n vec2 u = vec2(0.0, 0.0);\n vec2 v = vec2(0.0, 0.0);\n\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#else\n if (abs_k == 1) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs_k == 2) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs_k == 3) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs_k == 4) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#endif\n\n vec2 sin_t, cos_t;\n sincos_taylor_fp64(t, sin_t, cos_t);\n\n vec2 result = vec2(0.0, 0.0);\n if (j == 0) {\n if (k > 0) {\n result = sub_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n } else {\n result = sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n } else if (j == 1) {\n if (k > 0) {\n result = -sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(v, cos_t), mul_fp64(u, sin_t));\n }\n } else if (j == -1) {\n if (k > 0) {\n result = sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n }\n } else {\n if (k > 0) {\n result = sub_fp64(mul_fp64(v, sin_t), mul_fp64(u, cos_t));\n } else {\n result = -sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n }\n\n return result;\n}\n\nvec2 tan_fp64(vec2 a) {\n vec2 sin_a;\n vec2 cos_a;\n\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(0.0, 0.0);\n }\n vec2 z = nint_fp64(div_fp64(a, TWO_PI_FP64));\n vec2 r = sub_fp64(a, mul_fp64(TWO_PI_FP64, z));\n\n vec2 t;\n float q = floor(r.x / PI_2_FP64.x + 0.5);\n int j = int(q);\n\n\n if (j < -2 || j > 2) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n }\n\n t = sub_fp64(r, mul_fp64(PI_2_FP64, vec2(q, 0.0)));\n\n q = floor(t.x / PI_16_FP64.x + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n } else {\n t = sub_fp64(t, mul_fp64(PI_16_FP64, vec2(q, 0.0)));\n }\n\n\n vec2 u = vec2(0.0, 0.0);\n vec2 v = vec2(0.0, 0.0);\n\n vec2 sin_t, cos_t;\n vec2 s, c;\n sincos_taylor_fp64(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#else\n if (abs_k == 1) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs_k == 2) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs_k == 3) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs_k == 4) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#endif\n if (k > 0) {\n s = sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n c = sub_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n } else {\n s = sub_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n c = sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return div_fp64(sin_a, cos_a);\n}\n\nvec2 radians_fp64(vec2 degree) {\n return mul_fp64(degree, PI_180_FP64);\n}\n\nvec2 mix_fp64(vec2 a, vec2 b, float x) {\n vec2 range = sub_fp64(b, a);\n return sum_fp64(a, mul_fp64(range, vec2(x, 0.0)));\n}\n\nvoid vec2_sum_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = sum_fp64(a[0], b[0]);\n out_val[1] = sum_fp64(a[1], b[1]);\n}\n\nvoid vec2_sub_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = sub_fp64(a[0], b[0]);\n out_val[1] = sub_fp64(a[1], b[1]);\n}\n\nvoid vec2_mul_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = mul_fp64(a[0], b[0]);\n out_val[1] = mul_fp64(a[1], b[1]);\n}\n\nvoid vec2_div_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = div_fp64(a[0], b[0]);\n out_val[1] = div_fp64(a[1], b[1]);\n}\n\nvoid vec2_mix_fp64(vec2 x[2], vec2 y[2], float a, out vec2 out_val[2]) {\n vec2 range[2];\n vec2_sub_fp64(y, x, range);\n vec2 portion[2];\n portion[0] = range[0] * a;\n portion[1] = range[1] * a;\n vec2_sum_fp64(x, portion, out_val);\n}\n\nvec2 vec2_length_fp64(vec2 x[2]) {\n return sqrt_fp64(sum_fp64(mul_fp64(x[0], x[0]), mul_fp64(x[1], x[1])));\n}\n\nvoid vec2_normalize_fp64(vec2 x[2], out vec2 out_val[2]) {\n vec2 length = vec2_length_fp64(x);\n vec2 length_vec2[2];\n length_vec2[0] = length;\n length_vec2[1] = length;\n\n vec2_div_fp64(x, length_vec2, out_val);\n}\n\nvec2 vec2_distance_fp64(vec2 x[2], vec2 y[2]) {\n vec2 diff[2];\n vec2_sub_fp64(x, y, diff);\n return vec2_length_fp64(diff);\n}\n\nvec2 vec2_dot_fp64(vec2 a[2], vec2 b[2]) {\n vec2 v[2];\n\n v[0] = mul_fp64(a[0], b[0]);\n v[1] = mul_fp64(a[1], b[1]);\n\n return sum_fp64(v[0], v[1]);\n}\nvoid vec3_sub_fp64(vec2 a[3], vec2 b[3], out vec2 out_val[3]) {\n for (int i = 0; i < 3; i++) {\n out_val[i] = sum_fp64(a[i], b[i]);\n }\n}\n\nvoid vec3_sum_fp64(vec2 a[3], vec2 b[3], out vec2 out_val[3]) {\n for (int i = 0; i < 3; i++) {\n out_val[i] = sum_fp64(a[i], b[i]);\n }\n}\n\nvec2 vec3_length_fp64(vec2 x[3]) {\n return sqrt_fp64(sum_fp64(sum_fp64(mul_fp64(x[0], x[0]), mul_fp64(x[1], x[1])),\n mul_fp64(x[2], x[2])));\n}\n\nvec2 vec3_distance_fp64(vec2 x[3], vec2 y[3]) {\n vec2 diff[3];\n vec3_sub_fp64(x, y, diff);\n return vec3_length_fp64(diff);\n}\nvoid vec4_fp64(vec4 a, out vec2 out_val[4]) {\n out_val[0].x = a[0];\n out_val[0].y = 0.0;\n\n out_val[1].x = a[1];\n out_val[1].y = 0.0;\n\n out_val[2].x = a[2];\n out_val[2].y = 0.0;\n\n out_val[3].x = a[3];\n out_val[3].y = 0.0;\n}\n\nvoid vec4_scalar_mul_fp64(vec2 a[4], vec2 b, out vec2 out_val[4]) {\n out_val[0] = mul_fp64(a[0], b);\n out_val[1] = mul_fp64(a[1], b);\n out_val[2] = mul_fp64(a[2], b);\n out_val[3] = mul_fp64(a[3], b);\n}\n\nvoid vec4_sum_fp64(vec2 a[4], vec2 b[4], out vec2 out_val[4]) {\n for (int i = 0; i < 4; i++) {\n out_val[i] = sum_fp64(a[i], b[i]);\n }\n}\n\nvoid vec4_dot_fp64(vec2 a[4], vec2 b[4], out vec2 out_val) {\n vec2 v[4];\n\n v[0] = mul_fp64(a[0], b[0]);\n v[1] = mul_fp64(a[1], b[1]);\n v[2] = mul_fp64(a[2], b[2]);\n v[3] = mul_fp64(a[3], b[3]);\n\n out_val = sum_fp64(sum_fp64(v[0], v[1]), sum_fp64(v[2], v[3]));\n}\n\nvoid mat4_vec4_mul_fp64(vec2 b[16], vec2 a[4], out vec2 out_val[4]) {\n vec2 tmp[4];\n\n for (int i = 0; i < 4; i++)\n {\n for (int j = 0; j < 4; j++)\n {\n tmp[j] = b[j + i * 4];\n }\n vec4_dot_fp64(a, tmp, out_val[i]);\n }\n}\n",fs:null,dependencies:[s],fp64ify:r,fp64LowPart:i,fp64ifyMatrix4:o}},function(e,t,n){"use strict";var r=n(136);n.d(t,"a",(function(){return i}));var i={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[r.a]}}])})); + * Licensed under the MIT license */!function(i,o,a,s){"use strict";var u,c=["","webkit","Moz","MS","ms","o"],l=o.createElement("div"),f=Math.round,h=Math.abs,d=Date.now;function p(e,t,n){return setTimeout(O(e,n),t)}function v(e,t,n){return!!Array.isArray(e)&&(g(e,n[t],n),!0)}function g(e,t,n){var r;if(e)if(e.forEach)e.forEach(t,n);else if(void 0!==e.length)for(r=0;r\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=i.console&&(i.console.warn||i.console.log);return o&&o.call(i.console,r,n),e.apply(this,arguments)}}u="function"!=typeof Object.assign?function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n-1}function C(e){return e.trim().split(/\s+/g)}function j(e,t,n){if(e.indexOf&&!n)return e.indexOf(t);for(var r=0;rn[t]})):r.sort()),r}function M(e,t){for(var n,r,i=t[0].toUpperCase()+t.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=G(t):1===i&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,s=a?a.center:o.center,u=t.center=V(r);t.timeStamp=d(),t.deltaTime=t.timeStamp-o.timeStamp,t.angle=X(s,u),t.distance=J(s,u),function(e,t){var n=t.center,r=e.offsetDelta||{},i=e.prevDelta||{},o=e.prevInput||{};1!==t.eventType&&4!==o.eventType||(i=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=e.offsetDelta={x:n.x,y:n.y});t.deltaX=i.x+(n.x-r.x),t.deltaY=i.y+(n.y-r.y)}(n,t),t.offsetDirection=W(t.deltaX,t.deltaY);var c=H(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=c.x,t.overallVelocityY=c.y,t.overallVelocity=h(c.x)>h(c.y)?c.x:c.y,t.scale=a?(l=a.pointers,f=r,J(f[0],f[1],N)/J(l[0],l[1],N)):1,t.rotation=a?function(e,t){return X(t[1],t[0],N)+X(e[1],e[0],N)}(a.pointers,r):0,t.maxPointers=n.prevInput?t.pointers.length>n.prevInput.maxPointers?t.pointers.length:n.prevInput.maxPointers:t.pointers.length,function(e,t){var n,r,i,o,a=e.lastInterval||t,s=t.timeStamp-a.timeStamp;if(8!=t.eventType&&(s>25||void 0===a.velocity)){var u=t.deltaX-a.deltaX,c=t.deltaY-a.deltaY,l=H(s,u,c);r=l.x,i=l.y,n=h(l.x)>h(l.y)?l.x:l.y,o=W(u,c),e.lastInterval=t}else n=a.velocity,r=a.velocityX,i=a.velocityY,o=a.direction;t.velocity=n,t.velocityX=r,t.velocityY=i,t.direction=o}(n,t);var l,f;var p=e.element;S(t.srcEvent.target,p)&&(p=t.srcEvent.target);t.target=p}(e,n),e.emit("hammer.input",n),e.recognize(n),e.session.prevInput=n}function G(e){for(var t=[],n=0;n=h(t)?e<0?2:4:t<0?8:16}function J(e,t,n){n||(n=F);var r=t[n[0]]-e[n[0]],i=t[n[1]]-e[n[1]];return Math.sqrt(r*r+i*i)}function X(e,t,n){n||(n=F);var r=t[n[0]]-e[n[0]],i=t[n[1]]-e[n[1]];return 180*Math.atan2(i,r)/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&A(this.element,this.evEl,this.domHandler),this.evTarget&&A(this.target,this.evTarget,this.domHandler),this.evWin&&A(I(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&P(this.element,this.evEl,this.domHandler),this.evTarget&&P(this.target,this.evTarget,this.domHandler),this.evWin&&P(I(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4};function q(){this.evEl="mousedown",this.evWin="mousemove mouseup",this.pressed=!1,U.apply(this,arguments)}_(q,U,{handler:function(e){var t=K[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:"mouse",srcEvent:e}))}});var Z={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Y={2:"touch",3:"pen",4:"mouse",5:"kinect"},Q="pointerdown",$="pointermove pointerup pointercancel";function ee(){this.evEl=Q,this.evWin=$,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}i.MSPointerEvent&&!i.PointerEvent&&(Q="MSPointerDown",$="MSPointerMove MSPointerUp MSPointerCancel"),_(ee,U,{handler:function(e){var t=this.store,n=!1,r=e.type.toLowerCase().replace("ms",""),i=Z[r],o=Y[e.pointerType]||e.pointerType,a="touch"==o,s=j(t,e.pointerId,"pointerId");1&i&&(0===e.button||a)?s<0&&(t.push(e),s=t.length-1):12&i&&(n=!0),s<0||(t[s]=e,this.callback(this.manager,i,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),n&&t.splice(s,1))}});var te={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function ne(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,U.apply(this,arguments)}function re(e,t){var n=E(e.touches),r=E(e.changedTouches);return 12&t&&(n=T(n.concat(r),"identifier",!0)),[n,r]}_(ne,U,{handler:function(e){var t=te[e.type];if(1===t&&(this.started=!0),this.started){var n=re.call(this,e,t);12&t&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:e})}}});var ie={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function oe(){this.evTarget="touchstart touchmove touchend touchcancel",this.targetIds={},U.apply(this,arguments)}function ae(e,t){var n=E(e.touches),r=this.targetIds;if(3&t&&1===n.length)return r[n[0].identifier]=!0,[n,n];var i,o,a=E(e.changedTouches),s=[],u=this.target;if(o=n.filter((function(e){return S(e.target,u)})),1===t)for(i=0;i-1&&r.splice(e,1)}),2500)}}function le(e){for(var t=e.srcEvent.clientX,n=e.srcEvent.clientY,r=0;r-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,n=this.state;function r(n){t.manager.emit(n,e)}n<8&&r(t.options.event+ge(n)),r(t.options.event),e.additionalEvent&&r(e.additionalEvent),n>=8&&r(t.options.event+ge(n))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=32},canEmit:function(){for(var e=0;et.threshold&&i&t.direction},attrTest:function(e){return be.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=ye(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),_(Oe,be,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),_(we,ve,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,r=e.distancet.time;if(this._input=e,!r||!n||12&e.eventType&&!i)this.reset();else if(1&e.eventType)this.reset(),this._timer=p((function(){this.state=8,this.tryEmit()}),t.time,this);else if(4&e.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=d(),this.manager.emit(this.options.event,this._input)))}}),_(xe,be,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),_(Ae,be,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return _e.prototype.getTouchAction.call(this)},attrTest:function(e){var t,n=this.options.direction;return 30&n?t=e.overallVelocity:6&n?t=e.overallVelocityX:24&n&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&h(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=ye(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),_(Pe,ve,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return["manipulation"]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,r=e.distance0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}},{key:"_checkSampling",value:function(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}]),e}(),l=function(){function e(t){var n=t.id,r=t.stats;i()(this,e),this.id=n,this.stats={},this._initializeStats(r),Object.seal(this)}return a()(e,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}},{key:"size",get:function(){return Object.keys(this.stats).length}},{key:"reset",value:function(){for(var e in this.stats)this.stats[e].reset();return this}},{key:"forEach",value:function(e){for(var t in this.stats)e(this.stats[t])}},{key:"getTable",value:function(){var e={};return this.forEach((function(t){e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}})),e}},{key:"_initializeStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){return e._getOrCreate(t)}))}},{key:"_getOrCreate",value:function(e){if(!e||!e.name)return null;var t=e.name,n=e.type;return this.stats[t]||(this.stats[t]=e instanceof c?e:new c(t,n)),this.stats[t]}}]),e}(),f=n(35);n.d(t,"a",(function(){return h}));var h=new(function(){function e(){i()(this,e),this.stats=new Map}return a()(e,[{key:"get",value:function(e){return this.stats.has(e)||this.stats.set(e,new l({id:e})),this.stats.get(e)}}]),e}());if(f.global.luma&&"8.5.10"!==f.global.luma.VERSION)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(f.global.luma.VERSION," vs ").concat("8.5.10"));f.global.luma||(Object(f.isBrowser)()&&s.k.log(1,"luma.gl ".concat("8.5.10"," - ").concat("set luma.log.level=1 (or higher) to trace rendering"))(),f.global.luma=f.global.luma||{VERSION:"8.5.10",version:"8.5.10",log:s.k,stats:h,globals:{modules:{},nodeIO:{}}});f.global.luma},,,function(e,t){},function(e,t,n){"use strict";n.d(t,"a",(function(){return h}));var r=n(171),i=n.n(r),o=n(44),a=n.n(o),s=n(45),u=n.n(s),c=n(15),l=n(74),f=n(27),h=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.phi,r=void 0===n?0:n,i=t.theta,o=void 0===i?0:i,s=t.radius,u=void 0===s?1:s,c=t.bearing,l=void 0===c?void 0:c,f=t.pitch,h=void 0===f?void 0:f,d=t.altitude,p=void 0===d?void 0:d,v=t.radiusScale,g=void 0===v?6371e3:v;a()(this,e),this.phi=r,this.theta=o,this.radius=u||p||1,this.radiusScale=g||1,void 0!==l&&(this.bearing=l),void 0!==h&&(this.pitch=h),this.check()}return u()(e,[{key:"toString",value:function(){return this.formatString(c.b)}},{key:"formatString",value:function(e){var t=e.printTypes,n=void 0!==t&&t,r=c.e;return"".concat(n?"Spherical":"","[rho:").concat(r(this.radius),",theta:").concat(r(this.theta),",phi:").concat(r(this.phi),"]")}},{key:"equals",value:function(e){return Object(c.d)(this.radius,e.radius)&&Object(c.d)(this.theta,e.theta)&&Object(c.d)(this.phi,e.phi)}},{key:"exactEquals",value:function(e){return this.radius===e.radius&&this.theta===e.theta&&this.phi===e.phi}},{key:"bearing",get:function(){return 180-Object(c.c)(this.phi)},set:function(e){this.phi=Math.PI-Object(c.h)(e)}},{key:"pitch",get:function(){return Object(c.c)(this.theta)},set:function(e){this.theta=Object(c.h)(e)}},{key:"longitude",get:function(){return Object(c.c)(this.phi)}},{key:"latitude",get:function(){return Object(c.c)(this.theta)}},{key:"lng",get:function(){return Object(c.c)(this.phi)}},{key:"lat",get:function(){return Object(c.c)(this.theta)}},{key:"z",get:function(){return(this.radius-1)*this.radiusScale}},{key:"set",value:function(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this.check()}},{key:"clone",value:function(){return(new e).copy(this)}},{key:"copy",value:function(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this.check()}},{key:"fromLngLatZ",value:function(e){var t=i()(e,3),n=t[0],r=t[1],o=t[2];this.radius=1+o/this.radiusScale,this.phi=Object(c.h)(r),this.theta=Object(c.h)(n)}},{key:"fromVector3",value:function(e){return this.radius=f.i(e),this.radius>0&&(this.theta=Math.atan2(e[0],e[1]),this.phi=Math.acos(Object(c.a)(e[2]/this.radius,-1,1))),this.check()}},{key:"toVector3",value:function(){return new l.a(0,0,this.radius).rotateX({radians:this.theta}).rotateZ({radians:this.phi})}},{key:"makeSafe",value:function(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this}},{key:"check",value:function(){if(!(Number.isFinite(this.phi)&&Number.isFinite(this.theta)&&this.radius>0))throw new Error("SphericalCoordinates: some fields set to invalid numbers");return this}}]),e}()},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}));var r=n(104);function i(e,t){return Object(r.a)(e>=0),Object(r.a)(t>0),e+(t-1)&~(t-1)}function o(e,t,n){var r;if(e instanceof ArrayBuffer)r=new Uint8Array(e);else{var o=e.byteOffset,a=e.byteLength;r=new Uint8Array(e.buffer||e.arrayBuffer,o,a)}return t.set(r,n),n+i(r.byteLength,4)}},function(e,t,n){"use strict";n.r(t);var r=n(234);n.d(t,"SimpleMeshLayer",(function(){return r.a}));var i=n(229);n.d(t,"ScenegraphLayer",(function(){return i.a}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(1),i=n.n(r),o=[255,255,255],a=0,s=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e);var n=t.color,r=void 0===n?o:n,s=t.intensity,u=void 0===s?1:s;this.id=t.id||"ambient-".concat(a++),this.color=r,this.intensity=u,this.type="ambient"}},function(e,t,n){"use strict";n.d(t,"a",(function(){return O}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(69),g=n(90),y=n(110);function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);no&&(s+=o-h),l+=s,f+=s}return[l,f]}return Object(b.a)(n+s,a,o)}}]),n}(n(112).a),x=function(e){h()(n,e);var t=O(n);function n(e){return a()(this,n),e.dragMode=e.dragMode||"pan",t.call(this,w,e)}return u()(n,[{key:"_onPanRotate",value:function(e){return!1}},{key:"linearTransitionProps",get:function(){return["target","zoom"]}}]),n}(_.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(0),i=n.n(r);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0&&n.modules.splice(r,1)}if("inject"in t)if(e.inject){var i=a({},e.inject);for(var o in t.inject)i[o]=(i[o]||"")+t.inject[o];n.inject=i}else n.inject=t.inject;return n}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(12),i=n.n(r);function o(e){if(null===(t=e)||"object"!==i()(t))throw new Error("count(): argument not an object");var t;if("function"==typeof e.count)return e.count();if(Number.isFinite(e.size))return e.size;if(Number.isFinite(e.length))return e.length;if(function(e){return null!==e&&"object"===i()(e)&&e.constructor===Object}(e))return Object.keys(e).length;throw new Error("count(): argument not a container")}},function(e,t,n){"use strict";var r=n(11),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(0),g=n.n(v),y=n(18),m=n(156),b=n(52),_=n(15),O=n(82);function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}var x=function(e){l()(n,e);var t=w(n);function n(){return a()(this,n),t.apply(this,arguments)}return u()(n,[{key:"value",get:function(){return this._value}},{key:"_onUpdate",value:function(){var e=this.time,t=this.settings,n=t.fromValue,r=t.toValue,i=t.duration,o=(0,t.easing)(e/i);this._value=Object(_.g)(n,r,o)}}]),n}(O.a);function A(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}function P(e,t,n,r,i){var o=t-e;return(n-t)*i+-o*r+o+t}function S(e,t){if(Array.isArray(e)){for(var n=0,r=0;r=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}},{key:"add",value:function(e,t,n,r){var i=this.transitions;if(i.has(e)){var o=i.get(e),a=o.value;t=void 0===a?o.settings.fromValue:a,this.remove(e)}if(r=Object(b.e)(r)){var s=I[r.type];if(s){var u=new s(this.timeline);u.start(M(M({},r),{},{fromValue:t,toValue:n})),i.set(e,u)}else C.a.error("unsupported transition type '".concat(r.type,"'"))()}}},{key:"remove",value:function(e){var t=this.transitions;t.has(e)&&(t.get(e).cancel(),t.delete(e))}},{key:"update",value:function(){var e,t={},n=j(this.transitions);try{for(n.s();!(e=n.n()).done;){var r=i()(e.value,2),o=r[0],a=r[1];a.update(),t[o]=a.value,a.inProgress||this.remove(o)}}catch(e){n.e(e)}finally{n.f()}return t}},{key:"clear",value:function(){var e,t=j(this.transitions.keys());try{for(t.s();!(e=t.n()).done;){var n=e.value;this.remove(n)}}catch(e){t.e(e)}finally{t.f()}}}]),e}(),L=n(131),D=n(154),F=n(36),N=n(10),U=n(40),z=n(89),G=n(153),V=n(134),H=n(78),W=n(29),J=n(62),X=n(12),K=n.n(X),q=n(105);function Z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t=t.min)}},color:{validate:function(e,t){return t.optional&&!e||se(e)&&(3===e.length||4===e.length)},equal:function(e,t,n){return ie(e,t)}},accessor:{validate:function(e,t){var n=ue(e);return"function"===n||n===ue(t.value)},equal:function(e,t,n){return"function"==typeof t||ie(e,t)}},array:{validate:function(e,t){return t.optional&&!e||se(e)},equal:function(e,t,n){return n.compare?ie(e,t):e===t}},object:{equal:function(e,t,n){return n.compare?Object(ee.a)(e,t):e===t}},function:{validate:function(e,t){return t.optional&&!e||"function"==typeof e},equal:function(e,t,n){return!n.compare||e===t}},data:{transform:function(e,t,n){var r=n.props.dataTransform;return r&&e?r(e):e}},image:{transform:function(e,t,n){return function(e,t){var n=e.context&&e.context.gl;if(!n||!t)return null;if(t instanceof q.a)return t;t.constructor&&"Object"!==t.constructor.name&&(t={data:t});var r=null;t.compressed&&(r=g()({},10241,t.data.length>1?9985:9729));var i=new q.a(n,Y(Y({},t),{},{parameters:Y(Y(Y({},Q),r),e.props.textureParameters)}));return $[i.id]=!0,i}(n,e)},release:function(e){var t;(t=e)&&t instanceof q.a&&$[t.id]&&(t.delete(),delete $[t.id])}}};function ie(e,t){if(e===t)return!0;if(!se(e)||!se(t))return!1;var n=e.length;if(n!==t.length)return!1;for(var r=0;r=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function le(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(var n in this.asyncProps)if(this.isAsyncPropLoading(n))return!0;return!1}},{key:"reloadAsyncProp",value:function(e,t){this._watchPromise(e,Promise.resolve(t))}},{key:"setAsyncProps",value:function(e){var t=e[W.c]||{},n=e[W.b]||e,r=e[W.a]||{};for(var i in t){var o=t[i];this._createAsyncPropData(i,r[i]),this._updateAsyncProp(i,o),t[i]=this.getAsyncProp(i)}for(var a in n){var s=n[a];this._createAsyncPropData(a,r[a]),this._updateAsyncProp(a,s)}}},{key:"_fetch",value:function(e,t){return t}},{key:"_onResolve",value:function(e,t){}},{key:"_onError",value:function(e,t){}},{key:"_updateAsyncProp",value:function(e,t){this._didAsyncInputValueChange(e,t)&&("string"==typeof t&&(t=this._fetch(e,t)),t instanceof Promise?this._watchPromise(e,t):Object(J.c)(t)?this._resolveAsyncIterable(e,t):this._setPropValue(e,t))}},{key:"_freezeAsyncOldProps",value:function(){if(!this.oldAsyncProps&&this.oldProps)for(var e in this.oldAsyncProps=Object.create(this.oldProps),this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}},{key:"_didAsyncInputValueChange",value:function(e,t){var n=this.asyncProps[e];return t!==n.resolvedValue&&t!==n.lastValue&&(n.lastValue=t,!0)}},{key:"_setPropValue",value:function(e,t){this._freezeAsyncOldProps();var n=this.asyncProps[e];n&&(t=this._postProcessValue(n,t),n.resolvedValue=t,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount)}},{key:"_setAsyncPropValue",value:function(e,t,n){var r=this.asyncProps[e];r&&n>=r.resolvedLoadCount&&void 0!==t&&(this._freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=n,this.onAsyncPropUpdated(e,t))}},{key:"_watchPromise",value:function(e,t){var n=this,r=this.asyncProps[e];if(r){r.pendingLoadCount++;var i=r.pendingLoadCount;t.then((function(t){t=n._postProcessValue(r,t),n._setAsyncPropValue(e,t,i),n._onResolve(e,t)})).catch((function(t){n._onError(e,t)}))}}},{key:"_resolveAsyncIterable",value:(t=be()(xe.a.mark((function e(t,n){var r,i,o,a,s,u,c,l,f,h,d;return xe.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("data"===t){e.next=3;break}return this._setPropValue(t,n),e.abrupt("return");case 3:if(r=this.asyncProps[t]){e.next=6;break}return e.abrupt("return");case 6:r.pendingLoadCount++,i=r.pendingLoadCount,o=[],a=0,s=!1,u=!1,e.prev=12,l=Oe()(n);case 14:return e.next=16,l.next();case 16:if(!(s=!(f=e.sent).done)){e.next=26;break}h=f.value,d=this.component.props.dataTransform,o=d?d(h,o):o.concat(h),Object.defineProperty(o,"__diff",{enumerable:!1,value:[{startRow:a,endRow:o.length}]}),a=o.length,this._setAsyncPropValue(t,o,i);case 23:s=!1,e.next=14;break;case 26:e.next=32;break;case 28:e.prev=28,e.t0=e.catch(12),u=!0,c=e.t0;case 32:if(e.prev=32,e.prev=33,!s||null==l.return){e.next=37;break}return e.next=37,l.return();case 37:if(e.prev=37,!u){e.next=40;break}throw c;case 40:return e.finish(37);case 41:return e.finish(32);case 42:this._onResolve(t,o);case 43:case"end":return e.stop()}}),e,this,[[12,28,32,42],[33,,37,41]])}))),function(e,n){return t.apply(this,arguments)})},{key:"_postProcessValue",value:function(e,t){var n=e.type;return n&&(n.release&&n.release(e.resolvedValue,n,this.component),n.transform)?n.transform(t,n,this.component):t}},{key:"_createAsyncPropData",value:function(e,t){if(!this.asyncProps[e]){var n=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:n&&n[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}]),e}();function Se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ke(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ne(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0])||arguments[0];this.internalState&&(this.internalState.needsRedraw=e)}},{key:"setNeedsUpdate",value:function(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};return this._getNeedsRedraw(e)}},{key:"needsUpdate",value:function(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}},{key:"hasUniformTransition",value:function(){return this.internalState.uniformTransitions.active}},{key:"isLoaded",get:function(){return this.internalState&&!this.internalState.isAsyncPropLoading()}},{key:"wrapLongitude",get:function(){return this.props.wrapLongitude}},{key:"isPickable",value:function(){return this.props.pickable&&this.props.visible}},{key:"getModels",value:function(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}},{key:"getAttributeManager",value:function(){return this.internalState&&this.internalState.attributeManager}},{key:"getCurrentLayer",value:function(){return this.internalState&&this.internalState.layer}},{key:"getLoadOptions",value:function(){return this.props.loadOptions}},{key:"project",value:function(e){var t=this.context.viewport,n=Object(V.a)(e,{viewport:t,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),r=Object(Le.p)(n,t.pixelProjectionMatrix),o=i()(r,3),a=o[0],s=o[1],u=o[2];return 2===e.length?[a,s]:[a,s,u]}},{key:"unproject",value:function(e){return this.context.viewport.unproject(e)}},{key:"projectPosition",value:function(e,t){return Object(V.b)(e,Ge({viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem},t))}},{key:"use64bitPositions",value:function(){var e=this.props.coordinateSystem;return e===y.a.DEFAULT||e===y.a.LNGLAT||e===y.a.CARTESIAN}},{key:"onHover",value:function(e,t){return!!this.props.onHover&&this.props.onHover(e,t)}},{key:"onClick",value:function(e,t){return!!this.props.onClick&&this.props.onClick(e,t)}},{key:"nullPickingColor",value:function(){return[0,0,0]}},{key:"encodePickingColor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t[0]=e+1&255,t[1]=e+1>>8&255,t[2]=e+1>>8>>8&255,t}},{key:"decodePickingColor",value:function(e){Object(U.a)(e instanceof Uint8Array);var t=i()(e,3);return t[0]+256*t[1]+65536*t[2]-1}},{key:"initializeState",value:function(){throw new Error("Layer ".concat(this," has not defined initializeState"))}},{key:"getShaders",value:function(e){var t,n=Fe(this.props.extensions);try{for(n.s();!(t=n.n()).done;){var r=t.value;e=Object(G.a)(e,r.getShaders.call(this,r))}}catch(e){n.e(e)}finally{n.f()}return e}},{key:"getBounds",value:function(){var e,t=this.getAttributeManager();if(!t)return null;var n=t.attributes,r=n.positions,i=n.instancePositions;return null===(e=r||i)||void 0===e?void 0:e.getBounds()}},{key:"shouldUpdateState",value:function(e){e.oldProps,e.props,e.context;return e.changeFlags.propsOrDataChanged}},{key:"updateState",value:function(e){var t=e.oldProps,n=e.props,r=(e.context,e.changeFlags),i=this.getAttributeManager();if(r.dataChanged&&i){var o=r.dataChanged;if(Array.isArray(o)){var a,s=Fe(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;i.invalidateAll(u)}}catch(e){s.e(e)}finally{s.f()}}else i.invalidateAll()}var c=Number.isInteger(t.highlightedObjectIndex)||t.pickable,l=Number.isInteger(n.highlightedObjectIndex)||n.pickable;if(c!==l&&i){var f=i.attributes,h=f.pickingColors,d=f.instancePickingColors,p=h||d;p&&(l&&p.constant&&(p.constant=!1,i.invalidate(p.id)),p.value||l||(p.constant=!0,p.value=[0,0,0]))}}},{key:"finalizeState",value:function(){var e,t=Fe(this.getModels());try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(e){t.e(e)}finally{t.f()}var n=this.getAttributeManager();n&&n.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}},{key:"draw",value:function(e){var t,n=Fe(this.getModels());try{for(n.s();!(t=n.n()).done;){t.value.draw(e)}}catch(e){n.e(e)}finally{n.f()}}},{key:"getPickingInfo",value:function(e){var t=e.info,n=(e.mode,t.index);return n>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[n]),t}},{key:"activateViewport",value:function(e){var t=this.internalState.viewport;this.internalState.viewport=e,t&&We({oldViewport:t,viewport:e})||(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}},{key:"invalidateAttribute",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",t=(arguments.length>1&&void 0!==arguments[1]&&arguments[1],this.getAttributeManager());t&&("all"===e?t.invalidateAll():t.invalidate(e))}},{key:"updateAttributes",value:function(e){var t,n=Fe(this.getModels());try{for(n.s();!(t=n.n()).done;){var r=t.value;this._setModelAttributes(r,e)}}catch(e){n.e(e)}finally{n.f()}}},{key:"_updateAttributes",value:function(e){var t=this.getAttributeManager();if(t){var n=this.getNumInstances(e),r=this.getStartIndices(e);t.update({data:e.data,numInstances:n,startIndices:r,props:e,transitions:e.transitions,buffers:e.data.attributes,context:this,ignoreUnknownAttributes:!0});var i=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(i)}}},{key:"_updateAttributeTransition",value:function(){var e=this.getAttributeManager();e&&e.updateTransition()}},{key:"_updateUniformTransition",value:function(){var e=this.internalState.uniformTransitions;if(e.active){var t=e.update(),n=Object.create(this.props);for(var r in t)Object.defineProperty(n,r,{value:t[r]});return n}return this.props}},{key:"calculateInstancePickingColors",value:function(e,t){var n=t.numInstances;if(!e.constant){var r=Math.floor(Je.length/3);if(this.internalState.usesPickingColorCache=!0,rVe&&C.a.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),Je=H.a.allocate(Je,n,{size:3,copy:!0,maxCount:Math.max(n,Ve)});for(var i=Math.floor(Je.length/3),o=[],a=r;a=0?this.encodePickingColor(o):null),this.setModuleParameters(s)}}},{key:"_getUpdateParams",value:function(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}},{key:"_getNeedsRedraw",value:function(e){if(!this.internalState)return!1;var t=!1;t=t||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!e.clearRedrawFlags;var n=this.getAttributeManager(),r=n&&n.getNeedsRedraw(e);return t=t||r}},{key:"_getAttributeManager",value:function(){return new m.a(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}},{key:"_initState",value:function(){Object(U.a)(!this.internalState&&!this.state),Object(U.a)(isFinite(this.props.coordinateSystem));var e=this._getAttributeManager();e&&e.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new Re({attributeManager:e,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:function(){return C.a.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),e}}),this.internalState.layer=this,this.internalState.uniformTransitions=new R(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}},{key:"_transferState",value:function(e){Object(F.a)("layer.matched",this,this===e);var t=e.state,n=e.internalState;this!==e&&(this.internalState=n,this.internalState.layer=this,this.state=t,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}},{key:"_onAsyncPropUpdated",value:function(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}]),n}(je);Ke.layerName="Layer",Ke.defaultProps=Xe},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(11),l=n.n(c),f=n(9),h=n.n(f),d=n(6),p=n.n(d),v=n(7),g=n.n(v),y=n(2),m=n.n(y),b=n(253),_=n(182),O=n(37);function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function x(e){for(var t=1;t=o){for(var a=new Array(i).fill(1/0),s=new Array(i).fill(-1/0),u=0;us[c]&&(s[c]=l)}e=[a,s]}}return this.state.bounds=e,e}},{key:"setData",value:function(e){var t=this.state;ArrayBuffer.isView(e)?e={value:e}:e instanceof O.a&&(e={buffer:e});var n=j(j({},this.settings),e);if(t.bufferAccessor=n,t.bounds=null,e.constant){var r=e.value;if(r=this._normalizeValue(r,[],0),this.settings.normalized&&(r=this._normalizeConstant(r)),!(!t.constant||!this._areValuesEqual(r,this.value)))return!1;t.externalBuffer=null,t.constant=!0,this.value=r}else if(e.buffer){var i=e.buffer;t.externalBuffer=i,t.constant=!1,this.value=e.value;var o=e.value instanceof Float64Array;n.type=e.type||i.accessor.type,n.bytesPerElement=i.accessor.BYTES_PER_ELEMENT*(o?2:1),n.stride=E(n)}else if(e.value){this._checkExternalBuffer(e);var a=e.value;t.externalBuffer=null,t.constant=!1,this.value=a,n.bytesPerElement=a.BYTES_PER_ELEMENT,n.stride=E(n);var s=this.buffer,u=this.byteOffset;this.doublePrecision&&a instanceof Float64Array&&(a=Object(S.f)(a,n));var c=a.byteLength+u+2*n.stride;s.byteLength0&&void 0!==arguments[0]?arguments[0]:{};this.state.bounds=null;var t=this.value,n=e.startOffset,r=void 0===n?0:n,i=e.endOffset;this.buffer.subData({data:this.doublePrecision&&t instanceof Float64Array?Object(S.f)(t,{size:this.size,startIndex:r,endIndex:i}):t.subarray(r,i),offset:r*t.BYTES_PER_ELEMENT+this.byteOffset})}},{key:"allocate",value:function(e){var t=e.numInstances,n=e.copy,r=void 0!==n&&n,i=this.state,o=i.allocatedValue,a=P.a.allocate(o,t+1,{size:this.size,type:this.defaultType,copy:r});this.value=a;var s=this.buffer,u=this.byteOffset;return s.byteLength=0;)t[n+a]=Number.isFinite(e[a])?e[a]:i[a]}return t}},{key:"_areValuesEqual",value:function(e,t){if(!e||!t)return!1;for(var n=this.size,r=0;r=t[1])return e;for(var n=[],r=e.length,i=0,o=0;ot[1]?n.push(a):t=[Math.min(a[0],t[0]),Math.max(a[1],t[1])]}return n.splice(i,0,t),n}var N=n(52);function U(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return z(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};a()(this,n),r=t.call(this,e,i);var o=i.transition,s=void 0!==o&&o,u=i.noAlloc,c=void 0!==u&&u,l=i.update,f=void 0===l?null:l,h=i.accessor,d=void 0===h?null:h,p=i.transform,v=void 0===p?null:p,g=i.startIndices,y=void 0===g?null:g;return Object.assign(r.settings,{transition:s,noAlloc:c,update:f||d&&r._autoUpdater,accessor:d,transform:v}),Object.assign(r.state,{lastExternalBuffer:null,binaryValue:null,binaryAccessor:null,needsUpdate:!0,needsRedraw:!1,updateRanges:D,startIndices:y}),Object.seal(r.settings),Object.seal(r.state),r._validateAttributeUpdaters(),r}return u()(n,[{key:"startIndices",get:function(){return this.state.startIndices},set:function(e){this.state.startIndices=e}},{key:"needsUpdate",value:function(){return this.state.needsUpdate}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearChangedFlags,n=void 0!==t&&t,r=this.state.needsRedraw;return this.state.needsRedraw=r&&!n,r}},{key:"getUpdateTriggers",value:function(){var e=this.settings.accessor;return[this.id].concat("function"!=typeof e&&e||[])}},{key:"supportsTransition",value:function(){return Boolean(this.settings.transition)}},{key:"getTransitionSetting",value:function(e){if(!e||!this.supportsTransition())return null;var t=this.settings.accessor,n=this.settings.transition,r=Array.isArray(t)?e[t.find((function(t){return e[t]}))]:e[t];return Object(N.e)(r,n)}},{key:"setNeedsUpdate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id,t=arguments.length>1?arguments[1]:void 0;if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){var n=t.startRow,r=void 0===n?0:n,i=t.endRow,o=void 0===i?1/0:i;this.state.updateRanges=F(this.state.updateRanges,[r,o])}else this.state.updateRanges=D}},{key:"clearNeedsUpdate",value:function(){this.state.needsUpdate=!1,this.state.updateRanges=L}},{key:"setNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id;this.state.needsRedraw=this.state.needsRedraw||e}},{key:"update",value:function(e){this.setData(e)}},{key:"allocate",value:function(e){var t=this.state,r=this.settings;return!r.noAlloc&&(!!r.update&&(h()(m()(n.prototype),"allocate",this).call(this,{numInstances:e,copy:t.updateRanges!==D}),!0))}},{key:"updateBuffer",value:function(e){var t=e.numInstances,r=e.data,i=e.props,o=e.context;if(!this.needsUpdate())return!1;var a=this.state.updateRanges,s=this.settings,u=s.update,c=s.noAlloc,f=!0;if(u){var d,p=U(a);try{for(p.s();!(d=p.n()).done;){var v=l()(d.value,2),g=v[0],y=v[1];u.call(o,this,{data:r,startRow:g,endRow:y,props:i,numInstances:t})}}catch(e){p.e(e)}finally{p.f()}if(this.value)if(this.constant||this.buffer.byteLength1&&void 0!==arguments[1]?arguments[1]:null,n=this.state,r=this.settings;if(!e)return n.binaryValue=null,n.binaryAccessor=null,!1;if(r.noAlloc)return!1;if(n.binaryValue===e)return this.clearNeedsUpdate(),!0;n.binaryValue=e,this.setNeedsRedraw(),ArrayBuffer.isView(e)&&(e={value:e});var i=r.transform||t!==this.startIndices;if(i){Object(B.a)(ArrayBuffer.isView(e.value),"invalid ".concat(r.accessor));var o=e.size&&e.size!==this.size;return n.binaryAccessor=Object(I.b)(e.value,{size:e.size||this.size,stride:e.stride,offset:e.offset,startIndices:t,nested:o}),!1}return this.clearNeedsUpdate(),this.setData(e),!0}},{key:"getVertexOffset",value:function(e){var t=this.startIndices;return(t?t[e]:e)*this.size}},{key:"getShaderAttributes",value:function(){var e=this.settings.shaderAttributes||i()({},this.id,null),t={};for(var r in e)Object.assign(t,h()(m()(n.prototype),"getShaderAttributes",this).call(this,r,e[r]));return t}},{key:"_autoUpdater",value:function(e,t){var n=t.data,r=t.startRow,i=t.endRow,o=t.props,a=t.numInstances;if(!e.constant){var s=e.settings,u=e.state,c=e.value,l=e.size,f=e.startIndices,h=s.accessor,d=s.transform,p=u.binaryAccessor||("function"==typeof h?h:o[h]);Object(B.a)("function"==typeof p,'accessor "'.concat(h,'" is not a function'));var v,g=e.getVertexOffset(r),y=Object(I.a)(n,r,i),m=y.iterable,b=y.objectInfo,_=U(m);try{for(_.s();!(v=_.n()).done;){var O=v.value;b.index++;var w=p(O,b);if(d&&(w=d.call(this,w)),f){var x=(b.indexl?c.set(w,g):(e._normalizeValue(w,b.target,0),Object(R.a)({target:c,source:b.target,start:g,count:x}));g+=x*l}else e._normalizeValue(w,c,g),g+=l}}catch(e){_.e(e)}finally{_.f()}}}},{key:"_validateAttributeUpdaters",value:function(){var e=this.settings;if(!(e.noAlloc||"function"==typeof e.update))throw new Error("Attribute ".concat(this.id," missing update or accessor"))}},{key:"_checkAttributeArray",value:function(){var e=this.value,t=Math.min(4,this.size);if(e&&e.length>=t){var n=!0;switch(t){case 4:n=n&&Number.isFinite(e[3]);case 3:n=n&&Number.isFinite(e[2]);case 2:n=n&&Number.isFinite(e[1]);case 1:n=n&&Number.isFinite(e[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}]),n}(M),H=n(36),W=n(328),J=n(82);function X(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ne(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:r},varyings:["vNext"]})}(n,r,this.framebuffer);var s={byteLength:0,usage:35050};this.buffers=[new O.a(n,s),new O.a(n,s),new O.a(n,s)]}return u()(e,[{key:"inProgress",get:function(){return this.transition.inProgress}},{key:"start",value:function(e,t){var n,r=this.gl,i=this.buffers,o=this.attribute,a={numInstances:t,attribute:o,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},s=te(i);try{for(s.s();!(n=s.n()).done;){var u=n.value;Object(N.f)(ie({buffer:u},a))}}catch(e){s.e(e)}finally{s.f()}this.currentStartIndices=o.startIndices,this.currentLength=Object(N.b)(o,t),this.attributeInTransition.update({buffer:i[1],value:o.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/o.size),sourceBuffers:{aTo:Object(N.d)(r,o)}})}},{key:"update",value:function(){var e=this.buffers,t=this.transform,n=this.framebuffer,r=this.transition;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),Object(N.a)(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),Object(Q.c)(n)[0]>0||r.end(),!0)}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}]),e}()},ae=function(){function e(t,n){var r=n.id,i=n.timeline;a()(this,e),this.id=r,this.gl=t,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=W.a.isSupported(t)}return u()(e,[{key:"finalize",value:function(){for(var e in this.transitions)this._removeTransition(e)}},{key:"update",value:function(e){var t=e.attributes,n=e.transitions,r=e.numInstances;for(var i in this.numInstances=r||1,t){var o=t[i],a=o.getTransitionSetting(n);a&&this._updateAttribute(i,o,a)}for(var s in this.transitions){var u=t[s];u&&u.getTransitionSetting(n)||this._removeTransition(s)}}},{key:"hasAttribute",value:function(e){var t=this.transitions[e];return t&&t.inProgress}},{key:"getAttributes",value:function(){var e={};for(var t in this.transitions){var n=this.transitions[t];n.inProgress&&(e[t]=n.attributeInTransition)}return e}},{key:"run",value:function(){if(!this.isSupported||0===this.numInstances)return!1;for(var e in this.transitions){this.transitions[e].update()&&(this.needsRedraw=!0)}var t=this.needsRedraw;return this.needsRedraw=!1,t}},{key:"_removeTransition",value:function(e){this.transitions[e].cancel(),delete this.transitions[e]}},{key:"_updateAttribute",value:function(e,t,n){var r=this.transitions[e],i=!r||r.type!==n.type;if(i){if(!this.isSupported)return void k.a.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);var o=oe[n.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(k.a.error("unsupported transition type '".concat(n.type,"'"))(),i=!1)}(i||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(n,this.numInstances))}}]),e}();function se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ue(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=n.id,i=void 0===r?"attribute-manager":r,o=n.stats,s=n.timeline;a()(this,e),this.id=i,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=o,this.attributeTransitionManager=new ae(t,{id:"".concat(i,"-transitions"),timeline:s}),Object.seal(this)}return u()(e,[{key:"finalize",value:function(){for(var e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}},{key:"setNeedsRedraw",value:function(){!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.needsRedraw=!0,this}},{key:"add",value:function(e,t){this._add(e,t)}},{key:"addInstanced",value:function(e,t){this._add(e,t,{instanced:1})}},{key:"remove",value:function(e){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.data,n=e.numInstances,r=e.startIndices,i=void 0===r?null:r,o=e.transitions,a=e.props,s=void 0===a?{}:a,u=e.buffers,c=void 0===u?{}:u,l=e.context,f=void 0===l?{}:l,h=!1;for(var d in Object(H.a)("attributeManager.updateStart",this),this.stats&&this.stats.get("Update Attributes").timeStart(),this.attributes){var p=this.attributes[d],v=p.settings.accessor;p.startIndices=i,p.numInstances=n,s[d]&&k.a.removed("props.".concat(d),"data.attributes.".concat(d))(),p.setExternalBuffer(c[d])||p.setBinaryValue(c[v],t.startIndices)||!c[v]&&p.setConstantValue(s[v])||p.needsUpdate()&&(h=!0,this._updateAttribute({attribute:p,numInstances:n,data:t,props:s,context:f})),this.needsRedraw|=p.needsRedraw()}h&&Object(H.a)("attributeManager.updateEnd",this,n),this.stats&&this.stats.get("Update Attributes").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:n,transitions:o})}},{key:"updateTransition",value:function(){var e=this.attributeTransitionManager.run();return this.needsRedraw=this.needsRedraw||e,e}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getChangedAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearChangedFlags:!1},t=this.attributes,n=this.attributeTransitionManager,r=ue({},n.getAttributes());for(var i in t){var o=t[i];o.needsRedraw(e)&&!n.hasAttribute(i)&&(r[i]=o)}return r}},{key:"getShaderAttributes",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e||(e=this.getAttributes());var n={};for(var r in e)t[r]||Object.assign(n,e[r].getShaderAttributes());return n}},{key:"getAccessors",value:function(){return this.updateTriggers}},{key:"_add",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var r in t&&k.a.warn("AttributeManager.add({updaters}) - updater map no longer supported")(),e){var i=e[r];this.attributes[r]=this._createAttribute(r,i,n)}this._mapUpdateTriggersToAttributes()}},{key:"_createAttribute",value:function(e,t,n){var r=ue(ue({},t),{},{id:e,isIndexed:t.isIndexed||t.elements||!1,constant:t.constant||!1,size:(t.elements?1:t.size)||1,value:t.value||null,divisor:t.instanced||n.instanced?1:t.divisor||0});return new V(this.gl,r)}},{key:"_mapUpdateTriggersToAttributes",value:function(){var e=this,t={},n=function(n){e.attributes[n].getUpdateTriggers().forEach((function(e){t[e]||(t[e]=[]),t[e].push(n)}))};for(var r in this.attributes)n(r);this.updateTriggers=t}},{key:"_invalidateTrigger",value:function(e,t){var n=this.attributes,r=this.updateTriggers[e];return r&&r.forEach((function(e){var r=n[e];r&&r.setNeedsUpdate(r.id,t)})),r}},{key:"_updateAttribute",value:function(e){var t=e.attribute,n=e.numInstances;(Object(H.a)("attribute.updateStart",t),t.constant)?t.setConstantValue(t.value):(t.allocate(n)&&Object(H.a)("attribute.allocate",t,n),t.updateBuffer(e)&&(this.needsRedraw=!0,Object(H.a)("attribute.updateEnd",t,n)))}}]),e}()},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(237),b=n(235),_=n(18),O=n(155),w=n(10),x=n(253),A=n(182),P=n(179),S=n(22),k=n(54),C=n(70),j=n(42);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function T(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};a()(this,n);var r=e.id,i=void 0===r?Object(k.c)("column-geometry"):r,o=I(e),s=o.indices,u=o.attributes;return t.call(this,T(T({},e),{},{id:i,indices:s,attributes:u}))}return n}(C.a);function I(e){var t=e.radius,n=e.height,r=void 0===n?1:n,i=e.nradial,o=void 0===i?10:i,a=e.vertices;a&&(S.a.assert(a.length>=o),a=a.flatMap((function(e){return[e[0],e[1]]})),Object(j.h)(a,j.a.COUNTER_CLOCKWISE));var s=r>0,u=o+1,c=s?3*u+1:o,l=2*Math.PI/o,f=new Uint16Array(s?3*o*2:0),h=new Float32Array(3*c),d=new Float32Array(3*c),p=0;if(s){for(var v=0;v 0.0 && instanceElevations >= 0.0);\n float dotRadius = radius * coverage * shouldRender;\n\n geometry.pickingColor = instancePickingColors;\n vec3 centroidPosition = vec3(instancePositions.xy, instancePositions.z + elevation);\n vec3 centroidPosition64Low = instancePositions64Low;\n vec2 offset = (rotationMatrix * positions.xy * strokeOffsetRatio + offset) * dotRadius;\n if (radiusUnits == UNIT_METERS) {\n offset = project_size(offset);\n }\n vec3 pos = vec3(offset, 0.);\n DECKGL_FILTER_SIZE(pos, geometry);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n geometry.normal = project_normal(vec3(rotationMatrix * normals.xy, normals.z));\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n if (extruded && !isStroke) {\n#ifdef FLAT_SHADING\n position_commonspace = geometry.position;\n vColor = vec4(color.rgb, color.a * opacity);\n#else\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, color.a * opacity);\n#endif\n } else {\n vColor = vec4(color.rgb, color.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nuniform vec3 project_uCameraPosition;\nuniform bool extruded;\nuniform bool isStroke;\n\nout vec4 fragColor;\n\nin vec4 vColor;\n#ifdef FLAT_SHADING\nin vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n fragColor = vColor;\n#ifdef FLAT_SHADING\n if (extruded && !isStroke && !picking_uActive) {\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal);\n }\n#endif\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",defines:r,transpileToGLSL100:t,modules:[y.a,i?m.b:m.a,b.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceElevations:{size:1,transition:!0,accessor:"getElevation"},instanceFillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getFillColor",defaultValue:F},instanceLineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getLineColor",defaultValue:F},instanceStrokeWidths:{size:1,accessor:"getLineWidth",transition:!0}})}},{key:"updateState",value:function(e){var t=e.props,r=e.oldProps,i=e.changeFlags;l()(g()(n.prototype),"updateState",this).call(this,{props:t,oldProps:r,changeFlags:i});var o=i.extensionsChanged||t.flatShading!==r.flatShading;if(o){var a,s=this.context.gl;null===(a=this.state.model)||void 0===a||a.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}(o||t.diskResolution!==r.diskResolution||t.vertices!==r.vertices||(t.extruded||t.stroked)!==(r.extruded||r.stroked))&&this._updateGeometry(t)}},{key:"getGeometry",value:function(e,t,n){var r=new B({radius:1,height:n?2:0,vertices:t,nradial:e}),i=0;if(t)for(var o=0;o=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nr&&(as){var f=S(e,s,u,i);c+f>r&&(ar&&(f=k(e,s,u,r,i,o),a=o[o.length-1])),s=u,c+=f}return c}function j(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5?arguments[5]:void 0;void 0===o&&(o=e.length);var a=[];return"break-all"===t?k(e,i,o,n,r,a):C(e,i,o,n,r,a),a}function E(e,t,n,r,i,o){for(var a=0,s=0,u=t;u0,l=[0,0],f=[],h=0,d=0,p=0,v=0;v<=o;v++){var g=e[v];if("\n"!==g&&v!==o||(p=v),p>d){for(var y=c?j(e,n,r,i,d,p):P,m=0;m<=y.length;m++){var b=0===m?d:y[m-1],_=m0&&void 0!==arguments[0]?arguments[0]:5;u()(this,e),this.limit=t,this.clear()}return l()(e,[{key:"clear",value:function(){this._cache={},this._order=[]}},{key:"get",value:function(e){var t=this._cache[e];return t&&(this._deleteOrder(e),this._appendOrder(e)),t}},{key:"set",value:function(e,t){this._cache[e]?(this.delete(e),this._cache[e]=t,this._appendOrder(e)):(Object.keys(this._cache).length===this.limit&&this.delete(this._order[0]),this._cache[e]=t,this._appendOrder(e))}},{key:"delete",value:function(e){this._cache[e]&&(this._deleteCache(e),this._deleteOrder(e))}},{key:"_deleteCache",value:function(e){delete this._cache[e]}},{key:"_deleteOrder",value:function(e){var t=this._order.findIndex((function(t){return t===e}));t>=0&&this._order.splice(t,1)}},{key:"_appendOrder",value:function(e){this._order.push(e)}}]),e}();function B(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return I(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return I(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};F.forEach((function(n){n in t&&(e.props[n]=t[n])}));var n=this._key;this._key=this._getKey();var r=N(this._key,this.props.characterSet),i=D.get(this._key);if(i&&0===r.length)this._key!==n&&(this._atlas=i);else{var o=this._generateFontAtlas(this._key,r,i);this._atlas=o,D.set(this._key,o)}}},{key:"_generateFontAtlas",value:function(e,t,n){var r=this.props,i=r.fontFamily,o=r.fontWeight,s=r.fontSize,u=r.buffer,c=r.sdf,l=r.radius,f=r.cutoff,h=n&&n.data;h||((h=document.createElement("canvas")).width=1024);var d=h.getContext("2d");z(d,i,s,o);var p=function(e){var t,n=e.characterSet,r=e.getFontWidth,i=e.fontHeight,o=e.buffer,a=e.maxCanvasWidth,s=e.mapping,u=void 0===s?{}:s,c=e.xOffset,l=void 0===c?0:c,f=e.yOffset,h=void 0===f?0:f,d=0,p=l,v=0,g=x(n);try{for(g.s();!(t=g.n()).done;){var y=t.value;if(!u[y]){var m=r(y,v++);p+m+2*o>a&&(p=0,d++),u[y]={x:p+o,y:h+d*(i+2*o)+o,width:m,height:i},p+=m+2*o}}}catch(e){g.e(e)}finally{g.f()}var b,_=i+2*o;return{mapping:u,xOffset:p,yOffset:h+d*_,canvasHeight:(b=h+(d+1)*_,Math.pow(2,Math.ceil(Math.log2(b))))}}(function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?this.props.data[t.index]:null,t}},{key:"_updateFontAtlas",value:function(e,t){var n=t.fontSettings,r=t.fontFamily,i=t.fontWeight,o=this.state,a=o.fontAtlasManager,s=o.characterSet;a.setProps(X(X(X({},q),n),{},{characterSet:s,fontFamily:r,fontWeight:i}))}},{key:"_fontChanged",value:function(e,t){if(e.fontFamily!==t.fontFamily||e.fontWeight!==t.fontWeight)return!0;if(e.fontSettings===t.fontSettings)return!1;var n=e.fontSettings||{},r=t.fontSettings||{};return $.some((function(e){return n[e]!==r[e]}))}},{key:"_updateText",value:function(){var e,t=this.props,n=t.data,r=t.characterSet,i=n.attributes&&n.attributes.getText,o=this.props.getText,a=n.startIndices,s="auto"===r&&new Set;if(i&&a){var u=function(e){var t=e.value,n=e.length,r=e.stride,i=e.offset,o=e.startIndices,a=e.characterSet,s=t.BYTES_PER_ELEMENT,u=r?r/s:1,c=i?i/s:0,l=o[n]||Math.ceil((t.length-c)/u),f=a&&new Set,h=new Array(n),d=t;if(u>1||c>0){d=new t.constructor(l);for(var p=0;p=3,"Invalid cache limit"),D=new M(e)}(e)}}]),n}(m.a);te.layerName="TextLayer",te.defaultProps=ee},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(235),b=n(18),_=n(155),O=n(179),w=n(70);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n gl_FragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (filled) {\n gl_FragColor = vFillColor;\n } else {\n discard;\n }\n\n gl_FragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[y.a,m.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceRadius:{size:1,transition:!0,accessor:"getRadius",defaultValue:1},instanceFillColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}},{key:"updateState",value:function(e){var t=e.props,r=e.oldProps,i=e.changeFlags;if(l()(g()(n.prototype),"updateState",this).call(this,{props:t,oldProps:r,changeFlags:i}),i.extensionsChanged){var o,a=this.context.gl;null===(o=this.state.model)||void 0===o||o.delete(),this.state.model=this._getModel(a),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.radiusUnits,i=n.radiusScale,o=n.radiusMinPixels,a=n.radiusMaxPixels,s=n.stroked,u=n.filled,c=n.billboard,l=n.antialiasing,f=n.lineWidthUnits,h=n.lineWidthScale,d=n.lineWidthMinPixels,p=n.lineWidthMaxPixels;this.state.model.setUniforms(t).setUniforms({stroked:s?1:0,filled:u,billboard:c,antialiasing:l,radiusUnits:b.e[r],radiusScale:i,radiusMinPixels:o,radiusMaxPixels:a,lineWidthUnits:b.e[f],lineWidthScale:h,lineWidthMinPixels:d,lineWidthMaxPixels:p}).draw()}},{key:"_getModel",value:function(e){return new O.a(e,A(A({},this.getShaders()),{},{id:this.props.id,geometry:new w.a({drawMode:6,vertexCount:4,attributes:{positions:{size:3,value:new Float32Array([-1,-1,0,1,-1,0,1,1,0,-1,1,0])}}}),isInstanced:!0}))}}]),n}(_.a);C.layerName="ScatterplotLayer",C.defaultProps=k},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(235),b=n(18),_=n(155),O=n(179),w=n(70);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}},{key:"delete",value:function(){}},{key:"getData",value:function(){var e=this;return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then((function(){return e.getData()}))}},{key:"setData",value:function(e,t){var n=this;if(e!==this._data||t){this._data=e;var r=++this._loadCount,i=e;"string"==typeof e&&(i=Object(v.a)(e)),i instanceof Promise?(this.isLoaded=!1,this._loader=i.then((function(e){n._loadCount===r&&(n.isLoaded=!0,n._error=null,n._content=e)})).catch((function(e){n._loadCount===r&&(n.isLoaded=!0,n._error=e||!0)}))):(this.isLoaded=!0,this._error=null,this._content=e);var o,a=g(this._subscribers);try{for(a.s();!(o=a.n()).done;){o.value.onChange(this.getData())}}catch(e){a.e(e)}finally{a.f()}}}}]),e}(),b=function(){function e(t){var n=t.gl,r=t.protocol;a()(this,e),this.protocol=r||"resource://",this._context={gl:n,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}return u()(e,[{key:"contains",value:function(e){return!!e.startsWith(this.protocol)||e in this._resources}},{key:"add",value:function(e){var t=e.resourceId,n=e.data,r=e.forceUpdate,i=void 0!==r&&r,o=e.persistent,a=void 0===o||o,s=this._resources[t];s?s.setData(n,i):(s=new m(t,n,this._context),this._resources[t]=s),s.persistent=a}},{key:"remove",value:function(e){var t=this._resources[e];t&&(t.delete(),delete this._resources[e])}},{key:"unsubscribe",value:function(e){var t=e.consumerId,n=this._consumers[t];if(n){for(var r in n){var i=n[r];i.resource&&i.resource.unsubscribe(i)}delete this._consumers[t],this.prune()}}},{key:"subscribe",value:function(e){var t=e.resourceId,n=e.onChange,r=e.consumerId,i=e.requestId,o=void 0===i?"default":i,a=this._resources,s=this.protocol;t.startsWith(s)&&(a[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));var u=a[t];if(this._track(r,o,u,n),u)return u.getData()}},{key:"prune",value:function(){var e=this;this._pruneRequest||(this._pruneRequest=setTimeout((function(){return e._prune()}),0))}},{key:"finalize",value:function(){for(var e in this._resources)this._resources[e].delete()}},{key:"_track",value:function(e,t,n,r){var i=this._consumers,o=i[e]=i[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),n&&(o[t]=a,a.onChange=r,a.resource=n,n.subscribe(a))}},{key:"_prune",value:function(){this._pruneRequest=null;for(var e=0,t=Object.keys(this._resources);e=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},r=n.deck,i=n.stats,o=n.viewport,s=n.timeline;a()(this,e),this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new b({gl:t,protocol:"deck://"}),this.context=P(P({},S),{},{layerManager:this,gl:t,deck:r,programManager:t&&Object(O.a)(t),stats:i||new p.a({id:"deck.gl"}),viewport:o||new _.a({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new c.a,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}return u()(e,[{key:"finalize",value:function(){this.resourceManager.finalize();var e,t=w(this.layers);try{for(t.s();!(e=t.n()).done;){var n=e.value;this._finalizeLayer(n)}}catch(e){t.e(e)}finally{t.f()}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n,r=w(this.layers);try{for(r.s();!(n=r.n()).done;){var i=n.value,o=i.getNeedsRedraw(e);t=t||o}}catch(e){r.e(e)}finally{r.f()}return t}},{key:"needsUpdate",value:function(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}},{key:"setNeedsRedraw",value:function(e){this._needsRedraw=this._needsRedraw||e}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e}},{key:"getLayers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.layerIds,n=void 0===t?null:t;return n?this.layers.filter((function(e){return n.find((function(t){return 0===e.id.indexOf(t)}))})):this.layers}},{key:"setProps",value:function(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}},{key:"setLayers",value:function(e,t){Object(h.a)("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e;var n,r=w(e=Object(d.b)(e,Boolean));try{for(r.s();!(n=r.n()).done;){n.value.context=this.context}}catch(e){r.e(e)}finally{r.f()}return this._updateLayers(this.layers,e),this}},{key:"updateLayers",value:function(){var e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}},{key:"activateViewport",value:function(e){return Object(h.a)("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}},{key:"_handleError",value:function(e,t,n){n.raiseError(t,"".concat(e," of ").concat(n))}},{key:"_updateLayers",value:function(e,t){var n,r={},i=w(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;r[o.id]?f.a.warn("Multiple old layers with same id ".concat(o.id))():r[o.id]=o}}catch(e){i.e(e)}finally{i.f()}var a=[];this._updateSublayersRecursively(t,r,a),this._finalizeOldLayers(r);for(var s=!1,u=0,c=a;u 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}},{key:"initializeState",value:function(){var e=this;l()(g()(n.prototype),"initializeState",this).call(this),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:function(t,n){var r=n.index,i=n.target;return e.encodePickingColor(r,i)}}})}},{key:"updateState",value:function(e){l()(g()(n.prototype),"updateState",this).call(this,e);var t=e.props,r=e.oldProps,i=t.outlineColor;i!==r.outlineColor&&((i=i.map((function(e){return e/255})))[3]=Number.isFinite(i[3])?i[3]:1,this.setState({outlineColor:i})),!t.sdf&&t.outlineWidth&&y.a.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}},{key:"draw",value:function(e){var t=this.props,r=t.sdf,i=t.smoothing,o=t.outlineWidth,a=this.state.outlineColor;e.uniforms=_(_({},e.uniforms),{},{buffer:.75,outlineBuffer:o?Math.max(i,.75*(1-o)):-1,gamma:i,sdf:Boolean(r),outlineColor:a}),l()(g()(n.prototype),"draw",this).call(this,e)}},{key:"getInstanceOffset",value:function(e){var t=this;return e?Array.from(e).map((function(e){return l()(g()(n.prototype),"getInstanceOffset",t).call(t,e)})):w}},{key:"getInstanceColorMode",value:function(e){return 1}},{key:"getInstanceIconFrame",value:function(e){var t=this;return e?Array.from(e).map((function(e){return l()(g()(n.prototype),"getInstanceIconFrame",t).call(t,e)})):w}}]),n}(m.a);x.layerName="MultiIconLayer",x.defaultProps={getIconOffsets:{type:"accessor",value:function(e){return e.offsets}},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}}},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(36),l=n(6),f=n.n(l),h=n(7),d=n.n(h),p=n(2),v=n.n(p),g=n(18);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return d()(this,n)}}var m=function(e){f()(n,e);var t=y(n);function n(){return a()(this,n),t.apply(this,arguments)}return u()(n,[{key:"shouldDrawLayer",value:function(e){return e.props.operation===g.c.DRAW}}]),n}(n(79).a),b=n(174),_=n(81);function O(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"finalize",value:function(){var e,t=this.renderBuffers,n=O(t);try{for(n.s();!(e=n.n()).done;){e.value.delete()}}catch(e){n.e(e)}finally{n.f()}t.length=0}},{key:"_preRender",value:function(e,t){var n,r=null,i=O(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;o.preRender(this.gl,t),o.postRender&&(r=o)}}catch(e){i.e(e)}finally{i.f()}r&&this._resizeRenderBuffers(),this.lastPostProcessEffect=r}},{key:"_resizeRenderBuffers",value:function(){var e=this.renderBuffers;0===e.length&&e.push(new _.a(this.gl),new _.a(this.gl));var t,n=O(e);try{for(n.s();!(t=n.n()).done;){t.value.resize()}}catch(e){n.e(e)}finally{n.f()}}},{key:"_postRender",value:function(e,t){var n,r=this.renderBuffers,i={inputBuffer:r[0],swapBuffer:r[1],target:null},o=O(e);try{for(o.s();!(n=o.n()).done;){var a=n.value;if(a.postRender){if(a===this.lastPostProcessEffect){i.target=t.target,a.postRender(this.gl,i);break}var s=a.postRender(this.gl,i);i.inputBuffer=s,i.swapBuffer=s===r[0]?r[1]:r[0]}}}catch(e){o.e(e)}finally{o.f()}}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(12),i=n.n(r),o=n(165);function a(){return!("object"===("undefined"==typeof process?"undefined":i()(process))&&"[object process]"===String(process)&&!process.browser)||Object(o.a)()}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(12),i=n.n(r);function o(e){if("undefined"!=typeof window&&"object"===i()(window.process)&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"===i()(process.versions)&&Boolean(process.versions.electron))return!0;var t="object"===("undefined"==typeof navigator?"undefined":i()(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf("Electron")>=0)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(10);function i(e,t,n,i){var o="See luma.gl ".concat(n," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),a=Object.getPrototypeOf(e);i.forEach((function(e){a.methodName||(a[e]=function(){throw r.k.removed("Calling removed method ".concat(t,".").concat(e,": "),o)(),new Error(e)})}))}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=n=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";n.d(t,"a",(function(){return y}));var r=n(44),i=n.n(r),o=n(45),a=n.n(o),s=n(50),u=n.n(s),c=n(51),l=n.n(c),f=n(34),h=n.n(f),d=n(116),p=n(28),v=n(48);function g(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var y=function(e){u()(n,e);var t=g(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"ELEMENTS",get:function(){return Object(v.a)(!1),0}},{key:"copy",value:function(e){return Object(v.a)(!1),this}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=Object(p.a)(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=Object(p.a)(e)}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t=0&&e=0&&e=0)}},function(e,t,n){var r=n(287),i=n(288),o=n(209),a=n(289);e.exports=function(e,t){return r(e)||i(e,t)||o(e,t)||a()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";n.d(t,"a",(function(){return m}));var r=n(44),i=n.n(r),o=n(45),a=n.n(o),s=n(50),u=n.n(s),c=n(51),l=n.n(c),f=n(34),h=n.n(f),d=n(116),p=n(28),v=n(15),g=n(48);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var m=function(e){u()(n,e);var t=y(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"ELEMENTS",get:function(){return Object(g.a)(!1),0}},{key:"RANK",get:function(){return Object(g.a)(!1),0}},{key:"toString",value:function(){var e="[";if(v.b.printRowMajor){e+="row-major:";for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),n=e*this.RANK,r=0;r1&&void 0!==arguments[1]?arguments[1]:{id:"pass"};i()(this,e),u()(this,"id",void 0),u()(this,"gl",void 0),u()(this,"props",void 0);var r=n.id;this.id=r,this.gl=t,this.props=l({},n)}return a()(e,[{key:"setProps",value:function(e){Object.assign(this.props,e)}},{key:"render",value:function(e){}},{key:"cleanup",value:function(){}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return k}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(20),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(0),m=n.n(y),b=n(79),_=n(10),O=n(18),w=n(22);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t=24&&2303741511===t.getUint32(0,!1)))return null;return{mimeType:"image/png",width:t.getUint32(16,!1),height:t.getUint32(20,!1)}}(t)||function(e){var t=i(e);if(!(t.byteLength>=3&&65496===t.getUint16(0,!1)&&255===t.getUint8(2)))return null;var n=function(){for(var e=new Set([65499,65476,65484,65501,65534]),t=65504;t<65520;++t)e.add(t);var n=new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502]);return{tableMarkers:e,sofMarkers:n}}(),r=n.tableMarkers,o=n.sofMarkers,a=2;for(;a+9=10&&1195984440===t.getUint32(0,!1)))return null;return{mimeType:"image/gif",width:t.getUint16(6,!0),height:t.getUint16(8,!0)}}(t)||function(e){var t=i(e);if(!(t.byteLength>=14&&16973===t.getUint16(0,!1)&&t.getUint32(2,!0)===t.byteLength))return null;return{mimeType:"image/bmp",width:t.getUint32(18,!0),height:t.getUint32(22,!0)}}(t)}function i(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}},function(e,t,n){"use strict";function r(e){for(var t=e.data,n=e.getIndex,r=e.dataRange,i=e.replace,o=r.startRow,a=void 0===o?0:o,s=r.endRow,u=void 0===s?1/0:s,c=t.length,l=c,f=c,h=0;hh&&d>=a&&(l=h),d>=u){f=h;break}}for(var p=l,v=f-l!==i.length,g=v&&t.slice(f),y=0;yi?l:i,o=f>o?f:o,a=h>a?h:a}return[[t,n,r],[i,o,a]]}function O(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;g()(this,e),Object(b.a)(this,"name",void 0),Object(b.a)(this,"type",void 0),Object(b.a)(this,"nullable",void 0),Object(b.a)(this,"metadata",void 0),this.name=t,this.type=n,this.nullable=r,this.metadata=i}return m()(e,[{key:"typeId",get:function(){return this.type&&this.type.typeId}},{key:"clone",value:function(){return new e(this.name,this.type,this.nullable,this.metadata)}},{key:"compareTo",value:function(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}},{key:"toString",value:function(){return"".concat(this.type).concat(this.nullable?", nullable":"").concat(this.metadata?", metadata: ".concat(this.metadata):"")}}]),e}(),k=n(20),C=n.n(k),j=n(6),E=n.n(j),T=n(7),M=n.n(T),B=n(2),I=n.n(B);function R(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=I()(e);if(t){var i=I()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return M()(this,n)}}!function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"}(P||(P={}));var L=function(){function e(){g()(this,e)}return m()(e,[{key:"typeId",get:function(){return P.NONE}},{key:"compareTo",value:function(e){return this===e}}],[{key:"isNull",value:function(e){return e&&e.typeId===P.Null}},{key:"isInt",value:function(e){return e&&e.typeId===P.Int}},{key:"isFloat",value:function(e){return e&&e.typeId===P.Float}},{key:"isBinary",value:function(e){return e&&e.typeId===P.Binary}},{key:"isUtf8",value:function(e){return e&&e.typeId===P.Utf8}},{key:"isBool",value:function(e){return e&&e.typeId===P.Bool}},{key:"isDecimal",value:function(e){return e&&e.typeId===P.Decimal}},{key:"isDate",value:function(e){return e&&e.typeId===P.Date}},{key:"isTime",value:function(e){return e&&e.typeId===P.Time}},{key:"isTimestamp",value:function(e){return e&&e.typeId===P.Timestamp}},{key:"isInterval",value:function(e){return e&&e.typeId===P.Interval}},{key:"isList",value:function(e){return e&&e.typeId===P.List}},{key:"isStruct",value:function(e){return e&&e.typeId===P.Struct}},{key:"isUnion",value:function(e){return e&&e.typeId===P.Union}},{key:"isFixedSizeBinary",value:function(e){return e&&e.typeId===P.FixedSizeBinary}},{key:"isFixedSizeList",value:function(e){return e&&e.typeId===P.FixedSizeList}},{key:"isMap",value:function(e){return e&&e.typeId===P.Map}},{key:"isDictionary",value:function(e){return e&&e.typeId===P.Dictionary}}]),e}(),D=(Symbol.toStringTag,Symbol.toStringTag,function(e,t){E()(r,e);var n=R(r);function r(e,t){var i;return g()(this,r),i=n.call(this),Object(b.a)(C()(i),"isSigned",void 0),Object(b.a)(C()(i),"bitWidth",void 0),i.isSigned=e,i.bitWidth=t,i}return m()(r,[{key:"typeId",get:function(){return P.Int}},{key:t,get:function(){return"Int"}},{key:"toString",value:function(){return"".concat(this.isSigned?"I":"Ui","nt").concat(this.bitWidth)}}]),r}(L,Symbol.toStringTag)),F=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!0,8)}return n}(D),N=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!0,16)}return n}(D),U=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!0,32)}return n}(D),z=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!1,8)}return n}(D),G=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!1,16)}return n}(D),V=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,!1,32)}return n}(D),H=32,W=64,J=function(e,t){E()(r,e);var n=R(r);function r(e){var t;return g()(this,r),t=n.call(this),Object(b.a)(C()(t),"precision",void 0),t.precision=e,t}return m()(r,[{key:"typeId",get:function(){return P.Float}},{key:t,get:function(){return"Float"}},{key:"toString",value:function(){return"Float".concat(this.precision)}}]),r}(L,Symbol.toStringTag),X=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,H)}return n}(J),K=function(e){E()(n,e);var t=R(n);function n(){return g()(this,n),t.call(this,W)}return n}(J),q=(Symbol.toStringTag,Symbol.toStringTag,{DAY:0,MILLISECOND:1}),Z=(Symbol.toStringTag,{SECOND:1,MILLISECOND:1e3,MICROSECOND:1e6,NANOSECOND:1e9}),Y=(Symbol.toStringTag,Symbol.toStringTag,{DAY_TIME:0,YEAR_MONTH:1}),Q=(Symbol.toStringTag,function(e,t){E()(r,e);var n=R(r);function r(e,t){var i;return g()(this,r),i=n.call(this),Object(b.a)(C()(i),"listSize",void 0),Object(b.a)(C()(i),"children",void 0),i.listSize=e,i.children=[t],i}return m()(r,[{key:"typeId",get:function(){return P.FixedSizeList}},{key:"valueType",get:function(){return this.children[0].type}},{key:"valueField",get:function(){return this.children[0]}},{key:t,get:function(){return"FixedSizeList"}},{key:"toString",value:function(){return"FixedSizeList[".concat(this.listSize,"]<").concat(this.valueType,">")}}]),r}(L,Symbol.toStringTag));Symbol.toStringTag;function $(e,t,n){var r=function(e){switch(e.constructor){case Int8Array:return new F;case Uint8Array:return new z;case Int16Array:return new N;case Uint16Array:return new G;case Int32Array:return new U;case Uint32Array:return new V;case Float32Array:return new X;case Float64Array:return new K;default:throw new Error("array type not supported")}}(t.value),i=n||function(e){var t=new Map;"byteOffset"in e&&t.set("byteOffset",e.byteOffset.toString(10));"byteStride"in e&&t.set("byteStride",e.byteStride.toString(10));"normalized"in e&&t.set("normalized",e.normalized.toString());return t}(t);return new S(e,new Q(t.size,new S("value",r)),!1,i)}function ee(e,t,n){var r=ne(t.metadata),i=[],o=function(e){var t={};for(var n in e){var r=e[n];t[r.name||"undefined"]=r}return t}(t.attributes);for(var a in e){var s=te(a,e[a],o[a]);i.push(s)}if(n){var u=te("indices",n);i.push(u)}return new x(i,r)}function te(e,t,n){return $(e,t,n?ne(n.metadata):void 0)}function ne(e){var t=new Map;for(var n in e)t.set("".concat(n,".string"),JSON.stringify(e[n]));return t}function re(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return ie(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ie(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ie(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);var r=this.decoder.GetEncodedGeometryType(n),i=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{var o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,i);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,i);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!i.ptr){var a="DRACO decompression failed: ".concat(o.error_msg());throw new Error(a)}var s=this._getDracoLoaderData(i,r,t),u=this._getMeshData(i,s,t),c=_(u.attributes),l=ee(u.attributes,s,u.indices),f=ae(ae({loader:"draco",loaderData:s,header:{vertexCount:i.num_points(),boundingBox:c}},u),{},{schema:l});return f}finally{this.draco.destroy(n),i&&this.draco.destroy(i)}}},{key:"_getDracoLoaderData",value:function(e,t,n){var r=this._getTopLevelMetadata(e),i=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:i}}},{key:"_getDracoAttributes",value:function(e,t){for(var n={},r=0;r-1)return"Edge";var r=-1!==n.indexOf("MSIE "),i=-1!==n.indexOf("Trident/");return r||i?"IE":E.b.chrome?"Chrome":E.b.safari?"Safari":E.b.mozInnerScreenX?"Firefox":"Unknown"}function I(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=S()(e);if(t){var i=S()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return A()(this,n)}}var R="elements must be GL.ELEMENT_ARRAY_BUFFER",L=function(e){w()(n,e);var t=I(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a()(this,n);var o=i.id||i.program&&i.program.id;return(r=t.call(this,e,Object.assign({},i,{id:o}))).buffer=null,r.bufferValue=null,r.isDefaultArray=i.isDefaultArray||!1,r.gl2=e,r.initialize(i),Object.seal(m()(r)),r}return u()(n,[{key:"delete",value:function(){return _()(S()(n.prototype),"delete",this).call(this),this.buffer&&this.buffer.delete(),this}},{key:"MAX_ATTRIBUTES",get:function(){return n.getMaxAttributes(this.gl)}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setProps(e)}},{key:"setProps",value:function(e){return this}},{key:"setElementBuffer",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Object(h.a)(!t||34963===t.target,R),this.bind((function(){e.gl.bindBuffer(34963,t?t.handle:null)})),this}},{key:"setBuffer",value:function(e,t,n){if(34963===t.target)return this.setElementBuffer(t,n);var r=n.size,i=n.type,o=n.stride,a=n.offset,s=n.normalized,u=n.integer,l=n.divisor,f=this.gl,d=this.gl2;return e=Number(e),this.bind((function(){f.bindBuffer(34962,t.handle),u?(Object(h.a)(Object(c.j)(f)),d.vertexAttribIPointer(e,r,i,o,a)):f.vertexAttribPointer(e,r,i,s,o,a),f.enableVertexAttribArray(e),d.vertexAttribDivisor(e,l||0)})),this}},{key:"enable",value:function(e){var t=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!r&&0===e&&!n.isSupported(this.gl,{constantAttributeZero:!0});return i||(e=Number(e),this.bind((function(){return r?t.gl.enableVertexAttribArray(e):t.gl.disableVertexAttribArray(e)}))),this}},{key:"getConstantBuffer",value:function(e,t){var n=this._normalizeConstantArrayValue(t),r=n.byteLength*e,i=n.length*e,o=!this.buffer;if(this.buffer=this.buffer||new g.a(this.gl,r),o=(o=o||this.buffer.reallocate(r))||!this._compareConstantArrayValues(n,this.bufferValue)){var a=j(t.constructor,i);!function(e){for(var t=e.target,n=e.source,r=e.start,i=void 0===r?0:r,o=e.count,a=void 0===o?1:o,s=n.length,u=a*s,c=0,l=i;c1&&void 0!==arguments[1]?arguments[1]:{};return!t.constantAttributeZero||(Object(c.j)(e)||"Chrome"===B())}},{key:"getDefaultArray",value:function(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new n(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}},{key:"getMaxAttributes",value:function(e){return n.MAX_ATTRIBUTES=n.MAX_ATTRIBUTES||e.getParameter(34921),n.MAX_ATTRIBUTES}},{key:"setConstant",value:function(e,t,r){switch(r.constructor){case Float32Array:n._setConstantFloatArray(e,t,r);break;case Int32Array:n._setConstantIntArray(e,t,r);break;case Uint32Array:n._setConstantUintArray(e,t,r);break;default:Object(h.a)(!1)}}},{key:"_setConstantFloatArray",value:function(e,t,n){switch(n.length){case 1:e.vertexAttrib1fv(t,n);break;case 2:e.vertexAttrib2fv(t,n);break;case 3:e.vertexAttrib3fv(t,n);break;case 4:e.vertexAttrib4fv(t,n);break;default:Object(h.a)(!1)}}},{key:"_setConstantIntArray",value:function(e,t,n){switch(Object(h.a)(Object(c.j)(e)),n.length){case 1:e.vertexAttribI1iv(t,n);break;case 2:e.vertexAttribI2iv(t,n);break;case 3:e.vertexAttribI3iv(t,n);break;case 4:e.vertexAttribI4iv(t,n);break;default:Object(h.a)(!1)}}},{key:"_setConstantUintArray",value:function(e,t,n){switch(Object(h.a)(Object(c.j)(e)),n.length){case 1:e.vertexAttribI1uiv(t,n);break;case 2:e.vertexAttribI2uiv(t,n);break;case 3:e.vertexAttribI3uiv(t,n);break;case 4:e.vertexAttribI4uiv(t,n);break;default:Object(h.a)(!1)}}}]),n}(k.a),D=n(166),F=/^(.+)__LOCATION_([0-9]+)$/,N=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"],U=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a()(this,e);var r=n.id||n.program&&n.program.id;this.id=r,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new L(t),Object(D.a)(this,"VertexArray","v6.0",N),this.initialize(n),Object.seal(this)}return u()(e,[{key:"delete",value:function(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}},{key:"reset",value:function(){this.elements=null,this.elementsAccessor=null;var e=this.vertexArrayObject.MAX_ATTRIBUTES;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}},{key:"setProps",value:function(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}},{key:"clearDrawParams",value:function(){this.drawParams=null}},{key:"getDrawParams",value:function(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}},{key:"setAttributes",value:function(e){var t=this;return Object.assign(this.attributes,e),this.vertexArrayObject.bind((function(){for(var n in e){var r=e[n];t._setAttribute(n,r)}t.gl.bindBuffer(34962,null)})),this}},{key:"setElementBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}},{key:"setBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(34963===t.target)return this.setElementBuffer(t,n);var r=this._resolveLocationAndAccessor(e,t,t.accessor,n),i=r.location,o=r.accessor;return i>=0&&(this.values[i]=t,this.accessors[i]=o,this.clearDrawParams(),this.vertexArrayObject.setBuffer(i,t,o)),this}},{key:"setConstant",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},n)),i=r.location,o=r.accessor;return i>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[i]=t,this.accessors[i]=o,this.clearDrawParams(),this.vertexArrayObject.enable(i,!1)),this}},{key:"unbindBuffers",value:function(){var e=this;return this.vertexArrayObject.bind((function(){e.elements&&e.vertexArrayObject.setElementBuffer(null),e.buffer=e.buffer||new g.a(e.gl,{accessor:{size:4}});for(var t=0;t0;if(e.isInstanced=e.isInstanced||i,n instanceof g.a){var o=n;if(i){var a=o.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,a)}else{var s=o.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,s)}}}}},{key:"setElements",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c.k.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}]),e}(),z=n(321),G=n(56),V=n(91);function H(e,t){for(var n=t.maxElts,r=void 0===n?16:n,i=t.size,o=void 0===i?1:i,a="[",s=0;s0&&(a+=",".concat(s%o==0?" ":"")),a+=W(e[s],t);var u=e.length>r?"...":"]";return"".concat(a).concat(u)}function W(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=1e-16,r=t.isInteger,i=void 0!==r&&r;if(Array.isArray(e)||ArrayBuffer.isView(e))return H(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)100&&Math.abs(e)<1e4)return e.toFixed(0);var o=e.toPrecision(2),a=o.indexOf(".0");return a===o.length-2?o.slice(0,-1):o}function J(e,t,n,r){var o,a,s=e.gl;if(!t)return a={},i()(a,r,"null"),i()(a,"Format ","N/A"),a;var u,c,l,f="NOT PROVIDED",h=1,d=0,p=0;if(n&&(f=n.type,h=n.size,u=-1!==(f=String(f).replace("Array","")).indexOf("nt")),t instanceof g.a){var v,y,m=t,b=m.getDebugData(),_=b.data;if(c=b.changed?"*":"",l=_,d=(p=m.byteLength)/_.BYTES_PER_ELEMENT/h,n){var O=n.divisor>0;y="".concat(O?"I ":"P "," ").concat(d," (x").concat(h,"=").concat(p," bytes ").concat(Object(G.a)(s,f),")")}else u=!0,y="".concat(p," bytes");return v={},i()(v,r,"".concat(c).concat(W(l,{size:h,isInteger:u}))),i()(v,"Format ",y),v}return l=t,h=t.length,u=-1!==(f=String(t.constructor.name).replace("Array","")).indexOf("nt"),o={},i()(o,r,"".concat(W(l,{size:h,isInteger:u})," (constant)")),i()(o,"Format ","".concat(h,"x").concat(f," (constant)")),o}function X(e,t){var n=t.type,r=t.size,i=Object(V.b)(n,r);return i?"".concat(e," (").concat(i.name,")"):e}function K(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return q(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return q(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};a()(this,e);var r=n.id,i=void 0===r?Object(f.c)("model"):r;Object(h.a)(Object(c.i)(t)),this.id=i,this.gl=t,this.id=n.id||Object(f.c)("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(n)}return u()(e,[{key:"initialize",value:function(e){this.props={},this.programManager=e.programManager||l.a.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;var t=e.program,n=void 0===t?null:t,r=e.vs,i=e.fs,o=e.modules,a=e.defines,s=e.inject,u=e.varyings,c=e.bufferMode,f=e.transpileToGLSL100;this.programProps={program:n,vs:r,fs:i,modules:o,defines:a,inject:s,varyings:u,bufferMode:c,transpileToGLSL100:f},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},Object(h.a)(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}},{key:"setProps",value:function(e){this._setModelProps(e)}},{key:"delete",value:function(){for(var e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}},{key:"getDrawMode",value:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getInstanceCount",value:function(){return this.instanceCount}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getProgram",value:function(){return this.program}},{key:"setProgram",value:function(e){var t=e.program,n=e.vs,r=e.fs,i=e.modules,o=e.defines,a=e.inject,s=e.varyings,u=e.bufferMode,c=e.transpileToGLSL100;this.programProps={program:t,vs:n,fs:r,modules:i,defines:o,inject:a,varyings:s,bufferMode:u,transpileToGLSL100:c},this._programDirty=!0}},{key:"getUniforms",value:function(){return this.uniforms}},{key:"setDrawMode",value:function(e){return this.drawMode=e,this}},{key:"setVertexCount",value:function(e){return Object(h.a)(Number.isFinite(e)),this.vertexCount=e,this}},{key:"setInstanceCount",value:function(e){return Object(h.a)(Number.isFinite(e)),this.instanceCount=e,this}},{key:"setGeometry",value:function(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(e,t,n){var r={},i=t.indices;for(var o in t.attributes){var a=t.attributes[o],s=ie(o,n);if("indices"===o)i=a;else if(a.constant)r[s]=a.value;else{var u=a.value,c=ne({},a);delete c.value,r[s]=[new g.a(e,u),c],oe(o,c)}}if(i){var l=i.value||i;Object(h.a)(l instanceof Uint16Array||l instanceof Uint32Array,'attribute array for "indices" must be of integer type');var f={size:1,isIndexed:void 0===i.isIndexed||i.isIndexed};r.indices=[new g.a(e,{data:l,target:34963}),f]}return r}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}},{key:"setAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Object(f.a)(e))return this;var t={};for(var n in e){var r=e[n];t[n]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(this.uniforms,e),this}},{key:"getModuleUniforms",value:function(e){this._checkProgram();var t=this.programManager.getUniforms(this.program);return t?t(e):{}}},{key:"updateModuleSettings",value:function(e){var t=this.getModuleUniforms(e||{});return this.setUniforms(t)}},{key:"clear",value:function(e){return Object(d.a)(this.program.gl,e),this}},{key:"draw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._checkProgram();var t,n=e.moduleSettings,r=void 0===n?null:n,i=e.framebuffer,o=e.uniforms,a=void 0===o?{}:o,s=e.attributes,u=void 0===s?{}:s,l=e.transformFeedback,f=void 0===l?this.transformFeedback:l,h=e.parameters,d=void 0===h?{}:h,p=e.vertexArray,v=void 0===p?this.vertexArray:p;this.setAttributes(u),this.updateModuleSettings(r),this.setUniforms(a),c.k.priority>=2&&(t=this._logDrawCallStart(2));var g=this.vertexArray.getDrawParams(),y=this.props,m=y.isIndexed,b=void 0===m?g.isIndexed:m,_=y.indexType,O=void 0===_?g.indexType:_,w=y.indexOffset,x=void 0===w?g.indexOffset:w,A=y.vertexArrayInstanced,P=void 0===A?g.isInstanced:A;P&&!this.isInstanced&&c.k.warn("Found instanced attributes on non-instanced model",this.id)();var S=this.isInstanced,k=this.instanceCount,C=this.props,j=C.onBeforeRender,E=void 0===j?ae:j,T=C.onAfterRender,M=void 0===T?ae:T;E(),this.program.setUniforms(this.uniforms);var B=this.program.draw(Object.assign(se,e,{logPriority:t,uniforms:null,framebuffer:i,parameters:d,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:v,transformFeedback:f,isIndexed:b,indexType:O,isInstanced:S,instanceCount:k,offset:b?x:0}));return M(),c.k.priority>=2&&this._logDrawCallEnd(t,v,i),B}},{key:"transform",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.discard,n=void 0===t||t,r=e.feedbackBuffers,o=e.unbindModels,a=void 0===o?[]:o,s=e.parameters;r&&this._setFeedbackBuffers(r),n&&(s=Object.assign({},s,i()({},35977,n))),a.forEach((function(e){return e.vertexArray.unbindBuffers()}));try{this.draw(Object.assign({},e,{parameters:s}))}finally{a.forEach((function(e){return e.vertexArray.bindBuffers()}))}return this}},{key:"render",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return c.k.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}},{key:"_setModelProps",value:function(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}},{key:"_checkProgram",value:function(){if(this._programDirty||this.programManager.stateHash!==this._programManagerState){var e=this.programProps.program;if(e)this._managedProgram=!1;else{var t=this.programProps,n=t.vs,r=t.fs,i=t.modules,o=t.inject,a=t.defines,s=t.varyings,u=t.bufferMode,c=t.transpileToGLSL100;e=this.programManager.get({vs:n,fs:r,modules:i,inject:o,defines:a,varyings:s,bufferMode:u,transpileToGLSL100:c}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}Object(h.a)(e instanceof p.a,"Model needs a program"),this._programDirty=!1,e!==this.program&&(this.program=e,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new U(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}}},{key:"_deleteGeometryBuffers",value:function(){for(var e in this.geometryBuffers){var t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof g.a&&t.delete()}}},{key:"_setAnimationProps",value:function(e){this.animated&&Object(h.a)(e,"Model.draw(): animated uniforms but no animationProps")}},{key:"_setFeedbackBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Object(f.a)(e))return this;var t=this.program.gl;return this.transformFeedback=this.transformFeedback||new z.a(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}},{key:"_logDrawCallStart",value:function(e){var t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ".concat(this.id),{collapsed:c.k.level<=2})(),e}},{key:"_logDrawCallEnd",value:function(e,t,n,r){if(void 0!==e){var o=function(e){var t=e.vertexArray,n=e.header,r=void 0===n?"Attributes":n;if(!t.configuration)return{};var i={};t.elements&&(i.ELEMENT_ARRAY_BUFFER=J(t,t.elements,null,r));var o=t.values;for(var a in o){var s=t._getAttributeInfo(a);if(s){var u="".concat(a,": ").concat(s.name),c=t.accessors[s.location];c&&(u="".concat(a,": ").concat(X(s.name,c))),i[u]=J(t,o[a],c,r)}}return i}({vertexArray:t,header:"".concat(this.id," attributes"),attributes:this._attributes}),a=Z({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),s=a.table,u=a.unusedTable,l=a.unusedCount,f=Z({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0}),h=f.table;f.count>0&&c.k.log("MISSING UNIFORMS",Object.keys(h))(),l>0&&c.k.log("UNUSED UNIFORMS",Object.keys(u))();var d=function(e){var t,n={},r="Accessors for ".concat(e.id),o=Q(e.attributeInfos);try{for(o.s();!(t=o.n()).done;){var a=t.value;if(a){var s=ee(a);n["in ".concat(s)]=i()({},r,JSON.stringify(a.accessor))}}}catch(e){o.e(e)}finally{o.f()}var u,c=Q(e.varyingInfos);try{for(c.s();!(u=c.n()).done;){var l=u.value;if(l){var f=ee(l);n["out ".concat(f)]=i()({},r,JSON.stringify(l.accessor))}}}catch(e){c.e(e)}finally{c.f()}return n}(this.vertexArray.configuration);c.k.table(e,o)(),c.k.table(e,s)(),c.k.table(e+1,d)(),r&&r.log({logLevel:2,message:"Rendered to ".concat(r.id)}),c.k.groupEnd(2,">>> DRAWING MODEL ".concat(this.id))()}}}]),e}()},function(e,t,n){"use strict";function r(e,t){if(!e)throw new Error(t||"shadertools: assertion failed.")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return u}));var r=n(11),i=n.n(r),o=n(10),a=n(13);function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.framebuffer,r=void 0===n?null:n,i=t.color,s=void 0===i?null:i,u=t.depth,c=void 0===u?null:u,l=t.stencil,f=void 0===l?null:l,h={};r&&(h.framebuffer=r);var d=0;s&&(d|=16384,!0!==s&&(h.clearColor=s)),c&&(d|=256,!0!==c&&(h.clearDepth=c)),f&&(d|=1024,!0!==c&&(h.clearStencil=c)),Object(a.a)(0!==d,"clear: bad arguments"),Object(o.o)(e,h,(function(){e.clear(d)}))}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.framebuffer,r=void 0===n?null:n,s=t.buffer,u=void 0===s?6144:s,c=t.drawBuffer,l=void 0===c?0:c,f=t.value,h=void 0===f?[0,0,0,0]:f;Object(o.a)(e),Object(o.o)(e,{framebuffer:r},(function(){switch(u){case 6144:switch(h.constructor){case Int32Array:e.clearBufferiv(u,l,h);break;case Uint32Array:e.clearBufferuiv(u,l,h);break;case Float32Array:default:e.clearBufferfv(u,l,h)}break;case 6145:e.clearBufferfv(6145,0,[h]);break;case 6146:e.clearBufferiv(6146,0,[h]);break;case 34041:var t=i()(h,2),n=t[0],r=t[1];e.clearBufferfi(34041,0,n,r);break;default:Object(a.a)(!1,"clear: bad arguments")}}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r,i=n(0),o=n.n(i),a=n(81),s=n(105),u={WEBGL2:"WEBGL2",VERTEX_ARRAY_OBJECT:"VERTEX_ARRAY_OBJECT",TIMER_QUERY:"TIMER_QUERY",INSTANCED_RENDERING:"INSTANCED_RENDERING",MULTIPLE_RENDER_TARGETS:"MULTIPLE_RENDER_TARGETS",ELEMENT_INDEX_UINT32:"ELEMENT_INDEX_UINT32",BLEND_EQUATION_MINMAX:"BLEND_EQUATION_MINMAX",FLOAT_BLEND:"FLOAT_BLEND",COLOR_ENCODING_SRGB:"COLOR_ENCODING_SRGB",TEXTURE_DEPTH:"TEXTURE_DEPTH",TEXTURE_FLOAT:"TEXTURE_FLOAT",TEXTURE_HALF_FLOAT:"TEXTURE_HALF_FLOAT",TEXTURE_FILTER_LINEAR_FLOAT:"TEXTURE_FILTER_LINEAR_FLOAT",TEXTURE_FILTER_LINEAR_HALF_FLOAT:"TEXTURE_FILTER_LINEAR_HALF_FLOAT",TEXTURE_FILTER_ANISOTROPIC:"TEXTURE_FILTER_ANISOTROPIC",COLOR_ATTACHMENT_RGBA32F:"COLOR_ATTACHMENT_RGBA32F",COLOR_ATTACHMENT_FLOAT:"COLOR_ATTACHMENT_FLOAT",COLOR_ATTACHMENT_HALF_FLOAT:"COLOR_ATTACHMENT_HALF_FLOAT",GLSL_FRAG_DATA:"GLSL_FRAG_DATA",GLSL_FRAG_DEPTH:"GLSL_FRAG_DEPTH",GLSL_DERIVATIVES:"GLSL_DERIVATIVES",GLSL_TEXTURE_LOD:"GLSL_TEXTURE_LOD"};t.b=(r={},o()(r,u.WEBGL2,[!1,!0]),o()(r,u.VERTEX_ARRAY_OBJECT,["OES_vertex_array_object",!0]),o()(r,u.TIMER_QUERY,["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"]),o()(r,u.INSTANCED_RENDERING,["ANGLE_instanced_arrays",!0]),o()(r,u.MULTIPLE_RENDER_TARGETS,["WEBGL_draw_buffers",!0]),o()(r,u.ELEMENT_INDEX_UINT32,["OES_element_index_uint",!0]),o()(r,u.BLEND_EQUATION_MINMAX,["EXT_blend_minmax",!0]),o()(r,u.FLOAT_BLEND,["EXT_float_blend"]),o()(r,u.COLOR_ENCODING_SRGB,["EXT_sRGB",!0]),o()(r,u.TEXTURE_DEPTH,["WEBGL_depth_texture",!0]),o()(r,u.TEXTURE_FLOAT,["OES_texture_float",!0]),o()(r,u.TEXTURE_HALF_FLOAT,["OES_texture_half_float",!0]),o()(r,u.TEXTURE_FILTER_LINEAR_FLOAT,["OES_texture_float_linear"]),o()(r,u.TEXTURE_FILTER_LINEAR_HALF_FLOAT,["OES_texture_half_float_linear"]),o()(r,u.TEXTURE_FILTER_ANISOTROPIC,["EXT_texture_filter_anisotropic"]),o()(r,u.COLOR_ATTACHMENT_RGBA32F,[function(e){var t=new s.a(e,{format:6408,type:5126,dataFormat:6408}),n=new a.a(e,{id:"test-framebuffer",check:!1,attachments:o()({},36064,t)}),r=n.getStatus();return t.delete(),n.delete(),36053===r},"EXT_color_buffer_float"]),o()(r,u.COLOR_ATTACHMENT_FLOAT,[!1,"EXT_color_buffer_float"]),o()(r,u.COLOR_ATTACHMENT_HALF_FLOAT,["EXT_color_buffer_half_float"]),o()(r,u.GLSL_FRAG_DATA,["WEBGL_draw_buffers",!0]),o()(r,u.GLSL_FRAG_DEPTH,["EXT_frag_depth",!0]),o()(r,u.GLSL_DERIVATIVES,["OES_standard_derivatives",!0]),o()(r,u.GLSL_TEXTURE_LOD,["EXT_shader_texture_lod",!0]),r)},function(e,t,n){"use strict";var r,i=n(0),o=n.n(i),a=n(84),s=n(180);n.d(t,"a",(function(){return c})),n.d(t,"c",(function(){return d})),n.d(t,"b",(function(){return p}));var u=(r={},o()(r,a.b,"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n"),o()(r,a.a,"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"),r),c="__LUMA_INJECT_DECLARATIONS__",l=/void\s+main\s*\([^)]*\)\s*\{\n?/,f=/}\n?[^{}]*$/,h=[];function d(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=t===a.b,o=function(t){var r=n[t];r.sort((function(e,t){return e.order-t.order})),h.length=r.length;for(var o=0,a=r.length;o1),e.forEach((function(e){for(var n in e)t[n]=t[n]?"".concat(t[n],"\n").concat(e[n]):e[n]})),t}},,,,,,,function(e,t,n){"use strict";var r=n(126);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if("undefined"!=typeof window&&"object"===(0,i.default)(window.process)&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"===(0,i.default)(process.versions)&&Boolean(process.versions.electron))return!0;var t="object"===("undefined"==typeof navigator?"undefined":(0,i.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;if(n&&n.indexOf("Electron")>=0)return!0;return!1};var i=r(n(12))},function(e,t,n){"use strict";var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(0),u=n.n(s),c=n(1),l=n.n(c),f=n(3),h=n.n(f),d=n(5),p=n(86),v=n(61),g=new Map;function y(e){Object(v.a)(e.source&&!e.url||!e.source&&e.url);var t=g.get(e.source||e.url);return t||(e.url&&(t=function(e){if(!e.startsWith("http"))return e;return m((t=e,"try {\n importScripts('".concat(t,"');\n} catch (error) {\n console.error(error);\n throw error;\n}")));var t}(e.url),g.set(e.url,t)),e.source&&(t=m(e.source),g.set(e.source,t))),Object(v.a)(t),t}function m(e){var t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}var b=n(12),_=n.n(b);function O(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&e instanceof MessagePort||("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}var w=function(){},x=function(){function e(t){l()(this,e),Object(d.a)(this,"name",void 0),Object(d.a)(this,"source",void 0),Object(d.a)(this,"url",void 0),Object(d.a)(this,"terminated",!1),Object(d.a)(this,"worker",void 0),Object(d.a)(this,"onMessage",void 0),Object(d.a)(this,"onError",void 0),Object(d.a)(this,"_loadableURL","");var n=t.name,r=t.source,i=t.url;Object(v.a)(r||i),this.name=n,this.source=r,this.url=i,this.onMessage=w,this.onError=function(e){return console.log(e)},this.worker=this._createBrowserWorker()}return h()(e,[{key:"destroy",value:function(){this.onMessage=w,this.onError=w,this.worker.terminate(),this.terminated=!0}},{key:"isRunning",get:function(){return Boolean(this.onMessage)}},{key:"postMessage",value:function(e,t){t=t||function e(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,i=r||new Set;if(t){if(O(t))i.add(t);else if(O(t.buffer))i.add(t.buffer);else if(ArrayBuffer.isView(t));else if(n&&"object"===_()(t))for(var o in t)e(t[o],n,i)}else;return void 0===r?Array.from(i):[]}(e),this.worker.postMessage(e,t)}},{key:"_getErrorFromErrorEvent",value:function(e){var t="Failed to load ";return t+="worker ".concat(this.name," from ").concat(this.url,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}},{key:"_createBrowserWorker",value:function(){var e=this;this._loadableURL=y({source:this.source,url:this.url});var t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=function(t){t.data?e.onMessage(t.data):e.onError(new Error("No data received"))},t.onerror=function(t){e.onError(e._getErrorFromErrorEvent(t)),e.terminated=!0},t.onmessageerror=function(e){return console.error(e)},t}}],[{key:"isSupported",value:function(){return"undefined"!=typeof Worker}}]),e}(),A=function(){function e(t,n){var r=this;l()(this,e),Object(d.a)(this,"name",void 0),Object(d.a)(this,"workerThread",void 0),Object(d.a)(this,"isRunning",void 0),Object(d.a)(this,"result",void 0),Object(d.a)(this,"_resolve",void 0),Object(d.a)(this,"_reject",void 0),this.name=t,this.workerThread=n,this.isRunning=!0,this._resolve=function(){},this._reject=function(){},this.result=new Promise((function(e,t){r._resolve=e,r._reject=t}))}return h()(e,[{key:"postMessage",value:function(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}},{key:"done",value:function(e){Object(v.a)(this.isRunning),this.isRunning=!1,this._resolve(e)}},{key:"error",value:function(e){Object(v.a)(this.isRunning),this.isRunning=!1,this._reject(e)}}]),e}();function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function S(e){for(var t=1;t1&&void 0!==s[1]?s[1]:function(e,t,n){return e.done(n)},r=s.length>2&&void 0!==s[2]?s[2]:function(e,t){return e.error(t)},i=new Promise((function(e){return o.jobQueue.push({name:t,onMessage:n,onError:r,onStart:e}),o})),this._startQueuedJob(),e.next=6,i;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"_startQueuedJob",value:(t=i()(a.a.mark((function e(){var t,n,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.jobQueue.length){e.next=2;break}return e.abrupt("return");case 2:if(t=this._getAvailableWorker()){e.next=5;break}return e.abrupt("return");case 5:if(!(n=this.jobQueue.shift())){e.next=18;break}return this.onDebug({message:"Starting job",name:n.name,workerThread:t,backlog:this.jobQueue.length}),r=new A(n.name,t),t.onMessage=function(e){return n.onMessage(r,e.type,e.payload)},t.onError=function(e){return n.onError(r,e)},n.onStart(r),e.prev=12,e.next=15,r.result;case 15:return e.prev=15,this.returnWorkerToQueue(t),e.finish(15);case 18:case"end":return e.stop()}}),e,this,[[12,,15,18]])}))),function(){return t.apply(this,arguments)})},{key:"returnWorkerToQueue",value:function(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}},{key:"_getAvailableWorker",value:function(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}}]),e}();Object(d.a)(B,"_workerFarm",void 0);function I(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t[e.id]||{},r="".concat(e.id,"-worker.js"),i=n.workerUrl;if(i||"compression"!==e.id||(i=t.workerUrl),"test"===t._workerType&&(i="modules/".concat(e.module,"/dist/").concat(r)),!i){var o=e.version;"latest"===o&&(o="latest");var a=o?"@".concat(o):"";i="https://unpkg.com/@loaders.gl/".concat(e.module).concat(a,"/dist/").concat(r)}return Object(v.a)(i),i}function R(e,t){return!!B.isSupported()&&(e.worker&&(null==t?void 0:t.worker))}function L(e,t,n,r,i){return D.apply(this,arguments)}function D(){return(D=i()(a.a.mark((function e(t,n,r,i,o){var s,u,c,l,f,h;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=t.id,u=I(t,r),c=B.getWorkerFarm(r),l=c.getWorkerPool({name:s,url:u}),r=JSON.parse(JSON.stringify(r)),e.next=7,l.startJob("process-on-worker",F.bind(null,o));case 7:return(f=e.sent).postMessage("process",{input:n,options:r}),e.next=11,f.result;case 11:return h=e.sent,e.next=14,h.result;case 14:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function F(e,t,n,r){return N.apply(this,arguments)}function N(){return(N=i()(a.a.mark((function e(t,n,r,i){var o,s,u,c,l;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=r,e.next="done"===e.t0?3:"error"===e.t0?5:"process"===e.t0?7:20;break;case 3:return n.done(i),e.abrupt("break",21);case 5:return n.error(new Error(i.error)),e.abrupt("break",21);case 7:return o=i.id,s=i.input,u=i.options,e.prev=8,e.next=11,t(s,u);case 11:c=e.sent,n.postMessage("done",{id:o,result:c}),e.next=19;break;case 15:e.prev=15,e.t1=e.catch(8),l=e.t1 instanceof Error?e.t1.message:"unknown error",n.postMessage("error",{id:o,error:l});case 19:return e.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(r));case 21:case"end":return e.stop()}}),e,null,[[8,15]])})))).apply(this,arguments)}n.d(t,"a",(function(){return R})),n.d(t,"b",(function(){return L}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return P}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(155),m=n(36),b=n(77);function _(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},t=this.props,n=t.opacity,r=t.pickable,i=t.visible,o=t.parameters,a=t.getPolygonOffset,s=t.highlightedObjectIndex,u=t.autoHighlight,c=t.highlightColor,l=t.coordinateSystem,f=t.coordinateOrigin,h=t.wrapLongitude,d=t.positionFormat,p=t.modelMatrix,v=t.extensions,g=t.fetch,y=t.operation,m=t._subLayerProps,b={opacity:n,pickable:r,visible:i,parameters:o,getPolygonOffset:a,highlightedObjectIndex:s,autoHighlight:u,highlightColor:c,coordinateSystem:l,coordinateOrigin:f,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:v,fetch:g,operation:y},O=m&&m[e.id],w=O&&O.updateTriggers,A=e.id||"sublayer";if(O){var P=this.constructor._propTypes,S=e.type?e.type._propTypes:{};for(var k in O){var C=S[k]||P[k];C&&"accessor"===C.type&&(O[k]=this.getSubLayerAccessor(O[k]))}}Object.assign(b,e,O),b.id="".concat(this.props.id,"-").concat(A),b.updateTriggers=x(x({all:this.props.updateTriggers.all},e.updateTriggers),w);var j,E=_(v);try{for(E.s();!(j=E.n()).done;){var T=j.value,M=T.getSubLayerProps.call(this,T);M&&Object.assign(b,M,{updateTriggers:Object.assign(b.updateTriggers,M.updateTriggers)})}}catch(e){E.e(e)}finally{E.f()}return b}},{key:"_updateAutoHighlight",value:function(e){var t,n=_(this.getSubLayers());try{for(n.s();!(t=n.n()).done;){t.value.updateAutoHighlight(e)}}catch(e){n.e(e)}finally{n.f()}}},{key:"_getAttributeManager",value:function(){return null}},{key:"_renderLayers",value:function(){var e=this.internalState.subLayers,t=!e||this.needsUpdate();t&&(e=this.renderLayers(),e=Object(b.b)(e,Boolean),this.internalState.subLayers=e),Object(m.a)("compositeLayer.renderLayers",this,t,e);var n,r=_(e);try{for(r.s();!(n=r.n()).done;){n.value.parent=this}}catch(e){r.e(e)}finally{r.f()}}}]),n}(y.a);P.layerName="CompositeLayer"},function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(0),u=n.n(s),c=n(71),l=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e),u()(this,"props",void 0),this.opts=t}return a()(e,[{key:"equals",value:function(e){return this===e||this.constructor===e.constructor&&Object(c.a)(this.opts,e.opts)}},{key:"getShaders",value:function(e){return null}},{key:"getSubLayerProps",value:function(e){var t=e.constructor.defaultProps,n=void 0===t?{}:t,r={updateTriggers:{}};for(var i in n)if(i in this.props){var o=n[i],a=this.props[i];r[i]=a,o&&"accessor"===o.type&&(r.updateTriggers[i]=this.props.updateTriggers[i],"function"==typeof a&&(r[i]=this.getSubLayerAccessor(a,!0)))}return r}},{key:"initializeState",value:function(e,t){}},{key:"updateState",value:function(e,t){}},{key:"draw",value:function(e,t){}},{key:"finalizeState",value:function(e){}}]),e}()},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(109),a=n(325),s=n(22),u=n(36);var c={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(e){var t=e[0],n=e[e.length-1];return"{"===t&&"}"===n||"["===t&&"]"===n},parseTextSync:JSON.parse};function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t>>0):4294967296*(t>>>0)+(e>>>0)}function u(e,t,n){var r=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));n.realloc(r);for(var i=n.pos-1;i>=e;i--)n.buf[i+r]=n.buf[i]}function c(e,t){for(var n=0;n>>8,e[n+2]=t>>>16,e[n+3]=t>>>24}function _(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}i.prototype={destroy:function(){this.buf=null},readFields:function(e,t,n){for(n=n||this.length;this.pos>3,o=this.pos;this.type=7&r,e(i,t,this),this.pos===o&&this.skip(r)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=m(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=_(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=m(this.buf,this.pos)+4294967296*m(this.buf,this.pos+4);return this.pos+=8,e},readSFixed64:function(){var e=m(this.buf,this.pos)+4294967296*_(this.buf,this.pos+4);return this.pos+=8,e},readFloat:function(){var e=r.read(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=r.read(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,n,r=this.buf;return t=127&(n=r[this.pos++]),n<128?t:(t|=(127&(n=r[this.pos++]))<<7,n<128?t:(t|=(127&(n=r[this.pos++]))<<14,n<128?t:(t|=(127&(n=r[this.pos++]))<<21,n<128?t:function(e,t,n){var r,i,o=n.buf;if(i=o[n.pos++],r=(112&i)>>4,i<128)return s(e,r,t);if(i=o[n.pos++],r|=(127&i)<<3,i<128)return s(e,r,t);if(i=o[n.pos++],r|=(127&i)<<10,i<128)return s(e,r,t);if(i=o[n.pos++],r|=(127&i)<<17,i<128)return s(e,r,t);if(i=o[n.pos++],r|=(127&i)<<24,i<128)return s(e,r,t);if(i=o[n.pos++],r|=(1&i)<<31,i<128)return s(e,r,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(n=r[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&o?function(e,t,n){return o.decode(e.subarray(t,n))}(this.buf,t,e):function(e,t,n){var r="",i=t;for(;i239?4:u>223?3:u>191?2:1;if(i+l>n)break;1===l?u<128&&(c=u):2===l?128==(192&(o=e[i+1]))&&(c=(31&u)<<6|63&o)<=127&&(c=null):3===l?(o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&((c=(15&u)<<12|(63&o)<<6|63&a)<=2047||c>=55296&&c<=57343)&&(c=null)):4===l&&(o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&((c=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,l=1):c>65535&&(c-=65536,r+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),r+=String.fromCharCode(c),i+=l}return r}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==i.Bytes)return e.push(this.readVarint(t));var n=a(this);for(e=e||[];this.pos127;);else if(t===i.Bytes)this.pos=this.readVarint()+this.pos;else if(t===i.Fixed32)this.pos+=4;else{if(t!==i.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0?function(e,t){var n,r;e>=0?(n=e%4294967296|0,r=e/4294967296|0):(r=~(-e/4294967296),4294967295^(n=~(-e%4294967296))?n=n+1|0:(n=0,r=r+1|0));if(e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(e,t,n){n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos]=127&e}(n,0,t),function(e,t){var n=(7&e)<<4;if(t.buf[t.pos++]|=n|((e>>>=3)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;if(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),!e)return;t.buf[t.pos++]=127&e}(r,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(Boolean(e))},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,n){for(var r,i,o=0;o55295&&r<57344){if(!i){r>56319||o+1===t.length?(e[n++]=239,e[n++]=191,e[n++]=189):i=r;continue}if(r<56320){e[n++]=239,e[n++]=191,e[n++]=189,i=r;continue}r=i-55296<<10|r-56320|65536,i=null}else i&&(e[n++]=239,e[n++]=191,e[n++]=189,i=null);r<128?e[n++]=r:(r<2048?e[n++]=r>>6|192:(r<65536?e[n++]=r>>12|224:(e[n++]=r>>18|240,e[n++]=r>>12&63|128),e[n++]=r>>6&63|128),e[n++]=63&r|128)}return n}(this.buf,e,this.pos);var n=this.pos-t;n>=128&&u(t,n,this),this.pos=t-1,this.writeVarint(n),this.pos+=n},writeFloat:function(e){this.realloc(4),r.write(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),r.write(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var n=0;n=128&&u(n,r,this),this.pos=n-1,this.writeVarint(r),this.pos+=r},writeMessage:function(e,t,n){this.writeTag(e,i.Bytes),this.writeRawMessage(t,n)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,c,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,l,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,d,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,f,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,h,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,p,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,v,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,g,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,y,t)},writeBytesField:function(e,t){this.writeTag(e,i.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,i.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,i.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,i.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,i.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,i.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,i.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,i.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,i.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,i.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}}},function(e,t,n){"use strict";var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(11),u=n.n(s),c=n(0),l=n.n(c),f=n(84),h=n(198),d=n(180);function p(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=5)throw new Error("Possible loop in shader dependency graph");var o,a=p(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;r[s.name]=s,(void 0===i[s.name]||i[s.name]0&&void 0!==arguments[0]?arguments[0]:{},t="undefined"!=typeof window&&window.navigator||{},n=e.userAgent||t.userAgent||"",r=-1!==n.indexOf("MSIE "),i=-1!==n.indexOf("Trident/");return r||i}var _={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},O={};Object.keys(_).forEach((function(e){O[e]=e}));var w={};function x(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=_[t];if(Object(d.a)(r,t),!b(n))return!0;if(t in w)return w[t];var i=r[0],o=n.behavior||"enable",a="#extension GL_".concat(i," : ").concat(o,"\nvoid main(void) {}"),s=e.createShader(35633);e.shaderSource(s,a),e.compileShader(s);var u=e.getShaderParameter(s,35713);return e.deleteShader(s),w[t]=u,u}function A(e,t){var n=_[t];Object(d.a)(n,t);var r=function(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}(e)&&n[1]||n[0],i="string"==typeof r?Boolean(e.getExtension(r)):r;return Object(d.a)(!1===i||!0===i),i}function P(e,t){return(t=Array.isArray(t)?t:[t]).every((function(t){return A(e,t)}))}var S=n(183);function k(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return C(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},t=0,n="";for(var r in e){0===t&&(n+="\n// APPLICATION DEFINES\n"),t++;var i=e[r];(i||Number.isFinite(i))&&(n+="#define ".concat(r.toUpperCase()," ").concat(e[r],"\n"))}0===t&&(n+="\n");return n}(j),"\n").concat(_?"":"precision highp float;\n\n","\n"):"".concat(k,"\n"),T=function(e){var t={vs:{},fs:{}};return e.forEach((function(e){var n;"string"!=typeof e?e=(n=e).hook:n={};var r=(e=e.trim()).split(":"),i=u()(r,2),o=i[0],a=i[1],s=e.replace(/\(.+/,"");t[o][s]=Object.assign(n,{signature:a})})),t}(l),M={},B={},I={};for(var R in p){var L="string"==typeof p[R]?{injection:p[R],order:0}:p[R],D=R.match(/^(v|f)s:(#)?([\w-]+)$/);if(D){var F=D[2],U=D[3];F?"decl"===U?B[R]=[L]:I[R]=[L]:M[R]=[L]}else I[R]=[L]}var G,W=z(o);try{for(W.s();!(G=W.n()).done;){var J=G.value;b&&J.checkDeprecations(C,b),E+=J.getModuleSource(i,A);var X=J.injections[i];for(var K in X){var q=K.match(/^(v|f)s:#([\w-]+)$/);if(q){var Z="decl"===q[2]?B:I;Z[K]=Z[K]||[],Z[K].push(X[K])}else M[K]=M[K]||[],M[K].push(X[K])}}}catch(e){W.e(e)}finally{W.f()}return E+=V,E=Object(S.c)(E,i,B),E+=function(e,t){var n="";for(var r in e){var i=e[r];if(n+="void ".concat(i.signature," {\n"),i.header&&(n+=" ".concat(i.header)),t[r]){var o=t[r];o.sort((function(e,t){return e.order-t.order}));var a,s=z(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;n+=" ".concat(u.injection,"\n")}}catch(e){s.e(e)}finally{s.f()}}i.footer&&(n+=" ".concat(i.footer)),n+="}\n"}return n}(T[i],M),E+=C,E=N(E=Object(S.c)(E,i,I),g?100:A,_)}function X(e){return function(t){var n,r={},i=z(e);try{for(i.s();!(n=i.n()).done;){var o=n.value.getUniforms(t,r);Object.assign(r,o)}}catch(e){i.e(e)}finally{i.f()}return r}}var K=n(327);function q(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Z(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},r=n.vs,i=void 0===r?"":r,o=n.fs,a=void 0===o?"":o,s=n.defines,u=void 0===s?{}:s,c=n.inject,l=void 0===c?{}:c,f=n.varyings,h=void 0===f?[]:f,d=n.bufferMode,p=void 0===d?35981:d,v=n.transpileToGLSL100,g=void 0!==v&&v,y=this._getModuleList(n.modules),m=this._getHash(i),b=this._getHash(a),_=y.map((function(e){return t._getHash(e.name)})).sort(),O=h.map((function(e){return t._getHash(e)})),w=Object.keys(u).sort(),x=Object.keys(l).sort(),A=[],P=[],S=q(w);try{for(S.s();!(e=S.n()).done;){var k=e.value;A.push(this._getHash(k)),A.push(this._getHash(u[k]))}}catch(e){S.e(e)}finally{S.f()}var C,j=q(x);try{for(j.s();!(C=j.n()).done;){var E=C.value;P.push(this._getHash(E)),P.push(this._getHash(l[E]))}}catch(e){j.e(e)}finally{j.f()}var T="".concat(m,"/").concat(b,"D").concat(A.join("/"),"M").concat(_.join("/"),"I").concat(P.join("/"),"V").concat(O.join("/"),"H").concat(this.stateHash,"B").concat(p).concat(g?"T":"");if(!this._programCache[T]){var M=W(this.gl,{vs:i,fs:a,modules:y,inject:l,defines:u,hookFunctions:this._hookFunctions,transpileToGLSL100:g});this._programCache[T]=new K.a(this.gl,{hash:T,vs:M.vs,fs:M.fs,varyings:h,bufferMode:p}),this._getUniforms[T]=M.getUniforms||function(e){},this._useCounts[T]=0}return this._useCounts[T]++,this._programCache[T]}},{key:"getUniforms",value:function(e){return this._getUniforms[e.hash]||null}},{key:"release",value:function(e){var t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}},{key:"_getHash",value:function(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}},{key:"_getModuleList",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Array(this._defaultModules.length+e.length),n={},r=0,i=0,o=this._defaultModules.length;i=t.min)}},array:{validate:function(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function f(e){var t=h(e);return"object"===t?e?"type"in e?Object.assign({},e,l[e.type]):"value"in e?(t=h(e.value),Object.assign({type:t},e,l[t])):{type:"object",value:e}:{type:"object",value:null}:Object.assign({type:t,value:e},l[t])}function h(e){return Array.isArray(e)||ArrayBuffer.isView(e)?"array":c()(e)}n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return p}));var d=function(){function e(t){var n=t.name,r=t.vs,o=t.fs,a=t.dependencies,u=void 0===a?[]:a,c=t.uniforms,l=t.getUniforms,h=t.deprecations,d=void 0===h?[]:h,p=t.defines,v=void 0===p?{}:p,g=t.inject,y=void 0===g?{}:g,m=t.vertexShader,b=t.fragmentShader;i()(this,e),Object(s.a)("string"==typeof n),this.name=n,this.vs=r||m,this.fs=o||b,this.getModuleUniforms=l,this.dependencies=u,this.deprecations=this._parseDeprecationDefinitions(d),this.defines=v,this.injections=function(e){var t={vs:{},fs:{}};for(var n in e){var r=e[n],i=n.slice(0,2);"string"==typeof r&&(r={order:0,injection:r}),t[i][n]=r}return t}(y),c&&(this.uniforms=function(e){var t={};for(var n in e){var r=f(e[n]);t[n]=r}return t}(c))}return a()(e,[{key:"getModuleSource",value:function(e){var t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Object(s.a)(!1)}return"#define MODULE_".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_"),"\n").concat(t,"// END MODULE_").concat(this.name,"\n\n")}},{key:"getUniforms",value:function(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}},{key:"getDefines",value:function(){return this.defines}},{key:"checkDeprecations",value:function(e,t){this.deprecations.forEach((function(n){n.regex.test(e)&&(n.deprecated?t.deprecated(n.old,n.new)():t.removed(n.old,n.new)())}))}},{key:"_parseDeprecationDefinitions",value:function(e){return e.forEach((function(e){switch(e.type){case"function":e.regex=new RegExp("\\b".concat(e.old,"\\("));break;default:e.regex=new RegExp("".concat(e.type," ").concat(e.old,";"))}})),e}},{key:"_defaultGetUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={},n=this.uniforms;for(var r in n){var i=n[r];r in e&&!i.private?(i.validate&&Object(s.a)(i.validate(e[r],i),"".concat(this.name,": invalid ").concat(r)),t[r]=e[r]):t[r]=i.value}return t}}]),e}();function p(e){if(!e.normalized&&(e.normalized=!0,e.uniforms&&!e.getUniforms)){var t=new d(e);e.getUniforms=t.getUniforms.bind(t)}return e}},function(e,t,n){"use strict";var r=n(37),i=n(81),o=n(64),a=n(10),s=n(63),u=n(13);function c(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return Object(u.a)(!1),0}}var l=n(239);function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceX,r=void 0===n?0:n,i=t.sourceY,o=void 0===i?0:i,a=t.sourceFormat,c=void 0===a?6408:a,l=t.sourceAttachment,f=void 0===l?36064:l,h=t.target,d=void 0===h?null:h,p=t.sourceWidth,y=t.sourceHeight,m=t.sourceType,b=v(e),_=b.framebuffer,O=b.deleteFramebuffer;Object(u.a)(_);var w=_.gl,x=_.handle,A=_.attachments;p=p||_.width,y=y||_.height,36064===f&&null===x&&(f=1028),Object(u.a)(A[f]),d=g(d,m=m||A[f].type,c,p,y),m=m||Object(s.b)(d);var P=w.bindFramebuffer(36160,x);return w.readPixels(r,o,p,y,c,m,d),w.bindFramebuffer(36160,P||null),O&&_.delete(),d}function h(e,t){var n=t.sourceX,i=void 0===n?0:n,o=t.sourceY,s=void 0===o?0:o,l=t.sourceFormat,f=void 0===l?6408:l,h=t.target,d=void 0===h?null:h,p=t.targetByteOffset,g=void 0===p?0:p,y=t.sourceWidth,m=t.sourceHeight,b=t.sourceType,_=v(e),O=_.framebuffer,w=_.deleteFramebuffer;Object(u.a)(O),y=y||O.width,m=m||O.height;var x=Object(a.a)(O.gl);if(b=b||(d?d.type:5121),!d){var A=c(f),P=function(e){switch(e){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return Object(u.a)(!1),0}}(b),S=g+y*m*A*P;d=new r.a(x,{byteLength:S,accessor:{type:b,size:A}})}return d.bind({target:35051}),Object(a.o)(x,{framebuffer:O},(function(){x.readPixels(i,s,y,m,f,b,g)})),d.unbind({target:35051}),w&&O.delete(),d}function d(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceAttachment,r=void 0===n?36064:n,i=t.targetMaxHeight,o=void 0===i?Number.MAX_SAFE_INTEGER:i,a=f(e,{sourceAttachment:r}),u=e.width,c=e.height;c>o;){var l=Object(s.d)({data:a,width:u,height:c});a=l.data,u=l.width,c=l.height}Object(s.a)({data:a,width:u,height:c});var h=document.createElement("canvas");h.width=u,h.height=c;var d=h.getContext("2d"),p=d.createImageData(u,c);return p.data.set(a),d.putImageData(p,0,0),h.toDataURL()}function p(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.sourceX,i=void 0===r?0:r,s=n.sourceY,c=void 0===s?0:s,l=n.targetMipmaplevel,f=void 0===l?0:l,h=n.targetInternalFormat,d=void 0===h?6408:h,p=n.targetX,g=n.targetY,y=n.targetZ,m=n.width,b=n.height,_=v(e),O=_.framebuffer,w=_.deleteFramebuffer;Object(u.a)(O);var x=O.gl,A=O.handle,P=void 0!==p||void 0!==g||void 0!==y;p=p||0,g=g||0,y=y||0;var S=x.bindFramebuffer(36160,A);Object(u.a)(t);var k=null;if(t instanceof o.a&&(k=t,m=Number.isFinite(m)?m:k.width,b=Number.isFinite(b)?b:k.height,k.bind(0),t=k.target),P)switch(t){case 3553:case 34067:x.copyTexSubImage2D(t,f,p,g,i,c,m,b);break;case 35866:case 32879:var C=Object(a.a)(x);C.copyTexSubImage3D(t,f,p,g,y,i,c,m,b)}else x.copyTexImage2D(t,f,d,i,c,m,b,0);return k&&k.unbind(),x.bindFramebuffer(36160,S||null),w&&O.delete(),k}function v(e){return e instanceof i.a?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:Object(l.b)(e),deleteFramebuffer:!0}}function g(e,t,n,r,i){return e||(t=t||5121,new(Object(s.c)(t,{clamped:!1}))(r*i*c(n)))}n.d(t,"c",(function(){return f})),n.d(t,"d",(function(){return h})),n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return p}))},,,,,function(e,t,n){"use strict";var r=n(126);Object.defineProperty(t,"__esModule",{value:!0}),t.console=t.process=t.document=t.global=t.window=t.self=void 0;var i=r(n(12)),o={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,i.default)(process))&&process},a=o.self||o.window||o.global;t.self=a;var s=o.window||o.self||o.global;t.window=s;var u=o.global||o.self||o.window;t.global=u;var c=o.document||{};t.document=c;var l=o.process||{};t.process=l;var f=console;t.console=f},function(e,t,n){"use strict";var r=n(126);Object.defineProperty(t,"__esModule",{value:!0}),t.default=a,t.isBrowserMainThread=function(){return a()&&"undefined"!=typeof document};var i=r(n(12)),o=r(n(190));function a(){return!("object"===("undefined"==typeof process?"undefined":(0,i.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,o.default)()}},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.default=e.exports,e.exports.__esModule=!0,n(t,r)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};i()(this,e);var n=t.attributes,r=void 0===n?{}:n;this.typedArrayManager=u.a,this.indexStarts=null,this.vertexStarts=null,this.vertexCount=0,this.instanceCount=0,this.attributes={},this._attributeDefs=r,this.opts=t,this.updateGeometry(t),Object.seal(this)}return a()(e,[{key:"updateGeometry",value:function(e){Object.assign(this.opts,e);var t=this.opts,n=t.data,r=t.buffers,i=void 0===r?{}:r,o=t.getGeometry,a=t.geometryBuffer,s=t.positionFormat,u=t.dataChanged,l=t.normalize,h=void 0===l||l;if(this.data=n,this.getGeometry=o,this.positionSize=a&&a.size||("XY"===s?2:3),this.buffers=i,this.normalize=h,a&&(Object(c.a)(n.startIndices),this.getGeometry=this.getGeometryFromBuffer(a),h||(i.positions=a)),this.geometryBuffer=i.positions,Array.isArray(u)){var d,p=f(u);try{for(p.s();!(d=p.n()).done;){var v=d.value;this._rebuildGeometry(v)}}catch(e){p.e(e)}finally{p.f()}}else this._rebuildGeometry()}},{key:"updatePartialGeometry",value:function(e){var t=e.startRow,n=e.endRow;this._rebuildGeometry({startRow:t,endRow:n})}},{key:"normalizeGeometry",value:function(e){return e}},{key:"updateGeometryAttributes",value:function(e,t,n){throw new Error("Not implemented")}},{key:"getGeometrySize",value:function(e){throw new Error("Not implemented")}},{key:"getGeometryFromBuffer",value:function(e){var t=e.value||e;return Object(c.a)(ArrayBuffer.isView(t)),Object(s.b)(t,{size:this.positionSize,offset:e.offset,stride:e.stride,startIndices:this.data.startIndices})}},{key:"_allocate",value:function(e,t){var n=this.attributes,r=this.buffers,i=this._attributeDefs,o=this.typedArrayManager;for(var a in i)if(a in r)o.release(n[a]),n[a]=null;else{var s=i[a];s.copy=t,n[a]=o.allocate(n[a],e,s)}}},{key:"_forEachGeometry",value:function(e,t,n){var r,i=this.data,o=this.getGeometry,a=Object(s.a)(i,t,n),u=a.iterable,c=a.objectInfo,l=f(u);try{for(l.s();!(r=l.n()).done;){var h=r.value;c.index++,e(o(h,c),c.index)}}catch(e){l.e(e)}finally{l.f()}}},{key:"_rebuildGeometry",value:function(e){var t=this;if(this.data&&this.getGeometry){var n=this.indexStarts,r=this.vertexStarts,i=this.instanceCount,o=this.data,a=this.geometryBuffer,s=e||{},u=s.startRow,c=void 0===u?0:u,f=s.endRow,h=void 0===f?1/0:f,d={};if(e||(n=[0],r=[0]),this.normalize||!a)this._forEachGeometry((function(e,n){e=t.normalizeGeometry(e),d[n]=e,r[n+1]=r[n]+t.getGeometrySize(e)}),c,h),i=r[r.length-1];else if(a.buffer instanceof l.a){var p=a.stride||4*this.positionSize;r=o.startIndices,i=r[o.length]||a.buffer.byteLength/p}else{var v=a.value||a,g=a.stride/v.BYTES_PER_ELEMENT||this.positionSize;r=o.startIndices,i=r[o.length]||v.length/g}this._allocate(i,Boolean(e)),this.indexStarts=n,this.vertexStarts=r,this.instanceCount=i;var y={};this._forEachGeometry((function(e,o){e=d[o]||e,y.vertexStart=r[o],y.indexStart=n[o];var a=o0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e),Object(c.a)(this,"props",void 0),Object(c.a)(this,"stats",void 0),Object(c.a)(this,"activeRequestCount",0),Object(c.a)(this,"requestQueue",[]),Object(c.a)(this,"requestMap",new Map),Object(c.a)(this,"deferredUpdate",null),this.props=h(h({},d),t),this.stats=new l.a({id:this.props.id}),this.stats.get("Queued Requests"),this.stats.get("Active Requests"),this.stats.get("Cancelled Requests"),this.stats.get("Queued Requests Ever"),this.stats.get("Active Requests Ever")}return u()(e,[{key:"scheduleRequest",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return 0};if(!this.props.throttleRequests)return Promise.resolve({done:function(){}});if(this.requestMap.has(e))return this.requestMap.get(e);var n={handle:e,priority:0,getPriority:t},r=new Promise((function(e){return n.resolve=e,n}));return this.requestQueue.push(n),this.requestMap.set(e,r),this._issueNewRequests(),r}},{key:"_issueRequest",value:function(e){var t=this,n=e.handle,r=e.resolve,i=!1,o=function(){i||(i=!0,t.requestMap.delete(n),t.activeRequestCount--,t._issueNewRequests())};return this.activeRequestCount++,r?r({done:o}):Promise.resolve({done:o})}},{key:"_issueNewRequests",value:function(){var e=this;this.deferredUpdate||(this.deferredUpdate=setTimeout((function(){return e._issueNewRequestsAsync()}),0))}},{key:"_issueNewRequestsAsync",value:function(){this.deferredUpdate=null;var e=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(0!==e){this._updateAllRequests();for(var t=0;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},n=this.props,r=n.data,i=n.getPolygon,o=n.positionFormat,a=n._normalize,s=[],u="XY"===o?2:3,c=t.startRow,l=t.endRow,f=Object(p.a)(r,c,l),h=f.iterable,d=f.objectInfo,v=_(h);try{for(v.s();!(e=v.n()).done;){var g=e.value;d.index++;var y=i(g,d);a&&(y=m.b(y,u));var b=y,O=b.holeIndices,w=y.positions||y;if(O)for(var x=0;x<=O.length;x++){var A=w.slice(O[x-1]||0,O[x]||w.length);s.push(this.getSubLayerRow({path:A},g,d.index))}else s.push(this.getSubLayerRow({path:w},g,d.index))}}catch(e){v.e(e)}finally{v.f()}return s}},{key:"renderLayers",value:function(){var e=this.props,t=e.data,n=e._dataDiff,r=e.stroked,i=e.filled,o=e.extruded,a=e.wireframe,s=e._normalize,u=e._windingOrder,c=e.elevationScale,l=e.transitions,f=e.positionFormat,h=this.props,d=h.lineWidthUnits,p=h.lineWidthScale,v=h.lineWidthMinPixels,m=h.lineWidthMaxPixels,b=h.lineJointRounded,_=h.lineMiterLimit,O=h.lineDashJustified,w=this.props,A=w.getFillColor,P=w.getLineColor,S=w.getLineWidth,k=w.getLineDashArray,C=w.getElevation,j=w.getPolygon,E=w.updateTriggers,T=w.material,M=this.state,B=M.paths,I=M.pathsDiff,R=this.getSubLayerClass("fill",g.a),L=this.getSubLayerClass("stroke",y.a),D=this.shouldRenderSubLayer("fill",B)&&new R({_dataDiff:n,extruded:o,elevationScale:c,filled:i,wireframe:a,_normalize:s,_windingOrder:u,getElevation:C,getFillColor:A,getLineColor:o&&a?P:x,material:T,transitions:l},this.getSubLayerProps({id:"fill",updateTriggers:{getPolygon:E.getPolygon,getElevation:E.getElevation,getFillColor:E.getFillColor,lineColors:o&&a,getLineColor:E.getLineColor}}),{data:t,positionFormat:f,getPolygon:j});return[!o&&D,!o&&r&&this.shouldRenderSubLayer("stroke",B)&&new L({_dataDiff:I&&function(){return I},widthUnits:d,widthScale:p,widthMinPixels:v,widthMaxPixels:m,jointRounded:b,miterLimit:_,dashJustified:O,_pathType:"loop",transitions:l&&{getWidth:l.getLineWidth,getColor:l.getLineColor,getPath:l.getPolygon},getColor:this.getSubLayerAccessor(P),getWidth:this.getSubLayerAccessor(S),getDashArray:this.getSubLayerAccessor(k)},this.getSubLayerProps({id:"stroke",updateTriggers:{getWidth:E.getLineWidth,getColor:E.getLineColor,getDashArray:E.getLineDashArray}}),{data:B,positionFormat:f,getPath:function(e){return e.path}}),o&&D]}}]),n}(v.a);P.layerName="PolygonLayer",P.defaultProps=A},function(e,t,n){"use strict";n.d(t,"a",(function(){return O}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(6),u=n.n(s),c=n(7),l=n.n(c),f=n(2),h=n.n(f),d=n(193);function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var v={clipBounds:[0,0,1,1]},g="\nuniform vec4 clip_bounds;\n\nbool clip_isInBounds(vec2 position) {\n return position.x >= clip_bounds[0] && position.y >= clip_bounds[1] && position.x < clip_bounds[2] && position.y < clip_bounds[3];\n}\n",y={name:"clip-vs",vs:g},m={"vs:#decl":"\nvarying float clip_isVisible;\n","vs:DECKGL_FILTER_GL_POSITION":"\n clip_isVisible = float(clip_isInBounds(geometry.worldPosition.xy));\n","fs:#decl":"\nvarying float clip_isVisible;\n","fs:DECKGL_FILTER_COLOR":"\n if (clip_isVisible < 0.5) discard;\n"},b={name:"clip-fs",fs:g},_={"vs:#decl":"\nvarying vec2 clip_commonPosition;\n","vs:DECKGL_FILTER_GL_POSITION":"\n clip_commonPosition = geometry.position.xy;\n","fs:#decl":"\nvarying vec2 clip_commonPosition;\n","fs:DECKGL_FILTER_COLOR":"\n if (!clip_isInBounds(clip_commonPosition)) discard;\n"},O=function(e){u()(n,e);var t=p(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(){var e="instancePositions"in this.getAttributeManager().attributes;return"clipByInstance"in this.props&&(e=this.props.clipByInstance),this.state.clipByInstance=e,e?{modules:[y],inject:m}:{modules:[b],inject:_}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props.clipBounds,r=void 0===n?v.clipBounds:n;if(this.state.clipByInstance)t.clip_bounds=r;else{var i=this.projectPosition([r[0],r[1],0]),o=this.projectPosition([r[2],r[3],0]);t.clip_bounds=[Math.min(i[0],o[0]),Math.min(i[1],o[1]),Math.max(i[0],o[0]),Math.max(i[1],o[1])]}}}]),n}(d.a);O.extensionName="ClipExtension",O.defaultProps=v},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return i()(this,n),e=t.call(this,2),Object(p.f)(r)&&1===arguments.length?e.copy(r):(p.b.debug&&(Object(v.a)(r),Object(v.a)(o)),e[0]=r,e[1]=o),e}return a()(n,[{key:"set",value:function(e,t){return this[0]=e,this[1]=t,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this.check()}},{key:"fromObject",value:function(e){return p.b.debug&&(Object(v.a)(e.x),Object(v.a)(e.y)),this[0]=e.x,this[1]=e.y,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e}},{key:"ELEMENTS",get:function(){return 2}},{key:"horizontalAngle",value:function(){return Math.atan2(this.y,this.x)}},{key:"verticalAngle",value:function(){return Math.atan2(this.x,this.y)}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return g.j(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return Object(y.a)(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return g.i(this,this,e),this.check()}},{key:"transformByMatrix2x3",value:function(e){return g.h(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return g.g(this,this,e),this.check()}}]),n}(d.a)},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(161),l=n(71),f=n(22),h=n(77);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e),this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}return u()(e,[{key:"finalize",value:function(){for(var e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}},{key:"updateViewStates",value:function(){for(var e in this.controllers){var t=this.controllers[e];t&&t.updateTransition()}}},{key:"getViewports",value:function(e){return e?this._viewports.filter((function(t){return t.containsPixel(e)})):this._viewports}},{key:"getViews",value:function(){var e={};return this.views.forEach((function(t){e[t.id]=t})),e}},{key:"getView",value:function(e){return"string"==typeof e?this.views.find((function(t){return t.id===e})):e}},{key:"getViewState",value:function(e){var t=this.getView(e),n=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(n):n}},{key:"getViewport",value:function(e){return this._viewportMap[e]}},{key:"unproject",value:function(e,t){for(var n=this.getViewports(),r={x:e[0],y:e[1]},i=n.length-1;i>=0;--i){var o=n[i];if(o.containsPixel(r)){var a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}},{key:"setProps",value:function(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}},{key:"_update",value:function(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}},{key:"_setSize",value:function(e,t){e===this.width&&t===this.height||(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}},{key:"_setViews",value:function(e){e=Object(h.b)(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}},{key:"_setViewState",value:function(e){e?(!Object(l.a)(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):f.a.warn("missing `viewState` or `initialViewState`")()}},{key:"_onViewStateChange",value:function(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}},{key:"_createController",value:function(e,t){return new(0,t.type)(p({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:function(t){return e._getViewport(t,{width:t.width,height:t.height})}},t))}},{key:"_updateController",value:function(e,t,n,r){var i=e.controller;return i?(i=p(p(p(p({},t),e.props),i),{},{id:e.id,x:n.x,y:n.y,width:n.width,height:n.height}),r?r.setProps(i):r=this._createController(e,i),r):null}},{key:"_rebuildViewports",value:function(){var e=this.width,t=this.height,n=this.views,r=this.controllers;this._viewports=[],this.controllers={};for(var i=!1,o=n.length;o--;){var a=n[o],s=this.getViewState(a),u=a.makeViewport({width:e,height:t,viewState:s}),c=r[a.id];a.controller&&!c&&(i=!0),!i&&a.controller||!c||(c.finalize(),c=null),this.controllers[a.id]=this._updateController(a,s,u,c),this._viewports.unshift(u)}for(var l in r)r[l]&&!this.controllers[l]&&r[l].finalize();this._buildViewportMap()}},{key:"_buildViewportMap",value:function(){var e=this;this._viewportMap={},this._viewports.forEach((function(t){t.id&&(e._viewportMap[t.id]=e._viewportMap[t.id]||t)}))}},{key:"_diffViews",value:function(e,t){return e.length!==t.length||e.some((function(n,r){return!e[r].equals(t[r])}))}}]),e}(),g=n(147),y=n(132),m=n(6),b=n.n(m),_=n(7),O=n.n(_),w=n(2),x=n.n(w),A=n(105),P=n(15),S=n(20),k=n.n(S),C=n(9),j=n.n(C),E=n(81),T=n(10),M=n(18);function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n4)return f.a.warn("Too many mask layers. The max supported is 4")(),"continue";a={id:o,index:n.channels.findIndex((function(e){return(null==e?void 0:e.id)===o})),layers:[],layerBounds:[],coordinateOrigin:e.root.props.coordinateOrigin,coordinateSystem:e.root.props.coordinateSystem},r[o]=a}a.layers.push(e),a.layerBounds.push(e.getBounds())};for(o.s();!(t=o.n()).done;)a()}catch(e){o.e(e)}finally{o.f()}for(var s=0;s<4;s++){var u=this.channels[s];u&&u.id in r||(this.channels[s]=null)}for(var c in r){var l=r[c];l.index<0&&(l.index=this.channels.findIndex((function(e){return!e})),this.channels[l.index]=l)}return r}},{key:"getModuleParameters",value:function(){return{maskMap:this.masks?this.maskMap:this.dummyMaskMap,maskChannels:this.masks}}},{key:"cleanup",value:function(){this.dummyMaskMap&&(this.dummyMaskMap.delete(),this.dummyMaskMap=null),this.maskPass&&(this.maskPass.delete(),this.maskPass=null,this.maskMap=null),this.lastViewport=null,this.masks=null,this.channels.length=0}}]),n}(D.a);function X(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return K(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return K(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"getEffects",value:function(){return this._internalEffects}},{key:"finalize",value:function(){this.cleanup()}},{key:"setEffects",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.cleanup(),this.effects=e,this._internalEffects=e.slice(),this._internalEffects.push(new J),e.some((function(e){return e instanceof y.a}))||this._internalEffects.push(q)}},{key:"cleanup",value:function(){var e,t=X(this.effects);try{for(t.s();!(e=t.n()).done;){e.value.cleanup()}}catch(e){t.e(e)}finally{t.f()}var n,r=X(this._internalEffects);try{for(r.s();!(n=r.n()).done;){n.value.cleanup()}}catch(e){r.e(e)}finally{r.f()}this.effects.length=0,this._internalEffects.length=0}}]),e}(),Y=n(163),Q=n(199),$=n(174);function ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function te(e){for(var t=1;th)p+=4*c;else for(var m=0;m=0){var b=m+s-r,_=b*b+y;_<=h&&(h=_,d=p)}p+=4}}if(d>=0){var O=t.slice(d,d+4),w=n(O);if(w){var x=Math.floor(d/4/c),A=d/4-x*c;return te(te({},w),{},{pickedColor:O,pickedX:s+A,pickedY:u+x})}f.a.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return ne}function ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function oe(e){var t=e.pickInfo,n=e.viewports,r=e.pixelRatio,i=e.x,o=e.y,a=e.z,s=n[0];n.length>1&&(s=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.containsPixel(t))return r}return e[0]}((null==t?void 0:t.pickedViewports)||n,{x:i,y:o}));var u=s&&s.unproject([i-s.x,o-s.y,a]);return{color:null,layer:null,viewport:s,index:-1,picked:!1,x:i,y:o,pixel:[i,o],coordinate:u,devicePixel:t&&"pickedX"in t?[t.pickedX,t.pickedY]:null,pixelRatio:r}}function ae(e){var t=e.pickInfo,n=e.lastPickedInfo,r=e.mode,o=e.layers,a=t.pickedColor,s=t.pickedLayer,u=t.pickedObjectIndex,c=s?[s]:[];if("hover"===r){var l=n.index,f=n.layerId,h=s&&s.props.id;if(h!==f||u!==l){if(h!==f){var d=o.find((function(e){return e.props.id===f}));d&&c.unshift(d)}n.layerId=h,n.index=u,n.info=null}}var p=oe(e),v=new Map;return v.set(null,p),c.forEach((function(e){var t=function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:this.lastPickedInfo.info,a=o&&o.layer&&o.layer.id,s=o&&o.viewport&&o.viewport.id,u=a?r.find((function(e){return e.id===a})):null,c=s&&i.find((function(e){return e.id===s}))||i[0],l=c&&c.unproject([t-c.x,n-c.y]),f={x:t,y:n,viewport:c,coordinate:l,layer:u};return fe(fe({},o),f)}},{key:"_resizeBuffer",value:function(){var e=this.gl;return this.pickingFBO||(this.pickingFBO=new E.a(e),E.a.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new E.a(e),this.depthFBO.attach(i()({},36064,new A.a(e,{format:Object(T.j)(e)?34836:6408,type:5126}))))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}},{key:"_getPickable",value:function(e){if(!1===this._pickable)return null;var t=e.filter((function(e){return e.isPickable()&&!e.isComposite}));return t.length?t:null}},{key:"_pickClosestObject",value:function(e){var t=e.layers,n=e.views,r=e.viewports,i=e.x,o=e.y,a=e.radius,s=void 0===a?0:a,u=e.depth,c=void 0===u?1:u,l=e.mode,f=void 0===l?"query":l,h=e.unproject3D,d=e.onViewportActive,p=e.effects;if(!(t=this._getPickable(t)))return{result:[],emptyInfo:oe({viewports:r,x:i,y:o})};this._resizeBuffer();for(var v,g=Object(T.e)(this.gl),y=Object(T.d)(this.gl,[i,o],!0),m=[y.x+Math.floor(y.width/2),y.y+Math.floor(y.height/2)],b=Math.round(s*g),_=this.pickingFBO,O=_.width,w=_.height,x=this._getPickingRect({deviceX:m[0],deviceY:m[1],deviceRadius:b,deviceWidth:O,deviceHeight:w}),A=[],P=new Set,S=0;S=0){var o=t.slice(i,i+4),a=o.join(",");if(!r.has(a)){var s=n(o);s?r.set(a,te(te({},s),{},{pickedColor:o})):f.a.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(r.values())}(this._drawAndSample({layers:t,views:n,viewports:r,onViewportActive:v,deviceRect:A,effects:g,pass:"picking:".concat(h),redrawReason:h})),S=new Map,k=Number.isFinite(p),C=0;C=p);C++){var j=P[C],E={color:j.pickedColor,layer:null,index:j.pickedObjectIndex,picked:!0,x:i,y:o,width:s,height:c,pixelRatio:y};E=se({layer:j.pickedLayer,info:E,mode:h}),S.has(E.object)||S.set(E.object,E)}return Array.from(S.values())}},{key:"_drawAndSample",value:function(e){var t=e.layers,n=e.views,r=e.viewports,i=e.onViewportActive,o=e.deviceRect,a=e.effects,s=e.pass,u=e.redrawReason,c=e.pickZ,l=c?this.depthFBO:this.pickingFBO,f=this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:n,viewports:r,onViewportActive:i,pickingFBO:l,deviceRect:o,effects:a,pass:s,redrawReason:u,pickZ:c}).decodePickingColor,h=o.x,d=o.y,p=o.width,v=o.height,g=new(c?Float32Array:Uint8Array)(p*v*4);return Object(Q.c)(l,{sourceX:h,sourceY:d,sourceWidth:p,sourceHeight:v,target:g}),{pickedColors:g,decodePickingColor:f}}},{key:"_getPickingRect",value:function(e){var t=e.deviceX,n=e.deviceY,r=e.deviceRadius,i=e.deviceWidth,o=e.deviceHeight,a=Math.max(0,t-r),s=Math.max(0,n-r),u=Math.min(i,t+r+1)-a,c=Math.min(o,n+r+1)-s;return u<=0||c<=0?null:{x:a,y:s,width:u,height:c}}}]),e}(),de={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"},pe=function(){function e(t){a()(this,e);var n=t.parentElement;n&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,de),n.appendChild(this.el)),this.isVisible=!1}return u()(e,[{key:"setTooltip",value:function(e,t,n){var r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(n,"px)")}},{key:"remove",value:function(){this.el&&this.el.remove()}}]),e}(),ve=n(78),ge=n(194),ye=n(169),me=n(170),be=globalThis;var _e=n(12),Oe=n.n(_e),we=n(8),xe=n.n(we),Ae=n(4),Pe=n.n(Ae),Se=n(139),ke=n(13),Ce=n(43),je=n(253),Ee=n(182);function Te(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Me(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Me(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Me(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return a()(this,n),(r=t.call(this,e,i)).target=null,r._queryPending=!1,r._pollingPromise=null,Object.seal(k()(r)),r}return u()(n,[{key:"beginTimeElapsedQuery",value:function(){return this.begin(35007)}},{key:"beginOcclusionQuery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.conservative,n=void 0!==t&&t;return this.begin(n?36202:35887)}},{key:"beginTransformFeedbackQuery",value:function(){return this.begin(35976)}},{key:"begin",value:function(e){return this._queryPending?this:(this.target=e,this.gl2.beginQuery(this.target,this.handle),this)}},{key:"end",value:function(){return this._queryPending?this:(this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this)}},{key:"isResultAvailable",value:function(){if(!this._queryPending)return!1;var e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}},{key:"isTimerDisjoint",value:function(){return this.gl2.getParameter(36795)}},{key:"getResult",value:function(){return this.gl2.getQueryParameter(this.handle,34918)}},{key:"getTimerMilliseconds",value:function(){return this.getResult()/1e6}},{key:"createPoll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;var n=0;return this._pollingPromise=new Promise((function(r,i){requestAnimationFrame((function o(){e.isResultAvailable()?(r(e.getResult()),e._pollingPromise=null):n++>t?(i("Timed out"),e._pollingPromise=null):requestAnimationFrame(o)}))})),this._pollingPromise}},{key:"_createHandle",value:function(){return n.isSupported(this.gl)?this.gl2.createQuery():null}},{key:"_deleteHandle",value:function(){this.gl2.deleteQuery(this.handle)}}],[{key:"isSupported",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=Object(T.j)(e),i=Object(je.c)(e,Ee.a.TIMER_QUERY),o=r||i,a=Te(n);try{for(a.s();!(t=a.n()).done;){var s=t.value;switch(s){case"queries":o=o&&r;break;case"timers":o=o&&i;break;default:Object(ke.a)(!1)}}}catch(e){a.e(e)}finally{a.f()}return o}}]),n}(Ce.a);var Re=n(35),Le=Object(Re.isBrowser)()&&"undefined"!=typeof document,De=0,Fe=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e);var n=t.onCreateContext,r=void 0===n?function(e){return Object(T.c)(e)}:n,i=t.onAddHTML,o=void 0===i?null:i,s=t.onInitialize,u=void 0===s?function(){}:s,c=t.onRender,l=void 0===c?function(){}:c,f=t.onFinalize,h=void 0===f?function(){}:f,d=t.onError,p=t.gl,v=void 0===p?null:p,g=t.glOptions,y=void 0===g?{}:g,m=t.debug,b=void 0!==m&&m,_=t.createFramebuffer,O=void 0!==_&&_,w=t.autoResizeViewport,x=void 0===w||w,A=t.autoResizeDrawingBuffer,P=void 0===A||A,S=t.stats,k=void 0===S?Se.a.get("animation-loop-".concat(De++)):S,C=t.useDevicePixels,j=void 0===C||C;"useDevicePixelRatio"in t&&(T.k.deprecated("useDevicePixelRatio","useDevicePixels")(),j=t.useDevicePixelRatio),this.props={onCreateContext:r,onAddHTML:o,onInitialize:u,onRender:l,onFinalize:h,onError:d,gl:v,glOptions:y,debug:b,createFramebuffer:O},this.gl=v,this.needsRedraw=null,this.timeline=null,this.stats=k,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:x,autoResizeDrawingBuffer:P,useDevicePixels:j}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}var t;return u()(e,[{key:"delete",value:function(){this.stop(),this._setDisplay(null)}},{key:"setNeedsRedraw",value:function(e){return Object(ke.a)("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}},{key:"setProps",value:function(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}},{key:"start",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this._running)return this;this._running=!0;var n=this._getPageLoadPromise().then((function(){return!e._running||e._initialized?null:(e._createWebGLContext(t),e._createFramebuffer(),e._startEventHandling(),e._initializeCallbackData(),e._updateCallbackData(),e._resizeCanvasDrawingBuffer(),e._resizeViewport(),e._gpuTimeQuery=Ie.isSupported(e.gl,["timers"])?new Ie(e.gl):null,e._initialized=!0,e.onInitialize(e.animationProps))})).then((function(t){e._running&&(e._addCallbackData(t||{}),!1!==t&&e._startLoop())}));return this.props.onError&&n.catch(this.props.onError),this}},{key:"redraw",value:function(){return this.isContextLost()?this:(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers(),this)}},{key:"stop",value:function(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}},{key:"attachTimeline",value:function(e){return this.timeline=e,this.timeline}},{key:"detachTimeline",value:function(){this.timeline=null}},{key:"waitForRender",value:function(){var e=this;return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise((function(t){e._resolveNextFrame=t}))),this._nextFramePromise}},{key:"toDataURL",value:(t=xe()(Pe.a.mark((function e(){return Pe.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setNeedsRedraw("toDataURL"),e.next=3,this.waitForRender();case 3:return e.abrupt("return",this.gl.canvas.toDataURL());case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"isContextLost",value:function(){return this.gl.isContextLost()}},{key:"onCreateContext",value:function(){var e;return(e=this.props).onCreateContext.apply(e,arguments)}},{key:"onInitialize",value:function(){var e;return(e=this.props).onInitialize.apply(e,arguments)}},{key:"onRender",value:function(){var e;return(e=this.props).onRender.apply(e,arguments)}},{key:"onFinalize",value:function(){var e;return(e=this.props).onFinalize.apply(e,arguments)}},{key:"getHTMLControlValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=document.getElementById(e);return n?Number(n.value):t}},{key:"setViewParameters",value:function(){return T.k.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}},{key:"_startLoop",value:function(){var e=this;this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame((function t(){e._running&&(e.redraw(),e._animationFrameId=e._requestAnimationFrame(t))}))}},{key:"_getPageLoadPromise",value:function(){return this._pageLoadPromise||(this._pageLoadPromise=Le?new Promise((function(e,t){Le&&"complete"===document.readyState?e(document):window.addEventListener("load",(function(){e(document)}))})):Promise.resolve({})),this._pageLoadPromise}},{key:"_setDisplay",value:function(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}},{key:"_cancelAnimationFrame",value:function(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):(t=e,"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(t):clearTimeout(t));var t}},{key:"_requestAnimationFrame",value:function(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):(t=e,"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(t):setTimeout(t,1e3/60));var t}},{key:"_renderFrame",value:function(){var e;this.display?(e=this.display)._renderFrame.apply(e,arguments):this.onRender.apply(this,arguments)}},{key:"_clearNeedsRedraw",value:function(){this.needsRedraw=null}},{key:"_setupFrame",value:function(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}},{key:"_initializeCallbackData",value:function(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}},{key:"_updateCallbackData",value:function(){var e=this._getSizeAndAspect(),t=e.width,n=e.height,r=e.aspect;t===this.animationProps.width&&n===this.animationProps.height||this.setNeedsRedraw("drawing buffer resized"),r!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=n,this.animationProps.aspect=r,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}},{key:"_finalizeCallbackData",value:function(){this.onFinalize(this.animationProps)}},{key:"_addCallbackData",value:function(e){"object"===Oe()(e)&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}},{key:"_createWebGLContext",value:function(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?Object(T.h)(this.props.gl,e):this.onCreateContext(e),!Object(T.i)(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");Object(T.l)(this.gl),this._createInfoDiv()}},{key:"_createInfoDiv",value:function(){if(this.gl.canvas&&this.props.onAddHTML){var e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";var t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);var n=this.props.onAddHTML(t);n&&(t.innerHTML=n)}}},{key:"_getSizeAndAspect",value:function(){var e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight,n=1,r=this.gl.canvas;return r&&r.clientHeight?n=r.clientWidth/r.clientHeight:e>0&&t>0&&(n=e/t),{width:e,height:t,aspect:n}}},{key:"_resizeViewport",value:function(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}},{key:"_resizeCanvasDrawingBuffer",value:function(){this.autoResizeDrawingBuffer&&Object(T.m)(this.gl,{useDevicePixels:this.useDevicePixels})}},{key:"_createFramebuffer",value:function(){this.props.createFramebuffer&&(this.framebuffer=new E.a(this.gl))}},{key:"_resizeFramebuffer",value:function(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}},{key:"_beginTimers",value:function(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}},{key:"_endTimers",value:function(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}},{key:"_startEventHandling",value:function(){var e=this.gl.canvas;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}},{key:"_onMousemove",value:function(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}},{key:"_onMouseleave",value:function(e){this.animationProps._mousePosition=null}}]),e}(),Ne=n(322),Ue=n(95);function ze(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Ge,Ve,He=n(57),We=n(58),Je=n(138),Xe=n.n(Je),Ke={mousedown:1,mousemove:2,mouseup:4};Ge=Xe.a.PointerEventInput,Ve=Ge.prototype.handler,Ge.prototype.handler=function(e){var t=this.store;e.button>0&&(function(e,t){for(var n=0;n=0&&(this.pressed=!0),2&t&&0===e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:"mouse",srcEvent:e}))};var qe=Xe.a.Manager,Ze=Xe.a,Ye=Ze?[[Ze.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[Ze.Rotate,{enable:!1}],[Ze.Pinch,{enable:!1}],[Ze.Swipe,{enable:!1}],[Ze.Pan,{threshold:0,enable:!1}],[Ze.Press,{enable:!1}],[Ze.Tap,{event:"doubletap",taps:2,enable:!1}],[Ze.Tap,{event:"anytap",enable:!1}],[Ze.Tap,{enable:!1}]]:null,Qe={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},$e={doubletap:["tap"]},et={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},tt=["keydown","keyup"],nt=["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],rt=["wheel","mousewheel","DOMMouseScroll"],it={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},ot={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},at="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",st="undefined"!=typeof window?window:global,ut=("undefined"!=typeof global?global:window,"undefined"!=typeof document&&document,!1);try{var ct={get passive(){return ut=!0,!0}};st.addEventListener("test",ct,ct),st.removeEventListener("test",ct,ct)}catch(e){}var lt=-1!==at.indexOf("firefox"),ft=rt,ht=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(He.a)(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},i),this.events=ft.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach((function(e){return t.addEventListener(e,r.handleEvent,!!ut&&{passive:!1})}))}return Object(We.a)(e,[{key:"destroy",value:function(){var e=this;this.events.forEach((function(t){return e.element.removeEventListener(t,e.handleEvent)}))}},{key:"enableEventType",value:function(e,t){"wheel"===e&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){if(this.options.enable){var t=e.deltaY;st.WheelEvent&&(lt&&e.deltaMode===st.WheelEvent.DOM_DELTA_PIXEL&&(t/=st.devicePixelRatio),e.deltaMode===st.WheelEvent.DOM_DELTA_LINE&&(t*=40));var n={x:e.clientX,y:e.clientY};0!==t&&t%4.000244140625==0&&(t=Math.floor(t/4.000244140625)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,n)}}},{key:"_onWheel",value:function(e,t,n){this.callback({type:"wheel",center:n,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),dt=nt,pt=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(He.a)(this,e),this.element=t,this.callback=n,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=dt.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach((function(e){return t.addEventListener(e,r.handleEvent)}))}return Object(We.a)(e,[{key:"destroy",value:function(){var e=this;this.events.forEach((function(t){return e.element.removeEventListener(t,e.handleEvent)}))}},{key:"enableEventType",value:function(e,t){"pointermove"===e&&(this.enableMoveEvent=t),"pointerover"===e&&(this.enableOverEvent=t),"pointerout"===e&&(this.enableOutEvent=t),"pointerleave"===e&&(this.enableLeaveEvent=t)}},{key:"handleEvent",value:function(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}},{key:"handleOverEvent",value:function(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:"pointerover",srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleOutEvent",value:function(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:"pointerout",srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleLeaveEvent",value:function(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:"pointerleave",srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleMoveEvent",value:function(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:"pointermove",srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}]),e}(),vt=tt,gt=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(He.a)(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=vt.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=i.tabIndex||0,t.style.outline="none",this.events.forEach((function(e){return t.addEventListener(e,r.handleEvent)}))}return Object(We.a)(e,[{key:"destroy",value:function(){var e=this;this.events.forEach((function(t){return e.element.removeEventListener(t,e.handleEvent)}))}},{key:"enableEventType",value:function(e,t){"keydown"===e&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}},{key:"handleEvent",value:function(e){var t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:"keydown",srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}]),e}(),yt=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(He.a)(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},r),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}return Object(We.a)(e,[{key:"destroy",value:function(){this.element.removeEventListener("contextmenu",this.handleEvent)}},{key:"enableEventType",value:function(e,t){"contextmenu"===e&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){this.options.enable&&this.callback({type:"contextmenu",center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}();function mt(e){return(mt="function"==typeof Symbol&&"symbol"===Oe()(Symbol.iterator)?function(e){return Oe()(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":Oe()(e)})(e)}var bt={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4};var _t={srcElement:"root",priority:0},Ot=function(){function e(t){Object(He.a)(this,e),this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}return Object(We.a)(e,[{key:"isEmpty",value:function(){return!this._active}},{key:"add",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=this.handlers,a=this.handlersByElement;n&&("object"!==mt(n)||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},_t,n):_t;var s=a.get(n.srcElement);s||(s=[],a.set(n.srcElement,s));var u={type:e,handler:t,srcElement:n.srcElement,priority:n.priority};r&&(u.once=!0),i&&(u.passive=!0),o.push(u),this._active=this._active||!u.passive;for(var c=s.length-1;c>=0&&!(s[c].priority>=u.priority);)c--;s.splice(c+1,0,u)}},{key:"remove",value:function(e,t){for(var n=this.handlers,r=this.handlersByElement,i=n.length-1;i>=0;i--){var o=n[i];if(o.type===e&&o.handler===t){n.splice(i,1);var a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=n.some((function(e){return!e.passive}))}},{key:"handleEvent",value:function(e){if(!this.isEmpty()){for(var t=this._normalizeEvent(e),n=e.srcEvent.target;n&&n!==t.rootElement;){if(this._emit(t,n),t.handled)return;n=n.parentNode}this._emit(t,"root")}}},{key:"_emit",value:function(e,t){var n=this.handlersByElement.get(t);if(n){for(var r=!1,i=function(){e.handled=!0},o=function(){e.handled=!0,r=!0},a=[],s=0;s=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function xt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(He.a)(this,e),this.options=Object.assign({},At,n),this.events=new Map,this._onBasicInput=this._onBasicInput.bind(this),this._onOtherEvent=this._onOtherEvent.bind(this),this.setElement(t);var r=n.events;r&&this.on(r)}return Object(We.a)(e,[{key:"setElement",value:function(e){var t=this;if(this.element&&this.destroy(),this.element=e,e){var n=this.options,r=n.Manager;for(var i in this.manager=new r(e,{touchAction:n.touchAction,recognizers:n.recognizers||Ye}).on("hammer.input",this._onBasicInput),n.recognizers||Object.keys(Qe).forEach((function(e){var n=t.manager.get(e);n&&Qe[e].forEach((function(e){n.recognizeWith(e)}))})),n.recognizerOptions){var o=this.manager.get(i);if(o){var a=n.recognizerOptions[i];delete a.enable,o.set(a)}}this.wheelInput=new ht(e,this._onOtherEvent,{enable:!1}),this.moveInput=new pt(e,this._onOtherEvent,{enable:!1}),this.keyInput=new gt(e,this._onOtherEvent,{enable:!1,tabIndex:n.tabIndex}),this.contextmenuInput=new yt(e,this._onOtherEvent,{enable:!1});var s,u=wt(this.events);try{for(u.s();!(s=u.n()).done;){var c=ze(s.value,2),l=c[0],f=c[1];f.isEmpty()||(this._toggleRecognizer(f.recognizerName,!0),this.manager.on(l,f.handleEvent))}}catch(e){u.e(e)}finally{u.f()}}}},{key:"destroy",value:function(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}},{key:"on",value:function(e,t,n){this._addEventHandler(e,t,n,!1)}},{key:"once",value:function(e,t,n){this._addEventHandler(e,t,n,!0)}},{key:"watch",value:function(e,t,n){this._addEventHandler(e,t,n,!1,!0)}},{key:"off",value:function(e,t){this._removeEventHandler(e,t)}},{key:"_toggleRecognizer",value:function(e,t){var n=this.manager;if(n){var r=n.get(e);if(r&&r.options.enable!==t){r.set({enable:t});var i=$e[e];i&&!this.options.recognizers&&i.forEach((function(i){var o=n.get(i);t?(o.requireFailure(e),r.dropRequireFailure(i)):o.dropRequireFailure(e)}))}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}}},{key:"_addEventHandler",value:function(e,t,n,r,i){if("string"==typeof e){var o=this.manager,a=this.events,s=ot[e]||e,u=a.get(s);u||(u=new Ot(this),a.set(s,u),u.recognizerName=it[s]||s,o&&o.on(s,u.handleEvent)),u.add(e,t,n,r,i),u.isEmpty()||this._toggleRecognizer(u.recognizerName,!0)}else for(var c in n=t,e)this._addEventHandler(c,e[c],n,r,i)}},{key:"_removeEventHandler",value:function(e,t){if("string"==typeof e){var n=this.events,r=ot[e]||e,i=n.get(r);if(i&&(i.remove(e,t),i.isEmpty())){var o,a=i.recognizerName,s=!1,u=wt(n.values());try{for(u.s();!(o=u.n()).done;){var c=o.value;if(c.recognizerName===a&&!c.isEmpty()){s=!0;break}}}catch(e){u.e(e)}finally{u.f()}s||this._toggleRecognizer(a,!1)}}else for(var l in e)this._removeEventHandler(l,e[l])}},{key:"_onBasicInput",value:function(e){var t=e.srcEvent,n=et[t.type];n&&this.manager.emit(n,e)}},{key:"_onOtherEvent",value:function(e){this.manager.emit(e.type,e)}}]),e}(),St=n(40);function kt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ct(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ct(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1)return"Edge";var r=-1!==n.indexOf("MSIE "),i=-1!==n.indexOf("Trident/");return r||i?"IE":be.chrome?"Chrome":be.safari?"Safari":be.mozInnerScreenX?"Firefox":"Unknown"}()&&f.a.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Ue.a({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&ve.a.setProps(t._typedArrayManagerProps),this.animationLoop.start()}return u()(e,[{key:"finalize",value:function(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),this.props.canvas||this.props.gl||!this.canvas||(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}},{key:"setProps",value:function(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&f.a.removed("onLayerHover","onHover")(),"onLayerClick"in e&&f.a.removed("onLayerClick","onClick")(),e.initialViewState&&!Object(l.a)(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);var t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};if(this.props._animate)return"Deck._animate";var t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),i=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||n||r||i||o}},{key:"redraw",value:function(e){if(this.layerManager){var t=e||this.needsRedraw({clearRedrawFlags:!0});t&&(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}}},{key:"getViews",value:function(){return this.viewManager.views}},{key:"getViewports",value:function(e){return this.viewManager.getViewports(e)}},{key:"pickObject",value:function(e){var t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}},{key:"pickMultipleObjects",value:function(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}},{key:"pickObjects",value:function(e){return this._pick("pickObjects","pickObjects Time",e)}},{key:"_addResources",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(var n in e)this.layerManager.resourceManager.add({resourceId:n,data:e[n],forceUpdate:t})}},{key:"_removeResources",value:function(e){var t,n=kt(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;this.layerManager.resourceManager.remove(r)}}catch(e){n.e(e)}finally{n.f()}}},{key:"_pick",value:function(e,t,n){var r=this.stats;r.get("Pick Count").incrementCount(),r.get(t).timeStart();var i=this.deckPicker[e](Et({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport,effects:this.effectManager.getEffects()},n));return r.get(t).timeEnd(),i}},{key:"_createCanvas",value:function(e){var t=e.canvas;("string"==typeof t&&(t=document.getElementById(t),Object(St.a)(t)),t)||((t=document.createElement("canvas")).id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t));return Object.assign(t.style,e.style),t}},{key:"_setCanvasSize",value:function(e){if(this.canvas){var t=e.width,n=e.height;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}}},{key:"_updateCanvasSize",value:function(){if(this._checkForCanvasSizeChange()){var e=this.width,t=this.height;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}},{key:"_checkForCanvasSizeChange",value:function(){var e=this.canvas;if(!e)return!1;var t=e.clientWidth||e.width,n=e.clientHeight||e.height;return(t!==this.width||n!==this.height)&&(this.width=t,this.height=n,!0)}},{key:"_createAnimationLoop",value:function(e){var t=this,n=e.width,r=e.height,i=e.gl,o=e.glOptions,a=e.debug,s=e.onError,u=e.onBeforeRender,c=e.onAfterRender,l=e.useDevicePixels,f=e.autoResizeDrawingBuffer;return new Fe({width:n,height:r,useDevicePixels:l,autoResizeDrawingBuffer:f,autoResizeViewport:!1,gl:i,onCreateContext:function(e){return Object(T.c)(Et(Et(Et({},o),e),{},{canvas:t.canvas,debug:a,onContextLost:function(){return t._onContextLost()}}))},onInitialize:function(e){return t._setGLContext(e.gl)},onRender:this._onRenderFrame.bind(this),onBeforeRender:u,onAfterRender:c,onError:s})}},{key:"_getViewState",value:function(){return this.props.viewState||this.viewState}},{key:"_getViews",value:function(){var e=this.props.views||[new g.a({id:"default-view"})];return(e=Array.isArray(e)?e:[e]).length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}},{key:"_onContextLost",value:function(){var e=this.props.onError;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}},{key:"_onPointerMove",value:function(e){var t=this._pickRequest;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;var n=e.offsetCenter;if(!n)return;t.x=n.x,t.y=n.y,t.radius=this.props.pickingRadius}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}},{key:"_pickAndCallback",value:function(){var e=this._pickRequest;if(e.event){var t=this._pick("pickObject","pickObject Time",e),n=t.result,r=t.emptyInfo;this.interactiveState.isHovering=n.length>0;var i,o=r,a=!1,s=kt(n);try{for(s.s();!(i=s.n()).done;){var u=i.value;o=u,a=u.layer.onHover(u,e.event)}}catch(e){s.e(e)}finally{s.f()}if(!a&&this.props.onHover&&this.props.onHover(o,e.event),this.props.getTooltip){var c=this.props.getTooltip(o);this.tooltip.setTooltip(c,o.x,o.y)}e.event=null}}},{key:"_updateCursor",value:function(){var e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}},{key:"_setGLContext",value:function(e){if(!this.layerManager){this.canvas||(this.canvas=e.canvas,Object(T.h)(e,{enable:!0,copyState:!0})),this.tooltip=new pe(this.canvas),Object(T.n)(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);var t=new Ne.a;for(var n in t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new Pt(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}}),M.b)this.eventManager.on(n,this._onEvent);this.viewManager=new v({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});var r=this.viewManager.getViewports()[0];this.layerManager=new c.a(e,{deck:this,stats:this.stats,viewport:r,timeline:t}),this.effectManager=new Z,this.deckRenderer=new Y.a(e),this.deckPicker=new he(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}}},{key:"_drawLayers",value:function(e,t){var n=this.layerManager.context.gl;Object(T.n)(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(Et({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:n})}},{key:"_onRenderFrame",value:function(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),f.a.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}},{key:"_onViewStateChange",value:function(e){var t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Et(Et({},this.viewState),{},i()({},e.viewId,t)),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}},{key:"_onInteractionStateChange",value:function(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}},{key:"_onEvent",value:function(e){var t=M.b[e.type],n=e.offsetCenter;if(t&&n){var r=this.layerManager.getLayers(),i=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:r,viewports:this.getViewports(n)},this._lastPointerDownInfo),o=i.layer,a=o&&(o[t.handler]||o.props[t.handler]),s=this.props[t.handler],u=!1;a&&(u=a.call(o,i,e)),!u&&s&&s(i,e)}}},{key:"_onPointerDown",value:function(e){var t=e.offsetCenter,n=this._pick("pickObject","pickObject Time",{x:t.x,y:t.y,radius:this.props.pickingRadius});this._lastPointerDownInfo=n.result[0]||n.emptyInfo}},{key:"_getFrameStats",value:function(){var e=this.stats;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();var t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}},{key:"_getMetrics",value:function(){var e=this.metrics,t=this.stats;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();var n=Se.a.get("Memory Usage");e.bufferMemory=n.get("Buffer Memory").count,e.textureMemory=n.get("Texture Memory").count,e.renderbufferMemory=n.get("Renderbuffer Memory").count,e.gpuMemory=n.get("GPU Memory").count}}]),e}();Bt.getPropTypes=function(e){return{id:e.string,width:e.oneOfType([e.number,e.string]),height:e.oneOfType([e.number,e.string]),layers:e.oneOfType([e.object,e.array]),layerFilter:e.func,views:e.oneOfType([e.object,e.array]),viewState:e.object,effects:e.arrayOf(e.instanceOf(D.a)),controller:e.oneOfType([e.func,e.bool,e.object]),gl:e.object,glOptions:e.object,parameters:e.object,pickingRadius:e.number,useDevicePixels:e.oneOfType([e.bool,e.number]),touchAction:e.string,eventRecognizerOptions:e.object,onWebGLInitialized:e.func,onResize:e.func,onViewStateChange:e.func,onInteractionStateChange:e.func,onBeforeRender:e.func,onAfterRender:e.func,onLoad:e.func,onError:e.func,debug:e.bool,drawPickingColors:e.bool,_framebuffer:e.object,_animate:e.bool,_pickable:e.bool,_typedArrayManagerProps:e.object}},Bt.defaultProps=Mt,Bt.VERSION=ge.a.VERSION},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(6),u=n.n(s),c=n(7),l=n.n(c),f=n(2),h=n.n(f),d=n(193),p=n(102),v={source:0,target:1,custom:2,source_target:3},g={name:"brushing",dependencies:[p.a],vs:"\n uniform bool brushing_enabled;\n uniform int brushing_target;\n uniform vec2 brushing_mousePos;\n uniform float brushing_radius;\n\n #ifdef NON_INSTANCED_MODEL\n attribute vec2 brushingTargets;\n #else\n attribute vec2 instanceBrushingTargets;\n #endif\n\n varying float brushing_isVisible;\n\n bool brushing_isPointInRange(vec2 position) {\n if (!brushing_enabled) {\n return true;\n }\n vec2 source_commonspace = project_position(position);\n vec2 target_commonspace = project_position(brushing_mousePos);\n float distance = length((target_commonspace - source_commonspace) / project_uCommonUnitsPerMeter.xy);\n\n return distance <= brushing_radius;\n }\n\n bool brushing_arePointsInRange(vec2 sourcePos, vec2 targetPos) {\n return brushing_isPointInRange(sourcePos) || brushing_isPointInRange(targetPos);\n }\n\n void brushing_setVisible(bool visible) {\n brushing_isVisible = float(visible);\n }\n",fs:"\n uniform bool brushing_enabled;\n varying float brushing_isVisible;\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n vec2 brushingTarget;\n vec2 brushingSource;\n if (brushing_target == 3) {\n brushingTarget = geometry.worldPositionAlt.xy;\n brushingSource = geometry.worldPosition.xy;\n } else if (brushing_target == 0) {\n brushingTarget = geometry.worldPosition.xy;\n } else if (brushing_target == 1) {\n brushingTarget = geometry.worldPositionAlt.xy;\n } else {\n #ifdef NON_INSTANCED_MODEL\n brushingTarget = brushingTargets;\n #else\n brushingTarget = instanceBrushingTargets;\n #endif\n }\n bool visible;\n if (brushing_target == 3) {\n visible = brushing_arePointsInRange(brushingSource, brushingTarget);\n } else {\n visible = brushing_isPointInRange(brushingTarget);\n }\n brushing_setVisible(visible);\n ","fs:DECKGL_FILTER_COLOR":"\n if (brushing_enabled && brushing_isVisible < 0.5) {\n discard;\n }\n "},getUniforms:function(e){if(!e||!e.viewport)return{};var t=e.brushingEnabled,n=void 0===t||t,r=e.brushingRadius,i=void 0===r?1e4:r,o=e.brushingTarget,a=void 0===o?"source":o,s=e.mousePosition,u=e.viewport;return{brushing_enabled:Boolean(n&&s&&u.containsPixel(s)),brushing_radius:i,brushing_target:v[a]||0,brushing_mousePos:s?u.unproject([s.x-u.x,s.y-u.y]):[0,0]}}};function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var m=function(e){u()(n,e);var t=y(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(e){return{modules:[g]}}},{key:"initializeState",value:function(e,t){var n=this,r=this.getAttributeManager();r&&r.add({brushingTargets:{size:2,accessor:"getBrushingTarget",update:!this.props.getBrushingTarget&&t.useConstantTargetPositions,shaderAttributes:{brushingTargets:{divisor:0},instanceBrushingTargets:{divisor:1}}}}),t.onMouseMove=function(){n.getCurrentLayer().setNeedsRedraw()},this.context.deck&&this.context.deck.eventManager.on({pointermove:t.onMouseMove,pointerleave:t.onMouseMove})}},{key:"finalizeState",value:function(e){this.context.deck&&this.context.deck.eventManager.off({pointermove:e.onMouseMove,pointerleave:e.onMouseMove})}},{key:"useConstantTargetPositions",value:function(e){e.constant=!0,e.value=new Float32Array(2)}}]),n}(d.a);m.extensionName="BrushingExtension",m.defaultProps={getBrushingTarget:{type:"accessor",value:[0,0]},brushingTarget:"source",brushingEnabled:!0,brushingRadius:1e4};var b=n(0),_=n.n(b),O="\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n",w="\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n",x=function(e){if(!e||!e.extensions)return{};var t=e.filterRange,n=void 0===t?[-1,1]:t,r=e.filterEnabled,i=void 0===r||r,o=e.filterTransformSize,a=void 0===o||o,s=e.filterTransformColor,u=void 0===s||s,c=e.filterSoftRange||n,l=Number.isFinite(n[0])?{filter_min:n[0],filter_softMin:c[0],filter_softMax:c[1],filter_max:n[1]}:{filter_min:n.map((function(e){return e[0]})),filter_softMin:c.map((function(e){return e[0]})),filter_softMax:c.map((function(e){return e[1]})),filter_max:n.map((function(e){return e[1]}))};return l.filter_enabled=i,l.filter_useSoftMargin=Boolean(e.filterSoftRange),l.filter_transformSize=i&&a,l.filter_transformColor=i&&u,l},A={"vs:#main-start":"\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n ","vs:DECKGL_FILTER_SIZE":"\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n ","fs:DECKGL_FILTER_COLOR":"\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n "},P={name:"data-filter",vs:O,fs:w,inject:A,getUniforms:x},S={name:"data-filter-fp64",vs:O,fs:w,inject:A,getUniforms:function(e){if(!e||!e.extensions)return{};var t=x(e);if(Number.isFinite(t.filter_min)){var n=Math.fround(t.filter_min);t.filter_min-=n,t.filter_softMin-=n,t.filter_min64High=n;var r=Math.fround(t.filter_max);t.filter_max-=r,t.filter_softMax-=r,t.filter_max64High=r}else{var i=t.filter_min.map(Math.fround);t.filter_min=t.filter_min.map((function(e,t){return e-i[t]})),t.filter_softMin=t.filter_softMin.map((function(e,t){return e-i[t]})),t.filter_min64High=i;var o=t.filter_max.map(Math.fround);t.filter_max=t.filter_max.map((function(e,t){return e-o[t]})),t.filter_softMax=t.filter_softMax.map((function(e,t){return e-o[t]})),t.filter_max64High=o}return t}},k=n(81),C=n(105),j=n(10),E=n(179);function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function M(e,t,n){return t.defines.NON_INSTANCED_MODEL=1,n&&(t.defines.FLOAT_TARGET=1),new E.a(e,function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},r=e.filterSize,o=void 0===r?1:r,a=e.fp64,s=void 0!==a&&a,u=e.countItems,c=void 0!==u&&u;if(i()(this,n),!N[o])throw new Error("filterSize out of range");return t.call(this,{filterSize:o,fp64:s,countItems:c})}return a()(n,[{key:"getShaders",value:function(e){var t=e.opts,n=t.filterSize,r=t.fp64;return{modules:[r?S:P],defines:{DATAFILTER_TYPE:N[n],DATAFILTER_DOUBLE:Boolean(r)}}}},{key:"initializeState",value:function(e,t){var n=this.getAttributeManager();n&&n.add({filterValues:{size:t.opts.filterSize,type:t.opts.fp64?5130:5126,accessor:"getFilterValue",shaderAttributes:{filterValues:{divisor:0},instanceFilterValues:{divisor:1}}}});var r=this.context.gl;if(n&&t.opts.countItems){var i=function(e){return e.getExtension("EXT_float_blend")&&(e.getExtension("EXT_color_buffer_float")||e.getExtension("WEBGL_color_buffer_float"))}(r);n.add({filterIndices:{size:i?1:2,vertexOffset:1,type:5121,normalized:!0,accessor:function(e,t){var n=t.index,r=e&&e.__source?e.__source.index:n;return i?(r+1)%255:[(r+1)%255,Math.floor(r/255)%255]},shaderAttributes:{filterPrevIndices:{vertexOffset:0},filterIndices:{vertexOffset:1}}}});var o=function(e,t){return t?new k.a(e,{width:1,height:1,attachments:_()({},36064,new C.a(e,{format:Object(j.j)(e)?34836:6408,type:5126,mipmaps:!1}))}):new k.a(e,{width:256,height:64,depth:!1})}(r,i),a=M(r,t.getShaders(t),i);this.setState({filterFBO:o,filterModel:a})}}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps;if(this.state.filterModel){var r=this.getAttributeManager().attributes.filterValues.needsUpdate()||t.filterEnabled!==n.filterEnabled||t.filterRange!==n.filterRange||t.filterSoftRange!==n.filterSoftRange;r&&this.setState({filterNeedsUpdate:r})}}},{key:"draw",value:function(e,t){var n=this.state,r=n.filterFBO,i=n.filterModel,o=n.filterNeedsUpdate,a=this.props.onFilteredItemsChange;if(o&&a&&i){var s=this.getAttributeManager().attributes,u=s.filterValues,c=s.filterIndices;i.setVertexCount(this.getNumInstances());var l=this.context.gl;Object(I.a)(l,{framebuffer:r,color:[0,0,0,0]}),i.updateModuleSettings(e.moduleParameters).setAttributes(D(D({},u.getShaderAttributes()),c&&c.getShaderAttributes())).draw({framebuffer:r,parameters:D(D({},B),{},{viewport:[0,0,r.width,r.height]})});for(var f=Object(R.c)(r),h=0,d=0;d0&&void 0!==arguments[0]?arguments[0]:X;if(e.viewport){var t=e.viewport,n=t.viewProjectionMatrix,r=t.scale;return K({viewProjectionMatrix:n,scale:r})}return{}}},X={},K=Object(V.a)((function(e){var t=e.viewProjectionMatrix,n=e.scale,r=W(t),i=H(n);return{project_uViewProjectionMatrixFP64:r,project64_uViewProjectionMatrix:r,project64_uScale:i}}));function q(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var Z=function(e){u()(n,e);var t=q(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(e){var t=this.props.coordinateSystem;if(t!==z.a.LNGLAT&&t!==z.a.DEFAULT)throw new Error("fp64: coordinateSystem must be LNGLAT");return{modules:[J]}}}]),n}(d.a);Z.extensionName="Fp64Extension";var Y=n(153),Q={inject:{"vs:#decl":"\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n","vs:#main-end":"\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n","fs:#decl":"\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n","fs:#main-start":"\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(clamp(vPathPosition.y, 0.0, vPathLength) + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n"}},$={inject:{"vs:#decl":"\nattribute float instanceOffsets;\n","vs:DECKGL_FILTER_SIZE":"\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n","vCornerOffset = offsetVec;":"\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n vec2 offsetCenter = -instanceOffsets * (isCap ? perp : miterVec * miterSize) * 2.0;\n vCornerOffset = vCornerOffset * offsetWidth - offsetCenter;\n","fs:#main-start":"\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n"}},ee=n(27);function te(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var ne=function(e){u()(n,e);var t=te(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.dash,o=void 0!==r&&r,a=e.offset,s=void 0!==a&&a,u=e.highPrecisionDash,c=void 0!==u&&u;return i()(this,n),t.call(this,{dash:o||c,offset:s,highPrecisionDash:c})}return a()(n,[{key:"isEnabled",value:function(e){return e.state.pathTesselator}},{key:"getShaders",value:function(e){if(!e.isEnabled(this))return null;var t={};return e.opts.dash&&(t=Object(Y.a)(t,Q)),e.opts.offset&&(t=Object(Y.a)(t,$)),t}},{key:"initializeState",value:function(e,t){var n=this.getAttributeManager();n&&t.isEnabled(this)&&(t.enabled=!0,t.opts.dash&&n.addInstanced({instanceDashArrays:{size:2,accessor:"getDashArray"}}),t.opts.highPrecisionDash&&n.addInstanced({instanceDashOffsets:{size:1,accessor:"getPath",transform:t.getDashOffsets.bind(this)}}),t.opts.offset&&n.addInstanced({instanceOffsets:{size:1,accessor:"getOffset"}}))}},{key:"updateState",value:function(e,t){if(t.isEnabled(this)){var n={};t.opts.dash&&(n.dashAlignMode=this.props.dashJustified?1:0,n.dashGapPickable=Boolean(this.props.dashGapPickable)),this.state.model.setUniforms(n)}}},{key:"getDashOffsets",value:function(e){for(var t,n,r=[0],i="XY"===this.props.positionFormat?2:3,o=Array.isArray(e[0]),a=o?e.length:e.length/i,s=0;s0&&(r[s]=r[s-1]+Object(ee.e)(n,t)),n=t;return r}}]),n}(d.a);ne.extensionName="PathStyleExtension",ne.defaultProps={getDashArray:{type:"accessor",value:[0,0]},getOffset:{type:"accessor",value:0},dashJustified:!1,dashGapPickable:!1};var re=n(8),ie=n.n(re),oe=n(4),ae=n.n(oe);var se,ue={name:"fill-pattern",vs:"\n#ifdef NON_INSTANCED_MODEL\n #define FILL_PATTERN_FRAME_ATTRIB fillPatternFrames\n #define FILL_PATTERN_SCALE_ATTRIB fillPatternScales\n #define FILL_PATTERN_OFFSET_ATTRIB fillPatternOffsets\n#else\n #define FILL_PATTERN_FRAME_ATTRIB instanceFillPatternFrames\n #define FILL_PATTERN_SCALE_ATTRIB instanceFillPatternScales\n #define FILL_PATTERN_OFFSET_ATTRIB instanceFillPatternOffsets\n#endif\n\nattribute vec4 FILL_PATTERN_FRAME_ATTRIB;\nattribute float FILL_PATTERN_SCALE_ATTRIB;\nattribute vec2 FILL_PATTERN_OFFSET_ATTRIB;\n\nuniform bool fill_patternEnabled;\nuniform vec2 fill_patternTextureSize;\n\nvarying vec2 fill_uv;\nvarying vec4 fill_patternBounds;\nvarying vec3 fill_patternPlacement;\n",fs:"\nuniform bool fill_patternEnabled;\nuniform bool fill_patternMask;\nuniform sampler2D fill_patternTexture;\nuniform vec2 fill_uvCoordinateOrigin;\n\nvarying vec4 fill_patternBounds;\nvarying vec3 fill_patternPlacement;\nvarying vec2 fill_uv;\n\nconst float FILL_UV_SCALE = 512.0 / 40000000.0;\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n fill_uv = geometry.position.xy;\n ","vs:DECKGL_FILTER_COLOR":"\n if (fill_patternEnabled) {\n fill_patternBounds = FILL_PATTERN_FRAME_ATTRIB / vec4(fill_patternTextureSize, fill_patternTextureSize);\n fill_patternPlacement.xy = FILL_PATTERN_OFFSET_ATTRIB;\n fill_patternPlacement.z = FILL_PATTERN_SCALE_ATTRIB * FILL_PATTERN_FRAME_ATTRIB.w;\n }\n ","fs:DECKGL_FILTER_COLOR":"\n if (fill_patternEnabled) {\n float scale = FILL_UV_SCALE * fill_patternPlacement.z;\n vec2 patternUV = mod(mod(fill_uvCoordinateOrigin, scale) + fill_uv, scale) / scale;\n patternUV = mod(fill_patternPlacement.xy + patternUV, 1.0);\n\n vec2 texCoords = fill_patternBounds.xy + fill_patternBounds.zw * patternUV;\n\n vec4 patternColor = texture2D(fill_patternTexture, texCoords);\n color.a *= patternColor.a;\n if (!fill_patternMask) {\n color.rgb = patternColor.rgb;\n }\n }\n "},dependencies:[p.a],getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if("fillPatternTexture"in e){var n=e.fillPatternTexture;return{fill_patternTexture:n,fill_patternTextureSize:[n.width,n.height]}}if(e.viewport){var r=e.viewport,i=e.fillPatternMask,o=void 0===i||i,a=e.fillPatternEnabled,s=void 0===a||a,u=t.project_uCoordinateOrigin,c=t.project_uCoordinateSystem,l=c===z.a.CARTESIAN?u:r.projectPosition(u);return{fill_uvCoordinateOrigin:l.slice(0,2),fill_patternMask:o,fill_patternEnabled:s}}return{}}};function ce(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var le=(se={},_()(se,10241,9729),_()(se,10240,9729),_()(se,10242,33071),_()(se,10243,33071),se),fe=function(e){u()(o,e);var t,n,r=ce(o);function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.pattern,n=void 0!==t&&t;return i()(this,o),r.call(this,{pattern:n})}return a()(o,[{key:"isEnabled",value:function(e){return e.getAttributeManager()&&!e.state.pathTesselator}},{key:"getShaders",value:function(e){return e.isEnabled(this)?{modules:[e.opts.pattern&&ue].filter(Boolean)}:null}},{key:"initializeState",value:function(e,t){if(t.isEnabled(this)){var n=this.getAttributeManager();t.opts.pattern&&n.add({fillPatternFrames:{size:4,accessor:"getFillPattern",transform:t.getPatternFrame.bind(this),shaderAttributes:{fillPatternFrames:{divisor:0},instanceFillPatternFrames:{divisor:1}}},fillPatternScales:{size:1,accessor:"getFillPatternScale",defaultValue:1,shaderAttributes:{fillPatternScales:{divisor:0},instanceFillPatternScales:{divisor:1}}},fillPatternOffsets:{size:2,accessor:"getFillPatternOffset",shaderAttributes:{fillPatternOffsets:{divisor:0},instanceFillPatternOffsets:{divisor:1}}}}),this.setState({emptyTexture:new C.a(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}}},{key:"updateState",value:function(e,t){var n=e.props,r=e.oldProps;t.isEnabled(this)&&(n.fillPatternAtlas&&n.fillPatternAtlas!==r.fillPatternAtlas&&t.loadPatternAtlas.call(this,n),n.fillPatternMapping&&n.fillPatternMapping!==r.fillPatternMapping&&t.loadPatternMapping.call(this,n))}},{key:"draw",value:function(e,t){if(t.isEnabled(this)){var n=this.state.patternTexture;this.setModuleParameters({fillPatternTexture:n||this.state.emptyTexture})}}},{key:"finalizeState",value:function(){var e=this.state,t=e.patternTexture,n=e.emptyTexture;null==t||t.delete(),null==n||n.delete()}},{key:"loadPatternAtlas",value:(n=ie()(ae.a.mark((function e(t){var n,r,i,o,a;return ae.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.fillPatternAtlas,i=t.fetch,null===(n=this.state.patternTexture)||void 0===n||n.delete(),this.setState({patternTexture:null}),"string"!=typeof(o=r)){e.next=8;break}return e.next=7,i(o,{propName:"fillPatternAtlas",layer:this});case 7:o=e.sent;case 8:a=o instanceof C.a?o:new C.a(this.context.gl,{data:o,parameters:le}),this.setState({patternTexture:a});case 10:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"loadPatternMapping",value:(t=ie()(ae.a.mark((function e(t){var n,r,i;return ae.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.fillPatternMapping,r=t.fetch,this.setState({patternMapping:null}),"string"!=typeof(i=n)){e.next=7;break}return e.next=6,r(i,{propName:"fillPatternMapping",layer:this});case 6:i=e.sent;case 7:this.setState({patternMapping:i}),this.getAttributeManager().invalidate("getFillPattern"),this.setNeedsUpdate();case 10:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"getPatternFrame",value:function(e){var t=this.state.patternMapping,n=t&&t[e];return n?[n.x,n.y,n.width,n.height]:[0,0,0,0]}}]),o}(d.a);fe.extensionName="FillStyleExtension",fe.defaultProps={fillPatternEnabled:!0,fillPatternAtlas:null,fillPatternMapping:null,fillPatternMask:!0,getFillPattern:{type:"accessor",value:function(e){return e.pattern}},getFillPatternScale:{type:"accessor",value:1},getFillPatternOffset:{type:"accessor",value:[0,0]}};var he=n(221),de=n(22),pe={name:"mask",dependencies:[p.a],vs:"\nuniform vec4 mask_bounds;\nuniform bool mask_maskByInstance;\nvec2 mask_getCoords(vec4 position) {\n return (position.xy - mask_bounds.xy) / (mask_bounds.zw - mask_bounds.xy);\n}\n",fs:"\nuniform sampler2D mask_texture;\nuniform int mask_channel;\nuniform bool mask_enabled;\nbool mask_isInBounds(vec2 texCoords) {\n if (!mask_enabled) {\n return true;\n }\n vec4 maskColor = texture2D(mask_texture, texCoords);\n float maskValue = 1.0;\n if (mask_channel == 0) {\n maskValue = maskColor.r;\n } else if (mask_channel == 1) {\n maskValue = maskColor.g;\n } else if (mask_channel == 2) {\n maskValue = maskColor.b;\n } else if (mask_channel == 3) {\n maskValue = maskColor.a;\n }\n return maskValue < 0.5;\n}\n",inject:{"vs:#decl":"\nvarying vec2 mask_texCoords;\n","vs:#main-end":"\n vec4 mask_common_position;\n if (mask_maskByInstance) {\n mask_common_position = project_position(vec4(geometry.worldPosition, 1.0));\n } else {\n mask_common_position = geometry.position;\n }\n mask_texCoords = mask_getCoords(mask_common_position);\n","fs:#decl":"\nvarying vec2 mask_texCoords;\n","fs:#main-start":"\n if (mask_enabled) {\n bool mask = mask_isInBounds(mask_texCoords);\n\n // Debug: show extent of render target\n // gl_FragColor = vec4(mask_texCoords, 0.0, 1.0);\n gl_FragColor = texture2D(mask_texture, mask_texCoords);\n\n if (!mask) discard;\n }\n"},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};return e.maskMap&&(t.mask_texture=e.maskMap),t}};function ve(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}var ge=function(e){u()(n,e);var t=ve(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(){var e="instancePositions"in this.getAttributeManager().attributes;return"maskByInstance"in this.props&&(e=this.props.maskByInstance),this.state.maskByInstance=e,{modules:[pe]}}},{key:"draw",value:function(e){var t=e.uniforms,n=e.context,r=e.moduleParameters;t.mask_maskByInstance=this.state.maskByInstance;var i=this.props.maskId,o=r.maskChannels,a=n.viewport;if(o&&o[i]){var s=o[i],u=s.index,c=s.bounds,l=s.coordinateOrigin,f=o[i].coordinateSystem;t.mask_enabled=!0,t.mask_channel=u,f===z.a.DEFAULT&&(f=a.isGeospatial?z.a.LNGLAT:z.a.CARTESIAN);var h={modelMatrix:null,fromCoordinateOrigin:l,fromCoordinateSystem:f},d=this.projectPosition([c[0],c[1],0],h),p=this.projectPosition([c[2],c[3],0],h);t.mask_bounds=[d[0],d[1],p[0],p[1]]}else i&&de.a.warn("Could not find a mask layer with id: ".concat(i))(),t.mask_enabled=!1}}]),n}(d.a);ge.extensionName="MaskExtension",ge.defaultProps={maskId:""},n.d(t,"BrushingExtension",(function(){return m})),n.d(t,"DataFilterExtension",(function(){return U})),n.d(t,"Fp64Extension",(function(){return Z})),n.d(t,"PathStyleExtension",(function(){return ne})),n.d(t,"FillStyleExtension",(function(){return fe})),n.d(t,"ClipExtension",(function(){return he.a})),n.d(t,"MaskExtension",(function(){return ge})),n.d(t,"project64",(function(){return J}))},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(12),m=n.n(y),b=n(215),_=n(235),O=n(22),w=n(155),x=n(10),A=n(330),P=n(74),S=n(85),k=n(54),C=n(13),j=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a()(this,e);var n=t.id;this.id=n||Object(k.c)(this.constructor.name),this.display=!0,this.position=new P.a,this.rotation=new P.a,this.scale=new P.a(1,1,1),this.matrix=new S.a,this.userData={},this.props={},this._setScenegraphNodeProps(t)}return u()(e,[{key:"delete",value:function(){}},{key:"setProps",value:function(e){return this._setScenegraphNodeProps(e),this}},{key:"toString",value:function(){return"{type: ScenegraphNode, id: ".concat(this.id,")}")}},{key:"setPosition",value:function(e){return Object(C.a)(3===e.length,"setPosition requires vector argument"),this.position=e,this}},{key:"setRotation",value:function(e){return Object(C.a)(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}},{key:"setScale",value:function(e){return Object(C.a)(3===e.length,"setScale requires vector argument"),this.scale=e,this}},{key:"setMatrix",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t?this.matrix.copy(e):this.matrix=e}},{key:"setMatrixComponents",value:function(e){var t=e.position,n=e.rotation,r=e.scale,i=e.update,o=void 0===i||i;return t&&this.setPosition(t),n&&this.setRotation(n),r&&this.setScale(r),o&&this.updateMatrix(),this}},{key:"updateMatrix",value:function(){var e=this.position,t=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(n),this}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.position,n=e.rotation,r=e.scale;return t&&this.setPosition(t),n&&this.setRotation(n),r&&this.setScale(r),this.updateMatrix(),this}},{key:"getCoordinateUniforms",value:function(e,t){Object(C.a)(e),t=t||this.matrix;var n=new S.a(e).multiplyRight(t),r=n.invert(),i=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:n,worldInverseMatrix:r,worldInverseTransposeMatrix:i}}},{key:"_setScenegraphNodeProps",value:function(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}]),e}(),E=n(37),T=n(73),M=n(16),B=n.n(M);function I(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return R(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};a()(this,n);var i=r=Array.isArray(r)?{children:r}:r,o=i.children,s=void 0===o?[]:o;return x.k.assert(s.every((function(e){return e instanceof j})),"every child must an instance of ScenegraphNode"),(e=t.call(this,r)).children=s,e}return u()(n,[{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n-1&&t.splice(n,1),this}},{key:"removeAll",value:function(){return this.children=[],this}},{key:"delete",value:function(){this.children.forEach((function(e){return e.delete()})),this.removeAll(),l()(g()(n.prototype),"delete",this).call(this)}},{key:"traverse",value:function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.worldMatrix,o=void 0===i?new S.a:i,a=new S.a(o).multiplyRight(this.matrix),s=I(this.children);try{for(s.s();!(t=s.n()).done;){var u=t.value;u instanceof n?u.traverse(e,{worldMatrix:a}):e(u,{worldMatrix:a})}}catch(e){s.e(e)}finally{s.f()}}}]),n}(j),F=n(236),N={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},U={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function z(e){if(!e._animation){var t=U[e.componentType],n=N[e.type],r=n*e.count,i=e.bufferView.data,o=new t(i.buffer,i.byteOffset+(e.byteOffset||0),r);if(1===n)e._animation=Array.from(o);else{for(var a=[],s=0;s=s})),c=Math.max(0,u-1);if(!Array.isArray(n[r]))switch(r){case"translation":n[r]=[0,0,0];break;case"rotation":n[r]=[0,0,0,1];break;case"scale":n[r]=[1,1,1];break;default:x.k.warn("Bad animation path ".concat(r))()}Object(C.a)(n[r].length===a[c].length);var l=i[c],f=i[u];switch(o){case"STEP":!function(e,t,n){for(var r=0;rl){var h=(s-l)/(f-l);!function(e,t,n,r,i){if("rotation"===t){V.slerp({start:n,target:r,ratio:i});for(var o=0;ol){var d=(s-l)/(f-l),p=f-l;!function(e,t,n){for(var r=n.p0,i=n.outTangent0,o=n.inTangent1,a=n.p1,s=n.tDiff,u=n.ratio,c=0;c1&&void 0!==arguments[1]?arguments[1]:{};return a()(this,n),(r=t.call(this,i)).onBeforeRender=null,r.AfterRender=null,e instanceof X.a?(r.model=e,r._setModelNodeProps(i)):r.model=new X.a(e,i),r.managedResources=i.managedResources||[],r}return u()(n,[{key:"setProps",value:function(e){return l()(g()(n.prototype),"setProps",this).call(this,e),this._setModelNodeProps(e),this}},{key:"delete",value:function(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach((function(e){return e.delete()})),this.managedResources=[]}},{key:"draw",value:function(){var e;return(e=this.model).draw.apply(e,arguments)}},{key:"setUniforms",value:function(){var e;return(e=this.model).setUniforms.apply(e,arguments),this}},{key:"setAttributes",value:function(){var e;return(e=this.model).setAttributes.apply(e,arguments),this}},{key:"updateModuleSettings",value:function(){var e;return(e=this.model).updateModuleSettings.apply(e,arguments),this}},{key:"_setModelNodeProps",value:function(e){this.model.setProps(e)}}]),n}(j),Z=n(252);function Y(e,t){return Object(x.j)(e)?"#version 300 es\n".concat(t):t}var Q={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},$={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1},ee=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a()(this,e),this.gl=t,this.options=Object.assign({},$,n)}return u()(e,[{key:"instantiate",value:function(e){var t=this;return this.gltf=e,(e.scenes||[]).map((function(e){return t.createScene(e)}))}},{key:"createAnimator",value:function(){return Array.isArray(this.gltf.animations)?new J(this.gltf):null}},{key:"createScene",value:function(e){var t=this,n=(e.nodes||[]).map((function(e){return t.createNode(e)}));return new D({id:e.name||e.id,children:n})}},{key:"createNode",value:function(e){var t=this;if(!e._node){var n=(e.children||[]).map((function(e){return t.createNode(e)}));e.mesh&&n.push(this.createMesh(e.mesh));var r=new D({id:e.name||e.id,children:n});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){var i=(new S.a).fromQuaternion(e.rotation);r.matrix.multiplyRight(i)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}},{key:"createMesh",value:function(e){var t=this;if(!e._mesh){var n=(e.primitives||[]).map((function(n,r){return t.createPrimitive(n,r,e)})),r=new D({id:e.name||e.id,children:n});e._mesh=r}return e._mesh}},{key:"getVertexCount",value:function(e){x.k.warn("getVertexCount() not found")()}},{key:"createPrimitive",value:function(e,t,n){return function(e,t){var n=t.id,r=t.drawMode,i=t.vertexCount,o=t.attributes,a=t.modelOptions,s=new Z.a(e,t);x.k.info(4,"createGLTFModel defines: ",s.defines)();var u=[];u.push.apply(u,B()(s.generatedTextures)),u.push.apply(u,B()(Object.values(o).map((function(e){return e.buffer}))));var c=new q(e,Object.assign({id:n,drawMode:r,vertexCount:i,modules:[A.a],defines:s.defines,parameters:s.parameters,vs:Y(e,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:Y(e,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:u},a));return c.setProps({attributes:o}),c.setUniforms(s.uniforms),c}(this.gl,Object.assign({id:e.name||"".concat(n.name||n.id,"-primitive-").concat(t),drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}},{key:"createAttributes",value:function(e,t){var n=this,r={};return Object.keys(e).forEach((function(t){r[t]=n.createAccessor(e[t],n.createBuffer(e[t],n.gl.ARRAY_BUFFER))})),t&&(r.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),x.k.info(4,"glTF Attributes",{attributes:e,indices:t,generated:r})(),r}},{key:"createBuffer",value:function(e,t){e.bufferView||(e.bufferView={});var n=e.bufferView;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[t]||(n.lumaBuffers[t]=new E.a(this.gl,{id:"from-".concat(n.id),data:n.data||e.value,target:t})),n.lumaBuffers[t]}},{key:"createAccessor",value:function(e,t){return new T.a({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Q[e.type]})}},{key:"createSampler",value:function(e){return e}},{key:"needsPOT",value:function(){return!1}}]),e}();var te=n(324),ne=n(8),re=n.n(ne),ie=n(4),oe=n.n(ie);function ae(){return(ae=re()(oe.a.mark((function e(t){var n;return oe.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=[],t.scenes.forEach((function(e){e.traverse((function(e){Object.values(e.model.getUniforms()).forEach((function(e){!1===e.loaded&&n.push(e)}))}))})),e.next=4,se((function(){return n.some((function(e){return!e.loaded}))}));case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function se(e){return ue.apply(this,arguments)}function ue(){return(ue=re()(oe.a.mark((function e(t){return oe.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t()){e.next=5;break}return e.next=3,new Promise((function(e){return requestAnimationFrame(e)}));case 3:e.next=0;break;case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ce=n(124);function le(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fe(e){for(var t=1;t=0&&i2&&void 0!==arguments[2]?arguments[2]:{},r={pointFeatures:[],lineFeatures:[],polygonFeatures:[],polygonOutlineFeatures:[]},i=n.startRow,o=void 0===i?0:i,a=n.endRow,s=void 0===a?e.length:a,u=o;u0;)t=t[0];return t&&Number.isFinite(t[0])}(o,a))switch(o){case"Point":s.push(n({geometry:e},r,i));break;case"MultiPoint":a.forEach((function(e){s.push(n({geometry:{type:"Point",coordinates:e}},r,i))}));break;case"LineString":u.push(n({geometry:e},r,i));break;case"MultiLineString":a.forEach((function(e){u.push(n({geometry:{type:"LineString",coordinates:e}},r,i))}));break;case"Polygon":c.push(n({geometry:e},r,i)),a.forEach((function(e){l.push(n({geometry:{type:"LineString",coordinates:e}},r,i))}));break;case"MultiPolygon":a.forEach((function(e){c.push(n({geometry:{type:"Polygon",coordinates:e}},r,i)),e.forEach((function(e){l.push(n({geometry:{type:"LineString",coordinates:e}},r,i))}))}))}else b.a.warn("".concat(o," coordinates are malformed"))()}var D={Point:1,MultiPoint:2,LineString:2,MultiLineString:3,Polygon:3,MultiPolygon:4};function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function N(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0&&o.id.startsWith("".concat(this.id,"-points-text"))&&this.state.binary&&(r.index=this.props.data.points.globalFeatureIds.value[i]),r}},{key:"_updateAutoHighlight",value:function(e){var t,n="".concat(this.id,"-points-"),r="points"===e.featureType,i=V(this.getSubLayers());try{for(i.s();!(t=i.n()).done;){var o=t.value;o.id.startsWith(n)===r&&o.updateAutoHighlight(e)}}catch(e){i.e(e)}finally{i.f()}}},{key:"_renderPolygonLayer",value:function(){var e=this.props,t=e.extruded,n=e.wireframe,r=this.state.layerProps,i="polygons-fill",o=this.shouldRenderSubLayer(i,r.polygons.data)&&this.getSubLayerClass(i,M.type);if(o){var a=I(this,M.props),s=t&&n;return s||delete a.getLineColor,a.updateTriggers.lineColors=s,new o(a,this.getSubLayerProps({id:i,updateTriggers:a.updateTriggers}),r.polygons)}return null}},{key:"_renderLineLayers",value:function(){var e=this.props,t=e.extruded,n=e.stroked,r=this.state.layerProps,i=!t&&n&&this.shouldRenderSubLayer("polygons-stroke",r.polygonsOutline.data)&&this.getSubLayerClass("polygons-stroke",T.type),o=this.shouldRenderSubLayer("linestrings",r.lines.data)&&this.getSubLayerClass("linestrings",T.type);if(i||o){var a=I(this,T.props);return[i&&new i(a,this.getSubLayerProps({id:"polygons-stroke",updateTriggers:a.updateTriggers}),r.polygonsOutline),o&&new o(a,this.getSubLayerProps({id:"linestrings",updateTriggers:a.updateTriggers}),r.lines)]}return null}},{key:"_renderPointLayers",value:function(){var e=this.props.pointType,t=this.state,n=t.layerProps,r=t.binary,o=this.props.highlightedObjectIndex;!r&&Number.isFinite(o)&&(o=n.points.data.findIndex((function(e){return e.__source.index===o})));var a,s=[],u=V(new Set(e.split("+")));try{for(u.s();!(a=u.n()).done;){var c=a.value,l="points-".concat(c),f=E[c],h=f&&this.shouldRenderSubLayer(l,n.points.data)&&this.getSubLayerClass(l,f.type);if(h){var d=I(this,f.props),p=n.points;if("text"===c&&this.state.binary){var v=p.data.attributes,g=(v.instancePickingColors,i()(v,G));p=X(X({},p),{},{data:X(X({},p.data),{},{attributes:g})})}s.push(new h(d,this.getSubLayerProps({id:l,updateTriggers:d.updateTriggers,highlightedObjectIndex:o}),p))}}}catch(e){u.e(e)}finally{u.f()}return s}},{key:"renderLayers",value:function(){var e=this.props.extruded,t=this._renderPolygonLayer();return[!e&&t,this._renderLineLayers(),this._renderPointLayers(),e&&t]}},{key:"getSubLayerAccessor",value:function(e){return this.state.binary&&"function"==typeof e?function(t,n){var r=A(n.data,n.index);return e(r,n)}:l()(g()(n.prototype),"getSubLayerAccessor",this).call(this,e)}}]),n}(_.a);Z.layerName="GeoJsonLayer",Z.defaultProps=q},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(235),b=n(18),_=n(155),O=n(179),w=n(70);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[y.a,m.a]})}},{key:"wrapLongitude",get:function(){return!1}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instanceSourcePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getSourcePosition"},instanceTargetPositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getTargetPosition"},instanceSourceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getSourceColor",defaultValue:S},instanceTargetColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getTargetColor",defaultValue:S},instanceWidths:{size:1,transition:!0,accessor:"getWidth",defaultValue:1},instanceHeights:{size:1,transition:!0,accessor:"getHeight",defaultValue:1},instanceTilts:{size:1,transition:!0,accessor:"getTilt",defaultValue:0}})}},{key:"updateState",value:function(e){var t=e.props,r=e.oldProps,i=e.changeFlags;if(l()(g()(n.prototype),"updateState",this).call(this,{props:t,oldProps:r,changeFlags:i}),i.extensionsChanged){var o,a=this.context.gl;null===(o=this.state.model)||void 0===o||o.delete(),this.state.model=this._getModel(a),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.widthUnits,i=n.widthScale,o=n.widthMinPixels,a=n.widthMaxPixels,s=n.greatCircle,u=n.wrapLongitude;this.state.model.setUniforms(t).setUniforms({greatCircle:s,widthUnits:b.e[r],widthScale:i,widthMinPixels:o,widthMaxPixels:a,useShortestPath:u}).draw()}},{key:"_getModel",value:function(e){for(var t=[],n=0;n<50;n++)t=t.concat([n,1,0,n,-1,0]);var r=new O.a(e,A(A({},this.getShaders()),{},{id:this.props.id,geometry:new w.a({drawMode:5,attributes:{positions:new Float32Array(t)}}),isInstanced:!0}));return r.setUniforms({numSegments:50}),r}}]),n}(_.a);C.layerName="ArcLayer",C.defaultProps=k},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(235),b=n(18),_=n(155),O=n(179),w=n(70);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t 0.5 || useShortestPath < -0.5) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n float deltaLng = target_world.x - source_world.x;\n\n if (deltaLng * useShortestPath > 180.) {\n source_world.x += 360. * useShortestPath;\n source_world = splitLine(source_world, target_world, 180. * useShortestPath);\n source_world_64low = vec3(0.0);\n } else if (deltaLng * useShortestPath < -180.) {\n target_world.x += 360. * useShortestPath;\n target_world = splitLine(source_world, target_world, 180. * useShortestPath);\n target_world_64low = vec3(0.0);\n } else if (useShortestPath < 0.) {\n gl_Position = vec4(0.);\n return;\n }\n }\n vec4 source_commonspace;\n vec4 target_commonspace;\n vec4 source = project_position_to_clipspace(source_world, source_world_64low, vec3(0.), source_commonspace);\n vec4 target = project_position_to_clipspace(target_world, target_world_64low, vec3(0.), target_commonspace);\n float segmentIndex = positions.x;\n vec4 p = mix(source, target, segmentIndex);\n geometry.position = mix(source_commonspace, target_commonspace, segmentIndex);\n uv = positions.xy;\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset(target.xy - source.xy, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = p + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#define SHADER_NAME line-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[y.a,m.a]})}},{key:"wrapLongitude",get:function(){return!1}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instanceSourcePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getSourcePosition"},instanceTargetPositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getTargetPosition"},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceWidths:{size:1,transition:!0,accessor:"getWidth",defaultValue:1}})}},{key:"updateState",value:function(e){var t=e.props,r=e.oldProps,i=e.changeFlags;if(l()(g()(n.prototype),"updateState",this).call(this,{props:t,oldProps:r,changeFlags:i}),i.extensionsChanged){var o,a=this.context.gl;null===(o=this.state.model)||void 0===o||o.delete(),this.state.model=this._getModel(a),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.widthUnits,i=n.widthScale,o=n.widthMinPixels,a=n.widthMaxPixels,s=n.wrapLongitude;this.state.model.setUniforms(t).setUniforms({widthUnits:b.e[r],widthScale:i,widthMinPixels:o,widthMaxPixels:a,useShortestPath:s?1:0}).draw(),s&&this.state.model.setUniforms({useShortestPath:-1}).draw()}},{key:"_getModel",value:function(e){return new O.a(e,A(A({},this.getShaders()),{},{id:this.props.id,geometry:new w.a({drawMode:5,attributes:{positions:new Float32Array([0,-1,0,0,1,0,1,-1,0,1,1,0])}}),isInstanced:!0}))}}]),n}(_.a);k.layerName="LineLayer",k.defaultProps=S},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(215),m=n(237),b=n(235),_=n(18),O=n(155),w=n(179),x=n(70);function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function P(e){for(var t=1;t 1.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[y.a,m.a,b.a]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceNormals:{size:3,transition:!0,accessor:"getNormal",defaultValue:C},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:k}})}},{key:"updateState",value:function(e){var t,r,i,o=e.props,a=e.oldProps,s=e.changeFlags;if(l()(g()(n.prototype),"updateState",this).call(this,{props:o,oldProps:a,changeFlags:s}),s.extensionsChanged){var u,c=this.context.gl;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(c),this.getAttributeManager().invalidateAll()}s.dataChanged&&(t=o.data,r=t.header,i=t.attributes,r&&i&&(t.length=r.vertexCount,i.POSITION&&(i.instancePositions=i.POSITION),i.NORMAL&&(i.instanceNormals=i.NORMAL),i.COLOR_0&&(i.instanceColors=i.COLOR_0)))}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.pointSize,i=n.sizeUnits;this.state.model.setUniforms(t).setUniforms({sizeUnits:_.e[i],radiusPixels:r}).draw()}},{key:"_getModel",value:function(e){for(var t=[],n=0;n<3;n++){var r=n/3*Math.PI*2;t.push(2*Math.cos(r),2*Math.sin(r),0)}return new w.a(e,P(P({},this.getShaders()),{},{id:this.props.id,geometry:new x.a({drawMode:4,attributes:{positions:new Float32Array(t)}}),isInstanced:!0}))}}]),n}(O.a);E.layerName="PointCloudLayer",E.defaultProps=j},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(22),m=n(215),b=n(237),_=n(235),O=n(155),w=n(70),x=n(10),A=n(105),P=n(179),S=n(253),k=n(182),C=n(124);function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o,t={};if(void 0!==e.pickingSelectedColor)if(e.pickingSelectedColor){var n=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=n}else t.picking_uSelectedColorValid=0;if(e.pickingHighlightColor){var r=Array.from(e.pickingHighlightColor,(function(e){return e/255}));Number.isFinite(r[3])||(r[3]=1),t.picking_uHighlightColor=r}return void 0!==e.pickingActive&&(t.picking_uActive=Boolean(e.pickingActive),t.picking_uAttribute=Boolean(e.pickingAttribute)),t}};function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}t.a=function(e){for(var t=1;tg.b?(i=Math.acos(o),a=Math.sin(i),s=Math.sin((1-r)*i)/a,u=Math.sin(r*i)/a):(s=1-r,u=r),e[0]=s*c+u*d,e[1]=s*l+u*p,e[2]=s*f+u*v,e[3]=s*h+u*y,e}function A(e,t){var n,r=t[0]+t[4]+t[8];if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[3*i+i]&&(i=2);var o=(i+1)%3,a=(i+2)%3;n=Math.sqrt(t[3*i+i]-t[3*o+o]-t[3*a+a]+1),e[i]=.5*n,n=.5/n,e[3]=(t[3*o+a]-t[3*a+o])*n,e[o]=(t[3*o+i]+t[3*i+o])*n,e[a]=(t[3*a+i]+t[3*i+a])*n}return e}b.b,b.g,b.c,b.l;var P,S,k,C,j,E,T=b.a,M=b.k,B=b.d,I=b.i,R=b.h,L=b.m,D=b.j,F=(b.f,b.e,P=m.c(),S=m.g(1,0,0),k=m.g(0,1,0),function(e,t,n){var r=m.f(t,n);return r<-.999999?(m.d(P,S,t),m.h(P)<1e-6&&m.d(P,k,t),m.m(P,P),O(e,P,Math.PI),e):r>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):(m.d(P,t,n),e[0]=P[0],e[1]=P[1],e[2]=P[2],e[3]=1+r,D(e,e))});C=_(),j=_(),E=y.a();function N(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var i=h()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l()(this,n)}}n.d(t,"a",(function(){return z}));var U=[0,0,0,1],z=function(e){u()(n,e);var t=N(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return i()(this,n),e=t.call(this,-0,-0,-0,-0),Array.isArray(r)&&1===arguments.length?e.copy(r):e.set(r,o,a,s),e}return a()(n,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,n,r){return this[0]=e,this[1]=t,this[2]=n,this[3]=r,this.check()}},{key:"fromMatrix3",value:function(e){return A(this,e),this.check()}},{key:"identity",value:function(){var e;return(e=this)[0]=0,e[1]=0,e[2]=0,e[3]=1,this.check()}},{key:"fromAxisRotation",value:function(e,t){return O(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=Object(p.a)(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=Object(p.a)(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=Object(p.a)(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=Object(p.a)(e)}},{key:"len",value:function(){return R(this)}},{key:"lengthSquared",value:function(){return L(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return B(this,e)}},{key:"rotationTo",value:function(e,t){return F(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return T(this,this,e),this.check()}},{key:"calculateW",value:function(){var e,t,n,r,i;return e=this,n=(t=this)[0],r=t[1],i=t[2],e[0]=n,e[1]=r,e[2]=i,e[3]=Math.sqrt(Math.abs(1-n*n-r*r-i*i)),this.check()}},{key:"conjugate",value:function(){var e,t;return t=this,(e=this)[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],this.check()}},{key:"invert",value:function(){var e,t,n,r,i,o,a,s;return e=this,n=(t=this)[0],r=t[1],i=t[2],o=t[3],s=(a=n*n+r*r+i*i+o*o)?1/a:0,e[0]=-n*s,e[1]=-r*s,e[2]=-i*s,e[3]=o*s,this.check()}},{key:"lerp",value:function(e,t,n){return I(this,e,t,n),this.check()}},{key:"multiplyRight",value:function(e,t){return Object(v.a)(!t),w(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return Object(v.a)(!t),w(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return function(e,t,n){n*=.5;var r=t[0],i=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);e[0]=r*u+a*s,e[1]=i*u+o*s,e[2]=o*u-i*s,e[3]=a*u-r*s}(this,this,e),this.check()}},{key:"rotateY",value:function(e){return function(e,t,n){n*=.5;var r=t[0],i=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);e[0]=r*u-o*s,e[1]=i*u+a*s,e[2]=o*u+r*s,e[3]=a*u-i*s}(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return function(e,t,n){n*=.5;var r=t[0],i=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);e[0]=r*u+i*s,e[1]=i*u-r*s,e[2]=o*u+a*s,e[3]=a*u-o*s}(this,this,e),this.check()}},{key:"scale",value:function(e){return M(this,this,e),this.check()}},{key:"slerp",value:function(e,t,n){switch(arguments.length){case 1:var r=arguments[0],i=r.start;e=void 0===i?U:i,t=r.target,n=r.ratio;break;case 2:var o=Array.prototype.slice.call(arguments);t=o[0],n=o[1],e=this}return x(this,e,t,n),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return b.o(t,e,this),Object(p.b)(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}}]),n}(d.a)},function(e,t,n){"use strict";var r=n(136),i="\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return c}));var o={};function a(e){var t=e.ambient,n=void 0===t?.35:t,r=e.diffuse,i=void 0===r?.6:r,o=e.shininess,a=void 0===o?32:o,s=e.specularColor;return{lighting_uAmbient:n,lighting_uDiffuse:i,lighting_uShininess:a,lighting_uSpecularColor:(void 0===s?[30,30,30]:s).map((function(e){return e/255}))}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o;if(!("material"in e))return{};var t=e.material;return t?a(t):{lighting_uEnabled:!1}}var u={name:"gouraud-lighting",dependencies:[r.a],vs:i,defines:{LIGHTING_VERTEX:1},getUniforms:s},c={name:"phong-lighting",dependencies:[r.a],fs:i,defines:{LIGHTING_FRAGMENT:1},getUniforms:s}},function(e,t,n){var r=n(206);function i(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function o(t,n,a){return i()?e.exports=o=Reflect.construct:e.exports=o=function(e,t,n){var i=[null];i.push.apply(i,t);var o=new(Function.bind.apply(e,i));return n&&r(o,n.prototype),o},o.apply(null,arguments)}e.exports=o},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return f}));var r=n(0),i=n.n(r),o=n(105),a=n(240),s=n(241),u=n(81),c=n(13);function l(e,t){Object(c.a)(e instanceof o.a||e instanceof a.a||e instanceof s.a);var n=e.constructor,r=e.gl,i=e.width,u=e.height,l=e.format,f=e.type,h=e.dataFormat,d=e.border,p=e.mipmaps;return new n(r,Object.assign({width:i,height:u,format:l,type:f,dataFormat:h,border:d,mipmaps:p},t))}function f(e,t){var n=e.gl,r=e.width,o=e.height,a=e.id;return new u.a(n,Object.assign({},t,{id:"framebuffer-for-".concat(a),width:r,height:o,attachments:i()({},36064,e)}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return x}));var r=n(8),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(20),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(4),m=n.n(y),b=n(10),_=n(64);function O(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=g()(e);if(t){var i=g()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var w=[34069,34070,34071,34072,34073,34074],x=function(e){h()(r,e);var t,n=O(r);function r(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return a()(this,r),Object(b.b)(e),(t=n.call(this,e,Object.assign({},i,{target:34067}))).initialize(i),Object.seal(l()(t)),t}return u()(r,[{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.mipmaps,r=void 0===n||n,i=t.parameters,o=void 0===i?{}:i;return this.opts=t,this.setCubeMapImageData(t).then((function(){e.loaded=!0,r&&e.generateMipmap(t),e.setParameters(o)})),this}},{key:"subImage",value:function(e){var t=e.face,n=e.data,r=e.x,i=void 0===r?0:r,o=e.y,a=void 0===o?0:o,s=e.mipmapLevel,u=void 0===s?0:s;return this._subImage({target:t,data:n,x:i,y:a,mipmapLevel:u})}},{key:"setCubeMapImageData",value:(t=i()(m.a.mark((function e(t){var n,r,i,o,a,s,u,c,l,f,h,d,p,v=this;return m.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.width,r=t.height,i=t.pixels,o=t.data,a=t.border,s=void 0===a?0:a,u=t.format,c=void 0===u?6408:u,l=t.type,f=void 0===l?5121:l,h=this.gl,d=i||o,e.next=5,Promise.all(w.map((function(e){var t=d[e];return Promise.all(Array.isArray(t)?t:[t])})));case 5:p=e.sent,this.bind(),w.forEach((function(e,t){p[t].length>1&&!1!==v.opts.mipmaps&&b.k.warn("".concat(v.id," has mipmap and multiple LODs."))(),p[t].forEach((function(t,i){n&&r?h.texImage2D(e,i,c,n,r,s,c,f,t):h.texImage2D(e,i,c,c,f,t)}))})),this.unbind();case 9:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"setImageDataForFace",value:function(e){var t=this,n=e.face,r=e.width,i=e.height,o=e.pixels,a=e.data,s=e.border,u=void 0===s?0:s,c=e.format,l=void 0===c?6408:c,f=e.type,h=void 0===f?5121:f,d=this.gl,p=o||a;return this.bind(),p instanceof Promise?p.then((function(r){return t.setImageDataForFace(Object.assign({},e,{face:n,data:r,pixels:r}))})):this.width||this.height?d.texImage2D(n,0,l,r,i,u,l,h,p):d.texImage2D(n,0,l,l,h,p),this}}]),r}(_.a);x.FACES=w},function(e,t,n){"use strict";n.d(t,"a",(function(){return _}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(20),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(10),g=n(64),y=n(92),m=n(37);function b(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}var _=function(e){l()(n,e);var t=b(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,n),Object(v.a)(e),o=Object.assign({depth:1},o,{target:32879,unpackFlipY:!1}),(r=t.call(this,e,o)).initialize(o),Object.seal(u()(r)),r}return a()(n,[{key:"setImageData",value:function(e){var t=this,n=e.level,r=void 0===n?0:n,i=e.dataFormat,o=void 0===i?6408:i,a=e.width,s=e.height,u=e.depth,c=void 0===u?1:u,l=e.border,f=void 0===l?0:l,h=e.format,d=e.type,p=void 0===d?5121:d,g=e.offset,b=void 0===g?0:g,_=e.data,O=e.parameters,w=void 0===O?{}:O;if(this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Object(v.o)(this.gl,w,(function(){ArrayBuffer.isView(_)&&t.gl.texImage3D(t.target,r,o,a,s,c,f,h,p,_),_ instanceof m.a&&(t.gl.bindBuffer(35052,_.handle),t.gl.texImage3D(t.target,r,o,a,s,c,f,h,p,b))})),_&&_.byteLength)this._trackAllocatedMemory(_.byteLength,"Texture");else{var x=y.a[this.dataFormat]||4,A=y.c[this.type]||1;this._trackAllocatedMemory(this.width*this.height*this.depth*x*A,"Texture")}return this.loaded=!0,this}}],[{key:"isSupported",value:function(e){return Object(v.j)(e)}}]),n}(g.a)},function(e,t,n){var r=n(207),i=n(276);function o(t,n,a){return i()?(e.exports=o=Reflect.construct,e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=o=function(e,t,n){var i=[null];i.push.apply(i,t);var o=new(Function.bind.apply(e,i));return n&&r(o,n.prototype),o},e.exports.default=e.exports,e.exports.__esModule=!0),o.apply(null,arguments)}e.exports=o,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(277),i=n(278),o=n(209),a=n(279);e.exports=function(e){return r(e)||i(e)||o(e)||a()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(e,t){for(var n=0;n80*n){r=u=e[0],s=c=e[1];for(var _=n;_u&&(u=l),d>c&&(c=d);p=0!==(p=Math.max(u-r,c-s))?1/p:0}return a(m,b,n,r,s,p),b}function i(e,t,n,r,i){var o,a;if(i===C(e,t,n,r)>0)for(o=t;o=t;o-=r)a=P(o,e[o],e[o+1],a);return a&&b(a,a.next)&&(S(a),a=a.next),a}function o(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!b(r,r.next)&&0!==m(r.prev,r,r.next))r=r.next;else{if(S(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function a(e,t,n,r,i,f,h){if(e){!h&&f&&function(e,t,n,r){var i=e;do{null===i.z&&(i.z=p(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,n,r,i,o,a,s,u,c=1;do{for(n=e,e=null,o=null,a=0;n;){for(a++,r=n,s=0,t=0;t0||u>0&&r;)0!==s&&(0===u||!r||n.z<=r.z)?(i=n,n=n.nextZ,s--):(i=r,r=r.nextZ,u--),o?o.nextZ=i:e=i,i.prevZ=o,o=i;n=r}o.nextZ=null,c*=2}while(a>1)}(i)}(e,r,i,f);for(var d,v,g=e;e.prev!==e.next;)if(d=e.prev,v=e.next,f?u(e,r,i,f):s(e))t.push(d.i/n),t.push(e.i/n),t.push(v.i/n),S(e),e=v.next,g=v.next;else if((e=v)===g){h?1===h?a(e=c(o(e),t,n),t,n,r,i,f,2):2===h&&l(e,t,n,r,i,f):a(o(e),t,n,r,i,f,1);break}}}function s(e){var t=e.prev,n=e,r=e.next;if(m(t,n,r)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(g(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&m(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function u(e,t,n,r){var i=e.prev,o=e,a=e.next;if(m(i,o,a)>=0)return!1;for(var s=i.xo.x?i.x>a.x?i.x:a.x:o.x>a.x?o.x:a.x,l=i.y>o.y?i.y>a.y?i.y:a.y:o.y>a.y?o.y:a.y,f=p(s,u,t,n,r),h=p(c,l,t,n,r),d=e.prevZ,v=e.nextZ;d&&d.z>=f&&v&&v.z<=h;){if(d!==e.prev&&d!==e.next&&g(i.x,i.y,o.x,o.y,a.x,a.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,v!==e.prev&&v!==e.next&&g(i.x,i.y,o.x,o.y,a.x,a.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;d&&d.z>=f;){if(d!==e.prev&&d!==e.next&&g(i.x,i.y,o.x,o.y,a.x,a.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;v&&v.z<=h;){if(v!==e.prev&&v!==e.next&&g(i.x,i.y,o.x,o.y,a.x,a.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function c(e,t,n){var r=e;do{var i=r.prev,a=r.next.next;!b(i,a)&&_(i,r,r.next,a)&&x(i,a)&&x(a,i)&&(t.push(i.i/n),t.push(r.i/n),t.push(a.i/n),S(r),S(r.next),r=e=a),r=r.next}while(r!==e);return o(r)}function l(e,t,n,r,i,s){var u=e;do{for(var c=u.next.next;c!==u.prev;){if(u.i!==c.i&&y(u,c)){var l=A(u,c);return u=o(u,u.next),l=o(l,l.next),a(u,t,n,r,i,s),void a(l,t,n,r,i,s)}c=c.next}u=u.next}while(u!==e)}function f(e,t){return e.x-t.x}function h(e,t){if(t=function(e,t){var n,r=t,i=e.x,o=e.y,a=-1/0;do{if(o<=r.y&&o>=r.next.y&&r.next.y!==r.y){var s=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=i&&s>a){if(a=s,s===i){if(o===r.y)return r;if(o===r.next.y)return r.next}n=r.x=r.x&&r.x>=l&&i!==r.x&&g(on.x||r.x===n.x&&d(n,r)))&&(n=r,h=u)),r=r.next}while(r!==c);return n}(e,t)){var n=A(t,e);o(n,n.next)}}function d(e,t){return m(e.prev,e,t.prev)<0&&m(t.next,e,e.next)<0}function p(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function v(e){var t=e,n=e;do{(t.x=0&&(e-a)*(r-s)-(n-a)*(t-s)>=0&&(n-a)*(o-s)-(i-a)*(r-s)>=0}function y(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&_(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(x(e,t)&&x(t,e)&&function(e,t){var n=e,r=!1,i=(e.x+t.x)/2,o=(e.y+t.y)/2;do{n.y>o!=n.next.y>o&&n.next.y!==n.y&&i<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(m(e.prev,e,t.prev)||m(e,t.prev,t))||b(e,t)&&m(e.prev,e,e.next)>0&&m(t.prev,t,t.next)>0)}function m(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function b(e,t){return e.x===t.x&&e.y===t.y}function _(e,t,n,r){var i=w(m(e,t,n)),o=w(m(e,t,r)),a=w(m(n,r,e)),s=w(m(n,r,t));return i!==o&&a!==s||(!(0!==i||!O(e,n,t))||(!(0!==o||!O(e,r,t))||(!(0!==a||!O(n,e,r))||!(0!==s||!O(n,t,r)))))}function O(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function w(e){return e>0?1:e<0?-1:0}function x(e,t){return m(e.prev,e,e.next)<0?m(e,t,e.next)>=0&&m(e,e.prev,t)>=0:m(e,t,e.prev)<0||m(e,e.next,t)<0}function A(e,t){var n=new k(e.i,e.x,e.y),r=new k(t.i,t.x,t.y),i=e.next,o=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,o.next=r,r.prev=o,r}function P(e,t,n,r){var i=new k(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function S(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function k(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function C(e,t,n,r){for(var i=0,o=t,a=n-r;o0&&(r+=e[i-1].length,n.holes.push(r))}return n}},function(e,t,n){"use strict";e.exports=r,e.exports.default=r;function r(e,t,n,r,i,o){this.fontSize=e||24,this.buffer=void 0===t?3:t,this.cutoff=r||.25,this.fontFamily=i||"sans-serif",this.fontWeight=o||"normal",this.radius=n||8;var a=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=a,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.d=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Int16Array(a),this.middle=Math.round(a/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function i(e,t,n,r,i,a,s){for(var u=0;u2&&void 0!==arguments[2]?arguments[2]:null,o=e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{},a=e.texture.source.image,s={};a.compressed?(n=a,s=i()({},this.gl.TEXTURE_MIN_FILTER,a.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR)):n={data:a};var u=new f.a(this.gl,p({id:e.name||e.id,parameters:p(p({},o),s),pixelStore:i()({},this.gl.UNPACK_FLIP_Y_WEBGL,!1)},n));this.uniforms[t]=u,this.defineIfPresent(r,r),this.generatedTextures.push(u)}},{key:"parsePbrMetallicRoughness",value:function(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");var t=e.metallicFactor,n=void 0===t?1:t,r=e.roughnessFactor,i=void 0===r?1:r;this.uniforms.u_MetallicRoughnessValues=[n,i]}},{key:"parseMaterial",value:function(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");var t=e.normalTexture.scale,n=void 0===t?1:t;this.uniforms.u_NormalScale=n}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");var r=e.occlusionTexture.strength,i=void 0===r?1:r;this.uniforms.u_OcclusionStrength=i}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){var o=e.alphaCutoff,a=void 0===o?.5:o;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=a}else"BLEND"===e.alphaMode&&(h.k.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}]),e}()},function(e,t,n){"use strict";n.d(t,"b",(function(){return u})),n.d(t,"c",(function(){return c})),n.d(t,"a",(function(){return l}));var r=n(182),i=n(10),o=n(13);function a(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw o}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1)return"Edge";var r=-1!==n.indexOf("MSIE "),s=-1!==n.indexOf("Trident/");if(r||s)return"IE";if(i.window.chrome)return"Chrome";if(i.window.safari)return"Safari";if(i.window.mozInnerScreenX)return"Firefox";return"Unknown"};var i=n(204),o=r(n(205)),a=r(n(190))},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){var r=n(2);e.exports=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=r(e)););return e}},function(e,t,n){var r=function(e){"use strict";var t=Object.prototype,n=t.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag";function s(e,t,n,r){var i=t&&t.prototype instanceof l?t:l,o=Object.create(i.prototype),a=new w(r||[]);return o._invoke=function(e,t,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return A()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=b(a,n);if(s){if(s===c)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=u(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===c)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}(e,n,a),o}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var c={};function l(){}function f(){}function h(){}var d={};d[i]=function(){return this};var p=Object.getPrototypeOf,v=p&&p(p(x([])));v&&v!==t&&n.call(v,i)&&(d=v);var g=h.prototype=l.prototype=Object.create(d);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function m(e){var t;this._invoke=function(r,i){function o(){return new Promise((function(t,o){!function t(r,i,o,a){var s=u(e[r],e,i);if("throw"!==s.type){var c=s.arg,l=c.value;return l&&"object"==typeof l&&n.call(l,"__await")?Promise.resolve(l.__await).then((function(e){t("next",e,o,a)}),(function(e){t("throw",e,o,a)})):Promise.resolve(l).then((function(e){c.value=e,o(c)}),(function(e){return t("throw",e,o,a)}))}a(s.arg)}(r,i,t,o)}))}return t=t?t.then(o,o):o()}}function b(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,b(e,t),"throw"===t.method))return c;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}var r=u(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,c;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,c):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,c)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function x(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,o=function t(){for(;++r=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(s&&u){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),c}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:x(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),c}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(208);e.exports=function(e){if(Array.isArray(e))return r(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){},function(e,t,n){var r=n(210);e.exports=function(e){if(Array.isArray(e))return r(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t,n){var r=n(214);function i(e){var t,n;function i(t,n){try{var a=e[t](n),s=a.value,u=s instanceof r;Promise.resolve(u?s.wrapped:s).then((function(e){u?i("return"===t?"return":"next",e):o(a.done?"return":"normal",e)}),(function(e){i("throw",e)}))}catch(e){o("throw",e)}}function o(e,r){switch(e){case"return":t.resolve({value:r,done:!0});break;case"throw":t.reject(r);break;default:t.resolve({value:r,done:!1})}(t=t.next)?i(t.key,t.arg):n=null}this._invoke=function(e,r){return new Promise((function(o,a){var s={key:e,arg:r,resolve:o,reject:a,next:null};n?n=n.next=s:(t=n=s,i(e,r))}))},"function"!=typeof e.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(i.prototype[Symbol.asyncIterator]=function(){return this}),i.prototype.next=function(e){return this._invoke("next",e)},i.prototype.throw=function(e){return this._invoke("throw",e)},i.prototype.return=function(e){return this._invoke("return",e)},e.exports=i},function(e,t,n){"use strict";var r=n(293);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(222);e.exports=function(e){if(Array.isArray(e))return r(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(222);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(301);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n>1,l=-7,f=n?i-1:0,h=n?-1:1,d=e[t+f];for(f+=h,o=d&(1<<-l)-1,d>>=-l,l+=s;l>0;o=256*o+e[t+f],f+=h,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+e[t+f],f+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),o-=c}return(d?-1:1)*a*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var a,s,u,c=8*o-i-1,l=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+f>=1?h/u:h*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=l?(s=0,a=l):a+f>=1?(s=(t*u-1)*Math.pow(2,i),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&s,d+=p,s/=256,i-=8);for(a=a<0;e[n+d]=255&a,d+=p,a/=256,c-=8);e[n+d-p]|=128*v}},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n.n(r),o=n(6),a=n.n(o),s=n(7),u=n.n(s),c=n(2),l=n.n(c);function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l()(e);if(t){var i=l()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u()(this,n)}}var h=function(e){a()(n,e);var t=f(n);function n(){return i()(this,n),t.apply(this,arguments)}return n}(n(231).a);h.layerName="GreatCircleLayer",h.defaultProps={getHeight:{type:"accessor",value:0},greatCircle:!0};var d=n(3),p=n.n(d),v=n(0),g=n.n(v),y=n(192),m=n(220);function b(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l()(e);if(t){var i=l()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u()(this,n)}}function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var O=function(e){for(var t=1;t=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function E(e){return[j(e[0]),j(e[1])]}function T(e,t){var n=A()(t,2),r=n[0],i=n[1];switch(e){case 0:return[1,r,i];case 1:return[-r,1,i];case 2:return[-r,-i,1];case 3:return[-1,-i,-r];case 4:return[i,-1,-r];case 5:return[i,r,-1];default:throw new Error("Invalid face")}}function M(e,t,n,r){if(0===r){1===n&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);var i=t[0];t[0]=t[1],t[1]=i}}function B(e){if("string"==typeof e){if(e.indexOf("/")>0)return e;e=function(e){var t=e.padEnd(16,"0");return S.a.fromString(t,16)}(e)}return function(e){for(var t=S.a.fromString(e,!0,10).toString(2);t.length<64;)t="0"+t;for(var n=t.lastIndexOf("1"),r=t.substring(0,3),i=t.substring(3,n),o=i.length/2,a=S.a.fromString(r,!0,2).toString(10),s=S.a.fromString(i,!0,2).toString(4);s.length89.999&&(w[0]=p);var x=w[0]-p;w[0]+=x>180?-360:x<-180?360:0,h[d++]=w[0],h[d++]=w[1],p=w[0]}return h[d++]=h[0],h[d++]=h[1],h}(function(e){for(var t,n=e.split("/"),r=parseInt(n[0],10),i=n[1],o=i.length,a=[0,0],s=o-1;s>=0;s--){t=o-s;var u=i[s],c=0,l=0;"1"===u?l=1:"2"===u?(c=1,l=1):"3"===u&&(c=1);var f=Math.pow(2,t-1);M(f,a,c,l),a[0]+=f*c,a[1]+=f*l}if(r%2==1){var h=a[0];a[0]=a[1],a[1]=h}return{face:r,ij:a,level:t}}(B(e)))}function R(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l()(e);if(t){var i=l()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u()(this,n)}}var L=function(e){a()(n,e);var t=R(n);function n(){return i()(this,n),t.apply(this,arguments)}return p()(n,[{key:"indexToBounds",value:function(){var e=this.props,t=e.data,n=e.getS2Token;return{data:t,_normalize:!1,positionFormat:"XY",getPolygon:function(e,t){return I(n(e,t))}}}}]),n}(w);L.layerName="S2Layer",L.defaultProps={getS2Token:{type:"accessor",value:function(e){return e.token}}};var D=n(24);function F(e){var t=function(e){for(var t=0,n=0,r=1<>=1;var a=parseInt(e[o]);a%2&&(t|=r),a>1&&(n|=r)}return[[t/i,512-n/i],[(t+.99)/i,512-(n+.99)/i]]}(e),n=A()(t,2),r=n[0],i=n[1],o=Object(D.o)(r),a=A()(o,2),s=a[0],u=a[1],c=Object(D.o)(i),l=A()(c,2),f=l[0],h=l[1];return[f,u,f,h,s,h,s,u,f,u]}function N(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l()(e);if(t){var i=l()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u()(this,n)}}var U=function(e){a()(n,e);var t=N(n);function n(){return i()(this,n),t.apply(this,arguments)}return p()(n,[{key:"indexToBounds",value:function(){var e=this.props,t=e.data,n=e.getQuadkey;return{data:t,_normalize:!1,positionFormat:"XY",getPolygon:function(e,t){return F(n(e,t))}}}}]),n}(w);U.layerName="QuadkeyLayer",U.defaultProps={getQuadkey:{type:"accessor",value:function(e){return e.quadkey}}};var z=n(77),G=n(230),V=n(8),H=n.n(V),W=n(4),J=n.n(W),X=n(22),K=function(){function e(t){var n=t.x,r=t.y,o=t.z;i()(this,e),this.x=n,this.y=r,this.z=o,this.isVisible=!1,this.isSelected=!1,this.parent=null,this.children=[],this.content=null,this._loaderId=0,this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1}var t;return p()(e,[{key:"data",get:function(){var e=this;return this.isLoading?this._loader.then((function(){return e.data})):this.content}},{key:"isLoaded",get:function(){return this._isLoaded&&!this._needsReload}},{key:"isLoading",get:function(){return Boolean(this._loader)&&!this._isCancelled}},{key:"needsReload",get:function(){return this._needsReload||this._isCancelled}},{key:"byteLength",get:function(){var e=this.content?this.content.byteLength:0;return Number.isFinite(e)||X.a.error("byteLength not defined in tile data")(),e}},{key:"_loadData",value:(t=H()(J.a.mark((function e(t){var n,r,i,o,a,s,u,c,l,f,h,d,p;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.getData,r=t.requestScheduler,i=t.onLoad,o=t.onError,a=this.x,s=this.y,u=this.z,c=this.bbox,l=this._loaderId,this._abortController=new AbortController,f=this._abortController.signal,e.next=7,r.scheduleRequest(this,(function(e){return e.isSelected?1:-1}));case 7:if(h=e.sent){e.next=11;break}return this._isCancelled=!0,e.abrupt("return");case 11:if(!this._isCancelled){e.next=14;break}return h.done(),e.abrupt("return");case 14:return d=null,e.prev=15,e.next=18,n({x:a,y:s,z:u,bbox:c,signal:f});case 18:d=e.sent,e.next=24;break;case 21:e.prev=21,e.t0=e.catch(15),p=e.t0||!0;case 24:return e.prev=24,h.done(),e.finish(24);case 27:if(l===this._loaderId){e.next=29;break}return e.abrupt("return");case 29:if(this._loader=void 0,this.content=d,!this._isCancelled||d){e.next=34;break}return this._isLoaded=!1,e.abrupt("return");case 34:this._isLoaded=!0,this._isCancelled=!1,p?o(p,this):i(this);case 37:case"end":return e.stop()}}),e,this,[[15,21,24,27]])}))),function(e){return t.apply(this,arguments)})},{key:"loadData",value:function(e){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(e),this._loader}},{key:"setNeedsReload",value:function(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0}},{key:"abort",value:function(){this.isLoaded||(this._isCancelled=!0,this._abortController.abort())}}]),e}(),q=n(16),Z=n.n(q),Y=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Q=n(59),$=n.n(Q),ee=n(60),te=n.n(ee),ne=n(74),re=new ne.a,ie=new ne.a,oe=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;$()(this,e),r=r||re.copy(t).add(n).scale(.5),this.center=new ne.a(r),this.halfDiagonal=new ne.a(n).subtract(this.center),this.minimum=new ne.a(t),this.maximum=new ne.a(n)}return te()(e,[{key:"clone",value:function(){return new e(this.minimum,this.maximum,this.center)}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.minimum.equals(e.minimum)&&this.maximum.equals(e.maximum)}},{key:"transform",value:function(e){return this.center.transformAsPoint(e),this.halfDiagonal.transform(e),this.minimum.transform(e),this.maximum.transform(e),this}},{key:"intersectPlane",value:function(e){var t=this.halfDiagonal,n=ie.from(e.normal),r=t.x*Math.abs(n.x)+t.y*Math.abs(n.y)+t.z*Math.abs(n.z),i=this.center.dot(n)+e.distance;return i-r>0?Y.INSIDE:i+r<0?Y.OUTSIDE:Y.INTERSECTING}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceSquaredTo(e))}},{key:"distanceSquaredTo",value:function(e){var t,n=re.from(e).subtract(this.center),r=this.halfDiagonal,i=0;return(t=Math.abs(n.x)-r.x)>0&&(i+=t*t),(t=Math.abs(n.y)-r.y)>0&&(i+=t*t),(t=Math.abs(n.z)-r.z)>0&&(i+=t*t),i}}]),e}(),ae=n(25),se=new ne.a,ue=new ne.a,ce=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;$()(this,e),this.radius=-0,this.center=new ne.a,this.fromCenterRadius(t,n)}return te()(e,[{key:"fromCenterRadius",value:function(e,t){return this.center.from(e),this.radius=t,this}},{key:"fromCornerPoints",value:function(e,t){return t=se.from(t),this.center=(new ne.a).from(e).add(t).scale(.5),this.radius=this.center.distance(t),this}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}},{key:"clone",value:function(){return new e(this.center,this.radius)}},{key:"union",value:function(e){var t=this.center,n=this.radius,r=e.center,i=e.radius,o=se.copy(r).subtract(t),a=o.magnitude();if(n>=a+i)return this.clone();if(i>=a+n)return e.clone();var s=.5*(n+a+i);return ue.copy(o).scale((-n+s)/a).add(t),this.center.copy(ue),this.radius=s,this}},{key:"expand",value:function(e){var t=(e=se.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}},{key:"transform",value:function(e){this.center.transform(e);var t=ae.e(se,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}},{key:"distanceSquaredTo",value:function(e){var t=this.distanceTo(e);return t*t}},{key:"distanceTo",value:function(e){var t=(e=se.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}},{key:"intersectPlane",value:function(e){var t=this.center,n=this.radius,r=e.normal.dot(t)+e.distance;return r<-n?Y.OUTSIDE:r0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0,0,0,0,0,0,0];$()(this,e),this.center=(new ne.a).from(t),this.halfAxes=new he.a(n)}return te()(e,[{key:"halfSize",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ne.a(e).len(),new ne.a(t).len(),new ne.a(n).len()]}},{key:"quaternion",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),r=new ne.a(e).normalize(),i=new ne.a(t).normalize(),o=new ne.a(n).normalize();return(new de.a).fromMatrix3(new he.a([].concat(fe()(r),fe()(i),fe()(o))))}},{key:"fromCenterHalfSizeQuaternion",value:function(e,t,n){var r=new de.a(n),i=(new he.a).fromQuaternion(r);return i[0]=i[0]*t[0],i[1]=i[1]*t[0],i[2]=i[2]*t[0],i[3]=i[3]*t[1],i[4]=i[4]*t[1],i[5]=i[5]*t[1],i[6]=i[6]*t[2],i[7]=i[7]*t[2],i[8]=i[8]*t[2],this.center=(new ne.a).from(e),this.halfAxes=i,this}},{key:"clone",value:function(){return new e(this.center,this.halfAxes)}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}},{key:"getBoundingSphere",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new ce,t=this.halfAxes,n=t.getColumn(0,ge),r=t.getColumn(1,ye),i=t.getColumn(2,me),o=pe.copy(n).add(r).add(i);return e.center.copy(this.center),e.radius=o.magnitude(),e}},{key:"intersectPlane",value:function(e){var t=this.center,n=e.normal,r=this.halfAxes,i=n.x,o=n.y,a=n.z,s=Math.abs(i*r[Oe]+o*r[we]+a*r[xe])+Math.abs(i*r[Ae]+o*r[Pe]+a*r[Se])+Math.abs(i*r[ke]+o*r[Ce]+a*r[je]),u=n.dot(t)+e.distance;return u<=-s?Y.OUTSIDE:u>=s?Y.INSIDE:Y.INTERSECTING}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceSquaredTo(e))}},{key:"distanceSquaredTo",value:function(e){var t=ve.from(e).subtract(this.center),n=this.halfAxes,r=n.getColumn(0,ge),i=n.getColumn(1,ye),o=n.getColumn(2,me),a=r.magnitude(),s=i.magnitude(),u=o.magnitude();r.normalize(),i.normalize(),o.normalize();var c,l=0;return(c=Math.abs(t.dot(r))-a)>0&&(l+=c*c),(c=Math.abs(t.dot(i))-s)>0&&(l+=c*c),(c=Math.abs(t.dot(o))-u)>0&&(l+=c*c),l}},{key:"computePlaneDistances",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[-0,-0],r=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,o=this.center,a=this.halfAxes,s=a.getColumn(0,ge),u=a.getColumn(1,ye),c=a.getColumn(2,me),l=be.copy(s).add(u).add(c).add(o),f=_e.copy(l).subtract(e),h=t.dot(f);return r=Math.min(h,r),i=Math.max(h,i),l.copy(o).add(s).add(u).subtract(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),l.copy(o).add(s).subtract(u).add(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),l.copy(o).add(s).subtract(u).subtract(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),o.copy(l).subtract(s).add(u).add(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),o.copy(l).subtract(s).add(u).subtract(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),o.copy(l).subtract(s).subtract(u).add(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),o.copy(l).subtract(s).subtract(u).subtract(c),f.copy(l).subtract(e),h=t.dot(f),r=Math.min(h,r),i=Math.max(h,i),n[0]=r,n[1]=i,n}},{key:"transform",value:function(e){this.center.transformAsPoint(e);var t=this.halfAxes.getColumn(0,ge);t.transformAsPoint(e);var n=this.halfAxes.getColumn(1,ye);n.transformAsPoint(e);var r=this.halfAxes.getColumn(2,me);return r.transformAsPoint(e),this.halfAxes=new he.a([].concat(fe()(t),fe()(n),fe()(r))),this}},{key:"getTransform",value:function(){throw new Error("not implemented")}}]),e}(),Te=n(48),Me=n(15),Be=new ne.a,Ie=new ne.a,Re=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,1],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;$()(this,e),this.normal=new ne.a,this.distance=-0,this.fromNormalDistance(t,n)}return te()(e,[{key:"fromNormalDistance",value:function(e,t){return Object(Te.a)(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}},{key:"fromPointNormal",value:function(e,t){e=Be.from(e),this.normal.from(t).normalize();var n=-this.normal.dot(e);return this.distance=n,this}},{key:"fromCoefficients",value:function(e,t,n,r){return this.normal.set(e,t,n),Object(Te.a)(Object(Me.d)(this.normal.len(),1)),this.distance=r,this}},{key:"clone",value:function(t){return new e(this.normal,this.distance)}},{key:"equals",value:function(e){return Object(Me.d)(this.distance,e.distance)&&Object(Me.d)(this.normal,e.normal)}},{key:"getPointDistance",value:function(e){return this.normal.dot(e)+this.distance}},{key:"transform",value:function(e){var t=Ie.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,t)}},{key:"projectPointOntoPlane",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];e=Be.from(e);var n=this.getPointDistance(e),r=Ie.copy(this.normal).scale(n);return e.subtract(r).to(t)}}]),e}();function Le(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return De(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return De(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function De(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:[];$()(this,e),this.planes=t,Object(Te.a)(this.planes.every((function(e){return e instanceof Re})))}return te()(e,[{key:"fromBoundingSphere",value:function(e){this.planes.length=2*Fe.length;var t,n=e.center,r=e.radius,i=0,o=Le(Fe);try{for(o.s();!(t=o.n()).done;){var a=t.value,s=this.planes[i],u=this.planes[i+1];s||(s=this.planes[i]=new Re),u||(u=this.planes[i+1]=new Re);var c=Ne.copy(a).scale(-r).add(n);a.dot(c);s.fromPointNormal(c,a);var l=Ne.copy(a).scale(r).add(n),f=Ue.copy(a).negate();f.dot(l);u.fromPointNormal(l,f),i+=2}}catch(e){o.e(e)}finally{o.f()}return this}},{key:"computeVisibility",value:function(e){Object(Te.a)(e);var t,n=Y.INSIDE,r=Le(this.planes);try{for(r.s();!(t=r.n()).done;){var i=t.value;switch(e.intersectPlane(i)){case Y.OUTSIDE:return Y.OUTSIDE;case Y.INTERSECTING:n=Y.INTERSECTING}}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"computeVisibilityWithPlaneMask",value:function(t,n){if(Object(Te.a)(t,"boundingVolume is required."),Object(Te.a)(Number.isFinite(n),"parentPlaneMask is required."),n===e.MASK_OUTSIDE||n===e.MASK_INSIDE)return n;for(var r=e.MASK_INSIDE,i=this.planes,o=0;o1&&void 0!==arguments[1]?arguments[1]:{},n=Ve.a.EPSILON20,r=10,i=0,o=0,a=We,s=Je;a.identity(),s.copy(e);for(var u=n*Ze(s);ou;)et(s,Xe),Ke.copy(Xe).transpose(),s.multiplyRight(Xe),s.multiplyLeft(Ke),a.multiplyRight(Xe),++i>2&&(++o,i=0);return t.unitary=a.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function Ze(e){for(var t=0,n=0;n<9;++n){var r=e[n];t+=r*r}return Math.sqrt(t)}var Ye=[1,0,0],Qe=[2,2,1];function $e(e){for(var t=0,n=0;n<3;++n){var r=e[He.getElementIndex(Qe[n],Ye[n])];t+=2*r*r}return Math.sqrt(t)}function et(e,t){for(var n=Ve.a.EPSILON15,r=0,i=1,o=0;o<3;++o){var a=Math.abs(e[He.getElementIndex(Qe[o],Ye[o])]);a>r&&(i=o,r=a)}var s=Ye[i],u=Qe[i],c=1,l=0;if(Math.abs(e[He.getElementIndex(u,s)])>n){var f,h=(e[He.getElementIndex(u,u)]-e[He.getElementIndex(s,s)])/2/e[He.getElementIndex(u,s)];l=(f=h<0?-1/(-h+Math.sqrt(1+h*h)):1/(h+Math.sqrt(1+h*h)))*(c=1/Math.sqrt(1+f*f))}return he.a.IDENTITY.to(t),t[He.getElementIndex(s,s)]=t[He.getElementIndex(u,u)]=c,t[He.getElementIndex(u,s)]=l,t[He.getElementIndex(s,u)]=-l,t}function tt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return nt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function nt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ft(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=i){var f=c.distanceTo(t.cameraPosition)*t.scale/t.height;l+=Math.floor(Math.log2(f))}if(l>=o)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;var h,d=lt(this.children);try{for(d.s();!(h=d.n()).done;){h.value.update(e)}}catch(e){d.e(e)}finally{d.f()}return!0}},{key:"getSelected",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(this.selected&&e.push(this),this._children){var t,n=lt(this._children);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.getSelected(e)}}catch(e){n.e(e)}finally{n.f()}}return e}},{key:"insideBounds",value:function(e){var t=A()(e,4),n=t[0],r=t[1],i=t[2],o=t[3],a=512/Math.pow(2,this.z);return this.x*an&&(this.y+1)*a>r}},{key:"getBoundingVolume",value:function(e,t,n){if(n){var r,i=[],o=lt(this.z<1?pt:this.z<2?dt:ht);try{for(o.s();!(r=o.n()).done;){var a=r.value,s=Ot(this.x+a[0],this.y+a[1],this.z);s[2]=e[0],i.push(n(s)),e[0]!==e[1]&&(s[2]=e[1],i.push(n(s)))}}catch(e){o.e(e)}finally{o.f()}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Ee;if(!e||0===e.length)return t.halfAxes=new he.a([0,0,0,0,0,0,0,0,0]),t.center=new ne.a,t;var n,r=e.length,i=new ne.a(0,0,0),o=tt(e);try{for(o.s();!(n=o.n()).done;){var a=n.value;i.add(a)}}catch(e){o.e(e)}finally{o.f()}var s=1/r;i.multiplyByScalar(s);var u,c=0,l=0,f=0,h=0,d=0,p=0,v=tt(e);try{for(v.s();!(u=v.n()).done;){var g=u.value,y=rt.copy(g).subtract(i);c+=y.x*y.x,l+=y.x*y.y,f+=y.x*y.z,h+=y.y*y.y,d+=y.y*y.z,p+=y.z*y.z}}catch(e){v.e(e)}finally{v.f()}c*=s,l*=s,f*=s,h*=s,d*=s,p*=s;var m=ut;m[0]=c,m[1]=l,m[2]=f,m[3]=l,m[4]=h,m[5]=d,m[6]=f,m[7]=d,m[8]=p;var b,_=qe(m,ct),O=_.unitary,w=t.halfAxes.copy(O),x=w.getColumn(0,ot),A=w.getColumn(1,at),P=w.getColumn(2,st),S=-Number.MAX_VALUE,k=-Number.MAX_VALUE,C=-Number.MAX_VALUE,j=Number.MAX_VALUE,E=Number.MAX_VALUE,T=Number.MAX_VALUE,M=tt(e);try{for(M.s();!(b=M.n()).done;){var B=b.value;rt.copy(B),S=Math.max(rt.dot(x),S),k=Math.max(rt.dot(A),k),C=Math.max(rt.dot(P),C),j=Math.min(rt.dot(x),j),E=Math.min(rt.dot(A),E),T=Math.min(rt.dot(P),T)}}catch(e){M.e(e)}finally{M.f()}x=x.multiplyByScalar(.5*(j+S)),A=A.multiplyByScalar(.5*(E+k)),P=P.multiplyByScalar(.5*(T+C)),t.center.copy(x).add(A).add(P);var I=it.set(S-j,k-E,C-T).multiplyByScalar(.5),R=new he.a([I[0],0,0,0,I[1],0,0,0,I[2]]);return t.halfAxes.multiplyRight(R),t}(i)}var u=512/Math.pow(2,this.z),c=this.x*u+512*t,l=512-(this.y+1)*u;return new oe([c,l,e[0]],[c+u,l+u,e[1]])}}]),e}();var gt=[-1/0,-1/0,1/0,1/0],yt={type:"url",value:null,validate:function(e,t){return t.optional&&null===e||"string"==typeof e||Array.isArray(e)&&e.every((function(e){return"string"==typeof e}))},equals:function(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t))return!1;var n=e.length;if(n!==t.length)return!1;for(var r=0;r4&&void 0!==arguments[4]?arguments[4]:512;if(e.isGeospatial){var o=Ot(t,n,r),a=A()(o,2),s=a[0],u=a[1],c=Ot(t+1,n+1,r),l=A()(c,2),f=l[0],h=l[1];return{west:s,north:u,east:f,south:h}}var d=wt(t,n,r,i),p=A()(d,2),v=p[0],g=p[1],y=wt(t+1,n+1,r,i),m=A()(y,2),b=m[0],_=m[1];return{left:v,top:g,right:b,bottom:_}}function At(e,t,n,r,i){for(var o=function(e,t,n){return n?mt(e,n).map((function(e){return e*t/512})):e.map((function(e){return e*t/512}))}(function(e,t,n){var r;if(t&&2===t.length){var i=A()(t,2),o=i[0],a=i[1],s=e.getBounds({z:o}),u=e.getBounds({z:a});r=[Math.min(s[0],u[0]),Math.min(s[1],u[1]),Math.max(s[2],u[2]),Math.max(s[3],u[3])]}else r=e.getBounds();return e.isGeospatial?[Math.max(r[0],n[0]),Math.max(r[1],n[1]),Math.min(r[2],n[2]),Math.min(r[3],n[3])]:[Math.max(Math.min(r[0],n[2]),n[0]),Math.max(Math.min(r[1],n[3]),n[1]),Math.min(Math.max(r[2],n[0]),n[2]),Math.min(Math.max(r[3],n[1]),n[3])]}(e,null,r),_t(t,n),i),a=A()(o,4),s=a[0],u=a[1],c=a[2],l=a[3],f=[],h=Math.floor(s);hn&&(h=n);var d=o;return u&&c&&o&&!t.isGeospatial&&(d=mt(o,u)),t.isGeospatial?function(e,t,n,r){var i=e.resolution?e.projectPosition:null,o=Object.values(e.getFrustumPlanes()).map((function(e){var t=e.normal,n=e.distance;return new Re(t.clone().negate(),n)})),a=new ze(o),s=e.distanceScales.unitsPerMeter[2],u=n&&n[0]*s||0,c=n&&n[1]*s||0,l=e.pitch<=60?t:0;if(r){var f=r,h=A()(f,4),d=h[0],p=h[1],v=h[2],g=h[3],y=Object(D.l)([d,g]),m=Object(D.l)([v,p]);r=[y[0],512-y[1],m[0],512-m[1]]}var b=new vt(0,0,0),_={viewport:e,project:i,cullingVolume:a,elevationBounds:[u,c],minZ:l,maxZ:t,bounds:r,offset:0};if(b.update(_),e.subViewports&&e.subViewports.length>1){for(_.offset=-1;b.update(_)&&!(--_.offset<-3););for(_.offset=1;b.update(_)&&!(++_.offset>3););}return b.getSelected()}(t,h,i,o):At(t,h,s,d||gt,c)}var St,kt=n(217);function Ct(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return jt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return jt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function jt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new Ge.a,this._modelMatrixInverse=new Ge.a,this.setOptions(t)}return p()(e,[{key:"tiles",get:function(){return this._tiles}},{key:"selectedTiles",get:function(){return this._selectedTiles}},{key:"isLoaded",get:function(){return this._selectedTiles.every((function(e){return e.isLoaded}))}},{key:"needsReload",get:function(){return this._selectedTiles.some((function(e){return e.needsReload}))}},{key:"setOptions",value:function(e){Object.assign(this.opts,e),Number.isFinite(e.maxZoom)&&(this._maxZoom=Math.floor(e.maxZoom)),Number.isFinite(e.minZoom)&&(this._minZoom=Math.ceil(e.minZoom))}},{key:"finalize",value:function(){var e,t=Ct(this._cache.values());try{for(t.s();!(e=t.n()).done;){var n=e.value;n.isLoading&&n.abort()}}catch(e){t.e(e)}finally{t.f()}this._cache.clear(),this._tiles=[],this._selectedTiles=null}},{key:"reloadAll",value:function(){var e,t=Ct(this._cache.keys());try{for(t.s();!(e=t.n()).done;){var n=e.value,r=this._cache.get(n);this._selectedTiles.includes(r)?r.setNeedsReload():this._cache.delete(n)}}catch(e){t.e(e)}finally{t.f()}}},{key:"update",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.zRange,i=n.modelMatrix,o=new Ge.a(i),a=!o.equals(this._modelMatrix);if(!e.equals(this._viewport)||a){a&&(this._modelMatrixInverse=o.clone().invert(),this._modelMatrix=o),this._viewport=e;var s=this.getTileIndices({viewport:e,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:r,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=s.map((function(e){return t._getTile(e,!0)})),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map((function(e){return t._getTile({x:e.x,y:e.y,z:e.z})})));var u=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),u&&this._frameNumber++,this._frameNumber}},{key:"getTileIndices",value:function(e){var t=e.viewport,n=e.maxZoom,r=e.minZoom,i=e.zRange,o=e.modelMatrix,a=e.modelMatrixInverse,s=this.opts;return Pt({viewport:t,maxZoom:n,minZoom:r,zRange:i,tileSize:s.tileSize,extent:s.extent,modelMatrix:o,modelMatrixInverse:a,zoomOffset:s.zoomOffset})}},{key:"getTileMetadata",value:function(e){var t=e.x,n=e.y,r=e.z,i=this.opts.tileSize;return{bbox:xt(this._viewport,t,n,r,i)}}},{key:"getParentIndex",value:function(e){return e.x=Math.floor(e.x/2),e.y=Math.floor(e.y/2),e.z-=1,e}},{key:"updateTileStates",value:function(){var e,t=this.opts.refinementStrategy||"best-available",n=new Array(this._cache.size),r=0,i=Ct(this._cache.values());try{for(i.s();!(e=i.n()).done;){var o=e.value;n[r++]=o.isVisible,o.isSelected=!1,o.isVisible=!1}}catch(e){i.e(e)}finally{i.f()}var a,s=Ct(this._selectedTiles);try{for(s.s();!(a=s.n()).done;){var u=a.value;u.isSelected=!0,u.isVisible=!0}}catch(e){s.e(e)}finally{s.f()}("function"==typeof t?t:Et[t])(Array.from(this._cache.values())),r=0;var c,l=Ct(this._cache.values());try{for(l.s();!(c=l.n()).done;){var f=c.value;if(n[r++]!==f.isVisible)return!0}}catch(e){l.e(e)}finally{l.f()}return!1}},{key:"_pruneRequests",value:function(){var e,t=this.opts.maxRequests,n=[],r=0,i=Ct(this._cache.values());try{for(i.s();!(e=i.n()).done;){var o=e.value;o.isLoading&&(r++,o.isSelected||o.isVisible||n.push(o))}}catch(e){i.e(e)}finally{i.f()}for(;t>0&&r>t&&n.length>0;){n.shift().abort(),r--}}},{key:"_rebuildTree",value:function(){var e,t=this._cache,n=Ct(t.values());try{for(n.s();!(e=n.n()).done;){var r=e.value;r.parent=null,r.children.length=0}}catch(e){n.e(e)}finally{n.f()}var i,o=Ct(t.values());try{for(o.s();!(i=o.n()).done;){var a=i.value,s=this._getNearestAncestor(a.x,a.y,a.z);a.parent=s,s&&s.children.push(a)}}catch(e){o.e(e)}finally{o.f()}}},{key:"_resizeCache",value:function(){var e=this._cache,t=this.opts,n=t.maxCacheSize||(t.maxCacheByteSize?1/0:5*this.selectedTiles.length),r=t.maxCacheByteSize||1/0;if(e.size>n||this._cacheByteSize>r){var i,o=Ct(e);try{for(o.s();!(i=o.n()).done;){var a=A()(i.value,2),s=a[0],u=a[1];if(u.isVisible||(this._cacheByteSize-=t.maxCacheByteSize?u.byteLength:0,e.delete(s),this.opts.onTileUnload(u)),e.size<=n&&this._cacheByteSize<=r)break}}catch(e){o.e(e)}finally{o.f()}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort((function(e,t){return e.z-t.z})),this._dirty=!1)}},{key:"_getTile",value:function(e,t){var n=e.x,r=e.y,i=e.z,o="".concat(n,",").concat(r,",").concat(i),a=this._cache.get(o),s=!1;return!a&&t?(a=new K({x:n,y:r,z:i}),Object.assign(a,this.getTileMetadata(a)),s=!0,this._cache.set(o,a),this._dirty=!0):a&&a.needsReload&&(s=!0),s&&a.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),a}},{key:"_getNearestAncestor",value:function(e,t,n){for(var r=this._minZoom,i=void 0===r?0:r,o={x:e,y:t,z:n};o.z>i;){o=this.getParentIndex(o);var a=this._getTile(o);if(a)return a}return null}}]),e}();function Mt(e){for(;e;){if(e.isLoaded||e.content)return e.state|=2,!0;e=e.parent}return!1}function Bt(e){var t,n=Ct(e.children);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.isLoaded||r.content?r.state|=2:Bt(r)}}catch(e){n.e(e)}finally{n.f()}}function It(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Rt(e){for(var t=1;t currentTime || (fadeTrail && (vTime < currentTime - trailLength))) {\n discard;\n}\n","fs:DECKGL_FILTER_COLOR":"if(fadeTrail) {\n color.a *= 1.0 - (currentTime - vTime) / trailLength;\n}\n"},e}},{key:"initializeState",value:function(e){Ut()(l()(n.prototype),"initializeState",this).call(this,e),this.getAttributeManager().addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})}},{key:"draw",value:function(e){var t=this.props,r=t.fadeTrail,i=t.trailLength,o=t.currentTime;e.uniforms=Gt(Gt({},e.uniforms),{},{fadeTrail:r,trailLength:i,currentTime:o}),Ut()(l()(n.prototype),"draw",this).call(this,e)}}]),n}(n(114).a);Ht.layerName="TripsLayer",Ht.defaultProps={fadeTrail:!0,trailLength:{type:"number",value:120,min:0},currentTime:{type:"number",value:0,min:0},getTimestamps:{type:"accessor",value:null}};var Wt=n(66),Jt=n(62);function Xt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Kt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Kt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Kt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function on(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n180?i[0]-=360:o<-180&&(i[0]+=360)}}catch(e){r.e(e)}finally{r.f()}}function sn(e,t,n){var r=Object(Wt.h3ToGeo)(e),i=A()(r,2),o=i[0],a=i[1],s=t.length;an(t,a);for(var u=t[0]===t[s-1]?s-1:s,c=0;c1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2?arguments[2]:void 0,r=Object(Wt.h3ToGeoBoundary)(e,!0);if(1!==t?sn(e,r,t):an(r),n){var i,o=new Float64Array(2*r.length),a=0,s=rn(r);try{for(s.s();!(i=s.n()).done;){var u=i.value;o[a++]=u[0],o[a++]=u[1]}}catch(e){s.e(e)}finally{s.f()}return o}return r}var ln=nn(nn({},m.a.defaultProps),{},{highPrecision:"auto",coverage:{type:"number",min:0,max:1,value:1},centerHexagon:null,getHexagon:{type:"accessor",value:function(e){return e.hexagon}},extruded:!0});delete ln.getLineDashArray;var fn=function(e){a()(n,e);var t=en(n);function n(){return i()(this,n),t.apply(this,arguments)}return p()(n,[{key:"shouldUpdateState",value:function(e){var t=e.changeFlags;return this._shouldUseHighPrecision()?t.propsOrDataChanged:t.somethingChanged}},{key:"updateState",value:function(e){var t=e.props,n=(e.oldProps,e.changeFlags);if(!0!==t.highPrecision&&(n.dataChanged||n.updateTriggers&&n.updateTriggers.getHexagon)){var r=this._calculateH3DataProps(t);this.setState(r)}this._updateVertices(this.context.viewport)}},{key:"_calculateH3DataProps",value:function(e){var t,n=-1,r=!1,i=!1,o=Object(Jt.a)(e.data),a=o.iterable,s=o.objectInfo,u=rn(a);try{for(u.s();!(t=u.n()).done;){var c=t.value;s.index++;var l=e.getHexagon(c,s),f=Object(Wt.h3GetResolution)(l);if(n<0){if(n=f,!e.highPrecision)break}else if(n!==f){i=!0;break}if(Object(Wt.h3IsPentagon)(l)){r=!0;break}}}catch(e){u.e(e)}finally{u.f()}return{resolution:n,edgeLengthKM:n>=0?Object(Wt.edgeLength)(n,Wt.UNITS.km):0,hasMultipleRes:i,hasPentagon:r}}},{key:"_shouldUseHighPrecision",value:function(){if("auto"===this.props.highPrecision){var e=this.state,t=e.resolution,n=e.hasPentagon,r=e.hasMultipleRes;return this.context.viewport.resolution||r||n||t>=0&&t<=5}return this.props.highPrecision}},{key:"_updateVertices",value:function(e){if(!this._shouldUseHighPrecision()){var t=this.state,n=t.resolution,r=t.edgeLengthKM,i=t.centerHex;if(!(n<0)){var o=this.props.centerHexagon||Object(Wt.geoToH3)(e.latitude,e.longitude,n);if(i!==o){if(i){var a=Object(Wt.h3Distance)(i,o);if(a>=0&&a*r<10)return}var s=e.distanceScales.unitsPerMeter,u=cn(o),c=Object(Wt.h3ToGeo)(o),l=A()(c,2),f=l[0],h=l[1],d=e.projectFlat([h,f]),p=A()(d,2),v=p[0],g=p[1];u=u.map((function(t){var n=e.projectFlat(t);return[(n[0]-v)/s[0],(n[1]-g)/s[1]]})),this.setState({centerHex:o,vertices:u})}}}}},{key:"renderLayers",value:function(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}},{key:"_getForwardProps",value:function(){var e=this.props,t=e.elevationScale,n=e.material,r=e.coverage,i=e.extruded,o=e.wireframe,a=e.stroked,s=e.filled,u=e.lineWidthUnits,c=e.lineWidthScale,l=e.lineWidthMinPixels,f=e.lineWidthMaxPixels,h=e.getFillColor,d=e.getElevation,p=e.getLineColor,v=e.getLineWidth,g=e.transitions,y=e.updateTriggers;return{elevationScale:t,extruded:i,coverage:r,wireframe:o,stroked:a,filled:s,lineWidthUnits:u,lineWidthScale:c,lineWidthMinPixels:l,lineWidthMaxPixels:f,material:n,getElevation:d,getFillColor:h,getLineColor:p,getLineWidth:v,transitions:g,updateTriggers:{getFillColor:y.getFillColor,getElevation:y.getElevation,getLineColor:y.getLineColor,getLineWidth:y.getLineWidth}}}},{key:"_renderPolygonLayer",value:function(){var e=this.props,t=e.data,n=e.getHexagon,r=e.updateTriggers,i=e.coverage,o=this.getSubLayerClass("hexagon-cell-hifi",m.a),a=this._getForwardProps();return a.updateTriggers.getPolygon=function(e,t){return null==e?t:"object"===Qt()(e)?nn(nn({},e),{},{coverage:t}):{getHexagon:e,coverage:t}}(r.getHexagon,i),new o(a,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:a.updateTriggers}),{data:t,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:function(e,t){return cn(n(e,t),i,!0)}})}},{key:"_renderColumnLayer",value:function(){var e=this.props,t=e.data,n=e.getHexagon,r=e.updateTriggers,i=this.getSubLayerClass("hexagon-cell",$t.a),o=this._getForwardProps();return o.updateTriggers.getPosition=r.getHexagon,new i(o,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:o.updateTriggers}),{data:t,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:un.bind(null,n)})}}]),n}(y.a);fn.defaultProps=ln,fn.layerName="H3HexagonLayer";var hn=n(70),dn=n(18),pn=n(233),vn=n(229),gn=n(252),yn=n(330),mn=n(179),bn=n(234);function _n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function On(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:Bn;return Object(Me.f)(e)?(t[0]=n(e[0]),t[1]=n(e[1]),t[2]=e[2]):"longitude"in e?(t[0]=n(e.longitude),t[1]=n(e.latitude),t[2]=e.height):(t[0]=n(e.x),t[1]=n(e.y),t[2]=e.z),t}function Ln(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:In;return Rn(e,t,Me.b._cartographicRadians?Bn:Me.j)}function Dn(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Bn;return Object(Me.f)(t)?(t[0]=n(e[0]),t[1]=n(e[1]),t[2]=e[2]):"longitude"in t?(t.longitude=n(e[0]),t.latitude=n(e[1]),t.height=e[2]):(t.x=n(e[0]),t.y=n(e[1]),t.z=e[2]),t}function Fn(e,t){return Dn(e,t,Me.b._cartographicRadians?Bn:Me.i)}var Nn=new ne.a,Un=new ne.a,zn=new ne.a;var Gn=new ne.a,Vn={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},Hn={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Wn={east:new ne.a,north:new ne.a,up:new ne.a,west:new ne.a,south:new ne.a,down:new ne.a},Jn=new ne.a,Xn=new ne.a,Kn=new ne.a;function qn(e,t,n,r,i,o){var a,s,u,c=Vn[t]&&Vn[t][n];Object(Te.a)(c&&(!r||r===c));var l=Gn.copy(i);if(Object(Me.d)(l.x,0,1e-14)&&Object(Me.d)(l.y,0,1e-14)){var f=Math.sign(l.z);a=Jn.fromArray(Hn[t]),"east"!==t&&"west"!==t&&a.scale(f),s=Xn.fromArray(Hn[n]),"east"!==n&&"west"!==n&&s.scale(f),u=Kn.fromArray(Hn[r]),"east"!==r&&"west"!==r&&u.scale(f)}else{var h=Wn.up,d=Wn.east,p=Wn.north;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,h),p.copy(h).cross(d);var v=Wn.west,g=Wn.south;Wn.down.copy(h).scale(-1),v.copy(d).scale(-1),g.copy(p).scale(-1),a=Wn[t],s=Wn[n],u=Wn[r]}return o[0]=a.x,o[1]=a.y,o[2]=a.z,o[3]=0,o[4]=s.x,o[5]=s.y,o[6]=s.z,o[7]=0,o[8]=u.x,o[9]=u.y,o[10]=u.z,o[11]=0,o[12]=l.x,o[13]=l.y,o[14]=l.z,o[15]=1,o}var Zn,Yn=new ne.a,Qn=new ne.a,$n=new ne.a,er=new ne.a,tr=new ne.a,nr=new ne.a,rr=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;jn()(this,e),Object(Te.a)(t>=0),Object(Te.a)(n>=0),Object(Te.a)(r>=0),this.radii=new ne.a(t,n,r),this.radiiSquared=new ne.a(t*t,n*n,r*r),this.radiiToTheFourth=new ne.a(t*t*t*t,n*n*n*n,r*r*r*r),this.oneOverRadii=new ne.a(0===t?0:1/t,0===n?0:1/n,0===r?0:1/r),this.oneOverRadiiSquared=new ne.a(0===t?0:1/(t*t),0===n?0:1/(n*n),0===r?0:1/(r*r)),this.minimumRadius=Math.min(t,n,r),this.maximumRadius=Math.max(t,n,r),this.centerToleranceSquared=Ve.a.EPSILON1,0!==this.radiiSquared.z&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}return Tn()(e,[{key:"equals",value:function(e){return this===e||Boolean(e&&this.radii.equals(e.radii))}},{key:"toString",value:function(){return this.radii.toString()}},{key:"cartographicToCartesian",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=Qn,r=$n,i=kn()(e,3),o=i[2];this.geodeticSurfaceNormalCartographic(e,n),r.copy(this.radiiSquared).scale(n);var a=Math.sqrt(n.dot(r));return r.scale(1/a),n.scale(o),r.add(n),r.to(t)}},{key:"cartesianToCartographic",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];nr.from(e);var n=this.scaleToGeodeticSurface(nr,er);if(n){var r=this.geodeticSurfaceNormal(n,Qn),i=tr;i.copy(nr).subtract(n);var o=Math.atan2(r.y,r.x),a=Math.asin(r.z),s=Math.sign(Mn.f(i,nr))*Mn.i(i);return Fn([o,a,s],t)}}},{key:"eastNorthUpToFixedFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Ge.a;return qn(this,"east","north","up",e,t)}},{key:"localFrameToFixedFrame",value:function(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:new Ge.a;return qn(this,e,t,n,r,i)}},{key:"geocentricSurfaceNormal",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return Yn.from(e).normalize().to(t)}},{key:"geodeticSurfaceNormalCartographic",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=Ln(e),r=n[0],i=n[1],o=Math.cos(i);return Yn.set(o*Math.cos(r),o*Math.sin(r),Math.sin(i)).normalize(),Yn.to(t)}},{key:"geodeticSurfaceNormal",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return Yn.from(e).scale(this.oneOverRadiiSquared).normalize().to(t)}},{key:"scaleToGeodeticSurface",value:function(e,t){return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new ne.a,r=t.oneOverRadii,i=t.oneOverRadiiSquared,o=t.centerToleranceSquared;Nn.from(e);var a=e.x,s=e.y,u=e.z,c=r.x,l=r.y,f=r.z,h=a*a*c*c,d=s*s*l*l,p=u*u*f*f,v=h+d+p,g=Math.sqrt(1/v);if(Number.isFinite(g)){var y=Un;if(y.copy(e).scale(g),vVe.a.EPSILON12);return Nn.scale([w,x,A]).to(n)}}(e,this,t)}},{key:"scaleToGeocentricSurface",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];er.from(e);var n=er.x,r=er.y,i=er.z,o=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*o.x+r*r*o.y+i*i*o.z);return er.multiplyScalar(a).to(t)}},{key:"transformPositionToScaledSpace",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return er.from(e).scale(this.oneOverRadii).to(t)}},{key:"transformPositionFromScaledSpace",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return er.from(e).scale(this.radii).to(t)}},{key:"getSurfaceNormalIntersectionWithZAxis",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[0,0,0];Object(Te.a)(Object(Me.d)(this.radii.x,this.radii.y,Ve.a.EPSILON15)),Object(Te.a)(this.radii.z>0),er.from(e);var r=er.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(r)>=this.radii.z-t))return er.set(0,0,r).to(n)}}],[{key:"WGS84",get:function(){return Zn=Zn||new e(6378137,6378137,6356752.314245179)}}]),e}(),ir=n(95),or=n(104),ar=n(23),sr=function e(t,n,r){i()(this,e),Object(Pn.a)(this,"item",void 0),Object(Pn.a)(this,"previous",void 0),Object(Pn.a)(this,"next",void 0),this.item=t,this.previous=n,this.next=r},ur=function(){function e(){i()(this,e),Object(Pn.a)(this,"head",null),Object(Pn.a)(this,"tail",null),Object(Pn.a)(this,"_length",0)}return p()(e,[{key:"length",get:function(){return this._length}},{key:"add",value:function(e){var t=new sr(e,this.tail,null);return this.tail?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),++this._length,t}},{key:"remove",value:function(e){e&&(e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=null,this.tail=e.previous):e.next?(e.next.previous=null,this.head=e.next):(this.head=null,this.tail=null),e.next=null,e.previous=null,--this._length)}},{key:"splice",value:function(e,t){e!==t&&(this.remove(t),this._insert(e,t))}},{key:"_insert",value:function(e,t){var n=e.next;e.next=t,this.tail===e?this.tail=t:n.previous=t,t.next=n,t.previous=e,++this._length}}]),e}();function cr(e){return null!=e}var lr=function(){function e(){i()(this,e),Object(Pn.a)(this,"_list",void 0),Object(Pn.a)(this,"_sentinel",void 0),Object(Pn.a)(this,"_trimTiles",void 0),this._list=new ur,this._sentinel=this._list.add("sentinel"),this._trimTiles=!1}return p()(e,[{key:"reset",value:function(){this._list.splice(this._list.tail,this._sentinel)}},{key:"touch",value:function(e){var t=e._cacheNode;cr(t)&&this._list.splice(this._sentinel,t)}},{key:"add",value:function(e,t,n){cr(t._cacheNode)||(t._cacheNode=this._list.add(t),n&&n(e,t))}},{key:"unloadTile",value:function(e,t,n){var r=t._cacheNode;cr(r)&&(this._list.remove(r),t._cacheNode=void 0,n&&n(e,t))}},{key:"unloadTiles",value:function(e,t){var n=this._trimTiles;this._trimTiles=!1;for(var r=this._list,i=1024*e.maximumMemoryUsage*1024,o=this._sentinel,a=r.head;a!==o&&(e.gpuMemoryUsageInBytes>i||n);){var s=a.item;a=a.next,this.unloadTile(e,s,t)}}},{key:"trim",value:function(){this._trimTiles=!0}}]),e}();var fr=new ne.a,hr=new ne.a,dr=new ze([new Re,new Re,new Re,new Re,new Re,new Re]);function pr(e,t){var n=e.cameraDirection,r=e.cameraUp,i=e.height,o=e.distanceScales.metersPerUnit,a=e.unprojectPosition(e.center),s=rr.WGS84.cartographicToCartesian(a,new ne.a),u=rr.WGS84.eastNorthUpToFixedFrame(s),c=e.unprojectPosition(e.cameraPosition),l=rr.WGS84.cartographicToCartesian(c,new ne.a),f=new ne.a(u.transformAsVector(new ne.a(n).scale(o))).normalize(),h=new ne.a(u.transformAsVector(new ne.a(r).scale(o))).normalize();return function(e,t){var n=e.getFrustumPlanes(),r=0;for(var i in n){var o=n[i],a=o.normal.dot(e.center);hr.copy(o.normal).scale(o.distance-a).add(e.center);var s=e.unprojectPosition(hr),u=rr.WGS84.cartographicToCartesian(s,new ne.a);dr.planes[r++].fromPointNormal(u,fr.copy(t).subtract(u))}}(e,s),{camera:{position:l,direction:f,up:h},viewport:e,height:i,cullingVolume:dr,frameNumber:t,sseDenominator:1.15}}var vr=new ne.a;function gr(e){var t=e.halfAxes,n=e.radius,r=e.width,i=e.height;if(t){var o=function(e){e.getColumn(0,vr);var t=e.getColumn(1),n=e.getColumn(2);return vr.add(t).add(n).len()}(t);return Math.log2(6356752.314245179/o)}return n?Math.log2(6356752.314245179/n):i&&r?(Math.log2(6378137/r)+Math.log2(6378137/i))/2:1}var yr=0,mr=1,br=3,_r=4,Or=5,wr=1,xr=2,Ar="empty",Pr="scenegraph",Sr="pointcloud",kr="mesh",Cr="I3S",jr="TILES3D",Er="geometricError",Tr=1;function Mr(e){return null!=e}var Br=new ne.a,Ir=new ne.a,Rr=new ne.a;function Lr(e,t,n){if(Object(or.a)(e,"3D Tile: boundingVolume must be defined"),e.box)return function(e,t,n){var r=new ne.a(e[0],e[1],e[2]);t.transform(r,r);var i=[];if(10===e.length){var o=e.slice(3,6),a=new de.a;a.fromArray(e,6);var s=new ne.a([1,0,0]),u=new ne.a([0,1,0]),c=new ne.a([0,0,1]);s.transformByQuaternion(a),s.scale(o[0]),u.transformByQuaternion(a),u.scale(o[1]),c.transformByQuaternion(a),c.scale(o[2]),i=[].concat(Z()(s.toArray()),Z()(u.toArray()),Z()(c.toArray()))}else i=[].concat(Z()(e.slice(3,6)),Z()(e.slice(6,9)),Z()(e.slice(9,12)));var l=t.transformAsVector(i.slice(0,3)),f=t.transformAsVector(i.slice(3,6)),h=t.transformAsVector(i.slice(6,9)),d=new he.a([l[0],l[1],l[2],f[0],f[1],f[2],h[0],h[1],h[2]]);if(Mr(n))return n.center=r,n.halfAxes=d,n;return new Ee(r,d)}(e.box,t,n);if(e.region){var r=A()(e.region,6),i=r[0],o=r[1],a=r[2],s=r[3],u=r[4],c=r[5],l=rr.WGS84.cartographicToCartesian([Object(Me.c)(i),Object(Me.c)(s),u],Ir),f=rr.WGS84.cartographicToCartesian([Object(Me.c)(a),Object(Me.c)(o),c],Rr),h=(new ne.a).addVectors(l,f).multiplyScalar(.5),d=(new ne.a).subVectors(l,f).len()/2;return Dr([h[0],h[1],h[2],d],new Ge.a)}if(e.sphere)return Dr(e.sphere,t,n);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function Dr(e,t,n){var r=new ne.a(e[0],e[1],e[2]);t.transform(r,r);var i=t.getScale(Br),o=Math.max(Math.max(i[0],i[1]),i[2]),a=e[3]*o;return Mr(n)?(n.center=r,n.radius=a,n):new ce(r,a)}new ne.a,new ne.a,new Ge.a,new ne.a,new ne.a,new ne.a;function Fr(e,t){if(e.dynamicScreenSpaceError&&e.dynamicScreenSpaceErrorComputedDensity){var n=e.dynamicScreenSpaceErrorComputedDensity,r=e.dynamicScreenSpaceErrorFactor;return function(e,t){var n=e*t;return 1-Math.exp(-n*n)}(t,n)*r}return 0}function Nr(e,t){var n=t.viewport,r=new(0,n.constructor)({longitude:n.longitude,latitude:n.latitude,height:n.height,width:n.width,bearing:n.bearing,zoom:n.zoom,pitch:0}),i=e.header.mbs[1],o=e.header.mbs[0],a=e.header.mbs[2],s=e.header.mbs[3],u=Z()(e.boundingVolume.center),c=r.unprojectPosition(r.cameraPosition),l=rr.WGS84.cartographicToCartesian(c,new ne.a),f=new ne.a(l).subtract(u).normalize(),h=new Ge.a;rr.WGS84.eastNorthUpToFixedFrame(u,h);var d=new Ge.a(h).invert(),p=new ne.a(l).transform(d),v=Math.sqrt(p[0]*p[0]+p[1]*p[1]),g=v*v/p[2],y=new ne.a([p[0],p[1],g]).transform(h),m=new ne.a(y).subtract(u).normalize(),b=f.cross(m).normalize().scale(s),_=new ne.a(u).add(b),O=rr.WGS84.cartesianToCartographic(_),w=r.project([o,i,a]),x=r.project(O);return new ne.a(w).subtract(x).magnitude()}var Ur=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;i()(this,e),Object(Pn.a)(this,"_map",new Map),Object(Pn.a)(this,"_array",void 0),Object(Pn.a)(this,"_length",void 0),this._array=new Array(t),this._length=t}return p()(e,[{key:"length",get:function(){return this._length},set:function(e){this._length=e,e>this._array.length&&(this._array.length=e)}},{key:"values",get:function(){return this._array}},{key:"get",value:function(e){return Object(or.a)(e=0),e>=this.length&&(this.length=e+1),this._map.has(this._array[e])&&this._map.delete(this._array[e]),this._array[e]=t,this._map.set(t,e)}},{key:"delete",value:function(e){var t=this._map.get(e);t>=0&&(this._array.splice(t,1),this._map.delete(e),this.length--)}},{key:"peek",value:function(){return this._array[this._length-1]}},{key:"push",value:function(e){if(!this._map.has(e)){var t=this.length++;this._array[t]=e,this._map.set(e,t)}}},{key:"pop",value:function(){var e=this._array[--this.length];return this._map.delete(e),e}},{key:"reserve",value:function(e){Object(or.a)(e>=0),e>this._array.length&&(this._array.length=e)}},{key:"resize",value:function(e){Object(or.a)(e>=0),this.length=e}},{key:"trim",value:function(e){null==e&&(e=this.length),this._array.length=e}},{key:"reset",value:function(){this._array=[],this._map=new Map,this._length=0}},{key:"find",value:function(e){return this._map.has(e)}}]),e}();function zr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Gr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Gr(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Gr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0;){var r=n.pop(),i=!1;this.canTraverse(r,t)&&(this.updateChildTiles(r,t),i=this.updateAndPushChildren(r,t,n,r.hasRenderContent?r._selectionDepth+1:r._selectionDepth));var o=r.parent,a=Boolean(!o||o._shouldRefine),s=!i;r.hasRenderContent?r.refine===wr?(this.loadTile(r,t),this.selectTile(r,t)):r.refine===xr&&(this.loadTile(r,t),s&&this.selectTile(r,t)):(this.emptyTiles[r.id]=r,this.loadTile(r,t),s&&this.selectTile(r,t)),this.touchTile(r,t),r._shouldRefine=i&&a}this.options.onTraversalEnd(t)}},{key:"updateChildTiles",value:function(e,t){var n,r=zr(e.children);try{for(r.s();!(n=r.n()).done;){var i=n.value;this.updateTile(i,t)}}catch(e){r.e(e)}finally{r.f()}return!0}},{key:"updateAndPushChildren",value:function(e,t,n,r){var i=this.options,o=i.loadSiblings,a=i.skipLevelOfDetail,s=e.children;s.sort(this.compareDistanceToCamera.bind(this));var u,c=e.refine===xr&&e.hasRenderContent&&!a,l=!1,f=!0,h=zr(s);try{for(h.s();!(u=h.n()).done;){var d=u.value;if(d._selectionDepth=r,d.isVisibleAndInRequestVolume?(n.find(d)&&n.delete(d),n.push(d),l=!0):(c||o)&&(this.loadTile(d,t),this.touchTile(d,t)),c){var p=void 0;if(p=!!d._inRequestVolume&&(d.hasRenderContent?d.contentAvailable:this.executeEmptyTraversal(d,t)),!(f=f&&p))return!1}}}catch(e){h.e(e)}finally{h.f()}return l||(f=!1),f}},{key:"updateTile",value:function(e,t){this.updateTileVisibility(e,t)}},{key:"selectTile",value:function(e,t){this.shouldSelectTile(e)&&(e._selectedFrame=t.frameNumber,this.selectedTiles[e.id]=e)}},{key:"loadTile",value:function(e,t){this.shouldLoadTile(e)&&(e._requestedFrame=t.frameNumber,e._priority=e._getPriority(),this.requestedTiles[e.id]=e)}},{key:"touchTile",value:function(e,t){e.tileset._cache.touch(e),e._touchedFrame=t.frameNumber}},{key:"canTraverse",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return!!e.hasChildren&&(e.hasTilesetContent?!e.contentExpired:!(!r&&!e.isVisibleAndInRequestVolume)&&this.shouldRefine(e,t,n))}},{key:"shouldLoadTile",value:function(e){return e.hasUnloadedContent||e.contentExpired}},{key:"shouldSelectTile",value:function(e){return e.contentAvailable&&!this.options.skipLevelOfDetail}},{key:"shouldRefine",value:function(e,t,n){var r=e._screenSpaceError;return n&&(r=e.getScreenSpaceError(t,!0)),r>this.options.maximumScreenSpaceError}},{key:"updateTileVisibility",value:function(e,t){var n=[];if(this.options.viewportTraversersMap)for(var r in this.options.viewportTraversersMap){this.options.viewportTraversersMap[r]===t.viewport.id&&n.push(r)}else n.push(t.viewport.id);e.updateVisibility(t,n)}},{key:"compareDistanceToCamera",value:function(e,t){return e._distanceToCamera-t._distanceToCamera}},{key:"anyChildrenVisible",value:function(e,t){var n,r=!1,i=zr(e.children);try{for(i.s();!(n=i.n()).done;){var o=n.value;o.updateVisibility(t),r=r||o.isVisibleAndInRequestVolume}}catch(e){i.e(e)}finally{i.f()}return r}},{key:"executeEmptyTraversal",value:function(e,t){var n=!0,r=this._emptyTraversalStack;for(r.push(e);r.length>0&&n;){var i=r.pop();if(this.updateTile(i,t),i.isVisibleAndInRequestVolume||this.loadTile(i,t),this.touchTile(i,t),!i.hasRenderContent&&this.canTraverse(i,t,!1,!0)){var o,a=zr(i.children);try{for(a.s();!(o=a.n()).done;){var s=o.value;r.find(s)&&r.delete(s),r.push(s)}}catch(e){a.e(e)}finally{a.f()}}else i.contentAvailable||(n=!1)}return n}}]),e}();function Xr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Kr(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:"";i()(this,e),Object(Pn.a)(this,"tileset",void 0),Object(Pn.a)(this,"header",void 0),Object(Pn.a)(this,"id",void 0),Object(Pn.a)(this,"url",void 0),Object(Pn.a)(this,"parent",void 0),Object(Pn.a)(this,"refine",void 0),Object(Pn.a)(this,"type",void 0),Object(Pn.a)(this,"contentUrl",void 0),Object(Pn.a)(this,"lodMetricType",void 0),Object(Pn.a)(this,"lodMetricValue",void 0),Object(Pn.a)(this,"boundingVolume",void 0),Object(Pn.a)(this,"content",void 0),Object(Pn.a)(this,"contentState",void 0),Object(Pn.a)(this,"gpuMemoryUsageInBytes",void 0),Object(Pn.a)(this,"children",void 0),Object(Pn.a)(this,"depth",void 0),Object(Pn.a)(this,"viewportIds",void 0),Object(Pn.a)(this,"transform",void 0),Object(Pn.a)(this,"extensions",void 0),Object(Pn.a)(this,"userData",void 0),Object(Pn.a)(this,"computedTransform",void 0),Object(Pn.a)(this,"hasEmptyContent",void 0),Object(Pn.a)(this,"hasTilesetContent",void 0),Object(Pn.a)(this,"traverser",void 0),Object(Pn.a)(this,"_cacheNode",void 0),Object(Pn.a)(this,"_frameNumber",void 0),Object(Pn.a)(this,"_lodJudge",void 0),Object(Pn.a)(this,"_expireDate",void 0),Object(Pn.a)(this,"_expiredContent",void 0),Object(Pn.a)(this,"_shouldRefine",void 0),Object(Pn.a)(this,"_distanceToCamera",void 0),Object(Pn.a)(this,"_centerZDepth",void 0),Object(Pn.a)(this,"_screenSpaceError",void 0),Object(Pn.a)(this,"_visibilityPlaneMask",void 0),Object(Pn.a)(this,"_visible",void 0),Object(Pn.a)(this,"_inRequestVolume",void 0),Object(Pn.a)(this,"_stackLength",void 0),Object(Pn.a)(this,"_selectionDepth",void 0),Object(Pn.a)(this,"_touchedFrame",void 0),Object(Pn.a)(this,"_visitedFrame",void 0),Object(Pn.a)(this,"_selectedFrame",void 0),Object(Pn.a)(this,"_requestedFrame",void 0),Object(Pn.a)(this,"_priority",void 0),Object(Pn.a)(this,"_contentBoundingVolume",void 0),Object(Pn.a)(this,"_viewerRequestVolume",void 0),Object(Pn.a)(this,"_initialTransform",void 0),this.header=n,this.tileset=t,this.id=o||n.id,this.url=n.url,this.parent=r,this.refine=this._getRefine(n.refine),this.type=n.type,this.contentUrl=n.contentUrl,this.lodMetricType="geometricError",this.lodMetricValue=0,this.boundingVolume=null,this.content=null,this.contentState=yr,this.gpuMemoryUsageInBytes=0,this.children=[],this.hasEmptyContent=!1,this.hasTilesetContent=!1,this.depth=0,this.viewportIds=[],this.userData={},this.extensions=null,this._priority=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._screenSpaceError=0,this._cacheNode=null,this._frameNumber=null,this._cacheNode=null,this.traverser=new Jr({}),this._shouldRefine=!1,this._distanceToCamera=0,this._centerZDepth=0,this._visible=void 0,this._inRequestVolume=!1,this._stackLength=0,this._selectionDepth=0,this._initialTransform=new Ge.a,this.transform=new Ge.a,this._initializeLodMetric(n),this._initializeTransforms(n),this._initializeBoundingVolumes(n),this._initializeContent(n),this._initializeRenderingState(n),this._lodJudge=null,this._expireDate=null,this._expiredContent=null,Object.seal(this)}var t;return p()(e,[{key:"destroy",value:function(){this.header=null}},{key:"isDestroyed",value:function(){return null===this.header}},{key:"selected",get:function(){return this._selectedFrame===this.tileset._frameNumber}},{key:"isVisible",get:function(){return this._visible}},{key:"isVisibleAndInRequestVolume",get:function(){return this._visible&&this._inRequestVolume}},{key:"hasRenderContent",get:function(){return!this.hasEmptyContent&&!this.hasTilesetContent}},{key:"hasChildren",get:function(){return this.children.length>0||this.header.children&&this.header.children.length>0}},{key:"contentReady",get:function(){return this.contentState===br||this.hasEmptyContent}},{key:"contentAvailable",get:function(){return Boolean(this.contentReady&&this.hasRenderContent||this._expiredContent&&!this.contentFailed)}},{key:"hasUnloadedContent",get:function(){return this.hasRenderContent&&this.contentUnloaded}},{key:"contentUnloaded",get:function(){return this.contentState===yr}},{key:"contentExpired",get:function(){return this.contentState===_r}},{key:"contentFailed",get:function(){return this.contentState===Or}},{key:"getScreenSpaceError",value:function(e,t){switch(this.tileset.type){case Cr:return Nr(this,e);case jr:return function(e,t,n){var r=e.tileset,i=e.parent&&e.parent.lodMetricValue||e.lodMetricValue,o=n?i:e.lodMetricValue;if(0===o)return 0;var a=Math.max(e._distanceToCamera,1e-7),s=t.height,u=t.sseDenominator,c=o*s*(r.options.viewDistanceScale||1)/(a*u);return c-=Fr(r,a)}(this,e,t);default:throw new Error("Unsupported tileset type")}}},{key:"_getPriority",value:function(){var e=this.tileset._traverser,t=e.options.skipLevelOfDetail,n=this.refine===wr||t;if(n&&!this.isVisible&&void 0!==this._visible)return-1;if(this.tileset._frameNumber-this._touchedFrame>=1)return-1;if(this.contentState===yr)return-1;var r=this.parent,i=r&&(!n||0===this._screenSpaceError||r.hasTilesetContent)?r._screenSpaceError:this._screenSpaceError,o=e.root?e.root._screenSpaceError:0;return Math.max(o-i,0)}},{key:"loadContent",value:(t=H()(J.a.mark((function e(){var t,n,r,i;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.hasEmptyContent){e.next=2;break}return e.abrupt("return",!1);case 2:if(!this.content){e.next=4;break}return e.abrupt("return",!0);case 4:return this.contentExpired&&(this._expireDate=null),this.contentState=mr,e.next=9,this.tileset._requestScheduler.scheduleRequest(this.id,this._getPriority.bind(this));case 9:if(t=e.sent){e.next=13;break}return this.contentState=yr,e.abrupt("return",!1);case 13:return e.prev=13,n=this.tileset.getTileUrl(this.contentUrl),r=this.tileset.loader,i=Kr(Kr({},this.tileset.loadOptions),{},g()({},r.id,Kr(Kr({},this.tileset.loadOptions[r.id]),{},{isTileset:"json"===this.type},this._getLoaderSpecificOptions(r.id)))),e.next=19,Object(An.a)(n,r,i);case 19:if(this.content=e.sent,!this.tileset.options.contentLoader){e.next=23;break}return e.next=23,this.tileset.options.contentLoader(this);case 23:return this._isTileset()&&this.tileset._initializeTileHeaders(this.content,this),this.contentState=br,this._onContentLoaded(),e.abrupt("return",!0);case 29:throw e.prev=29,e.t0=e.catch(13),this.contentState=Or,e.t0;case 33:return e.prev=33,t.done(),e.finish(33);case 36:case"end":return e.stop()}}),e,this,[[13,29,33,36]])}))),function(){return t.apply(this,arguments)})},{key:"unloadContent",value:function(){return this.content&&this.content.destroy&&this.content.destroy(),this.content=null,this.header.content&&this.header.content.destroy&&this.header.content.destroy(),this.header.content=null,this.contentState=yr,!0}},{key:"updateVisibility",value:function(e,t){if(this._frameNumber!==e.frameNumber){var n=this.parent,r=n?n._visibilityPlaneMask:ze.MASK_INDETERMINATE;if(this.tileset._traverser.options.updateTransforms){var i=n?n.computedTransform:this.tileset.modelMatrix;this._updateTransform(i)}this._distanceToCamera=this.distanceToTile(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._visibilityPlaneMask=this.visibility(e,r),this._visible=this._visibilityPlaneMask!==ze.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._frameNumber=e.frameNumber,this.viewportIds=t}}},{key:"visibility",value:function(e,t){var n=e.cullingVolume,r=this.boundingVolume;return n.computeVisibilityWithPlaneMask(r,t)}},{key:"contentVisibility",value:function(){return!0}},{key:"distanceToTile",value:function(e){var t=this.boundingVolume;return Math.sqrt(Math.max(t.distanceSquaredTo(e.camera.position),0))}},{key:"cameraSpaceZDepth",value:function(e){var t=e.camera,n=this.boundingVolume;return qr.subVectors(n.center,t.position),t.direction.dot(qr)}},{key:"insideViewerRequestVolume",value:function(e){var t=this._viewerRequestVolume;return!t||t.distanceSquaredTo(e.camera.position)<=0}},{key:"updateExpiration",value:function(){if(null!=this._expireDate&&this.contentReady&&!this.hasEmptyContent){var e=Date.now();Date.lessThan(this._expireDate,e)&&(this.contentState=_r,this._expiredContent=this.content)}}},{key:"extras",get:function(){return this.header.extras}},{key:"_initializeLodMetric",value:function(e){"lodMetricType"in e?this.lodMetricType=e.lodMetricType:(this.lodMetricType=this.parent&&this.parent.lodMetricType||this.tileset.lodMetricType,console.warn("3D Tile: Required prop lodMetricType is undefined. Using parent lodMetricType")),"lodMetricValue"in e?this.lodMetricValue=e.lodMetricValue:(this.lodMetricValue=this.parent&&this.parent.lodMetricValue||this.tileset.lodMetricValue,console.warn("3D Tile: Required prop lodMetricValue is undefined. Using parent lodMetricValue"))}},{key:"_initializeTransforms",value:function(e){this.transform=e.transform?new Ge.a(e.transform):new Ge.a;var t=this.parent,n=this.tileset,r=t&&t.computedTransform?t.computedTransform.clone():n.modelMatrix.clone();this.computedTransform=new Ge.a(r).multiplyRight(this.transform);var i=t&&t._initialTransform?t._initialTransform.clone():new Ge.a;this._initialTransform=new Ge.a(i).multiplyRight(this.transform)}},{key:"_initializeBoundingVolumes",value:function(e){this._contentBoundingVolume=null,this._viewerRequestVolume=null,this._updateBoundingVolume(e)}},{key:"_initializeContent",value:function(e){this.content={_tileset:this.tileset,_tile:this},this.hasEmptyContent=!0,this.contentState=yr,this.hasTilesetContent=!1,e.contentUrl&&(this.content=null,this.hasEmptyContent=!1)}},{key:"_initializeRenderingState",value:function(e){this.depth=e.level||(this.parent?this.parent.depth+1:0),this._shouldRefine=!1,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._visibilityPlaneMask=ze.MASK_INDETERMINATE,this._visible=void 0,this._inRequestVolume=!1,this._stackLength=0,this._selectionDepth=0,this._frameNumber=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._priority=0}},{key:"_getRefine",value:function(e){return e||this.parent&&this.parent.refine||xr}},{key:"_isTileset",value:function(){return-1!==this.contentUrl.indexOf(".json")}},{key:"_onContentLoaded",value:function(){switch(this.content&&this.content.type){case"vctr":case"geom":this.tileset._traverser.disableSkipLevelOfDetail=!0}this._isTileset()&&(this.hasTilesetContent=!0)}},{key:"_updateBoundingVolume",value:function(e){this.boundingVolume=Lr(e.boundingVolume,this.computedTransform,this.boundingVolume);var t=e.content;t&&(t.boundingVolume&&(this._contentBoundingVolume=Lr(t.boundingVolume,this.computedTransform,this._contentBoundingVolume)),e.viewerRequestVolume&&(this._viewerRequestVolume=Lr(e.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)))}},{key:"_updateTransform",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Ge.a,t=e.clone().multiplyRight(this.transform),n=!t.equals(this.computedTransform);n&&(this.computedTransform=t,this._updateBoundingVolume(this.header))}},{key:"_getLoaderSpecificOptions",value:function(e){switch(e){case"i3s":return Kr(Kr({},this.tileset.options.i3s),{},{tile:this.header,tileset:this.tileset.tileset,isTileHeader:!1});case"3d-tiles":case"cesium-ion":default:return{assetGltfUpAxis:(t=this.tileset.tileset).asset&&t.asset.gltfUpAxis||"Y"}}var t}}]),e}();function Yr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l()(e);if(t){var i=l()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u()(this,n)}}var Qr=function(e){a()(n,e);var t=Yr(n);function n(){return i()(this,n),t.apply(this,arguments)}return p()(n,[{key:"compareDistanceToCamera",value:function(e,t){return 0===t._distanceToCamera&&0===e._distanceToCamera?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera}},{key:"updateTileVisibility",value:function(e,t){if(Ut()(l()(n.prototype),"updateTileVisibility",this).call(this,e,t),e.isVisibleAndInRequestVolume){var r=e.children.length>0;if(e.hasTilesetContent&&r){var i=e.children[0];return this.updateTileVisibility(i,t),void(e._visible=i._visible)}if(this.meetsScreenSpaceErrorEarly(e,t))e._visible=!1;else{var o=e.refine===xr,a=e._optimChildrenWithinParent===Tr;o&&a&&r&&!this.anyChildrenVisible(e,t)&&(e._visible=!1)}}}},{key:"meetsScreenSpaceErrorEarly",value:function(e,t){var n=e.parent;return!(!n||n.hasTilesetContent||n.refine!==wr)&&!this.shouldRefine(e,t,!0)}}]),n}(Jr),$r=n(20),ei=n.n($r),ti="REQUESTED",ni="COMPLETED",ri="ERROR",ii=function(){function e(){i()(this,e),Object(Pn.a)(this,"_statusMap",void 0),this._statusMap={}}return p()(e,[{key:"add",value:function(e,t,n,r){var i=this;this._statusMap[t]||(this._statusMap[t]={request:e,callback:n,key:t,frameState:r,status:ti},e().then((function(e){i._statusMap[t].status=ni,i._statusMap[t].callback(e,r)})).catch((function(e){i._statusMap[t].status=ri,n(e)})))}},{key:"update",value:function(e,t){this._statusMap[e]&&(this._statusMap[e].frameState=t)}},{key:"find",value:function(e){return this._statusMap[e]}}]),e}();function oi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ai(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ui(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function hi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1)}},{key:"update",value:function(e){if((!("loadTiles"in this.options)||this.options.loadTiles)&&!(this.traverseCounter>0)){!e&&this.lastUpdatedVieports?e=this.lastUpdatedVieports:this.lastUpdatedVieports=e,e instanceof Array||(e=[e]),this._cache.reset(),this._frameNumber++,this.traverseCounter=e.length;var t,n=[],r=fi(e);try{for(r.s();!(t=r.n()).done;){var i=t.value.id;this._needTraverse(i)?n.push(i):this.traverseCounter--}}catch(e){r.e(e)}finally{r.f()}var o,a=fi(e);try{for(a.s();!(o=a.n()).done;){var s=o.value,u=s.id;if(this.roots[u]||(this.roots[u]=this._initializeTileHeaders(this.tileset,null)),n.includes(u)){var c=pr(s,this._frameNumber);this._traverser.traverse(this.roots[u],c,this.options)}}}catch(e){a.e(e)}finally{a.f()}}}},{key:"_needTraverse",value:function(e){var t=e;return this.options.viewportTraversersMap&&(t=this.options.viewportTraversersMap[e]),t===e}},{key:"_onTraversalEnd",value:function(e){var t=e.viewport.id;this.frameStateData[t]||(this.frameStateData[t]={selectedTiles:[],_requestedTiles:[],_emptyTiles:[]});var n=this.frameStateData[t],r=Object.values(this._traverser.selectedTiles);n.selectedTiles=r,n._requestedTiles=Object.values(this._traverser.requestedTiles),n._emptyTiles=Object.values(this._traverser.emptyTiles),this.traverseCounter--,this.traverseCounter>0||this._updateTiles()}},{key:"_updateTiles",value:function(){for(var e in this.selectedTiles=[],this._requestedTiles=[],this._emptyTiles=[],this.frameStateData){var t=this.frameStateData[e];this.selectedTiles=this.selectedTiles.concat(t.selectedTiles),this._requestedTiles=this._requestedTiles.concat(t._requestedTiles),this._emptyTiles=this._emptyTiles.concat(t._emptyTiles)}this.selectedTiles=this.options.onTraversalComplete(this.selectedTiles);var n,r=fi(this.selectedTiles);try{for(r.s();!(n=r.n()).done;){var i=n.value;this._tiles[i.id]=i}}catch(e){r.e(e)}finally{r.f()}this._loadTiles(),this._unloadTiles(),this._updateStats()}},{key:"_tilesChanged",value:function(e,t){if(e.length!==t.length)return!0;var n=new Set(e.map((function(e){return e.id}))),r=new Set(t.map((function(e){return e.id}))),i=e.filter((function(e){return!r.has(e.id)})).length>0;return i=i||t.filter((function(e){return!n.has(e.id)})).length>0}},{key:"_loadTiles",value:function(){var e,t=fi(this._requestedTiles);try{for(t.s();!(e=t.n()).done;){var n=e.value;n.contentUnloaded&&this._loadTile(n)}}catch(e){t.e(e)}finally{t.f()}}},{key:"_unloadTiles",value:function(){this._cache.unloadTiles(this,(function(e,t){return e._unloadTile(t)}))}},{key:"_updateStats",value:function(){var e,t=0,n=0,r=fi(this.selectedTiles);try{for(r.s();!(e=r.n()).done;){var i=e.value;i.contentAvailable&&i.content&&(t++,i.content.pointCount&&(n+=i.content.pointCount))}}catch(e){r.e(e)}finally{r.f()}this.stats.get("Tiles In View").count=this.selectedTiles.length,this.stats.get("Tiles To Render").count=t,this.stats.get("Points").count=n}},{key:"_initializeTileSet",value:function(e){this.root=this._initializeTileHeaders(e,null),this.type===jr&&this._initializeCesiumTileset(e),this.type===Cr&&this._initializeI3STileset(),this._calculateViewProps()}},{key:"_calculateViewProps",value:function(){var e=this.root;Object(or.a)(e);var t=e.boundingVolume.center;if(!t)return console.warn("center was not pre-calculated for the root tile"),this.cartographicCenter=new ne.a,void(this.zoom=1);this.cartographicCenter=rr.WGS84.cartesianToCartographic(t,new ne.a),this.cartesianCenter=t,this.zoom=gr(e.boundingVolume)}},{key:"_initializeStats",value:function(){this.stats.get("Tiles In Tileset(s)"),this.stats.get("Tiles Loading"),this.stats.get("Tiles In Memory"),this.stats.get("Tiles In View"),this.stats.get("Tiles To Render"),this.stats.get("Tiles Loaded"),this.stats.get("Tiles Unloaded"),this.stats.get("Failed Tile Loads"),this.stats.get("Points","memory"),this.stats.get("Tile Memory Use","memory")}},{key:"_initializeTileHeaders",value:function(e,t){var n=new Zr(this,e.root,t);if(t&&(t.children.push(n),n.depth=t.depth+1),this.type===jr){var r=[];for(r.push(n);r.length>0;){var i=r.pop();this.stats.get("Tiles In Tileset(s)").incrementCount();var o,a=fi(i.header.children||[]);try{for(a.s();!(o=a.n()).done;){var s=o.value,u=new Zr(this,s,i);i.children.push(u),u.depth=i.depth+1,r.push(u)}}catch(e){a.e(e)}finally{a.f()}}}return n}},{key:"_initializeTraverser",value:function(){var e;switch(this.type){case jr:e=Qr;break;case Cr:e=li;break;default:e=Jr}return new e({basePath:this.basePath,onTraversalEnd:this._onTraversalEnd.bind(this)})}},{key:"_destroyTileHeaders",value:function(e){this._destroySubtree(e)}},{key:"_loadTile",value:(t=H()(J.a.mark((function e(t){var n;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this._onStartTileLoading(),e.next=4,t.loadContent();case 4:n=e.sent,e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),this._onTileLoadError(t,e.t0);case 10:return e.prev=10,this._onEndTileLoading(),this._onTileLoad(t,n),e.finish(10);case 14:case"end":return e.stop()}}),e,this,[[0,7,10,14]])}))),function(e){return t.apply(this,arguments)})},{key:"_onTileLoadError",value:function(e,t){this.stats.get("Failed Tile Loads").incrementCount();var n=t.message||t.toString(),r=e.url;console.error("A 3D tile failed to load: ".concat(e.url," ").concat(n)),this.options.onTileError(e,n,r)}},{key:"_onTileLoad",value:function(e,t){t&&(e&&e.content&&function(e,t){Object(or.a)(e),Object(or.a)(t);var n=t.rtcCenter,r=t.gltfUpAxis,i=e.computedTransform,o=e.boundingVolume.center,a=new Ge.a(i);switch(n&&a.translate(n),r){case"Z":break;case"Y":var s=(new Ge.a).rotateX(Math.PI/2);a=a.multiplyRight(s);break;case"X":var u=(new Ge.a).rotateY(-Math.PI/2);a=a.multiplyRight(u)}t.isQuantized&&a.translate(t.quantizedVolumeOffset).scale(t.quantizedVolumeScale);var c=new ne.a(o);t.cartesianModelMatrix=a,t.cartesianOrigin=c;var l=rr.WGS84.cartesianToCartographic(c,new ne.a),f=rr.WGS84.eastNorthUpToFixedFrame(c).invert();t.cartographicModelMatrix=f.multiplyRight(a),t.cartographicOrigin=l,t.coordinateSystem||(t.modelMatrix=t.cartographicModelMatrix)}(e,e.content),this._addTileToCache(e),this.options.onTileLoad(e))}},{key:"_onStartTileLoading",value:function(){this._pendingCount++,this.stats.get("Tiles Loading").incrementCount()}},{key:"_onEndTileLoading",value:function(){this._pendingCount--,this.stats.get("Tiles Loading").decrementCount()}},{key:"_addTileToCache",value:function(e){this._cache.add(this,e,(function(t){return t._updateCacheStats(e)}))}},{key:"_updateCacheStats",value:function(e){this.stats.get("Tiles Loaded").incrementCount(),this.stats.get("Tiles In Memory").incrementCount(),this.gpuMemoryUsageInBytes+=e.content.byteLength||0,this.stats.get("Tile Memory Use").count=this.gpuMemoryUsageInBytes}},{key:"_unloadTile",value:function(e){this.gpuMemoryUsageInBytes-=e.content&&e.content.byteLength||0,this.stats.get("Tiles In Memory").decrementCount(),this.stats.get("Tiles Unloaded").incrementCount(),this.stats.get("Tile Memory Use").count=this.gpuMemoryUsageInBytes,this.options.onTileUnload(e),e.unloadContent()}},{key:"_destroy",value:function(){var e=[];for(this.root&&e.push(this.root);e.length>0;){var t,n=e.pop(),r=fi(n.children);try{for(r.s();!(t=r.n()).done;){var i=t.value;e.push(i)}}catch(e){r.e(e)}finally{r.f()}this._destroyTile(n)}this.root=null}},{key:"_destroySubtree",value:function(e){var t=e,n=[];for(n.push(t);n.length>0;){var r,i=fi((e=n.pop()).children);try{for(i.s();!(r=i.n()).done;){var o=r.value;n.push(o)}}catch(e){i.e(e)}finally{i.f()}e!==t&&this._destroyTile(e)}t.children=[]}},{key:"_destroyTile",value:function(e){this._cache.unloadTile(this,e),this._unloadTile(e),e.destroy()}},{key:"_initializeCesiumTileset",value:function(e){if(this.asset=e.asset,!this.asset)throw new Error("Tileset must have an asset property.");if("0.0"!==this.asset.version&&"1.0"!==this.asset.version)throw new Error("The tileset must be 3D Tiles version 0.0 or 1.0.");"tilesetVersion"in this.asset&&(this._queryParams.v=this.asset.tilesetVersion),this.credits={attributions:this.options.attributions||[]},this.description=this.options.description||"",this.properties=e.properties,this.geometricError=e.geometricError,this._extensionsUsed=e.extensionsUsed,this.extras=e.extras}},{key:"_initializeI3STileset",value:function(){this.loadOptions.i3s&&"token"in this.loadOptions.i3s&&(this._queryParams.token=this.loadOptions.i3s.token)}}]),e}();var yi={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"};Object.keys(yi);function mi(e,t,n){Object(or.a)(e instanceof ArrayBuffer);var r=new TextDecoder("utf8"),i=new Uint8Array(e,t,n);return r.decode(i)}function bi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=new DataView(e);return"".concat(String.fromCharCode(n.getUint8(t+0))).concat(String.fromCharCode(n.getUint8(t+1))).concat(String.fromCharCode(n.getUint8(t+2))).concat(String.fromCharCode(n.getUint8(t+3)))}var _i,Oi=n(178),wi=(_i={},g()(_i,5130,Float64Array),g()(_i,5126,Float32Array),g()(_i,5123,Uint16Array),g()(_i,5125,Uint32Array),g()(_i,5121,Uint8Array),g()(_i,5120,Int8Array),g()(_i,5122,Int16Array),g()(_i,5124,Int32Array),_i),xi={DOUBLE:5130,FLOAT:5126,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125,UNSIGNED_BYTE:5121,BYTE:5120,SHORT:5122,INT:5124},Ai=function(){function e(){i()(this,e)}return p()(e,null,[{key:"fromTypedArray",value:function(e){for(var t in e=ArrayBuffer.isView(e)?e.constructor:e,wi){if(wi[t]===e)return t}throw new Error("Failed to convert GL type")}},{key:"fromName",value:function(e){var t=xi[e];if(!t)throw new Error("Failed to convert GL type");return t}},{key:"getArrayType",value:function(e){switch(e){case 33635:case 32819:case 32820:return Uint16Array;default:var t=wi[e];if(!t)throw new Error("Failed to convert GL type");return t}}},{key:"getByteSize",value:function(t){return e.getArrayType(t).BYTES_PER_ELEMENT}},{key:"validate",value:function(t){return Boolean(e.getArrayType(t))}},{key:"createTypedArray",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;void 0===i&&(i=(n.byteLength-r)/e.getByteSize(t));var o=e.getArrayType(t);return new o(n,r,i)}}]),e}(),Pi=function(){function e(t,n){i()(this,e),Object(Pn.a)(this,"json",void 0),Object(Pn.a)(this,"buffer",void 0),Object(Pn.a)(this,"featuresLength",0),Object(Pn.a)(this,"_cachedTypedArrays",{}),this.json=t,this.buffer=n}return p()(e,[{key:"getExtension",value:function(e){return this.json.extensions&&this.json.extensions[e]}},{key:"hasProperty",value:function(e){return Boolean(this.json[e])}},{key:"getGlobalProperty",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5125,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=this.json[e];return r&&Number.isFinite(r.byteOffset)?this._getTypedArrayFromBinary(e,t,n,1,r.byteOffset):r}},{key:"getPropertyArray",value:function(e,t,n){var r=this.json[e];return r&&Number.isFinite(r.byteOffset)?("componentType"in r&&(t=Ai.fromName(r.componentType)),this._getTypedArrayFromBinary(e,t,n,this.featuresLength,r.byteOffset)):this._getTypedArrayFromArray(e,t,r)}},{key:"getProperty",value:function(e,t,n,r,i){var o=this.json[e];if(!o)return o;var a=this.getPropertyArray(e,t,n);if(1===n)return a[r];for(var s=0;s0?function(e,t,n){var r=e.classIds,i=e.parentCounts,o=e.parentIds,a=e.parentIndexes,s=r.length,u=scratchVisited;u.length=Math.max(u.length,s);var c=++marker,l=scratchStack;l.length=0,l.push(t);for(;l.length>0;)if(t=l.pop(),u[t]!==c){u[t]=c;var f=n(e,t);if(ji(f))return f;for(var h=i[t],d=a[t],p=0;p3&&void 0!==arguments[3]?arguments[3]:{};for(var s in i()(this,e),Object(Pn.a)(this,"json",void 0),Object(Pn.a)(this,"binary",void 0),Object(Pn.a)(this,"featureCount",void 0),Object(Pn.a)(this,"_extensions",void 0),Object(Pn.a)(this,"_properties",void 0),Object(Pn.a)(this,"_binaryProperties",void 0),Object(Pn.a)(this,"_hierarchy",void 0),Object(or.a)(r>=0),this.json=t||{},this.binary=n,this.featureCount=r,this._extensions=(null===(o=this.json)||void 0===o?void 0:o.extensions)||{},this._properties={},this.json)Ri[s]||(this._properties[s]=this.json[s]);this._binaryProperties=this._initializeBinaryProperties(),a["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Ei(this,this.json,this.binary))}return p()(e,[{key:"getExtension",value:function(e){return this.json&&this.json.extensions&&this.json.extensions[e]}},{key:"memorySizeInBytes",value:function(){return 0}},{key:"isClass",value:function(e,t){return this._checkBatchId(e),Object(or.a)("string"==typeof t,t),!!this._hierarchy&&Bi(Ti(this._hierarchy,e,(function(e,n){var r=e.classIds[n];return e.classes[r].name===t})))}},{key:"isExactClass",value:function(e,t){return Object(or.a)("string"==typeof t,t),this.getExactClassName(e)===t}},{key:"getExactClassName",value:function(e){if(this._checkBatchId(e),this._hierarchy){var t=this._hierarchy.classIds[e];return this._hierarchy.classes[t].name}}},{key:"hasProperty",value:function(e,t){return this._checkBatchId(e),Object(or.a)("string"==typeof t,t),Bi(this._properties[t])||this._hasPropertyInHierarchy(e,t)}},{key:"getPropertyNames",value:function(e,t){var n;this._checkBatchId(e),(t=Bi(t)?t:[]).length=0;var r=Object.keys(this._properties);return(n=t).push.apply(n,Z()(r)),this._hierarchy&&this._getPropertyNamesInHierarchy(e,t),t}},{key:"getProperty",value:function(e,t){if(this._checkBatchId(e),Object(or.a)("string"==typeof t,t),this._binaryProperties){var n=this._binaryProperties[t];if(Bi(n))return this._getBinaryProperty(n,e)}var r=this._properties[t];if(Bi(r))return Ii(r[e]);if(this._hierarchy){var i=this._getHierarchyProperty(e,t);if(Bi(i))return i}}},{key:"setProperty",value:function(e,t,n){var r=this.featureCount;if(this._checkBatchId(e),Object(or.a)("string"==typeof t,t),this._binaryProperties){var i=this._binaryProperties[t];if(i)return void this._setBinaryProperty(i,e,n)}if(!this._hierarchy||!this._setHierarchyProperty(this,e,t,n)){var o=this._properties[t];Bi(o)||(this._properties[t]=new Array(r),o=this._properties[t]),o[e]=Ii(n)}}},{key:"_checkBatchId",value:function(e){if(!(e>=0&&e2&&void 0!==arguments[2]?arguments[2]:0,r=new DataView(t);if(e.magic=r.getUint32(n,!0),n+=4,e.version=r.getUint32(n,!0),n+=4,e.byteLength=r.getUint32(n,!0),n+=4,1!==e.version)throw new Error("3D Tile Version ".concat(e.version," not supported"));return n}function Fi(e,t,n){var r,i=new DataView(t);e.header=e.header||{};var o=i.getUint32(n,!0);n+=4;var a=i.getUint32(n,!0);n+=4;var s=i.getUint32(n,!0);n+=4;var u=i.getUint32(n,!0);return n+=4,s>=570425344?(n-=8,r=o,s=a,u=0,o=0,a=0,console.warn("b3dm tile in legacy format.")):u>=570425344&&(n-=4,r=s,s=o,u=a,o=0,a=0,console.warn("b3dm tile in legacy format.")),e.header.featureTableJsonByteLength=o,e.header.featureTableBinaryByteLength=a,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=r,n}function Ni(e,t,n,r){return n=function(e,t,n,r){var i=e.header,o=i.featureTableJsonByteLength,a=i.featureTableBinaryByteLength,s=i.batchLength;if(e.featureTableJson={BATCH_LENGTH:s||0},o>0){var u=mi(t,n,o);e.featureTableJson=JSON.parse(u)}return n+=o,e.featureTableBinary=new Uint8Array(t,n,a),n+=a}(e,t,n),n=function(e,t,n,r){var i=e.header,o=i.batchTableJsonByteLength,a=i.batchTableBinaryByteLength;if(o>0){var s=mi(t,n,o);e.batchTableJson=JSON.parse(s),n+=o,a>0&&(e.batchTableBinary=new Uint8Array(t,n,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),n+=a)}return n}(e,t,n)}function Ui(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=e>>11&31,r=e>>5&63,i=31&e;return t[0]=n<<3,t[1]=r<<2,t[2]=i<<3,t}function zi(e,t,n){if(!(t||e&&e.batchIds&&n))return null;var r=e.batchIds,i=e.isRGB565,o=e.pointCount;if(r&&n){for(var a=new Uint8ClampedArray(3*o),s=0;s1&&void 0!==arguments[1]?arguments[1]:255;return Object(Me.a)(e,0,t)/t*2-1}function Wi(e){return e<0?-1:1}function Ji(e,t,n,r){if(Vi(r),e<0||e>n||t<0||t>n)throw new Error("x and y must be unsigned normalized integers between 0 and ".concat(n));if(r.x=Hi(e,n),r.y=Hi(t,n),r.z=1-(Math.abs(r.x)+Math.abs(r.y)),r.z<0){var i=r.x;r.x=(1-Math.abs(r.y))*Wi(i),r.y=(1-Math.abs(i))*Wi(r.y)}return r.normalize()}function Xi(e,t,n){return Ji(e,t,255,n)}var Ki=new ne.a;function qi(e,t,n){return e.isQuantized?n["3d-tiles"]&&n["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,function(e,t){for(var n=new ne.a,r=new Float32Array(3*e.pointCount),i=0;i12)){e.next=13;break}return u={},t.tiles.push(u),e.next=10,a(n,r,i,o,u);case 10:r=e.sent,e.next=5;break;case 13:return e.abrupt("return",r);case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function So(e,t,n,r){return ko.apply(this,arguments)}function ko(){return(ko=H()(J.a.mark((function e(t,n,r,i){var o;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.rotateYtoZ=!0,t.gltfUpAxis=r["3d-tiles"]&&r["3d-tiles"].assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",o=i.parse,e.next=5,o(n,co.a,r,i);case 5:t.gltf=e.sent;case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Co(e){return jo.apply(this,arguments)}function jo(){return(jo=H()(J.a.mark((function e(t){var n,r,i,o,a=arguments;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=a.length>1&&void 0!==a[1]?a[1]:0,r=a.length>2?a[2]:void 0,i=a.length>3?a[3]:void 0,(o=a.length>4&&void 0!==a[4]?a[4]:{}).byteOffset=n,o.type=bi(t,n),e.t0=o.type,e.next=e.t0===yi.COMPOSITE?9:e.t0===yi.BATCHED_3D_MODEL?12:e.t0===yi.GLTF?15:e.t0===yi.INSTANCED_3D_MODEL?18:e.t0===yi.POINT_CLOUD?21:24;break;case 9:return e.next=11,Ao(o,t,n,r,i,Co);case 11:return e.abrupt("return",e.sent);case 12:return e.next=14,mo(o,t,n,r,i);case 14:return e.abrupt("return",e.sent);case 15:return e.next=17,So(o,t,r,i);case 17:return e.abrupt("return",e.sent);case 18:return e.next=20,Oo(o,t,n,r,i);case 20:return e.abrupt("return",e.sent);case 21:return e.next=23,Qi(o,t,n,r,i);case 23:return e.abrupt("return",e.sent);case 24:throw new Error("3DTileLoader: unknown type ".concat(o.type));case 25:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Eo=n(101);function To(){return(To=H()(J.a.mark((function e(t){var n,r,i,o,a,s,u;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(1952609651===new Uint32Array(t.slice(0,4))[0]){e.next=3;break}throw new Error("Wrong subtree file magic number");case 3:if(1===new Uint32Array(t.slice(4,8))[0]){e.next=6;break}throw new Error("Wrong subtree file verson, must be 1");case 6:if(n=Io(t.slice(8,16)),r=new Uint8Array(t,24,n),i=new TextDecoder("utf8"),o=i.decode(r),a=JSON.parse(o),s=Io(t.slice(16,24)),u=new ArrayBuffer(0),s&&(u=t.slice(24+n)),!("bufferView"in a.tileAvailability)){e.next=18;break}return e.next=17,Mo(a,"tileAvailability",u);case 17:a.tileAvailability.explicitBitstream=e.sent;case 18:if(!("bufferView"in a.contentAvailability)){e.next=22;break}return e.next=21,Mo(a,"contentAvailability",u);case 21:a.contentAvailability.explicitBitstream=e.sent;case 22:if(!("bufferView"in a.childSubtreeAvailability)){e.next=26;break}return e.next=25,Mo(a,"childSubtreeAvailability",u);case 25:a.childSubtreeAvailability.explicitBitstream=e.sent;case 26:return e.abrupt("return",a);case 27:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Mo(e,t,n){return Bo.apply(this,arguments)}function Bo(){return(Bo=H()(J.a.mark((function e(t,n,r){var i,o,a,s,u;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t[n].bufferView,o=t.bufferViews[i],!(a=t.buffers[o.buffer]).uri){e.next=11;break}return e.next=6,Object(Eo.a)(a.uri);case 6:return s=e.sent,e.next=9,s.arrayBuffer();case 9:return u=e.sent,e.abrupt("return",new Uint8Array(u,o.byteOffset,o.byteLength));case 11:return e.abrupt("return",new Uint8Array(r,o.byteOffset,o.byteLength));case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Io(e){var t=new DataView(e),n=t.getUint32(0,!0),r=t.getUint32(4,!0);return n+Math.pow(2,32)*r}var Ro={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:"3.1.5",extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:function(e){return To.apply(this,arguments)},options:{}},Lo={QUADTREE:4,OCTREE:8};function Do(e,t){return Fo.apply(this,arguments)}function Fo(){return(Fo=H()(J.a.mark((function e(t,n){var r,i,o,a,s,u,c,l,f,h,d,p,v,g,y,m,b,_,O,w,x,A,P,S,k,C,j,E,T,M,B,I,R,L,D=arguments;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=D.length>2&&void 0!==D[2]?D[2]:{mortonIndex:0,x:0,y:0,z:0},i=D.length>3&&void 0!==D[3]?D[3]:0,o=D.length>4&&void 0!==D[4]?D[4]:0,a=D.length>5&&void 0!==D[5]?D[5]:{level:0,mortonIndex:0,x:0,y:0,z:0},s=n.subdivisionScheme,u=n.subtreeLevels,c=n.maximumLevel,l=n.contentUrlTemplate,f=n.subtreesUriTemplate,h=n.basePath,d={children:[],lodMetricValue:0,contentUrl:""},p=Lo[s],v=1&i,g=i>>1&1,y=i>>2&1,m=(Math.pow(p,o)-1)/(p-1),b=zo(r.mortonIndex,i),_=m+b,O=zo(r.x,v),w=zo(r.y,g),x=zo(r.z,y),A=!1,o+1>u&&(A=No(t.childSubtreeAvailability,b)),P=zo(a.x,O),S=zo(a.y,w),k=zo(a.z,x),C=o+a.level,!A){e.next=40;break}return j="".concat(h,"/").concat(f),E=Go(j,C,P,S,k),e.next=27,Object(An.a)(E,Ro);case 27:T=e.sent,t=T,a.mortonIndex=b,a.x=O,a.y=w,a.z=x,a.level=o,b=0,_=0,O=0,w=0,x=0,o=0;case 40:if(No(t.tileAvailability,_)&&!(o>c)){e.next=43;break}return e.abrupt("return",d);case 43:No(t.contentAvailability,_)&&(d.contentUrl=Go(l,C,P,S,k)),M=o+1,B={mortonIndex:b,x:O,y:w,z:x},I=0;case 48:if(!(I>o&1));var n,r,i,o}function Uo(e,t,n,r){var i=r.basePath,o=r.refine,a=r.getRefine,s=r.lodMetricType,u=r.getTileType,c=r.rootLodMetricValue,l=r.rootBoundingVolume,f=e.contentUrl&&e.contentUrl.replace("".concat(i,"/"),""),h=c/Math.pow(2,t),d=function(e,t,n){if(t.region){var r=n.childTileX,i=n.childTileY,o=n.childTileZ,a=A()(t.region,6),s=a[0],u=a[1],c=a[2],l=a[3],f=a[4],h=a[5],d=Math.pow(2,e),p=(c-s)/d,v=(l-u)/d,g=(h-f)/d;return{region:[s+p*r,u+v*i,s+p*(r+1),u+v*(i+1),f+g*o,f+g*(o+1)]}}return console.warn("Unsupported bounding volume type: ",t),null}(t,l,n);return{children:e.children,contentUrl:e.contentUrl,content:{uri:f},id:e.contentUrl,refine:a(o),type:u(e),lodMetricType:s,lodMetricValue:h,boundingVolume:d}}function zo(e,t){return parseInt(e.toString(2)+t.toString(2),2)}function Go(e,t,n,r,i){var o=function(e){var t={};for(var n in e)t["{".concat(n,"}")]=e[n];return t}({level:t,x:n,y:r,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,(function(e){return o[e]}))}function Vo(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ho(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ho(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ho(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0;){var i,o=Vo((r.pop()||{}).children||[]);try{for(o.s();!(i=o.n()).done;){var a=i.value;Xo(a,{basePath:t}),r.push(a)}}catch(e){o.e(e)}finally{o.f()}}return n}function qo(e){return Zo.apply(this,arguments)}function Zo(){return(Zo=H()(J.a.mark((function e(t){var n,r,i,o,a,s,u,c,l,f,h,d,p,v;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.root){e.next=2;break}return e.abrupt("return",null);case 2:return n=t.basePath,r=t.root.extensions["3DTILES_implicit_tiling"],i=r.subdivisionScheme,o=r.maximumLevel,a=r.subtreeLevels,s=r.subtrees.uri,u=Go(s,0,0,0,0),c="".concat(n,"/").concat(u),e.next=9,Object(An.a)(c,Ro);case 9:return l=e.sent,f="".concat(n,"/").concat(t.root.content.uri),h=t.root.refine,d=t.root.geometricError,p=t.root.boundingVolume,v={contentUrlTemplate:f,subtreesUriTemplate:s,subdivisionScheme:i,subtreeLevels:a,maximumLevel:o,refine:h,basePath:n,lodMetricType:Er,rootLodMetricValue:d,rootBoundingVolume:p,getTileType:Wo,getRefine:Jo},e.next=17,Yo(t.root,l,v);case 17:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Yo(e,t,n){return Qo.apply(this,arguments)}function Qo(){return(Qo=H()(J.a.mark((function e(t,n,r){var i,o,a;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",null);case 2:return t.lodMetricType=Er,t.lodMetricValue=t.geometricError,t.transformMatrix=t.transform,e.next=7,Do(n,r);case 7:return i=e.sent,o=i.children,(a=i.contentUrl)&&(t.contentUrl=a,t.content={uri:a.replace("".concat(r.basePath,"/"),"")}),t.refine=Jo(t.refine),t.type=Wo(t),t.children=o,t.id=t.contentUrl,e.abrupt("return",t);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var $o={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:"3.1.5",extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:function(e,t,n){return oa.apply(this,arguments)},options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};function ea(e){return ar.b.dirname(e.url)}function ta(e,t,n){return na.apply(this,arguments)}function na(){return(na=H()(J.a.mark((function e(t,n,r){var i;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i={content:{featureIds:null}},0,e.next=4,Co(t,0,n,r,i.content);case 4:return e.abrupt("return",i.content);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ra(e,t,n){return ia.apply(this,arguments)}function ia(){return(ia=H()(J.a.mark((function e(t,n,r){var i,o;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((o=JSON.parse((new TextDecoder).decode(t))).loader=n.loader||$o,o.url=r.url,o.basePath=ea(o),!aa(o)){e.next=10;break}return e.next=7,qo(o);case 7:e.t0=e.sent,e.next=11;break;case 10:e.t0=Ko(o);case 11:return o.root=e.t0,o.type=jr,o.lodMetricType=Er,o.lodMetricValue=(null===(i=o.root)||void 0===i?void 0:i.lodMetricValue)||0,e.abrupt("return",o);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function oa(){return(oa=H()(J.a.mark((function e(t,n,r){var i;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=n["3d-tiles"]||{},!("auto"===i.isTileset?r.url&&-1!==r.url.indexOf(".json"):i.isTileset)){e.next=8;break}return e.next=5,ra(t,n,r);case 5:t=e.sent,e.next=11;break;case 8:return e.next=10,ta(t,n,r);case 10:t=e.sent;case 11:return e.abrupt("return",t);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function aa(e){var t,n;return(null==e?void 0:null===(t=e.extensionsRequired)||void 0===t?void 0:t.includes("3DTILES_implicit_tiling"))&&(null==e?void 0:null===(n=e.extensionsUsed)||void 0===n?void 0:n.includes("3DTILES_implicit_tiling"))}function sa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ua(e){for(var t=1;tt[1])&&this.setState({zRange:[r,i]})}}}},{key:"renderLayers",value:function(){var e=this.props,t=e.color,n=e.material,r=e.elevationData,i=e.texture,o=e.wireframe,a=e.meshMaxError,s=e.elevationDecoder,u=e.tileSize,c=e.maxZoom,l=e.minZoom,f=e.extent,h=e.maxRequests,d=e.onTileLoad,p=e.onTileUnload,v=e.onTileError,g=e.maxCacheSize,y=e.maxCacheByteSize,m=e.refinementStrategy;return this.state.isTiled?new Ft(this.getSubLayerProps({id:"tiles"}),{wireframe:o,color:t,material:n,getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:_a(r),texture:_a(i),meshMaxError:a,elevationDecoder:s}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:u,maxZoom:c,minZoom:l,extent:f,maxRequests:h,onTileLoad:d,onTileUnload:p,onTileError:v,maxCacheSize:g,maxCacheByteSize:y,refinementStrategy:m}):new(this.getSubLayerClass("mesh",bn.a))(this.getSubLayerProps({id:"mesh"}),{data:ma,mesh:this.state.terrain,texture:i,_instanced:!1,getPosition:function(e){return[0,0,0]},getColor:t,material:n,wireframe:o})}}]),n}(y.a);function wa(e){for(var t,n,r=0,i=0,o=e.length-1;i>3}if(i--,1===r||2===r)o+=e.readSVarint(),a+=e.readSVarint(),1===r&&(t&&s.push(t),t=[]),t&&t.push([o,a]);else{if(7!==r)throw new Error("unknown command ".concat(r));t&&t.push(t[0].slice())}}return t&&s.push(t),s}},{key:"bbox",value:function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,n=1,r=0,i=0,o=0,a=1/0,s=-1/0,u=1/0,c=-1/0;e.pos>3}if(r--,1===n||2===n)(i+=e.readSVarint())s&&(s=i),(o+=e.readSVarint())c&&(c=o);else if(7!==n)throw new Error("unknown command ".concat(n))}return[a,u,s,c]}},{key:"_toGeoJSON",value:function(t){var n,r,i=this.loadGeometry(),o=e.types[this.type];switch(this.type){case 1:var a=[];for(n=0;n=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new Aa(this._pbf,t,this.extent,this._keys,this._values)}}]),e}();function Sa(e,t,n){t&&n&&(15===e?t.version=n.readVarint():1===e?t.name=n.readString():5===e?t.extent=n.readVarint():2===e?t._features.push(n.pos):3===e?t._keys.push(n.readString()):4===e&&t._values.push(function(e){var t=null,n=e.readVarint()+e.pos;for(;e.pos>3;t=1===r?e.readString():2===r?e.readFloat():3===r?e.readDouble():4===r?e.readVarint64():5===r?e.readVarint():6===r?e.readSVarint():7===r?e.readBoolean():null}return t}(n)))}var ka=function e(t,n){i()(this,e),Object(Pn.a)(this,"layers",void 0),this.layers=t.readFields(Ca,{},n)};function Ca(e,t,n){if(3===e&&n){var r=new Pa(n,n.readVarint()+n.pos);r.length&&t&&(t[r.name]=r)}}var ja,Ea,Ta,Ma,Ba,Ia,Ra,La=n(42);function Da(e){var t=e.indices.length;if(t<=1)return{type:"Polygon",data:e.data,areas:[[Object(La.g)(e.data)]],indices:[e.indices]};for(var n,r,i,o=[],a=[],s=[],u=[],c=0,l=0;l=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ua(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n>3),Ma--,1===Ea||2===Ea)Ba+=e.readSVarint(),Ia+=e.readSVarint(),1===Ea&&t.push(Ra),n.push(Ba,Ia),Ra+=2;else{if(7!==Ea)throw new Error("unknown command ".concat(Ea));if(Ra>0){var r=t[t.length-1];n.push(n[r],n[r+1]),Ra+=2}}return{data:n,indices:t}}},{key:"_toBinaryCoordinates",value:function(e){var t,n=this.loadGeometry();e(n.data,this);switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=n.indices.length,t=Ga({type:"Point"},n);break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=n.indices.length,this._geometryInfo.linePositionsCount+=n.data.length/2,t=Ga({type:"LineString"},n);break;case 3:t=Da(n),this._geometryInfo.polygonFeaturesCount++,this._geometryInfo.polygonObjectsCount+=t.indices.length;var r,i=Na(t.indices);try{for(i.s();!(r=i.n()).done;){var o=r.value;this._geometryInfo.polygonRingsCount+=o.length}}catch(e){i.e(e)}finally{i.f()}this._geometryInfo.polygonPositionsCount+=t.data.length/2;break;default:throw new Error("Invalid geometry type: ".concat(this.type))}var a={type:"Feature",geometry:t,properties:this.properties};return null!==this.id&&(a.id=this.id),a}},{key:"toBinaryCoordinates",value:function(e){if("function"==typeof e)return this._toBinaryCoordinates(e);var t=e.x,n=e.y,r=e.z,i=this.extent*Math.pow(2,r),o=this.extent*t,a=this.extent*n;return this._toBinaryCoordinates((function(e){return function(e,t,n,r){for(var i=0,o=e.length;i=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var n=this._pbf.readVarint()+this._pbf.pos;return new Va(this._pbf,n,this.extent,this._keys,this._values,t)}}]),e}();function Wa(e,t,n){t&&n&&(15===e?t.version=n.readVarint():1===e?t.name=n.readString():5===e?t.extent=n.readVarint():2===e?t._features.push(n.pos):3===e?t._keys.push(n.readString()):4===e&&t._values.push(function(e){var t=null,n=e.readVarint()+e.pos;for(;e.pos>3;t=1===r?e.readString():2===r?e.readFloat():3===r?e.readDouble():4===r?e.readVarint64():5===r?e.readVarint():6===r?e.readSVarint():7===r?e.readBoolean():null}return t}(n)))}var Ja=function e(t,n){i()(this,e),Object(Pn.a)(this,"layers",void 0),this.layers=t.readFields(Xa,{},n)};function Xa(e,t,n){if(3===e&&n){var r=new Ha(n,n.readVarint()+n.pos);r.length&&t&&(t[r.name]=r)}}function Ka(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return qa(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return qa(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function qa(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n65535?Uint32Array:Uint16Array,_={type:"Point",positions:new y(r*d),globalFeatureIds:new b(r),featureIds:i>65535?new Uint32Array(r):new Uint16Array(r),numericProps:{},properties:[],fields:[]},O={type:"LineString",pathIndices:o>65535?new Uint32Array(a+1):new Uint16Array(a+1),positions:new y(o*d),globalFeatureIds:new b(o),featureIds:s>65535?new Uint32Array(o):new Uint16Array(o),numericProps:{},properties:[],fields:[]},w={type:"Polygon",polygonIndices:u>65535?new Uint32Array(c+1):new Uint16Array(c+1),primitivePolygonIndices:u>65535?new Uint32Array(l+1):new Uint16Array(l+1),positions:new y(u*d),triangles:[],globalFeatureIds:new b(u),featureIds:f>65535?new Uint32Array(u):new Uint16Array(u),numericProps:{},properties:[],fields:[]},x=0,A=[_,O,w];x0){var o=r?new Ja(new cs.a(e)):new ka(new cs.a(e)),a=t.mvt;(Array.isArray(a.layers)?a.layers:Object.keys(o.layers)).forEach((function(e){var t=o.layers[e],s=fs(fs({},a),{},{layerName:e});if(t)for(var u=0;u=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function xs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1)return{type:"MultiPoint",coordinates:r};return{type:"Point",coordinates:r[0]}}(e,t,n);case"LineString":return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1/0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,r=e.positions,i=e.pathIndices.value.filter((function(e){return e>=t&&e<=n})),o=i.length>2;if(!o){var a=js(r,i[0],i[1]);return{type:"LineString",coordinates:a}}for(var s=[],u=0;u1&&void 0!==arguments[1]?arguments[1]:-1/0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,i=t.positions,o=t.polygonIndices.value.filter((function(e){return e>=n&&e<=r})),a=t.primitivePolygonIndices.value.filter((function(e){return e>=n&&e<=r})),s=o.length>2;if(!s){for(var u=[],c=0;c1&&void 0!==arguments[1]?arguments[1]:0,n=(arguments.length>2&&arguments[2],Object.assign({},e.properties[e.featureIds.value[t]]));for(var r in e.numericProps)n[r]=e.numericProps[r].value[t];return n}(e,t,n)},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;arguments.length>2&&arguments[2];return e.fields&&e.fields[e.featureIds.value[t]]}(e,t,n))}function js(e,t,n){t=t||0,n=n||e.value.length/e.size;for(var r=[],i=t;i=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ns(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=o&&i[t]=0?e.globalFeatureIds.value[c]:-1}return(u=t?Gs(e.properties,(function(e){return e[t]===n}),o,a):Gs(e.fields,(function(e){return e.id===n}),o,a))>=0?function(e,t){if(!e.__ids){for(var n=[],r=e.featureIds.value,i=e.globalFeatureIds.value,o=0;o=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Hs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.minZoom&&(t.minZoom=n.minzoom),Number.isFinite(n.maxzoom)&&(!Number.isFinite(e.maxZoom)||n.maxzoom=0)return s}}catch(e){o.e(e)}finally{o.f()}return-1}(u,a,l,c?"":r):-1}},{key:"_pickObjects",value:function(e){var t=this.context,n=t.deck,r=t.viewport,i=r.width,o=r.height,a=r.x,s=r.y,u=[this.id];return n.pickObjects({x:a,y:s,width:i,height:o,layerIds:u,maxObjects:e})}},{key:"getRenderedFeatures",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=this._pickObjects(t),r=new Set,i=[],o=Vs(n);try{for(o.s();!(e=o.n()).done;){var a=e.value,s=Zs(a.object,this.props.uniqueIdProperty);void 0===s?i.push(a.object):r.has(s)||(r.add(s),i.push(a.object))}}catch(e){o.e(e)}finally{o.f()}return i}},{key:"_setWGS84PropertyForTiles",value:function(){var e=this;this.state.tileset.selectedTiles.forEach((function(t){t.hasOwnProperty("dataInWGS84")||Object.defineProperty(t,"dataInWGS84",{get:function(){if(!t.content)return null;if(e.state.binary&&Array.isArray(t.content)&&!t.content.length)return[];if(void 0===t._contentWGS84){var n=e.state.binary?As(t.content):t.content;t._contentWGS84=n.map((function(n){return $s(n,t.bbox,e.context.viewport)}))}return t._contentWGS84}})}))}}]),r}(Ft);function Zs(e,t){return t?e.properties[t]:"id"in e?e.id:void 0}function Ys(e){var t;return(null===(t=e.properties)||void 0===t?void 0:t.layerName)||null}function Qs(e){return null!=e&&""!==e}function $s(e,t,n){var r=Xs(Xs({},e),{},{geometry:{type:e.geometry.type}});return Object.defineProperty(r.geometry,"coordinates",{get:function(){return function(e,t,n){var r=[n.projectFlat([t.west,t.north]),n.projectFlat([t.east,t.south])];return Ms(Ms({},e),{},{coordinates:Bs[e.type](e.coordinates,r,n)})}(e.geometry,t,n).coordinates}}),r}qs.layerName="MVTLayer",qs.defaultProps=Ks,n.d(t,"GreatCircleLayer",(function(){return h})),n.d(t,"S2Layer",(function(){return L})),n.d(t,"QuadkeyLayer",(function(){return U})),n.d(t,"TileLayer",(function(){return Ft})),n.d(t,"TripsLayer",(function(){return Ht})),n.d(t,"H3ClusterLayer",(function(){return Zt})),n.d(t,"H3HexagonLayer",(function(){return fn})),n.d(t,"Tile3DLayer",(function(){return ha})),n.d(t,"TerrainLayer",(function(){return Oa})),n.d(t,"MVTLayer",(function(){return qs})),n.d(t,"_getURLFromTemplate",(function(){return bt}))},function(e,t,n){"use strict";n.r(t);var r,i,o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(0),m=n.n(y),b=n(22),_=n(182),O=n(10),w=n(253),x=n(199),A=n(179),P=n(328),S=n(329),k=n(153),C=n(215),j={SUM:1,MEAN:2,MIN:3,MAX:4};function E(e,t){return e+t}function T(e,t){return t>e?t:e}function M(e,t){return t1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isFinite(e))return e;return function(n){return t.index=n.index,e(n.source,t)}}(t,n),r){case j.MIN:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(M,1/0):null}(e,t)};case j.SUM:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?e.length*t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(E,0):null}(e,t)};case j.MEAN:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(E,0)/n.length:null}(e,t)};case j.MAX:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(T,-1/0):null}(e,t)};default:return null}}function I(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){return t.indices=n.map((function(e){return e.index})),e(n.map((function(e){return e.source})),t)}}var R,L={projectPoints:!1,viewport:null,createBufferObjects:!0,moduleSettings:{}},D=[32775,32774],F=[32776,32774],N=[32776,32775],U=(r={},m()(r,j.SUM,32774),m()(r,j.MEAN,32774),m()(r,j.MIN,D),m()(r,j.MAX,F),r),z={size:1,operation:j.SUM,needMin:!1,needMax:!1,combineMaxMin:!1},G=(i={},m()(i,10240,9728),m()(i,10241,9728),n(105)),V=n(81),H=(R={},m()(R,10240,9728),m()(R,10241,9728),R);function W(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.width,r=void 0===n?1:n,i=t.height,o=void 0===i?1:i,a=t.data,s=void 0===a?null:a,u=t.unpackFlipY,c=void 0===u||u,l=t.parameters,f=void 0===l?H:l,h=new G.a(e,{data:s,format:Object(O.j)(e)?34836:6408,type:5126,border:0,mipmaps:!1,parameters:f,dataFormat:6408,width:r,height:o,unpackFlipY:c});return h}function J(e,t){var n=t.id,r=t.width,i=void 0===r?1:r,o=t.height,a=void 0===o?1:o,s=t.texture;return new V.a(e,{id:n,width:i,height:a,attachments:m()({},36064,s)})}function X(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return K(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return K(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};a()(this,e),this.id=n.id||"gpu-grid-aggregator",this.gl=t,this.state={weightAttributes:{},textures:{},meanTextures:{},buffers:{},framebuffers:{},maxMinFramebuffers:{},minFramebuffers:{},maxFramebuffers:{},equations:{},resources:{},results:{}},this._hasGPUSupport=Object(O.j)(t)&&Object(w.c)(this.gl,_.a.BLEND_EQUATION_MINMAX,_.a.COLOR_ATTACHMENT_RGBA32F,_.a.TEXTURE_FLOAT),this._hasGPUSupport&&this._setupModels()}return u()(e,[{key:"delete",value:function(){var e=this.gridAggregationModel,t=this.allAggregationModel,n=this.meanTransform,r=this.state,i=r.textures,o=r.framebuffers,a=r.maxMinFramebuffers,s=r.minFramebuffers,u=r.maxFramebuffers,c=r.meanTextures,l=r.resources;null==e||e.delete(),null==t||t.delete(),null==n||n.delete(),function(e){(e=Array.isArray(e)?e:[e]).forEach((function(e){for(var t in e)e[t].delete()}))}([o,i,a,s,u,c,l])}},{key:"run",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.setState({results:{}});var t=this._normalizeAggregationParams(e);return this._hasGPUSupport||b.a.log(1,"GPUGridAggregator: not supported")(),this._runAggregation(t)}},{key:"getData",value:function(e){var t={},n=this.state.results;for(var r in n[e].aggregationData||(n[e].aggregationData=n[e].aggregationBuffer.getData()),t.aggregationData=n[e].aggregationData,Q){var i=Q[r];(n[e][r]||n[e][i])&&(n[e][r]=n[e][r]||n[e][i].getData(),t[r]=n[e][r])}return t}},{key:"updateShaders",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.setState({shaderOptions:e,modelDirty:!0})}},{key:"_normalizeAggregationParams",value:function(e){var t=Z(Z({},L),e),n=t.weights;return n&&(t.weights=function(e){var t={};for(var n in e)t[n]=Z(Z({},z),e[n]);return t}(n)),t}},{key:"setState",value:function(e){Object.assign(this.state,e)}},{key:"_getAggregateData",value:function(e){var t={},n=this.state,r=n.textures,i=n.framebuffers,o=n.maxMinFramebuffers,a=n.minFramebuffers,s=n.maxFramebuffers,u=n.resources,c=e.weights;for(var l in c){t[l]={};var f=c[l],h=f.needMin,d=f.needMax,p=f.combineMaxMin;t[l].aggregationTexture=r[l],t[l].aggregationBuffer=Object(x.d)(i[l],{target:c[l].aggregationBuffer,sourceType:5126}),h&&d&&p?(t[l].maxMinBuffer=Object(x.d)(o[l],{target:c[l].maxMinBuffer,sourceType:5126}),t[l].maxMinTexture=u["".concat(l,"-maxMinTexture")]):(h&&(t[l].minBuffer=Object(x.d)(a[l],{target:c[l].minBuffer,sourceType:5126}),t[l].minTexture=u["".concat(l,"-minTexture")]),d&&(t[l].maxBuffer=Object(x.d)(s[l],{target:c[l].maxBuffer,sourceType:5126}),t[l].maxTexture=u["".concat(l,"-maxTexture")]))}return this._trackGPUResultBuffers(t,c),t}},{key:"_renderAggregateData",value:function(e){var t=e.cellSize,n=e.projectPoints,r=e.attributes,i=e.moduleSettings,o=e.numCol,a=e.numRow,s=e.weights,u=e.translation,c=e.scaling,l=this.state,f=l.maxMinFramebuffers,h=l.minFramebuffers,d=l.maxFramebuffers,p=[o,a],v={blend:!0,depthTest:!1,blendFunc:[1,1]},g={cellSize:t,gridSize:p,projectPoints:n,translation:u,scaling:c};for(var y in s){var m=s[y],b=m.needMin,_=m.needMax,O=b&&_&&s[y].combineMaxMin;this._renderToWeightsTexture({id:y,parameters:v,moduleSettings:i,uniforms:g,gridSize:p,attributes:r,weights:s}),O?this._renderToMaxMinTexture({id:y,parameters:Z(Z({},v),{},{blendEquation:N}),gridSize:p,minOrMaxFb:f[y],clearParams:{clearColor:[0,0,0,3402823466e29]},combineMaxMin:O}):(b&&this._renderToMaxMinTexture({id:y,parameters:Z(Z({},v),{},{blendEquation:D}),gridSize:p,minOrMaxFb:h[y],clearParams:{clearColor:[3402823466e29,3402823466e29,3402823466e29,0]},combineMaxMin:O}),_&&this._renderToMaxMinTexture({id:y,parameters:Z(Z({},v),{},{blendEquation:F}),gridSize:p,minOrMaxFb:d[y],clearParams:{clearColor:[0,0,0,0]},combineMaxMin:O}))}}},{key:"_renderToMaxMinTexture",value:function(e){var t=e.id,n=e.parameters,r=e.gridSize,i=e.minOrMaxFb,o=e.combineMaxMin,a=e.clearParams,s=void 0===a?{}:a,u=this.state.framebuffers,c=this.gl,l=this.allAggregationModel;Object(O.o)(c,Z(Z({},s),{},{framebuffer:i,viewport:[0,0,r[0],r[1]]}),(function(){c.clear(16384),l.draw({parameters:n,uniforms:{uSampler:u[t].texture,gridSize:r,combineMaxMin:o}})}))}},{key:"_renderToWeightsTexture",value:function(e){var t=e.id,n=e.parameters,r=e.moduleSettings,i=e.uniforms,o=e.gridSize,a=e.weights,s=this.state,u=s.framebuffers,c=s.equations,l=s.weightAttributes,f=this.gl,h=this.gridAggregationModel,d=a[t].operation,p=d===j.MIN?[3402823466e29,3402823466e29,3402823466e29,0]:[0,0,0,0];if(Object(O.o)(f,{framebuffer:u[t],viewport:[0,0,o[0],o[1]],clearColor:p},(function(){f.clear(16384);var e={weights:l[t]};h.draw({parameters:Z(Z({},n),{},{blendEquation:c[t]}),moduleSettings:r,uniforms:i,attributes:e})})),d===j.MEAN){var v=this.state,g=v.meanTextures,y=v.textures,b={_sourceTextures:{aggregationValues:g[t]},_targetTexture:y[t],elementCount:y[t].width*y[t].height};this.meanTransform?this.meanTransform.update(b):this.meanTransform=function(e,t){return new P.a(e,Z({vs:"#define SHADER_NAME gpu-aggregation-transform-mean-vs\nattribute vec4 aggregationValues;\nvarying vec4 meanValues;\n\nvoid main()\n{\n bool isCellValid = bool(aggregationValues.w > 0.);\n meanValues.xyz = isCellValid ? aggregationValues.xyz/aggregationValues.w : vec3(0, 0, 0);\n meanValues.w = aggregationValues.w;\n gl_PointSize = 1.0;\n}\n",_targetTextureVarying:"meanValues"},t))}(f,b),this.meanTransform.run({parameters:{blend:!1,depthTest:!1}}),u[t].attach(m()({},36064,y[t]))}}},{key:"_runAggregation",value:function(e){this._updateModels(e),this._setupFramebuffers(e),this._renderAggregateData(e);var t=this._getAggregateData(e);return this.setState({results:t}),t}},{key:"_setupFramebuffers",value:function(e){var t=this.state,n=t.textures,r=t.framebuffers,i=t.maxMinFramebuffers,o=t.minFramebuffers,a=t.maxFramebuffers,s=t.meanTextures,u=t.equations,c=e.weights,l=e.numCol,f=e.numRow,h={width:l,height:f};for(var d in c){var p=c[d],v=p.needMin,g=p.needMax,y=p.combineMaxMin,b=p.operation;n[d]=c[d].aggregationTexture||n[d]||W(this.gl,{id:"".concat(d,"-texture"),width:l,height:f}),n[d].resize(h);var _=n[d];b===j.MEAN&&(s[d]=s[d]||W(this.gl,{id:"".concat(d,"-mean-texture"),width:l,height:f}),s[d].resize(h),_=s[d]),r[d]?r[d].attach(m()({},36064,_)):r[d]=J(this.gl,{id:"".concat(d,"-fb"),width:l,height:f,texture:_}),r[d].resize(h),u[d]=U[b]||U.SUM,(v||g)&&(v&&g&&y?i[d]||(_=c[d].maxMinTexture||this._getMinMaxTexture("".concat(d,"-maxMinTexture")),i[d]=J(this.gl,{id:"".concat(d,"-maxMinFb"),texture:_})):(v&&(o[d]||(_=c[d].minTexture||this._getMinMaxTexture("".concat(d,"-minTexture")),o[d]=J(this.gl,{id:"".concat(d,"-minFb"),texture:_}))),g&&(a[d]||(_=c[d].maxTexture||this._getMinMaxTexture("".concat(d,"-maxTexture")),a[d]=J(this.gl,{id:"".concat(d,"-maxFb"),texture:_})))))}}},{key:"_getMinMaxTexture",value:function(e){var t=this.state.resources;return t[e]||(t[e]=W(this.gl,{id:"resourceName"})),t[e]}},{key:"_setupModels",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.numCol,r=void 0===n?0:n,i=t.numRow,o=void 0===i?0:i,a=this.gl,s=this.state.shaderOptions;if(null===(e=this.gridAggregationModel)||void 0===e||e.delete(),this.gridAggregationModel=te(a,s),!this.allAggregationModel){var u=r*o;this.allAggregationModel=ne(a,u)}}},{key:"_setupWeightAttributes",value:function(e){var t=this.state.weightAttributes,n=e.weights;for(var r in n)t[r]=e.attributes[r]}},{key:"_trackGPUResultBuffers",value:function(e,t){var n=this.state.resources;for(var r in e)if(e[r]){var i,o=X(Y);try{for(o.s();!(i=o.n()).done;){var a=i.value;if(e[r][a]&&t[r][a]!==e[r][a]){var s="gpu-result-".concat(r,"-").concat(a);n[s]&&n[s].delete(),n[s]=e[r][a]}}}catch(e){o.e(e)}finally{o.f()}}}},{key:"_updateModels",value:function(e){var t=e.vertexCount,n=e.attributes,r=e.numCol,i=e.numRow;this.state.modelDirty&&(this._setupModels(e),this.setState({modelDirty:!1})),this._setupWeightAttributes(e),this.gridAggregationModel.setVertexCount(t),this.gridAggregationModel.setAttributes(n),this.allAggregationModel.setInstanceCount(r*i)}}],[{key:"getAggregationData",value:function(e){var t=e.aggregationData,n=e.maxData,r=e.minData,i=e.maxMinData,o=4*e.pixelIndex,a={};return t&&(a.cellCount=t[o+3],a.cellWeight=t[o]),i?(a.maxCellWieght=i[0],a.minCellWeight=i[3]):(n&&(a.maxCellWieght=n[0],a.totalCount=n[3]),r&&(a.minCellWeight=r[0],a.totalCount=n[3])),a}},{key:"getCellData",value:function(e){for(var t=e.countsData,n=e.size,r=void 0===n?1:n,i=t.length/4,o=new Float32Array(i*r),a=new Uint32Array(i),s=0;s 0. ? result.xy * scaling.xy : result.xy;\n return result.xy;\n}\n\nvoid main(void) {\n\n vWeights = weights;\n\n vec4 windowPos = vec4(positions, 1.);\n if (projectPoints) {\n windowPos = project_position_to_clipspace(positions, positions64Low, vec3(0));\n }\n\n vec2 pos = project_to_pixel(windowPos);\n\n vec2 pixelXY64[2];\n pixelXY64[0] = vec2(pos.x, 0.);\n pixelXY64[1] = vec2(pos.y, 0.);\n vec2 gridXY64[2];\n gridXY64[0] = div_fp64(pixelXY64[0], vec2(cellSize.x, 0));\n gridXY64[1] = div_fp64(pixelXY64[1], vec2(cellSize.y, 0));\n float x = floor(gridXY64[0].x);\n float y = floor(gridXY64[1].x);\n pos = vec2(x, y);\n pos = (pos * (2., 2.) / (gridSize)) - (1., 1.);\n vec2 offset = 1.0 / gridSize;\n pos = pos + offset;\n\n gl_Position = vec4(pos, 0.0, 1.0);\n gl_PointSize = 1.0;\n}\n",fs:"#define SHADER_NAME gpu-aggregation-to-grid-fs\n\nprecision highp float;\n\nvarying vec3 vWeights;\n\nvoid main(void) {\n gl_FragColor = vec4(vWeights, 1.0);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[S.b,C.a]},t);return new A.a(e,Z({id:"Gird-Aggregation-Model",vertexCount:1,drawMode:0},n))}function ne(e,t){return new A.a(e,{id:"All-Aggregation-Model",vs:"#version 300 es\n#define SHADER_NAME gpu-aggregation-all-vs-64\n\nin vec2 position;\nuniform ivec2 gridSize;\nout vec2 vTextureCoord;\n\nvoid main(void) {\n vec2 pos = vec2(-1.0, -1.0);\n vec2 offset = 1.0 / vec2(gridSize);\n pos = pos + offset;\n\n gl_Position = vec4(pos, 0.0, 1.0);\n\n int yIndex = gl_InstanceID / gridSize[0];\n int xIndex = gl_InstanceID - (yIndex * gridSize[0]);\n\n vec2 yIndexFP64 = vec2(float(yIndex), 0.);\n vec2 xIndexFP64 = vec2(float(xIndex), 0.);\n vec2 gridSizeYFP64 = vec2(gridSize[1], 0.);\n vec2 gridSizeXFP64 = vec2(gridSize[0], 0.);\n\n vec2 texCoordXFP64 = div_fp64(yIndexFP64, gridSizeYFP64);\n vec2 texCoordYFP64 = div_fp64(xIndexFP64, gridSizeXFP64);\n\n vTextureCoord = vec2(texCoordYFP64.x, texCoordXFP64.x);\n gl_PointSize = 1.0;\n}\n",fs:"#version 300 es\n#define SHADER_NAME gpu-aggregation-all-fs\n\nprecision highp float;\n\nin vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform bool combineMaxMin;\nout vec4 fragColor;\nvoid main(void) {\n vec4 textureColor = texture(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));\n if (textureColor.a == 0.) {\n discard;\n }\n fragColor.rgb = textureColor.rgb;\n fragColor.a = combineMaxMin ? textureColor.r : textureColor.a;\n}\n",modules:[S.b],vertexCount:1,drawMode:0,isInstanced:!0,instanceCount:t,attributes:{position:[0,0]}})}var re=n(70),ie=n(235),oe=n(155),ae=[[255,255,178],[254,217,118],[254,178,76],[253,141,60],[240,59,32],[189,0,38]];function se(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Float32Array;if(Number.isFinite(e[0]))t=new r(e);else{t=new r(4*e.length);for(var i=0,o=0;o= domain.x && value <= domain.y) {\n float domainRange = domain.y - domain.x;\n if (domainRange <= 0.) {\n outColor = colorRange[0];\n } else {\n float rangeCount = float(RANGE_COUNT);\n float rangeStep = domainRange / rangeCount;\n float idx = floor((value - domain.x) / rangeStep);\n idx = clamp(idx, 0., rangeCount - 1.);\n int intIdx = int(idx);\n outColor = colorRange[intIdx];\n }\n }\n outColor = outColor / 255.;\n return outColor;\n}\n\nvoid main(void) {\n vSampleCount = instanceCounts.a;\n\n float weight = instanceCounts.r;\n float maxWeight = texture2D(maxTexture, vec2(0.5)).r;\n\n float step = weight / maxWeight;\n vec4 minMaxColor = mix(minColor, maxColor, step) / 255.;\n\n vec2 domain = colorDomain;\n float domainMaxValid = float(colorDomain.y != 0.);\n domain.y = mix(maxWeight, colorDomain.y, domainMaxValid);\n vec4 rangeColor = quantizeScale(domain, colorRange, weight);\n\n float rangeMinMax = float(shouldUseMinMax);\n vec4 color = mix(rangeColor, minMaxColor, rangeMinMax);\n vColor = vec4(color.rgb, color.a * opacity);\n picking_setPickingColor(instancePickingColors);\n\n gl_Position = vec4(instancePositions + positions * cellScale, 1.);\n}\n",fs:"#define SHADER_NAME screen-grid-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying float vSampleCount;\n\nvoid main(void) {\n if (vSampleCount <= 0.0) {\n discard;\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[ie.a]}}},{key:"initializeState",value:function(){var e=this.context.gl;this.getAttributeManager().addInstanced({instancePositions:{size:3,update:this.calculateInstancePositions},instanceCounts:{size:4,noAlloc:!0}}),this.setState({model:this._getModel(e)})}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.somethingChanged}},{key:"updateState",value:function(e){var t=e.oldProps,r=e.props,i=e.changeFlags;l()(g()(n.prototype),"updateState",this).call(this,{oldProps:t,props:r,changeFlags:i});var o=this.getAttributeManager();r.numInstances!==t.numInstances?o.invalidateAll():t.cellSizePixels!==r.cellSizePixels&&o.invalidate("instancePositions"),this._updateUniforms(t,r,i)}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.parameters,i=n.maxTexture,o=this.props.minColor||fe,a=this.props.maxColor||he,s=this.props.colorDomain||[1,0];this.state.model.setUniforms(t).setUniforms({minColor:o,maxColor:a,maxTexture:i,colorDomain:s}).draw({parameters:ce({depthTest:!1,depthMask:!1},r)})}},{key:"calculateInstancePositions",value:function(e,t){for(var n=t.numInstances,r=this.context.viewport,i=r.width,o=r.height,a=this.props.cellSizePixels,s=Math.ceil(i/a),u=e.value,c=e.size,l=0;lc?c:0,f=new Float32Array([(u-l)/o*2,-(u-l)/a*2,1]);r.setUniforms({cellScale:f})}}}],[{key:"isSupported",value:function(e){return Object(w.c)(e,[_.a.TEXTURE_FLOAT])}}]),n}(oe.a);ve.layerName="ScreenGridCellLayer",ve.defaultProps=pe;var ge=n(131),ye=n(156),me=n(192);function be(e,t){var n={};for(var r in e)t.includes(r)||(n[r]=e[r]);return n}function _e(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Oe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Oe(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Oe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.props,r=e.oldProps,i=e.changeFlags,o=t.compareAll,a=void 0!==o&&o,s=t.dimension,u=this.state.ignoreProps,c=s.props,l=s.accessors,f=void 0===l?[]:l,h=i.updateTriggersChanged;if(i.dataChanged)return!0;if(h){if(h.all)return!0;var d,p=_e(f);try{for(p.s();!(d=p.n()).done;){var v=d.value;if(h[v])return!0}}catch(e){p.e(e)}finally{p.f()}}if(a)return!!i.extensionsChanged||Object(ge.a)({oldProps:r,newProps:n,ignoreProps:u,propTypes:this.constructor._propTypes});var g,y=_e(c);try{for(y.s();!(g=y.n()).done;){var m=g.value;if(n[m]!==r[m])return!0}}catch(e){y.e(e)}finally{y.f()}return!1}},{key:"isAttributeChanged",value:function(e){var t=this.state.changedAttributes;return e?t&&void 0!==t[e]:!function(e){var t=!0;for(var n in e){t=!1;break}return t}(t)}},{key:"_getAttributeManager",value:function(){return new ye.a(this.context.gl,{id:this.props.id,stats:this.context.stats})}}]),n}(me.a);xe.layerName="AggregationLayer";var Ae=n(37),Pe=n(11),Se=n.n(Pe);function ke(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ce(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ce(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n>>1;Be(e[i],t)>0?r=i:n=i+1}return n}(e,n)]}(o,t,e)};return a.thresholds=function(){return o},je(e,t,a)}function Be(e,t){return e-t}function Ie(e,t){var n=e.length;if(t<=0||n<2)return e[0];if(t>=1)return e[n-1];var r=(n-1)*t,i=Math.floor(r),o=e[i];return o+(e[i+1]-o)*(r-i)}function Re(e,t){var n,r=new Map,i=[],o=ke(e);try{for(o.s();!(n=o.n()).done;){var a=n.value,s="".concat(a);r.has(s)||r.set(s,i.push(a))}}catch(e){o.e(e)}finally{o.f()}return je(e,t,(function(e){return function(e,t,n,r){var i="".concat(r),o=t.get(i);return void 0===o&&(o=e.push(r),t.set(i,o)),n[(o-1)%n.length]}(i,r,t,e)}))}function Le(e){return null!=e}function De(e,t){return("function"==typeof t?e.map(t):e).filter(Le)}function Fe(e,t){return De(e,t)}function Ne(e,t){return n=De(e,t),r=[],n.forEach((function(e){!r.includes(e)&&Le(e)&&r.push(e)})),r;var n,r}function Ue(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return ze(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ze(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ze(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nt?1:e>=t?0:NaN},Je={getValue:Ge,getPoints:Ve,getIndex:He,filterData:null},Xe=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Je;a()(this,e),this.aggregatedBins=this.getAggregatedBins(t,n),this._updateMinMaxValues(),this.binMap=this.getBinMap()}return u()(e,[{key:"getAggregatedBins",value:function(e,t){for(var n=t.getValue,r=void 0===n?Ge:n,i=t.getPoints,o=void 0===i?Ve:i,a=t.getIndex,s=void 0===a?He:a,u=t.filterData,c="function"==typeof u,l=e.length,f=[],h=0,d=0;da.counts?t:a.counts,n=n>a.value?n:a.value,r=r1&&void 0!==arguments[1]?arguments[1]:[],n=Se()(t,2),r=n[0],i=void 0===r?0:r,o=n[1],a=void 0===o?100:o;if(this.sortedBins||(this.sortedBins=this.aggregatedBins.sort((function(e,t){return We(e.value,t.value)}))),!this.sortedBins.length)return[];var s=this._percentileToIndex([i,a]);return this._getScaleDomain(e,s)}},{key:"_getScaleDomain",value:function(e,t){var n=Se()(t,2),r=n[0],i=n[1],o=this.sortedBins;switch(e){case"quantize":case"linear":return[o[r].value,o[i].value];case"quantile":return Fe(o.slice(r,i+1),(function(e){return e.value}));case"ordinal":return Ne(o,(function(e){return e.value}));default:return[o[r].value,o[i].value]}}}]),e}(),Ke=n(62),qe=n(18);function Ze(e){return Number.isFinite(e)?e:0}function Ye(e,t){for(var n,r,i=e.positions.value,o=1/0,a=-1/0,s=1/0,u=-1/0,c=0;ca?n:a,s=ru?r:u;return{xMin:Ze(s),xMax:Ze(u),yMin:Ze(o),yMax:Ze(a)}}function Qe(e,t){var n=e<0?-1:1,r=n<0?Math.abs(e)+t:Math.abs(e);return(r=Math.floor(r/t)*t)*n}function $e(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!n)return{xOffset:t,yOffset:t};var r=e.yMin,i=e.yMax,o=(r+i)/2;return tt(t,o)}function et(e,t,n,r){var i=$e(e,t,r!==qe.a.CARTESIAN),o=function(e,t,n,r){var i=r.width,o=r.height,a=n===qe.a.CARTESIAN?[-i/2,-o/2]:[-180,-90];b.a.assert(n===qe.a.CARTESIAN||n===qe.a.LNGLAT||n===qe.a.DEFAULT);var s=e.xMin,u=e.yMin;return[-1*(Qe(s-a[0],t.xOffset)+a[0]),-1*(Qe(u-a[1],t.yOffset)+a[1])]}(e,i,r,n),a=e.xMin,s=e.yMin,u=e.xMax,c=e.yMax,l=u-a+i.xOffset,f=c-s+i.yOffset;return{gridOffset:i,translation:o,width:l,height:f,numCol:Math.ceil(l/i.xOffset),numRow:Math.ceil(f/i.yOffset)}}function tt(e,t){var n;return{yOffset:e/6378e3*(180/Math.PI),xOffset:(n=t,e/6378e3*(180/Math.PI)/Math.cos(n*Math.PI/180))}}function nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rt(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ot(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ns?n:s,u=rc?r:c);return{xMin:u,xMax:c,yMin:a,yMax:s}}(o.positions,u),h=t.posOffset||[180,90],d=t.gridOffset||$e(f,i);if(d.xOffset<=0||d.yOffset<=0)return{gridHash:{},gridOffset:d};var p,v=a.width,g=a.height,y=Math.ceil(v/d.xOffset),m=Math.ceil(g/d.yOffset),b={},_=Object(Ke.a)(r),O=_.iterable,w=_.objectInfo,x=new Array(3),A=it(O);try{for(A.s();!(p=A.n()).done;){var P=p.value;w.index++,x[0]=c[w.index*l],x[1]=c[w.index*l+1],x[2]=l>=3?c[w.index*l+2]:0;var S=s?a.project(x):x,k=Se()(S,2),C=k[0],j=k[1];if(Number.isFinite(C)&&Number.isFinite(j)){var E=Math.floor((j+h[1])/d.yOffset),T=Math.floor((C+h[0])/d.xOffset);if(!s||T>=0&&T=0&&E=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ut(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0){var r=this.state,i=r.gpuGridAggregator,o=r.gpuAggregation,a=r.weights,s=o?i.getData("count"):a.count;t.object=ee.getAggregationData(dt({pixelIndex:n},s))}return t}},{key:"updateResults",value:function(e){var t=e.aggregationData,n=e.maxData,r=this.state.weights.count;r.aggregationData=t,r.aggregationBuffer.setData({data:t}),r.maxData=n,r.maxTexture.setImageData({data:n})}},{key:"updateAggregationState",value:function(e){var t=e.props.cellSizePixels,n=e.oldProps.cellSizePixels!==t,r=e.changeFlags.viewportChanged,i=e.props.gpuAggregation;this.state.gpuAggregation!==e.props.gpuAggregation&&i&&!ee.isSupported(this.context.gl)&&(b.a.warn("GPU Grid Aggregation not supported, falling back to CPU")(),i=!1);var o=i!==this.state.gpuAggregation;this.setState({gpuAggregation:i});var a=this.isAttributeChanged("positions"),s=this.state.dimensions,u=s.data,c=s.weights,l=a||o||r||this.isAggregationDirty(e,{compareAll:i,dimension:u}),f=this.isAggregationDirty(e,{dimension:c});this.setState({aggregationDataDirty:l,aggregationWeightsDirty:f});var h=this.context.viewport;if(r||n){var d=h.width,p=h.height,v=Math.ceil(d/t),g=Math.ceil(p/t);this.allocateResources(g,v),this.setState({scaling:[d/2,-p/2,1],gridOffset:{xOffset:t,yOffset:t},width:d,height:p,numCol:v,numRow:g})}f&&this._updateAccessors(e),(l||f)&&this._resetResults()}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.getWeight,r=t.aggregation,i=t.data,o=this.state.weights.count;o&&(o.getWeight=n,o.operation=j[r]),this.setState({getValue:B(r,n,{data:i})})}},{key:"_resetResults",value:function(){var e=this.state.weights.count;e&&(e.aggregationData=null)}}]),n}(lt);gt.layerName="ScreenGridLayer",gt.defaultProps=pt;var yt=n(219),mt=n(12),bt=n.n(mt);function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ot(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};return e.hexagons?Ot({data:e.hexagons},e):e.layerData?Ot({data:e.layerData},e):e}},{key:"getAggregatedData",value:function(e,t){var n=this._getAggregator(e)(e,t);this.setState({layerData:this.normalizeResult(n)}),this.changeFlags={layerData:!0},this.getSortedBins(e)}},{key:"updateGetValueFuncs",value:function(e,t,n){for(var r in this.dimensionUpdaters){var i=this.dimensionUpdaters[r].getBins.triggers,o=i.value,a=i.weight,s=i.aggregation,u=t[o.prop];this.needUpdateDimensionStep(this.dimensionUpdaters[r].getBins,e,t,n)&&(u=u?I(u,{data:t.data}):B(t[s.prop],t[a.prop],{data:t.data})),u&&this.setDimensionState(r,{getValue:u})}}},{key:"needsReProjectPoints",value:function(e,t,n){return this._getCellSize(e)!==this._getCellSize(t)||this._getAggregator(e)!==this._getAggregator(t)||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getPosition)}},{key:"addDimension",value:function(e){this._addDimension(e)}},{key:"_addDimension",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){var n=t.key;e.dimensionUpdaters[n]=e.getDimensionUpdaters(t),e.state.dimensions[n]={getValue:null,domain:null,sortedBins:null,scaleFunc:wt}}))}},{key:"getDimensionUpdaters",value:function(e){var t=e.key,n=e.accessor,r=e.pickingInfo,i=e.getBins,o=e.getDomain,a=e.getScaleFunc,s=e.nullValue;return{key:t,accessor:n,pickingInfo:r,getBins:Ot({updater:this.getDimensionSortedBins},i),getDomain:Ot({updater:this.getDimensionValueDomain},o),getScaleFunc:Ot({updater:this.getDimensionScale},a),attributeAccessor:this.getSubLayerDimensionAttribute(t,s)}}},{key:"needUpdateDimensionStep",value:function(e,t,n,r){return Object.values(e.triggers).some((function(e){return e.updateTrigger?r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged[e.updateTrigger]):t[e.prop]!==n[e.prop]}))}},{key:"getDimensionChanges",value:function(e,t,n){var r=this,i=[],o=function(o){var a=xt.find((function(i){return r.needUpdateDimensionStep(r.dimensionUpdaters[o][i],e,t,n)}));a&&i.push(r.dimensionUpdaters[o][a].updater.bind(r,t,r.dimensionUpdaters[o]))};for(var a in this.dimensionUpdaters)o(a);return i.length?i:null}},{key:"getUpdateTriggers",value:function(e){var t=this,n=e.updateTriggers||{},r={},i=function(i){var o=t.dimensionUpdaters[i].accessor;r[o]={},xt.forEach((function(a){Object.values(t.dimensionUpdaters[i][a].triggers).forEach((function(t){var i=t.prop,a=t.updateTrigger;if(a){var s=n[a];"object"!==bt()(s)||Array.isArray(s)?void 0!==s&&(r[o][i]=s):Object.assign(r[o],s)}else r[o][i]=e[i]}))}))};for(var o in this.dimensionUpdaters)i(o);return r}},{key:"getSortedBins",value:function(e){for(var t in this.dimensionUpdaters)this.getDimensionSortedBins(e,this.dimensionUpdaters[t])}},{key:"getDimensionSortedBins",value:function(e,t){var n=t.key,r=this.state.dimensions[n].getValue,i=new Xe(this.state.layerData.data||[],{getValue:r,filterData:e._filterData});this.setDimensionState(n,{sortedBins:i}),this.getDimensionValueDomain(e,t)}},{key:"getDimensionValueDomain",value:function(e,t){var n=t.getDomain,r=t.key,i=n.triggers,o=i.lowerPercentile,a=i.upperPercentile,s=i.scaleType,u=this.state.dimensions[r].sortedBins.getValueDomainByScale(e[s.prop],[e[o.prop],e[a.prop]]);this.setDimensionState(r,{valueDomain:u}),this.getDimensionScale(e,t)}},{key:"getDimensionScale",value:function(e,t){var n=t.key,r=t.getScaleFunc,i=t.getDomain,o=r.triggers,a=o.domain,s=o.range,u=i.triggers.scaleType,c=r.onSet,l=e[s.prop],f=e[a.prop]||this.state.dimensions[n].valueDomain,h=function(e){switch(e){case"quantize":return Ee;case"linear":return Te;case"quantile":return Me;case"ordinal":return Re;default:return Ee}}(u&&e[u.prop])(f,l);"object"===bt()(c)&&"function"==typeof e[c.props]&&e[c.props](h.domain()),this.setDimensionState(n,{scaleFunc:h})}},{key:"getSubLayerDimensionAttribute",value:function(e,t){var n=this;return function(r){var i=n.state.dimensions[e],o=i.sortedBins,a=i.scaleFunc,s=o.binMap[r.index];if(s&&0===s.counts)return t;var u=s&&s.value,c=a.domain();return u>=c[0]&&u<=c[c.length-1]?a(u):t}}},{key:"getSubLayerAccessors",value:function(e){var t={};for(var n in this.dimensionUpdaters){t[this.dimensionUpdaters[n].accessor]=this.getSubLayerDimensionAttribute(e,n)}return t}},{key:"getPickingInfo",value:function(e){var t=e.info,n=null;if(t.picked&&t.index>-1){var r=this.state.layerData.data[t.index],i={};for(var o in this.dimensionUpdaters){var a=this.dimensionUpdaters[o].pickingInfo,s=this.state.dimensions[o].sortedBins,u=s.binMap[r.index]&&s.binMap[r.index].value;i[a]=u}n=Object.assign(i,r,{points:r.filteredPoints||r.points})}return t.picked=Boolean(n),t.object=n,t}},{key:"getAccessor",value:function(e){return this.dimensionUpdaters.hasOwnProperty(e)?this.dimensionUpdaters[e].attributeAccessor:wt}}],[{key:"defaultDimensions",value:function(){return At}}]),e}();function kt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=g()(e);if(t){var i=g()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function Ct(){}var jt={colorDomain:null,colorRange:ae,getColorValue:{type:"accessor",value:null},getColorWeight:{type:"accessor",value:1},colorAggregation:"SUM",lowerPercentile:{type:"number",min:0,max:100,value:0},upperPercentile:{type:"number",min:0,max:100,value:100},colorScaleType:"quantize",onSetColorDomain:Ct,elevationDomain:null,elevationRange:[0,1e3],getElevationValue:{type:"accessor",value:null},getElevationWeight:{type:"accessor",value:1},elevationAggregation:"SUM",elevationLowerPercentile:{type:"number",min:0,max:100,value:0},elevationUpperPercentile:{type:"number",min:0,max:100,value:100},elevationScale:{type:"number",min:0,value:1},elevationScaleType:"linear",onSetElevationDomain:Ct,gridAggregator:at,cellSize:{type:"number",min:0,max:1e3,value:1e3},coverage:{type:"number",min:0,max:1,value:1},getPosition:{type:"accessor",value:function(e){return e.position}},extruded:!1,material:!0,_filterData:{type:"function",value:null,optional:!0}},Et=function(e){h()(n,e);var t=kt(n);function n(){return a()(this,n),t.apply(this,arguments)}return u()(n,[{key:"initializeState",value:function(){var e=new St({getAggregator:function(e){return e.gridAggregator},getCellSize:function(e){return e.cellSize}});this.state={cpuAggregator:e,aggregatorState:e.state},this.getAttributeManager().add({positions:{size:3,type:5130,accessor:"getPosition"}})}},{key:"updateState",value:function(e){l()(g()(n.prototype),"updateState",this).call(this,e),this.setState({aggregatorState:this.state.cpuAggregator.updateState(e,{viewport:this.context.viewport,attributes:this.getAttributes(),numInstances:this.getNumInstances(e.props)})})}},{key:"getPickingInfo",value:function(e){var t=e.info;return this.state.cpuAggregator.getPickingInfo({info:t})}},{key:"_onGetSublayerColor",value:function(e){return this.state.cpuAggregator.getAccessor("fillColor")(e)}},{key:"_onGetSublayerElevation",value:function(e){return this.state.cpuAggregator.getAccessor("elevation")(e)}},{key:"_getSublayerUpdateTriggers",value:function(){return this.state.cpuAggregator.getUpdateTriggers(this.props)}},{key:"renderLayers",value:function(){var e=this.props,t=e.elevationScale,n=e.extruded,r=e.cellSize,i=e.coverage,o=e.material,a=e.transitions,s=this.state.cpuAggregator,u=this.getSubLayerClass("grid-cell",yt.a),c=this._getSublayerUpdateTriggers();return new u({cellSize:r,coverage:i,material:o,elevationScale:t,extruded:n,getFillColor:this._onGetSublayerColor.bind(this),getElevation:this._onGetSublayerElevation.bind(this),transitions:a&&{getFillColor:a.getColorValue||a.getColorWeight,getElevation:a.getElevationValue||a.getElevationWeight}},this.getSubLayerProps({id:"grid-cell",updateTriggers:c}),{data:s.state.layerData.data})}}]),n}(xe);Et.layerName="CPUGridLayer",Et.defaultProps=jt;var Tt=n(157),Mt=Math.PI/3,Bt=[0,Mt,2*Mt,3*Mt,4*Mt,5*Mt];function It(e){return e[0]}function Rt(e){return e[1]}function Lt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Dt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1){var v=l-d,g=d+(lm*m+b*b&&(d=g+(1&h?1:-1)/2,h=y)}var _=d+"-"+h,O=i[_];O?O.push(c):(o.push(O=i[_]=[c]),O.x=(d+(1&h)/2)*t,O.y=h*n)}return o}function l(e){var t=0,n=0;return Bt.map((function(r){var i=Math.sin(r)*e,o=-Math.cos(r)*e,a=i-t,s=o-n;return t=i,n=o,[a,s]}))}return c.hexagon=function(t){return"m"+l(null==t?e:+t).join("l")+"z"},c.centers=function(){for(var s=[],u=Math.round(i/n),c=Math.round(r/t),l=u*n;l=t?1:0}function Gn(e){var t=e.cellWeights,n=e.x,r=e.y,i=e.width,o=e.height,a=e.threshold;e.thresholdValue&&(b.a.deprecated("thresholdValue","threshold")(),a=e.thresholdValue);var s=n<0,u=n>=i-1,c=r<0,l=r>=o-1,f=s||u||c||l,h={},d={};s||l?d.top=0:(h.top=t[(r+1)*i+n],d.top=zn(h.top,a)),u||l?d.topRight=0:(h.topRight=t[(r+1)*i+n+1],d.topRight=zn(h.topRight,a)),u||c?d.right=0:(h.right=t[r*i+n+1],d.right=zn(h.right,a)),s||c?d.current=0:(h.current=t[r*i+n],d.current=zn(h.current,a));var p=d.top,v=d.topRight,g=d.right,y=d.current,m=-1;Number.isFinite(a)&&(m=p<<3|v<<2|g<<1|y),Array.isArray(a)&&(m=p<<6|v<<4|g<<2|y);var _=0;return f||(_=zn((h.top+h.topRight+h.right+h.current)/4,a)),{code:m,meanCode:_}}function Vn(e){var t=e.gridOrigin,n=e.cellSize,r=e.x,i=e.y,o=e.code,a=e.meanCode,s=e.type,u=void 0===s?Fn:s,c=Dn(Dn({},Un),e.thresholdData),l=u===Nn?Rn[o]:Bn[o];Array.isArray(l)||(l=l[a]);var f=c.zIndex*c.zOffset,h=(r+1)*n[0],d=(i+1)*n[1],p=t[0]+h,v=t[1]+d;if(u===Nn){var g=[];return l.forEach((function(e){var t=[];e.forEach((function(e){var r=p+e[0]*n[0],i=v+e[1]*n[1];t.push([r,i,f])})),g.push(t)})),g}var y=[];return l.forEach((function(e){e.forEach((function(e){var t=p+e[0]*n[0],r=v+e[1]*n[1];y.push([t,r,f])}))})),y}function Hn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Wn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Wn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Wn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(o||t)&&this._generateContours()}},{key:"renderLayers",value:function(){var e=this.state.contourData,t=e.contourSegments,n=e.contourPolygons,r=this.getSubLayerClass("lines",Wt.a),i=this.getSubLayerClass("bands",Jt.a);return[t&&t.length>0&&new r(this.getSubLayerProps({id:"lines"}),{data:this.state.contourData.contourSegments,getSourcePosition:function(e){return e.start},getTargetPosition:function(e){return e.end},getColor:function(e){return e.contour.color||Xn},getWidth:function(e){return e.contour.strokeWidth||1}}),n&&n.length>0&&new i(this.getSubLayerProps({id:"bands"}),{data:this.state.contourData.contourPolygons,getPolygon:function(e){return e.vertices},getFillColor:function(e){return e.contour.color||Xn}})]}},{key:"updateAggregationState",value:function(e){var t=e.props,n=e.oldProps,r=t.cellSize,i=t.coordinateSystem,o=this.context.viewport,a=n.cellSize!==r,s=t.gpuAggregation;this.state.gpuAggregation!==t.gpuAggregation&&s&&!ee.isSupported(this.context.gl)&&(b.a.warn("GPU Grid Aggregation not supported, falling back to CPU")(),s=!1);var u=s!==this.state.gpuAggregation;this.setState({gpuAggregation:s});var c=this.state.dimensions,l=this.isAttributeChanged("positions"),f=c.data,h=c.weights,d=this.state.boundingBox;if(l&&(d=Ye(this.getAttributes(),this.getNumInstances()),this.setState({boundingBox:d})),l||a){var p=et(d,r,o,i),v=p.gridOffset,g=p.translation,y=p.width,m=p.height,_=p.numCol,O=p.numRow;this.allocateResources(O,_),this.setState({gridOffset:v,boundingBox:d,translation:g,posOffset:g.slice(),gridOrigin:[-1*g[0],-1*g[1]],width:y,height:m,numCol:_,numRow:O})}var w=l||u||this.isAggregationDirty(e,{dimension:f,compareAll:s}),x=this.isAggregationDirty(e,{dimension:h});x&&this._updateAccessors(e),(w||x)&&this._resetResults(),this.setState({aggregationDataDirty:w,aggregationWeightsDirty:x})}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.getWeight,r=t.aggregation,i=t.data,o=this.state.weights.count;o&&(o.getWeight=n,o.operation=j[r]),this.setState({getValue:B(r,n,{data:i})})}},{key:"_resetResults",value:function(){var e=this.state.weights.count;e&&(e.aggregationData=null)}},{key:"_generateContours",value:function(){var e=this.state,t=e.numCol,n=e.numRow,r=e.gridOrigin,i=e.gridOffset,o=e.thresholdData,a=this.state.weights.count,s=a.aggregationData;s||(s=a.aggregationBuffer.getData(),a.aggregationData=s);var u=function(e){var t,n=e.thresholdData,r=(e.colors,e.cellWeights),i=e.gridSize,o=e.gridOrigin,a=e.cellSize,s=[],u=[],c=i[0],l=i[1],f=0,h=0,d=Hn(n);try{for(d.s();!(t=d.n()).done;)for(var p=t.value,v=p.contour,g=v.threshold,y=-1;y= (domain.x - EPSILON) && value <= (domain.y + EPSILON)) {\n float domainRange = domain.y - domain.x;\n if (domainRange <= 0.) {\n outColor = colorRange[0];\n } else {\n float rangeCount = float(RANGE_COUNT);\n float rangeStep = domainRange / rangeCount;\n float idx = floor((value - domain.x) / rangeStep);\n idx = clamp(idx, 0., rangeCount - 1.);\n int intIdx = int(idx);\n outColor = colorRange[intIdx];\n }\n }\n return outColor;\n}\n\nfloat linearScale(vec2 domain, vec2 range, float value) {\n if (value >= (domain.x - EPSILON) && value <= (domain.y + EPSILON)) {\n return ((value - domain.x) / (domain.y - domain.x)) * (range.y - range.x) + range.x;\n }\n return -1.;\n}\n\nvoid main(void) {\n vec2 clrDomain = colorDomainValid ? colorDomain : vec2(colorData.maxMinCount.a, colorData.maxMinCount.r);\n vec4 color = quantizeScale(clrDomain, colorRange, colors.r);\n\n float elevation = 0.0;\n\n if (extruded) {\n vec2 elvDomain = elevationDomainValid ? elevationDomain : vec2(elevationData.maxMinCount.a, elevationData.maxMinCount.r);\n elevation = linearScale(elvDomain, elevationRange, elevations.r);\n elevation = elevation * (positions.z + 1.0) / 2.0 * elevationScale;\n }\n float shouldRender = float(color.r > 0.0 && elevations.r >= 0.0);\n float dotRadius = cellSize / 2. * coverage * shouldRender;\n\n int yIndex = (gl_InstanceID / gridSize[0]);\n int xIndex = gl_InstanceID - (yIndex * gridSize[0]);\n\n vec2 instancePositionXFP64 = mul_fp64(vec2(gridOffset[0], gridOffsetLow[0]), vec2(float(xIndex), 0.));\n instancePositionXFP64 = sum_fp64(instancePositionXFP64, vec2(gridOrigin[0], gridOriginLow[0]));\n vec2 instancePositionYFP64 = mul_fp64(vec2(gridOffset[1], gridOffsetLow[1]), vec2(float(yIndex), 0.));\n instancePositionYFP64 = sum_fp64(instancePositionYFP64, vec2(gridOrigin[1], gridOriginLow[1]));\n\n vec3 centroidPosition = vec3(instancePositionXFP64[0], instancePositionYFP64[0], elevation);\n vec3 centroidPosition64Low = vec3(instancePositionXFP64[1], instancePositionYFP64[1], 0.0);\n geometry.worldPosition = centroidPosition;\n vec3 pos = vec3(project_size(positions.xy + offset) * dotRadius, 0.);\n picking_setPickingColor(instancePickingColors);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n\n vec3 normals_commonspace = project_normal(normals);\n\n if (extruded) {\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, normals_commonspace);\n vColor = vec4(lightColor, color.a * opacity) / 255.;\n } else {\n vColor = vec4(color.rgb, color.a * opacity) / 255.;\n }\n}\n",fs:"#version 300 es\n#define SHADER_NAME gpu-grid-cell-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n fragColor = vColor;\n fragColor = picking_filterColor(fragColor);\n}\n",modules:[C.a,Yn.a,ie.a,S.b]})}},{key:"initializeState",value:function(){var e=this.context.gl;this.getAttributeManager().addInstanced({colors:{size:4,noAlloc:!0},elevations:{size:4,noAlloc:!0}});var t=this._getModel(e);this._setupUniformBuffer(t),this.setState({model:t})}},{key:"_getModel",value:function(e){return new A.a(e,tr(tr({},this.getShaders()),{},{id:this.props.id,geometry:new $n.a,isInstanced:!0}))}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.cellSize,i=n.offset,o=n.extruded,a=n.elevationScale,s=n.coverage,u=n.gridSize,c=n.gridOrigin,l=n.gridOffset,f=n.elevationRange,h=n.colorMaxMinBuffer,d=n.elevationMaxMinBuffer,p=[Object(Qn.b)(c[0]),Object(Qn.b)(c[1])],v=[Object(Qn.b)(l[0]),Object(Qn.b)(l[1])],g=this.getDomainUniforms(),y=se(this.props.colorRange);this.bindUniformBuffers(h,d),this.state.model.setUniforms(t).setUniforms(g).setUniforms({cellSize:r,offset:i,extruded:o,elevationScale:a,coverage:s,gridSize:u,gridOrigin:c,gridOriginLow:p,gridOffset:l,gridOffsetLow:v,colorRange:y,elevationRange:f}).draw(),this.unbindUniformBuffers(h,d)}},{key:"bindUniformBuffers",value:function(e,t){e.bind({target:35345,index:0}),t.bind({target:35345,index:1})}},{key:"unbindUniformBuffers",value:function(e,t){e.unbind({target:35345,index:0}),t.unbind({target:35345,index:1})}},{key:"getDomainUniforms",value:function(){var e=this.props,t=e.colorDomain,n=e.elevationDomain,r={};return null!==t?(r.colorDomainValid=!0,r.colorDomain=t):r.colorDomainValid=!1,null!==n?(r.elevationDomainValid=!0,r.elevationDomain=n):r.elevationDomainValid=!1,r}},{key:"_setupUniformBuffer",value:function(e){var t=this.context.gl,n=e.program.handle,r=t.getUniformBlockIndex(n,"ColorData"),i=t.getUniformBlockIndex(n,"ElevationData");t.uniformBlockBinding(n,r,0),t.uniformBlockBinding(n,i,1)}}]),n}(oe.a);function or(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ar(e){for(var t=1;t=0){var o=this.state.gpuGridAggregator,a=this.getPositionForIndex(r),s=ee.getAggregationData(ar({pixelIndex:r},o.getData("color"))),u=ee.getAggregationData(ar({pixelIndex:r},o.getData("elevation")));if(i={colorValue:s.cellWeight,elevationValue:u.cellWeight,count:s.cellCount||u.cellCount,position:a,totalCount:s.totalCount||u.totalCount},"hover"!==n){var c=this.props,l=this.state.gridHash;if(!l){var f=this.state,h=f.gridOffset,d=f.translation,p=f.boundingBox,v=this.context.viewport;l=at(c,{gridOffset:h,attributes:this.getAttributes(),viewport:v,translation:d,boundingBox:p}).gridHash,this.setState({gridHash:l})}var g=l[this.getHashKeyForIndex(r)];Object.assign(i,g)}}return t.picked=Boolean(i),t.object=i,t}},{key:"renderLayers",value:function(){if(!this.state.isSupported)return null;var e=this.props,t=e.elevationScale,n=e.extruded,r=e.cellSize,i=e.coverage,o=e.material,a=e.elevationRange,s=e.colorDomain,u=e.elevationDomain,c=this.state,l=c.weights,f=c.numRow,h=c.numCol,d=c.gridOrigin,p=c.gridOffset,v=l.color,g=l.elevation,y=se(this.props.colorRange);return new(this.getSubLayerClass("gpu-grid-cell",ir))({gridSize:[h,f],gridOrigin:d,gridOffset:[p.xOffset,p.yOffset],colorRange:y,elevationRange:a,colorDomain:s,elevationDomain:u,cellSize:r,coverage:i,material:o,elevationScale:t,extruded:n},this.getSubLayerProps({id:"gpu-grid-cell"}),{data:{attributes:{colors:v.aggregationBuffer,elevations:g.aggregationBuffer}},colorMaxMinBuffer:v.maxMinBuffer,elevationMaxMinBuffer:g.maxMinBuffer,numInstances:h*f})}},{key:"finalizeState",value:function(){var e=this.state.weights;[e.color,e.elevation].forEach((function(e){var t=e.aggregationBuffer;e.maxMinBuffer.delete(),null==t||t.delete()})),l()(g()(n.prototype),"finalizeState",this).call(this)}},{key:"updateAggregationState",value:function(e){var t=e.props,n=e.oldProps,r=t.cellSize,i=t.coordinateSystem,o=this.context.viewport,a=n.cellSize!==r,s=this.state.dimensions,u=this.isAttributeChanged("positions"),c=u||this.isAttributeChanged(),l=this.state.boundingBox;if(u&&(l=Ye(this.getAttributes(),this.getNumInstances()),this.setState({boundingBox:l})),u||a){var f=et(l,r,o,i),h=f.gridOffset,d=f.translation,p=f.width,v=f.height,g=f.numCol,y=f.numRow;this.allocateResources(y,g),this.setState({gridOffset:h,translation:d,gridOrigin:[-1*d[0],-1*d[1]],width:p,height:v,numCol:g,numRow:y})}var m=c||this.isAggregationDirty(e,{dimension:s.data,compareAll:!0});m&&this._updateAccessors(e),this.setState({aggregationDataDirty:m})}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.colorAggregation,r=t.elevationAggregation,i=this.state.weights,o=i.color,a=i.elevation;o.operation=j[n],a.operation=j[r]}}]),n}(lt);function fr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=g()(e);if(t){var i=g()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function hr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dr(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function yr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e[0]&&t[2]<=e[2]&&t[1]>=e[1]&&t[3]<=e[3]}vr.layerName="GridLayer",vr.defaultProps=pr;var _r=new Float32Array(12);function Or(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,r=0,i=gr(e);try{for(i.s();!(t=i.n()).done;)for(var o=t.value,a=0;a 0.) {\n maxValue = colorDomain[1];\n minValue = colorDomain[0];\n }\n vIntensityMax = intensity / maxValue;\n vIntensityMin = intensity / minValue;\n}\n",fs:"#define SHADER_NAME triangle-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D texture;\nuniform sampler2D colorTexture;\nuniform float aggregationMode;\n\nvarying vec2 vTexCoords;\nvarying float vIntensityMin;\nvarying float vIntensityMax;\n\nvec4 getLinearColor(float value) {\n float factor = clamp(value * vIntensityMax, 0., 1.);\n vec4 color = texture2D(colorTexture, vec2(factor, 0.5));\n color.a *= min(value * vIntensityMin, 1.0);\n return color;\n}\n\nvoid main(void) {\n vec4 weights = texture2D(texture, vTexCoords);\n float weight = weights.r;\n\n if (aggregationMode > 0.5) {\n weight /= max(1.0, weights.a);\n }\n if (weight <= 0.) {\n discard;\n }\n\n vec4 linearColor = getLinearColor(weight);\n linearColor.a *= opacity;\n gl_FragColor =linearColor;\n}\n",modules:[C.a]}}},{key:"initializeState",value:function(){var e=this.context.gl;this.getAttributeManager().add({positions:{size:3,noAlloc:!0},texCoords:{size:2,noAlloc:!0}}),this.setState({model:this._getModel(e)})}},{key:"_getModel",value:function(e){var t=this.props.vertexCount;return new A.a(e,Ar(Ar({},this.getShaders()),{},{id:this.props.id,geometry:new re.a({drawMode:6,vertexCount:t})}))}},{key:"draw",value:function(e){var t=e.uniforms,n=this.state.model,r=this.props,i=r.texture,o=r.maxTexture,a=r.colorTexture,s=r.intensity,u=r.threshold,c=r.aggregationMode,l=r.colorDomain;n.setUniforms(Ar(Ar({},t),{},{texture:i,maxTexture:o,colorTexture:a,intensity:s,threshold:u,aggregationMode:c,colorDomain:l})).draw()}}]),n}(oe.a);Sr.layerName="TriangleLayer";var kr;function Cr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function jr(e){for(var t=1;t 0.5) {\n discard;\n }\n gl_FragColor = weightsTexture * gaussianKDE(2. * dist);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}},{key:"_createWeightsTransform",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.context.gl,r=this.state.weightsTransform,i=this.state.weightsTexture;null===(e=r)||void 0===e||e.delete(),r=new P.a(n,jr({id:"".concat(this.id,"-weights-transform"),elementCount:1,_targetTexture:i,_targetTextureVarying:"weightsTexture"},t)),this.setState({weightsTransform:r})}},{key:"_setupResources",value:function(){var e=this.context.gl;this._createTextures();var t=this.state,n=t.textureSize,r=t.weightsTexture,i=t.maxWeightsTexture,o=this.getShaders("weights-transform");this._createWeightsTransform(o);var a=this.getShaders("max-weights-transform"),s=new P.a(e,jr(jr({id:"".concat(this.id,"-max-weights-transform"),_sourceTextures:{inTexture:r},_targetTexture:i,_targetTextureVarying:"outTexture"},a),{},{elementCount:n*n}));this.setState({weightsTexture:r,maxWeightsTexture:i,maxWeightTransform:s,zoom:null,triPositionBuffer:new Ae.a(e,{byteLength:48,accessor:{size:3}}),triTexCoordBuffer:new Ae.a(e,{byteLength:48,accessor:{size:2}})})}},{key:"updateShaders",value:function(e){this._createWeightsTransform(e)}},{key:"_updateMaxWeightValue",value:function(){this.state.maxWeightTransform.run({parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32776}})}},{key:"_updateBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.context.viewport,n=[t.unproject([0,0]),t.unproject([t.width,0]),t.unproject([t.width,t.height]),t.unproject([0,t.height])].map((function(e){return e.map(Math.fround)})),r=mr(n),i={visibleWorldBounds:r,viewportCorners:n},o=!1;if(e||!this.state.worldBounds||!br(this.state.worldBounds,r)){var a=this._worldToCommonBounds(r),s=this._commonToWorldBounds(a);this.props.coordinateSystem===qe.a.LNGLAT&&(s[1]=Math.max(s[1],-85.051129),s[3]=Math.min(s[3],85.051129),s[0]=Math.max(s[0],-360),s[2]=Math.min(s[2],360));var u=this._worldToCommonBounds(s);i.worldBounds=s,i.normalizedCommonBounds=u,o=!0}return this.setState(i),o}},{key:"_updateTextureRenderingBounds",value:function(){var e=this.state,t=e.triPositionBuffer,n=e.triTexCoordBuffer,r=e.normalizedCommonBounds,i=e.viewportCorners,o=this.context.viewport;t.subData(Or(i,3));var a=i.map((function(e){return t=o.projectPosition(e),n=r,i=Se()(n,4),a=i[0],s=i[1],u=i[2],c=i[3],[(t[0]-a)/(u-a),(t[1]-s)/(c-s)];var t,n,i,a,s,u,c}));n.subData(Or(a,2))}},{key:"_updateColorTexture",value:function(e){var t=e.props.colorRange,n=this.state.colorTexture,r=se(t,!1,Uint8Array);n?n.setImageData({data:r,width:t.length}):n=new G.a(this.context.gl,jr({data:r,width:t.length,height:1},Tr)),this.setState({colorTexture:n})}},{key:"_updateWeightmap",value:function(){var e,t=this.props,n=t.radiusPixels,r=t.colorDomain,i=t.aggregation,o=this.state,a=o.weightsTransform,s=o.worldBounds,u=o.textureSize,c=o.weightsTexture,l=o.weightsScale;this.state.isWeightMapDirty=!1;var f=this._worldToCommonBounds(s,{useLayerCoordinateSystem:!0});if(r&&"SUM"===i){var h=this.context.viewport.distanceScales.metersPerUnit[2]*(f[2]-f[0])/u;this.state.colorDomain=r.map((function(e){return e*h*l}))}else this.state.colorDomain=r||Mr;var d={radiusPixels:n,commonBounds:f,textureWidth:u,weightsScale:l};a.update({elementCount:this.getNumInstances()}),a.run({uniforms:d,parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32774},clearRenderTarget:!0,attributes:this.getAttributes(),moduleSettings:this.getModuleSettings()}),this._updateMaxWeightValue(),c.setParameters((e={},m()(e,10240,9729),m()(e,10241,9729),e))}},{key:"_debouncedUpdateWeightmap",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.state.updateTimer,n=this.props.debounceTimeout;e?(t=null,this._updateBounds(!0),this._updateTextureRenderingBounds(),this.setState({isWeightMapDirty:!0})):(this.setState({isWeightMapDirty:!1}),clearTimeout(t),t=setTimeout(this._debouncedUpdateWeightmap.bind(this,!0),n)),this.setState({updateTimer:t})}},{key:"_worldToCommonBounds",value:function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.useLayerCoordinateSystem,o=void 0!==i&&i,a=Se()(e,4),s=a[0],u=a[1],c=a[2],l=a[3],f=this.context.viewport,h=this.state.textureSize,d=this.props.coordinateSystem,p=o&&(d===qe.a.LNGLAT_OFFSETS||d===qe.a.METER_OFFSETS),v=p?f.projectPosition(this.props.coordinateOrigin):[0,0],g=2*h/f.scale;return o&&!p?(t=this.projectPosition([s,u,0]),n=this.projectPosition([c,l,0])):(t=f.projectPosition([s,u,0]),n=f.projectPosition([c,l,0])),wr([t[0]-v[0],t[1]-v[1],n[0]-v[0],n[1]-v[1]],g,g)}},{key:"_commonToWorldBounds",value:function(e){var t=Se()(e,4),n=t[0],r=t[1],i=t[2],o=t[3],a=this.context.viewport,s=a.unprojectPosition([n,r]),u=a.unprojectPosition([i,o]);return s.slice(0,2).concat(u.slice(0,2))}}]),n}(xe);Dr.layerName="HeatmapLayer",Dr.defaultProps=Ir,n.d(t,"ScreenGridLayer",(function(){return gt})),n.d(t,"CPUGridLayer",(function(){return Et})),n.d(t,"HexagonLayer",(function(){return Vt})),n.d(t,"ContourLayer",(function(){return Zn})),n.d(t,"GridLayer",(function(){return vr})),n.d(t,"GPUGridLayer",(function(){return lr})),n.d(t,"AGGREGATION_OPERATION",(function(){return j})),n.d(t,"HeatmapLayer",(function(){return Dr})),n.d(t,"_GPUGridAggregator",(function(){return ee})),n.d(t,"_CPUAggregator",(function(){return St})),n.d(t,"_AggregationLayer",(function(){return xe})),n.d(t,"_BinSorter",(function(){return Xe}))},function(e,t,n){"use strict";n.r(t);var r=n(179),i=n(328),o=n(197),a=n(322),s=n(10),u=n(182),c=n(253),l=n(199),f=n(239),h=n(37),d=n(327),p=n(81),v=n(107),g=n(105),y=n(240),m=n(241),b=n(321),_=n(70),O=n(0),w=n.n(O),x=n(1),A=n.n(x),P=n(6),S=n.n(P),k=n(7),C=n.n(k),j=n(2),E=n.n(j),T=n(54);function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function B(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("truncated-code-geometry"):r,o=D(e),a=o.indices,s=o.attributes;return t.call(this,B(B({},e),{},{id:i,indices:a,attributes:B(B({},s),e.attributes)}))}return n}(_.a);function D(e){for(var t=e.bottomRadius,n=void 0===t?0:t,r=e.topRadius,i=void 0===r?0:r,o=e.height,a=void 0===o?1:o,s=e.nradial,u=void 0===s?10:s,c=e.nvertical,l=void 0===c?10:c,f=e.verticalAxis,h=void 0===f?"y":f,d=e.topCap,p=void 0!==d&&d,v=e.bottomCap,g=void 0!==v&&v,y=(p?2:0)+(g?2:0),m=(u+1)*(l+1+y),b=Math.atan2(n-i,a),_=Math.sin,O=Math.cos,w=Math.PI,x=O(b),A=_(b),P=p?-2:0,S=l+(g?2:0),k=u+1,C=new Uint16Array(u*(l+y)*6),j=R[h],E=new Float32Array(3*m),T=new Float32Array(3*m),M=new Float32Array(2*m),B=0,I=0,L=P;L<=S;L++){var D=L/l,F=a*D,N=void 0;L<0?(F=0,D=1,N=n):L>l?(F=a,D=1,N=i):N=n+L/l*(i-n),-2!==L&&L!==l+2||(N=0,D=0),F-=a/2;for(var U=0;Ul?0:z*x,T[B+j[1]]=L<0?-1:L>l?1:A,T[B+j[2]]=L<0||L>l?0:G*x,M[I+0]=U/u,M[I+1]=D,I+=2,B+=3}}for(var V=0;V0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("cone-geometry"):r,o=e.radius,a=void 0===o?1:o,s=e.cap,u=void 0===s||s;return t.call(this,N(N({},e),{},{id:i,topRadius:0,topCap:Boolean(u),bottomCap:Boolean(u),bottomRadius:a}))}return n}(L),G=n(310);function V(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function H(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("cylinder-geometry"):r,o=e.radius,a=void 0===o?1:o;return t.call(this,H(H({},e),{},{id:i,bottomRadius:a,topRadius:a}))}return n}(L),X=n(74);function K(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function q(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("ico-sphere-geometry"):r,o=ee(e),a=o.indices,s=o.attributes;return t.call(this,q(q({},e),{},{id:i,indices:a,attributes:q(q({},s),e.attributes)}))}return n}(_.a);function ee(e){var t=e.iterations,n=void 0===t?0:t,r=Math.PI,i=2*r,o=[].concat(Y),a=[].concat(Q);o.push(),a.push();for(var s,u=(s={},function(e,t){var n=(e*=3)>(t*=3)?e:t,r="".concat(e=0;y-=3){var m=a[y+0],b=a[y+1],_=a[y+2],O=3*m,w=3*b,x=3*_,A=2*m,P=2*b,S=2*_,k=o[O+0],C=o[O+1],j=o[O+2],E=Math.acos(j/Math.sqrt(k*k+C*C+j*j))/r,T=1-(Math.atan2(C,k)+r)/i,M=o[w+0],B=o[w+1],I=o[w+2],R=Math.acos(I/Math.sqrt(M*M+B*B+I*I))/r,L=1-(Math.atan2(B,M)+r)/i,D=o[x+0],F=o[x+1],N=o[x+2],U=Math.acos(N/Math.sqrt(D*D+F*F+N*N))/r,z=1-(Math.atan2(F,D)+r)/i,G=[D-M,F-B,N-I],V=[k-M,C-B,j-I],H=new X.a(G).cross(V).normalize(),W=void 0;(0===T||0===L||0===z)&&(0===T||T>.5)&&(0===L||L>.5)&&(0===z||z>.5)&&(o.push(o[O+0],o[O+1],o[O+2]),W=o.length/3-1,a.push(W),g[2*W+0]=1,g[2*W+1]=E,v[3*W+0]=H.x,v[3*W+1]=H.y,v[3*W+2]=H.z,o.push(o[w+0],o[w+1],o[w+2]),W=o.length/3-1,a.push(W),g[2*W+0]=1,g[2*W+1]=R,v[3*W+0]=H.x,v[3*W+1]=H.y,v[3*W+2]=H.z,o.push(o[x+0],o[x+1],o[x+2]),W=o.length/3-1,a.push(W),g[2*W+0]=1,g[2*W+1]=U,v[3*W+0]=H.x,v[3*W+1]=H.y,v[3*W+2]=H.z),v[O+0]=v[w+0]=v[x+0]=H.x,v[O+1]=v[w+1]=v[x+1]=H.y,v[O+2]=v[w+2]=v[x+2]=H.z,g[A+0]=T,g[A+1]=E,g[P+0]=L,g[P+1]=R,g[S+0]=z,g[S+1]=U}return{indices:{size:1,value:new Uint16Array(a)},attributes:{POSITION:{size:3,value:new Float32Array(o)},NORMAL:{size:3,value:new Float32Array(v)},TEXCOORD_0:{size:2,value:new Float32Array(g)}}}}function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ne(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("plane-geometry"):r,o=oe(e),a=o.indices,s=o.attributes;return t.call(this,ne(ne({},e),{},{id:i,indices:a,attributes:ne(ne({},s),e.attributes)}))}return n}(_.a);function oe(e){var t=e.type,n=void 0===t?"x,y":t,r=e.offset,i=void 0===r?0:r,o=e.flipCull,a=void 0!==o&&o,s=e.unpack,u=void 0!==s&&s,c=n.split(","),l=e["".concat(c[0],"len")]||1,f=e["".concat(c[1],"len")]||1,h=e["n".concat(c[0])]||1,d=e["n".concat(c[1])]||1,p=(h+1)*(d+1),v=new Float32Array(3*p),g=new Float32Array(3*p),y=new Float32Array(2*p);a&&(l=-l);for(var m=0,b=0,_=0;_<=d;_++)for(var O=0;O<=h;O++){var w=O/h,x=_/d;switch(y[m+0]=a?1-w:w,y[m+1]=x,n){case"x,y":v[b+0]=l*w-.5*l,v[b+1]=f*x-.5*f,v[b+2]=i,g[b+0]=0,g[b+1]=0,g[b+2]=a?1:-1;break;case"x,z":v[b+0]=l*w-.5*l,v[b+1]=i,v[b+2]=f*x-.5*f,g[b+0]=0,g[b+1]=a?1:-1,g[b+2]=0;break;case"y,z":v[b+0]=i,v[b+1]=l*w-.5*l,v[b+2]=f*x-.5*f,g[b+0]=a?1:-1,g[b+1]=0,g[b+2]=0;break;default:throw new Error("PlaneGeometry: unknown type")}m+=2,b+=3}for(var A=h+1,P=new Uint16Array(h*d*6),S=0;S0&&void 0!==arguments[0]?arguments[0]:{};A()(this,n);var r=e.id,i=void 0===r?Object(T.c)("sphere-geometry"):r,o=le(e),a=o.indices,s=o.attributes;return t.call(this,se(se({},e),{},{id:i,indices:a,attributes:se(se({},s),e.attributes)}))}return n}(_.a);function le(e){var t=e.nlat,n=void 0===t?10:t,r=e.nlong,i=void 0===r?10:r,o=e.radius,a=void 0===o?1:o,s=Math.PI-0,u=2*Math.PI-0,c=(n+1)*(i+1);if("number"==typeof a){var l=a;a=function(e,t,n,r,i){return l}}for(var f=new Float32Array(3*c),h=new Float32Array(3*c),d=new Float32Array(2*c),p=new(c>65535?Uint32Array:Uint16Array)(n*i*6),v=0;v<=n;v++)for(var g=0;g<=i;g++){var y=g/i,m=v/n,b=g+v*(i+1),_=2*b,O=3*b,w=u*y,x=s*m,A=Math.sin(w),P=Math.cos(w),S=Math.sin(x),k=P*S,C=Math.cos(x),j=A*S,E=a(k,C,j,y,m);f[O+0]=E*k,f[O+1]=E*C,f[O+2]=E*j,h[O+0]=k,h[O+1]=C,h[O+2]=j,d[_+0]=y,d[_+1]=1-m}for(var T=i+1,M=0;M85.05113){_=_>0?85.05113:-85.05113;var A=new google.maps.LatLng(_,x);y+=o.fromLatLngToContainerPixel(A).y-i/2}y=Math.round(y);var P=180*new d.a(m).sub(b).verticalAngle()/Math.PI;P<0&&(P+=360);var S,k=e.getHeading()||0,C=e.getZoom()-1;if(0===P)S=i?(l.y-c.y)/i:1;else if(P===k){var j=new d.a([c.x,c.y]).sub([l.x,l.y]).len(),E=new d.a([r,-i]).len();S=E?j/E:1}return{width:r,height:i,left:g,top:y,zoom:C+=Math.log2(S||1),bearing:P,pitch:e.getTilt(),latitude:_,longitude:x}}(this._map,this._overlay),n=t.width,r=t.height,o=t.left,a=t.top,s=i()(t,A),u=e.canvas.parentElement.style;u.left="".concat(o,"px"),u.top="".concat(a,"px");e.setProps({width:n,height:r,viewState:S({altitude:1e4,repeat:!0},s)}),e.redraw()}},{key:"_onDrawVectorInterleaved",value:function(e){var t=e.gl,n=e.transformer;if(this._deck&&this._map){var r=this._deck;if(r.setProps(S(S({},_(this._map,n)),{},{width:!1,height:!1})),r.layerManager){var i=Object(f.f)(t,36006);r.setProps({_framebuffer:i}),r.needsRedraw({clearRedrawFlags:!0}),Object(f.n)(t,{viewport:[0,0,t.canvas.width,t.canvas.height],scissor:[0,0,t.canvas.width,t.canvas.height],stencilFunc:[519,0,255,519,0,255]}),Object(f.o)(t,C,(function(){r._drawLayers("google-vector",{clearCanvas:!1})}))}}}},{key:"_onDrawVectorOverlay",value:function(e){e.gl;var t=e.transformer;if(this._deck&&this._map){var n=this._deck;n.setProps(S({},_(this._map,t))),n.redraw()}}}]),e}();n.d(t,"GoogleMapsOverlay",(function(){return T}))},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(11),u=n.n(s),c=n(147),l=n(227),f=n(90);function h(e){var t=e.map,n=e.gl,r=e.deck;if(t.__deck)return t.__deck;var i=r&&r.props._customRender,o={useDevicePixels:!0,_customRender:function(){t.triggerRepaint(),i&&i()},parameters:{depthMask:!0,depthTest:!0,blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthFunc:515,blendEquation:32774},userData:{isExternal:!1,mapboxLayers:new Set},views:r&&r.props.views||[new c.a({id:"mapbox"})]};return r&&r.props.gl!==n||(Object.assign(o,{gl:n,width:!1,height:!1,touchAction:"unset",viewState:d(t)}),t.on("move",(function(){return function(e,t){e.setProps({viewState:d(t)}),e.needsRedraw({clearRedrawFlags:!0})}(r,t)}))),r?(r.setProps(o),r.props.userData.isExternal=!0):(r=new l.a(o),t.on("remove",(function(){r.finalize(),t.__deck=null}))),r.props.userData.mapboxVersion=function(e){var t=0,n=0;if(e.version){var r=e.version.split(".").slice(0,2).map(Number),i=u()(r,2);t=i[0],n=i[1]}return{major:t,minor:n}}(t),t.__deck=r,t.on("render",(function(){r.layerManager&&function(e,t){var n=e.props.userData,r=n.mapboxLayers;if(n.isExternal){var i=Array.from(r,(function(e){return e.id})),o=e.props.layers.some((function(e){return!i.includes(e.id)})),a=e.getViewports(),s=a.findIndex((function(e){return"mapbox"===e.id})),u=a.length>1||s<0;(o||u)&&(s>=0&&((a=a.slice())[s]=p(e,t,!1)),e._drawLayers("mapbox-repaint",{viewports:a,layerFilter:function(t){return(!e.props.layerFilter||e.props.layerFilter(t))&&("mapbox"!==t.viewport.id||!i.includes(t.layer.id))},clearCanvas:!1}))}e.props.userData.currentViewport=null}(r,t)})),r}function d(e){var t=e.getCenter();return{longitude:(t.lng+540)%360-180,latitude:t.lat,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch()}}function p(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.props.userData.mapboxVersion;return new f.a(Object.assign({id:"mapbox",x:0,y:0,width:e.width,height:e.height,repeat:t.getRenderWorldCopies()},d(t),n?{nearZMultiplier:1===r.major&&r.minor>=3||r.major>=2?.02:1/(e.height||1)}:{nearZMultiplier:.1}))}function v(e){if(!e.props.userData.isExternal){var t=[],n=0;e.props.userData.mapboxLayers.forEach((function(e){var r=new(0,e.props.type)(e.props,{_offset:n++});t.push(r)})),e.setProps({layers:t})}}var g=function(){function e(t){if(i()(this,e),!t.id)throw new Error("Layer must have an unique id");this.id=t.id,this.type="custom",this.renderingMode=t.renderingMode||"3d",this.map=null,this.deck=null,this.props=t}return a()(e,[{key:"onAdd",value:function(e,t){var n,r;this.map=e,this.deck=h({map:e,gl:t,deck:this.props.deck}),n=this.deck,r=this,n.props.userData.mapboxLayers.add(r),v(n)}},{key:"onRemove",value:function(){var e,t;e=this.deck,t=this,e.props.userData.mapboxLayers.delete(t),v(e)}},{key:"setProps",value:function(e){Object.assign(this.props,e,{id:this.id}),this.deck&&v(this.deck)}},{key:"render",value:function(e,t){var n,r,i,o;n=this.deck,r=this.map,i=this,(o=n.props.userData.currentViewport)||(o=p(n,r,!0),n.props.userData.currentViewport=o),n.layerManager&&n._drawLayers("mapbox-repaint",{viewports:[o],layerFilter:function(e){var t=e.layer;return i.id===t.id},clearCanvas:!1})}}]),e}();n.d(t,"MapboxLayer",(function(){return g}))},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s),c=n(9),l=n.n(c),f=n(6),h=n.n(f),d=n(7),p=n.n(d),v=n(2),g=n.n(v),y=n(57),m=n(58),b=n(5),_=n(32),O=n.n(_),w=("undefined"!=typeof window?window:global,"undefined"!=typeof global?global:window,"undefined"!=typeof document?document:{});var x={container:O.a.object,gl:O.a.object,mapboxApiAccessToken:O.a.string,mapboxApiUrl:O.a.string,attributionControl:O.a.bool,preserveDrawingBuffer:O.a.bool,reuseMaps:O.a.bool,transformRequest:O.a.func,mapOptions:O.a.object,mapStyle:O.a.oneOfType([O.a.string,O.a.object]),visible:O.a.bool,asyncRender:O.a.bool,onLoad:O.a.func,onError:O.a.func,width:O.a.number,height:O.a.number,viewState:O.a.object,longitude:O.a.number,latitude:O.a.number,zoom:O.a.number,bearing:O.a.number,pitch:O.a.number,altitude:O.a.number},A={container:w.body,mapboxApiAccessToken:function(){var e=null;if("undefined"!=typeof window&&window.location){var t=window.location.search.match(/access_token=([^&\/]*)/);e=t&&t[1]}e||"undefined"==typeof process||(e=e||process.env.MapboxAccessToken||process.env.REACT_APP_MAPBOX_ACCESS_TOKEN);return e||"no-token"}(),mapboxApiUrl:"https://api.mapbox.com",preserveDrawingBuffer:!1,attributionControl:!0,reuseMaps:!1,mapOptions:{},mapStyle:"mapbox://styles/mapbox/light-v8",visible:!0,asyncRender:!1,onLoad:function(){},onError:function(e){e&&console.error(e.error)},width:0,height:0,longitude:0,latitude:0,zoom:0,bearing:0,pitch:0,altitude:1.5};function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"component";e.debug&&O.a.checkPropTypes(x,e,"prop",t)}var S=function(){function e(t){var n=this;if(Object(y.a)(this,e),Object(b.a)(this,"mapboxgl",void 0),Object(b.a)(this,"props",A),Object(b.a)(this,"_map",null),Object(b.a)(this,"width",0),Object(b.a)(this,"height",0),Object(b.a)(this,"_fireLoadEvent",(function(){n.props.onLoad({type:"load",target:n._map})})),!t.mapboxgl)throw new Error("Mapbox not available");this.mapboxgl=t.mapboxgl,e.initialized||(e.initialized=!0,this._checkStyleSheet(this.mapboxgl.version)),this._initialize(t)}return Object(m.a)(e,[{key:"finalize",value:function(){return this._destroy(),this}},{key:"setProps",value:function(e){return this._update(this.props,e),this}},{key:"resize",value:function(){return this._map.resize(),this}},{key:"redraw",value:function(){var e=this._map;e.style&&(e._frame&&(e._frame.cancel(),e._frame=null),e._render())}},{key:"getMap",value:function(){return this._map}},{key:"_reuse",value:function(t){this._map=e.savedMap;var n=this._map.getContainer(),r=t.container;for(r.classList.add("mapboxgl-map");n.childNodes.length>0;)r.appendChild(n.childNodes[0]);this._map._container=r,e.savedMap=null,t.mapStyle&&this._map.setStyle(t.mapStyle,{diff:!1}),this._map.isStyleLoaded()?this._fireLoadEvent():this._map.once("styledata",this._fireLoadEvent)}},{key:"_create",value:function(t){if(t.reuseMaps&&e.savedMap)this._reuse(t);else{if(t.gl){var n=HTMLCanvasElement.prototype.getContext;HTMLCanvasElement.prototype.getContext=function(){return HTMLCanvasElement.prototype.getContext=n,t.gl}}var r={container:t.container,center:[0,0],zoom:8,pitch:0,bearing:0,maxZoom:24,style:t.mapStyle,interactive:!1,trackResize:!1,attributionControl:t.attributionControl,preserveDrawingBuffer:t.preserveDrawingBuffer};t.transformRequest&&(r.transformRequest=t.transformRequest),this._map=new this.mapboxgl.Map(Object.assign({},r,t.mapOptions)),this._map.once("load",t.onLoad),this._map.on("error",t.onError)}return this}},{key:"_destroy",value:function(){this._map&&(e.savedMap?this._map.remove():(e.savedMap=this._map,this._map.off("load",this.props.onLoad),this._map.off("error",this.props.onError),this._map.off("styledata",this._fireLoadEvent)),this._map=null)}},{key:"_initialize",value:function(e){var t=this;P(e=Object.assign({},A,e),"Mapbox"),this.mapboxgl.accessToken=e.mapboxApiAccessToken||A.mapboxApiAccessToken,this.mapboxgl.baseApiUrl=e.mapboxApiUrl,this._create(e);var n=e.container;Object.defineProperty(n,"offsetWidth",{get:function(){return t.width}}),Object.defineProperty(n,"clientWidth",{get:function(){return t.width}}),Object.defineProperty(n,"offsetHeight",{get:function(){return t.height}}),Object.defineProperty(n,"clientHeight",{get:function(){return t.height}});var r=this._map.getCanvas();r&&(r.style.outline="none"),this._updateMapViewport({},e),this._updateMapSize({},e),this.props=e}},{key:"_update",value:function(e,t){if(this._map){P(t=Object.assign({},this.props,t),"Mapbox");var n=this._updateMapViewport(e,t),r=this._updateMapSize(e,t);t.asyncRender||!n&&!r||this.redraw(),this.props=t}}},{key:"_updateMapSize",value:function(e,t){var n=e.width!==t.width||e.height!==t.height;return n&&(this.width=t.width,this.height=t.height,this.resize()),n}},{key:"_updateMapViewport",value:function(e,t){var n=this._getViewState(e),r=this._getViewState(t),i=r.latitude!==n.latitude||r.longitude!==n.longitude||r.zoom!==n.zoom||r.pitch!==n.pitch||r.bearing!==n.bearing||r.altitude!==n.altitude;return i&&(this._map.jumpTo(this._viewStateToMapboxProps(r)),r.altitude!==n.altitude&&(this._map.transform.altitude=r.altitude)),i}},{key:"_getViewState",value:function(e){var t=e.viewState||e,n=t.longitude,r=t.latitude,i=t.zoom,o=t.pitch,a=void 0===o?0:o,s=t.bearing,u=void 0===s?0:s,c=t.altitude;return{longitude:n,latitude:r,zoom:i,pitch:a,bearing:u,altitude:void 0===c?1.5:c}}},{key:"_checkStyleSheet",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"0.47.0";if(void 0!==w)try{var t=w.createElement("div");t.className="mapboxgl-map",t.style.display="none",w.body.append(t);var n="static"!==window.getComputedStyle(t).position;if(!n){var r=w.createElement("link");r.setAttribute("rel","stylesheet"),r.setAttribute("type","text/css"),r.setAttribute("href","https://api.tiles.mapbox.com/mapbox-gl-js/v".concat(e,"/mapbox-gl.css")),w.head.append(r)}}catch(e){}}},{key:"_viewStateToMapboxProps",value:function(e){return{center:[e.longitude,e.latitude],zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}}}]),e}();Object(b.a)(S,"initialized",!1),Object(b.a)(S,"propTypes",x),Object(b.a)(S,"defaultProps",A),Object(b.a)(S,"savedMap",null);var k=n(227);function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function j(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};if(a()(this,n),"undefined"==typeof document)throw Error("Deck can only be used in the browser");var i=M(r),o=i.mapCanvas,s=i.deckCanvas,u=r.viewState||r.initialViewState,c=Number.isFinite(u&&u.latitude),l=r.map,f=void 0===l?window.mapboxgl:l;return e=t.call(this,j({canvas:s},r)),f&&f.Map?e._map=c&&new S(j(j({},r),{},{viewState:u,container:o,mapboxgl:f})):e._map=f,e._onBeforeRender=function(t){if(e.onBeforeRender(t),e._map){var n=e.getViewports()[0];e._map.setProps({width:n.width,height:n.height,viewState:n})}},e}return u()(n,[{key:"getMapboxMap",value:function(){return this._map&&this._map.getMap()}},{key:"finalize",value:function(){this._map&&this._map.finalize(),l()(g()(n.prototype),"finalize",this).call(this)}},{key:"setProps",value:function(e){"onBeforeRender"in e&&this._onBeforeRender&&e.onBeforeRender!==this._onBeforeRender&&(this.onBeforeRender=e.onBeforeRender,e.onBeforeRender=this._onBeforeRender),"mapStyle"in e&&this._map&&this._map._map.setStyle(e.mapStyle),l()(g()(n.prototype),"setProps",this).call(this,e)}}]),n}(k.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return x}));var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(6),u=n.n(s),c=n(7),l=n.n(c),f=n(2),h=n.n(f),d=n(70),p=n(54);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function g(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};a()(this,n);var r=e.id,i=void 0===r?Object(p.c)("cube-geometry"):r;return t.call(this,g(g({},e),{},{id:i,indices:{size:1,value:new Uint16Array(m)},attributes:g(g({},w),e.attributes)}))}return n}(d.a)},,,,,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return _}));var r=n(1),i=n.n(r),o=n(3),a=n.n(o),s=n(20),u=n.n(s),c=n(6),l=n.n(c),f=n(7),h=n.n(f),d=n(2),p=n.n(d),v=n(10),g=n(43),y=n(37),m=n(54);function b(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}var _=function(e){l()(n,e);var t=b(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,n),Object(v.a)(e),(r=t.call(this,e,o)).initialize(o),r.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(u()(r)),r}return a()(n,[{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Object(m.a)(this.buffers)||this.bind((function(){return e._unbindBuffers()})),this.setProps(t),this}},{key:"setProps",value:function(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}},{key:"setBuffers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.bind((function(){for(var n in t)e.setBuffer(n,t[n])})),this}},{key:"setBuffer",value:function(e,t){var n=this,r=this._getVaryingIndex(e),i=this._getBufferParams(t),o=i.buffer,a=i.byteSize,s=i.byteOffset;return r<0?(this.unused[e]=o,v.k.warn((function(){return"".concat(n.id," unused varying buffer ").concat(e)}))(),this):(this.buffers[r]=t,this.bindOnUse||this._bindBuffer(r,o,s,a),this)}},{key:"begin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}},{key:"end",value:function(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}},{key:"_getBufferParams",value:function(e){var t,n,r;return e instanceof y.a==!1?(r=e.buffer,n=e.byteSize,t=e.byteOffset):r=e,void 0===t&&void 0===n||(t=t||0,n=n||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:n}}},{key:"_getVaryingInfo",value:function(e){return this.configuration&&this.configuration.getVaryingInfo(e)}},{key:"_getVaryingIndex",value:function(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;var t=Number(e);return Number.isFinite(t)?t:-1}},{key:"_bindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers){var t=this._getBufferParams(this.buffers[e]),n=t.buffer,r=t.byteSize,i=t.byteOffset;this._bindBuffer(e,n,i,r)}}},{key:"_unbindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers)this._bindBuffer(e,null)}},{key:"_bindBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0,i=t&&t.handle;return i&&void 0!==r?this.gl.bindBufferRange(35982,e,i,n,r):this.gl.bindBufferBase(35982,e,i),this}},{key:"_createHandle",value:function(){return this.gl.createTransformFeedback()}},{key:"_deleteHandle",value:function(){this.gl.deleteTransformFeedback(this.handle)}},{key:"_bindHandle",value:function(e){this.gl.bindTransformFeedback(36386,this.handle)}}],[{key:"isSupported",value:function(e){return Object(v.j)(e)}}]),n}(g.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(11),i=n.n(r),o=n(1),a=n.n(o),s=n(3),u=n.n(s);function c(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t.delay+t.duration*t.repeat}},{key:"getTime",value:function(e){if(void 0===e)return this.time;var t=this.channels.get(e);return void 0===t?-1:t.time}},{key:"setTime",value:function(e){this.time=Math.max(0,e);var t,n=c(this.channels.values());try{for(n.s();!(t=n.n()).done;){var r=t.value;this._setChannelTime(r,this.time)}}catch(e){n.e(e)}finally{n.f()}var i,o=c(this.animations.values());try{for(o.s();!(i=o.n()).done;){var a=i.value,s=a.animation,u=a.channel;s.setTime(this.getTime(u))}}catch(e){o.e(e)}finally{o.f()}}},{key:"play",value:function(){this.playing=!0}},{key:"pause",value:function(){this.playing=!1,this.lastEngineTime=-1}},{key:"reset",value:function(){this.setTime(0)}},{key:"attachAnimation",value:function(e,t){var n=h++;return this.animations.set(n,{animation:e,channel:t}),e.setTime(this.getTime(t)),n}},{key:"detachAnimation",value:function(e){this.animations.delete(e)}},{key:"update",value:function(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}},{key:"_setChannelTime",value:function(e,t){var n=t-e.delay;n>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,n)%e.duration,e.time*=e.rate)}}]),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(86),u=n(125),c=n(61),l={};function f(e){return h.apply(this,arguments)}function h(){return(h=i()(a.a.mark((function e(t){var n,r,i=arguments;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:null,r=i.length>2&&void 0!==i[2]?i[2]:{},n&&(t=d(t,n,r)),l[t]=l[t]||p(t),e.next=6,l[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function d(e,t,n){if(e.startsWith("http"))return e;var r=n.modules||{};return r[e]?r[e]:s.b?n.CDN?(Object(c.a)(n.CDN.startsWith("http")),"".concat(n.CDN,"/").concat(t,"@").concat("3.1.5","/dist/libs/").concat(e)):s.d?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function p(e){return v.apply(this,arguments)}function v(){return(v=i()(a.a.mark((function e(t){var n,r,i;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=7;break}return e.next=3,fetch(t);case 3:return n=e.sent,e.next=6,n.arrayBuffer();case 6:return e.abrupt("return",e.sent);case 7:if(s.b){e.next=20;break}if(e.prev=8,e.t0=u&&u.requireFromFile,!e.t0){e.next=14;break}return e.next=13,u.requireFromFile(t);case 13:e.t0=e.sent;case 14:return e.abrupt("return",e.t0);case 17:return e.prev=17,e.t1=e.catch(8),e.abrupt("return",null);case 20:if(!s.d){e.next=22;break}return e.abrupt("return",importScripts(t));case 22:return e.next=24,fetch(t);case 24:return r=e.sent,e.next=27,r.text();case 27:return i=e.sent,e.abrupt("return",g(i,t));case 29:case"end":return e.stop()}}),e,null,[[8,17]])})))).apply(this,arguments)}function g(e,t){if(!s.b)return u.requireFromString&&u.requireFromString(e,t);if(s.d)return eval.call(s.a,e),null;var n=document.createElement("script");n.id=t;try{n.appendChild(document.createTextNode(e))}catch(t){n.text=e}return document.body.appendChild(n),null}},function(e,t,n){"use strict";var r={};n.r(r),n.d(r,"name",(function(){return nt})),n.d(r,"preprocess",(function(){return rt})),n.d(r,"decode",(function(){return it}));var i={};n.r(i),n.d(i,"name",(function(){return pt})),n.d(i,"preprocess",(function(){return vt}));var o={};n.r(o),n.d(o,"name",(function(){return mt})),n.d(o,"preprocess",(function(){return bt}));var a={};n.r(a),n.d(a,"name",(function(){return Ct})),n.d(a,"preprocess",(function(){return jt})),n.d(a,"decode",(function(){return Et})),n.d(a,"encode",(function(){return Mt}));var s={};n.r(s),n.d(s,"name",(function(){return Ut})),n.d(s,"decode",(function(){return zt})),n.d(s,"encode",(function(){return Vt}));var u={};n.r(u),n.d(u,"name",(function(){return Xt})),n.d(u,"decode",(function(){return Kt})),n.d(u,"encode",(function(){return Zt}));var c={};n.r(c),n.d(c,"name",(function(){return $t})),n.d(c,"decode",(function(){return en})),n.d(c,"encode",(function(){return nn}));var l,f,h=n(0),d=n.n(h),p=n(8),v=n.n(p),g=n(4),y=n.n(g),m=n(12),b=n.n(m),_=n(11),O=n.n(_),w=n(323),x="https://unpkg.com/@loaders.gl/textures@".concat("3.1.5","/dist/libs/basis_encoder.wasm"),A="https://unpkg.com/@loaders.gl/textures@".concat("3.1.5","/dist/libs/basis_encoder.js");function P(e){return S.apply(this,arguments)}function S(){return(S=v()(y.a.mark((function e(t){var n;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basis){e.next=3;break}return e.abrupt("return",n.basis);case 3:return l=l||k(t),e.next=6,l;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function k(e){return C.apply(this,arguments)}function C(){return(C=v()(y.a.mark((function e(t){var n,r,i,o;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,Object(w.a)("basis_transcoder.js","textures",t);case 5:return e.t1=e.sent,e.next=8,Object(w.a)("basis_transcoder.wasm","textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,o=O()(i,2),n=o[0],r=o[1],n=n||globalThis.BASIS,e.next=19,j(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function j(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile;(0,e.initializeBasis)(),t({BasisFile:n})}))}))}function E(e){return T.apply(this,arguments)}function T(){return(T=v()(y.a.mark((function e(t){var n;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basisEncoder){e.next=3;break}return e.abrupt("return",n.basisEncoder);case 3:return f=f||M(t),e.next=6,f;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function M(e){return B.apply(this,arguments)}function B(){return(B=v()(y.a.mark((function e(t){var n,r,i,o;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,Object(w.a)(A,"textures",t);case 5:return e.t1=e.sent,e.next=8,Object(w.a)(x,"textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,o=O()(i,2),n=o[0],r=o[1],n=n||globalThis.BASIS,e.next=19,I(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function I(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile,r=e.KTX2File,i=e.initializeBasis,o=e.BasisEncoder;i(),t({BasisFile:n,KTX2File:r,BasisEncoder:o})}))}))}var R={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};function L(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return D(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return D(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0&&a<=t.byteLength),{ArrayType:n,length:o,byteLength:a}}function Me(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Be(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Be(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Be(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return de(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}},{key:"addRequiredExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return de(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}},{key:"registerUsedExtension",value:function(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find((function(t){return t===e}))||this.json.extensionsUsed.push(e)}},{key:"registerRequiredExtension",value:function(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find((function(t){return t===e}))||this.json.extensionsRequired.push(e)}},{key:"removeExtension",value:function(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}},{key:"setDefaultScene",value:function(e){this.json.scene=e}},{key:"addScene",value:function(e){var t=e.nodeIndices;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}},{key:"addNode",value:function(e){var t=e.meshIndex,n=e.matrix;this.json.nodes=this.json.nodes||[];var r={mesh:t};return n&&(r.matrix=n),this.json.nodes.push(r),this.json.nodes.length-1}},{key:"addMesh",value:function(e){var t=e.attributes,n=e.indices,r=e.material,i=e.mode,o=void 0===i?4:i,a={primitives:[{attributes:this._addAttributes(t),mode:o}]};if(n){var s=this._addIndices(n);a.primitives[0].indices=s}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}},{key:"addPointCloud",value:function(e){var t={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(t),this.json.meshes.length-1}},{key:"addImage",value:function(e,t){var n=Object(Oe.a)(e),r=t||(null==n?void 0:n.mimeType),i={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(i),this.json.images.length-1}},{key:"addBufferView",value:function(e){var t=e.byteLength;de(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);var n={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=Object(we.b)(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}},{key:"addAccessor",value:function(e,t){var n={bufferView:e,type:je(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}},{key:"addBinaryBuffer",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{size:3},n=this.addBufferView(e),r={min:t.min,max:t.max};r.min&&r.max||(r=this._getAccessorMinMax(e,t.size));var i={size:t.size,componentType:Ee(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(n,Object.assign(i,t))}},{key:"addTexture",value:function(e){var t={source:e.imageIndex};return this.json.textures=this.json.textures||[],this.json.textures.push(t),this.json.textures.length-1}},{key:"addMaterial",value:function(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}},{key:"createBinaryChunk",value:function(){var e,t;this.gltf.buffers=[];var n,r=this.byteLength,i=new ArrayBuffer(r),o=new Uint8Array(i),a=0,s=Me(this.sourceBuffers||[]);try{for(s.s();!(n=s.n()).done;){var u=n.value;a=Object(we.a)(u,o,a)}}catch(e){s.e(e)}finally{s.f()}null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=r:this.json.buffers=[{byteLength:r}],this.gltf.binary=i,this.sourceBuffers=[i]}},{key:"_removeStringFromArray",value:function(e,t){for(var n=!0;n;){var r=e.indexOf(t);r>-1?e.splice(r,1):n=!1}}},{key:"_addAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};for(var n in e){var r=e[n],i=this._getGltfAttributeName(n),o=this.addBinaryBuffer(r.value,r);t[i]=o}return t}},{key:"_addIndices",value:function(e){return this.addBinaryBuffer(e,{size:1})}},{key:"_getGltfAttributeName",value:function(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}},{key:"_getAccessorMinMax",value:function(e,t){var n={min:null,max:null};if(e.length5&&void 0!==u[5]?u[5]:"NONE",e.next=3,Ke();case 3:$e(s=e.sent,s.exports[We[o]],t,n,r,i,s.exports[He[a||"NONE"]]);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ke(){return qe.apply(this,arguments)}function qe(){return(qe=v()(y.a.mark((function e(){return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Le||(Le=Ze()),e.abrupt("return",Le);case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ze(){return Ye.apply(this,arguments)}function Ye(){return(Ye=v()(y.a.mark((function e(){var t,n;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Ue,WebAssembly.validate(Ge)&&(t=ze,console.log("Warning: meshopt_decoder is using experimental SIMD support")),e.next=4,WebAssembly.instantiate(Qe(t),{});case 4:return n=e.sent,e.next=7,n.instance.exports.__wasm_call_ctors();case 7:return e.abrupt("return",n.instance);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Qe(e){for(var t=new Uint8Array(e.length),n=0;n96?r-71:r>64?r-65:r>47?r+4:r>46?63:62}for(var i=0,o=0;o=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function yt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]&&arguments[2];if(!e)return null;if(Array.isArray(e))return new t(e);if(n&&!(e instanceof t))return new t(e);return e}(t,Float32Array)),r=t.length/n);return{buffer:t,size:n,count:r}}(e),n=t.buffer,r=t.size;return{value:n,size:r,byteOffset:0,count:t.count,type:je(r),componentType:Ee(n)}}function xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function At(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function kt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},r=new Fe(e),i=St(r.json.meshes||[]);try{for(i.s();!(t=i.n()).done;){var o=t.value;Rt(o,n),r.addRequiredExtension("KHR_draco_mesh_compression")}}catch(e){i.e(e)}finally{i.f()}}function Bt(e,t,n,r){return It.apply(this,arguments)}function It(){return(It=v()(y.a.mark((function e(t,n,r,i){var o,a,s,u,c,l,f,h,d,p,v,g,m,b;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=t.getObjectExtension(n,"KHR_draco_mesh_compression")){e.next=3;break}return e.abrupt("return");case 3:return a=t.getTypedArrayForBufferView(o.bufferView),s=Object(he.c)(a.buffer,a.byteOffset),u=i.parse,delete(c=At({},r))["3d-tiles"],e.next=10,u(s,_t.a,c,i);case 10:for(l=e.sent,f=Ot(l.attributes),h=0,d=Object.entries(f);h2&&void 0!==arguments[2]?arguments[2]:4,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;if(!i.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");var a=i.DracoWriter.encodeSync({attributes:e}),s=null==o?void 0:null===(n=o.parseSync)||void 0===n?void 0:n.call(o,{attributes:e}),u=i._addFauxAttributes(s.attributes),c=i.addBufferView(a),l={primitives:[{attributes:u,mode:r,extensions:d()({},"KHR_draco_mesh_compression",{bufferView:c,attributes:u})}]};return l}function Lt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function Dt(e){var t,n,r,i,o,a;return y.a.wrap((function(s){for(;;)switch(s.prev=s.next){case 0:t=St(e.json.meshes||[]),s.prev=1,t.s();case 3:if((n=t.n()).done){s.next=24;break}r=n.value,i=St(r.primitives),s.prev=6,i.s();case 8:if((o=i.n()).done){s.next=14;break}return a=o.value,s.next=12,a;case 12:s.next=8;break;case 14:s.next=19;break;case 16:s.prev=16,s.t0=s.catch(6),i.e(s.t0);case 19:return s.prev=19,i.f(),s.finish(19);case 22:s.next=3;break;case 24:s.next=29;break;case 26:s.prev=26,s.t1=s.catch(1),t.e(s.t1);case 29:return s.prev=29,t.f(),s.finish(29);case 32:case"end":return s.stop()}}),Pt,null,[[1,26,29,32],[6,16,19,22]])}function Ft(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Nt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Nt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Nt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Jt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Qt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function un(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=cn.filter((function(e){return dn(e.name,n)})),o=sn(i);try{for(o.s();!(t=o.n()).done;){var a,s=t.value;null===(a=s.preprocess)||void 0===a||a.call(s,e,n,r)}}catch(e){o.e(e)}finally{o.f()}}function fn(e){return hn.apply(this,arguments)}function hn(){return(hn=v()(y.a.mark((function e(t){var n,r,i,o,a,s,u,c=arguments;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=c.length>1&&void 0!==c[1]?c[1]:{},r=c.length>2?c[2]:void 0,i=cn.filter((function(e){return dn(e.name,n)})),o=sn(i),e.prev=4,o.s();case 6:if((a=o.n()).done){e.next=12;break}return s=a.value,e.next=10,null===(u=s.decode)||void 0===u?void 0:u.call(s,t,n,r);case 10:e.next=6;break;case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(4),o.e(e.t0);case 17:return e.prev=17,o.f(),e.finish(17);case 20:case"end":return e.stop()}}),e,null,[[4,14,17,20]])})))).apply(this,arguments)}function dn(e,t){var n,r=(null==t?void 0:null===(n=t.gltf)||void 0===n?void 0:n.excludeExtensions)||{};return!(e in r&&!r[e])}function pn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return vn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return vn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function vn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function yn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return(new On).normalize(e,t)}function xn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function An(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=e.json,r=e.buffers,i=void 0===r?[]:r,o=e.images,a=void 0===o?[]:o,s=e.baseUri,u=void 0===s?"":s;return de(n),this.baseUri=u,this.json=n,this.buffers=i,this.images=a,this._resolveTree(this.json,t),this.json}},{key:"_resolveTree",value:function(e){var t=this;arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.bufferViews&&(e.bufferViews=e.bufferViews.map((function(e,n){return t._resolveBufferView(e,n)}))),e.images&&(e.images=e.images.map((function(e,n){return t._resolveImage(e,n)}))),e.samplers&&(e.samplers=e.samplers.map((function(e,n){return t._resolveSampler(e,n)}))),e.textures&&(e.textures=e.textures.map((function(e,n){return t._resolveTexture(e,n)}))),e.accessors&&(e.accessors=e.accessors.map((function(e,n){return t._resolveAccessor(e,n)}))),e.materials&&(e.materials=e.materials.map((function(e,n){return t._resolveMaterial(e,n)}))),e.meshes&&(e.meshes=e.meshes.map((function(e,n){return t._resolveMesh(e,n)}))),e.nodes&&(e.nodes=e.nodes.map((function(e,n){return t._resolveNode(e,n)}))),e.skins&&(e.skins=e.skins.map((function(e,n){return t._resolveSkin(e,n)}))),e.scenes&&(e.scenes=e.scenes.map((function(e,n){return t._resolveScene(e,n)}))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}},{key:"getScene",value:function(e){return this._get("scenes",e)}},{key:"getNode",value:function(e){return this._get("nodes",e)}},{key:"getSkin",value:function(e){return this._get("skins",e)}},{key:"getMesh",value:function(e){return this._get("meshes",e)}},{key:"getMaterial",value:function(e){return this._get("materials",e)}},{key:"getAccessor",value:function(e){return this._get("accessors",e)}},{key:"getCamera",value:function(e){return null}},{key:"getTexture",value:function(e){return this._get("textures",e)}},{key:"getSampler",value:function(e){return this._get("samplers",e)}},{key:"getImage",value:function(e){return this._get("images",e)}},{key:"getBufferView",value:function(e){return this._get("bufferViews",e)}},{key:"getBuffer",value:function(e){return this._get("buffers",e)}},{key:"_get",value:function(e,t){if("object"===b()(t))return t;var n=this.json[e]&&this.json[e][t];return n||console.warn("glTF file error: Could not find ".concat(e,"[").concat(t,"]")),n}},{key:"_resolveScene",value:function(e,t){var n=this;return e.id=e.id||"scene-".concat(t),e.nodes=(e.nodes||[]).map((function(e){return n.getNode(e)})),e}},{key:"_resolveNode",value:function(e,t){var n=this;return e.id=e.id||"node-".concat(t),e.children&&(e.children=e.children.map((function(e){return n.getNode(e)}))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((function(e,t){var r=n.getMesh(t);return e.id=r.id,e.primitives=e.primitives.concat(r.primitives),e}),{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}},{key:"_resolveSkin",value:function(e,t){return e.id=e.id||"skin-".concat(t),e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}},{key:"_resolveMesh",value:function(e,t){var n=this;return e.id=e.id||"mesh-".concat(t),e.primitives&&(e.primitives=e.primitives.map((function(e){var t=(e=An({},e)).attributes;for(var r in e.attributes={},t)e.attributes[r]=n.getAccessor(t[r]);return void 0!==e.indices&&(e.indices=n.getAccessor(e.indices)),void 0!==e.material&&(e.material=n.getMaterial(e.material)),e}))),e}},{key:"_resolveMaterial",value:function(e,t){if(e.id=e.id||"material-".concat(t),e.normalTexture&&(e.normalTexture=An({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=An({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=An({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=An({},e.pbrMetallicRoughness);var n=e.pbrMetallicRoughness;n.baseColorTexture&&(n.baseColorTexture=An({},n.baseColorTexture),n.baseColorTexture.texture=this.getTexture(n.baseColorTexture.index)),n.metallicRoughnessTexture&&(n.metallicRoughnessTexture=An({},n.metallicRoughnessTexture),n.metallicRoughnessTexture.texture=this.getTexture(n.metallicRoughnessTexture.index))}return e}},{key:"_resolveAccessor",value:function(e,t){var n,r;if(e.id=e.id||"accessor-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=(n=e.componentType,Sn[n]),e.components=(r=e.type,Pn[r]),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){var i=e.bufferView.buffer,o=Te(e,e.bufferView),a=o.ArrayType,s=o.byteLength,u=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,c=i.arrayBuffer.slice(u,u+s);e.bufferView.byteStride&&(c=this._getValueFromInterleavedBuffer(i,u,e.bufferView.byteStride,e.bytesPerElement,e.count)),e.value=new a(c)}return e}},{key:"_getValueFromInterleavedBuffer",value:function(e,t,n,r,i){for(var o=new Uint8Array(i*r),a=0;a1&&void 0!==arguments[1]?arguments[1]:0;return"".concat(String.fromCharCode(e.getUint8(t+0))).concat(String.fromCharCode(e.getUint8(t+1))).concat(String.fromCharCode(e.getUint8(t+2))).concat(String.fromCharCode(e.getUint8(t+3)))}function Un(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=new DataView(e),i=n.magic,o=void 0===i?1735152710:i,a=r.getUint32(t,!1);return a===o||1735152710===a}function zn(e,t,n){Object(Fn.a)(e.header.byteLength>20);var r=t.getUint32(n+0,!0),i=t.getUint32(n+4,!0);return n+=8,Object(Fn.a)(0===i),Vn(e,t,n,r),n+=r,n+=Hn(e,t,n,e.header.byteLength)}function Gn(e,t,n,r){return Object(Fn.a)(e.header.byteLength>20),function(e,t,n,r){for(;n+8<=e.header.byteLength;){var i=t.getUint32(n+0,!0),o=t.getUint32(n+4,!0);switch(n+=8,o){case 1313821514:Vn(e,t,n,i);break;case 5130562:Hn(e,t,n,i);break;case 0:r.strict||Vn(e,t,n,i);break;case 1:r.strict||Hn(e,t,n,i)}n+=Object(we.b)(i,4)}}(e,t,n,r),n+e.header.byteLength}function Vn(e,t,n,r){var i=new Uint8Array(t.buffer,n,r),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Object(we.b)(r,4)}function Hn(e,t,n,r){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:n,byteLength:r,arrayBuffer:t.buffer}),Object(we.b)(r,4)}function Wn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Jn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Jn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Jn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==d[2]?d[2]:0,i=d.length>3?d[3]:void 0,o=d.length>4?d[4]:void 0,qn(t,n,r,i),wn(t,{normalize:null==i?void 0:null===(a=i.gltf)||void 0===a?void 0:a.normalize}),ln(t,i,o),l=[],null==i||null===(s=i.gltf)||void 0===s||!s.loadBuffers||!t.json.buffers){e.next=10;break}return e.next=10,Zn(t,i,o);case 10:return null!=i&&null!==(u=i.gltf)&&void 0!==u&&u.loadImages&&(f=Qn(t,i,o),l.push(f)),h=fn(t,i,o),l.push(h),e.next=15,Promise.all(l);case 15:return e.abrupt("return",null!=i&&null!==(c=i.gltf)&&void 0!==c&&c.postProcess?Dn(t,i):t);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qn(e,t,n,r){(r.uri&&(e.baseUri=r.uri),t instanceof ArrayBuffer&&!Un(t,n,r))&&(t=(new TextDecoder).decode(t));if("string"==typeof t)e.json=Object(fe.a)(t);else if(t instanceof ArrayBuffer){var i={};n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],new DataView(t)),i=Nn(r,n+0),o=r.getUint32(n+4,!0),a=r.getUint32(n+8,!0);switch(Object.assign(e,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:i,version:o,json:{},binChunks:[]}),n+=12,e.version){case 1:return zn(e,r,n);case 2:return Gn(e,r,n,{});default:throw new Error("Invalid GLB version ".concat(e.version,". Only supports v1 and v2."))}}(i,t,n,r.glb),de("glTF"===i.type,"Invalid GLB magic string ".concat(i.type)),e._glb=i,e.json=i.json}else de(!1,"GLTF: must be ArrayBuffer or string");var o=e.json.buffers||[];if(e.buffers=new Array(o.length).fill(null),e._glb&&e._glb.header.hasBinChunk){var a=e._glb.binChunks;e.buffers[0]={arrayBuffer:a[0].arrayBuffer,byteOffset:a[0].byteOffset,byteLength:a[0].byteLength}}var s=e.json.images||[];e.images=new Array(s.length).fill({})}function Zn(e,t,n){return Yn.apply(this,arguments)}function Yn(){return(Yn=v()(y.a.mark((function e(t,n,r){var i,o,a,s,u,c,l,f;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.json.buffers||[],o=0;case 2:if(!(o1&&void 0!==s[1]?s[1]:{},r=s.length>2?s[2]:void 0,(n=ir(ir({},or.options),n)).gltf=ir(ir({},or.options.gltf),n.gltf),i=n.byteOffset,o=void 0===i?0:i,a={},e.next=8,Xn(a,t,o,n,r);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},function(e,t,n){"use strict";var r=n(8),i=n.n(r),o=n(4),a=n.n(o),s=n(104),u=n(94),c=globalThis._parseImageNode,l="undefined"!=typeof Image,f="undefined"!=typeof ImageBitmap,h=Boolean(c),d=!!u.c||h;var p=n(12),v=n.n(p);function g(e){var t=m(e);if(!t)throw new Error("Not an image");return t}function y(e){switch(g(e)){case"data":return e;case"image":case"imagebitmap":var t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("getImageData");return t.width=e.width,t.height=e.height,n.drawImage(e,0,0),n.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function m(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&e instanceof Image?"image":e&&"object"===v()(e)&&e.data&&e.width&&e.height?"data":null}var b=/^data:image\/svg\+xml/,_=/\.svg((\?|#).*)?$/;function O(e){return e&&(b.test(e)||_.test(e))}function w(e,t){if(O(t)){var n=(new TextDecoder).decode(e);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(n=unescape(encodeURIComponent(n)))}catch(e){throw new Error(e.message)}return"data:image/svg+xml;base64,".concat(btoa(n))}return x(e,t)}function x(e,t){if(O(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}function A(e,t,n){return P.apply(this,arguments)}function P(){return(P=i()(a.a.mark((function e(t,n,r){var i,o,s;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=w(t,r),o=self.URL||self.webkitURL,s="string"!=typeof i&&o.createObjectURL(i),e.prev=3,e.next=6,S(s||i,n);case 6:return e.abrupt("return",e.sent);case 7:return e.prev=7,s&&o.revokeObjectURL(s),e.finish(7);case 10:case"end":return e.stop()}}),e,null,[[3,,7,10]])})))).apply(this,arguments)}function S(e,t){return k.apply(this,arguments)}function k(){return(k=i()(a.a.mark((function e(t,n){var r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((r=new Image).src=t,!(n.image&&n.image.decode&&r.decode)){e.next=6;break}return e.next=5,r.decode();case 5:return e.abrupt("return",r);case 6:return e.next=8,new Promise((function(e,n){try{r.onload=function(){return e(r)},r.onerror=function(e){return n(new Error("Could not load image ".concat(t,": ").concat(e)))}}catch(e){n(e)}}));case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var C={},j=!0;function E(e,t,n){return T.apply(this,arguments)}function T(){return(T=i()(a.a.mark((function e(t,n,r){var i,o,s;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!O(r)){e.next=7;break}return e.next=3,A(t,n,r);case 3:o=e.sent,i=o,e.next=8;break;case 7:i=x(t,r);case 8:return s=n&&n.imagebitmap,e.next=11,M(i,s);case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function M(e){return B.apply(this,arguments)}function B(){return(B=i()(a.a.mark((function e(t){var n,r=arguments;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!I(n=r.length>1&&void 0!==r[1]?r[1]:null)&&j||(n=null),!n){e.next=13;break}return e.prev=3,e.next=6,createImageBitmap(t,n);case 6:return e.abrupt("return",e.sent);case 9:e.prev=9,e.t0=e.catch(3),console.warn(e.t0),j=!1;case 13:return e.next=15,createImageBitmap(t);case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e,null,[[3,9]])})))).apply(this,arguments)}function I(e){for(var t in e||C)return!1;return!0}var R=n(175);function L(e,t){return D.apply(this,arguments)}function D(){return(D=i()(a.a.mark((function e(t,n){var r,i,o;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=Object(R.a)(t)||{},i=r.mimeType,o=globalThis._parseImageNode,Object(s.a)(o),e.next=5,o(t,i);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function F(){return(F=i()(a.a.mark((function e(t,n,r){var i,o,u,c,l;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=(n=n||{}).image||{},o=i.type||"auto",u=(r||{}).url,c=N(o),e.t0=c,e.next="imagebitmap"===e.t0?8:"image"===e.t0?12:"data"===e.t0?16:20;break;case 8:return e.next=10,E(t,n,u);case 10:return l=e.sent,e.abrupt("break",21);case 12:return e.next=14,A(t,n,u);case 14:return l=e.sent,e.abrupt("break",21);case 16:return e.next=18,L(t,n);case 18:return l=e.sent,e.abrupt("break",21);case 20:Object(s.a)(!1);case 21:return"data"===o&&(l=y(l)),e.abrupt("return",l);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function N(e){switch(e){case"auto":case"data":return function(){if(f)return"imagebitmap";if(l)return"image";if(d)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(e){switch(e){case"auto":return f||l||d;case"imagebitmap":return f;case"image":return l;case"data":return d;default:throw new Error("@loaders.gl/images: image ".concat(e," not supported in this environment"))}}(e),e}}n.d(t,"a",(function(){return U}));var U={id:"image",module:"images",name:"Images",version:"3.1.5",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(e,t,n){return F.apply(this,arguments)},tests:[function(e){return Boolean(Object(R.a)(new DataView(e)))}],options:{image:{type:"auto",decode:!0}}}},function(e,t,n){"use strict";var r=n(12),i=n.n(r),o=n(16),a=n.n(o),s=n(0),u=n.n(s),c=n(1),l=n.n(c),f=n(3),h=n.n(f),d=n(164),p=Object(d.a)();function v(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}var g=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";l()(this,e),this.storage=v(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return h()(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function y(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var o=e.width*n,a=e.height*n,s=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(i,");"),"background-size:".concat(o,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var m={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function b(e){return"string"==typeof e?m[e.toUpperCase()]||m.WHITE:e}function _(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),o=_(i);try{var a=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(o.s();!(t=o.n()).done;)a()}catch(e){o.e(e)}finally{o.f()}}function x(e,t){if(!e)throw new Error(t||"Assertion failed")}var A=n(67);function P(){var e;if(p&&A.b.performance)e=A.b.performance.now();else if(A.a.hrtime){var t=A.a.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}n.d(t,"a",(function(){return M}));var S={debug:p&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},k={enabled:!0,level:0};function C(){}var j={},E={once:!0};function T(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}var M=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;l()(this,e),this.id=n,this.VERSION="8.7.10",this._startTs=P(),this._deltaTs=P(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new g("__probe-".concat(this.id,"__"),k),this.userData={},this.timeStamp("".concat(this.id," started")),w(this),Object.seal(this)}return h()(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((P()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((P()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){x(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,S.warn,arguments,E)}},{key:"error",value:function(e){return this._getLogFunction(0,e,S.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,S.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,S.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,S.debug||S.info,arguments,E)}},{key:"table",value:function(e,t,n){return t?this._getLogFunction(e,t,console.table||C,n&&[n],{tag:T(t)}):C}},{key:"image",value:function(e){var t=e.logLevel,r=e.priority,i=e.image,o=e.message,s=void 0===o?"":o,u=e.scale,c=void 0===u?1:u;return this._shouldLog(t||r)?p?function(e){var t=e.image,n=e.message,r=void 0===n?"":n,i=e.scale,o=void 0===i?1:i;if("string"==typeof t){var s=new Image;return s.onload=function(){var e,t=y(s,r,o);(e=console).log.apply(e,a()(t))},s.src=t,C}var u=t.nodeName||"";if("img"===u.toLowerCase()){var c;return(c=console).log.apply(c,a()(y(t,r,o))),C}if("canvas"===u.toLowerCase()){var l=new Image;return l.onload=function(){var e;return(e=console).log.apply(e,a()(y(l,r,o)))},l.src=t.toDataURL(),C}return C}({image:i,message:s,scale:c}):function(e){var t=e.image,r=(e.message,e.scale),i=void 0===r?1:r,o=null;try{o=n(267)}catch(e){}if(o)return function(){return o(t,{fit:"box",width:"".concat(Math.round(80*i),"%")}).then((function(e){return console.log(e)}))};return C}({image:i,message:s,scale:c}):C}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(u()({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||C)}},{key:"group",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=n=I({logLevel:e,message:t,opts:n}),i=r.collapsed;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||C)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=B(e)}},{key:"_getLogFunction",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var o;i=I({logLevel:e,message:t,args:r,opts:i}),x(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=P();var s=i.tag||i.message;if(i.once){if(j[s])return C;j[s]=P()}return t=R(this.id,i.message,i),(o=n).bind.apply(o,[console,t].concat(a()(i.args)))}return C}}]),e}();function B(e){if(!e)return 0;var t;switch(i()(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return x(Number.isFinite(t)&&t>=0),t}function I(e){var t=e.logLevel,n=e.message;e.logLevel=B(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(e.args=r,i()(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var o=i()(e.message);return x("string"===o||"object"===o),Object.assign(e,e.opts)}function R(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((s=n.total)<10?"".concat(s.toFixed(2),"ms"):s<100?"".concat(s.toFixed(1),"ms"):s<1e3?"".concat(s.toFixed(0),"ms"):"".concat((s/1e3).toFixed(2),"s")):"";t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),i=t,o=n.color,a=n.background,p||"string"!=typeof i||(o&&(o=b(o),i="[".concat(o,"m").concat(i,"")),a&&(o=b(a),i="[".concat(a+10,"m").concat(i,""))),t=i}var i,o,a,s;return t}M.VERSION="8.7.10"},function(e,t,n){"use strict";var r,i=n(1),o=n.n(i),a=n(3),s=n.n(a),u=n(20),c=n.n(u),l=n(9),f=n.n(l),h=n(6),d=n.n(h),p=n(7),v=n.n(p),g=n(2),y=n.n(g),m=n(43),b=n(64),_=n(81),O=n(0),w=n.n(O),x=n(10),A=n(107),P=n(13),S=(r={},w()(r,5126,z.bind(null,"uniform1fv",M,1,G)),w()(r,35664,z.bind(null,"uniform2fv",M,2,G)),w()(r,35665,z.bind(null,"uniform3fv",M,3,G)),w()(r,35666,z.bind(null,"uniform4fv",M,4,G)),w()(r,5124,z.bind(null,"uniform1iv",B,1,G)),w()(r,35667,z.bind(null,"uniform2iv",B,2,G)),w()(r,35668,z.bind(null,"uniform3iv",B,3,G)),w()(r,35669,z.bind(null,"uniform4iv",B,4,G)),w()(r,35670,z.bind(null,"uniform1iv",B,1,G)),w()(r,35671,z.bind(null,"uniform2iv",B,2,G)),w()(r,35672,z.bind(null,"uniform3iv",B,3,G)),w()(r,35673,z.bind(null,"uniform4iv",B,4,G)),w()(r,35674,z.bind(null,"uniformMatrix2fv",M,4,V)),w()(r,35675,z.bind(null,"uniformMatrix3fv",M,9,V)),w()(r,35676,z.bind(null,"uniformMatrix4fv",M,16,V)),w()(r,35678,U),w()(r,35680,U),w()(r,5125,z.bind(null,"uniform1uiv",I,1,G)),w()(r,36294,z.bind(null,"uniform2uiv",I,2,G)),w()(r,36295,z.bind(null,"uniform3uiv",I,3,G)),w()(r,36296,z.bind(null,"uniform4uiv",I,4,G)),w()(r,35685,z.bind(null,"uniformMatrix2x3fv",M,6,V)),w()(r,35686,z.bind(null,"uniformMatrix2x4fv",M,8,V)),w()(r,35687,z.bind(null,"uniformMatrix3x2fv",M,6,V)),w()(r,35688,z.bind(null,"uniformMatrix3x4fv",M,12,V)),w()(r,35689,z.bind(null,"uniformMatrix4x2fv",M,8,V)),w()(r,35690,z.bind(null,"uniformMatrix4x3fv",M,12,V)),w()(r,35678,U),w()(r,35680,U),w()(r,35679,U),w()(r,35682,U),w()(r,36289,U),w()(r,36292,U),w()(r,36293,U),w()(r,36298,U),w()(r,36299,U),w()(r,36300,U),w()(r,36303,U),w()(r,36306,U),w()(r,36307,U),w()(r,36308,U),w()(r,36311,U),r),k={},C={},j={},E=[0];function T(e,t,n,r){1===t&&"boolean"==typeof e&&(e=e?1:0),Number.isFinite(e)&&(E[0]=e,e=E);var i=e.length;if(i%t&&x.k.warn("Uniform size should be multiples of ".concat(t),e)(),e instanceof n)return e;var o=r[i];o||(o=new n(i),r[i]=o);for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"unnamed",n=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,r=e.match(n);return r?r[1]:t}function W(e,t,n,r){for(var i=e.split(/\r?\n/),o={},a={},s=r||H(t)||"(unnamed)",u="".concat(function(e){switch(e){case 35632:return"fragment";case 35633:return"vertex";default:return"unknown type"}}(n)," shader ").concat(s),c=0;c1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:": ",r=e.split(/\r?\n/),i=String(r.length+t-1).length;return r.map((function(e,r){var o=String(r+t),a=o.length;return X(o,i-a)+n+e}))}(t);return{shaderName:u,errors:J(o,p),warnings:J(a,p)}}function J(e,t){for(var n="",r=0;r0&&void 0!==arguments[0]?arguments[0]:this.source;e.startsWith("#version ")||(e="#version 100\n".concat(e)),this.source=e,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle);var t=this.getParameter(35713);if(!t){var n=this.gl.getShaderInfoLog(this.handle),r=W(n,this.source,this.shaderType,this.id),i=r.shaderName,o=r.errors,a=r.warnings;throw x.k.error("GLSL compilation errors in ".concat(i,"\n").concat(o))(),x.k.warn("GLSL compilation warnings in ".concat(i,"\n").concat(a))(),new Error("GLSL compilation errors in ".concat(i))}}},{key:"_deleteHandle",value:function(){this.gl.deleteShader(this.handle)}},{key:"_getOptsFromHandle",value:function(){return{type:this.getParameter(35663),source:this.getSource()}}}],[{key:"getTypeName",value:function(e){switch(e){case 35633:return"vertex-shader";case 35632:return"fragment-shader";default:return Object(P.a)(!1),"unknown"}}}]),n}(m.a),Y=function(e){d()(n,e);var t=q(n);function n(e,r){return o()(this,n),"string"==typeof r&&(r={source:r}),t.call(this,e,Object.assign({},r,{shaderType:35633}))}return s()(n,[{key:"_createHandle",value:function(){return this.gl.createShader(35633)}}]),n}(Z),Q=function(e){d()(n,e);var t=q(n);function n(e,r){return o()(this,n),"string"==typeof r&&(r={source:r}),t.call(this,e,Object.assign({},r,{shaderType:35632}))}return s()(n,[{key:"_createHandle",value:function(){return this.gl.createShader(35632)}}]),n}(Z),$=n(73),ee=n(91),te=function(){function e(t){o()(this,e),this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}return s()(e,[{key:"getAttributeInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}},{key:"getAttributeLocation",value:function(e){var t=this.getAttributeInfo(e);return t?t.location:-1}},{key:"getAttributeAccessor",value:function(e){var t=this.getAttributeInfo(e);return t?t.accessor:null}},{key:"getVaryingInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}},{key:"getVaryingIndex",value:function(e){var t=this.getVaryingInfo();return t?t.location:-1}},{key:"getVaryingAccessor",value:function(e){var t=this.getVaryingInfo();return t?t.accessor:null}},{key:"_readAttributesFromProgram",value:function(e){for(var t=e.gl,n=t.getProgramParameter(e.handle,35721),r=0;r=0&&this._addAttribute(u,o,a,s)}this.attributeInfos.sort((function(e,t){return e.location-t.location}))}},{key:"_readVaryingsFromProgram",value:function(e){var t=e.gl;if(Object(x.j)(t)){for(var n=t.getProgramParameter(e.handle,35971),r=0;r=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ie(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};return o()(this,n),(r=t.call(this,e,i)).stubRemovedMethods("Program","v6.0",ae),r._isCached=!1,r.initialize(i),Object.seal(c()(r)),r._setId(i.id),r}return s()(n,[{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hash,n=e.vs,r=e.fs,i=e.varyings,o=e.bufferMode,a=void 0===o?35981:o;return this.hash=t||"",this.vs="string"==typeof n?new Y(this.gl,{id:"".concat(e.id,"-vs"),source:n}):n,this.fs="string"==typeof r?new Q(this.gl,{id:"".concat(e.id,"-fs"),source:r}):r,Object(P.a)(this.vs instanceof Y),Object(P.a)(this.fs instanceof Q),this.uniforms={},this._textureUniforms={},i&&i.length>0&&(Object(x.a)(this.gl),this.varyings=i,this.gl2.transformFeedbackVaryings(this.handle,i,a)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new te(this),this.setProps(e)}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._isCached?this:f()(y()(n.prototype),"delete",this).call(this,e)}},{key:"setProps",value:function(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}},{key:"draw",value:function(e){var t=this,n=e.logPriority,r=e.drawMode,i=void 0===r?4:r,o=e.vertexCount,a=e.offset,s=void 0===a?0:a,u=e.start,c=e.end,l=e.isIndexed,f=void 0!==l&&l,h=e.indexType,d=void 0===h?5123:h,p=e.instanceCount,v=void 0===p?0:p,g=e.isInstanced,y=void 0===g?v>0:g,m=e.vertexArray,b=void 0===m?null:m,_=e.transformFeedback,O=e.framebuffer,w=e.parameters,A=void 0===w?{}:w,S=e.uniforms,k=e.samplers;if((S||k)&&(x.k.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(S||{})),x.k.priority>=n){var C=O?O.id:"default",j="mode=".concat(Object(ne.a)(this.gl,i)," verts=").concat(o," ")+"instances=".concat(v," indexType=").concat(Object(ne.a)(this.gl,d)," ")+"isInstanced=".concat(y," isIndexed=").concat(f," ")+"Framebuffer=".concat(C);x.k.log(n,j)()}return Object(P.a)(b),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===o||y&&0===v)&&(b.bindForDraw(o,v,(function(){if(void 0!==O&&(A=Object.assign({},A,{framebuffer:O})),_){var e=Object(ee.c)(i);_.begin(e)}t._bindTextures(),Object(x.o)(t.gl,A,(function(){f&&y?t.gl2.drawElementsInstanced(i,o,d,s,v):f&&Object(x.j)(t.gl)&&!isNaN(u)&&!isNaN(c)?t.gl2.drawRangeElements(i,u,c,o,d,s):f?t.gl.drawElements(i,o,d,s):y?t.gl2.drawArraysInstanced(i,s,o,v):t.gl.drawArrays(i,s,o)})),_&&_.end()})),!0)}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in x.k.priority>=2&&D(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle),e){var n=e[t],r=this._uniformSetters[t];if(r){var i=n,o=!1;if(i instanceof _.a&&(i=i.texture),i instanceof b.a)if(o=this.uniforms[t]!==n){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);var a=i,s=r.textureIndex;a.bind(s),i=s,this._textureUniforms[t]=a}else i=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(i)||o)&&N(this.uniforms,t,n)}}return this}},{key:"_areTexturesRenderable",value:function(){var e=!0;for(var t in this._textureUniforms){var n=this._textureUniforms[t];n.update(),e=e&&n.loaded}return e}},{key:"_bindTextures",value:function(){for(var e in this._textureUniforms){var t=this._uniformSetters[e].textureIndex;this._textureUniforms[e].bind(t)}}},{key:"_createHandle",value:function(){return this.gl.createProgram()}},{key:"_deleteHandle",value:function(){this.gl.deleteProgram(this.handle)}},{key:"_getOptionsFromHandle",value:function(e){var t,n={},r=re(this.gl.getAttachedShaders(e));try{for(r.s();!(t=r.n()).done;){var i=t.value;switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new Y({handle:i});break;case 35632:n.fs=new Q({handle:i})}}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"_getParameter",value:function(e){return this.gl.getProgramParameter(this.handle,e)}},{key:"_setId",value:function(e){if(!e){var t=this._getName();this.id=Object(K.c)(t)}}},{key:"_getName",value:function(){var e=this.vs.getName()||this.fs.getName();return e=(e=e.replace(/shader/i,""))?"".concat(e,"-program"):"program"}},{key:"_compileAndLink",value:function(){var e=this.gl;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),x.k.time(4,"linkProgram for ".concat(this._getName()))(),e.linkProgram(this.handle),x.k.timeEnd(4,"linkProgram for ".concat(this._getName()))(),e.debug||x.k.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error("Error linking: ".concat(e.getProgramInfoLog(this.handle)));if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error("Error validating: ".concat(e.getProgramInfoLog(this.handle)))}}},{key:"_readUniformLocationsFromLinkedProgram",value:function(){var e=this.gl;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(var t=0;t1)for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:{},t=e.version,n=void 0===t?100:t,r=e.input,i=e.inputType,o=e.output;if(!r)return 300===n?h:n>300?"#version ".concat(n,"\n").concat(f):l;var a=g(r,i);return n>=300?"#version ".concat(n," ").concat(300===n?"es":"","\nin ").concat(i," ").concat(r,";\nout vec4 ").concat(o,";\nvoid main() {\n ").concat(o," = ").concat(a,";\n}"):"varying ".concat(i," ").concat(r,";\nvoid main() {\n gl_FragColor = ").concat(a,";\n}")}function v(e){switch(e){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Object(c.a)(!1),null}}function g(e,t){switch(t){case"float":return"vec4(".concat(e,", 0.0, 0.0, 1.0)");case"vec2":return"vec4(".concat(e,", 0.0, 1.0)");case"vec3":return"vec4(".concat(e,", 1.0)");case"vec4":return e;default:return Object(c.a)(!1),null}}var y=n(10),m=n(37),b=n(321),_=n(13);function O(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return a()(e,[{key:"setupResources",value:function(e){var t,n=O(this.bindings);try{for(n.s();!(t=n.n()).done;){var r=t.value;this._setupTransformFeedback(r,e)}}catch(e){n.e(e)}finally{n.f()}}},{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.varyings;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,r=t.transformFeedback,i=Object.assign({},n,e.attributes);return{attributes:i,transformFeedback:r}}},{key:"swap",value:function(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e)}},{key:"getBuffer",value:function(e){var t=this.bindings[this.currentIndex].feedbackBuffers,n=e?t[e]:null;return n?n instanceof m.a?n:n.buffer:null}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.varyingName,n=this.getBuffer(t);return n?n.getData():null}},{key:"delete",value:function(){for(var e in this.resources)this.resources[e].delete()}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&Object(_.a)(Object(y.j)(this.gl))}},{key:"_getFeedbackBuffers",value:function(e){var t=e.sourceBuffers,n=void 0===t?{}:t,r={};if(this.bindings[this.currentIndex]&&Object.assign(r,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(var i in this.feedbackMap){var o=this.feedbackMap[i];i in n&&(r[o]=i)}for(var a in Object.assign(r,e.feedbackBuffers),r){var s=r[a];if("string"==typeof s){var u=n[s],c=u.byteLength,l=u.usage,f=u.accessor;r[a]=this._createNewBuffer(a,{byteLength:c,usage:l,accessor:f})}}return r}},{key:"_setupBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=void 0===t?null:t;Object.assign(this.feedbackMap,e.feedbackMap);var r=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:n,feedbackBuffers:r})}},{key:"_setupTransformFeedback",value:function(e,t){var n=t.model.program;e.transformFeedback=new b.a(this.gl,{program:n,buffers:e.feedbackBuffers})}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){var t=this._swapBuffers(this.bindings[this.currentIndex]),n=t.sourceBuffers,r=t.feedbackBuffers,i=this._getNextIndex();this.bindings[i]=this._updateBinding(this.bindings[i],{sourceBuffers:n,feedbackBuffers:r})}}},{key:"_updateBinding",value:function(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}},{key:"_swapBuffers",value:function(e){if(!this.feedbackMap)return null;var t=Object.assign({},e.sourceBuffers),n=Object.assign({},e.feedbackBuffers);for(var r in this.feedbackMap){var i=this.feedbackMap[r];t[r]=e.feedbackBuffers[i],n[i]=e.sourceBuffers[r],Object(_.a)(n[i]instanceof m.a)}return{sourceBuffers:t,feedbackBuffers:n}}},{key:"_createNewBuffer",value:function(e,t){var n=new m.a(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=n,n}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}}]),e}(),A=n(0),P=n.n(A),S=n(199),k=n(105),C=n(81),j=n(239);function E(e){var t=100,n=e.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){var r=parseInt(n[1],10);Number.isFinite(r)&&(t=r)}return t}var T,M=n(183),B={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null};function I(e){var t=e.vs,n=e.sourceTextureMap,r=e.targetTextureVarying,i=e.targetTexture,o=Object.keys(n).length,a=null,s={},u=t,l={};if(o>0||r){var f=u.split("\n"),h=f.slice();if(f.forEach((function(e,t,i){if(o>0){var u=function(e,t){var n={},r=function(e){return d(e,["attribute","in"])}(e);if(!r)return null;var i=r.type,o=r.name;if(o&&t[o]){var a="// ".concat(e," => Replaced by Transform with a sampler"),s=function(e){var t="".concat("transform_uSampler_").concat(e),n="".concat("transform_uSize_").concat(e),r=" uniform sampler2D ".concat(t,";\n uniform vec2 ").concat(n,";");return{samplerName:t,sizeName:n,uniformDeclerations:r}}(o),u=s.samplerName,l=s.sizeName,f=s.uniformDeclerations,h=function(e){switch(e){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Object(c.a)(!1),null}}(i),p=" ".concat(i," ").concat(o," = transform_getInput(").concat(u,", ").concat(l,").").concat(h,";\n");return n[u]=o,{updatedLine:a,inject:{"vs:#decl":f,"vs:#main-start":p},samplerTextureMap:n}}return null}(e,n);if(u){var f=u.updatedLine,p=u.inject;h[t]=f,l=Object(M.b)([l,p]),Object.assign(s,u.samplerTextureMap),o--}}r&&!a&&(a=function(e,t){var n=d(e,["varying","out"]);if(!n)return null;return n.name===t?n.type:null}(e,r))})),r){Object(_.a)(i);var p="".concat("transform_uSize_").concat(r),v={"vs:#decl":"uniform vec2 ".concat(p,";\n"),"vs:#main-start":" vec2 ".concat("transform_position"," = transform_getPos(").concat(p,");\n gl_Position = vec4(").concat("transform_position",", 0, 1.);\n")};l=Object(M.b)([l,v])}u=h.join("\n")}return{vs:u,targetTextureType:a,inject:l,samplerTextureMap:s}}function R(e){var t,n,r=e.sourceTextureMap,i=e.targetTextureVarying,o=e.targetTexture,a={};for(var s in i&&(t=o.width,n=o.height,a["".concat("transform_uSize_").concat(i)]=[t,n]),r){var u=r[s];t=u.width,n=u.height,a["".concat("transform_uSize_").concat(s)]=[t,n]}return a}var L=(T={},P()(T,10241,9728),P()(T,10240,9728),P()(T,10242,33071),P()(T,10243,33071),T),D=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return a()(e,[{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._processVertexShader(e);return Object.assign({},e,t)}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,r=t.sourceTextures,i=t.framebuffer,o=t.targetTexture,a=Object.assign({},n,e.attributes),s=Object.assign({},e.uniforms),u=Object.assign({},e.parameters),c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){for(var l in a.transform_elementID=this.elementIDBuffer,this.samplerTextureMap){var f=this.samplerTextureMap[l];s[l]=r[f]}this._setSourceTextureParameters();var h=R({sourceTextureMap:r,targetTextureVarying:this.targetTextureVarying,targetTexture:o});Object.assign(s,h)}return this.hasTargetTexture&&(c=!1,u.viewport=[0,0,i.width,i.height]),{attributes:a,framebuffer:i,uniforms:s,discard:c,parameters:u}}},{key:"swap",value:function(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupTextures(e)}},{key:"getTargetTexture",value:function(){return this.bindings[this.currentIndex].targetTexture}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.packed,n=void 0!==t&&t,r=this.bindings[this.currentIndex].framebuffer,i=Object(S.c)(r);if(!n)return i;for(var o=i.constructor,a=v(this.targetTextureType),s=new o(i.length*a/4),u=0,c=0;c0&&void 0!==arguments[0]?arguments[0]:{},t=e._targetTextureVarying,n=e._swapTexture;this._swapTexture=n,this.targetTextureVarying=t,this.hasTargetTexture=t,this._setupTextures(e)}},{key:"_createTargetTexture",value:function(e){var t=e.sourceTextures,n=e.textureOrReference;if(n instanceof k.a)return n;var r=t[n];return r?(this._targetRefTexName=n,this._createNewTexture(r)):null}},{key:"_setupTextures",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=e._sourceTextures,r=void 0===n?{}:n,i=e._targetTexture,o=this._createTargetTexture({sourceTextures:r,textureOrReference:i});this.hasSourceTextures=this.hasSourceTextures||r&&Object.keys(r).length>0,this._updateBindings({sourceBuffers:t,sourceTextures:r,targetTexture:o}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}},{key:"_updateElementIDBuffer",value:function(e){if(!("number"!=typeof e||this.elementCount>=e)){var t=new Float32Array(e);t.forEach((function(e,t,n){n[t]=t})),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new m.a(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){var t=this._swapTextures(this.bindings[this.currentIndex]),n=t.sourceTextures,r=t.targetTexture,i=this._getNextIndex();this.bindings[i]=this._updateBinding(this.bindings[i],{sourceTextures:n,targetTexture:r})}}},{key:"_updateBinding",value:function(e,t){var n=t.sourceBuffers,r=t.sourceTextures,i=t.targetTexture;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,n),i){e.targetTexture=i;var o=i.width,a=i.height,s=e.framebuffer;s?(s.update({attachments:P()({},36064,i),resizeAttachments:!1}),s.resize({width:o,height:a})):e.framebuffer=new C.a(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:P()({},36064,i)})}return e}},{key:"_setSourceTextureParameters",value:function(){var e=this.currentIndex,t=this.bindings[e].sourceTextures;for(var n in t)t[n].setParameters(L)}},{key:"_swapTextures",value:function(e){if(!this._swapTexture)return null;var t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}},{key:"_createNewTexture",value:function(e){var t,n=Object(j.a)(e,{parameters:(t={},P()(t,10241,9728),P()(t,10240,9728),P()(t,10242,33071),P()(t,10243,33071),t),pixelStore:P()({},37440,!1)});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=n,n}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}},{key:"_processVertexShader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceTextures,r=t.targetTexture,i=I({vs:e.vs,sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:r}),o=i.vs,a=i.uniforms,s=i.targetTextureType,u=i.inject,c=i.samplerTextureMap,l=Object(M.b)([e.inject||{},u]);this.targetTextureType=s,this.samplerTextureMap=c;var f=e._fs||p({version:E(o),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),h=this.hasSourceTextures||this.targetTextureVarying?[B].concat(e.modules||[]):e.modules;return{vs:o,fs:f,modules:h,uniforms:a,inject:l}}}]),e}(),F=n(54),N=n(179);function U(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return z(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(n),Object.seal(this)}return a()(e,[{key:"delete",value:function(){var e=this.model,t=this.bufferTransform,n=this.textureTransform;e&&e.delete(),t&&t.delete(),n&&n.delete()}},{key:"run",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearRenderTarget,n=void 0===t||t,r=this._updateDrawOptions(e);n&&r.framebuffer&&r.framebuffer.clear({color:!0}),this.model.transform(r)}},{key:"swap",value:function(){var e,t=!1,n=U([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(n.s();!(e=n.n()).done;){var r=e.value;t=t||r.swap()}}catch(e){n.e(e)}finally{n.f()}Object(_.a)(t,"Nothing to swap")}},{key:"getBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(e)}},{key:"getData",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=[this.bufferTransform,this.textureTransform].filter(Boolean),r=U(n);try{for(r.s();!(e=r.n()).done;){var i=e.value,o=i.getData(t);if(o)return o}}catch(e){r.e(e)}finally{r.f()}return null}},{key:"getFramebuffer",value:function(){return this.textureTransform&&this.textureTransform.getFramebuffer()}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};"elementCount"in e&&this.model.setVertexCount(e.elementCount);var t,n=[this.bufferTransform,this.textureTransform].filter(Boolean),r=U(n);try{for(r.s();!(t=r.n()).done;){var i=t.value;i.update(e)}}catch(e){r.e(e)}finally{r.f()}}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.gl;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new N.a(t,Object.assign({},e,{fs:e.fs||p({version:E(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}},{key:"_updateModelProps",value:function(e){var t,n=Object.assign({},e),r=U([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(r.s();!(t=r.n()).done;){n=t.value.updateModelProps(n)}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"_buildResourceTransforms",value:function(e,t){(function(e){if(!Object(F.a)(e.feedbackBuffers)||!Object(F.a)(e.feedbackMap)||e.varyings&&e.varyings.length>0)return!0;return!1})(t)&&(this.bufferTransform=new x(e,t)),function(e){if(!Object(F.a)(e._sourceTextures)||e._targetTexture||e._targetTextureVarying)return!0;return!1}(t)&&(this.textureTransform=new D(e,t)),Object(_.a)(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}},{key:"_updateDrawOptions",value:function(e){var t,n=Object.assign({},e),r=U([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(r.s();!(t=r.n()).done;){var i=t.value;n=Object.assign(n,i.getDrawOptions(n))}}catch(e){r.e(e)}finally{r.f()}return n}}],[{key:"isSupported",value:function(e){return Object(y.j)(e)}}]),e}()},function(e,t,n){"use strict";function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=Math.fround(e),i=e-r;return t[n]=r,t[n+1]=i,t}function i(e){return e-Math.fround(e)}function o(e){for(var t=new Float32Array(32),n=0;n<4;++n)for(var i=0;i<4;++i){var o=4*n+i;r(e[4*i+n],t,2*o)}return t}n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return u}));var a={ONE:1};var s={name:"fp64-arithmetic",vs:"uniform float ONE;\nvec2 split(float a) {\n const float SPLIT = 4097.0;\n float t = a * SPLIT;\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float a_hi = t * ONE - (t - a);\n float a_lo = a * ONE - a_hi;\n#else\n float a_hi = t - (t - a);\n float a_lo = a - a_hi;\n#endif\n return vec2(a_hi, a_lo);\n}\nvec2 split2(vec2 a) {\n vec2 b = split(a.x);\n b.y += a.y;\n return b;\n}\nvec2 quickTwoSum(float a, float b) {\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float sum = (a + b) * ONE;\n float err = b - (sum - a) * ONE;\n#else\n float sum = a + b;\n float err = b - (sum - a);\n#endif\n return vec2(sum, err);\n}\nvec2 twoSum(float a, float b) {\n float s = (a + b);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float v = (s * ONE - a) * ONE;\n float err = (a - (s - v) * ONE) * ONE * ONE * ONE + (b - v);\n#else\n float v = s - a;\n float err = (a - (s - v)) + (b - v);\n#endif\n return vec2(s, err);\n}\n\nvec2 twoSub(float a, float b) {\n float s = (a - b);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float v = (s * ONE - a) * ONE;\n float err = (a - (s - v) * ONE) * ONE * ONE * ONE - (b + v);\n#else\n float v = s - a;\n float err = (a - (s - v)) - (b + v);\n#endif\n return vec2(s, err);\n}\n\nvec2 twoSqr(float a) {\n float prod = a * a;\n vec2 a_fp64 = split(a);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float err = ((a_fp64.x * a_fp64.x - prod) * ONE + 2.0 * a_fp64.x *\n a_fp64.y * ONE * ONE) + a_fp64.y * a_fp64.y * ONE * ONE * ONE;\n#else\n float err = ((a_fp64.x * a_fp64.x - prod) + 2.0 * a_fp64.x * a_fp64.y) + a_fp64.y * a_fp64.y;\n#endif\n return vec2(prod, err);\n}\n\nvec2 twoProd(float a, float b) {\n float prod = a * b;\n vec2 a_fp64 = split(a);\n vec2 b_fp64 = split(b);\n float err = ((a_fp64.x * b_fp64.x - prod) + a_fp64.x * b_fp64.y +\n a_fp64.y * b_fp64.x) + a_fp64.y * b_fp64.y;\n return vec2(prod, err);\n}\n\nvec2 sum_fp64(vec2 a, vec2 b) {\n vec2 s, t;\n s = twoSum(a.x, b.x);\n t = twoSum(a.y, b.y);\n s.y += t.x;\n s = quickTwoSum(s.x, s.y);\n s.y += t.y;\n s = quickTwoSum(s.x, s.y);\n return s;\n}\n\nvec2 sub_fp64(vec2 a, vec2 b) {\n vec2 s, t;\n s = twoSub(a.x, b.x);\n t = twoSub(a.y, b.y);\n s.y += t.x;\n s = quickTwoSum(s.x, s.y);\n s.y += t.y;\n s = quickTwoSum(s.x, s.y);\n return s;\n}\n\nvec2 mul_fp64(vec2 a, vec2 b) {\n vec2 prod = twoProd(a.x, b.x);\n prod.y += a.x * b.y;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n prod = split2(prod);\n#endif\n prod = quickTwoSum(prod.x, prod.y);\n prod.y += a.y * b.x;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n prod = split2(prod);\n#endif\n prod = quickTwoSum(prod.x, prod.y);\n return prod;\n}\n\nvec2 div_fp64(vec2 a, vec2 b) {\n float xn = 1.0 / b.x;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n vec2 yn = mul_fp64(a, vec2(xn, 0));\n#else\n vec2 yn = a * xn;\n#endif\n float diff = (sub_fp64(a, mul_fp64(b, yn))).x;\n vec2 prod = twoProd(xn, diff);\n return sum_fp64(yn, prod);\n}\n\nvec2 sqrt_fp64(vec2 a) {\n if (a.x == 0.0 && a.y == 0.0) return vec2(0.0, 0.0);\n if (a.x < 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);\n\n float x = 1.0 / sqrt(a.x);\n float yn = a.x * x;\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n vec2 yn_sqr = twoSqr(yn) * ONE;\n#else\n vec2 yn_sqr = twoSqr(yn);\n#endif\n float diff = sub_fp64(a, yn_sqr).x;\n vec2 prod = twoProd(x * 0.5, diff);\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n return sum_fp64(split(yn), prod);\n#else\n return sum_fp64(vec2(yn, 0.0), prod);\n#endif\n}\n",fs:null,getUniforms:function(){return a},fp64ify:r,fp64LowPart:i,fp64ifyMatrix4:o},u={name:"fp64",vs:"const vec2 E_FP64 = vec2(2.7182817459106445e+00, 8.254840366817007e-08);\nconst vec2 LOG2_FP64 = vec2(0.6931471824645996e+00, -1.9046542121259336e-09);\nconst vec2 PI_FP64 = vec2(3.1415927410125732, -8.742278012618954e-8);\nconst vec2 TWO_PI_FP64 = vec2(6.2831854820251465, -1.7484556025237907e-7);\nconst vec2 PI_2_FP64 = vec2(1.5707963705062866, -4.371139006309477e-8);\nconst vec2 PI_4_FP64 = vec2(0.7853981852531433, -2.1855695031547384e-8);\nconst vec2 PI_16_FP64 = vec2(0.19634954631328583, -5.463923757886846e-9);\nconst vec2 PI_16_2_FP64 = vec2(0.39269909262657166, -1.0927847515773692e-8);\nconst vec2 PI_16_3_FP64 = vec2(0.5890486240386963, -1.4906100798128818e-9);\nconst vec2 PI_180_FP64 = vec2(0.01745329238474369, 1.3519960498364902e-10);\n\nconst vec2 SIN_TABLE_0_FP64 = vec2(0.19509032368659973, -1.6704714833615242e-9);\nconst vec2 SIN_TABLE_1_FP64 = vec2(0.3826834261417389, 6.22335089017767e-9);\nconst vec2 SIN_TABLE_2_FP64 = vec2(0.5555702447891235, -1.1769521357507529e-8);\nconst vec2 SIN_TABLE_3_FP64 = vec2(0.7071067690849304, 1.2101617041793133e-8);\n\nconst vec2 COS_TABLE_0_FP64 = vec2(0.9807852506637573, 2.9739473106360492e-8);\nconst vec2 COS_TABLE_1_FP64 = vec2(0.9238795042037964, 2.8307490351764386e-8);\nconst vec2 COS_TABLE_2_FP64 = vec2(0.8314695954322815, 1.6870263741530778e-8);\nconst vec2 COS_TABLE_3_FP64 = vec2(0.7071067690849304, 1.2101617152815436e-8);\n\nconst vec2 INVERSE_FACTORIAL_3_FP64 = vec2(1.666666716337204e-01, -4.967053879312289e-09);\nconst vec2 INVERSE_FACTORIAL_4_FP64 = vec2(4.16666679084301e-02, -1.2417634698280722e-09);\nconst vec2 INVERSE_FACTORIAL_5_FP64 = vec2(8.333333767950535e-03, -4.34617203337595e-10);\nconst vec2 INVERSE_FACTORIAL_6_FP64 = vec2(1.3888889225199819e-03, -3.3631094437103215e-11);\nconst vec2 INVERSE_FACTORIAL_7_FP64 = vec2(1.9841270113829523e-04, -2.725596874933456e-12);\nconst vec2 INVERSE_FACTORIAL_8_FP64 = vec2(2.4801587642286904e-05, -3.406996025904184e-13);\nconst vec2 INVERSE_FACTORIAL_9_FP64 = vec2(2.75573188446287533e-06, 3.7935713937038186e-14);\nconst vec2 INVERSE_FACTORIAL_10_FP64 = vec2(2.755731998149713e-07, -7.575112367869873e-15);\n\nfloat nint(float d) {\n if (d == floor(d)) return d;\n return floor(d + 0.5);\n}\n\nvec2 nint_fp64(vec2 a) {\n float hi = nint(a.x);\n float lo;\n vec2 tmp;\n if (hi == a.x) {\n lo = nint(a.y);\n tmp = quickTwoSum(hi, lo);\n } else {\n lo = 0.0;\n if (abs(hi - a.x) == 0.5 && a.y < 0.0) {\n hi -= 1.0;\n }\n tmp = vec2(hi, lo);\n }\n return tmp;\n}\n\nvec2 exp_fp64(vec2 a) {\n\n const int k_power = 4;\n const float k = 16.0;\n\n const float inv_k = 1.0 / k;\n\n if (a.x <= -88.0) return vec2(0.0, 0.0);\n if (a.x >= 88.0) return vec2(1.0 / 0.0, 1.0 / 0.0);\n if (a.x == 0.0 && a.y == 0.0) return vec2(1.0, 0.0);\n if (a.x == 1.0 && a.y == 0.0) return E_FP64;\n\n float m = floor(a.x / LOG2_FP64.x + 0.5);\n vec2 r = sub_fp64(a, mul_fp64(LOG2_FP64, vec2(m, 0.0))) * inv_k;\n vec2 s, t, p;\n\n p = mul_fp64(r, r);\n s = sum_fp64(r, p * 0.5);\n p = mul_fp64(p, r);\n t = mul_fp64(p, INVERSE_FACTORIAL_3_FP64);\n\n s = sum_fp64(s, t);\n p = mul_fp64(p, r);\n t = mul_fp64(p, INVERSE_FACTORIAL_4_FP64);\n\n s = sum_fp64(s, t);\n p = mul_fp64(p, r);\n t = mul_fp64(p, INVERSE_FACTORIAL_5_FP64);\n\n\n\n\n\n\n s = sum_fp64(s, t);\n for (int i = 0; i < k_power; i++) {\n s = sum_fp64(s * 2.0, mul_fp64(s, s));\n }\n\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n s = sum_fp64(s, vec2(ONE, 0.0));\n#else\n s = sum_fp64(s, vec2(1.0, 0.0));\n#endif\n\n return s * pow(2.0, m);\n}\n\nvec2 log_fp64(vec2 a)\n{\n if (a.x == 1.0 && a.y == 0.0) return vec2(0.0, 0.0);\n if (a.x <= 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);\n vec2 x = vec2(log(a.x), 0.0);\n vec2 s;\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n s = vec2(ONE, 0.0);\n#else\n s = vec2(1.0, 0.0);\n#endif\n\n x = sub_fp64(sum_fp64(x, mul_fp64(a, exp_fp64(-x))), s);\n return x;\n}\n\nvec2 sin_taylor_fp64(vec2 a) {\n vec2 r, s, t, x;\n\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(0.0, 0.0);\n }\n\n x = -mul_fp64(a, a);\n s = a;\n r = a;\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_3_FP64);\n s = sum_fp64(s, t);\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_5_FP64);\n s = sum_fp64(s, t);\n\n\n\n\n\n\n return s;\n}\n\nvec2 cos_taylor_fp64(vec2 a) {\n vec2 r, s, t, x;\n\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(1.0, 0.0);\n }\n\n x = -mul_fp64(a, a);\n r = x;\n s = sum_fp64(vec2(1.0, 0.0), r * 0.5);\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_4_FP64);\n s = sum_fp64(s, t);\n\n r = mul_fp64(r, x);\n t = mul_fp64(r, INVERSE_FACTORIAL_6_FP64);\n s = sum_fp64(s, t);\n\n\n\n\n\n\n return s;\n}\n\nvoid sincos_taylor_fp64(vec2 a, out vec2 sin_t, out vec2 cos_t) {\n if (a.x == 0.0 && a.y == 0.0) {\n sin_t = vec2(0.0, 0.0);\n cos_t = vec2(1.0, 0.0);\n }\n\n sin_t = sin_taylor_fp64(a);\n cos_t = sqrt_fp64(sub_fp64(vec2(1.0, 0.0), mul_fp64(sin_t, sin_t)));\n}\n\nvec2 sin_fp64(vec2 a) {\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(0.0, 0.0);\n }\n vec2 z = nint_fp64(div_fp64(a, TWO_PI_FP64));\n vec2 r = sub_fp64(a, mul_fp64(TWO_PI_FP64, z));\n\n vec2 t;\n float q = floor(r.x / PI_2_FP64.x + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n }\n\n t = sub_fp64(r, mul_fp64(PI_2_FP64, vec2(q, 0.0)));\n\n q = floor(t.x / PI_16_FP64.x + 0.5);\n int k = int(q);\n\n if (k == 0) {\n if (j == 0) {\n return sin_taylor_fp64(t);\n } else if (j == 1) {\n return cos_taylor_fp64(t);\n } else if (j == -1) {\n return -cos_taylor_fp64(t);\n } else {\n return -sin_taylor_fp64(t);\n }\n }\n\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n } else {\n t = sub_fp64(t, mul_fp64(PI_16_FP64, vec2(q, 0.0)));\n }\n\n vec2 u = vec2(0.0, 0.0);\n vec2 v = vec2(0.0, 0.0);\n\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#else\n if (abs_k == 1) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs_k == 2) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs_k == 3) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs_k == 4) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#endif\n\n vec2 sin_t, cos_t;\n sincos_taylor_fp64(t, sin_t, cos_t);\n\n\n\n vec2 result = vec2(0.0, 0.0);\n if (j == 0) {\n if (k > 0) {\n result = sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n }\n } else if (j == 1) {\n if (k > 0) {\n result = sub_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n } else {\n result = sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n } else if (j == -1) {\n if (k > 0) {\n result = sub_fp64(mul_fp64(v, sin_t), mul_fp64(u, cos_t));\n } else {\n result = -sum_fp64(mul_fp64(v, sin_t), mul_fp64(u, cos_t));\n }\n } else {\n if (k > 0) {\n result = -sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(v, cos_t), mul_fp64(u, sin_t));\n }\n }\n\n return result;\n}\n\nvec2 cos_fp64(vec2 a) {\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(1.0, 0.0);\n }\n vec2 z = nint_fp64(div_fp64(a, TWO_PI_FP64));\n vec2 r = sub_fp64(a, mul_fp64(TWO_PI_FP64, z));\n\n vec2 t;\n float q = floor(r.x / PI_2_FP64.x + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n }\n\n t = sub_fp64(r, mul_fp64(PI_2_FP64, vec2(q, 0.0)));\n\n q = floor(t.x / PI_16_FP64.x + 0.5);\n int k = int(q);\n\n if (k == 0) {\n if (j == 0) {\n return cos_taylor_fp64(t);\n } else if (j == 1) {\n return -sin_taylor_fp64(t);\n } else if (j == -1) {\n return sin_taylor_fp64(t);\n } else {\n return -cos_taylor_fp64(t);\n }\n }\n\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n } else {\n t = sub_fp64(t, mul_fp64(PI_16_FP64, vec2(q, 0.0)));\n }\n\n vec2 u = vec2(0.0, 0.0);\n vec2 v = vec2(0.0, 0.0);\n\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#else\n if (abs_k == 1) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs_k == 2) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs_k == 3) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs_k == 4) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#endif\n\n vec2 sin_t, cos_t;\n sincos_taylor_fp64(t, sin_t, cos_t);\n\n vec2 result = vec2(0.0, 0.0);\n if (j == 0) {\n if (k > 0) {\n result = sub_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n } else {\n result = sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n } else if (j == 1) {\n if (k > 0) {\n result = -sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(v, cos_t), mul_fp64(u, sin_t));\n }\n } else if (j == -1) {\n if (k > 0) {\n result = sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n } else {\n result = sub_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n }\n } else {\n if (k > 0) {\n result = sub_fp64(mul_fp64(v, sin_t), mul_fp64(u, cos_t));\n } else {\n result = -sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n }\n\n return result;\n}\n\nvec2 tan_fp64(vec2 a) {\n vec2 sin_a;\n vec2 cos_a;\n\n if (a.x == 0.0 && a.y == 0.0) {\n return vec2(0.0, 0.0);\n }\n vec2 z = nint_fp64(div_fp64(a, TWO_PI_FP64));\n vec2 r = sub_fp64(a, mul_fp64(TWO_PI_FP64, z));\n\n vec2 t;\n float q = floor(r.x / PI_2_FP64.x + 0.5);\n int j = int(q);\n\n\n if (j < -2 || j > 2) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n }\n\n t = sub_fp64(r, mul_fp64(PI_2_FP64, vec2(q, 0.0)));\n\n q = floor(t.x / PI_16_FP64.x + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return vec2(0.0 / 0.0, 0.0 / 0.0);\n } else {\n t = sub_fp64(t, mul_fp64(PI_16_FP64, vec2(q, 0.0)));\n }\n\n\n vec2 u = vec2(0.0, 0.0);\n vec2 v = vec2(0.0, 0.0);\n\n vec2 sin_t, cos_t;\n vec2 s, c;\n sincos_taylor_fp64(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n#if defined(NVIDIA_FP64_WORKAROUND) || defined(INTEL_FP64_WORKAROUND)\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#else\n if (abs_k == 1) {\n u = COS_TABLE_0_FP64;\n v = SIN_TABLE_0_FP64;\n } else if (abs_k == 2) {\n u = COS_TABLE_1_FP64;\n v = SIN_TABLE_1_FP64;\n } else if (abs_k == 3) {\n u = COS_TABLE_2_FP64;\n v = SIN_TABLE_2_FP64;\n } else if (abs_k == 4) {\n u = COS_TABLE_3_FP64;\n v = SIN_TABLE_3_FP64;\n }\n#endif\n if (k > 0) {\n s = sum_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n c = sub_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n } else {\n s = sub_fp64(mul_fp64(u, sin_t), mul_fp64(v, cos_t));\n c = sum_fp64(mul_fp64(u, cos_t), mul_fp64(v, sin_t));\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return div_fp64(sin_a, cos_a);\n}\n\nvec2 radians_fp64(vec2 degree) {\n return mul_fp64(degree, PI_180_FP64);\n}\n\nvec2 mix_fp64(vec2 a, vec2 b, float x) {\n vec2 range = sub_fp64(b, a);\n return sum_fp64(a, mul_fp64(range, vec2(x, 0.0)));\n}\n\nvoid vec2_sum_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = sum_fp64(a[0], b[0]);\n out_val[1] = sum_fp64(a[1], b[1]);\n}\n\nvoid vec2_sub_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = sub_fp64(a[0], b[0]);\n out_val[1] = sub_fp64(a[1], b[1]);\n}\n\nvoid vec2_mul_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = mul_fp64(a[0], b[0]);\n out_val[1] = mul_fp64(a[1], b[1]);\n}\n\nvoid vec2_div_fp64(vec2 a[2], vec2 b[2], out vec2 out_val[2]) {\n out_val[0] = div_fp64(a[0], b[0]);\n out_val[1] = div_fp64(a[1], b[1]);\n}\n\nvoid vec2_mix_fp64(vec2 x[2], vec2 y[2], float a, out vec2 out_val[2]) {\n vec2 range[2];\n vec2_sub_fp64(y, x, range);\n vec2 portion[2];\n portion[0] = range[0] * a;\n portion[1] = range[1] * a;\n vec2_sum_fp64(x, portion, out_val);\n}\n\nvec2 vec2_length_fp64(vec2 x[2]) {\n return sqrt_fp64(sum_fp64(mul_fp64(x[0], x[0]), mul_fp64(x[1], x[1])));\n}\n\nvoid vec2_normalize_fp64(vec2 x[2], out vec2 out_val[2]) {\n vec2 length = vec2_length_fp64(x);\n vec2 length_vec2[2];\n length_vec2[0] = length;\n length_vec2[1] = length;\n\n vec2_div_fp64(x, length_vec2, out_val);\n}\n\nvec2 vec2_distance_fp64(vec2 x[2], vec2 y[2]) {\n vec2 diff[2];\n vec2_sub_fp64(x, y, diff);\n return vec2_length_fp64(diff);\n}\n\nvec2 vec2_dot_fp64(vec2 a[2], vec2 b[2]) {\n vec2 v[2];\n\n v[0] = mul_fp64(a[0], b[0]);\n v[1] = mul_fp64(a[1], b[1]);\n\n return sum_fp64(v[0], v[1]);\n}\nvoid vec3_sub_fp64(vec2 a[3], vec2 b[3], out vec2 out_val[3]) {\n for (int i = 0; i < 3; i++) {\n out_val[i] = sum_fp64(a[i], b[i]);\n }\n}\n\nvoid vec3_sum_fp64(vec2 a[3], vec2 b[3], out vec2 out_val[3]) {\n for (int i = 0; i < 3; i++) {\n out_val[i] = sum_fp64(a[i], b[i]);\n }\n}\n\nvec2 vec3_length_fp64(vec2 x[3]) {\n return sqrt_fp64(sum_fp64(sum_fp64(mul_fp64(x[0], x[0]), mul_fp64(x[1], x[1])),\n mul_fp64(x[2], x[2])));\n}\n\nvec2 vec3_distance_fp64(vec2 x[3], vec2 y[3]) {\n vec2 diff[3];\n vec3_sub_fp64(x, y, diff);\n return vec3_length_fp64(diff);\n}\nvoid vec4_fp64(vec4 a, out vec2 out_val[4]) {\n out_val[0].x = a[0];\n out_val[0].y = 0.0;\n\n out_val[1].x = a[1];\n out_val[1].y = 0.0;\n\n out_val[2].x = a[2];\n out_val[2].y = 0.0;\n\n out_val[3].x = a[3];\n out_val[3].y = 0.0;\n}\n\nvoid vec4_scalar_mul_fp64(vec2 a[4], vec2 b, out vec2 out_val[4]) {\n out_val[0] = mul_fp64(a[0], b);\n out_val[1] = mul_fp64(a[1], b);\n out_val[2] = mul_fp64(a[2], b);\n out_val[3] = mul_fp64(a[3], b);\n}\n\nvoid vec4_sum_fp64(vec2 a[4], vec2 b[4], out vec2 out_val[4]) {\n for (int i = 0; i < 4; i++) {\n out_val[i] = sum_fp64(a[i], b[i]);\n }\n}\n\nvoid vec4_dot_fp64(vec2 a[4], vec2 b[4], out vec2 out_val) {\n vec2 v[4];\n\n v[0] = mul_fp64(a[0], b[0]);\n v[1] = mul_fp64(a[1], b[1]);\n v[2] = mul_fp64(a[2], b[2]);\n v[3] = mul_fp64(a[3], b[3]);\n\n out_val = sum_fp64(sum_fp64(v[0], v[1]), sum_fp64(v[2], v[3]));\n}\n\nvoid mat4_vec4_mul_fp64(vec2 b[16], vec2 a[4], out vec2 out_val[4]) {\n vec2 tmp[4];\n\n for (int i = 0; i < 4; i++)\n {\n for (int j = 0; j < 4; j++)\n {\n tmp[j] = b[j + i * 4];\n }\n vec4_dot_fp64(a, tmp, out_val[i]);\n }\n}\n",fs:null,dependencies:[s],fp64ify:r,fp64LowPart:i,fp64ifyMatrix4:o}},function(e,t,n){"use strict";var r=n(136);n.d(t,"a",(function(){return i}));var i={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[r.a]}}])})); diff --git a/inst/htmlwidgets/mapdeck.js b/inst/htmlwidgets/mapdeck.js index 04c34954..afd8f749 100644 --- a/inst/htmlwidgets/mapdeck.js +++ b/inst/htmlwidgets/mapdeck.js @@ -1,3 +1,10 @@ + +// issue 357 +if( typeof globalThis === 'undefined') { + var globalThis = window; +} + + HTMLWidgets.widget({ name: 'mapdeck', @@ -5,19 +12,21 @@ HTMLWidgets.widget({ factory: function(el, width, height) { + var deckgl; + return { renderValue: function(x) { md_setup_window( el.id ); - if( x.show_view_state ) { - md_setup_view_state( el.id ); - window[el.id + 'mapViewState'] = document.createElement("div"); - window[el.id + 'mapViewState'].setAttribute('id', el.id + 'mapViewState'); - window[el.id + 'mapViewState'].setAttribute('class', 'mapViewState'); - var mapbox_ctrl = document.getElementById( "mapViewStateContainer"+el.id); - mapbox_ctrl.appendChild( window[el.id + 'mapViewState'] ); + if( x.show_view_state ) { + md_setup_view_state( el.id ); + window[el.id + 'mapViewState'] = document.createElement("div"); + window[el.id + 'mapViewState'].setAttribute('id', el.id + 'mapViewState'); + window[el.id + 'mapViewState'].setAttribute('class', 'mapViewState'); + var mapbox_ctrl = document.getElementById( "mapViewStateContainer"+el.id); + mapbox_ctrl.appendChild( window[el.id + 'mapViewState'] ); } // INITIAL VIEW @@ -34,7 +43,7 @@ HTMLWidgets.widget({ }; if( x.access_token === null ) { - const deckgl = new deck.DeckGL({ + deckgl = new deck.DeckGL({ views: [ new deck.MapView({ id: el.id, repeat: x.repeat_view @@ -48,7 +57,7 @@ HTMLWidgets.widget({ }); window[el.id + 'map'] = deckgl; } else { - const deckgl = new deck.DeckGL({ + deckgl = new deck.DeckGL({ views: [ new deck.MapView({ id: el.id, repeat: x.repeat_view @@ -123,8 +132,8 @@ HTMLWidgets.widget({ window[el.id + 'map'] = deckgl; - } - md_initialise_map(el, x); + } // end if { access_token } else { } + md_initialise_map(el, x); }, resize: function(width, height) {