@deck.gl/geo-layers 9.0.0-alpha.6 → 9.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/dist.dev.js +16521 -2329
  2. package/dist/es5/index.js +8 -0
  3. package/dist/es5/index.js.map +1 -1
  4. package/dist/es5/mesh-layer/mesh-layer-vertex.glsl.js +1 -1
  5. package/dist/es5/mesh-layer/mesh-layer.js +217 -0
  6. package/dist/es5/mesh-layer/mesh-layer.js.map +1 -0
  7. package/dist/es5/tile-3d-layer/tile-3d-layer.js +511 -0
  8. package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +1 -0
  9. package/dist/es5/trips-layer/trips-layer.js +2 -2
  10. package/dist/es5/trips-layer/trips-layer.js.map +1 -1
  11. package/dist/esm/index.js +1 -0
  12. package/dist/esm/index.js.map +1 -1
  13. package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js +5 -1
  14. package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js.map +1 -1
  15. package/dist/esm/mesh-layer/mesh-layer.js +178 -0
  16. package/dist/esm/mesh-layer/mesh-layer.js.map +1 -0
  17. package/dist/esm/tile-3d-layer/tile-3d-layer.js +438 -0
  18. package/dist/esm/tile-3d-layer/tile-3d-layer.js.map +1 -0
  19. package/dist/esm/trips-layer/trips-layer.js +4 -4
  20. package/dist/esm/trips-layer/trips-layer.js.map +1 -1
  21. package/dist.min.js +752 -33
  22. package/package.json +14 -14
  23. package/src/index.ts +2 -4
  24. package/src/mesh-layer/mesh-layer-vertex.glsl.ts +5 -1
  25. package/{dist/es5/mesh-layer/mesh-layer.ts.disabled → src/mesh-layer/mesh-layer.ts} +37 -29
  26. package/src/tile-3d-layer/{tile-3d-layer.ts.disabled → tile-3d-layer.ts} +2 -5
  27. package/src/trips-layer/trips-layer.ts +4 -4
  28. package/typed/geo-cell-layer/GeoCellLayer.d.ts +1 -1
  29. package/typed/geo-cell-layer/GeoCellLayer.d.ts.map +1 -1
  30. package/typed/geohash-layer/geohash-layer.d.ts +1 -1
  31. package/typed/geohash-layer/geohash-layer.d.ts.map +1 -1
  32. package/typed/great-circle-layer/great-circle-layer.d.ts +2 -2
  33. package/typed/great-circle-layer/great-circle-layer.d.ts.map +1 -1
  34. package/typed/h3-layers/h3-cluster-layer.d.ts +2 -2
  35. package/typed/h3-layers/h3-cluster-layer.d.ts.map +1 -1
  36. package/typed/h3-layers/h3-hexagon-layer.d.ts +2 -2
  37. package/typed/h3-layers/h3-hexagon-layer.d.ts.map +1 -1
  38. package/typed/index.d.ts +2 -0
  39. package/typed/index.d.ts.map +1 -1
  40. package/typed/mesh-layer/mesh-layer-vertex.glsl.d.ts +1 -1
  41. package/typed/mesh-layer/mesh-layer-vertex.glsl.d.ts.map +1 -1
  42. package/typed/mesh-layer/mesh-layer.d.ts +38 -0
  43. package/typed/mesh-layer/mesh-layer.d.ts.map +1 -0
  44. package/typed/mvt-layer/mvt-layer.d.ts +4 -4
  45. package/typed/mvt-layer/mvt-layer.d.ts.map +1 -1
  46. package/typed/quadkey-layer/quadkey-layer.d.ts +2 -2
  47. package/typed/quadkey-layer/quadkey-layer.d.ts.map +1 -1
  48. package/typed/s2-layer/s2-layer.d.ts +2 -2
  49. package/typed/s2-layer/s2-layer.d.ts.map +1 -1
  50. package/typed/terrain-layer/terrain-layer.d.ts +5 -5
  51. package/typed/terrain-layer/terrain-layer.d.ts.map +1 -1
  52. package/typed/tile-3d-layer/tile-3d-layer.d.ts +62 -0
  53. package/typed/tile-3d-layer/tile-3d-layer.d.ts.map +1 -0
  54. package/typed/tile-layer/tile-layer.d.ts +3 -3
  55. package/typed/tile-layer/tile-layer.d.ts.map +1 -1
  56. package/typed/tileset-2d/tile-2d-header.d.ts +1 -1
  57. package/typed/tileset-2d/tile-2d-header.d.ts.map +1 -1
  58. package/typed/tileset-2d/tileset-2d.d.ts +3 -3
  59. package/typed/tileset-2d/tileset-2d.d.ts.map +1 -1
  60. package/typed/tileset-2d/types.d.ts +7 -7
  61. package/typed/tileset-2d/types.d.ts.map +1 -1
  62. package/typed/tileset-2d/utils.d.ts +1 -1
  63. package/typed/tileset-2d/utils.d.ts.map +1 -1
  64. package/typed/trips-layer/trips-layer.d.ts +2 -2
  65. package/typed/trips-layer/trips-layer.d.ts.map +1 -1
  66. package/typed/wms-layer/wms-layer.d.ts +2 -2
  67. package/typed/wms-layer/wms-layer.d.ts.map +1 -1
  68. package/dist/es5/tile-3d-layer/tile-3d-layer.ts.disabled +0 -435
  69. package/dist/esm/mesh-layer/mesh-layer.ts.disabled +0 -176
  70. package/dist/esm/tile-3d-layer/tile-3d-layer.ts.disabled +0 -435
  71. package/src/mesh-layer/mesh-layer.ts.disabled +0 -176
package/dist.min.js CHANGED
@@ -4,49 +4,768 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['deck'] = factory();
6
6
  else root['deck'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var xu=Object.create;var sr=Object.defineProperty;var _u=Object.getOwnPropertyDescriptor;var bu=Object.getOwnPropertyNames;var wu=Object.getPrototypeOf,Mu=Object.prototype.hasOwnProperty;var jo=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var Y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),kn=(t,e)=>{for(var r in e)sr(t,r,{get:e[r],enumerable:!0})},or=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of bu(e))!Mu.call(t,i)&&i!==r&&sr(t,i,{get:()=>e[i],enumerable:!(n=_u(e,i))||n.enumerable});return t},Et=(t,e,r)=>(or(t,e,"default"),r&&or(r,e,"default")),B=(t,e,r)=>(r=t!=null?xu(wu(t)):{},or(e||!t||!t.__esModule?sr(r,"default",{value:t,enumerable:!0}):r,t)),Su=t=>or(sr({},"__esModule",{value:!0}),t);var ct=Y((gv,Vo)=>{Vo.exports=globalThis.deck});var ut=Y((vv,Do)=>{Do.exports=globalThis.deck});var cr=Y(_t=>{"use strict";var Go=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Pu=Go+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Zo="["+Go+"]["+Pu+"]*",Eu=new RegExp("^"+Zo+"$"),Ou=function(e,r){for(var n=[],i=r.exec(e);i;){var o=[];o.startIndex=r.lastIndex-i[0].length;for(var s=i.length,a=0;a<s;a++)o.push(i[a]);n.push(o),i=r.exec(e)}return n},Iu=function(e){var r=Eu.exec(e);return!(r===null||typeof r>"u")};_t.isExist=function(t){return typeof t<"u"};_t.isEmptyObject=function(t){return Object.keys(t).length===0};_t.merge=function(t,e,r){if(e)for(var n=Object.keys(e),i=n.length,o=0;o<i;o++)r==="strict"?t[n[o]]=[e[n[o]]]:t[n[o]]=e[n[o]]};_t.getValue=function(t){return _t.isExist(t)?t:""};_t.isName=Iu;_t.getAllMatches=Ou;_t.nameRegexp=Zo});var Un=Y(Qo=>{"use strict";var qn=cr(),Au={allowBooleanAttributes:!1,unpairedTags:[]};Qo.validate=function(t,e){e=Object.assign({},Au,e);var r=[],n=!1,i=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(var o=0;o<t.length;o++)if(t[o]==="<"&&t[o+1]==="?"){if(o+=2,o=Yo(t,o),o.err)return o}else if(t[o]==="<"){var s=o;if(o++,t[o]==="!"){o=Ho(t,o);continue}else{var a=!1;t[o]==="/"&&(a=!0,o++);for(var c="";o<t.length&&t[o]!==">"&&t[o]!==" "&&t[o]!==" "&&t[o]!==`
8
- `&&t[o]!=="\r";o++)c+=t[o];if(c=c.trim(),c[c.length-1]==="/"&&(c=c.substring(0,c.length-1),o--),!ku(c)){var l=void 0;return c.trim().length===0?l="Invalid space after '<'.":l="Tag '"+c+"' is an invalid name.",H("InvalidTag",l,J(t,o))}var u=Fu(t,o);if(u===!1)return H("InvalidAttr","Attributes for '"+c+"' have open quote.",J(t,o));var f=u.value;if(o=u.index,f[f.length-1]==="/"){var h=o-f.length;f=f.substring(0,f.length-1);var d=$o(f,e);if(d===!0)n=!0;else return H(d.err.code,d.err.msg,J(t,h+d.err.line))}else if(a)if(u.tagClosed){if(f.trim().length>0)return H("InvalidTag","Closing tag '"+c+"' can't have attributes or invalid starting.",J(t,s));var p=r.pop();if(c!==p.tagName){var g=J(t,p.tagStartPos);return H("InvalidTag","Expected closing tag '"+p.tagName+"' (opened in line "+g.line+", col "+g.col+") instead of closing tag '"+c+"'.",J(t,s))}r.length==0&&(i=!0)}else return H("InvalidTag","Closing tag '"+c+"' doesn't have proper closing.",J(t,o));else{var m=$o(f,e);if(m!==!0)return H(m.err.code,m.err.msg,J(t,o-f.length+m.err.line));if(i===!0)return H("InvalidXml","Multiple possible root nodes found.",J(t,o));e.unpairedTags.indexOf(c)!==-1||r.push({tagName:c,tagStartPos:s}),n=!0}for(o++;o<t.length;o++)if(t[o]==="<")if(t[o+1]==="!"){o++,o=Ho(t,o);continue}else if(t[o+1]==="?"){if(o=Yo(t,++o),o.err)return o}else break;else if(t[o]==="&"){var v=zu(t,o);if(v==-1)return H("InvalidChar","char '&' is not expected.",J(t,o));o=v}else if(i===!0&&!Xo(t[o]))return H("InvalidXml","Extra text at the end",J(t,o));t[o]==="<"&&o--}}else{if(Xo(t[o]))continue;return H("InvalidChar","char '"+t[o]+"' is not expected.",J(t,o))}if(n){if(r.length==1)return H("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",J(t,r[0].tagStartPos));if(r.length>0)return H("InvalidXml","Invalid '"+JSON.stringify(r.map(function(w){return w.tagName}),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return H("InvalidXml","Start tag expected.",1);return!0};function Xo(t){return t===" "||t===" "||t===`
9
- `||t==="\r"}function Yo(t,e){for(var r=e;e<t.length;e++)if(t[e]=="?"||t[e]==" "){var n=t.substr(r,e-r);if(e>5&&n==="xml")return H("InvalidXml","XML declaration allowed only at the start of the document.",J(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function Ho(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){var r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}var Lu='"',Ru="'";function Fu(t,e){for(var r="",n="",i=!1;e<t.length;e++){if(t[e]===Lu||t[e]===Ru)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){i=!0;break}r+=t[e]}return n!==""?!1:{value:r,index:e,tagClosed:i}}var Nu=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function $o(t,e){for(var r=qn.getAllMatches(t,Nu),n={},i=0;i<r.length;i++){if(r[i][1].length===0)return H("InvalidAttr","Attribute '"+r[i][2]+"' has no space in starting.",xe(r[i]));if(r[i][3]!==void 0&&r[i][4]===void 0)return H("InvalidAttr","Attribute '"+r[i][2]+"' is without value.",xe(r[i]));if(r[i][3]===void 0&&!e.allowBooleanAttributes)return H("InvalidAttr","boolean attribute '"+r[i][2]+"' is not allowed.",xe(r[i]));var o=r[i][2];if(!Bu(o))return H("InvalidAttr","Attribute '"+o+"' is an invalid name.",xe(r[i]));if(!n.hasOwnProperty(o))n[o]=1;else return H("InvalidAttr","Attribute '"+o+"' is repeated.",xe(r[i]))}return!0}function Cu(t,e){var r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}function zu(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,Cu(t,e);for(var r=0;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}function H(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}function Bu(t){return qn.isName(t)}function ku(t){return qn.isName(t)}function J(t,e){var r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function xe(t){return t.startIndex+t[1].length}});var Jo=Y(jn=>{var Ko={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,r){return r},attributeValueProcessor:function(e,r){return r},stopNodes:[],alwaysCreateTextNode:!1,isArray:function(){return!1},commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,r,n){return e}},qu=function(e){return Object.assign({},Ko,e)};jn.buildOptions=qu;jn.defaultOptions=Ko});var es=Y((Mv,ts)=>{"use strict";function lr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Uu(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var ju=function(){function t(r){Uu(this,t),this.tagname=r,this.child=[],this[":@"]={}}var e=t.prototype;return e.add=function(n,i){n==="__proto__"&&(n="#__proto__"),this.child.push(lr({},n,i))},e.addChild=function(n){if(n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0){var i;this.child.push((i={},lr(i,n.tagname,n.child),lr(i,":@",n[":@"]),i))}else this.child.push(lr({},n.tagname,n.child))},t}();ts.exports=ju});var is=Y((Sv,ns)=>{function Vu(t,e){return Zu(t)||Gu(t,e)||Du(t,e)||Wu()}function Wu(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
10
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Du(t,e){if(t){if(typeof t=="string")return rs(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return rs(t,e)}}function rs(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Gu(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function Zu(t){if(Array.isArray(t))return t}var Xu=cr();function Yu(t,e){var r={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;for(var n=1,i=!1,o=!1,s="";e<t.length;e++)if(t[e]==="<"&&!o){if(i&&Qu(t,e)){e+=7;var a=Hu(t,e+1),c=Vu(a,3);entityName=c[0],val=c[1],e=c[2],val.indexOf("&")===-1&&(r[ef(entityName)]={regx:RegExp("&".concat(entityName,";"),"g"),val})}else if(i&&Ku(t,e))e+=8;else if(i&&Ju(t,e))e+=8;else if(i&&tf(t,e))e+=9;else if($u)o=!0;else throw new Error("Invalid DOCTYPE");n++,s=""}else if(t[e]===">"){if(o?t[e-1]==="-"&&t[e-2]==="-"&&(o=!1,n--):n--,n===0)break}else t[e]==="["?i=!0:s+=t[e];if(n!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:r,i:e}}function Hu(t,e){for(var r="";e<t.length&&t[e]!=="'"&&t[e]!=='"';e++)r+=t[e];if(r=r.trim(),r.indexOf(" ")!==-1)throw new Error("External entites are not supported");for(var n=t[e++],i="";e<t.length&&t[e]!==n;e++)i+=t[e];return[r,i,e]}function $u(t,e){return t[e+1]==="!"&&t[e+2]==="-"&&t[e+3]==="-"}function Qu(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="N"&&t[e+4]==="T"&&t[e+5]==="I"&&t[e+6]==="T"&&t[e+7]==="Y"}function Ku(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="L"&&t[e+4]==="E"&&t[e+5]==="M"&&t[e+6]==="E"&&t[e+7]==="N"&&t[e+8]==="T"}function Ju(t,e){return t[e+1]==="!"&&t[e+2]==="A"&&t[e+3]==="T"&&t[e+4]==="T"&&t[e+5]==="L"&&t[e+6]==="I"&&t[e+7]==="S"&&t[e+8]==="T"}function tf(t,e){return t[e+1]==="!"&&t[e+2]==="N"&&t[e+3]==="O"&&t[e+4]==="T"&&t[e+5]==="A"&&t[e+6]==="T"&&t[e+7]==="I"&&t[e+8]==="O"&&t[e+9]==="N"}function ef(t){if(Xu.isName(t))return t;throw new Error("Invalid entity name ".concat(t))}ns.exports=Yu});var ss=Y((Tv,os)=>{var rf=/^[-+]?0x[a-fA-F0-9]+$/,nf=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var of={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function sf(t,e={}){if(e=Object.assign({},of,e),!t||typeof t!="string")return t;let r=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(r))return t;if(e.hex&&rf.test(r))return Number.parseInt(r,16);{let n=nf.exec(r);if(n){let i=n[1],o=n[2],s=af(n[3]),a=n[4]||n[6];if(!e.leadingZeros&&o.length>0&&i&&r[2]!==".")return t;if(!e.leadingZeros&&o.length>0&&!i&&r[1]!==".")return t;{let c=Number(r),l=""+c;return l.search(/[eE]/)!==-1||a?e.eNotation?c:t:r.indexOf(".")!==-1?l==="0"&&s===""||l===s||i&&l==="-"+s?c:t:o?s===l||i+s===l?c:t:r===l||r===i+l?c:t}}else return t}}function af(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}os.exports=sf});var ls=Y((Ev,cs)=>{"use strict";function as(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Ut(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ut=function(r){return typeof r}:Ut=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ut(t)}function cf(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var Dn=cr(),_e=es(),lf=is(),uf=ss(),Pv="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,Dn.nameRegexp),ff=function t(e){cf(this,t),this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=hf,this.parseXml=yf,this.parseTextData=df,this.resolveNameSpace=pf,this.buildAttributesMap=gf,this.isItStopNode=bf,this.replaceEntitiesValue=xf,this.readStopNodeData=Mf,this.saveTextToParentTag=_f,this.addChild=vf};function hf(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function df(t,e,r,n,i,o,s){if(t!==void 0&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){s||(t=this.replaceEntitiesValue(t));var a=this.options.tagValueProcessor(e,t,r,i,o);if(a==null)return t;if(Ut(a)!==Ut(t)||a!==t)return a;if(this.options.trimValues)return Wn(t,this.options.parseTagValue,this.options.numberParseOptions);var c=t.trim();return c===t?Wn(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function pf(t){if(this.options.removeNSPrefix){var e=t.split(":"),r=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=r+e[1])}return t}var mf=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function gf(t,e,r){if(!this.options.ignoreAttributes&&typeof t=="string"){for(var n=Dn.getAllMatches(t,mf),i=n.length,o={},s=0;s<i;s++){var a=this.resolveNameSpace(n[s][1]),c=n[s][4],l=this.options.attributeNamePrefix+a;if(a.length)if(this.options.transformAttributeName&&(l=this.options.transformAttributeName(l)),l==="__proto__"&&(l="#__proto__"),c!==void 0){this.options.trimValues&&(c=c.trim()),c=this.replaceEntitiesValue(c);var u=this.options.attributeValueProcessor(a,c,e);u==null?o[l]=c:Ut(u)!==Ut(c)||u!==c?o[l]=u:o[l]=Wn(c,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(o[l]=!0)}if(!Object.keys(o).length)return;if(this.options.attributesGroupName){var f={};return f[this.options.attributesGroupName]=o,f}return o}}var yf=function(e){e=e.replace(/\r\n?/g,`
11
- `);for(var r=new _e("!xml"),n=r,i="",o="",s=0;s<e.length;s++){var a=e[s];if(a==="<")if(e[s+1]==="/"){var c=qt(e,">",s,"Closing Tag is not closed."),l=e.substring(s+2,c).trim();if(this.options.removeNSPrefix){var u=l.indexOf(":");u!==-1&&(l=l.substr(u+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),n&&(i=this.saveTextToParentTag(i,n,o));var f=o.substring(o.lastIndexOf(".")+1);if(l&&this.options.unpairedTags.indexOf(l)!==-1)throw new Error("Unpaired tag can not be used as closing tag: </".concat(l,">"));var h=0;f&&this.options.unpairedTags.indexOf(f)!==-1?(h=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):h=o.lastIndexOf("."),o=o.substring(0,h),n=this.tagsNodeStack.pop(),i="",s=c}else if(e[s+1]==="?"){var d=Vn(e,s,!1,"?>");if(!d)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,n,o),!(this.options.ignoreDeclaration&&d.tagName==="?xml"||this.options.ignorePiTags)){var p=new _e(d.tagName);p.add(this.options.textNodeName,""),d.tagName!==d.tagExp&&d.attrExpPresent&&(p[":@"]=this.buildAttributesMap(d.tagExp,o,d.tagName)),this.addChild(n,p,o)}s=d.closeIndex+1}else if(e.substr(s+1,3)==="!--"){var g=qt(e,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){var m=e.substring(s+4,g-2);i=this.saveTextToParentTag(i,n,o),n.add(this.options.commentPropName,[as({},this.options.textNodeName,m)])}s=g}else if(e.substr(s+1,2)==="!D"){var v=lf(e,s);this.docTypeEntities=v.entities,s=v.i}else if(e.substr(s+1,2)==="!["){var w=qt(e,"]]>",s,"CDATA is not closed.")-2,x=e.substring(s+9,w);if(i=this.saveTextToParentTag(i,n,o),this.options.cdataPropName)n.add(this.options.cdataPropName,[as({},this.options.textNodeName,x)]);else{var b=this.parseTextData(x,n.tagname,o,!0,!1,!0);b==null&&(b=""),n.add(this.options.textNodeName,b)}s=w+2}else{var T=Vn(e,s,this.options.removeNSPrefix),S=T.tagName,P=T.tagExp,M=T.attrExpPresent,_=T.closeIndex;this.options.transformTagName&&(S=this.options.transformTagName(S)),n&&i&&n.tagname!=="!xml"&&(i=this.saveTextToParentTag(i,n,o,!1));var y=n;if(y&&this.options.unpairedTags.indexOf(y.tagname)!==-1&&(n=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),S!==r.tagname&&(o+=o?"."+S:S),this.isItStopNode(this.options.stopNodes,o,S)){var E="";if(P.length>0&&P.lastIndexOf("/")===P.length-1)s=T.closeIndex;else if(this.options.unpairedTags.indexOf(S)!==-1)s=T.closeIndex;else{var A=this.readStopNodeData(e,S,_+1);if(!A)throw new Error("Unexpected end of ".concat(S));s=A.i,E=A.tagContent}var L=new _e(S);S!==P&&M&&(L[":@"]=this.buildAttributesMap(P,o,S)),E&&(E=this.parseTextData(E,S,o,!0,M,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),L.add(this.options.textNodeName,E),this.addChild(n,L,o)}else{if(P.length>0&&P.lastIndexOf("/")===P.length-1){S[S.length-1]==="/"?(S=S.substr(0,S.length-1),o=o.substr(0,o.length-1),P=S):P=P.substr(0,P.length-1),this.options.transformTagName&&(S=this.options.transformTagName(S));var I=new _e(S);S!==P&&M&&(I[":@"]=this.buildAttributesMap(P,o,S)),this.addChild(n,I,o),o=o.substr(0,o.lastIndexOf("."))}else{var R=new _e(S);this.tagsNodeStack.push(n),S!==P&&M&&(R[":@"]=this.buildAttributesMap(P,o,S)),this.addChild(n,R,o),n=R}i="",s=_}}else i+=e[s]}return r.child};function vf(t,e,r){var n=this.options.updateTag(e.tagname,r,e[":@"]);n===!1||(typeof n=="string"&&(e.tagname=n),t.addChild(e))}var xf=function(e){if(this.options.processEntities){for(var r in this.docTypeEntities){var n=this.docTypeEntities[r];e=e.replace(n.regx,n.val)}for(var i in this.lastEntities){var o=this.lastEntities[i];e=e.replace(o.regex,o.val)}if(this.options.htmlEntities)for(var s in this.htmlEntities){var a=this.htmlEntities[s];e=e.replace(a.regex,a.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function _f(t,e,r,n){return t&&(n===void 0&&(n=Object.keys(e.child).length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function bf(t,e,r){var n="*."+r;for(var i in t){var o=t[i];if(n===o||e===o)return!0}return!1}function wf(t,e){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:">",n,i="",o=e;o<t.length;o++){var s=t[o];if(n)s===n&&(n="");else if(s==='"'||s==="'")n=s;else if(s===r[0])if(r[1]){if(t[o+1]===r[1])return{data:i,index:o}}else return{data:i,index:o};else s===" "&&(s=" ");i+=s}}function qt(t,e,r,n){var i=t.indexOf(e,r);if(i===-1)throw new Error(n);return i+e.length-1}function Vn(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:">",i=wf(t,e+1,n);if(i){var o=i.data,s=i.index,a=o.search(/\s/),c=o,l=!0;if(a!==-1&&(c=o.substr(0,a).replace(/\s\s*$/,""),o=o.substr(a+1)),r){var u=c.indexOf(":");u!==-1&&(c=c.substr(u+1),l=c!==i.data.substr(u+1))}return{tagName:c,tagExp:o,closeIndex:s,attrExpPresent:l}}}function Mf(t,e,r){for(var n=r,i=1;r<t.length;r++)if(t[r]==="<")if(t[r+1]==="/"){var o=qt(t,">",r,"".concat(e," is not closed")),s=t.substring(r+2,o).trim();if(s===e&&(i--,i===0))return{tagContent:t.substring(n,r),i:o};r=o}else if(t[r+1]==="?"){var a=qt(t,"?>",r+1,"StopNode is not closed.");r=a}else if(t.substr(r+1,3)==="!--"){var c=qt(t,"-->",r+3,"StopNode is not closed.");r=c}else if(t.substr(r+1,2)==="!["){var l=qt(t,"]]>",r,"StopNode is not closed.")-2;r=l}else{var u=Vn(t,r,">");if(u){var f=u&&u.tagName;f===e&&u.tagExp[u.tagExp.length-1]!=="/"&&i++,r=u.closeIndex}}}function Wn(t,e,r){if(e&&typeof t=="string"){var n=t.trim();return n==="true"?!0:n==="false"?!1:uf(t,r)}else return Dn.isExist(t)?t:""}cs.exports=ff});var hs=Y(fs=>{"use strict";function Sf(t,e){return us(t,e)}function us(t,e,r){for(var n,i={},o=0;o<t.length;o++){var s=t[o],a=Tf(s),c="";if(r===void 0?c=a:c=r+"."+a,a===e.textNodeName)n===void 0?n=s[a]:n+=""+s[a];else{if(a===void 0)continue;if(s[a]){var l=us(s[a],e,c),u=Ef(l,e);s[":@"]?Pf(l,s[":@"],c,e):Object.keys(l).length===1&&l[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?l=l[e.textNodeName]:Object.keys(l).length===0&&(e.alwaysCreateTextNode?l[e.textNodeName]="":l=""),i[a]!==void 0&&i.hasOwnProperty(a)?(Array.isArray(i[a])||(i[a]=[i[a]]),i[a].push(l)):e.isArray(a,c,u)?i[a]=[l]:i[a]=l}}}return typeof n=="string"?n.length>0&&(i[e.textNodeName]=n):n!==void 0&&(i[e.textNodeName]=n),i}function Tf(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];if(n!==":@")return n}}function Pf(t,e,r,n){if(e)for(var i=Object.keys(e),o=i.length,s=0;s<o;s++){var a=i[s];n.isArray(a,r+"."+a,!0,!0)?t[a]=[e[a]]:t[a]=e[a]}}function Ef(t,e){var r=e.textNodeName,n=Object.keys(t).length;return!!(n===0||n===1&&(t[r]||typeof t[r]=="boolean"||t[r]===0))}fs.prettify=Sf});var ps=Y((Iv,ds)=>{function Of(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var If=Jo(),Af=If.buildOptions,Lf=ls(),Rf=hs(),Ff=Rf.prettify,Nf=Un(),Cf=function(){function t(r){Of(this,t),this.externalEntities={},this.options=Af(r)}var e=t.prototype;return e.parse=function(n,i){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(i){i===!0&&(i={});var o=Nf.validate(n,i);if(o!==!0)throw Error("".concat(o.err.msg,":").concat(o.err.line,":").concat(o.err.col))}var s=new Lf(this.options);s.addExternalEntities(this.externalEntities);var a=s.parseXml(n);return this.options.preserveOrder||a===void 0?a:Ff(a,this.options)},e.addEntity=function(n,i){if(i.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(i==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=i},t}();ds.exports=Cf});var xs=Y((Av,vs)=>{var zf=`
12
- `;function Bf(t,e){var r="";return e.format&&e.indentBy.length>0&&(r=zf),gs(t,e,"",r)}function gs(t,e,r,n){for(var i="",o=!1,s=0;s<t.length;s++){var a=t[s],c=kf(a),l="";if(r.length===0?l=c:l="".concat(r,".").concat(c),c===e.textNodeName){var u=a[c];qf(l,e)||(u=e.tagValueProcessor(c,u),u=ys(u,e)),o&&(i+=n),i+=u,o=!1;continue}else if(c===e.cdataPropName){o&&(i+=n),i+="<![CDATA[".concat(a[c][0][e.textNodeName],"]]>"),o=!1;continue}else if(c===e.commentPropName){i+=n+"<!--".concat(a[c][0][e.textNodeName],"-->"),o=!0;continue}else if(c[0]==="?"){var f=ms(a[":@"],e),h=c==="?xml"?"":n,d=a[c][0][e.textNodeName];d=d.length!==0?" "+d:"",i+=h+"<".concat(c).concat(d).concat(f,"?>"),o=!0;continue}var p=n;p!==""&&(p+=e.indentBy);var g=ms(a[":@"],e),m=n+"<".concat(c).concat(g),v=gs(a[c],e,l,p);e.unpairedTags.indexOf(c)!==-1?e.suppressUnpairedNode?i+=m+">":i+=m+"/>":(!v||v.length===0)&&e.suppressEmptyNode?i+=m+"/>":v&&v.endsWith(">")?i+=m+">".concat(v).concat(n,"</").concat(c,">"):(i+=m+">",v&&n!==""&&(v.includes("/>")||v.includes("</"))?i+=n+e.indentBy+v+n:i+=v,i+="</".concat(c,">")),o=!0}return i}function kf(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];if(n!==":@")return n}}function ms(t,e){var r="";if(t&&!e.ignoreAttributes)for(var n in t){var i=e.attributeValueProcessor(n,t[n]);i=ys(i,e),i===!0&&e.suppressBooleanAttributes?r+=" ".concat(n.substr(e.attributeNamePrefix.length)):r+=" ".concat(n.substr(e.attributeNamePrefix.length),'="').concat(i,'"')}return r}function qf(t,e){t=t.substr(0,t.length-e.textNodeName.length-1);var r=t.substr(t.lastIndexOf(".")+1);for(var n in e.stopNodes)if(e.stopNodes[n]===t||e.stopNodes[n]==="*."+r)return!0;return!1}function ys(t,e){if(t&&t.length>0&&e.processEntities)for(var r=0;r<e.entities.length;r++){var n=e.entities[r];t=t.replace(n.regex,n.val)}return t}vs.exports=Bf});var bs=Y((Lv,_s)=>{"use strict";function be(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?be=function(r){return typeof r}:be=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},be(t)}function Uf(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var jf=xs(),Vf={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,r){return r},attributeValueProcessor:function(e,r){return r},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Ot(t){this.options=Object.assign({},Vf,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Gf),this.processTextOrObjNode=Wf,this.options.format?(this.indentate=Df,this.tagEndChar=`>
7
+ "use strict";var __exports__=(()=>{var $y=Object.create;var Mi=Object.defineProperty;var eA=Object.getOwnPropertyDescriptor;var tA=Object.getOwnPropertyNames;var rA=Object.getPrototypeOf,nA=Object.prototype.hasOwnProperty;var Wl=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var re=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),de=(t,e)=>{for(var r in e)Mi(t,r,{get:e[r],enumerable:!0})},Ci=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of tA(e))!nA.call(t,i)&&i!==r&&Mi(t,i,{get:()=>e[i],enumerable:!(n=eA(e,i))||n.enumerable});return t},St=(t,e,r)=>(Ci(t,e,"default"),r&&Ci(r,e,"default")),P=(t,e,r)=>(r=t!=null?$y(rA(t)):{},Ci(e||!t||!t.__esModule?Mi(r,"default",{value:t,enumerable:!0}):r,t)),iA=t=>Ci(Mi({},"__esModule",{value:!0}),t);var Ve=re((NO,Xl)=>{Xl.exports=globalThis.deck});var ze=re((GO,Yl)=>{Yl.exports=globalThis.deck});var Ii=re(dt=>{"use strict";var Zl=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",sA=Zl+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Ql="["+Zl+"]["+sA+"]*",aA=new RegExp("^"+Ql+"$"),cA=function(e,r){for(var n=[],i=r.exec(e);i;){var o=[];o.startIndex=r.lastIndex-i[0].length;for(var s=i.length,a=0;a<s;a++)o.push(i[a]);n.push(o),i=r.exec(e)}return n},uA=function(e){var r=aA.exec(e);return!(r===null||typeof r>"u")};dt.isExist=function(t){return typeof t<"u"};dt.isEmptyObject=function(t){return Object.keys(t).length===0};dt.merge=function(t,e,r){if(e)for(var n=Object.keys(e),i=n.length,o=0;o<i;o++)r==="strict"?t[n[o]]=[e[n[o]]]:t[n[o]]=e[n[o]]};dt.getValue=function(t){return dt.isExist(t)?t:""};dt.isName=uA;dt.getAllMatches=cA;dt.nameRegexp=Ql});var ua=re(nf=>{"use strict";var ca=Ii(),lA={allowBooleanAttributes:!1,unpairedTags:[]};nf.validate=function(t,e){e=Object.assign({},lA,e);var r=[],n=!1,i=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(var o=0;o<t.length;o++)if(t[o]==="<"&&t[o+1]==="?"){if(o+=2,o=ef(t,o),o.err)return o}else if(t[o]==="<"){var s=o;if(o++,t[o]==="!"){o=tf(t,o);continue}else{var a=!1;t[o]==="/"&&(a=!0,o++);for(var c="";o<t.length&&t[o]!==">"&&t[o]!==" "&&t[o]!==" "&&t[o]!==`
8
+ `&&t[o]!=="\r";o++)c+=t[o];if(c=c.trim(),c[c.length-1]==="/"&&(c=c.substring(0,c.length-1),o--),!AA(c)){var u=void 0;return c.trim().length===0?u="Invalid space after '<'.":u="Tag '"+c+"' is an invalid name.",ae("InvalidTag",u,Te(t,o))}var l=dA(t,o);if(l===!1)return ae("InvalidAttr","Attributes for '"+c+"' have open quote.",Te(t,o));var f=l.value;if(o=l.index,f[f.length-1]==="/"){var h=o-f.length;f=f.substring(0,f.length-1);var d=rf(f,e);if(d===!0)n=!0;else return ae(d.err.code,d.err.msg,Te(t,h+d.err.line))}else if(a)if(l.tagClosed){if(f.trim().length>0)return ae("InvalidTag","Closing tag '"+c+"' can't have attributes or invalid starting.",Te(t,s));var p=r.pop();if(c!==p.tagName){var g=Te(t,p.tagStartPos);return ae("InvalidTag","Expected closing tag '"+p.tagName+"' (opened in line "+g.line+", col "+g.col+") instead of closing tag '"+c+"'.",Te(t,s))}r.length==0&&(i=!0)}else return ae("InvalidTag","Closing tag '"+c+"' doesn't have proper closing.",Te(t,o));else{var m=rf(f,e);if(m!==!0)return ae(m.err.code,m.err.msg,Te(t,o-f.length+m.err.line));if(i===!0)return ae("InvalidXml","Multiple possible root nodes found.",Te(t,o));e.unpairedTags.indexOf(c)!==-1||r.push({tagName:c,tagStartPos:s}),n=!0}for(o++;o<t.length;o++)if(t[o]==="<")if(t[o+1]==="!"){o++,o=tf(t,o);continue}else if(t[o+1]==="?"){if(o=ef(t,++o),o.err)return o}else break;else if(t[o]==="&"){var A=gA(t,o);if(A==-1)return ae("InvalidChar","char '&' is not expected.",Te(t,o));o=A}else if(i===!0&&!$l(t[o]))return ae("InvalidXml","Extra text at the end",Te(t,o));t[o]==="<"&&o--}}else{if($l(t[o]))continue;return ae("InvalidChar","char '"+t[o]+"' is not expected.",Te(t,o))}if(n){if(r.length==1)return ae("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",Te(t,r[0].tagStartPos));if(r.length>0)return ae("InvalidXml","Invalid '"+JSON.stringify(r.map(function(_){return _.tagName}),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return ae("InvalidXml","Start tag expected.",1);return!0};function $l(t){return t===" "||t===" "||t===`
9
+ `||t==="\r"}function ef(t,e){for(var r=e;e<t.length;e++)if(t[e]=="?"||t[e]==" "){var n=t.substr(r,e-r);if(e>5&&n==="xml")return ae("InvalidXml","XML declaration allowed only at the start of the document.",Te(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function tf(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){var r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}var fA='"',hA="'";function dA(t,e){for(var r="",n="",i=!1;e<t.length;e++){if(t[e]===fA||t[e]===hA)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){i=!0;break}r+=t[e]}return n!==""?!1:{value:r,index:e,tagClosed:i}}var pA=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function rf(t,e){for(var r=ca.getAllMatches(t,pA),n={},i=0;i<r.length;i++){if(r[i][1].length===0)return ae("InvalidAttr","Attribute '"+r[i][2]+"' has no space in starting.",yn(r[i]));if(r[i][3]!==void 0&&r[i][4]===void 0)return ae("InvalidAttr","Attribute '"+r[i][2]+"' is without value.",yn(r[i]));if(r[i][3]===void 0&&!e.allowBooleanAttributes)return ae("InvalidAttr","boolean attribute '"+r[i][2]+"' is not allowed.",yn(r[i]));var o=r[i][2];if(!yA(o))return ae("InvalidAttr","Attribute '"+o+"' is an invalid name.",yn(r[i]));if(!n.hasOwnProperty(o))n[o]=1;else return ae("InvalidAttr","Attribute '"+o+"' is repeated.",yn(r[i]))}return!0}function mA(t,e){var r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}function gA(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,mA(t,e);for(var r=0;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}function ae(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}function yA(t){return ca.isName(t)}function AA(t){return ca.isName(t)}function Te(t,e){var r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function yn(t){return t.startIndex+t[1].length}});var sf=re(la=>{var of={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,r){return r},attributeValueProcessor:function(e,r){return r},stopNodes:[],alwaysCreateTextNode:!1,isArray:function(){return!1},commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,r,n){return e}},_A=function(e){return Object.assign({},of,e)};la.buildOptions=_A;la.defaultOptions=of});var cf=re((kO,af)=>{"use strict";function Oi(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function vA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var xA=function(){function t(r){vA(this,t),this.tagname=r,this.child=[],this[":@"]={}}var e=t.prototype;return e.add=function(n,i){n==="__proto__"&&(n="#__proto__"),this.child.push(Oi({},n,i))},e.addChild=function(n){if(n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0){var i;this.child.push((i={},Oi(i,n.tagname,n.child),Oi(i,":@",n[":@"]),i))}else this.child.push(Oi({},n.tagname,n.child))},t}();af.exports=xA});var ff=re((JO,lf)=>{function TA(t,e){return BA(t)||SA(t,e)||EA(t,e)||bA()}function bA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
10
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function EA(t,e){if(t){if(typeof t=="string")return uf(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return uf(t,e)}}function uf(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function SA(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function BA(t){if(Array.isArray(t))return t}var CA=Ii();function MA(t,e){var r={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;for(var n=1,i=!1,o=!1,s="";e<t.length;e++)if(t[e]==="<"&&!o){if(i&&OA(t,e)){e+=7;var a=wA(t,e+1),c=TA(a,3);entityName=c[0],val=c[1],e=c[2],val.indexOf("&")===-1&&(r[FA(entityName)]={regx:RegExp("&".concat(entityName,";"),"g"),val})}else if(i&&RA(t,e))e+=8;else if(i&&LA(t,e))e+=8;else if(i&&PA(t,e))e+=9;else if(IA)o=!0;else throw new Error("Invalid DOCTYPE");n++,s=""}else if(t[e]===">"){if(o?t[e-1]==="-"&&t[e-2]==="-"&&(o=!1,n--):n--,n===0)break}else t[e]==="["?i=!0:s+=t[e];if(n!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:r,i:e}}function wA(t,e){for(var r="";e<t.length&&t[e]!=="'"&&t[e]!=='"';e++)r+=t[e];if(r=r.trim(),r.indexOf(" ")!==-1)throw new Error("External entites are not supported");for(var n=t[e++],i="";e<t.length&&t[e]!==n;e++)i+=t[e];return[r,i,e]}function IA(t,e){return t[e+1]==="!"&&t[e+2]==="-"&&t[e+3]==="-"}function OA(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="N"&&t[e+4]==="T"&&t[e+5]==="I"&&t[e+6]==="T"&&t[e+7]==="Y"}function RA(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="L"&&t[e+4]==="E"&&t[e+5]==="M"&&t[e+6]==="E"&&t[e+7]==="N"&&t[e+8]==="T"}function LA(t,e){return t[e+1]==="!"&&t[e+2]==="A"&&t[e+3]==="T"&&t[e+4]==="T"&&t[e+5]==="L"&&t[e+6]==="I"&&t[e+7]==="S"&&t[e+8]==="T"}function PA(t,e){return t[e+1]==="!"&&t[e+2]==="N"&&t[e+3]==="O"&&t[e+4]==="T"&&t[e+5]==="A"&&t[e+6]==="T"&&t[e+7]==="I"&&t[e+8]==="O"&&t[e+9]==="N"}function FA(t){if(CA.isName(t))return t;throw new Error("Invalid entity name ".concat(t))}lf.exports=MA});var df=re((qO,hf)=>{var DA=/^[-+]?0x[a-fA-F0-9]+$/,NA=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var UA={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function GA(t,e={}){if(e=Object.assign({},UA,e),!t||typeof t!="string")return t;let r=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(r))return t;if(e.hex&&DA.test(r))return Number.parseInt(r,16);{let n=NA.exec(r);if(n){let i=n[1],o=n[2],s=HA(n[3]),a=n[4]||n[6];if(!e.leadingZeros&&o.length>0&&i&&r[2]!==".")return t;if(!e.leadingZeros&&o.length>0&&!i&&r[1]!==".")return t;{let c=Number(r),u=""+c;return u.search(/[eE]/)!==-1||a?e.eNotation?c:t:r.indexOf(".")!==-1?u==="0"&&s===""||u===s||i&&u==="-"+s?c:t:o?s===u||i+s===u?c:t:r===u||r===i+u?c:t}}else return t}}function HA(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}hf.exports=GA});var gf=re((XO,mf)=>{"use strict";function pf(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Qt(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Qt=function(r){return typeof r}:Qt=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Qt(t)}function VA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var da=Ii(),An=cf(),zA=ff(),jA=df(),WO="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,da.nameRegexp),kA=function t(e){VA(this,t),this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=JA,this.parseXml=YA,this.parseTextData=qA,this.resolveNameSpace=WA,this.buildAttributesMap=KA,this.isItStopNode=e1,this.replaceEntitiesValue=QA,this.readStopNodeData=r1,this.saveTextToParentTag=$A,this.addChild=ZA};function JA(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function qA(t,e,r,n,i,o,s){if(t!==void 0&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){s||(t=this.replaceEntitiesValue(t));var a=this.options.tagValueProcessor(e,t,r,i,o);if(a==null)return t;if(Qt(a)!==Qt(t)||a!==t)return a;if(this.options.trimValues)return ha(t,this.options.parseTagValue,this.options.numberParseOptions);var c=t.trim();return c===t?ha(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function WA(t){if(this.options.removeNSPrefix){var e=t.split(":"),r=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=r+e[1])}return t}var XA=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function KA(t,e,r){if(!this.options.ignoreAttributes&&typeof t=="string"){for(var n=da.getAllMatches(t,XA),i=n.length,o={},s=0;s<i;s++){var a=this.resolveNameSpace(n[s][1]),c=n[s][4],u=this.options.attributeNamePrefix+a;if(a.length)if(this.options.transformAttributeName&&(u=this.options.transformAttributeName(u)),u==="__proto__"&&(u="#__proto__"),c!==void 0){this.options.trimValues&&(c=c.trim()),c=this.replaceEntitiesValue(c);var l=this.options.attributeValueProcessor(a,c,e);l==null?o[u]=c:Qt(l)!==Qt(c)||l!==c?o[u]=l:o[u]=ha(c,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(o[u]=!0)}if(!Object.keys(o).length)return;if(this.options.attributesGroupName){var f={};return f[this.options.attributesGroupName]=o,f}return o}}var YA=function(e){e=e.replace(/\r\n?/g,`
11
+ `);for(var r=new An("!xml"),n=r,i="",o="",s=0;s<e.length;s++){var a=e[s];if(a==="<")if(e[s+1]==="/"){var c=Zt(e,">",s,"Closing Tag is not closed."),u=e.substring(s+2,c).trim();if(this.options.removeNSPrefix){var l=u.indexOf(":");l!==-1&&(u=u.substr(l+1))}this.options.transformTagName&&(u=this.options.transformTagName(u)),n&&(i=this.saveTextToParentTag(i,n,o));var f=o.substring(o.lastIndexOf(".")+1);if(u&&this.options.unpairedTags.indexOf(u)!==-1)throw new Error("Unpaired tag can not be used as closing tag: </".concat(u,">"));var h=0;f&&this.options.unpairedTags.indexOf(f)!==-1?(h=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):h=o.lastIndexOf("."),o=o.substring(0,h),n=this.tagsNodeStack.pop(),i="",s=c}else if(e[s+1]==="?"){var d=fa(e,s,!1,"?>");if(!d)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,n,o),!(this.options.ignoreDeclaration&&d.tagName==="?xml"||this.options.ignorePiTags)){var p=new An(d.tagName);p.add(this.options.textNodeName,""),d.tagName!==d.tagExp&&d.attrExpPresent&&(p[":@"]=this.buildAttributesMap(d.tagExp,o,d.tagName)),this.addChild(n,p,o)}s=d.closeIndex+1}else if(e.substr(s+1,3)==="!--"){var g=Zt(e,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){var m=e.substring(s+4,g-2);i=this.saveTextToParentTag(i,n,o),n.add(this.options.commentPropName,[pf({},this.options.textNodeName,m)])}s=g}else if(e.substr(s+1,2)==="!D"){var A=zA(e,s);this.docTypeEntities=A.entities,s=A.i}else if(e.substr(s+1,2)==="!["){var _=Zt(e,"]]>",s,"CDATA is not closed.")-2,v=e.substring(s+9,_);if(i=this.saveTextToParentTag(i,n,o),this.options.cdataPropName)n.add(this.options.cdataPropName,[pf({},this.options.textNodeName,v)]);else{var x=this.parseTextData(v,n.tagname,o,!0,!1,!0);x==null&&(x=""),n.add(this.options.textNodeName,x)}s=_+2}else{var B=fa(e,s,this.options.removeNSPrefix),S=B.tagName,C=B.tagExp,E=B.attrExpPresent,b=B.closeIndex;this.options.transformTagName&&(S=this.options.transformTagName(S)),n&&i&&n.tagname!=="!xml"&&(i=this.saveTextToParentTag(i,n,o,!1));var y=n;if(y&&this.options.unpairedTags.indexOf(y.tagname)!==-1&&(n=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),S!==r.tagname&&(o+=o?"."+S:S),this.isItStopNode(this.options.stopNodes,o,S)){var M="";if(C.length>0&&C.lastIndexOf("/")===C.length-1)s=B.closeIndex;else if(this.options.unpairedTags.indexOf(S)!==-1)s=B.closeIndex;else{var I=this.readStopNodeData(e,S,b+1);if(!I)throw new Error("Unexpected end of ".concat(S));s=I.i,M=I.tagContent}var O=new An(S);S!==C&&E&&(O[":@"]=this.buildAttributesMap(C,o,S)),M&&(M=this.parseTextData(M,S,o,!0,E,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),O.add(this.options.textNodeName,M),this.addChild(n,O,o)}else{if(C.length>0&&C.lastIndexOf("/")===C.length-1){S[S.length-1]==="/"?(S=S.substr(0,S.length-1),o=o.substr(0,o.length-1),C=S):C=C.substr(0,C.length-1),this.options.transformTagName&&(S=this.options.transformTagName(S));var R=new An(S);S!==C&&E&&(R[":@"]=this.buildAttributesMap(C,o,S)),this.addChild(n,R,o),o=o.substr(0,o.lastIndexOf("."))}else{var F=new An(S);this.tagsNodeStack.push(n),S!==C&&E&&(F[":@"]=this.buildAttributesMap(C,o,S)),this.addChild(n,F,o),n=F}i="",s=b}}else i+=e[s]}return r.child};function ZA(t,e,r){var n=this.options.updateTag(e.tagname,r,e[":@"]);n===!1||(typeof n=="string"&&(e.tagname=n),t.addChild(e))}var QA=function(e){if(this.options.processEntities){for(var r in this.docTypeEntities){var n=this.docTypeEntities[r];e=e.replace(n.regx,n.val)}for(var i in this.lastEntities){var o=this.lastEntities[i];e=e.replace(o.regex,o.val)}if(this.options.htmlEntities)for(var s in this.htmlEntities){var a=this.htmlEntities[s];e=e.replace(a.regex,a.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function $A(t,e,r,n){return t&&(n===void 0&&(n=Object.keys(e.child).length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function e1(t,e,r){var n="*."+r;for(var i in t){var o=t[i];if(n===o||e===o)return!0}return!1}function t1(t,e){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:">",n,i="",o=e;o<t.length;o++){var s=t[o];if(n)s===n&&(n="");else if(s==='"'||s==="'")n=s;else if(s===r[0])if(r[1]){if(t[o+1]===r[1])return{data:i,index:o}}else return{data:i,index:o};else s===" "&&(s=" ");i+=s}}function Zt(t,e,r,n){var i=t.indexOf(e,r);if(i===-1)throw new Error(n);return i+e.length-1}function fa(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:">",i=t1(t,e+1,n);if(i){var o=i.data,s=i.index,a=o.search(/\s/),c=o,u=!0;if(a!==-1&&(c=o.substr(0,a).replace(/\s\s*$/,""),o=o.substr(a+1)),r){var l=c.indexOf(":");l!==-1&&(c=c.substr(l+1),u=c!==i.data.substr(l+1))}return{tagName:c,tagExp:o,closeIndex:s,attrExpPresent:u}}}function r1(t,e,r){for(var n=r,i=1;r<t.length;r++)if(t[r]==="<")if(t[r+1]==="/"){var o=Zt(t,">",r,"".concat(e," is not closed")),s=t.substring(r+2,o).trim();if(s===e&&(i--,i===0))return{tagContent:t.substring(n,r),i:o};r=o}else if(t[r+1]==="?"){var a=Zt(t,"?>",r+1,"StopNode is not closed.");r=a}else if(t.substr(r+1,3)==="!--"){var c=Zt(t,"-->",r+3,"StopNode is not closed.");r=c}else if(t.substr(r+1,2)==="!["){var u=Zt(t,"]]>",r,"StopNode is not closed.")-2;r=u}else{var l=fa(t,r,">");if(l){var f=l&&l.tagName;f===e&&l.tagExp[l.tagExp.length-1]!=="/"&&i++,r=l.closeIndex}}}function ha(t,e,r){if(e&&typeof t=="string"){var n=t.trim();return n==="true"?!0:n==="false"?!1:jA(t,r)}else return da.isExist(t)?t:""}mf.exports=kA});var _f=re(Af=>{"use strict";function n1(t,e){return yf(t,e)}function yf(t,e,r){for(var n,i={},o=0;o<t.length;o++){var s=t[o],a=i1(s),c="";if(r===void 0?c=a:c=r+"."+a,a===e.textNodeName)n===void 0?n=s[a]:n+=""+s[a];else{if(a===void 0)continue;if(s[a]){var u=yf(s[a],e,c),l=s1(u,e);s[":@"]?o1(u,s[":@"],c,e):Object.keys(u).length===1&&u[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?u=u[e.textNodeName]:Object.keys(u).length===0&&(e.alwaysCreateTextNode?u[e.textNodeName]="":u=""),i[a]!==void 0&&i.hasOwnProperty(a)?(Array.isArray(i[a])||(i[a]=[i[a]]),i[a].push(u)):e.isArray(a,c,l)?i[a]=[u]:i[a]=u}}}return typeof n=="string"?n.length>0&&(i[e.textNodeName]=n):n!==void 0&&(i[e.textNodeName]=n),i}function i1(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];if(n!==":@")return n}}function o1(t,e,r,n){if(e)for(var i=Object.keys(e),o=i.length,s=0;s<o;s++){var a=i[s];n.isArray(a,r+"."+a,!0,!0)?t[a]=[e[a]]:t[a]=e[a]}}function s1(t,e){var r=e.textNodeName,n=Object.keys(t).length;return!!(n===0||n===1&&(t[r]||typeof t[r]=="boolean"||t[r]===0))}Af.prettify=n1});var xf=re((YO,vf)=>{function a1(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var c1=sf(),u1=c1.buildOptions,l1=gf(),f1=_f(),h1=f1.prettify,d1=ua(),p1=function(){function t(r){a1(this,t),this.externalEntities={},this.options=u1(r)}var e=t.prototype;return e.parse=function(n,i){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(i){i===!0&&(i={});var o=d1.validate(n,i);if(o!==!0)throw Error("".concat(o.err.msg,":").concat(o.err.line,":").concat(o.err.col))}var s=new l1(this.options);s.addExternalEntities(this.externalEntities);var a=s.parseXml(n);return this.options.preserveOrder||a===void 0?a:h1(a,this.options)},e.addEntity=function(n,i){if(i.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(i==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=i},t}();vf.exports=p1});var Bf=re((ZO,Sf)=>{var m1=`
12
+ `;function g1(t,e){var r="";return e.format&&e.indentBy.length>0&&(r=m1),bf(t,e,"",r)}function bf(t,e,r,n){for(var i="",o=!1,s=0;s<t.length;s++){var a=t[s],c=y1(a),u="";if(r.length===0?u=c:u="".concat(r,".").concat(c),c===e.textNodeName){var l=a[c];A1(u,e)||(l=e.tagValueProcessor(c,l),l=Ef(l,e)),o&&(i+=n),i+=l,o=!1;continue}else if(c===e.cdataPropName){o&&(i+=n),i+="<![CDATA[".concat(a[c][0][e.textNodeName],"]]>"),o=!1;continue}else if(c===e.commentPropName){i+=n+"<!--".concat(a[c][0][e.textNodeName],"-->"),o=!0;continue}else if(c[0]==="?"){var f=Tf(a[":@"],e),h=c==="?xml"?"":n,d=a[c][0][e.textNodeName];d=d.length!==0?" "+d:"",i+=h+"<".concat(c).concat(d).concat(f,"?>"),o=!0;continue}var p=n;p!==""&&(p+=e.indentBy);var g=Tf(a[":@"],e),m=n+"<".concat(c).concat(g),A=bf(a[c],e,u,p);e.unpairedTags.indexOf(c)!==-1?e.suppressUnpairedNode?i+=m+">":i+=m+"/>":(!A||A.length===0)&&e.suppressEmptyNode?i+=m+"/>":A&&A.endsWith(">")?i+=m+">".concat(A).concat(n,"</").concat(c,">"):(i+=m+">",A&&n!==""&&(A.includes("/>")||A.includes("</"))?i+=n+e.indentBy+A+n:i+=A,i+="</".concat(c,">")),o=!0}return i}function y1(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];if(n!==":@")return n}}function Tf(t,e){var r="";if(t&&!e.ignoreAttributes)for(var n in t){var i=e.attributeValueProcessor(n,t[n]);i=Ef(i,e),i===!0&&e.suppressBooleanAttributes?r+=" ".concat(n.substr(e.attributeNamePrefix.length)):r+=" ".concat(n.substr(e.attributeNamePrefix.length),'="').concat(i,'"')}return r}function A1(t,e){t=t.substr(0,t.length-e.textNodeName.length-1);var r=t.substr(t.lastIndexOf(".")+1);for(var n in e.stopNodes)if(e.stopNodes[n]===t||e.stopNodes[n]==="*."+r)return!0;return!1}function Ef(t,e){if(t&&t.length>0&&e.processEntities)for(var r=0;r<e.entities.length;r++){var n=e.entities[r];t=t.replace(n.regex,n.val)}return t}Sf.exports=g1});var Mf=re((QO,Cf)=>{"use strict";function _n(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_n=function(r){return typeof r}:_n=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},_n(t)}function _1(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var v1=Bf(),x1={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,r){return r},attributeValueProcessor:function(e,r){return r},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Bt(t){this.options=Object.assign({},x1,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=E1),this.processTextOrObjNode=T1,this.options.format?(this.indentate=b1,this.tagEndChar=`>
13
13
  `,this.newLine=`
14
- `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Ot.prototype.build=function(t){return this.options.preserveOrder?jf(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t=Uf({},this.options.arrayNodeName,t)),this.j2x(t,0).val)};Ot.prototype.j2x=function(t,e){var r="",n="";for(var i in t)if(typeof t[i]>"u")this.isAttribute(i)&&(n+="");else if(t[i]===null)this.isAttribute(i)?n+="":i[0]==="?"?n+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+i+"/"+this.tagEndChar;else if(t[i]instanceof Date)n+=this.buildTextValNode(t[i],i,"",e);else if(be(t[i])!=="object"){var o=this.isAttribute(i);if(o)r+=this.buildAttrPairStr(o,""+t[i]);else if(i===this.options.textNodeName){var s=this.options.tagValueProcessor(i,""+t[i]);n+=this.replaceEntitiesValue(s)}else n+=this.buildTextValNode(t[i],i,"",e)}else if(Array.isArray(t[i])){for(var a=t[i].length,c="",l=0;l<a;l++){var u=t[i][l];typeof u>"u"||(u===null?i[0]==="?"?n+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+i+"/"+this.tagEndChar:be(u)==="object"?this.options.oneListGroup?c+=this.j2x(u,e+1).val:c+=this.processTextOrObjNode(u,i,e):c+=this.buildTextValNode(u,i,"",e))}this.options.oneListGroup&&(c=this.buildObjectNode(c,i,"",e)),n+=c}else if(this.options.attributesGroupName&&i===this.options.attributesGroupName)for(var f=Object.keys(t[i]),h=f.length,d=0;d<h;d++)r+=this.buildAttrPairStr(f[d],""+t[i][f[d]]);else n+=this.processTextOrObjNode(t[i],i,e);return{attrStr:r,val:n}};Ot.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function Wf(t,e,r){var n=this.j2x(t,r+1);return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,r):this.buildObjectNode(n.val,e,n.attrStr,r)}Ot.prototype.buildObjectNode=function(t,e,r,n){if(t==="")return e[0]==="?"?this.indentate(n)+"<"+e+r+"?"+this.tagEndChar:this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar;var i="</"+e+this.tagEndChar,o="";return e[0]==="?"&&(o="?",i=""),(r||r==="")&&t.indexOf("<")===-1?this.indentate(n)+"<"+e+r+o+">"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&o.length===0?this.indentate(n)+"<!--".concat(t,"-->")+this.newLine:this.indentate(n)+"<"+e+r+o+this.tagEndChar+t+this.indentate(n)+i};Ot.prototype.closeTag=function(t){var e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e="></".concat(t),e};Ot.prototype.buildTextValNode=function(t,e,r,n){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(n)+"<![CDATA[".concat(t,"]]>")+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(n)+"<!--".concat(t,"-->")+this.newLine;if(e[0]==="?")return this.indentate(n)+"<"+e+r+"?"+this.tagEndChar;var i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+r+">"+i+"</"+e+this.tagEndChar};Ot.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(var e=0;e<this.options.entities.length;e++){var r=this.options.entities[e];t=t.replace(r.regex,r.val)}return t};function Df(t){return this.options.indentBy.repeat(t)}function Gf(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}_s.exports=Ot});var Ms=Y((Rv,ws)=>{"use strict";var Zf=Un(),Xf=ps(),Yf=bs();ws.exports={XMLParser:Xf,XMLValidator:Zf,XMLBuilder:Yf}});var Vi=Y((rc,Re)=>{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof jo=="function"&&typeof Re=="object"&&Re&&Re.exports?Re.exports=e():(t.dcodeIO=t.dcodeIO||{}).Long=e()})(rc,function(){"use strict";function t(_,y,E){this.low=_|0,this.high=y|0,this.unsigned=!!E}t.prototype.__isLong__,Object.defineProperty(t.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});function e(_){return(_&&_.__isLong__)===!0}t.isLong=e;var r={},n={};function i(_,y){var E,A,L;return y?(_>>>=0,(L=0<=_&&_<256)&&(A=n[_],A)?A:(E=s(_,(_|0)<0?-1:0,!0),L&&(n[_]=E),E)):(_|=0,(L=-128<=_&&_<128)&&(A=r[_],A)?A:(E=s(_,_<0?-1:0,!1),L&&(r[_]=E),E))}t.fromInt=i;function o(_,y){if(isNaN(_)||!isFinite(_))return y?v:m;if(y){if(_<0)return v;if(_>=d)return S}else{if(_<=-p)return P;if(_+1>=p)return T}return _<0?o(-_,y).neg():s(_%h|0,_/h|0,y)}t.fromNumber=o;function s(_,y,E){return new t(_,y,E)}t.fromBits=s;var a=Math.pow;function c(_,y,E){if(_.length===0)throw Error("empty string");if(_==="NaN"||_==="Infinity"||_==="+Infinity"||_==="-Infinity")return m;if(typeof y=="number"?(E=y,y=!1):y=!!y,E=E||10,E<2||36<E)throw RangeError("radix");var A;if((A=_.indexOf("-"))>0)throw Error("interior hyphen");if(A===0)return c(_.substring(1),y,E).neg();for(var L=o(a(E,8)),I=m,R=0;R<_.length;R+=8){var U=Math.min(8,_.length-R),z=parseInt(_.substring(R,R+U),E);if(U<8){var D=o(a(E,U));I=I.mul(D).add(o(z))}else I=I.mul(L),I=I.add(o(z))}return I.unsigned=y,I}t.fromString=c;function l(_){return _ instanceof t?_:typeof _=="number"?o(_):typeof _=="string"?c(_):s(_.low,_.high,_.unsigned)}t.fromValue=l;var u=1<<16,f=1<<24,h=u*u,d=h*h,p=d/2,g=i(f),m=i(0);t.ZERO=m;var v=i(0,!0);t.UZERO=v;var w=i(1);t.ONE=w;var x=i(1,!0);t.UONE=x;var b=i(-1);t.NEG_ONE=b;var T=s(-1,2147483647,!1);t.MAX_VALUE=T;var S=s(-1,-1,!0);t.MAX_UNSIGNED_VALUE=S;var P=s(0,-2147483648,!1);t.MIN_VALUE=P;var M=t.prototype;return M.toInt=function(){return this.unsigned?this.low>>>0:this.low},M.toNumber=function(){return this.unsigned?(this.high>>>0)*h+(this.low>>>0):this.high*h+(this.low>>>0)},M.toString=function(y){if(y=y||10,y<2||36<y)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(P)){var E=o(y),A=this.div(E),L=A.mul(E).sub(this);return A.toString(y)+L.toInt().toString(y)}else return"-"+this.neg().toString(y);for(var I=o(a(y,6),this.unsigned),R=this,U="";;){var z=R.div(I),D=R.sub(z.mul(I)).toInt()>>>0,q=D.toString(y);if(R=z,R.isZero())return q+U;for(;q.length<6;)q="0"+q;U=""+q+U}},M.getHighBits=function(){return this.high},M.getHighBitsUnsigned=function(){return this.high>>>0},M.getLowBits=function(){return this.low},M.getLowBitsUnsigned=function(){return this.low>>>0},M.getNumBitsAbs=function(){if(this.isNegative())return this.eq(P)?64:this.neg().getNumBitsAbs();for(var y=this.high!=0?this.high:this.low,E=31;E>0&&!(y&1<<E);E--);return this.high!=0?E+33:E+1},M.isZero=function(){return this.high===0&&this.low===0},M.isNegative=function(){return!this.unsigned&&this.high<0},M.isPositive=function(){return this.unsigned||this.high>=0},M.isOdd=function(){return(this.low&1)===1},M.isEven=function(){return(this.low&1)===0},M.equals=function(y){return e(y)||(y=l(y)),this.unsigned!==y.unsigned&&this.high>>>31===1&&y.high>>>31===1?!1:this.high===y.high&&this.low===y.low},M.eq=M.equals,M.notEquals=function(y){return!this.eq(y)},M.neq=M.notEquals,M.lessThan=function(y){return this.comp(y)<0},M.lt=M.lessThan,M.lessThanOrEqual=function(y){return this.comp(y)<=0},M.lte=M.lessThanOrEqual,M.greaterThan=function(y){return this.comp(y)>0},M.gt=M.greaterThan,M.greaterThanOrEqual=function(y){return this.comp(y)>=0},M.gte=M.greaterThanOrEqual,M.compare=function(y){if(e(y)||(y=l(y)),this.eq(y))return 0;var E=this.isNegative(),A=y.isNegative();return E&&!A?-1:!E&&A?1:this.unsigned?y.high>>>0>this.high>>>0||y.high===this.high&&y.low>>>0>this.low>>>0?-1:1:this.sub(y).isNegative()?-1:1},M.comp=M.compare,M.negate=function(){return!this.unsigned&&this.eq(P)?P:this.not().add(w)},M.neg=M.negate,M.add=function(y){e(y)||(y=l(y));var E=this.high>>>16,A=this.high&65535,L=this.low>>>16,I=this.low&65535,R=y.high>>>16,U=y.high&65535,z=y.low>>>16,D=y.low&65535,q=0,X=0,$=0,xt=0;return xt+=I+D,$+=xt>>>16,xt&=65535,$+=L+z,X+=$>>>16,$&=65535,X+=A+U,q+=X>>>16,X&=65535,q+=E+R,q&=65535,s($<<16|xt,q<<16|X,this.unsigned)},M.subtract=function(y){return e(y)||(y=l(y)),this.add(y.neg())},M.sub=M.subtract,M.multiply=function(y){if(this.isZero()||(e(y)||(y=l(y)),y.isZero()))return m;if(this.eq(P))return y.isOdd()?P:m;if(y.eq(P))return this.isOdd()?P:m;if(this.isNegative())return y.isNegative()?this.neg().mul(y.neg()):this.neg().mul(y).neg();if(y.isNegative())return this.mul(y.neg()).neg();if(this.lt(g)&&y.lt(g))return o(this.toNumber()*y.toNumber(),this.unsigned);var E=this.high>>>16,A=this.high&65535,L=this.low>>>16,I=this.low&65535,R=y.high>>>16,U=y.high&65535,z=y.low>>>16,D=y.low&65535,q=0,X=0,$=0,xt=0;return xt+=I*D,$+=xt>>>16,xt&=65535,$+=L*D,X+=$>>>16,$&=65535,$+=I*z,X+=$>>>16,$&=65535,X+=A*D,q+=X>>>16,X&=65535,X+=L*z,q+=X>>>16,X&=65535,X+=I*U,q+=X>>>16,X&=65535,q+=E*D+A*z+L*U+I*R,q&=65535,s($<<16|xt,q<<16|X,this.unsigned)},M.mul=M.multiply,M.divide=function(y){if(e(y)||(y=l(y)),y.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?v:m;var E,A,L;if(this.unsigned){if(y.unsigned||(y=y.toUnsigned()),y.gt(this))return v;if(y.gt(this.shru(1)))return x;L=v}else{if(this.eq(P)){if(y.eq(w)||y.eq(b))return P;if(y.eq(P))return w;var I=this.shr(1);return E=I.div(y).shl(1),E.eq(m)?y.isNegative()?w:b:(A=this.sub(y.mul(E)),L=E.add(A.div(y)),L)}else if(y.eq(P))return this.unsigned?v:m;if(this.isNegative())return y.isNegative()?this.neg().div(y.neg()):this.neg().div(y).neg();if(y.isNegative())return this.div(y.neg()).neg();L=m}for(A=this;A.gte(y);){E=Math.max(1,Math.floor(A.toNumber()/y.toNumber()));for(var R=Math.ceil(Math.log(E)/Math.LN2),U=R<=48?1:a(2,R-48),z=o(E),D=z.mul(y);D.isNegative()||D.gt(A);)E-=U,z=o(E,this.unsigned),D=z.mul(y);z.isZero()&&(z=w),L=L.add(z),A=A.sub(D)}return L},M.div=M.divide,M.modulo=function(y){return e(y)||(y=l(y)),this.sub(this.div(y).mul(y))},M.mod=M.modulo,M.not=function(){return s(~this.low,~this.high,this.unsigned)},M.and=function(y){return e(y)||(y=l(y)),s(this.low&y.low,this.high&y.high,this.unsigned)},M.or=function(y){return e(y)||(y=l(y)),s(this.low|y.low,this.high|y.high,this.unsigned)},M.xor=function(y){return e(y)||(y=l(y)),s(this.low^y.low,this.high^y.high,this.unsigned)},M.shiftLeft=function(y){return e(y)&&(y=y.toInt()),(y&=63)===0?this:y<32?s(this.low<<y,this.high<<y|this.low>>>32-y,this.unsigned):s(0,this.low<<y-32,this.unsigned)},M.shl=M.shiftLeft,M.shiftRight=function(y){return e(y)&&(y=y.toInt()),(y&=63)===0?this:y<32?s(this.low>>>y|this.high<<32-y,this.high>>y,this.unsigned):s(this.high>>y-32,this.high>=0?0:-1,this.unsigned)},M.shr=M.shiftRight,M.shiftRightUnsigned=function(y){if(e(y)&&(y=y.toInt()),y&=63,y===0)return this;var E=this.high;if(y<32){var A=this.low;return s(A>>>y|E<<32-y,E>>>y,this.unsigned)}else return y===32?s(E,0,this.unsigned):s(E>>>y-32,0,this.unsigned)},M.shru=M.shiftRightUnsigned,M.toSigned=function(){return this.unsigned?s(this.low,this.high,!1):this},M.toUnsigned=function(){return this.unsigned?this:s(this.low,this.high,!0)},M.toBytes=function(_){return _?this.toBytesLE():this.toBytesBE()},M.toBytesLE=function(){var _=this.high,y=this.low;return[y&255,y>>>8&255,y>>>16&255,y>>>24&255,_&255,_>>>8&255,_>>>16&255,_>>>24&255]},M.toBytesBE=function(){var _=this.high,y=this.low;return[_>>>24&255,_>>>16&255,_>>>8&255,_&255,y>>>24&255,y>>>16&255,y>>>8&255,y&255]},t})});var on=Y((sS,tl)=>{tl.exports=globalThis.h3||{}});var ml=Y((mS,pl)=>{pl.exports=globalThis.deck});var El=Y(($S,Pl)=>{Pl.exports=globalThis.deck});var Bl=Y(Po=>{Po.read=function(t,e,r,n,i){var o,s,a=i*8-n-1,c=(1<<a)-1,l=c>>1,u=-7,f=r?i-1:0,h=r?-1:1,d=t[e+f];for(f+=h,o=d&(1<<-u)-1,d>>=-u,u+=a;u>0;o=o*256+t[e+f],f+=h,u-=8);for(s=o&(1<<-u)-1,o>>=-u,u+=n;u>0;s=s*256+t[e+f],f+=h,u-=8);if(o===0)o=1-l;else{if(o===c)return s?NaN:(d?-1:1)*(1/0);s=s+Math.pow(2,n),o=o-l}return(d?-1:1)*s*Math.pow(2,o-n)};Po.write=function(t,e,r,n,i,o){var s,a,c,l=o*8-i-1,u=(1<<l)-1,f=u>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,p=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=u):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),s+f>=1?e+=h/c:e+=h*Math.pow(2,1-f),e*c>=2&&(s++,c/=2),s+f>=u?(a=0,s=u):s+f>=1?(a=(e*c-1)*Math.pow(2,i),s=s+f):(a=e*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;t[r+d]=a&255,d+=p,a/=256,i-=8);for(s=s<<i|a,l+=i;l>0;t[r+d]=s&255,d+=p,s/=256,l-=8);t[r+d-p]|=g*128}});var Wl=Y((qT,Vl)=>{"use strict";Vl.exports=C;var En=Bl();function C(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}C.Varint=0;C.Fixed64=1;C.Bytes=2;C.Fixed32=5;var Eo=(1<<16)*(1<<16),kl=1/Eo,jy=12,jl=typeof TextDecoder>"u"?null:new TextDecoder("utf8");C.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,o=this.pos;this.type=n&7,t(i,e,this),this.pos===o&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=On(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Ul(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=On(this.buf,this.pos)+On(this.buf,this.pos+4)*Eo;return this.pos+=8,t},readSFixed64:function(){var t=On(this.buf,this.pos)+Ul(this.buf,this.pos+4)*Eo;return this.pos+=8,t},readFloat:function(){var t=En.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=En.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e=this.buf,r,n;return n=e[this.pos++],r=n&127,n<128||(n=e[this.pos++],r|=(n&127)<<7,n<128)||(n=e[this.pos++],r|=(n&127)<<14,n<128)||(n=e[this.pos++],r|=(n&127)<<21,n<128)?r:(n=e[this.pos],r|=(n&15)<<28,Vy(r,t,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2===1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=jy&&jl?r1(this.buf,e,t):e1(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==C.Bytes)return t.push(this.readVarint(e));var r=Pt(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==C.Bytes)return t.push(this.readSVarint());var e=Pt(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==C.Bytes)return t.push(this.readBoolean());var e=Pt(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==C.Bytes)return t.push(this.readFloat());var e=Pt(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==C.Bytes)return t.push(this.readDouble());var e=Pt(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==C.Bytes)return t.push(this.readFixed32());var e=Pt(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==C.Bytes)return t.push(this.readSFixed32());var e=Pt(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==C.Bytes)return t.push(this.readFixed64());var e=Pt(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==C.Bytes)return t.push(this.readSFixed64());var e=Pt(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=t&7;if(e===C.Varint)for(;this.buf[this.pos++]>127;);else if(e===C.Bytes)this.pos=this.readVarint()+this.pos;else if(e===C.Fixed32)this.pos+=4;else if(e===C.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+e)},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),ve(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),ve(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),ve(this.buf,t&-1,this.pos),ve(this.buf,Math.floor(t*kl),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),ve(this.buf,t&-1,this.pos),ve(this.buf,Math.floor(t*kl),this.pos+4),this.pos+=8},writeVarint:function(t){if(t=+t||0,t>268435455||t<0){Wy(t,this);return}this.realloc(4),this.buf[this.pos++]=t&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=t>>>7&127)))},writeSVarint:function(t){this.writeVarint(t<0?-t*2-1:t*2)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(t.length*4),this.pos++;var e=this.pos;this.pos=n1(this.buf,t,this.pos);var r=this.pos-e;r>=128&&ql(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),En.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),En.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&ql(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,C.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Zy,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Xy,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,$y,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Yy,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Hy,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Qy,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Ky,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Jy,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,t1,e)},writeBytesField:function(t,e){this.writeTag(t,C.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,C.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,C.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,C.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,C.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,C.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,C.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,C.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,C.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,C.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Vy(t,e,r){var n=r.buf,i,o;if(o=n[r.pos++],i=(o&112)>>4,o<128||(o=n[r.pos++],i|=(o&127)<<3,o<128)||(o=n[r.pos++],i|=(o&127)<<10,o<128)||(o=n[r.pos++],i|=(o&127)<<17,o<128)||(o=n[r.pos++],i|=(o&127)<<24,o<128)||(o=n[r.pos++],i|=(o&1)<<31,o<128))return ye(t,i,e);throw new Error("Expected varint not more than 10 bytes")}function Pt(t){return t.type===C.Bytes?t.readVarint()+t.pos:t.pos+1}function ye(t,e,r){return r?e*4294967296+(t>>>0):(e>>>0)*4294967296+(t>>>0)}function Wy(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(r=~(-t%4294967296),n=~(-t/4294967296),r^4294967295?r=r+1|0:(r=0,n=n+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),Dy(r,n,e),Gy(n,e)}function Dy(t,e,r){r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos]=t&127}function Gy(t,e){var r=(t&7)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127)))))}function ql(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(Math.LN2*7));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function Zy(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function Xy(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function Yy(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function Hy(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function $y(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function Qy(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function Ky(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function Jy(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function t1(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function On(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216}function ve(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Ul(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function e1(t,e,r){for(var n="",i=e;i<r;){var o=t[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a>r)break;var c,l,u;a===1?o<128&&(s=o):a===2?(c=t[i+1],(c&192)===128&&(s=(o&31)<<6|c&63,s<=127&&(s=null))):a===3?(c=t[i+1],l=t[i+2],(c&192)===128&&(l&192)===128&&(s=(o&15)<<12|(c&63)<<6|l&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):a===4&&(c=t[i+1],l=t[i+2],u=t[i+3],(c&192)===128&&(l&192)===128&&(u&192)===128&&(s=(o&15)<<18|(c&63)<<12|(l&63)<<6|u&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,a=1):s>65535&&(s-=65536,n+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),n+=String.fromCharCode(s),i+=a}return n}function r1(t,e,r){return jl.decode(t.subarray(e,r))}function n1(t,e,r){for(var n=0,i,o;n<e.length;n++){if(i=e.charCodeAt(n),i>55295&&i<57344)if(o)if(i<56320){t[r++]=239,t[r++]=191,t[r++]=189,o=i;continue}else i=o-55296<<10|i-56320|65536,o=null;else{i>56319||n+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):o=i;continue}else o&&(t[r++]=239,t[r++]=191,t[r++]=189,o=null);i<128?t[r++]=i:(i<2048?t[r++]=i>>6|192:(i<65536?t[r++]=i>>12|224:(t[r++]=i>>18|240,t[r++]=i>>12&63|128),t[r++]=i>>6&63|128),t[r++]=i&63|128)}return r}});var ir={};kn(ir,{GeohashLayer:()=>Bn,GreatCircleLayer:()=>Nr,H3ClusterLayer:()=>hn,H3HexagonLayer:()=>Xt,MVTLayer:()=>Nn,QuadkeyLayer:()=>Wr,S2Layer:()=>Ur,TerrainLayer:()=>_n,TileLayer:()=>Tt,TripsLayer:()=>nn,_GeoCellLayer:()=>nt,_Tile2DHeader:()=>Fe,_Tileset2D:()=>ke,_WMSLayer:()=>Lr,_getURLFromTemplate:()=>yt});var lt={},Wo=B(ct());Et(lt,B(ct()));if(!Wo.GeoJsonLayer)throw new Error("@deck.gl/layers is not found");Et(ir,lt);var Gt=B(ut()),Ka=B(ct());function Tu(t){return typeof t=="string"?t.charAt(0).toLowerCase()+t.slice(1):t}function ar(t){if(Array.isArray(t))return t.map(e=>ar(e));if(t&&typeof t=="object"){let e={};for(let[r,n]of Object.entries(t))e[Tu(r)]=ar(n);return e}return t}var Ss=B(Ms(),1);function Gn(t,e){if(e!=null&&e._parser&&e._parser!=="fast-xml-parser")throw new Error(e?._parser);let r={allowBooleanAttributes:!0,ignoreDeclaration:!0,removeNSPrefix:e?.removeNSPrefix,textNodeName:e?.textNodeName,isArray:(i,o,s,a)=>{var c;return Boolean(e==null||(c=e.arrayPaths)===null||c===void 0?void 0:c.some(u=>o===u))},...e?._fastXML},n=Hf(t,r);return e!=null&&e.uncapitalizeKeys?ar(n):n}function Hf(t,e){return new Ss.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",...e}).parse(t)}var $f=typeof __VERSION__<"u"?__VERSION__:"latest",K={name:"XML",id:"xml",module:"xml",version:$f,worker:!1,extensions:["xml"],mimeTypes:["application/xml","text/xml"],testText:Qf,options:{xml:{_parser:"fast-xml-parser",uncapitalizeKeys:!1,removeNSPrefix:!1,textNodeName:"value",arrayPaths:[]}},parse:async(t,e)=>Gn(new TextDecoder().decode(t),{...K.options.xml,...e?.xml}),parseTextSync:(t,e)=>Gn(t,{...K.options.xml,...e?.xml})};function Qf(t){return t.startsWith("<?xml")}async function Zn(t,e,r,n){return n._parse(t,e,r,n)}function we(t,e){if(!t)throw new Error(e||"loader assertion failed.")}var ft={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Kf=ft.self||ft.window||ft.global||{},Jf=ft.window||ft.self||ft.global||{},th=ft.global||ft.self||ft.window||{},eh=ft.document||{};var Xn=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Ts=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),rh=Ts&&parseFloat(Ts[1])||0;function Yn(t,e){return Ps(t||{},e)}function Ps(t,e){let r={...t};for(let[n,i]of Object.entries(e))i&&typeof i=="object"&&!Array.isArray(i)?r[n]=Ps(r[n]||{},e[n]):r[n]=e[n];return r}function Me(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];let n=e,i=n&&n.length>1&&n[0].constructor||null;if(!i)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let o=n.reduce((c,l)=>c+l.length,0),s=new i(o),a=0;for(let c of n)s.set(c,a),a+=c.length;return s}function Se(){let t;if(typeof window<"u"&&window.performance)t=window.performance.now();else if(typeof process<"u"&&process.hrtime){let e=process.hrtime();t=e[0]*1e3+e[1]/1e6}else t=Date.now();return t}var jt=class{constructor(e,r){this.name=void 0,this.type=void 0,this.sampleSize=1,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.name=e,this.type=r,this.reset()}reset(){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}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Se(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Se()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){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)}};var te=class{constructor(e){this.id=void 0,this.stats={},this.id=e.id,this.stats={},this._initializeStats(e.stats),Object.seal(this)}get(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:e,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let e of Object.values(this.stats))e.reset();return this}forEach(e){for(let r of Object.values(this.stats))e(r)}getTable(){let e={};return this.forEach(r=>{e[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),e}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(e){let{name:r,type:n}=e,i=this.stats[r];return i||(e instanceof jt?i=e:i=new jt(r,n),this.stats[r]=i),i}};var nh="Queued Requests",ih="Active Requests",oh="Cancelled Requests",sh="Queued Requests Ever",ah="Active Requests Ever",ch={id:"request-scheduler",throttleRequests:!0,maxRequests:6},ee=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.props=void 0,this.stats=void 0,this.activeRequestCount=0,this.requestQueue=[],this.requestMap=new Map,this.deferredUpdate=null,this.props={...ch,...e},this.stats=new te({id:this.props.id}),this.stats.get(nh),this.stats.get(ih),this.stats.get(oh),this.stats.get(sh),this.stats.get(ah)}scheduleRequest(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:()=>0;if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(e))return this.requestMap.get(e);let n={handle:e,priority:0,getPriority:r},i=new Promise(o=>(n.resolve=o,n));return this.requestQueue.push(n),this.requestMap.set(e,i),this._issueNewRequests(),i}_issueRequest(e){let{handle:r,resolve:n}=e,i=!1,o=()=>{i||(i=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,n?n({done:o}):Promise.resolve({done:o})}_issueNewRequests(){this.deferredUpdate||(this.deferredUpdate=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequestsAsync(){this.deferredUpdate=null;let e=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(e!==0){this._updateAllRequests();for(let r=0;r<e;++r){let n=this.requestQueue.shift();n&&this._issueRequest(n)}}}_updateAllRequests(){let e=this.requestQueue;for(let r=0;r<e.length;++r){let n=e[r];this._updateRequest(n)||(e.splice(r,1),this.requestMap.delete(n.handle),r--)}e.sort((r,n)=>r.priority-n.priority)}_updateRequest(e){return e.priority=e.getPriority(e.handle),e.priority<0?(e.resolve(null),!1):!0}};var ur=class{constructor(e){this.data=void 0,this.fetch=void 0,this.loadOptions=void 0,this._needsRefresh=!0,this.props=void 0,this.props={...e},this.loadOptions={...e.loadOptions},this.fetch=lh(this.loadOptions)}setProps(e){this.props=Object.assign(this.props,e),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,r=this._needsRefresh;return e&&(this._needsRefresh=!1),r}};function lh(t){let e=t?.fetch;if(e&&typeof e=="function")return(n,i)=>e(n,i);let r=t?.fetch;return r&&typeof r!="function"?n=>fetch(n,r):n=>fetch(n)}var rt=class extends ur{};rt.type="template";rt.testURL=t=>!1;function Es(t,e){var r,n,i;let o=(r=K.parseTextSync)===null||r===void 0?void 0:r.call(K,t,e),s=(o==null||(n=o.ServiceExceptionReport)===null||n===void 0?void 0:n.ServiceException)||(o==null||(i=o["ogc:ServiceExceptionReport"])===null||i===void 0?void 0:i["ogc:ServiceException"]);return typeof s=="string"?s:s.value||s.code||"Unknown error"}var uh=typeof __VERSION__<"u"?__VERSION__:"latest",Vt={id:"wms-error",name:"WMS Error",module:"wms",version:uh,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.se_xml","application/xml","text/xml"],testText:fh,options:{wms:{throwOnError:!1}},parse:async(t,e)=>Hn(new TextDecoder().decode(t),e),parseSync:(t,e)=>Hn(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>Hn(t,e)};function fh(t){return t.startsWith("<?xml")}function Hn(t,e){let r={...Vt.options.wms,...e?.wms},n=Es(t,r),i=r.minimalErrors?n:`WMS Service error: ${n}`;if(r.throwOnError)throw new Error(i);return i}function Wt(t){return Array.isArray(t)?t:t?[t]:[]}function Te(t){let e=Wt(t);return e.length>0&&e.every(r=>typeof r=="string")?e:[]}function Pe(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseFloat(t);default:return}}function fr(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseInt(t,10);default:return}}function Dt(t){switch(t){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1;default:return!1}}function $n(t,e){var r;let n=(r=K.parseTextSync)===null||r===void 0?void 0:r.call(K,t,e),i=n.WMT_MS_Capabilities||n.WMS_Capabilities||n,o=hh(i);if(e!=null&&e.inheritedLayerProps)for(let s of o.layers)Is(s,null);return e!=null&&e.includeRawJSON&&(o.json=i),e!=null&&e.includeXMLText&&(o.xml=t),o}function hh(t){var e,r,n,i,o,s,a,c,l,u,f,h,d,p,g,m;let v={version:String(t.version||""),name:String(((e=t.Service)===null||e===void 0?void 0:e.Name)||"unnamed"),title:(r=t.Service)!==null&&r!==void 0&&r.Title?String((n=t.Service)===null||n===void 0?void 0:n.Title):void 0,abstract:(i=t.Service)!==null&&i!==void 0&&i.Abstract?String((o=t.Service)===null||o===void 0?void 0:o.Abstract):void 0,keywords:Te((s=t.Service)===null||s===void 0||(a=s.KeywordList)===null||a===void 0?void 0:a.Keyword),fees:(c=t.Service)!==null&&c!==void 0&&c.Fees?JSON.stringify((l=t.Service)===null||l===void 0?void 0:l.Fees):void 0,accessConstraints:(u=t.Service)!==null&&u!==void 0&&u.AccessConstraints?JSON.stringify((f=t.Service)===null||f===void 0?void 0:f.AccessConstraints):void 0,layerLimit:fr((h=t.Service)===null||h===void 0?void 0:h.LayerLimit),maxWidth:fr((d=t.Service)===null||d===void 0?void 0:d.maxWidth),maxHeight:fr((p=t.Service)===null||p===void 0?void 0:p.maxHeight),layers:[],requests:dh((g=t.Capability)===null||g===void 0?void 0:g.Request),exceptions:ph(t.Exception)},w=Wt((m=t.Capability)===null||m===void 0?void 0:m.Layer);for(let x of w)v.layers.push(Os(x));for(let[x,b]of Object.entries(v))b===void 0&&delete v[x];return v}function dh(t){let e={};for(let[r,n]of Object.entries(t||{})){let i=Te(n?.Format);e[r]={mimeTypes:i}}return e}function ph(t){if(Wt(t?.Format).length>0)return{mimeTypes:Te(t)}}function Os(t){var e;let r={title:String(t?.Title||""),name:t?.Name&&String(t?.Name),abstract:t?.Name&&String(t?.Abstract),keywords:Te((e=t.KeywordList)===null||e===void 0?void 0:e.Keyword)},n=t?.CRS||t?.SRS;n&&Array.isArray(n)&&n.every(u=>typeof u=="string")&&(r.crs=n);let i=t?.EX_GeographicBoundingBox&&mh(t?.EX_GeographicBoundingBox);i&&(r.geographicBoundingBox=i),i=t?.LatLonBoundingBox&&gh(t?.LatLonBoundingBox),i&&(r.geographicBoundingBox=i);let o=t?.BoundingBox&&yh(t?.BoundingBox);o&&o.length>0&&(r.boundingBoxes=o);let a=Wt(t?.Dimension).map(u=>xh(u));a.length&&(r.dimensions=a),t!=null&&t.opaque&&(r.opaque=Dt(t?.opaque)),t!=null&&t.cascaded&&(r.cascaded=Dt(t?.cascaded)),t!=null&&t.queryable&&(r.queryable=Dt(t?.queryable));let c=Wt(t?.Layer),l=[];for(let u of c)l.push(Os(u));l.length>0&&(r.layers=l);for(let[u,f]of Object.entries(r))f===void 0&&delete r[u];return r}function mh(t){let{westBoundLongitude:e,northBoundLatitude:r,eastBoundLongitude:n,southBoundLatitude:i}=t;return[[e,i],[n,r]]}function gh(t){let{minx:e,miny:r,maxx:n,maxy:i}=t;return[[e,r],[n,i]]}function yh(t){return Wt(t).map(r=>vh(r))}function vh(t){let{CRS:e,SRS:r,minx:n,miny:i,maxx:o,maxy:s,resx:a,resy:c}=t,l={crs:e||r,boundingBox:[[Pe(n),Pe(i)],[Pe(o),Pe(s)]]};return a&&(l.xResolution=a),c&&(l.yResolution=c),l}function xh(t){let{name:e,units:r,value:n}=t,i={name:e,units:r,extent:n};return t.unitSymbol&&(i.unitSymbol=t.unitSymbol),t.default&&(i.defaultValue=t.default),t.multipleValues&&(i.multipleValues=Dt(t.multipleValues)),t.nearestValue&&(i.nearestValue=Dt(t.nearestValue)),t.current&&(i.current=Dt(t.current)),i}function Is(t,e){e!=null&&e.geographicBoundingBox&&!t.geographicBoundingBox&&(t.geographicBoundingBox=[...e.geographicBoundingBox]),e!=null&&e.crs&&!t.crs&&(t.crs=[...e.crs]),e!=null&&e.boundingBoxes&&!t.boundingBoxes&&(t.boundingBoxes=[...e.boundingBoxes]),e!=null&&e.dimensions&&!t.dimensions&&(t.dimensions=[...e.dimensions]);for(let r of t.layers||[])Is(r,t)}var _h=typeof __VERSION__<"u"?__VERSION__:"latest",re={id:"wms-capabilities",name:"WMS Capabilities",module:"wms",version:_h,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.wms_xml","application/xml","text/xml"],testText:bh,options:{wms:{}},parse:async(t,e)=>$n(new TextDecoder().decode(t),e?.wms),parseTextSync:(t,e)=>$n(t,e?.wms)};function bh(t){return t.startsWith("<?xml")}function Qn(t,e){var r,n;let o=((n=((r=K.parseTextSync)===null||r===void 0?void 0:r.call(K,t,e)).FeatureInfoResponse)===null||n===void 0?void 0:n.FIELDS)||[];return{features:(Array.isArray(o)?o:[o]).map(a=>wh(a))}}function wh(t){return{attributes:t||{},type:"",bounds:{bottom:0,top:0,left:0,right:0}}}var As={...re,id:"wms-feature-info",name:"WMS FeatureInfo",parse:async(t,e)=>Qn(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>Qn(t,e)};function Kn(t,e){var r;return(r=K.parseTextSync)===null||r===void 0?void 0:r.call(K,t,e)}var Ls={...re,id:"wms-layer-description",name:"WMS DescribeLayer",parse:async(t,e)=>Kn(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>Kn(t,e)};function Rs(t,e){let{type:r="auto"}=t,n=r==="auto"?Sh(t.url,e):Mh(r,e);if(!n)throw new Error("Not a valid image source type");return n.create(t)}function Mh(t,e){for(let r of e)if(r.type===t)return r;return null}function Sh(t,e){for(let r of e)if(r.testURL&&r.testURL(t))return r;return null}var Fs=typeof __VERSION__<"u"?__VERSION__:"latest";var Jn,Th=(Jn=globalThis.loaders)===null||Jn===void 0?void 0:Jn.parseImageNode,ti=typeof Image<"u",ei=typeof ImageBitmap<"u",Ph=Boolean(Th),ri=Xn?!0:Ph;function Ns(t){switch(t){case"auto":return ei||ti||ri;case"imagebitmap":return ei;case"image":return ti;case"data":return ri;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}function Cs(){if(ei)return"imagebitmap";if(ti)return"image";if(ri)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Eh(t){let e=Oh(t);if(!e)throw new Error("Not an image");return e}function zs(t){switch(Eh(t)){case"data":return t;case"image":case"imagebitmap":let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("getImageData");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0),r.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}function Oh(t){return typeof ImageBitmap<"u"&&t instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&t instanceof Image?"image":t&&typeof t=="object"&&t.data&&t.width&&t.height?"data":null}var Ih=/^data:image\/svg\+xml/,Ah=/\.svg((\?|#).*)?$/;function hr(t){return t&&(Ih.test(t)||Ah.test(t))}function Bs(t,e){if(hr(e)){let n=new TextDecoder().decode(t);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return ni(t,e)}function ni(t,e){if(hr(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}async function dr(t,e,r){let n=Bs(t,r),i=self.URL||self.webkitURL,o=typeof n!="string"&&i.createObjectURL(n);try{return await Lh(o||n,e)}finally{o&&i.revokeObjectURL(o)}}async function Lh(t,e){let r=new Image;return r.src=t,e.image&&e.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,i)=>{try{r.onload=()=>n(r),r.onerror=o=>{let s=o instanceof Error?o.message:"error";i(new Error(s))}}catch(o){i(o)}})}var Rh={},ks=!0;async function qs(t,e,r){let n;hr(r)?n=await dr(t,e,r):n=ni(t,r);let i=e&&e.imagebitmap;return await Fh(n,i)}async function Fh(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((Nh(e)||!ks)&&(e=null),e)try{return await createImageBitmap(t,e)}catch(r){console.warn(r),ks=!1}return await createImageBitmap(t)}function Nh(t){for(let e in t||Rh)return!1;return!0}function Us(t){return!kh(t,"ftyp",4)||!(t[8]&96)?null:Ch(t)}function Ch(t){switch(zh(t,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function zh(t,e,r){return String.fromCharCode(...t.slice(e,r))}function Bh(t){return[...t].map(e=>e.charCodeAt(0))}function kh(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=Bh(e);for(let i=0;i<n.length;++i)if(n[i]!==t[i+r])return!1;return!0}var ht=!1,Ee=!0;function pr(t){let e=Oe(t);return Uh(e)||Wh(e)||jh(e)||Vh(e)||qh(e)}function qh(t){let e=new Uint8Array(t instanceof DataView?t.buffer:t),r=Us(e);return r?{mimeType:r.mimeType,width:0,height:0}:null}function Uh(t){let e=Oe(t);return e.byteLength>=24&&e.getUint32(0,ht)===2303741511?{mimeType:"image/png",width:e.getUint32(16,ht),height:e.getUint32(20,ht)}:null}function jh(t){let e=Oe(t);return e.byteLength>=10&&e.getUint32(0,ht)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,Ee),height:e.getUint16(8,Ee)}:null}function Vh(t){let e=Oe(t);return e.byteLength>=14&&e.getUint16(0,ht)===16973&&e.getUint32(2,Ee)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Ee),height:e.getUint32(22,Ee)}:null}function Wh(t){let e=Oe(t);if(!(e.byteLength>=3&&e.getUint16(0,ht)===65496&&e.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=Dh(),o=2;for(;o+9<e.byteLength;){let s=e.getUint16(o,ht);if(i.has(s))return{mimeType:"image/jpeg",height:e.getUint16(o+5,ht),width:e.getUint16(o+7,ht)};if(!n.has(s))return null;o+=2,o+=e.getUint16(o,ht)}return null}function Dh(){let t=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)t.add(r);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Oe(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}async function js(t,e){var r;let{mimeType:n}=pr(t)||{},i=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return we(i),await i(t,n)}async function Vs(t,e,r){e=e||{};let i=(e.image||{}).type||"auto",{url:o}=r||{},s=Gh(i),a;switch(s){case"imagebitmap":a=await qs(t,e,o);break;case"image":a=await dr(t,e,o);break;case"data":a=await js(t,e);break;default:we(!1)}return i==="data"&&(a=zs(a)),a}function Gh(t){switch(t){case"auto":case"data":return Cs();default:return Ns(t),t}}var Zh=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],Xh=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Yh={image:{type:"auto",decode:!0}},ne={id:"image",module:"images",name:"Images",version:Fs,mimeTypes:Xh,extensions:Zh,parse:Vs,tests:[t=>Boolean(pr(new DataView(t)))],options:Yh};var Ws={type:"wms",testURL:t=>t.toLowerCase().includes("wms"),create:t=>new ii(t)},ii=class extends rt{constructor(e){var r;super(e),this.url=void 0,this.data=void 0,this.substituteCRS84=void 0,this.flipCRS=void 0,this.wmsParameters=void 0,this.vendorParameters=void 0,this.capabilities=null,this.url=e.url,this.data=e.url,this.substituteCRS84=(r=e.substituteCRS84)!==null&&r!==void 0?r:!1,this.flipCRS=["EPSG:4326"],this.wmsParameters={layers:void 0,query_layers:void 0,styles:void 0,version:"1.3.0",crs:"EPSG:4326",format:"image/png",info_format:"text/plain",transparent:void 0,time:void 0,elevation:void 0,...e.wmsParameters},this.vendorParameters=e.vendorParameters||{}}async getMetadata(){let e=await this.getCapabilities();return this.normalizeMetadata(e)}async getImage(e){return await this.getMap(e)}normalizeMetadata(e){return e}async getCapabilities(e,r){let n=this.getCapabilitiesURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);let s=await re.parse(o,this.loadOptions);return this.capabilities=s,s}async getMap(e,r){let n=this.getMapURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);try{return await ne.parse(o,this.loadOptions)}catch{throw this._parseError(o)}}async getFeatureInfo(e,r){let n=this.getFeatureInfoURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),await As.parse(o,this.loadOptions)}async getFeatureInfoText(e,r){let n=this.getFeatureInfoURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),new TextDecoder().decode(o)}async describeLayer(e,r){let n=this.describeLayerURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),await Ls.parse(o,this.loadOptions)}async getLegendGraphic(e,r){let n=this.getLegendGraphicURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);try{return await ne.parse(o,this.loadOptions)}catch{throw this._parseError(o)}}getCapabilitiesURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetCapabilities",n,r)}getMapURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,format:this.wmsParameters.format,transparent:this.wmsParameters.transparent,time:this.wmsParameters.time,elevation:this.wmsParameters.elevation,layers:this.wmsParameters.layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetMap",n,r)}getFeatureInfoURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,info_format:this.wmsParameters.info_format,layers:this.wmsParameters.layers,query_layers:this.wmsParameters.query_layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetFeatureInfo",n,r)}describeLayerURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("DescribeLayer",n,r)}getLegendGraphicURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetLegendGraphic",n,r)}_parseWMSUrl(e){let[r,n]=e.split("?"),i=n.split("&"),o={};for(let s of i){let[a,c]=s.split("=");o[a]=c}return{url:r,parameters:o}}_getWMSUrl(e,r,n){let i=this.url,o=!0,s={service:"WMS",version:r.version,request:e,...r,...this.vendorParameters,...n},a=["transparent","time","elevation"];for(let[c,l]of Object.entries(s))(!a.includes(c)||l)&&(i+=o?"?":"&",o=!1,i+=this._getURLParameter(c,l,r));return encodeURI(i)}_getWMS130Parameters(e){let r={...e};return r.srs&&(r.crs=r.crs||r.srs,delete r.srs),r}_getURLParameter(e,r,n){switch(e){case"crs":n.version!=="1.3.0"?e="srs":this.substituteCRS84&&r==="EPSG:4326"&&(r="CRS:84");break;case"srs":n.version==="1.3.0"&&(e="crs");break;case"boundingBox":let i=r,o=[...i[0],...i[1]];o=this._flipBoundingBox(i,n),o&&(r=o);break;case"bbox":let s=this._flipBoundingBox(r,n);s&&(r=s);break;default:}return e=e.toUpperCase(),Array.isArray(r)?`${e}=${r.join(",")}`:`${e}=${r?String(r):""}`}_flipBoundingBox(e,r){if(!Array.isArray(e)||e.length!==4)return null;let n=r.version==="1.3.0"&&this.flipCRS.includes(r.crs||"")&&!(this.substituteCRS84&&r.crs==="EPSG:4326"),i=e;return n?[i[1],i[0],i[3],i[2]]:i}async _fetchArrayBuffer(e){let r=await this.fetch(e),n=await r.arrayBuffer();return this._checkResponse(r,n),n}_checkResponse(e,r){let n=e.headers["content-type"];if(!e.ok||Vt.mimeTypes.includes(n)){var i;let o=Yn(this.loadOptions,{wms:{throwOnError:!0}}),s=(i=Vt.parseSync)===null||i===void 0?void 0:i.call(Vt,r,o);throw new Error(s)}}_parseError(e){var r;let n=(r=Vt.parseSync)===null||r===void 0?void 0:r.call(Vt,e,this.loadOptions);return new Error(n)}};var ie=class extends rt{constructor(e){super(e)}async getMetadata(){throw new Error("ImageSource.getMetadata not implemented")}async getImage(e){let r=this.getGranularParameters(e),n=this.getURLFromTemplate(r),o=await(await this.fetch(n)).arrayBuffer();return await ne.parse(o)}getGranularParameters(e){let[[r,n],[i,o]]=e.boundingBox;return{...e,east:r,north:n,south:o,west:i}}getURLFromTemplate(e){let r=this.props.url;for(let[n,i]of Object.entries(e))r=r.replace(`\${${n}}`,String(i)),r=r.replace(`{${n}}`,String(i));return r}};ie.type="template";ie.testURL=t=>t.toLowerCase().includes("{");var oi=class extends ie{constructor(e){super(e),this.data=void 0,this.data=e.url}async getMetadata(){return await this.metadata()}async getImage(e){throw new Error("not implemented")}async metadata(){throw new Error("not implemented")}exportImage(e){throw new Error("not implemented")}metadataURL(e){return`${this.props.url}?f=pjson`}exportImageURL(e){let r=`bbox=${e.bbox[0]},${e.bbox[1]},${e.bbox[2]},${e.bbox[3]}`,n=`size=${e.width},${e.height}`,i={...e,bbox:r,size:n};return delete i.width,delete i.height,this.getUrl("exportImage",i)}getUrl(e,r,n){let i=`${this.props.url}/${e}`,o=!0;for(let[s,a]of Object.entries(r))i+=o?"?":"&",o=!1,Array.isArray(a)?i+=`${s.toUpperCase()}=${a.join(",")}`:i+=`${s.toUpperCase()}=${a?String(a):""}`;return i}async checkResponse(e){if(!e.ok)throw new Error("error")}},Ds={type:"arcgis-image-server",testURL:t=>t.toLowerCase().includes("ImageServer"),create:t=>new oi(t)};var Hh=[Ws,Ds];function si(t){return Rs(t,Hh)}function F(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var C2=1/Math.PI*180,z2=1/180*Math.PI,$h={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...$h}};var G=globalThis.mathgl.config;function ai(t,{precision:e=G.precision}={}){return t=Qh(t),"".concat(parseFloat(t.toPrecision(e)))}function dt(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function It(t,e,r){return dt(t)?t.map((n,i)=>It(n,e[i],r)):r*e+(1-r)*t}function pt(t,e,r){let n=G.EPSILON;r&&(G.EPSILON=r);try{if(t===e)return!0;if(dt(t)&&dt(e)){if(t.length!==e.length)return!1;for(let i=0;i<t.length;++i)if(!pt(t[i],e[i]))return!1;return!0}return t&&t.equals?t.equals(e):e&&e.equals?e.equals(t):typeof t=="number"&&typeof e=="number"?Math.abs(t-e)<=G.EPSILON*Math.max(1,Math.abs(t),Math.abs(e)):!1}finally{G.EPSILON=n}}function Qh(t){return Math.round(t/G.EPSILON)*G.EPSILON}function Kh(t){function e(){var r=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var At=class extends Kh(Array){clone(){return new this.constructor().copy(this)}fromArray(e,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=e[n+r];return this.check()}toArray(e=[],r=0){for(let n=0;n<this.ELEMENTS;++n)e[r+n]=this[n];return e}toObject(e){return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:dt(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(G)}formatString(e){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+ai(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!pt(this[r],e[r]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==e[r])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,r,n){if(n===void 0)return this.lerp(this,e,r);for(let i=0;i<this.ELEMENTS;++i){let o=e[i],s=typeof r=="number"?r:r[i];this[i]=o+n*(s-o)}return this.check()}min(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(e[r],this[r]);return this.check()}max(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(e[r],this[r]);return this.check()}clamp(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e[n]),r[n]);return this.check()}add(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(e){if(typeof e=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;else for(let r=0;r<this.ELEMENTS&&r<e.length;++r)this[r]*=e[r];return this.check()}multiplyByScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}check(){if(G.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let e=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)e=e&&Number.isFinite(this[r]);return e}sub(e){return this.subtract(e)}setScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=e;return this.check()}addScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]+=e;return this.check()}subScalar(e){return this.addScalar(-e)}multiplyScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}divideScalar(e){return this.multiplyByScalar(1/e)}clampScalar(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e),r);return this.check()}get elements(){return this}};function Jh(t,e){if(t.length!==e)return!1;for(let r=0;r<t.length;++r)if(!Number.isFinite(t[r]))return!1;return!0}function N(t){if(!Number.isFinite(t))throw new Error("Invalid number ".concat(JSON.stringify(t)));return t}function Lt(t,e,r=""){if(G.debug&&!Jh(t,e))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return t}function mt(t,e){if(!t)throw new Error("math.gl assertion ".concat(e))}var oe=class extends At{get x(){return this[0]}set x(e){this[0]=N(e)}get y(){return this[1]}set y(e){this[1]=N(e)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let e=0;for(let r=0;r<this.ELEMENTS;++r)e+=this[r]*this[r];return e}magnitudeSquared(){return this.lengthSquared()}distance(e){return Math.sqrt(this.distanceSquared(e))}distanceSquared(e){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-e[n];r+=i*i}return N(r)}dot(e){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*e[n];return N(r)}normalize(){let e=this.magnitude();if(e!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=e;return this.check()}multiply(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(e){return this.distance(e)}distanceToSquared(e){return this.distanceSquared(e)}getComponent(e){return mt(e>=0&&e<this.ELEMENTS,"index is out of range"),N(this[e])}setComponent(e,r){return mt(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=r,this.check()}addVectors(e,r){return this.copy(e).add(r)}subVectors(e,r){return this.copy(e).subtract(r)}multiplyVectors(e,r){return this.copy(e).multiply(r)}addScaledVector(e,r){return this.add(new this.constructor(e).multiplyScalar(r))}};var j=typeof Float32Array<"u"?Float32Array:Array;var X2=Math.PI/180;function td(){let t=new j(2);return j!=Float32Array&&(t[0]=0,t[1]=0),t}function Xs(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t}function Ys(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t}var Y2=function(){let t=td();return function(e,r,n,i,o,s){let a,c;for(r||(r=2),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],o(t,t,s),e[a]=t[0],e[a+1]=t[1];return e}}();function Hs(t,e,r){let n=e[0],i=e[1],o=r[3]*n+r[7]*i||1;return t[0]=(r[0]*n+r[4]*i)/o,t[1]=(r[1]*n+r[5]*i)/o,t}function mr(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[3]*n+r[7]*i+r[11]*o||1;return t[0]=(r[0]*n+r[4]*i+r[8]*o)/s,t[1]=(r[1]*n+r[5]*i+r[9]*o)/s,t[2]=(r[2]*n+r[6]*i+r[10]*o)/s,t}function $s(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t[2]=e[2],t}function Qs(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t[2]=e[2],t[3]=e[3],t}function gr(t,e,r){let n=e[0],i=e[1],o=e[2];return t[0]=r[0]*n+r[3]*i+r[6]*o,t[1]=r[1]*n+r[4]*i+r[7]*o,t[2]=r[2]*n+r[5]*i+r[8]*o,t[3]=e[3],t}function ci(){let t=new j(3);return j!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function ed(t){let e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function li(t,e,r){let n=new j(3);return n[0]=t,n[1]=e,n[2]=r,n}function Ks(t,e){let r=e[0],n=e[1],i=e[2],o=r*r+n*n+i*i;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}function ui(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function ae(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[0],a=r[1],c=r[2];return t[0]=i*c-o*a,t[1]=o*s-n*c,t[2]=n*a-i*s,t}function ce(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[3]*n+r[7]*i+r[11]*o+r[15];return s=s||1,t[0]=(r[0]*n+r[4]*i+r[8]*o+r[12])/s,t[1]=(r[1]*n+r[5]*i+r[9]*o+r[13])/s,t[2]=(r[2]*n+r[6]*i+r[10]*o+r[14])/s,t}function yr(t,e,r){let n=e[0],i=e[1],o=e[2];return t[0]=n*r[0]+i*r[3]+o*r[6],t[1]=n*r[1]+i*r[4]+o*r[7],t[2]=n*r[2]+i*r[5]+o*r[8],t}function vr(t,e,r){let n=r[0],i=r[1],o=r[2],s=r[3],a=e[0],c=e[1],l=e[2],u=i*l-o*c,f=o*a-n*l,h=n*c-i*a,d=i*h-o*f,p=o*u-n*h,g=n*f-i*u,m=s*2;return u*=m,f*=m,h*=m,d*=2,p*=2,g*=2,t[0]=a+u+d,t[1]=c+f+p,t[2]=l+h+g,t}function Js(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[0],o[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),o[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function ta(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),o[1]=i[1],o[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function ea(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),o[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),o[2]=i[2],t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function ra(t,e){let r=t[0],n=t[1],i=t[2],o=e[0],s=e[1],a=e[2],c=Math.sqrt((r*r+n*n+i*i)*(o*o+s*s+a*a)),l=c&&ui(t,e)/c;return Math.acos(Math.min(Math.max(l,-1),1))}var na=ed;var Q2=function(){let t=ci();return function(e,r,n,i,o,s){let a,c;for(r||(r=3),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],o(t,t,s),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2];return e}}();var fi=[0,0,0],xr,O=class extends oe{static get ZERO(){return xr||(xr=new O(0,0,0),Object.freeze(xr)),xr}constructor(e=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&dt(e)?this.copy(e):(G.debug&&(N(e),N(r),N(n)),this[0]=e,this[1]=r,this[2]=n)}set(e,r,n){return this[0]=e,this[1]=r,this[2]=n,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}fromObject(e){return G.debug&&(N(e.x),N(e.y),N(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}get ELEMENTS(){return 3}get z(){return this[2]}set z(e){this[2]=N(e)}angle(e){return ra(this,e)}cross(e){return ae(this,this,e),this.check()}rotateX({radians:e,origin:r=fi}){return Js(this,this,r,e),this.check()}rotateY({radians:e,origin:r=fi}){return ta(this,this,r,e),this.check()}rotateZ({radians:e,origin:r=fi}){return ea(this,this,r,e),this.check()}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return ce(this,this,e),this.check()}transformAsVector(e){return mr(this,this,e),this.check()}transformByMatrix3(e){return yr(this,this,e),this.check()}transformByMatrix2(e){return $s(this,this,e),this.check()}transformByQuaternion(e){return vr(this,this,e),this.check()}};var _r,le=class extends oe{static get ZERO(){return _r||(_r=new le(0,0,0,0),Object.freeze(_r)),_r}constructor(e=0,r=0,n=0,i=0){super(-0,-0,-0,-0),dt(e)&&arguments.length===1?this.copy(e):(G.debug&&(N(e),N(r),N(n),N(i)),this[0]=e,this[1]=r,this[2]=n,this[3]=i)}set(e,r,n,i){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}fromObject(e){return G.debug&&(N(e.x),N(e.y),N(e.z),N(e.w)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e.w=this[3],e}get ELEMENTS(){return 4}get z(){return this[2]}set z(e){this[2]=N(e)}get w(){return this[3]}set w(e){this[3]=N(e)}transform(e){return ce(this,this,e),this.check()}transformByMatrix3(e){return gr(this,this,e),this.check()}transformByMatrix2(e){return Qs(this,this,e),this.check()}transformByQuaternion(e){return vr(this,this,e),this.check()}applyMatrix4(e){return e.transform(this,this),this}};var ue=class extends At{toString(){let e="[";if(G.printRowMajor){e+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)e+=" ".concat(this[n*this.RANK+r])}else{e+="column-major:";for(let r=0;r<this.ELEMENTS;++r)e+=" ".concat(this[r])}return e+="]",e}getElementIndex(e,r){return r*this.RANK+e}getElement(e,r){return this[r*this.RANK+e]}setElement(e,r,n){return this[r*this.RANK+e]=N(n),this}getColumn(e,r=new Array(this.RANK).fill(-0)){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(e,r){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function ia(){let t=new j(9);return j!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function oa(t,e){if(t===e){let r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function sa(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],l=e[7],u=e[8],f=u*s-a*l,h=-u*o+a*c,d=l*o-s*c,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-u*n+i*l)*p,t[2]=(a*n-i*s)*p,t[3]=h*p,t[4]=(u*r-i*c)*p,t[5]=(-a*r+i*o)*p,t[6]=d*p,t[7]=(-l*r+n*c)*p,t[8]=(s*r-n*o)*p,t):null}function aa(t){let e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],s=t[5],a=t[6],c=t[7],l=t[8];return e*(l*o-s*c)+r*(-l*i+s*a)+n*(c*i-o*a)}function hi(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],l=e[6],u=e[7],f=e[8],h=r[0],d=r[1],p=r[2],g=r[3],m=r[4],v=r[5],w=r[6],x=r[7],b=r[8];return t[0]=h*n+d*s+p*l,t[1]=h*i+d*a+p*u,t[2]=h*o+d*c+p*f,t[3]=g*n+m*s+v*l,t[4]=g*i+m*a+v*u,t[5]=g*o+m*c+v*f,t[6]=w*n+x*s+b*l,t[7]=w*i+x*a+b*u,t[8]=w*o+x*c+b*f,t}function ca(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],l=e[6],u=e[7],f=e[8],h=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=o,t[3]=s,t[4]=a,t[5]=c,t[6]=h*n+d*s+l,t[7]=h*i+d*a+u,t[8]=h*o+d*c+f,t}function la(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],l=e[6],u=e[7],f=e[8],h=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*s,t[1]=d*i+h*a,t[2]=d*o+h*c,t[3]=d*s-h*n,t[4]=d*a-h*i,t[5]=d*c-h*o,t[6]=l,t[7]=u,t[8]=f,t}function di(t,e,r){let n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function ua(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r+r,a=n+n,c=i+i,l=r*s,u=n*s,f=n*a,h=i*s,d=i*a,p=i*c,g=o*s,m=o*a,v=o*c;return t[0]=1-f-p,t[3]=u-v,t[6]=h+m,t[1]=u+v,t[4]=1-l-p,t[7]=d-g,t[2]=h-m,t[5]=d+g,t[8]=1-l-f,t}var pi;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL1ROW0=3]="COL1ROW0",t[t.COL1ROW1=4]="COL1ROW1",t[t.COL1ROW2=5]="COL1ROW2",t[t.COL2ROW0=6]="COL2ROW0",t[t.COL2ROW1=7]="COL2ROW1",t[t.COL2ROW2=8]="COL2ROW2"})(pi||(pi={}));var id=Object.freeze([1,0,0,0,1,0,0,0,1]),V=class extends ue{static get IDENTITY(){return sd()}static get ZERO(){return od()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return pi}constructor(e,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):r.length>0?this.copy([e,...r]):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this.check()}identity(){return this.copy(id)}fromObject(e){return this.check()}fromQuaternion(e){return ua(this,e),this.check()}set(e,r,n,i,o,s,a,c,l){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this[4]=o,this[5]=s,this[6]=a,this[7]=c,this[8]=l,this.check()}setRowMajor(e,r,n,i,o,s,a,c,l){return this[0]=e,this[1]=i,this[2]=a,this[3]=r,this[4]=o,this[5]=c,this[6]=n,this[7]=s,this[8]=l,this.check()}determinant(){return aa(this)}transpose(){return oa(this,this),this.check()}invert(){return sa(this,this),this.check()}multiplyLeft(e){return hi(this,e,this),this.check()}multiplyRight(e){return hi(this,this,e),this.check()}rotate(e){return la(this,this,e),this.check()}scale(e){return Array.isArray(e)?di(this,this,e):di(this,this,[e,e]),this.check()}translate(e){return ca(this,this,e),this.check()}transform(e,r){let n;switch(e.length){case 2:n=Xs(r||[-0,-0],e,this);break;case 3:n=yr(r||[-0,-0,-0],e,this);break;case 4:n=gr(r||[-0,-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Lt(n,e.length),n}transformVector(e,r){return this.transform(e,r)}transformVector2(e,r){return this.transform(e,r)}transformVector3(e,r){return this.transform(e,r)}},br,wr=null;function od(){return br||(br=new V([0,0,0,0,0,0,0,0,0]),Object.freeze(br)),br}function sd(){return wr||(wr=new V,Object.freeze(wr)),wr}var Mr={};kn(Mr,{add:()=>Ld,adjoint:()=>hd,clone:()=>cd,copy:()=>ld,create:()=>ad,decompose:()=>wd,determinant:()=>yi,equals:()=>Cd,exactEquals:()=>Nd,frob:()=>Ad,fromQuat:()=>Si,fromQuat2:()=>xd,fromRotation:()=>md,fromRotationTranslation:()=>ha,fromRotationTranslationScale:()=>Md,fromRotationTranslationScaleOrigin:()=>Sd,fromScaling:()=>pd,fromTranslation:()=>dd,fromValues:()=>ud,fromXRotation:()=>gd,fromYRotation:()=>yd,fromZRotation:()=>vd,frustum:()=>Ti,getRotation:()=>bd,getScaling:()=>da,getTranslation:()=>_d,identity:()=>fa,invert:()=>gi,lookAt:()=>Oi,mul:()=>zd,multiply:()=>Ie,multiplyScalar:()=>Rd,multiplyScalarAndAdd:()=>Fd,ortho:()=>Ei,orthoNO:()=>ma,orthoZO:()=>Ed,perspective:()=>Pi,perspectiveFromFieldOfView:()=>Pd,perspectiveNO:()=>pa,perspectiveZO:()=>Td,rotate:()=>_i,rotateX:()=>bi,rotateY:()=>wi,rotateZ:()=>Mi,scale:()=>xi,set:()=>fd,str:()=>Id,sub:()=>Bd,subtract:()=>ga,targetTo:()=>Od,translate:()=>vi,transpose:()=>mi});function ad(){let t=new j(16);return j!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function cd(t){let e=new j(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function ld(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function ud(t,e,r,n,i,o,s,a,c,l,u,f,h,d,p,g){let m=new j(16);return m[0]=t,m[1]=e,m[2]=r,m[3]=n,m[4]=i,m[5]=o,m[6]=s,m[7]=a,m[8]=c,m[9]=l,m[10]=u,m[11]=f,m[12]=h,m[13]=d,m[14]=p,m[15]=g,m}function fd(t,e,r,n,i,o,s,a,c,l,u,f,h,d,p,g,m){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=o,t[5]=s,t[6]=a,t[7]=c,t[8]=l,t[9]=u,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=g,t[15]=m,t}function fa(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function mi(t,e){if(t===e){let r=e[1],n=e[2],i=e[3],o=e[6],s=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=o,t[11]=e[14],t[12]=i,t[13]=s,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function gi(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],l=e[7],u=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],m=e[14],v=e[15],w=r*a-n*s,x=r*c-i*s,b=r*l-o*s,T=n*c-i*a,S=n*l-o*a,P=i*l-o*c,M=u*g-f*p,_=u*m-h*p,y=u*v-d*p,E=f*m-h*g,A=f*v-d*g,L=h*v-d*m,I=w*L-x*A+b*E+T*y-S*_+P*M;return I?(I=1/I,t[0]=(a*L-c*A+l*E)*I,t[1]=(i*A-n*L-o*E)*I,t[2]=(g*P-m*S+v*T)*I,t[3]=(h*S-f*P-d*T)*I,t[4]=(c*y-s*L-l*_)*I,t[5]=(r*L-i*y+o*_)*I,t[6]=(m*b-p*P-v*x)*I,t[7]=(u*P-h*b+d*x)*I,t[8]=(s*A-a*y+l*M)*I,t[9]=(n*y-r*A-o*M)*I,t[10]=(p*S-g*b+v*w)*I,t[11]=(f*b-u*S-d*w)*I,t[12]=(a*_-s*E-c*M)*I,t[13]=(r*E-n*_+i*M)*I,t[14]=(g*x-p*T-m*w)*I,t[15]=(u*T-f*x+h*w)*I,t):null}function hd(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],l=e[7],u=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],m=e[14],v=e[15],w=r*a-n*s,x=r*c-i*s,b=r*l-o*s,T=n*c-i*a,S=n*l-o*a,P=i*l-o*c,M=u*g-f*p,_=u*m-h*p,y=u*v-d*p,E=f*m-h*g,A=f*v-d*g,L=h*v-d*m;return t[0]=a*L-c*A+l*E,t[1]=i*A-n*L-o*E,t[2]=g*P-m*S+v*T,t[3]=h*S-f*P-d*T,t[4]=c*y-s*L-l*_,t[5]=r*L-i*y+o*_,t[6]=m*b-p*P-v*x,t[7]=u*P-h*b+d*x,t[8]=s*A-a*y+l*M,t[9]=n*y-r*A-o*M,t[10]=p*S-g*b+v*w,t[11]=f*b-u*S-d*w,t[12]=a*_-s*E-c*M,t[13]=r*E-n*_+i*M,t[14]=g*x-p*T-m*w,t[15]=u*T-f*x+h*w,t}function yi(t){let e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],s=t[5],a=t[6],c=t[7],l=t[8],u=t[9],f=t[10],h=t[11],d=t[12],p=t[13],g=t[14],m=t[15],v=e*s-r*o,w=e*a-n*o,x=r*a-n*s,b=l*p-u*d,T=l*g-f*d,S=u*g-f*p,P=e*S-r*T+n*b,M=o*S-s*T+a*b,_=l*x-u*w+f*v,y=d*x-p*w+g*v;return c*P-i*M+m*_-h*y}function Ie(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],l=e[6],u=e[7],f=e[8],h=e[9],d=e[10],p=e[11],g=e[12],m=e[13],v=e[14],w=e[15],x=r[0],b=r[1],T=r[2],S=r[3];return t[0]=x*n+b*a+T*f+S*g,t[1]=x*i+b*c+T*h+S*m,t[2]=x*o+b*l+T*d+S*v,t[3]=x*s+b*u+T*p+S*w,x=r[4],b=r[5],T=r[6],S=r[7],t[4]=x*n+b*a+T*f+S*g,t[5]=x*i+b*c+T*h+S*m,t[6]=x*o+b*l+T*d+S*v,t[7]=x*s+b*u+T*p+S*w,x=r[8],b=r[9],T=r[10],S=r[11],t[8]=x*n+b*a+T*f+S*g,t[9]=x*i+b*c+T*h+S*m,t[10]=x*o+b*l+T*d+S*v,t[11]=x*s+b*u+T*p+S*w,x=r[12],b=r[13],T=r[14],S=r[15],t[12]=x*n+b*a+T*f+S*g,t[13]=x*i+b*c+T*h+S*m,t[14]=x*o+b*l+T*d+S*v,t[15]=x*s+b*u+T*p+S*w,t}function vi(t,e,r){let n=r[0],i=r[1],o=r[2],s,a,c,l,u,f,h,d,p,g,m,v;return e===t?(t[12]=e[0]*n+e[4]*i+e[8]*o+e[12],t[13]=e[1]*n+e[5]*i+e[9]*o+e[13],t[14]=e[2]*n+e[6]*i+e[10]*o+e[14],t[15]=e[3]*n+e[7]*i+e[11]*o+e[15]):(s=e[0],a=e[1],c=e[2],l=e[3],u=e[4],f=e[5],h=e[6],d=e[7],p=e[8],g=e[9],m=e[10],v=e[11],t[0]=s,t[1]=a,t[2]=c,t[3]=l,t[4]=u,t[5]=f,t[6]=h,t[7]=d,t[8]=p,t[9]=g,t[10]=m,t[11]=v,t[12]=s*n+u*i+p*o+e[12],t[13]=a*n+f*i+g*o+e[13],t[14]=c*n+h*i+m*o+e[14],t[15]=l*n+d*i+v*o+e[15]),t}function xi(t,e,r){let n=r[0],i=r[1],o=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function _i(t,e,r,n){let i=n[0],o=n[1],s=n[2],a=Math.sqrt(i*i+o*o+s*s),c,l,u,f,h,d,p,g,m,v,w,x,b,T,S,P,M,_,y,E,A,L,I,R;return a<1e-6?null:(a=1/a,i*=a,o*=a,s*=a,l=Math.sin(r),c=Math.cos(r),u=1-c,f=e[0],h=e[1],d=e[2],p=e[3],g=e[4],m=e[5],v=e[6],w=e[7],x=e[8],b=e[9],T=e[10],S=e[11],P=i*i*u+c,M=o*i*u+s*l,_=s*i*u-o*l,y=i*o*u-s*l,E=o*o*u+c,A=s*o*u+i*l,L=i*s*u+o*l,I=o*s*u-i*l,R=s*s*u+c,t[0]=f*P+g*M+x*_,t[1]=h*P+m*M+b*_,t[2]=d*P+v*M+T*_,t[3]=p*P+w*M+S*_,t[4]=f*y+g*E+x*A,t[5]=h*y+m*E+b*A,t[6]=d*y+v*E+T*A,t[7]=p*y+w*E+S*A,t[8]=f*L+g*I+x*R,t[9]=h*L+m*I+b*R,t[10]=d*L+v*I+T*R,t[11]=p*L+w*I+S*R,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function bi(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[4],s=e[5],a=e[6],c=e[7],l=e[8],u=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=o*i+l*n,t[5]=s*i+u*n,t[6]=a*i+f*n,t[7]=c*i+h*n,t[8]=l*i-o*n,t[9]=u*i-s*n,t[10]=f*i-a*n,t[11]=h*i-c*n,t}function wi(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[0],s=e[1],a=e[2],c=e[3],l=e[8],u=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i-l*n,t[1]=s*i-u*n,t[2]=a*i-f*n,t[3]=c*i-h*n,t[8]=o*n+l*i,t[9]=s*n+u*i,t[10]=a*n+f*i,t[11]=c*n+h*i,t}function Mi(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[0],s=e[1],a=e[2],c=e[3],l=e[4],u=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i+l*n,t[1]=s*i+u*n,t[2]=a*i+f*n,t[3]=c*i+h*n,t[4]=l*i-o*n,t[5]=u*i-s*n,t[6]=f*i-a*n,t[7]=h*i-c*n,t}function dd(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function pd(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function md(t,e,r){let n=r[0],i=r[1],o=r[2],s=Math.sqrt(n*n+i*i+o*o),a,c,l;return s<1e-6?null:(s=1/s,n*=s,i*=s,o*=s,c=Math.sin(e),a=Math.cos(e),l=1-a,t[0]=n*n*l+a,t[1]=i*n*l+o*c,t[2]=o*n*l-i*c,t[3]=0,t[4]=n*i*l-o*c,t[5]=i*i*l+a,t[6]=o*i*l+n*c,t[7]=0,t[8]=n*o*l+i*c,t[9]=i*o*l-n*c,t[10]=o*o*l+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function gd(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function yd(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function vd(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ha(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=n+n,c=i+i,l=o+o,u=n*a,f=n*c,h=n*l,d=i*c,p=i*l,g=o*l,m=s*a,v=s*c,w=s*l;return t[0]=1-(d+g),t[1]=f+w,t[2]=h-v,t[3]=0,t[4]=f-w,t[5]=1-(u+g),t[6]=p+m,t[7]=0,t[8]=h+v,t[9]=p-m,t[10]=1-(u+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function xd(t,e){let r=new j(3),n=-e[0],i=-e[1],o=-e[2],s=e[3],a=e[4],c=e[5],l=e[6],u=e[7],f=n*n+i*i+o*o+s*s;return f>0?(r[0]=(a*s+u*n+c*o-l*i)*2/f,r[1]=(c*s+u*i+l*n-a*o)*2/f,r[2]=(l*s+u*o+a*i-c*n)*2/f):(r[0]=(a*s+u*n+c*o-l*i)*2,r[1]=(c*s+u*i+l*n-a*o)*2,r[2]=(l*s+u*o+a*i-c*n)*2),ha(t,e,r),t}function _d(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function da(t,e){let r=e[0],n=e[1],i=e[2],o=e[4],s=e[5],a=e[6],c=e[8],l=e[9],u=e[10];return t[0]=Math.sqrt(r*r+n*n+i*i),t[1]=Math.sqrt(o*o+s*s+a*a),t[2]=Math.sqrt(c*c+l*l+u*u),t}function bd(t,e){let r=new j(3);da(r,e);let n=1/r[0],i=1/r[1],o=1/r[2],s=e[0]*n,a=e[1]*i,c=e[2]*o,l=e[4]*n,u=e[5]*i,f=e[6]*o,h=e[8]*n,d=e[9]*i,p=e[10]*o,g=s+u+p,m=0;return g>0?(m=Math.sqrt(g+1)*2,t[3]=.25*m,t[0]=(f-d)/m,t[1]=(h-c)/m,t[2]=(a-l)/m):s>u&&s>p?(m=Math.sqrt(1+s-u-p)*2,t[3]=(f-d)/m,t[0]=.25*m,t[1]=(a+l)/m,t[2]=(h+c)/m):u>p?(m=Math.sqrt(1+u-s-p)*2,t[3]=(h-c)/m,t[0]=(a+l)/m,t[1]=.25*m,t[2]=(f+d)/m):(m=Math.sqrt(1+p-s-u)*2,t[3]=(a-l)/m,t[0]=(h+c)/m,t[1]=(f+d)/m,t[2]=.25*m),t}function wd(t,e,r,n){e[0]=n[12],e[1]=n[13],e[2]=n[14];let i=n[0],o=n[1],s=n[2],a=n[4],c=n[5],l=n[6],u=n[8],f=n[9],h=n[10];r[0]=Math.sqrt(i*i+o*o+s*s),r[1]=Math.sqrt(a*a+c*c+l*l),r[2]=Math.sqrt(u*u+f*f+h*h);let d=1/r[0],p=1/r[1],g=1/r[2],m=i*d,v=o*p,w=s*g,x=a*d,b=c*p,T=l*g,S=u*d,P=f*p,M=h*g,_=m+b+M,y=0;return _>0?(y=Math.sqrt(_+1)*2,t[3]=.25*y,t[0]=(T-P)/y,t[1]=(S-w)/y,t[2]=(v-x)/y):m>b&&m>M?(y=Math.sqrt(1+m-b-M)*2,t[3]=(T-P)/y,t[0]=.25*y,t[1]=(v+x)/y,t[2]=(S+w)/y):b>M?(y=Math.sqrt(1+b-m-M)*2,t[3]=(S-w)/y,t[0]=(v+x)/y,t[1]=.25*y,t[2]=(T+P)/y):(y=Math.sqrt(1+M-m-b)*2,t[3]=(v-x)/y,t[0]=(S+w)/y,t[1]=(T+P)/y,t[2]=.25*y),t}function Md(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=i+i,l=o+o,u=s+s,f=i*c,h=i*l,d=i*u,p=o*l,g=o*u,m=s*u,v=a*c,w=a*l,x=a*u,b=n[0],T=n[1],S=n[2];return t[0]=(1-(p+m))*b,t[1]=(h+x)*b,t[2]=(d-w)*b,t[3]=0,t[4]=(h-x)*T,t[5]=(1-(f+m))*T,t[6]=(g+v)*T,t[7]=0,t[8]=(d+w)*S,t[9]=(g-v)*S,t[10]=(1-(f+p))*S,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function Sd(t,e,r,n,i){let o=e[0],s=e[1],a=e[2],c=e[3],l=o+o,u=s+s,f=a+a,h=o*l,d=o*u,p=o*f,g=s*u,m=s*f,v=a*f,w=c*l,x=c*u,b=c*f,T=n[0],S=n[1],P=n[2],M=i[0],_=i[1],y=i[2],E=(1-(g+v))*T,A=(d+b)*T,L=(p-x)*T,I=(d-b)*S,R=(1-(h+v))*S,U=(m+w)*S,z=(p+x)*P,D=(m-w)*P,q=(1-(h+g))*P;return t[0]=E,t[1]=A,t[2]=L,t[3]=0,t[4]=I,t[5]=R,t[6]=U,t[7]=0,t[8]=z,t[9]=D,t[10]=q,t[11]=0,t[12]=r[0]+M-(E*M+I*_+z*y),t[13]=r[1]+_-(A*M+R*_+D*y),t[14]=r[2]+y-(L*M+U*_+q*y),t[15]=1,t}function Si(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r+r,a=n+n,c=i+i,l=r*s,u=n*s,f=n*a,h=i*s,d=i*a,p=i*c,g=o*s,m=o*a,v=o*c;return t[0]=1-f-p,t[1]=u+v,t[2]=h-m,t[3]=0,t[4]=u-v,t[5]=1-l-p,t[6]=d+g,t[7]=0,t[8]=h+m,t[9]=d-g,t[10]=1-l-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Ti(t,e,r,n,i,o,s){let a=1/(r-e),c=1/(i-n),l=1/(o-s);return t[0]=o*2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o*2*c,t[6]=0,t[7]=0,t[8]=(r+e)*a,t[9]=(i+n)*c,t[10]=(s+o)*l,t[11]=-1,t[12]=0,t[13]=0,t[14]=s*o*2*l,t[15]=0,t}function pa(t,e,r,n,i){let o=1/Math.tan(e/2);if(t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let s=1/(n-i);t[10]=(i+n)*s,t[14]=2*i*n*s}else t[10]=-1,t[14]=-2*n;return t}var Pi=pa;function Td(t,e,r,n,i){let o=1/Math.tan(e/2);if(t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let s=1/(n-i);t[10]=i*s,t[14]=i*n*s}else t[10]=-1,t[14]=-n;return t}function Pd(t,e,r,n){let i=Math.tan(e.upDegrees*Math.PI/180),o=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),a=Math.tan(e.rightDegrees*Math.PI/180),c=2/(s+a),l=2/(i+o);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=l,t[6]=0,t[7]=0,t[8]=-((s-a)*c*.5),t[9]=(i-o)*l*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function ma(t,e,r,n,i,o,s){let a=1/(e-r),c=1/(n-i),l=1/(o-s);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=(s+o)*l,t[15]=1,t}var Ei=ma;function Ed(t,e,r,n,i,o,s){let a=1/(e-r),c=1/(n-i),l=1/(o-s);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=l,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=o*l,t[15]=1,t}function Oi(t,e,r,n){let i,o,s,a,c,l,u,f,h,d,p=e[0],g=e[1],m=e[2],v=n[0],w=n[1],x=n[2],b=r[0],T=r[1],S=r[2];return Math.abs(p-b)<1e-6&&Math.abs(g-T)<1e-6&&Math.abs(m-S)<1e-6?fa(t):(f=p-b,h=g-T,d=m-S,i=1/Math.sqrt(f*f+h*h+d*d),f*=i,h*=i,d*=i,o=w*d-x*h,s=x*f-v*d,a=v*h-w*f,i=Math.sqrt(o*o+s*s+a*a),i?(i=1/i,o*=i,s*=i,a*=i):(o=0,s=0,a=0),c=h*a-d*s,l=d*o-f*a,u=f*s-h*o,i=Math.sqrt(c*c+l*l+u*u),i?(i=1/i,c*=i,l*=i,u*=i):(c=0,l=0,u=0),t[0]=o,t[1]=c,t[2]=f,t[3]=0,t[4]=s,t[5]=l,t[6]=h,t[7]=0,t[8]=a,t[9]=u,t[10]=d,t[11]=0,t[12]=-(o*p+s*g+a*m),t[13]=-(c*p+l*g+u*m),t[14]=-(f*p+h*g+d*m),t[15]=1,t)}function Od(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=n[0],c=n[1],l=n[2],u=i-r[0],f=o-r[1],h=s-r[2],d=u*u+f*f+h*h;d>0&&(d=1/Math.sqrt(d),u*=d,f*=d,h*=d);let p=c*h-l*f,g=l*u-a*h,m=a*f-c*u;return d=p*p+g*g+m*m,d>0&&(d=1/Math.sqrt(d),p*=d,g*=d,m*=d),t[0]=p,t[1]=g,t[2]=m,t[3]=0,t[4]=f*m-h*g,t[5]=h*p-u*m,t[6]=u*g-f*p,t[7]=0,t[8]=u,t[9]=f,t[10]=h,t[11]=0,t[12]=i,t[13]=o,t[14]=s,t[15]=1,t}function Id(t){return"mat4(".concat(t[0],", ").concat(t[1],", ").concat(t[2],", ").concat(t[3],", ").concat(t[4],", ").concat(t[5],", ").concat(t[6],", ").concat(t[7],", ").concat(t[8],", ").concat(t[9],", ").concat(t[10],", ").concat(t[11],", ").concat(t[12],", ").concat(t[13],", ").concat(t[14],", ").concat(t[15],")")}function Ad(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8]+t[9]*t[9]+t[10]*t[10]+t[11]*t[11]+t[12]*t[12]+t[13]*t[13]+t[14]*t[14]+t[15]*t[15])}function Ld(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function ga(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function Rd(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function Fd(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function Nd(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function Cd(t,e){let r=t[0],n=t[1],i=t[2],o=t[3],s=t[4],a=t[5],c=t[6],l=t[7],u=t[8],f=t[9],h=t[10],d=t[11],p=t[12],g=t[13],m=t[14],v=t[15],w=e[0],x=e[1],b=e[2],T=e[3],S=e[4],P=e[5],M=e[6],_=e[7],y=e[8],E=e[9],A=e[10],L=e[11],I=e[12],R=e[13],U=e[14],z=e[15];return Math.abs(r-w)<=1e-6*Math.max(1,Math.abs(r),Math.abs(w))&&Math.abs(n-x)<=1e-6*Math.max(1,Math.abs(n),Math.abs(x))&&Math.abs(i-b)<=1e-6*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(o-T)<=1e-6*Math.max(1,Math.abs(o),Math.abs(T))&&Math.abs(s-S)<=1e-6*Math.max(1,Math.abs(s),Math.abs(S))&&Math.abs(a-P)<=1e-6*Math.max(1,Math.abs(a),Math.abs(P))&&Math.abs(c-M)<=1e-6*Math.max(1,Math.abs(c),Math.abs(M))&&Math.abs(l-_)<=1e-6*Math.max(1,Math.abs(l),Math.abs(_))&&Math.abs(u-y)<=1e-6*Math.max(1,Math.abs(u),Math.abs(y))&&Math.abs(f-E)<=1e-6*Math.max(1,Math.abs(f),Math.abs(E))&&Math.abs(h-A)<=1e-6*Math.max(1,Math.abs(h),Math.abs(A))&&Math.abs(d-L)<=1e-6*Math.max(1,Math.abs(d),Math.abs(L))&&Math.abs(p-I)<=1e-6*Math.max(1,Math.abs(p),Math.abs(I))&&Math.abs(g-R)<=1e-6*Math.max(1,Math.abs(g),Math.abs(R))&&Math.abs(m-U)<=1e-6*Math.max(1,Math.abs(m),Math.abs(U))&&Math.abs(v-z)<=1e-6*Math.max(1,Math.abs(v),Math.abs(z))}var zd=Ie,Bd=ga;function kd(){let t=new j(4);return j!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function ya(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function va(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function xa(t){let e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}function _a(t){let e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}function ba(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r*r+n*n+i*i+o*o;return s>0&&(s=1/Math.sqrt(s)),t[0]=r*s,t[1]=n*s,t[2]=i*s,t[3]=o*s,t}function wa(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Ma(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3];return t[0]=i+n*(r[0]-i),t[1]=o+n*(r[1]-o),t[2]=s+n*(r[2]-s),t[3]=a+n*(r[3]-a),t}function Sa(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*o+r[12]*s,t[1]=r[1]*n+r[5]*i+r[9]*o+r[13]*s,t[2]=r[2]*n+r[6]*i+r[10]*o+r[14]*s,t[3]=r[3]*n+r[7]*i+r[11]*o+r[15]*s,t}function Ta(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[0],a=r[1],c=r[2],l=r[3],u=l*n+a*o-c*i,f=l*i+c*n-s*o,h=l*o+s*i-a*n,d=-s*n-a*i-c*o;return t[0]=u*l+d*-s+f*-c-h*-a,t[1]=f*l+d*-a+h*-s-u*-c,t[2]=h*l+d*-c+u*-a-f*-s,t[3]=e[3],t}var b_=function(){let t=kd();return function(e,r,n,i,o,s){let a,c;for(r||(r=4),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],t[3]=e[a+3],o(t,t,s),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2],e[a+3]=t[3];return e}}();var Li;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL0ROW3=3]="COL0ROW3",t[t.COL1ROW0=4]="COL1ROW0",t[t.COL1ROW1=5]="COL1ROW1",t[t.COL1ROW2=6]="COL1ROW2",t[t.COL1ROW3=7]="COL1ROW3",t[t.COL2ROW0=8]="COL2ROW0",t[t.COL2ROW1=9]="COL2ROW1",t[t.COL2ROW2=10]="COL2ROW2",t[t.COL2ROW3=11]="COL2ROW3",t[t.COL3ROW0=12]="COL3ROW0",t[t.COL3ROW1=13]="COL3ROW1",t[t.COL3ROW2=14]="COL3ROW2",t[t.COL3ROW3=15]="COL3ROW3"})(Li||(Li={}));var Ud=45*Math.PI/180,jd=1,Ii=.1,Ai=500,Vd=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),et=class extends ue{static get IDENTITY(){return Dd()}static get ZERO(){return Wd()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Li}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}set(e,r,n,i,o,s,a,c,l,u,f,h,d,p,g,m){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this[4]=o,this[5]=s,this[6]=a,this[7]=c,this[8]=l,this[9]=u,this[10]=f,this[11]=h,this[12]=d,this[13]=p,this[14]=g,this[15]=m,this.check()}setRowMajor(e,r,n,i,o,s,a,c,l,u,f,h,d,p,g,m){return this[0]=e,this[1]=o,this[2]=l,this[3]=d,this[4]=r,this[5]=s,this[6]=u,this[7]=p,this[8]=n,this[9]=a,this[10]=f,this[11]=g,this[12]=i,this[13]=c,this[14]=h,this[15]=m,this.check()}toRowMajor(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}identity(){return this.copy(Vd)}fromObject(e){return this.check()}fromQuaternion(e){return Si(this,e),this.check()}frustum(e){let{left:r,right:n,bottom:i,top:o,near:s=Ii,far:a=Ai}=e;return a===1/0?Gd(this,r,n,i,o,s):Ti(this,r,n,i,o,s,a),this.check()}lookAt(e){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=e;return Oi(this,r,n,i),this.check()}ortho(e){let{left:r,right:n,bottom:i,top:o,near:s=Ii,far:a=Ai}=e;return Ei(this,r,n,i,o,s,a),this.check()}orthographic(e){let{fovy:r=Ud,aspect:n=jd,focalDistance:i=1,near:o=Ii,far:s=Ai}=e;Pa(r);let a=r/2,c=i*Math.tan(a),l=c*n;return this.ortho({left:-l,right:l,bottom:-c,top:c,near:o,far:s})}perspective(e){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:o=500}=e;return Pa(r),Pi(this,r,n,i,o),this.check()}determinant(){return yi(this)}getScale(e=[-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}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],o=1/n[1],s=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*o,e[2]=this[2]*s,e[3]=0,e[4]=this[4]*i,e[5]=this[5]*o,e[6]=this[6]*s,e[7]=0,e[8]=this[8]*i,e[9]=this[9]*o,e[10]=this[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],o=1/n[1],s=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*o,e[2]=this[2]*s,e[3]=this[4]*i,e[4]=this[5]*o,e[5]=this[6]*s,e[6]=this[8]*i,e[7]=this[9]*o,e[8]=this[10]*s,e}transpose(){return mi(this,this),this.check()}invert(){return gi(this,this),this.check()}multiplyLeft(e){return Ie(this,e,this),this.check()}multiplyRight(e){return Ie(this,this,e),this.check()}rotateX(e){return bi(this,this,e),this.check()}rotateY(e){return wi(this,this,e),this.check()}rotateZ(e){return Mi(this,this,e),this.check()}rotateXYZ(e){return this.rotateX(e[0]).rotateY(e[1]).rotateZ(e[2])}rotateAxis(e,r){return _i(this,this,e,r),this.check()}scale(e){return xi(this,this,Array.isArray(e)?e:[e,e,e]),this.check()}translate(e){return vi(this,this,e),this.check()}transform(e,r){return e.length===4?(r=Sa(r||[-0,-0,-0,-0],e,this),Lt(r,4),r):this.transformAsPoint(e,r)}transformAsPoint(e,r){let{length:n}=e,i;switch(n){case 2:i=Ys(r||[-0,-0],e,this);break;case 3:i=ce(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Lt(i,e.length),i}transformAsVector(e,r){let n;switch(e.length){case 2:n=Hs(r||[-0,-0],e,this);break;case 3:n=mr(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Lt(n,e.length),n}transformPoint(e,r){return this.transformAsPoint(e,r)}transformVector(e,r){return this.transformAsPoint(e,r)}transformDirection(e,r){return this.transformAsVector(e,r)}makeRotationX(e){return this.identity().rotateX(e)}makeTranslation(e,r,n){return this.identity().translate([e,r,n])}},Sr,Tr;function Wd(){return Sr||(Sr=new et([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Sr)),Sr}function Dd(){return Tr||(Tr=new et,Object.freeze(Tr)),Tr}function Pa(t){if(t>Math.PI*2)throw Error("expected radians")}function Gd(t,e,r,n,i,o){let s=2*o/(r-e),a=2*o/(i-n),c=(r+e)/(r-e),l=(i+n)/(i-n),u=-1,f=-1,h=-2*o;return t[0]=s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=c,t[9]=l,t[10]=u,t[11]=f,t[12]=0,t[13]=0,t[14]=h,t[15]=0,t}function Ea(){let t=new j(4);return j!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function Oa(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function Ri(t,e,r){r=r*.5;let n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t}function Fi(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=r[0],c=r[1],l=r[2],u=r[3];return t[0]=n*u+s*a+i*l-o*c,t[1]=i*u+s*c+o*a-n*l,t[2]=o*u+s*l+n*c-i*a,t[3]=s*u-n*a-i*c-o*l,t}function Ia(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*a,t[1]=i*c+o*a,t[2]=o*c-i*a,t[3]=s*c-n*a,t}function Aa(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c-o*a,t[1]=i*c+s*a,t[2]=o*c+n*a,t[3]=s*c-i*a,t}function La(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+i*a,t[1]=i*c-n*a,t[2]=o*c+s*a,t[3]=s*c-o*a,t}function Ra(t,e){let r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t}function Ae(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=r[0],l=r[1],u=r[2],f=r[3],h,d,p,g,m;return h=i*c+o*l+s*u+a*f,h<0&&(h=-h,c=-c,l=-l,u=-u,f=-f),1-h>1e-6?(d=Math.acos(h),m=Math.sin(d),p=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(p=1-n,g=n),t[0]=p*i+g*c,t[1]=p*o+g*l,t[2]=p*s+g*u,t[3]=p*a+g*f,t}function Fa(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r*r+n*n+i*i+o*o,a=s?1/s:0;return t[0]=-r*a,t[1]=-n*a,t[2]=-i*a,t[3]=o*a,t}function Na(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function Ni(t,e){let r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{let i=0;e[4]>e[0]&&(i=1),e[8]>e[i*3+i]&&(i=2);let o=(i+1)%3,s=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[o*3+o]-e[s*3+s]+1),t[i]=.5*n,n=.5/n,t[3]=(e[o*3+s]-e[s*3+o])*n,t[o]=(e[o*3+i]+e[i*3+o])*n,t[s]=(e[s*3+i]+e[i*3+s])*n}return t}var Ca=ya;var za=va,Ba=wa,ka=Ma,qa=xa;var Ua=_a;var ja=ba;var Va=function(){let t=ci(),e=li(1,0,0),r=li(0,1,0);return function(n,i,o){let s=ui(i,o);return s<-.999999?(ae(t,e,i),na(t)<1e-6&&ae(t,r,i),Ks(t,t),Ri(n,t,Math.PI),n):s>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(ae(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+s,ja(n,n))}}(),C_=function(){let t=Ea(),e=Ea();return function(r,n,i,o,s,a){return Ae(t,n,s,a),Ae(e,i,o,a),Ae(r,t,e,2*a*(1-a)),r}}(),z_=function(){let t=ia();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],ja(e,Ni(e,t))}}();var Zd=[0,0,0,1],fe=class extends At{constructor(e=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(e)&&arguments.length===1?this.copy(e):this.set(e,r,n,i)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,r,n,i){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this.check()}fromObject(e){return this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this.check()}fromMatrix3(e){return Ni(this,e),this.check()}fromAxisRotation(e,r){return Ri(this,e,r),this.check()}identity(){return Oa(this),this.check()}setAxisAngle(e,r){return this.fromAxisRotation(e,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=N(e)}get y(){return this[1]}set y(e){this[1]=N(e)}get z(){return this[2]}set z(e){this[2]=N(e)}get w(){return this[3]}set w(e){this[3]=N(e)}len(){return qa(this)}lengthSquared(){return Ua(this)}dot(e){return Ba(this,e)}rotationTo(e,r){return Va(this,e,r),this.check()}add(e){return Ca(this,this,e),this.check()}calculateW(){return Ra(this,this),this.check()}conjugate(){return Na(this,this),this.check()}invert(){return Fa(this,this),this.check()}lerp(e,r,n){return n===void 0?this.lerp(this,e,r):(ka(this,e,r,n),this.check())}multiplyRight(e){return Fi(this,this,e),this.check()}multiplyLeft(e){return Fi(this,e,this),this.check()}normalize(){let e=this.len(),r=e>0?1/e:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,e===0&&(this[3]=1),this.check()}rotateX(e){return Ia(this,this,e),this.check()}rotateY(e){return Aa(this,this,e),this.check()}rotateZ(e){return La(this,this,e),this.check()}scale(e){return za(this,this,e),this.check()}slerp(e,r,n){let i,o,s;switch(arguments.length){case 1:({start:i=Zd,target:o,ratio:s}=e);break;case 2:i=this,o=e,s=r;break;default:i=e,o=r,s=n}return Ae(this,i,o,s),this.check()}transformVector4(e,r=new le){return Ta(r,e,this),Lt(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,r){return this.setAxisAngle(e,r)}premultiply(e){return this.multiplyLeft(e)}multiply(e){return this.multiplyRight(e)}};var Le={};kn(Le,{EPSILON1:()=>Xd,EPSILON10:()=>rp,EPSILON11:()=>np,EPSILON12:()=>ip,EPSILON13:()=>op,EPSILON14:()=>sp,EPSILON15:()=>ap,EPSILON16:()=>cp,EPSILON17:()=>lp,EPSILON18:()=>up,EPSILON19:()=>fp,EPSILON2:()=>Yd,EPSILON20:()=>hp,EPSILON3:()=>Hd,EPSILON4:()=>$d,EPSILON5:()=>Qd,EPSILON6:()=>Kd,EPSILON7:()=>Jd,EPSILON8:()=>tp,EPSILON9:()=>ep,PI_OVER_FOUR:()=>pp,PI_OVER_SIX:()=>mp,PI_OVER_TWO:()=>dp,TWO_PI:()=>gp});var Xd=.1,Yd=.01,Hd=.001,$d=1e-4,Qd=1e-5,Kd=1e-6,Jd=1e-7,tp=1e-8,ep=1e-9,rp=1e-10,np=1e-11,ip=1e-12,op=1e-13,sp=1e-14,ap=1e-15,cp=1e-16,lp=1e-17,up=1e-18,fp=1e-19,hp=1e-20,dp=Math.PI/2,pp=Math.PI/4,mp=Math.PI/6,gp=Math.PI*2;function Pr(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}var st=Math.PI,Za=st/4,Wa=st/180,Da=180/st,Er=512;function bt(t){let[e,r]=t;Pr(Number.isFinite(e)),Pr(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude");let n=e*Wa,i=r*Wa,o=Er*(n+st)/(2*st),s=Er*(st+Math.log(Math.tan(Za+i*.5)))/(2*st);return[o,s]}function wt(t){let[e,r]=t,n=e/Er*(2*st)-st,i=2*(Math.atan(Math.exp(r/Er*(2*st)-st))-Za);return[n*Da,i*Da]}var Mb=Math.PI/180;var Ya=6378137*Math.PI;function Ci(t){var e=bt(t);return e[0]=(e[0]/256-1)*Ya,e[1]=(e[1]/256-1)*Ya,e}function Ir(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ir=function(r){return typeof r}:Ir=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ir(t)}function Ha(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(l){r(l);return}a.done?e(c):Promise.resolve(c).then(n,i)}function zi(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){Ha(o,n,i,s,a,"next",c)}function a(c){Ha(o,n,i,s,a,"throw",c)}s(void 0)})}}function $a(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Or(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?$a(Object(r),!0).forEach(function(n){Rp(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):$a(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Rp(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Fp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Qa(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Np(t,e,r){return e&&Qa(t.prototype,e),r&&Qa(t,r),t}function Ar(t,e,r){return typeof Reflect<"u"&&Reflect.get?Ar=Reflect.get:Ar=function(i,o,s){var a=Cp(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},Ar(t,e,r||t)}function Cp(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=he(t),t!==null););return t}function zp(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Bi(t,e)}function Bi(t,e){return Bi=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Bi(t,e)}function Bp(t){var e=Up();return function(){var n=he(t),i;if(e){var o=he(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return kp(this,i)}}function kp(t,e){if(e&&(Ir(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return qp(t)}function qp(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Up(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function he(t){return he=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},he(t)}var jp={id:"imagery-layer",data:"",serviceType:"auto",srs:"auto",layers:{type:"array",compare:!0,value:[]},onMetadataLoad:{type:"function",value:function(){}},onMetadataLoadError:{type:"function",value:console.error},onImageLoadStart:{type:"function",value:function(){}},onImageLoad:{type:"function",value:function(){}},onImageLoadError:{type:"function",compare:!1,value:function(e,r){return console.error(r,e)}}},Lr=function(t){zp(r,t);var e=Bp(r);function r(){var i;Fp(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.shouldUpdateState=function(){return!0},n.initializeState=function(){this.state._nextRequestId=0,this.state.lastRequestId=-1,this.state.loadCounter=0},n.updateState=function(o){var s=this,a=o.changeFlags,c=o.props,l=o.oldProps,u=this.context.viewport;a.dataChanged||c.serviceType!==l.serviceType?(this.state.imageSource=this._createImageSource(c),this._loadMetadata(),this.debounce(function(){return s.loadImage(u,"image source changed")},0)):(0,Gt._deepEqual)(c.layers,l.layers,1)?a.viewportChanged&&this.debounce(function(){return s.loadImage(u,"viewport changed")}):this.debounce(function(){return s.loadImage(u,"layers changed")},0)},n.finalizeState=function(){},n.renderLayers=function(){var o=this.state,s=o.bounds,a=o.image,c=o.lastRequestParameters;return a&&new Ka.BitmapLayer(Or(Or({},this.getSubLayerProps({id:"bitmap"})),{},{_imageCoordinateSystem:c.srs==="EPSG:4326"?Gt.COORDINATE_SYSTEM.LNGLAT:Gt.COORDINATE_SYSTEM.CARTESIAN,bounds:s,image:a}))},n.getFeatureInfoText=function(){var i=zi(regeneratorRuntime.mark(function s(a,c){var l,u,f,h;return regeneratorRuntime.wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(l=this.state.lastRequestParameters,!l){p.next=6;break}return p.next=4,(u=(f=this.state.imageSource).getFeatureInfoText)===null||u===void 0?void 0:u.call(f,Or(Or({},l),{},{query_layers:l.layers,x:a,y:c,info_format:"application/vnd.ogc.gml"}));case 4:return h=p.sent,p.abrupt("return",h);case 6:return p.abrupt("return","");case 7:case"end":return p.stop()}},s,this)}));function o(s,a){return i.apply(this,arguments)}return o}(),n._createImageSource=function(o){if(o.data instanceof rt)return o.data;if(typeof o.data=="string")return si({url:o.data,loadOptions:o.loadOptions,type:o.serviceType});throw new Error("invalid image source in props.data")},n._loadMetadata=function(){var i=zi(regeneratorRuntime.mark(function s(){var a,c,l,u;return regeneratorRuntime.wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return a=this.state.imageSource,h.prev=1,this.state.loadCounter++,h.next=5,a.getMetadata();case 5:c=h.sent,this.state.imageSource===a&&((l=this.getCurrentLayer())===null||l===void 0||l.props.onMetadataLoad(c)),h.next=12;break;case 9:h.prev=9,h.t0=h.catch(1),(u=this.getCurrentLayer())===null||u===void 0||u.props.onMetadataLoadError(h.t0);case 12:return h.prev=12,this.state.loadCounter--,h.finish(12);case 15:case"end":return h.stop()}},s,this,[[1,9,12,15]])}));function o(){return i.apply(this,arguments)}return o}(),n.loadImage=function(){var i=zi(regeneratorRuntime.mark(function s(a,c){var l,u,f,h,d,p,g,m,v,w,x,b,T,S;return regeneratorRuntime.wrap(function(M){for(;;)switch(M.prev=M.next){case 0:if(l=this.props,u=l.layers,f=l.serviceType,!(f==="wms"&&u.length===0)){M.next=3;break}return M.abrupt("return");case 3:return h=a.getBounds(),d=a.width,p=a.height,g=this.getRequestId(),m=this.props.srs,m==="auto"&&(m=a.resolution?"EPSG:4326":"EPSG:3857"),v={width:d,height:p,boundingBox:[[h[0],h[1]],[h[2],h[3]]],layers:u,crs:m},m==="EPSG:3857"&&(w=Ci([h[0],h[1]]),x=Ci([h[2],h[3]]),v.boundingBox=[w,x]),M.prev=10,this.state.loadCounter++,this.props.onImageLoadStart(g),M.next=15,this.state.imageSource.getImage(v);case 15:b=M.sent,this.state.lastRequestId<g&&((T=this.getCurrentLayer())===null||T===void 0||T.props.onImageLoad(g),this.setState({image:b,bounds:h,lastRequestParameters:v,lastRequestId:g})),M.next=23;break;case 19:M.prev=19,M.t0=M.catch(10),this.raiseError(M.t0,"Load image"),(S=this.getCurrentLayer())===null||S===void 0||S.props.onImageLoadError(g,M.t0);case 23:return M.prev=23,this.state.loadCounter--,M.finish(23);case 26:case"end":return M.stop()}},s,this,[[10,19,23,26]])}));function o(s,a){return i.apply(this,arguments)}return o}(),n.getRequestId=function(){return this.state._nextRequestId++},n.debounce=function(o){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:500;clearTimeout(this.state._timeoutId),this.state._timeoutId=setTimeout(function(){return o()},s)},Np(r,[{key:"isLoaded",get:function(){return Boolean(this.state)&&this.state.loadCounter===0&&Ar(he(r.prototype),"isLoaded",this)}}]),r}(Gt.CompositeLayer);Lr.layerName="WMSLayer";Lr.defaultProps=jp;var Ja=B(ct());function Rr(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Rr=function(r){return typeof r}:Rr=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Rr(t)}function Vp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Wp(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ki(t,e)}function ki(t,e){return ki=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},ki(t,e)}function Dp(t){var e=Xp();return function(){var n=Fr(t),i;if(e){var o=Fr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Gp(this,i)}}function Gp(t,e){if(e&&(Rr(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Zp(t)}function Zp(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Xp(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Fr(t){return Fr=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Fr(t)}var Yp={getHeight:{type:"accessor",value:0},greatCircle:!0},Nr=function(t){Wp(r,t);var e=Dp(r);function r(){return Vp(this,r),e.apply(this,arguments)}return r}(Ja.ArcLayer);Nr.layerName="GreatCircleLayer";Nr.defaultProps=Yp;var ec=B(ut()),ji=B(ct());function Cr(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Cr=function(r){return typeof r}:Cr=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Cr(t)}var Hp=["updateTriggers"];function $p(t,e){if(t==null)return{};var r=Qp(t,e),n,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i<o.length;i++)n=o[i],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function Qp(t,e){if(t==null)return{};var r={},n=Object.keys(t),i,o;for(o=0;o<n.length;o++)i=n[o],!(e.indexOf(i)>=0)&&(r[i]=t[i]);return r}function Kp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Jp(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&qi(t,e)}function qi(t,e){return qi=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},qi(t,e)}function t0(t){var e=n0();return function(){var n=zr(t),i;if(e){var o=zr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return e0(this,i)}}function e0(t,e){if(e&&(Cr(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return r0(t)}function r0(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function n0(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function zr(t){return zr=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},zr(t)}function tc(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Ui(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?tc(Object(r),!0).forEach(function(n){i0(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):tc(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function i0(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o0=Ui({},ji.PolygonLayer.defaultProps),nt=function(t){Jp(r,t);var e=t0(r);function r(){return Kp(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){return null},n.renderLayers=function(){var o=this.props,s=o.elevationScale,a=o.extruded,c=o.wireframe,l=o.filled,u=o.stroked,f=o.lineWidthUnits,h=o.lineWidthScale,d=o.lineWidthMinPixels,p=o.lineWidthMaxPixels,g=o.lineJointRounded,m=o.lineMiterLimit,v=o.lineDashJustified,w=o.getElevation,x=o.getFillColor,b=o.getLineColor,T=o.getLineWidth,S=this.props,P=S.updateTriggers,M=S.material,_=S.transitions,y=this.getSubLayerClass("cell",ji.PolygonLayer),E=this.indexToBounds()||{},A=E.updateTriggers,L=$p(E,Hp);return new y({filled:l,wireframe:c,extruded:a,elevationScale:s,stroked:u,lineWidthUnits:f,lineWidthScale:h,lineWidthMinPixels:d,lineWidthMaxPixels:p,lineJointRounded:g,lineMiterLimit:m,lineDashJustified:v,material:M,transitions:_,getElevation:w,getFillColor:x,getLineColor:b,getLineWidth:T},this.getSubLayerProps({id:"cell",updateTriggers:P&&Ui(Ui({},A),{},{getElevation:P.getElevation,getFillColor:P.getFillColor,getLineColor:P.getLineColor,getLineWidth:P.getLineWidth})}),L)},r}(ec.CompositeLayer);nt.layerName="GeoCellLayer";nt.defaultProps=o0;var Br=B(Vi());function sc(t,e){return l0(t)||c0(t,e)||a0(t,e)||s0()}function s0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
15
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a0(t,e){if(t){if(typeof t=="string")return nc(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return nc(t,e)}}function nc(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function c0(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function l0(t){if(Array.isArray(t))return t}var u0=3,f0=30,h0=2*f0+1,ic=180/Math.PI;function ac(t,e,r){var n=1<<e;return[(t[0]+r[0])/n,(t[1]+r[1])/n]}function oc(t){return t>=.5?1/3*(4*t*t-1):1/3*(1-4*(1-t)*(1-t))}function cc(t){return[oc(t[0]),oc(t[1])]}function lc(t,e){var r=sc(e,2),n=r[0],i=r[1];switch(t){case 0:return[1,n,i];case 1:return[-n,1,i];case 2:return[-n,-i,1];case 3:return[-1,-i,-n];case 4:return[i,-1,-n];case 5:return[i,n,-1];default:throw new Error("Invalid face")}}function uc(t){var e=sc(t,3),r=e[0],n=e[1],i=e[2],o=Math.atan2(i,Math.sqrt(r*r+n*n)),s=Math.atan2(n,r);return[s*ic,o*ic]}function fc(t){for(var e=Br.default.fromString(t,!0,10).toString(2);e.length<u0+h0;)e="0"+e;for(var r=e.lastIndexOf("1"),n=e.substring(0,3),i=e.substring(3,r),o=i.length/2,s=Br.default.fromString(n,!0,2).toString(10),a=Br.default.fromString(i,!0,2).toString(4);a.length<o;)a="0"+a;return"".concat(s,"/").concat(a)}function d0(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);var i=e[0];e[0]=e[1],e[1]=i}}function hc(t){for(var e=t.split("/"),r=parseInt(e[0],10),n=e[1],i=n.length,o=[0,0],s,a=i-1;a>=0;a--){s=i-a;var c=n[a],l=0,u=0;c==="1"?u=1:c==="2"?(l=1,u=1):c==="3"&&(l=1);var f=Math.pow(2,s-1);d0(f,o,l,u),o[0]+=f*l,o[1]+=f*u}if(r%2===1){var h=o[0];o[0]=o[1],o[1]=h}return{face:r,ij:o,level:s}}var dc=B(Vi());function p0(t){var e=t.padEnd(16,"0");return dc.default.fromString(e,16)}var m0=100;function g0(t){for(var e=t.face,r=t.ij,n=t.level,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],o=Math.max(1,Math.ceil(m0*Math.pow(2,-n))),s=new Float64Array(4*o*2+2),a=0,c=0,l=0;l<4;l++)for(var u=i[l].slice(0),f=i[l+1],h=(f[0]-u[0])/o,d=(f[1]-u[1])/o,p=0;p<o;p++){u[0]+=h,u[1]+=d;var g=ac(r,n,u),m=cc(g),v=lc(e,m),w=uc(v);Math.abs(w[1])>89.999&&(w[0]=c);var x=w[0]-c;w[0]+=x>180?-360:x<-180?360:0,s[a++]=w[0],s[a++]=w[1],c=w[0]}return s[a++]=s[0],s[a++]=s[1],s}function y0(t){if(typeof t=="string"){if(t.indexOf("/")>0)return t;t=p0(t)}return fc(t.toString())}function pc(t){var e=y0(t),r=hc(e);return g0(r)}function kr(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?kr=function(r){return typeof r}:kr=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},kr(t)}function v0(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function x0(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Wi(t,e)}function Wi(t,e){return Wi=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Wi(t,e)}function _0(t){var e=M0();return function(){var n=qr(t),i;if(e){var o=qr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b0(this,i)}}function b0(t,e){if(e&&(kr(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return w0(t)}function w0(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function M0(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function qr(t){return qr=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},qr(t)}var S0={getS2Token:{type:"accessor",value:function(e){return e.token}}},Ur=function(t){x0(r,t);var e=_0(r);function r(){return v0(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.getS2Token;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(l,u){return pc(a(l,u))}}},r}(nt);Ur.layerName="S2Layer";Ur.defaultProps=S0;function Di(t,e){return O0(t)||E0(t,e)||P0(t,e)||T0()}function T0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
16
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function P0(t,e){if(t){if(typeof t=="string")return mc(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mc(t,e)}}function mc(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function E0(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function O0(t){if(Array.isArray(t))return t}var Gi=512;function I0(t,e){for(var r=0,n=0,i=1<<t.length,o=i/Gi,s=0;s<t.length;s++){i>>=1;var a=parseInt(t[s]);a%2&&(r|=i),a>1&&(n|=i)}return[[r/o,Gi-n/o],[(r+e)/o,Gi-(n+e)/o]]}function gc(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,r=I0(t,e),n=Di(r,2),i=n[0],o=n[1],s=wt(i),a=Di(s,2),c=a[0],l=a[1],u=wt(o),f=Di(u,2),h=f[0],d=f[1];return[h,l,h,d,c,d,c,l,h,l]}function jr(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?jr=function(r){return typeof r}:jr=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},jr(t)}function A0(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function L0(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Zi(t,e)}function Zi(t,e){return Zi=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Zi(t,e)}function R0(t){var e=C0();return function(){var n=Vr(t),i;if(e){var o=Vr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return F0(this,i)}}function F0(t,e){if(e&&(jr(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return N0(t)}function N0(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function C0(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Vr(t){return Vr=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Vr(t)}var z0={getQuadkey:{type:"accessor",value:function(e){return e.quadkey}}},Wr=function(t){L0(r,t);var e=R0(r);function r(){return A0(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.extruded,c=o.getQuadkey,l=a?.99:1;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(f,h){return gc(c(f,h),l)},updateTriggers:{getPolygon:l}}},r}(nt);Wr.layerName="QuadkeyLayer";Wr.defaultProps=z0;var en=B(ut()),$c=B(ct());function yc(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(l){r(l);return}a.done?e(c):Promise.resolve(c).then(n,i)}function B0(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){yc(o,n,i,s,a,"next",c)}function a(c){yc(o,n,i,s,a,"throw",c)}s(void 0)})}}function k0(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function vc(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function q0(t,e,r){return e&&vc(t.prototype,e),r&&vc(t,r),t}var Fe=function(){function t(r){k0(this,t),this.index=void 0,this.isVisible=void 0,this.isSelected=void 0,this.parent=void 0,this.children=void 0,this.content=void 0,this.state=void 0,this.layers=void 0,this.id=void 0,this.zoom=void 0,this.userData=void 0,this.boundingBox=void 0,this._abortController=void 0,this._loader=void 0,this._loaderId=void 0,this._isLoaded=void 0,this._isCancelled=void 0,this._needsReload=void 0,this._bbox=void 0,this.index=r,this.isVisible=!1,this.isSelected=!1,this.parent=null,this.children=[],this.content=null,this._loader=void 0,this._abortController=null,this._loaderId=0,this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1}var e=t.prototype;return e._loadData=function(){var r=B0(regeneratorRuntime.mark(function i(o){var s,a,c,l,u,f,h,d,p,g,m,v,w,x;return regeneratorRuntime.wrap(function(T){for(;;)switch(T.prev=T.next){case 0:return s=o.getData,a=o.requestScheduler,c=o.onLoad,l=o.onError,u=this.index,f=this.id,h=this.bbox,d=this.userData,p=this.zoom,g=this._loaderId,this._abortController=new AbortController,m=this._abortController.signal,T.next=7,a.scheduleRequest(this,function(S){return S.isSelected?1:-1});case 7:if(v=T.sent,v){T.next=11;break}return this._isCancelled=!0,T.abrupt("return");case 11:if(!this._isCancelled){T.next=14;break}return v.done(),T.abrupt("return");case 14:return w=null,T.prev=15,T.next=18,s({index:u,id:f,bbox:h,userData:d,zoom:p,signal:m});case 18:w=T.sent,T.next=24;break;case 21:T.prev=21,T.t0=T.catch(15),x=T.t0||!0;case 24:return T.prev=24,v.done(),T.finish(24);case 27:if(g===this._loaderId){T.next=29;break}return T.abrupt("return");case 29:if(this._loader=void 0,this.content=w,!(this._isCancelled&&!w)){T.next=34;break}return this._isLoaded=!1,T.abrupt("return");case 34:this._isLoaded=!0,this._isCancelled=!1,x?l(x,this):c(this);case 37:case"end":return T.stop()}},i,this,[[15,21,24,27]])}));function n(i){return r.apply(this,arguments)}return n}(),e.loadData=function(n){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(n),this._loader},e.setNeedsReload=function(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0},e.abort=function(){var n;this.isLoaded||(this._isCancelled=!0,(n=this._abortController)===null||n===void 0||n.abort())},q0(t,[{key:"bbox",get:function(){return this._bbox},set:function(n){this._bbox||(this._bbox=n,"west"in n?this.boundingBox=[[n.west,n.south],[n.east,n.north]]:this.boundingBox=[[n.left,n.top],[n.right,n.bottom]])}},{key:"data",get:function(){var n=this;return this.isLoading&&this._loader?this._loader.then(function(){return n.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 n=this.content?this.content.byteLength:0;return Number.isFinite(n)||console.error("byteLength not defined in tile data"),n}}]),t}();var Ce=B(ut());var Z={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var xc=new O,U0=new O,Rt=class{constructor(e=[0,0,0],r=[0,0,0],n){F(this,"center",void 0),F(this,"halfDiagonal",void 0),F(this,"minimum",void 0),F(this,"maximum",void 0),n=n||xc.copy(e).add(r).scale(.5),this.center=new O(n),this.halfDiagonal=new O(r).subtract(this.center),this.minimum=new O(e),this.maximum=new O(r)}clone(){return new Rt(this.minimum,this.maximum,this.center)}equals(e){return this===e||Boolean(e)&&this.minimum.equals(e.minimum)&&this.maximum.equals(e.maximum)}transform(e){return this.center.transformAsPoint(e),this.halfDiagonal.transform(e),this.minimum.transform(e),this.maximum.transform(e),this}intersectPlane(e){let{halfDiagonal:r}=this,n=U0.from(e.normal),i=r.x*Math.abs(n.x)+r.y*Math.abs(n.y)+r.z*Math.abs(n.z),o=this.center.dot(n)+e.distance;return o-i>0?Z.INSIDE:o+i<0?Z.OUTSIDE:Z.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=xc.from(e).subtract(this.center),{halfDiagonal:n}=this,i=0,o;return o=Math.abs(r.x)-n.x,o>0&&(i+=o*o),o=Math.abs(r.y)-n.y,o>0&&(i+=o*o),o=Math.abs(r.z)-n.z,o>0&&(i+=o*o),i}};var Ne=new O,_c=new O,Ft=class{constructor(e=[0,0,0],r=0){F(this,"center",void 0),F(this,"radius",void 0),this.radius=-0,this.center=new O,this.fromCenterRadius(e,r)}fromCenterRadius(e,r){return this.center.from(e),this.radius=r,this}fromCornerPoints(e,r){return r=Ne.from(r),this.center=new O().from(e).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}clone(){return new Ft(this.center,this.radius)}union(e){let r=this.center,n=this.radius,i=e.center,o=e.radius,s=Ne.copy(i).subtract(r),a=s.magnitude();if(n>=a+o)return this.clone();if(o>=a+n)return e.clone();let c=(n+a+o)*.5;return _c.copy(s).scale((-n+c)/a).add(r),this.center.copy(_c),this.radius=c,this}expand(e){let n=Ne.from(e).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(e){this.center.transform(e);let r=Mr.getScaling(Ne,e);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(e){let r=this.distanceTo(e);return r*r}distanceTo(e){let n=Ne.from(e).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(e){let r=this.center,n=this.radius,o=e.normal.dot(r)+e.distance;return o<-n?Z.OUTSIDE:o<n?Z.INTERSECTING:Z.INSIDE}};var j0=new O,V0=new O,Dr=new O,Gr=new O,Zr=new O,W0=new O,D0=new O,Mt={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},Zt=class{constructor(e=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){F(this,"center",void 0),F(this,"halfAxes",void 0),this.center=new O().from(e),this.halfAxes=new V(r)}get halfSize(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new O(e).len(),new O(r).len(),new O(n).len()]}get quaternion(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new O(e).normalize(),o=new O(r).normalize(),s=new O(n).normalize();return new fe().fromMatrix3(new V([...i,...o,...s]))}fromCenterHalfSizeQuaternion(e,r,n){let i=new fe(n),o=new V().fromQuaternion(i);return o[0]=o[0]*r[0],o[1]=o[1]*r[0],o[2]=o[2]*r[0],o[3]=o[3]*r[1],o[4]=o[4]*r[1],o[5]=o[5]*r[1],o[6]=o[6]*r[2],o[7]=o[7]*r[2],o[8]=o[8]*r[2],this.center=new O().from(e),this.halfAxes=o,this}clone(){return new Zt(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Ft){let r=this.halfAxes,n=r.getColumn(0,Dr),i=r.getColumn(1,Gr),o=r.getColumn(2,Zr),s=j0.copy(n).add(i).add(o);return e.center.copy(this.center),e.radius=s.magnitude(),e}intersectPlane(e){let r=this.center,n=e.normal,i=this.halfAxes,o=n.x,s=n.y,a=n.z,c=Math.abs(o*i[Mt.COLUMN0ROW0]+s*i[Mt.COLUMN0ROW1]+a*i[Mt.COLUMN0ROW2])+Math.abs(o*i[Mt.COLUMN1ROW0]+s*i[Mt.COLUMN1ROW1]+a*i[Mt.COLUMN1ROW2])+Math.abs(o*i[Mt.COLUMN2ROW0]+s*i[Mt.COLUMN2ROW1]+a*i[Mt.COLUMN2ROW2]),l=n.dot(r)+e.distance;return l<=-c?Z.OUTSIDE:l>=c?Z.INSIDE:Z.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=V0.from(e).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,Dr),o=n.getColumn(1,Gr),s=n.getColumn(2,Zr),a=i.magnitude(),c=o.magnitude(),l=s.magnitude();i.normalize(),o.normalize(),s.normalize();let u=0,f;return f=Math.abs(r.dot(i))-a,f>0&&(u+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(u+=f*f),f=Math.abs(r.dot(s))-l,f>0&&(u+=f*f),u}computePlaneDistances(e,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=this.center,a=this.halfAxes,c=a.getColumn(0,Dr),l=a.getColumn(1,Gr),u=a.getColumn(2,Zr),f=W0.copy(c).add(l).add(u).add(s),h=D0.copy(f).subtract(e),d=r.dot(h);return i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).add(l).subtract(u),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).subtract(l).add(u),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).subtract(l).subtract(u),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).add(l).add(u),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).add(l).subtract(u),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).subtract(l).add(u),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).subtract(l).subtract(u),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),n[0]=i,n[1]=o,n}transform(e){this.center.transformAsPoint(e);let r=this.halfAxes.getColumn(0,Dr);r.transformAsPoint(e);let n=this.halfAxes.getColumn(1,Gr);n.transformAsPoint(e);let i=this.halfAxes.getColumn(2,Zr);return i.transformAsPoint(e),this.halfAxes=new V([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var bc=new O,wc=new O,at=class{constructor(e=[0,0,1],r=0){F(this,"normal",void 0),F(this,"distance",void 0),this.normal=new O,this.distance=-0,this.fromNormalDistance(e,r)}fromNormalDistance(e,r){return mt(Number.isFinite(r)),this.normal.from(e).normalize(),this.distance=r,this}fromPointNormal(e,r){e=bc.from(e),this.normal.from(r).normalize();let n=-this.normal.dot(e);return this.distance=n,this}fromCoefficients(e,r,n,i){return this.normal.set(e,r,n),mt(pt(this.normal.len(),1)),this.distance=i,this}clone(){return new at(this.normal,this.distance)}equals(e){return pt(this.distance,e.distance)&&pt(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){let r=wc.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,r)}projectPointOntoPlane(e,r=[0,0,0]){let n=bc.from(e),i=this.getPointDistance(n),o=wc.copy(this.normal).scale(i);return n.subtract(o).to(r)}};var Mc=[new O([1,0,0]),new O([0,1,0]),new O([0,0,1])],Sc=new O,G0=new O,tt=class{constructor(e=[]){F(this,"planes",void 0),this.planes=e}fromBoundingSphere(e){this.planes.length=2*Mc.length;let r=e.center,n=e.radius,i=0;for(let o of Mc){let s=this.planes[i],a=this.planes[i+1];s||(s=this.planes[i]=new at),a||(a=this.planes[i+1]=new at);let c=Sc.copy(o).scale(-n).add(r);s.fromPointNormal(c,o);let l=Sc.copy(o).scale(n).add(r),u=G0.copy(o).negate();a.fromPointNormal(l,u),i+=2}return this}computeVisibility(e){let r=Z.INSIDE;for(let n of this.planes)switch(e.intersectPlane(n)){case Z.OUTSIDE:return Z.OUTSIDE;case Z.INTERSECTING:r=Z.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(e,r){if(mt(Number.isFinite(r),"parentPlaneMask is required."),r===tt.MASK_OUTSIDE||r===tt.MASK_INSIDE)return r;let n=tt.MASK_INSIDE,i=this.planes;for(let o=0;o<this.planes.length;++o){let s=o<31?1<<o:0;if(o<31&&!(r&s))continue;let a=i[o],c=e.intersectPlane(a);if(c===Z.OUTSIDE)return tt.MASK_OUTSIDE;c===Z.INTERSECTING&&(n|=s)}return n}};F(tt,"MASK_OUTSIDE",4294967295);F(tt,"MASK_INSIDE",0);F(tt,"MASK_INDETERMINATE",2147483647);var Xw=new O,Yw=new O,Hw=new O,$w=new O,Qw=new O;var iM=new O,oM=new O,sM=new O,aM=new O,cM=new O,lM=new O,uM=new O,fM=new O,hM=new O,dM=new O,pM=new O,mM=new O;var gt=new V,X0=new V,Y0=new V,Xr=new V,Tc=new V;function Hi(t,e={}){let r=Le.EPSILON20,n=10,i=0,o=0,s=X0,a=Y0;s.identity(),a.copy(t);let c=r*H0(a);for(;o<n&&$0(a)>c;)Q0(a,Xr),Tc.copy(Xr).transpose(),a.multiplyRight(Xr),a.multiplyLeft(Tc),s.multiplyRight(Xr),++i>2&&(++o,i=0);return e.unitary=s.toTarget(e.unitary),e.diagonal=a.toTarget(e.diagonal),e}function H0(t){let e=0;for(let r=0;r<9;++r){let n=t[r];e+=n*n}return Math.sqrt(e)}var Xi=[1,0,0],Yi=[2,2,1];function $0(t){let e=0;for(let r=0;r<3;++r){let n=t[gt.getElementIndex(Yi[r],Xi[r])];e+=2*n*n}return Math.sqrt(e)}function Q0(t,e){let r=Le.EPSILON15,n=0,i=1;for(let l=0;l<3;++l){let u=Math.abs(t[gt.getElementIndex(Yi[l],Xi[l])]);u>n&&(i=l,n=u)}let o=Xi[i],s=Yi[i],a=1,c=0;if(Math.abs(t[gt.getElementIndex(s,o)])>r){let l=t[gt.getElementIndex(s,s)],u=t[gt.getElementIndex(o,o)],f=t[gt.getElementIndex(s,o)],h=(l-u)/2/f,d;h<0?d=-1/(-h+Math.sqrt(1+h*h)):d=1/(h+Math.sqrt(1+h*h)),a=1/Math.sqrt(1+d*d),c=d*a}return V.IDENTITY.to(e),e[gt.getElementIndex(o,o)]=e[gt.getElementIndex(s,s)]=a,e[gt.getElementIndex(s,o)]=c,e[gt.getElementIndex(o,s)]=-c,e}var Nt=new O,K0=new O,J0=new O,tm=new O,em=new O,rm=new V,nm={diagonal:new V,unitary:new V};function $i(t,e=new Zt){if(!t||t.length===0)return e.halfAxes=new V([0,0,0,0,0,0,0,0,0]),e.center=new O,e;let r=t.length,n=new O(0,0,0);for(let _ of t)n.add(_);let i=1/r;n.multiplyByScalar(i);let o=0,s=0,a=0,c=0,l=0,u=0;for(let _ of t){let y=Nt.copy(_).subtract(n);o+=y.x*y.x,s+=y.x*y.y,a+=y.x*y.z,c+=y.y*y.y,l+=y.y*y.z,u+=y.z*y.z}o*=i,s*=i,a*=i,c*=i,l*=i,u*=i;let f=rm;f[0]=o,f[1]=s,f[2]=a,f[3]=s,f[4]=c,f[5]=l,f[6]=a,f[7]=l,f[8]=u;let{unitary:h}=Hi(f,nm),d=e.halfAxes.copy(h),p=d.getColumn(0,J0),g=d.getColumn(1,tm),m=d.getColumn(2,em),v=-Number.MAX_VALUE,w=-Number.MAX_VALUE,x=-Number.MAX_VALUE,b=Number.MAX_VALUE,T=Number.MAX_VALUE,S=Number.MAX_VALUE;for(let _ of t)Nt.copy(_),v=Math.max(Nt.dot(p),v),w=Math.max(Nt.dot(g),w),x=Math.max(Nt.dot(m),x),b=Math.min(Nt.dot(p),b),T=Math.min(Nt.dot(g),T),S=Math.min(Nt.dot(m),S);p=p.multiplyByScalar(.5*(b+v)),g=g.multiplyByScalar(.5*(T+w)),m=m.multiplyByScalar(.5*(S+x)),e.center.copy(p).add(g).add(m);let P=K0.set(v-b,w-T,x-S).multiplyByScalar(.5),M=new V([P[0],0,0,0,P[1],0,0,0,P[2]]);return e.halfAxes.multiplyRight(M),e}function Ic(t,e){return sm(t)||om(t,e)||Ac(t,e)||im()}function im(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
17
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function om(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function sm(t){if(Array.isArray(t))return t}function Qi(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Ac(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
18
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function Ac(t,e){if(t){if(typeof t=="string")return Pc(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Pc(t,e)}}function Pc(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function am(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Ec(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function cm(t,e,r){return e&&Ec(t.prototype,e),r&&Ec(t,r),t}var de=512,Oc=3,Lc=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],Rc=Lc.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),lm=Rc.concat([[.25,.5],[.75,.5]]),um=function(){function t(r,n,i){am(this,t),this.x=void 0,this.y=void 0,this.z=void 0,this.childVisible=void 0,this.selected=void 0,this._children=void 0,this.x=r,this.y=n,this.z=i}var e=t.prototype;return e.update=function(n){var i=n.viewport,o=n.cullingVolume,s=n.elevationBounds,a=n.minZ,c=n.maxZ,l=n.bounds,u=n.offset,f=n.project,h=this.getBoundingVolume(s,u,f);if(l&&!this.insideBounds(l))return!1;var d=o.computeVisibility(h);if(d<0)return!1;if(!this.childVisible){var p=this.z;if(p<c&&p>=a){var g=h.distanceTo(i.cameraPosition)*i.scale/i.height;p+=Math.floor(Math.log2(g))}if(p>=c)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;var m=Qi(this.children),v;try{for(m.s();!(v=m.n()).done;){var w=v.value;w.update(n)}}catch(x){m.e(x)}finally{m.f()}return!0},e.getSelected=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(this.selected&&n.push(this),this._children){var i=Qi(this._children),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.getSelected(n)}}catch(a){i.e(a)}finally{i.f()}}return n},e.insideBounds=function(n){var i=Ic(n,4),o=i[0],s=i[1],a=i[2],c=i[3],l=Math.pow(2,this.z),u=de/l;return this.x*u<a&&this.y*u<c&&(this.x+1)*u>o&&(this.y+1)*u>s},e.getBoundingVolume=function(n,i,o){if(o){var s=this.z<1?lm:this.z<2?Rc:Lc,a=[],c=Qi(s),l;try{for(c.s();!(l=c.n()).done;){var u=l.value,f=Yr(this.x+u[0],this.y+u[1],this.z);f[2]=n[0],a.push(o(f)),n[0]!==n[1]&&(f[2]=n[1],a.push(o(f)))}}catch(m){c.e(m)}finally{c.f()}return $i(a)}var h=Math.pow(2,this.z),d=de/h,p=this.x*d+i*de,g=de-(this.y+1)*d;return new Rt([p,g,n[0]],[p+d,g+d,n[1]])},cm(t,[{key:"children",get:function(){if(!this._children){var n=this.x*2,i=this.y*2,o=this.z+1;this._children=[new t(n,i,o),new t(n,i+1,o),new t(n+1,i,o),new t(n+1,i+1,o)]}return this._children}}]),t}();function Fc(t,e,r,n){var i=t instanceof Ce._GlobeViewport&&t.resolution?t.projectPosition:null,o=Object.values(t.getFrustumPlanes()).map(function(T){var S=T.normal,P=T.distance;return new at(S.clone().negate(),P)}),s=new tt(o),a=t.distanceScales.unitsPerMeter[2],c=r&&r[0]*a||0,l=r&&r[1]*a||0,u=t instanceof Ce.WebMercatorViewport&&t.pitch<=60?e:0;if(n){var f=n,h=Ic(f,4),d=h[0],p=h[1],g=h[2],m=h[3],v=bt([d,m]),w=bt([g,p]);n=[v[0],de-v[1],w[0],de-w[1]]}var x=new um(0,0,0),b={viewport:t,project:i,cullingVolume:s,elevationBounds:[c,l],minZ:u,maxZ:e,bounds:n,offset:0};if(x.update(b),t instanceof Ce.WebMercatorViewport&&t.subViewports&&t.subViewports.length>1){for(b.offset=-1;x.update(b)&&!(--b.offset<-Oc););for(b.offset=1;x.update(b)&&!(++b.offset>Oc););}return x.getSelected()}function pe(t,e){return dm(t)||hm(t,e)||Cc(t,e)||fm()}function fm(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
19
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hm(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function dm(t){if(Array.isArray(t))return t}function Hr(t){return gm(t)||mm(t)||Cc(t)||pm()}function pm(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
20
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Cc(t,e){if(t){if(typeof t=="string")return Ki(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ki(t,e)}}function mm(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function gm(t){if(Array.isArray(t))return Ki(t)}function Ki(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var St=512,ym=[-1/0,-1/0,1/0,1/0],Ct={type:"object",value:null,validate:function(e,r){return r.optional&&e===null||typeof e=="string"||Array.isArray(e)&&e.every(function(n){return typeof n=="string"})},equal:function(e,r){if(e===r)return!0;if(!Array.isArray(e)||!Array.isArray(r))return!1;var n=e.length;if(n!==r.length)return!1;for(var i=0;i<n;i++)if(e[i]!==r[i])return!1;return!0}};function zc(t,e){var r=[e.transformAsPoint([t[0],t[1]]),e.transformAsPoint([t[2],t[1]]),e.transformAsPoint([t[0],t[3]]),e.transformAsPoint([t[2],t[3]])],n=[Math.min.apply(Math,Hr(r.map(function(i){return i[0]}))),Math.min.apply(Math,Hr(r.map(function(i){return i[1]}))),Math.max.apply(Math,Hr(r.map(function(i){return i[0]}))),Math.max.apply(Math,Hr(r.map(function(i){return i[1]})))];return n}function vm(t){return Math.abs(t.split("").reduce(function(e,r){return(e<<5)-e+r.charCodeAt(0)|0},0))}function yt(t,e){if(!t||!t.length)return null;var r=e.index,n=e.id;if(Array.isArray(t)){var i=vm(n)%t.length;t=t[i]}for(var o=t,s=0,a=Object.keys(r);s<a.length;s++){var c=a[s],l=new RegExp("{".concat(c,"}"),"g");o=o.replace(l,String(r[c]))}return Number.isInteger(r.y)&&Number.isInteger(r.z)&&(o=o.replace(/\{-y\}/g,String(Math.pow(2,r.z)-r.y-1))),o}function xm(t,e,r){var n;if(e&&e.length===2){var i=pe(e,2),o=i[0],s=i[1],a=t.getBounds({z:o}),c=t.getBounds({z:s});n=[Math.min(a[0],c[0]),Math.min(a[1],c[1]),Math.max(a[2],c[2]),Math.max(a[3],c[3])]}else n=t.getBounds();return t.isGeospatial?[Math.max(n[0],r[0]),Math.max(n[1],r[1]),Math.min(n[2],r[2]),Math.min(n[3],r[3])]:[Math.max(Math.min(n[0],r[2]),r[0]),Math.max(Math.min(n[1],r[3]),r[1]),Math.min(Math.max(n[2],r[0]),r[2]),Math.min(Math.max(n[3],r[1]),r[3])]}function Bc(t){var e=t.viewport,r=t.z,n=t.cullRect,i=e.subViewports||[e];return i.map(function(o){return Ji(o,r||0,n)})}function Ji(t,e,r){if(!Array.isArray(e)){var n=r.x-t.x,i=r.y-t.y,o=r.width,s=r.height,a={targetZ:e},c=t.unproject([n,i],a),l=t.unproject([n+o,i],a),u=t.unproject([n,i+s],a),f=t.unproject([n+o,i+s],a);return[Math.min(c[0],l[0],u[0],f[0]),Math.min(c[1],l[1],u[1],f[1]),Math.max(c[0],l[0],u[0],f[0]),Math.max(c[1],l[1],u[1],f[1])]}var h=Ji(t,e[0],r),d=Ji(t,e[1],r);return[Math.min(h[0],d[0]),Math.min(h[1],d[1]),Math.max(h[2],d[2]),Math.max(h[3],d[3])]}function _m(t,e,r){if(r){var n=zc(t,r).map(function(i){return i*e/St});return n}return t.map(function(i){return i*e/St})}function to(t,e){return Math.pow(2,t)*St/e}function Yr(t,e,r){var n=to(r,St),i=t/n*360-180,o=Math.PI-2*Math.PI*e/n,s=180/Math.PI*Math.atan(.5*(Math.exp(o)-Math.exp(-o)));return[i,s]}function Nc(t,e,r,n){var i=to(r,n);return[t/i*St,e/i*St]}function eo(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:St;if(t.isGeospatial){var o=Yr(e,r,n),s=pe(o,2),a=s[0],c=s[1],l=Yr(e+1,r+1,n),u=pe(l,2),f=u[0],h=u[1];return{west:a,north:c,east:f,south:h}}var d=Nc(e,r,n,i),p=pe(d,2),g=p[0],m=p[1],v=Nc(e+1,r+1,n,i),w=pe(v,2),x=w[0],b=w[1];return{left:g,top:m,right:x,bottom:b}}function bm(t,e,r,n,i){for(var o=xm(t,null,n),s=to(e,r),a=_m(o,s,i),c=pe(a,4),l=c[0],u=c[1],f=c[2],h=c[3],d=[],p=Math.floor(l);p<f;p++)for(var g=Math.floor(u);g<h;g++)d.push({x:p,y:g,z:e});return d}function ro(t){var e=t.viewport,r=t.maxZoom,n=t.minZoom,i=t.zRange,o=t.extent,s=t.tileSize,a=s===void 0?St:s,c=t.modelMatrix,l=t.modelMatrixInverse,u=t.zoomOffset,f=u===void 0?0:u,h=e.isGeospatial?Math.round(e.zoom+Math.log2(St/a))+f:Math.ceil(e.zoom)+f;if(typeof n=="number"&&Number.isFinite(n)&&h<n){if(!o)return[];h=n}typeof r=="number"&&Number.isFinite(r)&&h>r&&(h=r);var d=o;return c&&l&&o&&!e.isGeospatial&&(d=zc(o,c)),e.isGeospatial?Fc(e,h,i,o):bm(e,h,a,d||ym,l)}function no(t){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(t)}function io(t){return Number.isFinite(t.west)&&Number.isFinite(t.north)&&Number.isFinite(t.east)&&Number.isFinite(t.south)}function kc(t){var e={},r;return function(n){for(var i in n)if(!wm(n[i],e[i])){r=t(n),e=n;break}return r}}function wm(t,e){if(t===e)return!0;if(Array.isArray(t)){var r=t.length;if(!e||e.length!==r)return!1;for(var n=0;n<r;n++)if(t[n]!==e[n])return!1;return!0}return!1}var ze;function qc(t,e){return Tm(t)||Sm(t,e)||Gc(t,e)||Mm()}function Mm(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
21
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sm(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function Tm(t){if(Array.isArray(t))return t}function Q(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Gc(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
22
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function Gc(t,e){if(t){if(typeof t=="string")return Uc(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Uc(t,e)}}function Uc(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function jc(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Vc(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?jc(Object(r),!0).forEach(function(n){$r(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):jc(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Pm(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Wc(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Em(t,e,r){return e&&Wc(t.prototype,e),r&&Wc(t,r),t}function $r(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Dc=1,Qr=2,Om="never",Im="no-overlap",Be="best-available",Am=5,Lm=(ze={},$r(ze,Be,Fm),$r(ze,Im,Nm),$r(ze,Om,function(){}),ze),Rm={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:"best-available",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:function(){},onTileUnload:function(){},onTileError:function(){}},ke=function(){function t(r){var n=this;Pm(this,t),this.opts=void 0,this._requestScheduler=void 0,this._cache=void 0,this._dirty=void 0,this._tiles=void 0,this._cacheByteSize=void 0,this._viewport=void 0,this._zRange=void 0,this._selectedTiles=void 0,this._frameNumber=void 0,this._modelMatrix=void 0,this._modelMatrixInverse=void 0,this._maxZoom=void 0,this._minZoom=void 0,this.onTileLoad=void 0,this._getCullBounds=kc(Bc),this.opts=Vc(Vc({},Rm),r),this.onTileLoad=function(i){var o,s;(o=(s=n.opts).onTileLoad)===null||o===void 0||o.call(s,i),n.opts.maxCacheByteSize&&(n._cacheByteSize+=i.byteLength,n._resizeCache())},this._requestScheduler=new ee({maxRequests:r.maxRequests,throttleRequests:Boolean(r.maxRequests&&r.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new et,this._modelMatrixInverse=new et,this.setOptions(r)}var e=t.prototype;return e.setOptions=function(n){Object.assign(this.opts,n),Number.isFinite(n.maxZoom)&&(this._maxZoom=Math.floor(n.maxZoom)),Number.isFinite(n.minZoom)&&(this._minZoom=Math.ceil(n.minZoom))},e.finalize=function(){var n=Q(this._cache.values()),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;o.isLoading&&o.abort()}}catch(s){n.e(s)}finally{n.f()}this._cache.clear(),this._tiles=[],this._selectedTiles=null},e.reloadAll=function(){var n=Q(this._cache.keys()),i;try{for(n.s();!(i=n.n()).done;){var o=i.value,s=this._cache.get(o);!this._selectedTiles||!this._selectedTiles.includes(s)?this._cache.delete(o):s.setNeedsReload()}}catch(a){n.e(a)}finally{n.f()}},e.update=function(n){var i=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=o.zRange,a=o.modelMatrix,c=a?new et(a):new et,l=!c.equals(this._modelMatrix);if(!this._viewport||!n.equals(this._viewport)||!pt(this._zRange,s)||l){l&&(this._modelMatrixInverse=c.clone().invert(),this._modelMatrix=c),this._viewport=n,this._zRange=s;var u=this.getTileIndices({viewport:n,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:s,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=u.map(function(h){return i._getTile(h,!0)}),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(function(h){return i._getTile(h.index,!0)}));var f=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),f&&this._frameNumber++,this._frameNumber},e.isTileVisible=function(n,i){if(!n.isVisible)return!1;if(i&&this._viewport){var o=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:i}),s=n.bbox,a=Q(o),c;try{for(a.s();!(c=a.n()).done;){var l=qc(c.value,4),u=l[0],f=l[1],h=l[2],d=l[3],p=void 0;if("west"in s)p=s.west<h&&s.east>u&&s.south<d&&s.north>f;else{var g=Math.min(s.top,s.bottom),m=Math.max(s.top,s.bottom);p=s.left<h&&s.right>u&&g<d&&m>f}if(p)return!0}}catch(v){a.e(v)}finally{a.f()}return!1}return!0},e.getTileIndices=function(n){var i=n.viewport,o=n.maxZoom,s=n.minZoom,a=n.zRange,c=n.modelMatrix,l=n.modelMatrixInverse,u=this.opts,f=u.tileSize,h=u.extent,d=u.zoomOffset;return ro({viewport:i,maxZoom:o,minZoom:s,zRange:a,tileSize:f,extent:h,modelMatrix:c,modelMatrixInverse:l,zoomOffset:d})},e.getTileId=function(n){return"".concat(n.x,"-").concat(n.y,"-").concat(n.z)},e.getTileZoom=function(n){return n.z},e.getTileMetadata=function(n){var i=this.opts.tileSize;return{bbox:eo(this._viewport,n.x,n.y,n.z,i)}},e.getParentIndex=function(n){var i=Math.floor(n.x/2),o=Math.floor(n.y/2),s=n.z-1;return{x:i,y:o,z:s}},e.updateTileStates=function(){var n=this.opts.refinementStrategy||Be,i=new Array(this._cache.size),o=0,s=Q(this._cache.values()),a;try{for(s.s();!(a=s.n()).done;){var c=a.value;i[o++]=c.isVisible,c.isSelected=!1,c.isVisible=!1}}catch(g){s.e(g)}finally{s.f()}var l=Q(this._selectedTiles),u;try{for(l.s();!(u=l.n()).done;){var f=u.value;f.isSelected=!0,f.isVisible=!0}}catch(g){l.e(g)}finally{l.f()}(typeof n=="function"?n:Lm[n])(Array.from(this._cache.values())),o=0;var h=Q(this._cache.values()),d;try{for(h.s();!(d=h.n()).done;){var p=d.value;if(i[o++]!==p.isVisible)return!0}}catch(g){h.e(g)}finally{h.f()}return!1},e._pruneRequests=function(){var n=this.opts.maxRequests,i=n===void 0?0:n,o=[],s=0,a=Q(this._cache.values()),c;try{for(a.s();!(c=a.n()).done;){var l=c.value;l.isLoading&&(s++,!l.isSelected&&!l.isVisible&&o.push(l))}}catch(f){a.e(f)}finally{a.f()}for(;i>0&&s>i&&o.length>0;){var u=o.shift();u.abort(),s--}},e._rebuildTree=function(){var n=this._cache,i=Q(n.values()),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.parent=null,s.children&&(s.children.length=0)}}catch(f){i.e(f)}finally{i.f()}var a=Q(n.values()),c;try{for(a.s();!(c=a.n()).done;){var l=c.value,u=this._getNearestAncestor(l);l.parent=u,u!=null&&u.children&&u.children.push(l)}}catch(f){a.e(f)}finally{a.f()}},e._resizeCache=function(){var n=this._cache,i=this.opts,o=i.maxCacheSize||(i.maxCacheByteSize?1/0:Am*this.selectedTiles.length),s=i.maxCacheByteSize||1/0,a=n.size>o||this._cacheByteSize>s;if(a){var c=Q(n),l;try{for(c.s();!(l=c.n()).done;){var u=qc(l.value,2),f=u[0],h=u[1];if(!h.isVisible&&!h.isSelected){var d,p;this._cacheByteSize-=i.maxCacheByteSize?h.byteLength:0,n.delete(f),(d=(p=this.opts).onTileUnload)===null||d===void 0||d.call(p,h)}if(n.size<=o&&this._cacheByteSize<=s)break}}catch(g){c.e(g)}finally{c.f()}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort(function(g,m){return g.zoom-m.zoom}),this._dirty=!1)},e._getTile=function(n,i){var o=this.getTileId(n),s=this._cache.get(o),a=!1;return!s&&i?(s=new Fe(n),Object.assign(s,this.getTileMetadata(s.index)),Object.assign(s,{id:o,zoom:this.getTileZoom(s.index)}),a=!0,this._cache.set(o,s),this._dirty=!0):s&&s.needsReload&&(a=!0),s&&a&&s.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),s},e._getNearestAncestor=function(n){for(var i=this._minZoom,o=i===void 0?0:i,s=n.index;this.getTileZoom(s)>o;){s=this.getParentIndex(s);var a=this._getTile(s);if(a)return a}return null},Em(t,[{key:"tiles",get:function(){return this._tiles}},{key:"selectedTiles",get:function(){return this._selectedTiles}},{key:"isLoaded",get:function(){return this._selectedTiles!==null&&this._selectedTiles.every(function(n){return n.isLoaded})}},{key:"needsReload",get:function(){return this._selectedTiles!==null&&this._selectedTiles.some(function(n){return n.needsReload})}}]),t}();function Fm(t){var e=Q(t),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.state=0}}catch(u){e.e(u)}finally{e.f()}var i=Q(t),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.isSelected&&!Zc(s)&&oo(s)}}catch(u){i.e(u)}finally{i.f()}var a=Q(t),c;try{for(a.s();!(c=a.n()).done;){var l=c.value;l.isVisible=Boolean(l.state&Qr)}}catch(u){a.e(u)}finally{a.f()}}function Nm(t){var e=Q(t),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.state=0}}catch(p){e.e(p)}finally{e.f()}var i=Q(t),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.isSelected&&Zc(s)}}catch(p){i.e(p)}finally{i.f()}var a=Array.from(t).sort(function(p,g){return p.zoom-g.zoom}),c=Q(a),l;try{for(c.s();!(l=c.n()).done;){var u=l.value;if(u.isVisible=Boolean(u.state&Qr),u.children&&(u.isVisible||u.state&Dc)){var f=Q(u.children),h;try{for(f.s();!(h=f.n()).done;){var d=h.value;d.state=Dc}}catch(p){f.e(p)}finally{f.f()}}else u.isSelected&&oo(u)}}catch(p){c.e(p)}finally{c.f()}}function Zc(t){for(var e=t;e;){if(e.isLoaded||e.content)return e.state|=Qr,!0;e=e.parent}return!1}function oo(t){var e=Q(t.children),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.isLoaded||n.content?n.state|=Qr:oo(n)}}catch(i){e.e(i)}finally{e.f()}}function Jr(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Jr=function(r){return typeof r}:Jr=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Jr(t)}function Xc(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Kr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Xc(Object(r),!0).forEach(function(n){Cm(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Xc(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Cm(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function zm(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Bm(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
23
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function Bm(t,e){if(t){if(typeof t=="string")return Yc(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yc(t,e)}}function Yc(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function km(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Hc(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function qm(t,e,r){return e&&Hc(t.prototype,e),r&&Hc(t,r),t}function Um(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&so(t,e)}function so(t,e){return so=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},so(t,e)}function jm(t){var e=Dm();return function(){var n=tn(t),i;if(e){var o=tn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Vm(this,i)}}function Vm(t,e){if(e&&(Jr(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Wm(t)}function Wm(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Dm(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function tn(t){return tn=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},tn(t)}var Gm={TilesetClass:ke,data:{type:"data",value:[]},dataComparator:Ct.equal,renderSubLayers:{type:"function",value:function(e){return new $c.GeoJsonLayer(e)}},getTileData:{type:"function",optional:!0,value:null},onViewportLoad:{type:"function",optional:!0,value:null},onTileLoad:{type:"function",value:function(e){}},onTileUnload:{type:"function",value:function(e){}},onTileError:{type:"function",value:function(e){return console.error(e)}},extent:{type:"array",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:Be,zRange:null,maxRequests:6,zoomOffset:0},Tt=function(t){Um(r,t);var e=jm(r);function r(){var i;km(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){this.state={tileset:null,isLoaded:!1}},n.finalizeState=function(){var o,s;(o=this.state)===null||o===void 0||(s=o.tileset)===null||s===void 0||s.finalize()},n.shouldUpdateState=function(o){var s=o.changeFlags;return s.somethingChanged},n.updateState=function(o){var s=o.changeFlags,a=this.state.tileset,c=s.propsOrDataChanged||s.updateTriggersChanged,l=s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getTileData);a?c&&(a.setOptions(this._getTilesetOptions()),l?a.reloadAll():a.tiles.forEach(function(u){u.layers=null})):(a=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:a})),this._updateTileset()},n._getTilesetOptions=function(){var o=this.props,s=o.tileSize,a=o.maxCacheSize,c=o.maxCacheByteSize,l=o.refinementStrategy,u=o.extent,f=o.maxZoom,h=o.minZoom,d=o.maxRequests,p=o.zoomOffset;return{maxCacheSize:a,maxCacheByteSize:c,maxZoom:f,minZoom:h,tileSize:s,refinementStrategy:l,extent:u,maxRequests:d,zoomOffset:p,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}},n._updateTileset=function(){var o=this.state.tileset,s=this.props,a=s.zRange,c=s.modelMatrix,l=o.update(this.context.viewport,{zRange:a,modelMatrix:c}),u=o.isLoaded,f=this.state.isLoaded!==u,h=this.state.frameNumber!==l;u&&(f||h)&&this._onViewportLoad(),h&&this.setState({frameNumber:l}),this.state.isLoaded=u},n._onViewportLoad=function(){var o=this.state.tileset,s=this.props.onViewportLoad;s&&s(o.selectedTiles)},n._onTileLoad=function(o){this.props.onTileLoad(o),o.layers=null,this.setNeedsUpdate()},n._onTileError=function(o,s){this.props.onTileError(o),s.layers=null,this.setNeedsUpdate()},n._onTileUnload=function(o){this.props.onTileUnload(o)},n.getTileData=function(o){var s=this.props,a=s.data,c=s.getTileData,l=s.fetch,u=o.signal;return o.url=typeof a=="string"||Array.isArray(a)?yt(a,o):null,c?c(o):l&&o.url?l(o.url,{propName:"data",layer:this,signal:u}):null},n.renderSubLayers=function(o){return this.props.renderSubLayers(o)},n.getSubLayerPropsByTile=function(o){return null},n.getPickingInfo=function(o){var s=o.info,a=o.sourceLayer,c=a.props.tile;return s.picked&&(s.tile=c),s.sourceTile=c,s},n._updateAutoHighlight=function(o){var s=o.sourceTile;if(s&&s.layers){var a=zm(s.layers),c;try{for(a.s();!(c=a.n()).done;){var l=c.value;l.updateAutoHighlight(o)}}catch(u){a.e(u)}finally{a.f()}}},n.renderLayers=function(){var o=this;return this.state.tileset.tiles.map(function(s){var a=o.getSubLayerPropsByTile(s);if(!(!s.isLoaded&&!s.content))if(s.layers)a&&s.layers[0]&&Object.keys(a).some(function(l){return s.layers[0].props[l]!==a[l]})&&(s.layers=s.layers.map(function(l){return l.clone(a)}));else{var c=o.renderSubLayers(Kr(Kr(Kr({},o.props),o.getSubLayerProps({id:s.id,updateTriggers:o.props.updateTriggers})),{},{data:s.content,_offset:0,tile:s}));s.layers=(0,en._flatten)(c,Boolean).map(function(l){return l.clone(Kr({tile:s},a))})}return s.layers})},n.filterSubLayer=function(o){var s=o.layer,a=o.cullRect,c=s.props.tile;return this.state.tileset.isTileVisible(c,a)},qm(r,[{key:"isLoaded",get:function(){var o,s,a=(o=this.state)===null||o===void 0||(s=o.tileset)===null||s===void 0?void 0:s.selectedTiles;return a?a.every(function(c){return c.isLoaded&&c.layers&&c.layers.every(function(l){return l.isLoaded})}):!1}}]),r}(en.CompositeLayer);Tt.defaultProps=Gm;Tt.layerName="TileLayer";var Jc=B(ct());function rn(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?rn=function(r){return typeof r}:rn=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},rn(t)}function Qc(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Kc(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Qc(Object(r),!0).forEach(function(n){Zm(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Qc(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Zm(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Xm(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function me(t,e,r){return typeof Reflect<"u"&&Reflect.get?me=Reflect.get:me=function(i,o,s){var a=Ym(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},me(t,e,r||t)}function Ym(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=zt(t),t!==null););return t}function Hm(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ao(t,e)}function ao(t,e){return ao=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},ao(t,e)}function $m(t){var e=Jm();return function(){var n=zt(t),i;if(e){var o=zt(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Qm(this,i)}}function Qm(t,e){if(e&&(rn(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Km(t)}function Km(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Jm(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function zt(t){return zt=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},zt(t)}var tg={fadeTrail:!0,trailLength:{type:"number",value:120,min:0},currentTime:{type:"number",value:0,min:0},getTimestamps:{type:"accessor",value:function(e){return e.timestamps}}},nn=function(t){Hm(r,t);var e=$m(r);function r(){return Xm(this,r),e.apply(this,arguments)}var n=r.prototype;return n.getShaders=function(){var o=me(zt(r.prototype),"getShaders",this).call(this);return o.inject={"vs:#decl":`uniform float trailLength;
24
- attribute float instanceTimestamps;
25
- attribute float instanceNextTimestamps;
26
- varying float vTime;
14
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Bt.prototype.build=function(t){return this.options.preserveOrder?v1(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t=_1({},this.options.arrayNodeName,t)),this.j2x(t,0).val)};Bt.prototype.j2x=function(t,e){var r="",n="";for(var i in t)if(typeof t[i]>"u")this.isAttribute(i)&&(n+="");else if(t[i]===null)this.isAttribute(i)?n+="":i[0]==="?"?n+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+i+"/"+this.tagEndChar;else if(t[i]instanceof Date)n+=this.buildTextValNode(t[i],i,"",e);else if(_n(t[i])!=="object"){var o=this.isAttribute(i);if(o)r+=this.buildAttrPairStr(o,""+t[i]);else if(i===this.options.textNodeName){var s=this.options.tagValueProcessor(i,""+t[i]);n+=this.replaceEntitiesValue(s)}else n+=this.buildTextValNode(t[i],i,"",e)}else if(Array.isArray(t[i])){for(var a=t[i].length,c="",u=0;u<a;u++){var l=t[i][u];typeof l>"u"||(l===null?i[0]==="?"?n+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+i+"/"+this.tagEndChar:_n(l)==="object"?this.options.oneListGroup?c+=this.j2x(l,e+1).val:c+=this.processTextOrObjNode(l,i,e):c+=this.buildTextValNode(l,i,"",e))}this.options.oneListGroup&&(c=this.buildObjectNode(c,i,"",e)),n+=c}else if(this.options.attributesGroupName&&i===this.options.attributesGroupName)for(var f=Object.keys(t[i]),h=f.length,d=0;d<h;d++)r+=this.buildAttrPairStr(f[d],""+t[i][f[d]]);else n+=this.processTextOrObjNode(t[i],i,e);return{attrStr:r,val:n}};Bt.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function T1(t,e,r){var n=this.j2x(t,r+1);return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,r):this.buildObjectNode(n.val,e,n.attrStr,r)}Bt.prototype.buildObjectNode=function(t,e,r,n){if(t==="")return e[0]==="?"?this.indentate(n)+"<"+e+r+"?"+this.tagEndChar:this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar;var i="</"+e+this.tagEndChar,o="";return e[0]==="?"&&(o="?",i=""),(r||r==="")&&t.indexOf("<")===-1?this.indentate(n)+"<"+e+r+o+">"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&o.length===0?this.indentate(n)+"<!--".concat(t,"-->")+this.newLine:this.indentate(n)+"<"+e+r+o+this.tagEndChar+t+this.indentate(n)+i};Bt.prototype.closeTag=function(t){var e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e="></".concat(t),e};Bt.prototype.buildTextValNode=function(t,e,r,n){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(n)+"<![CDATA[".concat(t,"]]>")+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(n)+"<!--".concat(t,"-->")+this.newLine;if(e[0]==="?")return this.indentate(n)+"<"+e+r+"?"+this.tagEndChar;var i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+r+">"+i+"</"+e+this.tagEndChar};Bt.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(var e=0;e<this.options.entities.length;e++){var r=this.options.entities[e];t=t.replace(r.regex,r.val)}return t};function b1(t){return this.options.indentBy.repeat(t)}function E1(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}Cf.exports=Bt});var If=re(($O,wf)=>{"use strict";var S1=ua(),B1=xf(),C1=Mf();wf.exports={XMLParser:B1,XMLValidator:S1,XMLBuilder:C1}});var xc=re((md,Fn)=>{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof Wl=="function"&&typeof Fn=="object"&&Fn&&Fn.exports?Fn.exports=e():(t.dcodeIO=t.dcodeIO||{}).Long=e()})(md,function(){"use strict";function t(b,y,M){this.low=b|0,this.high=y|0,this.unsigned=!!M}t.prototype.__isLong__,Object.defineProperty(t.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});function e(b){return(b&&b.__isLong__)===!0}t.isLong=e;var r={},n={};function i(b,y){var M,I,O;return y?(b>>>=0,(O=0<=b&&b<256)&&(I=n[b],I)?I:(M=s(b,(b|0)<0?-1:0,!0),O&&(n[b]=M),M)):(b|=0,(O=-128<=b&&b<128)&&(I=r[b],I)?I:(M=s(b,b<0?-1:0,!1),O&&(r[b]=M),M))}t.fromInt=i;function o(b,y){if(isNaN(b)||!isFinite(b))return y?A:m;if(y){if(b<0)return A;if(b>=d)return S}else{if(b<=-p)return C;if(b+1>=p)return B}return b<0?o(-b,y).neg():s(b%h|0,b/h|0,y)}t.fromNumber=o;function s(b,y,M){return new t(b,y,M)}t.fromBits=s;var a=Math.pow;function c(b,y,M){if(b.length===0)throw Error("empty string");if(b==="NaN"||b==="Infinity"||b==="+Infinity"||b==="-Infinity")return m;if(typeof y=="number"?(M=y,y=!1):y=!!y,M=M||10,M<2||36<M)throw RangeError("radix");var I;if((I=b.indexOf("-"))>0)throw Error("interior hyphen");if(I===0)return c(b.substring(1),y,M).neg();for(var O=o(a(M,8)),R=m,F=0;F<b.length;F+=8){var X=Math.min(8,b.length-F),z=parseInt(b.substring(F,F+X),M);if(X<8){var Q=o(a(M,X));R=R.mul(Q).add(o(z))}else R=R.mul(O),R=R.add(o(z))}return R.unsigned=y,R}t.fromString=c;function u(b){return b instanceof t?b:typeof b=="number"?o(b):typeof b=="string"?c(b):s(b.low,b.high,b.unsigned)}t.fromValue=u;var l=1<<16,f=1<<24,h=l*l,d=h*h,p=d/2,g=i(f),m=i(0);t.ZERO=m;var A=i(0,!0);t.UZERO=A;var _=i(1);t.ONE=_;var v=i(1,!0);t.UONE=v;var x=i(-1);t.NEG_ONE=x;var B=s(-1,2147483647,!1);t.MAX_VALUE=B;var S=s(-1,-1,!0);t.MAX_UNSIGNED_VALUE=S;var C=s(0,-2147483648,!1);t.MIN_VALUE=C;var E=t.prototype;return E.toInt=function(){return this.unsigned?this.low>>>0:this.low},E.toNumber=function(){return this.unsigned?(this.high>>>0)*h+(this.low>>>0):this.high*h+(this.low>>>0)},E.toString=function(y){if(y=y||10,y<2||36<y)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(C)){var M=o(y),I=this.div(M),O=I.mul(M).sub(this);return I.toString(y)+O.toInt().toString(y)}else return"-"+this.neg().toString(y);for(var R=o(a(y,6),this.unsigned),F=this,X="";;){var z=F.div(R),Q=F.sub(z.mul(R)).toInt()>>>0,W=Q.toString(y);if(F=z,F.isZero())return W+X;for(;W.length<6;)W="0"+W;X=""+W+X}},E.getHighBits=function(){return this.high},E.getHighBitsUnsigned=function(){return this.high>>>0},E.getLowBits=function(){return this.low},E.getLowBitsUnsigned=function(){return this.low>>>0},E.getNumBitsAbs=function(){if(this.isNegative())return this.eq(C)?64:this.neg().getNumBitsAbs();for(var y=this.high!=0?this.high:this.low,M=31;M>0&&!(y&1<<M);M--);return this.high!=0?M+33:M+1},E.isZero=function(){return this.high===0&&this.low===0},E.isNegative=function(){return!this.unsigned&&this.high<0},E.isPositive=function(){return this.unsigned||this.high>=0},E.isOdd=function(){return(this.low&1)===1},E.isEven=function(){return(this.low&1)===0},E.equals=function(y){return e(y)||(y=u(y)),this.unsigned!==y.unsigned&&this.high>>>31===1&&y.high>>>31===1?!1:this.high===y.high&&this.low===y.low},E.eq=E.equals,E.notEquals=function(y){return!this.eq(y)},E.neq=E.notEquals,E.lessThan=function(y){return this.comp(y)<0},E.lt=E.lessThan,E.lessThanOrEqual=function(y){return this.comp(y)<=0},E.lte=E.lessThanOrEqual,E.greaterThan=function(y){return this.comp(y)>0},E.gt=E.greaterThan,E.greaterThanOrEqual=function(y){return this.comp(y)>=0},E.gte=E.greaterThanOrEqual,E.compare=function(y){if(e(y)||(y=u(y)),this.eq(y))return 0;var M=this.isNegative(),I=y.isNegative();return M&&!I?-1:!M&&I?1:this.unsigned?y.high>>>0>this.high>>>0||y.high===this.high&&y.low>>>0>this.low>>>0?-1:1:this.sub(y).isNegative()?-1:1},E.comp=E.compare,E.negate=function(){return!this.unsigned&&this.eq(C)?C:this.not().add(_)},E.neg=E.negate,E.add=function(y){e(y)||(y=u(y));var M=this.high>>>16,I=this.high&65535,O=this.low>>>16,R=this.low&65535,F=y.high>>>16,X=y.high&65535,z=y.low>>>16,Q=y.low&65535,W=0,K=0,ee=0,xe=0;return xe+=R+Q,ee+=xe>>>16,xe&=65535,ee+=O+z,K+=ee>>>16,ee&=65535,K+=I+X,W+=K>>>16,K&=65535,W+=M+F,W&=65535,s(ee<<16|xe,W<<16|K,this.unsigned)},E.subtract=function(y){return e(y)||(y=u(y)),this.add(y.neg())},E.sub=E.subtract,E.multiply=function(y){if(this.isZero()||(e(y)||(y=u(y)),y.isZero()))return m;if(this.eq(C))return y.isOdd()?C:m;if(y.eq(C))return this.isOdd()?C:m;if(this.isNegative())return y.isNegative()?this.neg().mul(y.neg()):this.neg().mul(y).neg();if(y.isNegative())return this.mul(y.neg()).neg();if(this.lt(g)&&y.lt(g))return o(this.toNumber()*y.toNumber(),this.unsigned);var M=this.high>>>16,I=this.high&65535,O=this.low>>>16,R=this.low&65535,F=y.high>>>16,X=y.high&65535,z=y.low>>>16,Q=y.low&65535,W=0,K=0,ee=0,xe=0;return xe+=R*Q,ee+=xe>>>16,xe&=65535,ee+=O*Q,K+=ee>>>16,ee&=65535,ee+=R*z,K+=ee>>>16,ee&=65535,K+=I*Q,W+=K>>>16,K&=65535,K+=O*z,W+=K>>>16,K&=65535,K+=R*X,W+=K>>>16,K&=65535,W+=M*Q+I*z+O*X+R*F,W&=65535,s(ee<<16|xe,W<<16|K,this.unsigned)},E.mul=E.multiply,E.divide=function(y){if(e(y)||(y=u(y)),y.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?A:m;var M,I,O;if(this.unsigned){if(y.unsigned||(y=y.toUnsigned()),y.gt(this))return A;if(y.gt(this.shru(1)))return v;O=A}else{if(this.eq(C)){if(y.eq(_)||y.eq(x))return C;if(y.eq(C))return _;var R=this.shr(1);return M=R.div(y).shl(1),M.eq(m)?y.isNegative()?_:x:(I=this.sub(y.mul(M)),O=M.add(I.div(y)),O)}else if(y.eq(C))return this.unsigned?A:m;if(this.isNegative())return y.isNegative()?this.neg().div(y.neg()):this.neg().div(y).neg();if(y.isNegative())return this.div(y.neg()).neg();O=m}for(I=this;I.gte(y);){M=Math.max(1,Math.floor(I.toNumber()/y.toNumber()));for(var F=Math.ceil(Math.log(M)/Math.LN2),X=F<=48?1:a(2,F-48),z=o(M),Q=z.mul(y);Q.isNegative()||Q.gt(I);)M-=X,z=o(M,this.unsigned),Q=z.mul(y);z.isZero()&&(z=_),O=O.add(z),I=I.sub(Q)}return O},E.div=E.divide,E.modulo=function(y){return e(y)||(y=u(y)),this.sub(this.div(y).mul(y))},E.mod=E.modulo,E.not=function(){return s(~this.low,~this.high,this.unsigned)},E.and=function(y){return e(y)||(y=u(y)),s(this.low&y.low,this.high&y.high,this.unsigned)},E.or=function(y){return e(y)||(y=u(y)),s(this.low|y.low,this.high|y.high,this.unsigned)},E.xor=function(y){return e(y)||(y=u(y)),s(this.low^y.low,this.high^y.high,this.unsigned)},E.shiftLeft=function(y){return e(y)&&(y=y.toInt()),(y&=63)===0?this:y<32?s(this.low<<y,this.high<<y|this.low>>>32-y,this.unsigned):s(0,this.low<<y-32,this.unsigned)},E.shl=E.shiftLeft,E.shiftRight=function(y){return e(y)&&(y=y.toInt()),(y&=63)===0?this:y<32?s(this.low>>>y|this.high<<32-y,this.high>>y,this.unsigned):s(this.high>>y-32,this.high>=0?0:-1,this.unsigned)},E.shr=E.shiftRight,E.shiftRightUnsigned=function(y){if(e(y)&&(y=y.toInt()),y&=63,y===0)return this;var M=this.high;if(y<32){var I=this.low;return s(I>>>y|M<<32-y,M>>>y,this.unsigned)}else return y===32?s(M,0,this.unsigned):s(M>>>y-32,0,this.unsigned)},E.shru=E.shiftRightUnsigned,E.toSigned=function(){return this.unsigned?s(this.low,this.high,!1):this},E.toUnsigned=function(){return this.unsigned?this:s(this.low,this.high,!0)},E.toBytes=function(b){return b?this.toBytesLE():this.toBytesBE()},E.toBytesLE=function(){var b=this.high,y=this.low;return[y&255,y>>>8&255,y>>>16&255,y>>>24&255,b&255,b>>>8&255,b>>>16&255,b>>>24&255]},E.toBytesBE=function(){var b=this.high,y=this.low;return[b>>>24&255,b>>>16&255,b>>>8&255,b&255,y>>>24&255,y>>>16&255,y>>>8&255,y&255]},t})});var Oo=re((iU,dp)=>{dp.exports=globalThis.h3||{}});var _t=re((dU,Cp)=>{Cp.exports=globalThis.luma});var Vo=re((EG,cm)=>{cm.exports=globalThis.deck});var Jr=re((y4,wm)=>{wm.exports=globalThis.loaders});var oy=re((Uj,iy)=>{iy.exports=globalThis.deck});var my=re(Rl=>{Rl.read=function(t,e,r,n,i){var o,s,a=i*8-n-1,c=(1<<a)-1,u=c>>1,l=-7,f=r?i-1:0,h=r?-1:1,d=t[e+f];for(f+=h,o=d&(1<<-l)-1,d>>=-l,l+=a;l>0;o=o*256+t[e+f],f+=h,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=n;l>0;s=s*256+t[e+f],f+=h,l-=8);if(o===0)o=1-u;else{if(o===c)return s?NaN:(d?-1:1)*(1/0);s=s+Math.pow(2,n),o=o-u}return(d?-1:1)*s*Math.pow(2,o-n)};Rl.write=function(t,e,r,n,i,o){var s,a,c,u=o*8-i-1,l=(1<<u)-1,f=l>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,p=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),s+f>=1?e+=h/c:e+=h*Math.pow(2,1-f),e*c>=2&&(s++,c/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(e*c-1)*Math.pow(2,i),s=s+f):(a=e*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;t[r+d]=a&255,d+=p,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;t[r+d]=s&255,d+=p,s/=256,u-=8);t[r+d-p]|=g*128}});var xy=re((Ck,vy)=>{"use strict";vy.exports=k;var Zs=my();function k(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}k.Varint=0;k.Fixed64=1;k.Bytes=2;k.Fixed32=5;var Ll=(1<<16)*(1<<16),gy=1/Ll,a2=12,_y=typeof TextDecoder>"u"?null:new TextDecoder("utf8");k.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,o=this.pos;this.type=n&7,t(i,e,this),this.pos===o&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Qs(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Ay(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Qs(this.buf,this.pos)+Qs(this.buf,this.pos+4)*Ll;return this.pos+=8,t},readSFixed64:function(){var t=Qs(this.buf,this.pos)+Ay(this.buf,this.pos+4)*Ll;return this.pos+=8,t},readFloat:function(){var t=Zs.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Zs.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e=this.buf,r,n;return n=e[this.pos++],r=n&127,n<128||(n=e[this.pos++],r|=(n&127)<<7,n<128)||(n=e[this.pos++],r|=(n&127)<<14,n<128)||(n=e[this.pos++],r|=(n&127)<<21,n<128)?r:(n=e[this.pos],r|=(n&15)<<28,c2(r,t,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2===1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=a2&&_y?T2(this.buf,e,t):x2(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==k.Bytes)return t.push(this.readVarint(e));var r=Et(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==k.Bytes)return t.push(this.readSVarint());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==k.Bytes)return t.push(this.readBoolean());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==k.Bytes)return t.push(this.readFloat());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==k.Bytes)return t.push(this.readDouble());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==k.Bytes)return t.push(this.readFixed32());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==k.Bytes)return t.push(this.readSFixed32());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==k.Bytes)return t.push(this.readFixed64());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==k.Bytes)return t.push(this.readSFixed64());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=t&7;if(e===k.Varint)for(;this.buf[this.pos++]>127;);else if(e===k.Bytes)this.pos=this.readVarint()+this.pos;else if(e===k.Fixed32)this.pos+=4;else if(e===k.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+e)},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),gn(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),gn(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),gn(this.buf,t&-1,this.pos),gn(this.buf,Math.floor(t*gy),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),gn(this.buf,t&-1,this.pos),gn(this.buf,Math.floor(t*gy),this.pos+4),this.pos+=8},writeVarint:function(t){if(t=+t||0,t>268435455||t<0){u2(t,this);return}this.realloc(4),this.buf[this.pos++]=t&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=t>>>7&127)))},writeSVarint:function(t){this.writeVarint(t<0?-t*2-1:t*2)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(t.length*4),this.pos++;var e=this.pos;this.pos=b2(this.buf,t,this.pos);var r=this.pos-e;r>=128&&yy(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Zs.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Zs.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&yy(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,k.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,h2,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,d2,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,g2,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,p2,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,m2,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,y2,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,A2,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,_2,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,v2,e)},writeBytesField:function(t,e){this.writeTag(t,k.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,k.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,k.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,k.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,k.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,k.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,k.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,k.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,k.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,k.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function c2(t,e,r){var n=r.buf,i,o;if(o=n[r.pos++],i=(o&112)>>4,o<128||(o=n[r.pos++],i|=(o&127)<<3,o<128)||(o=n[r.pos++],i|=(o&127)<<10,o<128)||(o=n[r.pos++],i|=(o&127)<<17,o<128)||(o=n[r.pos++],i|=(o&127)<<24,o<128)||(o=n[r.pos++],i|=(o&1)<<31,o<128))return mn(t,i,e);throw new Error("Expected varint not more than 10 bytes")}function Et(t){return t.type===k.Bytes?t.readVarint()+t.pos:t.pos+1}function mn(t,e,r){return r?e*4294967296+(t>>>0):(e>>>0)*4294967296+(t>>>0)}function u2(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(r=~(-t%4294967296),n=~(-t/4294967296),r^4294967295?r=r+1|0:(r=0,n=n+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),l2(r,n,e),f2(n,e)}function l2(t,e,r){r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos]=t&127}function f2(t,e){var r=(t&7)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127)))))}function yy(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(Math.LN2*7));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function h2(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function d2(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function p2(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function m2(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function g2(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function y2(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function A2(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function _2(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function v2(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function Qs(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216}function gn(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Ay(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function x2(t,e,r){for(var n="",i=e;i<r;){var o=t[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a>r)break;var c,u,l;a===1?o<128&&(s=o):a===2?(c=t[i+1],(c&192)===128&&(s=(o&31)<<6|c&63,s<=127&&(s=null))):a===3?(c=t[i+1],u=t[i+2],(c&192)===128&&(u&192)===128&&(s=(o&15)<<12|(c&63)<<6|u&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):a===4&&(c=t[i+1],u=t[i+2],l=t[i+3],(c&192)===128&&(u&192)===128&&(l&192)===128&&(s=(o&15)<<18|(c&63)<<12|(u&63)<<6|l&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,a=1):s>65535&&(s-=65536,n+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),n+=String.fromCharCode(s),i+=a}return n}function T2(t,e,r){return _y.decode(t.subarray(e,r))}function b2(t,e,r){for(var n=0,i,o;n<e.length;n++){if(i=e.charCodeAt(n),i>55295&&i<57344)if(o)if(i<56320){t[r++]=239,t[r++]=191,t[r++]=189,o=i;continue}else i=o-55296<<10|i-56320|65536,o=null;else{i>56319||n+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):o=i;continue}else o&&(t[r++]=239,t[r++]=191,t[r++]=189,o=null);i<128?t[r++]=i:(i<2048?t[r++]=i>>6|192:(i<65536?t[r++]=i>>12|224:(t[r++]=i>>18|240,t[r++]=i>>12&63|128),t[r++]=i>>6&63|128),t[r++]=i&63|128)}return r}});var Bi={};de(Bi,{GeohashLayer:()=>aa,GreatCircleLayer:()=>so,H3ClusterLayer:()=>Uo,H3HexagonLayer:()=>ur,MVTLayer:()=>ia,QuadkeyLayer:()=>go,S2Layer:()=>ho,TerrainLayer:()=>ks,Tile3DLayer:()=>Ds,TileLayer:()=>At,TripsLayer:()=>Io,_GeoCellLayer:()=>Le,_Tile2DHeader:()=>Dn,_Tileset2D:()=>zn,_WMSLayer:()=>no,_getURLFromTemplate:()=>ot});var Qe={},Kl=P(Ve());St(Qe,P(Ve()));if(!Kl.GeoJsonLayer)throw new Error("@deck.gl/layers is not found");St(Bi,Qe);var cr=P(ze()),fd=P(Ve());function oA(t){return typeof t=="string"?t.charAt(0).toLowerCase()+t.slice(1):t}function wi(t){if(Array.isArray(t))return t.map(e=>wi(e));if(t&&typeof t=="object"){let e={};for(let[r,n]of Object.entries(t))e[oA(r)]=wi(n);return e}return t}var Of=P(If(),1);function pa(t,e){if(e!=null&&e._parser&&e._parser!=="fast-xml-parser")throw new Error(e?._parser);let r={allowBooleanAttributes:!0,ignoreDeclaration:!0,removeNSPrefix:e?.removeNSPrefix,textNodeName:e?.textNodeName,isArray:(i,o,s,a)=>{var c;return Boolean(e==null||(c=e.arrayPaths)===null||c===void 0?void 0:c.some(l=>o===l))},...e?._fastXML},n=M1(t,r);return e!=null&&e.uncapitalizeKeys?wi(n):n}function M1(t,e){return new Of.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",...e}).parse(t)}var w1="4.1.0-alpha.9",Ae={name:"XML",id:"xml",module:"xml",version:w1,worker:!1,extensions:["xml"],mimeTypes:["application/xml","text/xml"],testText:I1,options:{xml:{_parser:"fast-xml-parser",uncapitalizeKeys:!1,removeNSPrefix:!1,textNodeName:"value",arrayPaths:[]}},parse:async(t,e)=>pa(new TextDecoder().decode(t),{...Ae.options.xml,...e?.xml}),parseTextSync:(t,e)=>pa(t,{...Ae.options.xml,...e?.xml})};function I1(t){return t.startsWith("<?xml")}async function Ce(t,e,r,n){return n._parse(t,e,r,n)}function H(t,e){if(!t)throw new Error(e||"loader assertion failed.")}var $e={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},O1=$e.self||$e.window||$e.global||{},R1=$e.window||$e.self||$e.global||{},L1=$e.global||$e.self||$e.window||{},P1=$e.document||{};var vn=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Rf=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),F1=Rf&&parseFloat(Rf[1])||0;function ma(t,e){return Lf(t||{},e)}function Lf(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(r>3)return e;let n={...t};for(let[i,o]of Object.entries(e))o&&typeof o=="object"&&!Array.isArray(o)?n[i]=Lf(n[i]||{},e[i],r+1):n[i]=e[i];return n}function D1(){var t;return(t=globalThis._loadersgl_)!==null&&t!==void 0&&t.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.1.0-alpha.9"),globalThis._loadersgl_.version}var Pf=D1();function Ff(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}var et={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},lR=et.self||et.window||et.global||{},fR=et.window||et.self||et.global||{},hR=et.global||et.self||et.window||{},dR=et.document||{};var wr=typeof process!="object"||String(process)!=="[object process]"||process.browser,Ri=typeof importScripts=="function",pR=typeof window<"u"&&typeof window.orientation<"u",Df=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),mR=Df&&parseFloat(Df[1])||0;var ga={};async function tt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;return e&&(t=Nf(t,e,r,n)),ga[t]=ga[t]||N1(t),await ga[t]}function Nf(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;if(!r.useLocalLibraries&&t.startsWith("http"))return t;n=n||t;let i=r.modules||{};return i[n]?i[n]:wr?r.CDN?(Ff(r.CDN.startsWith("http")),`${r.CDN}/${e}@${Pf}/dist/libs/${n}`):Ri?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}async function N1(t){if(t.endsWith("wasm"))return await G1(t);if(!wr)try{return Me&&Me.requireFromFile&&await Me.requireFromFile(t)}catch(r){return console.error(r),null}if(Ri)return importScripts(t);let e=await H1(t);return U1(e,t)}function U1(t,e){if(!wr)return Me.requireFromString&&Me.requireFromString(t,e);if(Ri)return eval.call(globalThis,t),null;let r=document.createElement("script");r.id=e;try{r.appendChild(document.createTextNode(t))}catch{r.text=t}return document.body.appendChild(r),null}async function G1(t){return wr||!Me.readFileAsArrayBuffer||t.startsWith("http")?await(await fetch(t)).arrayBuffer():await Me.readFileAsArrayBuffer(t)}async function H1(t){return wr||!Me.readFileAsText||t.startsWith("http")?await(await fetch(t)).text():await Me.readFileAsText(t)}function Gf(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5;return typeof t=="string"?t.slice(0,e):ArrayBuffer.isView(t)?Uf(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?Uf(t,0,e):""}function Uf(t,e,r){if(t.byteLength<=e+r)return"";let n=new DataView(t),i="";for(let o=0;o<r;o++)i+=String.fromCharCode(n.getUint8(e+o));return i}function ya(t){try{return JSON.parse(t)}catch{throw new Error(`Failed to parse JSON from data starting with "${Gf(t)}"`)}}function xn(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];let n=e,i=n&&n.length>1&&n[0].constructor||null;if(!i)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let o=n.reduce((c,u)=>c+u.length,0),s=new i(o),a=0;for(let c of n)s.set(c,a),a+=c.length;return s}function $t(t,e,r){let n=r!==void 0?new Uint8Array(t).subarray(e,e+r):new Uint8Array(t).subarray(e);return new Uint8Array(n).buffer}function Ct(t,e){return H(t>=0),H(e>0),t+(e-1)&~(e-1)}function Aa(t,e,r){let n;if(t instanceof ArrayBuffer)n=new Uint8Array(t);else{let i=t.byteOffset,o=t.byteLength;n=new Uint8Array(t.buffer||t.arrayBuffer,i,o)}return e.set(n,r),r+Ct(n.byteLength,4)}function Tn(){let t;if(typeof window<"u"&&window.performance)t=window.performance.now();else if(typeof process<"u"&&process.hrtime){let e=process.hrtime();t=e[0]*1e3+e[1]/1e6}else t=Date.now();return t}var er=class{constructor(e,r){this.name=void 0,this.type=void 0,this.sampleSize=1,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.name=e,this.type=r,this.reset()}reset(){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}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Tn(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Tn()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){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)}};var Mt=class{constructor(e){this.id=void 0,this.stats={},this.id=e.id,this.stats={},this._initializeStats(e.stats),Object.seal(this)}get(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:e,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let e of Object.values(this.stats))e.reset();return this}forEach(e){for(let r of Object.values(this.stats))e(r)}getTable(){let e={};return this.forEach(r=>{e[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),e}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(e){let{name:r,type:n}=e,i=this.stats[r];return i||(e instanceof er?i=e:i=new er(r,n),this.stats[r]=i),i}};var V1="Queued Requests",z1="Active Requests",j1="Cancelled Requests",k1="Queued Requests Ever",J1="Active Requests Ever",q1={id:"request-scheduler",throttleRequests:!0,maxRequests:6},wt=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.props=void 0,this.stats=void 0,this.activeRequestCount=0,this.requestQueue=[],this.requestMap=new Map,this.deferredUpdate=null,this.props={...q1,...e},this.stats=new Mt({id:this.props.id}),this.stats.get(V1),this.stats.get(z1),this.stats.get(j1),this.stats.get(k1),this.stats.get(J1)}scheduleRequest(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:()=>0;if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(e))return this.requestMap.get(e);let n={handle:e,priority:0,getPriority:r},i=new Promise(o=>(n.resolve=o,n));return this.requestQueue.push(n),this.requestMap.set(e,i),this._issueNewRequests(),i}_issueRequest(e){let{handle:r,resolve:n}=e,i=!1,o=()=>{i||(i=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,n?n({done:o}):Promise.resolve({done:o})}_issueNewRequests(){this.deferredUpdate||(this.deferredUpdate=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequestsAsync(){this.deferredUpdate=null;let e=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(e!==0){this._updateAllRequests();for(let r=0;r<e;++r){let n=this.requestQueue.shift();n&&this._issueRequest(n)}}}_updateAllRequests(){let e=this.requestQueue;for(let r=0;r<e.length;++r){let n=e[r];this._updateRequest(n)||(e.splice(r,1),this.requestMap.delete(n.handle),r--)}e.sort((r,n)=>r.priority-n.priority)}_updateRequest(e){return e.priority=e.getPriority(e.handle),e.priority<0?(e.resolve(null),!1):!0}};var It={};de(It,{dirname:()=>X1,filename:()=>W1,join:()=>K1,resolve:()=>Y1});function Hf(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)===null||t===void 0?void 0:t.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function W1(t){let e=t?t.lastIndexOf("/"):-1;return e>=0?t.substr(e+1):""}function X1(t){let e=t?t.lastIndexOf("/"):-1;return e>=0?t.substr(0,e):""}function K1(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];let n="/";return e=e.map((i,o)=>(o&&(i=i.replace(new RegExp(`^${n}`),"")),o!==e.length-1&&(i=i.replace(new RegExp(`${n}$`),"")),i)),e.join(n)}function Y1(){let t=[];for(let i=0;i<arguments.length;i++)t[i]=i<0||arguments.length<=i?void 0:arguments[i];let e="",r=!1,n;for(let i=t.length-1;i>=-1&&!r;i--){let o;i>=0?o=t[i]:(n===void 0&&(n=Hf()),o=n),o.length!==0&&(e=`${o}/${e}`,r=o.charCodeAt(0)===bn)}return e=Z1(e,!r),r?`/${e}`:e.length>0?e:"."}var bn=47,_a=46;function Z1(t,e){let r="",n=-1,i=0,o,s=!1;for(let a=0;a<=t.length;++a){if(a<t.length)o=t.charCodeAt(a);else{if(o===bn)break;o=bn}if(o===bn){if(!(n===a-1||i===1))if(n!==a-1&&i===2){if(r.length<2||!s||r.charCodeAt(r.length-1)!==_a||r.charCodeAt(r.length-2)!==_a){if(r.length>2){let c=r.length-1,u=c;for(;u>=0&&r.charCodeAt(u)!==bn;--u);if(u!==c){r=u===-1?"":r.slice(0,u),n=a,i=0,s=!1;continue}}else if(r.length===2||r.length===1){r="",n=a,i=0,s=!1;continue}}e&&(r.length>0?r+="/..":r="..",s=!0)}else{let c=t.slice(n+1,a);r.length>0?r+=`/${c}`:r=c,s=!1}n=a,i=0}else o===_a&&i!==-1?++i:i=-1}return r}var Li=class{constructor(e){this.data=void 0,this.fetch=void 0,this.loadOptions=void 0,this._needsRefresh=!0,this.props=void 0,this.props={...e},this.loadOptions={...e.loadOptions},this.fetch=Q1(this.loadOptions)}setProps(e){this.props=Object.assign(this.props,e),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,r=this._needsRefresh;return e&&(this._needsRefresh=!1),r}};function Q1(t){let e=t?.fetch;if(e&&typeof e=="function")return(n,i)=>e(n,i);let r=t?.fetch;return r&&typeof r!="function"?n=>fetch(n,r):n=>fetch(n)}var Re=class extends Li{};Re.type="template";Re.testURL=t=>!1;function Vf(t,e){var r,n,i;let o=(r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e),s=(o==null||(n=o.ServiceExceptionReport)===null||n===void 0?void 0:n.ServiceException)||(o==null||(i=o["ogc:ServiceExceptionReport"])===null||i===void 0?void 0:i["ogc:ServiceException"]);return typeof s=="string"?s:s.value||s.code||"Unknown error"}var $1="4.1.0-alpha.9",tr={id:"wms-error",name:"WMS Error",module:"wms",version:$1,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.se_xml","application/xml","text/xml"],testText:e_,options:{wms:{throwOnError:!1}},parse:async(t,e)=>va(new TextDecoder().decode(t),e),parseSync:(t,e)=>va(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>va(t,e)};function e_(t){return t.startsWith("<?xml")}function va(t,e){let r={...tr.options.wms,...e?.wms},n=Vf(t,r),i=r.minimalErrors?n:`WMS Service error: ${n}`;if(r.throwOnError)throw new Error(i);return i}function rr(t){return Array.isArray(t)?t:t?[t]:[]}function En(t){let e=rr(t);return e.length>0&&e.every(r=>typeof r=="string")?e:[]}function Sn(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseFloat(t);default:return}}function Pi(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseInt(t,10);default:return}}function nr(t){switch(t){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1;default:return!1}}function xa(t,e){var r;let n=(r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e),i=n.WMT_MS_Capabilities||n.WMS_Capabilities||n,o=t_(i);if(e!=null&&e.inheritedLayerProps)for(let s of o.layers)jf(s,null);return e!=null&&e.includeRawJSON&&(o.json=i),e!=null&&e.includeXMLText&&(o.xml=t),o}function t_(t){var e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m;let A={version:String(t.version||""),name:String(((e=t.Service)===null||e===void 0?void 0:e.Name)||"unnamed"),title:(r=t.Service)!==null&&r!==void 0&&r.Title?String((n=t.Service)===null||n===void 0?void 0:n.Title):void 0,abstract:(i=t.Service)!==null&&i!==void 0&&i.Abstract?String((o=t.Service)===null||o===void 0?void 0:o.Abstract):void 0,keywords:En((s=t.Service)===null||s===void 0||(a=s.KeywordList)===null||a===void 0?void 0:a.Keyword),fees:(c=t.Service)!==null&&c!==void 0&&c.Fees?JSON.stringify((u=t.Service)===null||u===void 0?void 0:u.Fees):void 0,accessConstraints:(l=t.Service)!==null&&l!==void 0&&l.AccessConstraints?JSON.stringify((f=t.Service)===null||f===void 0?void 0:f.AccessConstraints):void 0,layerLimit:Pi((h=t.Service)===null||h===void 0?void 0:h.LayerLimit),maxWidth:Pi((d=t.Service)===null||d===void 0?void 0:d.maxWidth),maxHeight:Pi((p=t.Service)===null||p===void 0?void 0:p.maxHeight),layers:[],requests:r_((g=t.Capability)===null||g===void 0?void 0:g.Request),exceptions:n_(t.Exception)},_=rr((m=t.Capability)===null||m===void 0?void 0:m.Layer);for(let v of _)A.layers.push(zf(v));for(let[v,x]of Object.entries(A))x===void 0&&delete A[v];return A}function r_(t){let e={};for(let[r,n]of Object.entries(t||{})){let i=En(n?.Format);e[r]={mimeTypes:i}}return e}function n_(t){if(rr(t?.Format).length>0)return{mimeTypes:En(t)}}function zf(t){var e;let r={title:String(t?.Title||""),name:t?.Name&&String(t?.Name),abstract:t?.Name&&String(t?.Abstract),keywords:En((e=t.KeywordList)===null||e===void 0?void 0:e.Keyword)},n=t?.CRS||t?.SRS;n&&Array.isArray(n)&&n.every(l=>typeof l=="string")&&(r.crs=n);let i=t?.EX_GeographicBoundingBox&&i_(t?.EX_GeographicBoundingBox);i&&(r.geographicBoundingBox=i),i=t?.LatLonBoundingBox&&o_(t?.LatLonBoundingBox),i&&(r.geographicBoundingBox=i);let o=t?.BoundingBox&&s_(t?.BoundingBox);o&&o.length>0&&(r.boundingBoxes=o);let a=rr(t?.Dimension).map(l=>c_(l));a.length&&(r.dimensions=a),t!=null&&t.opaque&&(r.opaque=nr(t?.opaque)),t!=null&&t.cascaded&&(r.cascaded=nr(t?.cascaded)),t!=null&&t.queryable&&(r.queryable=nr(t?.queryable));let c=rr(t?.Layer),u=[];for(let l of c)u.push(zf(l));u.length>0&&(r.layers=u);for(let[l,f]of Object.entries(r))f===void 0&&delete r[l];return r}function i_(t){let{westBoundLongitude:e,northBoundLatitude:r,eastBoundLongitude:n,southBoundLatitude:i}=t;return[[e,i],[n,r]]}function o_(t){let{minx:e,miny:r,maxx:n,maxy:i}=t;return[[e,r],[n,i]]}function s_(t){return rr(t).map(r=>a_(r))}function a_(t){let{CRS:e,SRS:r,minx:n,miny:i,maxx:o,maxy:s,resx:a,resy:c}=t,u={crs:e||r,boundingBox:[[Sn(n),Sn(i)],[Sn(o),Sn(s)]]};return a&&(u.xResolution=a),c&&(u.yResolution=c),u}function c_(t){let{name:e,units:r,value:n}=t,i={name:e,units:r,extent:n};return t.unitSymbol&&(i.unitSymbol=t.unitSymbol),t.default&&(i.defaultValue=t.default),t.multipleValues&&(i.multipleValues=nr(t.multipleValues)),t.nearestValue&&(i.nearestValue=nr(t.nearestValue)),t.current&&(i.current=nr(t.current)),i}function jf(t,e){e!=null&&e.geographicBoundingBox&&!t.geographicBoundingBox&&(t.geographicBoundingBox=[...e.geographicBoundingBox]),e!=null&&e.crs&&!t.crs&&(t.crs=[...e.crs]),e!=null&&e.boundingBoxes&&!t.boundingBoxes&&(t.boundingBoxes=[...e.boundingBoxes]),e!=null&&e.dimensions&&!t.dimensions&&(t.dimensions=[...e.dimensions]);for(let r of t.layers||[])jf(r,t)}var u_="4.1.0-alpha.9",Ir={id:"wms-capabilities",name:"WMS Capabilities",module:"wms",version:u_,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.wms_xml","application/xml","text/xml"],testText:l_,options:{wms:{}},parse:async(t,e)=>xa(new TextDecoder().decode(t),e?.wms),parseTextSync:(t,e)=>xa(t,e?.wms)};function l_(t){return t.startsWith("<?xml")}function Ta(t,e){var r,n;let o=((n=((r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e)).FeatureInfoResponse)===null||n===void 0?void 0:n.FIELDS)||[];return{features:(Array.isArray(o)?o:[o]).map(a=>f_(a))}}function f_(t){return{attributes:t||{},type:"",bounds:{bottom:0,top:0,left:0,right:0}}}var kf={...Ir,id:"wms-feature-info",name:"WMS FeatureInfo",parse:async(t,e)=>Ta(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>Ta(t,e)};function ba(t,e){var r;return(r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e)}var Jf={...Ir,id:"wms-layer-description",name:"WMS DescribeLayer",parse:async(t,e)=>ba(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>ba(t,e)};function qf(t,e){let{type:r="auto"}=t,n=r==="auto"?d_(t.url,e):h_(r,e);if(!n)throw new Error("Not a valid image source type");return n.create(t)}function h_(t,e){for(let r of e)if(r.type===t)return r;return null}function d_(t,e){for(let r of e)if(r.testURL&&r.testURL(t))return r;return null}var Wf="4.1.0-alpha.9";var Ea,p_=(Ea=globalThis.loaders)===null||Ea===void 0?void 0:Ea.parseImageNode,Sa=typeof Image<"u",Ba=typeof ImageBitmap<"u",m_=Boolean(p_),Ca=vn?!0:m_;function Xf(t){switch(t){case"auto":return Ba||Sa||Ca;case"imagebitmap":return Ba;case"image":return Sa;case"data":return Ca;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}function Kf(){if(Ba)return"imagebitmap";if(Sa)return"image";if(Ca)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Yf(t){let e=g_(t);if(!e)throw new Error("Not an image");return e}function Bn(t){switch(Yf(t)){case"data":return t;case"image":case"imagebitmap":let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("getImageData");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0),r.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}function g_(t){return typeof ImageBitmap<"u"&&t instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&t instanceof Image?"image":t&&typeof t=="object"&&t.data&&t.width&&t.height?"data":null}var y_=/^data:image\/svg\+xml/,A_=/\.svg((\?|#).*)?$/;function Fi(t){return t&&(y_.test(t)||A_.test(t))}function Zf(t,e){if(Fi(e)){let n=new TextDecoder().decode(t);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return Ma(t,e)}function Ma(t,e){if(Fi(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}async function Di(t,e,r){let n=Zf(t,r),i=self.URL||self.webkitURL,o=typeof n!="string"&&i.createObjectURL(n);try{return await __(o||n,e)}finally{o&&i.revokeObjectURL(o)}}async function __(t,e){let r=new Image;return r.src=t,e.image&&e.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,i)=>{try{r.onload=()=>n(r),r.onerror=o=>{let s=o instanceof Error?o.message:"error";i(new Error(s))}}catch(o){i(o)}})}var v_={},Qf=!0;async function $f(t,e,r){let n;Fi(r)?n=await Di(t,e,r):n=Ma(t,r);let i=e&&e.imagebitmap;return await x_(n,i)}async function x_(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((T_(e)||!Qf)&&(e=null),e)try{return await createImageBitmap(t,e)}catch(r){console.warn(r),Qf=!1}return await createImageBitmap(t)}function T_(t){for(let e in t||v_)return!1;return!0}function eh(t){return!B_(t,"ftyp",4)||!(t[8]&96)?null:b_(t)}function b_(t){switch(E_(t,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function E_(t,e,r){return String.fromCharCode(...t.slice(e,r))}function S_(t){return[...t].map(e=>e.charCodeAt(0))}function B_(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=S_(e);for(let i=0;i<n.length;++i)if(n[i]!==t[i+r])return!1;return!0}var rt=!1,Cn=!0;function ir(t){let e=Mn(t);return M_(e)||O_(e)||w_(e)||I_(e)||C_(e)}function C_(t){let e=new Uint8Array(t instanceof DataView?t.buffer:t),r=eh(e);return r?{mimeType:r.mimeType,width:0,height:0}:null}function M_(t){let e=Mn(t);return e.byteLength>=24&&e.getUint32(0,rt)===2303741511?{mimeType:"image/png",width:e.getUint32(16,rt),height:e.getUint32(20,rt)}:null}function w_(t){let e=Mn(t);return e.byteLength>=10&&e.getUint32(0,rt)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,Cn),height:e.getUint16(8,Cn)}:null}function I_(t){let e=Mn(t);return e.byteLength>=14&&e.getUint16(0,rt)===16973&&e.getUint32(2,Cn)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Cn),height:e.getUint32(22,Cn)}:null}function O_(t){let e=Mn(t);if(!(e.byteLength>=3&&e.getUint16(0,rt)===65496&&e.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=R_(),o=2;for(;o+9<e.byteLength;){let s=e.getUint16(o,rt);if(i.has(s))return{mimeType:"image/jpeg",height:e.getUint16(o+5,rt),width:e.getUint16(o+7,rt)};if(!n.has(s))return null;o+=2,o+=e.getUint16(o,rt)}return null}function R_(){let t=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)t.add(r);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Mn(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}async function th(t,e){var r;let{mimeType:n}=ir(t)||{},i=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return H(i),await i(t,n)}async function rh(t,e,r){e=e||{};let i=(e.image||{}).type||"auto",{url:o}=r||{},s=L_(i),a;switch(s){case"imagebitmap":a=await $f(t,e,o);break;case"image":a=await Di(t,e,o);break;case"data":a=await th(t,e);break;default:H(!1)}return i==="data"&&(a=Bn(a)),a}function L_(t){switch(t){case"auto":case"data":return Kf();default:return Xf(t),t}}var P_=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],F_=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],D_={image:{type:"auto",decode:!0}},Ot={id:"image",module:"images",name:"Images",version:Wf,mimeTypes:F_,extensions:P_,parse:rh,tests:[t=>Boolean(ir(new DataView(t)))],options:D_};var wa={};function Ia(t){if(wa[t]===void 0){let e=vn?U_(t):N_(t);wa[t]=e}return wa[t]}function N_(t){var e,r;let n=["image/png","image/jpeg","image/gif"],i=((e=globalThis.loaders)===null||e===void 0?void 0:e.imageFormatsNode)||n,o=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return Boolean(o)&&i.includes(t)}function U_(t){switch(t){case"image/avif":case"image/webp":return G_(t);default:return!0}}function G_(t){try{return document.createElement("canvas").toDataURL(t).indexOf(`data:${t}`)===0}catch{return!1}}var nh={type:"wms",testURL:t=>t.toLowerCase().includes("wms"),create:t=>new Oa(t)},Oa=class extends Re{constructor(e){var r;super(e),this.url=void 0,this.data=void 0,this.substituteCRS84=void 0,this.flipCRS=void 0,this.wmsParameters=void 0,this.vendorParameters=void 0,this.capabilities=null,this.url=e.url,this.data=e.url,this.substituteCRS84=(r=e.substituteCRS84)!==null&&r!==void 0?r:!1,this.flipCRS=["EPSG:4326"],this.wmsParameters={layers:void 0,query_layers:void 0,styles:void 0,version:"1.3.0",crs:"EPSG:4326",format:"image/png",info_format:"text/plain",transparent:void 0,time:void 0,elevation:void 0,...e.wmsParameters},this.vendorParameters=e.vendorParameters||{}}async getMetadata(){let e=await this.getCapabilities();return this.normalizeMetadata(e)}async getImage(e){let{boundingBox:r,bbox:n,...i}=e,o={bbox:r?[...r[0],...r[1]]:n,...i};return await this.getMap(o)}normalizeMetadata(e){return e}async getCapabilities(e,r){let n=this.getCapabilitiesURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);let s=await Ir.parse(o,this.loadOptions);return this.capabilities=s,s}async getMap(e,r){let n=this.getMapURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);try{return await Ot.parse(o,this.loadOptions)}catch{throw this._parseError(o)}}async getFeatureInfo(e,r){let n=this.getFeatureInfoURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),await kf.parse(o,this.loadOptions)}async getFeatureInfoText(e,r){let n=this.getFeatureInfoURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),new TextDecoder().decode(o)}async describeLayer(e,r){let n=this.describeLayerURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),await Jf.parse(o,this.loadOptions)}async getLegendGraphic(e,r){let n=this.getLegendGraphicURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);try{return await Ot.parse(o,this.loadOptions)}catch{throw this._parseError(o)}}getCapabilitiesURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetCapabilities",n,r)}getMapURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,format:this.wmsParameters.format,transparent:this.wmsParameters.transparent,time:this.wmsParameters.time,elevation:this.wmsParameters.elevation,layers:this.wmsParameters.layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetMap",n,r)}getFeatureInfoURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,info_format:this.wmsParameters.info_format,layers:this.wmsParameters.layers,query_layers:this.wmsParameters.query_layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetFeatureInfo",n,r)}describeLayerURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("DescribeLayer",n,r)}getLegendGraphicURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetLegendGraphic",n,r)}_parseWMSUrl(e){let[r,n]=e.split("?"),i=n.split("&"),o={};for(let s of i){let[a,c]=s.split("=");o[a]=c}return{url:r,parameters:o}}_getWMSUrl(e,r,n){let i=this.url,o=!0,s={service:"WMS",version:r.version,request:e,...r,...this.vendorParameters,...n},a=["transparent","time","elevation"];for(let[c,u]of Object.entries(s))(!a.includes(c)||u)&&(i+=o?"?":"&",o=!1,i+=this._getURLParameter(c,u,r));return encodeURI(i)}_getWMS130Parameters(e){let r={...e};return r.srs&&(r.crs=r.crs||r.srs,delete r.srs),r}_getURLParameter(e,r,n){switch(e){case"crs":n.version!=="1.3.0"?e="srs":this.substituteCRS84&&r==="EPSG:4326"&&(r="CRS:84");break;case"srs":n.version==="1.3.0"&&(e="crs");break;case"bbox":let i=this._flipBoundingBox(r,n);i&&(r=i);break;default:}return e=e.toUpperCase(),Array.isArray(r)?`${e}=${r.join(",")}`:`${e}=${r?String(r):""}`}_flipBoundingBox(e,r){if(!Array.isArray(e)||e.length!==4)return null;let n=r.version==="1.3.0"&&this.flipCRS.includes(r.crs||"")&&!(this.substituteCRS84&&r.crs==="EPSG:4326"),i=e;return n?[i[1],i[0],i[3],i[2]]:i}async _fetchArrayBuffer(e){let r=await this.fetch(e),n=await r.arrayBuffer();return this._checkResponse(r,n),n}_checkResponse(e,r){let n=e.headers["content-type"];if(!e.ok||tr.mimeTypes.includes(n)){var i;let o=ma(this.loadOptions,{wms:{throwOnError:!0}}),s=(i=tr.parseSync)===null||i===void 0?void 0:i.call(tr,r,o);throw new Error(s)}}_parseError(e){var r;let n=(r=tr.parseSync)===null||r===void 0?void 0:r.call(tr,e,this.loadOptions);return new Error(n)}};var Or=class extends Re{constructor(e){super(e)}async getMetadata(){throw new Error("ImageSource.getMetadata not implemented")}async getImage(e){let r=this.getGranularParameters(e),n=this.getURLFromTemplate(r),o=await(await this.fetch(n)).arrayBuffer();return await Ot.parse(o)}getGranularParameters(e){let[[r,n],[i,o]]=e.boundingBox;return{...e,east:r,north:n,south:o,west:i}}getURLFromTemplate(e){let r=this.props.url;for(let[n,i]of Object.entries(e))r=r.replace(`\${${n}}`,String(i)),r=r.replace(`{${n}}`,String(i));return r}};Or.type="template";Or.testURL=t=>t.toLowerCase().includes("{");var Ra=class extends Or{constructor(e){super(e),this.data=void 0,this.data=e.url}async getMetadata(){return await this.metadata()}async getImage(e){throw new Error("not implemented")}async metadata(){throw new Error("not implemented")}exportImage(e){throw new Error("not implemented")}metadataURL(e){return`${this.props.url}?f=pjson`}exportImageURL(e){let r=`bbox=${e.bbox[0]},${e.bbox[1]},${e.bbox[2]},${e.bbox[3]}`,n=`size=${e.width},${e.height}`,i={...e,bbox:r,size:n};return delete i.width,delete i.height,this.getUrl("exportImage",i)}getUrl(e,r,n){let i=`${this.props.url}/${e}`,o=!0;for(let[s,a]of Object.entries(r))i+=o?"?":"&",o=!1,Array.isArray(a)?i+=`${s.toUpperCase()}=${a.join(",")}`:i+=`${s.toUpperCase()}=${a?String(a):""}`;return i}async checkResponse(e){if(!e.ok)throw new Error("error")}},ih={type:"arcgis-image-server",testURL:t=>t.toLowerCase().includes("ImageServer"),create:t=>new Ra(t)};var H_=[nh,ih];function La(t){return qf(t,H_)}function L(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var V_=1/Math.PI*180,z_=1/180*Math.PI,j_={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...j_}};var Y=globalThis.mathgl.config;function Pa(t,{precision:e=Y.precision}={}){return t=k_(t),"".concat(parseFloat(t.toPrecision(e)))}function we(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Fa(t){return oh(t)}function Da(t){return Ie(t)}function oh(t,e){return Na(t,r=>r*z_,e)}function Ie(t,e){return Na(t,r=>r*V_,e)}function Ni(t,e,r){return Na(t,n=>Math.max(e,Math.min(r,n)))}function Rt(t,e,r){return we(t)?t.map((n,i)=>Rt(n,e[i],r)):r*e+(1-r)*t}function _e(t,e,r){let n=Y.EPSILON;r&&(Y.EPSILON=r);try{if(t===e)return!0;if(we(t)&&we(e)){if(t.length!==e.length)return!1;for(let i=0;i<t.length;++i)if(!_e(t[i],e[i]))return!1;return!0}return t&&t.equals?t.equals(e):e&&e.equals?e.equals(t):typeof t=="number"&&typeof e=="number"?Math.abs(t-e)<=Y.EPSILON*Math.max(1,Math.abs(t),Math.abs(e)):!1}finally{Y.EPSILON=n}}function k_(t){return Math.round(t/Y.EPSILON)*Y.EPSILON}function J_(t){return t.clone?t.clone():new Array(t.length)}function Na(t,e,r){if(we(t)){let n=t;r=r||J_(n);for(let i=0;i<r.length&&i<n.length;++i){let o=typeof t=="number"?t:t[i];r[i]=e(o,i,r)}return r}return e(t)}function q_(t){function e(){var r=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var Lt=class extends q_(Array){clone(){return new this.constructor().copy(this)}fromArray(e,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=e[n+r];return this.check()}toArray(e=[],r=0){for(let n=0;n<this.ELEMENTS;++n)e[r+n]=this[n];return e}toObject(e){return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:we(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Y)}formatString(e){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Pa(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!_e(this[r],e[r]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==e[r])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,r,n){if(n===void 0)return this.lerp(this,e,r);for(let i=0;i<this.ELEMENTS;++i){let o=e[i],s=typeof r=="number"?r:r[i];this[i]=o+n*(s-o)}return this.check()}min(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(e[r],this[r]);return this.check()}max(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(e[r],this[r]);return this.check()}clamp(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e[n]),r[n]);return this.check()}add(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(e){if(typeof e=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;else for(let r=0;r<this.ELEMENTS&&r<e.length;++r)this[r]*=e[r];return this.check()}multiplyByScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}check(){if(Y.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let e=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)e=e&&Number.isFinite(this[r]);return e}sub(e){return this.subtract(e)}setScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=e;return this.check()}addScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]+=e;return this.check()}subScalar(e){return this.addScalar(-e)}multiplyScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}divideScalar(e){return this.multiplyByScalar(1/e)}clampScalar(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e),r);return this.check()}get elements(){return this}};function W_(t,e){if(t.length!==e)return!1;for(let r=0;r<t.length;++r)if(!Number.isFinite(t[r]))return!1;return!0}function G(t){if(!Number.isFinite(t))throw new Error("Invalid number ".concat(JSON.stringify(t)));return t}function Pt(t,e,r=""){if(Y.debug&&!W_(t,e))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return t}function le(t,e){if(!t)throw new Error("math.gl assertion ".concat(e))}var Ft=class extends Lt{get x(){return this[0]}set x(e){this[0]=G(e)}get y(){return this[1]}set y(e){this[1]=G(e)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let e=0;for(let r=0;r<this.ELEMENTS;++r)e+=this[r]*this[r];return e}magnitudeSquared(){return this.lengthSquared()}distance(e){return Math.sqrt(this.distanceSquared(e))}distanceSquared(e){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-e[n];r+=i*i}return G(r)}dot(e){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*e[n];return G(r)}normalize(){let e=this.magnitude();if(e!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=e;return this.check()}multiply(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(e){return this.distance(e)}distanceToSquared(e){return this.distanceSquared(e)}getComponent(e){return le(e>=0&&e<this.ELEMENTS,"index is out of range"),G(this[e])}setComponent(e,r){return le(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=r,this.check()}addVectors(e,r){return this.copy(e).add(r)}subVectors(e,r){return this.copy(e).subtract(r)}multiplyVectors(e,r){return this.copy(e).multiply(r)}addScaledVector(e,r){return this.add(new this.constructor(e).multiplyScalar(r))}};var $=typeof Float32Array<"u"?Float32Array:Array,wn=Math.random;function Rr(t){return t>=0?Math.round(t):t%.5===0?Math.floor(t):Math.round(t)}var kP=Math.PI/180;function X_(){let t=new $(2);return $!=Float32Array&&(t[0]=0,t[1]=0),t}function sh(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t}function ah(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t}function Ui(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t}function Gi(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t}var JP=function(){let t=X_();return function(e,r,n,i,o,s){let a,c;for(r||(r=2),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],o(t,t,s),e[a]=t[0],e[a+1]=t[1];return e}}();function Hi(t,e,r){let n=e[0],i=e[1],o=r[3]*n+r[7]*i||1;return t[0]=(r[0]*n+r[4]*i)/o,t[1]=(r[1]*n+r[5]*i)/o,t}function Vi(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[3]*n+r[7]*i+r[11]*o||1;return t[0]=(r[0]*n+r[4]*i+r[8]*o)/s,t[1]=(r[1]*n+r[5]*i+r[9]*o)/s,t[2]=(r[2]*n+r[6]*i+r[10]*o)/s,t}function ch(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t[2]=e[2],t}function uh(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t[2]=e[2],t[3]=e[3],t}function zi(t,e,r){let n=e[0],i=e[1],o=e[2];return t[0]=r[0]*n+r[3]*i+r[6]*o,t[1]=r[1]*n+r[4]*i+r[7]*o,t[2]=r[2]*n+r[5]*i+r[8]*o,t[3]=e[3],t}var or=class extends Ft{constructor(e=0,r=0){super(2),we(e)&&arguments.length===1?this.copy(e):(Y.debug&&(G(e),G(r)),this[0]=e,this[1]=r)}set(e,r){return this[0]=e,this[1]=r,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this.check()}fromObject(e){return Y.debug&&(G(e.x),G(e.y)),this[0]=e.x,this[1]=e.y,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return Gi(this,this,e),this.check()}transformAsVector(e){return Hi(this,this,e),this.check()}transformByMatrix3(e){return Ui(this,this,e),this.check()}transformByMatrix2x3(e){return ah(this,this,e),this.check()}transformByMatrix2(e){return sh(this,this,e),this.check()}};var Pr={};de(Pr,{add:()=>Q_,angle:()=>za,bezier:()=>fv,ceil:()=>$_,clone:()=>K_,copy:()=>Y_,create:()=>ji,cross:()=>sr,dist:()=>vv,distance:()=>ph,div:()=>_v,divide:()=>dh,dot:()=>In,equals:()=>gv,exactEquals:()=>mv,floor:()=>ev,forEach:()=>bv,fromValues:()=>ki,hermite:()=>lv,inverse:()=>av,len:()=>ja,length:()=>lh,lerp:()=>cv,max:()=>rv,min:()=>tv,mul:()=>Av,multiply:()=>hh,negate:()=>sv,normalize:()=>Ua,random:()=>hv,rotateX:()=>Ga,rotateY:()=>Ha,rotateZ:()=>Va,round:()=>nv,scale:()=>iv,scaleAndAdd:()=>ov,set:()=>Z_,slerp:()=>uv,sqrDist:()=>xv,sqrLen:()=>Tv,squaredDistance:()=>mh,squaredLength:()=>gh,str:()=>pv,sub:()=>yv,subtract:()=>fh,transformMat3:()=>On,transformMat4:()=>ar,transformQuat:()=>Rn,zero:()=>dv});function ji(){let t=new $(3);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function K_(t){let e=new $(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function lh(t){let e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function ki(t,e,r){let n=new $(3);return n[0]=t,n[1]=e,n[2]=r,n}function Y_(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Z_(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function Q_(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function fh(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function hh(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function dh(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function $_(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}function ev(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}function tv(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function rv(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function nv(t,e){return t[0]=Rr(e[0]),t[1]=Rr(e[1]),t[2]=Rr(e[2]),t}function iv(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function ov(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function ph(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}function mh(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}function gh(t){let e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function sv(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function av(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function Ua(t,e){let r=e[0],n=e[1],i=e[2],o=r*r+n*n+i*i;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}function In(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function sr(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[0],a=r[1],c=r[2];return t[0]=i*c-o*a,t[1]=o*s-n*c,t[2]=n*a-i*s,t}function cv(t,e,r,n){let i=e[0],o=e[1],s=e[2];return t[0]=i+n*(r[0]-i),t[1]=o+n*(r[1]-o),t[2]=s+n*(r[2]-s),t}function uv(t,e,r,n){let i=Math.acos(Math.min(Math.max(In(e,r),-1),1)),o=Math.sin(i),s=Math.sin((1-n)*i)/o,a=Math.sin(n*i)/o;return t[0]=s*e[0]+a*r[0],t[1]=s*e[1]+a*r[1],t[2]=s*e[2]+a*r[2],t}function lv(t,e,r,n,i,o){let s=o*o,a=s*(2*o-3)+1,c=s*(o-2)+o,u=s*(o-1),l=s*(3-2*o);return t[0]=e[0]*a+r[0]*c+n[0]*u+i[0]*l,t[1]=e[1]*a+r[1]*c+n[1]*u+i[1]*l,t[2]=e[2]*a+r[2]*c+n[2]*u+i[2]*l,t}function fv(t,e,r,n,i,o){let s=1-o,a=s*s,c=o*o,u=a*s,l=3*o*a,f=3*c*s,h=c*o;return t[0]=e[0]*u+r[0]*l+n[0]*f+i[0]*h,t[1]=e[1]*u+r[1]*l+n[1]*f+i[1]*h,t[2]=e[2]*u+r[2]*l+n[2]*f+i[2]*h,t}function hv(t,e){e=e===void 0?1:e;let r=wn()*2*Math.PI,n=wn()*2-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}function ar(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[3]*n+r[7]*i+r[11]*o+r[15];return s=s||1,t[0]=(r[0]*n+r[4]*i+r[8]*o+r[12])/s,t[1]=(r[1]*n+r[5]*i+r[9]*o+r[13])/s,t[2]=(r[2]*n+r[6]*i+r[10]*o+r[14])/s,t}function On(t,e,r){let n=e[0],i=e[1],o=e[2];return t[0]=n*r[0]+i*r[3]+o*r[6],t[1]=n*r[1]+i*r[4]+o*r[7],t[2]=n*r[2]+i*r[5]+o*r[8],t}function Rn(t,e,r){let n=r[0],i=r[1],o=r[2],s=r[3],a=e[0],c=e[1],u=e[2],l=i*u-o*c,f=o*a-n*u,h=n*c-i*a,d=i*h-o*f,p=o*l-n*h,g=n*f-i*l,m=s*2;return l*=m,f*=m,h*=m,d*=2,p*=2,g*=2,t[0]=a+l+d,t[1]=c+f+p,t[2]=u+h+g,t}function Ga(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[0],o[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),o[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function Ha(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),o[1]=i[1],o[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function Va(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),o[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),o[2]=i[2],t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function za(t,e){let r=t[0],n=t[1],i=t[2],o=e[0],s=e[1],a=e[2],c=Math.sqrt((r*r+n*n+i*i)*(o*o+s*s+a*a)),u=c&&In(t,e)/c;return Math.acos(Math.min(Math.max(u,-1),1))}function dv(t){return t[0]=0,t[1]=0,t[2]=0,t}function pv(t){return"vec3(".concat(t[0],", ").concat(t[1],", ").concat(t[2],")")}function mv(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function gv(t,e){let r=t[0],n=t[1],i=t[2],o=e[0],s=e[1],a=e[2];return Math.abs(r-o)<=1e-6*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-s)<=1e-6*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-a)<=1e-6*Math.max(1,Math.abs(i),Math.abs(a))}var yv=fh,Av=hh,_v=dh,vv=ph,xv=mh,ja=lh,Tv=gh,bv=function(){let t=ji();return function(e,r,n,i,o,s){let a,c;for(r||(r=3),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],o(t,t,s),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2];return e}}();var ka=[0,0,0],Ji,T=class extends Ft{static get ZERO(){return Ji||(Ji=new T(0,0,0),Object.freeze(Ji)),Ji}constructor(e=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&we(e)?this.copy(e):(Y.debug&&(G(e),G(r),G(n)),this[0]=e,this[1]=r,this[2]=n)}set(e,r,n){return this[0]=e,this[1]=r,this[2]=n,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}fromObject(e){return Y.debug&&(G(e.x),G(e.y),G(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}get ELEMENTS(){return 3}get z(){return this[2]}set z(e){this[2]=G(e)}angle(e){return za(this,e)}cross(e){return sr(this,this,e),this.check()}rotateX({radians:e,origin:r=ka}){return Ga(this,this,r,e),this.check()}rotateY({radians:e,origin:r=ka}){return Ha(this,this,r,e),this.check()}rotateZ({radians:e,origin:r=ka}){return Va(this,this,r,e),this.check()}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return ar(this,this,e),this.check()}transformAsVector(e){return Vi(this,this,e),this.check()}transformByMatrix3(e){return On(this,this,e),this.check()}transformByMatrix2(e){return ch(this,this,e),this.check()}transformByQuaternion(e){return Rn(this,this,e),this.check()}};var qi,Fr=class extends Ft{static get ZERO(){return qi||(qi=new Fr(0,0,0,0),Object.freeze(qi)),qi}constructor(e=0,r=0,n=0,i=0){super(-0,-0,-0,-0),we(e)&&arguments.length===1?this.copy(e):(Y.debug&&(G(e),G(r),G(n),G(i)),this[0]=e,this[1]=r,this[2]=n,this[3]=i)}set(e,r,n,i){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}fromObject(e){return Y.debug&&(G(e.x),G(e.y),G(e.z),G(e.w)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e.w=this[3],e}get ELEMENTS(){return 4}get z(){return this[2]}set z(e){this[2]=G(e)}get w(){return this[3]}set w(e){this[3]=G(e)}transform(e){return ar(this,this,e),this.check()}transformByMatrix3(e){return zi(this,this,e),this.check()}transformByMatrix2(e){return uh(this,this,e),this.check()}transformByQuaternion(e){return Rn(this,this,e),this.check()}applyMatrix4(e){return e.transform(this,this),this}};var Dr=class extends Lt{toString(){let e="[";if(Y.printRowMajor){e+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)e+=" ".concat(this[n*this.RANK+r])}else{e+="column-major:";for(let r=0;r<this.ELEMENTS;++r)e+=" ".concat(this[r])}return e+="]",e}getElementIndex(e,r){return r*this.RANK+e}getElement(e,r){return this[r*this.RANK+e]}setElement(e,r,n){return this[r*this.RANK+e]=G(n),this}getColumn(e,r=new Array(this.RANK).fill(-0)){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(e,r){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function yh(){let t=new $(9);return $!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function Ah(t,e){if(t===e){let r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function _h(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=l*s-a*u,h=-l*o+a*c,d=u*o-s*c,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-l*n+i*u)*p,t[2]=(a*n-i*s)*p,t[3]=h*p,t[4]=(l*r-i*c)*p,t[5]=(-a*r+i*o)*p,t[6]=d*p,t[7]=(-u*r+n*c)*p,t[8]=(s*r-n*o)*p,t):null}function vh(t){let e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],s=t[5],a=t[6],c=t[7],u=t[8];return e*(u*o-s*c)+r*(-u*i+s*a)+n*(c*i-o*a)}function Ja(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=r[0],d=r[1],p=r[2],g=r[3],m=r[4],A=r[5],_=r[6],v=r[7],x=r[8];return t[0]=h*n+d*s+p*u,t[1]=h*i+d*a+p*l,t[2]=h*o+d*c+p*f,t[3]=g*n+m*s+A*u,t[4]=g*i+m*a+A*l,t[5]=g*o+m*c+A*f,t[6]=_*n+v*s+x*u,t[7]=_*i+v*a+x*l,t[8]=_*o+v*c+x*f,t}function xh(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=o,t[3]=s,t[4]=a,t[5]=c,t[6]=h*n+d*s+u,t[7]=h*i+d*a+l,t[8]=h*o+d*c+f,t}function Th(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*s,t[1]=d*i+h*a,t[2]=d*o+h*c,t[3]=d*s-h*n,t[4]=d*a-h*i,t[5]=d*c-h*o,t[6]=u,t[7]=l,t[8]=f,t}function qa(t,e,r){let n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function bh(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r+r,a=n+n,c=i+i,u=r*s,l=n*s,f=n*a,h=i*s,d=i*a,p=i*c,g=o*s,m=o*a,A=o*c;return t[0]=1-f-p,t[3]=l-A,t[6]=h+m,t[1]=l+A,t[4]=1-u-p,t[7]=d-g,t[2]=h-m,t[5]=d+g,t[8]=1-u-f,t}var Wa;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL1ROW0=3]="COL1ROW0",t[t.COL1ROW1=4]="COL1ROW1",t[t.COL1ROW2=5]="COL1ROW2",t[t.COL2ROW0=6]="COL2ROW0",t[t.COL2ROW1=7]="COL2ROW1",t[t.COL2ROW2=8]="COL2ROW2"})(Wa||(Wa={}));var Sv=Object.freeze([1,0,0,0,1,0,0,0,1]),j=class extends Dr{static get IDENTITY(){return Cv()}static get ZERO(){return Bv()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return Wa}constructor(e,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):r.length>0?this.copy([e,...r]):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this.check()}identity(){return this.copy(Sv)}fromObject(e){return this.check()}fromQuaternion(e){return bh(this,e),this.check()}set(e,r,n,i,o,s,a,c,u){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this[4]=o,this[5]=s,this[6]=a,this[7]=c,this[8]=u,this.check()}setRowMajor(e,r,n,i,o,s,a,c,u){return this[0]=e,this[1]=i,this[2]=a,this[3]=r,this[4]=o,this[5]=c,this[6]=n,this[7]=s,this[8]=u,this.check()}determinant(){return vh(this)}transpose(){return Ah(this,this),this.check()}invert(){return _h(this,this),this.check()}multiplyLeft(e){return Ja(this,e,this),this.check()}multiplyRight(e){return Ja(this,this,e),this.check()}rotate(e){return Th(this,this,e),this.check()}scale(e){return Array.isArray(e)?qa(this,this,e):qa(this,this,[e,e]),this.check()}translate(e){return xh(this,this,e),this.check()}transform(e,r){let n;switch(e.length){case 2:n=Ui(r||[-0,-0],e,this);break;case 3:n=On(r||[-0,-0,-0],e,this);break;case 4:n=zi(r||[-0,-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Pt(n,e.length),n}transformVector(e,r){return this.transform(e,r)}transformVector2(e,r){return this.transform(e,r)}transformVector3(e,r){return this.transform(e,r)}},Wi,Xi=null;function Bv(){return Wi||(Wi=new j([0,0,0,0,0,0,0,0,0]),Object.freeze(Wi)),Wi}function Cv(){return Xi||(Xi=new j,Object.freeze(Xi)),Xi}var Ki={};de(Ki,{add:()=>Qv,adjoint:()=>Lv,clone:()=>wv,copy:()=>Iv,create:()=>Mv,decompose:()=>jv,determinant:()=>Ya,equals:()=>rx,exactEquals:()=>tx,frob:()=>Zv,fromQuat:()=>nc,fromQuat2:()=>Hv,fromRotation:()=>Dv,fromRotationTranslation:()=>Sh,fromRotationTranslationScale:()=>kv,fromRotationTranslationScaleOrigin:()=>Jv,fromScaling:()=>Fv,fromTranslation:()=>Pv,fromValues:()=>Ov,fromXRotation:()=>Nv,fromYRotation:()=>Uv,fromZRotation:()=>Gv,frustum:()=>ic,getRotation:()=>zv,getScaling:()=>Bh,getTranslation:()=>Vv,identity:()=>Eh,invert:()=>Ka,lookAt:()=>ac,mul:()=>nx,multiply:()=>Ln,multiplyScalar:()=>$v,multiplyScalarAndAdd:()=>ex,ortho:()=>sc,orthoNO:()=>Mh,orthoZO:()=>Xv,perspective:()=>oc,perspectiveFromFieldOfView:()=>Wv,perspectiveNO:()=>Ch,perspectiveZO:()=>qv,rotate:()=>$a,rotateX:()=>ec,rotateY:()=>tc,rotateZ:()=>rc,scale:()=>Qa,set:()=>Rv,str:()=>Yv,sub:()=>ix,subtract:()=>wh,targetTo:()=>Kv,translate:()=>Za,transpose:()=>Xa});function Mv(){let t=new $(16);return $!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function wv(t){let e=new $(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Iv(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Ov(t,e,r,n,i,o,s,a,c,u,l,f,h,d,p,g){let m=new $(16);return m[0]=t,m[1]=e,m[2]=r,m[3]=n,m[4]=i,m[5]=o,m[6]=s,m[7]=a,m[8]=c,m[9]=u,m[10]=l,m[11]=f,m[12]=h,m[13]=d,m[14]=p,m[15]=g,m}function Rv(t,e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=o,t[5]=s,t[6]=a,t[7]=c,t[8]=u,t[9]=l,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=g,t[15]=m,t}function Eh(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Xa(t,e){if(t===e){let r=e[1],n=e[2],i=e[3],o=e[6],s=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=o,t[11]=e[14],t[12]=i,t[13]=s,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function Ka(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],m=e[14],A=e[15],_=r*a-n*s,v=r*c-i*s,x=r*u-o*s,B=n*c-i*a,S=n*u-o*a,C=i*u-o*c,E=l*g-f*p,b=l*m-h*p,y=l*A-d*p,M=f*m-h*g,I=f*A-d*g,O=h*A-d*m,R=_*O-v*I+x*M+B*y-S*b+C*E;return R?(R=1/R,t[0]=(a*O-c*I+u*M)*R,t[1]=(i*I-n*O-o*M)*R,t[2]=(g*C-m*S+A*B)*R,t[3]=(h*S-f*C-d*B)*R,t[4]=(c*y-s*O-u*b)*R,t[5]=(r*O-i*y+o*b)*R,t[6]=(m*x-p*C-A*v)*R,t[7]=(l*C-h*x+d*v)*R,t[8]=(s*I-a*y+u*E)*R,t[9]=(n*y-r*I-o*E)*R,t[10]=(p*S-g*x+A*_)*R,t[11]=(f*x-l*S-d*_)*R,t[12]=(a*b-s*M-c*E)*R,t[13]=(r*M-n*b+i*E)*R,t[14]=(g*v-p*B-m*_)*R,t[15]=(l*B-f*v+h*_)*R,t):null}function Lv(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],m=e[14],A=e[15],_=r*a-n*s,v=r*c-i*s,x=r*u-o*s,B=n*c-i*a,S=n*u-o*a,C=i*u-o*c,E=l*g-f*p,b=l*m-h*p,y=l*A-d*p,M=f*m-h*g,I=f*A-d*g,O=h*A-d*m;return t[0]=a*O-c*I+u*M,t[1]=i*I-n*O-o*M,t[2]=g*C-m*S+A*B,t[3]=h*S-f*C-d*B,t[4]=c*y-s*O-u*b,t[5]=r*O-i*y+o*b,t[6]=m*x-p*C-A*v,t[7]=l*C-h*x+d*v,t[8]=s*I-a*y+u*E,t[9]=n*y-r*I-o*E,t[10]=p*S-g*x+A*_,t[11]=f*x-l*S-d*_,t[12]=a*b-s*M-c*E,t[13]=r*M-n*b+i*E,t[14]=g*v-p*B-m*_,t[15]=l*B-f*v+h*_,t}function Ya(t){let e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],s=t[5],a=t[6],c=t[7],u=t[8],l=t[9],f=t[10],h=t[11],d=t[12],p=t[13],g=t[14],m=t[15],A=e*s-r*o,_=e*a-n*o,v=r*a-n*s,x=u*p-l*d,B=u*g-f*d,S=l*g-f*p,C=e*S-r*B+n*x,E=o*S-s*B+a*x,b=u*v-l*_+f*A,y=d*v-p*_+g*A;return c*C-i*E+m*b-h*y}function Ln(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=e[9],d=e[10],p=e[11],g=e[12],m=e[13],A=e[14],_=e[15],v=r[0],x=r[1],B=r[2],S=r[3];return t[0]=v*n+x*a+B*f+S*g,t[1]=v*i+x*c+B*h+S*m,t[2]=v*o+x*u+B*d+S*A,t[3]=v*s+x*l+B*p+S*_,v=r[4],x=r[5],B=r[6],S=r[7],t[4]=v*n+x*a+B*f+S*g,t[5]=v*i+x*c+B*h+S*m,t[6]=v*o+x*u+B*d+S*A,t[7]=v*s+x*l+B*p+S*_,v=r[8],x=r[9],B=r[10],S=r[11],t[8]=v*n+x*a+B*f+S*g,t[9]=v*i+x*c+B*h+S*m,t[10]=v*o+x*u+B*d+S*A,t[11]=v*s+x*l+B*p+S*_,v=r[12],x=r[13],B=r[14],S=r[15],t[12]=v*n+x*a+B*f+S*g,t[13]=v*i+x*c+B*h+S*m,t[14]=v*o+x*u+B*d+S*A,t[15]=v*s+x*l+B*p+S*_,t}function Za(t,e,r){let n=r[0],i=r[1],o=r[2],s,a,c,u,l,f,h,d,p,g,m,A;return e===t?(t[12]=e[0]*n+e[4]*i+e[8]*o+e[12],t[13]=e[1]*n+e[5]*i+e[9]*o+e[13],t[14]=e[2]*n+e[6]*i+e[10]*o+e[14],t[15]=e[3]*n+e[7]*i+e[11]*o+e[15]):(s=e[0],a=e[1],c=e[2],u=e[3],l=e[4],f=e[5],h=e[6],d=e[7],p=e[8],g=e[9],m=e[10],A=e[11],t[0]=s,t[1]=a,t[2]=c,t[3]=u,t[4]=l,t[5]=f,t[6]=h,t[7]=d,t[8]=p,t[9]=g,t[10]=m,t[11]=A,t[12]=s*n+l*i+p*o+e[12],t[13]=a*n+f*i+g*o+e[13],t[14]=c*n+h*i+m*o+e[14],t[15]=u*n+d*i+A*o+e[15]),t}function Qa(t,e,r){let n=r[0],i=r[1],o=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function $a(t,e,r,n){let i=n[0],o=n[1],s=n[2],a=Math.sqrt(i*i+o*o+s*s),c,u,l,f,h,d,p,g,m,A,_,v,x,B,S,C,E,b,y,M,I,O,R,F;return a<1e-6?null:(a=1/a,i*=a,o*=a,s*=a,u=Math.sin(r),c=Math.cos(r),l=1-c,f=e[0],h=e[1],d=e[2],p=e[3],g=e[4],m=e[5],A=e[6],_=e[7],v=e[8],x=e[9],B=e[10],S=e[11],C=i*i*l+c,E=o*i*l+s*u,b=s*i*l-o*u,y=i*o*l-s*u,M=o*o*l+c,I=s*o*l+i*u,O=i*s*l+o*u,R=o*s*l-i*u,F=s*s*l+c,t[0]=f*C+g*E+v*b,t[1]=h*C+m*E+x*b,t[2]=d*C+A*E+B*b,t[3]=p*C+_*E+S*b,t[4]=f*y+g*M+v*I,t[5]=h*y+m*M+x*I,t[6]=d*y+A*M+B*I,t[7]=p*y+_*M+S*I,t[8]=f*O+g*R+v*F,t[9]=h*O+m*R+x*F,t[10]=d*O+A*R+B*F,t[11]=p*O+_*R+S*F,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function ec(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[4],s=e[5],a=e[6],c=e[7],u=e[8],l=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=o*i+u*n,t[5]=s*i+l*n,t[6]=a*i+f*n,t[7]=c*i+h*n,t[8]=u*i-o*n,t[9]=l*i-s*n,t[10]=f*i-a*n,t[11]=h*i-c*n,t}function tc(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[0],s=e[1],a=e[2],c=e[3],u=e[8],l=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i-u*n,t[1]=s*i-l*n,t[2]=a*i-f*n,t[3]=c*i-h*n,t[8]=o*n+u*i,t[9]=s*n+l*i,t[10]=a*n+f*i,t[11]=c*n+h*i,t}function rc(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[0],s=e[1],a=e[2],c=e[3],u=e[4],l=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i+u*n,t[1]=s*i+l*n,t[2]=a*i+f*n,t[3]=c*i+h*n,t[4]=u*i-o*n,t[5]=l*i-s*n,t[6]=f*i-a*n,t[7]=h*i-c*n,t}function Pv(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function Fv(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Dv(t,e,r){let n=r[0],i=r[1],o=r[2],s=Math.sqrt(n*n+i*i+o*o),a,c,u;return s<1e-6?null:(s=1/s,n*=s,i*=s,o*=s,c=Math.sin(e),a=Math.cos(e),u=1-a,t[0]=n*n*u+a,t[1]=i*n*u+o*c,t[2]=o*n*u-i*c,t[3]=0,t[4]=n*i*u-o*c,t[5]=i*i*u+a,t[6]=o*i*u+n*c,t[7]=0,t[8]=n*o*u+i*c,t[9]=i*o*u-n*c,t[10]=o*o*u+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function Nv(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Uv(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Gv(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Sh(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=n+n,c=i+i,u=o+o,l=n*a,f=n*c,h=n*u,d=i*c,p=i*u,g=o*u,m=s*a,A=s*c,_=s*u;return t[0]=1-(d+g),t[1]=f+_,t[2]=h-A,t[3]=0,t[4]=f-_,t[5]=1-(l+g),t[6]=p+m,t[7]=0,t[8]=h+A,t[9]=p-m,t[10]=1-(l+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function Hv(t,e){let r=new $(3),n=-e[0],i=-e[1],o=-e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=n*n+i*i+o*o+s*s;return f>0?(r[0]=(a*s+l*n+c*o-u*i)*2/f,r[1]=(c*s+l*i+u*n-a*o)*2/f,r[2]=(u*s+l*o+a*i-c*n)*2/f):(r[0]=(a*s+l*n+c*o-u*i)*2,r[1]=(c*s+l*i+u*n-a*o)*2,r[2]=(u*s+l*o+a*i-c*n)*2),Sh(t,e,r),t}function Vv(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function Bh(t,e){let r=e[0],n=e[1],i=e[2],o=e[4],s=e[5],a=e[6],c=e[8],u=e[9],l=e[10];return t[0]=Math.sqrt(r*r+n*n+i*i),t[1]=Math.sqrt(o*o+s*s+a*a),t[2]=Math.sqrt(c*c+u*u+l*l),t}function zv(t,e){let r=new $(3);Bh(r,e);let n=1/r[0],i=1/r[1],o=1/r[2],s=e[0]*n,a=e[1]*i,c=e[2]*o,u=e[4]*n,l=e[5]*i,f=e[6]*o,h=e[8]*n,d=e[9]*i,p=e[10]*o,g=s+l+p,m=0;return g>0?(m=Math.sqrt(g+1)*2,t[3]=.25*m,t[0]=(f-d)/m,t[1]=(h-c)/m,t[2]=(a-u)/m):s>l&&s>p?(m=Math.sqrt(1+s-l-p)*2,t[3]=(f-d)/m,t[0]=.25*m,t[1]=(a+u)/m,t[2]=(h+c)/m):l>p?(m=Math.sqrt(1+l-s-p)*2,t[3]=(h-c)/m,t[0]=(a+u)/m,t[1]=.25*m,t[2]=(f+d)/m):(m=Math.sqrt(1+p-s-l)*2,t[3]=(a-u)/m,t[0]=(h+c)/m,t[1]=(f+d)/m,t[2]=.25*m),t}function jv(t,e,r,n){e[0]=n[12],e[1]=n[13],e[2]=n[14];let i=n[0],o=n[1],s=n[2],a=n[4],c=n[5],u=n[6],l=n[8],f=n[9],h=n[10];r[0]=Math.sqrt(i*i+o*o+s*s),r[1]=Math.sqrt(a*a+c*c+u*u),r[2]=Math.sqrt(l*l+f*f+h*h);let d=1/r[0],p=1/r[1],g=1/r[2],m=i*d,A=o*p,_=s*g,v=a*d,x=c*p,B=u*g,S=l*d,C=f*p,E=h*g,b=m+x+E,y=0;return b>0?(y=Math.sqrt(b+1)*2,t[3]=.25*y,t[0]=(B-C)/y,t[1]=(S-_)/y,t[2]=(A-v)/y):m>x&&m>E?(y=Math.sqrt(1+m-x-E)*2,t[3]=(B-C)/y,t[0]=.25*y,t[1]=(A+v)/y,t[2]=(S+_)/y):x>E?(y=Math.sqrt(1+x-m-E)*2,t[3]=(S-_)/y,t[0]=(A+v)/y,t[1]=.25*y,t[2]=(B+C)/y):(y=Math.sqrt(1+E-m-x)*2,t[3]=(A-v)/y,t[0]=(S+_)/y,t[1]=(B+C)/y,t[2]=.25*y),t}function kv(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=i+i,u=o+o,l=s+s,f=i*c,h=i*u,d=i*l,p=o*u,g=o*l,m=s*l,A=a*c,_=a*u,v=a*l,x=n[0],B=n[1],S=n[2];return t[0]=(1-(p+m))*x,t[1]=(h+v)*x,t[2]=(d-_)*x,t[3]=0,t[4]=(h-v)*B,t[5]=(1-(f+m))*B,t[6]=(g+A)*B,t[7]=0,t[8]=(d+_)*S,t[9]=(g-A)*S,t[10]=(1-(f+p))*S,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function Jv(t,e,r,n,i){let o=e[0],s=e[1],a=e[2],c=e[3],u=o+o,l=s+s,f=a+a,h=o*u,d=o*l,p=o*f,g=s*l,m=s*f,A=a*f,_=c*u,v=c*l,x=c*f,B=n[0],S=n[1],C=n[2],E=i[0],b=i[1],y=i[2],M=(1-(g+A))*B,I=(d+x)*B,O=(p-v)*B,R=(d-x)*S,F=(1-(h+A))*S,X=(m+_)*S,z=(p+v)*C,Q=(m-_)*C,W=(1-(h+g))*C;return t[0]=M,t[1]=I,t[2]=O,t[3]=0,t[4]=R,t[5]=F,t[6]=X,t[7]=0,t[8]=z,t[9]=Q,t[10]=W,t[11]=0,t[12]=r[0]+E-(M*E+R*b+z*y),t[13]=r[1]+b-(I*E+F*b+Q*y),t[14]=r[2]+y-(O*E+X*b+W*y),t[15]=1,t}function nc(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r+r,a=n+n,c=i+i,u=r*s,l=n*s,f=n*a,h=i*s,d=i*a,p=i*c,g=o*s,m=o*a,A=o*c;return t[0]=1-f-p,t[1]=l+A,t[2]=h-m,t[3]=0,t[4]=l-A,t[5]=1-u-p,t[6]=d+g,t[7]=0,t[8]=h+m,t[9]=d-g,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ic(t,e,r,n,i,o,s){let a=1/(r-e),c=1/(i-n),u=1/(o-s);return t[0]=o*2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o*2*c,t[6]=0,t[7]=0,t[8]=(r+e)*a,t[9]=(i+n)*c,t[10]=(s+o)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=s*o*2*u,t[15]=0,t}function Ch(t,e,r,n,i){let o=1/Math.tan(e/2);if(t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let s=1/(n-i);t[10]=(i+n)*s,t[14]=2*i*n*s}else t[10]=-1,t[14]=-2*n;return t}var oc=Ch;function qv(t,e,r,n,i){let o=1/Math.tan(e/2);if(t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let s=1/(n-i);t[10]=i*s,t[14]=i*n*s}else t[10]=-1,t[14]=-n;return t}function Wv(t,e,r,n){let i=Math.tan(e.upDegrees*Math.PI/180),o=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),a=Math.tan(e.rightDegrees*Math.PI/180),c=2/(s+a),u=2/(i+o);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-((s-a)*c*.5),t[9]=(i-o)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function Mh(t,e,r,n,i,o,s){let a=1/(e-r),c=1/(n-i),u=1/(o-s);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=(s+o)*u,t[15]=1,t}var sc=Mh;function Xv(t,e,r,n,i,o,s){let a=1/(e-r),c=1/(n-i),u=1/(o-s);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=u,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=o*u,t[15]=1,t}function ac(t,e,r,n){let i,o,s,a,c,u,l,f,h,d,p=e[0],g=e[1],m=e[2],A=n[0],_=n[1],v=n[2],x=r[0],B=r[1],S=r[2];return Math.abs(p-x)<1e-6&&Math.abs(g-B)<1e-6&&Math.abs(m-S)<1e-6?Eh(t):(f=p-x,h=g-B,d=m-S,i=1/Math.sqrt(f*f+h*h+d*d),f*=i,h*=i,d*=i,o=_*d-v*h,s=v*f-A*d,a=A*h-_*f,i=Math.sqrt(o*o+s*s+a*a),i?(i=1/i,o*=i,s*=i,a*=i):(o=0,s=0,a=0),c=h*a-d*s,u=d*o-f*a,l=f*s-h*o,i=Math.sqrt(c*c+u*u+l*l),i?(i=1/i,c*=i,u*=i,l*=i):(c=0,u=0,l=0),t[0]=o,t[1]=c,t[2]=f,t[3]=0,t[4]=s,t[5]=u,t[6]=h,t[7]=0,t[8]=a,t[9]=l,t[10]=d,t[11]=0,t[12]=-(o*p+s*g+a*m),t[13]=-(c*p+u*g+l*m),t[14]=-(f*p+h*g+d*m),t[15]=1,t)}function Kv(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=n[0],c=n[1],u=n[2],l=i-r[0],f=o-r[1],h=s-r[2],d=l*l+f*f+h*h;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,h*=d);let p=c*h-u*f,g=u*l-a*h,m=a*f-c*l;return d=p*p+g*g+m*m,d>0&&(d=1/Math.sqrt(d),p*=d,g*=d,m*=d),t[0]=p,t[1]=g,t[2]=m,t[3]=0,t[4]=f*m-h*g,t[5]=h*p-l*m,t[6]=l*g-f*p,t[7]=0,t[8]=l,t[9]=f,t[10]=h,t[11]=0,t[12]=i,t[13]=o,t[14]=s,t[15]=1,t}function Yv(t){return"mat4(".concat(t[0],", ").concat(t[1],", ").concat(t[2],", ").concat(t[3],", ").concat(t[4],", ").concat(t[5],", ").concat(t[6],", ").concat(t[7],", ").concat(t[8],", ").concat(t[9],", ").concat(t[10],", ").concat(t[11],", ").concat(t[12],", ").concat(t[13],", ").concat(t[14],", ").concat(t[15],")")}function Zv(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8]+t[9]*t[9]+t[10]*t[10]+t[11]*t[11]+t[12]*t[12]+t[13]*t[13]+t[14]*t[14]+t[15]*t[15])}function Qv(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function wh(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function $v(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function ex(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function tx(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function rx(t,e){let r=t[0],n=t[1],i=t[2],o=t[3],s=t[4],a=t[5],c=t[6],u=t[7],l=t[8],f=t[9],h=t[10],d=t[11],p=t[12],g=t[13],m=t[14],A=t[15],_=e[0],v=e[1],x=e[2],B=e[3],S=e[4],C=e[5],E=e[6],b=e[7],y=e[8],M=e[9],I=e[10],O=e[11],R=e[12],F=e[13],X=e[14],z=e[15];return Math.abs(r-_)<=1e-6*Math.max(1,Math.abs(r),Math.abs(_))&&Math.abs(n-v)<=1e-6*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(i-x)<=1e-6*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(o-B)<=1e-6*Math.max(1,Math.abs(o),Math.abs(B))&&Math.abs(s-S)<=1e-6*Math.max(1,Math.abs(s),Math.abs(S))&&Math.abs(a-C)<=1e-6*Math.max(1,Math.abs(a),Math.abs(C))&&Math.abs(c-E)<=1e-6*Math.max(1,Math.abs(c),Math.abs(E))&&Math.abs(u-b)<=1e-6*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(l-y)<=1e-6*Math.max(1,Math.abs(l),Math.abs(y))&&Math.abs(f-M)<=1e-6*Math.max(1,Math.abs(f),Math.abs(M))&&Math.abs(h-I)<=1e-6*Math.max(1,Math.abs(h),Math.abs(I))&&Math.abs(d-O)<=1e-6*Math.max(1,Math.abs(d),Math.abs(O))&&Math.abs(p-R)<=1e-6*Math.max(1,Math.abs(p),Math.abs(R))&&Math.abs(g-F)<=1e-6*Math.max(1,Math.abs(g),Math.abs(F))&&Math.abs(m-X)<=1e-6*Math.max(1,Math.abs(m),Math.abs(X))&&Math.abs(A-z)<=1e-6*Math.max(1,Math.abs(A),Math.abs(z))}var nx=Ln,ix=wh;function ox(){let t=new $(4);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function Ih(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function Oh(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function Rh(t){let e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}function Lh(t){let e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}function Ph(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r*r+n*n+i*i+o*o;return s>0&&(s=1/Math.sqrt(s)),t[0]=r*s,t[1]=n*s,t[2]=i*s,t[3]=o*s,t}function Fh(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Dh(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3];return t[0]=i+n*(r[0]-i),t[1]=o+n*(r[1]-o),t[2]=s+n*(r[2]-s),t[3]=a+n*(r[3]-a),t}function Nh(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*o+r[12]*s,t[1]=r[1]*n+r[5]*i+r[9]*o+r[13]*s,t[2]=r[2]*n+r[6]*i+r[10]*o+r[14]*s,t[3]=r[3]*n+r[7]*i+r[11]*o+r[15]*s,t}function Uh(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[0],a=r[1],c=r[2],u=r[3],l=u*n+a*o-c*i,f=u*i+c*n-s*o,h=u*o+s*i-a*n,d=-s*n-a*i-c*o;return t[0]=l*u+d*-s+f*-c-h*-a,t[1]=f*u+d*-a+h*-s-l*-c,t[2]=h*u+d*-c+l*-a-f*-s,t[3]=e[3],t}var bF=function(){let t=ox();return function(e,r,n,i,o,s){let a,c;for(r||(r=4),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],t[3]=e[a+3],o(t,t,s),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2],e[a+3]=t[3];return e}}();var lc;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL0ROW3=3]="COL0ROW3",t[t.COL1ROW0=4]="COL1ROW0",t[t.COL1ROW1=5]="COL1ROW1",t[t.COL1ROW2=6]="COL1ROW2",t[t.COL1ROW3=7]="COL1ROW3",t[t.COL2ROW0=8]="COL2ROW0",t[t.COL2ROW1=9]="COL2ROW1",t[t.COL2ROW2=10]="COL2ROW2",t[t.COL2ROW3=11]="COL2ROW3",t[t.COL3ROW0=12]="COL3ROW0",t[t.COL3ROW1=13]="COL3ROW1",t[t.COL3ROW2=14]="COL3ROW2",t[t.COL3ROW3=15]="COL3ROW3"})(lc||(lc={}));var ax=45*Math.PI/180,cx=1,cc=.1,uc=500,ux=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),D=class extends Dr{static get IDENTITY(){return fx()}static get ZERO(){return lx()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return lc}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}set(e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this[4]=o,this[5]=s,this[6]=a,this[7]=c,this[8]=u,this[9]=l,this[10]=f,this[11]=h,this[12]=d,this[13]=p,this[14]=g,this[15]=m,this.check()}setRowMajor(e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m){return this[0]=e,this[1]=o,this[2]=u,this[3]=d,this[4]=r,this[5]=s,this[6]=l,this[7]=p,this[8]=n,this[9]=a,this[10]=f,this[11]=g,this[12]=i,this[13]=c,this[14]=h,this[15]=m,this.check()}toRowMajor(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}identity(){return this.copy(ux)}fromObject(e){return this.check()}fromQuaternion(e){return nc(this,e),this.check()}frustum(e){let{left:r,right:n,bottom:i,top:o,near:s=cc,far:a=uc}=e;return a===1/0?hx(this,r,n,i,o,s):ic(this,r,n,i,o,s,a),this.check()}lookAt(e){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=e;return ac(this,r,n,i),this.check()}ortho(e){let{left:r,right:n,bottom:i,top:o,near:s=cc,far:a=uc}=e;return sc(this,r,n,i,o,s,a),this.check()}orthographic(e){let{fovy:r=ax,aspect:n=cx,focalDistance:i=1,near:o=cc,far:s=uc}=e;Gh(r);let a=r/2,c=i*Math.tan(a),u=c*n;return this.ortho({left:-u,right:u,bottom:-c,top:c,near:o,far:s})}perspective(e){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:o=500}=e;return Gh(r),oc(this,r,n,i,o),this.check()}determinant(){return Ya(this)}getScale(e=[-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}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],o=1/n[1],s=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*o,e[2]=this[2]*s,e[3]=0,e[4]=this[4]*i,e[5]=this[5]*o,e[6]=this[6]*s,e[7]=0,e[8]=this[8]*i,e[9]=this[9]*o,e[10]=this[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],o=1/n[1],s=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*o,e[2]=this[2]*s,e[3]=this[4]*i,e[4]=this[5]*o,e[5]=this[6]*s,e[6]=this[8]*i,e[7]=this[9]*o,e[8]=this[10]*s,e}transpose(){return Xa(this,this),this.check()}invert(){return Ka(this,this),this.check()}multiplyLeft(e){return Ln(this,e,this),this.check()}multiplyRight(e){return Ln(this,this,e),this.check()}rotateX(e){return ec(this,this,e),this.check()}rotateY(e){return tc(this,this,e),this.check()}rotateZ(e){return rc(this,this,e),this.check()}rotateXYZ(e){return this.rotateX(e[0]).rotateY(e[1]).rotateZ(e[2])}rotateAxis(e,r){return $a(this,this,e,r),this.check()}scale(e){return Qa(this,this,Array.isArray(e)?e:[e,e,e]),this.check()}translate(e){return Za(this,this,e),this.check()}transform(e,r){return e.length===4?(r=Nh(r||[-0,-0,-0,-0],e,this),Pt(r,4),r):this.transformAsPoint(e,r)}transformAsPoint(e,r){let{length:n}=e,i;switch(n){case 2:i=Gi(r||[-0,-0],e,this);break;case 3:i=ar(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Pt(i,e.length),i}transformAsVector(e,r){let n;switch(e.length){case 2:n=Hi(r||[-0,-0],e,this);break;case 3:n=Vi(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Pt(n,e.length),n}transformPoint(e,r){return this.transformAsPoint(e,r)}transformVector(e,r){return this.transformAsPoint(e,r)}transformDirection(e,r){return this.transformAsVector(e,r)}makeRotationX(e){return this.identity().rotateX(e)}makeTranslation(e,r,n){return this.identity().translate([e,r,n])}},Yi,Zi;function lx(){return Yi||(Yi=new D([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Yi)),Yi}function fx(){return Zi||(Zi=new D,Object.freeze(Zi)),Zi}function Gh(t){if(t>Math.PI*2)throw Error("expected radians")}function hx(t,e,r,n,i,o){let s=2*o/(r-e),a=2*o/(i-n),c=(r+e)/(r-e),u=(i+n)/(i-n),l=-1,f=-1,h=-2*o;return t[0]=s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=c,t[9]=u,t[10]=l,t[11]=f,t[12]=0,t[13]=0,t[14]=h,t[15]=0,t}function Hh(){let t=new $(4);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function Vh(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function fc(t,e,r){r=r*.5;let n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t}function hc(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=r[0],c=r[1],u=r[2],l=r[3];return t[0]=n*l+s*a+i*u-o*c,t[1]=i*l+s*c+o*a-n*u,t[2]=o*l+s*u+n*c-i*a,t[3]=s*l-n*a-i*c-o*u,t}function zh(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*a,t[1]=i*c+o*a,t[2]=o*c-i*a,t[3]=s*c-n*a,t}function jh(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c-o*a,t[1]=i*c+s*a,t[2]=o*c+n*a,t[3]=s*c-i*a,t}function kh(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+i*a,t[1]=i*c-n*a,t[2]=o*c+s*a,t[3]=s*c-o*a,t}function Jh(t,e){let r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t}function Pn(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=r[0],u=r[1],l=r[2],f=r[3],h,d,p,g,m;return h=i*c+o*u+s*l+a*f,h<0&&(h=-h,c=-c,u=-u,l=-l,f=-f),1-h>1e-6?(d=Math.acos(h),m=Math.sin(d),p=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(p=1-n,g=n),t[0]=p*i+g*c,t[1]=p*o+g*u,t[2]=p*s+g*l,t[3]=p*a+g*f,t}function qh(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r*r+n*n+i*i+o*o,a=s?1/s:0;return t[0]=-r*a,t[1]=-n*a,t[2]=-i*a,t[3]=o*a,t}function Wh(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function dc(t,e){let r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{let i=0;e[4]>e[0]&&(i=1),e[8]>e[i*3+i]&&(i=2);let o=(i+1)%3,s=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[o*3+o]-e[s*3+s]+1),t[i]=.5*n,n=.5/n,t[3]=(e[o*3+s]-e[s*3+o])*n,t[o]=(e[o*3+i]+e[i*3+o])*n,t[s]=(e[s*3+i]+e[i*3+s])*n}return t}var Xh=Ih;var Kh=Oh,Yh=Fh,Zh=Dh,Qh=Rh;var $h=Lh;var ed=Ph;var td=function(){let t=ji(),e=ki(1,0,0),r=ki(0,1,0);return function(n,i,o){let s=In(i,o);return s<-.999999?(sr(t,e,i),ja(t)<1e-6&&sr(t,r,i),Ua(t,t),fc(n,t,Math.PI),n):s>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(sr(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+s,ed(n,n))}}(),NF=function(){let t=Hh(),e=Hh();return function(r,n,i,o,s,a){return Pn(t,n,s,a),Pn(e,i,o,a),Pn(r,t,e,2*a*(1-a)),r}}(),UF=function(){let t=yh();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],ed(e,dc(e,t))}}();var dx=[0,0,0,1],nt=class extends Lt{constructor(e=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(e)&&arguments.length===1?this.copy(e):this.set(e,r,n,i)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,r,n,i){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this.check()}fromObject(e){return this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this.check()}fromMatrix3(e){return dc(this,e),this.check()}fromAxisRotation(e,r){return fc(this,e,r),this.check()}identity(){return Vh(this),this.check()}setAxisAngle(e,r){return this.fromAxisRotation(e,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=G(e)}get y(){return this[1]}set y(e){this[1]=G(e)}get z(){return this[2]}set z(e){this[2]=G(e)}get w(){return this[3]}set w(e){this[3]=G(e)}len(){return Qh(this)}lengthSquared(){return $h(this)}dot(e){return Yh(this,e)}rotationTo(e,r){return td(this,e,r),this.check()}add(e){return Xh(this,this,e),this.check()}calculateW(){return Jh(this,this),this.check()}conjugate(){return Wh(this,this),this.check()}invert(){return qh(this,this),this.check()}lerp(e,r,n){return n===void 0?this.lerp(this,e,r):(Zh(this,e,r,n),this.check())}multiplyRight(e){return hc(this,this,e),this.check()}multiplyLeft(e){return hc(this,e,this),this.check()}normalize(){let e=this.len(),r=e>0?1/e:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,e===0&&(this[3]=1),this.check()}rotateX(e){return zh(this,this,e),this.check()}rotateY(e){return jh(this,this,e),this.check()}rotateZ(e){return kh(this,this,e),this.check()}scale(e){return Kh(this,this,e),this.check()}slerp(e,r,n){let i,o,s;switch(arguments.length){case 1:({start:i=dx,target:o,ratio:s}=e);break;case 2:i=this,o=e,s=r;break;default:i=e,o=r,s=n}return Pn(this,i,o,s),this.check()}transformVector4(e,r=new Fr){return Uh(r,e,this),Pt(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,r){return this.setAxisAngle(e,r)}premultiply(e){return this.multiplyLeft(e)}multiply(e){return this.multiplyRight(e)}};var je={};de(je,{EPSILON1:()=>px,EPSILON10:()=>bx,EPSILON11:()=>Ex,EPSILON12:()=>Sx,EPSILON13:()=>Bx,EPSILON14:()=>Cx,EPSILON15:()=>Mx,EPSILON16:()=>wx,EPSILON17:()=>Ix,EPSILON18:()=>Ox,EPSILON19:()=>Rx,EPSILON2:()=>mx,EPSILON20:()=>Lx,EPSILON3:()=>gx,EPSILON4:()=>yx,EPSILON5:()=>Ax,EPSILON6:()=>_x,EPSILON7:()=>vx,EPSILON8:()=>xx,EPSILON9:()=>Tx,PI_OVER_FOUR:()=>Fx,PI_OVER_SIX:()=>Dx,PI_OVER_TWO:()=>Px,TWO_PI:()=>Nx});var px=.1,mx=.01,gx=.001,yx=1e-4,Ax=1e-5,_x=1e-6,vx=1e-7,xx=1e-8,Tx=1e-9,bx=1e-10,Ex=1e-11,Sx=1e-12,Bx=1e-13,Cx=1e-14,Mx=1e-15,wx=1e-16,Ix=1e-17,Ox=1e-18,Rx=1e-19,Lx=1e-20,Px=Math.PI/2,Fx=Math.PI/4,Dx=Math.PI/6,Nx=Math.PI*2;function Qi(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}var ke=Math.PI,od=ke/4,rd=ke/180,nd=180/ke,$i=512;function pt(t){let[e,r]=t;Qi(Number.isFinite(e)),Qi(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude");let n=e*rd,i=r*rd,o=$i*(n+ke)/(2*ke),s=$i*(ke+Math.log(Math.tan(od+i*.5)))/(2*ke);return[o,s]}function mt(t){let[e,r]=t,n=e/$i*(2*ke)-ke,i=2*(Math.atan(Math.exp(r/$i*(2*ke)-ke))-od);return[n*nd,i*nd]}var x3=Math.PI/180;var ad=6378137*Math.PI;function pc(t){var e=pt(t);return e[0]=(e[0]/256-1)*ad,e[1]=(e[1]/256-1)*ad,e}function to(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?to=function(r){return typeof r}:to=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},to(t)}function cd(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function mc(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){cd(o,n,i,s,a,"next",c)}function a(c){cd(o,n,i,s,a,"throw",c)}s(void 0)})}}function ud(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function eo(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ud(Object(r),!0).forEach(function(n){$x(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ud(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function $x(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function eT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ld(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function tT(t,e,r){return e&&ld(t.prototype,e),r&&ld(t,r),t}function ro(t,e,r){return typeof Reflect<"u"&&Reflect.get?ro=Reflect.get:ro=function(i,o,s){var a=rT(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},ro(t,e,r||t)}function rT(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=Nr(t),t!==null););return t}function nT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&gc(t,e)}function gc(t,e){return gc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},gc(t,e)}function iT(t){var e=aT();return function(){var n=Nr(t),i;if(e){var o=Nr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return oT(this,i)}}function oT(t,e){if(e&&(to(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return sT(t)}function sT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function aT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Nr(t){return Nr=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Nr(t)}var cT={id:"imagery-layer",data:"",serviceType:"auto",srs:"auto",layers:{type:"array",compare:!0,value:[]},onMetadataLoad:{type:"function",value:function(){}},onMetadataLoadError:{type:"function",value:console.error},onImageLoadStart:{type:"function",value:function(){}},onImageLoad:{type:"function",value:function(){}},onImageLoadError:{type:"function",compare:!1,value:function(e,r){return console.error(r,e)}}},no=function(t){nT(r,t);var e=iT(r);function r(){var i;eT(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.shouldUpdateState=function(){return!0},n.initializeState=function(){this.state._nextRequestId=0,this.state.lastRequestId=-1,this.state.loadCounter=0},n.updateState=function(o){var s=this,a=o.changeFlags,c=o.props,u=o.oldProps,l=this.context.viewport;a.dataChanged||c.serviceType!==u.serviceType?(this.state.imageSource=this._createImageSource(c),this._loadMetadata(),this.debounce(function(){return s.loadImage(l,"image source changed")},0)):(0,cr._deepEqual)(c.layers,u.layers,1)?a.viewportChanged&&this.debounce(function(){return s.loadImage(l,"viewport changed")}):this.debounce(function(){return s.loadImage(l,"layers changed")},0)},n.finalizeState=function(){},n.renderLayers=function(){var o=this.state,s=o.bounds,a=o.image,c=o.lastRequestParameters;return a&&new fd.BitmapLayer(eo(eo({},this.getSubLayerProps({id:"bitmap"})),{},{_imageCoordinateSystem:c.srs==="EPSG:4326"?cr.COORDINATE_SYSTEM.LNGLAT:cr.COORDINATE_SYSTEM.CARTESIAN,bounds:s,image:a}))},n.getFeatureInfoText=function(){var i=mc(regeneratorRuntime.mark(function s(a,c){var u,l,f,h;return regeneratorRuntime.wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(u=this.state.lastRequestParameters,!u){p.next=6;break}return p.next=4,(l=(f=this.state.imageSource).getFeatureInfoText)===null||l===void 0?void 0:l.call(f,eo(eo({},u),{},{query_layers:u.layers,x:a,y:c,info_format:"application/vnd.ogc.gml"}));case 4:return h=p.sent,p.abrupt("return",h);case 6:return p.abrupt("return","");case 7:case"end":return p.stop()}},s,this)}));function o(s,a){return i.apply(this,arguments)}return o}(),n._createImageSource=function(o){if(o.data instanceof Re)return o.data;if(typeof o.data=="string")return La({url:o.data,loadOptions:o.loadOptions,type:o.serviceType});throw new Error("invalid image source in props.data")},n._loadMetadata=function(){var i=mc(regeneratorRuntime.mark(function s(){var a,c,u,l;return regeneratorRuntime.wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return a=this.state.imageSource,h.prev=1,this.state.loadCounter++,h.next=5,a.getMetadata();case 5:c=h.sent,this.state.imageSource===a&&((u=this.getCurrentLayer())===null||u===void 0||u.props.onMetadataLoad(c)),h.next=12;break;case 9:h.prev=9,h.t0=h.catch(1),(l=this.getCurrentLayer())===null||l===void 0||l.props.onMetadataLoadError(h.t0);case 12:return h.prev=12,this.state.loadCounter--,h.finish(12);case 15:case"end":return h.stop()}},s,this,[[1,9,12,15]])}));function o(){return i.apply(this,arguments)}return o}(),n.loadImage=function(){var i=mc(regeneratorRuntime.mark(function s(a,c){var u,l,f,h,d,p,g,m,A,_,v,x,B,S;return regeneratorRuntime.wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(u=this.props,l=u.layers,f=u.serviceType,!(f==="wms"&&l.length===0)){E.next=3;break}return E.abrupt("return");case 3:return h=a.getBounds(),d=a.width,p=a.height,g=this.getRequestId(),m=this.props.srs,m==="auto"&&(m=a.resolution?"EPSG:4326":"EPSG:3857"),A={width:d,height:p,boundingBox:[[h[0],h[1]],[h[2],h[3]]],layers:l,crs:m},m==="EPSG:3857"&&(_=pc([h[0],h[1]]),v=pc([h[2],h[3]]),A.boundingBox=[_,v]),E.prev=10,this.state.loadCounter++,this.props.onImageLoadStart(g),E.next=15,this.state.imageSource.getImage(A);case 15:x=E.sent,this.state.lastRequestId<g&&((B=this.getCurrentLayer())===null||B===void 0||B.props.onImageLoad(g),this.setState({image:x,bounds:h,lastRequestParameters:A,lastRequestId:g})),E.next=23;break;case 19:E.prev=19,E.t0=E.catch(10),this.raiseError(E.t0,"Load image"),(S=this.getCurrentLayer())===null||S===void 0||S.props.onImageLoadError(g,E.t0);case 23:return E.prev=23,this.state.loadCounter--,E.finish(23);case 26:case"end":return E.stop()}},s,this,[[10,19,23,26]])}));function o(s,a){return i.apply(this,arguments)}return o}(),n.getRequestId=function(){return this.state._nextRequestId++},n.debounce=function(o){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:500;clearTimeout(this.state._timeoutId),this.state._timeoutId=setTimeout(function(){return o()},s)},tT(r,[{key:"isLoaded",get:function(){return Boolean(this.state)&&this.state.loadCounter===0&&ro(Nr(r.prototype),"isLoaded",this)}}]),r}(cr.CompositeLayer);no.layerName="WMSLayer";no.defaultProps=cT;var hd=P(Ve());function io(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?io=function(r){return typeof r}:io=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},io(t)}function uT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&yc(t,e)}function yc(t,e){return yc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},yc(t,e)}function fT(t){var e=pT();return function(){var n=oo(t),i;if(e){var o=oo(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return hT(this,i)}}function hT(t,e){if(e&&(io(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return dT(t)}function dT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function pT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function oo(t){return oo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},oo(t)}var mT={getHeight:{type:"accessor",value:0},greatCircle:!0},so=function(t){lT(r,t);var e=fT(r);function r(){return uT(this,r),e.apply(this,arguments)}return r}(hd.ArcLayer);so.layerName="GreatCircleLayer";so.defaultProps=mT;var pd=P(ze()),vc=P(Ve());function ao(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ao=function(r){return typeof r}:ao=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ao(t)}var gT=["updateTriggers"];function yT(t,e){if(t==null)return{};var r=AT(t,e),n,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i<o.length;i++)n=o[i],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function AT(t,e){if(t==null)return{};var r={},n=Object.keys(t),i,o;for(o=0;o<n.length;o++)i=n[o],!(e.indexOf(i)>=0)&&(r[i]=t[i]);return r}function _T(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function vT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ac(t,e)}function Ac(t,e){return Ac=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Ac(t,e)}function xT(t){var e=ET();return function(){var n=co(t),i;if(e){var o=co(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return TT(this,i)}}function TT(t,e){if(e&&(ao(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return bT(t)}function bT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function ET(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function co(t){return co=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},co(t)}function dd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function _c(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?dd(Object(r),!0).forEach(function(n){ST(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):dd(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function ST(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var BT=_c({},vc.PolygonLayer.defaultProps),Le=function(t){vT(r,t);var e=xT(r);function r(){return _T(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){return null},n.renderLayers=function(){var o=this.props,s=o.elevationScale,a=o.extruded,c=o.wireframe,u=o.filled,l=o.stroked,f=o.lineWidthUnits,h=o.lineWidthScale,d=o.lineWidthMinPixels,p=o.lineWidthMaxPixels,g=o.lineJointRounded,m=o.lineMiterLimit,A=o.lineDashJustified,_=o.getElevation,v=o.getFillColor,x=o.getLineColor,B=o.getLineWidth,S=this.props,C=S.updateTriggers,E=S.material,b=S.transitions,y=this.getSubLayerClass("cell",vc.PolygonLayer),M=this.indexToBounds()||{},I=M.updateTriggers,O=yT(M,gT);return new y({filled:u,wireframe:c,extruded:a,elevationScale:s,stroked:l,lineWidthUnits:f,lineWidthScale:h,lineWidthMinPixels:d,lineWidthMaxPixels:p,lineJointRounded:g,lineMiterLimit:m,lineDashJustified:A,material:E,transitions:b,getElevation:_,getFillColor:v,getLineColor:x,getLineWidth:B},this.getSubLayerProps({id:"cell",updateTriggers:C&&_c(_c({},I),{},{getElevation:C.getElevation,getFillColor:C.getFillColor,getLineColor:C.getLineColor,getLineWidth:C.getLineWidth})}),O)},r}(pd.CompositeLayer);Le.layerName="GeoCellLayer";Le.defaultProps=BT;var uo=P(xc());function _d(t,e){return IT(t)||wT(t,e)||MT(t,e)||CT()}function CT(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
15
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function MT(t,e){if(t){if(typeof t=="string")return gd(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gd(t,e)}}function gd(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function wT(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function IT(t){if(Array.isArray(t))return t}var OT=3,RT=30,LT=2*RT+1,yd=180/Math.PI;function vd(t,e,r){var n=1<<e;return[(t[0]+r[0])/n,(t[1]+r[1])/n]}function Ad(t){return t>=.5?1/3*(4*t*t-1):1/3*(1-4*(1-t)*(1-t))}function xd(t){return[Ad(t[0]),Ad(t[1])]}function Td(t,e){var r=_d(e,2),n=r[0],i=r[1];switch(t){case 0:return[1,n,i];case 1:return[-n,1,i];case 2:return[-n,-i,1];case 3:return[-1,-i,-n];case 4:return[i,-1,-n];case 5:return[i,n,-1];default:throw new Error("Invalid face")}}function bd(t){var e=_d(t,3),r=e[0],n=e[1],i=e[2],o=Math.atan2(i,Math.sqrt(r*r+n*n)),s=Math.atan2(n,r);return[s*yd,o*yd]}function Ed(t){for(var e=uo.default.fromString(t,!0,10).toString(2);e.length<OT+LT;)e="0"+e;for(var r=e.lastIndexOf("1"),n=e.substring(0,3),i=e.substring(3,r),o=i.length/2,s=uo.default.fromString(n,!0,2).toString(10),a=uo.default.fromString(i,!0,2).toString(4);a.length<o;)a="0"+a;return"".concat(s,"/").concat(a)}function PT(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);var i=e[0];e[0]=e[1],e[1]=i}}function Sd(t){for(var e=t.split("/"),r=parseInt(e[0],10),n=e[1],i=n.length,o=[0,0],s,a=i-1;a>=0;a--){s=i-a;var c=n[a],u=0,l=0;c==="1"?l=1:c==="2"?(u=1,l=1):c==="3"&&(u=1);var f=Math.pow(2,s-1);PT(f,o,u,l),o[0]+=f*u,o[1]+=f*l}if(r%2===1){var h=o[0];o[0]=o[1],o[1]=h}return{face:r,ij:o,level:s}}var Bd=P(xc());function FT(t){var e=t.padEnd(16,"0");return Bd.default.fromString(e,16)}var DT=100;function NT(t){for(var e=t.face,r=t.ij,n=t.level,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],o=Math.max(1,Math.ceil(DT*Math.pow(2,-n))),s=new Float64Array(4*o*2+2),a=0,c=0,u=0;u<4;u++)for(var l=i[u].slice(0),f=i[u+1],h=(f[0]-l[0])/o,d=(f[1]-l[1])/o,p=0;p<o;p++){l[0]+=h,l[1]+=d;var g=vd(r,n,l),m=xd(g),A=Td(e,m),_=bd(A);Math.abs(_[1])>89.999&&(_[0]=c);var v=_[0]-c;_[0]+=v>180?-360:v<-180?360:0,s[a++]=_[0],s[a++]=_[1],c=_[0]}return s[a++]=s[0],s[a++]=s[1],s}function UT(t){if(typeof t=="string"){if(t.indexOf("/")>0)return t;t=FT(t)}return Ed(t.toString())}function Cd(t){var e=UT(t),r=Sd(e);return NT(r)}function lo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?lo=function(r){return typeof r}:lo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},lo(t)}function GT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function HT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Tc(t,e)}function Tc(t,e){return Tc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Tc(t,e)}function VT(t){var e=kT();return function(){var n=fo(t),i;if(e){var o=fo(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return zT(this,i)}}function zT(t,e){if(e&&(lo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jT(t)}function jT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function kT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function fo(t){return fo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},fo(t)}var JT={getS2Token:{type:"accessor",value:function(e){return e.token}}},ho=function(t){HT(r,t);var e=VT(r);function r(){return GT(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.getS2Token;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(u,l){return Cd(a(u,l))}}},r}(Le);ho.layerName="S2Layer";ho.defaultProps=JT;function bc(t,e){return KT(t)||XT(t,e)||WT(t,e)||qT()}function qT(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
16
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function WT(t,e){if(t){if(typeof t=="string")return Md(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Md(t,e)}}function Md(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function XT(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function KT(t){if(Array.isArray(t))return t}var Ec=512;function YT(t,e){for(var r=0,n=0,i=1<<t.length,o=i/Ec,s=0;s<t.length;s++){i>>=1;var a=parseInt(t[s]);a%2&&(r|=i),a>1&&(n|=i)}return[[r/o,Ec-n/o],[(r+e)/o,Ec-(n+e)/o]]}function wd(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,r=YT(t,e),n=bc(r,2),i=n[0],o=n[1],s=mt(i),a=bc(s,2),c=a[0],u=a[1],l=mt(o),f=bc(l,2),h=f[0],d=f[1];return[h,u,h,d,c,d,c,u,h,u]}function po(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?po=function(r){return typeof r}:po=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},po(t)}function ZT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function QT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Sc(t,e)}function Sc(t,e){return Sc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Sc(t,e)}function $T(t){var e=rb();return function(){var n=mo(t),i;if(e){var o=mo(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return eb(this,i)}}function eb(t,e){if(e&&(po(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return tb(t)}function tb(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function rb(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function mo(t){return mo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},mo(t)}var nb={getQuadkey:{type:"accessor",value:function(e){return e.quadkey}}},go=function(t){QT(r,t);var e=$T(r);function r(){return ZT(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.extruded,c=o.getQuadkey,u=a?.99:1;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(f,h){return wd(c(f,h),u)},updateTriggers:{getPolygon:u}}},r}(Le);go.layerName="QuadkeyLayer";go.defaultProps=nb;var Mo=P(ze()),up=P(Ve());function Id(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function ib(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){Id(o,n,i,s,a,"next",c)}function a(c){Id(o,n,i,s,a,"throw",c)}s(void 0)})}}function ob(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Od(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function sb(t,e,r){return e&&Od(t.prototype,e),r&&Od(t,r),t}var Dn=function(){function t(r){ob(this,t),this.index=void 0,this.isVisible=void 0,this.isSelected=void 0,this.parent=void 0,this.children=void 0,this.content=void 0,this.state=void 0,this.layers=void 0,this.id=void 0,this.zoom=void 0,this.userData=void 0,this.boundingBox=void 0,this._abortController=void 0,this._loader=void 0,this._loaderId=void 0,this._isLoaded=void 0,this._isCancelled=void 0,this._needsReload=void 0,this._bbox=void 0,this.index=r,this.isVisible=!1,this.isSelected=!1,this.parent=null,this.children=[],this.content=null,this._loader=void 0,this._abortController=null,this._loaderId=0,this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1}var e=t.prototype;return e._loadData=function(){var r=ib(regeneratorRuntime.mark(function i(o){var s,a,c,u,l,f,h,d,p,g,m,A,_,v;return regeneratorRuntime.wrap(function(B){for(;;)switch(B.prev=B.next){case 0:return s=o.getData,a=o.requestScheduler,c=o.onLoad,u=o.onError,l=this.index,f=this.id,h=this.bbox,d=this.userData,p=this.zoom,g=this._loaderId,this._abortController=new AbortController,m=this._abortController.signal,B.next=7,a.scheduleRequest(this,function(S){return S.isSelected?1:-1});case 7:if(A=B.sent,A){B.next=11;break}return this._isCancelled=!0,B.abrupt("return");case 11:if(!this._isCancelled){B.next=14;break}return A.done(),B.abrupt("return");case 14:return _=null,B.prev=15,B.next=18,s({index:l,id:f,bbox:h,userData:d,zoom:p,signal:m});case 18:_=B.sent,B.next=24;break;case 21:B.prev=21,B.t0=B.catch(15),v=B.t0||!0;case 24:return B.prev=24,A.done(),B.finish(24);case 27:if(g===this._loaderId){B.next=29;break}return B.abrupt("return");case 29:if(this._loader=void 0,this.content=_,!(this._isCancelled&&!_)){B.next=34;break}return this._isLoaded=!1,B.abrupt("return");case 34:this._isLoaded=!0,this._isCancelled=!1,v?u(v,this):c(this);case 37:case"end":return B.stop()}},i,this,[[15,21,24,27]])}));function n(i){return r.apply(this,arguments)}return n}(),e.loadData=function(n){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(n),this._loader},e.setNeedsReload=function(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0},e.abort=function(){var n;this.isLoaded||(this._isCancelled=!0,(n=this._abortController)===null||n===void 0||n.abort())},sb(t,[{key:"bbox",get:function(){return this._bbox},set:function(n){this._bbox||(this._bbox=n,"west"in n?this.boundingBox=[[n.west,n.south],[n.east,n.north]]:this.boundingBox=[[n.left,n.top],[n.right,n.bottom]])}},{key:"data",get:function(){var n=this;return this.isLoading&&this._loader?this._loader.then(function(){return n.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 n=this.content?this.content.byteLength:0;return Number.isFinite(n)||console.error("byteLength not defined in tile data"),n}}]),t}();var Gn=P(ze());var oe={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var Rd=new T,ab=new T,Dt=class{constructor(e=[0,0,0],r=[0,0,0],n){L(this,"center",void 0),L(this,"halfDiagonal",void 0),L(this,"minimum",void 0),L(this,"maximum",void 0),n=n||Rd.copy(e).add(r).scale(.5),this.center=new T(n),this.halfDiagonal=new T(r).subtract(this.center),this.minimum=new T(e),this.maximum=new T(r)}clone(){return new Dt(this.minimum,this.maximum,this.center)}equals(e){return this===e||Boolean(e)&&this.minimum.equals(e.minimum)&&this.maximum.equals(e.maximum)}transform(e){return this.center.transformAsPoint(e),this.halfDiagonal.transform(e),this.minimum.transform(e),this.maximum.transform(e),this}intersectPlane(e){let{halfDiagonal:r}=this,n=ab.from(e.normal),i=r.x*Math.abs(n.x)+r.y*Math.abs(n.y)+r.z*Math.abs(n.z),o=this.center.dot(n)+e.distance;return o-i>0?oe.INSIDE:o+i<0?oe.OUTSIDE:oe.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=Rd.from(e).subtract(this.center),{halfDiagonal:n}=this,i=0,o;return o=Math.abs(r.x)-n.x,o>0&&(i+=o*o),o=Math.abs(r.y)-n.y,o>0&&(i+=o*o),o=Math.abs(r.z)-n.z,o>0&&(i+=o*o),i}};var Nn=new T,Ld=new T,Pe=class{constructor(e=[0,0,0],r=0){L(this,"center",void 0),L(this,"radius",void 0),this.radius=-0,this.center=new T,this.fromCenterRadius(e,r)}fromCenterRadius(e,r){return this.center.from(e),this.radius=r,this}fromCornerPoints(e,r){return r=Nn.from(r),this.center=new T().from(e).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}clone(){return new Pe(this.center,this.radius)}union(e){let r=this.center,n=this.radius,i=e.center,o=e.radius,s=Nn.copy(i).subtract(r),a=s.magnitude();if(n>=a+o)return this.clone();if(o>=a+n)return e.clone();let c=(n+a+o)*.5;return Ld.copy(s).scale((-n+c)/a).add(r),this.center.copy(Ld),this.radius=c,this}expand(e){let n=Nn.from(e).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(e){this.center.transform(e);let r=Ki.getScaling(Nn,e);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(e){let r=this.distanceTo(e);return r*r}distanceTo(e){let n=Nn.from(e).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(e){let r=this.center,n=this.radius,o=e.normal.dot(r)+e.distance;return o<-n?oe.OUTSIDE:o<n?oe.INTERSECTING:oe.INSIDE}};var cb=new T,ub=new T,yo=new T,Ao=new T,_o=new T,lb=new T,fb=new T,gt={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},Je=class{constructor(e=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){L(this,"center",void 0),L(this,"halfAxes",void 0),this.center=new T().from(e),this.halfAxes=new j(r)}get halfSize(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new T(e).len(),new T(r).len(),new T(n).len()]}get quaternion(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new T(e).normalize(),o=new T(r).normalize(),s=new T(n).normalize();return new nt().fromMatrix3(new j([...i,...o,...s]))}fromCenterHalfSizeQuaternion(e,r,n){let i=new nt(n),o=new j().fromQuaternion(i);return o[0]=o[0]*r[0],o[1]=o[1]*r[0],o[2]=o[2]*r[0],o[3]=o[3]*r[1],o[4]=o[4]*r[1],o[5]=o[5]*r[1],o[6]=o[6]*r[2],o[7]=o[7]*r[2],o[8]=o[8]*r[2],this.center=new T().from(e),this.halfAxes=o,this}clone(){return new Je(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Pe){let r=this.halfAxes,n=r.getColumn(0,yo),i=r.getColumn(1,Ao),o=r.getColumn(2,_o),s=cb.copy(n).add(i).add(o);return e.center.copy(this.center),e.radius=s.magnitude(),e}intersectPlane(e){let r=this.center,n=e.normal,i=this.halfAxes,o=n.x,s=n.y,a=n.z,c=Math.abs(o*i[gt.COLUMN0ROW0]+s*i[gt.COLUMN0ROW1]+a*i[gt.COLUMN0ROW2])+Math.abs(o*i[gt.COLUMN1ROW0]+s*i[gt.COLUMN1ROW1]+a*i[gt.COLUMN1ROW2])+Math.abs(o*i[gt.COLUMN2ROW0]+s*i[gt.COLUMN2ROW1]+a*i[gt.COLUMN2ROW2]),u=n.dot(r)+e.distance;return u<=-c?oe.OUTSIDE:u>=c?oe.INSIDE:oe.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=ub.from(e).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,yo),o=n.getColumn(1,Ao),s=n.getColumn(2,_o),a=i.magnitude(),c=o.magnitude(),u=s.magnitude();i.normalize(),o.normalize(),s.normalize();let l=0,f;return f=Math.abs(r.dot(i))-a,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),f=Math.abs(r.dot(s))-u,f>0&&(l+=f*f),l}computePlaneDistances(e,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=this.center,a=this.halfAxes,c=a.getColumn(0,yo),u=a.getColumn(1,Ao),l=a.getColumn(2,_o),f=lb.copy(c).add(u).add(l).add(s),h=fb.copy(f).subtract(e),d=r.dot(h);return i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).add(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).subtract(u).add(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).subtract(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).add(u).add(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).add(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).subtract(u).add(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).subtract(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),n[0]=i,n[1]=o,n}transform(e){this.center.transformAsPoint(e);let r=this.halfAxes.getColumn(0,yo);r.transformAsPoint(e);let n=this.halfAxes.getColumn(1,Ao);n.transformAsPoint(e);let i=this.halfAxes.getColumn(2,_o);return i.transformAsPoint(e),this.halfAxes=new j([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var Pd=new T,Fd=new T,fe=class{constructor(e=[0,0,1],r=0){L(this,"normal",void 0),L(this,"distance",void 0),this.normal=new T,this.distance=-0,this.fromNormalDistance(e,r)}fromNormalDistance(e,r){return le(Number.isFinite(r)),this.normal.from(e).normalize(),this.distance=r,this}fromPointNormal(e,r){e=Pd.from(e),this.normal.from(r).normalize();let n=-this.normal.dot(e);return this.distance=n,this}fromCoefficients(e,r,n,i){return this.normal.set(e,r,n),le(_e(this.normal.len(),1)),this.distance=i,this}clone(){return new fe(this.normal,this.distance)}equals(e){return _e(this.distance,e.distance)&&_e(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){let r=Fd.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,r)}projectPointOntoPlane(e,r=[0,0,0]){let n=Pd.from(e),i=this.getPointDistance(n),o=Fd.copy(this.normal).scale(i);return n.subtract(o).to(r)}};var Dd=[new T([1,0,0]),new T([0,1,0]),new T([0,0,1])],Nd=new T,hb=new T,ce=class{constructor(e=[]){L(this,"planes",void 0),this.planes=e}fromBoundingSphere(e){this.planes.length=2*Dd.length;let r=e.center,n=e.radius,i=0;for(let o of Dd){let s=this.planes[i],a=this.planes[i+1];s||(s=this.planes[i]=new fe),a||(a=this.planes[i+1]=new fe);let c=Nd.copy(o).scale(-n).add(r);s.fromPointNormal(c,o);let u=Nd.copy(o).scale(n).add(r),l=hb.copy(o).negate();a.fromPointNormal(u,l),i+=2}return this}computeVisibility(e){let r=oe.INSIDE;for(let n of this.planes)switch(e.intersectPlane(n)){case oe.OUTSIDE:return oe.OUTSIDE;case oe.INTERSECTING:r=oe.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(e,r){if(le(Number.isFinite(r),"parentPlaneMask is required."),r===ce.MASK_OUTSIDE||r===ce.MASK_INSIDE)return r;let n=ce.MASK_INSIDE,i=this.planes;for(let o=0;o<this.planes.length;++o){let s=o<31?1<<o:0;if(o<31&&!(r&s))continue;let a=i[o],c=e.intersectPlane(a);if(c===oe.OUTSIDE)return ce.MASK_OUTSIDE;c===oe.INTERSECTING&&(n|=s)}return n}};L(ce,"MASK_OUTSIDE",4294967295);L(ce,"MASK_INSIDE",0);L(ce,"MASK_INDETERMINATE",2147483647);var JD=new T,qD=new T,WD=new T,XD=new T,KD=new T;var rN=new T,nN=new T,iN=new T,oN=new T,sN=new T,aN=new T,cN=new T,uN=new T,lN=new T,fN=new T,hN=new T,dN=new T;var it=new j,pb=new j,mb=new j,vo=new j,Ud=new j;function Mc(t,e={}){let r=je.EPSILON20,n=10,i=0,o=0,s=pb,a=mb;s.identity(),a.copy(t);let c=r*gb(a);for(;o<n&&yb(a)>c;)Ab(a,vo),Ud.copy(vo).transpose(),a.multiplyRight(vo),a.multiplyLeft(Ud),s.multiplyRight(vo),++i>2&&(++o,i=0);return e.unitary=s.toTarget(e.unitary),e.diagonal=a.toTarget(e.diagonal),e}function gb(t){let e=0;for(let r=0;r<9;++r){let n=t[r];e+=n*n}return Math.sqrt(e)}var Bc=[1,0,0],Cc=[2,2,1];function yb(t){let e=0;for(let r=0;r<3;++r){let n=t[it.getElementIndex(Cc[r],Bc[r])];e+=2*n*n}return Math.sqrt(e)}function Ab(t,e){let r=je.EPSILON15,n=0,i=1;for(let u=0;u<3;++u){let l=Math.abs(t[it.getElementIndex(Cc[u],Bc[u])]);l>n&&(i=u,n=l)}let o=Bc[i],s=Cc[i],a=1,c=0;if(Math.abs(t[it.getElementIndex(s,o)])>r){let u=t[it.getElementIndex(s,s)],l=t[it.getElementIndex(o,o)],f=t[it.getElementIndex(s,o)],h=(u-l)/2/f,d;h<0?d=-1/(-h+Math.sqrt(1+h*h)):d=1/(h+Math.sqrt(1+h*h)),a=1/Math.sqrt(1+d*d),c=d*a}return j.IDENTITY.to(e),e[it.getElementIndex(o,o)]=e[it.getElementIndex(s,s)]=a,e[it.getElementIndex(s,o)]=c,e[it.getElementIndex(o,s)]=-c,e}var Nt=new T,_b=new T,vb=new T,xb=new T,Tb=new T,bb=new j,Eb={diagonal:new j,unitary:new j};function Un(t,e=new Je){if(!t||t.length===0)return e.halfAxes=new j([0,0,0,0,0,0,0,0,0]),e.center=new T,e;let r=t.length,n=new T(0,0,0);for(let b of t)n.add(b);let i=1/r;n.multiplyByScalar(i);let o=0,s=0,a=0,c=0,u=0,l=0;for(let b of t){let y=Nt.copy(b).subtract(n);o+=y.x*y.x,s+=y.x*y.y,a+=y.x*y.z,c+=y.y*y.y,u+=y.y*y.z,l+=y.z*y.z}o*=i,s*=i,a*=i,c*=i,u*=i,l*=i;let f=bb;f[0]=o,f[1]=s,f[2]=a,f[3]=s,f[4]=c,f[5]=u,f[6]=a,f[7]=u,f[8]=l;let{unitary:h}=Mc(f,Eb),d=e.halfAxes.copy(h),p=d.getColumn(0,vb),g=d.getColumn(1,xb),m=d.getColumn(2,Tb),A=-Number.MAX_VALUE,_=-Number.MAX_VALUE,v=-Number.MAX_VALUE,x=Number.MAX_VALUE,B=Number.MAX_VALUE,S=Number.MAX_VALUE;for(let b of t)Nt.copy(b),A=Math.max(Nt.dot(p),A),_=Math.max(Nt.dot(g),_),v=Math.max(Nt.dot(m),v),x=Math.min(Nt.dot(p),x),B=Math.min(Nt.dot(g),B),S=Math.min(Nt.dot(m),S);p=p.multiplyByScalar(.5*(x+A)),g=g.multiplyByScalar(.5*(B+_)),m=m.multiplyByScalar(.5*(S+v)),e.center.copy(p).add(g).add(m);let C=_b.set(A-x,_-B,v-S).multiplyByScalar(.5),E=new j([C[0],0,0,0,C[1],0,0,0,C[2]]);return e.halfAxes.multiplyRight(E),e}function zd(t,e){return Cb(t)||Bb(t,e)||jd(t,e)||Sb()}function Sb(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
17
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bb(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function Cb(t){if(Array.isArray(t))return t}function wc(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=jd(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
18
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function jd(t,e){if(t){if(typeof t=="string")return Gd(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gd(t,e)}}function Gd(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Mb(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Hd(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function wb(t,e,r){return e&&Hd(t.prototype,e),r&&Hd(t,r),t}var Ur=512,Vd=3,kd=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],Jd=kd.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),Ib=Jd.concat([[.25,.5],[.75,.5]]),Ob=function(){function t(r,n,i){Mb(this,t),this.x=void 0,this.y=void 0,this.z=void 0,this.childVisible=void 0,this.selected=void 0,this._children=void 0,this.x=r,this.y=n,this.z=i}var e=t.prototype;return e.update=function(n){var i=n.viewport,o=n.cullingVolume,s=n.elevationBounds,a=n.minZ,c=n.maxZ,u=n.bounds,l=n.offset,f=n.project,h=this.getBoundingVolume(s,l,f);if(u&&!this.insideBounds(u))return!1;var d=o.computeVisibility(h);if(d<0)return!1;if(!this.childVisible){var p=this.z;if(p<c&&p>=a){var g=h.distanceTo(i.cameraPosition)*i.scale/i.height;p+=Math.floor(Math.log2(g))}if(p>=c)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;var m=wc(this.children),A;try{for(m.s();!(A=m.n()).done;){var _=A.value;_.update(n)}}catch(v){m.e(v)}finally{m.f()}return!0},e.getSelected=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(this.selected&&n.push(this),this._children){var i=wc(this._children),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.getSelected(n)}}catch(a){i.e(a)}finally{i.f()}}return n},e.insideBounds=function(n){var i=zd(n,4),o=i[0],s=i[1],a=i[2],c=i[3],u=Math.pow(2,this.z),l=Ur/u;return this.x*l<a&&this.y*l<c&&(this.x+1)*l>o&&(this.y+1)*l>s},e.getBoundingVolume=function(n,i,o){if(o){var s=this.z<1?Ib:this.z<2?Jd:kd,a=[],c=wc(s),u;try{for(c.s();!(u=c.n()).done;){var l=u.value,f=xo(this.x+l[0],this.y+l[1],this.z);f[2]=n[0],a.push(o(f)),n[0]!==n[1]&&(f[2]=n[1],a.push(o(f)))}}catch(m){c.e(m)}finally{c.f()}return Un(a)}var h=Math.pow(2,this.z),d=Ur/h,p=this.x*d+i*Ur,g=Ur-(this.y+1)*d;return new Dt([p,g,n[0]],[p+d,g+d,n[1]])},wb(t,[{key:"children",get:function(){if(!this._children){var n=this.x*2,i=this.y*2,o=this.z+1;this._children=[new t(n,i,o),new t(n,i+1,o),new t(n+1,i,o),new t(n+1,i+1,o)]}return this._children}}]),t}();function qd(t,e,r,n){var i=t instanceof Gn._GlobeViewport&&t.resolution?t.projectPosition:null,o=Object.values(t.getFrustumPlanes()).map(function(B){var S=B.normal,C=B.distance;return new fe(S.clone().negate(),C)}),s=new ce(o),a=t.distanceScales.unitsPerMeter[2],c=r&&r[0]*a||0,u=r&&r[1]*a||0,l=t instanceof Gn.WebMercatorViewport&&t.pitch<=60?e:0;if(n){var f=n,h=zd(f,4),d=h[0],p=h[1],g=h[2],m=h[3],A=pt([d,m]),_=pt([g,p]);n=[A[0],Ur-A[1],_[0],Ur-_[1]]}var v=new Ob(0,0,0),x={viewport:t,project:i,cullingVolume:s,elevationBounds:[c,u],minZ:l,maxZ:e,bounds:n,offset:0};if(v.update(x),t instanceof Gn.WebMercatorViewport&&t.subViewports&&t.subViewports.length>1){for(x.offset=-1;v.update(x)&&!(--x.offset<-Vd););for(x.offset=1;v.update(x)&&!(++x.offset>Vd););}return v.getSelected()}function Gr(t,e){return Pb(t)||Lb(t,e)||Xd(t,e)||Rb()}function Rb(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
19
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lb(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function Pb(t){if(Array.isArray(t))return t}function To(t){return Nb(t)||Db(t)||Xd(t)||Fb()}function Fb(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
20
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xd(t,e){if(t){if(typeof t=="string")return Ic(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ic(t,e)}}function Db(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Nb(t){if(Array.isArray(t))return Ic(t)}function Ic(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var yt=512,Ub=[-1/0,-1/0,1/0,1/0],Ut={type:"object",value:null,validate:function(e,r){return r.optional&&e===null||typeof e=="string"||Array.isArray(e)&&e.every(function(n){return typeof n=="string"})},equal:function(e,r){if(e===r)return!0;if(!Array.isArray(e)||!Array.isArray(r))return!1;var n=e.length;if(n!==r.length)return!1;for(var i=0;i<n;i++)if(e[i]!==r[i])return!1;return!0}};function Kd(t,e){var r=[e.transformAsPoint([t[0],t[1]]),e.transformAsPoint([t[2],t[1]]),e.transformAsPoint([t[0],t[3]]),e.transformAsPoint([t[2],t[3]])],n=[Math.min.apply(Math,To(r.map(function(i){return i[0]}))),Math.min.apply(Math,To(r.map(function(i){return i[1]}))),Math.max.apply(Math,To(r.map(function(i){return i[0]}))),Math.max.apply(Math,To(r.map(function(i){return i[1]})))];return n}function Gb(t){return Math.abs(t.split("").reduce(function(e,r){return(e<<5)-e+r.charCodeAt(0)|0},0))}function ot(t,e){if(!t||!t.length)return null;var r=e.index,n=e.id;if(Array.isArray(t)){var i=Gb(n)%t.length;t=t[i]}for(var o=t,s=0,a=Object.keys(r);s<a.length;s++){var c=a[s],u=new RegExp("{".concat(c,"}"),"g");o=o.replace(u,String(r[c]))}return Number.isInteger(r.y)&&Number.isInteger(r.z)&&(o=o.replace(/\{-y\}/g,String(Math.pow(2,r.z)-r.y-1))),o}function Hb(t,e,r){var n;if(e&&e.length===2){var i=Gr(e,2),o=i[0],s=i[1],a=t.getBounds({z:o}),c=t.getBounds({z:s});n=[Math.min(a[0],c[0]),Math.min(a[1],c[1]),Math.max(a[2],c[2]),Math.max(a[3],c[3])]}else n=t.getBounds();return t.isGeospatial?[Math.max(n[0],r[0]),Math.max(n[1],r[1]),Math.min(n[2],r[2]),Math.min(n[3],r[3])]:[Math.max(Math.min(n[0],r[2]),r[0]),Math.max(Math.min(n[1],r[3]),r[1]),Math.min(Math.max(n[2],r[0]),r[2]),Math.min(Math.max(n[3],r[1]),r[3])]}function Yd(t){var e=t.viewport,r=t.z,n=t.cullRect,i=e.subViewports||[e];return i.map(function(o){return Oc(o,r||0,n)})}function Oc(t,e,r){if(!Array.isArray(e)){var n=r.x-t.x,i=r.y-t.y,o=r.width,s=r.height,a={targetZ:e},c=t.unproject([n,i],a),u=t.unproject([n+o,i],a),l=t.unproject([n,i+s],a),f=t.unproject([n+o,i+s],a);return[Math.min(c[0],u[0],l[0],f[0]),Math.min(c[1],u[1],l[1],f[1]),Math.max(c[0],u[0],l[0],f[0]),Math.max(c[1],u[1],l[1],f[1])]}var h=Oc(t,e[0],r),d=Oc(t,e[1],r);return[Math.min(h[0],d[0]),Math.min(h[1],d[1]),Math.max(h[2],d[2]),Math.max(h[3],d[3])]}function Vb(t,e,r){if(r){var n=Kd(t,r).map(function(i){return i*e/yt});return n}return t.map(function(i){return i*e/yt})}function Rc(t,e){return Math.pow(2,t)*yt/e}function xo(t,e,r){var n=Rc(r,yt),i=t/n*360-180,o=Math.PI-2*Math.PI*e/n,s=180/Math.PI*Math.atan(.5*(Math.exp(o)-Math.exp(-o)));return[i,s]}function Wd(t,e,r,n){var i=Rc(r,n);return[t/i*yt,e/i*yt]}function Lc(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:yt;if(t.isGeospatial){var o=xo(e,r,n),s=Gr(o,2),a=s[0],c=s[1],u=xo(e+1,r+1,n),l=Gr(u,2),f=l[0],h=l[1];return{west:a,north:c,east:f,south:h}}var d=Wd(e,r,n,i),p=Gr(d,2),g=p[0],m=p[1],A=Wd(e+1,r+1,n,i),_=Gr(A,2),v=_[0],x=_[1];return{left:g,top:m,right:v,bottom:x}}function zb(t,e,r,n,i){for(var o=Hb(t,null,n),s=Rc(e,r),a=Vb(o,s,i),c=Gr(a,4),u=c[0],l=c[1],f=c[2],h=c[3],d=[],p=Math.floor(u);p<f;p++)for(var g=Math.floor(l);g<h;g++)d.push({x:p,y:g,z:e});return d}function Pc(t){var e=t.viewport,r=t.maxZoom,n=t.minZoom,i=t.zRange,o=t.extent,s=t.tileSize,a=s===void 0?yt:s,c=t.modelMatrix,u=t.modelMatrixInverse,l=t.zoomOffset,f=l===void 0?0:l,h=e.isGeospatial?Math.round(e.zoom+Math.log2(yt/a))+f:Math.ceil(e.zoom)+f;if(typeof n=="number"&&Number.isFinite(n)&&h<n){if(!o)return[];h=n}typeof r=="number"&&Number.isFinite(r)&&h>r&&(h=r);var d=o;return c&&u&&o&&!e.isGeospatial&&(d=Kd(o,c)),e.isGeospatial?qd(e,h,i,o):zb(e,h,a,d||Ub,u)}function Fc(t){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(t)}function Dc(t){return Number.isFinite(t.west)&&Number.isFinite(t.north)&&Number.isFinite(t.east)&&Number.isFinite(t.south)}function Zd(t){var e={},r;return function(n){for(var i in n)if(!jb(n[i],e[i])){r=t(n),e=n;break}return r}}function jb(t,e){if(t===e)return!0;if(Array.isArray(t)){var r=t.length;if(!e||e.length!==r)return!1;for(var n=0;n<r;n++)if(t[n]!==e[n])return!1;return!0}return!1}var Hn;function Qd(t,e){return qb(t)||Jb(t,e)||ip(t,e)||kb()}function kb(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
21
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jb(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function qb(t){if(Array.isArray(t))return t}function he(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=ip(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
22
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function ip(t,e){if(t){if(typeof t=="string")return $d(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $d(t,e)}}function $d(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function ep(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function tp(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ep(Object(r),!0).forEach(function(n){bo(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ep(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Wb(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function rp(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Xb(t,e,r){return e&&rp(t.prototype,e),r&&rp(t,r),t}function bo(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var np=1,Eo=2,Kb="never",Yb="no-overlap",Vn="best-available",Zb=5,Qb=(Hn={},bo(Hn,Vn,eE),bo(Hn,Yb,tE),bo(Hn,Kb,function(){}),Hn),$b={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:"best-available",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:function(){},onTileUnload:function(){},onTileError:function(){}},zn=function(){function t(r){var n=this;Wb(this,t),this.opts=void 0,this._requestScheduler=void 0,this._cache=void 0,this._dirty=void 0,this._tiles=void 0,this._cacheByteSize=void 0,this._viewport=void 0,this._zRange=void 0,this._selectedTiles=void 0,this._frameNumber=void 0,this._modelMatrix=void 0,this._modelMatrixInverse=void 0,this._maxZoom=void 0,this._minZoom=void 0,this.onTileLoad=void 0,this._getCullBounds=Zd(Yd),this.opts=tp(tp({},$b),r),this.onTileLoad=function(i){var o,s;(o=(s=n.opts).onTileLoad)===null||o===void 0||o.call(s,i),n.opts.maxCacheByteSize&&(n._cacheByteSize+=i.byteLength,n._resizeCache())},this._requestScheduler=new wt({maxRequests:r.maxRequests,throttleRequests:Boolean(r.maxRequests&&r.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new D,this._modelMatrixInverse=new D,this.setOptions(r)}var e=t.prototype;return e.setOptions=function(n){Object.assign(this.opts,n),Number.isFinite(n.maxZoom)&&(this._maxZoom=Math.floor(n.maxZoom)),Number.isFinite(n.minZoom)&&(this._minZoom=Math.ceil(n.minZoom))},e.finalize=function(){var n=he(this._cache.values()),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;o.isLoading&&o.abort()}}catch(s){n.e(s)}finally{n.f()}this._cache.clear(),this._tiles=[],this._selectedTiles=null},e.reloadAll=function(){var n=he(this._cache.keys()),i;try{for(n.s();!(i=n.n()).done;){var o=i.value,s=this._cache.get(o);!this._selectedTiles||!this._selectedTiles.includes(s)?this._cache.delete(o):s.setNeedsReload()}}catch(a){n.e(a)}finally{n.f()}},e.update=function(n){var i=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=o.zRange,a=o.modelMatrix,c=a?new D(a):new D,u=!c.equals(this._modelMatrix);if(!this._viewport||!n.equals(this._viewport)||!_e(this._zRange,s)||u){u&&(this._modelMatrixInverse=c.clone().invert(),this._modelMatrix=c),this._viewport=n,this._zRange=s;var l=this.getTileIndices({viewport:n,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:s,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=l.map(function(h){return i._getTile(h,!0)}),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(function(h){return i._getTile(h.index,!0)}));var f=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),f&&this._frameNumber++,this._frameNumber},e.isTileVisible=function(n,i){if(!n.isVisible)return!1;if(i&&this._viewport){var o=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:i}),s=n.bbox,a=he(o),c;try{for(a.s();!(c=a.n()).done;){var u=Qd(c.value,4),l=u[0],f=u[1],h=u[2],d=u[3],p=void 0;if("west"in s)p=s.west<h&&s.east>l&&s.south<d&&s.north>f;else{var g=Math.min(s.top,s.bottom),m=Math.max(s.top,s.bottom);p=s.left<h&&s.right>l&&g<d&&m>f}if(p)return!0}}catch(A){a.e(A)}finally{a.f()}return!1}return!0},e.getTileIndices=function(n){var i=n.viewport,o=n.maxZoom,s=n.minZoom,a=n.zRange,c=n.modelMatrix,u=n.modelMatrixInverse,l=this.opts,f=l.tileSize,h=l.extent,d=l.zoomOffset;return Pc({viewport:i,maxZoom:o,minZoom:s,zRange:a,tileSize:f,extent:h,modelMatrix:c,modelMatrixInverse:u,zoomOffset:d})},e.getTileId=function(n){return"".concat(n.x,"-").concat(n.y,"-").concat(n.z)},e.getTileZoom=function(n){return n.z},e.getTileMetadata=function(n){var i=this.opts.tileSize;return{bbox:Lc(this._viewport,n.x,n.y,n.z,i)}},e.getParentIndex=function(n){var i=Math.floor(n.x/2),o=Math.floor(n.y/2),s=n.z-1;return{x:i,y:o,z:s}},e.updateTileStates=function(){var n=this.opts.refinementStrategy||Vn,i=new Array(this._cache.size),o=0,s=he(this._cache.values()),a;try{for(s.s();!(a=s.n()).done;){var c=a.value;i[o++]=c.isVisible,c.isSelected=!1,c.isVisible=!1}}catch(g){s.e(g)}finally{s.f()}var u=he(this._selectedTiles),l;try{for(u.s();!(l=u.n()).done;){var f=l.value;f.isSelected=!0,f.isVisible=!0}}catch(g){u.e(g)}finally{u.f()}(typeof n=="function"?n:Qb[n])(Array.from(this._cache.values())),o=0;var h=he(this._cache.values()),d;try{for(h.s();!(d=h.n()).done;){var p=d.value;if(i[o++]!==p.isVisible)return!0}}catch(g){h.e(g)}finally{h.f()}return!1},e._pruneRequests=function(){var n=this.opts.maxRequests,i=n===void 0?0:n,o=[],s=0,a=he(this._cache.values()),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.isLoading&&(s++,!u.isSelected&&!u.isVisible&&o.push(u))}}catch(f){a.e(f)}finally{a.f()}for(;i>0&&s>i&&o.length>0;){var l=o.shift();l.abort(),s--}},e._rebuildTree=function(){var n=this._cache,i=he(n.values()),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.parent=null,s.children&&(s.children.length=0)}}catch(f){i.e(f)}finally{i.f()}var a=he(n.values()),c;try{for(a.s();!(c=a.n()).done;){var u=c.value,l=this._getNearestAncestor(u);u.parent=l,l!=null&&l.children&&l.children.push(u)}}catch(f){a.e(f)}finally{a.f()}},e._resizeCache=function(){var n=this._cache,i=this.opts,o=i.maxCacheSize||(i.maxCacheByteSize?1/0:Zb*this.selectedTiles.length),s=i.maxCacheByteSize||1/0,a=n.size>o||this._cacheByteSize>s;if(a){var c=he(n),u;try{for(c.s();!(u=c.n()).done;){var l=Qd(u.value,2),f=l[0],h=l[1];if(!h.isVisible&&!h.isSelected){var d,p;this._cacheByteSize-=i.maxCacheByteSize?h.byteLength:0,n.delete(f),(d=(p=this.opts).onTileUnload)===null||d===void 0||d.call(p,h)}if(n.size<=o&&this._cacheByteSize<=s)break}}catch(g){c.e(g)}finally{c.f()}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort(function(g,m){return g.zoom-m.zoom}),this._dirty=!1)},e._getTile=function(n,i){var o=this.getTileId(n),s=this._cache.get(o),a=!1;return!s&&i?(s=new Dn(n),Object.assign(s,this.getTileMetadata(s.index)),Object.assign(s,{id:o,zoom:this.getTileZoom(s.index)}),a=!0,this._cache.set(o,s),this._dirty=!0):s&&s.needsReload&&(a=!0),s&&a&&s.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),s},e._getNearestAncestor=function(n){for(var i=this._minZoom,o=i===void 0?0:i,s=n.index;this.getTileZoom(s)>o;){s=this.getParentIndex(s);var a=this._getTile(s);if(a)return a}return null},Xb(t,[{key:"tiles",get:function(){return this._tiles}},{key:"selectedTiles",get:function(){return this._selectedTiles}},{key:"isLoaded",get:function(){return this._selectedTiles!==null&&this._selectedTiles.every(function(n){return n.isLoaded})}},{key:"needsReload",get:function(){return this._selectedTiles!==null&&this._selectedTiles.some(function(n){return n.needsReload})}}]),t}();function eE(t){var e=he(t),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.state=0}}catch(l){e.e(l)}finally{e.f()}var i=he(t),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.isSelected&&!op(s)&&Nc(s)}}catch(l){i.e(l)}finally{i.f()}var a=he(t),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.isVisible=Boolean(u.state&Eo)}}catch(l){a.e(l)}finally{a.f()}}function tE(t){var e=he(t),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.state=0}}catch(p){e.e(p)}finally{e.f()}var i=he(t),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.isSelected&&op(s)}}catch(p){i.e(p)}finally{i.f()}var a=Array.from(t).sort(function(p,g){return p.zoom-g.zoom}),c=he(a),u;try{for(c.s();!(u=c.n()).done;){var l=u.value;if(l.isVisible=Boolean(l.state&Eo),l.children&&(l.isVisible||l.state&np)){var f=he(l.children),h;try{for(f.s();!(h=f.n()).done;){var d=h.value;d.state=np}}catch(p){f.e(p)}finally{f.f()}}else l.isSelected&&Nc(l)}}catch(p){c.e(p)}finally{c.f()}}function op(t){for(var e=t;e;){if(e.isLoaded||e.content)return e.state|=Eo,!0;e=e.parent}return!1}function Nc(t){var e=he(t.children),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.isLoaded||n.content?n.state|=Eo:Nc(n)}}catch(i){e.e(i)}finally{e.f()}}function Bo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Bo=function(r){return typeof r}:Bo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Bo(t)}function sp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function So(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?sp(Object(r),!0).forEach(function(n){rE(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):sp(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function rE(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function nE(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=iE(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
23
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function iE(t,e){if(t){if(typeof t=="string")return ap(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ap(t,e)}}function ap(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function oE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function cp(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function sE(t,e,r){return e&&cp(t.prototype,e),r&&cp(t,r),t}function aE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Uc(t,e)}function Uc(t,e){return Uc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Uc(t,e)}function cE(t){var e=fE();return function(){var n=Co(t),i;if(e){var o=Co(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return uE(this,i)}}function uE(t,e){if(e&&(Bo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return lE(t)}function lE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function fE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Co(t){return Co=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Co(t)}var hE={TilesetClass:zn,data:{type:"data",value:[]},dataComparator:Ut.equal,renderSubLayers:{type:"function",value:function(e){return new up.GeoJsonLayer(e)}},getTileData:{type:"function",optional:!0,value:null},onViewportLoad:{type:"function",optional:!0,value:null},onTileLoad:{type:"function",value:function(e){}},onTileUnload:{type:"function",value:function(e){}},onTileError:{type:"function",value:function(e){return console.error(e)}},extent:{type:"array",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:Vn,zRange:null,maxRequests:6,zoomOffset:0},At=function(t){aE(r,t);var e=cE(r);function r(){var i;oE(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){this.state={tileset:null,isLoaded:!1}},n.finalizeState=function(){var o,s;(o=this.state)===null||o===void 0||(s=o.tileset)===null||s===void 0||s.finalize()},n.shouldUpdateState=function(o){var s=o.changeFlags;return s.somethingChanged},n.updateState=function(o){var s=o.changeFlags,a=this.state.tileset,c=s.propsOrDataChanged||s.updateTriggersChanged,u=s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getTileData);a?c&&(a.setOptions(this._getTilesetOptions()),u?a.reloadAll():a.tiles.forEach(function(l){l.layers=null})):(a=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:a})),this._updateTileset()},n._getTilesetOptions=function(){var o=this.props,s=o.tileSize,a=o.maxCacheSize,c=o.maxCacheByteSize,u=o.refinementStrategy,l=o.extent,f=o.maxZoom,h=o.minZoom,d=o.maxRequests,p=o.zoomOffset;return{maxCacheSize:a,maxCacheByteSize:c,maxZoom:f,minZoom:h,tileSize:s,refinementStrategy:u,extent:l,maxRequests:d,zoomOffset:p,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}},n._updateTileset=function(){var o=this.state.tileset,s=this.props,a=s.zRange,c=s.modelMatrix,u=o.update(this.context.viewport,{zRange:a,modelMatrix:c}),l=o.isLoaded,f=this.state.isLoaded!==l,h=this.state.frameNumber!==u;l&&(f||h)&&this._onViewportLoad(),h&&this.setState({frameNumber:u}),this.state.isLoaded=l},n._onViewportLoad=function(){var o=this.state.tileset,s=this.props.onViewportLoad;s&&s(o.selectedTiles)},n._onTileLoad=function(o){this.props.onTileLoad(o),o.layers=null,this.setNeedsUpdate()},n._onTileError=function(o,s){this.props.onTileError(o),s.layers=null,this.setNeedsUpdate()},n._onTileUnload=function(o){this.props.onTileUnload(o)},n.getTileData=function(o){var s=this.props,a=s.data,c=s.getTileData,u=s.fetch,l=o.signal;return o.url=typeof a=="string"||Array.isArray(a)?ot(a,o):null,c?c(o):u&&o.url?u(o.url,{propName:"data",layer:this,signal:l}):null},n.renderSubLayers=function(o){return this.props.renderSubLayers(o)},n.getSubLayerPropsByTile=function(o){return null},n.getPickingInfo=function(o){var s=o.info,a=o.sourceLayer,c=a.props.tile;return s.picked&&(s.tile=c),s.sourceTile=c,s},n._updateAutoHighlight=function(o){var s=o.sourceTile;if(s&&s.layers){var a=nE(s.layers),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.updateAutoHighlight(o)}}catch(l){a.e(l)}finally{a.f()}}},n.renderLayers=function(){var o=this;return this.state.tileset.tiles.map(function(s){var a=o.getSubLayerPropsByTile(s);if(!(!s.isLoaded&&!s.content))if(s.layers)a&&s.layers[0]&&Object.keys(a).some(function(u){return s.layers[0].props[u]!==a[u]})&&(s.layers=s.layers.map(function(u){return u.clone(a)}));else{var c=o.renderSubLayers(So(So(So({},o.props),o.getSubLayerProps({id:s.id,updateTriggers:o.props.updateTriggers})),{},{data:s.content,_offset:0,tile:s}));s.layers=(0,Mo._flatten)(c,Boolean).map(function(u){return u.clone(So({tile:s},a))})}return s.layers})},n.filterSubLayer=function(o){var s=o.layer,a=o.cullRect,c=s.props.tile;return this.state.tileset.isTileVisible(c,a)},sE(r,[{key:"isLoaded",get:function(){var o,s,a=(o=this.state)===null||o===void 0||(s=o.tileset)===null||s===void 0?void 0:s.selectedTiles;return a?a.every(function(c){return c.isLoaded&&c.layers&&c.layers.every(function(u){return u.isLoaded})}):!1}}]),r}(Mo.CompositeLayer);At.defaultProps=hE;At.layerName="TileLayer";var hp=P(Ve());function wo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?wo=function(r){return typeof r}:wo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},wo(t)}function lp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function fp(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?lp(Object(r),!0).forEach(function(n){dE(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):lp(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function dE(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function pE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Hr(t,e,r){return typeof Reflect<"u"&&Reflect.get?Hr=Reflect.get:Hr=function(i,o,s){var a=mE(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},Hr(t,e,r||t)}function mE(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=Gt(t),t!==null););return t}function gE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Gc(t,e)}function Gc(t,e){return Gc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Gc(t,e)}function yE(t){var e=vE();return function(){var n=Gt(t),i;if(e){var o=Gt(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return AE(this,i)}}function AE(t,e){if(e&&(wo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _E(t)}function _E(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function vE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Gt(t){return Gt=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Gt(t)}var xE={fadeTrail:!0,trailLength:{type:"number",value:120,min:0},currentTime:{type:"number",value:0,min:0},getTimestamps:{type:"accessor",value:function(e){return e.timestamps}}},Io=function(t){gE(r,t);var e=yE(r);function r(){return pE(this,r),e.apply(this,arguments)}var n=r.prototype;return n.getShaders=function(){var o=Hr(Gt(r.prototype),"getShaders",this).call(this);return o.inject={"vs:#decl":`uniform float trailLength;
24
+ in float instanceTimestamps;
25
+ in float instanceNextTimestamps;
26
+ out float vTime;
27
27
  `,"vs:#main-end":`vTime = instanceTimestamps + (instanceNextTimestamps - instanceTimestamps) * vPathPosition.y / vPathLength;
28
28
  `,"fs:#decl":`uniform bool fadeTrail;
29
29
  uniform float trailLength;
30
30
  uniform float currentTime;
31
- varying float vTime;
31
+ in float vTime;
32
32
  `,"fs:#main-start":`if(vTime > currentTime || (fadeTrail && (vTime < currentTime - trailLength))) {
33
33
  discard;
34
34
  }
35
35
  `,"fs:DECKGL_FILTER_COLOR":`if(fadeTrail) {
36
36
  color.a *= 1.0 - (currentTime - vTime) / trailLength;
37
37
  }
38
- `},o},n.initializeState=function(){me(zt(r.prototype),"initializeState",this).call(this);var o=this.getAttributeManager();o.addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})},n.draw=function(o){var s=this.props,a=s.fadeTrail,c=s.trailLength,l=s.currentTime;o.uniforms=Kc(Kc({},o.uniforms),{},{fadeTrail:a,trailLength:c,currentTime:l}),me(zt(r.prototype),"draw",this).call(this,o)},r}(Jc.PathLayer);nn.layerName="TripsLayer";nn.defaultProps=tg;var hl=B(on()),dl=B(ut());var it=B(on()),ln=B(ut()),je=B(ct());var qe=B(on());function rl(t,e){return ng(t)||rg(t,e)||il(t,e)||eg()}function eg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
39
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rg(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function ng(t){if(Array.isArray(t))return t}function nl(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=il(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
40
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function il(t,e){if(t){if(typeof t=="string")return el(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return el(t,e)}}function el(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function sn(t,e){e=e===void 0?t[0][0]:e;var r=nl(t),n;try{for(r.s();!(n=r.n()).done;){var i=n.value,o=i[0]-e;o>180?i[0]-=360:o<-180&&(i[0]+=360)}}catch(s){r.e(s)}finally{r.f()}}function ig(t,e,r){var n=(0,qe.cellToLatLng)(t),i=rl(n,2),o=i[0],s=i[1],a=e.length;sn(e,s);for(var c=e[0]===e[a-1]?a-1:a,l=0;l<c;l++)e[l][0]=It(s,e[l][0],r),e[l][1]=It(o,e[l][1],r)}function ol(t,e,r){var n=t(e,r),i=(0,qe.cellToLatLng)(n),o=rl(i,2),s=o[0],a=o[1];return[a,s]}function co(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,r=(0,qe.cellToBoundary)(t,!0);return e!==1?ig(t,r,e):sn(r),r}function sl(t){var e=new Float64Array(t.length*2),r=0,n=nl(t),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;e[r++]=o[0],e[r++]=o[1]}}catch(s){n.e(s)}finally{n.f()}return e}function al(t,e){return ag(t)||sg(t,e)||ul(t,e)||og()}function og(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
41
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sg(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function ag(t){if(Array.isArray(t))return t}function cg(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=ul(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
42
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function ul(t,e){if(t){if(typeof t=="string")return cl(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return cl(t,e)}}function cl(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function lg(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ug(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&lo(t,e)}function lo(t,e){return lo=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},lo(t,e)}function fg(t){var e=pg();return function(){var n=an(t),i;if(e){var o=an(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return hg(this,i)}}function hg(t,e){if(e&&(Ue(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return dg(t)}function dg(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function pg(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function an(t){return an=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},an(t)}function ll(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function cn(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ll(Object(r),!0).forEach(function(n){mg(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ll(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function mg(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Ue(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ue=function(r){return typeof r}:Ue=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ue(t)}var gg=10;function yg(t,e){var r;return t==null?r=e:Ue(t)==="object"?r=cn(cn({},t),{},{coverage:e}):r={getHexagon:t,coverage:e},r}var vg=cn(cn({},je.PolygonLayer.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}),Xt=function(t){ug(r,t);var e=fg(r);function r(){var i;lg(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){r._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}},n.shouldUpdateState=function(o){var s=o.changeFlags;return this._shouldUseHighPrecision()?s.propsOrDataChanged:s.somethingChanged},n.updateState=function(o){var s=o.props,a=o.changeFlags;if(s.highPrecision!==!0&&(a.dataChanged||a.updateTriggersChanged&&a.updateTriggersChanged.getHexagon)){var c=this._calculateH3DataProps();this.setState(c)}this._updateVertices(this.context.viewport)},n._calculateH3DataProps=function(){var o=-1,s=!1,a=!1,c=(0,ln.createIterable)(this.props.data),l=c.iterable,u=c.objectInfo,f=cg(l),h;try{for(f.s();!(h=f.n()).done;){var d=h.value;u.index++;var p=this.props.getHexagon(d,u),g=(0,it.getResolution)(p);if(o<0){if(o=g,!this.props.highPrecision)break}else if(o!==g){a=!0;break}if((0,it.isPentagon)(p)){s=!0;break}}}catch(m){f.e(m)}finally{f.f()}return{resolution:o,edgeLengthKM:o>=0?(0,it.getHexagonEdgeLengthAvg)(o,"km"):0,hasMultipleRes:a,hasPentagon:s}},n._shouldUseHighPrecision=function(){if(this.props.highPrecision==="auto"){var o=this.state,s=o.resolution,a=o.hasPentagon,c=o.hasMultipleRes,l=this.context.viewport;return Boolean(l?.resolution)||c||a||s>=0&&s<=5}return this.props.highPrecision},n._updateVertices=function(o){if(!this._shouldUseHighPrecision()){var s=this.state,a=s.resolution,c=s.edgeLengthKM,l=s.centerHex;if(!(a<0)){var u=this.props.centerHexagon||(0,it.latLngToCell)(o.latitude,o.longitude,a);if(l!==u){if(l)try{var f=(0,it.gridDistance)(l,u);if(f*c<gg)return}catch{}var h=o.distanceScales.unitsPerMeter,d=co(u),p=(0,it.cellToLatLng)(u),g=al(p,2),m=g[0],v=g[1],w=o.projectFlat([v,m]),x=al(w,2),b=x[0],T=x[1];d=d.map(function(S){var P=o.projectFlat(S);return[(P[0]-b)/h[0],(P[1]-T)/h[1]]}),this.setState({centerHex:u,vertices:d})}}}},n.renderLayers=function(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()},n._getForwardProps=function(){var o=this.props,s=o.elevationScale,a=o.material,c=o.coverage,l=o.extruded,u=o.wireframe,f=o.stroked,h=o.filled,d=o.lineWidthUnits,p=o.lineWidthScale,g=o.lineWidthMinPixels,m=o.lineWidthMaxPixels,v=o.getFillColor,w=o.getElevation,x=o.getLineColor,b=o.getLineWidth,T=o.transitions,S=o.updateTriggers;return{elevationScale:s,extruded:l,coverage:c,wireframe:u,stroked:f,filled:h,lineWidthUnits:d,lineWidthScale:p,lineWidthMinPixels:g,lineWidthMaxPixels:m,material:a,getElevation:w,getFillColor:v,getLineColor:x,getLineWidth:b,transitions:T,updateTriggers:{getFillColor:S.getFillColor,getElevation:S.getElevation,getLineColor:S.getLineColor,getLineWidth:S.getLineWidth}}},n._renderPolygonLayer=function(){var o=this.props,s=o.data,a=o.getHexagon,c=o.updateTriggers,l=o.coverage,u=this.getSubLayerClass("hexagon-cell-hifi",je.PolygonLayer),f=this._getForwardProps();return f.updateTriggers.getPolygon=yg(c.getHexagon,l),new u(f,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:f.updateTriggers}),{data:s,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:function(d,p){var g=a(d,p);return sl(co(g,l))}})},n._renderColumnLayer=function(){var o=this.props,s=o.data,a=o.getHexagon,c=o.updateTriggers,l=this.getSubLayerClass("hexagon-cell",je.ColumnLayer),u=this._getForwardProps();return u.updateTriggers.getPosition=c.getHexagon,new l(u,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:u.updateTriggers}),{data:s,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:ol.bind(null,a)})},r}(ln.CompositeLayer);Xt.defaultProps=vg;Xt.layerName="H3HexagonLayer";Xt._checkH3Lib=function(){};function un(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?un=function(r){return typeof r}:un=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},un(t)}function uo(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=xg(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
43
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function xg(t,e){if(t){if(typeof t=="string")return fl(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fl(t,e)}}function fl(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function _g(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function bg(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&fo(t,e)}function fo(t,e){return fo=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},fo(t,e)}function wg(t){var e=Tg();return function(){var n=fn(t),i;if(e){var o=fn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Mg(this,i)}}function Mg(t,e){if(e&&(un(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Sg(t)}function Sg(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Tg(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function fn(t){return fn=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},fn(t)}var Pg={getHexagons:{type:"accessor",value:function(e){return e.hexagons}}},hn=function(t){bg(r,t);var e=wg(r);function r(){var i;_g(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){Xt._checkH3Lib()},n.updateState=function(o){var s=o.props,a=o.changeFlags;if(a.dataChanged||a.updateTriggersChanged&&a.updateTriggersChanged.getHexagons){var c=s.data,l=s.getHexagons,u=[],f=(0,dl.createIterable)(c),h=f.iterable,d=f.objectInfo,p=uo(h),g;try{for(p.s();!(g=p.n()).done;){var m=g.value;d.index++;var v=l(m,d),w=(0,hl.cellsToMultiPolygon)(v,!0),x=uo(w),b;try{for(x.s();!(b=x.n()).done;){var T=b.value,S=uo(T),P;try{for(S.s();!(P=S.n()).done;){var M=P.value;sn(M)}}catch(_){S.e(_)}finally{S.f()}u.push(this.getSubLayerRow({polygon:T},m,d.index))}}catch(_){x.e(_)}finally{x.f()}}}catch(_){p.e(_)}finally{p.f()}this.setState({polygons:u})}},n.indexToBounds=function(){var o=this.props,s=o.getElevation,a=o.getFillColor,c=o.getLineColor,l=o.getLineWidth;return{data:this.state.polygons,getPolygon:function(f){return f.polygon},getElevation:this.getSubLayerAccessor(s),getFillColor:this.getSubLayerAccessor(a),getLineColor:this.getSubLayerAccessor(c),getLineWidth:this.getSubLayerAccessor(l)}},r}(nt);hn.layerName="H3ClusterLayer";hn.defaultProps=Pg;var xn=B(ut()),xo=B(ml()),Tl=B(ut());function Ve(t){let e=1/0,r=1/0,n=1/0,i=-1/0,o=-1/0,s=-1/0,a=t.POSITION?t.POSITION.value:[],c=a&&a.length;for(let l=0;l<c;l+=3){let u=a[l],f=a[l+1],h=a[l+2];e=u<e?u:e,r=f<r?f:r,n=h<n?h:n,i=u>i?u:i,o=f>o?f:o,s=h>s?h:s}return[[e,r,n],[i,o,s]]}var Eg=new Map([["centerX",Float64Array.BYTES_PER_ELEMENT],["centerY",Float64Array.BYTES_PER_ELEMENT],["centerZ",Float64Array.BYTES_PER_ELEMENT],["minHeight",Float32Array.BYTES_PER_ELEMENT],["maxHeight",Float32Array.BYTES_PER_ELEMENT],["boundingSphereCenterX",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterY",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterZ",Float64Array.BYTES_PER_ELEMENT],["boundingSphereRadius",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointX",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointY",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointZ",Float64Array.BYTES_PER_ELEMENT]]);function ho(t){return t>>1^-(t&1)}function Og(t){let e=0,r={};for(let[n,i]of Eg){let o=i===8?t.getFloat64:t.getFloat32;r[n]=o.call(t,e,!0),e+=i}return{header:r,headerEndPosition:e}}function Ig(t,e){let r=e,n=3,i=t.getUint32(r,!0),o=new Uint16Array(i*n);r+=Uint32Array.BYTES_PER_ELEMENT;let s=Uint16Array.BYTES_PER_ELEMENT,a=i*s,c=r,l=c+a,u=l+a,f=0,h=0,d=0;for(let p=0;p<i;p++)f+=ho(t.getUint16(c+s*p,!0)),h+=ho(t.getUint16(l+s*p,!0)),d+=ho(t.getUint16(u+s*p,!0)),o[p]=f,o[p+i]=h,o[p+i*2]=d;return r+=a*3,{vertexData:o,vertexDataEndPosition:r}}function We(t,e,r,n){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o;if(n===2?o=new Uint16Array(t,e,r):o=new Uint32Array(t,e,r),!i)return o;let s=0;for(let a=0;a<o.length;++a){let c=o[a];o[a]=s-c,c===0&&++s}return o}function Ag(t,e,r){let n=r,i=3,s=e.length/i>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT;n%s!==0&&(n+=s-n%s);let a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=a*3,l=We(t.buffer,n,c,s);return n+=c*s,{triangleIndicesEndPosition:n,triangleIndices:l}}function Lg(t,e,r){let n=r,i=3,s=e.length/i>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=We(t.buffer,n,a,s,!1);n+=a*s;let l=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let u=We(t.buffer,n,l,s,!1);n+=l*s;let f=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let h=We(t.buffer,n,f,s,!1);n+=f*s;let d=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let p=We(t.buffer,n,d,s,!1);return n+=d*s,{edgeIndicesEndPosition:n,westIndices:c,southIndices:u,eastIndices:h,northIndices:p}}function Rg(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function Fg(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function Ng(t,e){let r={};if(t.byteLength<=e)return{extensions:r,extensionsEndPosition:e};let n=e;for(;n<t.byteLength;){let i=t.getUint8(n,!0);n+=Uint8Array.BYTES_PER_ELEMENT;let o=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let s=new DataView(t.buffer,n,o);switch(i){case 1:{r.vertexNormals=Rg(s);break}case 2:{r.waterMask=Fg(s);break}default:}n+=o}return{extensions:r,extensionsEndPosition:n}}var Yt={header:0,vertices:1,triangleIndices:2,edgeIndices:3,extensions:4},Cg={maxDecodingStep:Yt.extensions};function po(t,e){let r=Object.assign({},Cg,e),n=new DataView(t),{header:i,headerEndPosition:o}=Og(n);if(r.maxDecodingStep<Yt.vertices)return{header:i};let{vertexData:s,vertexDataEndPosition:a}=Ig(n,o);if(r.maxDecodingStep<Yt.triangleIndices)return{header:i,vertexData:s};let{triangleIndices:c,triangleIndicesEndPosition:l}=Ag(n,s,a);if(r.maxDecodingStep<Yt.edgeIndices)return{header:i,vertexData:s,triangleIndices:c};let{westIndices:u,southIndices:f,eastIndices:h,northIndices:d,edgeIndicesEndPosition:p}=Lg(n,s,l);if(r.maxDecodingStep<Yt.extensions)return{header:i,vertexData:s,triangleIndices:c,westIndices:u,northIndices:d,eastIndices:h,southIndices:f};let{extensions:g}=Ng(n,p);return{header:i,vertexData:s,triangleIndices:c,westIndices:u,northIndices:d,eastIndices:h,southIndices:f,extensions:g}}function dn(t,e,r,n){let i=n?Bg(n,t.POSITION.value):zg(e),o=new t.POSITION.value.constructor(i.length*6),s=new t.TEXCOORD_0.value.constructor(i.length*4),a=new e.constructor(i.length*6);for(let l=0;l<i.length;l++){let u=i[l];kg({edge:u,edgeIndex:l,attributes:t,skirtHeight:r,newPosition:o,newTexcoord0:s,newTriangles:a})}t.POSITION.value=Me(t.POSITION.value,o),t.TEXCOORD_0.value=Me(t.TEXCOORD_0.value,s);let c=e instanceof Array?e.concat(a):Me(e,a);return{attributes:t,triangles:c}}function zg(t){let e=[];for(let s=0;s<t.length;s+=3)e.push([t[s],t[s+1]]),e.push([t[s+1],t[s+2]]),e.push([t[s+2],t[s]]);e.sort((s,a)=>Math.min(...s)-Math.min(...a)||Math.max(...s)-Math.max(...a));let r=[],n=0;for(;n<e.length;){var i,o;e[n][0]===((i=e[n+1])===null||i===void 0?void 0:i[1])&&e[n][1]===((o=e[n+1])===null||o===void 0?void 0:o[0])?n+=2:(r.push(e[n]),n++)}return r}function Bg(t,e){t.westIndices.sort((n,i)=>e[3*n+1]-e[3*i+1]),t.eastIndices.sort((n,i)=>e[3*i+1]-e[3*n+1]),t.southIndices.sort((n,i)=>e[3*i]-e[3*n]),t.northIndices.sort((n,i)=>e[3*n]-e[3*i]);let r=[];for(let n in t){let i=t[n];for(let o=0;o<i.length-1;o++)r.push([i[o],i[o+1]])}return r}function kg(t){let{edge:e,edgeIndex:r,attributes:n,skirtHeight:i,newPosition:o,newTexcoord0:s,newTriangles:a}=t,c=n.POSITION.value.length,l=r*2,u=r*2+1;o.set(n.POSITION.value.subarray(e[0]*3,e[0]*3+3),l*3),o[l*3+2]=o[l*3+2]-i,o.set(n.POSITION.value.subarray(e[1]*3,e[1]*3+3),u*3),o[u*3+2]=o[u*3+2]-i,s.set(n.TEXCOORD_0.value.subarray(e[0]*2,e[0]*2+2),l*2),s.set(n.TEXCOORD_0.value.subarray(e[1]*2,e[1]*2+2),u*2);let f=r*2*3;a[f]=e[0],a[f+1]=c/3+u,a[f+2]=e[1],a[f+3]=c/3+u,a[f+4]=e[0],a[f+5]=c/3+l}function mo(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{bounds:r}=e,{header:n,vertexData:i,triangleIndices:o,westIndices:s,northIndices:a,eastIndices:c,southIndices:l}=po(t,Yt.triangleIndices),u=o,f=qg(i,n,r),h=Ve(f);if(e!=null&&e.skirtHeight){let{attributes:d,triangles:p}=dn(f,u,e.skirtHeight,{westIndices:s,northIndices:a,eastIndices:c,southIndices:l});f=d,u=p}return{loaderData:{header:{}},header:{vertexCount:u.length,boundingBox:h},schema:void 0,topology:"triangle-list",mode:4,indices:{value:u,size:1},attributes:f}}function qg(t,e,r){let{minHeight:n,maxHeight:i}=e,[o,s,a,c]=r||[0,0,1,1],l=a-o,u=c-s,f=i-n,h=t.length/3,d=new Float32Array(h*3),p=new Float32Array(h*2);for(let g=0;g<h;g++){let m=t[g]/32767,v=t[g+h]/32767,w=t[g+h*2]/32767;d[3*g+0]=m*l+o,d[3*g+1]=v*u+s,d[3*g+2]=w*f+n,p[2*g+0]=m,p[2*g+1]=v}return{POSITION:{value:d,size:3},TEXCOORD_0:{value:p,size:2}}}var De=class{constructor(e=257){this.gridSize=e;let r=e-1;if(r&r-1)throw new Error(`Expected grid size to be 2^n+1, got ${e}.`);this.numTriangles=r*r*2-2,this.numParentTriangles=this.numTriangles-r*r,this.indices=new Uint32Array(this.gridSize*this.gridSize),this.coords=new Uint16Array(this.numTriangles*4);for(let n=0;n<this.numTriangles;n++){let i=n+2,o=0,s=0,a=0,c=0,l=0,u=0;for(i&1?a=c=l=r:o=s=u=r;(i>>=1)>1;){let h=o+a>>1,d=s+c>>1;i&1?(a=o,c=s,o=l,s=u):(o=a,s=c,a=l,c=u),l=h,u=d}let f=n*4;this.coords[f+0]=o,this.coords[f+1]=s,this.coords[f+2]=a,this.coords[f+3]=c}}createTile(e){return new go(e,this)}},go=class{constructor(e,r){let n=r.gridSize;if(e.length!==n*n)throw new Error(`Expected terrain data of length ${n*n} (${n} x ${n}), got ${e.length}.`);this.terrain=e,this.martini=r,this.errors=new Float32Array(e.length),this.update()}update(){let{numTriangles:e,numParentTriangles:r,coords:n,gridSize:i}=this.martini,{terrain:o,errors:s}=this;for(let a=e-1;a>=0;a--){let c=a*4,l=n[c+0],u=n[c+1],f=n[c+2],h=n[c+3],d=l+f>>1,p=u+h>>1,g=d+p-u,m=p+l-d,v=(o[u*i+l]+o[h*i+f])/2,w=p*i+d,x=Math.abs(v-o[w]);if(s[w]=Math.max(s[w],x),a<r){let b=(u+m>>1)*i+(l+g>>1),T=(h+m>>1)*i+(f+g>>1);s[w]=Math.max(s[w],s[b],s[T])}}}getMesh(e=0){let{gridSize:r,indices:n}=this.martini,{errors:i}=this,o=0,s=0,a=r-1;n.fill(0);function c(d,p,g,m,v,w){let x=d+g>>1,b=p+m>>1;Math.abs(d-v)+Math.abs(p-w)>1&&i[b*r+x]>e?(c(v,w,d,p,x,b),c(g,m,v,w,x,b)):(n[p*r+d]=n[p*r+d]||++o,n[m*r+g]=n[m*r+g]||++o,n[w*r+v]=n[w*r+v]||++o,s++)}c(0,0,a,a,a,0),c(a,a,0,0,0,a);let l=new Uint16Array(o*2),u=new Uint32Array(s*3),f=0;function h(d,p,g,m,v,w){let x=d+g>>1,b=p+m>>1;if(Math.abs(d-v)+Math.abs(p-w)>1&&i[b*r+x]>e)h(v,w,d,p,x,b),h(g,m,v,w,x,b);else{let T=n[p*r+d]-1,S=n[m*r+g]-1,P=n[w*r+v]-1;l[2*T]=d,l[2*T+1]=p,l[2*S]=g,l[2*S+1]=m,l[2*P]=v,l[2*P+1]=w,u[f++]=T,u[f++]=S,u[f++]=P}}return h(0,0,a,a,a,0),h(a,a,0,0,0,a),{vertices:l,triangles:u}}};var Ge=class{constructor(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r;this.data=e,this.width=r,this.height=n,this.coords=[],this.triangles=[],this._halfedges=[],this._candidates=[],this._queueIndices=[],this._queue=[],this._errors=[],this._rms=[],this._pending=[],this._pendingLen=0,this._rmsSum=0;let i=r-1,o=n-1,s=this._addPoint(0,0),a=this._addPoint(i,0),c=this._addPoint(0,o),l=this._addPoint(i,o),u=this._addTriangle(l,s,c,-1,-1,-1);this._addTriangle(s,l,a,u,-1,-1),this._flush()}run(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;for(;this.getMaxError()>e;)this.refine()}refine(){this._step(),this._flush()}getMaxError(){return this._errors[0]}getRMSD(){return this._rmsSum>0?Math.sqrt(this._rmsSum/(this.width*this.height)):0}heightAt(e,r){return this.data[this.width*r+e]}_flush(){let e=this.coords;for(let r=0;r<this._pendingLen;r++){let n=this._pending[r],i=2*this.triangles[n*3+0],o=2*this.triangles[n*3+1],s=2*this.triangles[n*3+2];this._findCandidate(e[i],e[i+1],e[o],e[o+1],e[s],e[s+1],n)}this._pendingLen=0}_findCandidate(e,r,n,i,o,s,a){let c=Math.min(e,n,o),l=Math.min(r,i,s),u=Math.max(e,n,o),f=Math.max(r,i,s),h=Ht(n,i,o,s,c,l),d=Ht(o,s,e,r,c,l),p=Ht(e,r,n,i,c,l),g=i-r,m=e-n,v=s-i,w=n-o,x=r-s,b=o-e,T=Ht(e,r,n,i,o,s),S=this.heightAt(e,r)/T,P=this.heightAt(n,i)/T,M=this.heightAt(o,s)/T,_=0,y=0,E=0,A=0;for(let L=l;L<=f;L++){let I=0;h<0&&v!==0&&(I=Math.max(I,Math.floor(-h/v))),d<0&&x!==0&&(I=Math.max(I,Math.floor(-d/x))),p<0&&g!==0&&(I=Math.max(I,Math.floor(-p/g)));let R=h+v*I,U=d+x*I,z=p+g*I,D=!1;for(let q=c+I;q<=u;q++){if(R>=0&&U>=0&&z>=0){D=!0;let X=S*R+P*U+M*z,$=Math.abs(X-this.heightAt(q,L));A+=$*$,$>_&&(_=$,y=q,E=L)}else if(D)break;R+=v,U+=x,z+=g}h+=w,d+=b,p+=m}(y===e&&E===r||y===n&&E===i||y===o&&E===s)&&(_=0),this._candidates[2*a]=y,this._candidates[2*a+1]=E,this._rms[a]=A,this._queuePush(a,_,A)}_step(){let e=this._queuePop(),r=e*3+0,n=e*3+1,i=e*3+2,o=this.triangles[r],s=this.triangles[n],a=this.triangles[i],c=this.coords[2*o],l=this.coords[2*o+1],u=this.coords[2*s],f=this.coords[2*s+1],h=this.coords[2*a],d=this.coords[2*a+1],p=this._candidates[2*e],g=this._candidates[2*e+1],m=this._addPoint(p,g);if(Ht(c,l,u,f,p,g)===0)this._handleCollinear(m,r);else if(Ht(u,f,h,d,p,g)===0)this._handleCollinear(m,n);else if(Ht(h,d,c,l,p,g)===0)this._handleCollinear(m,i);else{let v=this._halfedges[r],w=this._halfedges[n],x=this._halfedges[i],b=this._addTriangle(o,s,m,v,-1,-1,r),T=this._addTriangle(s,a,m,w,-1,b+1),S=this._addTriangle(a,o,m,x,b+2,T+1);this._legalize(b),this._legalize(T),this._legalize(S)}}_addPoint(e,r){let n=this.coords.length>>1;return this.coords.push(e,r),n}_addTriangle(e,r,n,i,o,s){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this.triangles.length,c=a/3;return this.triangles[a+0]=e,this.triangles[a+1]=r,this.triangles[a+2]=n,this._halfedges[a+0]=i,this._halfedges[a+1]=o,this._halfedges[a+2]=s,i>=0&&(this._halfedges[i]=a+0),o>=0&&(this._halfedges[o]=a+1),s>=0&&(this._halfedges[s]=a+2),this._candidates[2*c+0]=0,this._candidates[2*c+1]=0,this._queueIndices[c]=-1,this._rms[c]=0,this._pending[this._pendingLen++]=c,a}_legalize(e){let r=this._halfedges[e];if(r<0)return;let n=e-e%3,i=r-r%3,o=n+(e+1)%3,s=n+(e+2)%3,a=i+(r+2)%3,c=i+(r+1)%3,l=this.triangles[s],u=this.triangles[e],f=this.triangles[o],h=this.triangles[a],d=this.coords;if(!Ug(d[2*l],d[2*l+1],d[2*u],d[2*u+1],d[2*f],d[2*f+1],d[2*h],d[2*h+1]))return;let p=this._halfedges[o],g=this._halfedges[s],m=this._halfedges[a],v=this._halfedges[c];this._queueRemove(n/3),this._queueRemove(i/3);let w=this._addTriangle(l,h,f,-1,m,p,n),x=this._addTriangle(h,l,u,w,g,v,i);this._legalize(w+1),this._legalize(x+2)}_handleCollinear(e,r){let n=r-r%3,i=n+(r+1)%3,o=n+(r+2)%3,s=this.triangles[o],a=this.triangles[r],c=this.triangles[i],l=this._halfedges[i],u=this._halfedges[o],f=this._halfedges[r];if(f<0){let S=this._addTriangle(e,s,a,-1,u,-1,n),P=this._addTriangle(s,e,c,S,-1,l);this._legalize(S+1),this._legalize(P+2);return}let h=f-f%3,d=h+(f+2)%3,p=h+(f+1)%3,g=this.triangles[d],m=this._halfedges[d],v=this._halfedges[p];this._queueRemove(h/3);let w=this._addTriangle(s,a,e,u,-1,-1,n),x=this._addTriangle(a,g,e,v,-1,w+1,h),b=this._addTriangle(g,c,e,m,-1,x+1),T=this._addTriangle(c,s,e,l,w+2,b+1);this._legalize(w),this._legalize(x),this._legalize(b),this._legalize(T)}_queuePush(e,r,n){let i=this._queue.length;this._queueIndices[e]=i,this._queue.push(e),this._errors.push(r),this._rmsSum+=n,this._queueUp(i)}_queuePop(){let e=this._queue.length-1;return this._queueSwap(0,e),this._queueDown(0,e),this._queuePopBack()}_queuePopBack(){let e=this._queue.pop();return this._errors.pop(),this._rmsSum-=this._rms[e],this._queueIndices[e]=-1,e}_queueRemove(e){let r=this._queueIndices[e];if(r<0){let i=this._pending.indexOf(e);if(i!==-1)this._pending[i]=this._pending[--this._pendingLen];else throw new Error("Broken triangulation (something went wrong).");return}let n=this._queue.length-1;n!==r&&(this._queueSwap(r,n),this._queueDown(r,n)||this._queueUp(r)),this._queuePopBack()}_queueLess(e,r){return this._errors[e]>this._errors[r]}_queueSwap(e,r){let n=this._queue[e],i=this._queue[r];this._queue[e]=i,this._queue[r]=n,this._queueIndices[n]=r,this._queueIndices[i]=e;let o=this._errors[e];this._errors[e]=this._errors[r],this._errors[r]=o}_queueUp(e){let r=e;for(;;){let n=r-1>>1;if(n===r||!this._queueLess(r,n))break;this._queueSwap(n,r),r=n}}_queueDown(e,r){let n=e;for(;;){let i=2*n+1;if(i>=r||i<0)break;let o=i+1,s=i;if(o<r&&this._queueLess(o,i)&&(s=o),!this._queueLess(s,n))break;this._queueSwap(n,s),n=s}return n>e}};function Ht(t,e,r,n,i,o){return(r-i)*(e-o)-(n-o)*(t-i)}function Ug(t,e,r,n,i,o,s,a){let c=t-s,l=e-a,u=r-s,f=n-a,h=i-s,d=o-a,p=c*c+l*l,g=u*u+f*f,m=h*h+d*d;return c*(f*m-g*d)-l*(u*m-g*h)+p*(u*d-f*h)<0}function vl(t,e){let{meshMaxError:r,bounds:n,elevationDecoder:i}=e,{data:o,width:s,height:a}=t,c,l;switch(e.tesselator){case"martini":c=pn(o,s,a,i,e.tesselator),l=gl(r,s,c);break;case"delatin":c=pn(o,s,a,i,e.tesselator),l=yl(r,s,a,c);break;default:s===a&&!(a&s-1)?(c=pn(o,s,a,i,"martini"),l=gl(r,s,c)):(c=pn(o,s,a,i,"delatin"),l=yl(r,s,a,c));break}let{vertices:u}=l,{triangles:f}=l,h=jg(u,c,s,a,n),d=Ve(h);if(e.skirtHeight){let{attributes:p,triangles:g}=dn(h,f,e.skirtHeight);h=p,f=g}return{loaderData:{header:{}},header:{vertexCount:f.length,boundingBox:d},mode:4,indices:{value:Uint32Array.from(f),size:1},attributes:h}}function gl(t,e,r){let n=e+1,o=new De(n).createTile(r),{vertices:s,triangles:a}=o.getMesh(t);return{vertices:s,triangles:a}}function yl(t,e,r,n){let i=new Ge(n,e+1,r+1);i.run(t);let{coords:o,triangles:s}=i;return{vertices:o,triangles:s}}function pn(t,e,r,n,i){let{rScaler:o,bScaler:s,gScaler:a,offset:c}=n,l=new Float32Array((e+1)*(r+1));for(let u=0,f=0;f<r;f++)for(let h=0;h<e;h++,u++){let d=u*4,p=t[d+0],g=t[d+1],m=t[d+2];l[u+f]=p*o+g*a+m*s+c}if(i==="martini"){for(let u=(e+1)*e,f=0;f<e;f++,u++)l[u]=l[u-e-1];for(let u=r,f=0;f<r+1;f++,u+=r+1)l[u]=l[u-1]}return l}function jg(t,e,r,n,i){let o=r+1,s=t.length/2,a=new Float32Array(s*3),c=new Float32Array(s*2),[l,u,f,h]=i||[0,0,r,n],d=(f-l)/r,p=(h-u)/n;for(let g=0;g<s;g++){let m=t[g*2],v=t[g*2+1],w=v*o+m;a[3*g+0]=m*d+l,a[3*g+1]=-v*p+h,a[3*g+2]=e[w],c[2*g+0]=m/r,c[2*g+1]=v/n}return{POSITION:{value:a,size:3},TEXCOORD_0:{value:c,size:2}}}var mn=typeof __VERSION__<"u"?__VERSION__:"latest";var gn={name:"Terrain",id:"terrain",module:"terrain",version:mn,worker:!0,extensions:["png","pngraw","jpg","jpeg","gif","webp","bmp"],mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp"],options:{terrain:{tesselator:"auto",bounds:void 0,meshMaxError:10,elevationDecoder:{rScaler:1,gScaler:0,bScaler:0,offset:0},skirtHeight:void 0}}};var xl={name:"Quantized Mesh",id:"quantized-mesh",module:"terrain",version:mn,worker:!0,extensions:["terrain"],mimeTypes:["application/vnd.quantized-mesh"],options:{"quantized-mesh":{bounds:[0,0,1,1],skirtHeight:null}}};var Vg={...gn,parse:Wg};async function Wg(t,e,r){let n={...e,mimeType:"application/x.image",image:{...e?.image,type:"data"}},i=await Zn(t,[],n,r),o={...Vg.options.terrain,...e?.terrain};return vl(i,o)}var DS={...xl,parseSync:(t,e)=>mo(t,e?.["quantized-mesh"]),parse:async(t,e)=>mo(t,e?.["quantized-mesh"])};function yn(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?yn=function(r){return typeof r}:yn=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},yn(t)}function _l(t){return Zg(t)||Gg(t)||Sl(t)||Dg()}function Dg(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
44
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gg(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Zg(t){if(Array.isArray(t))return yo(t)}function Xg(t,e){return $g(t)||Hg(t,e)||Sl(t,e)||Yg()}function Yg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
45
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sl(t,e){if(t){if(typeof t=="string")return yo(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yo(t,e)}}function yo(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Hg(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function $g(t){if(Array.isArray(t))return t}function Qg(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Kg(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&vo(t,e)}function vo(t,e){return vo=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},vo(t,e)}function Jg(t){var e=ry();return function(){var n=vn(t),i;if(e){var o=vn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return ty(this,i)}}function ty(t,e){if(e&&(yn(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ey(t)}function ey(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function ry(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function vn(t){return vn=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},vn(t)}function bl(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Bt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?bl(Object(r),!0).forEach(function(n){ny(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):bl(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function ny(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var wl=[1],iy=Bt(Bt({},Tt.defaultProps),{},{elevationData:Ct,texture:Bt(Bt({},Ct),{},{optional:!0}),meshMaxError:{type:"number",value:4},bounds:{type:"array",value:null,optional:!0,compare:!0},color:{type:"color",value:[255,255,255]},elevationDecoder:{type:"object",value:{rScaler:1,gScaler:0,bScaler:0,offset:0}},workerUrl:"",wireframe:!1,material:!0,loaders:[gn]});function Ml(t){return Array.isArray(t)?t.join(";"):t||""}var _n=function(t){Kg(r,t);var e=Jg(r);function r(){var i;Qg(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.updateState=function(o){var s=o.props,a=o.oldProps,c=s.elevationData!==a.elevationData;if(c){var l=s.elevationData,u=l&&(Array.isArray(l)||l.includes("{x}")&&l.includes("{y}"));this.setState({isTiled:u})}var f=c||s.meshMaxError!==a.meshMaxError||s.elevationDecoder!==a.elevationDecoder||s.bounds!==a.bounds;if(!this.state.isTiled&&f){var h=this.loadTerrain(s);this.setState({terrain:h})}s.workerUrl&&xn.log.removed("workerUrl","loadOptions.terrain.workerUrl")()},n.loadTerrain=function(o){var s,a=o.elevationData,c=o.bounds,l=o.elevationDecoder,u=o.meshMaxError,f=o.signal;if(!a)return null;var h=this.getLoadOptions();h=Bt(Bt({},h),{},{terrain:Bt(Bt({skirtHeight:this.state.isTiled?u*2:0},(s=h)===null||s===void 0?void 0:s.terrain),{},{bounds:c,meshMaxError:u,elevationDecoder:l})});var d=this.props.fetch;return d(a,{propName:"elevationData",layer:this,loadOptions:h,signal:f})},n.getTiledTerrainData=function(o){var s=this.props,a=s.elevationData,c=s.fetch,l=s.texture,u=s.elevationDecoder,f=s.meshMaxError,h=this.context.viewport,d=yt(a,o),p=l&&yt(l,o),g=o.signal,m=[0,0],v=[0,0];if(h.isGeospatial){var w=o.bbox;m=h.projectFlat([w.west,w.south]),v=h.projectFlat([w.east,w.north])}else{var x=o.bbox;m=[x.left,x.bottom],v=[x.right,x.top]}var b=[m[0],m[1],v[0],v[1]],T=this.loadTerrain({elevationData:d,bounds:b,elevationDecoder:u,meshMaxError:f,signal:g}),S=p?c(p,{propName:"texture",layer:this,loaders:[],signal:g}).catch(function(P){return null}):Promise.resolve(null);return Promise.all([T,S])},n.renderSubLayers=function(o){var s=this.getSubLayerClass("mesh",xo.SimpleMeshLayer),a=this.props,c=a.color,l=a.wireframe,u=a.material,f=o.data;if(!f)return null;var h=Xg(f,2),d=h[0],p=h[1];return new s(o,{data:wl,mesh:d,texture:p,_instanced:!1,coordinateSystem:Tl.COORDINATE_SYSTEM.CARTESIAN,getPosition:function(m){return[0,0,0]},getColor:c,wireframe:l,material:u})},n.onViewportLoad=function(o){if(o){var s=this.state.zRange,a=o.map(function(u){return u.content}).filter(Boolean).map(function(u){var f=u[0].header.boundingBox;return f.map(function(h){return h[2]})});if(a.length!==0){var c=Math.min.apply(Math,_l(a.map(function(u){return u[0]}))),l=Math.max.apply(Math,_l(a.map(function(u){return u[1]})));(!s||c<s[0]||l>s[1])&&this.setState({zRange:[c,l]})}}},n.renderLayers=function(){var o=this.props,s=o.color,a=o.material,c=o.elevationData,l=o.texture,u=o.wireframe,f=o.meshMaxError,h=o.elevationDecoder,d=o.tileSize,p=o.maxZoom,g=o.minZoom,m=o.extent,v=o.maxRequests,w=o.onTileLoad,x=o.onTileUnload,b=o.onTileError,T=o.maxCacheSize,S=o.maxCacheByteSize,P=o.refinementStrategy;if(this.state.isTiled)return new Tt(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:Ml(c),texture:Ml(l),meshMaxError:f,elevationDecoder:h}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:d,maxZoom:p,minZoom:g,extent:m,maxRequests:v,onTileLoad:w,onTileUnload:x,onTileError:b,maxCacheSize:T,maxCacheByteSize:S,refinementStrategy:P});var M=this.getSubLayerClass("mesh",xo.SimpleMeshLayer);return new M(this.getSubLayerProps({id:"mesh"}),{data:wl,mesh:this.state.terrain,texture:l,_instanced:!1,getPosition:function(y){return[0,0,0]},getColor:s,material:a,wireframe:u})},r}(xn.CompositeLayer);_n.defaultProps=iy;_n.layerName="TerrainLayer";var Fn=B(ut()),qo=B(ct()),pu=B(El());var Ze={x:0,y:1,z:2};function $t(t,e={}){let{start:r=0,end:n=t.length,plane:i="xy"}=e,o=e.size||2,s=0,a=Ze[i[0]],c=Ze[i[1]];for(let l=r,u=n-o;l<n;l+=o)s+=(t[l+a]-t[u+a])*(t[l+c]+t[u+c]),u=l;return s/2}function bo(t,e,r=2,n,i="xy"){let o=e&&e.length,s=o?e[0]*r:t.length,a=Il(t,0,s,r,!0,n&&n[0],i),c=[];if(!a||a.next===a.prev)return c;let l,u,f,h,d,p,g;if(o&&(a=fy(t,e,a,r,n,i)),t.length>80*r){h=u=t[0],d=f=t[1];for(let m=r;m<s;m+=r)p=t[m],g=t[m+1],p<h&&(h=p),g<d&&(d=g),p>u&&(u=p),g>f&&(f=g);l=Math.max(u-h,f-d),l=l!==0?32767/l:0}return Xe(a,c,r,h,d,l,0),c}function Il(t,e,r,n,i,o,s){let a,c;o===void 0&&(o=$t(t,{start:e,end:r,size:n,plane:s}));let l=Ze[s[0]],u=Ze[s[1]];if(i===o<0)for(a=e;a<r;a+=n)c=Ol(a,t[a+l],t[a+u],c);else for(a=r-n;a>=e;a-=n)c=Ol(a,t[a+l],t[a+u],c);return c&&Mn(c,c.next)&&(He(c),c=c.next),c}function Qt(t,e){if(!t)return t;e||(e=t);let r=t,n;do if(n=!1,!r.steiner&&(Mn(r,r.next)||W(r.prev,r,r.next)===0)){if(He(r),r=e=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==e);return e}function Xe(t,e,r,n,i,o,s){if(!t)return;!s&&o&&gy(t,n,i,o);let a=t,c,l;for(;t.prev!==t.next;){if(c=t.prev,l=t.next,o?cy(t,n,i,o):ay(t)){e.push(c.i/r|0),e.push(t.i/r|0),e.push(l.i/r|0),He(t),t=l.next,a=l.next;continue}if(t=l,t===a){s?s===1?(t=ly(Qt(t),e,r),Xe(t,e,r,n,i,o,2)):s===2&&uy(t,e,r,n,i,o):Xe(Qt(t),e,r,n,i,o,1);break}}}function ay(t){let e=t.prev,r=t,n=t.next;if(W(e,r,n)>=0)return!1;let i=e.x,o=r.x,s=n.x,a=e.y,c=r.y,l=n.y,u=i<o?i<s?i:s:o<s?o:s,f=a<c?a<l?a:l:c<l?c:l,h=i>o?i>s?i:s:o>s?o:s,d=a>c?a>l?a:l:c>l?c:l,p=n.next;for(;p!==e;){if(p.x>=u&&p.x<=h&&p.y>=f&&p.y<=d&&ge(i,a,o,c,s,l,p.x,p.y)&&W(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function cy(t,e,r,n){let i=t.prev,o=t,s=t.next;if(W(i,o,s)>=0)return!1;let a=i.x,c=o.x,l=s.x,u=i.y,f=o.y,h=s.y,d=a<c?a<l?a:l:c<l?c:l,p=u<f?u<h?u:h:f<h?f:h,g=a>c?a>l?a:l:c>l?c:l,m=u>f?u>h?u:h:f>h?f:h,v=_o(d,p,e,r,n),w=_o(g,m,e,r,n),x=t.prevZ,b=t.nextZ;for(;x&&x.z>=v&&b&&b.z<=w;){if(x.x>=d&&x.x<=g&&x.y>=p&&x.y<=m&&x!==i&&x!==s&&ge(a,u,c,f,l,h,x.x,x.y)&&W(x.prev,x,x.next)>=0||(x=x.prevZ,b.x>=d&&b.x<=g&&b.y>=p&&b.y<=m&&b!==i&&b!==s&&ge(a,u,c,f,l,h,b.x,b.y)&&W(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;x&&x.z>=v;){if(x.x>=d&&x.x<=g&&x.y>=p&&x.y<=m&&x!==i&&x!==s&&ge(a,u,c,f,l,h,x.x,x.y)&&W(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;b&&b.z<=w;){if(b.x>=d&&b.x<=g&&b.y>=p&&b.y<=m&&b!==i&&b!==s&&ge(a,u,c,f,l,h,b.x,b.y)&&W(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function ly(t,e,r){let n=t;do{let i=n.prev,o=n.next.next;!Mn(i,o)&&Al(i,n,n.next,o)&&Ye(i,o)&&Ye(o,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(o.i/r|0),He(n),He(n.next),n=t=o),n=n.next}while(n!==t);return Qt(n)}function uy(t,e,r,n,i,o){let s=t;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&xy(s,a)){let c=Ll(s,a);s=Qt(s,s.next),c=Qt(c,c.next),Xe(s,e,r,n,i,o,0),Xe(c,e,r,n,i,o,0);return}a=a.next}s=s.next}while(s!==t)}function fy(t,e,r,n,i,o){let s=[],a,c,l,u,f;for(a=0,c=e.length;a<c;a++)l=e[a]*n,u=a<c-1?e[a+1]*n:t.length,f=Il(t,l,u,n,!1,i&&i[a+1],o),f===f.next&&(f.steiner=!0),s.push(vy(f));for(s.sort(hy),a=0;a<s.length;a++)r=dy(s[a],r);return r}function hy(t,e){return t.x-e.x}function dy(t,e){let r=py(t,e);if(!r)return e;let n=Ll(r,t);return Qt(n,n.next),Qt(r,r.next)}function py(t,e){let r=e,n=t.x,i=t.y,o=-1/0,s;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){let h=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(h<=n&&h>o&&(o=h,s=r.x<r.next.x?r:r.next,h===n))return s}r=r.next}while(r!==e);if(!s)return null;let a=s,c=s.x,l=s.y,u=1/0,f;r=s;do n>=r.x&&r.x>=c&&n!==r.x&&ge(i<l?n:o,i,c,l,i<l?o:n,i,r.x,r.y)&&(f=Math.abs(i-r.y)/(n-r.x),Ye(r,t)&&(f<u||f===u&&(r.x>s.x||r.x===s.x&&my(s,r)))&&(s=r,u=f)),r=r.next;while(r!==a);return s}function my(t,e){return W(t.prev,t,e.prev)<0&&W(e.next,t,t.next)<0}function gy(t,e,r,n){let i=t;do i.z===0&&(i.z=_o(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,yy(i)}function yy(t){let e,r,n=1,i,o,s,a,c,l;do{for(o=t,t=null,l=null,i=0;o;){for(i++,a=o,s=0,r=0;r<n&&(s++,a=a.nextZ,!!a);r++);for(c=n;s>0||c>0&&a;)s!==0&&(c===0||!a||o.z<=a.z)?(e=o,o=o.nextZ,s--):(e=a,a=a.nextZ,c--),l?l.nextZ=e:t=e,e.prevZ=l,l=e;o=a}l.nextZ=null,n*=2}while(i>1);return t}function _o(t,e,r,n,i){return t=(t-r)*i|0,e=(e-n)*i|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function vy(t){let e=t,r=t;do(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;while(e!==t);return r}function ge(t,e,r,n,i,o,s,a){return(i-s)*(e-a)>=(t-s)*(o-a)&&(t-s)*(n-a)>=(r-s)*(e-a)&&(r-s)*(o-a)>=(i-s)*(n-a)}function xy(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!_y(t,e)&&(Ye(t,e)&&Ye(e,t)&&by(t,e)&&(W(t.prev,t,e.prev)||W(t,e.prev,e))||Mn(t,e)&&W(t.prev,t,t.next)>0&&W(e.prev,e,e.next)>0)}function W(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Mn(t,e){return t.x===e.x&&t.y===e.y}function Al(t,e,r,n){let i=wn(W(t,e,r)),o=wn(W(t,e,n)),s=wn(W(r,n,t)),a=wn(W(r,n,e));return!!(i!==o&&s!==a||i===0&&bn(t,r,e)||o===0&&bn(t,n,e)||s===0&&bn(r,t,n)||a===0&&bn(r,e,n))}function bn(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function wn(t){return t>0?1:t<0?-1:0}function _y(t,e){let r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Al(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function Ye(t,e){return W(t.prev,t,t.next)<0?W(t,e,t.next)>=0&&W(t,t.prev,e)>=0:W(t,e,t.prev)<0||W(t,t.next,e)<0}function by(t,e){let r=t,n=!1,i=(t.x+e.x)/2,o=(t.y+e.y)/2;do r.y>o!=r.next.y>o&&r.next.y!==r.y&&i<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==t);return n}function Ll(t,e){let r=new $e(t.i,t.x,t.y),n=new $e(e.i,e.x,e.y),i=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,o.next=n,n.prev=o,n}function Ol(t,e,r,n){let i=new $e(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function He(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}var $e=class{constructor(e,r,n){F(this,"i",void 0),F(this,"x",void 0),F(this,"y",void 0),F(this,"prev",null),F(this,"next",null),F(this,"z",0),F(this,"prevZ",null),F(this,"nextZ",null),F(this,"steiner",!1),this.i=e,this.x=r,this.y=n}};function So(t,e,r){let n=Py(t),i=Object.keys(n).filter(o=>n[o]!==Array);return Ey(t,{propArrayTypes:n,...e},{numericPropKeys:r&&r.numericPropKeys||i,PositionDataType:r?r.PositionDataType:Float32Array,triangulate:r?r.triangulate:!0})}function Py(t){let e={};for(let r of t)if(r.properties)for(let n in r.properties){let i=r.properties[n];e[n]=Fy(i,e[n])}return e}function Ey(t,e,r){let{pointPositionsCount:n,pointFeaturesCount:i,linePositionsCount:o,linePathsCount:s,lineFeaturesCount:a,polygonPositionsCount:c,polygonObjectsCount:l,polygonRingsCount:u,polygonFeaturesCount:f,propArrayTypes:h,coordLength:d}=e,{numericPropKeys:p=[],PositionDataType:g=Float32Array,triangulate:m=!0}=r,v=t[0]&&"id"in t[0],w=t.length>65535?Uint32Array:Uint16Array,x={type:"Point",positions:new g(n*d),globalFeatureIds:new w(n),featureIds:i>65535?new Uint32Array(n):new Uint16Array(n),numericProps:{},properties:[],fields:[]},b={type:"LineString",pathIndices:o>65535?new Uint32Array(s+1):new Uint16Array(s+1),positions:new g(o*d),globalFeatureIds:new w(o),featureIds:a>65535?new Uint32Array(o):new Uint16Array(o),numericProps:{},properties:[],fields:[]},T={type:"Polygon",polygonIndices:c>65535?new Uint32Array(l+1):new Uint16Array(l+1),primitivePolygonIndices:c>65535?new Uint32Array(u+1):new Uint16Array(u+1),positions:new g(c*d),globalFeatureIds:new w(c),featureIds:f>65535?new Uint32Array(c):new Uint16Array(c),numericProps:{},properties:[],fields:[]};m&&(T.triangles=[]);for(let P of[x,b,T])for(let M of p){let _=h[M];P.numericProps[M]=new _(P.positions.length/d)}b.pathIndices[s]=o,T.polygonIndices[l]=c,T.primitivePolygonIndices[u]=c;let S={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(let P of t){let M=P.geometry,_=P.properties||{};switch(M.type){case"Point":Oy(M,x,S,d,_),x.properties.push(Mo(_,p)),v&&x.fields.push({id:P.id}),S.pointFeature++;break;case"LineString":Iy(M,b,S,d,_),b.properties.push(Mo(_,p)),v&&b.fields.push({id:P.id}),S.lineFeature++;break;case"Polygon":Ay(M,T,S,d,_),T.properties.push(Mo(_,p)),v&&T.fields.push({id:P.id}),S.polygonFeature++;break;default:throw new Error("Invalid geometry type")}S.feature++}return Ry(x,b,T,d)}function Oy(t,e,r,n,i){e.positions.set(t.data,r.pointPosition*n);let o=t.data.length/n;To(e,i,r.pointPosition,o),e.globalFeatureIds.fill(r.feature,r.pointPosition,r.pointPosition+o),e.featureIds.fill(r.pointFeature,r.pointPosition,r.pointPosition+o),r.pointPosition+=o}function Iy(t,e,r,n,i){e.positions.set(t.data,r.linePosition*n);let o=t.data.length/n;To(e,i,r.linePosition,o),e.globalFeatureIds.fill(r.feature,r.linePosition,r.linePosition+o),e.featureIds.fill(r.lineFeature,r.linePosition,r.linePosition+o);for(let s=0,a=t.indices.length;s<a;++s){let c=t.indices[s],l=s===a-1?t.data.length:t.indices[s+1];e.pathIndices[r.linePath++]=r.linePosition,r.linePosition+=(l-c)/n}}function Ay(t,e,r,n,i){e.positions.set(t.data,r.polygonPosition*n);let o=t.data.length/n;To(e,i,r.polygonPosition,o),e.globalFeatureIds.fill(r.feature,r.polygonPosition,r.polygonPosition+o),e.featureIds.fill(r.polygonFeature,r.polygonPosition,r.polygonPosition+o);for(let s=0,a=t.indices.length;s<a;++s){let c=r.polygonPosition;e.polygonIndices[r.polygonObject++]=c;let l=t.areas[s],u=t.indices[s],f=t.indices[s+1];for(let d=0,p=u.length;d<p;++d){let g=u[d],m=d===p-1?f===void 0?t.data.length:f[0]:u[d+1];e.primitivePolygonIndices[r.polygonRing++]=r.polygonPosition,r.polygonPosition+=(m-g)/n}let h=r.polygonPosition;Ly(e,l,u,{startPosition:c,endPosition:h,coordLength:n})}}function Ly(t,e,r,n){let{startPosition:i,endPosition:o,coordLength:s}=n;if(!t.triangles)return;let a=i*s,c=o*s,l=t.positions.subarray(a,c),u=r[0],f=r.slice(1).map(d=>(d-u)/s),h=bo(l,f,s,e);for(let d=0,p=h.length;d<p;++d)t.triangles.push(i+h[d])}function wo(t,e){let r={};for(let n in t)r[n]={value:t[n],size:e};return r}function Ry(t,e,r,n){let i={shape:"binary-feature-collection",points:{...t,positions:{value:t.positions,size:n},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1},numericProps:wo(t.numericProps,1)},lines:{...e,positions:{value:e.positions,size:n},pathIndices:{value:e.pathIndices,size:1},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1},numericProps:wo(e.numericProps,1)},polygons:{...r,positions:{value:r.positions,size:n},polygonIndices:{value:r.polygonIndices,size:1},primitivePolygonIndices:{value:r.primitivePolygonIndices,size:1},globalFeatureIds:{value:r.globalFeatureIds,size:1},featureIds:{value:r.featureIds,size:1},numericProps:wo(r.numericProps,1)}};return i.polygons&&r.triangles&&(i.polygons.triangles={value:new Uint32Array(r.triangles),size:1}),i}function To(t,e,r,n){for(let i in t.numericProps)if(i in e){let o=e[i];t.numericProps[i].fill(o,r,r+n)}}function Mo(t,e){let r={};for(let n in t)e.includes(n)||(r[n]=t[n]);return r}function Fy(t,e){return e===Array||!Number.isFinite(t)?Array:e===Float64Array||Math.fround(t)!==t?Float64Array:Float32Array}function Pn(t,e){let r=e?.globalFeatureId;return r!==void 0?Ny(t,r):Cy(t,e?.type)}function Ny(t,e){let r=Cl(t);for(let n of r){let i=0,o=n.featureIds.value[0];for(let s=0;s<n.featureIds.value.length;s++){let a=n.featureIds.value[s];if(a!==o){if(e===n.globalFeatureIds.value[i])return Sn(n,i,s);i=s,o=a}}if(e===n.globalFeatureIds.value[i])return Sn(n,i,n.featureIds.value.length)}throw new Error(`featureId:${e} not found`)}function Cy(t,e){let r=Cl(t,e);return zy(r)}function Nl(t,e,r){switch(t.type){case"Point":return Uy(t,e,r);case"LineString":return qy(t,e,r);case"Polygon":return zl(t,e,r);default:let n=t;throw new Error(`Unsupported geometry type: ${n?.type}`)}}function Cl(t,e){let r=[];return t.points&&(t.points.type="Point",r.push(t.points)),t.lines&&(t.lines.type="LineString",r.push(t.lines)),t.polygons&&(t.polygons.type="Polygon",r.push(t.polygons)),r}function zy(t){let e=[];for(let r of t){if(r.featureIds.value.length===0)continue;let n=0,i=r.featureIds.value[0];for(let o=0;o<r.featureIds.value.length;o++){let s=r.featureIds.value[o];s!==i&&(e.push(Sn(r,n,o)),n=o,i=s)}e.push(Sn(r,n,r.featureIds.value.length))}return e}function Sn(t,e,r){let n=Nl(t,e,r),i=ky(t,e,r),o=By(t,e,r);return{type:"Feature",geometry:n,properties:i,...o}}function By(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return t.fields&&t.fields[t.featureIds.value[e]]}function ky(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=Object.assign({},t.properties[t.featureIds.value[e]]);for(let i in t.numericProps)n[i]=t.numericProps[i].value[e];return n}function zl(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,i=t.polygonIndices.value.filter(c=>c>=e&&c<=r),o=t.primitivePolygonIndices.value.filter(c=>c>=e&&c<=r);if(!(i.length>2)){let c=[];for(let l=0;l<o.length-1;l++){let u=o[l],f=o[l+1],h=Tn(n,u,f);c.push(h)}return{type:"Polygon",coordinates:c}}let a=[];for(let c=0;c<i.length-1;c++){let l=i[c],u=i[c+1],f=zl(t,l,u).coordinates;a.push(f)}return{type:"MultiPolygon",coordinates:a}}function qy(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,i=t.pathIndices.value.filter(a=>a>=e&&a<=r);if(!(i.length>2))return{type:"LineString",coordinates:Tn(n,i[0],i[1])};let s=[];for(let a=0;a<i.length-1;a++){let c=Tn(n,i[a],i[a+1]);s.push(c)}return{type:"MultiLineString",coordinates:s}}function Uy(t,e,r){let{positions:n}=t,i=Tn(n,e,r);return i.length>1?{type:"MultiPoint",coordinates:i}:{type:"Point",coordinates:i[0]}}function Tn(t,e,r){e=e||0,r=r||t.value.length/t.size;let n=[];for(let i=e;i<r;i++){let o=Array();for(let s=i*t.size;s<(i+1)*t.size;s++)o.push(Number(t.value[s]));n.push(o)}return n}var Ro=B(Wl(),1);function Dl(t){let e=t.length;if(e<=1)return[t];let r=[],n,i;for(let o=0;o<e;o++){let s=i1(t[o]);s!==0&&(i===void 0&&(i=s<0),i===s<0?(n&&r.push(n),n=[t[o]]):n&&n.push(t[o]))}return n&&r.push(n),r}function i1(t){let e=0;for(let r=0,n=t.length-1,i,o;r<t.length;n=r++)i=t[r],o=t[n],e+=(o[0]-i[0])*(i[1]+o[1]);return e}function Gl(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?o1(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function o1(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}var Kt=class{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(e,r,n,i,o){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=i,this._values=o,e.readFields(Gl,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,i=0,o=0,s=0,a=[],c;for(;e.pos<r;){if(i<=0){let l=e.readVarint();n=l&7,i=l>>3}if(i--,n===1||n===2)o+=e.readSVarint(),s+=e.readSVarint(),n===1&&(c&&a.push(c),c=[]),c&&c.push([o,s]);else if(n===7)c&&c.push(c[0].slice());else throw new Error(`unknown command ${n}`)}return c&&a.push(c),a}bbox(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,i=0,o=0,s=0,a=1/0,c=-1/0,l=1/0,u=-1/0;for(;e.pos<r;){if(i<=0){let f=e.readVarint();n=f&7,i=f>>3}if(i--,n===1||n===2)o+=e.readSVarint(),s+=e.readSVarint(),o<a&&(a=o),o>c&&(c=o),s<l&&(l=s),s>u&&(u=s);else if(n!==7)throw new Error(`unknown command ${n}`)}return[a,l,c,u]}_toGeoJSON(e){let r=this.loadGeometry(),n=Kt.types[this.type],i,o;switch(this.type){case 1:let a=[];for(i=0;i<r.length;i++)a[i]=r[i][0];r=a,e(r,this);break;case 2:for(i=0;i<r.length;i++)e(r[i],this);break;case 3:for(r=Dl(r),i=0;i<r.length;i++)for(o=0;o<r[i].length;o++)e(r[i][o],this);break}r.length===1?r=r[0]:n=`Multi${n}`;let s={type:"Feature",geometry:{type:n,coordinates:r},properties:this.properties};return this.id!==null&&(s.id=this.id),s}toGeoJSON(e){if(typeof e=="function")return this._toGeoJSON(e);let{x:r,y:n,z:i}=e,o=this.extent*Math.pow(2,i),s=this.extent*r,a=this.extent*n;function c(l){for(let u=0;u<l.length;u++){let f=l[u];f[0]=(f[0]+s)*360/o-180;let h=180-(f[1]+a)*360/o;f[1]=360/Math.PI*Math.atan(Math.exp(h*Math.PI/180))-90}}return this._toGeoJSON(c)}};var Qe=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(s1,this,r),this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let r=this._pbf.readVarint()+this._pbf.pos;return new Kt(this._pbf,r,this.extent,this._keys,this._values)}};function s1(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(a1(r)))}function a1(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var Ke=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(c1,{},r)}};function c1(t,e,r){if(t===3&&r){let n=new Qe(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function Zl(t){let e=t.indices.length,r="Polygon";if(e<=1)return{type:r,data:t.data,areas:[[$t(t.data)]],indices:[t.indices]};let n=[],i=[],o=[],s=[],a,c=0;for(let l,u=0,f;u<e;u++){f=t.indices[u]-c,l=t.indices[u+1]-c||t.data.length;let h=t.data.slice(f,l),d=$t(h);if(d===0){let p=t.data.slice(0,f),g=t.data.slice(l);t.data=p.concat(g),c+=l-f;continue}a===void 0&&(a=d<0),a===d<0?(s.length&&(n.push(o),i.push(s)),s=[f],o=[d]):(o.push(d),s.push(f))}return o&&n.push(o),s.length&&i.push(s),{type:r,areas:n,indices:i,data:t.data}}function Xl(t,e,r,n){for(let i=0,o=t.length;i<o;i+=2){t[i]=(t[i]+e)*360/n-180;let s=180-(t[i+1]+r)*360/n;t[i+1]=360/Math.PI*Math.atan(Math.exp(s*Math.PI/180))-90}}function Yl(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?l1(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function l1(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}var Hl,Jt,Oo,In,Io,Ao,Je;var tr=class{constructor(e,r,n,i,o,s){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this._geometryInfo=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=i,this._values=o,this._geometryInfo=s,e.readFields(Yl,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry,Hl=e.readVarint()+e.pos,Jt=1,In=0,Io=0,Ao=0,Je=0;let r=[],n=[];for(;e.pos<Hl;)if(In<=0&&(Oo=e.readVarint(),Jt=Oo&7,In=Oo>>3),In--,Jt===1||Jt===2)Io+=e.readSVarint(),Ao+=e.readSVarint(),Jt===1&&r.push(Je),n.push(Io,Ao),Je+=2;else if(Jt===7){if(Je>0){let i=r[r.length-1];n.push(n[i],n[i+1]),Je+=2}}else throw new Error(`unknown command ${Jt}`);return{data:n,indices:r}}_toBinaryCoordinates(e){let r=this.loadGeometry(),n;e(r.data,this);let i=2;switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=r.indices.length,n={type:"Point",...r};break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=r.indices.length,this._geometryInfo.linePositionsCount+=r.data.length/i,n={type:"LineString",...r};break;case 3:n=Zl(r),this._geometryInfo.polygonFeaturesCount++,this._geometryInfo.polygonObjectsCount+=n.indices.length;for(let s of n.indices)this._geometryInfo.polygonRingsCount+=s.length;this._geometryInfo.polygonPositionsCount+=n.data.length/i;break;default:throw new Error(`Invalid geometry type: ${this.type}`)}let o={type:"Feature",geometry:n,properties:this.properties};return this.id!==null&&(o.id=this.id),o}toBinaryCoordinates(e){if(typeof e=="function")return this._toBinaryCoordinates(e);let{x:r,y:n,z:i}=e,o=this.extent*Math.pow(2,i),s=this.extent*r,a=this.extent*n;return this._toBinaryCoordinates(c=>Xl(c,s,a,o))}};var er=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(u1,this,r),this.length=this._features.length}feature(e,r){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let n=this._pbf.readVarint()+this._pbf.pos;return new tr(this._pbf,n,this.extent,this._keys,this._values,r)}};function u1(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(f1(r)))}function f1(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var rr=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(h1,{},r)}};function h1(t,e,r){if(t===3&&r){let n=new er(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function An(t,e){var r,n;let i=p1(e),o=(e==null||(r=e.gis)===null||r===void 0?void 0:r.format)||(e==null||(n=e.mvt)===null||n===void 0?void 0:n.shape)||e?.shape;switch(o){case"columnar-table":return{shape:"columnar-table",data:Lo(t,i)};case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:$l(t,i)};case"geojson":return $l(t,i);case"binary-geometry":return Lo(t,i);case"binary":return Lo(t,i);default:throw new Error(o||"undefined shape")}}function Lo(t,e){let[r,n]=d1(t,e),i=So(r,n);return i.byteLength=t.byteLength,i}function d1(t,e){let r=[],n={coordLength:2,pointPositionsCount:0,pointFeaturesCount:0,linePositionsCount:0,linePathsCount:0,lineFeaturesCount:0,polygonPositionsCount:0,polygonObjectsCount:0,polygonRingsCount:0,polygonFeaturesCount:0};if(t.byteLength<=0)return[r,n];let i=new rr(new Ro.default(t));return(e&&Array.isArray(e.layers)?e.layers:Object.keys(i.layers)).forEach(s=>{let a=i.layers[s];if(a)for(let c=0;c<a.length;c++){let l=a.feature(c,n),u=g1(l,e,s);r.push(u)}}),[r,n]}function $l(t,e){if(t.byteLength<=0)return[];let r=[],n=new Ke(new Ro.default(t));return(Array.isArray(e.layers)?e.layers:Object.keys(n.layers)).forEach(o=>{let s=n.layers[o];if(s)for(let a=0;a<s.length;a++){let c=s.feature(a),l=m1(c,e,o);r.push(l)}}),r}function p1(t){var e;if(!(t!=null&&t.mvt))throw new Error("mvt options required");let r=((e=t.mvt)===null||e===void 0?void 0:e.coordinates)==="wgs84",{tileIndex:n}=t.mvt,i=n&&Number.isFinite(n.x)&&Number.isFinite(n.y)&&Number.isFinite(n.z);if(r&&!i)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property");return t.mvt}function m1(t,e,r){let n=t.toGeoJSON(e.coordinates==="wgs84"?e.tileIndex:y1);return e.layerProperty&&(n.properties[e.layerProperty]=r),n}function g1(t,e,r){let n=t.toBinaryCoordinates(e.coordinates==="wgs84"?e.tileIndex:v1);return e.layerProperty&&n.properties&&(n.properties[e.layerProperty]=r),n}function y1(t,e){let{extent:r}=e;for(let n=0;n<t.length;n++){let i=t[n];i[0]/=r,i[1]/=r}}function v1(t,e){let{extent:r}=e;for(let n=0,i=t.length;n<i;++n)t[n]/=r}var x1=typeof __VERSION__<"u"?__VERSION__:"latest",Ln={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:x1,extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:{mvt:{shape:"geojson",coordinates:"local",layerProperty:"layerName",layers:void 0,tileIndex:null}}},_1={...Ln,parse:async(t,e)=>An(t,e),parseSync:An,binary:!0};function Ql(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Kl(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Ql(Object(r),!0).forEach(function(n){b1(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ql(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function b1(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Jl(t,e){return T1(t)||S1(t,e)||M1(t,e)||w1()}function w1(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
46
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function M1(t,e){if(t){if(typeof t=="string")return tu(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return tu(t,e)}}function tu(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function S1(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function T1(t){if(Array.isArray(t))return t}var P1={Point:eu,MultiPoint:E1,LineString:ru,MultiLineString:O1,Polygon:nu,MultiPolygon:I1};function eu(t,e,r){var n=Jl(t,2),i=n[0],o=n[1],s=Jl(e,2),a=s[0],c=s[1],l=It(a[0],c[0],i),u=It(a[1],c[1],o);return r.unprojectFlat([l,u])}function Fo(t,e,r){return t.map(function(n){return eu(n,e,r)})}function E1(t,e,r){return Fo(t,e,r)}function ru(t,e,r){return Fo(t,e,r)}function O1(t,e,r){return t.map(function(n){return ru(n,e,r)})}function nu(t,e,r){return t.map(function(n){return Fo(n,e,r)})}function I1(t,e,r){return t.map(function(n){return nu(n,e,r)})}function iu(t,e,r){var n=r.projectFlat([e.west,e.north]),i=r.projectFlat([e.east,e.south]),o=[n,i];return Kl(Kl({},t),{},{coordinates:P1[t.type](t.coordinates,o,r)})}function A1(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=L1(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
47
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function L1(t,e){if(t){if(typeof t=="string")return ou(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ou(t,e)}}function ou(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var R1=["points","lines","polygons"];function No(t,e,r,n){var i=A1(R1),o;try{for(i.s();!(o=i.n()).done;){var s=o.value,a=t[s]&&F1(t[s],e,r,n);if(a>=0)return a}}catch(c){i.e(c)}finally{i.f()}return-1}function F1(t,e,r,n){var i=t.featureIds.value;if(!i.length)return-1;var o=0,s=i[i.length-1]+1;if(n){var a=N1(t,n);if(a)o=a[0],s=a[1]+1;else return-1}var c=-1;if(e in t.numericProps){var l=t.numericProps[e].value.findIndex(function(u,f){return u===r&&i[f]>=o&&i[f]<s});return l>=0?t.globalFeatureIds.value[l]:-1}else e?c=su(t.properties,function(u){return u[e]===r},o,s):t.fields&&(c=su(t.fields,function(u){return u.id===r},o,s));return c>=0?C1(t,c):-1}function N1(t,e){if(!t.__layers){for(var r={},n=t.properties,i=0;i<n.length;i++){var o=n[i],s=o.layerName;s&&(r[s]?r[s][1]=i:r[s]=[i,i])}t.__layers=r}return t.__layers[e]}function C1(t,e){if(!t.__ids){for(var r=[],n=t.featureIds.value,i=t.globalFeatureIds.value,o=0;o<n.length;o++)r[n[o]]=i[o];t.__ids=r}return t.__ids[e]}function su(t,e,r,n){for(var i=r;i<n;i++)if(e(t[i],i))return i;return-1}function Rn(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Rn=function(r){return typeof r}:Rn=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Rn(t)}function z1(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=du(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
48
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function B1(t){return U1(t)||q1(t)||du(t)||k1()}function k1(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
49
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function du(t,e){if(t){if(typeof t=="string")return Bo(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Bo(t,e)}}function q1(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function U1(t){if(Array.isArray(t))return Bo(t)}function Bo(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function au(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(l){r(l);return}a.done?e(c):Promise.resolve(c).then(n,i)}function j1(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){au(o,n,i,s,a,"next",c)}function a(c){au(o,n,i,s,a,"throw",c)}s(void 0)})}}function V1(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function cu(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function W1(t,e,r){return e&&cu(t.prototype,e),r&&cu(t,r),t}function vt(t,e,r){return typeof Reflect<"u"&&Reflect.get?vt=Reflect.get:vt=function(i,o,s){var a=D1(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},vt(t,e,r||t)}function D1(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=ot(t),t!==null););return t}function G1(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ko(t,e)}function ko(t,e){return ko=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},ko(t,e)}function Z1(t){var e=H1();return function(){var n=ot(t),i;if(e){var o=ot(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return X1(this,i)}}function X1(t,e){if(e&&(Rn(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Y1(t)}function Y1(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function H1(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ot(t){return ot=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},ot(t)}function lu(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function kt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?lu(Object(r),!0).forEach(function(n){$1(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):lu(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function $1(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Co=512,Q1=kt(kt({},qo.GeoJsonLayer.defaultProps),{},{data:Ct,onDataLoad:{type:"function",value:null,optional:!0,compare:!1},uniqueIdProperty:"",highlightedFeatureId:null,loaders:[Ln],binary:!0}),Nn=function(t){G1(r,t);var e=Z1(r);function r(){var i;V1(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){vt(ot(r.prototype),"initializeState",this).call(this);var o=this.context.viewport.resolution!==void 0?!1:this.props.binary;this.setState({binary:o,data:null,tileJSON:null})},n.updateState=function(o){var s,a=o.props,c=o.oldProps,l=o.context,u=o.changeFlags;u.dataChanged&&this._updateTileData(),(s=this.state)!==null&&s!==void 0&&s.data&&(vt(ot(r.prototype),"updateState",this).call(this,{props:a,oldProps:c,context:l,changeFlags:u}),this._setWGS84PropertyForTiles());var f=a.highlightColor;f!==c.highlightColor&&Array.isArray(f)&&this.setState({highlightColor:f})},n._updateTileData=function(){var i=j1(regeneratorRuntime.mark(function s(){var a,c,l,u,f;return regeneratorRuntime.wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(a=this.props.data,c=null,!(typeof a=="string"&&!no(a))){d.next=18;break}return l=this.props,u=l.onDataLoad,f=l.fetch,this.setState({data:null,tileJSON:null}),d.prev=5,d.next=8,f(a,{propName:"data",layer:this,loaders:[]});case 8:c=d.sent,d.next=15;break;case 11:d.prev=11,d.t0=d.catch(5),this.raiseError(d.t0,"loading TileJSON"),a=null;case 15:u&&u(c,{propName:"data",layer:this}),d.next=19;break;case 18:a.tilejson&&(c=a);case 19:c&&(a=c.tiles),this.setState({data:a,tileJSON:c});case 21:case"end":return d.stop()}},s,this,[[5,11]])}));function o(){return i.apply(this,arguments)}return o}(),n._getTilesetOptions=function(){var o=vt(ot(r.prototype),"_getTilesetOptions",this).call(this),s=this.state.tileJSON,a=this.props,c=a.minZoom,l=a.maxZoom;return s&&(Number.isFinite(s.minzoom)&&s.minzoom>c&&(o.minZoom=s.minzoom),Number.isFinite(s.maxzoom)&&(!Number.isFinite(l)||s.maxzoom<l)&&(o.maxZoom=s.maxzoom)),o},n.renderLayers=function(){var o;return(o=this.state)!==null&&o!==void 0&&o.data?vt(ot(r.prototype),"renderLayers",this).call(this):null},n.getTileData=function(o){var s,a=this.state,c=a.data,l=a.binary,u=o.index,f=o.signal,h=yt(c,o);if(!h)return Promise.reject("Invalid URL");var d=this.getLoadOptions(),p=this.props.fetch;return d=kt(kt({},d),{},{mimeType:"application/x-protobuf",mvt:kt(kt({},(s=d)===null||s===void 0?void 0:s.mvt),{},{coordinates:this.context.viewport.resolution?"wgs84":"local",tileIndex:u}),gis:l?{format:"binary"}:{}}),p(h,{propName:"data",layer:this,loadOptions:d,signal:f})},n.renderSubLayers=function(o){var s=o.tile.index,a=s.x,c=s.y,l=s.z,u=Math.pow(2,l),f=Co/u,h=-f,d=Co*a/u,p=Co*(1-c/u),g=new et().scale([f,h,1]);o.autoHighlight=!1,this.context.viewport.resolution||(o.modelMatrix=g,o.coordinateOrigin=[d,p,0],o.coordinateSystem=Fn.COORDINATE_SYSTEM.CARTESIAN,o.extensions=[].concat(B1(o.extensions||[]),[new pu.ClipExtension]));var m=vt(ot(r.prototype),"renderSubLayers",this).call(this,o);return this.state.binary&&!(m instanceof qo.GeoJsonLayer)&&Fn.log.warn("renderSubLayers() must return GeoJsonLayer when using binary:true")(),m},n._updateAutoHighlight=function(o){var s=this.props.uniqueIdProperty,a=this.state,c=a.hoveredFeatureId,l=a.hoveredFeatureLayerName,u=o.object,f,h;u&&(f=zo(u,s),h=uu(u));var d=this.props.highlightColor;typeof d=="function"&&(d=d(o)),(c!==f||l!==h)&&this.setState({highlightColor:d,hoveredFeatureId:f,hoveredFeatureLayerName:h})},n.getPickingInfo=function(o){var s=vt(ot(r.prototype),"getPickingInfo",this).call(this,o),a=Boolean(this.context.viewport.resolution);if(this.state.binary&&s.index!==-1){var c=o.sourceLayer.props.data;s.object=Pn(c,{globalFeatureId:s.index})}return s.object&&!a&&(s.object=hu(s.object,s.tile.bbox,this.context.viewport)),s},n.getSubLayerPropsByTile=function(o){return{highlightedObjectIndex:this.getHighlightedObjectIndex(o),highlightColor:this.state.highlightColor}},n.getHighlightedObjectIndex=function(o){var s=this.state,a=s.hoveredFeatureId,c=s.hoveredFeatureLayerName,l=s.binary,u=this.props,f=u.uniqueIdProperty,h=u.highlightedFeatureId,d=o.content,p=fu(h),g=fu(a)||p;if(!g)return-1;var m=p?h:a;return Array.isArray(d)?d.findIndex(function(v){var w=zo(v,f)===m,x=p||uu(v)===c;return w&&x}):d&&l?No(d,f,m,p?"":c):-1},n._pickObjects=function(o){var s=this.context,a=s.deck,c=s.viewport,l=c.width,u=c.height,f=c.x,h=c.y,d=[this.id];return a.pickObjects({x:f,y:h,width:l,height:u,layerIds:d,maxObjects:o})},n.getRenderedFeatures=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,s=this._pickObjects(o),a=new Set,c=[],l=z1(s),u;try{for(l.s();!(u=l.n()).done;){var f=u.value,h=zo(f.object,this.props.uniqueIdProperty);h===void 0?c.push(f.object):a.has(h)||(a.add(h),c.push(f.object))}}catch(d){l.e(d)}finally{l.f()}return c},n._setWGS84PropertyForTiles=function(){var o=this,s="dataInWGS84",a=this.state.tileset;a.selectedTiles.forEach(function(c){c.hasOwnProperty(s)||Object.defineProperty(c,s,{get:function(){if(!c.content)return null;if(o.state.binary&&Array.isArray(c.content)&&!c.content.length)return[];var u=c.bbox;if(c._contentWGS84===void 0&&io(u)){var f=o.state.binary?Pn(c.content):c.content;c._contentWGS84=f.map(function(h){return hu(h,u,o.context.viewport)})}return c._contentWGS84}})})},W1(r,[{key:"isLoaded",get:function(){return Boolean(this.state&&this.state.data&&this.state.tileset&&vt(ot(r.prototype),"isLoaded",this))}}]),r}(Tt);Nn.layerName="MVTLayer";Nn.defaultProps=Q1;function zo(t,e){if(t.properties&&e)return t.properties[e];if("id"in t)return t.id}function uu(t){var e;return((e=t.properties)===null||e===void 0?void 0:e.layerName)||null}function fu(t){return t!=null&&t!==""}function hu(t,e,r){var n=kt(kt({},t),{},{geometry:{type:t.geometry.type}});return Object.defineProperty(n.geometry,"coordinates",{get:function(){var o=iu(t.geometry,e,r);return o.coordinates}}),n}function K1(t,e){return rv(t)||ev(t,e)||tv(t,e)||J1()}function J1(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
50
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tv(t,e){if(t){if(typeof t=="string")return mu(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mu(t,e)}}function mu(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function ev(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function rv(t){if(Array.isArray(t))return t}var gu="0123456789bcdefghjkmnpqrstuvwxyz",yu={};for(nr=0;nr<gu.length;nr++)yu[gu.charAt(nr)]=nr;var nr,nv=-90,iv=90,ov=-180,sv=180;function av(t){for(var e=!0,r=iv,n=nv,i=sv,o=ov,s,a=0,c=0,l=t.length;c<l;c++){var u=t[c].toLowerCase();a=yu[u];for(var f=4;f>=0;f--){var h=a>>f&1;e?(s=(i+o)/2,h===1?o=s:i=s):(s=(r+n)/2,h===1?n=s:r=s),e=!e}}return[n,o,r,i]}function vu(t){var e=av(t),r=K1(e,4),n=r[0],i=r[1],o=r[2],s=r[3];return[s,o,s,n,i,n,i,o,s,o]}function Cn(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Cn=function(r){return typeof r}:Cn=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Cn(t)}function cv(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lv(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Uo(t,e)}function Uo(t,e){return Uo=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Uo(t,e)}function uv(t){var e=dv();return function(){var n=zn(t),i;if(e){var o=zn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return fv(this,i)}}function fv(t,e){if(e&&(Cn(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return hv(t)}function hv(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function dv(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function zn(t){return zn=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},zn(t)}var pv={getGeohash:{type:"accessor",value:function(e){return e.geohash}}},Bn=function(t){lv(r,t);var e=uv(r);function r(){return cv(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.getGeohash;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(l,u){return vu(a(l,u))}}},r}(nt);Bn.layerName="GeohashLayer";Bn.defaultProps=pv;return Su(ir);})();
38
+ `},o},n.initializeState=function(){Hr(Gt(r.prototype),"initializeState",this).call(this);var o=this.getAttributeManager();o.addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})},n.draw=function(o){var s=this.props,a=s.fadeTrail,c=s.trailLength,u=s.currentTime;o.uniforms=fp(fp({},o.uniforms),{},{fadeTrail:a,trailLength:c,currentTime:u}),Hr(Gt(r.prototype),"draw",this).call(this,o)},r}(hp.PathLayer);Io.layerName="TripsLayer";Io.defaultProps=xE;var Sp=P(Oo()),Bp=P(ze());var Fe=P(Oo()),Fo=P(ze()),Jn=P(Ve());var jn=P(Oo());function mp(t,e){return EE(t)||bE(t,e)||yp(t,e)||TE()}function TE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
39
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bE(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function EE(t){if(Array.isArray(t))return t}function gp(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=yp(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
40
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function yp(t,e){if(t){if(typeof t=="string")return pp(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return pp(t,e)}}function pp(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Ro(t,e){e=e===void 0?t[0][0]:e;var r=gp(t),n;try{for(r.s();!(n=r.n()).done;){var i=n.value,o=i[0]-e;o>180?i[0]-=360:o<-180&&(i[0]+=360)}}catch(s){r.e(s)}finally{r.f()}}function SE(t,e,r){var n=(0,jn.cellToLatLng)(t),i=mp(n,2),o=i[0],s=i[1],a=e.length;Ro(e,s);for(var c=e[0]===e[a-1]?a-1:a,u=0;u<c;u++)e[u][0]=Rt(s,e[u][0],r),e[u][1]=Rt(o,e[u][1],r)}function Ap(t,e,r){var n=t(e,r),i=(0,jn.cellToLatLng)(n),o=mp(i,2),s=o[0],a=o[1];return[a,s]}function Hc(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,r=(0,jn.cellToBoundary)(t,!0);return e!==1?SE(t,r,e):Ro(r),r}function _p(t){var e=new Float64Array(t.length*2),r=0,n=gp(t),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;e[r++]=o[0],e[r++]=o[1]}}catch(s){n.e(s)}finally{n.f()}return e}function vp(t,e){return ME(t)||CE(t,e)||bp(t,e)||BE()}function BE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
41
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function CE(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function ME(t){if(Array.isArray(t))return t}function wE(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=bp(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
42
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function bp(t,e){if(t){if(typeof t=="string")return xp(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xp(t,e)}}function xp(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function IE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function OE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Vc(t,e)}function Vc(t,e){return Vc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Vc(t,e)}function RE(t){var e=FE();return function(){var n=Lo(t),i;if(e){var o=Lo(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return LE(this,i)}}function LE(t,e){if(e&&(kn(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return PE(t)}function PE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function FE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Lo(t){return Lo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Lo(t)}function Tp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Po(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Tp(Object(r),!0).forEach(function(n){DE(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Tp(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function DE(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function kn(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?kn=function(r){return typeof r}:kn=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},kn(t)}var NE=10;function UE(t,e){var r;return t==null?r=e:kn(t)==="object"?r=Po(Po({},t),{},{coverage:e}):r={getHexagon:t,coverage:e},r}var GE=Po(Po({},Jn.PolygonLayer.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}),ur=function(t){OE(r,t);var e=RE(r);function r(){var i;IE(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){r._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}},n.shouldUpdateState=function(o){var s=o.changeFlags;return this._shouldUseHighPrecision()?s.propsOrDataChanged:s.somethingChanged},n.updateState=function(o){var s=o.props,a=o.changeFlags;if(s.highPrecision!==!0&&(a.dataChanged||a.updateTriggersChanged&&a.updateTriggersChanged.getHexagon)){var c=this._calculateH3DataProps();this.setState(c)}this._updateVertices(this.context.viewport)},n._calculateH3DataProps=function(){var o=-1,s=!1,a=!1,c=(0,Fo.createIterable)(this.props.data),u=c.iterable,l=c.objectInfo,f=wE(u),h;try{for(f.s();!(h=f.n()).done;){var d=h.value;l.index++;var p=this.props.getHexagon(d,l),g=(0,Fe.getResolution)(p);if(o<0){if(o=g,!this.props.highPrecision)break}else if(o!==g){a=!0;break}if((0,Fe.isPentagon)(p)){s=!0;break}}}catch(m){f.e(m)}finally{f.f()}return{resolution:o,edgeLengthKM:o>=0?(0,Fe.getHexagonEdgeLengthAvg)(o,"km"):0,hasMultipleRes:a,hasPentagon:s}},n._shouldUseHighPrecision=function(){if(this.props.highPrecision==="auto"){var o=this.state,s=o.resolution,a=o.hasPentagon,c=o.hasMultipleRes,u=this.context.viewport;return Boolean(u?.resolution)||c||a||s>=0&&s<=5}return this.props.highPrecision},n._updateVertices=function(o){if(!this._shouldUseHighPrecision()){var s=this.state,a=s.resolution,c=s.edgeLengthKM,u=s.centerHex;if(!(a<0)){var l=this.props.centerHexagon||(0,Fe.latLngToCell)(o.latitude,o.longitude,a);if(u!==l){if(u)try{var f=(0,Fe.gridDistance)(u,l);if(f*c<NE)return}catch{}var h=o.distanceScales.unitsPerMeter,d=Hc(l),p=(0,Fe.cellToLatLng)(l),g=vp(p,2),m=g[0],A=g[1],_=o.projectFlat([A,m]),v=vp(_,2),x=v[0],B=v[1];d=d.map(function(S){var C=o.projectFlat(S);return[(C[0]-x)/h[0],(C[1]-B)/h[1]]}),this.setState({centerHex:l,vertices:d})}}}},n.renderLayers=function(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()},n._getForwardProps=function(){var o=this.props,s=o.elevationScale,a=o.material,c=o.coverage,u=o.extruded,l=o.wireframe,f=o.stroked,h=o.filled,d=o.lineWidthUnits,p=o.lineWidthScale,g=o.lineWidthMinPixels,m=o.lineWidthMaxPixels,A=o.getFillColor,_=o.getElevation,v=o.getLineColor,x=o.getLineWidth,B=o.transitions,S=o.updateTriggers;return{elevationScale:s,extruded:u,coverage:c,wireframe:l,stroked:f,filled:h,lineWidthUnits:d,lineWidthScale:p,lineWidthMinPixels:g,lineWidthMaxPixels:m,material:a,getElevation:_,getFillColor:A,getLineColor:v,getLineWidth:x,transitions:B,updateTriggers:{getFillColor:S.getFillColor,getElevation:S.getElevation,getLineColor:S.getLineColor,getLineWidth:S.getLineWidth}}},n._renderPolygonLayer=function(){var o=this.props,s=o.data,a=o.getHexagon,c=o.updateTriggers,u=o.coverage,l=this.getSubLayerClass("hexagon-cell-hifi",Jn.PolygonLayer),f=this._getForwardProps();return f.updateTriggers.getPolygon=UE(c.getHexagon,u),new l(f,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:f.updateTriggers}),{data:s,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:function(d,p){var g=a(d,p);return _p(Hc(g,u))}})},n._renderColumnLayer=function(){var o=this.props,s=o.data,a=o.getHexagon,c=o.updateTriggers,u=this.getSubLayerClass("hexagon-cell",Jn.ColumnLayer),l=this._getForwardProps();return l.updateTriggers.getPosition=c.getHexagon,new u(l,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:l.updateTriggers}),{data:s,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:Ap.bind(null,a)})},r}(Fo.CompositeLayer);ur.defaultProps=GE;ur.layerName="H3HexagonLayer";ur._checkH3Lib=function(){};function Do(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Do=function(r){return typeof r}:Do=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Do(t)}function zc(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=HE(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
43
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function HE(t,e){if(t){if(typeof t=="string")return Ep(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ep(t,e)}}function Ep(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function VE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function zE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&jc(t,e)}function jc(t,e){return jc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},jc(t,e)}function jE(t){var e=qE();return function(){var n=No(t),i;if(e){var o=No(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return kE(this,i)}}function kE(t,e){if(e&&(Do(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return JE(t)}function JE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function qE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function No(t){return No=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},No(t)}var WE={getHexagons:{type:"accessor",value:function(e){return e.hexagons}}},Uo=function(t){zE(r,t);var e=jE(r);function r(){var i;VE(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){ur._checkH3Lib()},n.updateState=function(o){var s=o.props,a=o.changeFlags;if(a.dataChanged||a.updateTriggersChanged&&a.updateTriggersChanged.getHexagons){var c=s.data,u=s.getHexagons,l=[],f=(0,Bp.createIterable)(c),h=f.iterable,d=f.objectInfo,p=zc(h),g;try{for(p.s();!(g=p.n()).done;){var m=g.value;d.index++;var A=u(m,d),_=(0,Sp.cellsToMultiPolygon)(A,!0),v=zc(_),x;try{for(v.s();!(x=v.n()).done;){var B=x.value,S=zc(B),C;try{for(S.s();!(C=S.n()).done;){var E=C.value;Ro(E)}}catch(b){S.e(b)}finally{S.f()}l.push(this.getSubLayerRow({polygon:B},m,d.index))}}catch(b){v.e(b)}finally{v.f()}}}catch(b){p.e(b)}finally{p.f()}this.setState({polygons:l})}},n.indexToBounds=function(){var o=this.props,s=o.getElevation,a=o.getFillColor,c=o.getLineColor,u=o.getLineWidth;return{data:this.state.polygons,getPolygon:function(f){return f.polygon},getElevation:this.getSubLayerAccessor(s),getFillColor:this.getSubLayerAccessor(a),getLineColor:this.getSubLayerAccessor(c),getLineWidth:this.getSubLayerAccessor(u)}},r}(Le);Uo.layerName="H3ClusterLayer";Uo.defaultProps=WE;var zt=P(_t(),1),ie=P(_t(),1),am=P(_t(),1);var ne=t=>`${t}`;function st(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}var kc={number:{type:"number",validate(t,e){return Number.isFinite(t)&&typeof e=="object"&&(e.max===void 0||t<=e.max)&&(e.min===void 0||t>=e.min)}},array:{type:"array",validate(t,e){return Array.isArray(t)||ArrayBuffer.isView(t)}}};function wp(t){let e={};for(let[r,n]of Object.entries(t))e[r]=XE(n);return e}function Ip(t,e,r){let n={};for(let[i,o]of Object.entries(e))t&&i in t&&!o.private?(o.validate&&st(o.validate(t[i],o),`${r}: invalid ${i}`),n[i]=t[i]):n[i]=o.value;return n}function XE(t){let e=Mp(t);if(e!=="object")return{value:t,...kc[e],type:e};if(typeof t=="object")return t?t.type!==void 0?{...t,...kc[t.type],type:t.type}:t.value===void 0?{type:"object",value:t}:(e=Mp(t.value),{...t,...kc[e],type:e}):{type:"object",value:null};throw new Error("props")}function Mp(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}var Op=ne`\
44
+ #ifdef MODULE_LOGDEPTH
45
+ logdepth_adjustPosition(gl_Position);
46
+ #endif
47
+ `,Rp=ne`\
48
+ #ifdef MODULE_MATERIAL
49
+ gl_FragColor = material_filterColor(gl_FragColor);
50
+ #endif
51
+
52
+ #ifdef MODULE_LIGHTING
53
+ gl_FragColor = lighting_filterColor(gl_FragColor);
54
+ #endif
55
+
56
+ #ifdef MODULE_FOG
57
+ gl_FragColor = fog_filterColor(gl_FragColor);
58
+ #endif
59
+
60
+ #ifdef MODULE_PICKING
61
+ gl_FragColor = picking_filterHighlightColor(gl_FragColor);
62
+ gl_FragColor = picking_filterPickingColor(gl_FragColor);
63
+ #endif
64
+
65
+ #ifdef MODULE_LOGDEPTH
66
+ logdepth_setFragDepth();
67
+ #endif
68
+ `;var KE={vertex:Op,fragment:Rp},Lp=/void\s+main\s*\([^)]*\)\s*\{\n?/,Pp=/}\n?[^{}]*$/,Jc=[],qn="__LUMA_INJECT_DECLARATIONS__";function Fp(t){let e={vertex:{},fragment:{}};for(let r in t){let n=t[r],i=YE(r);typeof n=="string"&&(n={order:0,injection:n}),e[i][r]=n}return e}function YE(t){let e=t.slice(0,2);switch(e){case"vs":return"vertex";case"fs":return"fragment";default:throw new Error(e)}}function Wn(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=e==="vertex";for(let o in r){let s=r[o];s.sort((c,u)=>c.order-u.order),Jc.length=s.length;for(let c=0,u=s.length;c<u;++c)Jc[c]=s[c].injection;let a=`${Jc.join(`
69
+ `)}
70
+ `;switch(o){case"vs:#decl":i&&(t=t.replace(qn,a));break;case"vs:#main-start":i&&(t=t.replace(Lp,c=>c+a));break;case"vs:#main-end":i&&(t=t.replace(Pp,c=>a+c));break;case"fs:#decl":i||(t=t.replace(qn,a));break;case"fs:#main-start":i||(t=t.replace(Lp,c=>c+a));break;case"fs:#main-end":i||(t=t.replace(Pp,c=>a+c));break;default:t=t.replace(o,c=>c+a)}}return t=t.replace(qn,""),n&&(t=t.replace(/\}\s*$/,o=>o+KE[e])),t}var ZE=1,qe=class{static instantiateModules(e){return e.map(r=>{if(r instanceof qe)return r;st(typeof r!="string",`Shader module use by name is deprecated. Import shader module '${JSON.stringify(r)}' and use it directly.`),r.name||(console.warn("shader module has no name"),r.name=`shader-module-${ZE++}`);let n=new qe(r);return n.dependencies=qe.instantiateModules(r.dependencies||[]),n})}constructor(e){this.name=void 0,this.vs=void 0,this.fs=void 0,this.getModuleUniforms=void 0,this.dependencies=void 0,this.deprecations=void 0,this.defines=void 0,this.injections=void 0,this.uniforms={},this.uniformTypes={};let{name:r,vs:n,fs:i,dependencies:o=[],uniformPropTypes:s={},getUniforms:a,deprecations:c=[],defines:u={},inject:l={}}=e;st(typeof r=="string"),this.name=r,this.vs=n,this.fs=i,this.getModuleUniforms=a,this.dependencies=qe.instantiateModules(o),this.deprecations=this._parseDeprecationDefinitions(c),this.defines=u,this.injections=Fp(l),s&&(this.uniforms=wp(s))}getModuleSource(e){let r;switch(e){case"vertex":r=this.vs||"";break;case"fragment":r=this.fs||"";break;default:st(!1)}let n=this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_");return`// ----- MODULE ${this.name} ---------------
71
+
72
+ #define MODULE_${n}
73
+ ${r}
74
+
75
+ `}getUniforms(e,r){return this.getModuleUniforms?this.getModuleUniforms(e,r):Ip(e,this.uniforms,this.name)}getDefines(){return this.defines}checkDeprecations(e,r){this.deprecations.forEach(n=>{var i;(i=n.regex)!==null&&i!==void 0&&i.test(e)&&(n.deprecated?r.deprecated(n.old,n.new)():r.removed(n.old,n.new)())})}_parseDeprecationDefinitions(e){return e.forEach(r=>{switch(r.type){case"function":r.regex=new RegExp(`\\b${r.old}\\(`);break;default:r.regex=new RegExp(`${r.type} ${r.old};`)}}),e}_defaultGetUniforms(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={},n=this.uniforms;for(let i in n){let o=n[i];i in e&&!o.private?(o.validate&&st(o.validate(e[i],o),`${this.name}: invalid ${i}`),r[i]=e[i]):r[i]=o.value}return r}};function Xn(t){let e=qe.instantiateModules(t);return QE(e)}function QE(t){let e={},r={};return Dp({modules:t,level:0,moduleMap:e,moduleDepth:r}),Object.keys(r).sort((n,i)=>r[i]-r[n]).map(n=>e[n])}function Dp(t){let{modules:e,level:r,moduleMap:n,moduleDepth:i}=t;if(r>=5)throw new Error("Possible loop in shader dependency graph");for(let o of e)n[o.name]=o,(i[o.name]===void 0||i[o.name]<r)&&(i[o.name]=r);for(let o of e)o.dependencies&&Dp({modules:o.dependencies,level:r+1,moduleMap:n,moduleDepth:i})}function Np(t){switch(t?.gpu.toLowerCase()){case"apple":return ne`\
76
+ #define APPLE_GPU
77
+ // Apple optimizes away the calculation necessary for emulated fp64
78
+ #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
79
+ #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
80
+ // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
81
+ #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
82
+ `;case"nvidia":return ne`\
83
+ #define NVIDIA_GPU
84
+ // Nvidia optimizes away the calculation necessary for emulated fp64
85
+ #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
86
+ `;case"intel":return ne`\
87
+ #define INTEL_GPU
88
+ // Intel optimizes away the calculation necessary for emulated fp64
89
+ #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
90
+ // Intel's built-in 'tan' function doesn't have acceptable precision
91
+ #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
92
+ // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
93
+ #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
94
+ `;case"amd":return ne`\
95
+ #define AMD_GPU
96
+ `;default:return ne`\
97
+ #define DEFAULT_GPU
98
+ // Prevent driver from optimizing away the calculation necessary for emulated fp64
99
+ #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
100
+ // Headless Chrome's software shader 'tan' function doesn't have acceptable precision
101
+ #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
102
+ // If the GPU doesn't have full 32 bits precision, will causes overflow
103
+ #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
104
+ `}}function Up(t){let e="";return t.features.has("webgl2")&&(e+=ne`\
105
+ # define FEATURE_GLSL_DERIVATIVES
106
+ # define FEATURE_GLSL_DRAW_BUFFERS
107
+ # define FEATURE_GLSL_FRAG_DEPTH
108
+ # define FEATURE_GLSL_TEXTURE_LOD
109
+ `),t.features.has("webgl2")||(t.features.has("glsl-frag-depth")&&(e+=ne`\
110
+
111
+ // FEATURE_GLSL_FRAG_DEPTH => gl_FragDepth is available
112
+ #ifdef GL_EXT_frag_depth
113
+ # extension GL_EXT_frag_depth : enable
114
+ # define FEATURE_GLSL_FRAG_DEPTH
115
+ # define FRAG_DEPTH
116
+ # define gl_FragDepth gl_FragDepthEXT
117
+ #endif
118
+ `),t!=null&&t.features.has("glsl-derivatives")&&(e+=ne`\
119
+
120
+ // FEATURE_GLSL_DERIVATIVES => dxdF, dxdY and fwidth are available
121
+ #if defined(GL_OES_standard_derivatives) || defined(FEATURE_GLSL_DERIVATIVES)
122
+ # extension GL_OES_standard_derivatives : enable
123
+ # define FEATURE_GLSL_DERIVATIVES
124
+ #endif
125
+ `),t!=null&&t.features.has("glsl-frag-data")&&(e+=ne`\
126
+
127
+ // FEATURE_GLSL_DRAW_BUFFERS => gl_FragData[] is available
128
+ #ifdef GL_EXT_draw_buffers
129
+ # extension GL_EXT_draw_buffers : require
130
+ # define FEATURE_GLSL_DRAW_BUFFERS
131
+ #endif
132
+ `),t!=null&&t.features.has("glsl-texture-lod")&&(e+=ne`\
133
+ // TEXTURE_LOD => texture2DLod etc are available
134
+ #ifdef GL_EXT_shader_texture_lod
135
+ # extension GL_EXT_shader_texture_lod : enable
136
+ # define FEATURE_GLSL_TEXTURE_LOD
137
+ # define TEXTURE_LOD
138
+ #endif
139
+ `)),e}function Hp(t,e,r){var n;if(Number(((n=t.match(/^#version[ \t]+(\d+)/m))===null||n===void 0?void 0:n[1])||100)!==300)throw new Error("luma.gl v9 only supports GLSL 3.00 shader sources");switch(e){case 300:switch(r){case"vertex":return t=Kn(t,$E),t;case"fragment":return t=Kn(t,eS),t;default:throw new Error(r)}case 100:switch(r){case"vertex":return t=Kn(t,tS),t;case"fragment":return t=Kn(t,jp),t=nS(t),t;default:throw new Error(r)}default:throw new Error(String(e))}}var Vp=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,`#version 300 es
140
+ `],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],$E=[...Vp,[Vr("attribute"),"in $1"],[Vr("varying"),"out $1"]],eS=[...Vp,[Vr("varying"),"in $1"]],zp=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],tS=[...zp,[Vr("in"),"attribute $1"],[Vr("out"),"varying $1"]],jp=[...zp,[Vr("in"),"varying $1"]],rS="gl_FragColor",Gp=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/;function Kn(t,e){for(let[r,n]of e)t=t.replace(r,n);return t}function nS(t){t=Kn(t,jp);let e=Gp.exec(t);if(e){let r=e[1];t=t.replace(Gp,"").replace(new RegExp(`\\b${r}\\b`,"g"),rS)}return t}function Vr(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}function qc(t,e){let r="";for(let n in t){let i=t[n];if(r+=`void ${i.signature} {
141
+ `,i.header&&(r+=` ${i.header}`),e[n]){let o=e[n];o.sort((s,a)=>s.order-a.order);for(let s of o)r+=` ${s.injection}
142
+ `}i.footer&&(r+=` ${i.footer}`),r+=`}
143
+ `}return r}function Wc(t){let e={vertex:{},fragment:{}};for(let r of t){let n,i;typeof r!="string"?(n=r,i=n.hook):(n={},i=r),i=i.trim();let[o,s]=i.split(":"),a=i.replace(/\(.+/,""),c=Object.assign(n,{signature:s});switch(o){case"vs":e.vertex[a]=c;break;case"fs":e.fragment[a]=c;break;default:throw new Error(o)}}return e}function kp(t,e){return{name:iS(t,e),language:"glsl",version:oS(t)}}function iS(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unnamed",n=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/.exec(t);return n?n[1]:e}function oS(t){let e=100,r=t.match(/[^\s]+/g);if(r&&r.length>=2&&r[0]==="#version"){let n=parseInt(r[1],10);Number.isFinite(n)&&(e=n)}if(e!==100&&e!==300)throw new Error(`Invalid GLSL version ${e}`);return e}var Xp=`
144
+
145
+ ${qn}
146
+ `,sS=ne`\
147
+ precision highp float;
148
+ `;function Kp(t){let{vs:e,fs:r}=t,n=Xn(t.modules||[]);switch(t.platformInfo.shaderLanguage){case"glsl":return{vs:qp(t.platformInfo,{...t,source:e,stage:"vertex",modules:n}),fs:qp(t.platformInfo,{...t,source:r,stage:"fragment",modules:n}),getUniforms:Wp(n)};case"wgsl":return{vs:Jp(t.platformInfo,{...t,source:e,stage:"vertex",modules:n}),fs:Jp(t.platformInfo,{...t,source:r,stage:"fragment",modules:n}),getUniforms:Wp(n)}}}function Jp(t,e){let{source:r,stage:n,modules:i,defines:o={},hookFunctions:s=[],inject:a={},log:c}=e;st(typeof r=="string","shader source must be a string");let u=r,l={};i.forEach(m=>{Object.assign(l,m.getDefines())}),Object.assign(l,o);let f="",h=Wc(s),d={},p={},g={};for(let m in a){let A=typeof a[m]=="string"?{injection:a[m],order:0}:a[m],_=/^(v|f)s:(#)?([\w-]+)$/.exec(m);if(_){let v=_[2],x=_[3];v?x==="decl"?p[m]=[A]:g[m]=[A]:d[m]=[A]}else g[m]=[A]}for(let m of i){c&&m.checkDeprecations(u,c);let A=m.getModuleSource(n,"wgsl");f+=A;let _=m.injections[n];for(let v in _){let x=/^(v|f)s:#([\w-]+)$/.exec(v);if(x){let S=x[2]==="decl"?p:g;S[v]=S[v]||[],S[v].push(_[v])}else d[v]=d[v]||[],d[v].push(_[v])}}return f+=Xp,f=Wn(f,n,p),f+=qc(h[n],d),f+=u,f=Wn(f,n,g),f}function qp(t,e){let{id:r,source:n,stage:i,language:o="glsl",modules:s,defines:a={},hookFunctions:c=[],inject:u={},prologue:l=!0,log:f}=e;st(typeof n=="string","shader source must be a string");let h=o==="glsl"?kp(n).version:-1,d=t.shaderLanguageVersion,p=h===100?"#version 100":"#version 300 es",m=n.split(`
149
+ `).slice(1).join(`
150
+ `),A={};s.forEach(C=>{Object.assign(A,C.getDefines())}),Object.assign(A,a);let _="";switch(o){case"wgsl":break;case"glsl":_=l?`${p}
151
+
152
+ // ----- PROLOGUE -------------------------
153
+ ${aS({id:r,source:n,stage:i})}
154
+ ${`#define SHADER_TYPE_${i.toUpperCase()}`}
155
+ ${Np(t)}
156
+ ${Up(t)}
157
+ ${i==="fragment"?sS:""}
158
+
159
+ // ----- APPLICATION DEFINES -------------------------
160
+
161
+ ${cS(A)}
162
+
163
+ `:`${p}
164
+ `;break}let v=Wc(c),x={},B={},S={};for(let C in u){let E=typeof u[C]=="string"?{injection:u[C],order:0}:u[C],b=/^(v|f)s:(#)?([\w-]+)$/.exec(C);if(b){let y=b[2],M=b[3];y?M==="decl"?B[C]=[E]:S[C]=[E]:x[C]=[E]}else S[C]=[E]}for(let C of s){f&&C.checkDeprecations(m,f);let E=C.getModuleSource(i);_+=E;let b=C.injections[i];for(let y in b){let M=/^(v|f)s:#([\w-]+)$/.exec(y);if(M){let O=M[2]==="decl"?B:S;O[y]=O[y]||[],O[y].push(b[y])}else x[y]=x[y]||[],x[y].push(b[y])}}return _+="// ----- MAIN SHADER SOURCE -------------------------",_+=Xp,_=Wn(_,i,B),_+=qc(v[i],x),_+=m,_=Wn(_,i,S),o==="glsl"&&h!==d&&(_=Hp(_,d,i)),_.trim()}function Wp(t){return function(r){let n={};for(let i of t){let o=i.getUniforms(r,n);Object.assign(n,o)}return n}}function aS(t){let{id:e,source:r,stage:n}=t;return e&&r.indexOf("SHADER_NAME")===-1?`
165
+ #define SHADER_NAME ${e}_${n}
166
+
167
+ `:""}function cS(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e="";for(let r in t){let n=t[r];(n||Number.isFinite(n))&&(e+=`#define ${r.toUpperCase()} ${t[r]}
168
+ `)}return e}function Zp(t){if(!t.vs)throw new Error("no vertex shader");let e=Yp(t.platformInfo,t.vs),r;return t.fs&&(r=Yp(t.platformInfo,t.fs)),{...t,vs:e,fs:r}}function Yp(t,e){if(typeof e=="string")return e;switch(t.type){case"webgpu":if(e!=null&&e.wgsl)return e.wgsl;throw new Error("WebGPU does not support GLSL shaders");default:if(e!=null&&e.glsl)return e.glsl;throw new Error("WebGL does not support WGSL shaders")}}var We=class{constructor(){this._hookFunctions=[],this._defaultModules=[]}static getDefaultShaderAssembler(){return We.defaultShaderAssembler=We.defaultShaderAssembler||new We,We.defaultShaderAssembler}addDefaultModule(e){this._defaultModules.find(r=>r.name===(typeof e=="string"?e:e.name))||this._defaultModules.push(e)}removeDefaultModule(e){let r=typeof e=="string"?e:e.name;this._defaultModules=this._defaultModules.filter(n=>n.name!==r)}addShaderHook(e,r){r&&(e=Object.assign(r,{hook:e})),this._hookFunctions.push(e)}assembleShaders(e){let r=this._getModuleList(e.modules),n=this._hookFunctions,i=Zp(e);return{...Kp({platformInfo:e.platformInfo,...i,modules:r,hookFunctions:n}),modules:r}}_getModuleList(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=new Array(this._defaultModules.length+e.length),n={},i=0;for(let o=0,s=this._defaultModules.length;o<s;++o){let a=this._defaultModules[o],c=a.name;r[i++]=a,n[c]=!0}for(let o=0,s=e.length;o<s;++o){let a=e[o],c=a.name;n[c]||(r[i++]=a,n[c]=!0)}return r.length=i,qe.instantiateModules(r)}};We.defaultShaderAssembler=void 0;var Xc=ne`\
169
+ #if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))
170
+
171
+ struct AmbientLight {
172
+ vec3 color;
173
+ };
174
+
175
+ struct PointLight {
176
+ vec3 color;
177
+ vec3 position;
178
+
179
+ // Constant-Linear-Exponential
180
+ vec3 attenuation;
181
+ };
182
+
183
+ struct DirectionalLight {
184
+ vec3 color;
185
+ vec3 direction;
186
+ };
187
+
188
+ uniform AmbientLight lighting_uAmbientLight;
189
+ uniform PointLight lighting_uPointLight[MAX_LIGHTS];
190
+ uniform DirectionalLight lighting_uDirectionalLight[MAX_LIGHTS];
191
+ uniform int lighting_uPointLightCount;
192
+ uniform int lighting_uDirectionalLightCount;
193
+
194
+ uniform bool lighting_uEnabled;
195
+
196
+ float getPointLightAttenuation(PointLight pointLight, float distance) {
197
+ return pointLight.attenuation.x
198
+ + pointLight.attenuation.y * distance
199
+ + pointLight.attenuation.z * distance * distance;
200
+ }
201
+
202
+ #endif
203
+ `;var uS={lightSources:{}};function Kc(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{color:e=[0,0,0],intensity:r=1}=t;return e.map(n=>n*r/255)}function lS(t){let{ambientLight:e,pointLights:r=[],directionalLights:n=[]}=t,i={};return e?i["lighting_uAmbientLight.color"]=Kc(e):i["lighting_uAmbientLight.color"]=[0,0,0],r.forEach((o,s)=>{i[`lighting_uPointLight[${s}].color`]=Kc(o),i[`lighting_uPointLight[${s}].position`]=o.position,i[`lighting_uPointLight[${s}].attenuation`]=o.attenuation||[1,0,0]}),i.lighting_uPointLightCount=r.length,n.forEach((o,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=Kc(o),i[`lighting_uDirectionalLight[${s}].direction`]=o.direction}),i.lighting_uDirectionalLightCount=n.length,i}function Qp(){var t,e;let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:uS;if("lightSources"in r){let{ambientLight:n,pointLights:i,directionalLights:o}=r.lightSources||{};return n||i&&i.length>0||o&&o.length>0?Object.assign({},lS({ambientLight:n,pointLights:i,directionalLights:o}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in r){let n={pointLights:[],directionalLights:[]};for(let i of r.lights||[])switch(i.type){case"ambient":n.ambientLight=i;break;case"directional":(t=n.directionalLights)===null||t===void 0||t.push(i);break;case"point":(e=n.pointLights)===null||e===void 0||e.push(i);break;default:}return Qp({lightSources:n})}return{}}var $p={name:"lights",vs:Xc,fs:Xc,getUniforms:Qp,defines:{MAX_LIGHTS:3}};var em=ne`\
204
+ uniform mat4 u_MVPMatrix;
205
+ uniform mat4 u_ModelMatrix;
206
+ uniform mat4 u_NormalMatrix;
207
+
208
+ out vec3 pbr_vPosition;
209
+ out vec2 pbr_vUV;
210
+
211
+ #ifdef HAS_NORMALS
212
+ # ifdef HAS_TANGENTS
213
+ out mat3 pbr_vTBN;
214
+ # else
215
+ out vec3 pbr_vNormal;
216
+ # endif
217
+ #endif
218
+
219
+ void pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)
220
+ {
221
+ vec4 pos = u_ModelMatrix * position;
222
+ pbr_vPosition = vec3(pos.xyz) / pos.w;
223
+
224
+ #ifdef HAS_NORMALS
225
+ #ifdef HAS_TANGENTS
226
+ vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));
227
+ vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));
228
+ vec3 bitangentW = cross(normalW, tangentW) * tangent.w;
229
+ pbr_vTBN = mat3(tangentW, bitangentW, normalW);
230
+ #else // HAS_TANGENTS != 1
231
+ pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));
232
+ #endif
233
+ #endif
234
+
235
+ #ifdef HAS_UV
236
+ pbr_vUV = uv;
237
+ #else
238
+ pbr_vUV = vec2(0.,0.);
239
+ #endif
240
+ }
241
+ `;var tm=ne`\
242
+ #if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)
243
+ # error PBR fragment shader: Texture LOD is not available
244
+ #endif
245
+
246
+ #if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)
247
+ # error PBR fragment shader: Derivatives are not available
248
+ #endif
249
+
250
+ // WebGL 1.0 does not support non-constant in for loops
251
+ // This provides an easy way to handle these cases
252
+ // and still take advantage of WebGL 2.0
253
+ #if (__VERSION__ < 300)
254
+ #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)
255
+ #else
256
+ #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)
257
+ #endif
258
+
259
+ precision highp float;
260
+
261
+ uniform bool pbr_uUnlit;
262
+
263
+ #ifdef USE_IBL
264
+ uniform samplerCube u_DiffuseEnvSampler;
265
+ uniform samplerCube u_SpecularEnvSampler;
266
+ uniform sampler2D u_brdfLUT;
267
+ uniform vec2 u_ScaleIBLAmbient;
268
+ #endif
269
+
270
+ #ifdef HAS_BASECOLORMAP
271
+ uniform sampler2D u_BaseColorSampler;
272
+ #endif
273
+ #ifdef HAS_NORMALMAP
274
+ uniform sampler2D u_NormalSampler;
275
+ uniform float u_NormalScale;
276
+ #endif
277
+ #ifdef HAS_EMISSIVEMAP
278
+ uniform sampler2D u_EmissiveSampler;
279
+ uniform vec3 u_EmissiveFactor;
280
+ #endif
281
+ #ifdef HAS_METALROUGHNESSMAP
282
+ uniform sampler2D u_MetallicRoughnessSampler;
283
+ #endif
284
+ #ifdef HAS_OCCLUSIONMAP
285
+ uniform sampler2D u_OcclusionSampler;
286
+ uniform float u_OcclusionStrength;
287
+ #endif
288
+
289
+ #ifdef ALPHA_CUTOFF
290
+ uniform float u_AlphaCutoff;
291
+ #endif
292
+
293
+ uniform vec2 u_MetallicRoughnessValues;
294
+ uniform vec4 u_BaseColorFactor;
295
+
296
+ uniform vec3 u_Camera;
297
+
298
+ // debugging flags used for shader output of intermediate PBR variables
299
+ #ifdef PBR_DEBUG
300
+ uniform vec4 u_ScaleDiffBaseMR;
301
+ uniform vec4 u_ScaleFGDSpec;
302
+ #endif
303
+
304
+ in vec3 pbr_vPosition;
305
+
306
+ in vec2 pbr_vUV;
307
+
308
+ #ifdef HAS_NORMALS
309
+ #ifdef HAS_TANGENTS
310
+ in mat3 pbr_vTBN;
311
+ #else
312
+ in vec3 pbr_vNormal;
313
+ #endif
314
+ #endif
315
+
316
+ // Encapsulate the various inputs used by the various functions in the shading equation
317
+ // We store values in this struct to simplify the integration of alternative implementations
318
+ // of the shading terms, outlined in the Readme.MD Appendix.
319
+ struct PBRInfo
320
+ {
321
+ float NdotL; // cos angle between normal and light direction
322
+ float NdotV; // cos angle between normal and view direction
323
+ float NdotH; // cos angle between normal and half vector
324
+ float LdotH; // cos angle between light direction and half vector
325
+ float VdotH; // cos angle between view direction and half vector
326
+ float perceptualRoughness; // roughness value, as authored by the model creator (input to shader)
327
+ float metalness; // metallic value at the surface
328
+ vec3 reflectance0; // full reflectance color (normal incidence angle)
329
+ vec3 reflectance90; // reflectance color at grazing angle
330
+ float alphaRoughness; // roughness mapped to a more linear change in the roughness (proposed by [2])
331
+ vec3 diffuseColor; // color contribution from diffuse lighting
332
+ vec3 specularColor; // color contribution from specular lighting
333
+ vec3 n; // normal at surface point
334
+ vec3 v; // vector from surface point to camera
335
+ };
336
+
337
+ const float M_PI = 3.141592653589793;
338
+ const float c_MinRoughness = 0.04;
339
+
340
+ vec4 SRGBtoLINEAR(vec4 srgbIn)
341
+ {
342
+ #ifdef MANUAL_SRGB
343
+ #ifdef SRGB_FAST_APPROXIMATION
344
+ vec3 linOut = pow(srgbIn.xyz,vec3(2.2));
345
+ #else //SRGB_FAST_APPROXIMATION
346
+ vec3 bLess = step(vec3(0.04045),srgbIn.xyz);
347
+ vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );
348
+ #endif //SRGB_FAST_APPROXIMATION
349
+ return vec4(linOut,srgbIn.w);;
350
+ #else //MANUAL_SRGB
351
+ return srgbIn;
352
+ #endif //MANUAL_SRGB
353
+ }
354
+
355
+ // Find the normal for this fragment, pulling either from a predefined normal map
356
+ // or from the interpolated mesh normal and tangent attributes.
357
+ vec3 getNormal()
358
+ {
359
+ // Retrieve the tangent space matrix
360
+ #ifndef HAS_TANGENTS
361
+ vec3 pos_dx = dFdx(pbr_vPosition);
362
+ vec3 pos_dy = dFdy(pbr_vPosition);
363
+ vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));
364
+ vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));
365
+ vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);
366
+
367
+ #ifdef HAS_NORMALS
368
+ vec3 ng = normalize(pbr_vNormal);
369
+ #else
370
+ vec3 ng = cross(pos_dx, pos_dy);
371
+ #endif
372
+
373
+ t = normalize(t - ng * dot(ng, t));
374
+ vec3 b = normalize(cross(ng, t));
375
+ mat3 tbn = mat3(t, b, ng);
376
+ #else // HAS_TANGENTS
377
+ mat3 tbn = pbr_vTBN;
378
+ #endif
379
+
380
+ #ifdef HAS_NORMALMAP
381
+ vec3 n = texture(u_NormalSampler, pbr_vUV).rgb;
382
+ n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));
383
+ #else
384
+ // The tbn matrix is linearly interpolated, so we need to re-normalize
385
+ vec3 n = normalize(tbn[2].xyz);
386
+ #endif
387
+
388
+ return n;
389
+ }
390
+
391
+ // Calculation of the lighting contribution from an optional Image Based Light source.
392
+ // Precomputed Environment Maps are required uniform inputs and are computed as outlined in [1].
393
+ // See our README.md on Environment Maps [3] for additional discussion.
394
+ #ifdef USE_IBL
395
+ vec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)
396
+ {
397
+ float mipCount = 9.0; // resolution of 512x512
398
+ float lod = (pbrInputs.perceptualRoughness * mipCount);
399
+ // retrieve a scale and bias to F0. See [1], Figure 3
400
+ vec3 brdf = SRGBtoLINEAR(texture(u_brdfLUT,
401
+ vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;
402
+ vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;
403
+
404
+ #ifdef USE_TEX_LOD
405
+ vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;
406
+ #else
407
+ vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;
408
+ #endif
409
+
410
+ vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;
411
+ vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);
412
+
413
+ // For presentation, this allows us to disable IBL terms
414
+ diffuse *= u_ScaleIBLAmbient.x;
415
+ specular *= u_ScaleIBLAmbient.y;
416
+
417
+ return diffuse + specular;
418
+ }
419
+ #endif
420
+
421
+ // Basic Lambertian diffuse
422
+ // Implementation from Lambert's Photometria https://archive.org/details/lambertsphotome00lambgoog
423
+ // See also [1], Equation 1
424
+ vec3 diffuse(PBRInfo pbrInputs)
425
+ {
426
+ return pbrInputs.diffuseColor / M_PI;
427
+ }
428
+
429
+ // The following equation models the Fresnel reflectance term of the spec equation (aka F())
430
+ // Implementation of fresnel from [4], Equation 15
431
+ vec3 specularReflection(PBRInfo pbrInputs)
432
+ {
433
+ return pbrInputs.reflectance0 +
434
+ (pbrInputs.reflectance90 - pbrInputs.reflectance0) *
435
+ pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);
436
+ }
437
+
438
+ // This calculates the specular geometric attenuation (aka G()),
439
+ // where rougher material will reflect less light back to the viewer.
440
+ // This implementation is based on [1] Equation 4, and we adopt their modifications to
441
+ // alphaRoughness as input as originally proposed in [2].
442
+ float geometricOcclusion(PBRInfo pbrInputs)
443
+ {
444
+ float NdotL = pbrInputs.NdotL;
445
+ float NdotV = pbrInputs.NdotV;
446
+ float r = pbrInputs.alphaRoughness;
447
+
448
+ float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));
449
+ float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));
450
+ return attenuationL * attenuationV;
451
+ }
452
+
453
+ // The following equation(s) model the distribution of microfacet normals across
454
+ // the area being drawn (aka D())
455
+ // Implementation from "Average Irregularity Representation of a Roughened Surface
456
+ // for Ray Reflection" by T. S. Trowbridge, and K. P. Reitz
457
+ // Follows the distribution function recommended in the SIGGRAPH 2013 course notes
458
+ // from EPIC Games [1], Equation 3.
459
+ float microfacetDistribution(PBRInfo pbrInputs)
460
+ {
461
+ float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;
462
+ float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;
463
+ return roughnessSq / (M_PI * f * f);
464
+ }
465
+
466
+ void PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {
467
+ pbrInputs.NdotL = 1.0;
468
+ pbrInputs.NdotH = 0.0;
469
+ pbrInputs.LdotH = 0.0;
470
+ pbrInputs.VdotH = 1.0;
471
+ }
472
+
473
+ void PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {
474
+ vec3 n = pbrInputs.n;
475
+ vec3 v = pbrInputs.v;
476
+ vec3 l = normalize(lightDirection); // Vector from surface point to light
477
+ vec3 h = normalize(l+v); // Half vector between both l and v
478
+
479
+ pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);
480
+ pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);
481
+ pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);
482
+ pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);
483
+ }
484
+
485
+ void PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {
486
+ vec3 light_direction = normalize(pointLight.position - pbr_vPosition);
487
+ PBRInfo_setDirectionalLight(pbrInputs, light_direction);
488
+ }
489
+
490
+ vec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {
491
+ // Calculate the shading terms for the microfacet specular shading model
492
+ vec3 F = specularReflection(pbrInputs);
493
+ float G = geometricOcclusion(pbrInputs);
494
+ float D = microfacetDistribution(pbrInputs);
495
+
496
+ // Calculation of analytical lighting contribution
497
+ vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);
498
+ vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);
499
+ // Obtain final intensity as reflectance (BRDF) scaled by the energy of the light (cosine law)
500
+ return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);
501
+ }
502
+
503
+ vec4 pbr_filterColor(vec4 colorUnused)
504
+ {
505
+ // The albedo may be defined from a base texture or a flat color
506
+ #ifdef HAS_BASECOLORMAP
507
+ vec4 baseColor = SRGBtoLINEAR(texture(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;
508
+ #else
509
+ vec4 baseColor = u_BaseColorFactor;
510
+ #endif
511
+
512
+ #ifdef ALPHA_CUTOFF
513
+ if (baseColor.a < u_AlphaCutoff) {
514
+ discard;
515
+ }
516
+ #endif
517
+
518
+ vec3 color = vec3(0, 0, 0);
519
+
520
+ if(pbr_uUnlit){
521
+ color.rgb = baseColor.rgb;
522
+ }
523
+ else{
524
+ // Metallic and Roughness material properties are packed together
525
+ // In glTF, these factors can be specified by fixed scalar values
526
+ // or from a metallic-roughness map
527
+ float perceptualRoughness = u_MetallicRoughnessValues.y;
528
+ float metallic = u_MetallicRoughnessValues.x;
529
+ #ifdef HAS_METALROUGHNESSMAP
530
+ // Roughness is stored in the 'g' channel, metallic is stored in the 'b' channel.
531
+ // This layout intentionally reserves the 'r' channel for (optional) occlusion map data
532
+ vec4 mrSample = texture(u_MetallicRoughnessSampler, pbr_vUV);
533
+ perceptualRoughness = mrSample.g * perceptualRoughness;
534
+ metallic = mrSample.b * metallic;
535
+ #endif
536
+ perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);
537
+ metallic = clamp(metallic, 0.0, 1.0);
538
+ // Roughness is authored as perceptual roughness; as is convention,
539
+ // convert to material roughness by squaring the perceptual roughness [2].
540
+ float alphaRoughness = perceptualRoughness * perceptualRoughness;
541
+
542
+ vec3 f0 = vec3(0.04);
543
+ vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);
544
+ diffuseColor *= 1.0 - metallic;
545
+ vec3 specularColor = mix(f0, baseColor.rgb, metallic);
546
+
547
+ // Compute reflectance.
548
+ float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);
549
+
550
+ // For typical incident reflectance range (between 4% to 100%) set the grazing
551
+ // reflectance to 100% for typical fresnel effect.
552
+ // For very low reflectance range on highly diffuse objects (below 4%),
553
+ // incrementally reduce grazing reflecance to 0%.
554
+ float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);
555
+ vec3 specularEnvironmentR0 = specularColor.rgb;
556
+ vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;
557
+
558
+ vec3 n = getNormal(); // normal at surface point
559
+ vec3 v = normalize(u_Camera - pbr_vPosition); // Vector from surface point to camera
560
+
561
+ float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);
562
+ vec3 reflection = -normalize(reflect(v, n));
563
+
564
+ PBRInfo pbrInputs = PBRInfo(
565
+ 0.0, // NdotL
566
+ NdotV,
567
+ 0.0, // NdotH
568
+ 0.0, // LdotH
569
+ 0.0, // VdotH
570
+ perceptualRoughness,
571
+ metallic,
572
+ specularEnvironmentR0,
573
+ specularEnvironmentR90,
574
+ alphaRoughness,
575
+ diffuseColor,
576
+ specularColor,
577
+ n,
578
+ v
579
+ );
580
+
581
+ #ifdef USE_LIGHTS
582
+ // Apply ambient light
583
+ PBRInfo_setAmbientLight(pbrInputs);
584
+ color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);
585
+
586
+ // Apply directional light
587
+ SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {
588
+ if (i < lighting_uDirectionalLightCount) {
589
+ PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);
590
+ color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);
591
+ }
592
+ }
593
+
594
+ // Apply point light
595
+ SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {
596
+ if (i < lighting_uPointLightCount) {
597
+ PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);
598
+ float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));
599
+ color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);
600
+ }
601
+ }
602
+ #endif
603
+
604
+ // Calculate lighting contribution from image based lighting source (IBL)
605
+ #ifdef USE_IBL
606
+ color += getIBLContribution(pbrInputs, n, reflection);
607
+ #endif
608
+
609
+ // Apply optional PBR terms for additional (optional) shading
610
+ #ifdef HAS_OCCLUSIONMAP
611
+ float ao = texture(u_OcclusionSampler, pbr_vUV).r;
612
+ color = mix(color, color * ao, u_OcclusionStrength);
613
+ #endif
614
+
615
+ #ifdef HAS_EMISSIVEMAP
616
+ vec3 emissive = SRGBtoLINEAR(texture(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;
617
+ color += emissive;
618
+ #endif
619
+
620
+ // This section uses mix to override final color for reference app visualization
621
+ // of various parameters in the lighting equation.
622
+ #ifdef PBR_DEBUG
623
+ // TODO: Figure out how to debug multiple lights
624
+
625
+ // color = mix(color, F, u_ScaleFGDSpec.x);
626
+ // color = mix(color, vec3(G), u_ScaleFGDSpec.y);
627
+ // color = mix(color, vec3(D), u_ScaleFGDSpec.z);
628
+ // color = mix(color, specContrib, u_ScaleFGDSpec.w);
629
+
630
+ // color = mix(color, diffuseContrib, u_ScaleDiffBaseMR.x);
631
+ color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);
632
+ color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);
633
+ color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);
634
+ #endif
635
+
636
+ }
637
+
638
+ return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);
639
+ }
640
+ `;var Yc={name:"pbr",vs:em,fs:tm,defines:{LIGHTING_FRAGMENT:1},dependencies:[$p]};var Zc=P(_t(),1);var Go=class{constructor(e){this.modules=void 0,this.moduleUniforms=void 0,this.moduleBindings=void 0,this.moduleUniformsChanged=void 0;let r=Xn(Object.values(e));Zc.log.log(1,"Creating ShaderInputs with modules",r.map(n=>n.name))(),this.modules=e,this.moduleUniforms={},this.moduleBindings={};for(let[n,i]of Object.entries(e)){let o=n;this.moduleUniforms[o]=i.defaultUniforms||{},this.moduleBindings[o]={}}}destroy(){}setProps(e){for(let n of Object.keys(e)){var r;let i=n,o=e[i],s=this.modules[i];if(!s){Zc.log.warn(`Module ${n} not found`)();continue}let a=this.moduleUniforms[i],c=((r=s.getUniforms)===null||r===void 0?void 0:r.call(s,o,this.moduleUniforms[i]))||o;this.moduleUniforms[i]={...a,...c}}}getModules(){return Object.values(this.modules)}getUniformValues(){return this.moduleUniforms}getBindings(){let e={};for(let r of Object.values(this.moduleBindings))Object.assign(e,r);return e}getDebugTable(){let e={};for(let[n,i]of Object.entries(this.moduleUniforms))for(let[o,s]of Object.entries(i)){var r;e[`${n}.${o}`]={type:(r=this.modules[n].uniformTypes)===null||r===void 0?void 0:r[o],value:String(s)}}return e}};var vt=P(_t(),1),Ho=class{constructor(e){this.id=void 0,this.userData={},this.topology=void 0,this.bufferLayout=[],this.vertexCount=void 0,this.indices=void 0,this.attributes=void 0,this.id=e.id||(0,vt.uid)("geometry"),this.topology=e.topology,this.indices=e.indices||null,this.attributes=e.attributes,this.vertexCount=e.vertexCount,this.bufferLayout=e.bufferLayout||[],this.indices&&(0,vt.assert)(this.indices.usage===vt.Buffer.INDEX)}destroy(){var e;this.indices.destroy(),this.attributes.positions.destroy(),this.attributes.normals.destroy(),this.attributes.texCoords.destroy(),(e=this.attributes.colors)===null||e===void 0||e.destroy()}getVertexCount(){return this.vertexCount}getAttributes(){return this.attributes}getIndexes(){return this.indices}_calculateVertexCount(e){return e.byteLength/12}};function rm(t,e){if(e instanceof Ho)return e;let r=fS(t,e),{attributes:n,bufferLayout:i}=hS(t,e);return new Ho({topology:e.topology||"triangle-list",bufferLayout:i,vertexCount:e.vertexCount,indices:r,attributes:n})}function fS(t,e){if(!e.indices)return;let r=e.indices.value;return t.createBuffer({usage:vt.Buffer.INDEX,data:r})}function hS(t,e){let r=[],n={};for(let[o,s]of Object.entries(e.attributes)){let a=o;switch(o){case"POSITION":a="positions";break;case"NORMAL":a="normals";break;case"TEXCOORD_0":a="texCoords";break;case"COLOR_0":a="colors";break}n[a]=t.createBuffer({data:s.value,id:`${o}-buffer`});let{value:c,size:u,normalized:l}=s;r.push({name:a,format:(0,vt.getVertexFormatFromAttribute)(c,u,l)})}let i=e._calculateVertexCount(e.attributes,e.indices);return{attributes:n,bufferLayout:r,vertexCount:i}}var nm=P(_t(),1),Ht=class{static getDefaultPipelineFactory(e){return e._lumaData.defaultPipelineFactory=e._lumaData.defaultPipelineFactory||new Ht(e),e._lumaData.defaultPipelineFactory}constructor(e){this.device=void 0,this._hashCounter=0,this._hashes={},this._useCounts={},this._pipelineCache={},this.device=e}createRenderPipeline(e){let r={...Ht.defaultProps,...e},n=this._hashRenderPipeline({...r});if(!this._pipelineCache[n]){let i=this.device.createRenderPipeline({...r,vs:this.device.createShader({stage:"vertex",source:r.vs}),fs:r.fs?this.device.createShader({stage:"fragment",source:r.fs}):null});i.hash=n,this._pipelineCache[n]=i,this._useCounts[n]=0}return this._useCounts[n]++,this._pipelineCache[n]}release(e){let r=e.hash;this._useCounts[r]--,this._useCounts[r]===0&&(this._pipelineCache[r].destroy(),delete this._pipelineCache[r],delete this._useCounts[r])}_createRenderPipeline(e){if(!e.fs)throw new Error("fs");return this.device.createRenderPipeline({...e,vs:this.device.createShader({stage:"vertex",source:e.vs}),fs:e.fs?this.device.createShader({stage:"fragment",source:e.fs}):null})}_hashRenderPipeline(e){let r=this._getHash(e.vs),n=e.fs?this._getHash(e.fs):0,i="-";switch(this.device.info.type){case"webgpu":let o=this._getHash(JSON.stringify(e.parameters)),s=this._getHash(JSON.stringify(e.bufferLayout));return`${r}/${n}V${i}T${e.topology}P${o}BL${s}}`;default:return`${r}/${n}V${i}`}}_getHash(e){return this._hashes[e]===void 0&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}};Ht.defaultProps={...nm.RenderPipeline.defaultProps,vs:void 0,fs:void 0};function im(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",r={},n=`Shader Layout for ${e}`;for(let i of t.attributes)if(i){let o=`${i.location} ${i.name}: ${i.type}`;r[`in ${o}`]={[n]:i.stepMode||"vertex"}}for(let i of t.varyings||[]){let o=`${i.location} ${i.name}`;r[`out ${o}`]={[n]:JSON.stringify(i.accessor)}}return r}var zr=2,dS=1e4,Vt=class{constructor(e,r){var n,i,o;this.device=void 0,this.id=void 0,this.vs=void 0,this.fs=void 0,this.pipelineFactory=void 0,this.userData={},this.parameters=void 0,this.topology=void 0,this.bufferLayout=void 0,this.vertexCount=void 0,this.instanceCount=0,this.indexBuffer=null,this.bufferAttributes={},this.constantAttributes={},this.bindings={},this.uniforms={},this.vertexArray=void 0,this.transformFeedback=null,this.pipeline=void 0,this.shaderInputs=void 0,this._uniformStore=void 0,this._pipelineNeedsUpdate="newly created",this._attributeInfos={},this._gpuGeometry=null,this._getModuleUniforms=void 0,this.props=void 0,this._lastLogTime=0,this._logOpen=!1,this.props={...Vt.defaultProps,...r},r=this.props,this.id=r.id||(0,ie.uid)("model"),this.device=e,Object.assign(this.userData,r.userData);let s=Object.fromEntries(((n=this.props.modules)===null||n===void 0?void 0:n.map(h=>[h.name,h]))||[]);this.setShaderInputs(r.shaderInputs||new Go(s));let a=pS(e),c=(((i=this.props.modules)===null||i===void 0?void 0:i.length)>0?this.props.modules:(o=this.shaderInputs)===null||o===void 0?void 0:o.getModules())||[],{vs:u,fs:l,getUniforms:f}=this.props.shaderAssembler.assembleShaders({platformInfo:a,...this.props,modules:c});if(this.vs=u,this.fs=l,this._getModuleUniforms=f,this.vertexCount=this.props.vertexCount,this.instanceCount=this.props.instanceCount,this.topology=this.props.topology,this.bufferLayout=this.props.bufferLayout,this.parameters=this.props.parameters,r.geometry&&(this._gpuGeometry=this.setGeometry(r.geometry)),this.pipelineFactory=r.pipelineFactory||Ht.getDefaultPipelineFactory(this.device),this.pipeline=this._updatePipeline(),this.vertexArray=e.createVertexArray({renderPipeline:this.pipeline}),this._gpuGeometry&&this._setGeometryAttributes(this._gpuGeometry),r.vertexCount&&this.setVertexCount(r.vertexCount),r.instanceCount&&this.setInstanceCount(r.instanceCount),r.indices)throw new Error("Model.props.indices removed. Use props.indexBuffer");r.indexBuffer&&this.setIndexBuffer(r.indexBuffer),r.attributes&&this.setAttributes(r.attributes),r.constantAttributes&&this.setConstantAttributes(r.constantAttributes),r.bindings&&this.setBindings(r.bindings),r.uniforms&&this.setUniforms(r.uniforms),r.moduleSettings&&(ie.log.warn("Model.props.moduleSettings is deprecated. Use Model.shaderInputs.setProps()")(),this.updateModuleSettings(r.moduleSettings)),r.transformFeedback&&(this.transformFeedback=r.transformFeedback),Object.seal(this)}destroy(){this.pipelineFactory.release(this.pipeline),this._uniformStore.destroy()}predraw(){this.updateShaderInputs()}draw(e){this.predraw();try{this._logDrawCallStart(),this.pipeline=this._updatePipeline(),this.pipeline.setBindings(this.bindings),this.pipeline.setUniforms(this.uniforms),this.pipeline.draw({renderPass:e,vertexArray:this.vertexArray,vertexCount:this.vertexCount,instanceCount:this.instanceCount,transformFeedback:this.transformFeedback})}finally{this._logDrawCallEnd()}}setGeometry(e){let r=e&&rm(this.device,e);return this.setTopology(r.topology||"triangle-list"),this.bufferLayout=om(this.bufferLayout,r.bufferLayout),this.vertexArray&&this._setGeometryAttributes(r),r}_setGeometryAttributes(e){this.vertexCount=e.vertexCount,this.setAttributes(e.attributes,"ignore-unknown"),this.setIndexBuffer(e.indices)}setTopology(e){e!==this.topology&&(this.topology=e,this._setPipelineNeedsUpdate("topology"))}setBufferLayout(e){this.bufferLayout=this._gpuGeometry?om(e,this._gpuGeometry.bufferLayout):e,this._setPipelineNeedsUpdate("bufferLayout"),this.pipeline=this._updatePipeline(),this.vertexArray=this.device.createVertexArray({renderPipeline:this.pipeline}),this._gpuGeometry&&this._setGeometryAttributes(this._gpuGeometry)}setParameters(e){(0,ie.deepEqual)(e,this.parameters,2)||(this.parameters=e,this._setPipelineNeedsUpdate("parameters"))}setVertexCount(e){this.vertexCount=e}setInstanceCount(e){this.instanceCount=e}setShaderInputs(e){this.shaderInputs=e,this._uniformStore=new zt.UniformStore(this.shaderInputs.modules);for(let r of Object.keys(this.shaderInputs.modules)){let n=this._uniformStore.getManagedUniformBuffer(this.device,r);this.bindings[`${r}Uniforms`]=n}}updateShaderInputs(){this._uniformStore.setUniforms(this.shaderInputs.getUniformValues())}updateModuleSettings(e){ie.log.warn("Model.updateModuleSettings is deprecated. Use Model.shaderInputs.setProps()")();let{bindings:r,uniforms:n}=(0,ie.splitUniformsAndBindings)(this._getModuleUniforms(e));Object.assign(this.bindings,r),Object.assign(this.uniforms,n)}setBindings(e){Object.assign(this.bindings,e)}setUniforms(e){this.pipeline.setUniforms(e),Object.assign(this.uniforms,e)}setIndexBuffer(e){this.vertexArray.setIndexBuffer(e)}setTransformFeedback(e){this.transformFeedback=e}setAttributes(e,r){e.indices&&ie.log.warn(`Model:${this.id} setAttributes() - indexBuffer should be set using setIndexBuffer()`)();for(let[n,i]of Object.entries(e)){let o=this.bufferLayout.find(c=>sm(c).includes(n));if(!o){ie.log.warn(`Model(${this.id}): Missing layout for buffer "${n}".`)();continue}let s=sm(o),a=!1;for(let c of s){let u=this._attributeInfos[c];u&&(this.vertexArray.setBuffer(u.location,i),a=!0)}!a&&r!=="ignore-unknown"&&ie.log.warn(`Model(${this.id}): Ignoring buffer "${i.id}" for unknown attribute "${n}"`)()}}setConstantAttributes(e){for(let[r,n]of Object.entries(e)){let i=this._attributeInfos[r];i?this.vertexArray.setConstant(i.location,n):ie.log.warn(`Model "${this.id}: Ignoring constant supplied for unknown attribute "${r}"`)()}}_setPipelineNeedsUpdate(e){this._pipelineNeedsUpdate=this._pipelineNeedsUpdate||e}_updatePipeline(){return this._pipelineNeedsUpdate&&(this.pipeline&&ie.log.log(1,`Model ${this.id}: Recreating pipeline because "${this._pipelineNeedsUpdate}".`)(),this._pipelineNeedsUpdate=!1,this.pipeline=this.device.createRenderPipeline({...this.props,bufferLayout:this.bufferLayout,topology:this.topology,parameters:this.parameters,vs:this.device.createShader({id:"{$this.id}-vertex",stage:"vertex",source:this.vs}),fs:this.fs?this.device.createShader({id:"{$this.id}-fragment",stage:"fragment",source:this.fs}):null}),this._attributeInfos=(0,am.getAttributeInfosFromLayouts)(this.pipeline.shaderLayout,this.bufferLayout)),this.pipeline}_logDrawCallStart(){let e=ie.log.level>3?0:dS;Date.now()-this._lastLogTime<e||(this._lastLogTime=Date.now(),this._logOpen=!0,ie.log.group(zr,`>>> DRAWING MODEL ${this.id}`,{collapsed:ie.log.level<=2})())}_logDrawCallEnd(){if(this._logOpen){let e=im(this.pipeline.shaderLayout);ie.log.table(zr,e)();let r=this.shaderInputs.getDebugTable();for(let[i,o]of Object.entries(this.uniforms))r[i]={value:o};ie.log.table(zr,r)();let n=this._getAttributeDebugTable();ie.log.table(zr,this._attributeInfos)(),ie.log.table(zr,n)(),ie.log.groupEnd(zr)(),this._logOpen=!1}}_getAttributeDebugTable(){let e={};for(let[r,n]of Object.entries(this._attributeInfos))e[n.location]={name:r,type:n.shaderType,values:this._getBufferOrConstantValues(this.vertexArray.attributes[n.location],n.bufferDataType)};if(this.vertexArray.indexBuffer){let{indexBuffer:r}=this.vertexArray,n=r.indexType==="uint32"?new Uint32Array(r.debugData):new Uint16Array(r.debugData);e.indices={name:"indices",type:r.indexType,values:n.toString()}}return e}_getBufferOrConstantValues(e,r){let n=(0,zt.getTypedArrayFromDataType)(r);return(e instanceof zt.Buffer?new n(e.debugData):e).toString()}};Vt.defaultProps={...zt.RenderPipeline.defaultProps,vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},defines:{},modules:[],moduleSettings:void 0,geometry:null,indexBuffer:null,attributes:{},constantAttributes:{},varyings:[],shaderInputs:void 0,pipelineFactory:void 0,transformFeedback:void 0,shaderAssembler:We.getDefaultShaderAssembler()};function om(t,e){let r=[...t];for(let n of e){let i=r.findIndex(o=>o.name===n.name);i<0?r.push(n):r[i]=n}return r}function pS(t){return{type:t.info.type,shaderLanguage:t.info.shadingLanguage,shaderLanguageVersion:t.info.shadingLanguageVersion,gpu:t.info.gpu,features:t.features}}function sm(t){var e;return t.attributes?(e=t.attributes)===null||e===void 0?void 0:e.map(r=>r.attribute):[t.name]}var jr=P(_t(),1),Yn=class{constructor(e){this.id=void 0,this.topology=void 0,this.vertexCount=void 0,this.indices=void 0,this.attributes=void 0,this.userData={};let{attributes:r={},indices:n=null,vertexCount:i=null}=e;this.id=e.id||(0,jr.uid)("geometry"),this.topology=e.topology,n&&(this.indices=ArrayBuffer.isView(n)?{value:n,size:1}:n),this.attributes={};for(let[o,s]of Object.entries(r)){let a=ArrayBuffer.isView(s)?{value:s}:s;(0,jr.assert)(ArrayBuffer.isView(a.value),`${this._print(o)}: must be typed array or object with value as typed array`),(o==="POSITION"||o==="positions")&&!a.size&&(a.size=3),o==="indices"?((0,jr.assert)(!this.indices),this.indices=a):this.attributes[o]=a}this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this.vertexCount=i||this._calculateVertexCount(this.attributes,this.indices)}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?{indices:this.indices,...this.attributes}:this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,r){return this}_calculateVertexCount(e,r){if(r)return r.value.length;let n=1/0;for(let i of Object.values(e)){let{value:o,size:s,constant:a}=i;!a&&o&&s>=1&&(n=Math.min(n,o.length/s))}return(0,jr.assert)(Number.isFinite(n)),n}};var Xt=P(ze()),J0=P(Ve()),q0=P(Vo());var um=P(_t(),1),at=function(t){return t[t.FUNC_ADD=32774]="FUNC_ADD",t[t.ONE=1]="ONE",t[t.SRC_ALPHA=770]="SRC_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",t[t.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",t[t.LINEAR=9729]="LINEAR",t[t.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",t[t.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",t}(at||{});function Qc(t,e,r,n){let i={defines:{MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},bindings:{},uniforms:{u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},parameters:{},glParameters:{},generatedTextures:[]};t.features.has("glsl-texture-lod")&&(i.defines.USE_TEX_LOD=1);let{imageBasedLightingEnvironment:o}=n;return o&&(i.bindings.u_DiffuseEnvSampler=o.diffuseEnvSampler,i.bindings.u_SpecularEnvSampler=o.specularEnvSampler,i.bindings.u_brdfLUT=o.brdfLutTexture,i.uniforms.u_ScaleIBLAmbient=[1,1]),n!=null&&n.pbrDebug&&(i.defines.PBR_DEBUG=1,i.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],i.uniforms.u_ScaleFGDSpec=[0,0,0,0]),r.NORMAL&&(i.defines.HAS_NORMALS=1),r.TANGENT&&n!==null&&n!==void 0&&n.useTangents&&(i.defines.HAS_TANGENTS=1),r.TEXCOORD_0&&(i.defines.HAS_UV=1),n!=null&&n.imageBasedLightingEnvironment&&(i.defines.USE_IBL=1),n!=null&&n.lights&&(i.defines.USE_LIGHTS=1),e&&mS(t,e,i),i}function mS(t,e,r){if(r.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&gS(t,e.pbrMetallicRoughness,r),e.normalTexture){Zn(t,e.normalTexture,"u_NormalSampler","HAS_NORMALMAP",r);let{scale:n=1}=e.normalTexture;r.uniforms.u_NormalScale=n}if(e.occlusionTexture){Zn(t,e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP",r);let{strength:n=1}=e.occlusionTexture;r.uniforms.u_OcclusionStrength=n}switch(e.emissiveTexture&&(Zn(t,e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP",r),r.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),e.alphaMode){case"MASK":let{alphaCutoff:n=.5}=e;r.defines.ALPHA_CUTOFF=1,r.uniforms.u_AlphaCutoff=n;break;case"BLEND":um.log.warn("glTF BLEND alphaMode might not work well because it requires mesh sorting")(),r.parameters.blendColorOperation="add",r.parameters.blendColorSrcFactor="src-alpha",r.parameters.blendColorDstFactor="one-minus-src-alpha",r.parameters.blendAlphaOperation="add",r.parameters.blendAlphaSrcFactor="one",r.parameters.blendAlphaDstFactor="one-minus-src-alpha",r.glParameters.blend=!0,r.glParameters.blendEquation=at.FUNC_ADD,r.glParameters.blendFunc=[at.SRC_ALPHA,at.ONE_MINUS_SRC_ALPHA,at.ONE,at.ONE_MINUS_SRC_ALPHA];break}}function gS(t,e,r){e.baseColorTexture&&Zn(t,e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP",r),r.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&Zn(t,e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP",r);let{metallicFactor:n=1,roughnessFactor:i=1}=e;r.uniforms.u_MetallicRoughnessValues=[n,i]}function Zn(t,e,r){var n;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,o=arguments.length>4?arguments[4]:void 0,s=(e==null||(n=e.texture)===null||n===void 0||(n=n.sampler)===null||n===void 0?void 0:n.parameters)||{},a=e.texture.source.image,c,u={};a.compressed?(c=a,u={[at.TEXTURE_MIN_FILTER]:a.data.length>1?at.LINEAR_MIPMAP_NEAREST:at.LINEAR}):c={data:a};let l=t.createTexture({id:e.uniformName||e.id,parameters:{...s,...u},pixelStore:{[at.UNPACK_FLIP_Y_WEBGL]:!1},...c});o.bindings[r]=l,i&&(o.defines[i]=1),o.generatedTextures.push(l)}var lm="4.1.0-alpha.9";var zo={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},$c;async function tu(t){let e=t.modules||{};return e.basis?e.basis:($c=$c||yS(t),await $c)}async function yS(t){let e=null,r=null;return[e,r]=await Promise.all([await tt(zo.TRANSCODER,"textures",t),await tt(zo.TRANSCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await AS(e,r)}function AS(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t(r).then(i=>{let{BasisFile:o,initializeBasis:s}=i;s(),n({BasisFile:o})})})}var eu;async function ru(t){let e=t.modules||{};return e.basisEncoder?e.basisEncoder:(eu=eu||_S(t),await eu)}async function _S(t){let e=null,r=null;return[e,r]=await Promise.all([await tt(zo.ENCODER,"textures",t),await tt(zo.ENCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await vS(e,r)}function vS(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t(r).then(i=>{let{BasisFile:o,KTX2File:s,initializeBasis:a,BasisEncoder:c}=i;a(),n({BasisFile:o,KTX2File:s,BasisEncoder:c})})})}var lr={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};var xS=["","WEBKIT_","MOZ_"],fm={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},jo=null;function hm(t){if(!jo){t=t||TS()||void 0,jo=new Set;for(let e of xS)for(let r in fm)if(t&&t.getExtension(`${e}${r}`)){let n=fm[r];jo.add(n)}}return jo}function TS(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var OG=new Uint8Array([0]);var dm,pm,mm,gm,ym,Am,_m,vm;(function(t){t[t.NONE=0]="NONE",t[t.BASISLZ=1]="BASISLZ",t[t.ZSTD=2]="ZSTD",t[t.ZLIB=3]="ZLIB"})(dm||(dm={})),function(t){t[t.BASICFORMAT=0]="BASICFORMAT"}(pm||(pm={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ETC1S=163]="ETC1S",t[t.UASTC=166]="UASTC"}(mm||(mm={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SRGB=1]="SRGB"}(gm||(gm={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.LINEAR=1]="LINEAR",t[t.SRGB=2]="SRGB",t[t.ITU=3]="ITU",t[t.NTSC=4]="NTSC",t[t.SLOG=5]="SLOG",t[t.SLOG2=6]="SLOG2"}(ym||(ym={})),function(t){t[t.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",t[t.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(Am||(Am={})),function(t){t[t.RGB=0]="RGB",t[t.RRR=3]="RRR",t[t.GGG=4]="GGG",t[t.AAA=15]="AAA"}(_m||(_m={})),function(t){t[t.RGB=0]="RGB",t[t.RGBA=3]="RGBA",t[t.RRR=4]="RRR",t[t.RRRG=5]="RRRG"}(vm||(vm={}));var Oe=[171,75,84,88,32,50,48,187,13,10,26,10];function xm(t){let e=new Uint8Array(t);return!(e.byteLength<Oe.length||e[0]!==Oe[0]||e[1]!==Oe[1]||e[2]!==Oe[2]||e[3]!==Oe[3]||e[4]!==Oe[4]||e[5]!==Oe[5]||e[6]!==Oe[6]||e[7]!==Oe[7]||e[8]!==Oe[8]||e[9]!==Oe[9]||e[10]!==Oe[10]||e[11]!==Oe[11])}var bS={etc1:{basisFormat:0,compressed:!0,format:lr.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:lr.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:lr.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:lr.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:lr.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:lr.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function iu(t,e){if(e.basis.containerFormat==="auto"){if(xm(t)){let n=await ru(e);return Tm(n.KTX2File,t,e)}let{BasisFile:r}=await tu(e);return nu(r,t,e)}switch(e.basis.module){case"encoder":let r=await ru(e);switch(e.basis.containerFormat){case"ktx2":return Tm(r.KTX2File,t,e);case"basis":default:return nu(r.BasisFile,t,e)}case"transcoder":default:let{BasisFile:n}=await tu(e);return nu(n,t,e)}}function nu(t,e,r){let n=new t(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),o=[];for(let s=0;s<i;s++){let a=n.getNumLevels(s),c=[];for(let u=0;u<a;u++)c.push(ES(n,s,u,r));o.push(c)}return o}finally{n.close(),n.delete()}}function ES(t,e,r,n){let i=t.getImageWidth(e,r),o=t.getImageHeight(e,r),s=t.getHasAlpha(),{compressed:a,format:c,basisFormat:u}=bm(n,s),l=t.getImageTranscodedSizeInBytes(e,r,u),f=new Uint8Array(l);if(!t.transcodeImage(f,e,r,u,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:o,data:f,compressed:a,format:c,hasAlpha:s}}function Tm(t,e,r){let n=new t(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),o=[];for(let s=0;s<i;s++){o.push(SS(n,s,r));break}return[o]}finally{n.close(),n.delete()}}function SS(t,e,r){let{alphaFlag:n,height:i,width:o}=t.getImageLevelInfo(e,0,0),{compressed:s,format:a,basisFormat:c}=bm(r,n),u=t.getImageTranscodedSizeInBytes(e,0,0,c),l=new Uint8Array(u);if(!t.transcodeImage(l,e,0,0,c,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:o,height:i,data:l,compressed:s,levelSize:u,hasAlpha:n,format:a}}function bm(t,e){let r=t&&t.basis&&t.basis.format;return r==="auto"&&(r=ko()),typeof r=="object"&&(r=e?r.alpha:r.noAlpha),r=r.toLowerCase(),bS[r]}function ko(){let t=hm();return t.has("astc")?"astc-4x4":t.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:t.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:t.has("etc1")?"etc1":t.has("etc2")?"etc2":"rgb565"}var Em={name:"Basis",id:"basis",module:"textures",version:lm,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},ou={...Em,parse:iu};function su(t){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let e=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=t||e;return!!(r&&r.indexOf("Electron")>=0)}function Xe(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||su()}var BS=globalThis.self||globalThis.window||globalThis.global,kr=globalThis.window||globalThis.self||globalThis.global,CS=globalThis.document||{},fr=globalThis.process||{},MS=globalThis.console,YG=globalThis.navigator||{};var Jo=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",$G=Xe();var Mm=P(Vo());var Sm=`#version 300 es
641
+ #define SHADER_NAME simple-mesh-layer-vs
642
+ uniform float sizeScale;
643
+ uniform bool composeModelMatrix;
644
+ uniform bool pickFeatureIds;
645
+ in vec3 positions;
646
+ in vec3 normals;
647
+ in vec3 colors;
648
+ in vec2 texCoords;
649
+ in vec4 uvRegions;
650
+ in vec3 featureIdsPickingColors;
651
+ in vec4 instanceColors;
652
+ in vec3 instancePickingColors;
653
+ in vec3 instanceModelMatrixCol0;
654
+ in vec3 instanceModelMatrixCol1;
655
+ in vec3 instanceModelMatrixCol2;
656
+ out vec2 vTexCoord;
657
+ out vec3 cameraPosition;
658
+ out vec3 normals_commonspace;
659
+ out vec4 position_commonspace;
660
+ out vec4 vColor;
661
+
662
+ vec2 applyUVRegion(vec2 uv) {
663
+ #ifdef HAS_UV_REGIONS
664
+ return fract(uv) * (uvRegions.zw - uvRegions.xy) + uvRegions.xy;
665
+ #else
666
+ return uv;
667
+ #endif
668
+ }
669
+
670
+ void main(void) {
671
+ vec2 uv = applyUVRegion(texCoords);
672
+ geometry.uv = uv;
673
+
674
+ if (pickFeatureIds) {
675
+ geometry.pickingColor = featureIdsPickingColors;
676
+ } else {
677
+ geometry.pickingColor = instancePickingColors;
678
+ }
679
+
680
+ mat3 instanceModelMatrix = mat3(instanceModelMatrixCol0, instanceModelMatrixCol1, instanceModelMatrixCol2);
681
+
682
+ vTexCoord = uv;
683
+ cameraPosition = project_uCameraPosition;
684
+ vColor = vec4(colors * instanceColors.rgb, instanceColors.a);
685
+
686
+ vec3 pos = (instanceModelMatrix * positions) * sizeScale;
687
+ vec3 projectedPosition = project_position(positions);
688
+ position_commonspace = vec4(projectedPosition, 1.0);
689
+ gl_Position = project_common_position_to_clipspace(position_commonspace);
690
+
691
+ geometry.position = position_commonspace;
692
+ normals_commonspace = project_normal(instanceModelMatrix * normals);
693
+ geometry.normal = normals_commonspace;
694
+
695
+ DECKGL_FILTER_GL_POSITION(gl_Position, geometry);
696
+
697
+ #ifdef MODULE_PBR
698
+ pbr_vPosition = geometry.position.xyz;
699
+ #ifdef HAS_NORMALS
700
+ pbr_vNormal = geometry.normal;
701
+ #endif
702
+
703
+ #ifdef HAS_UV
704
+ pbr_vUV = uv;
705
+ #else
706
+ pbr_vUV = vec2(0., 0.);
707
+ #endif
708
+ geometry.uv = pbr_vUV;
709
+ #endif
710
+
711
+ DECKGL_FILTER_COLOR(vColor, geometry);
712
+ }
713
+ `;var Bm=`#version 300 es
714
+ #define SHADER_NAME simple-mesh-layer-fs
715
+
716
+ precision highp float;
717
+
718
+ uniform bool hasTexture;
719
+ uniform sampler2D sampler;
720
+ uniform bool flatShading;
721
+ uniform float opacity;
722
+
723
+ in vec2 vTexCoord;
724
+ in vec3 cameraPosition;
725
+ in vec3 normals_commonspace;
726
+ in vec4 position_commonspace;
727
+ in vec4 vColor;
728
+
729
+ out vec4 fragColor;
730
+
731
+ void main(void) {
732
+
733
+ #ifdef MODULE_PBR
734
+
735
+ fragColor = vColor * pbr_filterColor(vec4(0));
736
+ geometry.uv = pbr_vUV;
737
+ fragColor.a *= opacity;
738
+
739
+ #else
740
+
741
+ geometry.uv = vTexCoord;
742
+
743
+ vec3 normal;
744
+ if (flatShading) {
745
+ #ifdef DERIVATIVES_AVAILABLE
746
+ normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));
747
+ #else
748
+ normal = vec3(0.0, 0.0, 1.0);
749
+ #endif
750
+ } else {
751
+ normal = normals_commonspace;
752
+ }
753
+
754
+ vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;
755
+ vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);
756
+ fragColor = vec4(lightColor, color.a * opacity);
757
+
758
+ #endif
759
+
760
+ DECKGL_FILTER_COLOR(fragColor, geometry);
761
+ }
762
+ `;function qo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?qo=function(r){return typeof r}:qo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},qo(t)}function Cm(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function jt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Cm(Object(r),!0).forEach(function(n){wS(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Cm(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function wS(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function IS(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function kt(t,e,r){return typeof Reflect<"u"&&Reflect.get?kt=Reflect.get:kt=function(i,o,s){var a=OS(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},kt(t,e,r||t)}function OS(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=ct(t),t!==null););return t}function RS(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&au(t,e)}function au(t,e){return au=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},au(t,e)}function LS(t){var e=DS();return function(){var n=ct(t),i;if(e){var o=ct(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return PS(this,i)}}function PS(t,e){if(e&&(qo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return FS(t)}function FS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function DS(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ct(t){return ct=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},ct(t)}function NS(t){var e=t.positions||t.POSITION,r=e.value.length/e.size,n=t.COLOR_0||t.colors;n||(t.colors={size:4,value:new Uint8Array(r*4).fill(255),normalized:!0})}var US={pbrMaterial:{type:"object",value:null},featureIds:{type:"array",value:null,optional:!0}},Wo=function(t){RS(r,t);var e=LS(r);function r(){return IS(this,r),e.apply(this,arguments)}var n=r.prototype;return n.getShaders=function(){var o=kt(ct(r.prototype),"getShaders",this).call(this),s=o.modules;return s.push(Yc),jt(jt({},o),{},{vs:Sm,fs:Bm})},n.initializeState=function(){var o=this.props.featureIds;kt(ct(r.prototype),"initializeState",this).call(this);var s=this.getAttributeManager();o&&s.add({featureIdsPickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateFeatureIdsPickingColors}})},n.updateState=function(o){kt(ct(r.prototype),"updateState",this).call(this,o);var s=o.props,a=o.oldProps;s.pbrMaterial!==a.pbrMaterial&&this.updatePbrMaterialUniforms(s.pbrMaterial)},n.draw=function(o){var s=this.props.featureIds;this.state.model&&(this.state.model.setUniforms({u_Camera:this.state.model.uniforms.project_uCameraPosition,pickFeatureIds:Boolean(s)}),kt(ct(r.prototype),"draw",this).call(this,o))},n.getModel=function(o){var s=this.props,a=s.id,c=s.pbrMaterial,u=this.parseMaterial(c,o);this.setState({parsedPBRMaterial:u});var l=this.getShaders();NS(o.attributes);var f=new Vt(this.context.device,jt(jt({},this.getShaders()),{},{id:a,geometry:o,bufferLayout:this.getAttributeManager().getBufferLayouts(),defines:jt(jt(jt({},l.defines),u?.defines),{},{HAS_UV_REGIONS:o.attributes.uvRegions?1:0}),parameters:u?.parameters,isInstanced:!0}));return f},n.updatePbrMaterialUniforms=function(o){var s=this.state.model;if(s){var a=this.props.mesh,c=this.parseMaterial(o,a);this.setState({parsedPBRMaterial:c}),s.setBindings(c.bindings),s.setUniforms(c.uniforms)}},n.parseMaterial=function(o,s){var a=Boolean(o.pbrMetallicRoughness&&o.pbrMetallicRoughness.baseColorTexture);return Qc(this.context.device,jt({unlit:a},o),{NORMAL:s.attributes.normals,TEXCOORD_0:s.attributes.texCoords},{pbrDebug:!1,lights:!0,useTangents:!1})},n.calculateFeatureIdsPickingColors=function(o){for(var s=this.props.featureIds,a=new Uint8ClampedArray(s.length*o.size),c=[],u=0;u<s.length;u++)this.encodePickingColor(s[u],c),a[u*3]=c[0],a[u*3+1]=c[1],a[u*3+2]=c[2];o.value=a},n.finalizeState=function(o){var s;kt(ct(r.prototype),"finalizeState",this).call(this,o),(s=this.state.parsedPBRMaterial)===null||s===void 0||s.generatedTextures.forEach(function(a){return a.destroy()}),this.setState({parsedPBRMaterial:null})},r}(Mm.SimpleMeshLayer);Wo.layerName="MeshLayer";Wo.defaultProps=US;var W0=P(Jr());var xt=6356752314245179e-9,GS={radii:[6378137,6378137,xt],radiiSquared:[6378137*6378137,6378137*6378137,xt*xt],oneOverRadii:[1/6378137,1/6378137,1/xt],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(xt*xt)],maximumRadius:Math.max(6378137,6378137,xt),centerToleranceSquared:.1};function Xo(t){return t}var x4=new T;function HS(t,e=[],r=Xo){return"longitude"in t?(e[0]=r(t.longitude),e[1]=r(t.latitude),e[2]=t.height):"x"in t?(e[0]=r(t.x),e[1]=r(t.y),e[2]=t.z):(e[0]=r(t[0]),e[1]=r(t[1]),e[2]=t[2]),e}function Im(t,e=[]){return HS(t,e,Y._cartographicRadians?Xo:Fa)}function VS(t,e,r=Xo){return"longitude"in e?(e.longitude=r(t[0]),e.latitude=r(t[1]),e.height=t[2]):"x"in e?(e.x=r(t[0]),e.y=r(t[1]),e.z=t[2]):(e[0]=r(t[0]),e[1]=r(t[1]),e[2]=t[2]),e}function Om(t,e){return VS(t,e,Y._cartographicRadians?Xo:Da)}var Rm=1e-14,zS=new T,Lm={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"}},cu={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Qn={east:new T,north:new T,up:new T,west:new T,south:new T,down:new T},jS=new T,kS=new T,JS=new T;function uu(t,e,r,n,i,o){let s=Lm[e]&&Lm[e][r];le(s&&(!n||n===s));let a,c,u,l=zS.copy(i);if(_e(l.x,0,Rm)&&_e(l.y,0,Rm)){let h=Math.sign(l.z);a=jS.fromArray(cu[e]),e!=="east"&&e!=="west"&&a.scale(h),c=kS.fromArray(cu[r]),r!=="east"&&r!=="west"&&c.scale(h),u=JS.fromArray(cu[n]),n!=="east"&&n!=="west"&&u.scale(h)}else{let{up:h,east:d,north:p}=Qn;d.set(-l.y,l.x,0).normalize(),t.geodeticSurfaceNormal(l,h),p.copy(h).cross(d);let{down:g,west:m,south:A}=Qn;g.copy(h).scale(-1),m.copy(d).scale(-1),A.copy(p).scale(-1),a=Qn[e],c=Qn[r],u=Qn[n]}return o[0]=a.x,o[1]=a.y,o[2]=a.z,o[3]=0,o[4]=c.x,o[5]=c.y,o[6]=c.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 qr=new T,qS=new T,WS=new T;function Pm(t,e,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:o}=e;qr.from(t);let s=qr.x,a=qr.y,c=qr.z,u=n.x,l=n.y,f=n.z,h=s*s*u*u,d=a*a*l*l,p=c*c*f*f,g=h+d+p,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let A=qS;if(A.copy(t).scale(m),g<o)return A.to(r);let _=i.x,v=i.y,x=i.z,B=WS;B.set(A.x*_*2,A.y*v*2,A.z*x*2);let S=(1-m)*qr.len()/(.5*B.len()),C=0,E,b,y,M;do{S-=C,E=1/(1+S*_),b=1/(1+S*v),y=1/(1+S*x);let I=E*E,O=b*b,R=y*y,F=I*E,X=O*b,z=R*y;M=h*I+d*O+p*R-1;let W=-2*(h*F*_+d*X*v+p*z*x);C=M/W}while(Math.abs(M)>je.EPSILON12);return qr.scale([E,b,y]).to(r)}var Ko=new T,Fm=new T,YS=new T,Ke=new T,ZS=new T,Yo=new T,U=class{constructor(e=0,r=0,n=0){L(this,"radii",void 0),L(this,"radiiSquared",void 0),L(this,"radiiToTheFourth",void 0),L(this,"oneOverRadii",void 0),L(this,"oneOverRadiiSquared",void 0),L(this,"minimumRadius",void 0),L(this,"maximumRadius",void 0),L(this,"centerToleranceSquared",je.EPSILON1),L(this,"squaredXOverSquaredZ",void 0),le(e>=0),le(r>=0),le(n>=0),this.radii=new T(e,r,n),this.radiiSquared=new T(e*e,r*r,n*n),this.radiiToTheFourth=new T(e*e*e*e,r*r*r*r,n*n*n*n),this.oneOverRadii=new T(e===0?0:1/e,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new T(e===0?0:1/(e*e),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(e,r,n),this.maximumRadius=Math.max(e,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(e){return this===e||Boolean(e&&this.radii.equals(e.radii))}toString(){return this.radii.toString()}cartographicToCartesian(e,r=[0,0,0]){let n=Fm,i=YS,[,,o]=e;this.geodeticSurfaceNormalCartographic(e,n),i.copy(this.radiiSquared).scale(n);let s=Math.sqrt(n.dot(i));return i.scale(1/s),n.scale(o),i.add(n),i.to(r)}cartesianToCartographic(e,r=[0,0,0]){Yo.from(e);let n=this.scaleToGeodeticSurface(Yo,Ke);if(!n)return;let i=this.geodeticSurfaceNormal(n,Fm),o=ZS;o.copy(Yo).subtract(n);let s=Math.atan2(i.y,i.x),a=Math.asin(i.z),c=Math.sign(Pr.dot(o,Yo))*Pr.length(o);return Om([s,a,c],r)}eastNorthUpToFixedFrame(e,r=new D){return uu(this,"east","north","up",e,r)}localFrameToFixedFrame(e,r,n,i,o=new D){return uu(this,e,r,n,i,o)}geocentricSurfaceNormal(e,r=[0,0,0]){return Ko.from(e).normalize().to(r)}geodeticSurfaceNormalCartographic(e,r=[0,0,0]){let n=Im(e),i=n[0],o=n[1],s=Math.cos(o);return Ko.set(s*Math.cos(i),s*Math.sin(i),Math.sin(o)).normalize(),Ko.to(r)}geodeticSurfaceNormal(e,r=[0,0,0]){return Ko.from(e).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(e,r){return Pm(e,this,r)}scaleToGeocentricSurface(e,r=[0,0,0]){Ke.from(e);let n=Ke.x,i=Ke.y,o=Ke.z,s=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*s.x+i*i*s.y+o*o*s.z);return Ke.multiplyScalar(a).to(r)}transformPositionToScaledSpace(e,r=[0,0,0]){return Ke.from(e).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(e,r=[0,0,0]){return Ke.from(e).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(e,r=0,n=[0,0,0]){le(_e(this.radii.x,this.radii.y,je.EPSILON15)),le(this.radii.z>0),Ke.from(e);let i=Ke.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Ke.set(0,0,i).to(n)}};L(U,"WGS84",new U(6378137,6378137,xt));var Zo=class{constructor(e,r,n){this.item=void 0,this.previous=void 0,this.next=void 0,this.item=e,this.previous=r,this.next=n}};var Qo=class{constructor(){this.head=null,this.tail=null,this._length=0}get length(){return this._length}add(e){let r=new Zo(e,this.tail,null);return this.tail?(this.tail.next=r,this.tail=r):(this.head=r,this.tail=r),++this._length,r}remove(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)}splice(e,r){e!==r&&(this.remove(r),this._insert(e,r))}_insert(e,r){let n=e.next;e.next=r,this.tail===e?this.tail=r:n.previous=r,r.next=n,r.previous=e,++this._length}};var $o=class{constructor(){this._list=void 0,this._sentinel=void 0,this._trimTiles=void 0,this._list=new Qo,this._sentinel=this._list.add("sentinel"),this._trimTiles=!1}reset(){this._list.splice(this._list.tail,this._sentinel)}touch(e){let r=e._cacheNode;r&&this._list.splice(this._sentinel,r)}add(e,r,n){r._cacheNode||(r._cacheNode=this._list.add(r),n&&n(e,r))}unloadTile(e,r,n){let i=r._cacheNode;i&&(this._list.remove(i),r._cacheNode=null,n&&n(e,r))}unloadTiles(e,r){let n=this._trimTiles;this._trimTiles=!1;let i=this._list,o=e.maximumMemoryUsage*1024*1024,s=this._sentinel,a=i.head;for(;a!==s&&(e.gpuMemoryUsageInBytes>o||n);){let c=a.item;a=a.next,this.unloadTile(e,c,r)}}trim(){this._trimTiles=!0}};function Dm(t,e){H(t),H(e);let{rtcCenter:r,gltfUpAxis:n}=e,{computedTransform:i,boundingVolume:{center:o}}=t,s=new D(i);switch(r&&s.translate(r),n){case"Z":break;case"Y":let f=new D().rotateX(Math.PI/2);s=s.multiplyRight(f);break;case"X":let h=new D().rotateY(-Math.PI/2);s=s.multiplyRight(h);break;default:break}e.isQuantized&&s.translate(e.quantizedVolumeOffset).scale(e.quantizedVolumeScale);let a=new T(o);e.cartesianModelMatrix=s,e.cartesianOrigin=a;let c=U.WGS84.cartesianToCartographic(a,new T),l=U.WGS84.eastNorthUpToFixedFrame(a).invert();e.cartographicModelMatrix=l.multiplyRight(s),e.cartographicOrigin=c,e.coordinateSystem||(e.modelMatrix=e.cartographicModelMatrix)}var Nm=new T,lu=new T,fu=new ce([new fe,new fe,new fe,new fe,new fe,new fe]);function Gm(t,e){let{cameraDirection:r,cameraUp:n,height:i}=t,{metersPerUnit:o}=t.distanceScales,s=es(t,t.center),a=U.WGS84.eastNorthUpToFixedFrame(s),c=t.unprojectPosition(t.cameraPosition),u=U.WGS84.cartographicToCartesian(c,new T),l=new T(a.transformAsVector(new T(r).scale(o))).normalize(),f=new T(a.transformAsVector(new T(n).scale(o))).normalize();QS(t);let h=t.constructor,{longitude:d,latitude:p,width:g,bearing:m,zoom:A}=t,_=new h({longitude:d,latitude:p,height:i,width:g,bearing:m,zoom:A,pitch:0});return{camera:{position:u,direction:l,up:f},viewport:t,topDownViewport:_,height:i,cullingVolume:fu,frameNumber:e,sseDenominator:1.15}}function Hm(t,e,r){if(r===0||t.length<=r)return[t,[]];let n=[],{longitude:i,latitude:o}=e.viewport;for(let[u,l]of t.entries()){let[f,h]=l.header.mbs,d=Math.abs(i-f),p=Math.abs(o-h),g=Math.sqrt(p*p+d*d);n.push([u,g])}let s=n.sort((u,l)=>u[1]-l[1]),a=[];for(let u=0;u<r;u++)a.push(t[s[u][0]]);let c=[];for(let u=r;u<s.length;u++)c.push(t[s[u][0]]);return[a,c]}function QS(t){let e=t.getFrustumPlanes(),r=Um(e.near,t.cameraPosition),n=es(t,r),i=es(t,t.cameraPosition,lu),o=0;fu.planes[o++].fromPointNormal(n,Nm.copy(n).subtract(i));for(let s in e){if(s==="near")continue;let a=e[s],c=Um(a,r,lu),u=es(t,c,lu);fu.planes[o++].fromPointNormal(u,Nm.copy(n).subtract(u))}}function Um(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new T,n=t.normal.dot(e);return r.copy(t.normal).scale(t.distance-n).add(e),r}function es(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new T,n=t.unprojectPosition(e);return U.WGS84.cartographicToCartesian(n,r)}var $S=6378137,eB=6378137,hu=6356752314245179e-9,Wr=new T;function Vm(t,e){if(t instanceof Je){let{halfAxes:r}=t,n=tB(r);return Math.log2(hu/(n+e[2]))}else if(t instanceof Pe){let{radius:r}=t;return Math.log2(hu/(r+e[2]))}else if(t.width&&t.height){let{width:r,height:n}=t,i=Math.log2($S/r),o=Math.log2(eB/n);return(i+o)/2}return 1}function du(t,e,r){U.WGS84.cartographicToCartesian([t.xmax,t.ymax,t.zmax],Wr);let n=Math.sqrt(Math.pow(Wr[0]-r[0],2)+Math.pow(Wr[1]-r[1],2)+Math.pow(Wr[2]-r[2],2));return Math.log2(hu/(n+e[2]))}function zm(t,e,r){let[n,i,o,s]=t;return du({xmin:n,xmax:o,ymin:i,ymax:s,zmin:0,zmax:0},e,r)}function tB(t){t.getColumn(0,Wr);let e=t.getColumn(1),r=t.getColumn(2);return Wr.add(e).add(r).len()}var og=P(Jr(),1);var ve={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},be=function(t){return t[t.ADD=1]="ADD",t[t.REPLACE=2]="REPLACE",t}({}),ut=function(t){return t.EMPTY="empty",t.SCENEGRAPH="scenegraph",t.POINTCLOUD="pointcloud",t.MESH="mesh",t}({}),pe=function(t){return t.I3S="I3S",t.TILES3D="TILES3D",t}({}),hr=function(t){return t.GEOMETRIC_ERROR="geometricError",t.MAX_SCREEN_THRESHOLD="maxScreenThreshold",t}({}),jm={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0};function Wm(t){return t!=null}var me=new T,ts=new T,rB=new T,nB=new T,dr=new T,km=new T,Jm=new T,qm=new T;function rs(t,e,r){if(H(t,"3D Tile: boundingVolume must be defined"),t.box)return Km(t.box,e,r);if(t.region)return oB(t.region);if(t.sphere)return iB(t.sphere,e,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function Xm(t,e){if(t.box)return sB(e);if(t.region){let[r,n,i,o,s,a]=t.region;return[[Ie(r),Ie(n),s],[Ie(i),Ie(o),a]]}if(t.sphere)return aB(e);throw new Error("Unkown boundingVolume type")}function Km(t,e,r){let n=new T(t[0],t[1],t[2]);e.transform(n,n);let i=[];if(t.length===10){let u=t.slice(3,6),l=new nt;l.fromArray(t,6);let f=new T([1,0,0]),h=new T([0,1,0]),d=new T([0,0,1]);f.transformByQuaternion(l),f.scale(u[0]),h.transformByQuaternion(l),h.scale(u[1]),d.transformByQuaternion(l),d.scale(u[2]),i=[...f.toArray(),...h.toArray(),...d.toArray()]}else i=[...t.slice(3,6),...t.slice(6,9),...t.slice(9,12)];let o=e.transformAsVector(i.slice(0,3)),s=e.transformAsVector(i.slice(3,6)),a=e.transformAsVector(i.slice(6,9)),c=new j([o[0],o[1],o[2],s[0],s[1],s[2],a[0],a[1],a[2]]);return Wm(r)?(r.center=n,r.halfAxes=c,r):new Je(n,c)}function iB(t,e,r){let n=new T(t[0],t[1],t[2]);e.transform(n,n);let i=e.getScale(ts),o=Math.max(Math.max(i[0],i[1]),i[2]),s=t[3]*o;return Wm(r)?(r.center=n,r.radius=s,r):new Pe(n,s)}function oB(t){let[e,r,n,i,o,s]=t,a=U.WGS84.cartographicToCartesian([Ie(e),Ie(i),o],rB),c=U.WGS84.cartographicToCartesian([Ie(n),Ie(r),s],nB),u=new T().addVectors(a,c).multiplyByScalar(.5);return U.WGS84.cartesianToCartographic(u,dr),U.WGS84.cartographicToCartesian([Ie(n),dr[1],dr[2]],km),U.WGS84.cartographicToCartesian([dr[0],Ie(i),dr[2]],Jm),U.WGS84.cartographicToCartesian([dr[0],dr[1],s],qm),Km([...u,...km.subtract(u),...Jm.subtract(u),...qm.subtract(u)],new D)}function sB(t){let e=Ym(),{halfAxes:r}=t,n=new T(r.getColumn(0)),i=new T(r.getColumn(1)),o=new T(r.getColumn(2));for(let s=0;s<2;s++){for(let a=0;a<2;a++){for(let c=0;c<2;c++)me.copy(t.center),me.add(n),me.add(i),me.add(o),Zm(e,me),o.negate();i.negate()}n.negate()}return e}function aB(t){let e=Ym(),{center:r,radius:n}=t,i=U.WGS84.scaleToGeodeticSurface(r,me),o;i?o=U.WGS84.geodeticSurfaceNormal(i):o=new T(0,0,1);let s=new T(o[2],-o[1],0);s.len()>0?s.normalize():s=new T(0,1,0);let a=s.clone().cross(o);for(let c of[s,a,o]){ts.copy(c).scale(n);for(let u=0;u<2;u++)me.copy(r),me.add(ts),Zm(e,me),ts.negate()}return e}function Ym(){return[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]]}function Zm(t,e){U.WGS84.cartesianToCartographic(e,me),t[0][0]=Math.min(t[0][0],me[0]),t[0][1]=Math.min(t[0][1],me[1]),t[0][2]=Math.min(t[0][2],me[2]),t[1][0]=Math.max(t[1][0],me[0]),t[1][1]=Math.max(t[1][1],me[1]),t[1][2]=Math.max(t[1][2],me[2])}var c8=new T,u8=new T,l8=new D,f8=new T,h8=new T,d8=new T;function cB(t,e){let r=t*e;return 1-Math.exp(-(r*r))}function uB(t,e){if(t.dynamicScreenSpaceError&&t.dynamicScreenSpaceErrorComputedDensity){let r=t.dynamicScreenSpaceErrorComputedDensity,n=t.dynamicScreenSpaceErrorFactor;return cB(e,r)*n}return 0}function Qm(t,e,r){let n=t.tileset,i=t.parent&&t.parent.lodMetricValue||t.lodMetricValue,o=r?i:t.lodMetricValue;if(o===0)return 0;let s=Math.max(t._distanceToCamera,1e-7),{height:a,sseDenominator:c}=e,{viewDistanceScale:u}=n.options,l=o*a*(u||1)/(s*c);return l-=uB(n,s),l}var pu=new T,$m=new T,Jt=new T,eg=new T,lB=new T,mu=new D,tg=new D;function rg(t,e){if(t.lodMetricValue===0||isNaN(t.lodMetricValue))return"DIG";let r=2*gu(t,e);return r<2?"OUT":!t.header.children||r<=t.lodMetricValue?"DRAW":t.header.children?"DIG":"OUT"}function gu(t,e){let{topDownViewport:r}=e,n=t.header.mbs[1],i=t.header.mbs[0],o=t.header.mbs[2],s=t.header.mbs[3],a=[...t.boundingVolume.center],c=r.unprojectPosition(r.cameraPosition);U.WGS84.cartographicToCartesian(c,pu),$m.copy(pu).subtract(a).normalize(),U.WGS84.eastNorthUpToFixedFrame(a,mu),tg.copy(mu).invert(),Jt.copy(pu).transform(tg);let u=Math.sqrt(Jt[0]*Jt[0]+Jt[1]*Jt[1]),l=u*u/Jt[2];eg.copy([Jt[0],Jt[1],l]);let h=eg.transform(mu).subtract(a).normalize(),p=$m.cross(h).normalize().scale(s).add(a),g=U.WGS84.cartesianToCartographic(p),m=r.project([i,n,o]),A=r.project(g);return lB.copy(m).subtract(A).magnitude()}function ng(t){return{assetGltfUpAxis:t.asset&&t.asset.gltfUpAxis||"Y"}}var $n=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this._map=new Map,this._array=void 0,this._length=void 0,this._array=new Array(e),this._length=e}get length(){return this._length}set length(e){this._length=e,e>this._array.length&&(this._array.length=e)}get values(){return this._array}get(e){return H(e<this._array.length),this._array[e]}set(e,r){H(e>=0),e>=this.length&&(this.length=e+1),this._map.has(this._array[e])&&this._map.delete(this._array[e]),this._array[e]=r,this._map.set(r,e)}delete(e){let r=this._map.get(e);r>=0&&(this._array.splice(r,1),this._map.delete(e),this.length--)}peek(){return this._array[this._length-1]}push(e){if(!this._map.has(e)){let r=this.length++;this._array[r]=e,this._map.set(e,r)}}pop(){let e=this._array[--this.length];return this._map.delete(e),e}reserve(e){H(e>=0),e>this._array.length&&(this._array.length=e)}resize(e){H(e>=0),this.length=e}trim(e){e==null&&(e=this.length),this._array.length=e}reset(){this._array=[],this._map=new Map,this._length=0}find(e){return this._map.has(e)}};var fB={loadSiblings:!1,skipLevelOfDetail:!1,maximumScreenSpaceError:2,updateTransforms:!0,onTraversalEnd:()=>{},viewportTraversersMap:{},basePath:""},lt=class{traversalFinished(e){return!0}constructor(e){this.options=void 0,this.root=null,this.selectedTiles={},this.requestedTiles={},this.emptyTiles={},this.lastUpdate=new Date().getTime(),this.updateDebounceTime=1e3,this._traversalStack=new $n,this._emptyTraversalStack=new $n,this._frameNumber=null,this.options={...fB,...e}}traverse(e,r,n){this.root=e,this.options={...this.options,...n},this.reset(),this.updateTile(e,r),this._frameNumber=r.frameNumber,this.executeTraversal(e,r)}reset(){this.requestedTiles={},this.selectedTiles={},this.emptyTiles={},this._traversalStack.reset(),this._emptyTraversalStack.reset()}executeTraversal(e,r){let n=this._traversalStack;for(e._selectionDepth=1,n.push(e);n.length>0;){let o=n.pop(),s=!1;this.canTraverse(o,r)&&(this.updateChildTiles(o,r),s=this.updateAndPushChildren(o,r,n,o.hasRenderContent?o._selectionDepth+1:o._selectionDepth));let a=o.parent,c=Boolean(!a||a._shouldRefine),u=!s;o.hasRenderContent?o.refine===be.ADD?(this.loadTile(o,r),this.selectTile(o,r)):o.refine===be.REPLACE&&(this.loadTile(o,r),u&&this.selectTile(o,r)):(this.emptyTiles[o.id]=o,this.loadTile(o,r),u&&this.selectTile(o,r)),this.touchTile(o,r),o._shouldRefine=s&&c}let i=new Date().getTime();(this.traversalFinished(r)||i-this.lastUpdate>this.updateDebounceTime)&&(this.lastUpdate=i,this.options.onTraversalEnd(r))}updateChildTiles(e,r){let n=e.children;for(let i of n)this.updateTile(i,r)}updateAndPushChildren(e,r,n,i){let{loadSiblings:o,skipLevelOfDetail:s}=this.options,a=e.children;a.sort(this.compareDistanceToCamera.bind(this));let c=e.refine===be.REPLACE&&e.hasRenderContent&&!s,u=!1,l=!0;for(let f of a)if(f._selectionDepth=i,f.isVisibleAndInRequestVolume?(n.find(f)&&n.delete(f),n.push(f),u=!0):(c||o)&&(this.loadTile(f,r),this.touchTile(f,r)),c){let h;if(f._inRequestVolume?f.hasRenderContent?h=f.contentAvailable:h=this.executeEmptyTraversal(f,r):h=!1,l=l&&h,!l)return!1}return u||(l=!1),l}updateTile(e,r){this.updateTileVisibility(e,r)}selectTile(e,r){this.shouldSelectTile(e)&&(e._selectedFrame=r.frameNumber,this.selectedTiles[e.id]=e)}loadTile(e,r){this.shouldLoadTile(e)&&(e._requestedFrame=r.frameNumber,e._priority=e._getPriority(),this.requestedTiles[e.id]=e)}touchTile(e,r){e.tileset._cache.touch(e),e._touchedFrame=r.frameNumber}canTraverse(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return e.hasChildren?e.hasTilesetContent?!e.contentExpired:!i&&!e.isVisibleAndInRequestVolume?!1:this.shouldRefine(e,r,n):!1}shouldLoadTile(e){return e.hasUnloadedContent||e.contentExpired}shouldSelectTile(e){return e.contentAvailable&&!this.options.skipLevelOfDetail}shouldRefine(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=e._screenSpaceError;return n&&(i=e.getScreenSpaceError(r,!0)),i>this.options.maximumScreenSpaceError}updateTileVisibility(e,r){let n=[];if(this.options.viewportTraversersMap)for(let i in this.options.viewportTraversersMap)this.options.viewportTraversersMap[i]===r.viewport.id&&n.push(i);else n.push(r.viewport.id);e.updateVisibility(r,n)}compareDistanceToCamera(e,r){return e._distanceToCamera-r._distanceToCamera}anyChildrenVisible(e,r){let n=!1;for(let i of e.children)i.updateVisibility(r),n=n||i.isVisibleAndInRequestVolume;return n}executeEmptyTraversal(e,r){let n=!0,i=this._emptyTraversalStack;for(i.push(e);i.length>0;){let o=i.pop(),s=!o.hasRenderContent&&this.canTraverse(o,r,!1,!1),a=!o.hasRenderContent&&o.children.length===0;if(!s&&!o.contentAvailable&&!a&&(n=!1),this.updateTile(o,r),o.isVisibleAndInRequestVolume||(this.loadTile(o,r),this.touchTile(o,r)),s){let c=o.children;for(let u of c)i.push(u)}}return n}};var ig=new T;function hB(t){return t!=null}var pr=class{constructor(e,r,n){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";this.tileset=void 0,this.header=void 0,this.id=void 0,this.url=void 0,this.parent=void 0,this.refine=void 0,this.type=void 0,this.contentUrl=void 0,this.lodMetricType="geometricError",this.lodMetricValue=0,this.boundingVolume=null,this.content=null,this.contentState=ve.UNLOADED,this.gpuMemoryUsageInBytes=0,this.children=[],this.depth=0,this.viewportIds=[],this.transform=new D,this.extensions=null,this.implicitTiling=null,this.userData={},this.computedTransform=void 0,this.hasEmptyContent=!1,this.hasTilesetContent=!1,this.traverser=new lt({}),this._cacheNode=null,this._frameNumber=null,this._expireDate=null,this._expiredContent=null,this._boundingBox=void 0,this._distanceToCamera=0,this._screenSpaceError=0,this._visibilityPlaneMask=void 0,this._visible=void 0,this._contentBoundingVolume=void 0,this._viewerRequestVolume=void 0,this._initialTransform=new D,this._priority=0,this._selectedFrame=0,this._requestedFrame=0,this._selectionDepth=0,this._touchedFrame=0,this._centerZDepth=0,this._shouldRefine=!1,this._stackLength=0,this._visitedFrame=0,this._inRequestVolume=!1,this._lodJudge=null,this.header=r,this.tileset=e,this.id=i||r.id,this.url=r.url,this.parent=n,this.refine=this._getRefine(r.refine),this.type=r.type,this.contentUrl=r.contentUrl,this._initializeLodMetric(r),this._initializeTransforms(r),this._initializeBoundingVolumes(r),this._initializeContent(r),this._initializeRenderingState(r),Object.seal(this)}destroy(){this.header=null}isDestroyed(){return this.header===null}get selected(){return this._selectedFrame===this.tileset._frameNumber}get isVisible(){return this._visible}get isVisibleAndInRequestVolume(){return this._visible&&this._inRequestVolume}get hasRenderContent(){return!this.hasEmptyContent&&!this.hasTilesetContent}get hasChildren(){return this.children.length>0||this.header.children&&this.header.children.length>0}get contentReady(){return this.contentState===ve.READY||this.hasEmptyContent}get contentAvailable(){return Boolean(this.contentReady&&this.hasRenderContent||this._expiredContent&&!this.contentFailed)}get hasUnloadedContent(){return this.hasRenderContent&&this.contentUnloaded}get contentUnloaded(){return this.contentState===ve.UNLOADED}get contentExpired(){return this.contentState===ve.EXPIRED}get contentFailed(){return this.contentState===ve.FAILED}get distanceToCamera(){return this._distanceToCamera}get screenSpaceError(){return this._screenSpaceError}get boundingBox(){return this._boundingBox||(this._boundingBox=Xm(this.header.boundingVolume,this.boundingVolume)),this._boundingBox}getScreenSpaceError(e,r){switch(this.tileset.type){case pe.I3S:return gu(this,e);case pe.TILES3D:return Qm(this,e,r);default:throw new Error("Unsupported tileset type")}}unselect(){this._selectedFrame=0}_getGpuMemoryUsageInBytes(){return this.content.gpuMemoryUsageInBytes||this.content.byteLength||0}_getPriority(){let e=this.tileset._traverser,{skipLevelOfDetail:r}=e.options,n=this.refine===be.ADD||r;if(n&&!this.isVisible&&this._visible!==void 0||this.tileset._frameNumber-this._touchedFrame>=1||this.contentState===ve.UNLOADED)return-1;let i=this.parent,s=i&&(!n||this._screenSpaceError===0||i.hasTilesetContent)?i._screenSpaceError:this._screenSpaceError,a=e.root?e.root._screenSpaceError:0;return Math.max(a-s,0)}async loadContent(){if(this.hasEmptyContent)return!1;if(this.content)return!0;this.contentExpired&&(this._expireDate=null),this.contentState=ve.LOADING;let r=await this.tileset._requestScheduler.scheduleRequest(this.id,this._getPriority.bind(this));if(!r)return this.contentState=ve.UNLOADED,!1;try{let n=this.tileset.getTileUrl(this.contentUrl),i=this.tileset.loader,o={...this.tileset.loadOptions,[i.id]:{...this.tileset.loadOptions[i.id],isTileset:this.type==="json",...this._getLoaderSpecificOptions(i.id)}};return this.content=await(0,og.load)(n,i,o),this.tileset.options.contentLoader&&await this.tileset.options.contentLoader(this),this._isTileset()&&this.tileset._initializeTileHeaders(this.content,this),this.contentState=ve.READY,this._onContentLoaded(),!0}catch(n){throw this.contentState=ve.FAILED,n}finally{r.done()}}unloadContent(){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=ve.UNLOADED,!0}updateVisibility(e,r){if(this._frameNumber===e.frameNumber)return;let n=this.parent,i=n?n._visibilityPlaneMask:ce.MASK_INDETERMINATE;if(this.tileset._traverser.options.updateTransforms){let o=n?n.computedTransform:this.tileset.modelMatrix;this._updateTransform(o)}this._distanceToCamera=this.distanceToTile(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._visibilityPlaneMask=this.visibility(e,i),this._visible=this._visibilityPlaneMask!==ce.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._frameNumber=e.frameNumber,this.viewportIds=r}visibility(e,r){let{cullingVolume:n}=e,{boundingVolume:i}=this;return n.computeVisibilityWithPlaneMask(i,r)}contentVisibility(){return!0}distanceToTile(e){let r=this.boundingVolume;return Math.sqrt(Math.max(r.distanceSquaredTo(e.camera.position),0))}cameraSpaceZDepth(e){let{camera:r}=e,n=this.boundingVolume;return ig.subVectors(n.center,r.position),r.direction.dot(ig)}insideViewerRequestVolume(e){let r=this._viewerRequestVolume;return!r||r.distanceSquaredTo(e.camera.position)<=0}updateExpiration(){if(hB(this._expireDate)&&this.contentReady&&!this.hasEmptyContent){let e=Date.now();Date.lessThan(this._expireDate,e)&&(this.contentState=ve.EXPIRED,this._expiredContent=this.content)}}get extras(){return this.header.extras}_initializeLodMetric(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"))}_initializeTransforms(e){this.transform=e.transform?new D(e.transform):new D;let r=this.parent,n=this.tileset,i=r&&r.computedTransform?r.computedTransform.clone():n.modelMatrix.clone();this.computedTransform=new D(i).multiplyRight(this.transform);let o=r&&r._initialTransform?r._initialTransform.clone():new D;this._initialTransform=new D(o).multiplyRight(this.transform)}_initializeBoundingVolumes(e){this._contentBoundingVolume=null,this._viewerRequestVolume=null,this._updateBoundingVolume(e)}_initializeContent(e){this.content={_tileset:this.tileset,_tile:this},this.hasEmptyContent=!0,this.contentState=ve.UNLOADED,this.hasTilesetContent=!1,e.contentUrl&&(this.content=null,this.hasEmptyContent=!1)}_initializeRenderingState(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=ce.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}_getRefine(e){return e||this.parent&&this.parent.refine||be.REPLACE}_isTileset(){return this.contentUrl.indexOf(".json")!==-1}_onContentLoaded(){switch(this.content&&this.content.type){case"vctr":case"geom":this.tileset._traverser.disableSkipLevelOfDetail=!0;break;default:}this._isTileset()?this.hasTilesetContent=!0:this.gpuMemoryUsageInBytes=this._getGpuMemoryUsageInBytes()}_updateBoundingVolume(e){this.boundingVolume=rs(e.boundingVolume,this.computedTransform,this.boundingVolume);let r=e.content;r&&(r.boundingVolume&&(this._contentBoundingVolume=rs(r.boundingVolume,this.computedTransform,this._contentBoundingVolume)),e.viewerRequestVolume&&(this._viewerRequestVolume=rs(e.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)))}_updateTransform(){let r=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:new D).clone().multiplyRight(this.transform);r.equals(this.computedTransform)||(this.computedTransform=r,this._updateBoundingVolume(this.header))}_getLoaderSpecificOptions(e){switch(e){case"i3s":return{...this.tileset.options.i3s,_tileOptions:{attributeUrls:this.header.attributeUrls,textureUrl:this.header.textureUrl,textureFormat:this.header.textureFormat,textureLoaderOptions:this.header.textureLoaderOptions,materialDefinition:this.header.materialDefinition,isDracoGeometry:this.header.isDracoGeometry,mbs:this.header.mbs},_tilesetOptions:{store:this.tileset.tileset.store,attributeStorageInfo:this.tileset.tileset.attributeStorageInfo,fields:this.tileset.tileset.fields},isTileHeader:!1};case"3d-tiles":case"cesium-ion":default:return ng(this.tileset.tileset)}}};var ns=class extends lt{compareDistanceToCamera(e,r){return r._distanceToCamera===0&&e._distanceToCamera===0?r._centerZDepth-e._centerZDepth:r._distanceToCamera-e._distanceToCamera}updateTileVisibility(e,r){if(super.updateTileVisibility(e,r),!e.isVisibleAndInRequestVolume)return;let n=e.children.length>0;if(e.hasTilesetContent&&n){let s=e.children[0];this.updateTileVisibility(s,r),e._visible=s._visible;return}if(this.meetsScreenSpaceErrorEarly(e,r)){e._visible=!1;return}let i=e.refine===be.REPLACE,o=e._optimChildrenWithinParent===jm.USE_OPTIMIZATION;if(i&&o&&n&&!this.anyChildrenVisible(e,r)){e._visible=!1;return}}meetsScreenSpaceErrorEarly(e,r){let{parent:n}=e;return!n||n.hasTilesetContent||n.refine!==be.ADD?!1:!this.shouldRefine(e,r,!0)}};var sg=P(Jr(),1);var is=class{constructor(){this.frameNumberMap=new Map}register(e,r){let n=this.frameNumberMap.get(e)||new Map,i=n.get(r)||0;n.set(r,i+1),this.frameNumberMap.set(e,n)}deregister(e,r){let n=this.frameNumberMap.get(e);if(!n)return;let i=n.get(r)||1;n.set(r,i-1)}isZero(e,r){var n;return(((n=this.frameNumberMap.get(e))===null||n===void 0?void 0:n.get(r))||0)===0}};var yu={REQUESTED:"REQUESTED",COMPLETED:"COMPLETED",ERROR:"ERROR"},os=class{constructor(){this._statusMap=void 0,this.pendingTilesRegister=new is,this._statusMap={}}add(e,r,n,i){if(!this._statusMap[r]){let{frameNumber:o,viewport:{id:s}}=i;this._statusMap[r]={request:e,callback:n,key:r,frameState:i,status:yu.REQUESTED},this.pendingTilesRegister.register(s,o),e().then(a=>{this._statusMap[r].status=yu.COMPLETED;let{frameNumber:c,viewport:{id:u}}=this._statusMap[r].frameState;this.pendingTilesRegister.deregister(u,c),this._statusMap[r].callback(a,i)}).catch(a=>{this._statusMap[r].status=yu.ERROR;let{frameNumber:c,viewport:{id:u}}=this._statusMap[r].frameState;this.pendingTilesRegister.deregister(u,c),n(a)})}}update(e,r){if(this._statusMap[e]){let{frameNumber:n,viewport:{id:i}}=this._statusMap[e].frameState;this.pendingTilesRegister.deregister(i,n);let{frameNumber:o,viewport:{id:s}}=r;this.pendingTilesRegister.register(s,o),this._statusMap[e].frameState=r}}find(e){return this._statusMap[e]}hasPendingTiles(e,r){return!this.pendingTilesRegister.isZero(e,r)}};var ss=class extends lt{constructor(e){super(e),this._tileManager=void 0,this._tileManager=new os}traversalFinished(e){return!this._tileManager.hasPendingTiles(e.viewport.id,this._frameNumber||0)}shouldRefine(e,r){return e._lodJudge=rg(e,r),e._lodJudge==="DIG"}updateChildTiles(e,r){let n=e.header.children||[],i=e.children,o=e.tileset;for(let s of n){let a=`${s.id}-${r.viewport.id}`,c=i&&i.find(u=>u.id===a);if(c)c&&this.updateTile(c,r);else{let u=()=>this._loadTile(s.id,o);this._tileManager.find(a)?this._tileManager.update(a,r):(o.tileset.nodePages&&(u=()=>o.tileset.nodePagesTile.formTileFromNodePages(s.id)),this._tileManager.add(u,a,f=>this._onTileLoad(f,e,a),r))}}return!1}async _loadTile(e,r){let{loader:n}=r,i=r.getTileUrl(`${r.url}/nodes/${e}`),o={...r.loadOptions,i3s:{...r.loadOptions.i3s,isTileHeader:!0}};return await(0,sg.load)(i,n,o)}_onTileLoad(e,r,n){let i=new pr(r.tileset,e,r,n);r.children.push(i);let o=this._tileManager.find(i.id).frameState;this.updateTile(i,o),this._frameNumber===o.frameNumber&&(this.traversalFinished(o)||new Date().getTime()-this.lastUpdate>this.updateDebounceTime)&&this.executeTraversal(i,o)}};var dB={description:"",ellipsoid:U.WGS84,modelMatrix:new D,throttleRequests:!0,maxRequests:64,maximumMemoryUsage:32,maximumTilesSelected:0,debounceTime:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{},onTraversalComplete:t=>t,contentLoader:void 0,viewDistanceScale:1,maximumScreenSpaceError:8,loadTiles:!0,updateTransforms:!0,viewportTraversersMap:null,loadOptions:{fetch:{}},attributions:[],basePath:"",i3s:{}},as="Tiles In Tileset(s)",Au="Tiles In Memory",ag="Tiles In View",cg="Tiles To Render",ug="Tiles Loaded",_u="Tiles Loading",lg="Tiles Unloaded",fg="Failed Tile Loads",hg="Points/Vertices",vu="Tile Memory Use",ei=class{constructor(e,r){this.options=void 0,this.loadOptions=void 0,this.type=void 0,this.tileset=void 0,this.loader=void 0,this.url=void 0,this.basePath=void 0,this.modelMatrix=void 0,this.ellipsoid=void 0,this.lodMetricType=void 0,this.lodMetricValue=void 0,this.refine=void 0,this.root=null,this.roots={},this.asset={},this.description="",this.properties=void 0,this.extras=null,this.attributions={},this.credits={},this.stats=void 0,this.contentFormats={draco:!1,meshopt:!1,dds:!1,ktx2:!1},this.cartographicCenter=null,this.cartesianCenter=null,this.zoom=1,this.boundingVolume=null,this.dynamicScreenSpaceErrorComputedDensity=0,this.maximumMemoryUsage=32,this.gpuMemoryUsageInBytes=0,this._frameNumber=0,this._queryParams={},this._extensionsUsed=[],this._tiles={},this._pendingCount=0,this.selectedTiles=[],this.traverseCounter=0,this.geometricError=0,this.lastUpdatedVieports=null,this._requestedTiles=[],this._emptyTiles=[],this.frameStateData={},this._traverser=void 0,this._cache=new $o,this._requestScheduler=void 0,this.updatePromise=null,this.tilesetInitializationPromise=void 0,this.options={...dB,...r},this.tileset=e,this.loader=e.loader,this.type=e.type,this.url=e.url,this.basePath=e.basePath||It.dirname(this.url),this.modelMatrix=this.options.modelMatrix,this.ellipsoid=this.options.ellipsoid,this.lodMetricType=e.lodMetricType,this.lodMetricValue=e.lodMetricValue,this.refine=e.root.refine,this.loadOptions=this.options.loadOptions||{},this._traverser=this._initializeTraverser(),this._requestScheduler=new wt({throttleRequests:this.options.throttleRequests,maxRequests:this.options.maxRequests}),this.stats=new Mt({id:this.url}),this._initializeStats(),this.tilesetInitializationPromise=this._initializeTileSet(e)}destroy(){this._destroy()}isLoaded(){return this._pendingCount===0&&this._frameNumber!==0&&this._requestedTiles.length===0}get tiles(){return Object.values(this._tiles)}get frameNumber(){return this._frameNumber}get queryParams(){return new URLSearchParams(this._queryParams).toString()}setProps(e){this.options={...this.options,...e}}getTileUrl(e){if(e.startsWith("data:"))return e;let n=e;return this.queryParams.length&&(n=`${e}${e.includes("?")?"&":"?"}${this.queryParams}`),n}hasExtension(e){return Boolean(this._extensionsUsed.indexOf(e)>-1)}update(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;this.tilesetInitializationPromise.then(()=>{!e&&this.lastUpdatedVieports?e=this.lastUpdatedVieports:this.lastUpdatedVieports=e,e&&this.doUpdate(e)})}async selectTiles(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return await this.tilesetInitializationPromise,e&&(this.lastUpdatedVieports=e),this.updatePromise||(this.updatePromise=new Promise(r=>{setTimeout(()=>{this.lastUpdatedVieports&&this.doUpdate(this.lastUpdatedVieports),r(this._frameNumber),this.updatePromise=null},this.options.debounceTime)})),this.updatePromise}doUpdate(e){if("loadTiles"in this.options&&!this.options.loadTiles||this.traverseCounter>0)return;let r=e instanceof Array?e:[e];this._cache.reset(),this._frameNumber++,this.traverseCounter=r.length;let n=[];for(let i of r){let o=i.id;this._needTraverse(o)?n.push(o):this.traverseCounter--}for(let i of r){let o=i.id;if(this.roots[o]||(this.roots[o]=this._initializeTileHeaders(this.tileset,null)),!n.includes(o))continue;let s=Gm(i,this._frameNumber);this._traverser.traverse(this.roots[o],s,this.options)}}_needTraverse(e){let r=e;return this.options.viewportTraversersMap&&(r=this.options.viewportTraversersMap[e]),r===e}_onTraversalEnd(e){let r=e.viewport.id;this.frameStateData[r]||(this.frameStateData[r]={selectedTiles:[],_requestedTiles:[],_emptyTiles:[]});let n=this.frameStateData[r],i=Object.values(this._traverser.selectedTiles),[o,s]=Hm(i,e,this.options.maximumTilesSelected);n.selectedTiles=o;for(let a of s)a.unselect();n._requestedTiles=Object.values(this._traverser.requestedTiles),n._emptyTiles=Object.values(this._traverser.emptyTiles),this.traverseCounter--,!(this.traverseCounter>0)&&this._updateTiles()}_updateTiles(){this.selectedTiles=[],this._requestedTiles=[],this._emptyTiles=[];for(let e in this.frameStateData){let r=this.frameStateData[e];this.selectedTiles=this.selectedTiles.concat(r.selectedTiles),this._requestedTiles=this._requestedTiles.concat(r._requestedTiles),this._emptyTiles=this._emptyTiles.concat(r._emptyTiles)}this.selectedTiles=this.options.onTraversalComplete(this.selectedTiles);for(let e of this.selectedTiles)this._tiles[e.id]=e;this._loadTiles(),this._unloadTiles(),this._updateStats()}_tilesChanged(e,r){if(e.length!==r.length)return!0;let n=new Set(e.map(s=>s.id)),i=new Set(r.map(s=>s.id)),o=e.filter(s=>!i.has(s.id)).length>0;return o=o||r.filter(s=>!n.has(s.id)).length>0,o}_loadTiles(){for(let e of this._requestedTiles)e.contentUnloaded&&this._loadTile(e)}_unloadTiles(){this._cache.unloadTiles(this,(e,r)=>e._unloadTile(r))}_updateStats(){let e=0,r=0;for(let n of this.selectedTiles)n.contentAvailable&&n.content&&(e++,n.content.pointCount?r+=n.content.pointCount:r+=n.content.vertexCount);this.stats.get(ag).count=this.selectedTiles.length,this.stats.get(cg).count=e,this.stats.get(hg).count=r}async _initializeTileSet(e){this.type===pe.I3S&&(this.calculateViewPropsI3S(),e.root=await e.root),this.root=this._initializeTileHeaders(e,null),this.type===pe.TILES3D&&(this._initializeTiles3DTileset(e),this.calculateViewPropsTiles3D()),this.type===pe.I3S&&this._initializeI3STileset()}calculateViewPropsI3S(){var e;let r=this.tileset.fullExtent;if(r){let{xmin:i,xmax:o,ymin:s,ymax:a,zmin:c,zmax:u}=r;this.cartographicCenter=new T(i+(o-i)/2,s+(a-s)/2,c+(u-c)/2),this.cartesianCenter=new T,U.WGS84.cartographicToCartesian(this.cartographicCenter,this.cartesianCenter),this.zoom=du(r,this.cartographicCenter,this.cartesianCenter);return}let n=(e=this.tileset.store)===null||e===void 0?void 0:e.extent;if(n){let[i,o,s,a]=n;this.cartographicCenter=new T(i+(s-i)/2,o+(a-o)/2,0),this.cartesianCenter=new T,U.WGS84.cartographicToCartesian(this.cartographicCenter,this.cartesianCenter),this.zoom=zm(n,this.cartographicCenter,this.cartesianCenter);return}console.warn("Extent is not defined in the tileset header"),this.cartographicCenter=new T,this.zoom=1}calculateViewPropsTiles3D(){let e=this.root,{center:r}=e.boundingVolume;if(!r){console.warn("center was not pre-calculated for the root tile"),this.cartographicCenter=new T,this.zoom=1;return}r[0]!==0||r[1]!==0||r[2]!==0?(this.cartographicCenter=new T,U.WGS84.cartesianToCartographic(r,this.cartographicCenter)):this.cartographicCenter=new T(0,0,-U.WGS84.radii[0]),this.cartesianCenter=r,this.zoom=Vm(e.boundingVolume,this.cartographicCenter)}_initializeStats(){this.stats.get(as),this.stats.get(_u),this.stats.get(Au),this.stats.get(ag),this.stats.get(cg),this.stats.get(ug),this.stats.get(lg),this.stats.get(fg),this.stats.get(hg),this.stats.get(vu,"memory")}_initializeTileHeaders(e,r){let n=new pr(this,e.root,r);if(r&&(r.children.push(n),n.depth=r.depth+1),this.type===pe.TILES3D){let o=[];for(o.push(n);o.length>0;){let s=o.pop();this.stats.get(as).incrementCount();let a=s.header.children||[];for(let c of a){var i;let u=new pr(this,c,s);if((i=u.contentUrl)!==null&&i!==void 0&&i.includes("?session=")){let f=new URL(u.contentUrl).searchParams.get("session");f&&(this._queryParams.session=f)}s.children.push(u),u.depth=s.depth+1,o.push(u)}}}return n}_initializeTraverser(){let e;switch(this.type){case pe.TILES3D:e=ns;break;case pe.I3S:e=ss;break;default:e=lt}return new e({basePath:this.basePath,onTraversalEnd:this._onTraversalEnd.bind(this)})}_destroyTileHeaders(e){this._destroySubtree(e)}async _loadTile(e){let r;try{this._onStartTileLoading(),r=await e.loadContent()}catch(n){this._onTileLoadError(e,n instanceof Error?n:new Error("load failed"))}finally{this._onEndTileLoading(),this._onTileLoad(e,r)}}_onTileLoadError(e,r){this.stats.get(fg).incrementCount();let n=r.message||r.toString(),i=e.url;console.error(`A 3D tile failed to load: ${e.url} ${n}`),this.options.onTileError(e,n,i)}_onTileLoad(e,r){if(r){if(this.type===pe.I3S){var n,i;let o=((n=this.tileset)===null||n===void 0||(i=n.nodePagesTile)===null||i===void 0?void 0:i.nodesInNodePages)||0;this.stats.get(as).reset(),this.stats.get(as).addCount(o)}e&&e.content&&Dm(e,e.content),this.updateContentTypes(e),this._addTileToCache(e),this.options.onTileLoad(e)}}updateContentTypes(e){if(this.type===pe.I3S)switch(e.header.isDracoGeometry&&(this.contentFormats.draco=!0),e.header.textureFormat){case"dds":this.contentFormats.dds=!0;break;case"ktx2":this.contentFormats.ktx2=!0;break;default:}else if(this.type===pe.TILES3D){var r;let{extensionsRemoved:n=[]}=((r=e.content)===null||r===void 0?void 0:r.gltf)||{};n.includes("KHR_draco_mesh_compression")&&(this.contentFormats.draco=!0),n.includes("EXT_meshopt_compression")&&(this.contentFormats.meshopt=!0),n.includes("KHR_texture_basisu")&&(this.contentFormats.ktx2=!0)}}_onStartTileLoading(){this._pendingCount++,this.stats.get(_u).incrementCount()}_onEndTileLoading(){this._pendingCount--,this.stats.get(_u).decrementCount()}_addTileToCache(e){this._cache.add(this,e,r=>r._updateCacheStats(e))}_updateCacheStats(e){this.stats.get(ug).incrementCount(),this.stats.get(Au).incrementCount(),this.gpuMemoryUsageInBytes+=e.gpuMemoryUsageInBytes||0,this.stats.get(vu).count=this.gpuMemoryUsageInBytes}_unloadTile(e){this.gpuMemoryUsageInBytes-=e.gpuMemoryUsageInBytes||0,this.stats.get(Au).decrementCount(),this.stats.get(lg).incrementCount(),this.stats.get(vu).count=this.gpuMemoryUsageInBytes,this.options.onTileUnload(e),e.unloadContent()}_destroy(){let e=[];for(this.root&&e.push(this.root);e.length>0;){let r=e.pop();for(let n of r.children)e.push(n);this._destroyTile(r)}this.root=null}_destroySubtree(e){let r=e,n=[];for(n.push(r);n.length>0;){e=n.pop();for(let i of e.children)n.push(i);e!==r&&this._destroyTile(e)}r.children=[]}_destroyTile(e){this._cache.unloadTile(this,e),this._unloadTile(e),e.destroy()}_initializeTiles3DTileset(e){if(e.queryString){let r=new URLSearchParams(e.queryString),n=Object.fromEntries(r.entries());this._queryParams={...this._queryParams,...n}}if(this.asset=e.asset,!this.asset)throw new Error("Tileset must have an asset property.");if(this.asset.version!=="0.0"&&this.asset.version!=="1.0"&&this.asset.version!=="1.1")throw new Error("The tileset must be 3D Tiles version either 0.0 or 1.0 or 1.1.");"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}_initializeI3STileset(){this.loadOptions.i3s&&"token"in this.loadOptions.i3s&&(this._queryParams.token=this.loadOptions.i3s.token)}};var cs="4.1.0-alpha.9";var mr={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},c9=Object.keys(mr);function xu(t,e,r){H(t instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(t,e,r);return n.decode(i)}function dg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=new DataView(t);return`${String.fromCharCode(r.getUint8(e+0))}${String.fromCharCode(r.getUint8(e+1))}${String.fromCharCode(r.getUint8(e+2))}${String.fromCharCode(r.getUint8(e+3))}`}var pg="4.1.0-alpha.9";var mg={name:"Draco",id:"draco",module:"draco",version:pg,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}};function gg(t){switch(t.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function gr(t){let e=1/0,r=1/0,n=1/0,i=-1/0,o=-1/0,s=-1/0,a=t.POSITION?t.POSITION.value:[],c=a&&a.length;for(let u=0;u<c;u+=3){let l=a[u],f=a[u+1],h=a[u+2];e=l<e?l:e,r=f<r?f:r,n=h<n?h:n,i=l>i?l:i,o=f>o?f:o,s=h>s?h:s}return[[e,r,n],[i,o,s]]}function Tu(t,e,r){let n=gg(e.value),i=r||yg(e);return{name:t,type:{type:"fixed-size-list",listSize:e.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function yg(t){let e={};return"byteOffset"in t&&(e.byteOffset=t.byteOffset.toString(10)),"byteStride"in t&&(e.byteStride=t.byteStride.toString(10)),"normalized"in t&&(e.normalized=t.normalized.toString()),e}function _g(t,e,r){let n=vg(e.metadata),i=[],o=pB(e.attributes);for(let s in t){let a=t[s],c=Ag(s,a,o[s]);i.push(c)}if(r){let s=Ag("indices",r);i.push(s)}return{fields:i,metadata:n}}function pB(t){let e={};for(let r in t){let n=t[r];e[n.name||"undefined"]=n}return e}function Ag(t,e,r){let n=r?vg(r.metadata):void 0;return Tu(t,e,n)}function vg(t){Object.entries(t);let e={};for(let r in t)e[`${r}.string`]=JSON.stringify(t[r]);return e}var xg={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},mB={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},gB=4,ti=class{constructor(e){this.draco=void 0,this.decoder=void 0,this.metadataQuerier=void 0,this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(r);let i=this.decoder.GetEncodedGeometryType(n),o=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let s;switch(i){case this.draco.TRIANGULAR_MESH:s=this.decoder.DecodeBufferToMesh(n,o);break;case this.draco.POINT_CLOUD:s=this.decoder.DecodeBufferToPointCloud(n,o);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!s.ok()||!o.ptr){let h=`DRACO decompression failed: ${s.error_msg()}`;throw new Error(h)}let a=this._getDracoLoaderData(o,i,r),c=this._getMeshData(o,a,r),u=gr(c.attributes),l=_g(c.attributes,a,c.indices);return{loader:"draco",loaderData:a,header:{vertexCount:o.num_points(),boundingBox:u},...c,schema:l}}finally{this.draco.destroy(n),o&&this.draco.destroy(o)}}_getDracoLoaderData(e,r,n){let i=this._getTopLevelMetadata(e),o=this._getDracoAttributes(e,n);return{geometry_type:r,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:i,attributes:o}}_getDracoAttributes(e,r){let n={};for(let i=0;i<e.num_attributes();i++){let o=this.decoder.GetAttribute(e,i),s=this._getAttributeMetadata(e,i);n[o.unique_id()]={unique_id:o.unique_id(),attribute_type:o.attribute_type(),data_type:o.data_type(),num_components:o.num_components(),byte_offset:o.byte_offset(),byte_stride:o.byte_stride(),normalized:o.normalized(),attribute_index:i,metadata:s};let a=this._getQuantizationTransform(o,r);a&&(n[o.unique_id()].quantization_transform=a);let c=this._getOctahedronTransform(o,r);c&&(n[o.unique_id()].octahedron_transform=c)}return n}_getMeshData(e,r,n){let i=this._getMeshAttributes(r,e,n);if(!i.POSITION)throw new Error("DRACO: No position attribute found.");if(e instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:i,indices:{value:this._getTriangleStripIndices(e),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(e),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(e,r,n){let i={};for(let o of Object.values(e.attributes)){let s=this._deduceAttributeName(o,n);o.name=s;let{value:a,size:c}=this._getAttributeValues(r,o);i[s]={value:a,size:c,byteOffset:o.byte_offset,byteStride:o.byte_stride,normalized:o.normalized}}return i}_getTriangleListIndices(e){let n=e.num_faces()*3,i=n*gB,o=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(e,i,o),new Uint32Array(this.draco.HEAPF32.buffer,o,n).slice()}finally{this.draco._free(o)}}_getTriangleStripIndices(e){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(e,r),_B(r)}finally{this.draco.destroy(r)}}_getAttributeValues(e,r){let n=mB[r.data_type],i=r.num_components,s=e.num_points()*i,a=s*n.BYTES_PER_ELEMENT,c=yB(this.draco,n),u,l=this.draco._malloc(a);try{let f=this.decoder.GetAttribute(e,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(e,f,c,a,l),u=new n(this.draco.HEAPF32.buffer,l,s).slice()}finally{this.draco._free(l)}return{value:u,size:i}}_deduceAttributeName(e,r){let n=e.unique_id;for(let[s,a]of Object.entries(r.extraAttributes||{}))if(a===n)return s;let i=e.attribute_type;for(let s in xg)if(this.draco[s]===i)return xg[s];let o=r.attributeNameEntry||"name";return e.metadata[o]?e.metadata[o].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(e){let r=this.decoder.GetMetadata(e);return this._getDracoMetadata(r)}_getAttributeMetadata(e,r){let n=this.decoder.GetAttributeMetadata(e,r);return this._getDracoMetadata(n)}_getDracoMetadata(e){if(!e||!e.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(e);for(let i=0;i<n;i++){let o=this.metadataQuerier.GetEntryName(e,i);r[o]=this._getDracoMetadataField(e,o)}return r}_getDracoMetadataField(e,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(e,r,n);let i=AB(n);return{int:this.metadataQuerier.GetIntEntry(e,r),string:this.metadataQuerier.GetStringEntry(e,r),double:this.metadataQuerier.GetDoubleEntry(e,r),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(e){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=e,i=[...r,...n];for(let o of i)this.decoder.SkipAttributeTransform(this.draco[o])}_getQuantizationTransform(e,r){let{quantizedAttributes:n=[]}=r,i=e.attribute_type();if(n.map(s=>this.decoder[s]).includes(i)){let s=new this.draco.AttributeQuantizationTransform;try{if(s.InitFromAttribute(e))return{quantization_bits:s.quantization_bits(),range:s.range(),min_values:new Float32Array([1,2,3]).map(a=>s.min_value(a))}}finally{this.draco.destroy(s)}}return null}_getOctahedronTransform(e,r){let{octahedronAttributes:n=[]}=r,i=e.attribute_type();if(n.map(s=>this.decoder[s]).includes(i)){let s=new this.draco.AttributeQuantizationTransform;try{if(s.InitFromAttribute(e))return{quantization_bits:s.quantization_bits()}}finally{this.draco.destroy(s)}}return null}};function yB(t,e){switch(e){case Float32Array:return t.DT_FLOAT32;case Int8Array:return t.DT_INT8;case Int16Array:return t.DT_INT16;case Int32Array:return t.DT_INT32;case Uint8Array:return t.DT_UINT8;case Uint16Array:return t.DT_UINT16;case Uint32Array:return t.DT_UINT32;default:return t.DT_INVALID}}function AB(t){let e=t.size(),r=new Int32Array(e);for(let n=0;n<e;n++)r[n]=t.GetValue(n);return r}function _B(t){let e=t.size(),r=new Int32Array(e);for(let n=0;n<e;n++)r[n]=t.GetValue(n);return r}var vB="1.5.6",xB="1.4.1",bu=`https://www.gstatic.com/draco/versioned/decoders/${vB}`,Ee={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Eu={[Ee.DECODER]:`${bu}/${Ee.DECODER}`,[Ee.DECODER_WASM]:`${bu}/${Ee.DECODER_WASM}`,[Ee.FALLBACK_DECODER]:`${bu}/${Ee.FALLBACK_DECODER}`,[Ee.ENCODER]:`https://raw.githubusercontent.com/google/draco/${xB}/javascript/${Ee.ENCODER}`},ri;async function Tg(t){let e=t.modules||{};return e.draco3d?ri=ri||e.draco3d.createDecoderModule({}).then(r=>({draco:r})):ri=ri||TB(t),await ri}async function TB(t){let e,r;switch(t.draco&&t.draco.decoderType){case"js":e=await tt(Eu[Ee.FALLBACK_DECODER],"draco",t,Ee.FALLBACK_DECODER);break;case"wasm":default:[e,r]=await Promise.all([await tt(Eu[Ee.DECODER],"draco",t,Ee.DECODER),await tt(Eu[Ee.DECODER_WASM],"draco",t,Ee.DECODER_WASM)])}return e=e||globalThis.DracoDecoderModule,await bB(e,r)}function bB(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t({...r,onModuleLoaded:i=>n({draco:i})})})}var us={...mg,parse:EB};async function EB(t,e){let{draco:r}=await Tg(e),n=new ti(r);try{return n.parseSync(t,e?.draco)}finally{n.destroy()}}var SB={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},se={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},N={...SB,...se};var Su={[se.DOUBLE]:Float64Array,[se.FLOAT]:Float32Array,[se.UNSIGNED_SHORT]:Uint16Array,[se.UNSIGNED_INT]:Uint32Array,[se.UNSIGNED_BYTE]:Uint8Array,[se.BYTE]:Int8Array,[se.SHORT]:Int16Array,[se.INT]:Int32Array},BB={DOUBLE:se.DOUBLE,FLOAT:se.FLOAT,UNSIGNED_SHORT:se.UNSIGNED_SHORT,UNSIGNED_INT:se.UNSIGNED_INT,UNSIGNED_BYTE:se.UNSIGNED_BYTE,BYTE:se.BYTE,SHORT:se.SHORT,INT:se.INT},Bu="Failed to convert GL type",ge=class{static fromTypedArray(e){e=ArrayBuffer.isView(e)?e.constructor:e;for(let r in Su)if(Su[r]===e)return r;throw new Error(Bu)}static fromName(e){let r=BB[e];if(!r)throw new Error(Bu);return r}static getArrayType(e){switch(e){case se.UNSIGNED_SHORT_5_6_5:case se.UNSIGNED_SHORT_4_4_4_4:case se.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=Su[e];if(!r)throw new Error(Bu);return r}}static getByteSize(e){return ge.getArrayType(e).BYTES_PER_ELEMENT}static validate(e){return Boolean(ge.getArrayType(e))}static createTypedArray(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;i===void 0&&(i=(r.byteLength-n)/ge.getByteSize(e));let o=ge.getArrayType(e);return new o(r,n,i)}};function bg(t,e){if(!t)throw new Error(`math.gl assertion failed. ${e}`)}function Cu(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0],r=t>>11&31,n=t>>5&63,i=t&31;return e[0]=r<<3,e[1]=n<<2,e[2]=i<<3,e}var z9=1/256;var j9=new or,k9=new T,J9=new or,q9=new or,W9=new Uint8Array(1);function Eg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:255;return Ni(t,0,e)/e*2-1}function Sg(t){return t<0?-1:1}function Bg(t,e,r,n){if(bg(n),t<0||t>r||e<0||e>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Eg(t,r),n.y=Eg(e,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*Sg(i),n.y=(1-Math.abs(i))*Sg(n.y)}return n.normalize()}function Mu(t,e,r){return Bg(t,e,255,r)}var Tt=class{constructor(e,r){this.json=void 0,this.buffer=void 0,this.featuresLength=0,this._cachedTypedArrays={},this.json=e,this.buffer=r}getExtension(e){return this.json.extensions&&this.json.extensions[e]}hasProperty(e){return Boolean(this.json[e])}getGlobalProperty(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:N.UNSIGNED_INT,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,i=this.json[e];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(e,r,n,1,i.byteOffset):i}getPropertyArray(e,r,n){let i=this.json[e];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(r=ge.fromName(i.componentType)),this._getTypedArrayFromBinary(e,r,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(e,r,i)}getProperty(e,r,n,i,o){let s=this.json[e];if(!s)return s;let a=this.getPropertyArray(e,r,n);if(n===1)return a[i];for(let c=0;c<n;++c)o[c]=a[n*i+c];return o}_getTypedArrayFromBinary(e,r,n,i,o){let s=this._cachedTypedArrays,a=s[e];return a||(a=ge.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+o,i*n),s[e]=a),a}_getTypedArrayFromArray(e,r,n){let i=this._cachedTypedArrays,o=i[e];return o||(o=ge.createTypedArray(r,n),i[e]=o),o}};var CB={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},MB={SCALAR:(t,e)=>t[e],VEC2:(t,e)=>[t[2*e+0],t[2*e+1]],VEC3:(t,e)=>[t[3*e+0],t[3*e+1],t[3*e+2]],VEC4:(t,e)=>[t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]],MAT2:(t,e)=>[t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]],MAT3:(t,e)=>[t[9*e+0],t[9*e+1],t[9*e+2],t[9*e+3],t[9*e+4],t[9*e+5],t[9*e+6],t[9*e+7],t[9*e+8]],MAT4:(t,e)=>[t[16*e+0],t[16*e+1],t[16*e+2],t[16*e+3],t[16*e+4],t[16*e+5],t[16*e+6],t[16*e+7],t[16*e+8],t[16*e+9],t[16*e+10],t[16*e+11],t[16*e+12],t[16*e+13],t[16*e+14],t[16*e+15]]},wB={SCALAR:(t,e,r)=>{e[r]=t},VEC2:(t,e,r)=>{e[2*r+0]=t[0],e[2*r+1]=t[1]},VEC3:(t,e,r)=>{e[3*r+0]=t[0],e[3*r+1]=t[1],e[3*r+2]=t[2]},VEC4:(t,e,r)=>{e[4*r+0]=t[0],e[4*r+1]=t[1],e[4*r+2]=t[2],e[4*r+3]=t[3]},MAT2:(t,e,r)=>{e[4*r+0]=t[0],e[4*r+1]=t[1],e[4*r+2]=t[2],e[4*r+3]=t[3]},MAT3:(t,e,r)=>{e[9*r+0]=t[0],e[9*r+1]=t[1],e[9*r+2]=t[2],e[9*r+3]=t[3],e[9*r+4]=t[4],e[9*r+5]=t[5],e[9*r+6]=t[6],e[9*r+7]=t[7],e[9*r+8]=t[8],e[9*r+9]=t[9]},MAT4:(t,e,r)=>{e[16*r+0]=t[0],e[16*r+1]=t[1],e[16*r+2]=t[2],e[16*r+3]=t[3],e[16*r+4]=t[4],e[16*r+5]=t[5],e[16*r+6]=t[6],e[16*r+7]=t[7],e[16*r+8]=t[8],e[16*r+9]=t[9],e[16*r+10]=t[10],e[16*r+11]=t[11],e[16*r+12]=t[12],e[16*r+13]=t[13],e[16*r+14]=t[14],e[16*r+15]=t[15]}};function Cg(t,e,r,n){let{componentType:i}=t;H(t.componentType);let o=typeof i=="string"?ge.fromName(i):i,s=CB[t.type],a=MB[t.type],c=wB[t.type];return r+=t.byteOffset,{values:ge.createTypedArray(o,e,r,s*n),type:o,size:s,unpacker:a,packer:c}}var ft=t=>t!==void 0;function Mg(t,e,r){if(!e)return null;let n=t.getExtension("3DTILES_batch_table_hierarchy"),i=e.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),e.extensions=e.extensions||{},e.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?IB(n,r):null}function IB(t,e){let r,n,i,o=t.instancesLength,s=t.classes,a=t.classIds,c=t.parentCounts,u=t.parentIds,l=o;ft(a.byteOffset)&&(a.componentType=defaultValue(a.componentType,GL.UNSIGNED_SHORT),a.type=AttributeType.SCALAR,i=getBinaryAccessor(a),a=i.createArrayBufferView(e.buffer,e.byteOffset+a.byteOffset,o));let f;if(ft(c))for(ft(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,i=getBinaryAccessor(c),c=i.createArrayBufferView(e.buffer,e.byteOffset+c.byteOffset,o)),f=new Uint16Array(o),l=0,r=0;r<o;++r)f[r]=l,l+=c[r];ft(u)&&ft(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(e.buffer,e.byteOffset+u.byteOffset,l));let h=s.length;for(r=0;r<h;++r){let m=s[r].length,A=s[r].instances,_=getBinaryProperties(m,A,e);s[r].instances=combine(_,A)}let d=new Array(h).fill(0),p=new Uint16Array(o);for(r=0;r<o;++r)n=a[r],p[r]=d[n],++d[n];let g={classes:s,classIds:a,classIndexes:p,parentCounts:c,parentIndexes:f,parentIds:u};return LB(g),g}function Xr(t,e,r){if(!t)return;let n=t.parentCounts;return t.parentIds?r(t,e):n>0?OB(t,e,r):RB(t,e,r)}function OB(t,e,r){let n=t.classIds,i=t.parentCounts,o=t.parentIds,s=t.parentIndexes,a=n.length,c=scratchVisited;c.length=Math.max(c.length,a);let u=++marker,l=scratchStack;for(l.length=0,l.push(e);l.length>0;){if(e=l.pop(),c[e]===u)continue;c[e]=u;let f=r(t,e);if(ft(f))return f;let h=i[e],d=s[e];for(let p=0;p<h;++p){let g=o[d+p];g!==e&&l.push(g)}}return null}function RB(t,e,r){let n=!0;for(;n;){let i=r(t,e);if(ft(i))return i;let o=t.parentIds[e];n=o!==e,e=o}throw new Error("traverseHierarchySingleParent")}function LB(t){let e=[],n=t.classIds.length;for(let i=0;i<n;++i)wg(t,i,stack)}function wg(t,e,r){let n=t.parentCounts,i=t.parentIds,o=t.parentIndexes,a=t.classIds.length;if(!ft(i))return;assert(e<a,`Parent index ${e} exceeds the total number of instances: ${a}`),assert(r.indexOf(e)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(e);let c=ft(n)?n[e]:1,u=ft(n)?o[e]:e;for(let l=0;l<c;++l){let f=i[u+l];f!==e&&wg(t,f,r)}r.pop(e)}function Se(t){return t!=null}var ls=(t,e)=>t,PB={HIERARCHY:!0,extensions:!0,extras:!0},yr=class{constructor(e,r,n){var i;let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};this.json=void 0,this.binary=void 0,this.featureCount=void 0,this._extensions=void 0,this._properties=void 0,this._binaryProperties=void 0,this._hierarchy=void 0,H(n>=0),this.json=e||{},this.binary=r,this.featureCount=n,this._extensions=((i=this.json)===null||i===void 0?void 0:i.extensions)||{},this._properties={};for(let s in this.json)PB[s]||(this._properties[s]=this.json[s]);this._binaryProperties=this._initializeBinaryProperties(),o["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Mg(this,this.json,this.binary))}getExtension(e){return this.json&&this.json.extensions&&this.json.extensions[e]}memorySizeInBytes(){return 0}isClass(e,r){if(this._checkBatchId(e),H(typeof r=="string",r),this._hierarchy){let n=Xr(this._hierarchy,e,(i,o)=>{let s=i.classIds[o];return i.classes[s].name===r});return Se(n)}return!1}isExactClass(e,r){return H(typeof r=="string",r),this.getExactClassName(e)===r}getExactClassName(e){if(this._checkBatchId(e),this._hierarchy){let r=this._hierarchy.classIds[e];return this._hierarchy.classes[r].name}}hasProperty(e,r){return this._checkBatchId(e),H(typeof r=="string",r),Se(this._properties[r])||this._hasPropertyInHierarchy(e,r)}getPropertyNames(e,r){this._checkBatchId(e),r=Se(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(e,r),r}getProperty(e,r){if(this._checkBatchId(e),H(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Se(i))return this._getBinaryProperty(i,e)}let n=this._properties[r];if(Se(n))return ls(n[e],!0);if(this._hierarchy){let i=this._getHierarchyProperty(e,r);if(Se(i))return i}}setProperty(e,r,n){let i=this.featureCount;if(this._checkBatchId(e),H(typeof r=="string",r),this._binaryProperties){let s=this._binaryProperties[r];if(s){this._setBinaryProperty(s,e,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,e,r,n))return;let o=this._properties[r];Se(o)||(this._properties[r]=new Array(i),o=this._properties[r]),o[e]=ls(n,!0)}_checkBatchId(e){if(!(e>=0&&e<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(e,r){return e.unpack(e.typedArray,r)}_setBinaryProperty(e,r,n){e.pack(n,e.typedArray,r)}_initializeBinaryProperties(){let e=null;for(let r in this._properties){let n=this._properties[r],i=this._initializeBinaryProperty(r,n);i&&(e=e||{},e[r]=i)}return e}_initializeBinaryProperty(e,r){if("byteOffset"in r){let n=r;H(this.binary,`Property ${e} requires a batch table binary.`),H(n.type,`Property ${e} requires a type.`);let i=Cg(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(e,r){if(!this._hierarchy)return!1;let n=Xr(this._hierarchy,e,(i,o)=>{let s=i.classIds[o],a=i.classes[s].instances;return Se(a[r])});return Se(n)}_getPropertyNamesInHierarchy(e,r){Xr(this._hierarchy,e,(n,i)=>{let o=n.classIds[i],s=n.classes[o].instances;for(let a in s)s.hasOwnProperty(a)&&r.indexOf(a)===-1&&r.push(a)})}_getHierarchyProperty(e,r){return Xr(this._hierarchy,e,(n,i)=>{let o=n.classIds[i],s=n.classes[o],a=n.classIndexes[i],c=s.instances[r];return Se(c)?Se(c.typedArray)?this._getBinaryProperty(c,a):ls(c[a],!0):null})}_setHierarchyProperty(e,r,n,i){let o=Xr(this._hierarchy,r,(s,a)=>{let c=s.classIds[a],u=s.classes[c],l=s.classIndexes[a],f=u.instances[n];return Se(f)?(H(a===r,`Inherited property "${n}" is read-only.`),Se(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=ls(i,!0),!0):!1});return Se(o)}};function qt(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=new DataView(e);if(t.magic=n.getUint32(r,!0),r+=4,t.version=n.getUint32(r,!0),r+=4,t.byteLength=n.getUint32(r,!0),r+=4,t.version!==1)throw new Error(`3D Tile Version ${t.version} not supported`);return r}var Kr=4,Ig="b3dm tile in legacy format.";function Yr(t,e,r){let n=new DataView(e),i;t.header=t.header||{};let o=n.getUint32(r,!0);r+=Kr;let s=n.getUint32(r,!0);r+=Kr;let a=n.getUint32(r,!0);r+=Kr;let c=n.getUint32(r,!0);return r+=Kr,a>=570425344?(r-=Kr*2,i=o,a=s,c=0,o=0,s=0,console.warn(Ig)):c>=570425344&&(r-=Kr,i=a,a=o,c=s,o=0,s=0,console.warn(Ig)),t.header.featureTableJsonByteLength=o,t.header.featureTableBinaryByteLength=s,t.header.batchTableJsonByteLength=a,t.header.batchTableBinaryByteLength=c,t.header.batchLength=i,r}function Zr(t,e,r,n){return r=FB(t,e,r,n),r=DB(t,e,r,n),r}function FB(t,e,r,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:o,batchLength:s}=t.header||{};if(t.featureTableJson={BATCH_LENGTH:s||0},i&&i>0){let a=xu(e,r,i);t.featureTableJson=JSON.parse(a)}return r+=i||0,t.featureTableBinary=new Uint8Array(e,r,o),r+=o||0,r}function DB(t,e,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:o}=t.header||{};if(i&&i>0){let s=xu(e,r,i);t.batchTableJson=JSON.parse(s),r+=i,o&&o>0&&(t.batchTableBinary=new Uint8Array(e,r,o),t.batchTableBinary=new Uint8Array(t.batchTableBinary),r+=o)}return r}function wu(t,e,r){if(!e&&(!t||!t.batchIds||!r))return null;let{batchIds:n,isRGB565:i,pointCount:o=0}=t;if(n&&r){let s=new Uint8ClampedArray(o*3);for(let a=0;a<o;a++){let c=n[a],l=r.getProperty(c,"dimensions").map(f=>f*255);s[a*3]=l[0],s[a*3+1]=l[1],s[a*3+2]=l[2]}return{type:N.UNSIGNED_BYTE,value:s,size:3,normalized:!0}}if(e&&i){let s=new Uint8ClampedArray(o*3);for(let a=0;a<o;a++){let c=Cu(e[a]);s[a*3]=c[0],s[a*3+1]=c[1],s[a*3+2]=c[2]}return{type:N.UNSIGNED_BYTE,value:s,size:3,normalized:!0}}return e&&e.length===o*3?{type:N.UNSIGNED_BYTE,value:e,size:3,normalized:!0}:{type:N.UNSIGNED_BYTE,value:e||new Uint8ClampedArray,size:4,normalized:!0}}var Og=new T;function Rg(t,e){if(!e)return null;if(t.isOctEncoded16P){let r=new Float32Array((t.pointsLength||0)*3);for(let n=0;n<(t.pointsLength||0);n++)Mu(e[n*2],e[n*2+1],Og),Og.toArray(r,n*3);return{type:N.FLOAT,size:2,value:r}}return{type:N.FLOAT,size:2,value:e}}function Lg(t,e,r){return t.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(t.isQuantized=!1,NB(t,e)):{type:N.UNSIGNED_SHORT,value:e,size:3,normalized:!0}:e}function NB(t,e){let r=new T,n=new Float32Array(t.pointCount*3);for(let i=0;i<t.pointCount;i++)r.set(e[i*3],e[i*3+1],e[i*3+2]).scale(1/t.quantizedRange).multiply(t.quantizedVolumeScale).add(t.quantizedVolumeOffset).toArray(n,i*3);return n}async function Pg(t,e,r,n,i){r=qt(t,e,r),r=Yr(t,e,r),r=Zr(t,e,r,n),UB(t);let{featureTable:o,batchTable:s}=GB(t);return await kB(t,o,s,n,i),HB(t,o,n),VB(t,o,s),zB(t,o),r}function UB(t){t.attributes={positions:null,colors:null,normals:null,batchIds:null},t.isQuantized=!1,t.isTranslucent=!1,t.isRGB565=!1,t.isOctEncoded16P=!1}function GB(t){let e=new Tt(t.featureTableJson,t.featureTableBinary),r=e.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");e.featuresLength=r,t.featuresLength=r,t.pointsLength=r,t.pointCount=r,t.rtcCenter=e.getGlobalProperty("RTC_CENTER",N.FLOAT,3);let n=jB(t,e);return{featureTable:e,batchTable:n}}function HB(t,e,r){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.positions){if(e.hasProperty("POSITION"))t.attributes.positions=e.getPropertyArray("POSITION",N.FLOAT,3);else if(e.hasProperty("POSITION_QUANTIZED")){let n=e.getPropertyArray("POSITION_QUANTIZED",N.UNSIGNED_SHORT,3);if(t.isQuantized=!0,t.quantizedRange=(1<<16)-1,t.quantizedVolumeScale=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",N.FLOAT,3),!t.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(t.quantizedVolumeOffset=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",N.FLOAT,3),!t.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");t.attributes.positions=Lg(t,n,r)}}if(!t.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function VB(t,e,r){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.colors){let n=null;e.hasProperty("RGBA")?(n=e.getPropertyArray("RGBA",N.UNSIGNED_BYTE,4),t.isTranslucent=!0):e.hasProperty("RGB")?n=e.getPropertyArray("RGB",N.UNSIGNED_BYTE,3):e.hasProperty("RGB565")&&(n=e.getPropertyArray("RGB565",N.UNSIGNED_SHORT,1),t.isRGB565=!0),t.attributes.colors=wu(t,n,r)}e.hasProperty("CONSTANT_RGBA")&&(t.constantRGBA=e.getGlobalProperty("CONSTANT_RGBA",N.UNSIGNED_BYTE,4))}function zB(t,e){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.normals){let r=null;e.hasProperty("NORMAL")?r=e.getPropertyArray("NORMAL",N.FLOAT,3):e.hasProperty("NORMAL_OCT16P")&&(r=e.getPropertyArray("NORMAL_OCT16P",N.UNSIGNED_BYTE,2),t.isOctEncoded16P=!0),t.attributes.normals=Rg(t,r)}}function jB(t,e){let r=null;if(!t.batchIds&&e.hasProperty("BATCH_ID")&&(t.batchIds=e.getPropertyArray("BATCH_ID",N.UNSIGNED_SHORT,1),t.batchIds)){let n=e.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:i,batchTableBinary:o}=t;r=new yr(i,o,n)}return r}async function kB(t,e,r,n,i){let o,s,a,c=t.batchTableJson&&t.batchTableJson.extensions&&t.batchTableJson.extensions["3DTILES_draco_point_compression"];c&&(a=c.properties);let u=e.getExtension("3DTILES_draco_point_compression");if(u){s=u.properties;let f=u.byteOffset,h=u.byteLength;if(!s||!Number.isFinite(f)||!h)throw new Error("Draco properties, byteOffset, and byteLength must be defined");o=(t.featureTableBinary||[]).slice(f,f+h),t.hasPositions=Number.isFinite(s.POSITION),t.hasColors=Number.isFinite(s.RGB)||Number.isFinite(s.RGBA),t.hasNormals=Number.isFinite(s.NORMAL),t.hasBatchIds=Number.isFinite(s.BATCH_ID),t.isTranslucent=Number.isFinite(s.RGBA)}if(!o)return!0;let l={buffer:o,properties:{...s,...a},featureTableProperties:s,batchTableProperties:a,dequantizeInShader:!1};return await JB(t,l,n,i)}async function JB(t,e,r,n){if(!n)return;let i={...r,draco:{...r?.draco,extraAttributes:e.batchTableProperties||{}}};delete i["3d-tiles"];let o=await Ce(e.buffer,us,i,n),s=o.attributes.POSITION&&o.attributes.POSITION.value,a=o.attributes.COLOR_0&&o.attributes.COLOR_0.value,c=o.attributes.NORMAL&&o.attributes.NORMAL.value,u=o.attributes.BATCH_ID&&o.attributes.BATCH_ID.value,l=s&&o.attributes.POSITION.value.quantization,f=c&&o.attributes.NORMAL.value.quantization;if(l){let d=o.POSITION.data.quantization,p=d.range;t.quantizedVolumeScale=new T(p,p,p),t.quantizedVolumeOffset=new T(d.minValues),t.quantizedRange=(1<<d.quantizationBits)-1,t.isQuantizedDraco=!0}f&&(t.octEncodedRange=(1<<o.NORMAL.data.quantization.quantizationBits)-1,t.isOctEncodedDraco=!0);let h={};if(e.batchTableProperties)for(let d of Object.keys(e.batchTableProperties))o.attributes[d]&&o.attributes[d].value&&(h[d.toLowerCase()]=o.attributes[d].value);t.attributes={positions:s,colors:wu(t,a,void 0),normals:c,batchIds:u,...h}}var Iu={};de(Iu,{decode:()=>nC,name:()=>rC});function ue(t,e){if(!t)throw new Error(e||"assert failed: gltf")}var fs={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},hs={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var qB=1.33,Fg=["SCALAR","VEC2","VEC3","VEC4"],WB=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],XB=new Map(WB),KB={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},YB={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},ZB={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function ds(t){return Fg[t-1]||Fg[0]}function Qr(t){let e=XB.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function $r(t,e){let r=ZB[t.componentType],n=KB[t.type],i=YB[t.componentType],o=t.count*n,s=t.count*n*i;ue(s>=0&&s<=e.byteLength);let a=hs[t.componentType],c=fs[t.type];return{ArrayType:r,length:o,byteLength:s,componentByteSize:a,numberOfComponentsInElement:c}}function ni(t){let{images:e,bufferViews:r}=t;e=e||[],r=r||[];let n=e.map(s=>s.bufferView);r=r.filter(s=>!n.includes(s));let i=r.reduce((s,a)=>s+a.byteLength,0),o=e.reduce((s,a)=>{let{width:c,height:u}=a.image;return s+c*u},0);return i+Math.ceil(4*o*qB)}function Dg(t,e,r){let n=t.bufferViews[r];ue(n);let i=n.buffer,o=e[i];ue(o);let s=(n.byteOffset||0)+o.byteOffset;return new Uint8Array(o.arrayBuffer,s,n.byteLength)}function Ng(t,e,r){var n,i;let o=typeof r=="number"?(n=t.accessors)===null||n===void 0?void 0:n[r]:r;if(!o)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let s=(i=t.bufferViews)===null||i===void 0?void 0:i[o.bufferView||0];if(!s)throw new Error(`No gltf buffer view for accessor ${s}`);let{arrayBuffer:a,byteOffset:c}=e[s.buffer],u=(c||0)+(o.byteOffset||0)+(s.byteOffset||0),{ArrayType:l,length:f,componentByteSize:h,numberOfComponentsInElement:d}=$r(o,s),p=h*d,g=s.byteStride||p;if(typeof s.byteStride>"u"||s.byteStride===p)return new l(a,u,f);let m=new l(f);for(let A=0;A<o.count;A++){let _=new l(a,u+A*g,d);m.set(_,A*d)}return m}function QB(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var q=class{constructor(e){this.gltf=void 0,this.sourceBuffers=void 0,this.byteLength=void 0,this.gltf={json:e?.json||QB(),buffers:e?.buffers||[],images:e?.images||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}hasExtension(e){let r=this.getUsedExtensions().find(i=>i===e),n=this.getRequiredExtensions().find(i=>i===e);return typeof r=="string"||typeof n=="string"}getExtension(e){let r=this.getUsedExtensions().find(i=>i===e),n=this.json.extensions||{};return r?n[e]:null}getRequiredExtension(e){return this.getRequiredExtensions().find(n=>n===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(e,r){return(e.extensions||{})[r]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,r){if(typeof r=="object")return r;let n=this.json[e]&&this.json[e][r];if(!n)throw new Error(`glTF file error: Could not find ${e}[${r}]`);return n}getTypedArrayForBufferView(e){e=this.getBufferView(e);let r=e.buffer,n=this.gltf.buffers[r];ue(n);let i=(e.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,e.byteLength)}getTypedArrayForAccessor(e){let r=this.getAccessor(e);return Ng(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(e){e=this.getAccessor(e);let r=this.getBufferView(e.bufferView),i=this.getBuffer(r.buffer).data,o=r.byteOffset||0;return new Uint8Array(i,o,r.byteLength)}addApplicationData(e,r){return this.json[e]=r,this}addExtraData(e,r){return this.json.extras=this.json.extras||{},this.json.extras[e]=r,this}addObjectExtension(e,r,n){return e.extensions=e.extensions||{},e.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(e,r,n){let i=e.extensions||{};i[r]=n}removeObjectExtension(e,r){let n=e?.extensions||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(r)||i.push(r)}delete n[r]}addExtension(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ue(r),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=r,this.registerUsedExtension(e),r}addRequiredExtension(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ue(r),this.addExtension(e,r),this.registerRequiredExtension(e),r}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===e)||this.json.extensionsRequired.push(e)}removeExtension(e){var r;if((r=this.json.extensions)!==null&&r!==void 0&&r[e]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(e)||n.push(e)}this.json.extensions&&delete this.json.extensions[e],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e)}setDefaultScene(e){this.json.scene=e}addScene(e){let{nodeIndices:r}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(e){let{meshIndex:r,matrix:n}=e;this.json.nodes=this.json.nodes||[];let i={mesh:r};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(e){let{attributes:r,indices:n,material:i,mode:o=4}=e,a={primitives:[{attributes:this._addAttributes(r),mode:o}]};if(n){let c=this._addIndices(n);a.primitives[0].indices=c}return Number.isFinite(i)&&(a.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){let n={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(e,r){let n=ir(e),i=r||n?.mimeType,s={bufferView:this.addBufferView(e),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(s),this.json.images.length-1}addBufferView(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.byteLength,i=e.byteLength;ue(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);let o={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Ct(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(o),this.json.bufferViews.length-1}addAccessor(e,r){let n={bufferView:e,type:ds(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{size:3},n=this.addBufferView(e),i={min:r.min,max:r.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(e,r.size));let o={size:r.size,componentType:Qr(e),count:Math.round(e.length/r.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(o,r))}addTexture(e){let{imageIndex:r}=e,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,r;this.gltf.buffers=[];let n=this.byteLength,i=new ArrayBuffer(n),o=new Uint8Array(i),s=0;for(let a of this.sourceBuffers||[])s=Aa(a,o,s);(e=this.json)!==null&&e!==void 0&&(r=e.buffers)!==null&&r!==void 0&&r[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=i,this.sourceBuffers=[i]}_removeStringFromArray(e,r){let n=!0;for(;n;){let i=e.indexOf(r);i>-1?e.splice(i,1):n=!1}}_addAttributes(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={};for(let n in e){let i=e[n],o=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);r[o]=s}return r}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(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}}_getAccessorMinMax(e,r){let n={min:null,max:null};if(e.length<r)return n;n.min=[],n.max=[];let i=e.subarray(0,r);for(let o of i)n.min.push(o),n.max.push(o);for(let o=r;o<e.length;o+=r)for(let s=0;s<r;s++)n.min[0+s]=Math.min(n.min[0+s],e[o+s]),n.max[0+s]=Math.max(n.max[0+s],e[o+s]);return n}};function Ug(t){return(t%1+1)%1}var Gg={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},$B={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Hg={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function ii(t,e){return Hg[e]*Gg[t]}function en(t,e,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=t.getTypedArrayForBufferView(e),o=tn(i,"SCALAR",r,n+1);return o instanceof BigInt64Array||o instanceof BigUint64Array?null:o}function tn(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,i=Gg[e],o=$B[r],s=Hg[r],a=n*i,c=a*s,u=t.buffer,l=t.byteOffset;return l%s!==0&&(u=new Uint8Array(u).slice(l,l+c).buffer,l=0),new o(u,l,a)}function rn(t,e,r){var n,i;let o=`TEXCOORD_${e.texCoord||0}`,s=r.attributes[o],a=t.getTypedArrayForAccessor(s),c=t.gltf.json,u=e.index,l=(n=c.textures)===null||n===void 0||(i=n[u])===null||i===void 0?void 0:i.source;if(typeof l<"u"){var f,h,d;let p=(f=c.images)===null||f===void 0||(h=f[l])===null||h===void 0?void 0:h.mimeType,g=(d=t.gltf.images)===null||d===void 0?void 0:d[l];if(g&&typeof g.width<"u"){let m=[];for(let A=0;A<a.length;A+=2){let _=eC(g,p,a,A,e.channels);m.push(_)}return m}}return[]}function ps(t,e,r,n,i){if(!(r!=null&&r.length))return;let o=[];for(let l of r){let f=n.findIndex(h=>h===l);f===-1&&(f=n.push(l)-1),o.push(f)}let s=new Uint32Array(o),a=t.gltf.buffers.push({arrayBuffer:s.buffer,byteOffset:s.byteOffset,byteLength:s.byteLength})-1,c=t.addBufferView(s,a,0),u=t.addAccessor(c,{size:1,componentType:Qr(s),count:s.length});i.attributes[e]=u}function eC(t,e,r,n){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[0],o={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},s=r[n],a=r[n+1],c=1;e&&(e.indexOf("image/jpeg")!==-1||e.indexOf("image/png")!==-1)&&(c=4);let u=tC(s,a,t,c),l=0;for(let f of i){let h=typeof f=="number"?Object.values(o)[f]:o[f],d=u+h.offset,p=Bn(t);if(p.data.length<=d)throw new Error(`${p.data.length} <= ${d}`);let g=p.data[d];l|=g<<h.shift}return l}function tC(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,i=r.width,o=Ug(t)*(i-1),s=Math.round(o),a=r.height,c=Ug(e)*(a-1),u=Math.round(c),l=r.components?r.components:n;return(u*i+s)*l}function ms(t,e,r,n,i){let o=[];for(let s=0;s<e;s++){let a=r[s],c=r[s+1]-r[s];if(c+a>n)break;let u=a/i,l=c/i;o.push(t.slice(u,u+l))}return o}function gs(t,e,r){let n=[];for(let i=0;i<e;i++){let o=i*r;n.push(t.slice(o,o+r))}return n}function ys(t,e,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let i=[],o=new TextDecoder("utf8"),s=0;for(let a=0;a<t;a++){let c=n[a+1]-n[a];if(c+s<=e.length){let u=e.subarray(s,c+s),l=o.decode(u);i.push(l),s+=c}}return i}return[]}var Vg="EXT_mesh_features",rC=Vg;async function nC(t,e){let r=new q(t);iC(r,e)}function iC(t,e){let r=t.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)oC(t,i,e)}function oC(t,e,r){var n,i;if(!(r!=null&&(n=r.gltf)!==null&&n!==void 0&&n.loadBuffers))return;let o=(i=e.extensions)===null||i===void 0?void 0:i[Vg],s=o?.featureIds;if(s)for(let c of s){var a;let u;if(typeof c.attribute<"u"){let l=`_FEATURE_ID_${c.attribute}`,f=e.attributes[l];u=t.getTypedArrayForAccessor(f)}else typeof c.texture<"u"&&r!==null&&r!==void 0&&(a=r.gltf)!==null&&a!==void 0&&a.loadImages?u=rn(t,c.texture,e):u=[];c.data=u}}var Lu={};de(Lu,{decode:()=>aC,name:()=>sC});var Ou="EXT_structural_metadata",sC=Ou;async function aC(t,e){let r=new q(t);cC(r,e)}function cC(t,e){var r,n;if(!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let i=t.getExtension(Ou);i&&((n=e.gltf)!==null&&n!==void 0&&n.loadImages&&uC(t,i),lC(t,i))}function uC(t,e){let r=e.propertyTextures,n=t.gltf.json;if(r&&n.meshes)for(let i of n.meshes)for(let o of i.primitives)hC(t,r,o,e)}function lC(t,e){let r=e.schema;if(!r)return;let n=r.classes,i=e.propertyTables;if(n&&i)for(let o in n){let s=fC(i,o);s&&pC(t,r,s)}}function fC(t,e){for(let r of t)if(r.class===e)return r;return null}function hC(t,e,r,n){var i;if(!e)return;let o=(i=r.extensions)===null||i===void 0?void 0:i[Ou],s=o?.propertyTextures;if(s)for(let a of s){let c=e[a];dC(t,c,r,n)}}function dC(t,e,r,n){if(!e.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=e.class;for(let s in e.properties){var o;let a=`${i}_${s}`,c=(o=e.properties)===null||o===void 0?void 0:o[s];if(!c)continue;c.data||(c.data=[]);let u=c.data,l=rn(t,c,r);l!==null&&(ps(t,a,l,u,r),c.data=u,n.dataAttributeNames.push(a))}}function pC(t,e,r){var n;let i=(n=e.classes)===null||n===void 0?void 0:n[r.class];if(!i)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let a in i.properties){var s;let c=i.properties[a],u=(s=r.properties)===null||s===void 0?void 0:s[a];if(u){let l=mC(t,e,c,o,u);u.data=l}}}function mC(t,e,r,n,i){let o=[],s=i.values,a=t.getTypedArrayForBufferView(s),c=gC(t,r,i,n),u=yC(t,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{o=AC(r,n,a,c);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{o=ys(n,a,c,u);break}case"ENUM":{o=_C(e,r,n,a,c);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return o}function gC(t,e,r,n){return e.array&&typeof e.count>"u"&&typeof r.arrayOffsets<"u"?en(t,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function yC(t,e,r){return typeof e.stringOffsets<"u"?en(t,e.stringOffsets,e.stringOffsetType||"UINT32",r):null}function AC(t,e,r,n){let i=t.array,o=t.count,s=ii(t.type,t.componentType),a=r.byteLength/s,c;return t.componentType?c=tn(r,t.type,t.componentType,a):c=r,i?n?ms(c,e,n,r.length,s):o?gs(c,e,o):[]:c}function _C(t,e,r,n,i){var o;let s=e.enumType;if(!s)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let a=(o=t.enums)===null||o===void 0?void 0:o[s];if(!a)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${s}`);let c=a.valueType||"UINT16",u=ii(e.type,c),l=n.byteLength/u,f=tn(n,e.type,c,l);if(f||(f=n),e.array){if(i)return vC({valuesData:f,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:a});let h=e.count;return h?xC(f,r,h,a):[]}return Ru(f,0,r,a)}function vC(t){let{valuesData:e,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:i,elementSize:o,enumEntry:s}=t,a=[];for(let c=0;c<r;c++){let u=n[c],l=n[c+1]-n[c];if(l+u>i)break;let f=u/o,h=l/o,d=Ru(e,f,h,s);a.push(d)}return a}function xC(t,e,r,n){let i=[];for(let o=0;o<e;o++){let s=r*o,a=Ru(t,s,r,n);i.push(a)}return i}function Ru(t,e,r,n){let i=[];for(let o=0;o<r;o++)if(t instanceof BigInt64Array||t instanceof BigUint64Array)i.push("");else{let s=t[e+o],a=TC(n,s);a?i.push(a.name):i.push("")}return i}function TC(t,e){for(let r of t.values)if(r.value===e)return r;return null}var Pu={};de(Pu,{decode:()=>EC,name:()=>bC});var zg="EXT_feature_metadata",bC=zg;async function EC(t,e){let r=new q(t);SC(r,e)}function SC(t,e){var r,n;if(!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let i=t.getExtension(zg);i&&((n=e.gltf)!==null&&n!==void 0&&n.loadImages&&BC(t,i),CC(t,i))}function BC(t,e){let r=e.schema;if(!r)return;let n=r.classes,{featureTextures:i}=e;if(n&&i)for(let o in n){let s=n[o],a=wC(i,o);a&&OC(t,a,s)}}function CC(t,e){let r=e.schema;if(!r)return;let n=r.classes,i=e.featureTables;if(n&&i)for(let o in n){let s=MC(i,o);s&&IC(t,r,s)}}function MC(t,e){for(let r in t){let n=t[r];if(n.class===e)return n}return null}function wC(t,e){for(let r in t){let n=t[r];if(n.class===e)return n}return null}function IC(t,e,r){var n;if(!r.class)return;let i=(n=e.classes)===null||n===void 0?void 0:n[r.class];if(!i)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let a in i.properties){var s;let c=i.properties[a],u=(s=r.properties)===null||s===void 0?void 0:s[a];if(u){let l=RC(t,e,c,o,u);u.data=l}}}function OC(t,e,r){let n=e.class;for(let o in r.properties){var i;let s=e==null||(i=e.properties)===null||i===void 0?void 0:i[o];if(s){let a=NC(t,s,n);s.data=a}}}function RC(t,e,r,n,i){let o=[],s=i.bufferView,a=t.getTypedArrayForBufferView(s),c=LC(t,r,i,n),u=PC(t,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?o=ys(n,a,c,u):FC(r)&&(o=DC(r,n,a,c)),o}function LC(t,e,r,n){return e.type==="ARRAY"&&typeof e.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?en(t,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function PC(t,e,r,n){return typeof r.stringOffsetBufferView<"u"?en(t,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function FC(t){let e=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return e.includes(t.type)||typeof t.componentType<"u"&&e.includes(t.componentType)}function DC(t,e,r,n){let i=t.type==="ARRAY",o=t.componentCount,s="SCALAR",a=t.componentType||t.type,c=ii(s,a),u=r.byteLength/c,l=tn(r,s,a,u);return i?n?ms(l,e,n,r.length,c):o?gs(l,e,o):[]:l}function NC(t,e,r){let n=t.gltf.json;if(!n.meshes)return[];let i=[];for(let o of n.meshes)for(let s of o.primitives)UC(t,r,e,i,s);return i}function UC(t,e,r,n,i){let o={channels:r.channels,...r.texture},s=rn(t,o,i);s&&ps(t,e,s,n,i)}var jg="4.1.0-alpha.9";var nn=!0,kg=1735152710,Nu=12,As=8,GC=1313821514,HC=5130562,VC=0,zC=0,jC=1;function kC(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}function Jg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=new DataView(t),{magic:i=kg}=r,o=n.getUint32(e,!1);return o===i||o===kg}function qg(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=new DataView(e),o=kC(i,r+0),s=i.getUint32(r+4,nn),a=i.getUint32(r+8,nn);switch(Object.assign(t,{header:{byteOffset:r,byteLength:a,hasBinChunk:!1},type:o,version:s,json:{},binChunks:[]}),r+=Nu,t.version){case 1:return JC(t,i,r);case 2:return qC(t,i,r,n={});default:throw new Error(`Invalid GLB version ${t.version}. Only supports version 1 and 2.`)}}function JC(t,e,r){H(t.header.byteLength>Nu+As);let n=e.getUint32(r+0,nn),i=e.getUint32(r+4,nn);return r+=As,H(i===VC),Fu(t,e,r,n),r+=n,r+=Du(t,e,r,t.header.byteLength),r}function qC(t,e,r,n){return H(t.header.byteLength>Nu+As),WC(t,e,r,n),r+t.header.byteLength}function WC(t,e,r,n){for(;r+8<=t.header.byteLength;){let i=e.getUint32(r+0,nn),o=e.getUint32(r+4,nn);switch(r+=As,o){case GC:Fu(t,e,r,i);break;case HC:Du(t,e,r,i);break;case zC:n.strict||Fu(t,e,r,i);break;case jC:n.strict||Du(t,e,r,i);break;default:break}r+=Ct(i,4)}return r}function Fu(t,e,r,n){let i=new Uint8Array(e.buffer,r,n),s=new TextDecoder("utf8").decode(i);return t.json=JSON.parse(s),Ct(n,4)}function Du(t,e,r,n){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:e.buffer}),Ct(n,4)}function Uu(t,e){if(t.startsWith("data:")||t.startsWith("http:")||t.startsWith("https:"))return t;let n=e.baseUri||e.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${t}`);return n.substr(0,n.lastIndexOf("/")+1)+t}var Hu={};de(Hu,{decode:()=>oM,name:()=>iM});var XC="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",KC="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",YC=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),ZC=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),QC={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},$C={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Wg(t,e,r,n,i){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"NONE",s=await eM();nM(s,s.exports[$C[i]],t,e,r,n,s.exports[QC[o||"NONE"]])}var Gu;async function eM(){return Gu||(Gu=tM()),Gu}async function tM(){let t=XC;WebAssembly.validate(YC)&&(t=KC,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let e=await WebAssembly.instantiate(rM(t),{});return await e.instance.exports.__wasm_call_ctors(),e.instance}function rM(t){let e=new Uint8Array(t.length);for(let n=0;n<t.length;++n){let i=t.charCodeAt(n);e[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let r=0;for(let n=0;n<t.length;++n)e[r++]=e[n]<60?ZC[e[n]]:(e[n]-60)*64+e[++n];return e.buffer.slice(0,r)}function nM(t,e,r,n,i,o,s){let a=t.exports.sbrk,c=n+3&-4,u=a(c*i),l=a(o.length),f=new Uint8Array(t.exports.memory.buffer);f.set(o,l);let h=e(u,n,i,l,o.length);if(h===0&&s&&s(u,c,i),r.set(f.subarray(u,u+n*i)),a(u-a(0)),h!==0)throw new Error(`Malformed buffer data: ${h}`)}var _s="EXT_meshopt_compression",iM=_s;async function oM(t,e){var r,n;let i=new q(t);if(!(e!=null&&(r=e.gltf)!==null&&r!==void 0&&r.decompressMeshes)||!((n=e.gltf)!==null&&n!==void 0&&n.loadBuffers))return;let o=[];for(let s of t.json.bufferViews||[])o.push(sM(i,s));await Promise.all(o),i.removeExtension(_s)}async function sM(t,e){let r=t.getObjectExtension(e,_s);if(r){let{byteOffset:n=0,byteLength:i=0,byteStride:o,count:s,mode:a,filter:c="NONE",buffer:u}=r,l=t.gltf.buffers[u],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,i),h=new Uint8Array(t.gltf.buffers[e.buffer].arrayBuffer,e.byteOffset,e.byteLength);await Wg(h,s,o,f,a,c),t.removeObjectExtension(e,_s)}}var Vu={};de(Vu,{name:()=>aM,preprocess:()=>cM});var on="EXT_texture_webp",aM=on;function cM(t,e){let r=new q(t);if(!Ia("image/webp")){if(r.getRequiredExtensions().includes(on))throw new Error(`gltf: Required extension ${on} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let o=r.getObjectExtension(i,on);o&&(i.source=o.source),r.removeObjectExtension(i,on)}r.removeExtension(on)}var zu={};de(zu,{name:()=>uM,preprocess:()=>lM});var vs="KHR_texture_basisu",uM=vs;function lM(t,e){let r=new q(t),{json:n}=r;for(let i of n.textures||[]){let o=r.getObjectExtension(i,vs);o&&(i.source=o.source,r.removeObjectExtension(i,vs))}r.removeExtension(vs)}var ku={};de(ku,{decode:()=>mM,encode:()=>gM,name:()=>dM,preprocess:()=>pM});function Xg(t){let e={};for(let r in t){let n=t[r];if(r!=="indices"){let i=ju(n);e[r]=i}}return e}function ju(t){let{buffer:e,size:r,count:n}=fM(t);return{value:e,size:r,byteOffset:0,count:n,type:ds(r),componentType:Qr(e)}}function fM(t){let e=t,r=1,n=0;return t&&t.value&&(e=t.value,r=t.size||1),e&&(ArrayBuffer.isView(e)||(e=hM(e,Float32Array)),n=e.length/r),{buffer:e,size:r,count:n}}function hM(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return t?Array.isArray(t)?new e(t):r&&!(t instanceof e)?new e(t):t:null}var Wt="KHR_draco_mesh_compression",dM=Wt;function pM(t,e,r){let n=new q(t);for(let i of Kg(n))n.getObjectExtension(i,Wt)}async function mM(t,e,r){var n;if(!(e!=null&&(n=e.gltf)!==null&&n!==void 0&&n.decompressMeshes))return;let i=new q(t),o=[];for(let s of Kg(i))i.getObjectExtension(s,Wt)&&o.push(yM(i,s,e,r));await Promise.all(o),i.removeExtension(Wt)}function gM(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=new q(t);for(let n of r.json.meshes||[])AM(n,e),r.addRequiredExtension(Wt)}async function yM(t,e,r,n){let i=t.getObjectExtension(e,Wt);if(!i)return;let o=t.getTypedArrayForBufferView(i.bufferView),s=$t(o.buffer,o.byteOffset),a={...r};delete a["3d-tiles"];let c=await Ce(s,us,a,n),u=Xg(c.attributes);for(let[l,f]of Object.entries(u))if(l in e.attributes){let h=e.attributes[l],d=t.getAccessor(h);d!=null&&d.min&&d!==null&&d!==void 0&&d.max&&(f.min=d.min,f.max=d.max)}e.attributes=u,c.indices&&(e.indices=ju(c.indices)),t.removeObjectExtension(e,Wt),_M(e)}function AM(t,e){var r;let n=arguments.length>2&&arguments[2]!==void 0?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");let s=i.DracoWriter.encodeSync({attributes:t}),a=o==null||(r=o.parseSync)===null||r===void 0?void 0:r.call(o,{attributes:t}),c=i._addFauxAttributes(a.attributes),u=i.addBufferView(s);return{primitives:[{attributes:c,mode:n,extensions:{[Wt]:{bufferView:u,attributes:c}}}]}}function _M(t){if(!t.attributes&&Object.keys(t.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Kg(t){for(let e of t.json.meshes||[])for(let r of e.primitives)yield r}var qu={};de(qu,{decode:()=>bM,name:()=>vM});var Ju="KHR_texture_transform",vM=Ju,xs=new T,xM=new j,TM=new j;async function bM(t,e){var r;if(!new q(t).hasExtension(Ju)||!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let o=t.json.materials||[];for(let s=0;s<o.length;s++)EM(s,t)}function EM(t,e){var r,n,i;let o=[],s=(r=e.json.materials)===null||r===void 0?void 0:r[t],a=s==null||(n=s.pbrMetallicRoughness)===null||n===void 0?void 0:n.baseColorTexture;a&&oi(e,t,a,o);let c=s?.emissiveTexture;c&&oi(e,t,c,o);let u=s?.normalTexture;u&&oi(e,t,u,o);let l=s?.occlusionTexture;l&&oi(e,t,l,o);let f=s==null||(i=s.pbrMetallicRoughness)===null||i===void 0?void 0:i.metallicRoughnessTexture;f&&oi(e,t,f,o)}function oi(t,e,r,n){let i=SM(r,n);if(!i)return;let o=t.json.meshes||[];for(let s of o)for(let a of s.primitives){let c=a.material;Number.isFinite(c)&&e===c&&BM(t,a,i)}}function SM(t,e){var r;let n=(r=t.extensions)===null||r===void 0?void 0:r[Ju],{texCoord:i=0}=t,{texCoord:o=i}=n;if(!(e.findIndex(a=>{let[c,u]=a;return c===i&&u===o})!==-1)){let a=wM(n);return i!==o&&(t.texCoord=o),e.push([i,o]),{originalTexCoord:i,texCoord:o,matrix:a}}return null}function BM(t,e,r){let{originalTexCoord:n,texCoord:i,matrix:o}=r,s=e.attributes[`TEXCOORD_${n}`];if(Number.isFinite(s)){var a;let u=(a=t.json.accessors)===null||a===void 0?void 0:a[s];if(u&&u.bufferView){var c;let l=(c=t.json.bufferViews)===null||c===void 0?void 0:c[u.bufferView];if(l){let{arrayBuffer:f,byteOffset:h}=t.buffers[l.buffer],d=(h||0)+(u.byteOffset||0)+(l.byteOffset||0),{ArrayType:p,length:g}=$r(u,l),m=hs[u.componentType],A=fs[u.type],_=l.byteStride||m*A,v=new Float32Array(g);for(let x=0;x<u.count;x++){let B=new p(f,d+x*_,2);xs.set(B[0],B[1],1),xs.transformByMatrix3(o),v.set([xs[0],xs[1]],x*A)}n===i?CM(u,l,t.buffers,v):MM(i,u,e,t,v)}}}}function CM(t,e,r,n){t.componentType=5126,r.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),e.buffer=r.length-1,e.byteLength=n.buffer.byteLength,e.byteOffset=0,delete e.byteStride}function MM(t,e,r,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});let o=n.json.bufferViews;if(!o)return;o.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let s=n.json.accessors;s&&(s.push({bufferView:o?.length-1,byteOffset:0,componentType:5126,count:e.count,type:"VEC2"}),r.attributes[`TEXCOORD_${t}`]=s.length-1)}function wM(t){let{offset:e=[0,0],rotation:r=0,scale:n=[1,1]}=t,i=new j().set(1,0,0,0,1,0,e[0],e[1],1),o=xM.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),s=TM.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(o).multiplyRight(s)}var Wu={};de(Wu,{decode:()=>OM,encode:()=>RM,name:()=>IM});var Ar="KHR_lights_punctual",IM=Ar;async function OM(t){let e=new q(t),{json:r}=e,n=e.getExtension(Ar);n&&(e.json.lights=n.lights,e.removeExtension(Ar));for(let i of r.nodes||[]){let o=e.getObjectExtension(i,Ar);o&&(i.light=o.light),e.removeObjectExtension(i,Ar)}}async function RM(t){let e=new q(t),{json:r}=e;if(r.lights){let n=e.addExtension(Ar);ue(!n.lights),n.lights=r.lights,delete r.lights}if(e.json.lights){for(let n of e.json.lights){let i=n.node;e.addObjectExtension(i,Ar,n)}delete e.json.lights}}var Xu={};de(Xu,{decode:()=>PM,encode:()=>FM,name:()=>LM});var si="KHR_materials_unlit",LM=si;async function PM(t){let e=new q(t),{json:r}=e;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),e.removeObjectExtension(n,si);e.removeExtension(si)}function FM(t){let e=new q(t),{json:r}=e;if(e.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,e.addObjectExtension(n,si,{}),e.addExtension(si))}var Ku={};de(Ku,{decode:()=>NM,encode:()=>UM,name:()=>DM});var ai="KHR_techniques_webgl",DM=ai;async function NM(t){let e=new q(t),{json:r}=e,n=e.getExtension(ai);if(n){let i=GM(n,e);for(let o of r.materials||[]){let s=e.getObjectExtension(o,ai);s&&(o.technique=Object.assign({},s,i[s.technique]),o.technique.values=HM(o.technique,e)),e.removeObjectExtension(o,ai)}e.removeExtension(ai)}}async function UM(t,e){}function GM(t,e){let{programs:r=[],shaders:n=[],techniques:i=[]}=t,o=new TextDecoder;return n.forEach(s=>{if(Number.isFinite(s.bufferView))s.code=o.decode(e.getTypedArrayForBufferView(s.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(s=>{s.fragmentShader=n[s.fragmentShader],s.vertexShader=n[s.vertexShader]}),i.forEach(s=>{s.program=r[s.program]}),i}function HM(t,e){let r=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(n=>{t.uniforms[n].value&&!(n in r)&&(r[n]=t.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=e.getTexture(r[n].index))}),r}var Yg=[Lu,Iu,Hu,Vu,zu,ku,Wu,Xu,Ku,qu,Pu];function Zg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=Yg.filter(o=>$g(o.name,e));for(let o of n){var i;(i=o.preprocess)===null||i===void 0||i.call(o,t,e,r)}}async function Qg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=Yg.filter(o=>$g(o.name,e));for(let o of n){var i;await((i=o.decode)===null||i===void 0?void 0:i.call(o,t,e,r))}}function $g(t,e){var r;let n=(e==null||(r=e.gltf)===null||r===void 0?void 0:r.excludeExtensions)||{};return!(t in n&&!n[t])}var Yu="KHR_binary_glTF";function e0(t){let e=new q(t),{json:r}=e;for(let n of r.images||[]){let i=e.getObjectExtension(n,Yu);i&&Object.assign(n,i),e.removeObjectExtension(n,Yu)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,e.removeExtension(Yu)}var t0={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},zM={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},Zu=class{constructor(){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}},this.json=void 0}normalize(e,r){this.json=e.json;let n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),e0(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(let r in t0)this._convertTopLevelObjectToArray(e,r)}_convertTopLevelObjectToArray(e,r){let n=e[r];if(!(!n||Array.isArray(n))){e[r]=[];for(let i in n){let o=n[i];o.id=o.id||i;let s=e[r].length;e[r].push(o),this.idToIndexMap[r][i]=s}}}_convertObjectIdsToArrayIndices(e){for(let r in t0)this._convertIdsToIndices(e,r);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(let r of e.textures)this._convertTextureIds(r);for(let r of e.meshes)this._convertMeshIds(r);for(let r of e.nodes)this._convertNodeIds(r);for(let r of e.scenes)this._convertSceneIds(r)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(let r of e.primitives){let{attributes:n,indices:i,material:o}=r;for(let s in n)n[s]=this._convertIdToIndex(n[s],"accessor");i&&(r.indices=this._convertIdToIndex(i,"accessor")),o&&(r.material=this._convertIdToIndex(o,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(r=>this._convertIdToIndex(r,"node"))),e.meshes&&(e.meshes=e.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(e,r){e[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),e[r]=[]);for(let n of e[r])for(let i in n){let o=n[i],s=this._convertIdToIndex(o,i);n[i]=s}}_convertIdToIndex(e,r){let n=zM[r];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][e];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${r} with id ${e}`);return i}return e}_updateObjects(e){for(let r of this.json.buffers)delete r.type}_updateMaterial(e){for(let o of e.materials){var r,n,i;o.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let s=((r=o.values)===null||r===void 0?void 0:r.tex)||((n=o.values)===null||n===void 0?void 0:n.texture2d_0)||((i=o.values)===null||i===void 0?void 0:i.diffuseTex),a=e.textures.findIndex(c=>c.id===s);a!==-1&&(o.pbrMetallicRoughness.baseColorTexture={index:a})}}};function r0(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return new Zu().normalize(t,e)}async function n0(t,e){var r,n,i;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return jM(t,e,o,s),r0(t,{normalize:s==null||(r=s.gltf)===null||r===void 0?void 0:r.normalize}),Zg(t,s,a),s!=null&&(n=s.gltf)!==null&&n!==void 0&&n.loadBuffers&&t.json.buffers&&await kM(t,s,a),s!=null&&(i=s.gltf)!==null&&i!==void 0&&i.loadImages&&await JM(t,s,a),await Qg(t,s,a),t}function jM(t,e,r,n){if(n.uri&&(t.baseUri=n.uri),e instanceof ArrayBuffer&&!Jg(e,r,n)&&(e=new TextDecoder().decode(e)),typeof e=="string")t.json=ya(e);else if(e instanceof ArrayBuffer){let s={};r=qg(s,e,r,n.glb),ue(s.type==="glTF",`Invalid GLB magic string ${s.type}`),t._glb=s,t.json=s.json}else ue(!1,"GLTF: must be ArrayBuffer or string");let i=t.json.buffers||[];if(t.buffers=new Array(i.length).fill(null),t._glb&&t._glb.header.hasBinChunk){let{binChunks:s}=t._glb;t.buffers[0]={arrayBuffer:s[0].arrayBuffer,byteOffset:s[0].byteOffset,byteLength:s[0].byteLength}}let o=t.json.images||[];t.images=new Array(o.length).fill({})}async function kM(t,e,r){let n=t.json.buffers||[];for(let s=0;s<n.length;++s){let a=n[s];if(a.uri){var i,o;let{fetch:c}=r;ue(c);let u=Uu(a.uri,e),l=await(r==null||(i=r.fetch)===null||i===void 0?void 0:i.call(r,u)),f=await(l==null||(o=l.arrayBuffer)===null||o===void 0?void 0:o.call(l));t.buffers[s]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete a.uri}else t.buffers[s]===null&&(t.buffers[s]={arrayBuffer:new ArrayBuffer(a.byteLength),byteOffset:0,byteLength:a.byteLength})}}async function JM(t,e,r){let n=qM(t),i=t.json.images||[],o=[];for(let s of n)o.push(WM(t,i[s],s,e,r));return await Promise.all(o)}function qM(t){let e=new Set,r=t.json.textures||[];for(let n of r)n.source!==void 0&&e.add(n.source);return Array.from(e).sort()}async function WM(t,e,r,n,i){let o;if(e.uri&&!e.hasOwnProperty("bufferView")){let a=Uu(e.uri,n),{fetch:c}=i;o=await(await c(a)).arrayBuffer(),e.bufferView={data:o}}if(Number.isFinite(e.bufferView)){let a=Dg(t.json,t.buffers,e.bufferView);o=$t(a.buffer,a.byteOffset,a.byteLength)}ue(o,"glTF image has no data");let s=await Ce(o,[Ot,ou],{...n,mimeType:e.mimeType,basis:n.basis||{format:ko()}},i);s&&s[0]&&(s={compressed:!0,mipmaps:!1,width:s[0].width,height:s[0].height,data:s[0]}),t.images=t.images||[],t.images[r]=s}var _r={name:"glTF",id:"gltf",module:"gltf",version:jg,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:XM,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function XM(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;e={..._r.options,...e},e.gltf={..._r.options.gltf,...e.gltf};let{byteOffset:n=0}=e;return await n0({},t,n,e,r)}var KM={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},YM={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},De={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},ZM={magFilter:De.TEXTURE_MAG_FILTER,minFilter:De.TEXTURE_MIN_FILTER,wrapS:De.TEXTURE_WRAP_S,wrapT:De.TEXTURE_WRAP_T},QM={[De.TEXTURE_MAG_FILTER]:De.LINEAR,[De.TEXTURE_MIN_FILTER]:De.NEAREST_MIPMAP_LINEAR,[De.TEXTURE_WRAP_S]:De.REPEAT,[De.TEXTURE_WRAP_T]:De.REPEAT};function $M(){return{id:"default-sampler",parameters:QM}}function ew(t){return YM[t]}function tw(t){return KM[t]}var Qu=class{constructor(){this.baseUri="",this.jsonUnprocessed=void 0,this.json=void 0,this.buffers=[],this.images=[]}postProcess(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{json:n,buffers:i=[],images:o=[]}=e,{baseUri:s=""}=e;return ue(n),this.baseUri=s,this.buffers=i,this.images=o,this.jsonUnprocessed=n,this.json=this._resolveTree(e.json,r),this.json}_resolveTree(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={...e};return this.json=n,e.bufferViews&&(n.bufferViews=e.bufferViews.map((i,o)=>this._resolveBufferView(i,o))),e.images&&(n.images=e.images.map((i,o)=>this._resolveImage(i,o))),e.samplers&&(n.samplers=e.samplers.map((i,o)=>this._resolveSampler(i,o))),e.textures&&(n.textures=e.textures.map((i,o)=>this._resolveTexture(i,o))),e.accessors&&(n.accessors=e.accessors.map((i,o)=>this._resolveAccessor(i,o))),e.materials&&(n.materials=e.materials.map((i,o)=>this._resolveMaterial(i,o))),e.meshes&&(n.meshes=e.meshes.map((i,o)=>this._resolveMesh(i,o))),e.nodes&&(n.nodes=e.nodes.map((i,o)=>this._resolveNode(i,o)),n.nodes=n.nodes.map((i,o)=>this._resolveNodeChildren(i))),e.skins&&(n.skins=e.skins.map((i,o)=>this._resolveSkin(i,o))),e.scenes&&(n.scenes=e.scenes.map((i,o)=>this._resolveScene(i,o))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(e){return this._get(this.json.scenes,e)}getNode(e){return this._get(this.json.nodes,e)}getSkin(e){return this._get(this.json.skins,e)}getMesh(e){return this._get(this.json.meshes,e)}getMaterial(e){return this._get(this.json.materials,e)}getAccessor(e){return this._get(this.json.accessors,e)}getCamera(e){return this._get(this.json.cameras,e)}getTexture(e){return this._get(this.json.textures,e)}getSampler(e){return this._get(this.json.samplers,e)}getImage(e){return this._get(this.json.images,e)}getBufferView(e){return this._get(this.json.bufferViews,e)}getBuffer(e){return this._get(this.json.buffers,e)}_get(e,r){if(typeof r=="object")return r;let n=e&&e[r];return n||console.warn(`glTF file error: Could not find ${e}[${r}]`),n}_resolveScene(e,r){return{...e,id:e.id||`scene-${r}`,nodes:(e.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(e,r){let n={...e,id:e?.id||`node-${r}`};return e.mesh!==void 0&&(n.mesh=this.getMesh(e.mesh)),e.camera!==void 0&&(n.camera=this.getCamera(e.camera)),e.skin!==void 0&&(n.skin=this.getSkin(e.skin)),e.meshes!==void 0&&e.meshes.length&&(n.mesh=e.meshes.reduce((i,o)=>{let s=this.getMesh(o);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),n}_resolveNodeChildren(e){return e.children&&(e.children=e.children.map(r=>this.getNode(r))),e}_resolveSkin(e,r){let n=typeof e.inverseBindMatrices=="number"?this.getAccessor(e.inverseBindMatrices):void 0;return{...e,id:e.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(e,r){let n={...e,id:e.id||`mesh-${r}`,primitives:[]};return e.primitives&&(n.primitives=e.primitives.map(i=>{let o={...i,attributes:{},indices:void 0,material:void 0},s=i.attributes;for(let a in s)o.attributes[a]=this.getAccessor(s[a]);return i.indices!==void 0&&(o.indices=this.getAccessor(i.indices)),i.material!==void 0&&(o.material=this.getMaterial(i.material)),o})),n}_resolveMaterial(e,r){let n={...e,id:e.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture={...i.baseColorTexture},i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture={...i.metallicRoughnessTexture},i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(e,r){let n=ew(e.componentType),i=tw(e.type),o=n*i,s={...e,id:e.id||`accessor-${r}`,bytesPerComponent:n,components:i,bytesPerElement:o,value:void 0,bufferView:void 0,sparse:void 0};if(e.bufferView!==void 0&&(s.bufferView=this.getBufferView(e.bufferView)),s.bufferView){let a=s.bufferView.buffer,{ArrayType:c,byteLength:u}=$r(s,s.bufferView),l=(s.bufferView.byteOffset||0)+(s.byteOffset||0)+a.byteOffset,f=a.arrayBuffer.slice(l,l+u);s.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(a,l,s.bufferView.byteStride,s.bytesPerElement,s.count)),s.value=new c(f)}return s}_getValueFromInterleavedBuffer(e,r,n,i,o){let s=new Uint8Array(o*i);for(let a=0;a<o;a++){let c=r+a*n;s.set(new Uint8Array(e.arrayBuffer.slice(c,c+i)),a*i)}return s.buffer}_resolveTexture(e,r){return{...e,id:e.id||`texture-${r}`,sampler:typeof e.sampler=="number"?this.getSampler(e.sampler):$M(),source:typeof e.source=="number"?this.getImage(e.source):void 0}}_resolveSampler(e,r){let n={id:e.id||`sampler-${r}`,...e,parameters:{}};for(let i in n){let o=this._enumSamplerParameter(i);o!==void 0&&(n.parameters[o]=n[i])}return n}_enumSamplerParameter(e){return ZM[e]}_resolveImage(e,r){let n={...e,id:e.id||`image-${r}`,image:null,bufferView:e.bufferView!==void 0?this.getBufferView(e.bufferView):void 0},i=this.images[r];return i&&(n.image=i),n}_resolveBufferView(e,r){let n=e.buffer,i=this.buffers[n].arrayBuffer,o=this.buffers[n].byteOffset||0;return e.byteOffset&&(o+=e.byteOffset),{id:`bufferView-${r}`,...e,buffer:this.buffers[n],data:new Uint8Array(i,o,e.byteLength)}}_resolveCamera(e,r){let n={...e,id:e.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function ci(t,e){return new Qu().postProcess(t,e)}var Ts={URI:0,EMBEDDED:1};function bs(t,e,r,n){t.rotateYtoZ=!0;let i=(t.byteOffset||0)+(t.byteLength||0)-r;if(i===0)throw new Error("glTF byte length must be greater than 0.");return t.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",t.gltfArrayBuffer=$t(e,r,i),t.gltfByteOffset=0,t.gltfByteLength=i,r%4===0||console.warn(`${t.type}: embedded glb is not aligned to a 4-byte boundary.`),(t.byteOffset||0)+(t.byteLength||0)}async function Es(t,e,r,n){let i=r?.["3d-tiles"]||{};if(rw(t,e,r),i.loadGLTF){if(!n)return;if(t.gltfUrl){let{fetch:o}=n,s=await o(t.gltfUrl,r);t.gltfArrayBuffer=await s.arrayBuffer(),t.gltfByteOffset=0}if(t.gltfArrayBuffer){let o=await Ce(t.gltfArrayBuffer,_r,r,n);t.gltf=ci(o),t.gpuMemoryUsageInBytes=ni(t.gltf),delete t.gltfArrayBuffer,delete t.gltfByteOffset,delete t.gltfByteLength}}}function rw(t,e,r){switch(e){case Ts.URI:if(t.gltfArrayBuffer){let n=new Uint8Array(t.gltfArrayBuffer,t.gltfByteOffset),o=new TextDecoder().decode(n);t.gltfUrl=o.replace(/[\s\0]+$/,"")}delete t.gltfArrayBuffer,delete t.gltfByteOffset,delete t.gltfByteLength;break;case Ts.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function i0(t,e,r,n,i){var o;r=nw(t,e,r,n,i),await Es(t,Ts.EMBEDDED,n,i);let s=t==null||(o=t.gltf)===null||o===void 0?void 0:o.extensions;return s&&s.CESIUM_RTC&&(t.rtcCenter=s.CESIUM_RTC.center),r}function nw(t,e,r,n,i){r=qt(t,e,r),r=Yr(t,e,r),r=Zr(t,e,r,n),r=bs(t,e,r,n);let o=new Tt(t.featureTableJson,t.featureTableBinary);return t.rtcCenter=o.getGlobalProperty("RTC_CENTER",N.FLOAT,3),r}async function o0(t,e,r,n,i){return r=iw(t,e,r,n,i),await Es(t,t.gltfFormat||0,n,i),r}function iw(t,e,r,n,i){var o;if(r=qt(t,e,r),t.version!==1)throw new Error(`Instanced 3D Model version ${t.version} is not supported`);r=Yr(t,e,r);let s=new DataView(e);if(t.gltfFormat=s.getUint32(r,!0),r+=4,r=Zr(t,e,r,n),r=bs(t,e,r,n),!(t!=null&&(o=t.header)!==null&&o!==void 0&&o.featureTableJsonByteLength)||t.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let a=new Tt(t.featureTableJson,t.featureTableBinary),c=a.getGlobalProperty("INSTANCES_LENGTH");if(a.featuresLength=c,!Number.isFinite(c))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");t.eastNorthUp=a.getGlobalProperty("EAST_NORTH_UP"),t.rtcCenter=a.getGlobalProperty("RTC_CENTER",N.FLOAT,3);let u=new yr(t.batchTableJson,t.batchTableBinary,c);return ow(t,a,u,c),r}function ow(t,e,r,n){let i=new Array(n),o=new T,s=new T,a=new T,c=new T,u=new j,l=new nt,f=new T,h={},d=new D,p=[],g=[],m=[],A=[];for(let _=0;_<n;_++){let v;if(e.hasProperty("POSITION"))v=e.getProperty("POSITION",N.FLOAT,3,_,o);else if(e.hasProperty("POSITION_QUANTIZED")){v=e.getProperty("POSITION_QUANTIZED",N.UNSIGNED_SHORT,3,_,o);let y=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",N.FLOAT,3);if(!y)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let M=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",N.FLOAT,3);if(!M)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let I=65535;for(let O=0;O<3;O++)v[O]=v[O]/I*M[O]+y[O]}if(!v)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");o.copy(v),h.translation=o,t.normalUp=e.getProperty("NORMAL_UP",N.FLOAT,3,_,p),t.normalRight=e.getProperty("NORMAL_RIGHT",N.FLOAT,3,_,g);let x=!1;if(t.normalUp){if(!t.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");t.hasCustomOrientation=!0}else{if(t.octNormalUp=e.getProperty("NORMAL_UP_OCT32P",N.UNSIGNED_SHORT,2,_,p),t.octNormalRight=e.getProperty("NORMAL_RIGHT_OCT32P",N.UNSIGNED_SHORT,2,_,g),t.octNormalUp)throw t.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");t.eastNorthUp?(U.WGS84.eastNorthUpToFixedFrame(o,d),d.getRotationMatrix3(u)):u.identity()}x&&(c.copy(s).cross(a).normalize(),u.setColumn(0,s),u.setColumn(1,a),u.setColumn(2,c)),l.fromMatrix3(u),h.rotation=l,f.set(1,1,1);let B=e.getProperty("SCALE",N.FLOAT,1,_,m);Number.isFinite(B)&&f.multiplyByScalar(B);let S=e.getProperty("SCALE_NON_UNIFORM",N.FLOAT,3,_,p);S&&f.scale(S),h.scale=f;let C=e.getProperty("BATCH_ID",N.UNSIGNED_SHORT,1,_,A);C===void 0&&(C=_);let E=new D().fromQuaternion(h.rotation);d.identity(),d.translate(h.translation),d.multiplyRight(E),d.scale(h.scale);let b=d.clone();i[_]={modelMatrix:b,batchId:C}}t.instances=i}async function s0(t,e,r,n,i,o){r=qt(t,e,r);let s=new DataView(e);for(t.tilesLength=s.getUint32(r,!0),r+=4,t.tiles=[];t.tiles.length<t.tilesLength&&(t.byteLength||0)-r>12;){let a={shape:"tile3d"};t.tiles.push(a),r=await o(e,r,n,i,a)}return r}async function a0(t,e,r,n){var i,o;if(t.rotateYtoZ=!0,t.gltfUpAxis=r!=null&&(i=r["3d-tiles"])!==null&&i!==void 0&&i.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",r!=null&&(o=r["3d-tiles"])!==null&&o!==void 0&&o.loadGLTF){if(!n)return e.byteLength;let s=await Ce(e,_r,r,n);t.gltf=ci(s),t.gpuMemoryUsageInBytes=ni(t.gltf)}else t.gltfArrayBuffer=e;return e.byteLength}async function $u(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{shape:"tile3d"};switch(i.byteOffset=e,i.type=dg(t,e),i.type){case mr.COMPOSITE:return await s0(i,t,e,r,n,$u);case mr.BATCHED_3D_MODEL:return await i0(i,t,e,r,n);case mr.GLTF:return await a0(i,t,r,n);case mr.INSTANCED_3D_MODEL:return await o0(i,t,e,r,n);case mr.POINT_CLOUD:return await Pg(i,t,e,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function el(t,e,r){if(new Uint32Array(t.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(t.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let o=c0(t.slice(8,16)),s=new Uint8Array(t,24,o),c=new TextDecoder("utf8").decode(s),u=JSON.parse(c),l=c0(t.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=t.slice(24+o)),await Ss(u,u.tileAvailability,f,r),Array.isArray(u.contentAvailability))for(let h of u.contentAvailability)await Ss(u,h,f,r);else await Ss(u,u.contentAvailability,f,r);return await Ss(u,u.childSubtreeAvailability,f,r),u}async function Ss(t,e,r,n){let i=Number.isFinite(e.bitstream)?e.bitstream:e.bufferView;if(typeof i!="number")return;let o=t.bufferViews[i],s=t.buffers[o.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(s.uri){let c=`${n?.baseUrl||""}/${s.uri}`,l=await(await n.fetch(c)).arrayBuffer();e.explicitBitstream=new Uint8Array(l,o.byteOffset,o.byteLength);return}let a=t.buffers.slice(0,o.buffer).reduce((c,u)=>c+u.byteLength,0);e.explicitBitstream=new Uint8Array(r.slice(a,a+s.byteLength),o.byteOffset,o.byteLength)}function c0(t){let e=new DataView(t),r=e.getUint32(0,!0),n=e.getUint32(4,!0);return r+2**32*n}var Bs={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:cs,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:el,options:{}};var G0=P(Jr(),1);var F0=P(Jr(),1);function sw(t){try{let e=window[t],r="__storage_test__";return e.setItem(r,r),e.removeItem(r),e}catch{return null}}var Cs=class{constructor(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=sw(n),this.id=e,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let e={};if(this.storage){let r=this.storage.getItem(this.id);e=r?JSON.parse(r):{}}return Object.assign(this.config,e),this}};function u0(t){let e;return t<10?e="".concat(t.toFixed(2),"ms"):t<100?e="".concat(t.toFixed(1),"ms"):t<1e3?e="".concat(t.toFixed(0),"ms"):e="".concat((t/1e3).toFixed(2),"s"),e}function l0(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(e-t.length,0);return"".concat(" ".repeat(r)).concat(t)}function Ms(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>n&&(r=Math.min(r,n/t.width));let o=t.width*r,s=t.height*r,a=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(o,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}var ws;(function(t){t[t.BLACK=30]="BLACK",t[t.RED=31]="RED",t[t.GREEN=32]="GREEN",t[t.YELLOW=33]="YELLOW",t[t.BLUE=34]="BLUE",t[t.MAGENTA=35]="MAGENTA",t[t.CYAN=36]="CYAN",t[t.WHITE=37]="WHITE",t[t.BRIGHT_BLACK=90]="BRIGHT_BLACK",t[t.BRIGHT_RED=91]="BRIGHT_RED",t[t.BRIGHT_GREEN=92]="BRIGHT_GREEN",t[t.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",t[t.BRIGHT_BLUE=94]="BRIGHT_BLUE",t[t.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",t[t.BRIGHT_CYAN=96]="BRIGHT_CYAN",t[t.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(ws||(ws={}));var aw=10;function f0(t){return typeof t!="string"?t:(t=t.toUpperCase(),ws[t]||ws.WHITE)}function h0(t,e,r){if(!Xe&&typeof t=="string"){if(e){let n=f0(e);t="\x1B[".concat(n,"m").concat(t,"\x1B[39m")}if(r){let n=f0(r);t="\x1B[".concat(n+aw,"m").concat(t,"\x1B[49m")}}return t}function d0(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(t),n=Object.getOwnPropertyNames(r),i=t;for(let o of n){let s=i[o];typeof s=="function"&&(e.find(a=>o===a)||(i[o]=s.bind(t)))}}function sn(t,e){if(!t)throw new Error(e||"Assertion failed")}function vr(){let t;if(Xe()&&kr.performance){var e,r;t=kr===null||kr===void 0||(e=kr.performance)===null||e===void 0||(r=e.now)===null||r===void 0?void 0:r.call(e)}else if("hrtime"in fr){var n;let i=fr===null||fr===void 0||(n=fr.hrtime)===null||n===void 0?void 0:n.call(fr);t=i[0]*1e3+i[1]/1e6}else t=Date.now();return t}var an={debug:Xe()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},cw={enabled:!0,level:0};function Ne(){}var p0={},m0={once:!0},ui=class{constructor(){let{id:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=Jo,this._startTs=vr(),this._deltaTs=vr(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new Cs("__probe-".concat(this.id,"__"),cw),this.timeStamp("".concat(this.id," started")),d0(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((vr()-this._startTs).toPrecision(10))}getDelta(){return Number((vr()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,r){this._storage.setConfiguration({[e]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,r){sn(e,r)}warn(e){return this._getLogFunction(0,e,an.warn,arguments,m0)}error(e){return this._getLogFunction(0,e,an.error,arguments)}deprecated(e,r){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(e,r){return this.error("`".concat(e,"` has been removed. Use `").concat(r,"` instead"))}probe(e,r){return this._getLogFunction(e,r,an.log,arguments,{time:!0,once:!0})}log(e,r){return this._getLogFunction(e,r,an.debug,arguments)}info(e,r){return this._getLogFunction(e,r,console.info,arguments)}once(e,r){return this._getLogFunction(e,r,an.debug||an.info,arguments,m0)}table(e,r,n){return r?this._getLogFunction(e,r,console.table||Ne,n&&[n],{tag:hw(r)}):Ne}image(e){let{logLevel:r,priority:n,image:i,message:o="",scale:s=1}=e;return this._shouldLog(r||n)?Xe()?fw({image:i,message:o,scale:s}):lw({image:i,message:o,scale:s}):Ne}time(e,r){return this._getLogFunction(e,r,console.time?console.time:console.info)}timeEnd(e,r){return this._getLogFunction(e,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,r){return this._getLogFunction(e,r,console.timeStamp||Ne)}group(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=g0({logLevel:e,message:r,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(e,r,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||Ne)}withGroup(e,r,n){this.group(e,r)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=y0(e)}_getLogFunction(e,r,n,i,o){if(this._shouldLog(e)){o=g0({logLevel:e,message:r,args:i,opts:o}),n=n||o.method,sn(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=vr();let s=o.tag||o.message;if(o.once&&s)if(!p0[s])p0[s]=vr();else return Ne;return r=uw(this.id,o.message,o),n.bind(console,r,...o.args)}return Ne}};ui.VERSION=Jo;function y0(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return sn(Number.isFinite(e)&&e>=0),e}function g0(t){let{logLevel:e,message:r}=t;t.logLevel=y0(e);let n=t.args?Array.from(t.args):[];for(;n.length&&n.shift()!==r;);switch(typeof e){case"string":case"function":r!==void 0&&n.unshift(r),t.message=e;break;case"object":Object.assign(t,e);break;default:}typeof t.message=="function"&&(t.message=t.message());let i=typeof t.message;return sn(i==="string"||i==="object"),Object.assign(t,{args:n},t.opts)}function uw(t,e,r){if(typeof e=="string"){let n=r.time?l0(u0(r.total)):"";e=r.time?"".concat(t,": ").concat(n," ").concat(e):"".concat(t,": ").concat(e),e=h0(e,r.color,r.background)}return e}function lw(t){let{image:e,message:r="",scale:n=1}=t;return console.warn("removed"),Ne}function fw(t){let{image:e,message:r="",scale:n=1}=t;if(typeof e=="string"){let o=new Image;return o.onload=()=>{let s=Ms(o,r,n);console.log(...s)},o.src=e,Ne}let i=e.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Ms(e,r,n)),Ne;if(i.toLowerCase()==="canvas"){let o=new Image;return o.onload=()=>console.log(...Ms(o,r,n)),o.src=e.toDataURL(),Ne}return Ne}function hw(t){for(let e in t)for(let r in t[e])return r||"untitled";return"empty"}var tl=new ui({id:"@probe.gl/log"});var Ue=null;try{Ue=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Z(t,e,r){this.low=t|0,this.high=e|0,this.unsigned=!!r}Z.prototype.__isLong__;Object.defineProperty(Z.prototype,"__isLong__",{value:!0});function ye(t){return(t&&t.__isLong__)===!0}function A0(t){var e=Math.clz32(t&-t);return t?31-e:e}Z.isLong=ye;var _0={},v0={};function xr(t,e){var r,n,i;return e?(t>>>=0,(i=0<=t&&t<256)&&(n=v0[t],n)?n:(r=V(t,0,!0),i&&(v0[t]=r),r)):(t|=0,(i=-128<=t&&t<128)&&(n=_0[t],n)?n:(r=V(t,t<0?-1:0,!1),i&&(_0[t]=r),r))}Z.fromInt=xr;function Ge(t,e){if(isNaN(t))return e?bt:Ye;if(e){if(t<0)return bt;if(t>=E0)return C0}else{if(t<=-T0)return Be;if(t+1>=T0)return B0}return t<0?Ge(-t,e).neg():V(t%un|0,t/un|0,e)}Z.fromNumber=Ge;function V(t,e,r){return new Z(t,e,r)}Z.fromBits=V;var Is=Math.pow;function nl(t,e,r){if(t.length===0)throw Error("empty string");if(typeof e=="number"?(r=e,e=!1):e=!!e,t==="NaN"||t==="Infinity"||t==="+Infinity"||t==="-Infinity")return e?bt:Ye;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=t.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return nl(t.substring(1),e,r).neg();for(var i=Ge(Is(r,8)),o=Ye,s=0;s<t.length;s+=8){var a=Math.min(8,t.length-s),c=parseInt(t.substring(s,s+a),r);if(a<8){var u=Ge(Is(r,a));o=o.mul(u).add(Ge(c))}else o=o.mul(i),o=o.add(Ge(c))}return o.unsigned=e,o}Z.fromString=nl;function Ze(t,e){return typeof t=="number"?Ge(t,e):typeof t=="string"?nl(t,e):V(t.low,t.high,typeof e=="boolean"?e:t.unsigned)}Z.fromValue=Ze;var x0=1<<16,dw=1<<24,un=x0*x0,E0=un*un,T0=E0/2,b0=xr(dw),Ye=xr(0);Z.ZERO=Ye;var bt=xr(0,!0);Z.UZERO=bt;var cn=xr(1);Z.ONE=cn;var S0=xr(1,!0);Z.UONE=S0;var rl=xr(-1);Z.NEG_ONE=rl;var B0=V(-1,2147483647,!1);Z.MAX_VALUE=B0;var C0=V(-1,-1,!0);Z.MAX_UNSIGNED_VALUE=C0;var Be=V(0,-2147483648,!1);Z.MIN_VALUE=Be;var w=Z.prototype;w.toInt=function(){return this.unsigned?this.low>>>0:this.low};w.toNumber=function(){return this.unsigned?(this.high>>>0)*un+(this.low>>>0):this.high*un+(this.low>>>0)};w.toString=function(e){if(e=e||10,e<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Be)){var r=Ge(e),n=this.div(r),i=n.mul(r).sub(this);return n.toString(e)+i.toInt().toString(e)}else return"-"+this.neg().toString(e);for(var o=Ge(Is(e,6),this.unsigned),s=this,a="";;){var c=s.div(o),u=s.sub(c.mul(o)).toInt()>>>0,l=u.toString(e);if(s=c,s.isZero())return l+a;for(;l.length<6;)l="0"+l;a=""+l+a}};w.getHighBits=function(){return this.high};w.getHighBitsUnsigned=function(){return this.high>>>0};w.getLowBits=function(){return this.low};w.getLowBitsUnsigned=function(){return this.low>>>0};w.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Be)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,r=31;r>0&&!(e&1<<r);r--);return this.high!=0?r+33:r+1};w.isZero=function(){return this.high===0&&this.low===0};w.eqz=w.isZero;w.isNegative=function(){return!this.unsigned&&this.high<0};w.isPositive=function(){return this.unsigned||this.high>=0};w.isOdd=function(){return(this.low&1)===1};w.isEven=function(){return(this.low&1)===0};w.equals=function(e){return ye(e)||(e=Ze(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};w.eq=w.equals;w.notEquals=function(e){return!this.eq(e)};w.neq=w.notEquals;w.ne=w.notEquals;w.lessThan=function(e){return this.comp(e)<0};w.lt=w.lessThan;w.lessThanOrEqual=function(e){return this.comp(e)<=0};w.lte=w.lessThanOrEqual;w.le=w.lessThanOrEqual;w.greaterThan=function(e){return this.comp(e)>0};w.gt=w.greaterThan;w.greaterThanOrEqual=function(e){return this.comp(e)>=0};w.gte=w.greaterThanOrEqual;w.ge=w.greaterThanOrEqual;w.compare=function(e){if(ye(e)||(e=Ze(e)),this.eq(e))return 0;var r=this.isNegative(),n=e.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};w.comp=w.compare;w.negate=function(){return!this.unsigned&&this.eq(Be)?Be:this.not().add(cn)};w.neg=w.negate;w.add=function(e){ye(e)||(e=Ze(e));var r=this.high>>>16,n=this.high&65535,i=this.low>>>16,o=this.low&65535,s=e.high>>>16,a=e.high&65535,c=e.low>>>16,u=e.low&65535,l=0,f=0,h=0,d=0;return d+=o+u,h+=d>>>16,d&=65535,h+=i+c,f+=h>>>16,h&=65535,f+=n+a,l+=f>>>16,f&=65535,l+=r+s,l&=65535,V(h<<16|d,l<<16|f,this.unsigned)};w.subtract=function(e){return ye(e)||(e=Ze(e)),this.add(e.neg())};w.sub=w.subtract;w.multiply=function(e){if(this.isZero())return this;if(ye(e)||(e=Ze(e)),Ue){var r=Ue.mul(this.low,this.high,e.low,e.high);return V(r,Ue.get_high(),this.unsigned)}if(e.isZero())return this.unsigned?bt:Ye;if(this.eq(Be))return e.isOdd()?Be:Ye;if(e.eq(Be))return this.isOdd()?Be:Ye;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(b0)&&e.lt(b0))return Ge(this.toNumber()*e.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,o=this.low>>>16,s=this.low&65535,a=e.high>>>16,c=e.high&65535,u=e.low>>>16,l=e.low&65535,f=0,h=0,d=0,p=0;return p+=s*l,d+=p>>>16,p&=65535,d+=o*l,h+=d>>>16,d&=65535,d+=s*u,h+=d>>>16,d&=65535,h+=i*l,f+=h>>>16,h&=65535,h+=o*u,f+=h>>>16,h&=65535,h+=s*c,f+=h>>>16,h&=65535,f+=n*l+i*u+o*c+s*a,f&=65535,V(d<<16|p,f<<16|h,this.unsigned)};w.mul=w.multiply;w.divide=function(e){if(ye(e)||(e=Ze(e)),e.isZero())throw Error("division by zero");if(Ue){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var r=(this.unsigned?Ue.div_u:Ue.div_s)(this.low,this.high,e.low,e.high);return V(r,Ue.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?bt:Ye;var n,i,o;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return bt;if(e.gt(this.shru(1)))return S0;o=bt}else{if(this.eq(Be)){if(e.eq(cn)||e.eq(rl))return Be;if(e.eq(Be))return cn;var s=this.shr(1);return n=s.div(e).shl(1),n.eq(Ye)?e.isNegative()?cn:rl:(i=this.sub(e.mul(n)),o=n.add(i.div(e)),o)}else if(e.eq(Be))return this.unsigned?bt:Ye;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();o=Ye}for(i=this;i.gte(e);){n=Math.max(1,Math.floor(i.toNumber()/e.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),c=a<=48?1:Is(2,a-48),u=Ge(n),l=u.mul(e);l.isNegative()||l.gt(i);)n-=c,u=Ge(n,this.unsigned),l=u.mul(e);u.isZero()&&(u=cn),o=o.add(u),i=i.sub(l)}return o};w.div=w.divide;w.modulo=function(e){if(ye(e)||(e=Ze(e)),Ue){var r=(this.unsigned?Ue.rem_u:Ue.rem_s)(this.low,this.high,e.low,e.high);return V(r,Ue.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};w.mod=w.modulo;w.rem=w.modulo;w.not=function(){return V(~this.low,~this.high,this.unsigned)};w.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};w.clz=w.countLeadingZeros;w.countTrailingZeros=function(){return this.low?A0(this.low):A0(this.high)+32};w.ctz=w.countTrailingZeros;w.and=function(e){return ye(e)||(e=Ze(e)),V(this.low&e.low,this.high&e.high,this.unsigned)};w.or=function(e){return ye(e)||(e=Ze(e)),V(this.low|e.low,this.high|e.high,this.unsigned)};w.xor=function(e){return ye(e)||(e=Ze(e)),V(this.low^e.low,this.high^e.high,this.unsigned)};w.shiftLeft=function(e){return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?V(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):V(0,this.low<<e-32,this.unsigned)};w.shl=w.shiftLeft;w.shiftRight=function(e){return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?V(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):V(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};w.shr=w.shiftRight;w.shiftRightUnsigned=function(e){return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?V(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):e===32?V(this.high,0,this.unsigned):V(this.high>>>e-32,0,this.unsigned)};w.shru=w.shiftRightUnsigned;w.shr_u=w.shiftRightUnsigned;w.rotateLeft=function(e){var r;return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?V(this.high,this.low,this.unsigned):e<32?(r=32-e,V(this.low<<e|this.high>>>r,this.high<<e|this.low>>>r,this.unsigned)):(e-=32,r=32-e,V(this.high<<e|this.low>>>r,this.low<<e|this.high>>>r,this.unsigned))};w.rotl=w.rotateLeft;w.rotateRight=function(e){var r;return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?V(this.high,this.low,this.unsigned):e<32?(r=32-e,V(this.high<<r|this.low>>>e,this.low<<r|this.high>>>e,this.unsigned)):(e-=32,r=32-e,V(this.low<<r|this.high>>>e,this.high<<r|this.low>>>e,this.unsigned))};w.rotr=w.rotateRight;w.toSigned=function(){return this.unsigned?V(this.low,this.high,!1):this};w.toUnsigned=function(){return this.unsigned?this:V(this.low,this.high,!0)};w.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};w.toBytesLE=function(){var e=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};w.toBytesBE=function(){var e=this.high,r=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Z.fromBytes=function(e,r,n){return n?Z.fromBytesLE(e,r):Z.fromBytesBE(e,r)};Z.fromBytesLE=function(e,r){return new Z(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,r)};Z.fromBytesBE=function(e,r){return new Z(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],r)};var ln=Z;var pw=16;function li(t){t==="X"&&(t="");let e=t.padEnd(pw,"0");return ln.fromString(e,!0,16)}function il(t){if(t.isZero())return"X";let e=t.countTrailingZeros(),r=e%4;e=(e-r)/4;let n=e;e*=4;let o=t.shiftRightUnsigned(e).toString(16).replace(/0+$/,"");return Array(17-n-o.length).join("0")+o}function ol(t,e){let r=mw(t).shiftRightUnsigned(2);return t.add(ln.fromNumber(2*e+1-4).multiply(r))}function mw(t){return t.and(t.not().add(1))}var gw=3,yw=30,Aw=2*yw+1,M0=180/Math.PI;function I0(t){if(t.length===0)throw new Error(`Invalid Hilbert quad key ${t}`);let e=t.split("/"),r=parseInt(e[0],10),n=e[1],i=n.length,o=0,s=[0,0];for(let a=i-1;a>=0;a--){o=i-a;let c=n[a],u=0,l=0;c==="1"?l=1:c==="2"?(u=1,l=1):c==="3"&&(u=1);let f=Math.pow(2,o-1);_w(f,s,u,l),s[0]+=f*u,s[1]+=f*l}if(r%2===1){let a=s[0];s[0]=s[1],s[1]=a}return{face:r,ij:s,level:o}}function O0(t){if(t.isZero())return"";let e=t.toString(2);for(;e.length<gw+Aw;)e="0"+e;let r=e.lastIndexOf("1"),n=e.substring(0,3),i=e.substring(3,r),o=i.length/2,s=ln.fromString(n,!0,2).toString(10),a="";if(o!==0)for(a=ln.fromString(i,!0,2).toString(4);a.length<o;)a="0"+a;return`${s}/${a}`}function sl(t,e,r){let n=1<<e;return[(t[0]+r[0])/n,(t[1]+r[1])/n]}function w0(t){return t>=.5?1/3*(4*t*t-1):1/3*(1-4*(1-t)*(1-t))}function al(t){return[w0(t[0]),w0(t[1])]}function cl(t,e){let[r,n]=e;switch(t){case 0:return[1,r,n];case 1:return[-r,1,n];case 2:return[-r,-n,1];case 3:return[-1,-n,-r];case 4:return[n,-1,-r];case 5:return[n,r,-1];default:throw new Error("Invalid face")}}function ul(t){let[e,r,n]=t,i=Math.atan2(n,Math.sqrt(e*e+r*r));return[Math.atan2(r,e)*M0,i*M0]}function _w(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);let i=e[0];e[0]=e[1],e[1]=i}}function R0(t){let e=sl(t.ij,t.level,[.5,.5]),r=al(e),n=cl(t.face,r);return ul(n)}var vw=100;function ll(t){let{face:e,ij:r,level:n}=t,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],o=Math.max(1,Math.ceil(vw*Math.pow(2,-n))),s=new Float64Array(4*o*2+2),a=0,c=0;for(let u=0;u<4;u++){let l=i[u].slice(0),f=i[u+1],h=(f[0]-l[0])/o,d=(f[1]-l[1])/o;for(let p=0;p<o;p++){l[0]+=h,l[1]+=d;let g=sl(r,n,l),m=al(g),A=cl(e,m),_=ul(A);Math.abs(_[1])>89.999&&(_[0]=c);let v=_[0]-c;_[0]+=v>180?-360:v<-180?360:0,s[a++]=_[0],s[a++]=_[1],c=_[0]}}return s[a++]=s[0],s[a++]=s[1],s}function fn(t){let e=xw(t);return I0(e)}function xw(t){if(t.indexOf("/")>0)return t;let e=li(t);return O0(e)}function fl(t){let e=fn(t);return R0(e)}function P0(t){let e;if(t.face===2||t.face===5){let r=null,n=0;for(let i=0;i<4;i++){let o=`${t.face}/${i}`,s=fn(o),a=ll(s);(typeof r>"u"||r===null)&&(r=new Float64Array(4*a.length)),r.set(a,n),n+=a.length}e=L0(r)}else{let r=ll(t);e=L0(r)}return e}function L0(t){if(t.length%2!==0)throw new Error("Invalid corners");let e=[],r=[];for(let n=0;n<t.length;n+=2)e.push(t[n]),r.push(t[n+1]);return e.sort((n,i)=>n-i),r.sort((n,i)=>n-i),{west:e[0],east:e[e.length-1],north:r[r.length-1],south:r[0]}}function hl(t,e){let r=e?.minimumHeight||0,n=e?.maximumHeight||0,i=fn(t),o=P0(i),s=o.west,a=o.south,c=o.east,u=o.north,l=[];return l.push(new T(s,u,r)),l.push(new T(c,u,r)),l.push(new T(c,a,r)),l.push(new T(s,a,r)),l.push(new T(s,u,n)),l.push(new T(c,u,n)),l.push(new T(c,a,n)),l.push(new T(s,a,n)),l}function Os(t){let e=t.token,r={minimumHeight:t.minimumHeight,maximumHeight:t.maximumHeight},n=hl(e,r),i=fl(e),o=i[0],s=i[1],a=U.WGS84.cartographicToCartesian([o,s,r.maximumHeight]),c=new T(a[0],a[1],a[2]);n.push(c);let u=Un(n);return[...u.center,...u.halfAxes]}var Tw=4,bw=8,Ew={QUADTREE:Tw,OCTREE:bw};function Sw(t,e,r){if(t!=null&&t.box){let n=li(t.s2VolumeInfo.token),i=ol(n,e),o=il(i),s={...t.s2VolumeInfo};switch(s.token=o,r){case"OCTREE":let u=t.s2VolumeInfo,l=u.maximumHeight-u.minimumHeight,f=l/2,h=u.minimumHeight+l/2;u.minimumHeight=h-f,u.maximumHeight=h+f;break;default:break}return{box:Os(s),s2VolumeInfo:s}}}async function pl(t){let{implicitOptions:e,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:i,loaderOptions:o}=t,{subtree:s,level:a=0,globalData:c={level:0,mortonIndex:0,x:0,y:0,z:0}}=t,{subdivisionScheme:u,subtreeLevels:l,maximumLevel:f,contentUrlTemplate:h,subtreesUriTemplate:d,basePath:p}=e,g={children:[],lodMetricValue:0,contentUrl:""};if(!f)return tl.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${h} won't be loaded...`),g;let m=a+c.level;if(m>f)return g;let A=Ew[u],_=Math.log2(A),v=n&1,x=n>>1&1,B=n>>2&1,S=(A**a-1)/(A-1),C=Tr(r.mortonIndex,n,_),E=S+C,b=Tr(r.x,v,1),y=Tr(r.y,x,1),M=Tr(r.z,B,1),I=!1;a>=l&&(I=dl(s.childSubtreeAvailability,C));let O=Tr(c.x,b,a),R=Tr(c.y,y,a),F=Tr(c.z,M,a);if(I){let K=`${p}/${d}`,ee=Rs(K,m,O,R,F);s=await(0,F0.load)(ee,Bs,o),c={mortonIndex:C,x:b,y,z:M,level:a},C=0,E=0,b=0,y=0,M=0,a=0}if(!dl(s.tileAvailability,E))return g;dl(s.contentAvailability,E)&&(g.contentUrl=Rs(h,m,O,R,F));let Q=a+1,W={mortonIndex:C,x:b,y,z:M};for(let K=0;K<A;K++){let ee=Sw(i,K,u),xe=await pl({subtree:s,implicitOptions:e,loaderOptions:o,parentData:W,childIndex:K,level:Q,globalData:{...c},s2VolumeBox:ee});if(xe.contentUrl||xe.children.length){let Zy=m+1,Qy=Bw(xe,Zy,{childTileX:b,childTileY:y,childTileZ:M},e,i);g.children.push(Qy)}}return g}function dl(t,e){let r;return Array.isArray(t)?(r=t[0],t.length>1&&tl.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=t,"constant"in r?Boolean(r.constant):r.explicitBitstream?ww(e,r.explicitBitstream):!1}function Bw(t,e,r,n,i){let{basePath:o,refine:s,getRefine:a,lodMetricType:c,getTileType:u,rootLodMetricValue:l,rootBoundingVolume:f}=n,h=t.contentUrl&&t.contentUrl.replace(`${o}/`,""),d=l/2**e,p=i!=null&&i.box?{box:i.box}:f,g=Cw(e,p,r);return{children:t.children,contentUrl:t.contentUrl,content:{uri:h},id:t.contentUrl,refine:a(s),type:u(t),lodMetricType:c,lodMetricValue:d,geometricError:d,transform:t.transform,boundingVolume:g}}function Cw(t,e,r){if(e.region){let{childTileX:n,childTileY:i,childTileZ:o}=r,[s,a,c,u,l,f]=e.region,h=2**t,d=(c-s)/h,p=(u-a)/h,g=(f-l)/h,[m,A]=[s+d*n,s+d*(n+1)],[_,v]=[a+p*i,a+p*(i+1)],[x,B]=[l+g*o,l+g*(o+1)];return{region:[m,_,A,v,x,B]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${e}`)}function Tr(t,e,r){return(t<<r)+e}function Rs(t,e,r,n,i){let o=Mw({level:e,x:r,y:n,z:i});return t.replace(/{level}|{x}|{y}|{z}/gi,s=>o[s])}function Mw(t){let e={};for(let r in t)e[`{${r}}`]=t[r];return e}function ww(t,e){let r=Math.floor(t/8),n=t%8;return(e[r]>>n&1)===1}function gl(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if(!e)return ut.EMPTY;let n=e.split("?")[0].split(".").pop();switch(n){case"pnts":return ut.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return ut.SCENEGRAPH;default:return n||ut.EMPTY}}function yl(t){switch(t){case"REPLACE":case"replace":return be.REPLACE;case"ADD":case"add":return be.ADD;default:return t}}function ml(t,e){if(/^[a-z][0-9a-z+.-]*:/i.test(e)){let n=new URL(t,`${e}/`);return decodeURI(n.toString())}else if(t.startsWith("/"))return t;return It.resolve(e,t)}function D0(t,e){if(!t)return null;let r;if(t.content){var n;let o=t.content.uri||((n=t.content)===null||n===void 0?void 0:n.url);typeof o<"u"&&(r=ml(o,e))}return{...t,id:r,contentUrl:r,lodMetricType:hr.GEOMETRIC_ERROR,lodMetricValue:t.geometricError,transformMatrix:t.transform,type:gl(t,r),refine:yl(t.refine)}}async function H0(t,e,r){let n=null,i=U0(t.root);i&&t.root?n=await N0(t.root,t,e,i,r):n=D0(t.root,e);let o=[];for(o.push(n);o.length>0;){let s=o.pop()||{},a=s.children||[],c=[];for(let u of a){let l=U0(u),f;l?f=await N0(u,t,e,l,r):f=D0(u,e),f&&(c.push(f),o.push(f))}s.children=c}return n}async function N0(t,e,r,n,i){var o,s,a;let{subdivisionScheme:c,maximumLevel:u,availableLevels:l,subtreeLevels:f,subtrees:{uri:h}}=n,d=Rs(h,0,0,0,0),p=ml(d,r),g=await(0,G0.load)(p,Bs,i),m=(o=t.content)===null||o===void 0?void 0:o.uri,A=m?ml(m,r):"",_=e==null||(s=e.root)===null||s===void 0?void 0:s.refine,v=t.geometricError,x=(a=t.boundingVolume.extensions)===null||a===void 0?void 0:a["3DTILES_bounding_volume_S2"];if(x){let E={box:Os(x),s2VolumeInfo:x};t.boundingVolume=E}let B=t.boundingVolume,S={contentUrlTemplate:A,subtreesUriTemplate:h,subdivisionScheme:c,subtreeLevels:f,maximumLevel:Number.isFinite(l)?l-1:u,refine:_,basePath:r,lodMetricType:hr.GEOMETRIC_ERROR,rootLodMetricValue:v,rootBoundingVolume:B,getTileType:gl,getRefine:yl};return await Iw(t,r,g,S,i)}async function Iw(t,e,r,n,i){if(!t)return null;let{children:o,contentUrl:s}=await pl({subtree:r,implicitOptions:n,loaderOptions:i}),a,c=null;return s&&(a=s,c={uri:s.replace(`${e}/`,"")}),{...t,id:a,contentUrl:a,lodMetricType:hr.GEOMETRIC_ERROR,lodMetricValue:t.geometricError,transformMatrix:t.transform,type:gl(t,a),refine:yl(t.refine),content:c||t.content,children:o}}function U0(t){var e;return(t==null||(e=t.extensions)===null||e===void 0?void 0:e["3DTILES_implicit_tiling"])||t?.implicitTiling}var Ls={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:cs,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:Ow,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function Ow(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=e["3d-tiles"]||{},i;return n.isTileset==="auto"?i=r?.url&&r.url.indexOf(".json")!==-1:i=n.isTileset,i?Rw(t,e,r):Lw(t,e,r)}async function Rw(t,e,r){var n;let i=JSON.parse(new TextDecoder().decode(t)),o=r?.url||"",s=Pw(o),a=await H0(i,s,e||{});return{...i,shape:"tileset3d",loader:Ls,url:o,queryString:r?.queryString||"",basePath:s,root:a||i.root,type:pe.TILES3D,lodMetricType:hr.GEOMETRIC_ERROR,lodMetricValue:((n=i.root)===null||n===void 0?void 0:n.geometricError)||0}}async function Lw(t,e,r){let n={content:{shape:"tile3d",featureIds:null}};return await $u(t,0,e,r,n.content),n.content}function Pw(t){return It.dirname(t)}function Ps(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ps=function(r){return typeof r}:Ps=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ps(t)}function V0(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function hn(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?V0(Object(r),!0).forEach(function(n){Fw(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):V0(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Fw(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function z0(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function Dw(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){z0(o,n,i,s,a,"next",c)}function a(c){z0(o,n,i,s,a,"throw",c)}s(void 0)})}}function Nw(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function j0(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Uw(t,e,r){return e&&j0(t.prototype,e),r&&j0(t,r),t}function Fs(t,e,r){return typeof Reflect<"u"&&Reflect.get?Fs=Reflect.get:Fs=function(i,o,s){var a=Gw(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},Fs(t,e,r||t)}function Gw(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=dn(t),t!==null););return t}function Hw(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Al(t,e)}function Al(t,e){return Al=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Al(t,e)}function Vw(t){var e=kw();return function(){var n=dn(t),i;if(e){var o=dn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return zw(this,i)}}function zw(t,e){if(e&&(Ps(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jw(t)}function jw(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function kw(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function dn(t){return dn=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},dn(t)}var k0=[0],Jw={getPointColor:{type:"accessor",value:[0,0,0,255]},pointSize:1,data:"",loader:Ls,onTilesetLoad:{type:"function",value:function(e){}},onTileLoad:{type:"function",value:function(e){}},onTileUnload:{type:"function",value:function(e){}},onTileError:{type:"function",value:function(e,r,n){}},_getMeshColor:{type:"function",value:function(e){return[255,255,255]}}},Ds=function(t){Hw(r,t);var e=Vw(r);function r(){var i;Nw(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){"onTileLoadFail"in this.props&&Xt.log.removed("onTileLoadFail","onTileError")(),this.state={layerMap:{},tileset3d:null,activeViewports:{},lastUpdatedViewports:null}},n.shouldUpdateState=function(o){var s=o.changeFlags;return s.somethingChanged},n.updateState=function(o){var s=o.props,a=o.oldProps,c=o.changeFlags;if(s.data&&s.data!==a.data&&this._loadTileset(s.data),c.viewportChanged){var u=this.state.activeViewports,l=Object.keys(u).length;l&&(this._updateTileset(u),this.state.lastUpdatedViewports=u,this.state.activeViewports={})}if(c.propsChanged){var f=this.state.layerMap;for(var h in f)f[h].needsUpdate=!0}},n.activateViewport=function(o){var s=this.state,a=s.activeViewports,c=s.lastUpdatedViewports;this.internalState.viewport=o,a[o.id]=o;var u=c?.[o.id];(!u||!o.equals(u))&&(this.setChangeFlags({viewportChanged:!0}),this.setNeedsUpdate())},n.getPickingInfo=function(o){var s=o.info,a=o.sourceLayer,c=a&&a.props.tile;return s.picked&&(s.object=c),s.sourceTile=c,s},n.filterSubLayer=function(o){var s=o.layer,a=o.viewport,c=s.props,u=c.tile,l=a.id;return u.selected&&u.viewportIds.includes(l)},n._updateAutoHighlight=function(o){var s=o.sourceTile,a=this.state.layerMap[s?.id];a&&a.layer&&a.layer.updateAutoHighlight(o)},n._loadTileset=function(){var i=Dw(regeneratorRuntime.mark(function s(a){var c,u,l,f,h,d,p,g,m;return regeneratorRuntime.wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(c=this.props.loadOptions,u=c===void 0?{}:c,l=this.props.loader||this.props.loaders,f=Array.isArray(l)?l[0]:l,h={loadOptions:hn({},u)},d=a,!f.preload){_.next=12;break}return _.next=8,f.preload(a,u);case 8:p=_.sent,p.url&&(d=p.url),p.headers&&(h.loadOptions.fetch=hn(hn({},h.loadOptions.fetch),{},{headers:p.headers})),Object.assign(h,p);case 12:return _.next=14,(0,W0.load)(d,f,h.loadOptions);case 14:g=_.sent,m=new ei(g,hn({onTileLoad:this._onTileLoad.bind(this),onTileUnload:this._onTileUnload.bind(this),onTileError:this.props.onTileError},h)),this.setState({tileset3d:m,layerMap:{}}),this._updateTileset(this.state.activeViewports),this.props.onTilesetLoad(m);case 19:case"end":return _.stop()}},s,this)}));function o(s){return i.apply(this,arguments)}return o}(),n._onTileLoad=function(o){var s=this.state.lastUpdatedViewports;this.props.onTileLoad(o),this._updateTileset(s),this.setNeedsUpdate()},n._onTileUnload=function(o){delete this.state.layerMap[o.id],this.props.onTileUnload(o)},n._updateTileset=function(o){var s=this;if(o){var a=this.state.tileset3d,c=this.context.timeline,u=Object.keys(o).length;!c||!u||!a||a.selectTiles(Object.values(o)).then(function(l){var f=s.state.frameNumber!==l;f&&s.setState({frameNumber:l})})}},n._getSubLayer=function(o,s){if(!o.content)return null;switch(o.type){case ut.POINTCLOUD:return this._makePointCloudLayer(o,s);case ut.SCENEGRAPH:return this._make3DModelLayer(o);case ut.MESH:return this._makeSimpleMeshLayer(o,s);default:throw new Error("Tile3DLayer: Failed to render layer of type ".concat(o.content.type))}},n._makePointCloudLayer=function(o,s){var a=o.content,c=a.attributes,u=a.pointCount,l=a.constantRGBA,f=a.cartographicOrigin,h=a.modelMatrix,d=c.positions,p=c.normals,g=c.colors;if(!d)return null;var m=s&&s.props.data||{header:{vertexCount:u},attributes:{POSITION:d,NORMAL:p,COLOR_0:g}},A=this.props,_=A.pointSize,v=A.getPointColor,x=this.getSubLayerClass("pointcloud",J0.PointCloudLayer);return new x({pointSize:_},this.getSubLayerProps({id:"pointcloud"}),{id:"".concat(this.id,"-pointcloud-").concat(o.id),tile:o,data:m,coordinateSystem:Xt.COORDINATE_SYSTEM.METER_OFFSETS,coordinateOrigin:f,modelMatrix:h,getColor:l||v,_offset:0})},n._make3DModelLayer=function(o){var s=o.content,a=s.gltf,c=s.instances,u=s.cartographicOrigin,l=s.modelMatrix,f=this.getSubLayerClass("scenegraph",q0.ScenegraphLayer);return new f({_lighting:"pbr"},this.getSubLayerProps({id:"scenegraph"}),{id:"".concat(this.id,"-scenegraph-").concat(o.id),tile:o,data:c||k0,scenegraph:a,coordinateSystem:Xt.COORDINATE_SYSTEM.METER_OFFSETS,coordinateOrigin:u,modelMatrix:l,getTransformMatrix:function(d){return d.modelMatrix},getPosition:[0,0,0],_offset:0})},n._makeSimpleMeshLayer=function(o,s){var a=o.content,c=a.attributes,u=a.indices,l=a.modelMatrix,f=a.cartographicOrigin,h=a.coordinateSystem,d=h===void 0?Xt.COORDINATE_SYSTEM.METER_OFFSETS:h,p=a.material,g=a.featureIds,m=this.props._getMeshColor,A=s&&s.props.mesh||new Yn({topology:"triangle-list",attributes:qw(c),indices:u}),_=this.getSubLayerClass("mesh",Wo);return new _(this.getSubLayerProps({id:"mesh"}),{id:"".concat(this.id,"-mesh-").concat(o.id),tile:o,mesh:A,data:k0,getColor:m(o),pbrMaterial:p,modelMatrix:l,coordinateOrigin:f,coordinateSystem:d,featureIds:g,_offset:0})},n.renderLayers=function(){var o=this,s=this.state,a=s.tileset3d,c=s.layerMap;return a?a.tiles.map(function(u){var l=c[u.id]=c[u.id]||{tile:u},f=l.layer;return u.selected&&(f?l.needsUpdate&&(f=o._getSubLayer(u,f),l.needsUpdate=!1):f=o._getSubLayer(u)),l.layer=f,f}).filter(Boolean):null},Uw(r,[{key:"isLoaded",get:function(){var o,s;return Boolean(((o=this.state)===null||o===void 0||(s=o.tileset3d)===null||s===void 0?void 0:s.isLoaded())&&Fs(dn(r.prototype),"isLoaded",this))}}]),r}(Xt.CompositeLayer);Ds.defaultProps=Jw;Ds.layerName="Tile3DLayer";function qw(t){var e={};return e.positions=hn(hn({},t.positions),{},{value:new Float32Array(t.positions.value)}),t.normals&&(e.normals=t.normals),t.texCoords&&(e.texCoords=t.texCoords),t.colors&&(e.colors=t.colors),t.uvRegions&&(e.uvRegions=t.uvRegions),e}var js=P(ze()),Sl=P(Vo()),ny=P(ze());var Ww=new Map([["centerX",Float64Array.BYTES_PER_ELEMENT],["centerY",Float64Array.BYTES_PER_ELEMENT],["centerZ",Float64Array.BYTES_PER_ELEMENT],["minHeight",Float32Array.BYTES_PER_ELEMENT],["maxHeight",Float32Array.BYTES_PER_ELEMENT],["boundingSphereCenterX",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterY",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterZ",Float64Array.BYTES_PER_ELEMENT],["boundingSphereRadius",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointX",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointY",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointZ",Float64Array.BYTES_PER_ELEMENT]]);function _l(t){return t>>1^-(t&1)}function Xw(t){let e=0,r={};for(let[n,i]of Ww){let o=i===8?t.getFloat64:t.getFloat32;r[n]=o.call(t,e,!0),e+=i}return{header:r,headerEndPosition:e}}function Kw(t,e){let r=e,n=3,i=t.getUint32(r,!0),o=new Uint16Array(i*n);r+=Uint32Array.BYTES_PER_ELEMENT;let s=Uint16Array.BYTES_PER_ELEMENT,a=i*s,c=r,u=c+a,l=u+a,f=0,h=0,d=0;for(let p=0;p<i;p++)f+=_l(t.getUint16(c+s*p,!0)),h+=_l(t.getUint16(u+s*p,!0)),d+=_l(t.getUint16(l+s*p,!0)),o[p]=f,o[p+i]=h,o[p+i*2]=d;return r+=a*3,{vertexData:o,vertexDataEndPosition:r}}function fi(t,e,r,n){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o;if(n===2?o=new Uint16Array(t,e,r):o=new Uint32Array(t,e,r),!i)return o;let s=0;for(let a=0;a<o.length;++a){let c=o[a];o[a]=s-c,c===0&&++s}return o}function Yw(t,e,r){let n=r,i=3,s=e.length/i>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT;n%s!==0&&(n+=s-n%s);let a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=a*3,u=fi(t.buffer,n,c,s);return n+=c*s,{triangleIndicesEndPosition:n,triangleIndices:u}}function Zw(t,e,r){let n=r,i=3,s=e.length/i>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=fi(t.buffer,n,a,s,!1);n+=a*s;let u=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let l=fi(t.buffer,n,u,s,!1);n+=u*s;let f=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let h=fi(t.buffer,n,f,s,!1);n+=f*s;let d=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let p=fi(t.buffer,n,d,s,!1);return n+=d*s,{edgeIndicesEndPosition:n,westIndices:c,southIndices:l,eastIndices:h,northIndices:p}}function Qw(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function $w(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function eI(t,e){let r={};if(t.byteLength<=e)return{extensions:r,extensionsEndPosition:e};let n=e;for(;n<t.byteLength;){let i=t.getUint8(n,!0);n+=Uint8Array.BYTES_PER_ELEMENT;let o=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let s=new DataView(t.buffer,n,o);switch(i){case 1:{r.vertexNormals=Qw(s);break}case 2:{r.waterMask=$w(s);break}default:}n+=o}return{extensions:r,extensionsEndPosition:n}}var br={header:0,vertices:1,triangleIndices:2,edgeIndices:3,extensions:4},tI={maxDecodingStep:br.extensions};function vl(t,e){let r=Object.assign({},tI,e),n=new DataView(t),{header:i,headerEndPosition:o}=Xw(n);if(r.maxDecodingStep<br.vertices)return{header:i};let{vertexData:s,vertexDataEndPosition:a}=Kw(n,o);if(r.maxDecodingStep<br.triangleIndices)return{header:i,vertexData:s};let{triangleIndices:c,triangleIndicesEndPosition:u}=Yw(n,s,a);if(r.maxDecodingStep<br.edgeIndices)return{header:i,vertexData:s,triangleIndices:c};let{westIndices:l,southIndices:f,eastIndices:h,northIndices:d,edgeIndicesEndPosition:p}=Zw(n,s,u);if(r.maxDecodingStep<br.extensions)return{header:i,vertexData:s,triangleIndices:c,westIndices:l,northIndices:d,eastIndices:h,southIndices:f};let{extensions:g}=eI(n,p);return{header:i,vertexData:s,triangleIndices:c,westIndices:l,northIndices:d,eastIndices:h,southIndices:f,extensions:g}}function Ns(t,e,r,n){let i=n?nI(n,t.POSITION.value):rI(e),o=new t.POSITION.value.constructor(i.length*6),s=new t.TEXCOORD_0.value.constructor(i.length*4),a=new e.constructor(i.length*6);for(let u=0;u<i.length;u++){let l=i[u];iI({edge:l,edgeIndex:u,attributes:t,skirtHeight:r,newPosition:o,newTexcoord0:s,newTriangles:a})}t.POSITION.value=xn(t.POSITION.value,o),t.TEXCOORD_0.value=xn(t.TEXCOORD_0.value,s);let c=e instanceof Array?e.concat(a):xn(e,a);return{attributes:t,triangles:c}}function rI(t){let e=[];for(let s=0;s<t.length;s+=3)e.push([t[s],t[s+1]]),e.push([t[s+1],t[s+2]]),e.push([t[s+2],t[s]]);e.sort((s,a)=>Math.min(...s)-Math.min(...a)||Math.max(...s)-Math.max(...a));let r=[],n=0;for(;n<e.length;){var i,o;e[n][0]===((i=e[n+1])===null||i===void 0?void 0:i[1])&&e[n][1]===((o=e[n+1])===null||o===void 0?void 0:o[0])?n+=2:(r.push(e[n]),n++)}return r}function nI(t,e){t.westIndices.sort((n,i)=>e[3*n+1]-e[3*i+1]),t.eastIndices.sort((n,i)=>e[3*i+1]-e[3*n+1]),t.southIndices.sort((n,i)=>e[3*i]-e[3*n]),t.northIndices.sort((n,i)=>e[3*n]-e[3*i]);let r=[];for(let n in t){let i=t[n];for(let o=0;o<i.length-1;o++)r.push([i[o],i[o+1]])}return r}function iI(t){let{edge:e,edgeIndex:r,attributes:n,skirtHeight:i,newPosition:o,newTexcoord0:s,newTriangles:a}=t,c=n.POSITION.value.length,u=r*2,l=r*2+1;o.set(n.POSITION.value.subarray(e[0]*3,e[0]*3+3),u*3),o[u*3+2]=o[u*3+2]-i,o.set(n.POSITION.value.subarray(e[1]*3,e[1]*3+3),l*3),o[l*3+2]=o[l*3+2]-i,s.set(n.TEXCOORD_0.value.subarray(e[0]*2,e[0]*2+2),u*2),s.set(n.TEXCOORD_0.value.subarray(e[1]*2,e[1]*2+2),l*2);let f=r*2*3;a[f]=e[0],a[f+1]=c/3+l,a[f+2]=e[1],a[f+3]=c/3+l,a[f+4]=e[0],a[f+5]=c/3+u}function xl(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{bounds:r}=e,{header:n,vertexData:i,triangleIndices:o,westIndices:s,northIndices:a,eastIndices:c,southIndices:u}=vl(t,br.triangleIndices),l=o,f=oI(i,n,r),h=gr(f);if(e!=null&&e.skirtHeight){let{attributes:d,triangles:p}=Ns(f,l,e.skirtHeight,{westIndices:s,northIndices:a,eastIndices:c,southIndices:u});f=d,l=p}return{loaderData:{header:{}},header:{vertexCount:l.length,boundingBox:h},schema:void 0,topology:"triangle-list",mode:4,indices:{value:l,size:1},attributes:f}}function oI(t,e,r){let{minHeight:n,maxHeight:i}=e,[o,s,a,c]=r||[0,0,1,1],u=a-o,l=c-s,f=i-n,h=t.length/3,d=new Float32Array(h*3),p=new Float32Array(h*2);for(let g=0;g<h;g++){let m=t[g]/32767,A=t[g+h]/32767,_=t[g+h*2]/32767;d[3*g+0]=m*u+o,d[3*g+1]=A*l+s,d[3*g+2]=_*f+n,p[2*g+0]=m,p[2*g+1]=A}return{POSITION:{value:d,size:3},TEXCOORD_0:{value:p,size:2}}}var hi=class{constructor(e=257){this.gridSize=e;let r=e-1;if(r&r-1)throw new Error(`Expected grid size to be 2^n+1, got ${e}.`);this.numTriangles=r*r*2-2,this.numParentTriangles=this.numTriangles-r*r,this.indices=new Uint32Array(this.gridSize*this.gridSize),this.coords=new Uint16Array(this.numTriangles*4);for(let n=0;n<this.numTriangles;n++){let i=n+2,o=0,s=0,a=0,c=0,u=0,l=0;for(i&1?a=c=u=r:o=s=l=r;(i>>=1)>1;){let h=o+a>>1,d=s+c>>1;i&1?(a=o,c=s,o=u,s=l):(o=a,s=c,a=u,c=l),u=h,l=d}let f=n*4;this.coords[f+0]=o,this.coords[f+1]=s,this.coords[f+2]=a,this.coords[f+3]=c}}createTile(e){return new Tl(e,this)}},Tl=class{constructor(e,r){let n=r.gridSize;if(e.length!==n*n)throw new Error(`Expected terrain data of length ${n*n} (${n} x ${n}), got ${e.length}.`);this.terrain=e,this.martini=r,this.errors=new Float32Array(e.length),this.update()}update(){let{numTriangles:e,numParentTriangles:r,coords:n,gridSize:i}=this.martini,{terrain:o,errors:s}=this;for(let a=e-1;a>=0;a--){let c=a*4,u=n[c+0],l=n[c+1],f=n[c+2],h=n[c+3],d=u+f>>1,p=l+h>>1,g=d+p-l,m=p+u-d,A=(o[l*i+u]+o[h*i+f])/2,_=p*i+d,v=Math.abs(A-o[_]);if(s[_]=Math.max(s[_],v),a<r){let x=(l+m>>1)*i+(u+g>>1),B=(h+m>>1)*i+(f+g>>1);s[_]=Math.max(s[_],s[x],s[B])}}}getMesh(e=0){let{gridSize:r,indices:n}=this.martini,{errors:i}=this,o=0,s=0,a=r-1;n.fill(0);function c(d,p,g,m,A,_){let v=d+g>>1,x=p+m>>1;Math.abs(d-A)+Math.abs(p-_)>1&&i[x*r+v]>e?(c(A,_,d,p,v,x),c(g,m,A,_,v,x)):(n[p*r+d]=n[p*r+d]||++o,n[m*r+g]=n[m*r+g]||++o,n[_*r+A]=n[_*r+A]||++o,s++)}c(0,0,a,a,a,0),c(a,a,0,0,0,a);let u=new Uint16Array(o*2),l=new Uint32Array(s*3),f=0;function h(d,p,g,m,A,_){let v=d+g>>1,x=p+m>>1;if(Math.abs(d-A)+Math.abs(p-_)>1&&i[x*r+v]>e)h(A,_,d,p,v,x),h(g,m,A,_,v,x);else{let B=n[p*r+d]-1,S=n[m*r+g]-1,C=n[_*r+A]-1;u[2*B]=d,u[2*B+1]=p,u[2*S]=g,u[2*S+1]=m,u[2*C]=A,u[2*C+1]=_,l[f++]=B,l[f++]=S,l[f++]=C}}return h(0,0,a,a,a,0),h(a,a,0,0,0,a),{vertices:u,triangles:l}}};var di=class{constructor(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r;this.data=e,this.width=r,this.height=n,this.coords=[],this.triangles=[],this._halfedges=[],this._candidates=[],this._queueIndices=[],this._queue=[],this._errors=[],this._rms=[],this._pending=[],this._pendingLen=0,this._rmsSum=0;let i=r-1,o=n-1,s=this._addPoint(0,0),a=this._addPoint(i,0),c=this._addPoint(0,o),u=this._addPoint(i,o),l=this._addTriangle(u,s,c,-1,-1,-1);this._addTriangle(s,u,a,l,-1,-1),this._flush()}run(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;for(;this.getMaxError()>e;)this.refine()}refine(){this._step(),this._flush()}getMaxError(){return this._errors[0]}getRMSD(){return this._rmsSum>0?Math.sqrt(this._rmsSum/(this.width*this.height)):0}heightAt(e,r){return this.data[this.width*r+e]}_flush(){let e=this.coords;for(let r=0;r<this._pendingLen;r++){let n=this._pending[r],i=2*this.triangles[n*3+0],o=2*this.triangles[n*3+1],s=2*this.triangles[n*3+2];this._findCandidate(e[i],e[i+1],e[o],e[o+1],e[s],e[s+1],n)}this._pendingLen=0}_findCandidate(e,r,n,i,o,s,a){let c=Math.min(e,n,o),u=Math.min(r,i,s),l=Math.max(e,n,o),f=Math.max(r,i,s),h=Er(n,i,o,s,c,u),d=Er(o,s,e,r,c,u),p=Er(e,r,n,i,c,u),g=i-r,m=e-n,A=s-i,_=n-o,v=r-s,x=o-e,B=Er(e,r,n,i,o,s),S=this.heightAt(e,r)/B,C=this.heightAt(n,i)/B,E=this.heightAt(o,s)/B,b=0,y=0,M=0,I=0;for(let O=u;O<=f;O++){let R=0;h<0&&A!==0&&(R=Math.max(R,Math.floor(-h/A))),d<0&&v!==0&&(R=Math.max(R,Math.floor(-d/v))),p<0&&g!==0&&(R=Math.max(R,Math.floor(-p/g)));let F=h+A*R,X=d+v*R,z=p+g*R,Q=!1;for(let W=c+R;W<=l;W++){if(F>=0&&X>=0&&z>=0){Q=!0;let K=S*F+C*X+E*z,ee=Math.abs(K-this.heightAt(W,O));I+=ee*ee,ee>b&&(b=ee,y=W,M=O)}else if(Q)break;F+=A,X+=v,z+=g}h+=_,d+=x,p+=m}(y===e&&M===r||y===n&&M===i||y===o&&M===s)&&(b=0),this._candidates[2*a]=y,this._candidates[2*a+1]=M,this._rms[a]=I,this._queuePush(a,b,I)}_step(){let e=this._queuePop(),r=e*3+0,n=e*3+1,i=e*3+2,o=this.triangles[r],s=this.triangles[n],a=this.triangles[i],c=this.coords[2*o],u=this.coords[2*o+1],l=this.coords[2*s],f=this.coords[2*s+1],h=this.coords[2*a],d=this.coords[2*a+1],p=this._candidates[2*e],g=this._candidates[2*e+1],m=this._addPoint(p,g);if(Er(c,u,l,f,p,g)===0)this._handleCollinear(m,r);else if(Er(l,f,h,d,p,g)===0)this._handleCollinear(m,n);else if(Er(h,d,c,u,p,g)===0)this._handleCollinear(m,i);else{let A=this._halfedges[r],_=this._halfedges[n],v=this._halfedges[i],x=this._addTriangle(o,s,m,A,-1,-1,r),B=this._addTriangle(s,a,m,_,-1,x+1),S=this._addTriangle(a,o,m,v,x+2,B+1);this._legalize(x),this._legalize(B),this._legalize(S)}}_addPoint(e,r){let n=this.coords.length>>1;return this.coords.push(e,r),n}_addTriangle(e,r,n,i,o,s){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this.triangles.length,c=a/3;return this.triangles[a+0]=e,this.triangles[a+1]=r,this.triangles[a+2]=n,this._halfedges[a+0]=i,this._halfedges[a+1]=o,this._halfedges[a+2]=s,i>=0&&(this._halfedges[i]=a+0),o>=0&&(this._halfedges[o]=a+1),s>=0&&(this._halfedges[s]=a+2),this._candidates[2*c+0]=0,this._candidates[2*c+1]=0,this._queueIndices[c]=-1,this._rms[c]=0,this._pending[this._pendingLen++]=c,a}_legalize(e){let r=this._halfedges[e];if(r<0)return;let n=e-e%3,i=r-r%3,o=n+(e+1)%3,s=n+(e+2)%3,a=i+(r+2)%3,c=i+(r+1)%3,u=this.triangles[s],l=this.triangles[e],f=this.triangles[o],h=this.triangles[a],d=this.coords;if(!sI(d[2*u],d[2*u+1],d[2*l],d[2*l+1],d[2*f],d[2*f+1],d[2*h],d[2*h+1]))return;let p=this._halfedges[o],g=this._halfedges[s],m=this._halfedges[a],A=this._halfedges[c];this._queueRemove(n/3),this._queueRemove(i/3);let _=this._addTriangle(u,h,f,-1,m,p,n),v=this._addTriangle(h,u,l,_,g,A,i);this._legalize(_+1),this._legalize(v+2)}_handleCollinear(e,r){let n=r-r%3,i=n+(r+1)%3,o=n+(r+2)%3,s=this.triangles[o],a=this.triangles[r],c=this.triangles[i],u=this._halfedges[i],l=this._halfedges[o],f=this._halfedges[r];if(f<0){let S=this._addTriangle(e,s,a,-1,l,-1,n),C=this._addTriangle(s,e,c,S,-1,u);this._legalize(S+1),this._legalize(C+2);return}let h=f-f%3,d=h+(f+2)%3,p=h+(f+1)%3,g=this.triangles[d],m=this._halfedges[d],A=this._halfedges[p];this._queueRemove(h/3);let _=this._addTriangle(s,a,e,l,-1,-1,n),v=this._addTriangle(a,g,e,A,-1,_+1,h),x=this._addTriangle(g,c,e,m,-1,v+1),B=this._addTriangle(c,s,e,u,_+2,x+1);this._legalize(_),this._legalize(v),this._legalize(x),this._legalize(B)}_queuePush(e,r,n){let i=this._queue.length;this._queueIndices[e]=i,this._queue.push(e),this._errors.push(r),this._rmsSum+=n,this._queueUp(i)}_queuePop(){let e=this._queue.length-1;return this._queueSwap(0,e),this._queueDown(0,e),this._queuePopBack()}_queuePopBack(){let e=this._queue.pop();return this._errors.pop(),this._rmsSum-=this._rms[e],this._queueIndices[e]=-1,e}_queueRemove(e){let r=this._queueIndices[e];if(r<0){let i=this._pending.indexOf(e);if(i!==-1)this._pending[i]=this._pending[--this._pendingLen];else throw new Error("Broken triangulation (something went wrong).");return}let n=this._queue.length-1;n!==r&&(this._queueSwap(r,n),this._queueDown(r,n)||this._queueUp(r)),this._queuePopBack()}_queueLess(e,r){return this._errors[e]>this._errors[r]}_queueSwap(e,r){let n=this._queue[e],i=this._queue[r];this._queue[e]=i,this._queue[r]=n,this._queueIndices[n]=r,this._queueIndices[i]=e;let o=this._errors[e];this._errors[e]=this._errors[r],this._errors[r]=o}_queueUp(e){let r=e;for(;;){let n=r-1>>1;if(n===r||!this._queueLess(r,n))break;this._queueSwap(n,r),r=n}}_queueDown(e,r){let n=e;for(;;){let i=2*n+1;if(i>=r||i<0)break;let o=i+1,s=i;if(o<r&&this._queueLess(o,i)&&(s=o),!this._queueLess(s,n))break;this._queueSwap(n,s),n=s}return n>e}};function Er(t,e,r,n,i,o){return(r-i)*(e-o)-(n-o)*(t-i)}function sI(t,e,r,n,i,o,s,a){let c=t-s,u=e-a,l=r-s,f=n-a,h=i-s,d=o-a,p=c*c+u*u,g=l*l+f*f,m=h*h+d*d;return c*(f*m-g*d)-u*(l*m-g*h)+p*(l*d-f*h)<0}function Y0(t,e){let{meshMaxError:r,bounds:n,elevationDecoder:i}=e,{data:o,width:s,height:a}=t,c,u;switch(e.tesselator){case"martini":c=Us(o,s,a,i,e.tesselator),u=X0(r,s,c);break;case"delatin":c=Us(o,s,a,i,e.tesselator),u=K0(r,s,a,c);break;default:s===a&&!(a&s-1)?(c=Us(o,s,a,i,"martini"),u=X0(r,s,c)):(c=Us(o,s,a,i,"delatin"),u=K0(r,s,a,c));break}let{vertices:l}=u,{triangles:f}=u,h=aI(l,c,s,a,n),d=gr(h);if(e.skirtHeight){let{attributes:p,triangles:g}=Ns(h,f,e.skirtHeight);h=p,f=g}return{loaderData:{header:{}},header:{vertexCount:f.length,boundingBox:d},mode:4,indices:{value:Uint32Array.from(f),size:1},attributes:h}}function X0(t,e,r){let n=e+1,o=new hi(n).createTile(r),{vertices:s,triangles:a}=o.getMesh(t);return{vertices:s,triangles:a}}function K0(t,e,r,n){let i=new di(n,e+1,r+1);i.run(t);let{coords:o,triangles:s}=i;return{vertices:o,triangles:s}}function Us(t,e,r,n,i){let{rScaler:o,bScaler:s,gScaler:a,offset:c}=n,u=new Float32Array((e+1)*(r+1));for(let l=0,f=0;f<r;f++)for(let h=0;h<e;h++,l++){let d=l*4,p=t[d+0],g=t[d+1],m=t[d+2];u[l+f]=p*o+g*a+m*s+c}if(i==="martini"){for(let l=(e+1)*e,f=0;f<e;f++,l++)u[l]=u[l-e-1];for(let l=r,f=0;f<r+1;f++,l+=r+1)u[l]=u[l-1]}return u}function aI(t,e,r,n,i){let o=r+1,s=t.length/2,a=new Float32Array(s*3),c=new Float32Array(s*2),[u,l,f,h]=i||[0,0,r,n],d=(f-u)/r,p=(h-l)/n;for(let g=0;g<s;g++){let m=t[g*2],A=t[g*2+1],_=A*o+m;a[3*g+0]=m*d+u,a[3*g+1]=-A*p+h,a[3*g+2]=e[_],c[2*g+0]=m/r,c[2*g+1]=A/n}return{POSITION:{value:a,size:3},TEXCOORD_0:{value:c,size:2}}}var Gs="4.1.0-alpha.9";var Hs={name:"Terrain",id:"terrain",module:"terrain",version:Gs,worker:!0,extensions:["png","pngraw","jpg","jpeg","gif","webp","bmp"],mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp"],options:{terrain:{tesselator:"auto",bounds:void 0,meshMaxError:10,elevationDecoder:{rScaler:1,gScaler:0,bScaler:0,offset:0},skirtHeight:void 0}}};var Z0={name:"Quantized Mesh",id:"quantized-mesh",module:"terrain",version:Gs,worker:!0,extensions:["terrain"],mimeTypes:["application/vnd.quantized-mesh"],options:{"quantized-mesh":{bounds:[0,0,1,1],skirtHeight:null}}};var cI={...Hs,parse:uI};async function uI(t,e,r){let n={...e,mimeType:"application/x.image",image:{...e?.image,type:"data"}},i=await Ce(t,[],n,r),o={...cI.options.terrain,...e?.terrain};return Y0(i,o)}var Rj={...Z0,parseSync:(t,e)=>xl(t,e?.["quantized-mesh"]),parse:async(t,e)=>xl(t,e?.["quantized-mesh"])};function Vs(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Vs=function(r){return typeof r}:Vs=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Vs(t)}function Q0(t){return hI(t)||fI(t)||ry(t)||lI()}function lI(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
763
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fI(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function hI(t){if(Array.isArray(t))return bl(t)}function dI(t,e){return gI(t)||mI(t,e)||ry(t,e)||pI()}function pI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
764
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ry(t,e){if(t){if(typeof t=="string")return bl(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bl(t,e)}}function bl(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function mI(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function gI(t){if(Array.isArray(t))return t}function yI(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function AI(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&El(t,e)}function El(t,e){return El=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},El(t,e)}function _I(t){var e=TI();return function(){var n=zs(t),i;if(e){var o=zs(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return vI(this,i)}}function vI(t,e){if(e&&(Vs(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return xI(t)}function xI(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function TI(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function zs(t){return zs=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},zs(t)}function $0(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Kt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?$0(Object(r),!0).forEach(function(n){bI(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):$0(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function bI(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var ey=[1],EI=Kt(Kt({},At.defaultProps),{},{elevationData:Ut,texture:Kt(Kt({},Ut),{},{optional:!0}),meshMaxError:{type:"number",value:4},bounds:{type:"array",value:null,optional:!0,compare:!0},color:{type:"color",value:[255,255,255]},elevationDecoder:{type:"object",value:{rScaler:1,gScaler:0,bScaler:0,offset:0}},workerUrl:"",wireframe:!1,material:!0,loaders:[Hs]});function ty(t){return Array.isArray(t)?t.join(";"):t||""}var ks=function(t){AI(r,t);var e=_I(r);function r(){var i;yI(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.updateState=function(o){var s=o.props,a=o.oldProps,c=s.elevationData!==a.elevationData;if(c){var u=s.elevationData,l=u&&(Array.isArray(u)||u.includes("{x}")&&u.includes("{y}"));this.setState({isTiled:l})}var f=c||s.meshMaxError!==a.meshMaxError||s.elevationDecoder!==a.elevationDecoder||s.bounds!==a.bounds;if(!this.state.isTiled&&f){var h=this.loadTerrain(s);this.setState({terrain:h})}s.workerUrl&&js.log.removed("workerUrl","loadOptions.terrain.workerUrl")()},n.loadTerrain=function(o){var s,a=o.elevationData,c=o.bounds,u=o.elevationDecoder,l=o.meshMaxError,f=o.signal;if(!a)return null;var h=this.getLoadOptions();h=Kt(Kt({},h),{},{terrain:Kt(Kt({skirtHeight:this.state.isTiled?l*2:0},(s=h)===null||s===void 0?void 0:s.terrain),{},{bounds:c,meshMaxError:l,elevationDecoder:u})});var d=this.props.fetch;return d(a,{propName:"elevationData",layer:this,loadOptions:h,signal:f})},n.getTiledTerrainData=function(o){var s=this.props,a=s.elevationData,c=s.fetch,u=s.texture,l=s.elevationDecoder,f=s.meshMaxError,h=this.context.viewport,d=ot(a,o),p=u&&ot(u,o),g=o.signal,m=[0,0],A=[0,0];if(h.isGeospatial){var _=o.bbox;m=h.projectFlat([_.west,_.south]),A=h.projectFlat([_.east,_.north])}else{var v=o.bbox;m=[v.left,v.bottom],A=[v.right,v.top]}var x=[m[0],m[1],A[0],A[1]],B=this.loadTerrain({elevationData:d,bounds:x,elevationDecoder:l,meshMaxError:f,signal:g}),S=p?c(p,{propName:"texture",layer:this,loaders:[],signal:g}).catch(function(C){return null}):Promise.resolve(null);return Promise.all([B,S])},n.renderSubLayers=function(o){var s=this.getSubLayerClass("mesh",Sl.SimpleMeshLayer),a=this.props,c=a.color,u=a.wireframe,l=a.material,f=o.data;if(!f)return null;var h=dI(f,2),d=h[0],p=h[1];return new s(o,{data:ey,mesh:d,texture:p,_instanced:!1,coordinateSystem:ny.COORDINATE_SYSTEM.CARTESIAN,getPosition:function(m){return[0,0,0]},getColor:c,wireframe:u,material:l})},n.onViewportLoad=function(o){if(o){var s=this.state.zRange,a=o.map(function(l){return l.content}).filter(Boolean).map(function(l){var f=l[0].header.boundingBox;return f.map(function(h){return h[2]})});if(a.length!==0){var c=Math.min.apply(Math,Q0(a.map(function(l){return l[0]}))),u=Math.max.apply(Math,Q0(a.map(function(l){return l[1]})));(!s||c<s[0]||u>s[1])&&this.setState({zRange:[c,u]})}}},n.renderLayers=function(){var o=this.props,s=o.color,a=o.material,c=o.elevationData,u=o.texture,l=o.wireframe,f=o.meshMaxError,h=o.elevationDecoder,d=o.tileSize,p=o.maxZoom,g=o.minZoom,m=o.extent,A=o.maxRequests,_=o.onTileLoad,v=o.onTileUnload,x=o.onTileError,B=o.maxCacheSize,S=o.maxCacheByteSize,C=o.refinementStrategy;if(this.state.isTiled)return new At(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:ty(c),texture:ty(u),meshMaxError:f,elevationDecoder:h}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:d,maxZoom:p,minZoom:g,extent:m,maxRequests:A,onTileLoad:_,onTileUnload:v,onTileError:x,maxCacheSize:B,maxCacheByteSize:S,refinementStrategy:C});var E=this.getSubLayerClass("mesh",Sl.SimpleMeshLayer);return new E(this.getSubLayerProps({id:"mesh"}),{data:ey,mesh:this.state.terrain,texture:u,_instanced:!1,getPosition:function(y){return[0,0,0]},getColor:s,material:a,wireframe:l})},r}(js.CompositeLayer);ks.defaultProps=EI;ks.layerName="TerrainLayer";var na=P(ze()),Jl=P(Ve()),qy=P(oy());var pi={x:0,y:1,z:2};function Sr(t,e={}){let{start:r=0,end:n=t.length,plane:i="xy"}=e,o=e.size||2,s=0,a=pi[i[0]],c=pi[i[1]];for(let u=r,l=n-o;u<n;u+=o)s+=(t[u+a]-t[l+a])*(t[u+c]+t[l+c]),l=u;return s/2}function Cl(t,e,r=2,n,i="xy"){let o=e&&e.length,s=o?e[0]*r:t.length,a=ay(t,0,s,r,!0,n&&n[0],i),c=[];if(!a||a.next===a.prev)return c;let u,l,f,h,d,p,g;if(o&&(a=OI(t,e,a,r,n,i)),t.length>80*r){h=l=t[0],d=f=t[1];for(let m=r;m<s;m+=r)p=t[m],g=t[m+1],p<h&&(h=p),g<d&&(d=g),p>l&&(l=p),g>f&&(f=g);u=Math.max(l-h,f-d),u=u!==0?32767/u:0}return mi(a,c,r,h,d,u,0),c}function ay(t,e,r,n,i,o,s){let a,c;o===void 0&&(o=Sr(t,{start:e,end:r,size:n,plane:s}));let u=pi[s[0]],l=pi[s[1]];if(i===o<0)for(a=e;a<r;a+=n)c=sy(a,t[a+u],t[a+l],c);else for(a=r-n;a>=e;a-=n)c=sy(a,t[a+u],t[a+l],c);return c&&Ws(c,c.next)&&(yi(c),c=c.next),c}function Br(t,e){if(!t)return t;e||(e=t);let r=t,n;do if(n=!1,!r.steiner&&(Ws(r,r.next)||te(r.prev,r,r.next)===0)){if(yi(r),r=e=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==e);return e}function mi(t,e,r,n,i,o,s){if(!t)return;!s&&o&&DI(t,n,i,o);let a=t,c,u;for(;t.prev!==t.next;){if(c=t.prev,u=t.next,o?MI(t,n,i,o):CI(t)){e.push(c.i/r|0),e.push(t.i/r|0),e.push(u.i/r|0),yi(t),t=u.next,a=u.next;continue}if(t=u,t===a){s?s===1?(t=wI(Br(t),e,r),mi(t,e,r,n,i,o,2)):s===2&&II(t,e,r,n,i,o):mi(Br(t),e,r,n,i,o,1);break}}}function CI(t){let e=t.prev,r=t,n=t.next;if(te(e,r,n)>=0)return!1;let i=e.x,o=r.x,s=n.x,a=e.y,c=r.y,u=n.y,l=i<o?i<s?i:s:o<s?o:s,f=a<c?a<u?a:u:c<u?c:u,h=i>o?i>s?i:s:o>s?o:s,d=a>c?a>u?a:u:c>u?c:u,p=n.next;for(;p!==e;){if(p.x>=l&&p.x<=h&&p.y>=f&&p.y<=d&&pn(i,a,o,c,s,u,p.x,p.y)&&te(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function MI(t,e,r,n){let i=t.prev,o=t,s=t.next;if(te(i,o,s)>=0)return!1;let a=i.x,c=o.x,u=s.x,l=i.y,f=o.y,h=s.y,d=a<c?a<u?a:u:c<u?c:u,p=l<f?l<h?l:h:f<h?f:h,g=a>c?a>u?a:u:c>u?c:u,m=l>f?l>h?l:h:f>h?f:h,A=Bl(d,p,e,r,n),_=Bl(g,m,e,r,n),v=t.prevZ,x=t.nextZ;for(;v&&v.z>=A&&x&&x.z<=_;){if(v.x>=d&&v.x<=g&&v.y>=p&&v.y<=m&&v!==i&&v!==s&&pn(a,l,c,f,u,h,v.x,v.y)&&te(v.prev,v,v.next)>=0||(v=v.prevZ,x.x>=d&&x.x<=g&&x.y>=p&&x.y<=m&&x!==i&&x!==s&&pn(a,l,c,f,u,h,x.x,x.y)&&te(x.prev,x,x.next)>=0))return!1;x=x.nextZ}for(;v&&v.z>=A;){if(v.x>=d&&v.x<=g&&v.y>=p&&v.y<=m&&v!==i&&v!==s&&pn(a,l,c,f,u,h,v.x,v.y)&&te(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;x&&x.z<=_;){if(x.x>=d&&x.x<=g&&x.y>=p&&x.y<=m&&x!==i&&x!==s&&pn(a,l,c,f,u,h,x.x,x.y)&&te(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function wI(t,e,r){let n=t;do{let i=n.prev,o=n.next.next;!Ws(i,o)&&cy(i,n,n.next,o)&&gi(i,o)&&gi(o,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(o.i/r|0),yi(n),yi(n.next),n=t=o),n=n.next}while(n!==t);return Br(n)}function II(t,e,r,n,i,o){let s=t;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&GI(s,a)){let c=uy(s,a);s=Br(s,s.next),c=Br(c,c.next),mi(s,e,r,n,i,o,0),mi(c,e,r,n,i,o,0);return}a=a.next}s=s.next}while(s!==t)}function OI(t,e,r,n,i,o){let s=[],a,c,u,l,f;for(a=0,c=e.length;a<c;a++)u=e[a]*n,l=a<c-1?e[a+1]*n:t.length,f=ay(t,u,l,n,!1,i&&i[a+1],o),f===f.next&&(f.steiner=!0),s.push(UI(f));for(s.sort(RI),a=0;a<s.length;a++)r=LI(s[a],r);return r}function RI(t,e){return t.x-e.x}function LI(t,e){let r=PI(t,e);if(!r)return e;let n=uy(r,t);return Br(n,n.next),Br(r,r.next)}function PI(t,e){let r=e,n=t.x,i=t.y,o=-1/0,s;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){let h=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(h<=n&&h>o&&(o=h,s=r.x<r.next.x?r:r.next,h===n))return s}r=r.next}while(r!==e);if(!s)return null;let a=s,c=s.x,u=s.y,l=1/0,f;r=s;do n>=r.x&&r.x>=c&&n!==r.x&&pn(i<u?n:o,i,c,u,i<u?o:n,i,r.x,r.y)&&(f=Math.abs(i-r.y)/(n-r.x),gi(r,t)&&(f<l||f===l&&(r.x>s.x||r.x===s.x&&FI(s,r)))&&(s=r,l=f)),r=r.next;while(r!==a);return s}function FI(t,e){return te(t.prev,t,e.prev)<0&&te(e.next,t,t.next)<0}function DI(t,e,r,n){let i=t;do i.z===0&&(i.z=Bl(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,NI(i)}function NI(t){let e,r,n=1,i,o,s,a,c,u;do{for(o=t,t=null,u=null,i=0;o;){for(i++,a=o,s=0,r=0;r<n&&(s++,a=a.nextZ,!!a);r++);for(c=n;s>0||c>0&&a;)s!==0&&(c===0||!a||o.z<=a.z)?(e=o,o=o.nextZ,s--):(e=a,a=a.nextZ,c--),u?u.nextZ=e:t=e,e.prevZ=u,u=e;o=a}u.nextZ=null,n*=2}while(i>1);return t}function Bl(t,e,r,n,i){return t=(t-r)*i|0,e=(e-n)*i|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function UI(t){let e=t,r=t;do(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;while(e!==t);return r}function pn(t,e,r,n,i,o,s,a){return(i-s)*(e-a)>=(t-s)*(o-a)&&(t-s)*(n-a)>=(r-s)*(e-a)&&(r-s)*(o-a)>=(i-s)*(n-a)}function GI(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!HI(t,e)&&(gi(t,e)&&gi(e,t)&&VI(t,e)&&(te(t.prev,t,e.prev)||te(t,e.prev,e))||Ws(t,e)&&te(t.prev,t,t.next)>0&&te(e.prev,e,e.next)>0)}function te(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ws(t,e){return t.x===e.x&&t.y===e.y}function cy(t,e,r,n){let i=qs(te(t,e,r)),o=qs(te(t,e,n)),s=qs(te(r,n,t)),a=qs(te(r,n,e));return!!(i!==o&&s!==a||i===0&&Js(t,r,e)||o===0&&Js(t,n,e)||s===0&&Js(r,t,n)||a===0&&Js(r,e,n))}function Js(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function qs(t){return t>0?1:t<0?-1:0}function HI(t,e){let r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&cy(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function gi(t,e){return te(t.prev,t,t.next)<0?te(t,e,t.next)>=0&&te(t,t.prev,e)>=0:te(t,e,t.prev)<0||te(t,t.next,e)<0}function VI(t,e){let r=t,n=!1,i=(t.x+e.x)/2,o=(t.y+e.y)/2;do r.y>o!=r.next.y>o&&r.next.y!==r.y&&i<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==t);return n}function uy(t,e){let r=new Ai(t.i,t.x,t.y),n=new Ai(e.i,e.x,e.y),i=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,o.next=n,n.prev=o,n}function sy(t,e,r,n){let i=new Ai(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function yi(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}var Ai=class{constructor(e,r,n){L(this,"i",void 0),L(this,"x",void 0),L(this,"y",void 0),L(this,"prev",null),L(this,"next",null),L(this,"z",0),L(this,"prevZ",null),L(this,"nextZ",null),L(this,"steiner",!1),this.i=e,this.x=r,this.y=n}};function Il(t,e,r){let n=qI(t),i=Object.keys(n).filter(o=>n[o]!==Array);return WI(t,{propArrayTypes:n,...e},{numericPropKeys:r&&r.numericPropKeys||i,PositionDataType:r?r.PositionDataType:Float32Array,triangulate:r?r.triangulate:!0})}function qI(t){let e={};for(let r of t)if(r.properties)for(let n in r.properties){let i=r.properties[n];e[n]=$I(i,e[n])}return e}function WI(t,e,r){let{pointPositionsCount:n,pointFeaturesCount:i,linePositionsCount:o,linePathsCount:s,lineFeaturesCount:a,polygonPositionsCount:c,polygonObjectsCount:u,polygonRingsCount:l,polygonFeaturesCount:f,propArrayTypes:h,coordLength:d}=e,{numericPropKeys:p=[],PositionDataType:g=Float32Array,triangulate:m=!0}=r,A=t[0]&&"id"in t[0],_=t.length>65535?Uint32Array:Uint16Array,v={type:"Point",positions:new g(n*d),globalFeatureIds:new _(n),featureIds:i>65535?new Uint32Array(n):new Uint16Array(n),numericProps:{},properties:[],fields:[]},x={type:"LineString",pathIndices:o>65535?new Uint32Array(s+1):new Uint16Array(s+1),positions:new g(o*d),globalFeatureIds:new _(o),featureIds:a>65535?new Uint32Array(o):new Uint16Array(o),numericProps:{},properties:[],fields:[]},B={type:"Polygon",polygonIndices:c>65535?new Uint32Array(u+1):new Uint16Array(u+1),primitivePolygonIndices:c>65535?new Uint32Array(l+1):new Uint16Array(l+1),positions:new g(c*d),globalFeatureIds:new _(c),featureIds:f>65535?new Uint32Array(c):new Uint16Array(c),numericProps:{},properties:[],fields:[]};m&&(B.triangles=[]);for(let C of[v,x,B])for(let E of p){let b=h[E];C.numericProps[E]=new b(C.positions.length/d)}x.pathIndices[s]=o,B.polygonIndices[u]=c,B.primitivePolygonIndices[l]=c;let S={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(let C of t){let E=C.geometry,b=C.properties||{};switch(E.type){case"Point":XI(E,v,S,d,b),v.properties.push(wl(b,p)),A&&v.fields.push({id:C.id}),S.pointFeature++;break;case"LineString":KI(E,x,S,d,b),x.properties.push(wl(b,p)),A&&x.fields.push({id:C.id}),S.lineFeature++;break;case"Polygon":YI(E,B,S,d,b),B.properties.push(wl(b,p)),A&&B.fields.push({id:C.id}),S.polygonFeature++;break;default:throw new Error("Invalid geometry type")}S.feature++}return QI(v,x,B,d)}function XI(t,e,r,n,i){e.positions.set(t.data,r.pointPosition*n);let o=t.data.length/n;Ol(e,i,r.pointPosition,o),e.globalFeatureIds.fill(r.feature,r.pointPosition,r.pointPosition+o),e.featureIds.fill(r.pointFeature,r.pointPosition,r.pointPosition+o),r.pointPosition+=o}function KI(t,e,r,n,i){e.positions.set(t.data,r.linePosition*n);let o=t.data.length/n;Ol(e,i,r.linePosition,o),e.globalFeatureIds.fill(r.feature,r.linePosition,r.linePosition+o),e.featureIds.fill(r.lineFeature,r.linePosition,r.linePosition+o);for(let s=0,a=t.indices.length;s<a;++s){let c=t.indices[s],u=s===a-1?t.data.length:t.indices[s+1];e.pathIndices[r.linePath++]=r.linePosition,r.linePosition+=(u-c)/n}}function YI(t,e,r,n,i){e.positions.set(t.data,r.polygonPosition*n);let o=t.data.length/n;Ol(e,i,r.polygonPosition,o),e.globalFeatureIds.fill(r.feature,r.polygonPosition,r.polygonPosition+o),e.featureIds.fill(r.polygonFeature,r.polygonPosition,r.polygonPosition+o);for(let s=0,a=t.indices.length;s<a;++s){let c=r.polygonPosition;e.polygonIndices[r.polygonObject++]=c;let u=t.areas[s],l=t.indices[s],f=t.indices[s+1];for(let d=0,p=l.length;d<p;++d){let g=l[d],m=d===p-1?f===void 0?t.data.length:f[0]:l[d+1];e.primitivePolygonIndices[r.polygonRing++]=r.polygonPosition,r.polygonPosition+=(m-g)/n}let h=r.polygonPosition;ZI(e,u,l,{startPosition:c,endPosition:h,coordLength:n})}}function ZI(t,e,r,n){let{startPosition:i,endPosition:o,coordLength:s}=n;if(!t.triangles)return;let a=i*s,c=o*s,u=t.positions.subarray(a,c),l=r[0],f=r.slice(1).map(d=>(d-l)/s),h=Cl(u,f,s,e);for(let d=0,p=h.length;d<p;++d)t.triangles.push(i+h[d])}function Ml(t,e){let r={};for(let n in t)r[n]={value:t[n],size:e};return r}function QI(t,e,r,n){let i={shape:"binary-feature-collection",points:{...t,positions:{value:t.positions,size:n},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1},numericProps:Ml(t.numericProps,1)},lines:{...e,positions:{value:e.positions,size:n},pathIndices:{value:e.pathIndices,size:1},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1},numericProps:Ml(e.numericProps,1)},polygons:{...r,positions:{value:r.positions,size:n},polygonIndices:{value:r.polygonIndices,size:1},primitivePolygonIndices:{value:r.primitivePolygonIndices,size:1},globalFeatureIds:{value:r.globalFeatureIds,size:1},featureIds:{value:r.featureIds,size:1},numericProps:Ml(r.numericProps,1)}};return i.polygons&&r.triangles&&(i.polygons.triangles={value:new Uint32Array(r.triangles),size:1}),i}function Ol(t,e,r,n){for(let i in t.numericProps)if(i in e){let o=e[i];t.numericProps[i].fill(o,r,r+n)}}function wl(t,e){let r={};for(let n in t)e.includes(n)||(r[n]=t[n]);return r}function $I(t,e){return e===Array||!Number.isFinite(t)?Array:e===Float64Array||Math.fround(t)!==t?Float64Array:Float32Array}function Ys(t,e){let r=e?.globalFeatureId;return r!==void 0?e2(t,r):t2(t,e?.type)}function e2(t,e){let r=dy(t);for(let n of r){let i=0,o=n.featureIds.value[0];for(let s=0;s<n.featureIds.value.length;s++){let a=n.featureIds.value[s];if(a!==o){if(e===n.globalFeatureIds.value[i])return Xs(n,i,s);i=s,o=a}}if(e===n.globalFeatureIds.value[i])return Xs(n,i,n.featureIds.value.length)}throw new Error(`featureId:${e} not found`)}function t2(t,e){let r=dy(t,e);return r2(r)}function hy(t,e,r){switch(t.type){case"Point":return s2(t,e,r);case"LineString":return o2(t,e,r);case"Polygon":return py(t,e,r);default:let n=t;throw new Error(`Unsupported geometry type: ${n?.type}`)}}function dy(t,e){let r=[];return t.points&&(t.points.type="Point",r.push(t.points)),t.lines&&(t.lines.type="LineString",r.push(t.lines)),t.polygons&&(t.polygons.type="Polygon",r.push(t.polygons)),r}function r2(t){let e=[];for(let r of t){if(r.featureIds.value.length===0)continue;let n=0,i=r.featureIds.value[0];for(let o=0;o<r.featureIds.value.length;o++){let s=r.featureIds.value[o];s!==i&&(e.push(Xs(r,n,o)),n=o,i=s)}e.push(Xs(r,n,r.featureIds.value.length))}return e}function Xs(t,e,r){let n=hy(t,e,r),i=i2(t,e,r),o=n2(t,e,r);return{type:"Feature",geometry:n,properties:i,...o}}function n2(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return t.fields&&t.fields[t.featureIds.value[e]]}function i2(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=Object.assign({},t.properties[t.featureIds.value[e]]);for(let i in t.numericProps)n[i]=t.numericProps[i].value[e];return n}function py(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,i=t.polygonIndices.value.filter(c=>c>=e&&c<=r),o=t.primitivePolygonIndices.value.filter(c=>c>=e&&c<=r);if(!(i.length>2)){let c=[];for(let u=0;u<o.length-1;u++){let l=o[u],f=o[u+1],h=Ks(n,l,f);c.push(h)}return{type:"Polygon",coordinates:c}}let a=[];for(let c=0;c<i.length-1;c++){let u=i[c],l=i[c+1],f=py(t,u,l).coordinates;a.push(f)}return{type:"MultiPolygon",coordinates:a}}function o2(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,i=t.pathIndices.value.filter(a=>a>=e&&a<=r);if(!(i.length>2))return{type:"LineString",coordinates:Ks(n,i[0],i[1])};let s=[];for(let a=0;a<i.length-1;a++){let c=Ks(n,i[a],i[a+1]);s.push(c)}return{type:"MultiLineString",coordinates:s}}function s2(t,e,r){let{positions:n}=t,i=Ks(n,e,r);return i.length>1?{type:"MultiPoint",coordinates:i}:{type:"Point",coordinates:i[0]}}function Ks(t,e,r){e=e||0,r=r||t.value.length/t.size;let n=[];for(let i=e;i<r;i++){let o=Array();for(let s=i*t.size;s<(i+1)*t.size;s++)o.push(Number(t.value[s]));n.push(o)}return n}var Ul=P(xy(),1);function Ty(t){let e=t.length;if(e<=1)return[t];let r=[],n,i;for(let o=0;o<e;o++){let s=E2(t[o]);s!==0&&(i===void 0&&(i=s<0),i===s<0?(n&&r.push(n),n=[t[o]]):n&&n.push(t[o]))}return n&&r.push(n),r}function E2(t){let e=0;for(let r=0,n=t.length-1,i,o;r<t.length;n=r++)i=t[r],o=t[n],e+=(o[0]-i[0])*(i[1]+o[1]);return e}function by(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?S2(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function S2(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}var Cr=class{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(e,r,n,i,o){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=i,this._values=o,e.readFields(by,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,i=0,o=0,s=0,a=[],c;for(;e.pos<r;){if(i<=0){let u=e.readVarint();n=u&7,i=u>>3}if(i--,n===1||n===2)o+=e.readSVarint(),s+=e.readSVarint(),n===1&&(c&&a.push(c),c=[]),c&&c.push([o,s]);else if(n===7)c&&c.push(c[0].slice());else throw new Error(`unknown command ${n}`)}return c&&a.push(c),a}bbox(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,i=0,o=0,s=0,a=1/0,c=-1/0,u=1/0,l=-1/0;for(;e.pos<r;){if(i<=0){let f=e.readVarint();n=f&7,i=f>>3}if(i--,n===1||n===2)o+=e.readSVarint(),s+=e.readSVarint(),o<a&&(a=o),o>c&&(c=o),s<u&&(u=s),s>l&&(l=s);else if(n!==7)throw new Error(`unknown command ${n}`)}return[a,u,c,l]}_toGeoJSON(e){let r=this.loadGeometry(),n=Cr.types[this.type],i,o;switch(this.type){case 1:let a=[];for(i=0;i<r.length;i++)a[i]=r[i][0];r=a,e(r,this);break;case 2:for(i=0;i<r.length;i++)e(r[i],this);break;case 3:for(r=Ty(r),i=0;i<r.length;i++)for(o=0;o<r[i].length;o++)e(r[i][o],this);break}r.length===1?r=r[0]:n=`Multi${n}`;let s={type:"Feature",geometry:{type:n,coordinates:r},properties:this.properties};return this.id!==null&&(s.id=this.id),s}toGeoJSON(e){if(typeof e=="function")return this._toGeoJSON(e);let{x:r,y:n,z:i}=e,o=this.extent*Math.pow(2,i),s=this.extent*r,a=this.extent*n;function c(u){for(let l=0;l<u.length;l++){let f=u[l];f[0]=(f[0]+s)*360/o-180;let h=180-(f[1]+a)*360/o;f[1]=360/Math.PI*Math.atan(Math.exp(h*Math.PI/180))-90}}return this._toGeoJSON(c)}};var _i=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(B2,this,r),this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let r=this._pbf.readVarint()+this._pbf.pos;return new Cr(this._pbf,r,this.extent,this._keys,this._values)}};function B2(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(C2(r)))}function C2(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var vi=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(M2,{},r)}};function M2(t,e,r){if(t===3&&r){let n=new _i(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function Ey(t){let e=t.indices.length,r="Polygon";if(e<=1)return{type:r,data:t.data,areas:[[Sr(t.data)]],indices:[t.indices]};let n=[],i=[],o=[],s=[],a,c=0;for(let u,l=0,f;l<e;l++){f=t.indices[l]-c,u=t.indices[l+1]-c||t.data.length;let h=t.data.slice(f,u),d=Sr(h);if(d===0){let p=t.data.slice(0,f),g=t.data.slice(u);t.data=p.concat(g),c+=u-f;continue}a===void 0&&(a=d<0),a===d<0?(s.length&&(n.push(o),i.push(s)),s=[f],o=[d]):(o.push(d),s.push(f))}return o&&n.push(o),s.length&&i.push(s),{type:r,areas:n,indices:i,data:t.data}}function Sy(t,e,r,n){for(let i=0,o=t.length;i<o;i+=2){t[i]=(t[i]+e)*360/n-180;let s=180-(t[i+1]+r)*360/n;t[i+1]=360/Math.PI*Math.atan(Math.exp(s*Math.PI/180))-90}}function By(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?w2(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function w2(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}var Cy,Mr,Pl,$s,Fl,Dl,xi;var Ti=class{constructor(e,r,n,i,o,s){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this._geometryInfo=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=i,this._values=o,this._geometryInfo=s,e.readFields(By,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry,Cy=e.readVarint()+e.pos,Mr=1,$s=0,Fl=0,Dl=0,xi=0;let r=[],n=[];for(;e.pos<Cy;)if($s<=0&&(Pl=e.readVarint(),Mr=Pl&7,$s=Pl>>3),$s--,Mr===1||Mr===2)Fl+=e.readSVarint(),Dl+=e.readSVarint(),Mr===1&&r.push(xi),n.push(Fl,Dl),xi+=2;else if(Mr===7){if(xi>0){let i=r[r.length-1];n.push(n[i],n[i+1]),xi+=2}}else throw new Error(`unknown command ${Mr}`);return{data:n,indices:r}}_toBinaryCoordinates(e){let r=this.loadGeometry(),n;e(r.data,this);let i=2;switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=r.indices.length,n={type:"Point",...r};break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=r.indices.length,this._geometryInfo.linePositionsCount+=r.data.length/i,n={type:"LineString",...r};break;case 3:n=Ey(r),this._geometryInfo.polygonFeaturesCount++,this._geometryInfo.polygonObjectsCount+=n.indices.length;for(let s of n.indices)this._geometryInfo.polygonRingsCount+=s.length;this._geometryInfo.polygonPositionsCount+=n.data.length/i;break;default:throw new Error(`Invalid geometry type: ${this.type}`)}let o={type:"Feature",geometry:n,properties:this.properties};return this.id!==null&&(o.id=this.id),o}toBinaryCoordinates(e){if(typeof e=="function")return this._toBinaryCoordinates(e);let{x:r,y:n,z:i}=e,o=this.extent*Math.pow(2,i),s=this.extent*r,a=this.extent*n;return this._toBinaryCoordinates(c=>Sy(c,s,a,o))}};var bi=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(I2,this,r),this.length=this._features.length}feature(e,r){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let n=this._pbf.readVarint()+this._pbf.pos;return new Ti(this._pbf,n,this.extent,this._keys,this._values,r)}};function I2(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(O2(r)))}function O2(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var Ei=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(R2,{},r)}};function R2(t,e,r){if(t===3&&r){let n=new bi(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function ea(t,e){var r,n;let i=P2(e),o=(e==null||(r=e.gis)===null||r===void 0?void 0:r.format)||(e==null||(n=e.mvt)===null||n===void 0?void 0:n.shape)||e?.shape;switch(o){case"columnar-table":return{shape:"columnar-table",data:Nl(t,i)};case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:My(t,i)};case"geojson":return My(t,i);case"binary-geometry":return Nl(t,i);case"binary":return Nl(t,i);default:throw new Error(o||"undefined shape")}}function Nl(t,e){let[r,n]=L2(t,e),i=Il(r,n);return i.byteLength=t.byteLength,i}function L2(t,e){let r=[],n={coordLength:2,pointPositionsCount:0,pointFeaturesCount:0,linePositionsCount:0,linePathsCount:0,lineFeaturesCount:0,polygonPositionsCount:0,polygonObjectsCount:0,polygonRingsCount:0,polygonFeaturesCount:0};if(t.byteLength<=0)return[r,n];let i=new Ei(new Ul.default(t));return(e&&Array.isArray(e.layers)?e.layers:Object.keys(i.layers)).forEach(s=>{let a=i.layers[s];if(a)for(let c=0;c<a.length;c++){let u=a.feature(c,n),l=D2(u,e,s);r.push(l)}}),[r,n]}function My(t,e){if(t.byteLength<=0)return[];let r=[],n=new vi(new Ul.default(t));return(Array.isArray(e.layers)?e.layers:Object.keys(n.layers)).forEach(o=>{let s=n.layers[o];if(s)for(let a=0;a<s.length;a++){let c=s.feature(a),u=F2(c,e,o);r.push(u)}}),r}function P2(t){var e;if(!(t!=null&&t.mvt))throw new Error("mvt options required");let r=((e=t.mvt)===null||e===void 0?void 0:e.coordinates)==="wgs84",{tileIndex:n}=t.mvt,i=n&&Number.isFinite(n.x)&&Number.isFinite(n.y)&&Number.isFinite(n.z);if(r&&!i)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property");return t.mvt}function F2(t,e,r){let n=t.toGeoJSON(e.coordinates==="wgs84"?e.tileIndex:N2);return e.layerProperty&&(n.properties[e.layerProperty]=r),n}function D2(t,e,r){let n=t.toBinaryCoordinates(e.coordinates==="wgs84"?e.tileIndex:U2);return e.layerProperty&&n.properties&&(n.properties[e.layerProperty]=r),n}function N2(t,e){let{extent:r}=e;for(let n=0;n<t.length;n++){let i=t[n];i[0]/=r,i[1]/=r}}function U2(t,e){let{extent:r}=e;for(let n=0,i=t.length;n<i;++n)t[n]/=r}var G2="4.1.0-alpha.9",ta={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:G2,extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:{mvt:{shape:"geojson",coordinates:"local",layerProperty:"layerName",layers:void 0,tileIndex:null}}},H2={...ta,parse:async(t,e)=>ea(t,e),parseSync:ea,binary:!0};function wy(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Iy(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?wy(Object(r),!0).forEach(function(n){V2(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):wy(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function V2(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Oy(t,e){return J2(t)||k2(t,e)||j2(t,e)||z2()}function z2(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
765
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function j2(t,e){if(t){if(typeof t=="string")return Ry(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ry(t,e)}}function Ry(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function k2(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function J2(t){if(Array.isArray(t))return t}var q2={Point:Ly,MultiPoint:W2,LineString:Py,MultiLineString:X2,Polygon:Fy,MultiPolygon:K2};function Ly(t,e,r){var n=Oy(t,2),i=n[0],o=n[1],s=Oy(e,2),a=s[0],c=s[1],u=Rt(a[0],c[0],i),l=Rt(a[1],c[1],o);return r.unprojectFlat([u,l])}function Gl(t,e,r){return t.map(function(n){return Ly(n,e,r)})}function W2(t,e,r){return Gl(t,e,r)}function Py(t,e,r){return Gl(t,e,r)}function X2(t,e,r){return t.map(function(n){return Py(n,e,r)})}function Fy(t,e,r){return t.map(function(n){return Gl(n,e,r)})}function K2(t,e,r){return t.map(function(n){return Fy(n,e,r)})}function Dy(t,e,r){var n=r.projectFlat([e.west,e.north]),i=r.projectFlat([e.east,e.south]),o=[n,i];return Iy(Iy({},t),{},{coordinates:q2[t.type](t.coordinates,o,r)})}function Y2(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Z2(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
766
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function Z2(t,e){if(t){if(typeof t=="string")return Ny(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ny(t,e)}}function Ny(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var Q2=["points","lines","polygons"];function Hl(t,e,r,n){var i=Y2(Q2),o;try{for(i.s();!(o=i.n()).done;){var s=o.value,a=t[s]&&$2(t[s],e,r,n);if(a>=0)return a}}catch(c){i.e(c)}finally{i.f()}return-1}function $2(t,e,r,n){var i=t.featureIds.value;if(!i.length)return-1;var o=0,s=i[i.length-1]+1;if(n){var a=eO(t,n);if(a)o=a[0],s=a[1]+1;else return-1}var c=-1;if(e in t.numericProps){var u=t.numericProps[e].value.findIndex(function(l,f){return l===r&&i[f]>=o&&i[f]<s});return u>=0?t.globalFeatureIds.value[u]:-1}else e?c=Uy(t.properties,function(l){return l[e]===r},o,s):t.fields&&(c=Uy(t.fields,function(l){return l.id===r},o,s));return c>=0?tO(t,c):-1}function eO(t,e){if(!t.__layers){for(var r={},n=t.properties,i=0;i<n.length;i++){var o=n[i],s=o.layerName;s&&(r[s]?r[s][1]=i:r[s]=[i,i])}t.__layers=r}return t.__layers[e]}function tO(t,e){if(!t.__ids){for(var r=[],n=t.featureIds.value,i=t.globalFeatureIds.value,o=0;o<n.length;o++)r[n[o]]=i[o];t.__ids=r}return t.__ids[e]}function Uy(t,e,r,n){for(var i=r;i<n;i++)if(e(t[i],i))return i;return-1}function ra(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ra=function(r){return typeof r}:ra=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ra(t)}function rO(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Jy(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
767
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function nO(t){return sO(t)||oO(t)||Jy(t)||iO()}function iO(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
768
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jy(t,e){if(t){if(typeof t=="string")return jl(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jl(t,e)}}function oO(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function sO(t){if(Array.isArray(t))return jl(t)}function jl(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Gy(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function aO(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){Gy(o,n,i,s,a,"next",c)}function a(c){Gy(o,n,i,s,a,"throw",c)}s(void 0)})}}function cO(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Hy(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function uO(t,e,r){return e&&Hy(t.prototype,e),r&&Hy(t,r),t}function ht(t,e,r){return typeof Reflect<"u"&&Reflect.get?ht=Reflect.get:ht=function(i,o,s){var a=lO(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},ht(t,e,r||t)}function lO(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=He(t),t!==null););return t}function fO(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&kl(t,e)}function kl(t,e){return kl=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},kl(t,e)}function hO(t){var e=mO();return function(){var n=He(t),i;if(e){var o=He(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return dO(this,i)}}function dO(t,e){if(e&&(ra(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return pO(t)}function pO(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function mO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function He(t){return He=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},He(t)}function Vy(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Yt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Vy(Object(r),!0).forEach(function(n){gO(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Vy(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function gO(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Vl=512,yO=Yt(Yt({},Jl.GeoJsonLayer.defaultProps),{},{data:Ut,onDataLoad:{type:"function",value:null,optional:!0,compare:!1},uniqueIdProperty:"",highlightedFeatureId:null,loaders:[ta],binary:!0}),ia=function(t){fO(r,t);var e=hO(r);function r(){var i;cO(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){ht(He(r.prototype),"initializeState",this).call(this);var o=this.context.viewport.resolution!==void 0?!1:this.props.binary;this.setState({binary:o,data:null,tileJSON:null})},n.updateState=function(o){var s,a=o.props,c=o.oldProps,u=o.context,l=o.changeFlags;l.dataChanged&&this._updateTileData(),(s=this.state)!==null&&s!==void 0&&s.data&&(ht(He(r.prototype),"updateState",this).call(this,{props:a,oldProps:c,context:u,changeFlags:l}),this._setWGS84PropertyForTiles());var f=a.highlightColor;f!==c.highlightColor&&Array.isArray(f)&&this.setState({highlightColor:f})},n._updateTileData=function(){var i=aO(regeneratorRuntime.mark(function s(){var a,c,u,l,f;return regeneratorRuntime.wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(a=this.props.data,c=null,!(typeof a=="string"&&!Fc(a))){d.next=18;break}return u=this.props,l=u.onDataLoad,f=u.fetch,this.setState({data:null,tileJSON:null}),d.prev=5,d.next=8,f(a,{propName:"data",layer:this,loaders:[]});case 8:c=d.sent,d.next=15;break;case 11:d.prev=11,d.t0=d.catch(5),this.raiseError(d.t0,"loading TileJSON"),a=null;case 15:l&&l(c,{propName:"data",layer:this}),d.next=19;break;case 18:a.tilejson&&(c=a);case 19:c&&(a=c.tiles),this.setState({data:a,tileJSON:c});case 21:case"end":return d.stop()}},s,this,[[5,11]])}));function o(){return i.apply(this,arguments)}return o}(),n._getTilesetOptions=function(){var o=ht(He(r.prototype),"_getTilesetOptions",this).call(this),s=this.state.tileJSON,a=this.props,c=a.minZoom,u=a.maxZoom;return s&&(Number.isFinite(s.minzoom)&&s.minzoom>c&&(o.minZoom=s.minzoom),Number.isFinite(s.maxzoom)&&(!Number.isFinite(u)||s.maxzoom<u)&&(o.maxZoom=s.maxzoom)),o},n.renderLayers=function(){var o;return(o=this.state)!==null&&o!==void 0&&o.data?ht(He(r.prototype),"renderLayers",this).call(this):null},n.getTileData=function(o){var s,a=this.state,c=a.data,u=a.binary,l=o.index,f=o.signal,h=ot(c,o);if(!h)return Promise.reject("Invalid URL");var d=this.getLoadOptions(),p=this.props.fetch;return d=Yt(Yt({},d),{},{mimeType:"application/x-protobuf",mvt:Yt(Yt({},(s=d)===null||s===void 0?void 0:s.mvt),{},{coordinates:this.context.viewport.resolution?"wgs84":"local",tileIndex:l}),gis:u?{format:"binary"}:{}}),p(h,{propName:"data",layer:this,loadOptions:d,signal:f})},n.renderSubLayers=function(o){var s=o.tile.index,a=s.x,c=s.y,u=s.z,l=Math.pow(2,u),f=Vl/l,h=-f,d=Vl*a/l,p=Vl*(1-c/l),g=new D().scale([f,h,1]);o.autoHighlight=!1,this.context.viewport.resolution||(o.modelMatrix=g,o.coordinateOrigin=[d,p,0],o.coordinateSystem=na.COORDINATE_SYSTEM.CARTESIAN,o.extensions=[].concat(nO(o.extensions||[]),[new qy.ClipExtension]));var m=ht(He(r.prototype),"renderSubLayers",this).call(this,o);return this.state.binary&&!(m instanceof Jl.GeoJsonLayer)&&na.log.warn("renderSubLayers() must return GeoJsonLayer when using binary:true")(),m},n._updateAutoHighlight=function(o){var s=this.props.uniqueIdProperty,a=this.state,c=a.hoveredFeatureId,u=a.hoveredFeatureLayerName,l=o.object,f,h;l&&(f=zl(l,s),h=zy(l));var d=this.props.highlightColor;typeof d=="function"&&(d=d(o)),(c!==f||u!==h)&&this.setState({highlightColor:d,hoveredFeatureId:f,hoveredFeatureLayerName:h})},n.getPickingInfo=function(o){var s=ht(He(r.prototype),"getPickingInfo",this).call(this,o),a=Boolean(this.context.viewport.resolution);if(this.state.binary&&s.index!==-1){var c=o.sourceLayer.props.data;s.object=Ys(c,{globalFeatureId:s.index})}return s.object&&!a&&(s.object=ky(s.object,s.tile.bbox,this.context.viewport)),s},n.getSubLayerPropsByTile=function(o){return{highlightedObjectIndex:this.getHighlightedObjectIndex(o),highlightColor:this.state.highlightColor}},n.getHighlightedObjectIndex=function(o){var s=this.state,a=s.hoveredFeatureId,c=s.hoveredFeatureLayerName,u=s.binary,l=this.props,f=l.uniqueIdProperty,h=l.highlightedFeatureId,d=o.content,p=jy(h),g=jy(a)||p;if(!g)return-1;var m=p?h:a;return Array.isArray(d)?d.findIndex(function(A){var _=zl(A,f)===m,v=p||zy(A)===c;return _&&v}):d&&u?Hl(d,f,m,p?"":c):-1},n._pickObjects=function(o){var s=this.context,a=s.deck,c=s.viewport,u=c.width,l=c.height,f=c.x,h=c.y,d=[this.id];return a.pickObjects({x:f,y:h,width:u,height:l,layerIds:d,maxObjects:o})},n.getRenderedFeatures=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,s=this._pickObjects(o),a=new Set,c=[],u=rO(s),l;try{for(u.s();!(l=u.n()).done;){var f=l.value,h=zl(f.object,this.props.uniqueIdProperty);h===void 0?c.push(f.object):a.has(h)||(a.add(h),c.push(f.object))}}catch(d){u.e(d)}finally{u.f()}return c},n._setWGS84PropertyForTiles=function(){var o=this,s="dataInWGS84",a=this.state.tileset;a.selectedTiles.forEach(function(c){c.hasOwnProperty(s)||Object.defineProperty(c,s,{get:function(){if(!c.content)return null;if(o.state.binary&&Array.isArray(c.content)&&!c.content.length)return[];var l=c.bbox;if(c._contentWGS84===void 0&&Dc(l)){var f=o.state.binary?Ys(c.content):c.content;c._contentWGS84=f.map(function(h){return ky(h,l,o.context.viewport)})}return c._contentWGS84}})})},uO(r,[{key:"isLoaded",get:function(){return Boolean(this.state&&this.state.data&&this.state.tileset&&ht(He(r.prototype),"isLoaded",this))}}]),r}(At);ia.layerName="MVTLayer";ia.defaultProps=yO;function zl(t,e){if(t.properties&&e)return t.properties[e];if("id"in t)return t.id}function zy(t){var e;return((e=t.properties)===null||e===void 0?void 0:e.layerName)||null}function jy(t){return t!=null&&t!==""}function ky(t,e,r){var n=Yt(Yt({},t),{},{geometry:{type:t.geometry.type}});return Object.defineProperty(n.geometry,"coordinates",{get:function(){var o=Dy(t.geometry,e,r);return o.coordinates}}),n}function AO(t,e){return TO(t)||xO(t,e)||vO(t,e)||_O()}function _O(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
769
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vO(t,e){if(t){if(typeof t=="string")return Wy(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Wy(t,e)}}function Wy(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function xO(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function TO(t){if(Array.isArray(t))return t}var Xy="0123456789bcdefghjkmnpqrstuvwxyz",Ky={};for(Si=0;Si<Xy.length;Si++)Ky[Xy.charAt(Si)]=Si;var Si,bO=-90,EO=90,SO=-180,BO=180;function CO(t){for(var e=!0,r=EO,n=bO,i=BO,o=SO,s,a=0,c=0,u=t.length;c<u;c++){var l=t[c].toLowerCase();a=Ky[l];for(var f=4;f>=0;f--){var h=a>>f&1;e?(s=(i+o)/2,h===1?o=s:i=s):(s=(r+n)/2,h===1?n=s:r=s),e=!e}}return[n,o,r,i]}function Yy(t){var e=CO(t),r=AO(e,4),n=r[0],i=r[1],o=r[2],s=r[3];return[s,o,s,n,i,n,i,o,s,o]}function oa(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?oa=function(r){return typeof r}:oa=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},oa(t)}function MO(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function wO(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ql(t,e)}function ql(t,e){return ql=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},ql(t,e)}function IO(t){var e=LO();return function(){var n=sa(t),i;if(e){var o=sa(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return OO(this,i)}}function OO(t,e){if(e&&(oa(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return RO(t)}function RO(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function LO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sa(t){return sa=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},sa(t)}var PO={getGeohash:{type:"accessor",value:function(e){return e.geohash}}},aa=function(t){wO(r,t);var e=IO(r);function r(){return MO(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.getGeohash;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(u,l){return Yy(a(u,l))}}},r}(Le);aa.layerName="GeohashLayer";aa.defaultProps=PO;return iA(Bi);})();
51
770
  return __exports__;
52
771
  });