isard 0.0.0-stage → 0.2.0

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 (84) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/LICENSE +21 -0
  3. package/README.md +150 -2
  4. package/dist/basemap.worker.d.ts +66 -0
  5. package/dist/basemap.worker.js +4 -0
  6. package/dist/basemap.worker.js.map +13 -0
  7. package/dist/basemaps.d.ts +46 -0
  8. package/dist/basemaps.js +95 -0
  9. package/dist/basemaps.js.map +1 -0
  10. package/dist/color.d.ts +8 -0
  11. package/dist/color.js +98 -0
  12. package/dist/color.js.map +1 -0
  13. package/dist/controls.d.ts +43 -0
  14. package/dist/controls.js +115 -0
  15. package/dist/controls.js.map +1 -0
  16. package/dist/decoder.worker.js +6 -0
  17. package/dist/decoder.worker.js.map +12 -0
  18. package/dist/decoders.d.ts +27 -0
  19. package/dist/decoders.js +109 -0
  20. package/dist/decoders.js.map +1 -0
  21. package/dist/equirectangular.d.ts +35 -0
  22. package/dist/equirectangular.js +113 -0
  23. package/dist/equirectangular.js.map +1 -0
  24. package/dist/extrusions.d.ts +79 -0
  25. package/dist/extrusions.js +215 -0
  26. package/dist/extrusions.js.map +1 -0
  27. package/dist/features.d.ts +159 -0
  28. package/dist/features.js +387 -0
  29. package/dist/features.js.map +1 -0
  30. package/dist/geoplateforme.d.ts +35 -0
  31. package/dist/geoplateforme.js +56 -0
  32. package/dist/geoplateforme.js.map +1 -0
  33. package/dist/glyphs.d.ts +104 -0
  34. package/dist/glyphs.js +383 -0
  35. package/dist/glyphs.js.map +1 -0
  36. package/dist/index.d.ts +34 -0
  37. package/dist/index.js +25 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/interaction.d.ts +50 -0
  40. package/dist/interaction.js +243 -0
  41. package/dist/interaction.js.map +1 -0
  42. package/dist/isard_bg.wasm +0 -0
  43. package/dist/isard_core_bg.wasm +0 -0
  44. package/dist/layers.d.ts +100 -0
  45. package/dist/layers.js +281 -0
  46. package/dist/layers.js.map +1 -0
  47. package/dist/loader.d.ts +30 -0
  48. package/dist/loader.js +102 -0
  49. package/dist/loader.js.map +1 -0
  50. package/dist/map.d.ts +203 -0
  51. package/dist/map.js +1083 -0
  52. package/dist/map.js.map +1 -0
  53. package/dist/mvt.d.ts +19 -0
  54. package/dist/mvt.js +231 -0
  55. package/dist/mvt.js.map +1 -0
  56. package/dist/overlay.d.ts +118 -0
  57. package/dist/overlay.js +334 -0
  58. package/dist/overlay.js.map +1 -0
  59. package/dist/protocol.d.ts +30 -0
  60. package/dist/protocol.js +2 -0
  61. package/dist/protocol.js.map +1 -0
  62. package/dist/style.d.ts +7 -0
  63. package/dist/style.js +130 -0
  64. package/dist/style.js.map +1 -0
  65. package/dist/symbols.d.ts +61 -0
  66. package/dist/symbols.js +238 -0
  67. package/dist/symbols.js.map +1 -0
  68. package/dist/terrain.d.ts +14 -0
  69. package/dist/terrain.js +44 -0
  70. package/dist/terrain.js.map +1 -0
  71. package/dist/types.d.ts +304 -0
  72. package/dist/types.js +2 -0
  73. package/dist/types.js.map +1 -0
  74. package/dist/vectorstyle.d.ts +83 -0
  75. package/dist/vectorstyle.js +518 -0
  76. package/dist/vectorstyle.js.map +1 -0
  77. package/dist/vectortiles.d.ts +121 -0
  78. package/dist/vectortiles.js +507 -0
  79. package/dist/vectortiles.js.map +1 -0
  80. package/dist/wasm/isard.d.ts +611 -0
  81. package/dist/wasm/isard.js +2606 -0
  82. package/dist/wasm/isard_core.d.ts +468 -0
  83. package/dist/wasm/isard_core.js +2360 -0
  84. package/package.json +49 -4
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Controls: elements in a corner of the map. A control is anything with `onAdd` and `onRemove`, as in MapLibre, so
3
+ * applications write their own; the navigation buttons and the attribution are built in.
4
+ */
5
+ import { IGN_ATTRIBUTION } from "./geoplateforme.js";
6
+ const svg = (body) => `<svg width="29" height="29" viewBox="0 0 29 29" fill="currentColor" aria-hidden="true">${body}</svg>`;
7
+ const PLUS = svg('<path d="M14.5 8.5a1 1 0 0 1 1 1v4h4a1 1 0 0 1 0 2h-4v4a1 1 0 0 1-2 0v-4h-4a1 1 0 0 1 0-2h4v-4a1 1 0 0 1 1-1z"/>');
8
+ const MINUS = svg('<path d="M9.5 13.5h10a1 1 0 0 1 0 2h-10a1 1 0 0 1 0-2z"/>');
9
+ /** Needle: red half to the north, grey half to the south */
10
+ const COMPASS = svg('<path d="M10.5 14 14.5 6.5 18.5 14z" fill="#e3342f"/><path d="M10.5 15 14.5 22.5 18.5 15z" fill="currentColor" opacity="0.5"/>');
11
+ const INFO = '<svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" ' +
12
+ 'd="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14zm-1 5.5h2V14H9zM10 5.5a1.1 1.1 0 1 1 0 2.2 1.1 1.1 0 0 1 0-2.2z"/></svg>';
13
+ function button(className, label, icon, onClick) {
14
+ const element = document.createElement('button');
15
+ element.type = 'button';
16
+ element.className = className;
17
+ element.title = label;
18
+ element.setAttribute('aria-label', label);
19
+ element.innerHTML = icon;
20
+ element.addEventListener('click', onClick);
21
+ return element;
22
+ }
23
+ /** Zoom buttons and compass */
24
+ export class NavigationControl {
25
+ options;
26
+ stopListening;
27
+ constructor(options = {}) {
28
+ this.options = { showZoom: true, showCompass: true, visualizePitch: false, ...options };
29
+ }
30
+ onAdd(map) {
31
+ const group = document.createElement('div');
32
+ group.className = 'isard-ctrl-group';
33
+ const zoomBy = (delta) => map.easeTo({ zoom: map.getCamera().zoom + delta }, 300);
34
+ if (this.options.showZoom) {
35
+ group.append(button('isard-ctrl-zoom-in', 'Zoom in', PLUS, () => zoomBy(1)), button('isard-ctrl-zoom-out', 'Zoom out', MINUS, () => zoomBy(-1)));
36
+ }
37
+ if (this.options.showCompass) {
38
+ const compass = button('isard-ctrl-compass', 'Reset bearing to north', COMPASS, () => map.easeTo({ bearing: 0, pitch: 0 }, 300));
39
+ const needle = compass.firstElementChild;
40
+ const turn = () => {
41
+ const { bearing, pitch } = map.getCamera();
42
+ // Seen from above when tilted: the needle lies back with the ground, squashed by cos(pitch)
43
+ needle.style.transform = this.options.visualizePitch
44
+ ? `scale(${1 / Math.cos((pitch * Math.PI) / 180) ** 0.5}) rotateX(${pitch}deg) rotateZ(${-bearing}deg)`
45
+ : `rotate(${-bearing}deg)`;
46
+ };
47
+ turn();
48
+ this.stopListening = map.on('move', turn);
49
+ group.append(compass);
50
+ }
51
+ return group;
52
+ }
53
+ onRemove() {
54
+ this.stopListening?.();
55
+ this.stopListening = undefined;
56
+ }
57
+ }
58
+ /** @deprecated The Géoplateforme's credits, now `IGN_ATTRIBUTION`: the attribution control shows those of the sources
59
+ * in use */
60
+ export const DEFAULT_ATTRIBUTION = IGN_ATTRIBUTION;
61
+ /** Credits of the data shown: those of the map's basemap, hillshade and relief (OpenFreeMap and OpenStreetMap, IGN,
62
+ * the Terrain Tiles…, followed as they change), then the page's own */
63
+ export class AttributionControl {
64
+ options;
65
+ observer;
66
+ stopListening;
67
+ constructor(options = {}) {
68
+ this.options = options;
69
+ }
70
+ onAdd(map) {
71
+ const element = document.createElement('div');
72
+ element.className = 'isard-attrib';
73
+ const inner = document.createElement('div');
74
+ inner.className = 'isard-attrib-inner';
75
+ const custom = this.options.customAttribution ?? [];
76
+ const render = () => {
77
+ inner.innerHTML = [...map.attributions(), ...(typeof custom === 'string' ? [custom] : custom)].join(' | ');
78
+ for (const link of inner.querySelectorAll('a')) {
79
+ link.target = '_blank';
80
+ link.rel = 'noopener noreferrer';
81
+ }
82
+ };
83
+ render();
84
+ this.stopListening = map.onAttributionChange(render);
85
+ const toggle = button('isard-attrib-button', 'Toggle attribution', INFO, () => toggle.setAttribute('aria-expanded', String(element.classList.toggle('isard-attrib-open'))));
86
+ toggle.setAttribute('aria-expanded', 'false');
87
+ element.append(inner, toggle);
88
+ const { compact } = this.options;
89
+ if (compact !== undefined) {
90
+ element.classList.toggle('isard-attrib-compact', compact);
91
+ }
92
+ else {
93
+ // Follows the map's width; a narrowed map folds the text, starting closed
94
+ const fold = () => {
95
+ const narrow = map.getContainer().clientWidth < 640;
96
+ if (narrow !== element.classList.contains('isard-attrib-compact')) {
97
+ element.classList.remove('isard-attrib-open');
98
+ toggle.setAttribute('aria-expanded', 'false');
99
+ }
100
+ element.classList.toggle('isard-attrib-compact', narrow);
101
+ };
102
+ fold();
103
+ this.observer = new ResizeObserver(fold);
104
+ this.observer.observe(map.getContainer());
105
+ }
106
+ return element;
107
+ }
108
+ onRemove() {
109
+ this.observer?.disconnect();
110
+ this.observer = undefined;
111
+ this.stopListening?.();
112
+ this.stopListening = undefined;
113
+ }
114
+ }
115
+ //# sourceMappingURL=controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.js","sourceRoot":"","sources":["../src/controls.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Controls: elements in a corner of the map. A control is anything with `onAdd` and `onRemove`, as in MapLibre, so\n * applications write their own; the navigation buttons and the attribution are built in.\n */\nimport { IGN_ATTRIBUTION } from './geoplateforme.ts';\nimport type { GeoMap } from './map.ts';\n\nexport type ControlPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n\nexport interface Control {\n /** Builds the control's element; the map puts it in its corner */\n onAdd(map: GeoMap): HTMLElement;\n /** Cleans up (listeners); the map removes the element */\n onRemove(map: GeoMap): void;\n}\n\nconst svg = (body: string) =>\n `<svg width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"currentColor\" aria-hidden=\"true\">${body}</svg>`;\nconst PLUS = svg(\n '<path d=\"M14.5 8.5a1 1 0 0 1 1 1v4h4a1 1 0 0 1 0 2h-4v4a1 1 0 0 1-2 0v-4h-4a1 1 0 0 1 0-2h4v-4a1 1 0 0 1 1-1z\"/>',\n);\nconst MINUS = svg('<path d=\"M9.5 13.5h10a1 1 0 0 1 0 2h-10a1 1 0 0 1 0-2z\"/>');\n/** Needle: red half to the north, grey half to the south */\nconst COMPASS = svg(\n '<path d=\"M10.5 14 14.5 6.5 18.5 14z\" fill=\"#e3342f\"/><path d=\"M10.5 15 14.5 22.5 18.5 15z\" fill=\"currentColor\" opacity=\"0.5\"/>',\n);\nconst INFO =\n '<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" ' +\n 'd=\"M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14zm-1 5.5h2V14H9zM10 5.5a1.1 1.1 0 1 1 0 2.2 1.1 1.1 0 0 1 0-2.2z\"/></svg>';\n\nfunction button(className: string, label: string, icon: string, onClick: () => void): HTMLButtonElement {\n const element = document.createElement('button');\n element.type = 'button';\n element.className = className;\n element.title = label;\n element.setAttribute('aria-label', label);\n element.innerHTML = icon;\n element.addEventListener('click', onClick);\n return element;\n}\n\nexport interface NavigationOptions {\n /** Zoom in and out buttons (default true) */\n showZoom?: boolean;\n /** Compass turning with the bearing; a click faces north and levels the view (default true) */\n showCompass?: boolean;\n /** The compass also tilts with the pitch (default false) */\n visualizePitch?: boolean;\n}\n\n/** Zoom buttons and compass */\nexport class NavigationControl implements Control {\n private readonly options: Required<NavigationOptions>;\n private stopListening: (() => void) | undefined;\n\n constructor(options: NavigationOptions = {}) {\n this.options = { showZoom: true, showCompass: true, visualizePitch: false, ...options };\n }\n\n onAdd(map: GeoMap): HTMLElement {\n const group = document.createElement('div');\n group.className = 'isard-ctrl-group';\n const zoomBy = (delta: number) => map.easeTo({ zoom: map.getCamera().zoom + delta }, 300);\n if (this.options.showZoom) {\n group.append(\n button('isard-ctrl-zoom-in', 'Zoom in', PLUS, () => zoomBy(1)),\n button('isard-ctrl-zoom-out', 'Zoom out', MINUS, () => zoomBy(-1)),\n );\n }\n if (this.options.showCompass) {\n const compass = button('isard-ctrl-compass', 'Reset bearing to north', COMPASS, () =>\n map.easeTo({ bearing: 0, pitch: 0 }, 300),\n );\n const needle = compass.firstElementChild as SVGElement;\n const turn = () => {\n const { bearing, pitch } = map.getCamera();\n // Seen from above when tilted: the needle lies back with the ground, squashed by cos(pitch)\n needle.style.transform = this.options.visualizePitch\n ? `scale(${1 / Math.cos((pitch * Math.PI) / 180) ** 0.5}) rotateX(${pitch}deg) rotateZ(${-bearing}deg)`\n : `rotate(${-bearing}deg)`;\n };\n turn();\n this.stopListening = map.on('move', turn);\n group.append(compass);\n }\n return group;\n }\n\n onRemove(): void {\n this.stopListening?.();\n this.stopListening = undefined;\n }\n}\n\n/** @deprecated The Géoplateforme's credits, now `IGN_ATTRIBUTION`: the attribution control shows those of the sources\n * in use */\nexport const DEFAULT_ATTRIBUTION = IGN_ATTRIBUTION;\n\nexport interface AttributionOptions {\n /** Folded into a small (i) button that shows the text on click (default: when the map is narrower than 640 px) */\n compact?: boolean;\n /** Attributions shown after those of the map's sources, HTML allowed (links open in a new tab) */\n customAttribution?: string | string[];\n}\n\n/** Credits of the data shown: those of the map's basemap, hillshade and relief (OpenFreeMap and OpenStreetMap, IGN,\n * the Terrain Tiles…, followed as they change), then the page's own */\nexport class AttributionControl implements Control {\n private observer: ResizeObserver | undefined;\n private stopListening: (() => void) | undefined;\n\n constructor(private readonly options: AttributionOptions = {}) {}\n\n onAdd(map: GeoMap): HTMLElement {\n const element = document.createElement('div');\n element.className = 'isard-attrib';\n const inner = document.createElement('div');\n inner.className = 'isard-attrib-inner';\n const custom = this.options.customAttribution ?? [];\n const render = () => {\n inner.innerHTML = [...map.attributions(), ...(typeof custom === 'string' ? [custom] : custom)].join(' | ');\n for (const link of inner.querySelectorAll('a')) {\n link.target = '_blank';\n link.rel = 'noopener noreferrer';\n }\n };\n render();\n this.stopListening = map.onAttributionChange(render);\n const toggle = button('isard-attrib-button', 'Toggle attribution', INFO, () =>\n toggle.setAttribute('aria-expanded', String(element.classList.toggle('isard-attrib-open'))),\n );\n toggle.setAttribute('aria-expanded', 'false');\n element.append(inner, toggle);\n const { compact } = this.options;\n if (compact !== undefined) {\n element.classList.toggle('isard-attrib-compact', compact);\n } else {\n // Follows the map's width; a narrowed map folds the text, starting closed\n const fold = () => {\n const narrow = map.getContainer().clientWidth < 640;\n if (narrow !== element.classList.contains('isard-attrib-compact')) {\n element.classList.remove('isard-attrib-open');\n toggle.setAttribute('aria-expanded', 'false');\n }\n element.classList.toggle('isard-attrib-compact', narrow);\n };\n fold();\n this.observer = new ResizeObserver(fold);\n this.observer.observe(map.getContainer());\n }\n return element;\n }\n\n onRemove(): void {\n this.observer?.disconnect();\n this.observer = undefined;\n this.stopListening?.();\n this.stopListening = undefined;\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ var ne={draco:"https://www.gstatic.com/draco/versioned/decoders/1.5.7/",basis:"https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/libs/basis/"};async function ye(_,e){let t=await(await fetch(_)).text();return Function(`${t}
2
+ return ${e};`)()}async function re(_,e,t,n){let[r,o]=await Promise.all([ye(`${_}${e}`,n),fetch(`${_}${t}`).then((a)=>a.arrayBuffer())]);return r({wasmBinary:o})}var ee,te;async function _e(_,e){ee??=re(_.draco,"draco_wasm_wrapper_gltf.js","draco_decoder_gltf.wasm","DracoDecoderModule");let t=await ee;return e.map((n)=>{let r=new t.Decoder,o=new t.Mesh;try{let a=new Int8Array(n.data.buffer,n.data.byteOffset,n.data.byteLength),i=r.DecodeArrayToMesh(a,a.byteLength,o);if(!i.ok())throw Error(`Draco: ${i.error_msg()}`);let f=(A)=>{let T=r.GetAttributeByUniqueId(o,A),h=o.num_points()*T.num_components(),D=t._malloc(h*4);try{return r.GetAttributeDataArrayForAllPoints(o,T,t.DT_FLOAT32,h*4,D),t.HEAPF32.slice(D/4,D/4+h)}finally{t._free(D)}},u=o.num_faces()*3,d=t._malloc(u*4),w;try{r.GetTrianglesUInt32Array(o,u*4,d),w=t.HEAPU32.slice(d/4,d/4+u)}finally{t._free(d)}let m={mesh:n.mesh,primitive:n.primitive,positions:f(n.position),indices:w};if(n.uv!==void 0)m.uvs=f(n.uv);return m}finally{t.destroy(o),t.destroy(r)}})}function he(_,e){if(_.astc)return{basis:10,gl:37808};if(_.bptc)return{basis:6,gl:36492};if(_.etc)return e?{basis:1,gl:37496}:{basis:0,gl:37492};if(_.s3tc)return e?{basis:3,gl:33779}:{basis:2,gl:33776};return{basis:13,gl:32856}}async function oe(_,e,t){te??=re(_.basis,"basis_transcoder.js","basis_transcoder.wasm","BASIS").then((o)=>(o.initializeBasis(),o));let r=new(await te).KTX2File(t);try{if(!r.isValid()||!r.startTranscoding())throw Error("KTX2: invalid file");let{basis:o,gl:a}=he(e,r.getHasAlpha()),i=[];for(let f=0;f<r.getLevels();f++){let{origWidth:u,origHeight:d}=r.getImageLevelInfo(f,0,0),w=new Uint8Array(r.getImageTranscodedSizeInBytes(f,0,0,o));if(!r.transcodeImage(w,f,0,0,o,0,-1,-1))throw Error("KTX2: transcoding failed");i.push({width:u,height:d,data:w})}return{format:a,levels:i}}finally{r.close(),r.delete()}}class K{__destroy_into_raw(){let _=this.__wbg_ptr;return this.__wbg_ptr=0,ce.unregister(this),_}free(){let _=this.__destroy_into_raw();c.__wbg_engine_free(_,0)}addCircles(_,e,t){let n=I(_,c.__wbindgen_malloc),r=s,o=y(e,c.__wbindgen_malloc),a=s,i=c.engine_addCircles(this.__wbg_ptr,n,r,o,a,t);if(i[2])throw p(i[1]);return i[0]>>>0}addExtrusions(){let _=c.engine_addExtrusions(this.__wbg_ptr);if(_[2])throw p(_[1]);return _[0]>>>0}addFills(_,e,t,n,r){let o=I(_,c.__wbindgen_malloc),a=s,i=y(e,c.__wbindgen_malloc),f=s,u=y(t,c.__wbindgen_malloc),d=s,w=y(n,c.__wbindgen_malloc),m=s,A=c.engine_addFills(this.__wbg_ptr,o,a,i,f,u,d,w,m,r);if(A[2])throw p(A[1]);return A[0]>>>0}addGround(_,e,t,n,r,o,a){let i=F(_,c.__wbindgen_malloc,c.__wbindgen_realloc),f=s,u=c.engine_addGround(this.__wbg_ptr,i,f,e,t,n,r,o,a);if(u[2])throw p(u[1]);return u[0]>>>0}addLines(_,e,t,n){let r=I(_,c.__wbindgen_malloc),o=s,a=y(e,c.__wbindgen_malloc),i=s,f=y(t,c.__wbindgen_malloc),u=s,d=c.engine_addLines(this.__wbg_ptr,r,o,a,i,f,u,n);if(d[2])throw p(d[1]);return d[0]>>>0}addNetwork(_,e,t,n,r,o){let a=I(_,c.__wbindgen_malloc),i=s,f=y(e,c.__wbindgen_malloc),u=s;var d=b(t)?0:y(t,c.__wbindgen_malloc),w=s,m=b(n)?0:I(n,c.__wbindgen_malloc),A=s,T=b(r)?0:x(r,c.__wbindgen_malloc),h=s;let D=x(o,c.__wbindgen_malloc),B=s,k=c.engine_addNetwork(this.__wbg_ptr,a,i,f,u,d,w,m,A,T,h,D,B);if(k[2])throw p(k[1]);return k[0]>>>0}addRaster(_,e,t,n,r,o,a){let i=F(_,c.__wbindgen_malloc,c.__wbindgen_realloc),f=s,u=c.engine_addRaster(this.__wbg_ptr,i,f,e,t,n,r,b(o)?Number.MAX_SAFE_INTEGER:o>>0,b(a)?0:l(a));if(u[2])throw p(u[1]);return u[0]>>>0}addSymbols(){let _=c.engine_addSymbols(this.__wbg_ptr);if(_[2])throw p(_[1]);return _[0]>>>0}addTiles3d(_,e){let t=F(_,c.__wbindgen_malloc,c.__wbindgen_realloc),n=s,r=c.engine_addTiles3d(this.__wbg_ptr,t,n,e);if(r[2])throw p(r[1]);return r[0]>>>0}bounds(){let _=c.engine_bounds(this.__wbg_ptr);var e=fe(_[0],_[1]).slice();return c.__wbindgen_free(_[0],_[1]*8,8),e}camera(){return c.engine_camera(this.__wbg_ptr)}clearPreload(){c.engine_clearPreload(this.__wbg_ptr)}ground(_,e){return c.engine_ground(this.__wbg_ptr,_,e)}linkExtrusionNetwork(_,e,t){c.engine_linkExtrusionNetwork(this.__wbg_ptr,_,b(e)?Number.MAX_SAFE_INTEGER:e>>>0,t)}moveLayer(_,e){c.engine_moveLayer(this.__wbg_ptr,_,e)}networkStats(_){return c.engine_networkStats(this.__wbg_ptr,_)}constructor(_,e){let t=c.engine_new(_,e);if(t[2])throw p(t[1]);return this.__wbg_ptr=t[0],ce.register(this,this.__wbg_ptr,this),this}pan(_,e,t,n){c.engine_pan(this.__wbg_ptr,_,e,t,n)}pick(_,e,t,n){var r=b(n)?0:y(n,c.__wbindgen_malloc),o=s;return c.engine_pick(this.__wbg_ptr,_,e,!b(t),b(t)?0:t,r,o)}pollPick(){return c.engine_pollPick(this.__wbg_ptr)}preload(_,e,t,n,r){c.engine_preload(this.__wbg_ptr,_,e,t,n,r)}project(_,e){return c.engine_project(this.__wbg_ptr,_,e)}removeExtrusionBatch(_,e){c.engine_removeExtrusionBatch(this.__wbg_ptr,_,e)}removeLayer(_){c.engine_removeLayer(this.__wbg_ptr,_)}render(){return c.engine_render(this.__wbg_ptr)!==0}requestPick(_,e,t,n){var r=b(n)?0:y(n,c.__wbindgen_malloc),o=s;return c.engine_requestPick(this.__wbg_ptr,_,e,!b(t),b(t)?0:t,r,o)!==0}resize(_,e,t){c.engine_resize(this.__wbg_ptr,_,e,t)}rotate(_,e){c.engine_rotate(this.__wbg_ptr,_,e)}setAtmosphere(_){var e=b(_)?0:x(_,c.__wbindgen_malloc),t=s;c.engine_setAtmosphere(this.__wbg_ptr,e,t)}setBackground(_,e,t){c.engine_setBackground(this.__wbg_ptr,_,e,t)}setBody(_,e,t,n,r){var o=b(t)?0:x(t,c.__wbindgen_malloc),a=s;c.engine_setBody(this.__wbg_ptr,_,e,o,a,n,r)}setCamera(_,e,t,n,r){c.engine_setCamera(this.__wbg_ptr,_,e,t,n,r)}setCircleAlignment(_,e){c.engine_setCircleAlignment(this.__wbg_ptr,_,e)}setCircles(_,e,t){let n=I(e,c.__wbindgen_malloc),r=s,o=y(t,c.__wbindgen_malloc),a=s;c.engine_setCircles(this.__wbg_ptr,_,n,r,o,a)}setExtrusionAnchors(_,e,t){let n=x(t,c.__wbindgen_malloc),r=s,o=c.engine_setExtrusionAnchors(this.__wbg_ptr,_,e,n,r);if(o[1])throw p(o[0])}setExtrusionBatch(_,e,t,n,r,o,a){let i=I(t,c.__wbindgen_malloc),f=s,u=y(n,c.__wbindgen_malloc),d=s,w=y(r,c.__wbindgen_malloc),m=s,A=y(o,c.__wbindgen_malloc),T=s,h=c.engine_setExtrusionBatch(this.__wbg_ptr,_,e,i,f,u,d,w,m,A,T,a);if(h[1])throw p(h[0])}setFeatureLayer(_,e,t,n,r){let o=x(e,c.__wbindgen_malloc),a=s;c.engine_setFeatureLayer(this.__wbg_ptr,_,o,a,t,n,r)}setFeatureMask(_,e,t){let n=E(e,c.__wbindgen_malloc),r=s;c.engine_setFeatureMask(this.__wbg_ptr,_,n,r,b(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureRamp(_,e,t,n){var r=b(e)?0:E(e,c.__wbindgen_malloc),o=s;c.engine_setFeatureRamp(this.__wbg_ptr,_,r,o,t,n)}setFeatureStyle(_,e,t){let n=x(e,c.__wbindgen_malloc),r=s;c.engine_setFeatureStyle(this.__wbg_ptr,_,n,r,b(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureValues(_,e,t){let n=x(e,c.__wbindgen_malloc),r=s;c.engine_setFeatureValues(this.__wbg_ptr,_,n,r,b(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFills(_,e,t,n,r){let o=I(e,c.__wbindgen_malloc),a=s,i=y(t,c.__wbindgen_malloc),f=s,u=y(n,c.__wbindgen_malloc),d=s,w=y(r,c.__wbindgen_malloc),m=s;c.engine_setFills(this.__wbg_ptr,_,o,a,i,f,u,d,w,m)}setGlobeColor(_,e,t){c.engine_setGlobeColor(this.__wbg_ptr,_,e,t)}setGlobe(_){c.engine_setGlobe(this.__wbg_ptr,_)}setGlyphAtlas(_,e,t){var n=b(t)?0:E(t,c.__wbindgen_malloc),r=s;let o=c.engine_setGlyphAtlas(this.__wbg_ptr,_,e,n,r);if(o[1])throw p(o[0])}setGlyphPages(_,e,t){let n=c.engine_setGlyphPages(this.__wbg_ptr,_,e,t);if(n[1])throw p(n[0])}setGroundBounds(_,e,t,n,r){c.engine_setGroundBounds(this.__wbg_ptr,_,e,t,n,r)}setGroundTexture(_,e,t,n,r,o,a,i){let f=F(e,c.__wbindgen_malloc,c.__wbindgen_realloc),u=s,d=F(t,c.__wbindgen_malloc,c.__wbindgen_realloc),w=s;var m=b(i)?0:E(i,c.__wbindgen_malloc),A=s;let T=c.engine_setGroundTexture(this.__wbg_ptr,_,f,u,d,w,n,r,o,a,m,A);if(T[1])throw p(T[0])}setGroundUniform(_,e,t){let n=F(e,c.__wbindgen_malloc,c.__wbindgen_realloc),r=s,o=I(t,c.__wbindgen_malloc),a=s,i=c.engine_setGroundUniform(this.__wbg_ptr,_,n,r,o,a);if(i[1])throw p(i[0])}setGroundVisible(_,e){c.engine_setGroundVisible(this.__wbg_ptr,_,e)}setImmediateLoading(_){c.engine_setImmediateLoading(this.__wbg_ptr,_)}setLineDash(_,e,t){c.engine_setLineDash(this.__wbg_ptr,_,e,t)}setLines(_,e,t,n){let r=I(e,c.__wbindgen_malloc),o=s,a=y(t,c.__wbindgen_malloc),i=s,f=y(n,c.__wbindgen_malloc),u=s,d=c.engine_setLines(this.__wbg_ptr,_,r,o,a,i,f,u);if(d[1])throw p(d[0])}setMaxPitch(_){c.engine_setMaxPitch(this.__wbg_ptr,_)}setNetworkCosts(_,e){var t=b(e)?0:x(e,c.__wbindgen_malloc),n=s;c.engine_setNetworkCosts(this.__wbg_ptr,_,t,n)}setNetworkRamp(_,e){var t=b(e)?0:E(e,c.__wbindgen_malloc),n=s;c.engine_setNetworkRamp(this.__wbg_ptr,_,t,n)}setNetworkScales(_,e){var t=b(e)?0:x(e,c.__wbindgen_malloc),n=s;c.engine_setNetworkScales(this.__wbg_ptr,_,t,n)}setNetworkStyle(_,e){let t=x(e,c.__wbindgen_malloc),n=s;c.engine_setNetworkStyle(this.__wbg_ptr,_,t,n)}setNetworkValues(_,e){let t=x(e,c.__wbindgen_malloc),n=s;c.engine_setNetworkValues(this.__wbg_ptr,_,t,n)}setRasterStyle(_,e,t){c.engine_setRasterStyle(this.__wbg_ptr,_,e,t)}setSky(_){c.engine_setSky(this.__wbg_ptr,_)}setSymbolLayer(_,e,t,n,r,o){let a=x(e,c.__wbindgen_malloc),i=s,f=x(t,c.__wbindgen_malloc),u=s;c.engine_setSymbolLayer(this.__wbg_ptr,_,a,i,f,u,n,r,o)}setSymbols(_,e,t,n,r){let o=I(e,c.__wbindgen_malloc),a=s,i=x(t,c.__wbindgen_malloc),f=s,u=x(n,c.__wbindgen_malloc),d=s,w=x(r,c.__wbindgen_malloc),m=s,A=c.engine_setSymbols(this.__wbg_ptr,_,o,a,i,f,u,d,w,m);if(A[1])throw p(A[0])}setTerrain(_,e,t,n,r){var o=b(_)?0:F(_,c.__wbindgen_malloc,c.__wbindgen_realloc),a=s;let i=c.engine_setTerrain(this.__wbg_ptr,o,a,e,b(t)?16777215:t,b(n)?16777215:n?1:0,b(r)?0:l(r));if(i[1])throw p(i[0])}setTileLoader(_){c.engine_setTileLoader(this.__wbg_ptr,_)}setTiles3dStyle(_,e,t){c.engine_setTiles3dStyle(this.__wbg_ptr,_,e,t)}setZoomRange(_,e){c.engine_setZoomRange(this.__wbg_ptr,_,e)}stats(){return c.engine_stats(this.__wbg_ptr)}textureFormats(){return c.engine_textureFormats(this.__wbg_ptr)}tiles3dStats(_){return c.engine_tiles3dStats(this.__wbg_ptr,_)}updateGlyphAtlas(_,e,t,n,r){let o=E(r,c.__wbindgen_malloc),a=s;c.engine_updateGlyphAtlas(this.__wbg_ptr,_,e,t,n,o,a)}updateGlyphPage(_,e,t,n,r,o){let a=E(o,c.__wbindgen_malloc),i=s;c.engine_updateGlyphPage(this.__wbg_ptr,_,e,t,n,r,a,i)}updateGroundTexture(_,e,t,n,r,o,a,i){let f=F(e,c.__wbindgen_malloc,c.__wbindgen_realloc),u=s,d=E(i,c.__wbindgen_malloc),w=s,m=c.engine_updateGroundTexture(this.__wbg_ptr,_,f,u,t,n,r,o,a,d,w);if(m[1])throw p(m[0])}zoomAt(_,e,t){c.engine_zoomAt(this.__wbg_ptr,_,e,t)}}if(Symbol.dispose)K.prototype[Symbol.dispose]=K.prototype.free;function ie(_,e,t,n){let r=E(_,c.__wbindgen_malloc),o=s,a=I(e,c.__wbindgen_malloc),i=s,f=c.decodeTile(r,o,a,i,t,n);if(f[2])throw p(f[1]);return p(f[0])}function se(_){let e=E(_,c.__wbindgen_malloc),t=s,n=c.dracoRequests(e,t);if(n[2])throw p(n[1]);return p(n[0])}function Ae(){return{__proto__:null,"./isard_bg.js":{__proto__:null,__wbg___wbindgen_boolean_get_5b446f51afd21013:function(e){let t=e,n=typeof t==="boolean"?t:void 0;return b(n)?16777215:n?1:0},__wbg___wbindgen_debug_string_4687d8d8c2017d52:function(e,t){let n=Z(t),r=F(n,c.__wbindgen_malloc,c.__wbindgen_realloc),o=s;v().setInt32(e+4,o,!0),v().setInt32(e+0,r,!0)},__wbg___wbindgen_is_function_1f9d30630b8b1d3d:function(e){return typeof e==="function"},__wbg___wbindgen_is_null_e343b7d08827ba72:function(e){return e===null},__wbg___wbindgen_is_object_3c45d4f2dde4e749:function(e){let t=e;return typeof t==="object"&&t!==null},__wbg___wbindgen_is_undefined_8865fb403f8fe9d8:function(e){return e===void 0},__wbg___wbindgen_number_get_2e0e7dee9f701a71:function(e,t){let n=t,r=typeof n==="number"?n:void 0;v().setFloat64(e+8,b(r)?0:r,!0),v().setInt32(e+0,!b(r),!0)},__wbg___wbindgen_string_get_0380ccaa2f57f0d9:function(e,t){let n=t,r=typeof n==="string"?n:void 0;var o=b(r)?0:F(r,c.__wbindgen_malloc,c.__wbindgen_realloc),a=s;v().setInt32(e+4,a,!0),v().setInt32(e+0,o,!0)},__wbg___wbindgen_throw_41e9ee4f547fc59a:function(e,t){throw Error(P(e,t))},__wbg__wbg_cb_unref_dcc1a90847f04c41:function(e){e._wbg_cb_unref()},__wbg_abort_f78b99d80248bacb:function(e){e.abort()},__wbg_aborted_5b2b5f06b5e59fde:function(e){return e.aborted},__wbg_activeTexture_11079673eac5c921:function(e,t){e.activeTexture(t>>>0)},__wbg_activeTexture_2fad46c01cafe6b1:function(e,t){e.activeTexture(t>>>0)},__wbg_apply_a910804df6e1e433:function(){return g(function(e,t,n){return e.apply(t,n)},arguments)},__wbg_arrayBuffer_f07be74819944ea2:function(){return g(function(e){return e.arrayBuffer()},arguments)},__wbg_attachShader_8920a5beea54aba7:function(e,t,n){e.attachShader(t,n)},__wbg_attachShader_9567ae57af6746d5:function(e,t,n){e.attachShader(t,n)},__wbg_bindBuffer_0324f62b876c4403:function(e,t,n){e.bindBuffer(t>>>0,n)},__wbg_bindBuffer_2195e89b585ce0c3:function(e,t,n){e.bindBuffer(t>>>0,n)},__wbg_bindFramebuffer_22e4b8e6e6d8d0e8:function(e,t,n){e.bindFramebuffer(t>>>0,n)},__wbg_bindFramebuffer_378eb18ef219d37a:function(e,t,n){e.bindFramebuffer(t>>>0,n)},__wbg_bindRenderbuffer_db090531fb28de34:function(e,t,n){e.bindRenderbuffer(t>>>0,n)},__wbg_bindRenderbuffer_e0c5aeef245a913a:function(e,t,n){e.bindRenderbuffer(t>>>0,n)},__wbg_bindTexture_3cf008f256f3ed99:function(e,t,n){e.bindTexture(t>>>0,n)},__wbg_bindTexture_613a47b8917a0ccd:function(e,t,n){e.bindTexture(t>>>0,n)},__wbg_bindVertexArrayOES_3141815cb8234a6e:function(e,t){e.bindVertexArrayOES(t)},__wbg_bindVertexArray_f58af0a346185ec5:function(e,t){e.bindVertexArray(t)},__wbg_blendFuncSeparate_28abe082febb1a26:function(e,t,n,r,o){e.blendFuncSeparate(t>>>0,n>>>0,r>>>0,o>>>0)},__wbg_blendFuncSeparate_2af9d47f7efc0452:function(e,t,n,r,o){e.blendFuncSeparate(t>>>0,n>>>0,r>>>0,o>>>0)},__wbg_blendFunc_491ee1105079ce76:function(e,t,n){e.blendFunc(t>>>0,n>>>0)},__wbg_blendFunc_589e4252bb396484:function(e,t,n){e.blendFunc(t>>>0,n>>>0)},__wbg_blob_232135c7e297b861:function(){return g(function(e){return e.blob()},arguments)},__wbg_bufferData_50f5eb06469330e4:function(e,t,n,r){e.bufferData(t>>>0,n,r>>>0)},__wbg_bufferData_53e0f7a06b58fe81:function(e,t,n,r){e.bufferData(t>>>0,n,r>>>0)},__wbg_bufferData_5fa44d94fe7a3878:function(e,t,n,r){e.bufferData(t>>>0,n,r>>>0)},__wbg_bufferData_bad7ce562b6a9eac:function(e,t,n,r){e.bufferData(t>>>0,n,r>>>0)},__wbg_byteLength_141bda7c7c28aa72:function(e){return e.byteLength},__wbg_byteLength_18a1704c0bf397bb:function(e){return e.byteLength},__wbg_byteLength_27689b065d089962:function(e){return e.byteLength},__wbg_byteLength_9f985b8373f1f3fe:function(e){return e.byteLength},__wbg_call_01721c8c75200a10:function(){return g(function(e,t,n,r,o,a){return e.call(t,n,r,o,a)},arguments)},__wbg_call_187d372bd5fdd4aa:function(){return g(function(e,t,n){return e.call(t,n)},arguments)},__wbg_call_6137034ef55c9d0f:function(){return g(function(e,t){return e.call(t)},arguments)},__wbg_clearColor_3f6aa096dc12e8b7:function(e,t,n,r,o){e.clearColor(t,n,r,o)},__wbg_clearColor_796427e8ac60fe14:function(e,t,n,r,o){e.clearColor(t,n,r,o)},__wbg_clearStencil_1b8b8c727f598eec:function(e,t){e.clearStencil(t)},__wbg_clearStencil_e4383e4a543e7997:function(e,t){e.clearStencil(t)},__wbg_clear_175cf3cb6d98d72b:function(e,t){e.clear(t>>>0)},__wbg_clear_cb96796cc568b7c8:function(e,t){e.clear(t>>>0)},__wbg_close_355afba6ea5ad1ae:function(e){e.close()},__wbg_colorMask_4d6afbbbc3022fbe:function(e,t,n,r,o){e.colorMask(t!==0,n!==0,r!==0,o!==0)},__wbg_colorMask_8c903995f6f873be:function(e,t,n,r,o){e.colorMask(t!==0,n!==0,r!==0,o!==0)},__wbg_compileShader_073a75409aaf96d2:function(e,t){e.compileShader(t)},__wbg_compileShader_c2b53ff3a8851f60:function(e,t){e.compileShader(t)},__wbg_compressedTexImage2D_93d2b30687f2cfad:function(e,t,n,r,o,a,i,f){e.compressedTexImage2D(t>>>0,n,r>>>0,o,a,i,f)},__wbg_createBuffer_d1dd23bf8704564c:function(e){let t=e.createBuffer();return b(t)?0:l(t)},__wbg_createBuffer_ffe613371d42cfd3:function(e){let t=e.createBuffer();return b(t)?0:l(t)},__wbg_createFramebuffer_2c6b5b0f49c88e5d:function(e){let t=e.createFramebuffer();return b(t)?0:l(t)},__wbg_createFramebuffer_d0969af4e9886297:function(e){let t=e.createFramebuffer();return b(t)?0:l(t)},__wbg_createImageBitmap_69996a36c51d409f:function(){return g(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createProgram_cbf448e6f18a9402:function(e){let t=e.createProgram();return b(t)?0:l(t)},__wbg_createProgram_e0c81b0d2b8d0fd0:function(e){let t=e.createProgram();return b(t)?0:l(t)},__wbg_createRenderbuffer_2b17e9fe2e6fb4be:function(e){let t=e.createRenderbuffer();return b(t)?0:l(t)},__wbg_createRenderbuffer_c864095d6ebd60d0:function(e){let t=e.createRenderbuffer();return b(t)?0:l(t)},__wbg_createShader_6c1a2295587878a5:function(e,t){let n=e.createShader(t>>>0);return b(n)?0:l(n)},__wbg_createShader_7c9d99a21ecb08c0:function(e,t){let n=e.createShader(t>>>0);return b(n)?0:l(n)},__wbg_createTexture_01e8e591b64237de:function(e){let t=e.createTexture();return b(t)?0:l(t)},__wbg_createTexture_5f2583508ebe379b:function(e){let t=e.createTexture();return b(t)?0:l(t)},__wbg_createVertexArrayOES_a8dc8498b56df937:function(e){let t=e.createVertexArrayOES();return b(t)?0:l(t)},__wbg_createVertexArray_b223ea69dd08fcab:function(e){let t=e.createVertexArray();return b(t)?0:l(t)},__wbg_deleteBuffer_070e58aaaf2a7a8b:function(e,t){e.deleteBuffer(t)},__wbg_deleteBuffer_7775ee9e248c8468:function(e,t){e.deleteBuffer(t)},__wbg_deleteFramebuffer_3f8ab330098bf8e6:function(e,t){e.deleteFramebuffer(t)},__wbg_deleteFramebuffer_570d3b214a509fa2:function(e,t){e.deleteFramebuffer(t)},__wbg_deleteProgram_822906f0368175d0:function(e,t){e.deleteProgram(t)},__wbg_deleteProgram_b524b30ad176cdb4:function(e,t){e.deleteProgram(t)},__wbg_deleteRenderbuffer_826c9b43b7ea68f5:function(e,t){e.deleteRenderbuffer(t)},__wbg_deleteRenderbuffer_f4e121a3ab21c605:function(e,t){e.deleteRenderbuffer(t)},__wbg_deleteShader_a70f6cc1918d67eb:function(e,t){e.deleteShader(t)},__wbg_deleteShader_da18a294158c2d15:function(e,t){e.deleteShader(t)},__wbg_deleteSync_4f0be28b03f50495:function(e,t){e.deleteSync(t)},__wbg_deleteTexture_78c170241204a466:function(e,t){e.deleteTexture(t)},__wbg_deleteTexture_9f42750adb092e4f:function(e,t){e.deleteTexture(t)},__wbg_deleteVertexArrayOES_e01f31634d466176:function(e,t){e.deleteVertexArrayOES(t)},__wbg_deleteVertexArray_ca9768805d051d49:function(e,t){e.deleteVertexArray(t)},__wbg_depthFunc_92e96d8f46a23300:function(e,t){e.depthFunc(t>>>0)},__wbg_depthFunc_a41fb5adacb22e09:function(e,t){e.depthFunc(t>>>0)},__wbg_depthMask_06ecff4d4514c38f:function(e,t){e.depthMask(t!==0)},__wbg_depthMask_0d7c3dec3b8405ee:function(e,t){e.depthMask(t!==0)},__wbg_detachShader_1ed15fc2d289cf15:function(e,t,n){e.detachShader(t,n)},__wbg_detachShader_67dabaaad80a795e:function(e,t,n){e.detachShader(t,n)},__wbg_disable_19fe787eccdf0272:function(e,t){e.disable(t>>>0)},__wbg_disable_81b2cb5f8cea15ae:function(e,t){e.disable(t>>>0)},__wbg_drawArraysInstancedANGLE_b76512b5abba6668:function(e,t,n,r,o){e.drawArraysInstancedANGLE(t>>>0,n,r,o)},__wbg_drawArraysInstanced_9b44aa78a087154d:function(e,t,n,r,o){e.drawArraysInstanced(t>>>0,n,r,o)},__wbg_drawArrays_08872e02fb57b847:function(e,t,n,r){e.drawArrays(t>>>0,n,r)},__wbg_drawArrays_741af5c3f8db636f:function(e,t,n,r){e.drawArrays(t>>>0,n,r)},__wbg_drawElementsInstancedANGLE_c3fc0cfa9e29a1bc:function(e,t,n,r,o,a){e.drawElementsInstancedANGLE(t>>>0,n,r>>>0,o,a)},__wbg_drawElementsInstanced_d7c396aa034159b6:function(e,t,n,r,o,a){e.drawElementsInstanced(t>>>0,n,r>>>0,o,a)},__wbg_drawElements_c8988ba71de1101a:function(e,t,n,r,o){e.drawElements(t>>>0,n,r>>>0,o)},__wbg_drawElements_cc1e6c631e89eddf:function(e,t,n,r,o){e.drawElements(t>>>0,n,r>>>0,o)},__wbg_enableVertexAttribArray_1496b78a8dbab9fd:function(e,t){e.enableVertexAttribArray(t>>>0)},__wbg_enableVertexAttribArray_d52693866bc8b8dd:function(e,t){e.enableVertexAttribArray(t>>>0)},__wbg_enable_6eeb9c0e9b483cee:function(e,t){e.enable(t>>>0)},__wbg_enable_cb4fc19b51148c37:function(e,t){e.enable(t>>>0)},__wbg_error_c9cf3fc2064683a9:function(e){console.error(e)},__wbg_fenceSync_330293024adb66bc:function(e,t,n){let r=e.fenceSync(t>>>0,n>>>0);return b(r)?0:l(r)},__wbg_fetch_b322877f1ed6457d:function(e,t,n,r){return e.fetch(P(t,n),r)},__wbg_flush_13b162660ad850d2:function(e){e.flush()},__wbg_flush_a5ad38200881ac35:function(e){e.flush()},__wbg_framebufferRenderbuffer_1c6337e0030411f3:function(e,t,n,r,o){e.framebufferRenderbuffer(t>>>0,n>>>0,r>>>0,o)},__wbg_framebufferRenderbuffer_f019e9231b142c0d:function(e,t,n,r,o){e.framebufferRenderbuffer(t>>>0,n>>>0,r>>>0,o)},__wbg_framebufferTexture2D_73c52f23ec33aa22:function(e,t,n,r,o,a){e.framebufferTexture2D(t>>>0,n>>>0,r>>>0,o,a)},__wbg_framebufferTexture2D_caddefa1f767646e:function(e,t,n,r,o,a){e.framebufferTexture2D(t>>>0,n>>>0,r>>>0,o,a)},__wbg_from_296ca31f8d0f1c52:function(e){return Array.from(e)},__wbg_frontFace_6751b4b97f997aeb:function(e,t){e.frontFace(t>>>0)},__wbg_frontFace_b064adb15b6f3772:function(e,t){e.frontFace(t>>>0)},__wbg_generateMipmap_c63604006bfa52d5:function(e,t){e.generateMipmap(t>>>0)},__wbg_generateMipmap_cd49f6eec9558721:function(e,t){e.generateMipmap(t>>>0)},__wbg_getActiveUniform_239de631a40c387a:function(e,t,n){let r=e.getActiveUniform(t,n>>>0);return b(r)?0:l(r)},__wbg_getActiveUniform_f2052b3c57679fe2:function(e,t,n){let r=e.getActiveUniform(t,n>>>0);return b(r)?0:l(r)},__wbg_getBufferSubData_dd23246099b166d1:function(e,t,n,r){e.getBufferSubData(t>>>0,n,r)},__wbg_getContext_051324720aa5b7e8:function(){return g(function(e,t,n,r){let o=e.getContext(P(t,n),r);return b(o)?0:l(o)},arguments)},__wbg_getExtension_abfda2c5db286b07:function(){return g(function(e,t,n){let r=e.getExtension(P(t,n));return b(r)?0:l(r)},arguments)},__wbg_getParameter_974595a6624c6c10:function(){return g(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getProgramInfoLog_208fb1ff31006495:function(e,t,n){let r=t.getProgramInfoLog(n);var o=b(r)?0:F(r,c.__wbindgen_malloc,c.__wbindgen_realloc),a=s;v().setInt32(e+4,a,!0),v().setInt32(e+0,o,!0)},__wbg_getProgramInfoLog_3276b294d6d42fe2:function(e,t,n){let r=t.getProgramInfoLog(n);var o=b(r)?0:F(r,c.__wbindgen_malloc,c.__wbindgen_realloc),a=s;v().setInt32(e+4,a,!0),v().setInt32(e+0,o,!0)},__wbg_getProgramParameter_50bafab01cf88652:function(e,t,n){return e.getProgramParameter(t,n>>>0)},__wbg_getProgramParameter_fc7124bb9fb7c675:function(e,t,n){return e.getProgramParameter(t,n>>>0)},__wbg_getShaderInfoLog_7e0cbba353ca95da:function(e,t,n){let r=t.getShaderInfoLog(n);var o=b(r)?0:F(r,c.__wbindgen_malloc,c.__wbindgen_realloc),a=s;v().setInt32(e+4,a,!0),v().setInt32(e+0,o,!0)},__wbg_getShaderInfoLog_bb64c5a52df0b7a3:function(e,t,n){let r=t.getShaderInfoLog(n);var o=b(r)?0:F(r,c.__wbindgen_malloc,c.__wbindgen_realloc),a=s;v().setInt32(e+4,a,!0),v().setInt32(e+0,o,!0)},__wbg_getShaderParameter_745acf10b8e45e31:function(e,t,n){return e.getShaderParameter(t,n>>>0)},__wbg_getShaderParameter_e55ea9c456df5484:function(e,t,n){return e.getShaderParameter(t,n>>>0)},__wbg_getSupportedExtensions_1459bad37860c0c3:function(e){let t=e.getSupportedExtensions();return b(t)?0:l(t)},__wbg_getSyncParameter_bb4be47b67bfa2f8:function(e,t,n){return e.getSyncParameter(t,n>>>0)},__wbg_getUniformLocation_50ba45dade572703:function(e,t,n,r){let o=e.getUniformLocation(t,P(n,r));return b(o)?0:l(o)},__wbg_getUniformLocation_cb4e3e121235f91a:function(e,t,n,r){let o=e.getUniformLocation(t,P(n,r));return b(o)?0:l(o)},__wbg_get_31af05bd4842a84f:function(){return g(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_index_f4750150bb3083b3:function(e,t){return e[t>>>0]},__wbg_get_unchecked_288889d017702237:function(e,t){return e[t>>>0]},__wbg_height_9dca4d43c3e4b84b:function(e){return e.height},__wbg_instanceof_ArrayBuffer_a99f175873e5d9b8:function(e){let t;try{t=e instanceof ArrayBuffer}catch(r){t=!1}return t},__wbg_instanceof_Blob_7c6191a4cd5834d3:function(e){let t;try{t=e instanceof Blob}catch(r){t=!1}return t},__wbg_instanceof_Float32Array_595afb0f28b828c9:function(e){let t;try{t=e instanceof Float32Array}catch(r){t=!1}return t},__wbg_instanceof_Float64Array_8a59377f9eec1b8b:function(e){let t;try{t=e instanceof Float64Array}catch(r){t=!1}return t},__wbg_instanceof_ImageBitmap_74bea45ee48d3d7a:function(e){let t;try{t=e instanceof ImageBitmap}catch(r){t=!1}return t},__wbg_instanceof_Promise_e1dc6893aa1ece28:function(e){let t;try{t=e instanceof Promise}catch(r){t=!1}return t},__wbg_instanceof_Response_b8758567269c30b2:function(e){let t;try{t=e instanceof Response}catch(r){t=!1}return t},__wbg_instanceof_Uint32Array_53a4facaf04b8a8b:function(e){let t;try{t=e instanceof Uint32Array}catch(r){t=!1}return t},__wbg_instanceof_Uint8Array_828cef2aaacafc31:function(e){let t;try{t=e instanceof Uint8Array}catch(r){t=!1}return t},__wbg_instanceof_WebGl2RenderingContext_64c994c14c0790fb:function(e){let t;try{t=e instanceof WebGL2RenderingContext}catch(r){t=!1}return t},__wbg_instanceof_Window_82d71df4eddf88bc:function(e){let t;try{t=e instanceof Window}catch(r){t=!1}return t},__wbg_isArray_e15a2ff68ffdbef2:function(e){return Array.isArray(e)},__wbg_isContextLost_fbbab8b921e614b7:function(e){return e.isContextLost()},__wbg_is_4b278c0bd3caba97:function(e,t){return Object.is(e,t)},__wbg_length_511b1f84719d3462:function(e){return e.length},__wbg_length_58572db4c38f3c3e:function(e){return e.length},__wbg_length_7f3c00c40364105e:function(e){return e.length},__wbg_length_b5f0008bbf60cf59:function(e){return e.length},__wbg_length_d4bdea10311bd9cf:function(e){return e.length},__wbg_linkProgram_571a9ea00d38ff83:function(e,t){e.linkProgram(t)},__wbg_linkProgram_acdc299c43d734a0:function(e,t){e.linkProgram(t)},__wbg_name_91a697e9ff1634bf:function(e,t){let n=t.name,r=F(n,c.__wbindgen_malloc,c.__wbindgen_realloc),o=s;v().setInt32(e+4,o,!0),v().setInt32(e+0,r,!0)},__wbg_new_1dbf7428bba60a42:function(e){return new Uint8Array(e)},__wbg_new_2e41357094e99294:function(){return g(function(){return new AbortController},arguments)},__wbg_new_5502aad30c185fc8:function(e,t){try{var n={a:e,b:t},r=(a,i)=>{let f=n.a;n.a=0;try{return ve(f,n.b,a,i)}finally{n.a=f}};return new Promise(r)}finally{n.a=0}},__wbg_new_617a8cdb8bb1130e:function(){return{}},__wbg_new_ee2291f50781bf1d:function(){return[]},__wbg_new_from_slice_37a3c3a194266cb8:function(e,t){return new Uint32Array(L(e,t))},__wbg_new_from_slice_9a868026ffa4208a:function(e,t){return new Uint8Array(H(e,t))},__wbg_new_from_slice_ca6ad97db1f4779a:function(e,t){return new Float32Array(S(e,t))},__wbg_new_from_slice_f545fd22ddc142b8:function(e,t){return new Float64Array(fe(e,t))},__wbg_new_with_byte_offset_70ba6193352e027b:function(e,t){return new Uint8Array(e,t>>>0)},__wbg_new_with_byte_offset_and_length_40c170286adc9005:function(e,t,n){return new Float32Array(e,t>>>0,n>>>0)},__wbg_new_with_u8_array_sequence_and_options_fccc08fe93f4b8fd:function(){return g(function(e,t){return new Blob(e,t)},arguments)},__wbg_now_aa4ccb83129e9e55:function(){return Date.now()},__wbg_of_20798cb14708764f:function(e,t){return Array.of(e,t)},__wbg_of_d5dbecdc59e02e34:function(e){return Array.of(e)},__wbg_of_fea2613674ee0d0f:function(e,t,n,r,o){return Array.of(e,t,n,r,o)},__wbg_ok_125878a7db256ecb:function(e){return e.ok},__wbg_pixelStorei_af18e636b3e7b725:function(e,t,n){e.pixelStorei(t>>>0,n)},__wbg_pixelStorei_cb4e43466f5b8703:function(e,t,n){e.pixelStorei(t>>>0,n)},__wbg_prototypesetcall_06eb15da165dee8f:function(e,t,n){Uint32Array.prototype.set.call(L(e,t),n)},__wbg_prototypesetcall_8b03c01e2c0f8066:function(e,t,n){Float32Array.prototype.set.call(S(e,t),n)},__wbg_prototypesetcall_bc27214492979395:function(e,t,n){Uint8Array.prototype.set.call(H(e,t),n)},__wbg_push_2baf45db356cf468:function(e,t){return e.push(t)},__wbg_queueMicrotask_9833f9a49df95a49:function(e){return e.queueMicrotask},__wbg_queueMicrotask_a72f977e97f23c5f:function(e){queueMicrotask(e)},__wbg_readPixels_31e44e70558ac590:function(){return g(function(e,t,n,r,o,a,i,f){e.readPixels(t,n,r,o,a>>>0,i>>>0,f)},arguments)},__wbg_readPixels_3321086a7818a739:function(){return g(function(e,t,n,r,o,a,i,f){e.readPixels(t,n,r,o,a>>>0,i>>>0,f)},arguments)},__wbg_readPixels_eb030cd9976eeca5:function(){return g(function(e,t,n,r,o,a,i,f){e.readPixels(t,n,r,o,a>>>0,i>>>0,f)},arguments)},__wbg_renderbufferStorage_52b131bbf3112b3a:function(e,t,n,r,o){e.renderbufferStorage(t>>>0,n>>>0,r,o)},__wbg_renderbufferStorage_bca487b0dea425b8:function(e,t,n,r,o){e.renderbufferStorage(t>>>0,n>>>0,r,o)},__wbg_resolve_0076e10020304ede:function(e){return Promise.resolve(e)},__wbg_scissor_12ddc324094acd50:function(e,t,n,r,o){e.scissor(t,n,r,o)},__wbg_scissor_a9468482697c2bdb:function(e,t,n,r,o){e.scissor(t,n,r,o)},__wbg_setTimeout_db7bbc18a17e152a:function(){return g(function(e,t,n){return e.setTimeout(t,n)},arguments)},__wbg_set_145a351398b48c65:function(){return g(function(e,t,n){return Reflect.set(e,t,n)},arguments)},__wbg_set_alpha_6dea851a46253adf:function(e,t){e.alpha=t!==0},__wbg_set_antialias_1f699e96763e8a35:function(e,t){e.antialias=t!==0},__wbg_set_cache_7507c4cc5938ccc7:function(e,t){e.cache=De[t]},__wbg_set_color_space_conversion_f27e9d866a683b4b:function(e,t){e.colorSpaceConversion=Se[t]},__wbg_set_depth_8b49de49803d4e60:function(e,t){e.depth=t!==0},__wbg_set_power_preference_6ef22d4c8baf517f:function(e,t){e.powerPreference=Ie[t]},__wbg_set_premultiply_alpha_45a4cf9a1e87bfbf:function(e,t){e.premultiplyAlpha=Fe[t]},__wbg_set_resize_height_274433c2f249624d:function(e,t){e.resizeHeight=t>>>0},__wbg_set_resize_width_6f06543b29d1ca48:function(e,t){e.resizeWidth=t>>>0},__wbg_set_signal_2dbd377604627f26:function(e,t){e.signal=t},__wbg_set_stencil_edc32d9477c7c107:function(e,t){e.stencil=t!==0},__wbg_set_type_dcf75b2afa60c694:function(e,t,n){e.type=P(t,n)},__wbg_shaderSource_06379dac249994dd:function(e,t,n,r){e.shaderSource(t,P(n,r))},__wbg_shaderSource_c8812639b47d87b9:function(e,t,n,r){e.shaderSource(t,P(n,r))},__wbg_signal_e5a49a2d9c65b7f6:function(e){return e.signal},__wbg_size_74c48d7329291685:function(e){return e.size},__wbg_static_accessor_GLOBAL_266715b9d96ba635:function(){let e=typeof global>"u"?null:global;return b(e)?0:l(e)},__wbg_static_accessor_GLOBAL_THIS_10fb7dc1ae063179:function(){let e=typeof globalThis>"u"?null:globalThis;return b(e)?0:l(e)},__wbg_static_accessor_SELF_0b583911f537483a:function(){let e=typeof self>"u"?null:self;return b(e)?0:l(e)},__wbg_static_accessor_WINDOW_d7f903d1508cbdc4:function(){let e=typeof window>"u"?null:window;return b(e)?0:l(e)},__wbg_status_ce0a98d3c57125f3:function(e){return e.status},__wbg_stencilFunc_aa3cd8856be514c4:function(e,t,n,r){e.stencilFunc(t>>>0,n,r>>>0)},__wbg_stencilFunc_bab7e0b7c443f093:function(e,t,n,r){e.stencilFunc(t>>>0,n,r>>>0)},__wbg_stencilOpSeparate_7d01185cbdb89d99:function(e,t,n,r,o){e.stencilOpSeparate(t>>>0,n>>>0,r>>>0,o>>>0)},__wbg_stencilOpSeparate_c5af5f5dbd237bea:function(e,t,n,r,o){e.stencilOpSeparate(t>>>0,n>>>0,r>>>0,o>>>0)},__wbg_stencilOp_12274af665ab8a00:function(e,t,n,r){e.stencilOp(t>>>0,n>>>0,r>>>0)},__wbg_stencilOp_2697194654fee819:function(e,t,n,r){e.stencilOp(t>>>0,n>>>0,r>>>0)},__wbg_texImage2D_1b3349107ad0faae:function(){return g(function(e,t,n,r,o,a,i){e.texImage2D(t>>>0,n,r,o>>>0,a>>>0,i)},arguments)},__wbg_texImage2D_82bf2b4c8aa9a1db:function(){return g(function(e,t,n,r,o,a,i,f,u,d){e.texImage2D(t>>>0,n,r,o,a,i,f>>>0,u>>>0,d)},arguments)},__wbg_texImage2D_8fc2f2fcca249b59:function(){return g(function(e,t,n,r,o,a,i){e.texImage2D(t>>>0,n,r,o>>>0,a>>>0,i)},arguments)},__wbg_texImage2D_a856af552acdc9d9:function(){return g(function(e,t,n,r,o,a,i,f,u,d){e.texImage2D(t>>>0,n,r,o,a,i,f>>>0,u>>>0,d)},arguments)},__wbg_texImage2D_ca3d0fe24620ec85:function(){return g(function(e,t,n,r,o,a,i,f,u,d){e.texImage2D(t>>>0,n,r,o,a,i,f>>>0,u>>>0,d)},arguments)},__wbg_texParameteri_647fdb1426809cb5:function(e,t,n,r){e.texParameteri(t>>>0,n>>>0,r)},__wbg_texParameteri_7864076abcdb03e0:function(e,t,n,r){e.texParameteri(t>>>0,n>>>0,r)},__wbg_texStorage2D_cf2bd991072d9efb:function(e,t,n,r,o,a){e.texStorage2D(t>>>0,n,r>>>0,o,a)},__wbg_texStorage3D_74b701c2b176380c:function(e,t,n,r,o,a,i){e.texStorage3D(t>>>0,n,r>>>0,o,a,i)},__wbg_texSubImage2D_31a0c2797aa04f32:function(){return g(function(e,t,n,r,o,a,i,f,u,d){e.texSubImage2D(t>>>0,n,r,o,a,i,f>>>0,u>>>0,d)},arguments)},__wbg_texSubImage2D_5e90c7a719d40256:function(){return g(function(e,t,n,r,o,a,i,f,u,d){e.texSubImage2D(t>>>0,n,r,o,a,i,f>>>0,u>>>0,d)},arguments)},__wbg_texSubImage2D_bb322aae90f7657f:function(){return g(function(e,t,n,r,o,a,i,f,u,d){e.texSubImage2D(t>>>0,n,r,o,a,i,f>>>0,u>>>0,d)},arguments)},__wbg_texSubImage3D_5143d5af7e182ddc:function(){return g(function(e,t,n,r,o,a,i,f,u,d,w,m){e.texSubImage3D(t>>>0,n,r,o,a,i,f,u,d>>>0,w>>>0,m)},arguments)},__wbg_texSubImage3D_5d773fc7a8cd4d08:function(){return g(function(e,t,n,r,o,a,i,f,u,d,w,m){e.texSubImage3D(t>>>0,n,r,o,a,i,f,u,d>>>0,w>>>0,m)},arguments)},__wbg_texSubImage3D_e0d113b7047a5130:function(){return g(function(e,t,n,r,o,a,i,f,u,d,w,m){e.texSubImage3D(t>>>0,n,r,o,a,i,f,u,d>>>0,w>>>0,m)},arguments)},__wbg_then_c949d5a25a4e78f8:function(e,t,n){return e.then(t,n)},__wbg_then_e71170d78fcf8954:function(e,t){return e.then(t)},__wbg_type_ff6f7b321fe8478b:function(e){return e.type},__wbg_uniform1f_9cfecfaeb8cf43c1:function(e,t,n){e.uniform1f(t,n)},__wbg_uniform1f_b5856e35a43b65a1:function(e,t,n){e.uniform1f(t,n)},__wbg_uniform1fv_1bf537fc926ef8b9:function(e,t,n,r){e.uniform1fv(t,S(n,r))},__wbg_uniform1fv_1cc1d09bc13b03bf:function(e,t,n,r){e.uniform1fv(t,S(n,r))},__wbg_uniform1i_531b98c4a7177366:function(e,t,n){e.uniform1i(t,n)},__wbg_uniform1i_fc2dc8cadc49d8ec:function(e,t,n){e.uniform1i(t,n)},__wbg_uniform1iv_4b8cbceccddfaa62:function(e,t,n,r){e.uniform1iv(t,M(n,r))},__wbg_uniform1iv_8fc880ae80c77c74:function(e,t,n,r){e.uniform1iv(t,M(n,r))},__wbg_uniform1ui_353c67ec681b540c:function(e,t,n){e.uniform1ui(t,n>>>0)},__wbg_uniform1uiv_ad5e946730aacbec:function(e,t,n,r){e.uniform1uiv(t,L(n,r))},__wbg_uniform2f_131da2d4bf17e4b9:function(e,t,n,r){e.uniform2f(t,n,r)},__wbg_uniform2f_a92b5bb95dc5b4d9:function(e,t,n,r){e.uniform2f(t,n,r)},__wbg_uniform2fv_319c49f0ce340f26:function(e,t,n,r){e.uniform2fv(t,S(n,r))},__wbg_uniform2fv_a7d3c1830d18c1b2:function(e,t,n,r){e.uniform2fv(t,S(n,r))},__wbg_uniform2iv_65f36fc9777697d7:function(e,t,n,r){e.uniform2iv(t,M(n,r))},__wbg_uniform2iv_ca9cb507409b9ad1:function(e,t,n,r){e.uniform2iv(t,M(n,r))},__wbg_uniform2uiv_c95af5fb653ccb86:function(e,t,n,r){e.uniform2uiv(t,L(n,r))},__wbg_uniform3f_1211579ff87ccfad:function(e,t,n,r,o){e.uniform3f(t,n,r,o)},__wbg_uniform3f_ee105161897ee48a:function(e,t,n,r,o){e.uniform3f(t,n,r,o)},__wbg_uniform3fv_055ea5ac38af4fce:function(e,t,n,r){e.uniform3fv(t,S(n,r))},__wbg_uniform3fv_58520ffe22a6e27c:function(e,t,n,r){e.uniform3fv(t,S(n,r))},__wbg_uniform3iv_0590e8b7eff2a791:function(e,t,n,r){e.uniform3iv(t,M(n,r))},__wbg_uniform3iv_e91b1410dc299f50:function(e,t,n,r){e.uniform3iv(t,M(n,r))},__wbg_uniform3uiv_9992491000463a52:function(e,t,n,r){e.uniform3uiv(t,L(n,r))},__wbg_uniform4f_22bfec882308eec2:function(e,t,n,r,o,a){e.uniform4f(t,n,r,o,a)},__wbg_uniform4f_8dd8f311e656ca0d:function(e,t,n,r,o,a){e.uniform4f(t,n,r,o,a)},__wbg_uniform4fv_3ef2f5121fcb78ae:function(e,t,n,r){e.uniform4fv(t,S(n,r))},__wbg_uniform4fv_cf8ff646c36232c8:function(e,t,n,r){e.uniform4fv(t,S(n,r))},__wbg_uniform4iv_6fc5436b4f876039:function(e,t,n,r){e.uniform4iv(t,M(n,r))},__wbg_uniform4iv_99c2b07787d362d6:function(e,t,n,r){e.uniform4iv(t,M(n,r))},__wbg_uniform4uiv_a6fb3237d9df7ed4:function(e,t,n,r){e.uniform4uiv(t,L(n,r))},__wbg_uniformMatrix3fv_472e7824735acce1:function(e,t,n,r,o){e.uniformMatrix3fv(t,n!==0,S(r,o))},__wbg_uniformMatrix3fv_83fdc9c3c0d43204:function(e,t,n,r,o){e.uniformMatrix3fv(t,n!==0,S(r,o))},__wbg_uniformMatrix4fv_dff9738d995fd0b1:function(e,t,n,r,o){e.uniformMatrix4fv(t,n!==0,S(r,o))},__wbg_uniformMatrix4fv_e691d7f14d3609f7:function(e,t,n,r,o){e.uniformMatrix4fv(t,n!==0,S(r,o))},__wbg_useProgram_5bdae58fd9f9826f:function(e,t){e.useProgram(t)},__wbg_useProgram_e075c2902e420761:function(e,t){e.useProgram(t)},__wbg_vertexAttribDivisorANGLE_659fb027198a47c3:function(e,t,n){e.vertexAttribDivisorANGLE(t>>>0,n>>>0)},__wbg_vertexAttribDivisor_7575d382215322f7:function(e,t,n){e.vertexAttribDivisor(t>>>0,n>>>0)},__wbg_vertexAttribIPointer_fc8057c62cfcc63c:function(e,t,n,r,o,a){e.vertexAttribIPointer(t>>>0,n,r>>>0,o,a)},__wbg_vertexAttribPointer_24b495e18df325dc:function(e,t,n,r,o,a,i){e.vertexAttribPointer(t>>>0,n,r>>>0,o!==0,a,i)},__wbg_vertexAttribPointer_54d56b18f71a946d:function(e,t,n,r,o,a,i){e.vertexAttribPointer(t>>>0,n,r>>>0,o!==0,a,i)},__wbg_viewport_16936692526e2ce6:function(e,t,n,r,o){e.viewport(t,n,r,o)},__wbg_viewport_e35d16c542d2ce70:function(e,t,n,r,o){e.viewport(t,n,r,o)},__wbg_warn_13abc63e0d4b3527:function(e){console.warn(e)},__wbg_width_8a9cc26363f10d5f:function(e){return e.width},__wbindgen_generic_0000000000000001:function(e,t){return Ue(e,t,xe)},__wbindgen_generic_0000000000000002:function(e){return e},__wbindgen_generic_0000000000000003:function(e,t){return S(e,t)},__wbindgen_generic_0000000000000004:function(e,t){return Te(e,t)},__wbindgen_generic_0000000000000005:function(e,t){return M(e,t)},__wbindgen_generic_0000000000000006:function(e,t){return Pe(e,t)},__wbindgen_generic_0000000000000007:function(e,t){return Ee(e,t)},__wbindgen_generic_0000000000000008:function(e,t){return L(e,t)},__wbindgen_generic_0000000000000009:function(e,t){return H(e,t)},__wbindgen_generic_000000000000000a:function(e,t){return P(e,t)},__wbindgen_init_externref_table:function(){let e=c.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function xe(_,e,t){let n=c.wasm_bindgen_3785b71bf6f54dd0___convert__closures_____invoke___wasm_bindgen_3785b71bf6f54dd0___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_3785b71bf6f54dd0___JsError___true_(_,e,t);if(n[1])throw p(n[0])}function ve(_,e,t,n){c.wasm_bindgen_3785b71bf6f54dd0___convert__closures_____invoke___js_sys_9aebc20340329cea___Function_fn_wasm_bindgen_3785b71bf6f54dd0___JsValue_____wasm_bindgen_3785b71bf6f54dd0___sys__Undefined___js_sys_9aebc20340329cea___Function_fn_wasm_bindgen_3785b71bf6f54dd0___JsValue_____wasm_bindgen_3785b71bf6f54dd0___sys__Undefined_______true_(_,e,t,n)}var Se=["none","default"],Fe=["none","premultiply","default"],De=["default","no-store","reload","no-cache","force-cache","only-if-cached"],Ie=["default","low-power","high-performance"],ce=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((_)=>c.__wbg_engine_free(_,1));function l(_){let e=c.__externref_table_alloc();return c.__wbindgen_externrefs.set(e,_),e}var ae=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((_)=>c.__wbindgen_destroy_closure(_.a,_.b));function Z(_){let e=typeof _;if(e=="number"||e=="boolean"||_==null)return`${_}`;if(e=="string")return`"${_}"`;if(e=="symbol"){let r=_.description;if(r==null)return"Symbol";else return`Symbol(${r})`}if(e=="function"){let r=_.name;if(typeof r=="string"&&r.length>0)return`Function(${r})`;else return"Function"}if(Array.isArray(_)){let r=_.length,o="[";if(r>0)o+=Z(_[0]);for(let a=1;a<r;a++)o+=", "+Z(_[a]);return o+="]",o}let t=/\[object ([^\]]+)\]/.exec(toString.call(_)),n;if(t&&t.length>1)n=t[1];else return toString.call(_);if(n=="Object")try{return"Object("+JSON.stringify(_)+")"}catch(r){return"Object"}if(_ instanceof Error)return`${_.name}: ${_.message}
3
+ ${_.stack}`;return n}function S(_,e){return _=_>>>0,be().subarray(_/4,_/4+e)}function fe(_,e){return _=_>>>0,ue().subarray(_/8,_/8+e)}function Te(_,e){return _=_>>>0,Me().subarray(_/2,_/2+e)}function M(_,e){return _=_>>>0,Le().subarray(_/4,_/4+e)}function Pe(_,e){return _=_>>>0,Re().subarray(_/1,_/1+e)}function Ee(_,e){return _=_>>>0,ke().subarray(_/2,_/2+e)}function L(_,e){return _=_>>>0,de().subarray(_/4,_/4+e)}function H(_,e){return _=_>>>0,U().subarray(_/1,_/1+e)}var R=null;function v(){if(R===null||R.buffer.detached===!0||R.buffer.detached===void 0&&R.buffer!==c.memory.buffer)R=new DataView(c.memory.buffer);return R}var G=null;function be(){if(G===null||G.byteLength===0)G=new Float32Array(c.memory.buffer);return G}var O=null;function ue(){if(O===null||O.byteLength===0)O=new Float64Array(c.memory.buffer);return O}var W=null;function Me(){if(W===null||W.byteLength===0)W=new Int16Array(c.memory.buffer);return W}var C=null;function Le(){if(C===null||C.byteLength===0)C=new Int32Array(c.memory.buffer);return C}var N=null;function Re(){if(N===null||N.byteLength===0)N=new Int8Array(c.memory.buffer);return N}function P(_,e){return Ge(_>>>0,e)}var V=null;function ke(){if(V===null||V.byteLength===0)V=new Uint16Array(c.memory.buffer);return V}var j=null;function de(){if(j===null||j.byteLength===0)j=new Uint32Array(c.memory.buffer);return j}var z=null;function U(){if(z===null||z.byteLength===0)z=new Uint8Array(c.memory.buffer);return z}function g(_,e){try{return _.apply(this,e)}catch(t){let n=l(t);c.__wbindgen_exn_store(n)}}function b(_){return _===void 0||_===null}function Ue(_,e,t){let n={a:_,b:e,cnt:1},r=(...o)=>{n.cnt++;let a=n.a;n.a=0;try{return t(a,n.b,...o)}finally{n.a=a,r._wbg_cb_unref()}};return r._wbg_cb_unref=()=>{if(--n.cnt===0)c.__wbindgen_destroy_closure(n.a,n.b),n.a=0,ae.unregister(n)},ae.register(r,n,n),r}function y(_,e){let t=e(_.length*4,4)>>>0;return de().set(_,t/4),s=_.length,t}function E(_,e){let t=e(_.length*1,1)>>>0;return U().set(_,t/1),s=_.length,t}function x(_,e){let t=e(_.length*4,4)>>>0;return be().set(_,t/4),s=_.length,t}function I(_,e){let t=e(_.length*8,8)>>>0;return ue().set(_,t/8),s=_.length,t}function F(_,e,t){if(t===void 0){let i=q.encode(_),f=e(i.length,1)>>>0;return U().subarray(f,f+i.length).set(i),s=i.length,f}let n=_.length,r=e(n,1)>>>0,o=U(),a=0;for(;a<n;a++){let i=_.charCodeAt(a);if(i>127)break;o[r+a]=i}if(a!==n){if(a!==0)_=_.slice(a);r=t(r,n,n=a+_.length*3,1)>>>0;let i=U().subarray(r+a,r+n),f=q.encodeInto(_,i);a+=f.written,r=t(r,n,a,1)>>>0}return s=a,r}function p(_){let e=c.__wbindgen_externrefs.get(_);return c.__externref_table_dealloc(_),e}var X=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});X.decode();var Be=2146435072,J=0;function Ge(_,e){if(J+=e,J>=Be)X=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),X.decode(),J=e;return X.decode(U().subarray(_,_+e))}var q=new TextEncoder;if(!("encodeInto"in q))q.encodeInto=function(_,e){let t=q.encode(_);return e.set(t),{read:_.length,written:t.length}};var s=0,Oe,We,c;function Ce(_,e){return We=_,c=_.exports,Oe=e,R=null,G=null,O=null,W=null,C=null,N=null,V=null,j=null,z=null,c.__wbindgen_start(),c}async function Ne(_,e){if(typeof Response==="function"&&_ instanceof Response){if(!_.ok)throw Error(`failed to fetch Wasm: ${_.status} ${_.statusText} fetching '${_.url}'`);if(typeof WebAssembly.instantiateStreaming==="function")try{return await WebAssembly.instantiateStreaming(_,e)}catch(r){if(t(_.type)&&_.headers.get("Content-Type")!=="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",r);else throw r}let n=await _.arrayBuffer();return await WebAssembly.instantiate(n,e)}else{let n=await WebAssembly.instantiate(_,e);if(n instanceof WebAssembly.Instance)return{instance:n,module:_};else return n}function t(n){switch(n){case"basic":case"cors":case"default":return!0}return!1}}async function ge(_){if(c!==void 0)return c;if(_!==void 0)if(Object.getPrototypeOf(_)===Object.prototype)({module_or_path:_}=_);else console.warn("using deprecated parameters for the initialization function; pass a single object instead");if(_===void 0)_=new URL("isard_bg.wasm",import.meta.url);let e=Ae();if(typeof _==="string"||typeof Request==="function"&&_ instanceof Request||typeof URL==="function"&&_ instanceof URL)_=fetch(_);let{instance:t,module:n}=await Ne(await _,e);return Ce(t,n)}var we,Y=ne,me={astc:!1,bptc:!1,etc:!1,s3tc:!1},Q=new Map,le=(_,e=[])=>postMessage(_,e);addEventListener("message",(_)=>{let e=_.data;switch(e.type){case"init":we=ge({module_or_path:e.module}),Y=e.decoders,me=e.formats;break;case"abort":Q.get(e.id)?.abort();break;case"load":Ve(e.id,e.url,e.transform,e.yUp,e.reload,e.priority);break}});async function Ve(_,e,t,n,r,o){let a=new AbortController;Q.set(_,a);try{await we;let i={signal:a.signal,cache:r?"reload":"default",...o?{priority:o}:{}},f=await fetch(e,i);if(!f.ok)throw Error(`HTTP ${f.status}`);let u=new Uint8Array(await f.arrayBuffer()),d=se(u),w=d.length>0?await _e(Y,d):void 0,m=ie(u,t,n,w),A=await Promise.all(m.primitives.map(async({vertices:h,indices:D,image:B,mime:k})=>{if(!B)return{vertices:h,indices:D,bitmap:null};if(k==="image/ktx2")return{vertices:h,indices:D,bitmap:null,texture:await oe(Y,me,B)};let pe=new Blob([B],{type:k??""});return{vertices:h,indices:D,bitmap:await createImageBitmap(pe,{premultiplyAlpha:"none"})}})),T=A.flatMap((h)=>[h.vertices.buffer,h.indices.buffer,...h.bitmap?[h.bitmap]:[],...h.texture?.levels.map((D)=>D.data.buffer)??[]]);le({type:"tile",id:_,tile:{anchor:m.anchor,primitives:A}},T)}catch(i){le({type:"error",id:_,error:String(i),aborted:a.signal.aborted})}finally{Q.delete(_)}}
4
+
5
+ //# debugId=6AD94314E201C2F364756E2164756E21
6
+ //# sourceMappingURL=decoder.worker.js.map