@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 59.9 kB
JavaScript
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[36],{1193(e,t,n){n.r(t),n.d(t,{default:()=>f});var r,o=n(5482),i=n(69540),s=n(25482),a=n(4718),l=n(53966),u=n(91429),c=n(31199);let f=r=class extends((0,i.OU)(s.o)){constructor(e){super(e),this.color=null,this.position=new Float64Array(0),this.uv=null,this.normal=null,this.tangent=null}castColor(e){return(0,c.b)(e,Uint8Array,[Uint8ClampedArray],{loggerTag:".color=",stride:4},l.A.getLogger(this))}castPosition(e){return e&&e instanceof Float32Array&&l.A.getLogger(this).warn(".position=","Setting position attribute from a Float32Array may cause precision problems. Consider storing data in a Float64Array or a regular number array"),(0,c.b)(e,Float64Array,[Float32Array],{loggerTag:".position=",stride:3},l.A.getLogger(this))}castUv(e){return(0,c.b)(e,Float32Array,[Float64Array],{loggerTag:".uv=",stride:2},l.A.getLogger(this))}castNormal(e){return(0,c.b)(e,Float32Array,[Float64Array],{loggerTag:".normal=",stride:3},l.A.getLogger(this))}castTangent(e){return(0,c.b)(e,Float32Array,[Float64Array],{loggerTag:".tangent=",stride:4},l.A.getLogger(this))}clonePositional(){const e={position:(0,a.o8)(this.position),normal:(0,a.o8)(this.normal),tangent:(0,a.o8)(this.tangent),uv:this.uv,color:this.color};return new r(e)}get usedMemory(){return this.position.byteLength+(this.uv?.byteLength??0)+(this.normal?.byteLength??0)+(this.tangent?.byteLength??0)+(this.color?.byteLength??0)}};(0,o.Cg)([(0,u.MZ)({json:{write:c.B}})],f.prototype,"color",void 0),(0,o.Cg)([(0,u.wg)("color")],f.prototype,"castColor",null),(0,o.Cg)([(0,u.MZ)({nonNullable:!0,json:{write:c.B}})],f.prototype,"position",void 0),(0,o.Cg)([(0,u.wg)("position")],f.prototype,"castPosition",null),(0,o.Cg)([(0,u.MZ)({json:{write:c.B}})],f.prototype,"uv",void 0),(0,o.Cg)([(0,u.wg)("uv")],f.prototype,"castUv",null),(0,o.Cg)([(0,u.MZ)({json:{write:c.B}})],f.prototype,"normal",void 0),(0,o.Cg)([(0,u.wg)("normal")],f.prototype,"castNormal",null),(0,o.Cg)([(0,u.MZ)({json:{write:c.B}})],f.prototype,"tangent",void 0),(0,o.Cg)([(0,u.wg)("tangent")],f.prototype,"castTangent",null),f=r=(0,o.Cg)([(0,u.$K)("esri.geometry.support.MeshVertexAttributes")],f)},9318(e,t,n){n.d(t,{b:()=>i});var r=n(34727),o=n(97146);function i(e,t,n){const i=Array.isArray(e),c=i?e.length/t:e.byteLength/(4*t),f=i?e:new Uint32Array(e,0,c*t),p=n?.minReduction??0,h=n?.originalIndices||null,g=h?h.length:0,y=n?.componentOffsets||null;let m=0;if(y)for(let e=0;e<y.length-1;e++){const t=y[e+1]-y[e];t>m&&(m=t)}else m=c;const d=Math.floor(1.1*m)+1;(null==u||u.length<2*d)&&(u=new Uint32Array((0,r.cU)(2*d)));for(let e=0;e<2*d;e++)u[e]=0;let x=0;const v=!!y&&!!h,w=v?g:c;let A=(0,o.my)(c);const b=new Uint32Array(g),M=1.96;let C=0!==p?Math.ceil(4*M*M/(p*p)*p*(1-p)):w,T=1,R=y?y[1]:w;for(let e=0;e<w;e++){if(e===C){const t=1-x/e;if(t+M*Math.sqrt(t*(1-t)/e)<p)return null;C*=2}if(e===R){for(let e=0;e<2*d;e++)u[e]=0;if(h)for(let e=y[T-1];e<y[T];e++)b[e]=A[h[e]];R=y[++T]}const n=v?h[e]:e,r=n*t,o=l(f,r,t);let i=o%d,a=x;for(;0!==u[2*i+1];){if(u[2*i]===o){const e=u[2*i+1]-1;if(s(f,r,e*t,t)){a=A[e];break}}i++,i>=d&&(i-=d)}a===x&&(u[2*i]=o,u[2*i+1]=n+1,x++),A[n]=a}if(0!==p&&1-x/c<p)return null;if(v){for(let e=y[T-1];e<b.length;e++)b[e]=A[h[e]];A=(0,o.uW)(b)}const S=i?new Array(x):new Uint32Array(x*t);x=0;for(let e=0;e<w;e++)A[e]===x&&(a(f,(v?h[e]:e)*t,S,x*t,t),x++);if(h&&!v){const e=new Uint32Array(g);for(let t=0;t<e.length;t++)e[t]=A[h[t]];A=(0,o.uW)(e)}return{buffer:Array.isArray(S)?S:S.buffer,indices:A,uniqueCount:x}}function s(e,t,n,r){for(let o=0;o<r;o++)if(e[t+o]!==e[n+o])return!1;return!0}function a(e,t,n,r,o){for(let i=0;i<o;i++)n[r+i]=e[t+i]}function l(e,t,n){let r=0;for(let o=0;o<n;o++)r=e[t+o]+r|0,r=r+(r<<11)+(r>>>2)|0;return r>>>0}let u=null},16939(e,t,n){n.r(t),n.d(t,{default:()=>h});var r,o=n(5482),i=n(69540),s=n(25482),a=n(53966),l=n(91429),u=n(56507),c=n(19211),f=n(80882),p=n(31199);let h=r=class extends((0,i.OU)(s.o)){static from(e){return(0,u.PZ)(r,e)}constructor(e){super(e),this.material=null,this.name=void 0,this.shading="source",this.trustSourceNormals=!1}get faces(){return this._get("faces")??null}set faces(e){this._set("faces",(0,p.b)(e,Uint32Array,[Uint16Array],{loggerTag:".faces=",stride:3},a.A.getLogger(this)))}castMaterial(e){return(0,u.PZ)(e&&"object"==typeof e&&("metallic"in e||"roughness"in e||"metallicRoughnessTexture"in e)?f.A:c.default,e)}get memoryUsage(){let e=0;return null!=this.faces&&(e+=this.faces.byteLength),null!=this.material&&(e+=this.material.memoryUsage),e}};(0,o.Cg)([(0,l.MZ)({json:{write:p.B}})],h.prototype,"faces",null),(0,o.Cg)([(0,l.MZ)({type:c.default,json:{write:!0}})],h.prototype,"material",void 0),(0,o.Cg)([(0,l.wg)("material")],h.prototype,"castMaterial",null),(0,o.Cg)([(0,l.MZ)({json:{write:!0}})],h.prototype,"name",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],h.prototype,"shading",void 0),(0,o.Cg)([(0,l.MZ)({type:Boolean})],h.prototype,"trustSourceNormals",void 0),h=r=(0,o.Cg)([(0,l.$K)("esri.geometry.support.MeshComponent")],h)},18251(e,t,n){n.r(t),n.d(t,{default:()=>u});var r=n(5482),o=n(69540),i=n(25482),s=n(91429),a=n(51850),l=n(93223);let u=class extends((0,o.OU)(i.o)){constructor(e){super(e),this.type="local",this.origin=(0,a.vt)()}};(0,r.Cg)([(0,l.e)({local:"local"},{readOnly:!0})],u.prototype,"type",void 0),(0,r.Cg)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],u.prototype,"origin",void 0),u=(0,r.Cg)([(0,s.$K)("esri.geometry.support.MeshLocalVertexSpace")],u)},19211(e,t,n){n.r(t),n.d(t,{default:()=>f});var r=n(5482),o=n(68197),i=n(69540),s=n(25482),a=n(91429),l=n(35063),u=n(51147),c=n(66895);let f=class extends((0,i.OU)(s.o)){constructor(e){super(e),this.color=null,this.colorTextureTransform=null,this.normalTextureTransform=void 0,this.alphaMode="auto",this.alphaCutoff=.5,this.doubleSided=!0}get colorTexture(){return this._get("colorTexture")}set colorTexture(e){this._set("colorTexture",null==e?null:l.default.from(e))}get normalTexture(){return this._get("normalTexture")}set normalTexture(e){this._set("normalTexture",null==e?null:l.default.from(e))}clone(e){const t=(0,c.hz)(e),n=t?.materialMap?.get(this);if(n)return n;const r=super.clone((0,c.QN)(e));return t?.materialMap?.set(this,r),r}get memoryUsage(){return this.getMemoryUsage()}getMemoryUsage(){let e=0;return e+=null!=this.color?16:0,null!=this.colorTexture&&(e+=this.colorTexture.memoryUsage),e+=null!=this.colorTextureTransform?20:0,null!=this.normalTexture&&(e+=this.normalTexture.memoryUsage),e+=null!=this.normalTextureTransform?20:0,e}};(0,r.Cg)([(0,a.MZ)({type:o.A,json:{write:!0}})],f.prototype,"color",void 0),(0,r.Cg)([(0,a.MZ)({type:l.default,json:{write:!0},value:null})],f.prototype,"colorTexture",null),(0,r.Cg)([(0,a.MZ)({type:u.A,json:{write:!0}})],f.prototype,"colorTextureTransform",void 0),(0,r.Cg)([(0,a.MZ)({type:l.default,json:{write:!0},value:null})],f.prototype,"normalTexture",null),(0,r.Cg)([(0,a.MZ)({type:u.A,json:{write:!0}})],f.prototype,"normalTextureTransform",void 0),(0,r.Cg)([(0,a.MZ)({nonNullable:!0,json:{write:!0}})],f.prototype,"alphaMode",void 0),(0,r.Cg)([(0,a.MZ)({nonNullable:!0,json:{write:!0}})],f.prototype,"alphaCutoff",void 0),(0,r.Cg)([(0,a.MZ)({nonNullable:!0,json:{write:!0}})],f.prototype,"doubleSided",void 0),f=(0,r.Cg)([(0,a.$K)("esri.geometry.support.MeshMaterial")],f)},21287(e,t,n){n.d(t,{M5:()=>f,eV:()=>c});var r=n(11254),o=n(49186),i=n(74887),s=n(84952),a=n(26306);let l=null,u=!0;function c(e,t,n,r){if(!t||!n)throw new Error("Cannot construct image data without dimensions");if(u)try{return new ImageData(e,t,n)}catch(e){u=!1}const o=function(e,t,n){return n||(l||(l=document.createElement("canvas"),l.width=1,l.height=1),n=l),n.getContext("2d").createImageData(e,t)}(t,n,r);return o.data.set(e,0),o}async function f(e,t){const{arrayBuffer:l,mediaType:u}=await async function(e,t){const n=(0,s.r$)(e);if(n?.isBase64)return{arrayBuffer:(0,a.M)(n.data),mediaType:n.mediaType};const o=await(0,r.A)(e,{responseType:"array-buffer",...t});return{arrayBuffer:o.data,mediaType:o.getHeader?.("Content-Type")??""}}(e,t),c="image/png"===u;if("image/gif"===u){const{isAnimatedGIF:e,parseGif:r}=await n.e(820).then(n.bind(n,10820));if(e(l))return r(l,t)}if(c){const{isAnimatedPNG:e,parseApng:r}=await n.e(2390).then(n.bind(n,22390));if(e(l))return r(l,t)}return async function(e,t){const n=window.URL.createObjectURL(e);try{const{data:e}=await(0,r.A)(n,{...t,responseType:"image"});return e}catch(e){if(!(0,i.zf)(e))throw new o.A("invalid-image",`Could not fetch requested image at ${n}`);throw e}finally{window.URL.revokeObjectURL(n)}}(new Blob([l],{type:u}),t)}},22141(e,t,n){n.d(t,{$5:()=>M,CN:()=>v,JP:()=>x,KM:()=>T,Mv:()=>S,X4:()=>w,gr:()=>b,qs:()=>C,si:()=>A,xA:()=>R});var r=n(34727),o=n(77690),i=n(29242),s=n(58083),a=n(9093),l=n(35522),u=n(51850),c=n(73941),f=n(48353),p=n(9762),h=(n(79258),n(21325)),g=n(28735),y=n(13030),m=n(73354),d=n(65686);const x="Projection may be possible after calling projection.load().";function v(e,t,n,r){e.error(`Failed to project from (wkid:${t.wkid}) to (wkid:${n.wkid}).${r?" ":""}${r}`)}function w(e,t,n,r,o,i){return U(0,y.xs.fromTypedArray(e),0,y.Xm.fromTypedArray(t),n,y.Xm.fromTypedArray(r),o,y.xs.fromTypedArray(i))?i:null}function A(e,t,n,r,o,i){return U(1,y.xs.fromTypedArray(e),0,y.Xm.fromTypedArray(t),n,y.Xm.fromTypedArray(r),o,y.xs.fromTypedArray(i))?i:null}function b(e,t,n,r){return(0,p.projectBuffer)(e,t,0,n,r,0)?n:null}function M(e,t,n,r){return(0,p.projectBuffer)(e,t,0,n,r,0)?n:null}function C(e,t,n){return(0,o.Ge)(j,n),(0,m.b)(t,e,j),(0,r.or)(j)&&(0,m.n)(t,t),t}function T(e,t,n){return(0,o.z0)(j,n),(0,d.t)(t,e,j),(0,r.or)(j)&&(0,m.n)(t,t,4),t}function R(e,t,n,r,o,i){if(!U(0,y.xs.fromTypedArray(e,4*Float32Array.BYTES_PER_ELEMENT),1,y.Xm.fromTypedArray(t),n,y.Xm.fromTypedArray(r),o,y.xs.fromTypedArray(i,4*Float32Array.BYTES_PER_ELEMENT)))return null;for(let t=3;t<e.length;t+=4)i[t]=e[t];return i}function S(e,t,n,r,o,i){if(!U(1,y.xs.fromTypedArray(e,16),1,y.Xm.fromTypedArray(t),n,y.Xm.fromTypedArray(r),o,y.xs.fromTypedArray(i,16)))return null;for(let t=3;t<e.length;t+=4)i[t]=e[t];return i}function Z(e,t,n,r,i){switch((0,f.l)(r,n,F,r),1===e&&(0,s.B8)(F,F),t){case 0:return(0,o.Ge)(i,F);case 1:return(0,o.z0)(i,F)}}function U(e,t,n,r,o,i,s,a){if(!t)return;const u=r.count;if(function(e){return e.isWGS84||(0,h.x1)(e)||(0,c.q8)(e)||(0,c.KQ)(e)}(o))for(let r=0;r<u;r++)i.getVec(r,N),t.getVec(r,L),(0,l.ei)(L,L,Z(e,n,N,s,j)),a.setVec(r,L);else for(let o=0;o<u;o++){i.getVec(o,N),t.getVec(o,L);const u=(0,g.jg)(r.get(o,1));let c=Math.cos(u);1===n!=(0===e)&&(c=1/c),Z(e,n,N,s,j),0===e?(j[0]*=c,j[1]*=c,j[2]*=c,j[3]*=c,j[4]*=c,j[5]*=c):(j[0]*=c,j[3]*=c,j[6]*=c,j[1]*=c,j[4]*=c,j[7]*=c),(0,l.ei)(L,L,j),(0,l.S8)(L,L),a.setVec(o,L)}return a}const N=(0,u.vt)(),L=(0,u.vt)(),F=(0,a.vt)(),j=(0,i.vt)()},27615(e,t,n){n.d(t,{CK:()=>l,Hq:()=>a,MW:()=>u,TE:()=>c,yJ:()=>f});var r=n(35522),o=n(86738),i=n(95696),s=n(18251);function a(e){return null!=e.origin}function l(e){return a(e.vertexSpace)}function u(e,t){if(!a(e))return null;const[n,r,i]=e.origin;return new o.A({x:n,y:r,z:i,spatialReference:t})}function c(e,t){const{x:n,y:r,z:o,spatialReference:a}=e,l=[n,r,o??0];return"local"===(t?.vertexSpace??function(e){return e.isGeographic||e.isWebMercator?"local":"georeferenced"}(a))?new s.default({origin:l}):new i.A({origin:l})}function f(e,t){return e.type===t.type&&(e.origin===t.origin||null!=e.origin&&null!=t.origin&&(0,r.t2)(e.origin,t.origin))}},31199(e,t,n){function r(e,t,n,r){const{loggerTag:o,stride:i}=t;return e.length%i!==0?(r.error(o,`Invalid array length, expected a multiple of ${i}`),new n([])):e}function o(e,t,n,o,i){if(!e)return e;if(e instanceof t)return r(e,o,t,i);for(const s of n)if(e instanceof s)return r(new t(e),o,t,i);if(Array.isArray(e))return r(new t(e),o,t,i);{const r=n.map(e=>`'${e.name}'`);return i.error(`Failed to set property, expected one of ${r}, but got ${e.constructor.name}`),new t([])}}function i(e,t,n){t[n]=function(e){const t=new Array(e.length);for(let n=0;n<e.length;n++)t[n]=e[n];return t}(e)}n.d(t,{B:()=>i,b:()=>o})},35063(e,t,n){n.r(t),n.d(t,{default:()=>m});var r,o=n(5482),i=n(69540),s=n(21287),a=n(25482),l=n(91429),u=n(56507),c=n(66895),f=n(97159),p=n(43937),h=n(36005);const g=new WeakMap;let y=0,m=class extends((0,i.OU)(a.o)){static{r=this}constructor(e){super(e),this.wrap="repeat"}get url(){return this._get("url")||null}set url(e){this._set("url",e),e&&this._set("data",null)}get data(){return this._get("data")||null}set data(e){this._set("data",e),e&&this._set("url",null)}writeData(e,t,n,r){if(e instanceof HTMLImageElement){const o={type:"image-element",src:(0,f.t)(e.src,r),crossOrigin:e.crossOrigin};t[n]=o}else if(e instanceof HTMLCanvasElement){const r={type:"canvas-element",imageData:d(e.getContext("2d").getImageData(0,0,e.width,e.height))};t[n]=r}else if(e instanceof HTMLVideoElement){const o={type:"video-element",src:(0,f.t)(e.src,r),autoplay:e.autoplay,loop:e.loop,muted:e.muted,crossOrigin:e.crossOrigin,preload:e.preload};t[n]=o}else if(e instanceof ImageData){const r={type:"image-data",imageData:d(e)};t[n]=r}}readData(e){switch(e.type){case"image-element":{const t=new Image;return t.src=e.src,t.crossOrigin=e.crossOrigin,t}case"canvas-element":{const t=x(e.imageData),n=document.createElement("canvas");return n.width=t.width,n.height=t.height,n.getContext("2d").putImageData(t,0,0),n}case"image-data":return x(e.imageData);case"video-element":{const t=document.createElement("video");return t.src=e.src,t.crossOrigin=e.crossOrigin,t.autoplay=e.autoplay,t.loop=e.loop,t.muted=e.muted,t.preload=e.preload,t}default:return}}get transparent(){const{data:e,url:t}=this,n=e=>e?.toLowerCase().endsWith(".png")||e?.toLocaleLowerCase().startsWith("data:image/png;");return e instanceof HTMLCanvasElement?v(e.getContext("2d").getImageData(0,0,e.width,e.height)):e instanceof ImageData?v(e):!(!t||!n(t))||!!(e instanceof HTMLImageElement&&n(e.src))}set transparent(e){this._overrideIfSome("transparent",e)}get contentHash(){const e="string"==typeof this.wrap?this.wrap:"object"==typeof this.wrap?`${this.wrap.horizontal}/${this.wrap.vertical}`:"",t=(t="")=>`d:${t},t:${this.transparent},w:${e}`;return null!=this.url?t(this.url):null!=this.data?this.data instanceof HTMLImageElement||this.data instanceof HTMLVideoElement?t(this.data.src):(g.has(this.data)||g.set(this.data,++y),t(g.get(this.data))):t()}get memoryUsage(){let e=0;if(e+=null!=this.url?this.url.length:0,null!=this.data){const t=this.data;"data"in t?e+=t.data.byteLength:t instanceof HTMLImageElement?e+=t.naturalWidth*t.naturalHeight*3:t instanceof HTMLCanvasElement&&(e+=t.width*t.height*3)}return e}clone(e){const t=(0,c.$N)(e),n=t?.textureMap?.get(this);if(n)return n;const r=super.clone(e);return t?.textureMap?.set(this,r),r}static from(e){return"string"==typeof e?new r({url:e}):e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof ImageData||e instanceof HTMLVideoElement?new r({data:e}):(0,u.PZ)(r,e)}};function d(e){let t="";for(let n=0;n<e.data.length;n++)t+=String.fromCharCode(e.data[n]);return{data:btoa(t),width:e.width,height:e.height}}function x(e){const t=atob(e.data),n=new Uint8ClampedArray(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return(0,s.eV)(n,e.width,e.height)}function v(e){for(let t=3;t<e.data.length;t+=4)if(255!==e.data[t])return!0;return!1}(0,o.Cg)([(0,l.MZ)({type:String,json:{write:f.w}})],m.prototype,"url",null),(0,o.Cg)([(0,l.MZ)({clonable:"reference",json:{write:{overridePolicy(){return{enabled:!this.url}}}}})],m.prototype,"data",null),(0,o.Cg)([(0,p.K)("data")],m.prototype,"writeData",null),(0,o.Cg)([(0,h.w)("data")],m.prototype,"readData",null),(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{write:{overridePolicy(){return{enabled:this._isOverridden("transparent")}}}}})],m.prototype,"transparent",null),(0,o.Cg)([(0,l.MZ)({json:{write:!0}})],m.prototype,"wrap",void 0),(0,o.Cg)([(0,l.MZ)({readOnly:!0})],m.prototype,"contentHash",null),m=r=(0,o.Cg)([(0,l.$K)("esri.geometry.support.MeshTexture")],m)},40036(e,t,n){n.r(t),n.d(t,{default:()=>We});var r=n(5482),o=n(69540),i=n(49186),s=n(92474),a=n(53966),l=n(61893),u=n(74887),c=n(36708),f=n(91429),p=n(51850),h=n(91075),g=n(86738),y=n(39829),m=n(70328),d=n(24770),x=n(16939);const v="Expected location to be a Point instance";class w extends i.A{constructor(){super("invalid-input:location",v)}}var A=n(95696),b=n(18251),M=n(73836),C=n(1193),T=n(27615),R=n(83349),S=n(95108),Z=n(4197),U=n(97146),N=n(34727),L=n(86211),F=n(35522),j=n(27921);function E(e,t,n){const r=function(e,t,n,r){const o=(e=>!Array.isArray(e[0]))(t)?(e,n)=>t[3*e+n]:(e,n)=>t[e][n],i=r?(0,L.GA)(r)/(0,L.G9)(r):1;return(0,j.lU)(e,(e,t)=>(0,F.hZ)(e,o(t,0)*i,o(t,1)*i,o(t,2)),n)}(O,e,t,n)?(0,j.Qj)(O):[0,0,1];return Math.abs(r[2])>Math.cos((0,N.kU)(80))?2:Math.abs(r[1])>Math.abs(r[0])?1:0}const O=(0,j.vt)();var _=n(9318);function B(e,t,n,r){const o=e.length,i=new Array(o),s=new Array(o),a=new Array(o),l=e.reduce((e,t)=>e+t.length,0);let u=0,c=0,f=0;const p=(0,Z.jh)(3*l);let h=0;for(let l=o-1;l>=0;l--){const g=e[l],y=1===n&&P(g,t,r);if(y&&1!==o)i[u++]=g;else{let e=g.length;for(let t=0;t<u;++t)e+=i[t].length;const n={index:h,pathLengths:new Array(u+1),count:e,holeIndices:new Array(u)};n.pathLengths[0]=g.length,g.length>0&&(a[f++]={index:h,count:g.length}),h=y?$(g,g.length-1,-1,p,h,g.length,t):$(g,0,1,p,h,g.length,t);for(let e=0;e<u;++e){const r=i[e];n.holeIndices[e]=h,n.pathLengths[e+1]=r.length,r.length>0&&(a[f++]={index:h,count:r.length}),h=$(r,0,1,p,h,r.length,t)}u=0,n.count>0&&(s[c++]=n)}}for(let e=0;e<u;++e){const n=i[e];n.length>0&&(a[f++]={index:h,count:n.length}),h=$(n,0,1,p,h,n.length,t)}return s.length=c,a.length=f,{position:p,polygons:s,outlines:a}}function $(e,t,n,r,o,i,s){o*=3;for(let a=0;a<i;++a){const i=e[t];r[o++]=i[0],r[o++]=i[1],r[o++]=s&&i[2]?i[2]:0,t+=n}return o/3}function P(e,t,n){if(!t)return!(0,S.$3)(e);switch(E(e,e.length-1,n)){case 0:return!(0,S.$3)(e,1,2);case 1:return!(0,S.$3)(e,0,2);case 2:return!(0,S.$3)(e,0,1)}}var I=n(65806);function z(e,t){switch(e.type){case"georeferenced":return t.isGeographic;case"local":return t.isGeographic||t.isWebMercator}}var D=n(22141),H=n(72258);const K=()=>a.A.getLogger("esri.geometry.support.meshUtils.centerAt");const k=(0,p.vt)(),q=(0,p.vt)(),W=(0,p.vt)();var G=n(9093),V=n(5443),X=n(91218),Y=n(98764),J=n(48353),Q=n(9762),ee=n(73354);const te=(0,G.vt)(),ne=(0,Z.jh)(24);var re=n(84952);function oe(e){const t=(0,re.nM)(e.url);return n=>{const r=(0,re.V1)(n,t,t),o=r?r.replace(/^ *\.\//,""):null;return(o?e.files.get(o):null)??n}}async function ie(e,t){switch(e.type){case"client":return Array.isArray(e.files)?function(e){if(!e.length)throw new i.A("mesh-load-external:missing-assets","There must be at least one file to load");return pe(e.map(e=>({name:e.name,mimeType:e.type,source:se(e)})))}(e.files):se(e.files);case"service":return async function(e,t){if(!e.length)throw new i.A("mesh-load-external:missing-assets","There must be at least one file to load");const n=await(0,u.nA)(e.map(async e=>{const n=await async function(e,t){const{parts:n,assetMimeType:r,assetName:o}=e;if(1===n.length)return new he(n[0].partUrl);const i=await e.toBlob(t);return(0,u.Te)(t),he.fromBlob(i,ge(o,r))}(e);return(0,u.Te)(t),{name:e.assetName,mimeType:e.assetMimeType,source:n}}));if((0,u.G4)(t))throw n.forEach(e=>e.source.dispose()),(0,u.NK)();return pe(n)}(e.assets,t);default:throw new i.A("mesh-load-external:invalid-source","Invalid source type")}}function se(e){return he.fromBlob(e,ge(e.name,e.type))}const ae=/^model\/gltf\+json$/,le=/^model\/gltf-binary$/,ue=/\.gltf$/i,ce=/\.glb$/i;function fe({mimeType:e,source:t,name:n}){return ae.test(e)||ue.test(n)?{url:t.url,type:"gltf"}:le.test(e)||ce.test(n)?{url:t.url,type:"glb"}:null}function pe(e){const t=new Map;let n=null,r=null;for(const o of e){const{source:e,name:i}=o;n??=fe(o),"ESRI3DO_NORM.glb"===i&&(r=fe(o)),t.set(i,e.url),e.files.forEach((e,n)=>t.set(n,e))}const o=r??n;if(null==o)throw new i.A("mesh-load-external:missing-files","Missing files to load external mesh source");return new he(o.url,()=>e.forEach(({source:e})=>e.dispose()),t,o.type)}class he{constructor(e,t=()=>{},n=new Map,r){this.url=e,this.dispose=t,this.files=n,this.type=r}static fromBlob(e,t){const n=URL.createObjectURL(e);return new he(n,()=>URL.revokeObjectURL(n),void 0,t)}}function ge(e,t){return ae.test(t)||ue.test(e)?"gltf":le.test(t)||ue.test(e)?"glb":void 0}var ye=n(66895),me=n(7762),de=n(63579);let xe=class extends o.Pw{constructor(e){super(e),this.externalSources=new me.A,this._explicitDisplaySource=null,this.addHandles((0,c.on)(()=>this.externalSources,"after-remove",({item:e})=>{e===this._explicitDisplaySource&&(this._explicitDisplaySource=null)},{sync:!0,onListenerRemove:()=>this._explicitDisplaySource=null}))}get displaySource(){return this._explicitDisplaySource??this._implicitDisplaySource}set displaySource(e){if(null!=e&&!(0,de.yr)(e))throw new Error("Cannot use this source for display: it is not in a supported format.");this._explicitDisplaySource=e,e&&this.externalSources.every(t=>!(0,de.in)(t,e))&&this.externalSources.add(e)}clearSources(){this.externalSources.removeAll()}getExternalSourcesOnService(e){return this.externalSources.items.filter(t=>(0,de.eN)(t,e))}get _implicitDisplaySource(){return this.externalSources.find(de.yr)}};(0,r.Cg)([(0,f.MZ)()],xe.prototype,"externalSources",void 0),(0,r.Cg)([(0,f.MZ)()],xe.prototype,"displaySource",null),(0,r.Cg)([(0,f.MZ)()],xe.prototype,"_implicitDisplaySource",null),(0,r.Cg)([(0,f.MZ)()],xe.prototype,"_explicitDisplaySource",void 0),xe=(0,r.Cg)([(0,f.$K)("esri.geometry.support.meshUtils.Metadata")],xe);var ve=n(29242);const we={position:[-.5,-.5,0,.5,-.5,0,.5,.5,0,-.5,.5,0],normal:[0,0,1,0,0,1,0,0,1,0,0,1],uv:[0,1,1,1,1,0,0,0],faces:[0,1,2,0,2,3],facingAxisOrderSwap:{east:[3,1,2],west:[-3,-1,2],north:[-1,3,2],south:[1,-3,2],up:[1,2,3],down:[1,-2,-3]}};function Ae(e,t,n){e.isPlane||function(e){for(let t=0;t<e.position.length;t+=3)e.position[t+2]+=.5}(e),function(e,t){if(null!=t){Te[0]=t[0],Te[4]=t[1],Te[8]=t[2];for(let t=0;t<e.position.length;t+=3){for(let n=0;n<3;n++)Ce[n]=e.position[t+n];(0,F.ei)(Ce,Ce,Te);for(let n=0;n<3;n++)e.position[t+n]=Ce[n]}if(t[0]!==t[1]||t[1]!==t[2]){Te[0]=1/t[0],Te[4]=1/t[1],Te[8]=1/t[2];for(let t=0;t<e.normal.length;t+=3){for(let n=0;n<3;n++)Ce[n]=e.normal[t+n];(0,F.ei)(Ce,Ce,Te),(0,F.S8)(Ce,Ce);for(let n=0;n<3;n++)e.normal[t+n]=Ce[n]}}}}(e,function(e,t,n){const r=(0,H.xK)(t,n);if(null==e&&1===r)return null;if(null==e)return[r,r,r];if("number"==typeof e){const t=e*r;return[t,t,t]}return[null!=e.width?e.width*r:r,null!=e.depth?e.depth*r:r,null!=e.height?e.height*r:r]}(n?.size,n?.unit,t.spatialReference));const r=(0,T.TE)(t,n),o=t.spatialReference.isGeographic?(0,T.TE)(t):r,i=(0,H.UR)({vertexAttributes:e,vertexSpace:o,spatialReference:t.spatialReference},r,{allowBufferReuse:!0});return{vertexAttributes:new C.default({...i,uv:e.uv}),vertexSpace:r,components:[new x.default({faces:e.faces,material:n?.material||null})],spatialReference:t.spatialReference}}const be={faceDescriptions:[{axis:[0,-1,0],uvOrigin:[0,.625],corners:[[-1,-1],[1,-1],[1,1],[-1,1]]},{axis:[1,0,0],uvOrigin:[.25,.625],corners:[[-1,-1],[1,-1],[1,1],[-1,1]]},{axis:[0,1,0],uvOrigin:[.5,.625],corners:[[1,-1],[-1,-1],[-1,1],[1,1]]},{axis:[-1,0,0],uvOrigin:[.75,.625],corners:[[1,-1],[-1,-1],[-1,1],[1,1]]},{axis:[0,0,1],uvOrigin:[0,.375],corners:[[-1,-1],[1,-1],[1,1],[-1,1]]},{axis:[0,0,-1],uvOrigin:[0,.875],corners:[[-1,1],[1,1],[1,-1],[-1,-1]]}],uvScales:[[0,0],[1,0],[1,1],[0,1]],faceVertexOffsets:[0,1,2,0,2,3]},Me={south:0,east:1,north:2,west:3,up:4,down:5},Ce=(0,p.vt)(),Te=(0,ve.vt)();var Re=n(77690),Se=n(58083),Ze=n(67026),Ue=n(82534);const Ne=()=>a.A.getLogger("esri.geometry.support.meshUtils.rotate");function Le(e,t,n,r=p.uY){if(null!=e){(0,Se.$0)(Oe,(0,d.$I)(t),(0,d.yo)(t));for(let t=0;t<e.length;t+=n){for(let n=0;n<3;n++)Fe[n]=e[t+n]-r[n];(0,F.Z0)(Fe,Fe,Oe);for(let n=0;n<3;n++)e[t+n]=Fe[n]+r[n]}}}const Fe=(0,p.vt)(),je=(0,G.vt)(),Ee=(0,d.vt)(),Oe=(0,G.vt)(),_e=(0,ve.vt)(),Be=(0,p.vt)(),$e=(0,Ue.vt)(),Pe=()=>a.A.getLogger("esri.geometry.support.meshUtils.scale");function Ie(e,t,n=p.uY){if(e)for(let r=0;r<e.length;r+=3){for(let t=0;t<3;t++)ze[t]=e[r+t]-n[t];(0,F.hs)(ze,ze,t);for(let t=0;t<3;t++)e[r+t]=ze[t]+n[t]}}const ze=(0,p.vt)(),De=(0,p.vt)(),He=(0,G.vt)(),Ke=(0,p.vt)();var ke;const qe={base:null,key:"type",defaultKeyValue:"georeferenced",typeMap:{georeferenced:A.A,local:b.default}};let We=ke=class extends((0,o.OU)((0,s.WV)((0,l.g)(h.A)))){constructor(e){super(e),this.components=null,this.vertexSpace=new A.A,this.transform=null,this.metadata=new xe,this.hasZ=!0,this.hasM=!1,this.vertexAttributes=new C.default,this.type="mesh"}initialize(){(0===this.metadata.externalSources.length||this.vertexAttributes.position.length)&&(this.loadStatus="loaded"),this.when(()=>{this.addHandles((0,c.wB)(()=>({vertexAttributes:this.vertexAttributes,components:this.components?.map(e=>e.clone())}),()=>this._clearSources(),{once:!0,sync:!0}))})}get hasExtent(){return this.loaded?this.vertexAttributes.position.length>0&&(!this.components||this.components.length>0):null!=this.metadata.displaySource?.extent}get _transformedExtent(){const{spatialReference:e,vertexSpace:t}=this,n=this;return function(e){const{spatialReference:t,vertexSpace:n,untransformedBounds:r}=e,o=(0,m.gE)(r,ne);if((0,T.Hq)(n)&&e.transform&&(0,ee.t)(o,o,e.transform.localMatrix),"georeferenced"===n.type){const e=n.origin;return e&&(0,ee.a)(o,o,e),(0,m.w1)((0,m.vY)(o),t)}const i=(0,Y.lO)(t),s=n.origin;if(!(0,X.canProjectWithoutEngine)(i,t)){const[e,n,r]=s;return new V.A({xmin:e,ymin:n,zmin:r,xmax:e,ymax:n,zmax:r,spatialReference:t})}return(0,J.l)(t,s,te,i),(0,ee.t)(o,o,te),(0,Q.projectBuffer)(o,i,0,o,t,0),(0,m.w1)((0,m.vY)(o),t)}({get transform(){return n.transform},vertexSpace:t,spatialReference:e,untransformedBounds:this._untransformedBounds})}get _untransformedBounds(){const{vertexAttributes:{position:e},components:t}=this;return 0===e.length||0===t?.length?(0,m.vt)(m.v_):(0,m.vY)(e)}get origin(){const e=(0,T.MW)(this.vertexSpace,this.spatialReference);if(null!=e)return e;const{center:t,zmin:n}=this._transformedExtent;return new g.A({x:t.x,y:t.y,z:n,spatialReference:this.spatialReference})}get extent(){return this.loaded||null==this.metadata?.displaySource?.extent?this._transformedExtent:this.metadata.displaySource.extent.clone()}addComponent(e){this._checkIfLoaded("addComponent()")&&(this.components||(this.components=[]),this.components.push(x.default.from(e)),this.notifyChange("components"))}removeComponent(e){if(this._checkIfLoaded("removeComponent()")){if(this.components){const t=this.components.indexOf(e);if(-1!==t)return this.components.splice(t,1),void this.notifyChange("components")}a.A.getLogger(this).error("removeComponent()","Provided component is not part of the list of components")}}rotate(e,t,n,r){return(0,d.AU)(e,t,n,Ge),function(e,t,n){if(!e.vertexAttributes?.position||0===t[3])return;const{spatialReference:r,vertexSpace:o}=e,i=n?.origin??e.origin;(0,T.CK)(e)?function(e,t,n){e.transform??=new M.A;const{vertexSpace:r,transform:o,spatialReference:i}=e,[s,a,l]=r.origin,u=new g.A({x:s,y:a,z:l,spatialReference:i}),c=Fe;if(u.equals(n))(0,F.hZ)(c,0,0,0);else if(!(0,H.p5)(c,n,e))return void(0,D.CN)(Ne(),n.spatialReference,i,D.JP);(0,Ze.x8)($e,(0,d.yo)(t),(0,d.$I)(t));const f=(0,Se.O7)(je,$e,p.uY,p.Un,c),{localMatrix:h}=o,y=(0,Se.lw)(je,f,h);o.scale=(0,Se.X_)((0,p.vt)(),y),(0,Se.hs)(y,y,(0,F.DI)(Fe,o.scale));const m=o.rotationAxis;o.rotation=(0,d.ui)(y),0===o.rotationAngle&&(o.rotationAxis=m),o.translation=(0,Se.sC)((0,p.vt)(),y)}(e,t,i):z(o,r)?function(e,t,n){const r=e.spatialReference,o=(0,Y.lO)(r),i=Be;if(!(0,I.g)(n,i,o)&&((0,D.CN)(Ne(),n.spatialReference,o,"Falling back to mesh origin"),!(0,I.g)(e.origin,i,o)))return void(0,D.CN)(Ne(),e.origin.spatialReference,o);const s=e.vertexAttributes.position,a=e.vertexAttributes.normal,l=e.vertexAttributes.tangent,u=new Float64Array(s.length),c=null!=a?new Float32Array(a.length):null,f=null!=l?new Float32Array(l.length):null;(0,J.l)(o,i,Oe,o),(0,Re.z0)(_e,Oe);const p=Ee;(0,F.ei)((0,d.yo)(Ee),(0,d.yo)(t),_e),p[3]=t[3],!(0,D.gr)(s,r,u,o)||null!=a&&null!=c&&!(0,D.X4)(a,s,r,u,o,c)||null!=l&&null!=f&&!(0,D.xA)(l,s,r,u,o,f)?(0,D.CN)(Ne(),r,o):(Le(u,p,3,i),!(0,D.$5)(u,o,s,r)||null!=a&&null!=c&&(Le(c,p,3),!(0,D.si)(c,s,r,u,o,a))||null!=l&&null!=f&&(Le(f,p,4),!(0,D.Mv)(f,s,r,u,o,l))?(0,D.CN)(Ne(),o,r):e.vertexAttributesChanged())}(e,t,i):function(e,t,n){const r=Be;if(!(0,I.g)(n,r,e.spatialReference)){const t=e.origin;return r[0]=t.x,r[1]=t.y,r[2]=t.z,void(0,D.CN)(Ne(),n.spatialReference,e.spatialReference,D.JP)}Le(e.vertexAttributes.position,t,3,r),Le(e.vertexAttributes.normal,t,3),Le(e.vertexAttributes.tangent,t,4),e.vertexAttributesChanged()}(e,t,i)}(this,Ge,r),this}offset(e,t,n){if(!this._checkIfLoaded("offset()"))return this;const{vertexSpace:r,vertexAttributes:o}=this,i=o?.position;if(!i)return this;if((0,T.Hq)(r)){const[o,i,s]=r.origin;r.origin=(0,p.fA)(o+e,i+t,s+n)}else{for(let r=0;r<i.length;r+=3)i[r]+=e,i[r+1]+=t,i[r+2]+=n;this.vertexAttributesChanged()}return this}scale(e,t){return this._checkIfLoaded("scale()")?(function(e,t,n){if(!e.vertexAttributes?.position)return;const{vertexSpace:r,spatialReference:o}=e,i=n?.origin??e.origin;(0,T.CK)(e)?function(e,t,n){e.transform??=new M.A;const{vertexSpace:r,transform:o,spatialReference:i}=e,[s,a,l]=r.origin,u=new g.A({x:s,y:a,z:l,spatialReference:i}),c=ze;if(u.equals(n))(0,F.hZ)(c,0,0,0);else if(!(0,H.p5)(c,n,e))return void(0,D.CN)(Pe(),n.spatialReference,i,D.JP);const f=(0,F.hZ)(De,t,t,t),h=(0,Se.O7)(He,Ue.zK,p.uY,f,c),{localMatrix:y}=o,m=(0,Se.lw)(He,h,y);o.scale=(0,Se.X_)((0,p.vt)(),m),(0,Se.hs)(m,m,(0,F.DI)(ze,o.scale));const x=o.rotationAxis;o.rotation=(0,d.ui)(m),0===o.rotationAngle&&(o.rotationAxis=x),o.translation=(0,Se.sC)((0,p.vt)(),m)}(e,t,i):z(r,o)?function(e,t,n){const r=e.spatialReference,o=(0,Y.lO)(r),i=Ke;if(!(0,I.g)(n,i,o)&&((0,D.CN)(Pe(),n.spatialReference,o,"Falling back to mesh origin"),!(0,I.g)(e.origin,i,o)))return void(0,D.CN)(Pe(),e.origin.spatialReference,o);const s=e.vertexAttributes.position,a=e.vertexAttributes.normal,l=e.vertexAttributes.tangent,u=new Float64Array(s.length),c=null!=a?new Float32Array(a.length):null,f=null!=l?new Float32Array(l.length):null;!(0,D.gr)(s,r,u,o)||null!=a&&null!=c&&!(0,D.X4)(a,s,r,u,o,c)||null!=l&&null!=f&&!(0,D.xA)(l,s,r,u,o,f)?(0,D.CN)(Pe(),r,o):(Ie(u,t,i),!(0,D.$5)(u,o,s,r)||null!=a&&null!=c&&!(0,D.si)(c,s,r,u,o,a)||null!=l&&null!=f&&!(0,D.Mv)(f,s,r,u,o,l)?(0,D.CN)(Pe(),o,r):e.vertexAttributesChanged())}(e,t,i):function(e,t,n){const r=Ke;if(!(0,I.g)(n,r,e.spatialReference)){const t=e.origin;return r[0]=t.x,r[1]=t.y,r[2]=t.z,void(0,D.CN)(Pe(),n.spatialReference,e.spatialReference,D.JP)}Ie(e.vertexAttributes.position,t,r),e.vertexAttributesChanged()}(e,t,i)}(this,e,t),this):this}centerAt(e,t){return this._checkIfLoaded("centerAt()")?(function(e,t,n){if(!e.vertexAttributes?.position)return;const{vertexSpace:r}=e,o=n?.origin??e.origin;(0,T.Hq)(r)?function(e,t,n){const{vertexSpace:r}=e;if(!(0,T.Hq)(r))return;const o=q,i=k;if(!(0,I.g)(t,i,e.spatialReference))return void(0,D.CN)(K(),t.spatialReference,e.spatialReference,D.JP);if(!(0,I.g)(n,o,e.spatialReference))return void(0,D.CN)(K(),n.spatialReference,e.spatialReference,D.JP);const s=(0,F.Re)(W,i,o);r.origin=(0,F.WQ)((0,p.vt)(),r.origin,s)}(e,t,o):z(r,o.spatialReference)?function(e,t,n){const r=(0,p.fA)(n.x,n.y,n.z??0),o=(0,H.UR)(e,new b.default({origin:r}));if(!o)return;const i=(0,p.fA)(t.x,t.y,t.z??0),s=(0,H.UR)({vertexAttributes:o,spatialReference:e.spatialReference,vertexSpace:new b.default({origin:i})},A.A.absolute);if(!s)return;const{position:a,normal:l,tangent:u}=s;e.vertexAttributes.position=a,e.vertexAttributes.normal=l,e.vertexAttributes.tangent=u,e.vertexAttributesChanged()}(e,t,o):function(e,t,n){const r=q,o=k;if((0,I.g)(t,o,e.spatialReference)){if(!(0,I.g)(n,r,e.spatialReference)){const t=e.origin;return r[0]=t.x,r[1]=t.y,r[2]=t.z,void(0,D.CN)(K(),n.spatialReference,e.spatialReference,D.JP)}(function(e,t,n){if(e)for(let r=0;r<e.length;r+=3)for(let o=0;o<3;o++)e[r+o]+=t[o]-n[o]})(e.vertexAttributes.position,o,r),e.vertexAttributesChanged()}else(0,D.CN)(K(),t.spatialReference,e.spatialReference,D.JP)}(e,t,o)}(this,e,t),this):this}load(e){const{metadata:{displaySource:t}}=this;return t&&this.addResolvingPromise(async function(e,t,r){switch(t.source.type){case"client":case"service":return async function(e,t,r){const{source:o}=t,{loadGLTFMesh:s}=await(0,u.qr)(n.e(5841).then(n.bind(n,35841)),r),a=await ie(o,r);(0,u.Te)(r);const l=s(new g.A({x:0,y:0,z:0,spatialReference:e.spatialReference}),a.url,{resolveFile:oe(a),signal:r?.signal,expectedType:a.type,unitConversionDisabled:t.unitConversionDisabled});l.then(()=>a.dispose(),()=>a.dispose());const{mesh:{vertexAttributes:c,components:f},meta:{isDracoDecompressed:p}}=await l;if(p)throw new i.A("mesh-load-external:draco-not-supported","The provided mesh uses Draco compression which is not supported.");e.vertexAttributes=c,e.components=f}(e,t,r);case"loadable":return t.source.load(e,r);default:t.source}}(this,t,e)),Promise.resolve(this)}addExternalSources(e){this.metadata.externalSources.addMany(e)}updateDisplaySource(e){this.metadata.displaySource=e}clone(e){return super.clone((0,ye.WO)((0,ye.QN)(e)))}cloneShallow(){return new ke({components:this.components,spatialReference:this.spatialReference,vertexAttributes:this.vertexAttributes,vertexSpace:this.vertexSpace.clone(),transform:this.transform,metadata:this.metadata})}vertexAttributesChanged(){this.notifyChange("vertexAttributes")}async toBinaryGLTF(e){const[{toBinaryGLTF:t}]=await Promise.all([n.e(4038).then(n.bind(n,84038)),this.load(e)]);return(0,u.Te)(e),await t(this,e)}get usedMemory(){return this.components?this.components.reduce((e,t)=>e+t.memoryUsage,this.vertexAttributes.usedMemory):this.vertexAttributes.usedMemory}_clearSources(){this.metadata.clearSources()}_checkIfLoaded(e){return!!this.loaded||(a.A.getLogger(this).error(e,"Mesh must be loaded before applying operations"),!1)}static createBox(e,t){if(!(e instanceof g.A))return a.A.getLogger(this.prototype).error(".createBox()",v),null;const n=new ke(Ae(function(){const{faceDescriptions:e,faceVertexOffsets:t,uvScales:n}=be,r=4*e.length,o=new Float64Array(3*r),i=new Float32Array(3*r),s=new Float32Array(2*r),a=new Uint32Array(2*e.length*3);let l=0,u=0,c=0,f=0;for(let r=0;r<e.length;r++){const p=e[r],h=l/3;for(const e of t)a[f++]=h+e;const g=p.corners;for(let e=0;e<4;e++){const t=g[e];let r=0;s[c++]=.25*n[e][0]+p.uvOrigin[0],s[c++]=p.uvOrigin[1]-.25*n[e][1];for(let e=0;e<3;e++)0!==p.axis[e]?(o[l++]=.5*p.axis[e],i[u++]=p.axis[e]):(o[l++]=.5*t[r++],i[u++]=0)}}return{position:o,normal:i,uv:s,faces:a}}(),e,t));return t?.imageFace&&"all"!==t.imageFace?function(e,t){const n=e.components[0],r=n.faces,o=Me[t],i=6*o,s=new Array(6),a=new Array(r.length-6);let l=0,u=0;for(let e=0;e<r.length;e++)e>=i&&e<i+6?s[l++]=r[e]:a[u++]=r[e];if(null!=e.vertexAttributes.uv){const t=new Float32Array(e.vertexAttributes.uv),n=4*o*2,r=[0,1,1,1,1,0,0,0];for(let e=0;e<r.length;e++)t[n+e]=r[e];e.vertexAttributes.uv=t}return e.components=[new x.default({faces:s,material:n.material}),new x.default({faces:a})],e}(n,t.imageFace):n}static createSphere(e,t){return e instanceof g.A?new ke(Ae(function(e=0){const t=Math.round(8*2**e),n=2*t,r=(t-1)*(n+1)+2*n,o=new Float64Array(3*r),i=new Float32Array(3*r),s=new Float32Array(2*r),a=new Uint32Array((t-1)*n*2*3);let l=0,u=0,c=0,f=0;for(let e=0;e<=t;e++){const r=e/t*Math.PI+.5*Math.PI,p=Math.cos(r),h=Math.sin(r);Ce[2]=h;const g=0===e||e===t,y=g?n-1:n;for(let r=0;r<=y;r++){const h=r/y*2*Math.PI;Ce[0]=-Math.sin(h)*p,Ce[1]=Math.cos(h)*p;for(let e=0;e<3;e++)o[l]=.5*Ce[e],i[l]=Ce[e],++l;s[u++]=(r+(g?.5:0))/n,s[u++]=e/t,0!==e&&r!==n&&(e!==t&&(a[c++]=f,a[c++]=f+1,a[c++]=f-n),1!==e&&(a[c++]=f,a[c++]=f-n,a[c++]=f-n-1)),f++}}return{position:o,normal:i,uv:s,faces:a}}(t?.densificationFactor||0),e,t)):(a.A.getLogger(this.prototype).error(".createSphere()",v),null)}static createCylinder(e,t){return e instanceof g.A?new ke(Ae(function(e=0){const t=Math.round(16*2**e),n=4*(t+1)+2*t,r=new Float64Array(3*n),o=new Float32Array(3*n),i=new Float32Array(2*n),s=new Uint32Array(4*t*3);let a=0,l=0,u=0,c=0,f=0;for(let e=0;e<=5;e++){const n=0===e||5===e,p=e<=1||e>=4,h=2===e||4===e,g=n?t-1:t;for(let y=0;y<=g;y++){const m=y/g*2*Math.PI,d=n?0:.5;Ce[0]=d*Math.sin(m),Ce[1]=d*-Math.cos(m),Ce[2]=e<=2?.5:-.5;for(let t=0;t<3;t++)r[a++]=Ce[t],o[l++]=p?2===t?e<=1?1:-1:0:2===t?0:Ce[t]/d;i[u++]=(y+(n?.5:0))/t,i[u++]=e<=1?1*e/3:e<=3?1*(e-2)/3+1/3:1*(e-4)/3+2/3,h||0===e||y===t||(5!==e&&(s[c++]=f,s[c++]=f+1,s[c++]=f-t),1!==e&&(s[c++]=f,s[c++]=f-t,s[c++]=f-t-1)),f++}}return{position:r,normal:o,uv:i,faces:s}}(t?.densificationFactor||0),e,t)):(a.A.getLogger(this.prototype).error(".createCylinder()",v),null)}static createPlane(e,t){if(!(e instanceof g.A))return a.A.getLogger(this.prototype).error(".createPlane()",v),null;const n=t?.facing??"up",r=function(e,t){const n="number"==typeof t?t:null!=t?t.width:1,r="number"==typeof t?t:null!=t?t.height:1;switch(e){case"up":case"down":return{width:n,depth:r};case"north":case"south":return{width:n,height:r};case"east":case"west":return{depth:n,height:r}}}(n,t?.size);return new ke(Ae(function(e){const t=we.facingAxisOrderSwap[e],n=we.position,r=we.normal,o=new Float64Array(n.length),i=new Float32Array(r.length);let s=0;for(let e=0;e<4;e++){const e=s;for(let a=0;a<3;a++){const l=t[a],u=Math.abs(l)-1,c=l>=0?1:-1;o[s]=n[e+u]*c,i[s]=r[e+u]*c,s++}}return{position:o,normal:i,uv:new Float32Array(we.uv),faces:new Uint32Array(we.faces),isPlane:!0}}(n),e,{...t,size:r}))}static createFromPolygon(e,t){if(!(e instanceof y.A))return a.A.getLogger(this.prototype).error(".createFromPolygon()","Expected polygon to be a Polygon instance"),null;const n=function(e){const t=B(e.rings,e.hasZ,1,e.spatialReference),n=new Array;let r=0,o=0;for(const e of t.polygons){const i=e.count,s=e.index,a=(0,Z.l5)(t.position,3*s,3*i),l=e.holeIndices.map(e=>e-s),u=(0,U.uW)((0,R.e)(a,l,3));n.push({position:a,faces:u}),r+=a.length,o+=u.length}const i=function(e,t,n){if(1===e.length)return e[0];const r=(0,Z.jh)(t),o=new Array(n);let i=0,s=0,a=0;for(const t of e){for(let e=0;e<t.position.length;e++)r[i++]=t.position[e];for(const e of t.faces)o[s++]=e+a;a=i/3}return{position:r,faces:(0,U.uW)(o)}}(n,r,o),s=Array.isArray(i.position)?(0,_.b)(i.position,3,{originalIndices:i.faces}):(0,_.b)(i.position.buffer,6,{originalIndices:i.faces});return i.position=(0,Z.xm)(new Float64Array(s.buffer)),i.faces=s.indices,i}(e);return new ke({vertexAttributes:new C.default({position:n.position}),components:[new x.default({faces:n.faces,shading:"flat",material:t?.material??null})],spatialReference:e.spatialReference,vertexSpace:new A.A})}static async createFromGLTF(e,t,r){if(!(e instanceof g.A)){const e=new w;throw a.A.getLogger(this.prototype).error(".createfromGLTF()",e.message),e}const{loadGLTFMesh:o}=await(0,u.qr)(n.e(5841).then(n.bind(n,35841)),r);return new ke((await o(e,t,r)).mesh)}static createWithExternalSource(e,t,n){const r=n?.extent??null,{spatialReference:o}=e,i=n?.transform?.clone()??new M.A,s=(0,T.TE)(e,n),a=n?.unitConversionDisabled,l={source:t,extent:r,unitConversionDisabled:a},u=new xe;return u.externalSources.push(l),new ke({metadata:u,transform:i,vertexSpace:s,spatialReference:o})}static createIncomplete(e,t){const{spatialReference:n}=e,r=t?.transform?.clone()??new M.A,o=(0,T.TE)(e,t),s=new ke({transform:r,vertexSpace:o,spatialReference:n});return s.addResolvingPromise(Promise.reject(new i.A("mesh-incomplete","Mesh resources are not complete"))),s}};(0,r.Cg)([(0,f.MZ)({type:[x.default],json:{write:!0}})],We.prototype,"components",void 0),(0,r.Cg)([(0,f.MZ)({nonNullable:!0,types:qe,constructOnly:!0,json:{write:!0},clonable:(e,t)=>(0,ye.o2)(t)?.vertexSpace??e.clone(t)})],We.prototype,"vertexSpace",void 0),(0,r.Cg)([(0,f.MZ)({type:M.A,clonable:(e,t)=>{const n=(0,ye.o2)(t);return n&&"transform"in n?n.transform:e?.clone()??e},json:{write:!0}})],We.prototype,"transform",void 0),(0,r.Cg)([(0,f.MZ)({constructOnly:!0,type:xe,clonable:(e,t)=>(0,ye.o2)(t)?.metadata??e.clone()})],We.prototype,"metadata",void 0),(0,r.Cg)([(0,f.MZ)()],We.prototype,"hasExtent",null),(0,r.Cg)([(0,f.MZ)()],We.prototype,"_transformedExtent",null),(0,r.Cg)([(0,f.MZ)()],We.prototype,"_untransformedBounds",null),(0,r.Cg)([(0,f.MZ)()],We.prototype,"origin",null),(0,r.Cg)([(0,f.MZ)({readOnly:!0,json:{read:!1}})],We.prototype,"extent",null),(0,r.Cg)([(0,f.MZ)({readOnly:!0,json:{read:!1,write:!0,default:!0}})],We.prototype,"hasZ",void 0),(0,r.Cg)([(0,f.MZ)({readOnly:!0,json:{read:!1,write:!0,default:!1}})],We.prototype,"hasM",void 0),(0,r.Cg)([(0,f.MZ)({type:C.default,nonNullable:!0,json:{write:!0},clonable:(e,t)=>(0,ye.o2)(t)?.vertexAttributes??e.clone(t)})],We.prototype,"vertexAttributes",void 0),We=ke=(0,r.Cg)([(0,f.$K)("esri.geometry.Mesh")],We);const Ge=(0,d.vt)()},51147(e,t,n){n.d(t,{A:()=>a});var r=n(5482),o=n(69540),i=n(25482),s=n(91429);let a=class extends((0,o.OU)(i.o)){constructor(e){super(e),this.offset=[0,0],this.rotation=0,this.scale=[1,1]}};(0,r.Cg)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],a.prototype,"offset",void 0),(0,r.Cg)([(0,s.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],a.prototype,"rotation",void 0),(0,r.Cg)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],a.prototype,"scale",void 0),a=(0,r.Cg)([(0,s.$K)("esri.geometry.support.MeshTextureTransform")],a)},63579(e,t,n){n.d(t,{Bq:()=>l,Qp:()=>a,WN:()=>m,dK:()=>d,eN:()=>h,fH:()=>y,in:()=>g,yr:()=>u});var r=n(11254),o=n(4576),i=n(74887),s=n(20557);class a{constructor(e,t,n){this.assetName=e,this.assetMimeType=t,this.parts=n}equals(e){return this===e||this.assetName===e.assetName&&this.assetMimeType===e.assetMimeType&&(0,o.aI)(this.parts,e.parts,(e,t)=>e.equals(t))}isOnService(e){return this.parts.every(t=>t.isOnService(e))}makeHash(){let e="";for(const t of this.parts)e+=t.partHash;return e}async toBlob(e){const{parts:t}=this;if(1===t.length)return t[0].toBlob(e);const n=await Promise.all(t.map(t=>t.toBlob(e)));return(0,i.Te)(e),new Blob(n)}}class l{constructor(e,t){this.partUrl=e,this.partHash=t}equals(e){return this===e||this.partUrl===e.partUrl&&this.partHash===e.partHash}isOnService(e){return this.partUrl.startsWith(`${e.path}/assets/`)}async toBlob(e){const{data:t}=await(0,r.A)(this.partUrl,{responseType:"blob"});return(0,i.Te)(e),t}}function u(e){return function(e){switch(e?.type){case"client":return Array.isArray(e.files)?e.files.some(p):p(e.files);case"service":return e.assets.some(p);case"loadable":return!0;default:return!1}}(e?.source)}const c=/^(model\/gltf\+json)|(model\/gltf-binary)$/,f=/\.(gltf|glb)/i;function p(e){if(e instanceof File){const{type:t,name:n}=e;return c.test(t)||f.test(n)}return c.test(e.assetMimeType)||f.test(e.assetName)}function h(e,t){if(!e)return!1;const{source:n}=e;return function(e,t){return"service"===e.type&&e.assets.every(e=>e.isOnService(t))}(n,t)}function g(e,t){if(e===t)return!0;const{source:n}=e,{source:r}=t;if(n===r)return!0;if("service"===n.type&&"service"===r.type){if(n.assets.length!==r.assets.length)return!1;const e=(e,t)=>e.assetName<t.assetName?-1:e.assetName>t.assetName?1:0,t=[...n.assets].sort(e),o=[...r.assets].sort(e);for(let e=0;e<t.length;++e)if(!t[e].equals(o[e]))return!1;return!0}return!1}function y(e,t){return e instanceof File?(0,s.rq)(e,t):(0,s.z$)(e.assetMimeType,e.assetName,t)}function m(e){switch(e.type){case"client":return Array.isArray(e.files)?e.files:[e.files];case"service":return e.assets;case"loadable":return}}function d(e){return!!e.original}},66895(e,t,n){n.d(t,{$N:()=>c,Lz:()=>i,QN:()=>f,WO:()=>l,hz:()=>a,o2:()=>o});const r=Symbol("meshContext");function o(e){return e&&"object"==typeof e&&r in e?e[r]:void 0}function i(e,t){const n=o(e);return{...e,[r]:{...n,...t}}}const s=Symbol("meshMaterialContext");function a(e){return e&&"object"==typeof e&&s in e?e[s]:void 0}function l(e){const t=a(e);if(t?.materialMap)return e;const n={materialMap:new Map};return{...e,[s]:n}}const u=Symbol("meshTextureContext");function c(e){return e&&"object"==typeof e&&u in e?e[u]:void 0}function f(e){const t=c(e);if(t?.textureMap)return e;const n={textureMap:new Map};return{...e,[u]:n}}},72258(e,t,n){n.d(t,{UR:()=>A,p5:()=>w,xK:()=>S});var r=n(53966),o=n(34727),i=n(86211),s=n(77690),a=n(29242),l=n(58083),u=n(9093),c=n(35522),f=n(51850),p=n(73941),h=n(98764),g=n(48353),y=n(65806),m=n(27615),d=n(73354),x=n(22141);const v=()=>r.A.getLogger("esri.geometry.support.meshUtils.vertexSpaceConversion");function w(e,t,{vertexSpace:n,spatialReference:r}){if("georeferenced"===n.type){const o=e;if(!(0,y.g)(t,o,r))return!1;const{origin:i}=n;return(0,c.Re)(e,o,i),!0}const o=(0,h.lO)(r),i=e;if(!(0,y.g)(t,i,o))return!1;const{origin:s}=n,a=F;if(!(0,g.l)(r,s,a,o))return!1;const u=(0,l.B8)(F,a);return null!=u&&((0,c.Z0)(e,i,u),!0)}function A(e,t,n){const{vertexSpace:r,transform:o,vertexAttributes:i}=e,a=(0,m.Hq)(r)?o:null,f=T(e.spatialReference,n,3);if((0,m.yJ)(r,t)&&(!a||(0,l.t2)(a.localMatrix,u.zK))&&R(f)){const{position:e,normal:t,tangent:r}=i,o=n?.allowBufferReuse;return{position:o?e:e.slice(),normal:o?t:t?.slice(),tangent:o?r:r?.slice()}}switch(e.vertexSpace.type){case"local":return"local"===t.type?function({vertexAttributes:e,spatialReference:t,transform:n},{origin:r},o,i){const s=b(t,i);if(!(0,g.l)(t,r,Z,s))return(0,x.CN)(v(),t,s),null;if(n&&(0,l.lw)(Z,Z,n.localMatrix),!(0,g.l)(t,o,U,s))return(0,x.CN)(v(),s,t),null;(0,l.B8)(U,U);const a=(0,l.lw)(Z,U,Z);return C(a,t,i,3),M(e,a)}(e,e.vertexSpace,t.origin,n):function({spatialReference:e,vertexAttributes:t,transform:n},{origin:r},o,i){const s=b(e,i);if(!(0,g.l)(e,r,Z,s))return(0,x.CN)(v(),e,s),null;n&&(0,l.lw)(Z,Z,n.localMatrix),C(Z,e,i,1);const a=new Float64Array(t.position.length),u=function(e,t,n,r,o){(0,d.t)(r,e,t);const i=new Float64Array(e.length);return(0,x.$5)(r,o,i,n)?i:((0,x.CN)(v(),o,n),null)}(t.position,Z,e,a,s);if(!u)return null;const f=function(e,t,n,r,o,i){if(null==o)return null;const s=new Float32Array(o.length);return(0,x.qs)(o,s,i),(0,x.si)(s,e,t,n,r,s)?s:((0,x.CN)(v(),r,t),null)}(u,e,a,s,t.normal,Z);if(t.normal&&!f)return null;const p=function(e,t,n,r,o,i){if(null==o)return null;const s=new Float32Array(o.length);return(0,x.KM)(o,s,i),(0,x.Mv)(s,e,t,n,r,s)?s:((0,x.CN)(v(),r,t),null)}(u,e,a,s,t.tangent,Z);if(t.tangent&&!p)return null;if(o){const e=(0,c.ze)(L,o);(0,d.a)(u,u,e)}return{position:u,normal:f,tangent:p}}(e,e.vertexSpace,t.origin,n);case"georeferenced":return"local"===t.type?function({vertexAttributes:e,spatialReference:t,transform:n},{origin:r},o,i){const a=b(t,i);if(!(0,g.l)(t,o,Z,a))return(0,x.CN)(v(),t,a),null;const u=1/T(t,i,2);(0,l.hs)(Z,Z,[u,u,u]);const c=(0,l.B8)(U,Z),{position:f,normal:p,tangent:h}=function(e,t,n){if(!t)return e;if(!n){const{position:n,normal:r,tangent:o}=e;return{position:(0,d.a)(new Float64Array(n.length),n,t),tangent:o,normal:r}}const r=M(e,n.localMatrix);return(0,d.a)(r.position,r.position,t),r}(e,r,n),y=new Float64Array(f.length),m=function(e,t,n,r,o){const i=(0,x.gr)(e,t,r,o);if(!i)return(0,x.CN)(v(),t,o),null;const s=new Float64Array(i.length);return(0,d.t)(s,i,n),s}(f,t,c,y,a);if(!m)return null;const w=(0,s.Ge)(N,c),A=function(e,t,n,r,o,i,s){if(null==e)return null;const a=s??new Float32Array(e.length);return(0,x.X4)(e,t,n,r,o,a)?((0,d.b)(a,a,i),a):((0,x.CN)(v(),n,o),null)}(p,f,t,y,a,w,p!==e.normal?p:void 0);if(!A&&p)return null;const C=function(e,t,n,r,o,i,s){if(null==e)return null;const a=s??new Float32Array(e.length);return(0,x.xA)(e,t,n,r,o,a)?((0,d.b)(a,a,i,4),a):((0,x.CN)(v(),n,o),null)}(h,f,t,y,a,w,h!==e.tangent?h:void 0);return!C&&h?null:{position:m,normal:A,tangent:C}}(e,e.vertexSpace,t.origin,n):function({vertexAttributes:e,transform:t,spatialReference:n},{origin:r},o,i){const s=T(n,i,3),a=r||!R(s)?(0,l.C)(Z,t?.localMatrix??u.zK):null;a&&C(a,n,i,3);const{position:f,normal:p,tangent:h}=a?M(e,a):e,g=i?.allowBufferReuse,y=g?f:new Float64Array(f.length);let m=f;if(r&&(m=(0,d.a)(y,m,r)),o){const e=(0,c.ze)(L,o);m=(0,d.a)(y,m,e)}return{position:m!==e.position||g?m:m.slice(),normal:p!==e.normal||g?p:p?.slice(),tangent:h!==e.tangent||g?h:h?.slice()}}(e,e.vertexSpace,t.origin,n)}}function b(e,t){return t?.useEllipsoid&&(0,p.B3)(e)?h.Y0:(0,h.lO)(e)}function M(e,t){const n=new Float64Array(e.position.length);(0,d.t)(n,e.position,t);const r=e.normal?new Float32Array(e.normal.length):null,o=e.tangent?new Float32Array(e.tangent.length):null;return r&&e.normal&&(0,x.qs)(e.normal,r,t),o&&e.tangent&&(0,x.KM)(e.tangent,o,t),{position:n,normal:r,tangent:o}}function C(e,t,n,r){const o=T(t,n,r);R(o)||(0,l.hs)(e,e,[o,o,o])}function T(e,t,n){const r=!!(1&n),o=!!(2&n),i=t?.sourceUnit,s=t?.targetUnit;if(!i&&!s)return 1;let a=S(i,e);r||!i||R(a)||(v().warn("source unit conversion not supported"),a=1);let l=1/S(s,e);return o||!s||R(l)||(v().warn("target unit conversion not supported"),l=1),a*l}function R(e){return(0,o.Io)(e,1)}function S(e,t){if(null==e)return 1;const n=(0,i.KX)(t);return 1/(0,i.oU)(n,"meters",e)}const Z=(0,u.vt)(),U=(0,u.vt)(),N=(0,a.vt)(),L=(0,f.vt)(),F=(0,u.vt)()},80882(e,t,n){n.d(t,{A:()=>u});var r=n(5482),o=n(68197),i=n(91429),s=n(19211),a=n(35063),l=n(51147);let u=class extends s.default{constructor(e){super(e),this.emissiveColor=null,this.emissiveStrength=null,this.emissiveTextureTransform=void 0,this.occlusionTextureTransform=void 0,this.metallic=1,this.roughness=1,this.metallicRoughnessTextureTransform=void 0}get emissiveTexture(){return this._get("emissiveTexture")}set emissiveTexture(e){this._set("emissiveTexture",null==e?null:a.default.from(e))}get occlusionTexture(){return this._get("occlusionTexture")}set occlusionTexture(e){this._set("occlusionTexture",null==e?null:a.default.from(e))}get metallicRoughnessTexture(){return this._get("metallicRoughnessTexture")}set metallicRoughnessTexture(e){this._set("