earthsdk3-ue 3.11.0-beta.20 → 3.11.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.
@@ -109,10 +109,10 @@ Msg: ${e}`;console.warn(t)}};g.verboseLogLevel=5,(function(r){r.LIST_STREAMERS="
109
109
  content: "" !important;
110
110
  display: none !important;
111
111
  }`,fw=function(r){ww(r,"."+qs+gw+jc+`
112
- .`+js+Bw+jc)},ww=function(r,A){var e=r.ownerDocument;if(e){var t=e.createElement("style");t.textContent=A,r.appendChild(t)}},Ad=(function(){function r(){}return r.getOrigin=function(A){var e=r._link;return e?(e.href=A,e.href=e.href,e.protocol+e.hostname+e.port):"about:blank"},r.isSameOrigin=function(A){return r.getOrigin(A)===r._origin},r.setContext=function(A){r._link=A.document.createElement("a"),r._origin=r.getOrigin(A.location.href)},r._origin="about:blank",r})(),pw=(function(){function r(A,e){this.context=A,this._options=e,this._cache={}}return r.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)||(ei(A)||Fw(A))&&(this._cache[A]=this.loadImage(A)).catch(function(){}),e},r.prototype.match=function(A){return this._cache[A]},r.prototype.loadImage=function(A){return hA(this,void 0,void 0,function(){var e,t,n,s,i=this;return sA(this,function(o){switch(o.label){case 0:return e=Ad.isSameOrigin(A),t=!Ai(A)&&this._options.useCORS===!0&&tA.SUPPORT_CORS_IMAGES&&!e,n=!Ai(A)&&!e&&!ei(A)&&typeof this._options.proxy=="string"&&tA.SUPPORT_CORS_XHR&&!t,!e&&this._options.allowTaint===!1&&!Ai(A)&&!ei(A)&&!n&&!t?[2]:(s=A,n?[4,this.proxy(s)]:[3,2]);case 1:s=o.sent(),o.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise(function(a,l){var d=new Image;d.onload=function(){return a(d)},d.onerror=l,(Qw(s)||t)&&(d.crossOrigin="anonymous"),d.src=s,d.complete===!0&&setTimeout(function(){return a(d)},500),i._options.imageTimeout>0&&setTimeout(function(){return l("Timed out ("+i._options.imageTimeout+"ms) loading image")},i._options.imageTimeout)})];case 3:return[2,o.sent()]}})})},r.prototype.has=function(A){return typeof this._cache[A]<"u"},r.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},r.prototype.proxy=function(A){var e=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var n=A.substring(0,256);return new Promise(function(s,i){var o=tA.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(a.status===200)if(o==="text")s(a.response);else{var h=new FileReader;h.addEventListener("load",function(){return s(h.result)},!1),h.addEventListener("error",function(u){return i(u)},!1),h.readAsDataURL(a.response)}else i("Failed to proxy resource "+n+" with status code "+a.status)},a.onerror=i;var l=t.indexOf("?")>-1?"&":"?";if(a.open("GET",""+t+l+"url="+encodeURIComponent(A)+"&responseType="+o),o!=="text"&&a instanceof XMLHttpRequest&&(a.responseType=o),e._options.imageTimeout){var d=e._options.imageTimeout;a.timeout=d,a.ontimeout=function(){return i("Timed out ("+d+"ms) proxying "+n)}}a.send()})},r})(),Cw=/^data:image\/svg\+xml/i,vw=/^data:image\/.*;base64,/i,mw=/^data:image\/.*/i,Fw=function(r){return tA.SUPPORT_SVG_DRAWING||!Uw(r)},Ai=function(r){return mw.test(r)},Qw=function(r){return vw.test(r)},ei=function(r){return r.substr(0,4)==="blob"},Uw=function(r){return r.substr(-3).toLowerCase()==="svg"||Cw.test(r)},S=(function(){function r(A,e){this.type=0,this.x=A,this.y=e}return r.prototype.add=function(A,e){return new r(this.x+A,this.y+e)},r})(),Te=function(r,A,e){return new S(r.x+(A.x-r.x)*e,r.y+(A.y-r.y)*e)},wn=(function(){function r(A,e,t,n){this.type=1,this.start=A,this.startControl=e,this.endControl=t,this.end=n}return r.prototype.subdivide=function(A,e){var t=Te(this.start,this.startControl,A),n=Te(this.startControl,this.endControl,A),s=Te(this.endControl,this.end,A),i=Te(t,n,A),o=Te(n,s,A),a=Te(i,o,A);return e?new r(this.start,t,i,a):new r(a,o,s,this.end)},r.prototype.add=function(A,e){return new r(this.start.add(A,e),this.startControl.add(A,e),this.endControl.add(A,e),this.end.add(A,e))},r.prototype.reverse=function(){return new r(this.end,this.endControl,this.startControl,this.start)},r})(),pA=function(r){return r.type===1},Ew=(function(){function r(A){var e=A.styles,t=A.bounds,n=it(e.borderTopLeftRadius,t.width,t.height),s=n[0],i=n[1],o=it(e.borderTopRightRadius,t.width,t.height),a=o[0],l=o[1],d=it(e.borderBottomRightRadius,t.width,t.height),h=d[0],u=d[1],f=it(e.borderBottomLeftRadius,t.width,t.height),B=f[0],w=f[1],v=[];v.push((s+a)/t.width),v.push((B+h)/t.width),v.push((i+w)/t.height),v.push((l+u)/t.height);var m=Math.max.apply(Math,v);m>1&&(s/=m,i/=m,a/=m,l/=m,h/=m,u/=m,B/=m,w/=m);var F=t.width-a,E=t.height-u,H=t.width-h,y=t.height-w,U=e.borderTopWidth,D=e.borderRightWidth,R=e.borderBottomWidth,L=e.borderLeftWidth,W=k(e.paddingTop,A.bounds.width),oA=k(e.paddingRight,A.bounds.width),aA=k(e.paddingBottom,A.bounds.width),G=k(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=s>0||i>0?V(t.left+L/3,t.top+U/3,s-L/3,i-U/3,K.TOP_LEFT):new S(t.left+L/3,t.top+U/3),this.topRightBorderDoubleOuterBox=s>0||i>0?V(t.left+F,t.top+U/3,a-D/3,l-U/3,K.TOP_RIGHT):new S(t.left+t.width-D/3,t.top+U/3),this.bottomRightBorderDoubleOuterBox=h>0||u>0?V(t.left+H,t.top+E,h-D/3,u-R/3,K.BOTTOM_RIGHT):new S(t.left+t.width-D/3,t.top+t.height-R/3),this.bottomLeftBorderDoubleOuterBox=B>0||w>0?V(t.left+L/3,t.top+y,B-L/3,w-R/3,K.BOTTOM_LEFT):new S(t.left+L/3,t.top+t.height-R/3),this.topLeftBorderDoubleInnerBox=s>0||i>0?V(t.left+L*2/3,t.top+U*2/3,s-L*2/3,i-U*2/3,K.TOP_LEFT):new S(t.left+L*2/3,t.top+U*2/3),this.topRightBorderDoubleInnerBox=s>0||i>0?V(t.left+F,t.top+U*2/3,a-D*2/3,l-U*2/3,K.TOP_RIGHT):new S(t.left+t.width-D*2/3,t.top+U*2/3),this.bottomRightBorderDoubleInnerBox=h>0||u>0?V(t.left+H,t.top+E,h-D*2/3,u-R*2/3,K.BOTTOM_RIGHT):new S(t.left+t.width-D*2/3,t.top+t.height-R*2/3),this.bottomLeftBorderDoubleInnerBox=B>0||w>0?V(t.left+L*2/3,t.top+y,B-L*2/3,w-R*2/3,K.BOTTOM_LEFT):new S(t.left+L*2/3,t.top+t.height-R*2/3),this.topLeftBorderStroke=s>0||i>0?V(t.left+L/2,t.top+U/2,s-L/2,i-U/2,K.TOP_LEFT):new S(t.left+L/2,t.top+U/2),this.topRightBorderStroke=s>0||i>0?V(t.left+F,t.top+U/2,a-D/2,l-U/2,K.TOP_RIGHT):new S(t.left+t.width-D/2,t.top+U/2),this.bottomRightBorderStroke=h>0||u>0?V(t.left+H,t.top+E,h-D/2,u-R/2,K.BOTTOM_RIGHT):new S(t.left+t.width-D/2,t.top+t.height-R/2),this.bottomLeftBorderStroke=B>0||w>0?V(t.left+L/2,t.top+y,B-L/2,w-R/2,K.BOTTOM_LEFT):new S(t.left+L/2,t.top+t.height-R/2),this.topLeftBorderBox=s>0||i>0?V(t.left,t.top,s,i,K.TOP_LEFT):new S(t.left,t.top),this.topRightBorderBox=a>0||l>0?V(t.left+F,t.top,a,l,K.TOP_RIGHT):new S(t.left+t.width,t.top),this.bottomRightBorderBox=h>0||u>0?V(t.left+H,t.top+E,h,u,K.BOTTOM_RIGHT):new S(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=B>0||w>0?V(t.left,t.top+y,B,w,K.BOTTOM_LEFT):new S(t.left,t.top+t.height),this.topLeftPaddingBox=s>0||i>0?V(t.left+L,t.top+U,Math.max(0,s-L),Math.max(0,i-U),K.TOP_LEFT):new S(t.left+L,t.top+U),this.topRightPaddingBox=a>0||l>0?V(t.left+Math.min(F,t.width-D),t.top+U,F>t.width+D?0:Math.max(0,a-D),Math.max(0,l-U),K.TOP_RIGHT):new S(t.left+t.width-D,t.top+U),this.bottomRightPaddingBox=h>0||u>0?V(t.left+Math.min(H,t.width-L),t.top+Math.min(E,t.height-R),Math.max(0,h-D),Math.max(0,u-R),K.BOTTOM_RIGHT):new S(t.left+t.width-D,t.top+t.height-R),this.bottomLeftPaddingBox=B>0||w>0?V(t.left+L,t.top+Math.min(y,t.height-R),Math.max(0,B-L),Math.max(0,w-R),K.BOTTOM_LEFT):new S(t.left+L,t.top+t.height-R),this.topLeftContentBox=s>0||i>0?V(t.left+L+G,t.top+U+W,Math.max(0,s-(L+G)),Math.max(0,i-(U+W)),K.TOP_LEFT):new S(t.left+L+G,t.top+U+W),this.topRightContentBox=a>0||l>0?V(t.left+Math.min(F,t.width+L+G),t.top+U+W,F>t.width+L+G?0:a-L+G,l-(U+W),K.TOP_RIGHT):new S(t.left+t.width-(D+oA),t.top+U+W),this.bottomRightContentBox=h>0||u>0?V(t.left+Math.min(H,t.width-(L+G)),t.top+Math.min(E,t.height+U+W),Math.max(0,h-(D+oA)),u-(R+aA),K.BOTTOM_RIGHT):new S(t.left+t.width-(D+oA),t.top+t.height-(R+aA)),this.bottomLeftContentBox=B>0||w>0?V(t.left+L+G,t.top+y,Math.max(0,B-(L+G)),w-(R+aA),K.BOTTOM_LEFT):new S(t.left+L+G,t.top+t.height-(R+aA))}return r})(),K;(function(r){r[r.TOP_LEFT=0]="TOP_LEFT",r[r.TOP_RIGHT=1]="TOP_RIGHT",r[r.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",r[r.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(K||(K={}));var V=function(r,A,e,t,n){var s=4*((Math.sqrt(2)-1)/3),i=e*s,o=t*s,a=r+e,l=A+t;switch(n){case K.TOP_LEFT:return new wn(new S(r,l),new S(r,l-o),new S(a-i,A),new S(a,A));case K.TOP_RIGHT:return new wn(new S(r,A),new S(r+i,A),new S(a,l-o),new S(a,l));case K.BOTTOM_RIGHT:return new wn(new S(a,A),new S(a,A+o),new S(r+i,l),new S(r,l));case K.BOTTOM_LEFT:default:return new wn(new S(a,l),new S(a-i,l),new S(r,A+o),new S(r,A))}},pn=function(r){return[r.topLeftBorderBox,r.topRightBorderBox,r.bottomRightBorderBox,r.bottomLeftBorderBox]},yw=function(r){return[r.topLeftContentBox,r.topRightContentBox,r.bottomRightContentBox,r.bottomLeftContentBox]},Cn=function(r){return[r.topLeftPaddingBox,r.topRightPaddingBox,r.bottomRightPaddingBox,r.bottomLeftPaddingBox]},Sw=(function(){function r(A,e,t){this.offsetX=A,this.offsetY=e,this.matrix=t,this.type=0,this.target=6}return r})(),vn=(function(){function r(A,e){this.path=A,this.target=e,this.type=1}return r})(),Iw=(function(){function r(A){this.opacity=A,this.type=2,this.target=6}return r})(),Tw=function(r){return r.type===0},ed=function(r){return r.type===1},Hw=function(r){return r.type===2},td=function(r,A){return r.length===A.length?r.some(function(e,t){return e===A[t]}):!1},bw=function(r,A,e,t,n){return r.map(function(s,i){switch(i){case 0:return s.add(A,e);case 1:return s.add(A+t,e);case 2:return s.add(A+t,e+n);case 3:return s.add(A,e+n)}return s})},rd=(function(){function r(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return r})(),nd=(function(){function r(A,e){if(this.container=A,this.parent=e,this.effects=[],this.curves=new Ew(this.container),this.container.styles.opacity<1&&this.effects.push(new Iw(this.container.styles.opacity)),this.container.styles.transform!==null){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,s=this.container.styles.transform;this.effects.push(new Sw(t,n,s))}if(this.container.styles.overflowX!==0){var i=pn(this.curves),o=Cn(this.curves);td(i,o)?this.effects.push(new vn(i,6)):(this.effects.push(new vn(i,2)),this.effects.push(new vn(o,4)))}}return r.prototype.getEffects=function(A){for(var e=[2,3].indexOf(this.container.styles.position)===-1,t=this.parent,n=this.effects.slice(0);t;){var s=t.effects.filter(function(a){return!ed(a)});if(e||t.container.styles.position!==0||!t.parent){if(n.unshift.apply(n,s),e=[2,3].indexOf(t.container.styles.position)===-1,t.container.styles.overflowX!==0){var i=pn(t.curves),o=Cn(t.curves);td(i,o)||n.unshift(new vn(o,6))}}else n.unshift.apply(n,s);t=t.parent}return n.filter(function(a){return q(a.target,A)})},r})(),ti=function(r,A,e,t){r.container.elements.forEach(function(n){var s=q(n.flags,4),i=q(n.flags,2),o=new nd(n,r);q(n.styles.display,2048)&&t.push(o);var a=q(n.flags,8)?[]:t;if(s||i){var l=s||n.styles.isPositioned()?e:A,d=new rd(o);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var h=n.styles.zIndex.order;if(h<0){var u=0;l.negativeZIndex.some(function(B,w){return h>B.element.container.styles.zIndex.order?(u=w,!1):u>0}),l.negativeZIndex.splice(u,0,d)}else if(h>0){var f=0;l.positiveZIndex.some(function(B,w){return h>=B.element.container.styles.zIndex.order?(f=w+1,!1):f>0}),l.positiveZIndex.splice(f,0,d)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(d)}else n.styles.isFloating()?l.nonPositionedFloats.push(d):l.nonPositionedInlineLevel.push(d);ti(o,d,s?d:e,a)}else n.styles.isInlineLevel()?A.inlineLevel.push(o):A.nonInlineLevel.push(o),ti(o,A,e,a);q(n.flags,8)&&sd(n,a)})},sd=function(r,A){for(var e=r instanceof Ws?r.start:1,t=r instanceof Ws?r.reversed:!1,n=0;n<A.length;n++){var s=A[n];s.container instanceof Hc&&typeof s.container.value=="number"&&s.container.value!==0&&(e=s.container.value),s.listValue=ut(e,s.container.styles.listStyleType,!0),e+=t?-1:1}},Lw=function(r){var A=new nd(r,null),e=new rd(A),t=[];return ti(A,e,e,t),sd(A.container,t),e},id=function(r,A){switch(A){case 0:return CA(r.topLeftBorderBox,r.topLeftPaddingBox,r.topRightBorderBox,r.topRightPaddingBox);case 1:return CA(r.topRightBorderBox,r.topRightPaddingBox,r.bottomRightBorderBox,r.bottomRightPaddingBox);case 2:return CA(r.bottomRightBorderBox,r.bottomRightPaddingBox,r.bottomLeftBorderBox,r.bottomLeftPaddingBox);case 3:default:return CA(r.bottomLeftBorderBox,r.bottomLeftPaddingBox,r.topLeftBorderBox,r.topLeftPaddingBox)}},Mw=function(r,A){switch(A){case 0:return CA(r.topLeftBorderBox,r.topLeftBorderDoubleOuterBox,r.topRightBorderBox,r.topRightBorderDoubleOuterBox);case 1:return CA(r.topRightBorderBox,r.topRightBorderDoubleOuterBox,r.bottomRightBorderBox,r.bottomRightBorderDoubleOuterBox);case 2:return CA(r.bottomRightBorderBox,r.bottomRightBorderDoubleOuterBox,r.bottomLeftBorderBox,r.bottomLeftBorderDoubleOuterBox);case 3:default:return CA(r.bottomLeftBorderBox,r.bottomLeftBorderDoubleOuterBox,r.topLeftBorderBox,r.topLeftBorderDoubleOuterBox)}},Dw=function(r,A){switch(A){case 0:return CA(r.topLeftBorderDoubleInnerBox,r.topLeftPaddingBox,r.topRightBorderDoubleInnerBox,r.topRightPaddingBox);case 1:return CA(r.topRightBorderDoubleInnerBox,r.topRightPaddingBox,r.bottomRightBorderDoubleInnerBox,r.bottomRightPaddingBox);case 2:return CA(r.bottomRightBorderDoubleInnerBox,r.bottomRightPaddingBox,r.bottomLeftBorderDoubleInnerBox,r.bottomLeftPaddingBox);case 3:default:return CA(r.bottomLeftBorderDoubleInnerBox,r.bottomLeftPaddingBox,r.topLeftBorderDoubleInnerBox,r.topLeftPaddingBox)}},Rw=function(r,A){switch(A){case 0:return mn(r.topLeftBorderStroke,r.topRightBorderStroke);case 1:return mn(r.topRightBorderStroke,r.bottomRightBorderStroke);case 2:return mn(r.bottomRightBorderStroke,r.bottomLeftBorderStroke);case 3:default:return mn(r.bottomLeftBorderStroke,r.topLeftBorderStroke)}},mn=function(r,A){var e=[];return pA(r)?e.push(r.subdivide(.5,!1)):e.push(r),pA(A)?e.push(A.subdivide(.5,!0)):e.push(A),e},CA=function(r,A,e,t){var n=[];return pA(r)?n.push(r.subdivide(.5,!1)):n.push(r),pA(e)?n.push(e.subdivide(.5,!0)):n.push(e),pA(t)?n.push(t.subdivide(.5,!0).reverse()):n.push(t),pA(A)?n.push(A.subdivide(.5,!1).reverse()):n.push(A),n},od=function(r){var A=r.bounds,e=r.styles;return A.add(e.borderLeftWidth,e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth),-(e.borderTopWidth+e.borderBottomWidth))},Fn=function(r){var A=r.styles,e=r.bounds,t=k(A.paddingLeft,e.width),n=k(A.paddingRight,e.width),s=k(A.paddingTop,e.width),i=k(A.paddingBottom,e.width);return e.add(t+A.borderLeftWidth,s+A.borderTopWidth,-(A.borderRightWidth+A.borderLeftWidth+t+n),-(A.borderTopWidth+A.borderBottomWidth+s+i))},xw=function(r,A){return r===0?A.bounds:r===2?Fn(A):od(A)},Pw=function(r,A){return r===0?A.bounds:r===2?Fn(A):od(A)},ri=function(r,A,e){var t=xw(be(r.styles.backgroundOrigin,A),r),n=Pw(be(r.styles.backgroundClip,A),r),s=Kw(be(r.styles.backgroundSize,A),e,t),i=s[0],o=s[1],a=it(be(r.styles.backgroundPosition,A),t.width-i,t.height-o),l=Gw(be(r.styles.backgroundRepeat,A),a,s,t,n),d=Math.round(t.left+a[0]),h=Math.round(t.top+a[1]);return[l,d,h,i,o]},He=function(r){return N(r)&&r.value===Ee.AUTO},Qn=function(r){return typeof r=="number"},Kw=function(r,A,e){var t=A[0],n=A[1],s=A[2],i=r[0],o=r[1];if(!i)return[0,0];if($(i)&&o&&$(o))return[k(i,e.width),k(o,e.height)];var a=Qn(s);if(N(i)&&(i.value===Ee.CONTAIN||i.value===Ee.COVER)){if(Qn(s)){var l=e.width/e.height;return l<s!=(i.value===Ee.COVER)?[e.width,e.width/s]:[e.height*s,e.height]}return[e.width,e.height]}var d=Qn(t),h=Qn(n),u=d||h;if(He(i)&&(!o||He(o))){if(d&&h)return[t,n];if(!a&&!u)return[e.width,e.height];if(u&&a){var f=d?t:n*s,B=h?n:t/s;return[f,B]}var w=d?t:e.width,v=h?n:e.height;return[w,v]}if(a){var m=0,F=0;return $(i)?m=k(i,e.width):$(o)&&(F=k(o,e.height)),He(i)?m=F*s:(!o||He(o))&&(F=m/s),[m,F]}var E=null,H=null;if($(i)?E=k(i,e.width):o&&$(o)&&(H=k(o,e.height)),E!==null&&(!o||He(o))&&(H=d&&h?E/t*n:e.height),H!==null&&He(i)&&(E=d&&h?H/n*t:e.width),E!==null&&H!==null)return[E,H];throw new Error("Unable to calculate background-size for element")},be=function(r,A){var e=r[A];return typeof e>"u"?r[0]:e},Gw=function(r,A,e,t,n){var s=A[0],i=A[1],o=e[0],a=e[1];switch(r){case 2:return[new S(Math.round(t.left),Math.round(t.top+i)),new S(Math.round(t.left+t.width),Math.round(t.top+i)),new S(Math.round(t.left+t.width),Math.round(a+t.top+i)),new S(Math.round(t.left),Math.round(a+t.top+i))];case 3:return[new S(Math.round(t.left+s),Math.round(t.top)),new S(Math.round(t.left+s+o),Math.round(t.top)),new S(Math.round(t.left+s+o),Math.round(t.height+t.top)),new S(Math.round(t.left+s),Math.round(t.height+t.top))];case 1:return[new S(Math.round(t.left+s),Math.round(t.top+i)),new S(Math.round(t.left+s+o),Math.round(t.top+i)),new S(Math.round(t.left+s+o),Math.round(t.top+i+a)),new S(Math.round(t.left+s),Math.round(t.top+i+a))];default:return[new S(Math.round(n.left),Math.round(n.top)),new S(Math.round(n.left+n.width),Math.round(n.top)),new S(Math.round(n.left+n.width),Math.round(n.height+n.top)),new S(Math.round(n.left),Math.round(n.height+n.top))]}},Nw="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",ad="Hidden Text",kw=(function(){function r(A){this._data={},this._document=A}return r.prototype.parseMetrics=function(A,e){var t=this._document.createElement("div"),n=this._document.createElement("img"),s=this._document.createElement("span"),i=this._document.body;t.style.visibility="hidden",t.style.fontFamily=A,t.style.fontSize=e,t.style.margin="0",t.style.padding="0",t.style.whiteSpace="nowrap",i.appendChild(t),n.src=Nw,n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",s.style.fontFamily=A,s.style.fontSize=e,s.style.margin="0",s.style.padding="0",s.appendChild(this._document.createTextNode(ad)),t.appendChild(s),t.appendChild(n);var o=n.offsetTop-s.offsetTop+2;t.removeChild(s),t.appendChild(this._document.createTextNode(ad)),t.style.lineHeight="normal",n.style.verticalAlign="super";var a=n.offsetTop-t.offsetTop+2;return i.removeChild(t),{baseline:o,middle:a}},r.prototype.getMetrics=function(A,e){var t=A+" "+e;return typeof this._data[t]>"u"&&(this._data[t]=this.parseMetrics(A,e)),this._data[t]},r})(),ld=(function(){function r(A,e){this.context=A,this.options=e}return r})(),_w=1e4,Vw=(function(r){mA(A,r);function A(e,t){var n=r.call(this,e,t)||this;return n._activeEffects=[],n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),t.canvas||(n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px"),n.fontMetrics=new kw(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+t.width+"x"+t.height+") with scale "+t.scale),n}return A.prototype.applyEffects=function(e){for(var t=this;this._activeEffects.length;)this.popEffect();e.forEach(function(n){return t.applyEffect(n)})},A.prototype.applyEffect=function(e){this.ctx.save(),Hw(e)&&(this.ctx.globalAlpha=e.opacity),Tw(e)&&(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)),ed(e)&&(this.path(e.path),this.ctx.clip()),this._activeEffects.push(e)},A.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},A.prototype.renderStack=function(e){return hA(this,void 0,void 0,function(){var t;return sA(this,function(n){switch(n.label){case 0:return t=e.element.container.styles,t.isVisible()?[4,this.renderStackContent(e)]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})})},A.prototype.renderNode=function(e){return hA(this,void 0,void 0,function(){return sA(this,function(t){switch(t.label){case 0:if(q(e.container.flags,16))debugger;return e.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(e)]:[3,3];case 1:return t.sent(),[4,this.renderNodeContent(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},A.prototype.renderTextWithLetterSpacing=function(e,t,n){var s=this;if(t===0)this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+n);else{var i=Os(e.text);i.reduce(function(o,a){return s.ctx.fillText(a,o,e.bounds.top+n),o+s.ctx.measureText(a).width},e.bounds.left)}},A.prototype.createFontStyle=function(e){var t=e.fontVariant.filter(function(i){return i==="normal"||i==="small-caps"}).join(""),n=zw(e.fontFamily).join(", "),s=st(e.fontSize)?""+e.fontSize.number+e.fontSize.unit:e.fontSize.number+"px";return[[e.fontStyle,t,e.fontWeight,s,n].join(" "),n,s]},A.prototype.renderTextNode=function(e,t){return hA(this,void 0,void 0,function(){var n,s,i,o,a,l,d,h,u=this;return sA(this,function(f){return n=this.createFontStyle(t),s=n[0],i=n[1],o=n[2],this.ctx.font=s,this.ctx.direction=t.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",a=this.fontMetrics.getMetrics(i,o),l=a.baseline,d=a.middle,h=t.paintOrder,e.textBounds.forEach(function(B){h.forEach(function(w){switch(w){case 0:u.ctx.fillStyle=j(t.color),u.renderTextWithLetterSpacing(B,t.letterSpacing,l);var v=t.textShadow;v.length&&B.text.trim().length&&(v.slice(0).reverse().forEach(function(m){u.ctx.shadowColor=j(m.color),u.ctx.shadowOffsetX=m.offsetX.number*u.options.scale,u.ctx.shadowOffsetY=m.offsetY.number*u.options.scale,u.ctx.shadowBlur=m.blur.number,u.renderTextWithLetterSpacing(B,t.letterSpacing,l)}),u.ctx.shadowColor="",u.ctx.shadowOffsetX=0,u.ctx.shadowOffsetY=0,u.ctx.shadowBlur=0),t.textDecorationLine.length&&(u.ctx.fillStyle=j(t.textDecorationColor||t.color),t.textDecorationLine.forEach(function(m){switch(m){case 1:u.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top+l),B.bounds.width,1);break;case 2:u.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top),B.bounds.width,1);break;case 3:u.ctx.fillRect(B.bounds.left,Math.ceil(B.bounds.top+d),B.bounds.width,1);break}}));break;case 1:t.webkitTextStrokeWidth&&B.text.trim().length&&(u.ctx.strokeStyle=j(t.webkitTextStrokeColor),u.ctx.lineWidth=t.webkitTextStrokeWidth,u.ctx.lineJoin=window.chrome?"miter":"round",u.ctx.strokeText(B.text,B.bounds.left,B.bounds.top+l)),u.ctx.strokeStyle="",u.ctx.lineWidth=0,u.ctx.lineJoin="miter";break}})}),[2]})})},A.prototype.renderReplacedElement=function(e,t,n){if(n&&e.intrinsicWidth>0&&e.intrinsicHeight>0){var s=Fn(e),i=Cn(t);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(n,0,0,e.intrinsicWidth,e.intrinsicHeight,s.left,s.top,s.width,s.height),this.ctx.restore()}},A.prototype.renderNodeContent=function(e){return hA(this,void 0,void 0,function(){var t,n,s,i,o,a,F,F,l,d,h,u,H,f,B,y,w,v,m,F,E,H,y;return sA(this,function(U){switch(U.label){case 0:this.applyEffects(e.getEffects(4)),t=e.container,n=e.curves,s=t.styles,i=0,o=t.textNodes,U.label=1;case 1:return i<o.length?(a=o[i],[4,this.renderTextNode(a,s)]):[3,4];case 2:U.sent(),U.label=3;case 3:return i++,[3,1];case 4:if(!(t instanceof Sc))return[3,8];U.label=5;case 5:return U.trys.push([5,7,,8]),[4,this.context.cache.match(t.src)];case 6:return F=U.sent(),this.renderReplacedElement(t,n,F),[3,8];case 7:return U.sent(),this.context.logger.error("Error loading image "+t.src),[3,8];case 8:if(t instanceof Ic&&this.renderReplacedElement(t,n,t.canvas),!(t instanceof Tc))return[3,12];U.label=9;case 9:return U.trys.push([9,11,,12]),[4,this.context.cache.match(t.svg)];case 10:return F=U.sent(),this.renderReplacedElement(t,n,F),[3,12];case 11:return U.sent(),this.context.logger.error("Error loading svg "+t.svg.substring(0,255)),[3,12];case 12:return t instanceof Dc&&t.tree?(l=new A(this.context,{scale:this.options.scale,backgroundColor:t.backgroundColor,x:0,y:0,width:t.width,height:t.height}),[4,l.render(t.tree)]):[3,14];case 13:d=U.sent(),t.width&&t.height&&this.ctx.drawImage(d,0,0,t.width,t.height,t.bounds.left,t.bounds.top,t.bounds.width,t.bounds.height),U.label=14;case 14:if(t instanceof Xs&&(h=Math.min(t.bounds.width,t.bounds.height),t.type===dn?t.checked&&(this.ctx.save(),this.path([new S(t.bounds.left+h*.39363,t.bounds.top+h*.79),new S(t.bounds.left+h*.16,t.bounds.top+h*.5549),new S(t.bounds.left+h*.27347,t.bounds.top+h*.44071),new S(t.bounds.left+h*.39694,t.bounds.top+h*.5649),new S(t.bounds.left+h*.72983,t.bounds.top+h*.23),new S(t.bounds.left+h*.84,t.bounds.top+h*.34085),new S(t.bounds.left+h*.39363,t.bounds.top+h*.79)]),this.ctx.fillStyle=j(bc),this.ctx.fill(),this.ctx.restore()):t.type===un&&t.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(t.bounds.left+h/2,t.bounds.top+h/2,h/4,0,Math.PI*2,!0),this.ctx.fillStyle=j(bc),this.ctx.fill(),this.ctx.restore())),Ow(t)&&t.value.length){switch(u=this.createFontStyle(s),H=u[0],f=u[1],B=this.fontMetrics.getMetrics(H,f).baseline,this.ctx.font=H,this.ctx.fillStyle=j(s.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=Xw(t.styles.textAlign),y=Fn(t),w=0,t.styles.textAlign){case 1:w+=y.width/2;break;case 2:w+=y.width;break}v=y.add(w,0,0,-y.height/2+1),this.ctx.save(),this.path([new S(y.left,y.top),new S(y.left+y.width,y.top),new S(y.left+y.width,y.top+y.height),new S(y.left,y.top+y.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new ct(t.value,v),s.letterSpacing,B),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!q(t.styles.display,2048))return[3,20];if(t.styles.listStyleImage===null)return[3,19];if(m=t.styles.listStyleImage,m.type!==0)return[3,18];F=void 0,E=m.url,U.label=15;case 15:return U.trys.push([15,17,,18]),[4,this.context.cache.match(E)];case 16:return F=U.sent(),this.ctx.drawImage(F,t.bounds.left-(F.width+10),t.bounds.top),[3,18];case 17:return U.sent(),this.context.logger.error("Error loading list-style-image "+E),[3,18];case 18:return[3,20];case 19:e.listValue&&t.styles.listStyleType!==-1&&(H=this.createFontStyle(s)[0],this.ctx.font=H,this.ctx.fillStyle=j(s.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",y=new LA(t.bounds.left,t.bounds.top+k(t.styles.paddingTop,t.bounds.width),t.bounds.width,ac(s.lineHeight,s.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new ct(e.listValue,y),s.letterSpacing,ac(s.lineHeight,s.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),U.label=20;case 20:return[2]}})})},A.prototype.renderStackContent=function(e){return hA(this,void 0,void 0,function(){var t,n,m,s,i,m,o,a,m,l,d,m,h,u,m,f,B,m,w,v,m;return sA(this,function(F){switch(F.label){case 0:if(q(e.element.container.flags,16))debugger;return[4,this.renderNodeBackgroundAndBorders(e.element)];case 1:F.sent(),t=0,n=e.negativeZIndex,F.label=2;case 2:return t<n.length?(m=n[t],[4,this.renderStack(m)]):[3,5];case 3:F.sent(),F.label=4;case 4:return t++,[3,2];case 5:return[4,this.renderNodeContent(e.element)];case 6:F.sent(),s=0,i=e.nonInlineLevel,F.label=7;case 7:return s<i.length?(m=i[s],[4,this.renderNode(m)]):[3,10];case 8:F.sent(),F.label=9;case 9:return s++,[3,7];case 10:o=0,a=e.nonPositionedFloats,F.label=11;case 11:return o<a.length?(m=a[o],[4,this.renderStack(m)]):[3,14];case 12:F.sent(),F.label=13;case 13:return o++,[3,11];case 14:l=0,d=e.nonPositionedInlineLevel,F.label=15;case 15:return l<d.length?(m=d[l],[4,this.renderStack(m)]):[3,18];case 16:F.sent(),F.label=17;case 17:return l++,[3,15];case 18:h=0,u=e.inlineLevel,F.label=19;case 19:return h<u.length?(m=u[h],[4,this.renderNode(m)]):[3,22];case 20:F.sent(),F.label=21;case 21:return h++,[3,19];case 22:f=0,B=e.zeroOrAutoZIndexOrTransformedOrOpacity,F.label=23;case 23:return f<B.length?(m=B[f],[4,this.renderStack(m)]):[3,26];case 24:F.sent(),F.label=25;case 25:return f++,[3,23];case 26:w=0,v=e.positiveZIndex,F.label=27;case 27:return w<v.length?(m=v[w],[4,this.renderStack(m)]):[3,30];case 28:F.sent(),F.label=29;case 29:return w++,[3,27];case 30:return[2]}})})},A.prototype.mask=function(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()},A.prototype.path=function(e){this.ctx.beginPath(),this.formatPath(e),this.ctx.closePath()},A.prototype.formatPath=function(e){var t=this;e.forEach(function(n,s){var i=pA(n)?n.start:n;s===0?t.ctx.moveTo(i.x,i.y):t.ctx.lineTo(i.x,i.y),pA(n)&&t.ctx.bezierCurveTo(n.startControl.x,n.startControl.y,n.endControl.x,n.endControl.y,n.end.x,n.end.y)})},A.prototype.renderRepeat=function(e,t,n,s){this.path(e),this.ctx.fillStyle=t,this.ctx.translate(n,s),this.ctx.fill(),this.ctx.translate(-n,-s)},A.prototype.resizeImage=function(e,t,n){var s;if(e.width===t&&e.height===n)return e;var i=(s=this.canvas.ownerDocument)!==null&&s!==void 0?s:document,o=i.createElement("canvas");o.width=Math.max(1,t),o.height=Math.max(1,n);var a=o.getContext("2d");return a.drawImage(e,0,0,e.width,e.height,0,0,t,n),o},A.prototype.renderBackgroundImage=function(e){return hA(this,void 0,void 0,function(){var t,n,s,i,o,a;return sA(this,function(l){switch(l.label){case 0:t=e.styles.backgroundImage.length-1,n=function(d){var h,u,f,W,lA,cA,G,O,R,B,W,lA,cA,G,O,w,v,m,F,E,H,y,U,D,R,L,W,oA,aA,G,O,SA,lA,cA,xA,IA,YA,he,ge,PA,Be,KA;return sA(this,function(Ke){switch(Ke.label){case 0:if(d.type!==0)return[3,5];h=void 0,u=d.url,Ke.label=1;case 1:return Ke.trys.push([1,3,,4]),[4,s.context.cache.match(u)];case 2:return h=Ke.sent(),[3,4];case 3:return Ke.sent(),s.context.logger.error("Error loading background-image "+u),[3,4];case 4:return h&&(f=ri(e,t,[h.width,h.height,h.width/h.height]),W=f[0],lA=f[1],cA=f[2],G=f[3],O=f[4],R=s.ctx.createPattern(s.resizeImage(h,G,O),"repeat"),s.renderRepeat(W,R,lA,cA)),[3,6];case 5:Ig(d)?(B=ri(e,t,[null,null,null]),W=B[0],lA=B[1],cA=B[2],G=B[3],O=B[4],w=Qg(d.angle,G,O),v=w[0],m=w[1],F=w[2],E=w[3],H=w[4],y=document.createElement("canvas"),y.width=G,y.height=O,U=y.getContext("2d"),D=U.createLinearGradient(m,E,F,H),Zl(d.stops,v).forEach(function(Fr){return D.addColorStop(Fr.stop,j(Fr.color))}),U.fillStyle=D,U.fillRect(0,0,G,O),G>0&&O>0&&(R=s.ctx.createPattern(y,"repeat"),s.renderRepeat(W,R,lA,cA))):Tg(d)&&(L=ri(e,t,[null,null,null]),W=L[0],oA=L[1],aA=L[2],G=L[3],O=L[4],SA=d.position.length===0?[Ts]:d.position,lA=k(SA[0],G),cA=k(SA[SA.length-1],O),xA=Ug(d,lA,cA,G,O),IA=xA[0],YA=xA[1],IA>0&&YA>0&&(he=s.ctx.createRadialGradient(oA+lA,aA+cA,0,oA+lA,aA+cA,IA),Zl(d.stops,IA*2).forEach(function(Fr){return he.addColorStop(Fr.stop,j(Fr.color))}),s.path(W),s.ctx.fillStyle=he,IA!==YA?(ge=e.bounds.left+.5*e.bounds.width,PA=e.bounds.top+.5*e.bounds.height,Be=YA/IA,KA=1/Be,s.ctx.save(),s.ctx.translate(ge,PA),s.ctx.transform(1,0,0,Be,0,0),s.ctx.translate(-ge,-PA),s.ctx.fillRect(oA,KA*(aA-PA)+PA,G,O*KA),s.ctx.restore()):s.ctx.fill())),Ke.label=6;case 6:return t--,[2]}})},s=this,i=0,o=e.styles.backgroundImage.slice(0).reverse(),l.label=1;case 1:return i<o.length?(a=o[i],[5,n(a)]):[3,4];case 2:l.sent(),l.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},A.prototype.renderSolidBorder=function(e,t,n){return hA(this,void 0,void 0,function(){return sA(this,function(s){return this.path(id(n,t)),this.ctx.fillStyle=j(e),this.ctx.fill(),[2]})})},A.prototype.renderDoubleBorder=function(e,t,n,s){return hA(this,void 0,void 0,function(){var i,o;return sA(this,function(a){switch(a.label){case 0:return t<3?[4,this.renderSolidBorder(e,n,s)]:[3,2];case 1:return a.sent(),[2];case 2:return i=Mw(s,n),this.path(i),this.ctx.fillStyle=j(e),this.ctx.fill(),o=Dw(s,n),this.path(o),this.ctx.fill(),[2]}})})},A.prototype.renderNodeBackgroundAndBorders=function(e){return hA(this,void 0,void 0,function(){var t,n,s,i,o,a,l,d,h=this;return sA(this,function(u){switch(u.label){case 0:return this.applyEffects(e.getEffects(2)),t=e.container.styles,n=!WA(t.backgroundColor)||t.backgroundImage.length,s=[{style:t.borderTopStyle,color:t.borderTopColor,width:t.borderTopWidth},{style:t.borderRightStyle,color:t.borderRightColor,width:t.borderRightWidth},{style:t.borderBottomStyle,color:t.borderBottomColor,width:t.borderBottomWidth},{style:t.borderLeftStyle,color:t.borderLeftColor,width:t.borderLeftWidth}],i=Ww(be(t.backgroundClip,0),e.curves),n||t.boxShadow.length?(this.ctx.save(),this.path(i),this.ctx.clip(),WA(t.backgroundColor)||(this.ctx.fillStyle=j(t.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(e.container)]):[3,2];case 1:u.sent(),this.ctx.restore(),t.boxShadow.slice(0).reverse().forEach(function(f){h.ctx.save();var B=pn(e.curves),w=f.inset?0:_w,v=bw(B,-w+(f.inset?1:-1)*f.spread.number,(f.inset?1:-1)*f.spread.number,f.spread.number*(f.inset?-2:2),f.spread.number*(f.inset?-2:2));f.inset?(h.path(B),h.ctx.clip(),h.mask(v)):(h.mask(B),h.ctx.clip(),h.path(v)),h.ctx.shadowOffsetX=f.offsetX.number+w,h.ctx.shadowOffsetY=f.offsetY.number,h.ctx.shadowColor=j(f.color),h.ctx.shadowBlur=f.blur.number,h.ctx.fillStyle=f.inset?j(f.color):"rgba(0,0,0,1)",h.ctx.fill(),h.ctx.restore()}),u.label=2;case 2:o=0,a=0,l=s,u.label=3;case 3:return a<l.length?(d=l[a],d.style!==0&&!WA(d.color)&&d.width>0?d.style!==2?[3,5]:[4,this.renderDashedDottedBorder(d.color,d.width,o,e.curves,2)]:[3,11]):[3,13];case 4:return u.sent(),[3,11];case 5:return d.style!==3?[3,7]:[4,this.renderDashedDottedBorder(d.color,d.width,o,e.curves,3)];case 6:return u.sent(),[3,11];case 7:return d.style!==4?[3,9]:[4,this.renderDoubleBorder(d.color,d.width,o,e.curves)];case 8:return u.sent(),[3,11];case 9:return[4,this.renderSolidBorder(d.color,o,e.curves)];case 10:u.sent(),u.label=11;case 11:o++,u.label=12;case 12:return a++,[3,3];case 13:return[2]}})})},A.prototype.renderDashedDottedBorder=function(e,t,n,s,i){return hA(this,void 0,void 0,function(){var o,a,l,d,h,u,f,B,w,v,m,F,E,H,y,U,y,U;return sA(this,function(D){return this.ctx.save(),o=Rw(s,n),a=id(s,n),i===2&&(this.path(a),this.ctx.clip()),pA(a[0])?(l=a[0].start.x,d=a[0].start.y):(l=a[0].x,d=a[0].y),pA(a[1])?(h=a[1].end.x,u=a[1].end.y):(h=a[1].x,u=a[1].y),n===0||n===2?f=Math.abs(l-h):f=Math.abs(d-u),this.ctx.beginPath(),i===3?this.formatPath(o):this.formatPath(a.slice(0,2)),B=t<3?t*3:t*2,w=t<3?t*2:t,i===3&&(B=t,w=t),v=!0,f<=B*2?v=!1:f<=B*2+w?(m=f/(2*B+w),B*=m,w*=m):(F=Math.floor((f+w)/(B+w)),E=(f-F*B)/(F-1),H=(f-(F+1)*B)/F,w=H<=0||Math.abs(w-E)<Math.abs(w-H)?E:H),v&&(i===3?this.ctx.setLineDash([0,B+w]):this.ctx.setLineDash([B,w])),i===3?(this.ctx.lineCap="round",this.ctx.lineWidth=t):this.ctx.lineWidth=t*2+1.1,this.ctx.strokeStyle=j(e),this.ctx.stroke(),this.ctx.setLineDash([]),i===2&&(pA(a[0])&&(y=a[3],U=a[0],this.ctx.beginPath(),this.formatPath([new S(y.end.x,y.end.y),new S(U.start.x,U.start.y)]),this.ctx.stroke()),pA(a[1])&&(y=a[1],U=a[2],this.ctx.beginPath(),this.formatPath([new S(y.end.x,y.end.y),new S(U.start.x,U.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},A.prototype.render=function(e){return hA(this,void 0,void 0,function(){var t;return sA(this,function(n){switch(n.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=j(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),t=Lw(e),[4,this.renderStack(t)];case 1:return n.sent(),this.applyEffects([]),[2,this.canvas]}})})},A})(ld),Ow=function(r){return r instanceof Mc||r instanceof Lc?!0:r instanceof Xs&&r.type!==un&&r.type!==dn},Ww=function(r,A){switch(r){case 0:return pn(A);case 2:return yw(A);case 1:default:return Cn(A)}},Xw=function(r){switch(r){case 1:return"center";case 2:return"right";case 0:default:return"left"}},Jw=["-apple-system","system-ui"],zw=function(r){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?r.filter(function(A){return Jw.indexOf(A)===-1}):r},Yw=(function(r){mA(A,r);function A(e,t){var n=r.call(this,e,t)||this;return n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=t,n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+t.width+"x"+t.height+" at "+t.x+","+t.y+") with scale "+t.scale),n}return A.prototype.render=function(e){return hA(this,void 0,void 0,function(){var t,n;return sA(this,function(s){switch(s.label){case 0:return t=Vs(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e),[4,$w(t)];case 1:return n=s.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=j(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(n,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},A})(ld),$w=function(r){return new Promise(function(A,e){var t=new Image;t.onload=function(){A(t)},t.onerror=e,t.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(r))})},Zw=(function(){function r(A){var e=A.id,t=A.enabled;this.id=e,this.enabled=t,this.start=Date.now()}return r.prototype.debug=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.debug=="function"?console.debug.apply(console,Hr([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.prototype.getTime=function(){return Date.now()-this.start},r.prototype.info=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&typeof window<"u"&&window.console&&typeof console.info=="function"&&console.info.apply(console,Hr([this.id,this.getTime()+"ms"],A))},r.prototype.warn=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.warn=="function"?console.warn.apply(console,Hr([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.prototype.error=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.error=="function"?console.error.apply(console,Hr([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.instances={},r})(),qw=(function(){function r(A,e){var t;this.windowBounds=e,this.instanceName="#"+r.instanceCount++,this.logger=new Zw({id:this.instanceName,enabled:A.logging}),this.cache=(t=A.cache)!==null&&t!==void 0?t:new pw(this,A)}return r.instanceCount=1,r})(),jw=function(r,A){return A===void 0&&(A={}),Ap(r,A)};typeof window<"u"&&Ad.setContext(window);var Ap=function(r,A){return hA(void 0,void 0,void 0,function(){var e,t,n,s,i,o,a,l,d,h,u,f,B,w,v,m,F,E,H,y,D,U,D,R,L,W,oA,aA,G,O,SA,lA,cA,xA,IA,YA,he,ge,PA,Be;return sA(this,function(KA){switch(KA.label){case 0:if(!r||typeof r!="object")return[2,Promise.reject("Invalid element provided as first argument")];if(e=r.ownerDocument,!e)throw new Error("Element is not attached to a Document");if(t=e.defaultView,!t)throw new Error("Document is not attached to a Window");return n={allowTaint:(R=A.allowTaint)!==null&&R!==void 0?R:!1,imageTimeout:(L=A.imageTimeout)!==null&&L!==void 0?L:15e3,proxy:A.proxy,useCORS:(W=A.useCORS)!==null&&W!==void 0?W:!1},s=as({logging:(oA=A.logging)!==null&&oA!==void 0?oA:!0,cache:A.cache},n),i={windowWidth:(aA=A.windowWidth)!==null&&aA!==void 0?aA:t.innerWidth,windowHeight:(G=A.windowHeight)!==null&&G!==void 0?G:t.innerHeight,scrollX:(O=A.scrollX)!==null&&O!==void 0?O:t.pageXOffset,scrollY:(SA=A.scrollY)!==null&&SA!==void 0?SA:t.pageYOffset},o=new LA(i.scrollX,i.scrollY,i.windowWidth,i.windowHeight),a=new qw(s,o),l=(lA=A.foreignObjectRendering)!==null&&lA!==void 0?lA:!1,d={allowTaint:(cA=A.allowTaint)!==null&&cA!==void 0?cA:!1,onclone:A.onclone,ignoreElements:A.ignoreElements,inlineImages:l,copyStyles:l},a.logger.debug("Starting document clone with size "+o.width+"x"+o.height+" scrolled to "+-o.left+","+-o.top),h=new qc(a,r,d),u=h.clonedReferenceElement,u?[4,h.toIFrame(e,o)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return f=KA.sent(),B=zs(u)||ew(u)?Hu(u.ownerDocument):br(a,u),w=B.width,v=B.height,m=B.left,F=B.top,E=ep(a,u,A.backgroundColor),H={canvas:A.canvas,backgroundColor:E,scale:(IA=(xA=A.scale)!==null&&xA!==void 0?xA:t.devicePixelRatio)!==null&&IA!==void 0?IA:1,x:((YA=A.x)!==null&&YA!==void 0?YA:0)+m,y:((he=A.y)!==null&&he!==void 0?he:0)+F,width:(ge=A.width)!==null&&ge!==void 0?ge:Math.ceil(w),height:(PA=A.height)!==null&&PA!==void 0?PA:Math.ceil(v)},l?(a.logger.debug("Document cloned, using foreign object rendering"),D=new Yw(a,H),[4,D.render(u)]):[3,3];case 2:return y=KA.sent(),[3,5];case 3:return a.logger.debug("Document cloned, element located at "+m+","+F+" with size "+w+"x"+v+" using computed rendering"),a.logger.debug("Starting DOM parsing"),U=xc(a,u),E===U.styles.backgroundColor&&(U.styles.backgroundColor=DA.TRANSPARENT),a.logger.debug("Starting renderer for element at "+H.x+","+H.y+" with size "+H.width+"x"+H.height),D=new Vw(a,H),[4,D.render(U)];case 4:y=KA.sent(),KA.label=5;case 5:return(!((Be=A.removeContainer)!==null&&Be!==void 0)||Be)&&(qc.destroy(f)||a.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),a.logger.debug("Finished rendering"),[2,y]}})})},ep=function(r,A,e){var t=A.ownerDocument,n=t.documentElement?ot(r,getComputedStyle(t.documentElement).backgroundColor):DA.TRANSPARENT,s=t.body?ot(r,getComputedStyle(t.body).backgroundColor):DA.TRANSPARENT,i=typeof e=="string"?ot(r,e):e===null?DA.TRANSPARENT:4294967295;return A===t.documentElement?WA(n)?WA(s)?i:s:n:i};const Dt=class Dt extends c.EngineObject{constructor(A,e){super(A,e),this.ad(new c.ObjResettingWithEvent(A.renderInUEChanged,()=>A.renderInUE?new dd(A,e):new cd(A,e)))}};p(Dt,"type",Dt.register("ESUeViewer",c.ESGeoDiv.type,Dt));let ni=Dt;class cd extends c.Destroyable{constructor(e,t){super();p(this,"_screenPosition",this.disposeVar(c.reactArrayWithUndefined(void 0)));const n=t.viewer;if(!n){console.warn("viewer is undefined!");return}const s=this.disposeVar(new c.ESTextLabel);s.parentID=e.id,this.ad(e.components.disposableAdd(s,!0)),s.show=!1,this.dispose(c.bind([s,"position"],[e,"position"])),this.dispose(c.bind([s,"rotation"],[e,"rotation"])),this.dispose(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.dispose(c.bind([s,"flyInParam"],[e,"flyInParam"])),this.dispose(e.calcFlyToParamEvent.disposableOn(()=>{$A(n,s.id)})),this.dispose(e.calcFlyInParamEvent.disposableOn(async()=>{if(!t.actived)return;const a=await t.getCurrentCameraInfo();if(!a)return;const{position:l,rotation:d}=a;e.flyInParam={position:l,rotation:d,flyDuration:1}})),this.dispose(e.smoothMoveEvent.disposableOn((a,l)=>{Ve(n,s.id,a,l)})),this.dispose(e.smoothMoveWithRotationEvent.disposableOn((a,l,d)=>{Ne(n,s.id,a,l,d)})),this.dispose(e.smoothMoveOnGroundEvent.disposableOn((a,l,d,h)=>{ke(n,s.id,a,l,h,d)})),this.dispose(e.smoothMoveWithRotationOnGroundEvent.disposableOn((a,l,d,h,u)=>{_e(n,s.id,a,l,d,h,u)})),this.dispose(e.flyToEvent.disposableOn((a,l)=>{s.flyTo(a)})),this.dispose(e.flyInEvent.don(a=>{s.flyIn(a)}));const i=this._screenPosition,o=this.disposeVar(new c.ESCustomDiv);o.parentID=e.id,t.add(o),this.dispose(()=>t.delete(o)),this.dispose(c.bind([o,"allowPicking"],[e,"allowPicking"]));{const a=this.disposeVar(c.createAnimateFrame()),l=()=>{e.show?a.restart(void 0,async()=>{if(!e.position)return;const d=await t.lonLatAltToScreenPosition(e.position);if(!this.isDestroyed())if(!d)this._screenPosition.value=void 0;else{const[h,u]=d;h===-1&&u===-1?this._screenPosition.value=void 0:this._screenPosition.value=[h,u]}}):a.cancel()};l(),this.dispose(e.showChanged.disposableOn(l))}{const a=()=>class extends c.Destroyable{constructor(u,f,B){if(super(),this._subContainer=u,!B)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const w=new c.PosFloatDiv,v=w.element;this._subContainer.appendChild(v),this.dispose(()=>this._subContainer.removeChild(v)),v.onclick=m=>{(e.allowPicking??!1)&&e.pickedEvent.emit(new c.ESJPickedResult({div:v,pointerEvent:m},e,void 0,void 0,void 0,[m.x,m.y]))};{const m=()=>{e.editing?v.children[0].style.pointerEvents="none":v.children[0].style.pointerEvents="all"};m(),this.d(e.editingChanged.don(m))}{const m=()=>{let E=e.show;if(!E)w.show=E,w.winPos=[0,0];else if(i.value){const H=t.getCurrentCameraInfo(),y=c.getDistancesFromPositions([e.position,H.position],"NONE")[0];e.minVisibleDistance<e.maxVisibleDistance?E=e.minVisibleDistance<y&&y<e.maxVisibleDistance:e.maxVisibleDistance==0&&(E=y>e.minVisibleDistance),w.show=E,w.winPos=[...i.value]}};m();const F=this.disposeVar(c.createNextAnimateFrameEvent(e.showChanged,i.changed,t.cameraChanged,e.maxVisibleDistanceChanged,e.minVisibleDistanceChanged));this.dispose(F.disposableOn(m))}{const m=()=>{const[F,E]=e.anchor??c.ESGeoDiv.defaults.anchor;w.originRatioX=F,w.originRatioY=E};m(),this.dispose(e.anchorChanged.disposableOn(m))}{const m=()=>{w.opacity=e.opacity??c.ESGeoDiv.defaults.opacity};m(),this.dispose(e.opacityChanged.disposableOn(m))}this.disposeVar(new e.instanceClass(w.contentDiv,e,B))}},l=()=>{try{e.instanceClass?o.instanceClass=a():o.instanceClass=void 0}catch(h){console.error(h)}};l();const d=this.dv(c.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged,e.anchorChanged,e.editingChanged,e.showChanged,e.allowPickingChanged));this.d(d.don(l))}}get screenPosition(){return this._screenPosition.value}get screenPositionChanged(){return this._screenPosition.changed}set screenPosition(e){this._screenPosition.value=e}}class dd extends c.Destroyable{constructor(e,t){super();p(this,"_imageLabel");p(this,"_hasClassDivAndPos",{});this._imageLabel=this.dv(new c.ESImageLabel),this._imageLabel.isHoverZoom=!1,this._imageLabel.parentID=e.id;const n=t.viewer;if(!n){console.warn("viewer is undefined!");return}const s=this._imageLabel;this.ad(e.components.disposableAdd(s,!0));{const i=()=>{if(!n)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const l=document.createElement("div"),d=this.dv(new e.instanceClass(l,e,t))._container;if(d.style.opacity=e.opacity.toString()??c.ESGeoDiv.defaults.opacity,d.style.position="fixed",d.style.zIndex="-1",d.style.top="0px",!document.body.contains(d)){document.body.appendChild(d);let u=d?d.querySelectorAll("*[class]"):[];for(let f=0;f<u.length;f++){const B=u[f];var h=B.getBoundingClientRect();this._hasClassDivAndPos[B.className]=[B.offsetLeft,B.offsetTop,B.offsetLeft+h.width,B.offsetTop+h.height]}}jw(d,{backgroundColor:null,allowTaint:!0,useCORS:!0,width:d.offsetWidth,height:d.offsetHeight,scale:1}).then(u=>{document.body.contains(d)&&document.body.removeChild(d),s.url=u.toDataURL(),s.show=e.show}).catch(()=>{document.body.contains(d)&&document.body.removeChild(d)})},o=()=>{try{e.instanceClass?i():(s.url="",s.show=!1)}catch(l){console.error(l)}};o();const a=this.dv(c.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged));this.d(a.don(o))}{const i=()=>{s.show=e.show};s.show=!1,this.ad(e.showChanged.don(i))}this.d(c.track([s,"anchor"],[e,"anchor"])),this.d(c.bind([s,"position"],[e,"position"])),this.d(c.bind([s,"rotation"],[e,"rotation"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.bind([s,"flyInParam"],[e,"flyInParam"])),this.d(c.bind([s,"allowPicking"],[e,"allowPicking"])),this.d(c.bind([s,"scale"],[e,"scale"])),this.d(c.track([s,"minVisibleDistance"],[e,"minVisibleDistance"])),this.d(c.track([s,"maxVisibleDistance"],[e,"maxVisibleDistance"])),this.ad(e.automaticLandingEvent.don(()=>{s.automaticLanding()})),this.d(t.widgetEvent.don(i=>{if(i.objId!==this._imageLabel.id)return;const{type:o,add:a}=i;if(o==="leftClick"&&a){const l=(a==null?void 0:a.classNames)??[],d=Object.keys(this._hasClassDivAndPos);for(let h=0;h<d.length;h++){const u=d[h];let f=this._hasClassDivAndPos[u];a&&a.mouseRelativePos&&a.mouseRelativePos[0]>=f[0]&&a.mouseRelativePos[0]<=f[2]&&a.mouseRelativePos[1]>=f[1]&&a.mouseRelativePos[1]<=f[3]&&l.push(u)}a.classNames=l}e.widgetEvent.emit({type:o,add:a})})),this.d(e.calcFlyToParamEvent.don(()=>{$A(n,s.id)})),this.d(e.calcFlyInParamEvent.don(()=>{const i=t.getCurrentCameraInfo();if(!i)return;const{position:o,rotation:a}=i;e.flyInParam={position:o,rotation:a,flyDuration:1}})),this.d(e.smoothMoveEvent.don((i,o)=>{Ve(n,s.id,i,o)})),this.d(e.smoothMoveWithRotationEvent.don((i,o,a)=>{Ne(n,s.id,i,o,a)})),this.d(e.smoothMoveOnGroundEvent.don((i,o,a,l)=>{ke(n,s.id,i,o,l,a)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((i,o,a,l,d)=>{_e(n,s.id,i,o,a,l,d)})),this.d(e.flyToEvent.don((i,o)=>{s.flyTo(i)})),this.d(e.flyInEvent.don(i=>{s.flyIn(i)}))}}const oe=class oe extends Y{constructor(e,t){super(e,t);p(this,"_featureStyle",this.disposeVar(c.react([])));const n=t.viewer;if(!n){console.warn("viewer is undefined!");return}this.d(e.flyToFeatureIndexEvent.don((s,i)=>{n.callUeFunc({f:"flyToFeatureIndex",p:{id:e.id,index:s,duration:i}})})),this.d(e.flyToFeatureEvent.don((s,i,o)=>{n.callUeFunc({f:"flyToFeature",p:{id:e.id,key:s,value:i,duration:o}})})),this.ad(e.setFeatureStyleEvent.don((s,i)=>{this.featureStyle=i?[...this.featureStyle,...s]:s,n.callUeFunc({f:"setFeatureStyle",p:{id:e.id,json:this.featureStyle}})})),this.ad(e.resetFeatureStyleEvent.don(()=>{n.callUeFunc({f:"resetFeatureStyle",p:{id:e.id}})}))}get featureStyle(){return this._featureStyle.value}set featureStyle(e){this._featureStyle.value=e}get featureStyleChanged(){return this._featureStyle.changed}};p(oe,"type",oe.register("ESUeViewer",c.ESGeoJson.type,oe)),p(oe,"forceUeUpdateProps",[...Y.forceUeUpdateProps,"url"]),p(oe,"propValFuncs",{...Y.propValFuncs,url:e=>typeof e=="string"?c.ESSceneObject.context.getStrFromEnv(e):e});let si=oe;const Rt=class Rt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Rt,"type",Rt.register("ESUeViewer",c.ESGeoLineString.type,Rt));let Un=Rt;const xt=class xt extends nA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(xt,"type",xt.register("ESUeViewer",c.ESGeoPolygonWithFire.type,xt));let ii=xt;const Pt=class Pt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Pt,"type",Pt.register("ESUeViewer",c.ESGeoRectangle.type,Pt));let oi=Pt;const Kt=class Kt extends nA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Kt,"type",Kt.register("ESUeViewer",c.ESGeoWater.type,Kt));let ai=Kt;const ae=class ae extends P{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.setNodePositionEvent.don((n,s)=>{uo(t,A.id,n,s)})),this.d(A.setNodeRotationEvent.don((n,s)=>{ho(t,A.id,n,s)})),this.d(A.setNodeScaleEvent.don((n,s)=>{go(t,A.id,n,s)}))}};p(ae,"forceUeUpdateProps",[...P.forceUeUpdateProps,"url"]),p(ae,"propValFuncs",{...P.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(c.rpToap(A)):(A.url=c.ESSceneObject.context.getStrFromEnv(c.rpToap(A.url)),A),czmMaximumScale:null,czmMinimumPixelSize:null,czmNativeScale:null,czmColor:null}),p(ae,"type",ae.register("ESUeViewer",c.ESGltfModel.type,ae));let li=ae;const Gt=class Gt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Gt,"type",Gt.register("ESUeViewer",c.ESHeightMeasurement.type,Gt));let ci=Gt;const Nt=class Nt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=async(i,o,a,l)=>{const{viewer:d}=i;if(!d){console.error("AIMoveTo: ueViewer.viewer is undefined");return}const h=await d.callUeFunc({f:"AIMoveTo",p:{id:o,Destination:a,Time:l}});return h.error&&console.error("AIMoveTo:",h.error),h};this.d(A.aiMoveToEvent.don((i,o)=>{n(e,A.id,i,o)}));const s=async(i,o)=>{const{viewer:a}=i;if(!a){console.error("StopAIMove: ueViewer.viewer is undefined");return}const l=await a.callUeFunc({f:"StopAIMove",p:{id:o}});return l.error&&console.error("StopAIMove:",l.error),l};this.d(A.stopAIMoveEvent.don(()=>{s(e,A.id)}))}};p(Nt,"type",Nt.register("ESUeViewer",c.ESHuman.type,Nt));let di=Nt;const le=class le extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}A.anchor=[.5,1]}};p(le,"type",le.register("ESUeViewer",c.ESImageLabel.type,le)),p(le,"forceUeUpdateProps",[...QA.forceUeUpdateProps,"url"]),p(le,"propValFuncs",{...QA.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(c.rpToap(A)):(A.url=c.ESSceneObject.context.getStrFromEnv(c.rpToap(A.url)),A)});let ui=le;const kt=class kt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(kt,"type",kt.register("ESUeViewer",c.ESLevelRuntimeModel.type,kt));let hi=kt;const _t=class _t extends Sr{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(_t,"type",_t.register("ESUeViewer",c.ESLocalCircle.type,_t));let gi=_t;const Vt=class Vt extends Y{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Vt,"type",Vt.register("ESUeViewer",c.ESLocalPolygonZ.type,Vt));let Bi=Vt;const Ot=class Ot extends Sr{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Ot,"type",Ot.register("ESUeViewer",c.ESLocalRectangle.type,Ot));let fi=Ot;const Wt=class Wt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Wt,"type",Wt.register("ESUeViewer",c.ESLocalSkyBox.type,Wt));let wi=Wt;const Xt=class Xt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Xt,"type",Xt.register("ESUeViewer",c.ESLocationMeasurement.type,Xt));let pi=Xt;const Jt=class Jt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Jt,"type",Jt.register("ESUeViewer",c.ESPipeFence.type,Jt));let Ci=Jt;const zt=class zt extends Un{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(zt,"type",zt.register("ESUeViewer",c.ESPipeline.type,zt));let vi=zt;const Yt=class Yt extends Ir{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.highlightFeatureEvent.don(n=>{const s=typeof n=="number"?n.toString():n;oo(t,A.id,s)})),this.d(A.highlightFeatureAndFlyToEvent.don((n,s,i,o)=>{const a=typeof n=="number"?n.toString():n;ao(t,A.id,a,o??1)})),this.d(A.setLayerVisibleEvent.don((n,s)=>{let i="";typeof s!="string"?i=JSON.stringify(s):i=s,lo(t,A.id,i)})),this.d(A.setLayerColorEvent.don((n,s)=>{let i="";typeof s!="string"?i=JSON.stringify(s):i=s,co(t,A.id,i)}))}};p(Yt,"type",Yt.register("ESUeViewer",c.ESPipeserTileset.type,Yt));let mi=Yt;const $t=class $t extends nA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p($t,"type",$t.register("ESUeViewer",c.ESPit.type,$t));let Fi=$t;const Zt=class Zt extends QA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.ad(A.getInitialStyleEvent.don(async()=>{try{const n=await t.callUeFunc({f:"GetInitialStyle",p:{id:A.id}});n.error!=""&&console.error("getInitialStyleEvent:",n.error),A.initialStyle.value=structuredClone(n.re)}catch(n){console.error("getInitialStyleEvent:",n),A.initialStyle.value=void 0}}))}};p(Zt,"type",Zt.register("ESUeViewer",c.ESPoi2D.type,Zt));let Qi=Zt;const qt=class qt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(qt,"type",qt.register("ESUeViewer",c.ESPoi3D.type,qt));let Ui=qt;const ce=class ce extends Y{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ce,"type",ce.register("ESUeViewer",c.ESPoiTileset.type,ce)),p(ce,"forceUeUpdateProps",[...Y.forceUeUpdateProps,"url"]),p(ce,"propValFuncs",{...Y.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(A):(A.url=c.ESSceneObject.context.getStrFromEnv(A.url),A)});let Ei=ce;const jt=class jt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(jt,"type",jt.register("ESUeViewer",c.ESPolygonFence.type,jt));let yi=jt;const Re=class Re extends nA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Re,"type",Re.register("ESUeViewer",c.ESPolygonFlattenedPlane.type,Re)),p(Re,"propValFuncs",{...nA.propValFuncs,targetID:A=>{if(!A)return"";const e=c.ESSceneObject.getSceneObject(A);return e?(e.components.main??e).id:A}});let Si=Re;const Ar=class Ar extends nA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Ar,"type",Ar.register("ESUeViewer",c.ESPolygonWithHole.type,Ar));let Ii=Ar;const er=class er extends jA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(()=>{A.ids=[]}),this.d(A.highlightInner3DtilesetEvent.don(n=>{n.highlight=!0})),this.d(A.removeHighlightInner3DtilesetEvent.don(n=>{n.highlight=!1}));{const n=o=>{o=o.toLocaleLowerCase();let a=[255,255,255,1];if(o.startsWith("#")){if(o.length===4){let l=parseInt(o[1]+o[1],16),d=parseInt(o[2]+o[2],16),h=parseInt(o[3]+o[3],16);a=[l,d,h,1]}else if(o.length===7){let l=parseInt(o.substring(1,3),16),d=parseInt(o.substring(3,5),16),h=parseInt(o.substring(5,7),16);a=[l,d,h,1]}}else if(o.startsWith("rgba")){let l=o.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/);if(l){let d=parseInt(l[1]),h=parseInt(l[2]),u=parseInt(l[3]),f=parseFloat(l[4]);a=[d,h,u,f]}}else if(o.startsWith("rgb")){let l=o.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);if(l){let d=parseInt(l[1]),h=parseInt(l[2]),u=parseInt(l[3]);a=[d,h,u,1]}}else console.error("color类型只能为#rrggbb、#rgb、rgba(r,g,b,a)、rgb(r,g,b)");return[a[0]/255,a[1]/255,a[2]/255,a[3]]},s=()=>{const o=A.layerConfig;if(!o)return;const a=[];o.forEach(l=>{a.push({condition:[{field:"layer",op:"==",value:l.layer}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible})}),A.setFeatureStyle(a)};s();const i=this.dv(c.createNextAnimateFrameEvent(A.layerConfigChanged,A.colorBlendModeChanged));this.d(i.don(()=>{s()}))}}};p(er,"type",er.register("ESUeViewer",c.ESRtsTileset.type,er));let Ti=er;const tr=class tr extends Y{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(A.addTreesEvent.don(n=>{c.addTreesCallFunc(e,A.id,n)})),this.d(A.removeAllTreesEvent.don(()=>{c.removeAllTreesCallFunc(e,A.id)})),this.d(A.updateTreeParamsEvent.don(n=>{c.updateTreeParamsCallFunc(e,A.id,n)})),this.d(A.cutDownTreesEvent.don((n,s)=>{c.cutDownTreesCallFunc(e,A.id,n,s)})),this.d(A.growthSimulationEvent.don((n,s,i)=>{c.growthSimulationCallFunc(e,A.id,n,s,i)}))}};p(tr,"type",tr.register("ESUeViewer",c.ESSeparateFoliage.type,tr));let Hi=tr;const rr=class rr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(rr,"type",rr.register("ESUeViewer",c.ESSubmergingAnalysis.type,rr));let bi=rr;const nr=class nr extends nA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.stopEvent.don(()=>{t.callUeFunc({f:"Stop",p:{id:A.id}})}))}};p(nr,"type",nr.register("ESUeViewer",c.ESSunshineAnalysis.type,nr));let Li=nr;const sr=class sr extends nA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})}))}};p(sr,"type",sr.register("ESUeViewer",c.ESSurfaceAreaMeasurement.type,sr));let Mi=sr;const ir=class ir extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ir,"type",ir.register("ESUeViewer",c.ESTextLabel.type,ir));let Di=ir;const xe=class xe extends QA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.callFunctionEvent.don(async(n,s)=>{const i=await In(t,A.id,n,s);A.__callFunctionResultEvent.emit(i)}))}};p(xe,"type",xe.register("ESUeViewer",c.ESUEWidget.type,xe)),p(xe,"propValFuncs",{...QA.propValFuncs,info:A=>JSON.stringify(A??{})});let Ri=xe;const ud=r=>{switch(r){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"未搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是场景原有的,而是新建的,无法绑定";case 4:return"搜索到ActorTag对应的Actor是地形或3DTileset,无法绑定";default:return"未知错误"}},tp=r=>{switch(r){case 0:return"创建成功";case 1:return"未找到对应的资源,无法创建";case 2:return"Id与场景中现有的ActorTag重复,创建后可能出现问题,创建失败";default:return"未知错误"}},or=class or extends c.EngineObject{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn(`${A.id} UeESUnrealActor viewer is undefined!`);return}this.d(()=>{yn(t,A.id)});const n=async()=>{l()||await t.callUeFunc({f:"update",p:{id:A.id,name:A.name,show:A.show,rotation:A.rotation,flyToParam:A.flyToParam??c.ESUnrealActor.defaultFlyToParam,flyInParam:A.flyInParam??c.ESUnrealActor.defaultFlyInParam,highlight:A.highlight,collision:A.collision,scale:A.scale,minVisibleDistance:A.minVisibleDistance,maxVisibleDistance:A.maxVisibleDistance}})},s=this.dv(c.createNextAnimateFrameEvent(A.showChanged,A.nameChanged,A.rotationChanged,A.flyToParamChanged,A.flyInParamChanged,A.highlightChanged,A.collisionChanged,A.scaleChanged,A.minVisibleDistanceChanged,A.maxVisibleDistanceChanged));this.d(s.don(n)),this.d(A.flushEvent.don(()=>s.flush()));let i,o;const a=async()=>{l()||(await t.callUeFunc({f:"update",p:{id:A.id,position:A.position}}),(e.debug??!1)&&console.log(`updatePostion:${A.position},actorTag:${A.actorTag},actorClass:${A.actorClass}`))},l=()=>!i&&!o?(console.warn(`${A.id} 未绑定ActorTag或未创建ActorClass!`),!0):!1,d=async()=>{const{id:u}=A,f=await e.unBindActorByID(u);f&&f.error!==""&&console.warn(`${A.id} UeESUnrealActor UnBindActorByID: ${f.error}`),i=void 0;const B=await t.callUeFunc({f:"destroy",p:{id:u}});if(B&&B.error!==""){console.warn(`${A.id} UeESUnrealActor DestroyActorByID: ${B.error}`);return}o=void 0},h=this.dv(c.react({type:"ActorClass",actorClass:"default"}));{const u=this.dv(c.createNextAnimateFrameEvent(A.actorClassChanged,A.actorTagChanged)),f=async()=>{A.actorTag!==""?h.value={type:"ActorTag",actorTag:A.actorTag}:h.value={type:"ActorClass",actorClass:A.actorClass===""?"default":A.actorClass}};f(),this.d(u.don(f)),this.d(A.flushEvent.don(()=>u.flush()))}{const u=this.dv(c.createProcessingFromAsyncFunc(async B=>{if(await B.promise(d()),A.lastActorStatus="null",h.value.type==="ActorTag"){const{actorTag:w}=h.value;try{const v=await B.promise(e.bindActorByTag(A.id,w));if(!v)return;if(v.error!==""){console.warn(`${A.id} UeESUnrealActor BindActorByTag:${w},${v.error}`);return}if(v.re.type===0)A.lastActorStatus="bound",i=w;else if(v.re.type===1)A.lastActorStatus="bound",i=w,console.warn(`${A.id} UeESUnrealActor BindActorByTag:${w},${ud(v.re.type)}`);else{i=void 0,console.warn(`${A.id} UeESUnrealActor BindActorByTag error:${w}, ${ud(v.re.type)}`);return}}catch(v){console.warn(`${A.id} UeESUnrealActor BindActorByTag catch error:${w}, ${v}`);return}}else if(h.value.type==="ActorClass"){const{actorClass:w}=h.value;try{const v=await B.promise(e.createActorByClass(A.id,w));if(!v)return;if(v.error!==""){console.warn(`${A.id} UeESUnrealActor CreateActorByClass error :${w}, ${v.error}`);return}if(v.re.type===0)w!=="default"&&(A.lastActorStatus="created"),o=w;else{console.warn(`${A.id} UeESUnrealActor CreateActorByClass error type :${w},${tp(v.re.type)}`);return}}catch(v){console.warn(`${A.id} UeESUnrealActor CreateActorByClass error catch :${w}, ${JSON.stringify(v)}`);return}}await B.promise(n()),await B.promise(a())})),f=async()=>{u.restart()};f(),this.d(h.changed.don(f))}this.d(A.positionChanged.don(a)),this.d(A.callFunctionEvent.don(async(u,f)=>{if(l()){A.__callFunctionResultEvent.emit(void 0);return}const B=await In(t,A.id,u,f);A.__callFunctionResultEvent.emit(B)})),this.d(A.smoothMoveEvent.don((u,f)=>{l()||Ve(t,A.id,u,f)})),this.d(A.smoothMoveWithRotationEvent.don((u,f,B)=>{l()||Ne(t,A.id,u,f,B)})),this.d(A.smoothMoveOnGroundEvent.don((u,f,B,w)=>{l()||ke(t,A.id,u,f,w,B)})),this.d(A.smoothMoveWithRotationOnGroundEvent.don((u,f,B,w,v)=>{l()||_e(t,A.id,u,f,B,w,v)})),this.d(A.automaticLandingEvent.don(u=>{if(l())return;const f=[A.position[0],A.position[1]];e.getHeightByLonLat(A.position[0],A.position[1],"Visibility").then(B=>{B!==null&&(A.position=[...f,B],A.collision=u)})})),this.d(A.flyToEvent.don(async(u,f)=>{if(l())return;const B=await we(t,A.id,u);let w="over";B===void 0?w="error":B.endType===0?w="over":B.endType===1&&(w="cancelled"),A.flyOverEvent.emit(f,w,e)})),this.d(A.calcFlyToParamEvent.don(()=>{l()||$A(t,A.id)})),this.d(A.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const u=await e.getCurrentCameraInfo();if(!u)return;const{position:f,rotation:B}=u;A.flyInParam={position:f,rotation:B,flyDuration:1}})),this.d(e.propChanged.don(u=>{l()||u.objId===A.id&&Object.keys(u.props).forEach(f=>{const B=u.props[f]===null?void 0:u.props[f];A[f]=B})}))}};p(or,"type",or.register("ESUeViewer",c.ESUnrealActor.type,or));let xi=or;const ar=class ar extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ar,"type",ar.register("ESUeViewer",c.ESVideoFusion.type,ar));let Pi=ar;const lr=class lr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(lr,"type",lr.register("ESUeViewer",c.ESViewShed.type,lr));let Ki=lr;const cr=class cr extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is underfined!");return}}};p(cr,"type",cr.register("ESUeViewer",c.ESVisibilityAnalysis.type,cr));let Gi=cr;const dr=class dr extends nA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.ad(c.track([A,"volume"],[A,"cutAndFillVolume"])),this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.clearEvent.don(()=>{t.callUeFunc({f:"Clear",p:{id:A.id}})}))}};p(dr,"type",dr.register("ESUeViewer",c.ESVolumeMeasurement.type,dr));let Ni=dr;const Pe=class Pe extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Pe,"type",Pe.register("ESUeViewer",c.ESWidget.type,Pe)),p(Pe,"propValFuncs",{...QA.propValFuncs,info:A=>JSON.stringify(A??{})});let ki=Pe;const ur=class ur extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}A.poi.actorTag=A.human.id,A.poi.positionOffset=[0,0,A.poiOffsetHeight-.8],this.d(A.poiOffsetHeightChanged.don(()=>{A.poi.positionOffset=[0,0,A.poiOffsetHeight-.8]})),this.d(()=>{A.poi.actorTag=""})}};p(ur,"type",ur.register("ESUeViewer",c.ESHumanPoi.type,ur));let _i=ur;c.ESSceneObject.context.getStrFromEnv(c.ESNavigator.defaults.imgUrl);const hr=class hr extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new c.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),this.dispose(c.track([n,"show"],[A,"show"])),n.instanceClass=class extends c.Destroyable{constructor(i,o,a){super(),this._subContainer=i;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l));{const u=async()=>{const f=await e.getCurrentCameraInfo(),B=f==null?void 0:f.position,v=[...f==null?void 0:f.rotation];v[0]=360,e.flyIn(B,v)};l.addEventListener("click",u),l.style.cursor="pointer",this.dispose(()=>l.removeEventListener("click",u))}{const u=()=>{l.style.width=`${A.cssSize?A.cssSize:c.ESNavigator.defaults.cssSize}px`,l.style.height=`${A.cssSize?A.cssSize:c.ESNavigator.defaults.cssSize}px`};u(),A.dispose(A.cssSizeChanged.disposableOn(u))}l.style.position="fixed";{const u=()=>{l.style.top=`${A.cssPosition?A.cssPosition[0]:c.ESNavigator.defaults.cssPosition[0]}px`,l.style.right=`${A.cssPosition?A.cssPosition[1]:c.ESNavigator.defaults.cssPosition[1]}px`};u(),A.dispose(A.cssPositionChanged.disposableOn(u))}l.style.transition=" right 0.4s linear",l.style.cursor="pointer";const d=document.createElement("div");l.appendChild(d),this.dispose(()=>l.removeChild(d)),d.style.width="100%",d.style.height="100%",d.style.position="relative";const h=document.createElement("img");d.appendChild(h),this.dispose(()=>d.removeChild(h)),h.style.width="100%",h.style.height="100%",h.style.border="none";{const u=()=>h.src=A.imgUrl;u(),A.dispose(A.imgUrlChanged.disposableOn(u))}{const u=()=>{const v=-e.getCurrentCameraInfo().rotation[0];h.style.transform=`rotate(${v}deg)`};let f;const B=async()=>{u(),A.show?(l.style.display="block",f=setInterval(()=>{u()},1e3)):(l.style.display="none",clearInterval(f))};this.dispose(A.showChanged.disposableOn(B)),B(),this.dispose(()=>clearInterval(f))}h.style.transformOrigin="50% 50%"}}}};p(hr,"type",hr.register("ESUeViewer",c.ESNavigator.type,hr));let Vi=hr;const de=class de extends rA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}{const n=()=>{t.callUeFunc({f:"update",p:{id:A.id,materialMode:A.materialMode}})};this.dispose(A.materialModeChanged.disposableOn(n))}}};p(de,"type",de.register("ESUeViewer",c.ESPath.type,de)),p(de,"forceUeUpdateProps",[...rA.forceUeUpdateProps]),p(de,"propValFuncs",{...rA.propValFuncs});let Oi=de;async function rp(r){navigator.clipboard.writeText(r).then(function(){console.log("复制成功")},function(A){console.log("复制失败")})}const gr=class gr extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new c.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),n.instanceClass=class extends c.Destroyable{constructor(i,o,a){if(super(),this._subContainer=i,!a||!(a instanceof bA))return;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l)),l.style.width="100%",l.style.position="absolute",l.style.height=`${c.ESViewerStatusBar.defaults.height}px`,l.style.left="0",l.style.bottom="0",l.style.color="#fff",l.style.padding="0 20px 0 0",l.style.boxSizing="border-box",l.style.lineHeight=`${c.ESViewerStatusBar.defaults.height}px`,l.style.zIndex="100",l.style.alignContent="center",l.style.justifyContent="space-between";const d=document.createElement("span");l.appendChild(d),this.dispose(()=>l.removeChild(d));const h=document.createElement("span");d.appendChild(h),this.dispose(()=>d.removeChild(h));const u=document.createElement("span");d.appendChild(u),u.addEventListener("dblclick",function(){let B=u.innerHTML;B.startsWith("鼠标位置")&&(B=B.slice(5)),rp(B)}),u.style.cursor="pointer",this.dispose(()=>d.removeChild(u));const f=document.createElement("span");l.appendChild(f),this.dispose(()=>l.removeChild(f));{const B=()=>{l.style.height=(A.height??c.ESViewerStatusBar.defaults.height)+"px",l.style.lineHeight=(A.height??c.ESViewerStatusBar.defaults.height)+"px"};this.dispose(A.heightChanged.disposableOn(B)),B()}{const B=()=>{l.style.fontSize=(A.fontSize??c.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(A.fontSizeChanged.disposableOn(B)),B()}{const B=()=>{A.bgColor?l.style.background=`rgba(${A.bgColor[0]*255},${A.bgColor[1]*255},${A.bgColor[2]*255},${A.bgColor[3]})`:l.style.background=`rgba(${c.ESViewerStatusBar.defaults.bgColor[0]},${c.ESViewerStatusBar.defaults.bgColor[1]},${c.ESViewerStatusBar.defaults.bgColor[2]},${c.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(A.bgColorChanged.disposableOn(B)),B()}a.getVersion().then(B=>{B&&(f.innerText=`Ue 版本 : ${B[0]} `)}).catch(B=>{console.log(B)});{const B=()=>{let m="",F="";m+=`帧率:${a.getFPS().toFixed(0)}FPS`,h.innerText=m;const E=e.getCurrentCameraInfo();m+=` 经度: ${E.position[0].toFixed(5)}° 纬度: ${E.position[1].toFixed(5)}° 高度: ${E.position[2].toFixed(2)}米 偏航角: ${E.rotation[0].toFixed(2)}° 俯仰角: ${E.rotation[1].toFixed(2)}° 翻滚角:${E.rotation[2].toFixed(2)}° `,h.innerText=m,e.pick().then(H=>{if(H){const{pickResult:y}=H;if(y&&y.position){const{position:U}=y;F+=`鼠标位置:${U[0].toFixed(5)}° ${U[1].toFixed(5)}° ${U[2].toFixed(2)}m`}else F+="暂时无法获取鼠标位置...";u.innerText=F}}).catch(H=>{console.log(H)})};let w;const v=async()=>{B(),A.show?(l.style.display="flex",w=setInterval(()=>{B()},1e3)):(l.style.display="none",clearInterval(w))};this.dispose(A.showChanged.disposableOn(v)),v(),this.dispose(()=>clearInterval(w))}}}}};p(gr,"type",gr.register("ESUeViewer",c.ESViewerStatusBar.type,gr));let Wi=gr;const Br=class Br extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Br,"type",Br.register("ESUeViewer",c.ESGaussianSplatting.type,Br));let Xi=Br;const fr=class fr extends jA{constructor(e,t){super(e,t);p(this,"_es3DTileset",this.dv(new c.ES3DTileset));if(!t.viewer){console.warn("viewer is undefined!");return}this.es3DTileset.parentID=e.id;{const s=this._es3DTileset;e.components.disposableAdd(s,!0),this.d(c.track([s,"allowPicking"],[e,"allowPicking"])),this.d(c.track([s,"collision"],[e,"collision"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.track([s,"url"],[e,"url"])),this.d(c.track([s,"actorTag"],[e,"actorTag"])),this.d(c.track([s,"materialMode"],[e,"materialMode"])),this.d(c.track([s,"highlight"],[e,"highlight"])),this.d(c.track([s,"maximumScreenSpaceError"],[e,"maximumScreenSpaceError"])),this.d(c.track([s,"highlightID"],[e,"highlightID"])),this.d(c.track([s,"highlightColor"],[e,"highlightColor"])),this.d(c.bind([s,"offset"],[e,"offset"])),this.d(c.bind([s,"rotation"],[e,"rotation"])),this.d(c.track([s,"czmImageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(c.track([s,"czmLuminanceAtZenith"],[e,"czmLuminanceAtZenith"])),this.d(c.track([s,"czmMaximumMemoryUsage"],[e,"czmMaximumMemoryUsage"])),this.d(c.track([s,"czmClassificationType"],[e,"czmClassificationType"])),this.d(c.track([s,"czmStyleJson"],[e,"czmStyleJson"])),this.d(c.track([s,"czmBackFaceCulling"],[e,"czmBackFaceCulling"])),this.d(c.track([s,"czmDebugShowBoundingVolume"],[e,"czmDebugShowBoundingVolume"])),this.d(c.track([s,"czmDebugShowContentBoundingVolume"],[e,"czmDebugShowContentBoundingVolume"])),this.d(c.track([s,"colorBlendMode"],[e,"colorBlendMode"])),this.d(c.track([s,"cacheBytes"],[e,"cacheBytes"])),this.d(c.track([s,"clippingPlaneEnabled"],[e,"clippingPlaneEnabled"])),this.d(c.track([s,"unionClippingRegions"],[e,"unionClippingRegions"])),this.d(c.track([s,"clippingPlaneEdgeColor"],[e,"clippingPlaneEdgeColor"])),this.d(c.track([s,"clippingPlaneEdgeWidth"],[e,"clippingPlaneEdgeWidth"])),this.d(c.track([s,"materialParams"],[e,"materialParams"])),this.d(c.bind([s,"supportEdit"],[e,"supportEdit"])),this.d(c.bind([s,"clippingPlanesId"],[e,"clippingPlanesId"])),this.d(c.bind([s,"clippingPlaneIds"],[e,"clippingPlaneIds"])),this.d(c.bind([s,"flattenedPlaneId"],[e,"flattenedPlaneId"])),this.d(c.bind([s,"flattenedPlaneEnabled"],[e,"flattenedPlaneEnabled"])),this.d(c.bind([s,"clippingPlaneId"],[e,"clippingPlaneId"])),this.d(c.bind([s,"excavateId"],[e,"excavateId"]))}{const s=this._es3DTileset;this.d(e.refreshTilesetEvent.don(()=>{s.refreshTileset()})),this.d(e.highlightFeatureEvent.don((...i)=>{s.highlightFeature(...i)})),this.d(e.highlightFeatureAndFlyToEvent.don((...i)=>{s.highlightFeatureAndFlyTo(...i)})),this.d(e.setFeatureColorEvent.don((...i)=>{s.setFeatureColor(...i)})),this.d(e.setFeatureVisableEvent.don((...i)=>{s.setFeatureVisable(...i)})),this.d(e.resetFeatureStyleEvent.don((...i)=>{s.resetFeatureStyle(...i)})),this.d(e.flyInEvent.don((...i)=>{s.flyIn(i[0])})),this.d(e.flyToEvent.don((...i)=>{s.flyTo(i[0])})),this.d(e.calcFlyToParamEvent.don((...i)=>{s.calcFlyToParam(...i)})),this.d(e.calcFlyInParamEvent.don((...i)=>{s.calcFlyInParam(...i)}))}{const s=this._es3DTileset;this.d(s.tilesetReady.don(i=>{e.tilesetReady.emit(i)})),this.d(s.pickedEvent.don(i=>{i.assign({sceneObject:e}),e.pickedEvent.emit(i)}))}{const s=()=>{this.es3DTileset.show=e.show};s(),this.d(e.showChanged.don(()=>{s()}))}}get es3DTileset(){return this._es3DTileset}};p(fr,"type",fr.register("ESUeViewer",c.ESRtsFeatureEditing.type,fr));let Ji=fr;const wr=class wr extends jA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(wr,"type",wr.register("ESUeViewer",c.ESMsTileset.type,wr));let zi=wr;const pr=class pr extends nA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}const n=()=>{t.callUeFunc({f:"update",p:{id:A.id,height:A.height??c.ESGeoExtrudedPolygon.defaults.height,extrudedHeight:A.extrudedHeight??c.ESGeoExtrudedPolygon.defaults.extrudedHeight,perPositionHeight:A.perPositionHeight??c.ESGeoExtrudedPolygon.defaults.perPositionHeight}})},s=this.disposeVar(c.createNextAnimateFrameEvent(A.heightChanged,A.extrudedHeightChanged,A.perPositionHeightChanged));this.dispose(s.disposableOn(n)),this.dispose(A.createdEvent.disposableOn(n))}};p(pr,"type",pr.register("ESUeViewer",c.ESGeoExtrudedPolygon.type,pr));let Yi=pr;const Cr=class Cr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Cr,"type",Cr.register("ESUeViewer",c.ESStaticMesh.type,Cr));let $i=Cr;const vr=class vr extends rA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.clearEvent.don(()=>{t.callUeFunc({f:"Clear",p:{id:A.id}})}))}};p(vr,"type",vr.register("ESUeViewer",c.ESSkylineAnalysis.type,vr));let Zi=vr;const ue=class ue extends Y{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ue,"type",ue.register("ESUeViewer",c.ESMVTLayer.type,ue)),p(ue,"forceUeUpdateProps",[...Y.forceUeUpdateProps,"url"]),p(ue,"propValFuncs",{...Y.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(A):(A.url=c.ESSceneObject.context.getStrFromEnv(A.url),A),targetID:A=>{if(!A)return"";const e=c.ESSceneObject.getSceneObject(A);return e?(e.components.main??e).id:A},czmSplitDirection:null,czmAlpha:null,czmBrightness:null,czmContrast:null,czmHue:null,czmSaturation:null,czmGamma:null});let qi=ue;const mr=class mr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("UeESCylinder: viewer is null");return}}};p(mr,"type",mr.register("ESUeViewer",c.ESCylinder.type,mr));let ji=mr;C.copyright=void 0;try{const r="earthsdk3-ue",A="3.11.0-beta.20",e="2026-07-15T03:53:41.000Z",t="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="18eb019de0881c8f88d5d0948aa36a384e722338",o=((Date.now()-1784087621e3)/36e5).toFixed(1),a=`%c🌏 ${r}%c ${A}.${s.slice(0,8)}.${e} (距今${o}个小时)
112
+ .`+js+Bw+jc)},ww=function(r,A){var e=r.ownerDocument;if(e){var t=e.createElement("style");t.textContent=A,r.appendChild(t)}},Ad=(function(){function r(){}return r.getOrigin=function(A){var e=r._link;return e?(e.href=A,e.href=e.href,e.protocol+e.hostname+e.port):"about:blank"},r.isSameOrigin=function(A){return r.getOrigin(A)===r._origin},r.setContext=function(A){r._link=A.document.createElement("a"),r._origin=r.getOrigin(A.location.href)},r._origin="about:blank",r})(),pw=(function(){function r(A,e){this.context=A,this._options=e,this._cache={}}return r.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)||(ei(A)||Fw(A))&&(this._cache[A]=this.loadImage(A)).catch(function(){}),e},r.prototype.match=function(A){return this._cache[A]},r.prototype.loadImage=function(A){return hA(this,void 0,void 0,function(){var e,t,n,s,i=this;return sA(this,function(o){switch(o.label){case 0:return e=Ad.isSameOrigin(A),t=!Ai(A)&&this._options.useCORS===!0&&tA.SUPPORT_CORS_IMAGES&&!e,n=!Ai(A)&&!e&&!ei(A)&&typeof this._options.proxy=="string"&&tA.SUPPORT_CORS_XHR&&!t,!e&&this._options.allowTaint===!1&&!Ai(A)&&!ei(A)&&!n&&!t?[2]:(s=A,n?[4,this.proxy(s)]:[3,2]);case 1:s=o.sent(),o.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise(function(a,l){var d=new Image;d.onload=function(){return a(d)},d.onerror=l,(Qw(s)||t)&&(d.crossOrigin="anonymous"),d.src=s,d.complete===!0&&setTimeout(function(){return a(d)},500),i._options.imageTimeout>0&&setTimeout(function(){return l("Timed out ("+i._options.imageTimeout+"ms) loading image")},i._options.imageTimeout)})];case 3:return[2,o.sent()]}})})},r.prototype.has=function(A){return typeof this._cache[A]<"u"},r.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},r.prototype.proxy=function(A){var e=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var n=A.substring(0,256);return new Promise(function(s,i){var o=tA.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(a.status===200)if(o==="text")s(a.response);else{var h=new FileReader;h.addEventListener("load",function(){return s(h.result)},!1),h.addEventListener("error",function(u){return i(u)},!1),h.readAsDataURL(a.response)}else i("Failed to proxy resource "+n+" with status code "+a.status)},a.onerror=i;var l=t.indexOf("?")>-1?"&":"?";if(a.open("GET",""+t+l+"url="+encodeURIComponent(A)+"&responseType="+o),o!=="text"&&a instanceof XMLHttpRequest&&(a.responseType=o),e._options.imageTimeout){var d=e._options.imageTimeout;a.timeout=d,a.ontimeout=function(){return i("Timed out ("+d+"ms) proxying "+n)}}a.send()})},r})(),Cw=/^data:image\/svg\+xml/i,vw=/^data:image\/.*;base64,/i,mw=/^data:image\/.*/i,Fw=function(r){return tA.SUPPORT_SVG_DRAWING||!Uw(r)},Ai=function(r){return mw.test(r)},Qw=function(r){return vw.test(r)},ei=function(r){return r.substr(0,4)==="blob"},Uw=function(r){return r.substr(-3).toLowerCase()==="svg"||Cw.test(r)},S=(function(){function r(A,e){this.type=0,this.x=A,this.y=e}return r.prototype.add=function(A,e){return new r(this.x+A,this.y+e)},r})(),Te=function(r,A,e){return new S(r.x+(A.x-r.x)*e,r.y+(A.y-r.y)*e)},wn=(function(){function r(A,e,t,n){this.type=1,this.start=A,this.startControl=e,this.endControl=t,this.end=n}return r.prototype.subdivide=function(A,e){var t=Te(this.start,this.startControl,A),n=Te(this.startControl,this.endControl,A),s=Te(this.endControl,this.end,A),i=Te(t,n,A),o=Te(n,s,A),a=Te(i,o,A);return e?new r(this.start,t,i,a):new r(a,o,s,this.end)},r.prototype.add=function(A,e){return new r(this.start.add(A,e),this.startControl.add(A,e),this.endControl.add(A,e),this.end.add(A,e))},r.prototype.reverse=function(){return new r(this.end,this.endControl,this.startControl,this.start)},r})(),pA=function(r){return r.type===1},Ew=(function(){function r(A){var e=A.styles,t=A.bounds,n=it(e.borderTopLeftRadius,t.width,t.height),s=n[0],i=n[1],o=it(e.borderTopRightRadius,t.width,t.height),a=o[0],l=o[1],d=it(e.borderBottomRightRadius,t.width,t.height),h=d[0],u=d[1],f=it(e.borderBottomLeftRadius,t.width,t.height),B=f[0],w=f[1],v=[];v.push((s+a)/t.width),v.push((B+h)/t.width),v.push((i+w)/t.height),v.push((l+u)/t.height);var m=Math.max.apply(Math,v);m>1&&(s/=m,i/=m,a/=m,l/=m,h/=m,u/=m,B/=m,w/=m);var F=t.width-a,E=t.height-u,H=t.width-h,y=t.height-w,U=e.borderTopWidth,D=e.borderRightWidth,R=e.borderBottomWidth,L=e.borderLeftWidth,W=k(e.paddingTop,A.bounds.width),oA=k(e.paddingRight,A.bounds.width),aA=k(e.paddingBottom,A.bounds.width),G=k(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=s>0||i>0?V(t.left+L/3,t.top+U/3,s-L/3,i-U/3,K.TOP_LEFT):new S(t.left+L/3,t.top+U/3),this.topRightBorderDoubleOuterBox=s>0||i>0?V(t.left+F,t.top+U/3,a-D/3,l-U/3,K.TOP_RIGHT):new S(t.left+t.width-D/3,t.top+U/3),this.bottomRightBorderDoubleOuterBox=h>0||u>0?V(t.left+H,t.top+E,h-D/3,u-R/3,K.BOTTOM_RIGHT):new S(t.left+t.width-D/3,t.top+t.height-R/3),this.bottomLeftBorderDoubleOuterBox=B>0||w>0?V(t.left+L/3,t.top+y,B-L/3,w-R/3,K.BOTTOM_LEFT):new S(t.left+L/3,t.top+t.height-R/3),this.topLeftBorderDoubleInnerBox=s>0||i>0?V(t.left+L*2/3,t.top+U*2/3,s-L*2/3,i-U*2/3,K.TOP_LEFT):new S(t.left+L*2/3,t.top+U*2/3),this.topRightBorderDoubleInnerBox=s>0||i>0?V(t.left+F,t.top+U*2/3,a-D*2/3,l-U*2/3,K.TOP_RIGHT):new S(t.left+t.width-D*2/3,t.top+U*2/3),this.bottomRightBorderDoubleInnerBox=h>0||u>0?V(t.left+H,t.top+E,h-D*2/3,u-R*2/3,K.BOTTOM_RIGHT):new S(t.left+t.width-D*2/3,t.top+t.height-R*2/3),this.bottomLeftBorderDoubleInnerBox=B>0||w>0?V(t.left+L*2/3,t.top+y,B-L*2/3,w-R*2/3,K.BOTTOM_LEFT):new S(t.left+L*2/3,t.top+t.height-R*2/3),this.topLeftBorderStroke=s>0||i>0?V(t.left+L/2,t.top+U/2,s-L/2,i-U/2,K.TOP_LEFT):new S(t.left+L/2,t.top+U/2),this.topRightBorderStroke=s>0||i>0?V(t.left+F,t.top+U/2,a-D/2,l-U/2,K.TOP_RIGHT):new S(t.left+t.width-D/2,t.top+U/2),this.bottomRightBorderStroke=h>0||u>0?V(t.left+H,t.top+E,h-D/2,u-R/2,K.BOTTOM_RIGHT):new S(t.left+t.width-D/2,t.top+t.height-R/2),this.bottomLeftBorderStroke=B>0||w>0?V(t.left+L/2,t.top+y,B-L/2,w-R/2,K.BOTTOM_LEFT):new S(t.left+L/2,t.top+t.height-R/2),this.topLeftBorderBox=s>0||i>0?V(t.left,t.top,s,i,K.TOP_LEFT):new S(t.left,t.top),this.topRightBorderBox=a>0||l>0?V(t.left+F,t.top,a,l,K.TOP_RIGHT):new S(t.left+t.width,t.top),this.bottomRightBorderBox=h>0||u>0?V(t.left+H,t.top+E,h,u,K.BOTTOM_RIGHT):new S(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=B>0||w>0?V(t.left,t.top+y,B,w,K.BOTTOM_LEFT):new S(t.left,t.top+t.height),this.topLeftPaddingBox=s>0||i>0?V(t.left+L,t.top+U,Math.max(0,s-L),Math.max(0,i-U),K.TOP_LEFT):new S(t.left+L,t.top+U),this.topRightPaddingBox=a>0||l>0?V(t.left+Math.min(F,t.width-D),t.top+U,F>t.width+D?0:Math.max(0,a-D),Math.max(0,l-U),K.TOP_RIGHT):new S(t.left+t.width-D,t.top+U),this.bottomRightPaddingBox=h>0||u>0?V(t.left+Math.min(H,t.width-L),t.top+Math.min(E,t.height-R),Math.max(0,h-D),Math.max(0,u-R),K.BOTTOM_RIGHT):new S(t.left+t.width-D,t.top+t.height-R),this.bottomLeftPaddingBox=B>0||w>0?V(t.left+L,t.top+Math.min(y,t.height-R),Math.max(0,B-L),Math.max(0,w-R),K.BOTTOM_LEFT):new S(t.left+L,t.top+t.height-R),this.topLeftContentBox=s>0||i>0?V(t.left+L+G,t.top+U+W,Math.max(0,s-(L+G)),Math.max(0,i-(U+W)),K.TOP_LEFT):new S(t.left+L+G,t.top+U+W),this.topRightContentBox=a>0||l>0?V(t.left+Math.min(F,t.width+L+G),t.top+U+W,F>t.width+L+G?0:a-L+G,l-(U+W),K.TOP_RIGHT):new S(t.left+t.width-(D+oA),t.top+U+W),this.bottomRightContentBox=h>0||u>0?V(t.left+Math.min(H,t.width-(L+G)),t.top+Math.min(E,t.height+U+W),Math.max(0,h-(D+oA)),u-(R+aA),K.BOTTOM_RIGHT):new S(t.left+t.width-(D+oA),t.top+t.height-(R+aA)),this.bottomLeftContentBox=B>0||w>0?V(t.left+L+G,t.top+y,Math.max(0,B-(L+G)),w-(R+aA),K.BOTTOM_LEFT):new S(t.left+L+G,t.top+t.height-(R+aA))}return r})(),K;(function(r){r[r.TOP_LEFT=0]="TOP_LEFT",r[r.TOP_RIGHT=1]="TOP_RIGHT",r[r.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",r[r.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(K||(K={}));var V=function(r,A,e,t,n){var s=4*((Math.sqrt(2)-1)/3),i=e*s,o=t*s,a=r+e,l=A+t;switch(n){case K.TOP_LEFT:return new wn(new S(r,l),new S(r,l-o),new S(a-i,A),new S(a,A));case K.TOP_RIGHT:return new wn(new S(r,A),new S(r+i,A),new S(a,l-o),new S(a,l));case K.BOTTOM_RIGHT:return new wn(new S(a,A),new S(a,A+o),new S(r+i,l),new S(r,l));case K.BOTTOM_LEFT:default:return new wn(new S(a,l),new S(a-i,l),new S(r,A+o),new S(r,A))}},pn=function(r){return[r.topLeftBorderBox,r.topRightBorderBox,r.bottomRightBorderBox,r.bottomLeftBorderBox]},yw=function(r){return[r.topLeftContentBox,r.topRightContentBox,r.bottomRightContentBox,r.bottomLeftContentBox]},Cn=function(r){return[r.topLeftPaddingBox,r.topRightPaddingBox,r.bottomRightPaddingBox,r.bottomLeftPaddingBox]},Sw=(function(){function r(A,e,t){this.offsetX=A,this.offsetY=e,this.matrix=t,this.type=0,this.target=6}return r})(),vn=(function(){function r(A,e){this.path=A,this.target=e,this.type=1}return r})(),Iw=(function(){function r(A){this.opacity=A,this.type=2,this.target=6}return r})(),Tw=function(r){return r.type===0},ed=function(r){return r.type===1},Hw=function(r){return r.type===2},td=function(r,A){return r.length===A.length?r.some(function(e,t){return e===A[t]}):!1},bw=function(r,A,e,t,n){return r.map(function(s,i){switch(i){case 0:return s.add(A,e);case 1:return s.add(A+t,e);case 2:return s.add(A+t,e+n);case 3:return s.add(A,e+n)}return s})},rd=(function(){function r(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return r})(),nd=(function(){function r(A,e){if(this.container=A,this.parent=e,this.effects=[],this.curves=new Ew(this.container),this.container.styles.opacity<1&&this.effects.push(new Iw(this.container.styles.opacity)),this.container.styles.transform!==null){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,s=this.container.styles.transform;this.effects.push(new Sw(t,n,s))}if(this.container.styles.overflowX!==0){var i=pn(this.curves),o=Cn(this.curves);td(i,o)?this.effects.push(new vn(i,6)):(this.effects.push(new vn(i,2)),this.effects.push(new vn(o,4)))}}return r.prototype.getEffects=function(A){for(var e=[2,3].indexOf(this.container.styles.position)===-1,t=this.parent,n=this.effects.slice(0);t;){var s=t.effects.filter(function(a){return!ed(a)});if(e||t.container.styles.position!==0||!t.parent){if(n.unshift.apply(n,s),e=[2,3].indexOf(t.container.styles.position)===-1,t.container.styles.overflowX!==0){var i=pn(t.curves),o=Cn(t.curves);td(i,o)||n.unshift(new vn(o,6))}}else n.unshift.apply(n,s);t=t.parent}return n.filter(function(a){return q(a.target,A)})},r})(),ti=function(r,A,e,t){r.container.elements.forEach(function(n){var s=q(n.flags,4),i=q(n.flags,2),o=new nd(n,r);q(n.styles.display,2048)&&t.push(o);var a=q(n.flags,8)?[]:t;if(s||i){var l=s||n.styles.isPositioned()?e:A,d=new rd(o);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var h=n.styles.zIndex.order;if(h<0){var u=0;l.negativeZIndex.some(function(B,w){return h>B.element.container.styles.zIndex.order?(u=w,!1):u>0}),l.negativeZIndex.splice(u,0,d)}else if(h>0){var f=0;l.positiveZIndex.some(function(B,w){return h>=B.element.container.styles.zIndex.order?(f=w+1,!1):f>0}),l.positiveZIndex.splice(f,0,d)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(d)}else n.styles.isFloating()?l.nonPositionedFloats.push(d):l.nonPositionedInlineLevel.push(d);ti(o,d,s?d:e,a)}else n.styles.isInlineLevel()?A.inlineLevel.push(o):A.nonInlineLevel.push(o),ti(o,A,e,a);q(n.flags,8)&&sd(n,a)})},sd=function(r,A){for(var e=r instanceof Ws?r.start:1,t=r instanceof Ws?r.reversed:!1,n=0;n<A.length;n++){var s=A[n];s.container instanceof Hc&&typeof s.container.value=="number"&&s.container.value!==0&&(e=s.container.value),s.listValue=ut(e,s.container.styles.listStyleType,!0),e+=t?-1:1}},Lw=function(r){var A=new nd(r,null),e=new rd(A),t=[];return ti(A,e,e,t),sd(A.container,t),e},id=function(r,A){switch(A){case 0:return CA(r.topLeftBorderBox,r.topLeftPaddingBox,r.topRightBorderBox,r.topRightPaddingBox);case 1:return CA(r.topRightBorderBox,r.topRightPaddingBox,r.bottomRightBorderBox,r.bottomRightPaddingBox);case 2:return CA(r.bottomRightBorderBox,r.bottomRightPaddingBox,r.bottomLeftBorderBox,r.bottomLeftPaddingBox);case 3:default:return CA(r.bottomLeftBorderBox,r.bottomLeftPaddingBox,r.topLeftBorderBox,r.topLeftPaddingBox)}},Mw=function(r,A){switch(A){case 0:return CA(r.topLeftBorderBox,r.topLeftBorderDoubleOuterBox,r.topRightBorderBox,r.topRightBorderDoubleOuterBox);case 1:return CA(r.topRightBorderBox,r.topRightBorderDoubleOuterBox,r.bottomRightBorderBox,r.bottomRightBorderDoubleOuterBox);case 2:return CA(r.bottomRightBorderBox,r.bottomRightBorderDoubleOuterBox,r.bottomLeftBorderBox,r.bottomLeftBorderDoubleOuterBox);case 3:default:return CA(r.bottomLeftBorderBox,r.bottomLeftBorderDoubleOuterBox,r.topLeftBorderBox,r.topLeftBorderDoubleOuterBox)}},Dw=function(r,A){switch(A){case 0:return CA(r.topLeftBorderDoubleInnerBox,r.topLeftPaddingBox,r.topRightBorderDoubleInnerBox,r.topRightPaddingBox);case 1:return CA(r.topRightBorderDoubleInnerBox,r.topRightPaddingBox,r.bottomRightBorderDoubleInnerBox,r.bottomRightPaddingBox);case 2:return CA(r.bottomRightBorderDoubleInnerBox,r.bottomRightPaddingBox,r.bottomLeftBorderDoubleInnerBox,r.bottomLeftPaddingBox);case 3:default:return CA(r.bottomLeftBorderDoubleInnerBox,r.bottomLeftPaddingBox,r.topLeftBorderDoubleInnerBox,r.topLeftPaddingBox)}},Rw=function(r,A){switch(A){case 0:return mn(r.topLeftBorderStroke,r.topRightBorderStroke);case 1:return mn(r.topRightBorderStroke,r.bottomRightBorderStroke);case 2:return mn(r.bottomRightBorderStroke,r.bottomLeftBorderStroke);case 3:default:return mn(r.bottomLeftBorderStroke,r.topLeftBorderStroke)}},mn=function(r,A){var e=[];return pA(r)?e.push(r.subdivide(.5,!1)):e.push(r),pA(A)?e.push(A.subdivide(.5,!0)):e.push(A),e},CA=function(r,A,e,t){var n=[];return pA(r)?n.push(r.subdivide(.5,!1)):n.push(r),pA(e)?n.push(e.subdivide(.5,!0)):n.push(e),pA(t)?n.push(t.subdivide(.5,!0).reverse()):n.push(t),pA(A)?n.push(A.subdivide(.5,!1).reverse()):n.push(A),n},od=function(r){var A=r.bounds,e=r.styles;return A.add(e.borderLeftWidth,e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth),-(e.borderTopWidth+e.borderBottomWidth))},Fn=function(r){var A=r.styles,e=r.bounds,t=k(A.paddingLeft,e.width),n=k(A.paddingRight,e.width),s=k(A.paddingTop,e.width),i=k(A.paddingBottom,e.width);return e.add(t+A.borderLeftWidth,s+A.borderTopWidth,-(A.borderRightWidth+A.borderLeftWidth+t+n),-(A.borderTopWidth+A.borderBottomWidth+s+i))},xw=function(r,A){return r===0?A.bounds:r===2?Fn(A):od(A)},Pw=function(r,A){return r===0?A.bounds:r===2?Fn(A):od(A)},ri=function(r,A,e){var t=xw(be(r.styles.backgroundOrigin,A),r),n=Pw(be(r.styles.backgroundClip,A),r),s=Kw(be(r.styles.backgroundSize,A),e,t),i=s[0],o=s[1],a=it(be(r.styles.backgroundPosition,A),t.width-i,t.height-o),l=Gw(be(r.styles.backgroundRepeat,A),a,s,t,n),d=Math.round(t.left+a[0]),h=Math.round(t.top+a[1]);return[l,d,h,i,o]},He=function(r){return N(r)&&r.value===Ee.AUTO},Qn=function(r){return typeof r=="number"},Kw=function(r,A,e){var t=A[0],n=A[1],s=A[2],i=r[0],o=r[1];if(!i)return[0,0];if($(i)&&o&&$(o))return[k(i,e.width),k(o,e.height)];var a=Qn(s);if(N(i)&&(i.value===Ee.CONTAIN||i.value===Ee.COVER)){if(Qn(s)){var l=e.width/e.height;return l<s!=(i.value===Ee.COVER)?[e.width,e.width/s]:[e.height*s,e.height]}return[e.width,e.height]}var d=Qn(t),h=Qn(n),u=d||h;if(He(i)&&(!o||He(o))){if(d&&h)return[t,n];if(!a&&!u)return[e.width,e.height];if(u&&a){var f=d?t:n*s,B=h?n:t/s;return[f,B]}var w=d?t:e.width,v=h?n:e.height;return[w,v]}if(a){var m=0,F=0;return $(i)?m=k(i,e.width):$(o)&&(F=k(o,e.height)),He(i)?m=F*s:(!o||He(o))&&(F=m/s),[m,F]}var E=null,H=null;if($(i)?E=k(i,e.width):o&&$(o)&&(H=k(o,e.height)),E!==null&&(!o||He(o))&&(H=d&&h?E/t*n:e.height),H!==null&&He(i)&&(E=d&&h?H/n*t:e.width),E!==null&&H!==null)return[E,H];throw new Error("Unable to calculate background-size for element")},be=function(r,A){var e=r[A];return typeof e>"u"?r[0]:e},Gw=function(r,A,e,t,n){var s=A[0],i=A[1],o=e[0],a=e[1];switch(r){case 2:return[new S(Math.round(t.left),Math.round(t.top+i)),new S(Math.round(t.left+t.width),Math.round(t.top+i)),new S(Math.round(t.left+t.width),Math.round(a+t.top+i)),new S(Math.round(t.left),Math.round(a+t.top+i))];case 3:return[new S(Math.round(t.left+s),Math.round(t.top)),new S(Math.round(t.left+s+o),Math.round(t.top)),new S(Math.round(t.left+s+o),Math.round(t.height+t.top)),new S(Math.round(t.left+s),Math.round(t.height+t.top))];case 1:return[new S(Math.round(t.left+s),Math.round(t.top+i)),new S(Math.round(t.left+s+o),Math.round(t.top+i)),new S(Math.round(t.left+s+o),Math.round(t.top+i+a)),new S(Math.round(t.left+s),Math.round(t.top+i+a))];default:return[new S(Math.round(n.left),Math.round(n.top)),new S(Math.round(n.left+n.width),Math.round(n.top)),new S(Math.round(n.left+n.width),Math.round(n.height+n.top)),new S(Math.round(n.left),Math.round(n.height+n.top))]}},Nw="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",ad="Hidden Text",kw=(function(){function r(A){this._data={},this._document=A}return r.prototype.parseMetrics=function(A,e){var t=this._document.createElement("div"),n=this._document.createElement("img"),s=this._document.createElement("span"),i=this._document.body;t.style.visibility="hidden",t.style.fontFamily=A,t.style.fontSize=e,t.style.margin="0",t.style.padding="0",t.style.whiteSpace="nowrap",i.appendChild(t),n.src=Nw,n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",s.style.fontFamily=A,s.style.fontSize=e,s.style.margin="0",s.style.padding="0",s.appendChild(this._document.createTextNode(ad)),t.appendChild(s),t.appendChild(n);var o=n.offsetTop-s.offsetTop+2;t.removeChild(s),t.appendChild(this._document.createTextNode(ad)),t.style.lineHeight="normal",n.style.verticalAlign="super";var a=n.offsetTop-t.offsetTop+2;return i.removeChild(t),{baseline:o,middle:a}},r.prototype.getMetrics=function(A,e){var t=A+" "+e;return typeof this._data[t]>"u"&&(this._data[t]=this.parseMetrics(A,e)),this._data[t]},r})(),ld=(function(){function r(A,e){this.context=A,this.options=e}return r})(),_w=1e4,Vw=(function(r){mA(A,r);function A(e,t){var n=r.call(this,e,t)||this;return n._activeEffects=[],n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),t.canvas||(n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px"),n.fontMetrics=new kw(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+t.width+"x"+t.height+") with scale "+t.scale),n}return A.prototype.applyEffects=function(e){for(var t=this;this._activeEffects.length;)this.popEffect();e.forEach(function(n){return t.applyEffect(n)})},A.prototype.applyEffect=function(e){this.ctx.save(),Hw(e)&&(this.ctx.globalAlpha=e.opacity),Tw(e)&&(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)),ed(e)&&(this.path(e.path),this.ctx.clip()),this._activeEffects.push(e)},A.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},A.prototype.renderStack=function(e){return hA(this,void 0,void 0,function(){var t;return sA(this,function(n){switch(n.label){case 0:return t=e.element.container.styles,t.isVisible()?[4,this.renderStackContent(e)]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})})},A.prototype.renderNode=function(e){return hA(this,void 0,void 0,function(){return sA(this,function(t){switch(t.label){case 0:if(q(e.container.flags,16))debugger;return e.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(e)]:[3,3];case 1:return t.sent(),[4,this.renderNodeContent(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},A.prototype.renderTextWithLetterSpacing=function(e,t,n){var s=this;if(t===0)this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+n);else{var i=Os(e.text);i.reduce(function(o,a){return s.ctx.fillText(a,o,e.bounds.top+n),o+s.ctx.measureText(a).width},e.bounds.left)}},A.prototype.createFontStyle=function(e){var t=e.fontVariant.filter(function(i){return i==="normal"||i==="small-caps"}).join(""),n=zw(e.fontFamily).join(", "),s=st(e.fontSize)?""+e.fontSize.number+e.fontSize.unit:e.fontSize.number+"px";return[[e.fontStyle,t,e.fontWeight,s,n].join(" "),n,s]},A.prototype.renderTextNode=function(e,t){return hA(this,void 0,void 0,function(){var n,s,i,o,a,l,d,h,u=this;return sA(this,function(f){return n=this.createFontStyle(t),s=n[0],i=n[1],o=n[2],this.ctx.font=s,this.ctx.direction=t.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",a=this.fontMetrics.getMetrics(i,o),l=a.baseline,d=a.middle,h=t.paintOrder,e.textBounds.forEach(function(B){h.forEach(function(w){switch(w){case 0:u.ctx.fillStyle=j(t.color),u.renderTextWithLetterSpacing(B,t.letterSpacing,l);var v=t.textShadow;v.length&&B.text.trim().length&&(v.slice(0).reverse().forEach(function(m){u.ctx.shadowColor=j(m.color),u.ctx.shadowOffsetX=m.offsetX.number*u.options.scale,u.ctx.shadowOffsetY=m.offsetY.number*u.options.scale,u.ctx.shadowBlur=m.blur.number,u.renderTextWithLetterSpacing(B,t.letterSpacing,l)}),u.ctx.shadowColor="",u.ctx.shadowOffsetX=0,u.ctx.shadowOffsetY=0,u.ctx.shadowBlur=0),t.textDecorationLine.length&&(u.ctx.fillStyle=j(t.textDecorationColor||t.color),t.textDecorationLine.forEach(function(m){switch(m){case 1:u.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top+l),B.bounds.width,1);break;case 2:u.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top),B.bounds.width,1);break;case 3:u.ctx.fillRect(B.bounds.left,Math.ceil(B.bounds.top+d),B.bounds.width,1);break}}));break;case 1:t.webkitTextStrokeWidth&&B.text.trim().length&&(u.ctx.strokeStyle=j(t.webkitTextStrokeColor),u.ctx.lineWidth=t.webkitTextStrokeWidth,u.ctx.lineJoin=window.chrome?"miter":"round",u.ctx.strokeText(B.text,B.bounds.left,B.bounds.top+l)),u.ctx.strokeStyle="",u.ctx.lineWidth=0,u.ctx.lineJoin="miter";break}})}),[2]})})},A.prototype.renderReplacedElement=function(e,t,n){if(n&&e.intrinsicWidth>0&&e.intrinsicHeight>0){var s=Fn(e),i=Cn(t);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(n,0,0,e.intrinsicWidth,e.intrinsicHeight,s.left,s.top,s.width,s.height),this.ctx.restore()}},A.prototype.renderNodeContent=function(e){return hA(this,void 0,void 0,function(){var t,n,s,i,o,a,F,F,l,d,h,u,H,f,B,y,w,v,m,F,E,H,y;return sA(this,function(U){switch(U.label){case 0:this.applyEffects(e.getEffects(4)),t=e.container,n=e.curves,s=t.styles,i=0,o=t.textNodes,U.label=1;case 1:return i<o.length?(a=o[i],[4,this.renderTextNode(a,s)]):[3,4];case 2:U.sent(),U.label=3;case 3:return i++,[3,1];case 4:if(!(t instanceof Sc))return[3,8];U.label=5;case 5:return U.trys.push([5,7,,8]),[4,this.context.cache.match(t.src)];case 6:return F=U.sent(),this.renderReplacedElement(t,n,F),[3,8];case 7:return U.sent(),this.context.logger.error("Error loading image "+t.src),[3,8];case 8:if(t instanceof Ic&&this.renderReplacedElement(t,n,t.canvas),!(t instanceof Tc))return[3,12];U.label=9;case 9:return U.trys.push([9,11,,12]),[4,this.context.cache.match(t.svg)];case 10:return F=U.sent(),this.renderReplacedElement(t,n,F),[3,12];case 11:return U.sent(),this.context.logger.error("Error loading svg "+t.svg.substring(0,255)),[3,12];case 12:return t instanceof Dc&&t.tree?(l=new A(this.context,{scale:this.options.scale,backgroundColor:t.backgroundColor,x:0,y:0,width:t.width,height:t.height}),[4,l.render(t.tree)]):[3,14];case 13:d=U.sent(),t.width&&t.height&&this.ctx.drawImage(d,0,0,t.width,t.height,t.bounds.left,t.bounds.top,t.bounds.width,t.bounds.height),U.label=14;case 14:if(t instanceof Xs&&(h=Math.min(t.bounds.width,t.bounds.height),t.type===dn?t.checked&&(this.ctx.save(),this.path([new S(t.bounds.left+h*.39363,t.bounds.top+h*.79),new S(t.bounds.left+h*.16,t.bounds.top+h*.5549),new S(t.bounds.left+h*.27347,t.bounds.top+h*.44071),new S(t.bounds.left+h*.39694,t.bounds.top+h*.5649),new S(t.bounds.left+h*.72983,t.bounds.top+h*.23),new S(t.bounds.left+h*.84,t.bounds.top+h*.34085),new S(t.bounds.left+h*.39363,t.bounds.top+h*.79)]),this.ctx.fillStyle=j(bc),this.ctx.fill(),this.ctx.restore()):t.type===un&&t.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(t.bounds.left+h/2,t.bounds.top+h/2,h/4,0,Math.PI*2,!0),this.ctx.fillStyle=j(bc),this.ctx.fill(),this.ctx.restore())),Ow(t)&&t.value.length){switch(u=this.createFontStyle(s),H=u[0],f=u[1],B=this.fontMetrics.getMetrics(H,f).baseline,this.ctx.font=H,this.ctx.fillStyle=j(s.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=Xw(t.styles.textAlign),y=Fn(t),w=0,t.styles.textAlign){case 1:w+=y.width/2;break;case 2:w+=y.width;break}v=y.add(w,0,0,-y.height/2+1),this.ctx.save(),this.path([new S(y.left,y.top),new S(y.left+y.width,y.top),new S(y.left+y.width,y.top+y.height),new S(y.left,y.top+y.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new ct(t.value,v),s.letterSpacing,B),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!q(t.styles.display,2048))return[3,20];if(t.styles.listStyleImage===null)return[3,19];if(m=t.styles.listStyleImage,m.type!==0)return[3,18];F=void 0,E=m.url,U.label=15;case 15:return U.trys.push([15,17,,18]),[4,this.context.cache.match(E)];case 16:return F=U.sent(),this.ctx.drawImage(F,t.bounds.left-(F.width+10),t.bounds.top),[3,18];case 17:return U.sent(),this.context.logger.error("Error loading list-style-image "+E),[3,18];case 18:return[3,20];case 19:e.listValue&&t.styles.listStyleType!==-1&&(H=this.createFontStyle(s)[0],this.ctx.font=H,this.ctx.fillStyle=j(s.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",y=new LA(t.bounds.left,t.bounds.top+k(t.styles.paddingTop,t.bounds.width),t.bounds.width,ac(s.lineHeight,s.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new ct(e.listValue,y),s.letterSpacing,ac(s.lineHeight,s.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),U.label=20;case 20:return[2]}})})},A.prototype.renderStackContent=function(e){return hA(this,void 0,void 0,function(){var t,n,m,s,i,m,o,a,m,l,d,m,h,u,m,f,B,m,w,v,m;return sA(this,function(F){switch(F.label){case 0:if(q(e.element.container.flags,16))debugger;return[4,this.renderNodeBackgroundAndBorders(e.element)];case 1:F.sent(),t=0,n=e.negativeZIndex,F.label=2;case 2:return t<n.length?(m=n[t],[4,this.renderStack(m)]):[3,5];case 3:F.sent(),F.label=4;case 4:return t++,[3,2];case 5:return[4,this.renderNodeContent(e.element)];case 6:F.sent(),s=0,i=e.nonInlineLevel,F.label=7;case 7:return s<i.length?(m=i[s],[4,this.renderNode(m)]):[3,10];case 8:F.sent(),F.label=9;case 9:return s++,[3,7];case 10:o=0,a=e.nonPositionedFloats,F.label=11;case 11:return o<a.length?(m=a[o],[4,this.renderStack(m)]):[3,14];case 12:F.sent(),F.label=13;case 13:return o++,[3,11];case 14:l=0,d=e.nonPositionedInlineLevel,F.label=15;case 15:return l<d.length?(m=d[l],[4,this.renderStack(m)]):[3,18];case 16:F.sent(),F.label=17;case 17:return l++,[3,15];case 18:h=0,u=e.inlineLevel,F.label=19;case 19:return h<u.length?(m=u[h],[4,this.renderNode(m)]):[3,22];case 20:F.sent(),F.label=21;case 21:return h++,[3,19];case 22:f=0,B=e.zeroOrAutoZIndexOrTransformedOrOpacity,F.label=23;case 23:return f<B.length?(m=B[f],[4,this.renderStack(m)]):[3,26];case 24:F.sent(),F.label=25;case 25:return f++,[3,23];case 26:w=0,v=e.positiveZIndex,F.label=27;case 27:return w<v.length?(m=v[w],[4,this.renderStack(m)]):[3,30];case 28:F.sent(),F.label=29;case 29:return w++,[3,27];case 30:return[2]}})})},A.prototype.mask=function(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()},A.prototype.path=function(e){this.ctx.beginPath(),this.formatPath(e),this.ctx.closePath()},A.prototype.formatPath=function(e){var t=this;e.forEach(function(n,s){var i=pA(n)?n.start:n;s===0?t.ctx.moveTo(i.x,i.y):t.ctx.lineTo(i.x,i.y),pA(n)&&t.ctx.bezierCurveTo(n.startControl.x,n.startControl.y,n.endControl.x,n.endControl.y,n.end.x,n.end.y)})},A.prototype.renderRepeat=function(e,t,n,s){this.path(e),this.ctx.fillStyle=t,this.ctx.translate(n,s),this.ctx.fill(),this.ctx.translate(-n,-s)},A.prototype.resizeImage=function(e,t,n){var s;if(e.width===t&&e.height===n)return e;var i=(s=this.canvas.ownerDocument)!==null&&s!==void 0?s:document,o=i.createElement("canvas");o.width=Math.max(1,t),o.height=Math.max(1,n);var a=o.getContext("2d");return a.drawImage(e,0,0,e.width,e.height,0,0,t,n),o},A.prototype.renderBackgroundImage=function(e){return hA(this,void 0,void 0,function(){var t,n,s,i,o,a;return sA(this,function(l){switch(l.label){case 0:t=e.styles.backgroundImage.length-1,n=function(d){var h,u,f,W,lA,cA,G,O,R,B,W,lA,cA,G,O,w,v,m,F,E,H,y,U,D,R,L,W,oA,aA,G,O,SA,lA,cA,xA,IA,YA,he,ge,PA,Be,KA;return sA(this,function(Ke){switch(Ke.label){case 0:if(d.type!==0)return[3,5];h=void 0,u=d.url,Ke.label=1;case 1:return Ke.trys.push([1,3,,4]),[4,s.context.cache.match(u)];case 2:return h=Ke.sent(),[3,4];case 3:return Ke.sent(),s.context.logger.error("Error loading background-image "+u),[3,4];case 4:return h&&(f=ri(e,t,[h.width,h.height,h.width/h.height]),W=f[0],lA=f[1],cA=f[2],G=f[3],O=f[4],R=s.ctx.createPattern(s.resizeImage(h,G,O),"repeat"),s.renderRepeat(W,R,lA,cA)),[3,6];case 5:Ig(d)?(B=ri(e,t,[null,null,null]),W=B[0],lA=B[1],cA=B[2],G=B[3],O=B[4],w=Qg(d.angle,G,O),v=w[0],m=w[1],F=w[2],E=w[3],H=w[4],y=document.createElement("canvas"),y.width=G,y.height=O,U=y.getContext("2d"),D=U.createLinearGradient(m,E,F,H),Zl(d.stops,v).forEach(function(Fr){return D.addColorStop(Fr.stop,j(Fr.color))}),U.fillStyle=D,U.fillRect(0,0,G,O),G>0&&O>0&&(R=s.ctx.createPattern(y,"repeat"),s.renderRepeat(W,R,lA,cA))):Tg(d)&&(L=ri(e,t,[null,null,null]),W=L[0],oA=L[1],aA=L[2],G=L[3],O=L[4],SA=d.position.length===0?[Ts]:d.position,lA=k(SA[0],G),cA=k(SA[SA.length-1],O),xA=Ug(d,lA,cA,G,O),IA=xA[0],YA=xA[1],IA>0&&YA>0&&(he=s.ctx.createRadialGradient(oA+lA,aA+cA,0,oA+lA,aA+cA,IA),Zl(d.stops,IA*2).forEach(function(Fr){return he.addColorStop(Fr.stop,j(Fr.color))}),s.path(W),s.ctx.fillStyle=he,IA!==YA?(ge=e.bounds.left+.5*e.bounds.width,PA=e.bounds.top+.5*e.bounds.height,Be=YA/IA,KA=1/Be,s.ctx.save(),s.ctx.translate(ge,PA),s.ctx.transform(1,0,0,Be,0,0),s.ctx.translate(-ge,-PA),s.ctx.fillRect(oA,KA*(aA-PA)+PA,G,O*KA),s.ctx.restore()):s.ctx.fill())),Ke.label=6;case 6:return t--,[2]}})},s=this,i=0,o=e.styles.backgroundImage.slice(0).reverse(),l.label=1;case 1:return i<o.length?(a=o[i],[5,n(a)]):[3,4];case 2:l.sent(),l.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},A.prototype.renderSolidBorder=function(e,t,n){return hA(this,void 0,void 0,function(){return sA(this,function(s){return this.path(id(n,t)),this.ctx.fillStyle=j(e),this.ctx.fill(),[2]})})},A.prototype.renderDoubleBorder=function(e,t,n,s){return hA(this,void 0,void 0,function(){var i,o;return sA(this,function(a){switch(a.label){case 0:return t<3?[4,this.renderSolidBorder(e,n,s)]:[3,2];case 1:return a.sent(),[2];case 2:return i=Mw(s,n),this.path(i),this.ctx.fillStyle=j(e),this.ctx.fill(),o=Dw(s,n),this.path(o),this.ctx.fill(),[2]}})})},A.prototype.renderNodeBackgroundAndBorders=function(e){return hA(this,void 0,void 0,function(){var t,n,s,i,o,a,l,d,h=this;return sA(this,function(u){switch(u.label){case 0:return this.applyEffects(e.getEffects(2)),t=e.container.styles,n=!WA(t.backgroundColor)||t.backgroundImage.length,s=[{style:t.borderTopStyle,color:t.borderTopColor,width:t.borderTopWidth},{style:t.borderRightStyle,color:t.borderRightColor,width:t.borderRightWidth},{style:t.borderBottomStyle,color:t.borderBottomColor,width:t.borderBottomWidth},{style:t.borderLeftStyle,color:t.borderLeftColor,width:t.borderLeftWidth}],i=Ww(be(t.backgroundClip,0),e.curves),n||t.boxShadow.length?(this.ctx.save(),this.path(i),this.ctx.clip(),WA(t.backgroundColor)||(this.ctx.fillStyle=j(t.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(e.container)]):[3,2];case 1:u.sent(),this.ctx.restore(),t.boxShadow.slice(0).reverse().forEach(function(f){h.ctx.save();var B=pn(e.curves),w=f.inset?0:_w,v=bw(B,-w+(f.inset?1:-1)*f.spread.number,(f.inset?1:-1)*f.spread.number,f.spread.number*(f.inset?-2:2),f.spread.number*(f.inset?-2:2));f.inset?(h.path(B),h.ctx.clip(),h.mask(v)):(h.mask(B),h.ctx.clip(),h.path(v)),h.ctx.shadowOffsetX=f.offsetX.number+w,h.ctx.shadowOffsetY=f.offsetY.number,h.ctx.shadowColor=j(f.color),h.ctx.shadowBlur=f.blur.number,h.ctx.fillStyle=f.inset?j(f.color):"rgba(0,0,0,1)",h.ctx.fill(),h.ctx.restore()}),u.label=2;case 2:o=0,a=0,l=s,u.label=3;case 3:return a<l.length?(d=l[a],d.style!==0&&!WA(d.color)&&d.width>0?d.style!==2?[3,5]:[4,this.renderDashedDottedBorder(d.color,d.width,o,e.curves,2)]:[3,11]):[3,13];case 4:return u.sent(),[3,11];case 5:return d.style!==3?[3,7]:[4,this.renderDashedDottedBorder(d.color,d.width,o,e.curves,3)];case 6:return u.sent(),[3,11];case 7:return d.style!==4?[3,9]:[4,this.renderDoubleBorder(d.color,d.width,o,e.curves)];case 8:return u.sent(),[3,11];case 9:return[4,this.renderSolidBorder(d.color,o,e.curves)];case 10:u.sent(),u.label=11;case 11:o++,u.label=12;case 12:return a++,[3,3];case 13:return[2]}})})},A.prototype.renderDashedDottedBorder=function(e,t,n,s,i){return hA(this,void 0,void 0,function(){var o,a,l,d,h,u,f,B,w,v,m,F,E,H,y,U,y,U;return sA(this,function(D){return this.ctx.save(),o=Rw(s,n),a=id(s,n),i===2&&(this.path(a),this.ctx.clip()),pA(a[0])?(l=a[0].start.x,d=a[0].start.y):(l=a[0].x,d=a[0].y),pA(a[1])?(h=a[1].end.x,u=a[1].end.y):(h=a[1].x,u=a[1].y),n===0||n===2?f=Math.abs(l-h):f=Math.abs(d-u),this.ctx.beginPath(),i===3?this.formatPath(o):this.formatPath(a.slice(0,2)),B=t<3?t*3:t*2,w=t<3?t*2:t,i===3&&(B=t,w=t),v=!0,f<=B*2?v=!1:f<=B*2+w?(m=f/(2*B+w),B*=m,w*=m):(F=Math.floor((f+w)/(B+w)),E=(f-F*B)/(F-1),H=(f-(F+1)*B)/F,w=H<=0||Math.abs(w-E)<Math.abs(w-H)?E:H),v&&(i===3?this.ctx.setLineDash([0,B+w]):this.ctx.setLineDash([B,w])),i===3?(this.ctx.lineCap="round",this.ctx.lineWidth=t):this.ctx.lineWidth=t*2+1.1,this.ctx.strokeStyle=j(e),this.ctx.stroke(),this.ctx.setLineDash([]),i===2&&(pA(a[0])&&(y=a[3],U=a[0],this.ctx.beginPath(),this.formatPath([new S(y.end.x,y.end.y),new S(U.start.x,U.start.y)]),this.ctx.stroke()),pA(a[1])&&(y=a[1],U=a[2],this.ctx.beginPath(),this.formatPath([new S(y.end.x,y.end.y),new S(U.start.x,U.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},A.prototype.render=function(e){return hA(this,void 0,void 0,function(){var t;return sA(this,function(n){switch(n.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=j(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),t=Lw(e),[4,this.renderStack(t)];case 1:return n.sent(),this.applyEffects([]),[2,this.canvas]}})})},A})(ld),Ow=function(r){return r instanceof Mc||r instanceof Lc?!0:r instanceof Xs&&r.type!==un&&r.type!==dn},Ww=function(r,A){switch(r){case 0:return pn(A);case 2:return yw(A);case 1:default:return Cn(A)}},Xw=function(r){switch(r){case 1:return"center";case 2:return"right";case 0:default:return"left"}},Jw=["-apple-system","system-ui"],zw=function(r){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?r.filter(function(A){return Jw.indexOf(A)===-1}):r},Yw=(function(r){mA(A,r);function A(e,t){var n=r.call(this,e,t)||this;return n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=t,n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+t.width+"x"+t.height+" at "+t.x+","+t.y+") with scale "+t.scale),n}return A.prototype.render=function(e){return hA(this,void 0,void 0,function(){var t,n;return sA(this,function(s){switch(s.label){case 0:return t=Vs(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e),[4,$w(t)];case 1:return n=s.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=j(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(n,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},A})(ld),$w=function(r){return new Promise(function(A,e){var t=new Image;t.onload=function(){A(t)},t.onerror=e,t.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(r))})},Zw=(function(){function r(A){var e=A.id,t=A.enabled;this.id=e,this.enabled=t,this.start=Date.now()}return r.prototype.debug=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.debug=="function"?console.debug.apply(console,Hr([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.prototype.getTime=function(){return Date.now()-this.start},r.prototype.info=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&typeof window<"u"&&window.console&&typeof console.info=="function"&&console.info.apply(console,Hr([this.id,this.getTime()+"ms"],A))},r.prototype.warn=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.warn=="function"?console.warn.apply(console,Hr([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.prototype.error=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.error=="function"?console.error.apply(console,Hr([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.instances={},r})(),qw=(function(){function r(A,e){var t;this.windowBounds=e,this.instanceName="#"+r.instanceCount++,this.logger=new Zw({id:this.instanceName,enabled:A.logging}),this.cache=(t=A.cache)!==null&&t!==void 0?t:new pw(this,A)}return r.instanceCount=1,r})(),jw=function(r,A){return A===void 0&&(A={}),Ap(r,A)};typeof window<"u"&&Ad.setContext(window);var Ap=function(r,A){return hA(void 0,void 0,void 0,function(){var e,t,n,s,i,o,a,l,d,h,u,f,B,w,v,m,F,E,H,y,D,U,D,R,L,W,oA,aA,G,O,SA,lA,cA,xA,IA,YA,he,ge,PA,Be;return sA(this,function(KA){switch(KA.label){case 0:if(!r||typeof r!="object")return[2,Promise.reject("Invalid element provided as first argument")];if(e=r.ownerDocument,!e)throw new Error("Element is not attached to a Document");if(t=e.defaultView,!t)throw new Error("Document is not attached to a Window");return n={allowTaint:(R=A.allowTaint)!==null&&R!==void 0?R:!1,imageTimeout:(L=A.imageTimeout)!==null&&L!==void 0?L:15e3,proxy:A.proxy,useCORS:(W=A.useCORS)!==null&&W!==void 0?W:!1},s=as({logging:(oA=A.logging)!==null&&oA!==void 0?oA:!0,cache:A.cache},n),i={windowWidth:(aA=A.windowWidth)!==null&&aA!==void 0?aA:t.innerWidth,windowHeight:(G=A.windowHeight)!==null&&G!==void 0?G:t.innerHeight,scrollX:(O=A.scrollX)!==null&&O!==void 0?O:t.pageXOffset,scrollY:(SA=A.scrollY)!==null&&SA!==void 0?SA:t.pageYOffset},o=new LA(i.scrollX,i.scrollY,i.windowWidth,i.windowHeight),a=new qw(s,o),l=(lA=A.foreignObjectRendering)!==null&&lA!==void 0?lA:!1,d={allowTaint:(cA=A.allowTaint)!==null&&cA!==void 0?cA:!1,onclone:A.onclone,ignoreElements:A.ignoreElements,inlineImages:l,copyStyles:l},a.logger.debug("Starting document clone with size "+o.width+"x"+o.height+" scrolled to "+-o.left+","+-o.top),h=new qc(a,r,d),u=h.clonedReferenceElement,u?[4,h.toIFrame(e,o)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return f=KA.sent(),B=zs(u)||ew(u)?Hu(u.ownerDocument):br(a,u),w=B.width,v=B.height,m=B.left,F=B.top,E=ep(a,u,A.backgroundColor),H={canvas:A.canvas,backgroundColor:E,scale:(IA=(xA=A.scale)!==null&&xA!==void 0?xA:t.devicePixelRatio)!==null&&IA!==void 0?IA:1,x:((YA=A.x)!==null&&YA!==void 0?YA:0)+m,y:((he=A.y)!==null&&he!==void 0?he:0)+F,width:(ge=A.width)!==null&&ge!==void 0?ge:Math.ceil(w),height:(PA=A.height)!==null&&PA!==void 0?PA:Math.ceil(v)},l?(a.logger.debug("Document cloned, using foreign object rendering"),D=new Yw(a,H),[4,D.render(u)]):[3,3];case 2:return y=KA.sent(),[3,5];case 3:return a.logger.debug("Document cloned, element located at "+m+","+F+" with size "+w+"x"+v+" using computed rendering"),a.logger.debug("Starting DOM parsing"),U=xc(a,u),E===U.styles.backgroundColor&&(U.styles.backgroundColor=DA.TRANSPARENT),a.logger.debug("Starting renderer for element at "+H.x+","+H.y+" with size "+H.width+"x"+H.height),D=new Vw(a,H),[4,D.render(U)];case 4:y=KA.sent(),KA.label=5;case 5:return(!((Be=A.removeContainer)!==null&&Be!==void 0)||Be)&&(qc.destroy(f)||a.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),a.logger.debug("Finished rendering"),[2,y]}})})},ep=function(r,A,e){var t=A.ownerDocument,n=t.documentElement?ot(r,getComputedStyle(t.documentElement).backgroundColor):DA.TRANSPARENT,s=t.body?ot(r,getComputedStyle(t.body).backgroundColor):DA.TRANSPARENT,i=typeof e=="string"?ot(r,e):e===null?DA.TRANSPARENT:4294967295;return A===t.documentElement?WA(n)?WA(s)?i:s:n:i};const Dt=class Dt extends c.EngineObject{constructor(A,e){super(A,e),this.ad(new c.ObjResettingWithEvent(A.renderInUEChanged,()=>A.renderInUE?new dd(A,e):new cd(A,e)))}};p(Dt,"type",Dt.register("ESUeViewer",c.ESGeoDiv.type,Dt));let ni=Dt;class cd extends c.Destroyable{constructor(e,t){super();p(this,"_screenPosition",this.disposeVar(c.reactArrayWithUndefined(void 0)));const n=t.viewer;if(!n){console.warn("viewer is undefined!");return}const s=this.disposeVar(new c.ESTextLabel);s.parentID=e.id,this.ad(e.components.disposableAdd(s,!0)),s.show=!1,this.dispose(c.bind([s,"position"],[e,"position"])),this.dispose(c.bind([s,"rotation"],[e,"rotation"])),this.dispose(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.dispose(c.bind([s,"flyInParam"],[e,"flyInParam"])),this.dispose(e.calcFlyToParamEvent.disposableOn(()=>{$A(n,s.id)})),this.dispose(e.calcFlyInParamEvent.disposableOn(async()=>{if(!t.actived)return;const a=await t.getCurrentCameraInfo();if(!a)return;const{position:l,rotation:d}=a;e.flyInParam={position:l,rotation:d,flyDuration:1}})),this.dispose(e.smoothMoveEvent.disposableOn((a,l)=>{Ve(n,s.id,a,l)})),this.dispose(e.smoothMoveWithRotationEvent.disposableOn((a,l,d)=>{Ne(n,s.id,a,l,d)})),this.dispose(e.smoothMoveOnGroundEvent.disposableOn((a,l,d,h)=>{ke(n,s.id,a,l,h,d)})),this.dispose(e.smoothMoveWithRotationOnGroundEvent.disposableOn((a,l,d,h,u)=>{_e(n,s.id,a,l,d,h,u)})),this.dispose(e.flyToEvent.disposableOn((a,l)=>{s.flyTo(a)})),this.dispose(e.flyInEvent.don(a=>{s.flyIn(a)}));const i=this._screenPosition,o=this.disposeVar(new c.ESCustomDiv);o.parentID=e.id,t.add(o),this.dispose(()=>t.delete(o)),this.dispose(c.bind([o,"allowPicking"],[e,"allowPicking"]));{const a=this.disposeVar(c.createAnimateFrame()),l=()=>{e.show?a.restart(void 0,async()=>{if(!e.position)return;const d=await t.lonLatAltToScreenPosition(e.position);if(!this.isDestroyed())if(!d)this._screenPosition.value=void 0;else{const[h,u]=d;h===-1&&u===-1?this._screenPosition.value=void 0:this._screenPosition.value=[h,u]}}):a.cancel()};l(),this.dispose(e.showChanged.disposableOn(l))}{const a=()=>class extends c.Destroyable{constructor(u,f,B){if(super(),this._subContainer=u,!B)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const w=new c.PosFloatDiv,v=w.element;this._subContainer.appendChild(v),this.dispose(()=>this._subContainer.removeChild(v)),v.onclick=m=>{(e.allowPicking??!1)&&e.pickedEvent.emit(new c.ESJPickedResult({div:v,pointerEvent:m},e,void 0,void 0,void 0,[m.x,m.y]))};{const m=()=>{e.editing?v.children[0].style.pointerEvents="none":v.children[0].style.pointerEvents="all"};m(),this.d(e.editingChanged.don(m))}{const m=()=>{let E=e.show;if(!E)w.show=E,w.winPos=[0,0];else if(i.value){const H=t.getCurrentCameraInfo(),y=c.getDistancesFromPositions([e.position,H.position],"NONE")[0];e.minVisibleDistance<e.maxVisibleDistance?E=e.minVisibleDistance<y&&y<e.maxVisibleDistance:e.maxVisibleDistance==0&&(E=y>e.minVisibleDistance),w.show=E,w.winPos=[...i.value]}};m();const F=this.disposeVar(c.createNextAnimateFrameEvent(e.showChanged,i.changed,t.cameraChanged,e.maxVisibleDistanceChanged,e.minVisibleDistanceChanged));this.dispose(F.disposableOn(m))}{const m=()=>{const[F,E]=e.anchor??c.ESGeoDiv.defaults.anchor;w.originRatioX=F,w.originRatioY=E};m(),this.dispose(e.anchorChanged.disposableOn(m))}{const m=()=>{w.opacity=e.opacity??c.ESGeoDiv.defaults.opacity};m(),this.dispose(e.opacityChanged.disposableOn(m))}this.disposeVar(new e.instanceClass(w.contentDiv,e,B))}},l=()=>{try{e.instanceClass?o.instanceClass=a():o.instanceClass=void 0}catch(h){console.error(h)}};l();const d=this.dv(c.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged,e.anchorChanged,e.editingChanged,e.showChanged,e.allowPickingChanged));this.d(d.don(l))}}get screenPosition(){return this._screenPosition.value}get screenPositionChanged(){return this._screenPosition.changed}set screenPosition(e){this._screenPosition.value=e}}class dd extends c.Destroyable{constructor(e,t){super();p(this,"_imageLabel");p(this,"_hasClassDivAndPos",{});this._imageLabel=this.dv(new c.ESImageLabel),this._imageLabel.isHoverZoom=!1,this._imageLabel.parentID=e.id;const n=t.viewer;if(!n){console.warn("viewer is undefined!");return}const s=this._imageLabel;this.ad(e.components.disposableAdd(s,!0));{const i=()=>{if(!n)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const l=document.createElement("div"),d=this.dv(new e.instanceClass(l,e,t))._container;if(d.style.opacity=e.opacity.toString()??c.ESGeoDiv.defaults.opacity,d.style.position="fixed",d.style.zIndex="-1",d.style.top="0px",!document.body.contains(d)){document.body.appendChild(d);let u=d?d.querySelectorAll("*[class]"):[];for(let f=0;f<u.length;f++){const B=u[f];var h=B.getBoundingClientRect();this._hasClassDivAndPos[B.className]=[B.offsetLeft,B.offsetTop,B.offsetLeft+h.width,B.offsetTop+h.height]}}jw(d,{backgroundColor:null,allowTaint:!0,useCORS:!0,width:d.offsetWidth,height:d.offsetHeight,scale:1}).then(u=>{document.body.contains(d)&&document.body.removeChild(d),s.url=u.toDataURL(),s.show=e.show}).catch(()=>{document.body.contains(d)&&document.body.removeChild(d)})},o=()=>{try{e.instanceClass?i():(s.url="",s.show=!1)}catch(l){console.error(l)}};o();const a=this.dv(c.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged));this.d(a.don(o))}{const i=()=>{s.show=e.show};s.show=!1,this.ad(e.showChanged.don(i))}this.d(c.track([s,"anchor"],[e,"anchor"])),this.d(c.bind([s,"position"],[e,"position"])),this.d(c.bind([s,"rotation"],[e,"rotation"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.bind([s,"flyInParam"],[e,"flyInParam"])),this.d(c.bind([s,"allowPicking"],[e,"allowPicking"])),this.d(c.bind([s,"scale"],[e,"scale"])),this.d(c.track([s,"minVisibleDistance"],[e,"minVisibleDistance"])),this.d(c.track([s,"maxVisibleDistance"],[e,"maxVisibleDistance"])),this.ad(e.automaticLandingEvent.don(()=>{s.automaticLanding()})),this.d(t.widgetEvent.don(i=>{if(i.objId!==this._imageLabel.id)return;const{type:o,add:a}=i;if(o==="leftClick"&&a){const l=(a==null?void 0:a.classNames)??[],d=Object.keys(this._hasClassDivAndPos);for(let h=0;h<d.length;h++){const u=d[h];let f=this._hasClassDivAndPos[u];a&&a.mouseRelativePos&&a.mouseRelativePos[0]>=f[0]&&a.mouseRelativePos[0]<=f[2]&&a.mouseRelativePos[1]>=f[1]&&a.mouseRelativePos[1]<=f[3]&&l.push(u)}a.classNames=l}e.widgetEvent.emit({type:o,add:a})})),this.d(e.calcFlyToParamEvent.don(()=>{$A(n,s.id)})),this.d(e.calcFlyInParamEvent.don(()=>{const i=t.getCurrentCameraInfo();if(!i)return;const{position:o,rotation:a}=i;e.flyInParam={position:o,rotation:a,flyDuration:1}})),this.d(e.smoothMoveEvent.don((i,o)=>{Ve(n,s.id,i,o)})),this.d(e.smoothMoveWithRotationEvent.don((i,o,a)=>{Ne(n,s.id,i,o,a)})),this.d(e.smoothMoveOnGroundEvent.don((i,o,a,l)=>{ke(n,s.id,i,o,l,a)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((i,o,a,l,d)=>{_e(n,s.id,i,o,a,l,d)})),this.d(e.flyToEvent.don((i,o)=>{s.flyTo(i)})),this.d(e.flyInEvent.don(i=>{s.flyIn(i)}))}}const oe=class oe extends Y{constructor(e,t){super(e,t);p(this,"_featureStyle",this.disposeVar(c.react([])));const n=t.viewer;if(!n){console.warn("viewer is undefined!");return}this.d(e.flyToFeatureIndexEvent.don((s,i)=>{n.callUeFunc({f:"flyToFeatureIndex",p:{id:e.id,index:s,duration:i}})})),this.d(e.flyToFeatureEvent.don((s,i,o)=>{n.callUeFunc({f:"flyToFeature",p:{id:e.id,key:s,value:i,duration:o}})})),this.ad(e.setFeatureStyleEvent.don((s,i)=>{this.featureStyle=i?[...this.featureStyle,...s]:s,n.callUeFunc({f:"setFeatureStyle",p:{id:e.id,json:this.featureStyle}})})),this.ad(e.resetFeatureStyleEvent.don(()=>{n.callUeFunc({f:"resetFeatureStyle",p:{id:e.id}})}))}get featureStyle(){return this._featureStyle.value}set featureStyle(e){this._featureStyle.value=e}get featureStyleChanged(){return this._featureStyle.changed}};p(oe,"type",oe.register("ESUeViewer",c.ESGeoJson.type,oe)),p(oe,"forceUeUpdateProps",[...Y.forceUeUpdateProps,"url"]),p(oe,"propValFuncs",{...Y.propValFuncs,url:e=>typeof e=="string"?c.ESSceneObject.context.getStrFromEnv(e):e});let si=oe;const Rt=class Rt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Rt,"type",Rt.register("ESUeViewer",c.ESGeoLineString.type,Rt));let Un=Rt;const xt=class xt extends nA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(xt,"type",xt.register("ESUeViewer",c.ESGeoPolygonWithFire.type,xt));let ii=xt;const Pt=class Pt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Pt,"type",Pt.register("ESUeViewer",c.ESGeoRectangle.type,Pt));let oi=Pt;const Kt=class Kt extends nA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Kt,"type",Kt.register("ESUeViewer",c.ESGeoWater.type,Kt));let ai=Kt;const ae=class ae extends P{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.setNodePositionEvent.don((n,s)=>{uo(t,A.id,n,s)})),this.d(A.setNodeRotationEvent.don((n,s)=>{ho(t,A.id,n,s)})),this.d(A.setNodeScaleEvent.don((n,s)=>{go(t,A.id,n,s)}))}};p(ae,"forceUeUpdateProps",[...P.forceUeUpdateProps,"url"]),p(ae,"propValFuncs",{...P.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(c.rpToap(A)):(A.url=c.ESSceneObject.context.getStrFromEnv(c.rpToap(A.url)),A),czmMaximumScale:null,czmMinimumPixelSize:null,czmNativeScale:null,czmColor:null}),p(ae,"type",ae.register("ESUeViewer",c.ESGltfModel.type,ae));let li=ae;const Gt=class Gt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Gt,"type",Gt.register("ESUeViewer",c.ESHeightMeasurement.type,Gt));let ci=Gt;const Nt=class Nt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=async(i,o,a,l)=>{const{viewer:d}=i;if(!d){console.error("AIMoveTo: ueViewer.viewer is undefined");return}const h=await d.callUeFunc({f:"AIMoveTo",p:{id:o,Destination:a,Time:l}});return h.error&&console.error("AIMoveTo:",h.error),h};this.d(A.aiMoveToEvent.don((i,o)=>{n(e,A.id,i,o)}));const s=async(i,o)=>{const{viewer:a}=i;if(!a){console.error("StopAIMove: ueViewer.viewer is undefined");return}const l=await a.callUeFunc({f:"StopAIMove",p:{id:o}});return l.error&&console.error("StopAIMove:",l.error),l};this.d(A.stopAIMoveEvent.don(()=>{s(e,A.id)}))}};p(Nt,"type",Nt.register("ESUeViewer",c.ESHuman.type,Nt));let di=Nt;const le=class le extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}A.anchor=[.5,1]}};p(le,"type",le.register("ESUeViewer",c.ESImageLabel.type,le)),p(le,"forceUeUpdateProps",[...QA.forceUeUpdateProps,"url"]),p(le,"propValFuncs",{...QA.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(c.rpToap(A)):(A.url=c.ESSceneObject.context.getStrFromEnv(c.rpToap(A.url)),A)});let ui=le;const kt=class kt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(kt,"type",kt.register("ESUeViewer",c.ESLevelRuntimeModel.type,kt));let hi=kt;const _t=class _t extends Sr{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(_t,"type",_t.register("ESUeViewer",c.ESLocalCircle.type,_t));let gi=_t;const Vt=class Vt extends Y{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Vt,"type",Vt.register("ESUeViewer",c.ESLocalPolygonZ.type,Vt));let Bi=Vt;const Ot=class Ot extends Sr{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Ot,"type",Ot.register("ESUeViewer",c.ESLocalRectangle.type,Ot));let fi=Ot;const Wt=class Wt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Wt,"type",Wt.register("ESUeViewer",c.ESLocalSkyBox.type,Wt));let wi=Wt;const Xt=class Xt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Xt,"type",Xt.register("ESUeViewer",c.ESLocationMeasurement.type,Xt));let pi=Xt;const Jt=class Jt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Jt,"type",Jt.register("ESUeViewer",c.ESPipeFence.type,Jt));let Ci=Jt;const zt=class zt extends Un{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(zt,"type",zt.register("ESUeViewer",c.ESPipeline.type,zt));let vi=zt;const Yt=class Yt extends Ir{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.highlightFeatureEvent.don(n=>{const s=typeof n=="number"?n.toString():n;oo(t,A.id,s)})),this.d(A.highlightFeatureAndFlyToEvent.don((n,s,i,o)=>{const a=typeof n=="number"?n.toString():n;ao(t,A.id,a,o??1)})),this.d(A.setLayerVisibleEvent.don((n,s)=>{let i="";typeof s!="string"?i=JSON.stringify(s):i=s,lo(t,A.id,i)})),this.d(A.setLayerColorEvent.don((n,s)=>{let i="";typeof s!="string"?i=JSON.stringify(s):i=s,co(t,A.id,i)}))}};p(Yt,"type",Yt.register("ESUeViewer",c.ESPipeserTileset.type,Yt));let mi=Yt;const $t=class $t extends nA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p($t,"type",$t.register("ESUeViewer",c.ESPit.type,$t));let Fi=$t;const Zt=class Zt extends QA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.ad(A.getInitialStyleEvent.don(async()=>{try{const n=await t.callUeFunc({f:"GetInitialStyle",p:{id:A.id}});n.error!=""&&console.error("getInitialStyleEvent:",n.error),A.initialStyle.value=structuredClone(n.re)}catch(n){console.error("getInitialStyleEvent:",n),A.initialStyle.value=void 0}}))}};p(Zt,"type",Zt.register("ESUeViewer",c.ESPoi2D.type,Zt));let Qi=Zt;const qt=class qt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(qt,"type",qt.register("ESUeViewer",c.ESPoi3D.type,qt));let Ui=qt;const ce=class ce extends Y{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ce,"type",ce.register("ESUeViewer",c.ESPoiTileset.type,ce)),p(ce,"forceUeUpdateProps",[...Y.forceUeUpdateProps,"url"]),p(ce,"propValFuncs",{...Y.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(A):(A.url=c.ESSceneObject.context.getStrFromEnv(A.url),A)});let Ei=ce;const jt=class jt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(jt,"type",jt.register("ESUeViewer",c.ESPolygonFence.type,jt));let yi=jt;const Re=class Re extends nA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Re,"type",Re.register("ESUeViewer",c.ESPolygonFlattenedPlane.type,Re)),p(Re,"propValFuncs",{...nA.propValFuncs,targetID:A=>{if(!A)return"";const e=c.ESSceneObject.getSceneObject(A);return e?(e.components.main??e).id:A}});let Si=Re;const Ar=class Ar extends nA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Ar,"type",Ar.register("ESUeViewer",c.ESPolygonWithHole.type,Ar));let Ii=Ar;const er=class er extends jA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(()=>{A.ids=[]}),this.d(A.highlightInner3DtilesetEvent.don(n=>{n.highlight=!0})),this.d(A.removeHighlightInner3DtilesetEvent.don(n=>{n.highlight=!1}));{const n=o=>{o=o.toLocaleLowerCase();let a=[255,255,255,1];if(o.startsWith("#")){if(o.length===4){let l=parseInt(o[1]+o[1],16),d=parseInt(o[2]+o[2],16),h=parseInt(o[3]+o[3],16);a=[l,d,h,1]}else if(o.length===7){let l=parseInt(o.substring(1,3),16),d=parseInt(o.substring(3,5),16),h=parseInt(o.substring(5,7),16);a=[l,d,h,1]}}else if(o.startsWith("rgba")){let l=o.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/);if(l){let d=parseInt(l[1]),h=parseInt(l[2]),u=parseInt(l[3]),f=parseFloat(l[4]);a=[d,h,u,f]}}else if(o.startsWith("rgb")){let l=o.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);if(l){let d=parseInt(l[1]),h=parseInt(l[2]),u=parseInt(l[3]);a=[d,h,u,1]}}else console.error("color类型只能为#rrggbb、#rgb、rgba(r,g,b,a)、rgb(r,g,b)");return[a[0]/255,a[1]/255,a[2]/255,a[3]]},s=()=>{const o=A.layerConfig;if(!o)return;const a=[];o.forEach(l=>{a.push({condition:[{field:"layer",op:"==",value:l.layer}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible})}),A.setFeatureStyle(a)};s();const i=this.dv(c.createNextAnimateFrameEvent(A.layerConfigChanged,A.colorBlendModeChanged));this.d(i.don(()=>{s()}))}}};p(er,"type",er.register("ESUeViewer",c.ESRtsTileset.type,er));let Ti=er;const tr=class tr extends Y{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(A.addTreesEvent.don(n=>{c.addTreesCallFunc(e,A.id,n)})),this.d(A.removeAllTreesEvent.don(()=>{c.removeAllTreesCallFunc(e,A.id)})),this.d(A.updateTreeParamsEvent.don(n=>{c.updateTreeParamsCallFunc(e,A.id,n)})),this.d(A.cutDownTreesEvent.don((n,s)=>{c.cutDownTreesCallFunc(e,A.id,n,s)})),this.d(A.growthSimulationEvent.don((n,s,i)=>{c.growthSimulationCallFunc(e,A.id,n,s,i)}))}};p(tr,"type",tr.register("ESUeViewer",c.ESSeparateFoliage.type,tr));let Hi=tr;const rr=class rr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(rr,"type",rr.register("ESUeViewer",c.ESSubmergingAnalysis.type,rr));let bi=rr;const nr=class nr extends nA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.stopEvent.don(()=>{t.callUeFunc({f:"Stop",p:{id:A.id}})}))}};p(nr,"type",nr.register("ESUeViewer",c.ESSunshineAnalysis.type,nr));let Li=nr;const sr=class sr extends nA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})}))}};p(sr,"type",sr.register("ESUeViewer",c.ESSurfaceAreaMeasurement.type,sr));let Mi=sr;const ir=class ir extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ir,"type",ir.register("ESUeViewer",c.ESTextLabel.type,ir));let Di=ir;const xe=class xe extends QA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.callFunctionEvent.don(async(n,s)=>{const i=await In(t,A.id,n,s);A.__callFunctionResultEvent.emit(i)}))}};p(xe,"type",xe.register("ESUeViewer",c.ESUEWidget.type,xe)),p(xe,"propValFuncs",{...QA.propValFuncs,info:A=>JSON.stringify(A??{})});let Ri=xe;const ud=r=>{switch(r){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"未搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是场景原有的,而是新建的,无法绑定";case 4:return"搜索到ActorTag对应的Actor是地形或3DTileset,无法绑定";default:return"未知错误"}},tp=r=>{switch(r){case 0:return"创建成功";case 1:return"未找到对应的资源,无法创建";case 2:return"Id与场景中现有的ActorTag重复,创建后可能出现问题,创建失败";default:return"未知错误"}},or=class or extends c.EngineObject{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn(`${A.id} UeESUnrealActor viewer is undefined!`);return}this.d(()=>{yn(t,A.id)});const n=async()=>{l()||await t.callUeFunc({f:"update",p:{id:A.id,name:A.name,show:A.show,rotation:A.rotation,flyToParam:A.flyToParam??c.ESUnrealActor.defaultFlyToParam,flyInParam:A.flyInParam??c.ESUnrealActor.defaultFlyInParam,highlight:A.highlight,collision:A.collision,scale:A.scale,minVisibleDistance:A.minVisibleDistance,maxVisibleDistance:A.maxVisibleDistance}})},s=this.dv(c.createNextAnimateFrameEvent(A.showChanged,A.nameChanged,A.rotationChanged,A.flyToParamChanged,A.flyInParamChanged,A.highlightChanged,A.collisionChanged,A.scaleChanged,A.minVisibleDistanceChanged,A.maxVisibleDistanceChanged));this.d(s.don(n)),this.d(A.flushEvent.don(()=>s.flush()));let i,o;const a=async()=>{l()||(await t.callUeFunc({f:"update",p:{id:A.id,position:A.position}}),(e.debug??!1)&&console.log(`updatePostion:${A.position},actorTag:${A.actorTag},actorClass:${A.actorClass}`))},l=()=>!i&&!o?(console.warn(`${A.id} 未绑定ActorTag或未创建ActorClass!`),!0):!1,d=async()=>{const{id:u}=A,f=await e.unBindActorByID(u);f&&f.error!==""&&console.warn(`${A.id} UeESUnrealActor UnBindActorByID: ${f.error}`),i=void 0;const B=await t.callUeFunc({f:"destroy",p:{id:u}});if(B&&B.error!==""){console.warn(`${A.id} UeESUnrealActor DestroyActorByID: ${B.error}`);return}o=void 0},h=this.dv(c.react({type:"ActorClass",actorClass:"default"}));{const u=this.dv(c.createNextAnimateFrameEvent(A.actorClassChanged,A.actorTagChanged)),f=async()=>{A.actorTag!==""?h.value={type:"ActorTag",actorTag:A.actorTag}:h.value={type:"ActorClass",actorClass:A.actorClass===""?"default":A.actorClass}};f(),this.d(u.don(f)),this.d(A.flushEvent.don(()=>u.flush()))}{const u=this.dv(c.createProcessingFromAsyncFunc(async B=>{if(await B.promise(d()),A.lastActorStatus="null",h.value.type==="ActorTag"){const{actorTag:w}=h.value;try{const v=await B.promise(e.bindActorByTag(A.id,w));if(!v)return;if(v.error!==""){console.warn(`${A.id} UeESUnrealActor BindActorByTag:${w},${v.error}`);return}if(v.re.type===0)A.lastActorStatus="bound",i=w;else if(v.re.type===1)A.lastActorStatus="bound",i=w,console.warn(`${A.id} UeESUnrealActor BindActorByTag:${w},${ud(v.re.type)}`);else{i=void 0,console.warn(`${A.id} UeESUnrealActor BindActorByTag error:${w}, ${ud(v.re.type)}`);return}}catch(v){console.warn(`${A.id} UeESUnrealActor BindActorByTag catch error:${w}, ${v}`);return}}else if(h.value.type==="ActorClass"){const{actorClass:w}=h.value;try{const v=await B.promise(e.createActorByClass(A.id,w));if(!v)return;if(v.error!==""){console.warn(`${A.id} UeESUnrealActor CreateActorByClass error :${w}, ${v.error}`);return}if(v.re.type===0)w!=="default"&&(A.lastActorStatus="created"),o=w;else{console.warn(`${A.id} UeESUnrealActor CreateActorByClass error type :${w},${tp(v.re.type)}`);return}}catch(v){console.warn(`${A.id} UeESUnrealActor CreateActorByClass error catch :${w}, ${JSON.stringify(v)}`);return}}await B.promise(n()),await B.promise(a())})),f=async()=>{u.restart()};f(),this.d(h.changed.don(f))}this.d(A.positionChanged.don(a)),this.d(A.callFunctionEvent.don(async(u,f)=>{if(l()){A.__callFunctionResultEvent.emit(void 0);return}const B=await In(t,A.id,u,f);A.__callFunctionResultEvent.emit(B)})),this.d(A.smoothMoveEvent.don((u,f)=>{l()||Ve(t,A.id,u,f)})),this.d(A.smoothMoveWithRotationEvent.don((u,f,B)=>{l()||Ne(t,A.id,u,f,B)})),this.d(A.smoothMoveOnGroundEvent.don((u,f,B,w)=>{l()||ke(t,A.id,u,f,w,B)})),this.d(A.smoothMoveWithRotationOnGroundEvent.don((u,f,B,w,v)=>{l()||_e(t,A.id,u,f,B,w,v)})),this.d(A.automaticLandingEvent.don(u=>{if(l())return;const f=[A.position[0],A.position[1]];e.getHeightByLonLat(A.position[0],A.position[1],"Visibility").then(B=>{B!==null&&(A.position=[...f,B],A.collision=u)})})),this.d(A.flyToEvent.don(async(u,f)=>{if(l())return;const B=await we(t,A.id,u);let w="over";B===void 0?w="error":B.endType===0?w="over":B.endType===1&&(w="cancelled"),A.flyOverEvent.emit(f,w,e)})),this.d(A.calcFlyToParamEvent.don(()=>{l()||$A(t,A.id)})),this.d(A.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const u=await e.getCurrentCameraInfo();if(!u)return;const{position:f,rotation:B}=u;A.flyInParam={position:f,rotation:B,flyDuration:1}})),this.d(e.propChanged.don(u=>{l()||u.objId===A.id&&Object.keys(u.props).forEach(f=>{const B=u.props[f]===null?void 0:u.props[f];A[f]=B})}))}};p(or,"type",or.register("ESUeViewer",c.ESUnrealActor.type,or));let xi=or;const ar=class ar extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ar,"type",ar.register("ESUeViewer",c.ESVideoFusion.type,ar));let Pi=ar;const lr=class lr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(lr,"type",lr.register("ESUeViewer",c.ESViewShed.type,lr));let Ki=lr;const cr=class cr extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is underfined!");return}}};p(cr,"type",cr.register("ESUeViewer",c.ESVisibilityAnalysis.type,cr));let Gi=cr;const dr=class dr extends nA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.ad(c.track([A,"volume"],[A,"cutAndFillVolume"])),this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.clearEvent.don(()=>{t.callUeFunc({f:"Clear",p:{id:A.id}})}))}};p(dr,"type",dr.register("ESUeViewer",c.ESVolumeMeasurement.type,dr));let Ni=dr;const Pe=class Pe extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Pe,"type",Pe.register("ESUeViewer",c.ESWidget.type,Pe)),p(Pe,"propValFuncs",{...QA.propValFuncs,info:A=>JSON.stringify(A??{})});let ki=Pe;const ur=class ur extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}A.poi.actorTag=A.human.id,A.poi.positionOffset=[0,0,A.poiOffsetHeight-.8],this.d(A.poiOffsetHeightChanged.don(()=>{A.poi.positionOffset=[0,0,A.poiOffsetHeight-.8]})),this.d(()=>{A.poi.actorTag=""})}};p(ur,"type",ur.register("ESUeViewer",c.ESHumanPoi.type,ur));let _i=ur;c.ESSceneObject.context.getStrFromEnv(c.ESNavigator.defaults.imgUrl);const hr=class hr extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new c.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),this.dispose(c.track([n,"show"],[A,"show"])),n.instanceClass=class extends c.Destroyable{constructor(i,o,a){super(),this._subContainer=i;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l));{const u=async()=>{const f=await e.getCurrentCameraInfo(),B=f==null?void 0:f.position,v=[...f==null?void 0:f.rotation];v[0]=360,e.flyIn(B,v)};l.addEventListener("click",u),l.style.cursor="pointer",this.dispose(()=>l.removeEventListener("click",u))}{const u=()=>{l.style.width=`${A.cssSize?A.cssSize:c.ESNavigator.defaults.cssSize}px`,l.style.height=`${A.cssSize?A.cssSize:c.ESNavigator.defaults.cssSize}px`};u(),A.dispose(A.cssSizeChanged.disposableOn(u))}l.style.position="fixed";{const u=()=>{l.style.top=`${A.cssPosition?A.cssPosition[0]:c.ESNavigator.defaults.cssPosition[0]}px`,l.style.right=`${A.cssPosition?A.cssPosition[1]:c.ESNavigator.defaults.cssPosition[1]}px`};u(),A.dispose(A.cssPositionChanged.disposableOn(u))}l.style.transition=" right 0.4s linear",l.style.cursor="pointer";const d=document.createElement("div");l.appendChild(d),this.dispose(()=>l.removeChild(d)),d.style.width="100%",d.style.height="100%",d.style.position="relative";const h=document.createElement("img");d.appendChild(h),this.dispose(()=>d.removeChild(h)),h.style.width="100%",h.style.height="100%",h.style.border="none";{const u=()=>h.src=A.imgUrl;u(),A.dispose(A.imgUrlChanged.disposableOn(u))}{const u=()=>{const v=-e.getCurrentCameraInfo().rotation[0];h.style.transform=`rotate(${v}deg)`};let f;const B=async()=>{u(),A.show?(l.style.display="block",f=setInterval(()=>{u()},1e3)):(l.style.display="none",clearInterval(f))};this.dispose(A.showChanged.disposableOn(B)),B(),this.dispose(()=>clearInterval(f))}h.style.transformOrigin="50% 50%"}}}};p(hr,"type",hr.register("ESUeViewer",c.ESNavigator.type,hr));let Vi=hr;const de=class de extends rA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}{const n=()=>{t.callUeFunc({f:"update",p:{id:A.id,materialMode:A.materialMode}})};this.dispose(A.materialModeChanged.disposableOn(n))}}};p(de,"type",de.register("ESUeViewer",c.ESPath.type,de)),p(de,"forceUeUpdateProps",[...rA.forceUeUpdateProps]),p(de,"propValFuncs",{...rA.propValFuncs});let Oi=de;async function rp(r){navigator.clipboard.writeText(r).then(function(){console.log("复制成功")},function(A){console.log("复制失败")})}const gr=class gr extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new c.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),n.instanceClass=class extends c.Destroyable{constructor(i,o,a){if(super(),this._subContainer=i,!a||!(a instanceof bA))return;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l)),l.style.width="100%",l.style.position="absolute",l.style.height=`${c.ESViewerStatusBar.defaults.height}px`,l.style.left="0",l.style.bottom="0",l.style.color="#fff",l.style.padding="0 20px 0 0",l.style.boxSizing="border-box",l.style.lineHeight=`${c.ESViewerStatusBar.defaults.height}px`,l.style.zIndex="100",l.style.alignContent="center",l.style.justifyContent="space-between";const d=document.createElement("span");l.appendChild(d),this.dispose(()=>l.removeChild(d));const h=document.createElement("span");d.appendChild(h),this.dispose(()=>d.removeChild(h));const u=document.createElement("span");d.appendChild(u),u.addEventListener("dblclick",function(){let B=u.innerHTML;B.startsWith("鼠标位置")&&(B=B.slice(5)),rp(B)}),u.style.cursor="pointer",this.dispose(()=>d.removeChild(u));const f=document.createElement("span");l.appendChild(f),this.dispose(()=>l.removeChild(f));{const B=()=>{l.style.height=(A.height??c.ESViewerStatusBar.defaults.height)+"px",l.style.lineHeight=(A.height??c.ESViewerStatusBar.defaults.height)+"px"};this.dispose(A.heightChanged.disposableOn(B)),B()}{const B=()=>{l.style.fontSize=(A.fontSize??c.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(A.fontSizeChanged.disposableOn(B)),B()}{const B=()=>{A.bgColor?l.style.background=`rgba(${A.bgColor[0]*255},${A.bgColor[1]*255},${A.bgColor[2]*255},${A.bgColor[3]})`:l.style.background=`rgba(${c.ESViewerStatusBar.defaults.bgColor[0]},${c.ESViewerStatusBar.defaults.bgColor[1]},${c.ESViewerStatusBar.defaults.bgColor[2]},${c.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(A.bgColorChanged.disposableOn(B)),B()}a.getVersion().then(B=>{B&&(f.innerText=`Ue 版本 : ${B[0]} `)}).catch(B=>{console.log(B)});{const B=()=>{let m="",F="";m+=`帧率:${a.getFPS().toFixed(0)}FPS`,h.innerText=m;const E=e.getCurrentCameraInfo();m+=` 经度: ${E.position[0].toFixed(5)}° 纬度: ${E.position[1].toFixed(5)}° 高度: ${E.position[2].toFixed(2)}米 偏航角: ${E.rotation[0].toFixed(2)}° 俯仰角: ${E.rotation[1].toFixed(2)}° 翻滚角:${E.rotation[2].toFixed(2)}° `,h.innerText=m,e.pick().then(H=>{if(H){const{pickResult:y}=H;if(y&&y.position){const{position:U}=y;F+=`鼠标位置:${U[0].toFixed(5)}° ${U[1].toFixed(5)}° ${U[2].toFixed(2)}m`}else F+="暂时无法获取鼠标位置...";u.innerText=F}}).catch(H=>{console.log(H)})};let w;const v=async()=>{B(),A.show?(l.style.display="flex",w=setInterval(()=>{B()},1e3)):(l.style.display="none",clearInterval(w))};this.dispose(A.showChanged.disposableOn(v)),v(),this.dispose(()=>clearInterval(w))}}}}};p(gr,"type",gr.register("ESUeViewer",c.ESViewerStatusBar.type,gr));let Wi=gr;const Br=class Br extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Br,"type",Br.register("ESUeViewer",c.ESGaussianSplatting.type,Br));let Xi=Br;const fr=class fr extends jA{constructor(e,t){super(e,t);p(this,"_es3DTileset",this.dv(new c.ES3DTileset));if(!t.viewer){console.warn("viewer is undefined!");return}this.es3DTileset.parentID=e.id;{const s=this._es3DTileset;e.components.disposableAdd(s,!0),this.d(c.track([s,"allowPicking"],[e,"allowPicking"])),this.d(c.track([s,"collision"],[e,"collision"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.track([s,"url"],[e,"url"])),this.d(c.track([s,"actorTag"],[e,"actorTag"])),this.d(c.track([s,"materialMode"],[e,"materialMode"])),this.d(c.track([s,"highlight"],[e,"highlight"])),this.d(c.track([s,"maximumScreenSpaceError"],[e,"maximumScreenSpaceError"])),this.d(c.track([s,"highlightID"],[e,"highlightID"])),this.d(c.track([s,"highlightColor"],[e,"highlightColor"])),this.d(c.bind([s,"offset"],[e,"offset"])),this.d(c.bind([s,"rotation"],[e,"rotation"])),this.d(c.track([s,"czmImageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(c.track([s,"czmLuminanceAtZenith"],[e,"czmLuminanceAtZenith"])),this.d(c.track([s,"czmMaximumMemoryUsage"],[e,"czmMaximumMemoryUsage"])),this.d(c.track([s,"czmClassificationType"],[e,"czmClassificationType"])),this.d(c.track([s,"czmStyleJson"],[e,"czmStyleJson"])),this.d(c.track([s,"czmBackFaceCulling"],[e,"czmBackFaceCulling"])),this.d(c.track([s,"czmDebugShowBoundingVolume"],[e,"czmDebugShowBoundingVolume"])),this.d(c.track([s,"czmDebugShowContentBoundingVolume"],[e,"czmDebugShowContentBoundingVolume"])),this.d(c.track([s,"colorBlendMode"],[e,"colorBlendMode"])),this.d(c.track([s,"cacheBytes"],[e,"cacheBytes"])),this.d(c.track([s,"clippingPlaneEnabled"],[e,"clippingPlaneEnabled"])),this.d(c.track([s,"unionClippingRegions"],[e,"unionClippingRegions"])),this.d(c.track([s,"clippingPlaneEdgeColor"],[e,"clippingPlaneEdgeColor"])),this.d(c.track([s,"clippingPlaneEdgeWidth"],[e,"clippingPlaneEdgeWidth"])),this.d(c.track([s,"materialParams"],[e,"materialParams"])),this.d(c.bind([s,"supportEdit"],[e,"supportEdit"])),this.d(c.bind([s,"clippingPlanesId"],[e,"clippingPlanesId"])),this.d(c.bind([s,"clippingPlaneIds"],[e,"clippingPlaneIds"])),this.d(c.bind([s,"flattenedPlaneId"],[e,"flattenedPlaneId"])),this.d(c.bind([s,"flattenedPlaneEnabled"],[e,"flattenedPlaneEnabled"])),this.d(c.bind([s,"clippingPlaneId"],[e,"clippingPlaneId"])),this.d(c.bind([s,"excavateId"],[e,"excavateId"]))}{const s=this._es3DTileset;this.d(e.refreshTilesetEvent.don(()=>{s.refreshTileset()})),this.d(e.highlightFeatureEvent.don((...i)=>{s.highlightFeature(...i)})),this.d(e.highlightFeatureAndFlyToEvent.don((...i)=>{s.highlightFeatureAndFlyTo(...i)})),this.d(e.setFeatureColorEvent.don((...i)=>{s.setFeatureColor(...i)})),this.d(e.setFeatureVisableEvent.don((...i)=>{s.setFeatureVisable(...i)})),this.d(e.resetFeatureStyleEvent.don((...i)=>{s.resetFeatureStyle(...i)})),this.d(e.flyInEvent.don((...i)=>{s.flyIn(i[0])})),this.d(e.flyToEvent.don((...i)=>{s.flyTo(i[0])})),this.d(e.calcFlyToParamEvent.don((...i)=>{s.calcFlyToParam(...i)})),this.d(e.calcFlyInParamEvent.don((...i)=>{s.calcFlyInParam(...i)}))}{const s=this._es3DTileset;this.d(s.tilesetReady.don(i=>{e.tilesetReady.emit(i)})),this.d(s.pickedEvent.don(i=>{i.assign({sceneObject:e}),e.pickedEvent.emit(i)}))}{const s=()=>{this.es3DTileset.show=e.show};s(),this.d(e.showChanged.don(()=>{s()}))}}get es3DTileset(){return this._es3DTileset}};p(fr,"type",fr.register("ESUeViewer",c.ESRtsFeatureEditing.type,fr));let Ji=fr;const wr=class wr extends jA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(wr,"type",wr.register("ESUeViewer",c.ESMsTileset.type,wr));let zi=wr;const pr=class pr extends nA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}const n=()=>{t.callUeFunc({f:"update",p:{id:A.id,height:A.height??c.ESGeoExtrudedPolygon.defaults.height,extrudedHeight:A.extrudedHeight??c.ESGeoExtrudedPolygon.defaults.extrudedHeight,perPositionHeight:A.perPositionHeight??c.ESGeoExtrudedPolygon.defaults.perPositionHeight}})},s=this.disposeVar(c.createNextAnimateFrameEvent(A.heightChanged,A.extrudedHeightChanged,A.perPositionHeightChanged));this.dispose(s.disposableOn(n)),this.dispose(A.createdEvent.disposableOn(n))}};p(pr,"type",pr.register("ESUeViewer",c.ESGeoExtrudedPolygon.type,pr));let Yi=pr;const Cr=class Cr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Cr,"type",Cr.register("ESUeViewer",c.ESStaticMesh.type,Cr));let $i=Cr;const vr=class vr extends rA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.clearEvent.don(()=>{t.callUeFunc({f:"Clear",p:{id:A.id}})}))}};p(vr,"type",vr.register("ESUeViewer",c.ESSkylineAnalysis.type,vr));let Zi=vr;const ue=class ue extends Y{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ue,"type",ue.register("ESUeViewer",c.ESMVTLayer.type,ue)),p(ue,"forceUeUpdateProps",[...Y.forceUeUpdateProps,"url"]),p(ue,"propValFuncs",{...Y.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(A):(A.url=c.ESSceneObject.context.getStrFromEnv(A.url),A),targetID:A=>{if(!A)return"";const e=c.ESSceneObject.getSceneObject(A);return e?(e.components.main??e).id:A},czmSplitDirection:null,czmAlpha:null,czmBrightness:null,czmContrast:null,czmHue:null,czmSaturation:null,czmGamma:null});let qi=ue;const mr=class mr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("UeESCylinder: viewer is null");return}}};p(mr,"type",mr.register("ESUeViewer",c.ESCylinder.type,mr));let ji=mr;C.copyright=void 0;try{const r="earthsdk3-ue",A="3.11.0",e="2026-07-20T03:14:06.000Z",t="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="eb3a9d8d7d52fe4ea2e58f3b05725f3414c04d31",o=((Date.now()-1784517246e3)/36e5).toFixed(1),a=`%c🌏 ${r}%c ${A}.${s.slice(0,8)}.${e} (距今${o}个小时)
113
113
  %c${n?n+`
114
114
  `:""}当前网站正在使用${r},此软件版权归${t}所有
115
- `;C.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","18eb019de0881c8f88d5d0948aa36a384e722338")},get info(){return a},get date(){return"2026-07-15T03:53:41.000Z"},get author(){return"suplyang"},get version(){return"3.11.0-beta.20"},get name(){return"earthsdk3-ue"},get commitId(){return"18eb019de0881c8f88d5d0948aa36a384e722338"},print(l=!1){!l&&window._xe2_no_copy_print||console.info(this.info,`
115
+ `;C.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","eb3a9d8d7d52fe4ea2e58f3b05725f3414c04d31")},get info(){return a},get date(){return"2026-07-20T03:14:06.000Z"},get author(){return"suplyang"},get version(){return"3.11.0"},get name(){return"earthsdk3-ue"},get commitId(){return"eb3a9d8d7d52fe4ea2e58f3b05725f3414c04d31"},print(l=!1){!l&&window._xe2_no_copy_print||console.info(this.info,`
116
116
  font-size: 18px;
117
117
  font-weight: 1000;
118
118
  line-height: 1;
@@ -5460,7 +5460,7 @@ const me = class me extends S {
5460
5460
  p(me, "type", me.register("ESUeViewer", os.type, me));
5461
5461
  let wr = me, Ne;
5462
5462
  try {
5463
- const d = "earthsdk3-ue", e = "3.11.0-beta.20", t = "2026-07-15T03:53:41.000Z", i = "北京西部世界科技有限公司", r = "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn", n = "18eb019de0881c8f88d5d0948aa36a384e722338", o = ((Date.now() - 1784087621e3) / 36e5).toFixed(1), h = `%c🌏 ${d}%c ${e}.${n.slice(0, 8)}.${t} (距今${o}个小时)
5463
+ const d = "earthsdk3-ue", e = "3.11.0", t = "2026-07-20T03:14:06.000Z", i = "北京西部世界科技有限公司", r = "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn", n = "eb3a9d8d7d52fe4ea2e58f3b05725f3414c04d31", o = ((Date.now() - 1784517246e3) / 36e5).toFixed(1), h = `%c🌏 ${d}%c ${e}.${n.slice(0, 8)}.${t} (距今${o}个小时)
5464
5464
  %c${r ? r + `
5465
5465
  ` : ""}当前网站正在使用${d},此软件版权归${i}所有
5466
5466
  `;
@@ -5474,7 +5474,7 @@ try {
5474
5474
  },
5475
5475
  // @ts-ignore
5476
5476
  get gituri() {
5477
- return GITURI_ && GITURI_.replace("${commitId}", "18eb019de0881c8f88d5d0948aa36a384e722338");
5477
+ return GITURI_ && GITURI_.replace("${commitId}", "eb3a9d8d7d52fe4ea2e58f3b05725f3414c04d31");
5478
5478
  },
5479
5479
  // @ts-ignore
5480
5480
  get info() {
@@ -5482,7 +5482,7 @@ try {
5482
5482
  },
5483
5483
  // @ts-ignore
5484
5484
  get date() {
5485
- return "2026-07-15T03:53:41.000Z";
5485
+ return "2026-07-20T03:14:06.000Z";
5486
5486
  },
5487
5487
  // @ts-ignore
5488
5488
  get author() {
@@ -5490,7 +5490,7 @@ try {
5490
5490
  },
5491
5491
  // @ts-ignore
5492
5492
  get version() {
5493
- return "3.11.0-beta.20";
5493
+ return "3.11.0";
5494
5494
  },
5495
5495
  // @ts-ignore
5496
5496
  get name() {
@@ -5498,7 +5498,7 @@ try {
5498
5498
  },
5499
5499
  // @ts-ignore
5500
5500
  get commitId() {
5501
- return "18eb019de0881c8f88d5d0948aa36a384e722338";
5501
+ return "eb3a9d8d7d52fe4ea2e58f3b05725f3414c04d31";
5502
5502
  },
5503
5503
  print(a = !1) {
5504
5504
  !a && globalThis._xe2_no_copy_print || console.info(
@@ -1,7 +1,7 @@
1
- (function(p,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("earthsdk3"),require("@epicgames-ps/lib-pixelstreamingfrontend-ue5.2"),require("html2canvas")):typeof define=="function"&&define.amd?define(["exports","earthsdk3","@epicgames-ps/lib-pixelstreamingfrontend-ue5.2","html2canvas"],o):(p=typeof globalThis<"u"?globalThis:p||self,o(p.EarthSDK3_UE={},p.EarthSDK3,p.libPixelstreamingfrontendUe5_2,p.html2canvas))})(this,(function(p,o,P,kn){"use strict";var Ur=Object.defineProperty;var Ar=(p,o,P)=>o in p?Ur(p,o,{enumerable:!0,configurable:!0,writable:!0,value:P}):p[o]=P;var g=(p,o,P)=>Ar(p,typeof o!="symbol"?o+"":o,P);var Qn;const On={...o.ESViewer.defaults,geoReferenceOrigin:void 0,keepWorldOriginNearCamera:!1,useCache:!0,widgetInteractionDistance:200,memReportInterval:10,sceneControlled:!0,brightness:0,emissiveIntensity:1,statusUpdateInterval:.5,baseUrl:((Qn=globalThis==null?void 0:globalThis.location)==null?void 0:Qn.href)??"",screenPercentage:-1,antiAliasingMethod:"default"},Gi=()=>({...o.ESViewer.createCommonProps(),apiKey:"",apiUrl:"",secretKey:"",speechVoiceMode:"",geoReferenceOrigin:o.reactArrayWithUndefined(void 0),keepWorldOriginNearCamera:void 0,useCache:void 0,widgetInteractionDistance:void 0,memReportInterval:void 0,sceneControlled:void 0,brightness:void 0,emissiveIntensity:void 0,statusUpdateInterval:void 0,baseUrl:void 0,screenPercentage:void 0,antiAliasingMethod:void 0});function vt(){const c=Gi(),t=[];return Object.keys(c).forEach(e=>{t.push(e)}),t}function mt(c){const{defaults:t}=b,e=vt(),i={};return e.forEach(n=>{i[n]=c[n]??t[n]}),i}const X=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyTo",p:{id:t,duration:e,flyToParam:i,position:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},Ct=async(c,t)=>{const e=await c.callUeFunc({f:"destroy",p:{id:t}});return e.error&&console.error(e.error),e},W=(c,t)=>{c.callUeFunc({f:"calcFlyToParam",p:{id:t}}).then(e=>{e.error&&console.error("calcFlyToParam:",e.error)}).catch(e=>{console.error("calcFlyToParam:",e)})},Ji=(c,t)=>{c.callUeFunc({f:"refreshTileset",p:{id:t}}).then(e=>{e.error&&console.error("refreshTileset:",e.error)}).catch(e=>{console.error("refreshTileset:",e)})},j=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyIn",p:{id:t,position:e,rotation:i,duration:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},Ki=async(c,t)=>{if(!c){console.warn("DefaultCameraFlyIn: viewer is undefined");return}const e=await c.callUeFunc({f:"DefaultCameraFlyIn",p:{Duration:t??1}});if(e.error){console.error("DefaultCameraFlyIn:",e.error);return}return e},Xi=async c=>{if(!c){console.warn("StartVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StartVoice",p:{}});if(t.error){console.error("StartVoice:",t.error);return}return t},qi=async c=>{if(!c){console.warn("StopVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StopVoice",p:{}});if(t.error){console.error("StopVoice:",t.error);return}return t},Zi=async(c,t)=>{if(!c){console.warn("mountPakFiles:viewer is undefined");return}const e=await c.callUeFunc({f:"MountPakFiles",p:{json:t}});if(e.error){console.error("mountPakFiles:",e.error);return}return e},Qi=async c=>{if(!c){console.warn("generateMemReport:viewer is undefined");return}const t=await c.callUeFunc({f:"GenerateMemReport",p:{}});if(t.error){console.error("generateMemReport:",t.error);return}return t},Et=async(c,t)=>{const e=await c.callUeFunc({f:"resetWithCurrentCamera",p:{id:t}});return e.error&&console.error("resetWithCurrentCamera:",e.error),e},ee=(c,t,e,i,n)=>{c.callUeFunc({f:"smoothMoveWithRotation",p:{id:t,Destination:e,NewRotation:i,Time:n}}).then(r=>{r.error&&console.error("smoothMoveWithRotation:",r.error)}).catch(r=>{console.error("smoothMoveWithRotation:",r)})},te=(c,t,e,i,n,r)=>{c.callUeFunc({f:"smoothMoveOnGround",p:{id:t,Lon:e,Lat:i,Ground:n,Time:r}}).then(s=>{s.error&&console.error("smoothMoveOnGround:",s.error)}).catch(s=>{console.error("smoothMoveOnGround:",s)})},ie=(c,t,e,i,n,r,s)=>{c.callUeFunc({f:"smoothMoveWithRotationOnGround",p:{id:t,NewRotation:e,Lon:i,Lat:n,Time:r,Ground:s}}).then(a=>{a.error&&console.error("smoothMoveWithRotationOnGround:",a.error)}).catch(a=>{console.error("smoothMoveWithRotationOnGround:",a)})},Yi=(c,t,e)=>{c.callUeFunc({f:"HighlightFeature",p:{id:t,HlId:e}}).then(i=>{i.error&&console.error("HighlightFeature:",i.error)}).catch(i=>{console.error("HighlightFeature:",i)})},Vi=(c,t,e,i)=>{c.callUeFunc({f:"HighlightFeatureAndFlyTo",p:{id:t,HlId:e,Duration:i}}).then(n=>{n.error&&console.error("HighlightFeatureAndFlyTo:",n.error)}).catch(n=>{console.error("HighlightFeatureAndFlyTo:",n)})},ki=(c,t,e)=>{c.callUeFunc({f:"SetLayerVisible",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerVisible:",i.error)}).catch(i=>{console.error("SetLayerVisible:",i)})},Oi=(c,t,e)=>{c.callUeFunc({f:"SetLayerColor",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerColor:",i.error)}).catch(i=>{console.error("SetLayerColor:",i)})},ne=(c,t,e,i)=>{c.callUeFunc({f:"smoothMove",p:{id:t,Destination:e,Time:i}}).then(n=>{n.error&&console.error("smoothMove:",n.error)}).catch(n=>{console.error("smoothMove:",n)})},St=async(c,t,e,i)=>{const n=await c.callUeFunc({f:"callFunction",p:{id:t,fn:e,p:i}});return n.error&&(console.error("callFunction:",n.error),console.error(`id: ${t} fn: ${e} param: ${i}`)),n.re??void 0},ji=(c,t,e,i)=>{c.callUeFunc({f:"SetNodePosition",p:{id:t,NodeName:e,NodePosition:i}}).then(n=>{n.error&&console.error("SetNodePosition:",n.error)}).catch(n=>{console.error("SetNodePosition:",n)})},en=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeRotation",p:{id:t,NodeName:e,NodeRotation:i}}).then(n=>{n.error&&console.error("SetNodeRotation:",n.error)}).catch(n=>{console.error("SetNodeRotation:",n)})},tn=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeScale",p:{id:t,NodeName:e,NodeScale:i}}).then(n=>{n.error&&console.error("SetNodeScale:",n.error)}).catch(n=>{console.error("SetNodeScale:",n)})},A=async(c,t)=>{if(t.mode=="Follow"){const i=o.ESSceneObject.getSceneObject(t.objectId);t.objectId=i?(i.components.main??i).id:t.objectId}else if(t.mode=="Line"){const i=o.ESSceneObject.getSceneObject(t.geoLineStringId);t.geoLineStringId=i?(i.components.main??i).id:t.geoLineStringId}const e=await c.callUeFunc({f:"ChangeNavigationMode",p:t});if(e.error){console.error("ChangeNavigationMode:",e.error);return}return e},nn=async(c,t)=>{const e=await c.callUeFunc({f:"setGlobalProperty",p:t});if(e.error){console.error("setGlobalProperty:",e.error);return}return e},rn=async c=>{const t=await c.callUeFunc({f:"Quit",p:void 0});if(t.error){console.error("Quit:",t.error);return}return t},on=async(c,t,e,i)=>{console.log("pickCallFunc",t,e,i);const n=await c.callUeFunc({f:"pick",p:{screenPosition:t,parentInfo:i}});if(!n.re&&(n.error||n.error=="")){console.error("pick:",n.error==""?"未获取到结果":n.error);return}let r=n.re.id,s,a=r?o.ESSceneObject.getSceneObject(r):void 0;return a&&a.parentID&&(a=o.ESSceneObject.getSceneObject(a.parentID)),s=new o.ESJPickedResult(n.re,a,n.re.features,n.re.add,e,t),a&&Reflect.has(a,"allowPicking")&&Reflect.has(a,"pickedEvent")&&(a.allowPicking??!1)&&a.pickedEvent.emit(s),a&&Reflect.has(a,"allowPicking")&&!a.allowPicking?new o.ESJPickedResult:s},sn=async(c,t)=>{const e=await c.callUeFunc({f:"pickPosition",p:{screenPosition:t}});if(!e.re&&(e.error||e.error=="")){console.error("pickPosition",e.error==""?"未获取到结果":e.error);return}const{position:i}=e.re;return i},an=async(c,t,e,i="ECC_Visibility")=>{const n=await c.callUeFunc({f:"GetHeightByLonLat",p:{Lon:t,Lat:e,Channel:i}});if(n.error){console.warn(`GetHeightByLonLat:${n.error}`);return}return n.re},ln=async(c,t,e="ECC_Visibility")=>{const i=await c.callUeFunc({f:"GetHeightsByLonLats",p:{LonLats:t,Channel:e}});if(i.error){console.warn(`GetHeightsByLonLats:${i.error}`);return}i.re.heights.includes(null)&&console.warn("注意! GetHeightsByLonLats: 存在高度为null的点. there are points with a height of null");try{return i.re.heights}catch{return}},dn=async(c,t=64,e=64)=>{const i=await c.callUeFunc({f:"capture",p:{resx:t,resy:e}});if(i.error){console.warn(i.error);return}return i.re.image},cn=async(c,t,e=[64,64])=>{const i=await c.callUeFunc({f:"partialCapture",p:{startPos:t,size:e}});if(i.error){console.warn(i.error);return}return i.re.image},un=async(c,t)=>{const e=await c.callUeFunc({f:"LonLatAltToScreenPosition",p:{LonLatAlt:t}});return e.error&&console.warn(e.error),e.re},hn=async(c,t)=>{const e=await c.callUeFunc({f:"UEPositionToLonLatAlt",p:{UEPosition:t}});if(e.error){console.warn(e.error);return}return[...e.re.LonLatAlt]},vn=async(c,t)=>{const e=await c.callUeFunc({f:"GetAllSocketNamesByActorTag",p:{ActorTag:t}});if(e.error){console.warn(e.error);return}return[...e.re.socketNames]},gn=async c=>{const t=await c.callUeFunc({f:"GetVersion",p:void 0});if(t.error){console.warn("GetVersion:",t.error);return}return t.re.version},pn=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphere",p:{id:t}});if(e.error){console.warn(e.error);return}return e.re},fn=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphereWithChildren",p:{id:t}});if(e.error){console.warn(`GetBoundSphereWithChildren:${e.error}`);return}return e.re},wn=async(c,t)=>{const e=await c.callUeFunc({f:"GetStrokeMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetStrokeMaterialParamInfo:${e.error}`);return}return e.re},yn=async(c,t)=>{const e=await c.callUeFunc({f:"GetFillMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetFillMaterialParamInfo:${e.error}`);return}return e.re},mn=async(c,t)=>{const e=await c.callUeFunc({f:"getGlobalProperty",p:{props:t}});if(e.error){console.warn(`getGlobalProperty:${e.error}`);return}return e.re},Cn=async(c,t)=>{const e=await c.callUeFunc({f:"GetObjectByInfo",p:{info:t}});if(e.error){console.warn(`GetObjectByInfo:${e.error}`);return}return e.re},En=async(c,t,e)=>await c.callUeFunc({f:"BindActorByTag",p:{ID:t,ActorTag:e}}),Sn=async c=>await c.callUeFunc({f:"RestoreOriginalScene",p:void 0}),Fn=async(c,t)=>await c.callUeFunc({f:"UnBindActorByID",p:{ID:t}}),In=async(c,t)=>await c.callUeFunc({f:"UnBindActorByTag",p:{ActorTag:t}}),Tn=async(c,t,e)=>await c.callUeFunc({f:"CreateActorByClass",p:{ID:t,ActorClass:e}}),Rn=async function(c,t,e){return await c.callUeFunc({f:"Bind3DTilesetByTag",p:{ID:t,ActorTag:e}})},Dn=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetByTag",p:{ActorTag:t}})},Ln=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetById",p:{ID:t}})},Pn=async function(c,t,e,i){return await c.callUeFunc({f:"BindImageryByTag",p:{ID:t,ActorTag:e,ComponentTag:i}})},Bn=async function(c,t,e){return await c.callUeFunc({f:"UnBindImageryByTag",p:{ActorTag:t,ComponentTag:e}})},Un=async function(c,t){return await c.callUeFunc({f:"UnBindImageryById",p:{ID:t}})},An=async function(c,t,e,i){return await c.callUeFunc({f:"GetIdByComponentNameAndHitItem",p:{id:t,ComponentName:e,HitItem:i}})},bn=async function(c,t="ECC_Visibility"){return await c.callUeFunc({f:"GetCameraRelativeHeight",p:{Channel:t}})},Mn=async function(c,t,e,i){const n=await c.callUeFunc({f:"SaveStringToFile",p:{String:t,Path:e??"undefine",File:i??"data.txt"}});return n.error!==""&&console.warn("SaveStringToFile: ",n.error),n},Wn=async function(c,t,e=!0){const i=await c.callUeFunc({f:"HighlightActorByTag",p:{ActorTag:t,Highlight:e}});return i.error!==""&&console.warn("HighlightActorByTag: ",i.error),i},$n=async function(c,t){const e=await c.callUeFunc({f:"SendCustomMessage",p:{Message:t}});return e.error!==""&&console.warn("SendCustomMessage: ",e.error),e},xn=async function(c){const t=await c.callUeFunc({f:"GetStatus",p:void 0});if(t.error){console.warn(`GetStatus:${t.error}`);return}return t.re},_n=async(c,t,e,i,n=!0)=>{const r=await c.callUeFunc({f:"startEditing",p:{sceneObjectID:t,editingID:e,modes:i,useKeyToSwitch:n}});if(r.error){console.error("startEditing:",r.error);return}return r},Nn=async c=>{const t=await c.callUeFunc({f:"stopEditing",p:void 0});if(t.error){console.error("stopEditing:",t.error);return}return t},zn=async(c,t,e)=>{const i=await c.callUeFunc({f:"moveObjects",p:{sceneObjectIDs:t,editingID:e}});if(i.error){console.error("moveObjects:",i.error);return}return i},Hn=async c=>{const t=await c.callUeFunc({f:"GetTilesetMaterialIDList",p:void 0});if(t.error){console.error("GetTilesetMaterialIDList:",t.error);return}return t.re.materialIDList};class re extends o.Destroyable{}const jn={Response:1},gt={UIInteraction:50,MouseWheel:75};class er extends o.HasOwner{constructor(e,i){super(e);g(this,"_processResponseFn",e=>this.esUeViewer.processResponse(e));g(this,"_inner");this._uri=i,this._inner=new WebSocket(this._uri),this.d(()=>{this._inner.close()}),this._innerInit()}get esUeViewer(){return this.owner}get uri(){return this._uri}get inner(){return this._inner}_innerInit(){this.inner.onmessage=e=>{if(this.isDestroyed())return;let i=new FileReader;i.onload=n=>{if(this.isDestroyed())return;let r=n.target.result,s=new Uint32Array(r),a=0;if(s[0]===jn.Response){a+=4;let v=s[a/4];a+=4;for(let l=0;l<v;l++){let y=s[a/4];a+=4;let f=new TextDecoder("utf-8").decode(r.slice(a,a+y));a+=y,this._processResponseFn(f)}}},i.readAsArrayBuffer(e.data)},this.inner.onopen=()=>{this.isDestroyed()||(console.warn("earthsdk message websocket server connected:",this.uri),console.log("%c[EarthSDK websocket open]","background: #a6ec99; color: black","open"),this.owner.dispatchEvent(new CustomEvent("esmsgwsopen",{detail:"websocket open"})))},this._inner.onclose=e=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket close ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket close"})))},this._inner.onerror=e=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket error ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket error"})))}}sendInputData(e){const i=this.inner;if(i.readyState!==WebSocket.OPEN)return;const r=new Uint8Array(e)[0];if(r>=gt.UIInteraction&&r<=gt.MouseWheel){const s=new ArrayBuffer(e.byteLength+4);return new DataView(s).setUint32(0,e.byteLength,!0),new Uint8Array(s,4).set(new Uint8Array(e)),i.send(new DataView(s)),!0}else return!1}emitDescriptorWithString(e,i){let n=new TextEncoder().encode(i),r=new DataView(new ArrayBuffer(3+n.length)),s=0;r.setUint8(s,e),s++,r.setUint16(s,n.length,!0),s+=2;for(let a=0;a<n.length;a++)r.setUint8(s,n[a]),s+=1;try{this.sendInputData(r.buffer)}catch(a){console.error(`data.buffer.size: ${r.buffer.byteLength} 独立通道 sendInputData error: ${a}`,a)}}destroyImpl(){this._inner&&this._inner.close()}}globalThis.g_emitDescriptor_maxBytes=3e4;let tr=-1;P.Logger.SetLoggerVerbosity(1);class ir extends o.Destroyable{constructor(e,i){super();g(this,"_eventTarget",new EventTarget);g(this,"debug",!1);g(this,"uiInteractionCallbacks",new Map);g(this,"_pixelStream");g(this,"_esMsgWsWrapper");this._domOrDomId=e,this._options=i;const n=typeof this._domOrDomId=="string"?document.getElementById(this._domOrDomId):this._domOrDomId;if(!n)throw new Error(`ESUEViewer container${this._domOrDomId} error!`);console.log(`PSUEViewer init _options ${this._options}`);const{url:r,esmsgWsUri:s}=this._options;this._pixelStream=this._initPixelStream(n,r),this.d(()=>{this._pixelStream.disconnect()}),this._handerPixelStreamEvent(),this._esMsgWsWrapper=this._initEsMsgWsWrapper(s);const a=this;if(a.esMsgWsWrapper){const v=a.webRtcController.sendMessageController.dataChannelSender.sendData;a.webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(l){a.esMsgWsWrapper?a.esMsgWsWrapper.sendInputData(l):v.call(this,l)}}}get eventTarget(){return this._eventTarget}addEventListener(e,i,n){return this.eventTarget.addEventListener(e,i,n)}removeEventListener(e,i,n){return this.eventTarget.removeEventListener(e,i,n)}dispatchEvent(e){return this.eventTarget.dispatchEvent(e)}_initPixelStream(e,i){const n=new P.Config({initialSettings:{AutoConnect:!0,AutoPlayVideo:!0,StartVideoMuted:!0,UseMic:!1,ForceMonoAudio:!1,KeyboardInput:!0,MouseInput:!0,TouchInput:!0,GamepadInput:!0,XRControllerInput:!0,SuppressBrowserKeys:!1,HoveringMouse:!0,FakeMouseWithTouches:!1,BrowserSendOffer:!1,ForceTURN:!1,PreferSFU:!1,IsQualityController:!0,MatchViewportResolution:!0,AFKDetection:!1,[P.TextParameters.SignallingServerUrl]:i}});return n.setNumericSetting(P.NumericParameters.MaxReconnectAttempts,0),new P.PixelStreaming(n,{videoElementParent:e})}get pixelStream(){return this._pixelStream}_initEsMsgWsWrapper(e){return e?this.dv(new er(this,e)):void 0}get esMsgWsWrapper(){return this._esMsgWsWrapper}get esWebSocketReady(){var e;return((e=this.esMsgWsWrapper)==null?void 0:e.inner.readyState)===1}_handerPixelStreamEvent(){this.pixelStream.addEventListener("videoInitialized",()=>{console.log("%c[EarthSDK webrtc videoInitialized]","background: #a6ec99; color: black","videoInitialized"),this.dispatchEvent(new CustomEvent("videoinited",{detail:"videoinited"}))}),this.pixelStream.addEventListener("webRtcFailed",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webRtc webRtcFailed]","background: red; color: black","webRtcFailed"),this.dispatchEvent(new CustomEvent("error",{detail:"webRtcFailed"})),this.pixelStream.disconnect())}),this.pixelStream.addEventListener("webRtcDisconnected",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webRtc webRtcDisconnected]","background: red; color: black","webRtcDisconnected"),this.dispatchEvent(new CustomEvent("error",{detail:"webRtcDisconnected"})),this.pixelStream.disconnect())}),this.pixelStream.addEventListener("webRtcConnected",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webrtc webRtcConnected]","background: #a6ec99; color: black","webRtcConnected"),this.dispatchEvent(new CustomEvent("webRtcConnected",{detail:"webRtcConnected"})))}),this.pixelStream.addResponseEventListener("esueviewer",e=>{this.processResponse(e)})}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);if(i.ers=i.ers&&i.ers.filter(n=>n.et!=="mouseMoveEvent"),!(i.ers&&i.ers.length>0||i.frs&&i.frs.length>0))return;console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.dispatchEvent(new CustomEvent("ueevent",{detail:e}))}emitUIInteraction(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i)),this.pixelStream.emitUIInteraction(e)}get webRtcController(){return this.pixelStream._webRtcController}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=globalThis.g_emitDescriptor_maxBytes,s=n.length,a=++tr;if(this.esMsgWsWrapper){if(s<r){this.esMsgWsWrapper.emitDescriptorWithString(gt.UIInteraction,`${a}-0/1-`+n);return}const v=Math.ceil(s/r)|0;[...new Array(v).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,f)=>{this.esMsgWsWrapper&&this.esMsgWsWrapper.emitDescriptorWithString(gt.UIInteraction,`${a}-${f}/${v}-`+y)})}}emitCommand(e){this.pixelStream.emitCommand(e)}getVideoSize(){const e=this.webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}resizeUEVideo(e,i){let n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class nr extends o.Destroyable{constructor(e,i,n){super();g(this,"_instance");g(this,"_event",this.dv(new o.Event));this._container=e,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new ir(this._container,{url:this._wsuri,esmsgWsUri:this._esmsgWsUri})),this.instanceInit()}get webSocketReady(){return this._instance.esWebSocketReady}get event(){return this._event}get debug(){return this._instance.debug}set debug(e){this._instance.debug=e}instanceInit(){if("addEventListener"in this._instance){["esmsgwsopen","error","videoinited","ueevent","webRtcConnected"].forEach(i=>{const n=r=>{this._event.emit(i,r.detail)};this._instance.addEventListener(i,n),this.dispose(()=>this._instance.removeEventListener(i,n))});return}this.dispose(this._instance.errorEvent.disposableOn(e=>{this._event.emit("error",e.detail)})),this.dispose(this._instance.webRtcConnectedEvent.disposableOn(e=>{this._event.emit("webRtcConnected",e.detail)})),this.dispose(this._instance.videoinitedEvent.disposableOn(e=>{this._event.emit("videoinited",e.detail)})),this.dispose(this._instance.ueevent.disposableOn(e=>{this._event.emit("ueevent",e.detail)}))}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class rr extends re{constructor(e,i,n,r){super();g(this,"_esueViewerWrapper");g(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));g(this,"_ueFuncWithIdAndResultCallbacks",[]);g(this,"_waitingUeFuncIdAndResultCallbacks",new Map);g(this,"_waitingUeCalls",new Set);g(this,"_ueEvent",this.dv(new o.Event));g(this,"_errorEvent",this.dv(new o.Event));g(this,"_readyEvent",this.dv(new o.Event));g(this,"_esmsgwsopen",this.dv(o.react(!1)));g(this,"_videoinited",this.dv(o.react(!1)));g(this,"_webRtcConnected",this.dv(o.react(!1)));this._ueViewer=r,console.log("CSTMPSViewer init ! 以官方像素流 + 独立通信的模式启动!");const s=this._ueViewer;this._esueViewerWrapper=this.dv(new nr(e,i,n));const a=this._esueViewerWrapper;{const u=()=>a.debug=s.debug??!1;u(),this.d(s.debugChanged.don(u))}let v=!1;{const u=()=>{if(v)return;const h=a.webSocketReady;if(this.videoinited&&this.webRtcConnected&&h){console.log("%c[EarthSDK: esmsgWebSocket && videoinited && webRtcConnected]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};a.emitUIInteractionForBigData(w),this._readyEvent.emit(),v=!0}};this.d(this.videoinitedChanged.don(()=>{u()})),this.d(this.webRtcConnectedChanged.don(()=>{u()})),this.d(this.esmsgwsopenChanged.don(()=>{u()}))}this.d(a.event.don((u,h)=>{if(u==="error")this._errorEvent.emit(h);else if(u==="ueevent"){const w=JSON.parse(h);if(w.t==="cr"){const m=w;if(m.frs&&this._ueFuncResultWithIdsEvent.emit(m.frs),m.ers)for(let C of m.ers)this._ueEvent.emit(C)}}else u==="webRtcConnected"?this.webRtcConnected=!0:u==="videoinited"?this.videoinited=!0:u==="esmsgwsopen"&&(this.esmsgwsopen=!0)}));{const u=this.dv(o.createAnimateFrame());let h,w;u.start(()=>{if(h!==e.offsetWidth||w!==e.offsetHeight){if(h=e.offsetWidth,w=e.offsetHeight,h===void 0||w===void 0||!Number.isFinite(h)||!Number.isFinite(w)||h<0||w<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${h} ${w}`);return}a.resize(h,w),console.log(`resize: ${h} ${w}`)}})}this.d(this._ueFuncResultWithIdsEvent.don(u=>{for(const h of u){const w=this._waitingUeFuncIdAndResultCallbacks.get(h.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(h.fid),w.resultCallback(h.r))}}));let l=0;const y=u=>{const h={n:l++,tt:Date.now(),t:"c",fs:u};this._waitingUeCalls.add(h),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(h,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._esueViewerWrapper.emitUIInteractionForBigData(h,()=>{this._waitingUeCalls.delete(h)})},f=()=>{if(!v||this._ueFuncWithIdAndResultCallbacks.length===0)return;const u=this._ueFuncWithIdAndResultCallbacks.map((([h])=>h));for(const[h,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(h.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const h=globalThis.g_emitDescriptor_maxBytes,w=u.map(R=>({f:R,s:JSON.stringify(R).length}));let m=w.length,C=0,S=0,E=[];do{do{const{f:R,s:I}=w[C];if(E.push(R),++C,S+I>h||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),y([...E]),E.length=0,S=0)}while(C<m)}};this.dv(o.createInterval()).start(f,50),this.d(()=>console.log("UeCloudViewer正在销毁..."))}get esueViewerWrapper(){return this._esueViewerWrapper}get errorEvent(){return this._errorEvent}get readyEvent(){return this._readyEvent}get esmsgwsopen(){return this._esmsgwsopen.value}set esmsgwsopen(e){this._esmsgwsopen.value=e}get esmsgwsopenChanged(){return this._esmsgwsopen.changed}get videoinited(){return this._videoinited.value}set videoinited(e){this._videoinited.value=e}get videoinitedChanged(){return this._videoinited.changed}get webRtcConnected(){return this._webRtcConnected.value}set webRtcConnected(e){this._webRtcConnected.value=e}get webRtcConnectedChanged(){return this._webRtcConnected.changed}resize(e,i){this.esueViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){(this._ueViewer.debug??!1)&&console.log(`disposableOnUeEvent from UeCloudViewer, type:${e}`);const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}function or(c){let t="";const e=new Uint8Array(c),i=e.length;for(let n=0;n<i;n++)t+=String.fromCharCode(e[n]);return btoa(t)}const sr=c=>{const t={type:"input",inputdata:or(c)};return JSON.stringify(t)};function ar(c){return typeof c=="string"?document.getElementById(c):c}globalThis.g_emitDescriptor_maxBytes=3e4;let lr=-1;P.Logger.SetLoggerVerbosity(1);class dr extends o.Destroyable{constructor(e,i){super();g(this,"debug",!1);g(this,"_error",this.dv(new o.Event));g(this,"_connected",this.dv(new o.Event));g(this,"_ueevent",this.dv(new o.Event));g(this,"_pixelStream");g(this,"uiInteractionCallbacks",new Map);this._container=e,this._option=i;const n=new P.Config({initialSettings:{AutoConnect:!0,AutoPlayVideo:!0,StartVideoMuted:!0,UseMic:!1,ForceMonoAudio:!1,KeyboardInput:!0,MouseInput:!0,TouchInput:!0,GamepadInput:!0,XRControllerInput:!0,SuppressBrowserKeys:!1,HoveringMouse:!0,FakeMouseWithTouches:!1,BrowserSendOffer:!1,ForceTURN:!1,PreferSFU:!1,IsQualityController:!0,MatchViewportResolution:!0,AFKDetection:!1,[P.TextParameters.SignallingServerUrl]:this._option.ws}});n.setNumericSetting(P.NumericParameters.MaxReconnectAttempts,0),this._pixelStream=new P.PixelStreaming(n,{videoElementParent:this.container}),this.d(()=>{this._pixelStream.disconnect()});{const r=this.pixelStream.webSocketController.webSocket,s=this._pixelStream._webRtcController.sendMessageController.dataChannelSender.sendData;this._pixelStream._webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(a){r?r.send(sr(a)):s.call(this,a)}}{const r=s=>{const a=this._pixelStream._webRtcController.mouseController;setTimeout(()=>{const v=a.coordinateConverter.normalizeAndQuantizeUnsigned(s.offsetX,s.offsetY),y=a.toStreamerMessagesProvider.toStreamerHandlers.get("MouseUp");y&&y([s.button,v.x,v.y]),s.preventDefault()})};this.container.addEventListener("dblclick",r),this.d(()=>{this.container.removeEventListener("dblclick",r)})}["error","close","open"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="open"?this.connected.emit("webSocketOpen"):s==="close"?this.error.emit("webSocketClose"):s==="error"&&this.error.emit("webSocketError"))};this.pixelStream.webSocketController.webSocket.addEventListener(s,a),this.d(()=>{this.pixelStream.webSocketController.webSocket.removeEventListener(s,a)})}),["videoInitialized","webRtcConnected","webRtcDisconnected","webRtcFailed"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="webRtcConnected"||s==="videoInitialized"?this.connected.emit(s):(s==="webRtcDisconnected"||s==="webRtcFailed")&&(this.error.emit(s),this.pixelStream.disconnect()))};this.pixelStream.addEventListener(s,a),this.d(()=>{this.pixelStream.removeEventListener(s,a)})}),this.pixelStream.addResponseEventListener("handle_responses",r=>{this.processResponse(r)}),this.d(()=>{this.pixelStream.removeResponseEventListener("handle_responses")})}get error(){return this._error}get connected(){return this._connected}get ueevent(){return this._ueevent}get container(){return ar(this._container)}get pixelStream(){return this._pixelStream}get webSocketReady(){return this.pixelStream.webSocketController.webSocket.readyState===1}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.ueevent.emit(e)}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=globalThis.g_emitDescriptor_maxBytes??3e4,s=n.length,a=++lr;if(s<r){const y={type:"earthsdk",time:new Date().getTime(),params:`${a}-0/1-`+n};this.sendData(JSON.stringify(y));return}const v=Math.ceil(s/r)|0;[...new Array(v).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,f)=>{const d={type:"earthsdk",time:new Date().getTime(),params:`${a}-${f}/${v}-`+y};this.sendData(JSON.stringify(d))})}sendData(e){this.pixelStream.webSocketController.webSocket.send(e)}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}getVideoSize(){const e=this._pixelStream._webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}emitCommand(e){this.pixelStream.emitCommand(e)}emitUIInteraction(){console.log("emitUIInteraction 像素流初始化"),this.pixelStream.emitUIInteraction("像素流初始化")}resizeUEVideo(e,i){const n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class cr extends o.Destroyable{constructor(e,i,n){super();g(this,"_instance");g(this,"_event",this.dv(new o.Event));this._container=e,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new dr(this._container,{ws:this._wsuri})),this.d(this._instance.connected.don(r=>{this._event.emit(r,r),console.log(`%c[EarthSDK] ${r}`,"background: #a6ec99; color: black")})),this.d(this._instance.error.don(r=>{this._event.emit("errorEvent",r),console.log(`%c[EarthSDK] ${r}`,"background: red; color: black")})),this.d(this._instance.ueevent.don(r=>{this._event.emit("ueevent",r)}))}get instance(){return this._instance}get event(){return this._event}get debug(){return this._instance.debug}set debug(e){this._instance.debug=e}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class ur extends re{constructor(e,i,n,r){super();g(this,"_videoInitialized",this.dv(o.react(!1)));g(this,"_webRtcConnected",this.dv(o.react(!1)));g(this,"_webSocketOpen",this.dv(o.react(!1)));g(this,"_ue5ViewerWrapper");g(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));g(this,"_ueFuncWithIdAndResultCallbacks",[]);g(this,"_waitingUeFuncIdAndResultCallbacks",new Map);g(this,"_waitingUeCalls",new Set);g(this,"_ueEvent",this.dv(new o.Event));g(this,"_errorEvent",this.dv(new o.Event));g(this,"_readyEvent",this.dv(new o.Event));this._ueViewer=r,console.log("INNPSViewer init ! 以内置信令服务器模式启动!");const s=this._ueViewer,a=this.dv(new cr(e,i,n));this._ue5ViewerWrapper=a;{const d=()=>a.debug=s.debug??!1;d(),this.d(s.debugChanged.don(d))}{let d=!1;const u=this.dv(o.createNextAnimateFrameEvent(this._videoInitialized.changed,this._webRtcConnected.changed,this._webSocketOpen.changed));this.d(u.don(()=>{if(d)return;const h=this._ue5ViewerWrapper.instance.webSocketReady;if(this.videoInitialized&&this.webRtcConnected&&h){this._ue5ViewerWrapper.instance.emitUIInteraction(),this._readyEvent.emit(),d=!0,console.log("%c[EarthSDK videoInitialized && webRtcConnected && webSocketReady]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};this._ue5ViewerWrapper.emitUIInteractionForBigData(w)}else console.warn("webSocketReady",h),d=!1}))}this.d(a.event.don((d,u)=>{if(d==="errorEvent")this._errorEvent.emit(u);else if(d==="videoInitialized")this._videoInitialized.value=!0;else if(d==="webRtcConnected")this._webRtcConnected.value=!0;else if(d==="webSocketOpen")this._webSocketOpen.value=!0;else if(d==="ueevent"){const h=JSON.parse(u);if(h.t==="cr"){const w=h;if(w.frs&&this._ueFuncResultWithIdsEvent.emit(w.frs),w.ers)for(let m of w.ers)this._ueEvent.emit(m)}}}));{const d=this.dv(o.createAnimateFrame());let u,h,w;d.start(()=>{if(u!==e.offsetWidth||h!==e.offsetHeight||w!==s.resolutionScale){if(u=e.offsetWidth,h=e.offsetHeight,u===void 0||h===void 0||!Number.isFinite(u)||!Number.isFinite(h)||u<0||h<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${u} ${h}`);return}w=s.resolutionScale,a.resize(u/w,h/w)}})}this.d(this._ueFuncResultWithIdsEvent.don(d=>{for(const u of d){const h=this._waitingUeFuncIdAndResultCallbacks.get(u.fid);h&&(this._waitingUeFuncIdAndResultCallbacks.delete(u.fid),h.resultCallback(u.r))}}));let v=0;const l=d=>{const u={n:v++,tt:Date.now(),t:"c",fs:d};this._waitingUeCalls.add(u),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(u,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._ue5ViewerWrapper.emitUIInteractionForBigData(u,()=>{this._waitingUeCalls.delete(u)})},y=()=>{if(!this._ue5ViewerWrapper.instance.webSocketReady||this._ueFuncWithIdAndResultCallbacks.length===0)return;const u=this._ueFuncWithIdAndResultCallbacks.map((([h])=>h));for(const[h,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(h.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const h=globalThis.g_emitDescriptor_maxBytes,w=u.map(R=>({f:R,s:JSON.stringify(R).length}));let m=w.length,C=0,S=0,E=[];do{do{const{f:R,s:I}=w[C];if(E.push(R),++C,S+I>h||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),l([...E]),E.length=0,S=0)}while(C<m)}};this.dv(o.createInterval()).start(y,50),this.d(()=>console.log("UeCloudViewer正在销毁..."))}get videoInitialized(){return this._videoInitialized.value}get webRtcConnected(){return this._webRtcConnected.value}get webSocketOpen(){return this._webSocketOpen.value}get ue5ViewerWrapper(){return this._ue5ViewerWrapper}get errorEvent(){return this._errorEvent}get readyEvent(){return this._readyEvent}resize(e,i){this.ue5ViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}class hr extends o.Destroyable{constructor(e,i,n,r){super();g(this,"_onRuntimeInitialized",this.dv(new o.Event));g(this,"_vIframe",null);this._ueViewer=r;const s=this._ueViewer;{const a=document.createElement("iframe");this._vIframe=a,a.style.cssText="width: 100%; height: 100%; margin: 0; padding: 0; border: none; outline: none;",e.appendChild(a),this.d(()=>{a&&e.removeChild(a)});const v=o.ESSceneObject.getStrFromEnv(n+`/web/${i}.html`);a.src=v,a.onload=()=>{const l=a.contentWindow;if(!l){console.error("iframeWindow is null");return}console.log("iwindow.Module",l.Module),l.Module.onRuntimeInitialized=()=>{this._onRuntimeInitialized.emit(),s.setStatus("Created"),s.setStatusLog("创建成功"),l.Module.UE4_resizeCanvas(),l.console.log("创建成功__________________________________________")}}}}get onRuntimeInitialized(){return this._onRuntimeInitialized}get vIframe(){return this._vIframe}}const Gn=typeof TextDecoder<"u"?new TextDecoder:void 0,vr=(c,t=0,e=NaN)=>{const i=t+e;let n=t;for(;c[n]&&!(n>=i);)++n;if(n-t>16&&c.buffer&&Gn)return Gn.decode(c.subarray(t,n));let r="";for(;t<n;){var s=c[t++];if(!(s&128)){r+=String.fromCharCode(s);continue}var a=c[t++]&63;if((s&224)==192){r+=String.fromCharCode((s&31)<<6|a);continue}var v=c[t++]&63;if((s&240)==224?s=(s&15)<<12|a<<6|v:((s&248)!=240&&console.warn("Invalid UTF-8 leading byte encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),s=(s&7)<<18|a<<12|v<<6|c[t++]&63),s<65536)r+=String.fromCharCode(s);else{var l=s-65536;r+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return r};class gr extends o.Destroyable{constructor(t,e,i){super();{const n=()=>{const v=mt(e);e.setGlobalProperty(v)};n();const r=vt(),s=[];r.forEach(v=>{const l=e[v+"Changed"];s.push(l)});const a=this.dv(o.createNextAnimateFrameEvent(...s));this.d(a.don(n))}this.d(e.propChanged.don(n=>{if(n.objId==="")try{Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];e[r]=s})}catch(r){console.error("ueViewer propChanged:"+r)}})),e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,t)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,(n=>{if((e.statusUpdateInterval??.5)===0)return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("statusUpdate",a=>{e.statusUpdateEvent.emit(a)})),s}))),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("propChanged",s=>{e.propChanged.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("objectEvent",s=>{e.objectEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.readyEventListeningChanged,()=>{if(!(e.readyEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("readyEvent",s=>{var a;e.actived&&((a=o.ESSceneObject.getSceneObjById(s.id))==null||a.readyEvent.emit(e))})),r})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("widgetEvent",s=>{e.widgetEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("speechRecognition",s=>{e.speechRecognition.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("customMessage",s=>{e.customMessage.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("editingEvent",s=>{s.objectIDs=s.objectIDs.map(a=>{var v;return((v=o.ESSceneObject.getSceneObjById(a))==null?void 0:v.parentID)??a}),e.editingEvent.emit(s)})),r})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}let pr=-1;class fr extends re{constructor(e,i,n="${earthsdk3-ue-h5-assets-script-dir}",r){super();g(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));g(this,"_ueFuncWithIdAndResultCallbacks",[]);g(this,"_waitingUeFuncIdAndResultCallbacks",new Map);g(this,"_waitingUeCalls",new Map);g(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=r;const s=this._ueViewer,a=this.dv(new hr(e,i,n,s));let v=!1,l=null;this.d(a.onRuntimeInitialized.don(()=>{var u;if(v=!0,(u=a==null?void 0:a.vIframe)!=null&&u.contentWindow){l=a.vIframe.contentWindow;const h=a.vIframe.contentWindow.document.getElementById("mainarea");h?this.dv(new gr(h,s,this)):console.error("h5Container is null")}else{console.error("iframeWindow is null");return}l.UE_JSHTML5Communication?l.UE_JSHTML5Communication.UESendMessageToJS=h=>{try{const w=vr(l.HEAPU8,h),m=JSON.parse(w);if(s.debug&&(console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(m,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()),m.t==="cr"){const C=m;if(C.frs&&this._ueFuncResultWithIdsEvent.emit(C.frs),C.ers)for(let S of C.ers)this._ueEvent.emit(S)}m.callid&&this._waitingUeCalls.has(m.callid)&&(this._waitingUeCalls.delete(m.callid),console.log(`waitingUeCalls.delete:${m.callid} end`))}catch(w){console.error("UE_JSHTML5Communication.UESendMessageToJS error:",w)}}:console.error("UE_JSHTML5Communication UESendMessageToJS not found")})),this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(u=>{for(const h of u){const w=this._waitingUeFuncIdAndResultCallbacks.get(h.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(h.fid),w(h.r))}}));let y=0;const f=()=>{if(!v||!l||!l.UE_JSHTML5Communication||!l.UE_JSHTML5Communication.JSSendMessageToUE||this._ueFuncWithIdAndResultCallbacks.length===0)return;const u=this._ueFuncWithIdAndResultCallbacks.map((([I])=>I)),h={n:y++,tt:Date.now(),t:"c",fs:u,callid:o.createGuid()};for(const[I,B]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(I.fid,B);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.set(h.callid,h),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(h,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const w=JSON.stringify(h),m=globalThis.g_emitDescriptor_maxBytes??3e4,C=w.length,S=++pr;if(C<m){const I=`${S}-0/1-`+w;l.UE_JSHTML5Communication.JSSendMessageToUE(I);return}const E=Math.ceil(C/m)|0;[...new Array(E).keys()].map(I=>w.slice(I*m,(I+1)*m)).forEach((I,B)=>{const M=`${S}-${B}/${E}-`+I;l.UE_JSHTML5Communication.JSSendMessageToUE(M)})};this.dv(o.createInterval()).start(f,50)}processResponse(e){if(this._ueViewer.debug??!1)try{const i=JSON.parse(e);console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}let wr=-1;class yr extends re{constructor(e,i){super();g(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));g(this,"_ueFuncWithIdAndResultCallbacks",[]);g(this,"_waitingUeFuncIdAndResultCallbacks",new Map);g(this,"_waitingUeCalls",new Set);g(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=i;const n=this._ueViewer;let r=!1;const s={eventType:"init",params:{}};globalThis.ue.es.oncommand("init-0/1-"+JSON.stringify(s)).then(()=>{r=!0}).catch(y=>{console.error(y)}),globalThis.calljs=(y,f)=>{if(n.debug&&console.log(`calljs eventName:${y} eventDetailStr:${f}`),y==="ueevent"||y==="commanFinish")try{const d=JSON.parse(f);if(d.t==="cr"){const u=d;if(u.frs&&this._ueFuncResultWithIdsEvent.emit(u.frs),u.ers)for(let h of u.ers)this._ueEvent.emit(h)}}catch(d){console.error(d)}},this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(y=>{for(const f of y){const d=this._waitingUeFuncIdAndResultCallbacks.get(f.fid);d&&(this._waitingUeFuncIdAndResultCallbacks.delete(f.fid),d(f.r))}}));let a=0;const v=()=>{if(!r||this._ueFuncWithIdAndResultCallbacks.length===0)return;const y=this._ueFuncWithIdAndResultCallbacks.map((([u])=>u)),f={n:a++,tt:Date.now(),t:"c",fs:y};for(const[u,h]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(u.fid,h);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.add(f),n.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(f,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const d=++wr;globalThis.ue.es.oncommand(`${d}-0/1-`+JSON.stringify(f)).then(()=>{this._waitingUeCalls.delete(f)})};this.dv(o.createInterval()).start(v,50)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}class mr extends o.Destroyable{constructor(t,e){super();{const i=()=>{const a=mt(t);t.setGlobalProperty(a)};i();const n=vt(),r=[];n.forEach(a=>{const v=t[a+"Changed"];r.push(v)});const s=this.dv(o.createNextAnimateFrameEvent(...r));this.d(s.don(i))}this.d(t.propChanged.don(i=>{if(i.objId==="")try{Object.keys(i.props).forEach(n=>{const r=i.props[n]===null?void 0:i.props[n];t[n]=r})}catch(n){console.error("ueViewer propChanged:"+n)}})),this.dv(new o.ObjResettingWithEvent(t.statusUpdateIntervalChanged,(i=>{if((t.statusUpdateInterval??.5)===0)return;const r=new o.Destroyable;return r.d(e.disposableOnUeEvent("statusUpdate",s=>{t.statusUpdateEvent.emit(s)})),r}))),this.dv(new o.ObjResettingWithEvent(t.propChangedListeningChanged,()=>{if(!(t.propChangedListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("propChanged",r=>{t.propChanged.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.objectEventListeningChanged,()=>{if(!(t.objectEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("objectEvent",r=>{t.objectEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.readyEventListeningChanged,()=>{if(!(t.readyEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("readyEvent",r=>{var s;t.actived&&((s=o.ESSceneObject.getSceneObjById(r.id))==null||s.readyEvent.emit(t))})),n})),this.dv(new o.ObjResettingWithEvent(t.widgetEventListeningChanged,()=>{if(!(t.widgetEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("widgetEvent",r=>{t.widgetEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.speechRecognitionListeningChanged,()=>{if(!(t.speechRecognitionListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("speechRecognition",r=>{t.speechRecognition.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.customMessageListeningChanged,()=>{if(!(t.customMessageListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("customMessage",r=>{t.customMessage.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.editingEventListeningChanged,()=>{if(!(t.editingEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("editingEvent",r=>{r.objectIDs=r.objectIDs.map(s=>{var a;return((a=o.ESSceneObject.getSceneObjById(s))==null?void 0:a.parentID)??s}),t.editingEvent.emit(r)})),n})),this.ad(e.disposableOnUeEvent("cameraChanged",()=>{t.cameraChanged.emit()}))}}class Cr extends o.Destroyable{constructor(t,e,i){super();{const r=()=>{const l=mt(e);e.setGlobalProperty(l)};r();const s=vt(),a=[];s.forEach(l=>{const y=e[l+"Changed"];a.push(y)});const v=this.dv(o.createNextAnimateFrameEvent(...a));this.d(v.don(r))}this.d(e.propChanged.don(r=>{if(r.objId==="")try{Object.keys(r.props).forEach(s=>{const a=r.props[s]===null?void 0:r.props[s];e[s]=a})}catch(s){console.error("ueViewer propChanged:"+s)}}));const n=document.createElement("div");n.style.width="100%",n.style.height="100%",n.style.position="absolute",n.style.overflow="hidden",n.style.top="0",n.style.left="0",n.style.zIndex="0",n.style.backgroundColor="rgba(255,0,0,0)",n.setAttribute("masker","大屏顶层div,用于模拟鼠标事件和控制UE鼠标事件是否生效"),t.appendChild(n),this.d(()=>{n&&t&&t.removeChild(n)});{const r=(l,y)=>{globalThis.ue.esinput.setinterceptevent(y),l.preventDefault()},s=l=>{r(l,!1)},a=l=>{r(l,!0)},v=l=>{r(l,!1)};n.addEventListener("mouseenter",s),n.addEventListener("mouseleave",a),n.addEventListener("mousemove",v),this.d(()=>{n.removeEventListener("mouseenter",s),n.removeEventListener("mouseleave",a),n.removeEventListener("mousemove",v)})}e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,n)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,(r=>{if((e.statusUpdateInterval??.5)===0)return;const a=new o.Destroyable;return a.d(i.disposableOnUeEvent("statusUpdate",v=>{e.statusUpdateEvent.emit(v)})),a}))),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("propChanged",a=>{e.propChanged.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("objectEvent",a=>{e.objectEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.readyEventListeningChanged,()=>{if(!(e.readyEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("readyEvent",a=>{var v;e.actived&&((v=o.ESSceneObject.getSceneObjById(a.id))==null||v.readyEvent.emit(e))})),s})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("widgetEvent",a=>{e.widgetEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("speechRecognition",a=>{e.speechRecognition.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("customMessage",a=>{e.customMessage.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("editingEvent",a=>{a.objectIDs=a.objectIDs.map(v=>{var l;return((l=o.ESSceneObject.getSceneObjById(v))==null?void 0:l.parentID)??v}),e.editingEvent.emit(a)})),s})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}class Er extends o.Destroyable{constructor(e,i,n){super();g(this,"_reconnectEvent",this.dv(new o.Event));const r=(f,d)=>f.hasOwnProperty(d);let s=0,a;this.d(()=>{a&&clearTimeout(a)});const l=new URLSearchParams(globalThis.location.search).get("eswebview")==="true",y=()=>{if(globalThis.ue.esinput){n.setStatus("Creating"),console.log("存在(window.ue && window.ue.es && window.ue.esinput 需要适配新版ESWebView 鼠标穿透), 开始创建UeFalseCloudViewer..."),n.setStatusLog("开始创建本地视口...");const f=this.dv(new yr(e,n));this.d(()=>n.viewer=void 0),n.viewer=f,n.setStatus("Created"),n.setStatusLog("本地视口创建成功!"),this.dv(new Cr(e,n,f))}else n.setStatus("Error"),n.setStatusLog("请升级 ESWebView !"),this.d(()=>n.viewer=void 0),n.viewer=void 0};if(globalThis.ue&&globalThis.ue.es)y();else if(l){const f=setInterval(()=>{globalThis.ue&&globalThis.ue.es&&(clearInterval(f),y())},200)}else if(r(i.options,"ws")||r(i.options,"uri")&&r(i.options,"app")){n.setStatus("Creating"),n.setStatusLog("开始创建云渲染视口...");let f;this.d(()=>{n.setStatus("Raw"),n.setStatusLog(""),e&&f&&e.removeChild(f)&&(f=void 0)});const d=this.dv(o.createProcessingFromAsyncFunc(async u=>{n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,f&&e.removeChild(f)&&(f=void 0),f=document.createElement("div"),f.setAttribute("earthsdk3-ue","earthsdk3-ue-videoContainer"),f.style.cssText="position:relative; height: 100%;width:100%;",e.appendChild(f);let h,w,m,C;if(r(i.options,"ws")){const{ws:I,esmsg:B,uselnternalSignallingServer:M,silentTime:Hi}=i.options;h=I,w=B,m=M??!1,C=Hi??0}if(r(i.options,"uri")&&r(i.options,"app")){const{offsetWidth:I,offsetHeight:B}=f;let{uri:M,app:Hi,token:Yn,silentTime:Ir}=i.options;M.endsWith("/")||(M+="/");const Tr=Yn?`?essstoken=${Yn}`:"",Vn=`/${Hi}/${I??1920}/${B??1080}`+Tr;console.log(`请求信令服务器: ${M}instance${Vn}`);const Rr=await u.promise(fetch(`${M}instance${Vn}`,{method:"GET"})),O=await u.promise(Rr.json());if(O&&O.status!=="ok"){n.setStatus("Error"),n.setStatusLog(`信令服务器请求失败 ${O.status}`),this._reconnectEvent.emit(void 0);return}else{console.log(`信令服务器请求成功! ${JSON.stringify(O,void 0," ")}`);const{server:Dr,esmsg:Lr,instanceId:Pr,useInternalSignallingServer:Br}=O;if(!Pr){n.setStatus("Error"),n.setStatusLog("检查信令服务器版本,返回数据错误! "),console.log("信令服务器返回数据错误!不包含instanceId!请升级到 ESSS V3.0+ 版本!"),this._reconnectEvent.emit(void 0);return}h=Dr,w=Lr,m=Br??!1,C=Ir??0,n.esssResponse=O}}console.log(`静默 ${C}s...`),await u.promise(o.sleep((C??0)*1e3)),console.log(`静默 ${C}s...done!`);const S=this.dv(m?new ur(f,h,w,n):new rr(f,h,w,n));this.d(()=>n.viewer=void 0),this.d(S.errorEvent.don(I=>{const B=`[${I}]:像素流连接错误!`;n.setStatus("Error"),n.setStatusLog(B),this._reconnectEvent.emit(S)})),await u.promise(new Promise(I=>this.d(S.readyEvent.donce(I)))),n.setStatus("Created"),n.setStatusLog("云渲染视口创建成功!"),s=0,a&&clearTimeout(a),a=void 0;const{offsetWidth:E,offsetHeight:R}=f;S.resize(E,R),n.viewer=S,this.d(()=>n.viewer=void 0),this.dv(new mr(n,S))}));d.start(),this.d(this._reconnectEvent.don(u=>{a===void 0&&(u&&!u.isDestroyed()&&u.destroy(),n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,n.autoReconnect&&(n.setStatus("Reconnecting"),n.setStatusLog("正在尝试重新连接..."),s=s+5e3>3e4?3e4:s+5e3,console.warn(`间隔:${s/1e3}s,正在尝试重新连接...`),a=globalThis.setTimeout(()=>{d.restart()},s)))})),this.d(d.errorEvent.don(u=>{n.setStatus("Error"),n.setStatusLog("云渲染视口创建失败!"),console.warn("云渲染视口创建失败!",u),this._reconnectEvent.emit(void 0)}))}else if(r(i.options,"project")){const f=i,d=f.options.project,u=f.options.baseUrl;n.setStatus("Creating"),n.setStatusLog("下载编译中...");const h=this.dv(new fr(e,d,u,n));n.viewer=h,this.d(()=>n.viewer=void 0)}else n.setStatus("Error"),n.setStatusLog("视口创建失败!"),console.warn("视口创建失败: 参数错误!")}}const x=class x extends o.ESViewer{constructor(e){super(e);g(this,"_viewer",this.dv(o.react(void 0)));g(this,"_esssResponse");g(this,"_speechRecognition",this.dv(new o.Event));g(this,"_propChanged",this.dv(new o.Event));g(this,"_objectEvent",this.dv(new o.Event));g(this,"_widgetEvent",this.dv(new o.Event));g(this,"_customMessage",this.dv(new o.Event));g(this,"_statusUpdateEvent",this.dv(new o.Event));g(this,"_statusUpdateEventdon",(()=>{this.d(this.statusUpdateEvent.don(e=>{this._statusInfo.fps=e.FPS??0,this._statusInfo.length=e.length??0,this._statusInfo.position=e.position??[0,0,0],this._statusInfo.rotation=e.rotation??[0,0,0]}))})());if(e.type!=="ESUeViewer")throw new Error("option.type must be ESUeViewer");const i=e;this.d(this._viewer.changed.don(()=>{this.viewerChanged.emit(this.viewer)})),this.dv(new o.ObjResettingWithEvent(this.subContainerChanged,()=>{if(this.setStatus("Raw"),this.setStatusLog(""),!!this.subContainer)return new Er(this.subContainer,i,this)}))}get defaultProps(){return x.createDefaultProps()}set viewer(e){this._viewer.value=e}get viewer(){return this._viewer.value}get esssResponse(){return this._esssResponse}set esssResponse(e){this._esssResponse=e}get speechRecognition(){return this._speechRecognition}get propChanged(){return this._propChanged}get objectEvent(){return this._objectEvent}get widgetEvent(){return this._widgetEvent}get customMessage(){return this._customMessage}get statusUpdateEvent(){return this._statusUpdateEvent}async uePositionToLonLatAlt(e){if(!this.viewer){console.warn("UEPositionToLonLatAlt: viewer is undefined");return}return await hn(this.viewer,e)}async changeNavigationMode(e){if(!this.viewer){console.warn("ChangeNavigationMode: viewer is undefined");return}const i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async resetWithCurrentCamera(e){if(!this.viewer){console.warn("resetWithCurrentCamera: viewer is undefined");return}return await Et(this.viewer,e)}async getAllSocketNamesByActorTag(e){if(!this.viewer){console.warn("GetAllSocketNamesByActorTag: viewer is undefined");return}return await vn(this.viewer,e)}async getBoundSphere(e){if(!this.viewer){console.warn("getBoundSphere: viewer is undefined");return}return await pn(this.viewer,e)}async getBoundSphereWithChildren(e){if(!this.viewer){console.warn("getBoundSphereWithChildren: viewer is undefined");return}return await fn(this.viewer,e)}async getStrokeMaterialParamInfo(e){if(!this.viewer){console.warn("GetStrokeMaterialParamInfo: viewer is undefined");return}return await wn(this.viewer,e)}async getFillMaterialParamInfo(e){if(!this.viewer){console.warn("getFillMaterialParamInfo: viewer is undefined");return}return await yn(this.viewer,e)}async getGlobalProperty(e){if(!this.viewer){console.warn("getGlobalProperty: viewer is undefined");return}return await mn(this.viewer,e)}async getObjectByInfo(e){if(!this.viewer){console.warn("GetObjectByInfo: viewer is undefined");return}return await Cn(this.viewer,e)}async defaultCameraFlyIn(e=1){if(!this.viewer){console.warn("DefaultCameraFlyIn: viewer is undefined");return}return await Ki(this.viewer,e)}async startVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await Xi(this.viewer)}async stopVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await qi(this.viewer)}async mountPakFiles(e){if(!this.viewer){console.warn("mountPakFiles:viewer is undefined");return}return await Zi(this.viewer,e)}async generateMemReport(){if(!this.viewer){console.warn("generateMemReport:viewer is undefined");return}return await Qi(this.viewer)}async quit(){if(!this.viewer){console.warn("Quit: viewer is undefined");return}return await rn(this.viewer)}async bindActorByTag(e,i){if(!this.viewer){console.warn("BindActorByTag: viewer is undefined");return}return await En(this.viewer,e,i)}async restoreOriginalScene(){if(!this.viewer){console.warn("RestoreOriginalScene: viewer is undefined");return}return await Sn(this.viewer)}async unBindActorByID(e){if(!this.viewer){console.warn("UnBindActorByID: viewer is undefined");return}return await Fn(this.viewer,e)}async unBindActorByTag(e){if(!this.viewer){console.warn("UnBindActorByTag: viewer is undefined");return}return await In(this.viewer,e)}async createActorByClass(e,i){if(!this.viewer){console.warn("CreateActorByClass: viewer is undefined");return}return await Tn(this.viewer,e,i)}async bind3DTilesetByTag(e,i){if(!this.viewer){console.warn("Bind3DTilesetByTag: viewer is undefined");return}return await Rn(this.viewer,e,i)}async unBind3DTilesetByTag(e){if(!this.viewer){console.warn("UnBind3DTilesetByTag: viewer is undefined");return}return await Dn(this.viewer,e)}async unBind3DTilesetById(e){if(!this.viewer){console.warn("UnBind3DTilesetById: viewer is undefined");return}return await Ln(this.viewer,e)}async bindImageryByTag(e,i,n){if(!this.viewer){console.warn("BindImageryByTag: viewer is undefined");return}return await Pn(this.viewer,e,i,n)}async unBindImageryByTag(e,i){if(!this.viewer){console.warn("UnBindImageryByTag: viewer is undefined");return}return await Bn(this.viewer,e,i)}async unBindImageryById(e){if(!this.viewer){console.warn("UnBindImageryById: viewer is undefined");return}return await Un(this.viewer,e)}async getIdByComponentNameAndHitItem(e,i,n){if(!this.viewer){console.warn("GetIdByComponentNameAndHitItem: viewer is undefined");return}return await An(this.viewer,e,i,n)}async getCameraRelativeHeight(e="ECC_Visibility"){if(!this.viewer){console.warn("GetCameraRelativeHeight: viewer is undefined");return}return await bn(this.viewer,e)}async saveStringToFile(e,i,n){if(!this.viewer){console.warn("SaveStringToFile: viewer is undefined");return}return await Mn(this.viewer,e,i,n)}async highlightActorByTag(e,i=!0){if(!this.viewer){console.warn("HighlightActorByTag: viewer is undefined");return}return await Wn(this.viewer,e,i)}async sendCustomMessage(e){if(!this.viewer){console.warn("SendCustomMessage: viewer is undefined");return}return await $n(this.viewer,e)}async getStatus(){if(!this.viewer){console.warn("GetStatus:viewer is undefined");return}return await xn(this.viewer)}async getTilesetMaterialIDList(){if(!this.viewer){console.warn("GetTilesetMaterialIDList:viewer is undefined");return}return await Hn(this.viewer)}async pick(e,i,n){if(!this.viewer)return;let r=e;if(e&&globalThis.ue&&this.container){const[s,a]=e,{x:v,y:l}=this.container.getBoundingClientRect();r=[v+s,l+a]}return await on(this.viewer,r,i,n)}async pickPosition(e){if(!this.viewer)return;let i=e;if(e&&globalThis.ue&&this.container){const[n,r]=e,{x:s,y:a}=this.container.getBoundingClientRect();i=[s+n,a+r]}return await sn(this.viewer,i)}async quickPickPosition(e){return await this.pickPosition(e)}async getTerrainHeight(e){return await this.getHeightByLonLat(e[0],e[1])??void 0}async flyIn(e,i=[0,0,0],n=1,r="default"){if(!this.viewer)return;const s=await j(this.viewer,void 0,e,i,n,r);if(s)return s.endType===0&&console.warn(`flyTo:flyTo is end! endType:${s.endType}`),s.endType===1&&console.warn(`flyTo:飞行中断! endType:${s.endType}`),s}async flyTo(e,i,n="default"){if(!this.viewer)return;const r=await X(this.viewer,void 0,void 0,e,i,n);if(r)return r.endType===0&&console.warn(`flyTo:flyTo is end! endType:${r.endType}`),r.endType===1&&console.warn(`flyTo:飞行中断! endType:${r.endType}`),r}flyToBoundingSphere(e,i,n=1){const r=[[e[0],e[1],0],[e[0],e[3],0],[e[2],e[3],0],[e[2],e[1],0]],s=o.getGeoBoundingSphereFromPositions(r);if(!s)return;const{center:a,radius:v}=s,l={distance:i??v,heading:0,pitch:-90,flyDuration:n,hDelta:0,pDelta:0};this.flyTo(l,a)}getCurrentCameraInfo(){const{position:e,rotation:i}=this._statusInfo;return{position:e,rotation:i}}transformFlyParam(e,i){}getLengthInPixel(){return this._statusInfo.length}async changeToWalk(e,i=4.2,n=1.6){if(!this.viewer)return;const r={mode:"Walk",position:e,jumpZVelocity:i,eyeHeight:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToMap(){if(!this.viewer)return;const e={mode:"Map"},i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async changeToRotateGlobe(e=38,i=1e7,n=60){if(!this.viewer)return;const r={mode:"RotateGlobe",latitude:e,height:i,cycleTime:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToLine(e,i=10,n=10,r=!0,s=10,a="auto"){if(!this.viewer)return;const v={mode:"Line",geoLineStringId:e,speed:i,heightOffset:n,loop:r,turnRateDPS:s,lineMode:a},l=await A(this.viewer,v);return l&&!l.error&&(this._navigationMode.value=v.mode),l}async changeToUserDefined(e){if(!this.viewer)return;const i={mode:"UserDefined",userDefinedPawn:e},n=await A(this.viewer,i);return n&&!n.error&&(this._navigationMode.value=i.mode),n}async changeToRotatePoint(e,i=5e4,n=60,r=0,s=-30){if(!this.viewer)return;const a={mode:"RotatePoint",position:e,distance:i,orbitPeriod:n,heading:r,pitch:s},v=await A(this.viewer,a);return v&&!v.error&&(this._navigationMode.value=a.mode),v}async changeToFollow(e,i=0,n=0,r=-30,s=!0){if(!this.viewer)return;const a={mode:"Follow",objectId:e,distance:i,heading:n,pitch:r,relativeRotation:s},v=await A(this.viewer,a);return v&&!v.error&&(this._navigationMode.value=a.mode),v}getFPS(){return this._statusInfo.fps}async getVersion(){const e=globalThis.g_XE3CopyRights??{};if(!this.viewer)return e;const i=await gn(this.viewer);return e.esforue=i,e}async getHeightByLonLat(e,i,n="ECC_Visibility"){if(!this.viewer)return null;const r=await an(this.viewer,e,i,n);return r&&r.height!==void 0?r.height:null}async getHeightsByLonLats(e,i="ECC_Visibility"){return this.viewer?await ln(this.viewer,e,i):void 0}async capture(e=64,i=64){return this.viewer?await dn(this.viewer,e,i):void 0}async partialCapture(e,i=[64,64]){if(!this.viewer){console.warn("partialCapture:viewer is undefined");return}return await cn(this.viewer,e,i)}async lonLatAltToScreenPosition(e){if(!this.viewer)return;const i=await un(this.viewer,e);return i&&[i.X,i.Y]}async setGlobalProperty(e){if(this.viewer)return await nn(this.viewer,e)}async startEditing(e,i,n){n=Object.assign({useKeyToSwitch:!0,callSource:"outer"},n);const r=e.components.main??e;if(!r||!this.viewer||i==null)return;const s=Array.isArray(i)?[...i]:[i];return r.editingID=`${n.callSource}_${o.createGuid()}`,await _n(this.viewer,r.id,r.editingID,s,n.useKeyToSwitch)}async stopEditing(){if(this.viewer)return await Nn(this.viewer)}async moveObjects(e){if(!this.viewer)return;const i=[],n=o.createGuid();for(let r=0;r<e.length;r++){const s=e[r],a=s.components.main??s;a.editingID=n,a&&i.push(a.id)}if(i.length!==0)return await zn(this.viewer,i,n)}};g(x,"type",x.register("ESUeViewer",x)),g(x,"defaults",{...On});let b=x;(c=>{c.createDefaultProps=()=>({...o.ESViewer.createDefaultProps(),...Gi(),resolutionScale:1,autoReconnect:!1,propChangedListening:void 0,objectEventListening:void 0,readyEventListening:void 0,widgetEventListening:void 0,speechRecognitionListening:void 0,customMessageListening:void 0})})(b||(b={})),o.extendClassProps(b.prototype,b.createDefaultProps);class $ extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=this.ad(o.react(!1));t.components.main||this.d(this.createdEvent.don(()=>{const r=this.constructor.propValFuncs,s=t.defaultProps,a=Object.keys(s).filter(u=>r[u]!==null);a.push(...this.constructor.forceUeUpdateProps);const v=t.constructor.defaults,l={val:{}},y=[];for(let u of a){const h=u+"Changed",w=t[h];y.push(w);const m=r[u];if(m===null)throw console.error("vf === null error"),new Error("vf === null error");const C=()=>{const S=t[u]??v[u]??t.constructor[`default${u.charAt(0).toUpperCase()+u.slice(1)}`];let E=m?m(S,this,e,t):S;if(E===void 0){console.warn(`UE自动更新的属性,不应该为undefined! 属性名:${u} 对象名:${t.name} 对象id: ${t.id}`);return}l.val[u]=E};C(),this.d(w.don(C))}const f=async()=>{await i.callUeFunc({f:"update",p:{id:t.id,...l.val}}),l.val={}},d=this.dv(o.createNextAnimateFrameEvent(...y));this.d(d.don(f)),this.d(n.changed.don(f)),this.d(t.flushEvent.don(()=>d.flush()))})),t.components.main||(this.d(()=>{n.value&&Ct(i,t.id)}),i.callUeFunc({f:"create",p:{...t.json,type:t.typeName,id:t.id}}).then(()=>{n.value=!0}).catch(r=>console.error(r)))}}g($,"propValFuncs",{ref:null,devTags:null,extras:null,execOnceFuncStr:null,updateFuncStr:null,toDestroyFuncStr:null}),g($,"forceUeUpdateProps",[]);class T extends ${constructor(t,e){super(t,e);const i=e.viewer;i&&(this.d(t.flyToEvent.don(n=>{X(i,t.id,n)})),this.d(t.flyInEvent.don(n=>{var r,s;j(i,t.id,(r=t.flyInParam)==null?void 0:r.position,(s=t.flyInParam)==null?void 0:s.rotation,n??1)})),this.d(t.calcFlyToParamEvent.don(()=>{W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(()=>{const n=e.getCurrentCameraInfo();if(!n)return;const{position:r,rotation:s}=n;t.flyInParam={position:r,rotation:s,flyDuration:1}})),this.d(e.propChanged.don(n=>{n.objId===t.id&&Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];t[r]=s})})))}}class F extends T{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,position:t.position,rotation:t.rotation}})},r=this.dv(o.createNextAnimateFrameEvent(t.positionChanged,t.rotationChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)})),this.d(t.smoothMoveEvent.don((v,l)=>{ne(i,t.id,v,l)})),this.d(t.smoothMoveWithRotationEvent.don((v,l,y)=>{ee(i,t.id,v,l,y)})),this.d(t.smoothMoveOnGroundEvent.don((v,l,y,f)=>{te(i,t.id,v,l,f,y)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((v,l,y,f,d)=>{ie(i,t.id,v,l,y,f,d)})),this.d(t.smoothMoveKeepPitchEvent.don(async(v,l)=>{const y=await i.callUeFunc({f:"SmoothMoveKeepPitch",p:{id:t.id,Destination:v,Time:l}});y.error&&console.error("SmoothMoveKeepPitch:",y.error)})),this.d(t.automaticLandingEvent.don(v=>{const l=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(y=>{y!==null&&(t.position=[...l,y],t.collision=v)})}));const s=async(v,l,y,f)=>{const{viewer:d}=v;if(!d){console.error("SmoothMoveRelatively: ueViewer.viewer is undefined");return}const u=await d.callUeFunc({f:"SmoothMoveRelatively",p:{id:l,RelativePosition:y,Time:f}});return u.error&&console.error("SmoothMoveRelatively:",u.error),u};this.d(t.smoothMoveRelativelyEvent.don((v,l)=>{s(e,t.id,v,l)}));const a=async(v,l,y,f,d)=>{const{viewer:u}=v;if(!u){console.error("SmoothMoveRelativelyWithRotation: ueViewer.viewer is undefined");return}const h=await u.callUeFunc({f:"SmoothMoveRelativelyWithRotation",p:{id:l,RelativePosition:y,NewRotation:f,Time:d}});return h.error&&console.error("SmoothMoveRelativelyWithRotation:",h.error),h};this.d(t.smoothMoveRelativelyWithRotationEvent.don((v,l,y)=>{a(e,t.id,v,l,y)}))}}class D extends T{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,points:t.points}})},r=this.dv(o.createNextAnimateFrameEvent(t.pointsChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)}))}}g(D,"propValFuncs",{...T.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class U extends F{constructor(t,e){super(t,e),e.viewer&&this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,add:s}=n;t.widgetEvent.emit({type:r,add:s})}))}}class Ft extends F{constructor(t,e){super(t,e),e.viewer}}g(Ft,"propValFuncs",{...F.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class pt extends Ft{constructor(t,e){super(t,e),e.viewer}}const Jn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是3dTileset,无法绑定";default:return"未知错误"}},oe=class oe extends o.EngineObject{constructor(e,i){super(e,i);g(this,"styleColorName");g(this,"_styleColor",this.dv(o.react([])));g(this,"styleVisableName");g(this,"_styleVisable",this.dv(o.react([])));g(this,"style",[]);const n=i.viewer;if(!n){console.warn("UeES3DTileset: viewer is undefined!");return}let r,s;const a=async()=>{!r&&!s||await n.callUeFunc({f:"update",p:{id:e.id,url:e.url,show:e.show,collision:e.collision,allowPicking:e.allowPicking,flyToParam:e.flyToParam??o.ES3DTileset.defaultFlyToParam,flyInParam:e.flyInParam??o.ES3DTileset.defaultFlyInParam,highlightID:e.highlightID,highlightColor:e.highlightColor,highlight:e.highlight,materialMode:e.materialMode,maximumScreenSpaceError:e.maximumScreenSpaceError,colorMode:Reflect.has(e,"colorMode")?e.colorMode:void 0,offset:e.offset,rotation:e.rotation,cacheBytes:e.cacheBytes,colorBlendMode:e.colorBlendMode,materialOverrideMap:e.materialOverrideMap}})},v=this.dv(o.createNextAnimateFrameEvent(e.urlChanged,e.showChanged,e.flyToParamChanged,e.flyInParamChanged,e.collisionChanged,e.allowPickingChanged,e.highlightIDChanged,e.highlightColorChanged,e.highlightChanged,e.materialModeChanged,e.maximumScreenSpaceErrorChanged,e.offsetChanged,e.rotationChanged,e.cacheBytesChanged,e.colorBlendModeChanged,e.materialOverrideMapChanged));a(),this.d(v.don(a)),Reflect.has(e,"colorMode")&&this.d(e.colorModeChanged.don(()=>a()));const l=this.dv(o.react(void 0));{const f=this.dv(o.createNextAnimateFrameEvent(e.actorTagChanged,e.urlChanged)),d=()=>{e.actorTag?l.value={type:"ActorTag",actorTag:e.actorTag}:e.url?l.value={type:"CreatedUrl",url:e.url}:l.value=void 0,e.editing=!1};d(),this.d(f.don(d))}const y=async()=>{const{id:f}=e;if(r!==void 0){r=void 0;try{const d=await i.unBind3DTilesetById(f);if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d}`);return}}if(s!==void 0){s=void 0;try{const d=await n.callUeFunc({f:"destroy",p:{id:f}});if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset Destroy: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset Destroy: ${d}`);return}}};this.d(()=>{y()});{const f=this.dv(o.createProcessingFromAsyncFunc(async u=>{if(l.value===void 0){await u.promise(y());return}if(l.value.type==="ActorTag"){const{actorTag:h}=l.value;if(r!==h&&await u.promise(y()),r!==void 0||h===void 0)return;try{r=h;const w=await u.promise(i.bind3DTilesetByTag(e.id,h));if(!w)return;if(w.error!==""){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w.error}`);return}if(w.re.type!==0)if(w.re.type===1)console.warn(`UeES3DTileset Bind3DTilesetByTag: ${Jn(w.re.type)}`);else{console.warn(`UeES3DTileset Bind3DTilesetByTag: ${Jn(w.re.type)}`);return}}catch(w){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w}`);return}}else if(l.value.type==="CreatedUrl"){const{url:h}=l.value;if(h!==s&&await y(),s!==void 0||h===void 0)return;try{s=h;const w=await u.promise(n.callUeFunc({f:"create",p:{type:e.typeName,id:e.id}}));if(!w)return;if(w.error!==""){console.warn(`UeES3DTileset create: ${w.error}`);return}}catch(w){console.warn(`UeES3DTileset create: ${w}`);return}}await u.promise(a())})),d=async()=>{f.restart()};d(),this.d(l.changed.don(d))}this.d(e.refreshTilesetEvent.don(()=>{Ji(n,e.id)})),this.d(e.flyToEvent.don(async(f,d)=>{if(!r&&!s)return;const u=await X(n,e.id,f);let h="over";u===void 0?h="error":u.endType===0?h="over":u.endType===1&&(h="cancelled"),e.flyOverEvent.emit(d,h,i)})),this.d(e.calcFlyToParamEvent.don(()=>{!r&&!s||W(n,e.id)})),this.d(e.calcFlyInParamEvent.don(async()=>{if(!r&&!s||!i.actived)return;const f=await i.getCurrentCameraInfo();if(!f)return;const{position:d,rotation:u}=f;e.flyInParam={position:d,rotation:u,flyDuration:1}})),this.d(i.propChanged.don(f=>{!r&&!s||f.objId===e.id&&Object.keys(f.props).forEach(d=>{const u=f.props[d]===null?void 0:f.props[d];e[d]=u})})),this.d(i.objectEvent.don(f=>{!r&&!s||f.id!==e.id||f.type!=="3DTilesetReady"||e.tilesetReady.emit(f.p)}));{const f=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureColor",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureColor: ${C.error}`);return}},d=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureVisable",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureVisable: ${C.error}`);return}},u=async()=>{if(!r&&!s)return;const w=await n.callUeFunc({f:"ResetFeatureStyle",p:{id:e.id}});if(w&&w.error!==""){console.warn(`UeES3DTileset ResetFeatureStyle: ${w.error}`);return}},h=async w=>{if(!r&&!s)return;const m=await n.callUeFunc({f:"SetFeatureStyle",p:{id:e.id,json:w}});if(m&&m.error!==""){console.warn(`UeES3DTileset SetFeatureStyle: ${m.error}`);return}};this.d(e.setFeatureColorEvent.don((w,m,C)=>{this.styleColorName=w;const S=C?[...this.styleColor,...m]:m;this.styleColor=[...S],f(w,S)})),this.d(e.setFeatureVisableEvent.don((w,m,C)=>{this.styleVisableName=w;const S=C?[...this.styleVisable,...m]:m;this.styleVisable=[...S],d(w,S)})),this.d(e.resetFeatureStyleEvent.don(w=>{u(),w?w==="color"?(this.styleColor=[],this.styleVisableName&&d(this.styleVisableName,this.styleVisable)):w==="visable"&&(this.styleVisable=[],this.styleColorName&&f(this.styleColorName,this.styleColor)):(this.styleColor=[],this.styleVisable=[])})),this.d(e.setFeatureStyleEvent.don((w,m)=>{const C=m?[...this.style,...w]:w;this.style=C,h(C)}))}{const f=async()=>{if(!r&&!s){e._featureTableResultEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetFeatureTable",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetFeatureTable: ${d.error}`),e._featureTableResultEvent.emit(d.re.table)}catch(d){console.warn(`UeES3DTileset GetFeatureTable: ${d}`),e._featureTableResultEvent.emit(void 0)}};this.d(e.getFeatureTableEvent.don(()=>{f()}))}{const f=async()=>{if(!r&&!s){e.getMaterialNameListEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetMaterialNameList",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetMaterialNameList: ${d.error}`),e.getMaterialNameListEvent.emit(d.re.materialNameList)}catch(d){console.warn(`UeES3DTileset GetMaterialNameList: ${d}`),e.getMaterialNameListEvent.emit(void 0)}};this.ad(e.getMaterialNameListEvent.don(d=>{d=="start"&&f()}))}}get styleColor(){return this._styleColor.value}set styleColor(e){this._styleColor.value=e}get styleVisable(){return this._styleVisable.value}set styleVisable(e){this._styleVisable.value=e}};g(oe,"type",oe.register("ESUeViewer",o.ES3DTileset.type,oe));let ft=oe;const Kn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag对应的Actor是地形,无法绑定";case 4:return"没搜索到ComponentTag,无法绑定";default:return"未知错误"}},se=class se extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}let n,r;const s=this.dv(o.react(void 0)),a=this.ad(o.reactJson(""));{const f=()=>{if(typeof t.url=="string")a.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const d=t.url;d.url=o.ESSceneObject.context.getStrFromEnv(d.url),a.value=d}};f(),this.ad(t.urlChanged.don(f))}const v=async()=>{if(!n&&!r)return;let f=t.targetID??o.ESImageryLayer.defaults.targetID;if(f&&f!=""){const d=o.ESSceneObject.getSceneObject(f);f=d?(d.components.main??d).id:f}await i.callUeFunc({f:"update",p:{id:t.id,show:t.show??!0,rectangle:t.rectangle??[-180,-90,180,90],collision:t.collision??!0,allowPicking:t.allowPicking??!1,flyToParam:t.flyToParam??o.ESImageryLayer.defaultFlyToParam,flyInParam:t.flyInParam??o.ESImageryLayer.defaultFlyInParam,url:a.value??"",zIndex:t.zIndex??0,maximumLevel:t.maximumLevel??o.ESImageryLayer.defaults.maximumLevel,minimumLevel:t.minimumLevel??o.ESImageryLayer.defaults.minimumLevel,options:t.options??o.ESImageryLayer.defaults.options,targetID:f,opacity:t.opacity??o.ESImageryLayer.defaults.opacity,splitDirection:t.splitDirection??o.ESImageryLayer.defaults.splitDirection}})},l=this.dv(o.createNextAnimateFrameEvent(t.showChanged,a.changed,t.flyToParamChanged,t.flyInParamChanged,t.zIndexChanged,t.collisionChanged,t.allowPickingChanged,t.maximumLevelChanged,t.minimumLevelChanged,t.rectangleChanged,t.optionsChanged,t.targetIDChanged,t.opacityChanged,t.splitDirectionChanged));this.d(l.don(v));const y=async()=>{const{id:f}=t;if(n!==void 0){n=void 0;try{const d=await e.unBindImageryById(f);if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer UnImageryByID: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer UnImageryByID promise: ${d}`);return}}if(r!==void 0){r=void 0;try{const d=await i.callUeFunc({f:"destroy",p:{id:f,test:"UeESImageryLayer"}});if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer Destroy: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer Destroy promise: ${d}`);return}}};this.d(()=>{y()});{const f=this.dv(o.createProcessingFromAsyncFunc(async u=>{if(s.value===void 0){await u.promise(y());return}if(s.value.type==="ActorTag"){const{actorTag:h,componentTag:w}=s.value;if(n!==h&&await u.promise(y()),n!==void 0||h===void 0)return;try{n=h;const m=await u.promise(e.bindImageryByTag(t.id,h,w));if(!m)return;if(m.error!==""){console.warn(`ESImageryLayer BindImageryByTag: ${m.error}`);return}if(m.re.type!==0)if(m.re.type===1)console.warn(`ESImageryLayer BindImageryByTag: ${Kn(m.re.type)}`);else{console.warn(`ESImageryLayer BindImageryByTag: ${Kn(m.re.type)}`);return}}catch(m){console.warn(`ESImageryLayer BindImageryByTag promise: ${m}`);return}}else if(s.value.type==="CreatedUrl"){const{url:h}=s.value;if(h!==r&&await u.promise(y()),r!==void 0||h===void 0)return;try{r=h;const w=await u.promise(i.callUeFunc({f:"create",p:{type:"ESImageryLayer",id:t.id}}));if(!w)return;if(w.error!==""){console.warn(`ESImageryLayer create: ${w.error}`);return}}catch{console.warn("ESImageryLayer create: create promise error");return}}await u.promise(v())})),d=async()=>{f.restart()};d(),this.d(s.changed.don(d))}{const f=this.dv(o.createNextAnimateFrameEvent(t.actorTagChanged,a.changed,t.componentTagChanged)),d=()=>{t.actorTag&&t.componentTag?s.value={type:"ActorTag",actorTag:t.actorTag,componentTag:t.componentTag}:a.value?s.value={type:"CreatedUrl",url:a.value}:s.value=void 0};d(),this.d(f.don(d))}this.d(t.flyToEvent.don(async(f,d)=>{if(!n&&!r)return;const u=await X(i,t.id,f);let h="over";u===void 0?h="error":u.endType===0?h="over":u.endType===1&&(h="cancelled"),t.flyOverEvent.emit(d,h,e)})),this.d(t.flyInEvent.don(async(f,d)=>{var w,m;if(!n&&!r)return;const u=await j(i,t.id,(w=t.flyInParam)==null?void 0:w.position,(m=t.flyInParam)==null?void 0:m.rotation,f??1);let h="over";u===void 0?h="error":u.endType===0?h="over":u.endType===1&&(h="cancelled"),t.flyOverEvent.emit(d,h,e)})),this.d(t.calcFlyToParamEvent.don(()=>{!n&&!r||W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const f=await e.getCurrentCameraInfo();if(!f)return;const{position:d,rotation:u}=f;t.flyInParam={position:d,rotation:u,flyDuration:1}})),this.d(e.propChanged.don(f=>{!n&&!r||f.objId===t.id&&Object.keys(f.props).forEach(d=>{const u=f.props[d]===null?void 0:f.props[d];t[d]=u})}))}};g(se,"type",se.register("ESUeViewer",o.ESImageryLayer.type,se));let It=se;const _=class _ extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(_,"type",_.register("ESUeViewer",o.ESTerrainLayer.type,_)),g(_,"forceUeUpdateProps",[...T.forceUeUpdateProps,"url"]),g(_,"propValFuncs",{...T.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t),czmMaxzoom:null,czmMinzoom:null});let Tt=_;const ae=class ae extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ae,"type",ae.register("ESUeViewer",o.ESAlarm.type,ae));let Rt=ae;const le=class le extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(le,"type",le.register("ESUeViewer",o.ESApertureEffect.type,le));let Dt=le;const de=class de extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(de,"type",de.register("ESUeViewer",o.ESGeoPolygon.type,de));let L=de;const ce=class ce extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESAreaMeasurement.defaults.fillStyle;try{s={...t.fillStyle??o.ESAreaMeasurement.defaults.fillStyle}}catch(a){console.error("ESAreaMeasurement fillStyle 属性类型错误!",a),s={...o.ESAreaMeasurement.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,stroked:t.stroked??o.ESAreaMeasurement.defaults.stroked,fillStyle:s,filled:t.filled??o.ESAreaMeasurement.defaults.filled}}),console.log(s)},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.strokedChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};g(ce,"type",ce.register("ESUeViewer",o.ESAreaMeasurement.type,ce));let Lt=ce;const ue=class ue extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ue,"type",ue.register("ESUeViewer",o.ESBlastParticleSystem.type,ue));let Pt=ue;const q=class q extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};g(q,"type",q.register("ESUeViewer",o.ESBoxClipping.type,q)),g(q,"propValFuncs",{...F.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Bt=q;const he=class he extends F{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.dispose(t.flyInEvent.don((n,r,s="default")=>{const{id:a,duration:v,position:l,rotation:y}=t;j(i,a,l,y,v??n,s)})),this.dispose(t.resetWithCurrentCameraEvent.don(()=>{Et(i,t.id)})),this.dispose(t.captureEvent.don((n,r)=>{e.capture(n,r).then(a=>{a&&(t.thumbnail=a)})}))}};g(he,"type",he.register("ESUeViewer",o.ESCameraView.type,he));let Ut=he;const ve=class ve extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ve,"type",ve.register("ESUeViewer",o.ESCameraVisibleRange.type,ve));let At=ve;const ge=class ge extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ge,"type",ge.register("ESUeViewer",o.ESCar.type,ge));let bt=ge;const pe=class pe extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESClassification.defaults.fillStyle;try{s={...t.fillStyle??o.ESClassification.defaults.fillStyle}}catch(a){console.error("ESClassification fillStyle 属性类型错误!",a),s={...o.ESClassification.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,filled:t.filled??o.ESClassification.defaults.filled,fillStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};g(pe,"type",pe.register("ESUeViewer",o.ESClassification.type,pe));let Mt=pe;const Z=class Z extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};g(Z,"type",Z.register("ESUeViewer",o.ESClippingPlane.type,Z)),g(Z,"propValFuncs",{...F.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Wt=Z;const fe=class fe extends F{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url??o.ESDataMesh.defaults.url);else{const v=t.url;v.url=o.ESSceneObject.context.getStrFromEnv(v.url??o.ESDataMesh.defaults.url),n.value=v}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{const a=t.colorStops??o.ESDataMesh.defaults.colorStops;i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESDataMesh.defaults.url,currentTime:t.currentTime??o.ESDataMesh.defaults.currentTime,minPropValue:t.minPropValue??o.ESDataMesh.defaults.minPropValue,maxPropValue:t.maxPropValue??o.ESDataMesh.defaults.maxPropValue,colorStops:JSON.stringify(a)}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.currentTimeChanged,t.minPropValueChanged,t.maxPropValueChanged,t.colorStopsChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};g(fe,"type",fe.register("ESUeViewer",o.ESDataMesh.type,fe));let $t=fe;const we=class we extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(we,"type",we.register("ESUeViewer",o.ESDatasmithRuntimeModel.type,we));let xt=we;const ye=class ye extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ye,"type",ye.register("ESUeViewer",o.ESDirectionMeasurement.type,ye));let _t=ye;const me=class me extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s;try{s={...t.strokeStyle??o.ESDistanceMeasurement.defaults.strokeStyle}}catch(a){console.error("ESDistanceMeasurement strokeStyle 属性类型错误!",a),s={...o.ESDistanceMeasurement.defaults.strokeStyle}}i.callUeFunc({f:"update",p:{id:t.id,strokeStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.strokeStyleChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};g(me,"type",me.register("ESUeViewer",o.ESDistanceMeasurement.type,me));let Nt=me;const Ce=class Ce extends pt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Ce,"type",Ce.register("ESUeViewer",o.ESLocalPolygon.type,Ce));let wt=Ce;const Ee=class Ee extends wt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Ee,"type",Ee.register("ESUeViewer",o.ESDynamicWater.type,Ee));let zt=Ee;const Se=class Se extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,properties:s}=n;t.widgetEvent.emit({type:r,properties:s})}))}};g(Se,"type",Se.register("ESUeViewer",o.ESEntityCluster.type,Se));let Ht=Se;const Q=class Q extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Q,"type",Q.register("ESUeViewer",o.ESExcavate.type,Q)),g(Q,"propValFuncs",{...L.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Gt=Q;const Fe=class Fe extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Fe,"type",Fe.register("ESUeViewer",o.ESFireParticleSystem.type,Fe));let Jt=Fe;const Ie=class Ie extends T{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const v=t.url;v.url=o.ESSceneObject.context.getStrFromEnv(v.url),n.value=v}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESForestTileset.defaults.url,treeTypes:t.treeTypes??o.ESForestTileset.defaults.treeTypes,xiaoBanWidget:t.xiaoBanWidget??o.ESForestTileset.defaults.xiaoBanWidget,youShiSZ:t.youShiSZ??o.ESForestTileset.defaults.youShiSZ,diLei:t.diLei??o.ESForestTileset.defaults.diLei,senLinLB:t.senLinLB??o.ESForestTileset.defaults.senLinLB,labelMaterial:t.labelMaterial??o.ESForestTileset.defaults.labelMaterial,heightOffset:t.heightOffset??o.ESForestTileset.defaults.heightOffset}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.treeTypesChanged,t.xiaoBanWidgetChanged,t.youShiSZChanged,t.diLeiChanged,t.senLinLBChanged,t.labelMaterialChanged,t.heightOffsetChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};g(Ie,"type",Ie.register("ESUeViewer",o.ESForestTileset.type,Ie));let Kt=Ie;const Te=class Te extends o.EngineObject{constructor(t,e){super(t,e),this.ad(new o.ObjResettingWithEvent(t.renderInUEChanged,()=>t.renderInUE?new qn(t,e):new Xn(t,e)))}};g(Te,"type",Te.register("ESUeViewer",o.ESGeoDiv.type,Te));let Xt=Te;class Xn extends o.Destroyable{constructor(e,i){super();g(this,"_screenPosition",this.disposeVar(o.reactArrayWithUndefined(void 0)));const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this.disposeVar(new o.ESTextLabel);r.parentID=e.id,this.ad(e.components.disposableAdd(r,!0)),r.show=!1,this.dispose(o.bind([r,"position"],[e,"position"])),this.dispose(o.bind([r,"rotation"],[e,"rotation"])),this.dispose(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.dispose(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.dispose(e.calcFlyToParamEvent.disposableOn(()=>{W(n,r.id)})),this.dispose(e.calcFlyInParamEvent.disposableOn(async()=>{if(!i.actived)return;const v=await i.getCurrentCameraInfo();if(!v)return;const{position:l,rotation:y}=v;e.flyInParam={position:l,rotation:y,flyDuration:1}})),this.dispose(e.smoothMoveEvent.disposableOn((v,l)=>{ne(n,r.id,v,l)})),this.dispose(e.smoothMoveWithRotationEvent.disposableOn((v,l,y)=>{ee(n,r.id,v,l,y)})),this.dispose(e.smoothMoveOnGroundEvent.disposableOn((v,l,y,f)=>{te(n,r.id,v,l,f,y)})),this.dispose(e.smoothMoveWithRotationOnGroundEvent.disposableOn((v,l,y,f,d)=>{ie(n,r.id,v,l,y,f,d)})),this.dispose(e.flyToEvent.disposableOn((v,l)=>{r.flyTo(v)})),this.dispose(e.flyInEvent.don(v=>{r.flyIn(v)}));const s=this._screenPosition,a=this.disposeVar(new o.ESCustomDiv);a.parentID=e.id,i.add(a),this.dispose(()=>i.delete(a)),this.dispose(o.bind([a,"allowPicking"],[e,"allowPicking"]));{const v=this.disposeVar(o.createAnimateFrame()),l=()=>{e.show?v.restart(void 0,async()=>{if(!e.position)return;const y=await i.lonLatAltToScreenPosition(e.position);if(!this.isDestroyed())if(!y)this._screenPosition.value=void 0;else{const[f,d]=y;f===-1&&d===-1?this._screenPosition.value=void 0:this._screenPosition.value=[f,d]}}):v.cancel()};l(),this.dispose(e.showChanged.disposableOn(l))}{const v=()=>class extends o.Destroyable{constructor(d,u,h){if(super(),this._subContainer=d,!h)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const w=new o.PosFloatDiv,m=w.element;this._subContainer.appendChild(m),this.dispose(()=>this._subContainer.removeChild(m)),m.onclick=C=>{(e.allowPicking??!1)&&e.pickedEvent.emit(new o.ESJPickedResult({div:m,pointerEvent:C},e,void 0,void 0,void 0,[C.x,C.y]))};{const C=()=>{e.editing?m.children[0].style.pointerEvents="none":m.children[0].style.pointerEvents="all"};C(),this.d(e.editingChanged.don(C))}{const C=()=>{let E=e.show;if(!E)w.show=E,w.winPos=[0,0];else if(s.value){const R=i.getCurrentCameraInfo(),I=o.getDistancesFromPositions([e.position,R.position],"NONE")[0];e.minVisibleDistance<e.maxVisibleDistance?E=e.minVisibleDistance<I&&I<e.maxVisibleDistance:e.maxVisibleDistance==0&&(E=I>e.minVisibleDistance),w.show=E,w.winPos=[...s.value]}};C();const S=this.disposeVar(o.createNextAnimateFrameEvent(e.showChanged,s.changed,i.cameraChanged,e.maxVisibleDistanceChanged,e.minVisibleDistanceChanged));this.dispose(S.disposableOn(C))}{const C=()=>{const[S,E]=e.anchor??o.ESGeoDiv.defaults.anchor;w.originRatioX=S,w.originRatioY=E};C(),this.dispose(e.anchorChanged.disposableOn(C))}{const C=()=>{w.opacity=e.opacity??o.ESGeoDiv.defaults.opacity};C(),this.dispose(e.opacityChanged.disposableOn(C))}this.disposeVar(new e.instanceClass(w.contentDiv,e,h))}},l=()=>{try{e.instanceClass?a.instanceClass=v():a.instanceClass=void 0}catch(f){console.error(f)}};l();const y=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged,e.anchorChanged,e.editingChanged,e.showChanged,e.allowPickingChanged));this.d(y.don(l))}}get screenPosition(){return this._screenPosition.value}get screenPositionChanged(){return this._screenPosition.changed}set screenPosition(e){this._screenPosition.value=e}}class qn extends o.Destroyable{constructor(e,i){super();g(this,"_imageLabel");g(this,"_hasClassDivAndPos",{});this._imageLabel=this.dv(new o.ESImageLabel),this._imageLabel.isHoverZoom=!1,this._imageLabel.parentID=e.id;const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this._imageLabel;this.ad(e.components.disposableAdd(r,!0));{const s=()=>{if(!n)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const l=document.createElement("div"),y=this.dv(new e.instanceClass(l,e,i))._container;if(y.style.opacity=e.opacity.toString()??o.ESGeoDiv.defaults.opacity,y.style.position="fixed",y.style.zIndex="-1",y.style.top="0px",!document.body.contains(y)){document.body.appendChild(y);let d=y?y.querySelectorAll("*[class]"):[];for(let u=0;u<d.length;u++){const h=d[u];var f=h.getBoundingClientRect();this._hasClassDivAndPos[h.className]=[h.offsetLeft,h.offsetTop,h.offsetLeft+f.width,h.offsetTop+f.height]}}kn(y,{backgroundColor:null,allowTaint:!0,useCORS:!0,width:y.offsetWidth,height:y.offsetHeight,scale:1}).then(d=>{document.body.contains(y)&&document.body.removeChild(y),r.url=d.toDataURL(),r.show=e.show}).catch(()=>{document.body.contains(y)&&document.body.removeChild(y)})},a=()=>{try{e.instanceClass?s():(r.url="",r.show=!1)}catch(l){console.error(l)}};a();const v=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged));this.d(v.don(a))}{const s=()=>{r.show=e.show};r.show=!1,this.ad(e.showChanged.don(s))}this.d(o.track([r,"anchor"],[e,"anchor"])),this.d(o.bind([r,"position"],[e,"position"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.d(o.bind([r,"allowPicking"],[e,"allowPicking"])),this.d(o.bind([r,"scale"],[e,"scale"])),this.d(o.track([r,"minVisibleDistance"],[e,"minVisibleDistance"])),this.d(o.track([r,"maxVisibleDistance"],[e,"maxVisibleDistance"])),this.ad(e.automaticLandingEvent.don(()=>{r.automaticLanding()})),this.d(i.widgetEvent.don(s=>{if(s.objId!==this._imageLabel.id)return;const{type:a,add:v}=s;if(a==="leftClick"&&v){const l=(v==null?void 0:v.classNames)??[],y=Object.keys(this._hasClassDivAndPos);for(let f=0;f<y.length;f++){const d=y[f];let u=this._hasClassDivAndPos[d];v&&v.mouseRelativePos&&v.mouseRelativePos[0]>=u[0]&&v.mouseRelativePos[0]<=u[2]&&v.mouseRelativePos[1]>=u[1]&&v.mouseRelativePos[1]<=u[3]&&l.push(d)}v.classNames=l}e.widgetEvent.emit({type:a,add:v})})),this.d(e.calcFlyToParamEvent.don(()=>{W(n,r.id)})),this.d(e.calcFlyInParamEvent.don(()=>{const s=i.getCurrentCameraInfo();if(!s)return;const{position:a,rotation:v}=s;e.flyInParam={position:a,rotation:v,flyDuration:1}})),this.d(e.smoothMoveEvent.don((s,a)=>{ne(n,r.id,s,a)})),this.d(e.smoothMoveWithRotationEvent.don((s,a,v)=>{ee(n,r.id,s,a,v)})),this.d(e.smoothMoveOnGroundEvent.don((s,a,v,l)=>{te(n,r.id,s,a,l,v)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((s,a,v,l,y)=>{ie(n,r.id,s,a,v,l,y)})),this.d(e.flyToEvent.don((s,a)=>{r.flyTo(s)})),this.d(e.flyInEvent.don(s=>{r.flyIn(s)}))}}const N=class N extends T{constructor(e,i){super(e,i);g(this,"_featureStyle",this.disposeVar(o.react([])));const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}this.d(e.flyToFeatureIndexEvent.don((r,s)=>{n.callUeFunc({f:"flyToFeatureIndex",p:{id:e.id,index:r,duration:s}})})),this.d(e.flyToFeatureEvent.don((r,s,a)=>{n.callUeFunc({f:"flyToFeature",p:{id:e.id,key:r,value:s,duration:a}})})),this.ad(e.setFeatureStyleEvent.don((r,s)=>{this.featureStyle=s?[...this.featureStyle,...r]:r,n.callUeFunc({f:"setFeatureStyle",p:{id:e.id,json:this.featureStyle}})})),this.ad(e.resetFeatureStyleEvent.don(()=>{n.callUeFunc({f:"resetFeatureStyle",p:{id:e.id}})}))}get featureStyle(){return this._featureStyle.value}set featureStyle(e){this._featureStyle.value=e}get featureStyleChanged(){return this._featureStyle.changed}};g(N,"type",N.register("ESUeViewer",o.ESGeoJson.type,N)),g(N,"forceUeUpdateProps",[...T.forceUeUpdateProps,"url"]),g(N,"propValFuncs",{...T.propValFuncs,url:e=>typeof e=="string"?o.ESSceneObject.context.getStrFromEnv(e):e});let qt=N;const Re=class Re extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Re,"type",Re.register("ESUeViewer",o.ESGeoLineString.type,Re));let yt=Re;const De=class De extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(De,"type",De.register("ESUeViewer",o.ESGeoPolygonWithFire.type,De));let Zt=De;const Le=class Le extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Le,"type",Le.register("ESUeViewer",o.ESGeoRectangle.type,Le));let Qt=Le;const Pe=class Pe extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Pe,"type",Pe.register("ESUeViewer",o.ESGeoWater.type,Pe));let Yt=Pe;const z=class z extends F{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.setNodePositionEvent.don((n,r)=>{ji(i,t.id,n,r)})),this.d(t.setNodeRotationEvent.don((n,r)=>{en(i,t.id,n,r)})),this.d(t.setNodeScaleEvent.don((n,r)=>{tn(i,t.id,n,r)}))}};g(z,"forceUeUpdateProps",[...F.forceUeUpdateProps,"url"]),g(z,"propValFuncs",{...F.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t),czmMaximumScale:null,czmMinimumPixelSize:null,czmNativeScale:null,czmColor:null}),g(z,"type",z.register("ESUeViewer",o.ESGltfModel.type,z));let Vt=z;const Be=class Be extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Be,"type",Be.register("ESUeViewer",o.ESHeightMeasurement.type,Be));let kt=Be;const Ue=class Ue extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=async(s,a,v,l)=>{const{viewer:y}=s;if(!y){console.error("AIMoveTo: ueViewer.viewer is undefined");return}const f=await y.callUeFunc({f:"AIMoveTo",p:{id:a,Destination:v,Time:l}});return f.error&&console.error("AIMoveTo:",f.error),f};this.d(t.aiMoveToEvent.don((s,a)=>{n(e,t.id,s,a)}));const r=async(s,a)=>{const{viewer:v}=s;if(!v){console.error("StopAIMove: ueViewer.viewer is undefined");return}const l=await v.callUeFunc({f:"StopAIMove",p:{id:a}});return l.error&&console.error("StopAIMove:",l.error),l};this.d(t.stopAIMoveEvent.don(()=>{r(e,t.id)}))}};g(Ue,"type",Ue.register("ESUeViewer",o.ESHuman.type,Ue));let Ot=Ue;const H=class H extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.anchor=[.5,1]}};g(H,"type",H.register("ESUeViewer",o.ESImageLabel.type,H)),g(H,"forceUeUpdateProps",[...U.forceUeUpdateProps,"url"]),g(H,"propValFuncs",{...U.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t)});let jt=H;const Ae=class Ae extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Ae,"type",Ae.register("ESUeViewer",o.ESLevelRuntimeModel.type,Ae));let ei=Ae;const be=class be extends pt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(be,"type",be.register("ESUeViewer",o.ESLocalCircle.type,be));let ti=be;const Me=class Me extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Me,"type",Me.register("ESUeViewer",o.ESLocalPolygonZ.type,Me));let ii=Me;const We=class We extends pt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(We,"type",We.register("ESUeViewer",o.ESLocalRectangle.type,We));let ni=We;const $e=class $e extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g($e,"type",$e.register("ESUeViewer",o.ESLocalSkyBox.type,$e));let ri=$e;const xe=class xe extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(xe,"type",xe.register("ESUeViewer",o.ESLocationMeasurement.type,xe));let oi=xe;const _e=class _e extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(_e,"type",_e.register("ESUeViewer",o.ESPipeFence.type,_e));let si=_e;const Ne=class Ne extends yt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Ne,"type",Ne.register("ESUeViewer",o.ESPipeline.type,Ne));let ai=Ne;const ze=class ze extends ft{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.highlightFeatureEvent.don(n=>{const r=typeof n=="number"?n.toString():n;Yi(i,t.id,r)})),this.d(t.highlightFeatureAndFlyToEvent.don((n,r,s,a)=>{const v=typeof n=="number"?n.toString():n;Vi(i,t.id,v,a??1)})),this.d(t.setLayerVisibleEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,ki(i,t.id,s)})),this.d(t.setLayerColorEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,Oi(i,t.id,s)}))}};g(ze,"type",ze.register("ESUeViewer",o.ESPipeserTileset.type,ze));let li=ze;const He=class He extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(He,"type",He.register("ESUeViewer",o.ESPit.type,He));let di=He;const Ge=class Ge extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(t.getInitialStyleEvent.don(async()=>{try{const n=await i.callUeFunc({f:"GetInitialStyle",p:{id:t.id}});n.error!=""&&console.error("getInitialStyleEvent:",n.error),t.initialStyle.value=structuredClone(n.re)}catch(n){console.error("getInitialStyleEvent:",n),t.initialStyle.value=void 0}}))}};g(Ge,"type",Ge.register("ESUeViewer",o.ESPoi2D.type,Ge));let ci=Ge;const Je=class Je extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Je,"type",Je.register("ESUeViewer",o.ESPoi3D.type,Je));let ui=Je;const G=class G extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(G,"type",G.register("ESUeViewer",o.ESPoiTileset.type,G)),g(G,"forceUeUpdateProps",[...T.forceUeUpdateProps,"url"]),g(G,"propValFuncs",{...T.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t)});let hi=G;const Ke=class Ke extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Ke,"type",Ke.register("ESUeViewer",o.ESPolygonFence.type,Ke));let vi=Ke;const Y=class Y extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Y,"type",Y.register("ESUeViewer",o.ESPolygonFlattenedPlane.type,Y)),g(Y,"propValFuncs",{...L.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let gi=Y;const Xe=class Xe extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Xe,"type",Xe.register("ESUeViewer",o.ESPolygonWithHole.type,Xe));let pi=Xe;const qe=class qe extends ${constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(()=>{t.ids=[]}),this.d(t.highlightInner3DtilesetEvent.don(n=>{n.highlight=!0})),this.d(t.removeHighlightInner3DtilesetEvent.don(n=>{n.highlight=!1}));{const n=a=>{a=a.toLocaleLowerCase();let v=[255,255,255,1];if(a.startsWith("#")){if(a.length===4){let l=parseInt(a[1]+a[1],16),y=parseInt(a[2]+a[2],16),f=parseInt(a[3]+a[3],16);v=[l,y,f,1]}else if(a.length===7){let l=parseInt(a.substring(1,3),16),y=parseInt(a.substring(3,5),16),f=parseInt(a.substring(5,7),16);v=[l,y,f,1]}}else if(a.startsWith("rgba")){let l=a.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/);if(l){let y=parseInt(l[1]),f=parseInt(l[2]),d=parseInt(l[3]),u=parseFloat(l[4]);v=[y,f,d,u]}}else if(a.startsWith("rgb")){let l=a.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);if(l){let y=parseInt(l[1]),f=parseInt(l[2]),d=parseInt(l[3]);v=[y,f,d,1]}}else console.error("color类型只能为#rrggbb、#rgb、rgba(r,g,b,a)、rgb(r,g,b)");return[v[0]/255,v[1]/255,v[2]/255,v[3]]},r=()=>{const a=t.layerConfig;if(!a)return;const v=[];a.forEach(l=>{v.push({condition:[{field:"layer",op:"==",value:l.layer}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible})}),t.setFeatureStyle(v)};r();const s=this.dv(o.createNextAnimateFrameEvent(t.layerConfigChanged,t.colorBlendModeChanged));this.d(s.don(()=>{r()}))}}};g(qe,"type",qe.register("ESUeViewer",o.ESRtsTileset.type,qe));let fi=qe;const Ze=class Ze extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(t.addTreesEvent.don(n=>{o.addTreesCallFunc(e,t.id,n)})),this.d(t.removeAllTreesEvent.don(()=>{o.removeAllTreesCallFunc(e,t.id)})),this.d(t.updateTreeParamsEvent.don(n=>{o.updateTreeParamsCallFunc(e,t.id,n)})),this.d(t.cutDownTreesEvent.don((n,r)=>{o.cutDownTreesCallFunc(e,t.id,n,r)})),this.d(t.growthSimulationEvent.don((n,r,s)=>{o.growthSimulationCallFunc(e,t.id,n,r,s)}))}};g(Ze,"type",Ze.register("ESUeViewer",o.ESSeparateFoliage.type,Ze));let wi=Ze;const Qe=class Qe extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Qe,"type",Qe.register("ESUeViewer",o.ESSubmergingAnalysis.type,Qe));let yi=Qe;const Ye=class Ye extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.stopEvent.don(()=>{i.callUeFunc({f:"Stop",p:{id:t.id}})}))}};g(Ye,"type",Ye.register("ESUeViewer",o.ESSunshineAnalysis.type,Ye));let mi=Ye;const Ve=class Ve extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})}))}};g(Ve,"type",Ve.register("ESUeViewer",o.ESSurfaceAreaMeasurement.type,Ve));let Ci=Ve;const ke=class ke extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ke,"type",ke.register("ESUeViewer",o.ESTextLabel.type,ke));let Ei=ke;const V=class V extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.callFunctionEvent.don(async(n,r)=>{const s=await St(i,t.id,n,r);t.__callFunctionResultEvent.emit(s)}))}};g(V,"type",V.register("ESUeViewer",o.ESUEWidget.type,V)),g(V,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let Si=V;const Zn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"未搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是场景原有的,而是新建的,无法绑定";case 4:return"搜索到ActorTag对应的Actor是地形或3DTileset,无法绑定";default:return"未知错误"}},Sr=c=>{switch(c){case 0:return"创建成功";case 1:return"未找到对应的资源,无法创建";case 2:return"Id与场景中现有的ActorTag重复,创建后可能出现问题,创建失败";default:return"未知错误"}},Oe=class Oe extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn(`${t.id} UeESUnrealActor viewer is undefined!`);return}this.d(()=>{Ct(i,t.id)});const n=async()=>{l()||await i.callUeFunc({f:"update",p:{id:t.id,name:t.name,show:t.show,rotation:t.rotation,flyToParam:t.flyToParam??o.ESUnrealActor.defaultFlyToParam,flyInParam:t.flyInParam??o.ESUnrealActor.defaultFlyInParam,highlight:t.highlight,collision:t.collision,scale:t.scale,minVisibleDistance:t.minVisibleDistance,maxVisibleDistance:t.maxVisibleDistance}})},r=this.dv(o.createNextAnimateFrameEvent(t.showChanged,t.nameChanged,t.rotationChanged,t.flyToParamChanged,t.flyInParamChanged,t.highlightChanged,t.collisionChanged,t.scaleChanged,t.minVisibleDistanceChanged,t.maxVisibleDistanceChanged));this.d(r.don(n)),this.d(t.flushEvent.don(()=>r.flush()));let s,a;const v=async()=>{l()||(await i.callUeFunc({f:"update",p:{id:t.id,position:t.position}}),(e.debug??!1)&&console.log(`updatePostion:${t.position},actorTag:${t.actorTag},actorClass:${t.actorClass}`))},l=()=>!s&&!a?(console.warn(`${t.id} 未绑定ActorTag或未创建ActorClass!`),!0):!1,y=async()=>{const{id:d}=t,u=await e.unBindActorByID(d);u&&u.error!==""&&console.warn(`${t.id} UeESUnrealActor UnBindActorByID: ${u.error}`),s=void 0;const h=await i.callUeFunc({f:"destroy",p:{id:d}});if(h&&h.error!==""){console.warn(`${t.id} UeESUnrealActor DestroyActorByID: ${h.error}`);return}a=void 0},f=this.dv(o.react({type:"ActorClass",actorClass:"default"}));{const d=this.dv(o.createNextAnimateFrameEvent(t.actorClassChanged,t.actorTagChanged)),u=async()=>{t.actorTag!==""?f.value={type:"ActorTag",actorTag:t.actorTag}:f.value={type:"ActorClass",actorClass:t.actorClass===""?"default":t.actorClass}};u(),this.d(d.don(u)),this.d(t.flushEvent.don(()=>d.flush()))}{const d=this.dv(o.createProcessingFromAsyncFunc(async h=>{if(await h.promise(y()),t.lastActorStatus="null",f.value.type==="ActorTag"){const{actorTag:w}=f.value;try{const m=await h.promise(e.bindActorByTag(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${m.error}`);return}if(m.re.type===0)t.lastActorStatus="bound",s=w;else if(m.re.type===1)t.lastActorStatus="bound",s=w,console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${Zn(m.re.type)}`);else{s=void 0,console.warn(`${t.id} UeESUnrealActor BindActorByTag error:${w}, ${Zn(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor BindActorByTag catch error:${w}, ${m}`);return}}else if(f.value.type==="ActorClass"){const{actorClass:w}=f.value;try{const m=await h.promise(e.createActorByClass(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error :${w}, ${m.error}`);return}if(m.re.type===0)w!=="default"&&(t.lastActorStatus="created"),a=w;else{console.warn(`${t.id} UeESUnrealActor CreateActorByClass error type :${w},${Sr(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error catch :${w}, ${JSON.stringify(m)}`);return}}await h.promise(n()),await h.promise(v())})),u=async()=>{d.restart()};u(),this.d(f.changed.don(u))}this.d(t.positionChanged.don(v)),this.d(t.callFunctionEvent.don(async(d,u)=>{if(l()){t.__callFunctionResultEvent.emit(void 0);return}const h=await St(i,t.id,d,u);t.__callFunctionResultEvent.emit(h)})),this.d(t.smoothMoveEvent.don((d,u)=>{l()||ne(i,t.id,d,u)})),this.d(t.smoothMoveWithRotationEvent.don((d,u,h)=>{l()||ee(i,t.id,d,u,h)})),this.d(t.smoothMoveOnGroundEvent.don((d,u,h,w)=>{l()||te(i,t.id,d,u,w,h)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((d,u,h,w,m)=>{l()||ie(i,t.id,d,u,h,w,m)})),this.d(t.automaticLandingEvent.don(d=>{if(l())return;const u=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(h=>{h!==null&&(t.position=[...u,h],t.collision=d)})})),this.d(t.flyToEvent.don(async(d,u)=>{if(l())return;const h=await X(i,t.id,d);let w="over";h===void 0?w="error":h.endType===0?w="over":h.endType===1&&(w="cancelled"),t.flyOverEvent.emit(u,w,e)})),this.d(t.calcFlyToParamEvent.don(()=>{l()||W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const d=await e.getCurrentCameraInfo();if(!d)return;const{position:u,rotation:h}=d;t.flyInParam={position:u,rotation:h,flyDuration:1}})),this.d(e.propChanged.don(d=>{l()||d.objId===t.id&&Object.keys(d.props).forEach(u=>{const h=d.props[u]===null?void 0:d.props[u];t[u]=h})}))}};g(Oe,"type",Oe.register("ESUeViewer",o.ESUnrealActor.type,Oe));let Fi=Oe;const je=class je extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(je,"type",je.register("ESUeViewer",o.ESVideoFusion.type,je));let Ii=je;const et=class et extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(et,"type",et.register("ESUeViewer",o.ESViewShed.type,et));let Ti=et;const tt=class tt extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};g(tt,"type",tt.register("ESUeViewer",o.ESVisibilityAnalysis.type,tt));let Ri=tt;const it=class it extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(o.track([t,"volume"],[t,"cutAndFillVolume"])),this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};g(it,"type",it.register("ESUeViewer",o.ESVolumeMeasurement.type,it));let Di=it;const k=class k extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(k,"type",k.register("ESUeViewer",o.ESWidget.type,k)),g(k,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let Li=k;const nt=class nt extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.poi.actorTag=t.human.id,t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8],this.d(t.poiOffsetHeightChanged.don(()=>{t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8]})),this.d(()=>{t.poi.actorTag=""})}};g(nt,"type",nt.register("ESUeViewer",o.ESHumanPoi.type,nt));let Pi=nt;o.ESSceneObject.context.getStrFromEnv(o.ESNavigator.defaults.imgUrl);const rt=class rt extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),this.dispose(o.track([n,"show"],[t,"show"])),n.instanceClass=class extends o.Destroyable{constructor(s,a,v){super(),this._subContainer=s;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l));{const d=async()=>{const u=await e.getCurrentCameraInfo(),h=u==null?void 0:u.position,m=[...u==null?void 0:u.rotation];m[0]=360,e.flyIn(h,m)};l.addEventListener("click",d),l.style.cursor="pointer",this.dispose(()=>l.removeEventListener("click",d))}{const d=()=>{l.style.width=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`,l.style.height=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`};d(),t.dispose(t.cssSizeChanged.disposableOn(d))}l.style.position="fixed";{const d=()=>{l.style.top=`${t.cssPosition?t.cssPosition[0]:o.ESNavigator.defaults.cssPosition[0]}px`,l.style.right=`${t.cssPosition?t.cssPosition[1]:o.ESNavigator.defaults.cssPosition[1]}px`};d(),t.dispose(t.cssPositionChanged.disposableOn(d))}l.style.transition=" right 0.4s linear",l.style.cursor="pointer";const y=document.createElement("div");l.appendChild(y),this.dispose(()=>l.removeChild(y)),y.style.width="100%",y.style.height="100%",y.style.position="relative";const f=document.createElement("img");y.appendChild(f),this.dispose(()=>y.removeChild(f)),f.style.width="100%",f.style.height="100%",f.style.border="none";{const d=()=>f.src=t.imgUrl;d(),t.dispose(t.imgUrlChanged.disposableOn(d))}{const d=()=>{const m=-e.getCurrentCameraInfo().rotation[0];f.style.transform=`rotate(${m}deg)`};let u;const h=async()=>{d(),t.show?(l.style.display="block",u=setInterval(()=>{d()},1e3)):(l.style.display="none",clearInterval(u))};this.dispose(t.showChanged.disposableOn(h)),h(),this.dispose(()=>clearInterval(u))}f.style.transformOrigin="50% 50%"}}}};g(rt,"type",rt.register("ESUeViewer",o.ESNavigator.type,rt));let Bi=rt;const J=class J extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}{const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,materialMode:t.materialMode}})};this.dispose(t.materialModeChanged.disposableOn(n))}}};g(J,"type",J.register("ESUeViewer",o.ESPath.type,J)),g(J,"forceUeUpdateProps",[...D.forceUeUpdateProps]),g(J,"propValFuncs",{...D.propValFuncs});let Ui=J;async function Fr(c){navigator.clipboard.writeText(c).then(function(){console.log("复制成功")},function(t){console.log("复制失败")})}const ot=class ot extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),n.instanceClass=class extends o.Destroyable{constructor(s,a,v){if(super(),this._subContainer=s,!v||!(v instanceof b))return;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l)),l.style.width="100%",l.style.position="absolute",l.style.height=`${o.ESViewerStatusBar.defaults.height}px`,l.style.left="0",l.style.bottom="0",l.style.color="#fff",l.style.padding="0 20px 0 0",l.style.boxSizing="border-box",l.style.lineHeight=`${o.ESViewerStatusBar.defaults.height}px`,l.style.zIndex="100",l.style.alignContent="center",l.style.justifyContent="space-between";const y=document.createElement("span");l.appendChild(y),this.dispose(()=>l.removeChild(y));const f=document.createElement("span");y.appendChild(f),this.dispose(()=>y.removeChild(f));const d=document.createElement("span");y.appendChild(d),d.addEventListener("dblclick",function(){let h=d.innerHTML;h.startsWith("鼠标位置")&&(h=h.slice(5)),Fr(h)}),d.style.cursor="pointer",this.dispose(()=>y.removeChild(d));const u=document.createElement("span");l.appendChild(u),this.dispose(()=>l.removeChild(u));{const h=()=>{l.style.height=(t.height??o.ESViewerStatusBar.defaults.height)+"px",l.style.lineHeight=(t.height??o.ESViewerStatusBar.defaults.height)+"px"};this.dispose(t.heightChanged.disposableOn(h)),h()}{const h=()=>{l.style.fontSize=(t.fontSize??o.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(t.fontSizeChanged.disposableOn(h)),h()}{const h=()=>{t.bgColor?l.style.background=`rgba(${t.bgColor[0]*255},${t.bgColor[1]*255},${t.bgColor[2]*255},${t.bgColor[3]})`:l.style.background=`rgba(${o.ESViewerStatusBar.defaults.bgColor[0]},${o.ESViewerStatusBar.defaults.bgColor[1]},${o.ESViewerStatusBar.defaults.bgColor[2]},${o.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(t.bgColorChanged.disposableOn(h)),h()}v.getVersion().then(h=>{h&&(u.innerText=`Ue 版本 : ${h[0]} `)}).catch(h=>{console.log(h)});{const h=()=>{let C="",S="";C+=`帧率:${v.getFPS().toFixed(0)}FPS`,f.innerText=C;const E=e.getCurrentCameraInfo();C+=` 经度: ${E.position[0].toFixed(5)}° 纬度: ${E.position[1].toFixed(5)}° 高度: ${E.position[2].toFixed(2)}米 偏航角: ${E.rotation[0].toFixed(2)}° 俯仰角: ${E.rotation[1].toFixed(2)}° 翻滚角:${E.rotation[2].toFixed(2)}° `,f.innerText=C,e.pick().then(R=>{if(R){const{pickResult:I}=R;if(I&&I.position){const{position:B}=I;S+=`鼠标位置:${B[0].toFixed(5)}° ${B[1].toFixed(5)}° ${B[2].toFixed(2)}m`}else S+="暂时无法获取鼠标位置...";d.innerText=S}}).catch(R=>{console.log(R)})};let w;const m=async()=>{h(),t.show?(l.style.display="flex",w=setInterval(()=>{h()},1e3)):(l.style.display="none",clearInterval(w))};this.dispose(t.showChanged.disposableOn(m)),m(),this.dispose(()=>clearInterval(w))}}}}};g(ot,"type",ot.register("ESUeViewer",o.ESViewerStatusBar.type,ot));let Ai=ot;const st=class st extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(st,"type",st.register("ESUeViewer",o.ESGaussianSplatting.type,st));let bi=st;const at=class at extends ${constructor(e,i){super(e,i);g(this,"_es3DTileset",this.dv(new o.ES3DTileset));if(!i.viewer){console.warn("viewer is undefined!");return}this.es3DTileset.parentID=e.id;{const r=this._es3DTileset;e.components.disposableAdd(r,!0),this.d(o.track([r,"allowPicking"],[e,"allowPicking"])),this.d(o.track([r,"collision"],[e,"collision"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.track([r,"url"],[e,"url"])),this.d(o.track([r,"actorTag"],[e,"actorTag"])),this.d(o.track([r,"materialMode"],[e,"materialMode"])),this.d(o.track([r,"highlight"],[e,"highlight"])),this.d(o.track([r,"maximumScreenSpaceError"],[e,"maximumScreenSpaceError"])),this.d(o.track([r,"highlightID"],[e,"highlightID"])),this.d(o.track([r,"highlightColor"],[e,"highlightColor"])),this.d(o.bind([r,"offset"],[e,"offset"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.track([r,"czmImageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(o.track([r,"czmLuminanceAtZenith"],[e,"czmLuminanceAtZenith"])),this.d(o.track([r,"czmMaximumMemoryUsage"],[e,"czmMaximumMemoryUsage"])),this.d(o.track([r,"czmClassificationType"],[e,"czmClassificationType"])),this.d(o.track([r,"czmStyleJson"],[e,"czmStyleJson"])),this.d(o.track([r,"czmBackFaceCulling"],[e,"czmBackFaceCulling"])),this.d(o.track([r,"czmDebugShowBoundingVolume"],[e,"czmDebugShowBoundingVolume"])),this.d(o.track([r,"czmDebugShowContentBoundingVolume"],[e,"czmDebugShowContentBoundingVolume"])),this.d(o.track([r,"colorBlendMode"],[e,"colorBlendMode"])),this.d(o.track([r,"cacheBytes"],[e,"cacheBytes"])),this.d(o.track([r,"clippingPlaneEnabled"],[e,"clippingPlaneEnabled"])),this.d(o.track([r,"unionClippingRegions"],[e,"unionClippingRegions"])),this.d(o.track([r,"clippingPlaneEdgeColor"],[e,"clippingPlaneEdgeColor"])),this.d(o.track([r,"clippingPlaneEdgeWidth"],[e,"clippingPlaneEdgeWidth"])),this.d(o.track([r,"materialParams"],[e,"materialParams"])),this.d(o.bind([r,"supportEdit"],[e,"supportEdit"])),this.d(o.bind([r,"clippingPlanesId"],[e,"clippingPlanesId"])),this.d(o.bind([r,"clippingPlaneIds"],[e,"clippingPlaneIds"])),this.d(o.bind([r,"flattenedPlaneId"],[e,"flattenedPlaneId"])),this.d(o.bind([r,"flattenedPlaneEnabled"],[e,"flattenedPlaneEnabled"])),this.d(o.bind([r,"clippingPlaneId"],[e,"clippingPlaneId"])),this.d(o.bind([r,"excavateId"],[e,"excavateId"]))}{const r=this._es3DTileset;this.d(e.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(e.highlightFeatureEvent.don((...s)=>{r.highlightFeature(...s)})),this.d(e.highlightFeatureAndFlyToEvent.don((...s)=>{r.highlightFeatureAndFlyTo(...s)})),this.d(e.setFeatureColorEvent.don((...s)=>{r.setFeatureColor(...s)})),this.d(e.setFeatureVisableEvent.don((...s)=>{r.setFeatureVisable(...s)})),this.d(e.resetFeatureStyleEvent.don((...s)=>{r.resetFeatureStyle(...s)})),this.d(e.flyInEvent.don((...s)=>{r.flyIn(s[0])})),this.d(e.flyToEvent.don((...s)=>{r.flyTo(s[0])})),this.d(e.calcFlyToParamEvent.don((...s)=>{r.calcFlyToParam(...s)})),this.d(e.calcFlyInParamEvent.don((...s)=>{r.calcFlyInParam(...s)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(s=>{e.tilesetReady.emit(s)})),this.d(r.pickedEvent.don(s=>{s.assign({sceneObject:e}),e.pickedEvent.emit(s)}))}{const r=()=>{this.es3DTileset.show=e.show};r(),this.d(e.showChanged.don(()=>{r()}))}}get es3DTileset(){return this._es3DTileset}};g(at,"type",at.register("ESUeViewer",o.ESRtsFeatureEditing.type,at));let Mi=at;const lt=class lt extends ${constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(lt,"type",lt.register("ESUeViewer",o.ESMsTileset.type,lt));let Wi=lt;const dt=class dt extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,height:t.height??o.ESGeoExtrudedPolygon.defaults.height,extrudedHeight:t.extrudedHeight??o.ESGeoExtrudedPolygon.defaults.extrudedHeight,perPositionHeight:t.perPositionHeight??o.ESGeoExtrudedPolygon.defaults.perPositionHeight}})},r=this.disposeVar(o.createNextAnimateFrameEvent(t.heightChanged,t.extrudedHeightChanged,t.perPositionHeightChanged));this.dispose(r.disposableOn(n)),this.dispose(t.createdEvent.disposableOn(n))}};g(dt,"type",dt.register("ESUeViewer",o.ESGeoExtrudedPolygon.type,dt));let $i=dt;const ct=class ct extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ct,"type",ct.register("ESUeViewer",o.ESStaticMesh.type,ct));let xi=ct;const ut=class ut extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};g(ut,"type",ut.register("ESUeViewer",o.ESSkylineAnalysis.type,ut));let _i=ut;const K=class K extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(K,"type",K.register("ESUeViewer",o.ESMVTLayer.type,K)),g(K,"forceUeUpdateProps",[...T.forceUeUpdateProps,"url"]),g(K,"propValFuncs",{...T.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t),targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t},czmSplitDirection:null,czmAlpha:null,czmBrightness:null,czmContrast:null,czmHue:null,czmSaturation:null,czmGamma:null});let Ni=K;const ht=class ht extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("UeESCylinder: viewer is null");return}}};g(ht,"type",ht.register("ESUeViewer",o.ESCylinder.type,ht));let zi=ht;p.copyright=void 0;try{const c="earthsdk3-ue",t="3.11.0-beta.20",e="2026-07-15T03:53:41.000Z",i="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="18eb019de0881c8f88d5d0948aa36a384e722338",a=((Date.now()-1784087621e3)/36e5).toFixed(1),v=`%c🌏 ${c}%c ${t}.${r.slice(0,8)}.${e} (距今${a}个小时)
1
+ (function(p,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("earthsdk3"),require("@epicgames-ps/lib-pixelstreamingfrontend-ue5.2"),require("html2canvas")):typeof define=="function"&&define.amd?define(["exports","earthsdk3","@epicgames-ps/lib-pixelstreamingfrontend-ue5.2","html2canvas"],o):(p=typeof globalThis<"u"?globalThis:p||self,o(p.EarthSDK3_UE={},p.EarthSDK3,p.libPixelstreamingfrontendUe5_2,p.html2canvas))})(this,(function(p,o,P,kn){"use strict";var Ur=Object.defineProperty;var Ar=(p,o,P)=>o in p?Ur(p,o,{enumerable:!0,configurable:!0,writable:!0,value:P}):p[o]=P;var g=(p,o,P)=>Ar(p,typeof o!="symbol"?o+"":o,P);var Qn;const On={...o.ESViewer.defaults,geoReferenceOrigin:void 0,keepWorldOriginNearCamera:!1,useCache:!0,widgetInteractionDistance:200,memReportInterval:10,sceneControlled:!0,brightness:0,emissiveIntensity:1,statusUpdateInterval:.5,baseUrl:((Qn=globalThis==null?void 0:globalThis.location)==null?void 0:Qn.href)??"",screenPercentage:-1,antiAliasingMethod:"default"},Gi=()=>({...o.ESViewer.createCommonProps(),apiKey:"",apiUrl:"",secretKey:"",speechVoiceMode:"",geoReferenceOrigin:o.reactArrayWithUndefined(void 0),keepWorldOriginNearCamera:void 0,useCache:void 0,widgetInteractionDistance:void 0,memReportInterval:void 0,sceneControlled:void 0,brightness:void 0,emissiveIntensity:void 0,statusUpdateInterval:void 0,baseUrl:void 0,screenPercentage:void 0,antiAliasingMethod:void 0});function vt(){const c=Gi(),t=[];return Object.keys(c).forEach(e=>{t.push(e)}),t}function mt(c){const{defaults:t}=b,e=vt(),i={};return e.forEach(n=>{i[n]=c[n]??t[n]}),i}const X=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyTo",p:{id:t,duration:e,flyToParam:i,position:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},Ct=async(c,t)=>{const e=await c.callUeFunc({f:"destroy",p:{id:t}});return e.error&&console.error(e.error),e},W=(c,t)=>{c.callUeFunc({f:"calcFlyToParam",p:{id:t}}).then(e=>{e.error&&console.error("calcFlyToParam:",e.error)}).catch(e=>{console.error("calcFlyToParam:",e)})},Ji=(c,t)=>{c.callUeFunc({f:"refreshTileset",p:{id:t}}).then(e=>{e.error&&console.error("refreshTileset:",e.error)}).catch(e=>{console.error("refreshTileset:",e)})},j=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyIn",p:{id:t,position:e,rotation:i,duration:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},Ki=async(c,t)=>{if(!c){console.warn("DefaultCameraFlyIn: viewer is undefined");return}const e=await c.callUeFunc({f:"DefaultCameraFlyIn",p:{Duration:t??1}});if(e.error){console.error("DefaultCameraFlyIn:",e.error);return}return e},Xi=async c=>{if(!c){console.warn("StartVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StartVoice",p:{}});if(t.error){console.error("StartVoice:",t.error);return}return t},qi=async c=>{if(!c){console.warn("StopVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StopVoice",p:{}});if(t.error){console.error("StopVoice:",t.error);return}return t},Zi=async(c,t)=>{if(!c){console.warn("mountPakFiles:viewer is undefined");return}const e=await c.callUeFunc({f:"MountPakFiles",p:{json:t}});if(e.error){console.error("mountPakFiles:",e.error);return}return e},Qi=async c=>{if(!c){console.warn("generateMemReport:viewer is undefined");return}const t=await c.callUeFunc({f:"GenerateMemReport",p:{}});if(t.error){console.error("generateMemReport:",t.error);return}return t},Et=async(c,t)=>{const e=await c.callUeFunc({f:"resetWithCurrentCamera",p:{id:t}});return e.error&&console.error("resetWithCurrentCamera:",e.error),e},ee=(c,t,e,i,n)=>{c.callUeFunc({f:"smoothMoveWithRotation",p:{id:t,Destination:e,NewRotation:i,Time:n}}).then(r=>{r.error&&console.error("smoothMoveWithRotation:",r.error)}).catch(r=>{console.error("smoothMoveWithRotation:",r)})},te=(c,t,e,i,n,r)=>{c.callUeFunc({f:"smoothMoveOnGround",p:{id:t,Lon:e,Lat:i,Ground:n,Time:r}}).then(s=>{s.error&&console.error("smoothMoveOnGround:",s.error)}).catch(s=>{console.error("smoothMoveOnGround:",s)})},ie=(c,t,e,i,n,r,s)=>{c.callUeFunc({f:"smoothMoveWithRotationOnGround",p:{id:t,NewRotation:e,Lon:i,Lat:n,Time:r,Ground:s}}).then(a=>{a.error&&console.error("smoothMoveWithRotationOnGround:",a.error)}).catch(a=>{console.error("smoothMoveWithRotationOnGround:",a)})},Yi=(c,t,e)=>{c.callUeFunc({f:"HighlightFeature",p:{id:t,HlId:e}}).then(i=>{i.error&&console.error("HighlightFeature:",i.error)}).catch(i=>{console.error("HighlightFeature:",i)})},Vi=(c,t,e,i)=>{c.callUeFunc({f:"HighlightFeatureAndFlyTo",p:{id:t,HlId:e,Duration:i}}).then(n=>{n.error&&console.error("HighlightFeatureAndFlyTo:",n.error)}).catch(n=>{console.error("HighlightFeatureAndFlyTo:",n)})},ki=(c,t,e)=>{c.callUeFunc({f:"SetLayerVisible",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerVisible:",i.error)}).catch(i=>{console.error("SetLayerVisible:",i)})},Oi=(c,t,e)=>{c.callUeFunc({f:"SetLayerColor",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerColor:",i.error)}).catch(i=>{console.error("SetLayerColor:",i)})},ne=(c,t,e,i)=>{c.callUeFunc({f:"smoothMove",p:{id:t,Destination:e,Time:i}}).then(n=>{n.error&&console.error("smoothMove:",n.error)}).catch(n=>{console.error("smoothMove:",n)})},St=async(c,t,e,i)=>{const n=await c.callUeFunc({f:"callFunction",p:{id:t,fn:e,p:i}});return n.error&&(console.error("callFunction:",n.error),console.error(`id: ${t} fn: ${e} param: ${i}`)),n.re??void 0},ji=(c,t,e,i)=>{c.callUeFunc({f:"SetNodePosition",p:{id:t,NodeName:e,NodePosition:i}}).then(n=>{n.error&&console.error("SetNodePosition:",n.error)}).catch(n=>{console.error("SetNodePosition:",n)})},en=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeRotation",p:{id:t,NodeName:e,NodeRotation:i}}).then(n=>{n.error&&console.error("SetNodeRotation:",n.error)}).catch(n=>{console.error("SetNodeRotation:",n)})},tn=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeScale",p:{id:t,NodeName:e,NodeScale:i}}).then(n=>{n.error&&console.error("SetNodeScale:",n.error)}).catch(n=>{console.error("SetNodeScale:",n)})},A=async(c,t)=>{if(t.mode=="Follow"){const i=o.ESSceneObject.getSceneObject(t.objectId);t.objectId=i?(i.components.main??i).id:t.objectId}else if(t.mode=="Line"){const i=o.ESSceneObject.getSceneObject(t.geoLineStringId);t.geoLineStringId=i?(i.components.main??i).id:t.geoLineStringId}const e=await c.callUeFunc({f:"ChangeNavigationMode",p:t});if(e.error){console.error("ChangeNavigationMode:",e.error);return}return e},nn=async(c,t)=>{const e=await c.callUeFunc({f:"setGlobalProperty",p:t});if(e.error){console.error("setGlobalProperty:",e.error);return}return e},rn=async c=>{const t=await c.callUeFunc({f:"Quit",p:void 0});if(t.error){console.error("Quit:",t.error);return}return t},on=async(c,t,e,i)=>{console.log("pickCallFunc",t,e,i);const n=await c.callUeFunc({f:"pick",p:{screenPosition:t,parentInfo:i}});if(!n.re&&(n.error||n.error=="")){console.error("pick:",n.error==""?"未获取到结果":n.error);return}let r=n.re.id,s,a=r?o.ESSceneObject.getSceneObject(r):void 0;return a&&a.parentID&&(a=o.ESSceneObject.getSceneObject(a.parentID)),s=new o.ESJPickedResult(n.re,a,n.re.features,n.re.add,e,t),a&&Reflect.has(a,"allowPicking")&&Reflect.has(a,"pickedEvent")&&(a.allowPicking??!1)&&a.pickedEvent.emit(s),a&&Reflect.has(a,"allowPicking")&&!a.allowPicking?new o.ESJPickedResult:s},sn=async(c,t)=>{const e=await c.callUeFunc({f:"pickPosition",p:{screenPosition:t}});if(!e.re&&(e.error||e.error=="")){console.error("pickPosition",e.error==""?"未获取到结果":e.error);return}const{position:i}=e.re;return i},an=async(c,t,e,i="ECC_Visibility")=>{const n=await c.callUeFunc({f:"GetHeightByLonLat",p:{Lon:t,Lat:e,Channel:i}});if(n.error){console.warn(`GetHeightByLonLat:${n.error}`);return}return n.re},ln=async(c,t,e="ECC_Visibility")=>{const i=await c.callUeFunc({f:"GetHeightsByLonLats",p:{LonLats:t,Channel:e}});if(i.error){console.warn(`GetHeightsByLonLats:${i.error}`);return}i.re.heights.includes(null)&&console.warn("注意! GetHeightsByLonLats: 存在高度为null的点. there are points with a height of null");try{return i.re.heights}catch{return}},dn=async(c,t=64,e=64)=>{const i=await c.callUeFunc({f:"capture",p:{resx:t,resy:e}});if(i.error){console.warn(i.error);return}return i.re.image},cn=async(c,t,e=[64,64])=>{const i=await c.callUeFunc({f:"partialCapture",p:{startPos:t,size:e}});if(i.error){console.warn(i.error);return}return i.re.image},un=async(c,t)=>{const e=await c.callUeFunc({f:"LonLatAltToScreenPosition",p:{LonLatAlt:t}});return e.error&&console.warn(e.error),e.re},hn=async(c,t)=>{const e=await c.callUeFunc({f:"UEPositionToLonLatAlt",p:{UEPosition:t}});if(e.error){console.warn(e.error);return}return[...e.re.LonLatAlt]},vn=async(c,t)=>{const e=await c.callUeFunc({f:"GetAllSocketNamesByActorTag",p:{ActorTag:t}});if(e.error){console.warn(e.error);return}return[...e.re.socketNames]},gn=async c=>{const t=await c.callUeFunc({f:"GetVersion",p:void 0});if(t.error){console.warn("GetVersion:",t.error);return}return t.re.version},pn=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphere",p:{id:t}});if(e.error){console.warn(e.error);return}return e.re},fn=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphereWithChildren",p:{id:t}});if(e.error){console.warn(`GetBoundSphereWithChildren:${e.error}`);return}return e.re},wn=async(c,t)=>{const e=await c.callUeFunc({f:"GetStrokeMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetStrokeMaterialParamInfo:${e.error}`);return}return e.re},yn=async(c,t)=>{const e=await c.callUeFunc({f:"GetFillMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetFillMaterialParamInfo:${e.error}`);return}return e.re},mn=async(c,t)=>{const e=await c.callUeFunc({f:"getGlobalProperty",p:{props:t}});if(e.error){console.warn(`getGlobalProperty:${e.error}`);return}return e.re},Cn=async(c,t)=>{const e=await c.callUeFunc({f:"GetObjectByInfo",p:{info:t}});if(e.error){console.warn(`GetObjectByInfo:${e.error}`);return}return e.re},En=async(c,t,e)=>await c.callUeFunc({f:"BindActorByTag",p:{ID:t,ActorTag:e}}),Sn=async c=>await c.callUeFunc({f:"RestoreOriginalScene",p:void 0}),Fn=async(c,t)=>await c.callUeFunc({f:"UnBindActorByID",p:{ID:t}}),In=async(c,t)=>await c.callUeFunc({f:"UnBindActorByTag",p:{ActorTag:t}}),Tn=async(c,t,e)=>await c.callUeFunc({f:"CreateActorByClass",p:{ID:t,ActorClass:e}}),Rn=async function(c,t,e){return await c.callUeFunc({f:"Bind3DTilesetByTag",p:{ID:t,ActorTag:e}})},Dn=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetByTag",p:{ActorTag:t}})},Ln=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetById",p:{ID:t}})},Pn=async function(c,t,e,i){return await c.callUeFunc({f:"BindImageryByTag",p:{ID:t,ActorTag:e,ComponentTag:i}})},Bn=async function(c,t,e){return await c.callUeFunc({f:"UnBindImageryByTag",p:{ActorTag:t,ComponentTag:e}})},Un=async function(c,t){return await c.callUeFunc({f:"UnBindImageryById",p:{ID:t}})},An=async function(c,t,e,i){return await c.callUeFunc({f:"GetIdByComponentNameAndHitItem",p:{id:t,ComponentName:e,HitItem:i}})},bn=async function(c,t="ECC_Visibility"){return await c.callUeFunc({f:"GetCameraRelativeHeight",p:{Channel:t}})},Mn=async function(c,t,e,i){const n=await c.callUeFunc({f:"SaveStringToFile",p:{String:t,Path:e??"undefine",File:i??"data.txt"}});return n.error!==""&&console.warn("SaveStringToFile: ",n.error),n},Wn=async function(c,t,e=!0){const i=await c.callUeFunc({f:"HighlightActorByTag",p:{ActorTag:t,Highlight:e}});return i.error!==""&&console.warn("HighlightActorByTag: ",i.error),i},$n=async function(c,t){const e=await c.callUeFunc({f:"SendCustomMessage",p:{Message:t}});return e.error!==""&&console.warn("SendCustomMessage: ",e.error),e},xn=async function(c){const t=await c.callUeFunc({f:"GetStatus",p:void 0});if(t.error){console.warn(`GetStatus:${t.error}`);return}return t.re},_n=async(c,t,e,i,n=!0)=>{const r=await c.callUeFunc({f:"startEditing",p:{sceneObjectID:t,editingID:e,modes:i,useKeyToSwitch:n}});if(r.error){console.error("startEditing:",r.error);return}return r},Nn=async c=>{const t=await c.callUeFunc({f:"stopEditing",p:void 0});if(t.error){console.error("stopEditing:",t.error);return}return t},zn=async(c,t,e)=>{const i=await c.callUeFunc({f:"moveObjects",p:{sceneObjectIDs:t,editingID:e}});if(i.error){console.error("moveObjects:",i.error);return}return i},Hn=async c=>{const t=await c.callUeFunc({f:"GetTilesetMaterialIDList",p:void 0});if(t.error){console.error("GetTilesetMaterialIDList:",t.error);return}return t.re.materialIDList};class re extends o.Destroyable{}const jn={Response:1},gt={UIInteraction:50,MouseWheel:75};class er extends o.HasOwner{constructor(e,i){super(e);g(this,"_processResponseFn",e=>this.esUeViewer.processResponse(e));g(this,"_inner");this._uri=i,this._inner=new WebSocket(this._uri),this.d(()=>{this._inner.close()}),this._innerInit()}get esUeViewer(){return this.owner}get uri(){return this._uri}get inner(){return this._inner}_innerInit(){this.inner.onmessage=e=>{if(this.isDestroyed())return;let i=new FileReader;i.onload=n=>{if(this.isDestroyed())return;let r=n.target.result,s=new Uint32Array(r),a=0;if(s[0]===jn.Response){a+=4;let v=s[a/4];a+=4;for(let l=0;l<v;l++){let y=s[a/4];a+=4;let f=new TextDecoder("utf-8").decode(r.slice(a,a+y));a+=y,this._processResponseFn(f)}}},i.readAsArrayBuffer(e.data)},this.inner.onopen=()=>{this.isDestroyed()||(console.warn("earthsdk message websocket server connected:",this.uri),console.log("%c[EarthSDK websocket open]","background: #a6ec99; color: black","open"),this.owner.dispatchEvent(new CustomEvent("esmsgwsopen",{detail:"websocket open"})))},this._inner.onclose=e=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket close ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket close"})))},this._inner.onerror=e=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket error ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket error"})))}}sendInputData(e){const i=this.inner;if(i.readyState!==WebSocket.OPEN)return;const r=new Uint8Array(e)[0];if(r>=gt.UIInteraction&&r<=gt.MouseWheel){const s=new ArrayBuffer(e.byteLength+4);return new DataView(s).setUint32(0,e.byteLength,!0),new Uint8Array(s,4).set(new Uint8Array(e)),i.send(new DataView(s)),!0}else return!1}emitDescriptorWithString(e,i){let n=new TextEncoder().encode(i),r=new DataView(new ArrayBuffer(3+n.length)),s=0;r.setUint8(s,e),s++,r.setUint16(s,n.length,!0),s+=2;for(let a=0;a<n.length;a++)r.setUint8(s,n[a]),s+=1;try{this.sendInputData(r.buffer)}catch(a){console.error(`data.buffer.size: ${r.buffer.byteLength} 独立通道 sendInputData error: ${a}`,a)}}destroyImpl(){this._inner&&this._inner.close()}}globalThis.g_emitDescriptor_maxBytes=3e4;let tr=-1;P.Logger.SetLoggerVerbosity(1);class ir extends o.Destroyable{constructor(e,i){super();g(this,"_eventTarget",new EventTarget);g(this,"debug",!1);g(this,"uiInteractionCallbacks",new Map);g(this,"_pixelStream");g(this,"_esMsgWsWrapper");this._domOrDomId=e,this._options=i;const n=typeof this._domOrDomId=="string"?document.getElementById(this._domOrDomId):this._domOrDomId;if(!n)throw new Error(`ESUEViewer container${this._domOrDomId} error!`);console.log(`PSUEViewer init _options ${this._options}`);const{url:r,esmsgWsUri:s}=this._options;this._pixelStream=this._initPixelStream(n,r),this.d(()=>{this._pixelStream.disconnect()}),this._handerPixelStreamEvent(),this._esMsgWsWrapper=this._initEsMsgWsWrapper(s);const a=this;if(a.esMsgWsWrapper){const v=a.webRtcController.sendMessageController.dataChannelSender.sendData;a.webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(l){a.esMsgWsWrapper?a.esMsgWsWrapper.sendInputData(l):v.call(this,l)}}}get eventTarget(){return this._eventTarget}addEventListener(e,i,n){return this.eventTarget.addEventListener(e,i,n)}removeEventListener(e,i,n){return this.eventTarget.removeEventListener(e,i,n)}dispatchEvent(e){return this.eventTarget.dispatchEvent(e)}_initPixelStream(e,i){const n=new P.Config({initialSettings:{AutoConnect:!0,AutoPlayVideo:!0,StartVideoMuted:!0,UseMic:!1,ForceMonoAudio:!1,KeyboardInput:!0,MouseInput:!0,TouchInput:!0,GamepadInput:!0,XRControllerInput:!0,SuppressBrowserKeys:!1,HoveringMouse:!0,FakeMouseWithTouches:!1,BrowserSendOffer:!1,ForceTURN:!1,PreferSFU:!1,IsQualityController:!0,MatchViewportResolution:!0,AFKDetection:!1,[P.TextParameters.SignallingServerUrl]:i}});return n.setNumericSetting(P.NumericParameters.MaxReconnectAttempts,0),new P.PixelStreaming(n,{videoElementParent:e})}get pixelStream(){return this._pixelStream}_initEsMsgWsWrapper(e){return e?this.dv(new er(this,e)):void 0}get esMsgWsWrapper(){return this._esMsgWsWrapper}get esWebSocketReady(){var e;return((e=this.esMsgWsWrapper)==null?void 0:e.inner.readyState)===1}_handerPixelStreamEvent(){this.pixelStream.addEventListener("videoInitialized",()=>{console.log("%c[EarthSDK webrtc videoInitialized]","background: #a6ec99; color: black","videoInitialized"),this.dispatchEvent(new CustomEvent("videoinited",{detail:"videoinited"}))}),this.pixelStream.addEventListener("webRtcFailed",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webRtc webRtcFailed]","background: red; color: black","webRtcFailed"),this.dispatchEvent(new CustomEvent("error",{detail:"webRtcFailed"})),this.pixelStream.disconnect())}),this.pixelStream.addEventListener("webRtcDisconnected",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webRtc webRtcDisconnected]","background: red; color: black","webRtcDisconnected"),this.dispatchEvent(new CustomEvent("error",{detail:"webRtcDisconnected"})),this.pixelStream.disconnect())}),this.pixelStream.addEventListener("webRtcConnected",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webrtc webRtcConnected]","background: #a6ec99; color: black","webRtcConnected"),this.dispatchEvent(new CustomEvent("webRtcConnected",{detail:"webRtcConnected"})))}),this.pixelStream.addResponseEventListener("esueviewer",e=>{this.processResponse(e)})}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);if(i.ers=i.ers&&i.ers.filter(n=>n.et!=="mouseMoveEvent"),!(i.ers&&i.ers.length>0||i.frs&&i.frs.length>0))return;console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.dispatchEvent(new CustomEvent("ueevent",{detail:e}))}emitUIInteraction(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i)),this.pixelStream.emitUIInteraction(e)}get webRtcController(){return this.pixelStream._webRtcController}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=globalThis.g_emitDescriptor_maxBytes,s=n.length,a=++tr;if(this.esMsgWsWrapper){if(s<r){this.esMsgWsWrapper.emitDescriptorWithString(gt.UIInteraction,`${a}-0/1-`+n);return}const v=Math.ceil(s/r)|0;[...new Array(v).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,f)=>{this.esMsgWsWrapper&&this.esMsgWsWrapper.emitDescriptorWithString(gt.UIInteraction,`${a}-${f}/${v}-`+y)})}}emitCommand(e){this.pixelStream.emitCommand(e)}getVideoSize(){const e=this.webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}resizeUEVideo(e,i){let n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class nr extends o.Destroyable{constructor(e,i,n){super();g(this,"_instance");g(this,"_event",this.dv(new o.Event));this._container=e,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new ir(this._container,{url:this._wsuri,esmsgWsUri:this._esmsgWsUri})),this.instanceInit()}get webSocketReady(){return this._instance.esWebSocketReady}get event(){return this._event}get debug(){return this._instance.debug}set debug(e){this._instance.debug=e}instanceInit(){if("addEventListener"in this._instance){["esmsgwsopen","error","videoinited","ueevent","webRtcConnected"].forEach(i=>{const n=r=>{this._event.emit(i,r.detail)};this._instance.addEventListener(i,n),this.dispose(()=>this._instance.removeEventListener(i,n))});return}this.dispose(this._instance.errorEvent.disposableOn(e=>{this._event.emit("error",e.detail)})),this.dispose(this._instance.webRtcConnectedEvent.disposableOn(e=>{this._event.emit("webRtcConnected",e.detail)})),this.dispose(this._instance.videoinitedEvent.disposableOn(e=>{this._event.emit("videoinited",e.detail)})),this.dispose(this._instance.ueevent.disposableOn(e=>{this._event.emit("ueevent",e.detail)}))}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class rr extends re{constructor(e,i,n,r){super();g(this,"_esueViewerWrapper");g(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));g(this,"_ueFuncWithIdAndResultCallbacks",[]);g(this,"_waitingUeFuncIdAndResultCallbacks",new Map);g(this,"_waitingUeCalls",new Set);g(this,"_ueEvent",this.dv(new o.Event));g(this,"_errorEvent",this.dv(new o.Event));g(this,"_readyEvent",this.dv(new o.Event));g(this,"_esmsgwsopen",this.dv(o.react(!1)));g(this,"_videoinited",this.dv(o.react(!1)));g(this,"_webRtcConnected",this.dv(o.react(!1)));this._ueViewer=r,console.log("CSTMPSViewer init ! 以官方像素流 + 独立通信的模式启动!");const s=this._ueViewer;this._esueViewerWrapper=this.dv(new nr(e,i,n));const a=this._esueViewerWrapper;{const u=()=>a.debug=s.debug??!1;u(),this.d(s.debugChanged.don(u))}let v=!1;{const u=()=>{if(v)return;const h=a.webSocketReady;if(this.videoinited&&this.webRtcConnected&&h){console.log("%c[EarthSDK: esmsgWebSocket && videoinited && webRtcConnected]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};a.emitUIInteractionForBigData(w),this._readyEvent.emit(),v=!0}};this.d(this.videoinitedChanged.don(()=>{u()})),this.d(this.webRtcConnectedChanged.don(()=>{u()})),this.d(this.esmsgwsopenChanged.don(()=>{u()}))}this.d(a.event.don((u,h)=>{if(u==="error")this._errorEvent.emit(h);else if(u==="ueevent"){const w=JSON.parse(h);if(w.t==="cr"){const m=w;if(m.frs&&this._ueFuncResultWithIdsEvent.emit(m.frs),m.ers)for(let C of m.ers)this._ueEvent.emit(C)}}else u==="webRtcConnected"?this.webRtcConnected=!0:u==="videoinited"?this.videoinited=!0:u==="esmsgwsopen"&&(this.esmsgwsopen=!0)}));{const u=this.dv(o.createAnimateFrame());let h,w;u.start(()=>{if(h!==e.offsetWidth||w!==e.offsetHeight){if(h=e.offsetWidth,w=e.offsetHeight,h===void 0||w===void 0||!Number.isFinite(h)||!Number.isFinite(w)||h<0||w<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${h} ${w}`);return}a.resize(h,w),console.log(`resize: ${h} ${w}`)}})}this.d(this._ueFuncResultWithIdsEvent.don(u=>{for(const h of u){const w=this._waitingUeFuncIdAndResultCallbacks.get(h.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(h.fid),w.resultCallback(h.r))}}));let l=0;const y=u=>{const h={n:l++,tt:Date.now(),t:"c",fs:u};this._waitingUeCalls.add(h),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(h,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._esueViewerWrapper.emitUIInteractionForBigData(h,()=>{this._waitingUeCalls.delete(h)})},f=()=>{if(!v||this._ueFuncWithIdAndResultCallbacks.length===0)return;const u=this._ueFuncWithIdAndResultCallbacks.map((([h])=>h));for(const[h,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(h.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const h=globalThis.g_emitDescriptor_maxBytes,w=u.map(R=>({f:R,s:JSON.stringify(R).length}));let m=w.length,C=0,S=0,E=[];do{do{const{f:R,s:I}=w[C];if(E.push(R),++C,S+I>h||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),y([...E]),E.length=0,S=0)}while(C<m)}};this.dv(o.createInterval()).start(f,50),this.d(()=>console.log("UeCloudViewer正在销毁..."))}get esueViewerWrapper(){return this._esueViewerWrapper}get errorEvent(){return this._errorEvent}get readyEvent(){return this._readyEvent}get esmsgwsopen(){return this._esmsgwsopen.value}set esmsgwsopen(e){this._esmsgwsopen.value=e}get esmsgwsopenChanged(){return this._esmsgwsopen.changed}get videoinited(){return this._videoinited.value}set videoinited(e){this._videoinited.value=e}get videoinitedChanged(){return this._videoinited.changed}get webRtcConnected(){return this._webRtcConnected.value}set webRtcConnected(e){this._webRtcConnected.value=e}get webRtcConnectedChanged(){return this._webRtcConnected.changed}resize(e,i){this.esueViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){(this._ueViewer.debug??!1)&&console.log(`disposableOnUeEvent from UeCloudViewer, type:${e}`);const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}function or(c){let t="";const e=new Uint8Array(c),i=e.length;for(let n=0;n<i;n++)t+=String.fromCharCode(e[n]);return btoa(t)}const sr=c=>{const t={type:"input",inputdata:or(c)};return JSON.stringify(t)};function ar(c){return typeof c=="string"?document.getElementById(c):c}globalThis.g_emitDescriptor_maxBytes=3e4;let lr=-1;P.Logger.SetLoggerVerbosity(1);class dr extends o.Destroyable{constructor(e,i){super();g(this,"debug",!1);g(this,"_error",this.dv(new o.Event));g(this,"_connected",this.dv(new o.Event));g(this,"_ueevent",this.dv(new o.Event));g(this,"_pixelStream");g(this,"uiInteractionCallbacks",new Map);this._container=e,this._option=i;const n=new P.Config({initialSettings:{AutoConnect:!0,AutoPlayVideo:!0,StartVideoMuted:!0,UseMic:!1,ForceMonoAudio:!1,KeyboardInput:!0,MouseInput:!0,TouchInput:!0,GamepadInput:!0,XRControllerInput:!0,SuppressBrowserKeys:!1,HoveringMouse:!0,FakeMouseWithTouches:!1,BrowserSendOffer:!1,ForceTURN:!1,PreferSFU:!1,IsQualityController:!0,MatchViewportResolution:!0,AFKDetection:!1,[P.TextParameters.SignallingServerUrl]:this._option.ws}});n.setNumericSetting(P.NumericParameters.MaxReconnectAttempts,0),this._pixelStream=new P.PixelStreaming(n,{videoElementParent:this.container}),this.d(()=>{this._pixelStream.disconnect()});{const r=this.pixelStream.webSocketController.webSocket,s=this._pixelStream._webRtcController.sendMessageController.dataChannelSender.sendData;this._pixelStream._webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(a){r?r.send(sr(a)):s.call(this,a)}}{const r=s=>{const a=this._pixelStream._webRtcController.mouseController;setTimeout(()=>{const v=a.coordinateConverter.normalizeAndQuantizeUnsigned(s.offsetX,s.offsetY),y=a.toStreamerMessagesProvider.toStreamerHandlers.get("MouseUp");y&&y([s.button,v.x,v.y]),s.preventDefault()})};this.container.addEventListener("dblclick",r),this.d(()=>{this.container.removeEventListener("dblclick",r)})}["error","close","open"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="open"?this.connected.emit("webSocketOpen"):s==="close"?this.error.emit("webSocketClose"):s==="error"&&this.error.emit("webSocketError"))};this.pixelStream.webSocketController.webSocket.addEventListener(s,a),this.d(()=>{this.pixelStream.webSocketController.webSocket.removeEventListener(s,a)})}),["videoInitialized","webRtcConnected","webRtcDisconnected","webRtcFailed"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="webRtcConnected"||s==="videoInitialized"?this.connected.emit(s):(s==="webRtcDisconnected"||s==="webRtcFailed")&&(this.error.emit(s),this.pixelStream.disconnect()))};this.pixelStream.addEventListener(s,a),this.d(()=>{this.pixelStream.removeEventListener(s,a)})}),this.pixelStream.addResponseEventListener("handle_responses",r=>{this.processResponse(r)}),this.d(()=>{this.pixelStream.removeResponseEventListener("handle_responses")})}get error(){return this._error}get connected(){return this._connected}get ueevent(){return this._ueevent}get container(){return ar(this._container)}get pixelStream(){return this._pixelStream}get webSocketReady(){return this.pixelStream.webSocketController.webSocket.readyState===1}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.ueevent.emit(e)}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=globalThis.g_emitDescriptor_maxBytes??3e4,s=n.length,a=++lr;if(s<r){const y={type:"earthsdk",time:new Date().getTime(),params:`${a}-0/1-`+n};this.sendData(JSON.stringify(y));return}const v=Math.ceil(s/r)|0;[...new Array(v).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,f)=>{const d={type:"earthsdk",time:new Date().getTime(),params:`${a}-${f}/${v}-`+y};this.sendData(JSON.stringify(d))})}sendData(e){this.pixelStream.webSocketController.webSocket.send(e)}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}getVideoSize(){const e=this._pixelStream._webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}emitCommand(e){this.pixelStream.emitCommand(e)}emitUIInteraction(){console.log("emitUIInteraction 像素流初始化"),this.pixelStream.emitUIInteraction("像素流初始化")}resizeUEVideo(e,i){const n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class cr extends o.Destroyable{constructor(e,i,n){super();g(this,"_instance");g(this,"_event",this.dv(new o.Event));this._container=e,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new dr(this._container,{ws:this._wsuri})),this.d(this._instance.connected.don(r=>{this._event.emit(r,r),console.log(`%c[EarthSDK] ${r}`,"background: #a6ec99; color: black")})),this.d(this._instance.error.don(r=>{this._event.emit("errorEvent",r),console.log(`%c[EarthSDK] ${r}`,"background: red; color: black")})),this.d(this._instance.ueevent.don(r=>{this._event.emit("ueevent",r)}))}get instance(){return this._instance}get event(){return this._event}get debug(){return this._instance.debug}set debug(e){this._instance.debug=e}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class ur extends re{constructor(e,i,n,r){super();g(this,"_videoInitialized",this.dv(o.react(!1)));g(this,"_webRtcConnected",this.dv(o.react(!1)));g(this,"_webSocketOpen",this.dv(o.react(!1)));g(this,"_ue5ViewerWrapper");g(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));g(this,"_ueFuncWithIdAndResultCallbacks",[]);g(this,"_waitingUeFuncIdAndResultCallbacks",new Map);g(this,"_waitingUeCalls",new Set);g(this,"_ueEvent",this.dv(new o.Event));g(this,"_errorEvent",this.dv(new o.Event));g(this,"_readyEvent",this.dv(new o.Event));this._ueViewer=r,console.log("INNPSViewer init ! 以内置信令服务器模式启动!");const s=this._ueViewer,a=this.dv(new cr(e,i,n));this._ue5ViewerWrapper=a;{const d=()=>a.debug=s.debug??!1;d(),this.d(s.debugChanged.don(d))}{let d=!1;const u=this.dv(o.createNextAnimateFrameEvent(this._videoInitialized.changed,this._webRtcConnected.changed,this._webSocketOpen.changed));this.d(u.don(()=>{if(d)return;const h=this._ue5ViewerWrapper.instance.webSocketReady;if(this.videoInitialized&&this.webRtcConnected&&h){this._ue5ViewerWrapper.instance.emitUIInteraction(),this._readyEvent.emit(),d=!0,console.log("%c[EarthSDK videoInitialized && webRtcConnected && webSocketReady]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};this._ue5ViewerWrapper.emitUIInteractionForBigData(w)}else console.warn("webSocketReady",h),d=!1}))}this.d(a.event.don((d,u)=>{if(d==="errorEvent")this._errorEvent.emit(u);else if(d==="videoInitialized")this._videoInitialized.value=!0;else if(d==="webRtcConnected")this._webRtcConnected.value=!0;else if(d==="webSocketOpen")this._webSocketOpen.value=!0;else if(d==="ueevent"){const h=JSON.parse(u);if(h.t==="cr"){const w=h;if(w.frs&&this._ueFuncResultWithIdsEvent.emit(w.frs),w.ers)for(let m of w.ers)this._ueEvent.emit(m)}}}));{const d=this.dv(o.createAnimateFrame());let u,h,w;d.start(()=>{if(u!==e.offsetWidth||h!==e.offsetHeight||w!==s.resolutionScale){if(u=e.offsetWidth,h=e.offsetHeight,u===void 0||h===void 0||!Number.isFinite(u)||!Number.isFinite(h)||u<0||h<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${u} ${h}`);return}w=s.resolutionScale,a.resize(u/w,h/w)}})}this.d(this._ueFuncResultWithIdsEvent.don(d=>{for(const u of d){const h=this._waitingUeFuncIdAndResultCallbacks.get(u.fid);h&&(this._waitingUeFuncIdAndResultCallbacks.delete(u.fid),h.resultCallback(u.r))}}));let v=0;const l=d=>{const u={n:v++,tt:Date.now(),t:"c",fs:d};this._waitingUeCalls.add(u),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(u,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._ue5ViewerWrapper.emitUIInteractionForBigData(u,()=>{this._waitingUeCalls.delete(u)})},y=()=>{if(!this._ue5ViewerWrapper.instance.webSocketReady||this._ueFuncWithIdAndResultCallbacks.length===0)return;const u=this._ueFuncWithIdAndResultCallbacks.map((([h])=>h));for(const[h,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(h.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const h=globalThis.g_emitDescriptor_maxBytes,w=u.map(R=>({f:R,s:JSON.stringify(R).length}));let m=w.length,C=0,S=0,E=[];do{do{const{f:R,s:I}=w[C];if(E.push(R),++C,S+I>h||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),l([...E]),E.length=0,S=0)}while(C<m)}};this.dv(o.createInterval()).start(y,50),this.d(()=>console.log("UeCloudViewer正在销毁..."))}get videoInitialized(){return this._videoInitialized.value}get webRtcConnected(){return this._webRtcConnected.value}get webSocketOpen(){return this._webSocketOpen.value}get ue5ViewerWrapper(){return this._ue5ViewerWrapper}get errorEvent(){return this._errorEvent}get readyEvent(){return this._readyEvent}resize(e,i){this.ue5ViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}class hr extends o.Destroyable{constructor(e,i,n,r){super();g(this,"_onRuntimeInitialized",this.dv(new o.Event));g(this,"_vIframe",null);this._ueViewer=r;const s=this._ueViewer;{const a=document.createElement("iframe");this._vIframe=a,a.style.cssText="width: 100%; height: 100%; margin: 0; padding: 0; border: none; outline: none;",e.appendChild(a),this.d(()=>{a&&e.removeChild(a)});const v=o.ESSceneObject.getStrFromEnv(n+`/web/${i}.html`);a.src=v,a.onload=()=>{const l=a.contentWindow;if(!l){console.error("iframeWindow is null");return}console.log("iwindow.Module",l.Module),l.Module.onRuntimeInitialized=()=>{this._onRuntimeInitialized.emit(),s.setStatus("Created"),s.setStatusLog("创建成功"),l.Module.UE4_resizeCanvas(),l.console.log("创建成功__________________________________________")}}}}get onRuntimeInitialized(){return this._onRuntimeInitialized}get vIframe(){return this._vIframe}}const Gn=typeof TextDecoder<"u"?new TextDecoder:void 0,vr=(c,t=0,e=NaN)=>{const i=t+e;let n=t;for(;c[n]&&!(n>=i);)++n;if(n-t>16&&c.buffer&&Gn)return Gn.decode(c.subarray(t,n));let r="";for(;t<n;){var s=c[t++];if(!(s&128)){r+=String.fromCharCode(s);continue}var a=c[t++]&63;if((s&224)==192){r+=String.fromCharCode((s&31)<<6|a);continue}var v=c[t++]&63;if((s&240)==224?s=(s&15)<<12|a<<6|v:((s&248)!=240&&console.warn("Invalid UTF-8 leading byte encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),s=(s&7)<<18|a<<12|v<<6|c[t++]&63),s<65536)r+=String.fromCharCode(s);else{var l=s-65536;r+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return r};class gr extends o.Destroyable{constructor(t,e,i){super();{const n=()=>{const v=mt(e);e.setGlobalProperty(v)};n();const r=vt(),s=[];r.forEach(v=>{const l=e[v+"Changed"];s.push(l)});const a=this.dv(o.createNextAnimateFrameEvent(...s));this.d(a.don(n))}this.d(e.propChanged.don(n=>{if(n.objId==="")try{Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];e[r]=s})}catch(r){console.error("ueViewer propChanged:"+r)}})),e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,t)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,(n=>{if((e.statusUpdateInterval??.5)===0)return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("statusUpdate",a=>{e.statusUpdateEvent.emit(a)})),s}))),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("propChanged",s=>{e.propChanged.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("objectEvent",s=>{e.objectEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.readyEventListeningChanged,()=>{if(!(e.readyEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("readyEvent",s=>{var a;e.actived&&((a=o.ESSceneObject.getSceneObjById(s.id))==null||a.readyEvent.emit(e))})),r})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("widgetEvent",s=>{e.widgetEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("speechRecognition",s=>{e.speechRecognition.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("customMessage",s=>{e.customMessage.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("editingEvent",s=>{s.objectIDs=s.objectIDs.map(a=>{var v;return((v=o.ESSceneObject.getSceneObjById(a))==null?void 0:v.parentID)??a}),e.editingEvent.emit(s)})),r})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}let pr=-1;class fr extends re{constructor(e,i,n="${earthsdk3-ue-h5-assets-script-dir}",r){super();g(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));g(this,"_ueFuncWithIdAndResultCallbacks",[]);g(this,"_waitingUeFuncIdAndResultCallbacks",new Map);g(this,"_waitingUeCalls",new Map);g(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=r;const s=this._ueViewer,a=this.dv(new hr(e,i,n,s));let v=!1,l=null;this.d(a.onRuntimeInitialized.don(()=>{var u;if(v=!0,(u=a==null?void 0:a.vIframe)!=null&&u.contentWindow){l=a.vIframe.contentWindow;const h=a.vIframe.contentWindow.document.getElementById("mainarea");h?this.dv(new gr(h,s,this)):console.error("h5Container is null")}else{console.error("iframeWindow is null");return}l.UE_JSHTML5Communication?l.UE_JSHTML5Communication.UESendMessageToJS=h=>{try{const w=vr(l.HEAPU8,h),m=JSON.parse(w);if(s.debug&&(console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(m,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()),m.t==="cr"){const C=m;if(C.frs&&this._ueFuncResultWithIdsEvent.emit(C.frs),C.ers)for(let S of C.ers)this._ueEvent.emit(S)}m.callid&&this._waitingUeCalls.has(m.callid)&&(this._waitingUeCalls.delete(m.callid),console.log(`waitingUeCalls.delete:${m.callid} end`))}catch(w){console.error("UE_JSHTML5Communication.UESendMessageToJS error:",w)}}:console.error("UE_JSHTML5Communication UESendMessageToJS not found")})),this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(u=>{for(const h of u){const w=this._waitingUeFuncIdAndResultCallbacks.get(h.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(h.fid),w(h.r))}}));let y=0;const f=()=>{if(!v||!l||!l.UE_JSHTML5Communication||!l.UE_JSHTML5Communication.JSSendMessageToUE||this._ueFuncWithIdAndResultCallbacks.length===0)return;const u=this._ueFuncWithIdAndResultCallbacks.map((([I])=>I)),h={n:y++,tt:Date.now(),t:"c",fs:u,callid:o.createGuid()};for(const[I,B]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(I.fid,B);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.set(h.callid,h),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(h,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const w=JSON.stringify(h),m=globalThis.g_emitDescriptor_maxBytes??3e4,C=w.length,S=++pr;if(C<m){const I=`${S}-0/1-`+w;l.UE_JSHTML5Communication.JSSendMessageToUE(I);return}const E=Math.ceil(C/m)|0;[...new Array(E).keys()].map(I=>w.slice(I*m,(I+1)*m)).forEach((I,B)=>{const M=`${S}-${B}/${E}-`+I;l.UE_JSHTML5Communication.JSSendMessageToUE(M)})};this.dv(o.createInterval()).start(f,50)}processResponse(e){if(this._ueViewer.debug??!1)try{const i=JSON.parse(e);console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}let wr=-1;class yr extends re{constructor(e,i){super();g(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));g(this,"_ueFuncWithIdAndResultCallbacks",[]);g(this,"_waitingUeFuncIdAndResultCallbacks",new Map);g(this,"_waitingUeCalls",new Set);g(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=i;const n=this._ueViewer;let r=!1;const s={eventType:"init",params:{}};globalThis.ue.es.oncommand("init-0/1-"+JSON.stringify(s)).then(()=>{r=!0}).catch(y=>{console.error(y)}),globalThis.calljs=(y,f)=>{if(n.debug&&console.log(`calljs eventName:${y} eventDetailStr:${f}`),y==="ueevent"||y==="commanFinish")try{const d=JSON.parse(f);if(d.t==="cr"){const u=d;if(u.frs&&this._ueFuncResultWithIdsEvent.emit(u.frs),u.ers)for(let h of u.ers)this._ueEvent.emit(h)}}catch(d){console.error(d)}},this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(y=>{for(const f of y){const d=this._waitingUeFuncIdAndResultCallbacks.get(f.fid);d&&(this._waitingUeFuncIdAndResultCallbacks.delete(f.fid),d(f.r))}}));let a=0;const v=()=>{if(!r||this._ueFuncWithIdAndResultCallbacks.length===0)return;const y=this._ueFuncWithIdAndResultCallbacks.map((([u])=>u)),f={n:a++,tt:Date.now(),t:"c",fs:y};for(const[u,h]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(u.fid,h);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.add(f),n.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(f,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const d=++wr;globalThis.ue.es.oncommand(`${d}-0/1-`+JSON.stringify(f)).then(()=>{this._waitingUeCalls.delete(f)})};this.dv(o.createInterval()).start(v,50)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}class mr extends o.Destroyable{constructor(t,e){super();{const i=()=>{const a=mt(t);t.setGlobalProperty(a)};i();const n=vt(),r=[];n.forEach(a=>{const v=t[a+"Changed"];r.push(v)});const s=this.dv(o.createNextAnimateFrameEvent(...r));this.d(s.don(i))}this.d(t.propChanged.don(i=>{if(i.objId==="")try{Object.keys(i.props).forEach(n=>{const r=i.props[n]===null?void 0:i.props[n];t[n]=r})}catch(n){console.error("ueViewer propChanged:"+n)}})),this.dv(new o.ObjResettingWithEvent(t.statusUpdateIntervalChanged,(i=>{if((t.statusUpdateInterval??.5)===0)return;const r=new o.Destroyable;return r.d(e.disposableOnUeEvent("statusUpdate",s=>{t.statusUpdateEvent.emit(s)})),r}))),this.dv(new o.ObjResettingWithEvent(t.propChangedListeningChanged,()=>{if(!(t.propChangedListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("propChanged",r=>{t.propChanged.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.objectEventListeningChanged,()=>{if(!(t.objectEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("objectEvent",r=>{t.objectEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.readyEventListeningChanged,()=>{if(!(t.readyEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("readyEvent",r=>{var s;t.actived&&((s=o.ESSceneObject.getSceneObjById(r.id))==null||s.readyEvent.emit(t))})),n})),this.dv(new o.ObjResettingWithEvent(t.widgetEventListeningChanged,()=>{if(!(t.widgetEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("widgetEvent",r=>{t.widgetEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.speechRecognitionListeningChanged,()=>{if(!(t.speechRecognitionListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("speechRecognition",r=>{t.speechRecognition.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.customMessageListeningChanged,()=>{if(!(t.customMessageListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("customMessage",r=>{t.customMessage.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.editingEventListeningChanged,()=>{if(!(t.editingEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("editingEvent",r=>{r.objectIDs=r.objectIDs.map(s=>{var a;return((a=o.ESSceneObject.getSceneObjById(s))==null?void 0:a.parentID)??s}),t.editingEvent.emit(r)})),n})),this.ad(e.disposableOnUeEvent("cameraChanged",()=>{t.cameraChanged.emit()}))}}class Cr extends o.Destroyable{constructor(t,e,i){super();{const r=()=>{const l=mt(e);e.setGlobalProperty(l)};r();const s=vt(),a=[];s.forEach(l=>{const y=e[l+"Changed"];a.push(y)});const v=this.dv(o.createNextAnimateFrameEvent(...a));this.d(v.don(r))}this.d(e.propChanged.don(r=>{if(r.objId==="")try{Object.keys(r.props).forEach(s=>{const a=r.props[s]===null?void 0:r.props[s];e[s]=a})}catch(s){console.error("ueViewer propChanged:"+s)}}));const n=document.createElement("div");n.style.width="100%",n.style.height="100%",n.style.position="absolute",n.style.overflow="hidden",n.style.top="0",n.style.left="0",n.style.zIndex="0",n.style.backgroundColor="rgba(255,0,0,0)",n.setAttribute("masker","大屏顶层div,用于模拟鼠标事件和控制UE鼠标事件是否生效"),t.appendChild(n),this.d(()=>{n&&t&&t.removeChild(n)});{const r=(l,y)=>{globalThis.ue.esinput.setinterceptevent(y),l.preventDefault()},s=l=>{r(l,!1)},a=l=>{r(l,!0)},v=l=>{r(l,!1)};n.addEventListener("mouseenter",s),n.addEventListener("mouseleave",a),n.addEventListener("mousemove",v),this.d(()=>{n.removeEventListener("mouseenter",s),n.removeEventListener("mouseleave",a),n.removeEventListener("mousemove",v)})}e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,n)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,(r=>{if((e.statusUpdateInterval??.5)===0)return;const a=new o.Destroyable;return a.d(i.disposableOnUeEvent("statusUpdate",v=>{e.statusUpdateEvent.emit(v)})),a}))),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("propChanged",a=>{e.propChanged.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("objectEvent",a=>{e.objectEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.readyEventListeningChanged,()=>{if(!(e.readyEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("readyEvent",a=>{var v;e.actived&&((v=o.ESSceneObject.getSceneObjById(a.id))==null||v.readyEvent.emit(e))})),s})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("widgetEvent",a=>{e.widgetEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("speechRecognition",a=>{e.speechRecognition.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("customMessage",a=>{e.customMessage.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("editingEvent",a=>{a.objectIDs=a.objectIDs.map(v=>{var l;return((l=o.ESSceneObject.getSceneObjById(v))==null?void 0:l.parentID)??v}),e.editingEvent.emit(a)})),s})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}class Er extends o.Destroyable{constructor(e,i,n){super();g(this,"_reconnectEvent",this.dv(new o.Event));const r=(f,d)=>f.hasOwnProperty(d);let s=0,a;this.d(()=>{a&&clearTimeout(a)});const l=new URLSearchParams(globalThis.location.search).get("eswebview")==="true",y=()=>{if(globalThis.ue.esinput){n.setStatus("Creating"),console.log("存在(window.ue && window.ue.es && window.ue.esinput 需要适配新版ESWebView 鼠标穿透), 开始创建UeFalseCloudViewer..."),n.setStatusLog("开始创建本地视口...");const f=this.dv(new yr(e,n));this.d(()=>n.viewer=void 0),n.viewer=f,n.setStatus("Created"),n.setStatusLog("本地视口创建成功!"),this.dv(new Cr(e,n,f))}else n.setStatus("Error"),n.setStatusLog("请升级 ESWebView !"),this.d(()=>n.viewer=void 0),n.viewer=void 0};if(globalThis.ue&&globalThis.ue.es)y();else if(l){const f=setInterval(()=>{globalThis.ue&&globalThis.ue.es&&(clearInterval(f),y())},200)}else if(r(i.options,"ws")||r(i.options,"uri")&&r(i.options,"app")){n.setStatus("Creating"),n.setStatusLog("开始创建云渲染视口...");let f;this.d(()=>{n.setStatus("Raw"),n.setStatusLog(""),e&&f&&e.removeChild(f)&&(f=void 0)});const d=this.dv(o.createProcessingFromAsyncFunc(async u=>{n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,f&&e.removeChild(f)&&(f=void 0),f=document.createElement("div"),f.setAttribute("earthsdk3-ue","earthsdk3-ue-videoContainer"),f.style.cssText="position:relative; height: 100%;width:100%;",e.appendChild(f);let h,w,m,C;if(r(i.options,"ws")){const{ws:I,esmsg:B,uselnternalSignallingServer:M,silentTime:Hi}=i.options;h=I,w=B,m=M??!1,C=Hi??0}if(r(i.options,"uri")&&r(i.options,"app")){const{offsetWidth:I,offsetHeight:B}=f;let{uri:M,app:Hi,token:Yn,silentTime:Ir}=i.options;M.endsWith("/")||(M+="/");const Tr=Yn?`?essstoken=${Yn}`:"",Vn=`/${Hi}/${I??1920}/${B??1080}`+Tr;console.log(`请求信令服务器: ${M}instance${Vn}`);const Rr=await u.promise(fetch(`${M}instance${Vn}`,{method:"GET"})),O=await u.promise(Rr.json());if(O&&O.status!=="ok"){n.setStatus("Error"),n.setStatusLog(`信令服务器请求失败 ${O.status}`),this._reconnectEvent.emit(void 0);return}else{console.log(`信令服务器请求成功! ${JSON.stringify(O,void 0," ")}`);const{server:Dr,esmsg:Lr,instanceId:Pr,useInternalSignallingServer:Br}=O;if(!Pr){n.setStatus("Error"),n.setStatusLog("检查信令服务器版本,返回数据错误! "),console.log("信令服务器返回数据错误!不包含instanceId!请升级到 ESSS V3.0+ 版本!"),this._reconnectEvent.emit(void 0);return}h=Dr,w=Lr,m=Br??!1,C=Ir??0,n.esssResponse=O}}console.log(`静默 ${C}s...`),await u.promise(o.sleep((C??0)*1e3)),console.log(`静默 ${C}s...done!`);const S=this.dv(m?new ur(f,h,w,n):new rr(f,h,w,n));this.d(()=>n.viewer=void 0),this.d(S.errorEvent.don(I=>{const B=`[${I}]:像素流连接错误!`;n.setStatus("Error"),n.setStatusLog(B),this._reconnectEvent.emit(S)})),await u.promise(new Promise(I=>this.d(S.readyEvent.donce(I)))),n.setStatus("Created"),n.setStatusLog("云渲染视口创建成功!"),s=0,a&&clearTimeout(a),a=void 0;const{offsetWidth:E,offsetHeight:R}=f;S.resize(E,R),n.viewer=S,this.d(()=>n.viewer=void 0),this.dv(new mr(n,S))}));d.start(),this.d(this._reconnectEvent.don(u=>{a===void 0&&(u&&!u.isDestroyed()&&u.destroy(),n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,n.autoReconnect&&(n.setStatus("Reconnecting"),n.setStatusLog("正在尝试重新连接..."),s=s+5e3>3e4?3e4:s+5e3,console.warn(`间隔:${s/1e3}s,正在尝试重新连接...`),a=globalThis.setTimeout(()=>{d.restart()},s)))})),this.d(d.errorEvent.don(u=>{n.setStatus("Error"),n.setStatusLog("云渲染视口创建失败!"),console.warn("云渲染视口创建失败!",u),this._reconnectEvent.emit(void 0)}))}else if(r(i.options,"project")){const f=i,d=f.options.project,u=f.options.baseUrl;n.setStatus("Creating"),n.setStatusLog("下载编译中...");const h=this.dv(new fr(e,d,u,n));n.viewer=h,this.d(()=>n.viewer=void 0)}else n.setStatus("Error"),n.setStatusLog("视口创建失败!"),console.warn("视口创建失败: 参数错误!")}}const x=class x extends o.ESViewer{constructor(e){super(e);g(this,"_viewer",this.dv(o.react(void 0)));g(this,"_esssResponse");g(this,"_speechRecognition",this.dv(new o.Event));g(this,"_propChanged",this.dv(new o.Event));g(this,"_objectEvent",this.dv(new o.Event));g(this,"_widgetEvent",this.dv(new o.Event));g(this,"_customMessage",this.dv(new o.Event));g(this,"_statusUpdateEvent",this.dv(new o.Event));g(this,"_statusUpdateEventdon",(()=>{this.d(this.statusUpdateEvent.don(e=>{this._statusInfo.fps=e.FPS??0,this._statusInfo.length=e.length??0,this._statusInfo.position=e.position??[0,0,0],this._statusInfo.rotation=e.rotation??[0,0,0]}))})());if(e.type!=="ESUeViewer")throw new Error("option.type must be ESUeViewer");const i=e;this.d(this._viewer.changed.don(()=>{this.viewerChanged.emit(this.viewer)})),this.dv(new o.ObjResettingWithEvent(this.subContainerChanged,()=>{if(this.setStatus("Raw"),this.setStatusLog(""),!!this.subContainer)return new Er(this.subContainer,i,this)}))}get defaultProps(){return x.createDefaultProps()}set viewer(e){this._viewer.value=e}get viewer(){return this._viewer.value}get esssResponse(){return this._esssResponse}set esssResponse(e){this._esssResponse=e}get speechRecognition(){return this._speechRecognition}get propChanged(){return this._propChanged}get objectEvent(){return this._objectEvent}get widgetEvent(){return this._widgetEvent}get customMessage(){return this._customMessage}get statusUpdateEvent(){return this._statusUpdateEvent}async uePositionToLonLatAlt(e){if(!this.viewer){console.warn("UEPositionToLonLatAlt: viewer is undefined");return}return await hn(this.viewer,e)}async changeNavigationMode(e){if(!this.viewer){console.warn("ChangeNavigationMode: viewer is undefined");return}const i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async resetWithCurrentCamera(e){if(!this.viewer){console.warn("resetWithCurrentCamera: viewer is undefined");return}return await Et(this.viewer,e)}async getAllSocketNamesByActorTag(e){if(!this.viewer){console.warn("GetAllSocketNamesByActorTag: viewer is undefined");return}return await vn(this.viewer,e)}async getBoundSphere(e){if(!this.viewer){console.warn("getBoundSphere: viewer is undefined");return}return await pn(this.viewer,e)}async getBoundSphereWithChildren(e){if(!this.viewer){console.warn("getBoundSphereWithChildren: viewer is undefined");return}return await fn(this.viewer,e)}async getStrokeMaterialParamInfo(e){if(!this.viewer){console.warn("GetStrokeMaterialParamInfo: viewer is undefined");return}return await wn(this.viewer,e)}async getFillMaterialParamInfo(e){if(!this.viewer){console.warn("getFillMaterialParamInfo: viewer is undefined");return}return await yn(this.viewer,e)}async getGlobalProperty(e){if(!this.viewer){console.warn("getGlobalProperty: viewer is undefined");return}return await mn(this.viewer,e)}async getObjectByInfo(e){if(!this.viewer){console.warn("GetObjectByInfo: viewer is undefined");return}return await Cn(this.viewer,e)}async defaultCameraFlyIn(e=1){if(!this.viewer){console.warn("DefaultCameraFlyIn: viewer is undefined");return}return await Ki(this.viewer,e)}async startVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await Xi(this.viewer)}async stopVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await qi(this.viewer)}async mountPakFiles(e){if(!this.viewer){console.warn("mountPakFiles:viewer is undefined");return}return await Zi(this.viewer,e)}async generateMemReport(){if(!this.viewer){console.warn("generateMemReport:viewer is undefined");return}return await Qi(this.viewer)}async quit(){if(!this.viewer){console.warn("Quit: viewer is undefined");return}return await rn(this.viewer)}async bindActorByTag(e,i){if(!this.viewer){console.warn("BindActorByTag: viewer is undefined");return}return await En(this.viewer,e,i)}async restoreOriginalScene(){if(!this.viewer){console.warn("RestoreOriginalScene: viewer is undefined");return}return await Sn(this.viewer)}async unBindActorByID(e){if(!this.viewer){console.warn("UnBindActorByID: viewer is undefined");return}return await Fn(this.viewer,e)}async unBindActorByTag(e){if(!this.viewer){console.warn("UnBindActorByTag: viewer is undefined");return}return await In(this.viewer,e)}async createActorByClass(e,i){if(!this.viewer){console.warn("CreateActorByClass: viewer is undefined");return}return await Tn(this.viewer,e,i)}async bind3DTilesetByTag(e,i){if(!this.viewer){console.warn("Bind3DTilesetByTag: viewer is undefined");return}return await Rn(this.viewer,e,i)}async unBind3DTilesetByTag(e){if(!this.viewer){console.warn("UnBind3DTilesetByTag: viewer is undefined");return}return await Dn(this.viewer,e)}async unBind3DTilesetById(e){if(!this.viewer){console.warn("UnBind3DTilesetById: viewer is undefined");return}return await Ln(this.viewer,e)}async bindImageryByTag(e,i,n){if(!this.viewer){console.warn("BindImageryByTag: viewer is undefined");return}return await Pn(this.viewer,e,i,n)}async unBindImageryByTag(e,i){if(!this.viewer){console.warn("UnBindImageryByTag: viewer is undefined");return}return await Bn(this.viewer,e,i)}async unBindImageryById(e){if(!this.viewer){console.warn("UnBindImageryById: viewer is undefined");return}return await Un(this.viewer,e)}async getIdByComponentNameAndHitItem(e,i,n){if(!this.viewer){console.warn("GetIdByComponentNameAndHitItem: viewer is undefined");return}return await An(this.viewer,e,i,n)}async getCameraRelativeHeight(e="ECC_Visibility"){if(!this.viewer){console.warn("GetCameraRelativeHeight: viewer is undefined");return}return await bn(this.viewer,e)}async saveStringToFile(e,i,n){if(!this.viewer){console.warn("SaveStringToFile: viewer is undefined");return}return await Mn(this.viewer,e,i,n)}async highlightActorByTag(e,i=!0){if(!this.viewer){console.warn("HighlightActorByTag: viewer is undefined");return}return await Wn(this.viewer,e,i)}async sendCustomMessage(e){if(!this.viewer){console.warn("SendCustomMessage: viewer is undefined");return}return await $n(this.viewer,e)}async getStatus(){if(!this.viewer){console.warn("GetStatus:viewer is undefined");return}return await xn(this.viewer)}async getTilesetMaterialIDList(){if(!this.viewer){console.warn("GetTilesetMaterialIDList:viewer is undefined");return}return await Hn(this.viewer)}async pick(e,i,n){if(!this.viewer)return;let r=e;if(e&&globalThis.ue&&this.container){const[s,a]=e,{x:v,y:l}=this.container.getBoundingClientRect();r=[v+s,l+a]}return await on(this.viewer,r,i,n)}async pickPosition(e){if(!this.viewer)return;let i=e;if(e&&globalThis.ue&&this.container){const[n,r]=e,{x:s,y:a}=this.container.getBoundingClientRect();i=[s+n,a+r]}return await sn(this.viewer,i)}async quickPickPosition(e){return await this.pickPosition(e)}async getTerrainHeight(e){return await this.getHeightByLonLat(e[0],e[1])??void 0}async flyIn(e,i=[0,0,0],n=1,r="default"){if(!this.viewer)return;const s=await j(this.viewer,void 0,e,i,n,r);if(s)return s.endType===0&&console.warn(`flyTo:flyTo is end! endType:${s.endType}`),s.endType===1&&console.warn(`flyTo:飞行中断! endType:${s.endType}`),s}async flyTo(e,i,n="default"){if(!this.viewer)return;const r=await X(this.viewer,void 0,void 0,e,i,n);if(r)return r.endType===0&&console.warn(`flyTo:flyTo is end! endType:${r.endType}`),r.endType===1&&console.warn(`flyTo:飞行中断! endType:${r.endType}`),r}flyToBoundingSphere(e,i,n=1){const r=[[e[0],e[1],0],[e[0],e[3],0],[e[2],e[3],0],[e[2],e[1],0]],s=o.getGeoBoundingSphereFromPositions(r);if(!s)return;const{center:a,radius:v}=s,l={distance:i??v,heading:0,pitch:-90,flyDuration:n,hDelta:0,pDelta:0};this.flyTo(l,a)}getCurrentCameraInfo(){const{position:e,rotation:i}=this._statusInfo;return{position:e,rotation:i}}transformFlyParam(e,i){}getLengthInPixel(){return this._statusInfo.length}async changeToWalk(e,i=4.2,n=1.6){if(!this.viewer)return;const r={mode:"Walk",position:e,jumpZVelocity:i,eyeHeight:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToMap(){if(!this.viewer)return;const e={mode:"Map"},i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async changeToRotateGlobe(e=38,i=1e7,n=60){if(!this.viewer)return;const r={mode:"RotateGlobe",latitude:e,height:i,cycleTime:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToLine(e,i=10,n=10,r=!0,s=10,a="auto"){if(!this.viewer)return;const v={mode:"Line",geoLineStringId:e,speed:i,heightOffset:n,loop:r,turnRateDPS:s,lineMode:a},l=await A(this.viewer,v);return l&&!l.error&&(this._navigationMode.value=v.mode),l}async changeToUserDefined(e){if(!this.viewer)return;const i={mode:"UserDefined",userDefinedPawn:e},n=await A(this.viewer,i);return n&&!n.error&&(this._navigationMode.value=i.mode),n}async changeToRotatePoint(e,i=5e4,n=60,r=0,s=-30){if(!this.viewer)return;const a={mode:"RotatePoint",position:e,distance:i,orbitPeriod:n,heading:r,pitch:s},v=await A(this.viewer,a);return v&&!v.error&&(this._navigationMode.value=a.mode),v}async changeToFollow(e,i=0,n=0,r=-30,s=!0){if(!this.viewer)return;const a={mode:"Follow",objectId:e,distance:i,heading:n,pitch:r,relativeRotation:s},v=await A(this.viewer,a);return v&&!v.error&&(this._navigationMode.value=a.mode),v}getFPS(){return this._statusInfo.fps}async getVersion(){const e=globalThis.g_XE3CopyRights??{};if(!this.viewer)return e;const i=await gn(this.viewer);return e.esforue=i,e}async getHeightByLonLat(e,i,n="ECC_Visibility"){if(!this.viewer)return null;const r=await an(this.viewer,e,i,n);return r&&r.height!==void 0?r.height:null}async getHeightsByLonLats(e,i="ECC_Visibility"){return this.viewer?await ln(this.viewer,e,i):void 0}async capture(e=64,i=64){return this.viewer?await dn(this.viewer,e,i):void 0}async partialCapture(e,i=[64,64]){if(!this.viewer){console.warn("partialCapture:viewer is undefined");return}return await cn(this.viewer,e,i)}async lonLatAltToScreenPosition(e){if(!this.viewer)return;const i=await un(this.viewer,e);return i&&[i.X,i.Y]}async setGlobalProperty(e){if(this.viewer)return await nn(this.viewer,e)}async startEditing(e,i,n){n=Object.assign({useKeyToSwitch:!0,callSource:"outer"},n);const r=e.components.main??e;if(!r||!this.viewer||i==null)return;const s=Array.isArray(i)?[...i]:[i];return r.editingID=`${n.callSource}_${o.createGuid()}`,await _n(this.viewer,r.id,r.editingID,s,n.useKeyToSwitch)}async stopEditing(){if(this.viewer)return await Nn(this.viewer)}async moveObjects(e){if(!this.viewer)return;const i=[],n=o.createGuid();for(let r=0;r<e.length;r++){const s=e[r],a=s.components.main??s;a.editingID=n,a&&i.push(a.id)}if(i.length!==0)return await zn(this.viewer,i,n)}};g(x,"type",x.register("ESUeViewer",x)),g(x,"defaults",{...On});let b=x;(c=>{c.createDefaultProps=()=>({...o.ESViewer.createDefaultProps(),...Gi(),resolutionScale:1,autoReconnect:!1,propChangedListening:void 0,objectEventListening:void 0,readyEventListening:void 0,widgetEventListening:void 0,speechRecognitionListening:void 0,customMessageListening:void 0})})(b||(b={})),o.extendClassProps(b.prototype,b.createDefaultProps);class $ extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=this.ad(o.react(!1));t.components.main||this.d(this.createdEvent.don(()=>{const r=this.constructor.propValFuncs,s=t.defaultProps,a=Object.keys(s).filter(u=>r[u]!==null);a.push(...this.constructor.forceUeUpdateProps);const v=t.constructor.defaults,l={val:{}},y=[];for(let u of a){const h=u+"Changed",w=t[h];y.push(w);const m=r[u];if(m===null)throw console.error("vf === null error"),new Error("vf === null error");const C=()=>{const S=t[u]??v[u]??t.constructor[`default${u.charAt(0).toUpperCase()+u.slice(1)}`];let E=m?m(S,this,e,t):S;if(E===void 0){console.warn(`UE自动更新的属性,不应该为undefined! 属性名:${u} 对象名:${t.name} 对象id: ${t.id}`);return}l.val[u]=E};C(),this.d(w.don(C))}const f=async()=>{await i.callUeFunc({f:"update",p:{id:t.id,...l.val}}),l.val={}},d=this.dv(o.createNextAnimateFrameEvent(...y));this.d(d.don(f)),this.d(n.changed.don(f)),this.d(t.flushEvent.don(()=>d.flush()))})),t.components.main||(this.d(()=>{n.value&&Ct(i,t.id)}),i.callUeFunc({f:"create",p:{...t.json,type:t.typeName,id:t.id}}).then(()=>{n.value=!0}).catch(r=>console.error(r)))}}g($,"propValFuncs",{ref:null,devTags:null,extras:null,execOnceFuncStr:null,updateFuncStr:null,toDestroyFuncStr:null}),g($,"forceUeUpdateProps",[]);class T extends ${constructor(t,e){super(t,e);const i=e.viewer;i&&(this.d(t.flyToEvent.don(n=>{X(i,t.id,n)})),this.d(t.flyInEvent.don(n=>{var r,s;j(i,t.id,(r=t.flyInParam)==null?void 0:r.position,(s=t.flyInParam)==null?void 0:s.rotation,n??1)})),this.d(t.calcFlyToParamEvent.don(()=>{W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(()=>{const n=e.getCurrentCameraInfo();if(!n)return;const{position:r,rotation:s}=n;t.flyInParam={position:r,rotation:s,flyDuration:1}})),this.d(e.propChanged.don(n=>{n.objId===t.id&&Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];t[r]=s})})))}}class F extends T{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,position:t.position,rotation:t.rotation}})},r=this.dv(o.createNextAnimateFrameEvent(t.positionChanged,t.rotationChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)})),this.d(t.smoothMoveEvent.don((v,l)=>{ne(i,t.id,v,l)})),this.d(t.smoothMoveWithRotationEvent.don((v,l,y)=>{ee(i,t.id,v,l,y)})),this.d(t.smoothMoveOnGroundEvent.don((v,l,y,f)=>{te(i,t.id,v,l,f,y)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((v,l,y,f,d)=>{ie(i,t.id,v,l,y,f,d)})),this.d(t.smoothMoveKeepPitchEvent.don(async(v,l)=>{const y=await i.callUeFunc({f:"SmoothMoveKeepPitch",p:{id:t.id,Destination:v,Time:l}});y.error&&console.error("SmoothMoveKeepPitch:",y.error)})),this.d(t.automaticLandingEvent.don(v=>{const l=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(y=>{y!==null&&(t.position=[...l,y],t.collision=v)})}));const s=async(v,l,y,f)=>{const{viewer:d}=v;if(!d){console.error("SmoothMoveRelatively: ueViewer.viewer is undefined");return}const u=await d.callUeFunc({f:"SmoothMoveRelatively",p:{id:l,RelativePosition:y,Time:f}});return u.error&&console.error("SmoothMoveRelatively:",u.error),u};this.d(t.smoothMoveRelativelyEvent.don((v,l)=>{s(e,t.id,v,l)}));const a=async(v,l,y,f,d)=>{const{viewer:u}=v;if(!u){console.error("SmoothMoveRelativelyWithRotation: ueViewer.viewer is undefined");return}const h=await u.callUeFunc({f:"SmoothMoveRelativelyWithRotation",p:{id:l,RelativePosition:y,NewRotation:f,Time:d}});return h.error&&console.error("SmoothMoveRelativelyWithRotation:",h.error),h};this.d(t.smoothMoveRelativelyWithRotationEvent.don((v,l,y)=>{a(e,t.id,v,l,y)}))}}class D extends T{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,points:t.points}})},r=this.dv(o.createNextAnimateFrameEvent(t.pointsChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)}))}}g(D,"propValFuncs",{...T.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class U extends F{constructor(t,e){super(t,e),e.viewer&&this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,add:s}=n;t.widgetEvent.emit({type:r,add:s})}))}}class Ft extends F{constructor(t,e){super(t,e),e.viewer}}g(Ft,"propValFuncs",{...F.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class pt extends Ft{constructor(t,e){super(t,e),e.viewer}}const Jn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是3dTileset,无法绑定";default:return"未知错误"}},oe=class oe extends o.EngineObject{constructor(e,i){super(e,i);g(this,"styleColorName");g(this,"_styleColor",this.dv(o.react([])));g(this,"styleVisableName");g(this,"_styleVisable",this.dv(o.react([])));g(this,"style",[]);const n=i.viewer;if(!n){console.warn("UeES3DTileset: viewer is undefined!");return}let r,s;const a=async()=>{!r&&!s||await n.callUeFunc({f:"update",p:{id:e.id,url:e.url,show:e.show,collision:e.collision,allowPicking:e.allowPicking,flyToParam:e.flyToParam??o.ES3DTileset.defaultFlyToParam,flyInParam:e.flyInParam??o.ES3DTileset.defaultFlyInParam,highlightID:e.highlightID,highlightColor:e.highlightColor,highlight:e.highlight,materialMode:e.materialMode,maximumScreenSpaceError:e.maximumScreenSpaceError,colorMode:Reflect.has(e,"colorMode")?e.colorMode:void 0,offset:e.offset,rotation:e.rotation,cacheBytes:e.cacheBytes,colorBlendMode:e.colorBlendMode,materialOverrideMap:e.materialOverrideMap}})},v=this.dv(o.createNextAnimateFrameEvent(e.urlChanged,e.showChanged,e.flyToParamChanged,e.flyInParamChanged,e.collisionChanged,e.allowPickingChanged,e.highlightIDChanged,e.highlightColorChanged,e.highlightChanged,e.materialModeChanged,e.maximumScreenSpaceErrorChanged,e.offsetChanged,e.rotationChanged,e.cacheBytesChanged,e.colorBlendModeChanged,e.materialOverrideMapChanged));a(),this.d(v.don(a)),Reflect.has(e,"colorMode")&&this.d(e.colorModeChanged.don(()=>a()));const l=this.dv(o.react(void 0));{const f=this.dv(o.createNextAnimateFrameEvent(e.actorTagChanged,e.urlChanged)),d=()=>{e.actorTag?l.value={type:"ActorTag",actorTag:e.actorTag}:e.url?l.value={type:"CreatedUrl",url:e.url}:l.value=void 0,e.editing=!1};d(),this.d(f.don(d))}const y=async()=>{const{id:f}=e;if(r!==void 0){r=void 0;try{const d=await i.unBind3DTilesetById(f);if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d}`);return}}if(s!==void 0){s=void 0;try{const d=await n.callUeFunc({f:"destroy",p:{id:f}});if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset Destroy: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset Destroy: ${d}`);return}}};this.d(()=>{y()});{const f=this.dv(o.createProcessingFromAsyncFunc(async u=>{if(l.value===void 0){await u.promise(y());return}if(l.value.type==="ActorTag"){const{actorTag:h}=l.value;if(r!==h&&await u.promise(y()),r!==void 0||h===void 0)return;try{r=h;const w=await u.promise(i.bind3DTilesetByTag(e.id,h));if(!w)return;if(w.error!==""){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w.error}`);return}if(w.re.type!==0)if(w.re.type===1)console.warn(`UeES3DTileset Bind3DTilesetByTag: ${Jn(w.re.type)}`);else{console.warn(`UeES3DTileset Bind3DTilesetByTag: ${Jn(w.re.type)}`);return}}catch(w){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w}`);return}}else if(l.value.type==="CreatedUrl"){const{url:h}=l.value;if(h!==s&&await y(),s!==void 0||h===void 0)return;try{s=h;const w=await u.promise(n.callUeFunc({f:"create",p:{type:e.typeName,id:e.id}}));if(!w)return;if(w.error!==""){console.warn(`UeES3DTileset create: ${w.error}`);return}}catch(w){console.warn(`UeES3DTileset create: ${w}`);return}}await u.promise(a())})),d=async()=>{f.restart()};d(),this.d(l.changed.don(d))}this.d(e.refreshTilesetEvent.don(()=>{Ji(n,e.id)})),this.d(e.flyToEvent.don(async(f,d)=>{if(!r&&!s)return;const u=await X(n,e.id,f);let h="over";u===void 0?h="error":u.endType===0?h="over":u.endType===1&&(h="cancelled"),e.flyOverEvent.emit(d,h,i)})),this.d(e.calcFlyToParamEvent.don(()=>{!r&&!s||W(n,e.id)})),this.d(e.calcFlyInParamEvent.don(async()=>{if(!r&&!s||!i.actived)return;const f=await i.getCurrentCameraInfo();if(!f)return;const{position:d,rotation:u}=f;e.flyInParam={position:d,rotation:u,flyDuration:1}})),this.d(i.propChanged.don(f=>{!r&&!s||f.objId===e.id&&Object.keys(f.props).forEach(d=>{const u=f.props[d]===null?void 0:f.props[d];e[d]=u})})),this.d(i.objectEvent.don(f=>{!r&&!s||f.id!==e.id||f.type!=="3DTilesetReady"||e.tilesetReady.emit(f.p)}));{const f=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureColor",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureColor: ${C.error}`);return}},d=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureVisable",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureVisable: ${C.error}`);return}},u=async()=>{if(!r&&!s)return;const w=await n.callUeFunc({f:"ResetFeatureStyle",p:{id:e.id}});if(w&&w.error!==""){console.warn(`UeES3DTileset ResetFeatureStyle: ${w.error}`);return}},h=async w=>{if(!r&&!s)return;const m=await n.callUeFunc({f:"SetFeatureStyle",p:{id:e.id,json:w}});if(m&&m.error!==""){console.warn(`UeES3DTileset SetFeatureStyle: ${m.error}`);return}};this.d(e.setFeatureColorEvent.don((w,m,C)=>{this.styleColorName=w;const S=C?[...this.styleColor,...m]:m;this.styleColor=[...S],f(w,S)})),this.d(e.setFeatureVisableEvent.don((w,m,C)=>{this.styleVisableName=w;const S=C?[...this.styleVisable,...m]:m;this.styleVisable=[...S],d(w,S)})),this.d(e.resetFeatureStyleEvent.don(w=>{u(),w?w==="color"?(this.styleColor=[],this.styleVisableName&&d(this.styleVisableName,this.styleVisable)):w==="visable"&&(this.styleVisable=[],this.styleColorName&&f(this.styleColorName,this.styleColor)):(this.styleColor=[],this.styleVisable=[])})),this.d(e.setFeatureStyleEvent.don((w,m)=>{const C=m?[...this.style,...w]:w;this.style=C,h(C)}))}{const f=async()=>{if(!r&&!s){e._featureTableResultEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetFeatureTable",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetFeatureTable: ${d.error}`),e._featureTableResultEvent.emit(d.re.table)}catch(d){console.warn(`UeES3DTileset GetFeatureTable: ${d}`),e._featureTableResultEvent.emit(void 0)}};this.d(e.getFeatureTableEvent.don(()=>{f()}))}{const f=async()=>{if(!r&&!s){e.getMaterialNameListEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetMaterialNameList",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetMaterialNameList: ${d.error}`),e.getMaterialNameListEvent.emit(d.re.materialNameList)}catch(d){console.warn(`UeES3DTileset GetMaterialNameList: ${d}`),e.getMaterialNameListEvent.emit(void 0)}};this.ad(e.getMaterialNameListEvent.don(d=>{d=="start"&&f()}))}}get styleColor(){return this._styleColor.value}set styleColor(e){this._styleColor.value=e}get styleVisable(){return this._styleVisable.value}set styleVisable(e){this._styleVisable.value=e}};g(oe,"type",oe.register("ESUeViewer",o.ES3DTileset.type,oe));let ft=oe;const Kn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag对应的Actor是地形,无法绑定";case 4:return"没搜索到ComponentTag,无法绑定";default:return"未知错误"}},se=class se extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}let n,r;const s=this.dv(o.react(void 0)),a=this.ad(o.reactJson(""));{const f=()=>{if(typeof t.url=="string")a.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const d=t.url;d.url=o.ESSceneObject.context.getStrFromEnv(d.url),a.value=d}};f(),this.ad(t.urlChanged.don(f))}const v=async()=>{if(!n&&!r)return;let f=t.targetID??o.ESImageryLayer.defaults.targetID;if(f&&f!=""){const d=o.ESSceneObject.getSceneObject(f);f=d?(d.components.main??d).id:f}await i.callUeFunc({f:"update",p:{id:t.id,show:t.show??!0,rectangle:t.rectangle??[-180,-90,180,90],collision:t.collision??!0,allowPicking:t.allowPicking??!1,flyToParam:t.flyToParam??o.ESImageryLayer.defaultFlyToParam,flyInParam:t.flyInParam??o.ESImageryLayer.defaultFlyInParam,url:a.value??"",zIndex:t.zIndex??0,maximumLevel:t.maximumLevel??o.ESImageryLayer.defaults.maximumLevel,minimumLevel:t.minimumLevel??o.ESImageryLayer.defaults.minimumLevel,options:t.options??o.ESImageryLayer.defaults.options,targetID:f,opacity:t.opacity??o.ESImageryLayer.defaults.opacity,splitDirection:t.splitDirection??o.ESImageryLayer.defaults.splitDirection}})},l=this.dv(o.createNextAnimateFrameEvent(t.showChanged,a.changed,t.flyToParamChanged,t.flyInParamChanged,t.zIndexChanged,t.collisionChanged,t.allowPickingChanged,t.maximumLevelChanged,t.minimumLevelChanged,t.rectangleChanged,t.optionsChanged,t.targetIDChanged,t.opacityChanged,t.splitDirectionChanged));this.d(l.don(v));const y=async()=>{const{id:f}=t;if(n!==void 0){n=void 0;try{const d=await e.unBindImageryById(f);if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer UnImageryByID: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer UnImageryByID promise: ${d}`);return}}if(r!==void 0){r=void 0;try{const d=await i.callUeFunc({f:"destroy",p:{id:f,test:"UeESImageryLayer"}});if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer Destroy: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer Destroy promise: ${d}`);return}}};this.d(()=>{y()});{const f=this.dv(o.createProcessingFromAsyncFunc(async u=>{if(s.value===void 0){await u.promise(y());return}if(s.value.type==="ActorTag"){const{actorTag:h,componentTag:w}=s.value;if(n!==h&&await u.promise(y()),n!==void 0||h===void 0)return;try{n=h;const m=await u.promise(e.bindImageryByTag(t.id,h,w));if(!m)return;if(m.error!==""){console.warn(`ESImageryLayer BindImageryByTag: ${m.error}`);return}if(m.re.type!==0)if(m.re.type===1)console.warn(`ESImageryLayer BindImageryByTag: ${Kn(m.re.type)}`);else{console.warn(`ESImageryLayer BindImageryByTag: ${Kn(m.re.type)}`);return}}catch(m){console.warn(`ESImageryLayer BindImageryByTag promise: ${m}`);return}}else if(s.value.type==="CreatedUrl"){const{url:h}=s.value;if(h!==r&&await u.promise(y()),r!==void 0||h===void 0)return;try{r=h;const w=await u.promise(i.callUeFunc({f:"create",p:{type:"ESImageryLayer",id:t.id}}));if(!w)return;if(w.error!==""){console.warn(`ESImageryLayer create: ${w.error}`);return}}catch{console.warn("ESImageryLayer create: create promise error");return}}await u.promise(v())})),d=async()=>{f.restart()};d(),this.d(s.changed.don(d))}{const f=this.dv(o.createNextAnimateFrameEvent(t.actorTagChanged,a.changed,t.componentTagChanged)),d=()=>{t.actorTag&&t.componentTag?s.value={type:"ActorTag",actorTag:t.actorTag,componentTag:t.componentTag}:a.value?s.value={type:"CreatedUrl",url:a.value}:s.value=void 0};d(),this.d(f.don(d))}this.d(t.flyToEvent.don(async(f,d)=>{if(!n&&!r)return;const u=await X(i,t.id,f);let h="over";u===void 0?h="error":u.endType===0?h="over":u.endType===1&&(h="cancelled"),t.flyOverEvent.emit(d,h,e)})),this.d(t.flyInEvent.don(async(f,d)=>{var w,m;if(!n&&!r)return;const u=await j(i,t.id,(w=t.flyInParam)==null?void 0:w.position,(m=t.flyInParam)==null?void 0:m.rotation,f??1);let h="over";u===void 0?h="error":u.endType===0?h="over":u.endType===1&&(h="cancelled"),t.flyOverEvent.emit(d,h,e)})),this.d(t.calcFlyToParamEvent.don(()=>{!n&&!r||W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const f=await e.getCurrentCameraInfo();if(!f)return;const{position:d,rotation:u}=f;t.flyInParam={position:d,rotation:u,flyDuration:1}})),this.d(e.propChanged.don(f=>{!n&&!r||f.objId===t.id&&Object.keys(f.props).forEach(d=>{const u=f.props[d]===null?void 0:f.props[d];t[d]=u})}))}};g(se,"type",se.register("ESUeViewer",o.ESImageryLayer.type,se));let It=se;const _=class _ extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(_,"type",_.register("ESUeViewer",o.ESTerrainLayer.type,_)),g(_,"forceUeUpdateProps",[...T.forceUeUpdateProps,"url"]),g(_,"propValFuncs",{...T.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t),czmMaxzoom:null,czmMinzoom:null});let Tt=_;const ae=class ae extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ae,"type",ae.register("ESUeViewer",o.ESAlarm.type,ae));let Rt=ae;const le=class le extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(le,"type",le.register("ESUeViewer",o.ESApertureEffect.type,le));let Dt=le;const de=class de extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(de,"type",de.register("ESUeViewer",o.ESGeoPolygon.type,de));let L=de;const ce=class ce extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESAreaMeasurement.defaults.fillStyle;try{s={...t.fillStyle??o.ESAreaMeasurement.defaults.fillStyle}}catch(a){console.error("ESAreaMeasurement fillStyle 属性类型错误!",a),s={...o.ESAreaMeasurement.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,stroked:t.stroked??o.ESAreaMeasurement.defaults.stroked,fillStyle:s,filled:t.filled??o.ESAreaMeasurement.defaults.filled}}),console.log(s)},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.strokedChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};g(ce,"type",ce.register("ESUeViewer",o.ESAreaMeasurement.type,ce));let Lt=ce;const ue=class ue extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ue,"type",ue.register("ESUeViewer",o.ESBlastParticleSystem.type,ue));let Pt=ue;const q=class q extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};g(q,"type",q.register("ESUeViewer",o.ESBoxClipping.type,q)),g(q,"propValFuncs",{...F.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Bt=q;const he=class he extends F{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.dispose(t.flyInEvent.don((n,r,s="default")=>{const{id:a,duration:v,position:l,rotation:y}=t;j(i,a,l,y,v??n,s)})),this.dispose(t.resetWithCurrentCameraEvent.don(()=>{Et(i,t.id)})),this.dispose(t.captureEvent.don((n,r)=>{e.capture(n,r).then(a=>{a&&(t.thumbnail=a)})}))}};g(he,"type",he.register("ESUeViewer",o.ESCameraView.type,he));let Ut=he;const ve=class ve extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ve,"type",ve.register("ESUeViewer",o.ESCameraVisibleRange.type,ve));let At=ve;const ge=class ge extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ge,"type",ge.register("ESUeViewer",o.ESCar.type,ge));let bt=ge;const pe=class pe extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESClassification.defaults.fillStyle;try{s={...t.fillStyle??o.ESClassification.defaults.fillStyle}}catch(a){console.error("ESClassification fillStyle 属性类型错误!",a),s={...o.ESClassification.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,filled:t.filled??o.ESClassification.defaults.filled,fillStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};g(pe,"type",pe.register("ESUeViewer",o.ESClassification.type,pe));let Mt=pe;const Z=class Z extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};g(Z,"type",Z.register("ESUeViewer",o.ESClippingPlane.type,Z)),g(Z,"propValFuncs",{...F.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Wt=Z;const fe=class fe extends F{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url??o.ESDataMesh.defaults.url);else{const v=t.url;v.url=o.ESSceneObject.context.getStrFromEnv(v.url??o.ESDataMesh.defaults.url),n.value=v}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{const a=t.colorStops??o.ESDataMesh.defaults.colorStops;i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESDataMesh.defaults.url,currentTime:t.currentTime??o.ESDataMesh.defaults.currentTime,minPropValue:t.minPropValue??o.ESDataMesh.defaults.minPropValue,maxPropValue:t.maxPropValue??o.ESDataMesh.defaults.maxPropValue,colorStops:JSON.stringify(a)}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.currentTimeChanged,t.minPropValueChanged,t.maxPropValueChanged,t.colorStopsChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};g(fe,"type",fe.register("ESUeViewer",o.ESDataMesh.type,fe));let $t=fe;const we=class we extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(we,"type",we.register("ESUeViewer",o.ESDatasmithRuntimeModel.type,we));let xt=we;const ye=class ye extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ye,"type",ye.register("ESUeViewer",o.ESDirectionMeasurement.type,ye));let _t=ye;const me=class me extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s;try{s={...t.strokeStyle??o.ESDistanceMeasurement.defaults.strokeStyle}}catch(a){console.error("ESDistanceMeasurement strokeStyle 属性类型错误!",a),s={...o.ESDistanceMeasurement.defaults.strokeStyle}}i.callUeFunc({f:"update",p:{id:t.id,strokeStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.strokeStyleChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};g(me,"type",me.register("ESUeViewer",o.ESDistanceMeasurement.type,me));let Nt=me;const Ce=class Ce extends pt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Ce,"type",Ce.register("ESUeViewer",o.ESLocalPolygon.type,Ce));let wt=Ce;const Ee=class Ee extends wt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Ee,"type",Ee.register("ESUeViewer",o.ESDynamicWater.type,Ee));let zt=Ee;const Se=class Se extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,properties:s}=n;t.widgetEvent.emit({type:r,properties:s})}))}};g(Se,"type",Se.register("ESUeViewer",o.ESEntityCluster.type,Se));let Ht=Se;const Q=class Q extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Q,"type",Q.register("ESUeViewer",o.ESExcavate.type,Q)),g(Q,"propValFuncs",{...L.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Gt=Q;const Fe=class Fe extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Fe,"type",Fe.register("ESUeViewer",o.ESFireParticleSystem.type,Fe));let Jt=Fe;const Ie=class Ie extends T{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const v=t.url;v.url=o.ESSceneObject.context.getStrFromEnv(v.url),n.value=v}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESForestTileset.defaults.url,treeTypes:t.treeTypes??o.ESForestTileset.defaults.treeTypes,xiaoBanWidget:t.xiaoBanWidget??o.ESForestTileset.defaults.xiaoBanWidget,youShiSZ:t.youShiSZ??o.ESForestTileset.defaults.youShiSZ,diLei:t.diLei??o.ESForestTileset.defaults.diLei,senLinLB:t.senLinLB??o.ESForestTileset.defaults.senLinLB,labelMaterial:t.labelMaterial??o.ESForestTileset.defaults.labelMaterial,heightOffset:t.heightOffset??o.ESForestTileset.defaults.heightOffset}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.treeTypesChanged,t.xiaoBanWidgetChanged,t.youShiSZChanged,t.diLeiChanged,t.senLinLBChanged,t.labelMaterialChanged,t.heightOffsetChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};g(Ie,"type",Ie.register("ESUeViewer",o.ESForestTileset.type,Ie));let Kt=Ie;const Te=class Te extends o.EngineObject{constructor(t,e){super(t,e),this.ad(new o.ObjResettingWithEvent(t.renderInUEChanged,()=>t.renderInUE?new qn(t,e):new Xn(t,e)))}};g(Te,"type",Te.register("ESUeViewer",o.ESGeoDiv.type,Te));let Xt=Te;class Xn extends o.Destroyable{constructor(e,i){super();g(this,"_screenPosition",this.disposeVar(o.reactArrayWithUndefined(void 0)));const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this.disposeVar(new o.ESTextLabel);r.parentID=e.id,this.ad(e.components.disposableAdd(r,!0)),r.show=!1,this.dispose(o.bind([r,"position"],[e,"position"])),this.dispose(o.bind([r,"rotation"],[e,"rotation"])),this.dispose(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.dispose(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.dispose(e.calcFlyToParamEvent.disposableOn(()=>{W(n,r.id)})),this.dispose(e.calcFlyInParamEvent.disposableOn(async()=>{if(!i.actived)return;const v=await i.getCurrentCameraInfo();if(!v)return;const{position:l,rotation:y}=v;e.flyInParam={position:l,rotation:y,flyDuration:1}})),this.dispose(e.smoothMoveEvent.disposableOn((v,l)=>{ne(n,r.id,v,l)})),this.dispose(e.smoothMoveWithRotationEvent.disposableOn((v,l,y)=>{ee(n,r.id,v,l,y)})),this.dispose(e.smoothMoveOnGroundEvent.disposableOn((v,l,y,f)=>{te(n,r.id,v,l,f,y)})),this.dispose(e.smoothMoveWithRotationOnGroundEvent.disposableOn((v,l,y,f,d)=>{ie(n,r.id,v,l,y,f,d)})),this.dispose(e.flyToEvent.disposableOn((v,l)=>{r.flyTo(v)})),this.dispose(e.flyInEvent.don(v=>{r.flyIn(v)}));const s=this._screenPosition,a=this.disposeVar(new o.ESCustomDiv);a.parentID=e.id,i.add(a),this.dispose(()=>i.delete(a)),this.dispose(o.bind([a,"allowPicking"],[e,"allowPicking"]));{const v=this.disposeVar(o.createAnimateFrame()),l=()=>{e.show?v.restart(void 0,async()=>{if(!e.position)return;const y=await i.lonLatAltToScreenPosition(e.position);if(!this.isDestroyed())if(!y)this._screenPosition.value=void 0;else{const[f,d]=y;f===-1&&d===-1?this._screenPosition.value=void 0:this._screenPosition.value=[f,d]}}):v.cancel()};l(),this.dispose(e.showChanged.disposableOn(l))}{const v=()=>class extends o.Destroyable{constructor(d,u,h){if(super(),this._subContainer=d,!h)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const w=new o.PosFloatDiv,m=w.element;this._subContainer.appendChild(m),this.dispose(()=>this._subContainer.removeChild(m)),m.onclick=C=>{(e.allowPicking??!1)&&e.pickedEvent.emit(new o.ESJPickedResult({div:m,pointerEvent:C},e,void 0,void 0,void 0,[C.x,C.y]))};{const C=()=>{e.editing?m.children[0].style.pointerEvents="none":m.children[0].style.pointerEvents="all"};C(),this.d(e.editingChanged.don(C))}{const C=()=>{let E=e.show;if(!E)w.show=E,w.winPos=[0,0];else if(s.value){const R=i.getCurrentCameraInfo(),I=o.getDistancesFromPositions([e.position,R.position],"NONE")[0];e.minVisibleDistance<e.maxVisibleDistance?E=e.minVisibleDistance<I&&I<e.maxVisibleDistance:e.maxVisibleDistance==0&&(E=I>e.minVisibleDistance),w.show=E,w.winPos=[...s.value]}};C();const S=this.disposeVar(o.createNextAnimateFrameEvent(e.showChanged,s.changed,i.cameraChanged,e.maxVisibleDistanceChanged,e.minVisibleDistanceChanged));this.dispose(S.disposableOn(C))}{const C=()=>{const[S,E]=e.anchor??o.ESGeoDiv.defaults.anchor;w.originRatioX=S,w.originRatioY=E};C(),this.dispose(e.anchorChanged.disposableOn(C))}{const C=()=>{w.opacity=e.opacity??o.ESGeoDiv.defaults.opacity};C(),this.dispose(e.opacityChanged.disposableOn(C))}this.disposeVar(new e.instanceClass(w.contentDiv,e,h))}},l=()=>{try{e.instanceClass?a.instanceClass=v():a.instanceClass=void 0}catch(f){console.error(f)}};l();const y=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged,e.anchorChanged,e.editingChanged,e.showChanged,e.allowPickingChanged));this.d(y.don(l))}}get screenPosition(){return this._screenPosition.value}get screenPositionChanged(){return this._screenPosition.changed}set screenPosition(e){this._screenPosition.value=e}}class qn extends o.Destroyable{constructor(e,i){super();g(this,"_imageLabel");g(this,"_hasClassDivAndPos",{});this._imageLabel=this.dv(new o.ESImageLabel),this._imageLabel.isHoverZoom=!1,this._imageLabel.parentID=e.id;const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this._imageLabel;this.ad(e.components.disposableAdd(r,!0));{const s=()=>{if(!n)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const l=document.createElement("div"),y=this.dv(new e.instanceClass(l,e,i))._container;if(y.style.opacity=e.opacity.toString()??o.ESGeoDiv.defaults.opacity,y.style.position="fixed",y.style.zIndex="-1",y.style.top="0px",!document.body.contains(y)){document.body.appendChild(y);let d=y?y.querySelectorAll("*[class]"):[];for(let u=0;u<d.length;u++){const h=d[u];var f=h.getBoundingClientRect();this._hasClassDivAndPos[h.className]=[h.offsetLeft,h.offsetTop,h.offsetLeft+f.width,h.offsetTop+f.height]}}kn(y,{backgroundColor:null,allowTaint:!0,useCORS:!0,width:y.offsetWidth,height:y.offsetHeight,scale:1}).then(d=>{document.body.contains(y)&&document.body.removeChild(y),r.url=d.toDataURL(),r.show=e.show}).catch(()=>{document.body.contains(y)&&document.body.removeChild(y)})},a=()=>{try{e.instanceClass?s():(r.url="",r.show=!1)}catch(l){console.error(l)}};a();const v=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged));this.d(v.don(a))}{const s=()=>{r.show=e.show};r.show=!1,this.ad(e.showChanged.don(s))}this.d(o.track([r,"anchor"],[e,"anchor"])),this.d(o.bind([r,"position"],[e,"position"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.d(o.bind([r,"allowPicking"],[e,"allowPicking"])),this.d(o.bind([r,"scale"],[e,"scale"])),this.d(o.track([r,"minVisibleDistance"],[e,"minVisibleDistance"])),this.d(o.track([r,"maxVisibleDistance"],[e,"maxVisibleDistance"])),this.ad(e.automaticLandingEvent.don(()=>{r.automaticLanding()})),this.d(i.widgetEvent.don(s=>{if(s.objId!==this._imageLabel.id)return;const{type:a,add:v}=s;if(a==="leftClick"&&v){const l=(v==null?void 0:v.classNames)??[],y=Object.keys(this._hasClassDivAndPos);for(let f=0;f<y.length;f++){const d=y[f];let u=this._hasClassDivAndPos[d];v&&v.mouseRelativePos&&v.mouseRelativePos[0]>=u[0]&&v.mouseRelativePos[0]<=u[2]&&v.mouseRelativePos[1]>=u[1]&&v.mouseRelativePos[1]<=u[3]&&l.push(d)}v.classNames=l}e.widgetEvent.emit({type:a,add:v})})),this.d(e.calcFlyToParamEvent.don(()=>{W(n,r.id)})),this.d(e.calcFlyInParamEvent.don(()=>{const s=i.getCurrentCameraInfo();if(!s)return;const{position:a,rotation:v}=s;e.flyInParam={position:a,rotation:v,flyDuration:1}})),this.d(e.smoothMoveEvent.don((s,a)=>{ne(n,r.id,s,a)})),this.d(e.smoothMoveWithRotationEvent.don((s,a,v)=>{ee(n,r.id,s,a,v)})),this.d(e.smoothMoveOnGroundEvent.don((s,a,v,l)=>{te(n,r.id,s,a,l,v)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((s,a,v,l,y)=>{ie(n,r.id,s,a,v,l,y)})),this.d(e.flyToEvent.don((s,a)=>{r.flyTo(s)})),this.d(e.flyInEvent.don(s=>{r.flyIn(s)}))}}const N=class N extends T{constructor(e,i){super(e,i);g(this,"_featureStyle",this.disposeVar(o.react([])));const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}this.d(e.flyToFeatureIndexEvent.don((r,s)=>{n.callUeFunc({f:"flyToFeatureIndex",p:{id:e.id,index:r,duration:s}})})),this.d(e.flyToFeatureEvent.don((r,s,a)=>{n.callUeFunc({f:"flyToFeature",p:{id:e.id,key:r,value:s,duration:a}})})),this.ad(e.setFeatureStyleEvent.don((r,s)=>{this.featureStyle=s?[...this.featureStyle,...r]:r,n.callUeFunc({f:"setFeatureStyle",p:{id:e.id,json:this.featureStyle}})})),this.ad(e.resetFeatureStyleEvent.don(()=>{n.callUeFunc({f:"resetFeatureStyle",p:{id:e.id}})}))}get featureStyle(){return this._featureStyle.value}set featureStyle(e){this._featureStyle.value=e}get featureStyleChanged(){return this._featureStyle.changed}};g(N,"type",N.register("ESUeViewer",o.ESGeoJson.type,N)),g(N,"forceUeUpdateProps",[...T.forceUeUpdateProps,"url"]),g(N,"propValFuncs",{...T.propValFuncs,url:e=>typeof e=="string"?o.ESSceneObject.context.getStrFromEnv(e):e});let qt=N;const Re=class Re extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Re,"type",Re.register("ESUeViewer",o.ESGeoLineString.type,Re));let yt=Re;const De=class De extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(De,"type",De.register("ESUeViewer",o.ESGeoPolygonWithFire.type,De));let Zt=De;const Le=class Le extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Le,"type",Le.register("ESUeViewer",o.ESGeoRectangle.type,Le));let Qt=Le;const Pe=class Pe extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Pe,"type",Pe.register("ESUeViewer",o.ESGeoWater.type,Pe));let Yt=Pe;const z=class z extends F{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.setNodePositionEvent.don((n,r)=>{ji(i,t.id,n,r)})),this.d(t.setNodeRotationEvent.don((n,r)=>{en(i,t.id,n,r)})),this.d(t.setNodeScaleEvent.don((n,r)=>{tn(i,t.id,n,r)}))}};g(z,"forceUeUpdateProps",[...F.forceUeUpdateProps,"url"]),g(z,"propValFuncs",{...F.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t),czmMaximumScale:null,czmMinimumPixelSize:null,czmNativeScale:null,czmColor:null}),g(z,"type",z.register("ESUeViewer",o.ESGltfModel.type,z));let Vt=z;const Be=class Be extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Be,"type",Be.register("ESUeViewer",o.ESHeightMeasurement.type,Be));let kt=Be;const Ue=class Ue extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=async(s,a,v,l)=>{const{viewer:y}=s;if(!y){console.error("AIMoveTo: ueViewer.viewer is undefined");return}const f=await y.callUeFunc({f:"AIMoveTo",p:{id:a,Destination:v,Time:l}});return f.error&&console.error("AIMoveTo:",f.error),f};this.d(t.aiMoveToEvent.don((s,a)=>{n(e,t.id,s,a)}));const r=async(s,a)=>{const{viewer:v}=s;if(!v){console.error("StopAIMove: ueViewer.viewer is undefined");return}const l=await v.callUeFunc({f:"StopAIMove",p:{id:a}});return l.error&&console.error("StopAIMove:",l.error),l};this.d(t.stopAIMoveEvent.don(()=>{r(e,t.id)}))}};g(Ue,"type",Ue.register("ESUeViewer",o.ESHuman.type,Ue));let Ot=Ue;const H=class H extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.anchor=[.5,1]}};g(H,"type",H.register("ESUeViewer",o.ESImageLabel.type,H)),g(H,"forceUeUpdateProps",[...U.forceUeUpdateProps,"url"]),g(H,"propValFuncs",{...U.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t)});let jt=H;const Ae=class Ae extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Ae,"type",Ae.register("ESUeViewer",o.ESLevelRuntimeModel.type,Ae));let ei=Ae;const be=class be extends pt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(be,"type",be.register("ESUeViewer",o.ESLocalCircle.type,be));let ti=be;const Me=class Me extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Me,"type",Me.register("ESUeViewer",o.ESLocalPolygonZ.type,Me));let ii=Me;const We=class We extends pt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(We,"type",We.register("ESUeViewer",o.ESLocalRectangle.type,We));let ni=We;const $e=class $e extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g($e,"type",$e.register("ESUeViewer",o.ESLocalSkyBox.type,$e));let ri=$e;const xe=class xe extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(xe,"type",xe.register("ESUeViewer",o.ESLocationMeasurement.type,xe));let oi=xe;const _e=class _e extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(_e,"type",_e.register("ESUeViewer",o.ESPipeFence.type,_e));let si=_e;const Ne=class Ne extends yt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Ne,"type",Ne.register("ESUeViewer",o.ESPipeline.type,Ne));let ai=Ne;const ze=class ze extends ft{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.highlightFeatureEvent.don(n=>{const r=typeof n=="number"?n.toString():n;Yi(i,t.id,r)})),this.d(t.highlightFeatureAndFlyToEvent.don((n,r,s,a)=>{const v=typeof n=="number"?n.toString():n;Vi(i,t.id,v,a??1)})),this.d(t.setLayerVisibleEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,ki(i,t.id,s)})),this.d(t.setLayerColorEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,Oi(i,t.id,s)}))}};g(ze,"type",ze.register("ESUeViewer",o.ESPipeserTileset.type,ze));let li=ze;const He=class He extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(He,"type",He.register("ESUeViewer",o.ESPit.type,He));let di=He;const Ge=class Ge extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(t.getInitialStyleEvent.don(async()=>{try{const n=await i.callUeFunc({f:"GetInitialStyle",p:{id:t.id}});n.error!=""&&console.error("getInitialStyleEvent:",n.error),t.initialStyle.value=structuredClone(n.re)}catch(n){console.error("getInitialStyleEvent:",n),t.initialStyle.value=void 0}}))}};g(Ge,"type",Ge.register("ESUeViewer",o.ESPoi2D.type,Ge));let ci=Ge;const Je=class Je extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Je,"type",Je.register("ESUeViewer",o.ESPoi3D.type,Je));let ui=Je;const G=class G extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(G,"type",G.register("ESUeViewer",o.ESPoiTileset.type,G)),g(G,"forceUeUpdateProps",[...T.forceUeUpdateProps,"url"]),g(G,"propValFuncs",{...T.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t)});let hi=G;const Ke=class Ke extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Ke,"type",Ke.register("ESUeViewer",o.ESPolygonFence.type,Ke));let vi=Ke;const Y=class Y extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Y,"type",Y.register("ESUeViewer",o.ESPolygonFlattenedPlane.type,Y)),g(Y,"propValFuncs",{...L.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let gi=Y;const Xe=class Xe extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Xe,"type",Xe.register("ESUeViewer",o.ESPolygonWithHole.type,Xe));let pi=Xe;const qe=class qe extends ${constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(()=>{t.ids=[]}),this.d(t.highlightInner3DtilesetEvent.don(n=>{n.highlight=!0})),this.d(t.removeHighlightInner3DtilesetEvent.don(n=>{n.highlight=!1}));{const n=a=>{a=a.toLocaleLowerCase();let v=[255,255,255,1];if(a.startsWith("#")){if(a.length===4){let l=parseInt(a[1]+a[1],16),y=parseInt(a[2]+a[2],16),f=parseInt(a[3]+a[3],16);v=[l,y,f,1]}else if(a.length===7){let l=parseInt(a.substring(1,3),16),y=parseInt(a.substring(3,5),16),f=parseInt(a.substring(5,7),16);v=[l,y,f,1]}}else if(a.startsWith("rgba")){let l=a.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/);if(l){let y=parseInt(l[1]),f=parseInt(l[2]),d=parseInt(l[3]),u=parseFloat(l[4]);v=[y,f,d,u]}}else if(a.startsWith("rgb")){let l=a.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);if(l){let y=parseInt(l[1]),f=parseInt(l[2]),d=parseInt(l[3]);v=[y,f,d,1]}}else console.error("color类型只能为#rrggbb、#rgb、rgba(r,g,b,a)、rgb(r,g,b)");return[v[0]/255,v[1]/255,v[2]/255,v[3]]},r=()=>{const a=t.layerConfig;if(!a)return;const v=[];a.forEach(l=>{v.push({condition:[{field:"layer",op:"==",value:l.layer}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible})}),t.setFeatureStyle(v)};r();const s=this.dv(o.createNextAnimateFrameEvent(t.layerConfigChanged,t.colorBlendModeChanged));this.d(s.don(()=>{r()}))}}};g(qe,"type",qe.register("ESUeViewer",o.ESRtsTileset.type,qe));let fi=qe;const Ze=class Ze extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(t.addTreesEvent.don(n=>{o.addTreesCallFunc(e,t.id,n)})),this.d(t.removeAllTreesEvent.don(()=>{o.removeAllTreesCallFunc(e,t.id)})),this.d(t.updateTreeParamsEvent.don(n=>{o.updateTreeParamsCallFunc(e,t.id,n)})),this.d(t.cutDownTreesEvent.don((n,r)=>{o.cutDownTreesCallFunc(e,t.id,n,r)})),this.d(t.growthSimulationEvent.don((n,r,s)=>{o.growthSimulationCallFunc(e,t.id,n,r,s)}))}};g(Ze,"type",Ze.register("ESUeViewer",o.ESSeparateFoliage.type,Ze));let wi=Ze;const Qe=class Qe extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(Qe,"type",Qe.register("ESUeViewer",o.ESSubmergingAnalysis.type,Qe));let yi=Qe;const Ye=class Ye extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.stopEvent.don(()=>{i.callUeFunc({f:"Stop",p:{id:t.id}})}))}};g(Ye,"type",Ye.register("ESUeViewer",o.ESSunshineAnalysis.type,Ye));let mi=Ye;const Ve=class Ve extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})}))}};g(Ve,"type",Ve.register("ESUeViewer",o.ESSurfaceAreaMeasurement.type,Ve));let Ci=Ve;const ke=class ke extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ke,"type",ke.register("ESUeViewer",o.ESTextLabel.type,ke));let Ei=ke;const V=class V extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.callFunctionEvent.don(async(n,r)=>{const s=await St(i,t.id,n,r);t.__callFunctionResultEvent.emit(s)}))}};g(V,"type",V.register("ESUeViewer",o.ESUEWidget.type,V)),g(V,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let Si=V;const Zn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"未搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是场景原有的,而是新建的,无法绑定";case 4:return"搜索到ActorTag对应的Actor是地形或3DTileset,无法绑定";default:return"未知错误"}},Sr=c=>{switch(c){case 0:return"创建成功";case 1:return"未找到对应的资源,无法创建";case 2:return"Id与场景中现有的ActorTag重复,创建后可能出现问题,创建失败";default:return"未知错误"}},Oe=class Oe extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn(`${t.id} UeESUnrealActor viewer is undefined!`);return}this.d(()=>{Ct(i,t.id)});const n=async()=>{l()||await i.callUeFunc({f:"update",p:{id:t.id,name:t.name,show:t.show,rotation:t.rotation,flyToParam:t.flyToParam??o.ESUnrealActor.defaultFlyToParam,flyInParam:t.flyInParam??o.ESUnrealActor.defaultFlyInParam,highlight:t.highlight,collision:t.collision,scale:t.scale,minVisibleDistance:t.minVisibleDistance,maxVisibleDistance:t.maxVisibleDistance}})},r=this.dv(o.createNextAnimateFrameEvent(t.showChanged,t.nameChanged,t.rotationChanged,t.flyToParamChanged,t.flyInParamChanged,t.highlightChanged,t.collisionChanged,t.scaleChanged,t.minVisibleDistanceChanged,t.maxVisibleDistanceChanged));this.d(r.don(n)),this.d(t.flushEvent.don(()=>r.flush()));let s,a;const v=async()=>{l()||(await i.callUeFunc({f:"update",p:{id:t.id,position:t.position}}),(e.debug??!1)&&console.log(`updatePostion:${t.position},actorTag:${t.actorTag},actorClass:${t.actorClass}`))},l=()=>!s&&!a?(console.warn(`${t.id} 未绑定ActorTag或未创建ActorClass!`),!0):!1,y=async()=>{const{id:d}=t,u=await e.unBindActorByID(d);u&&u.error!==""&&console.warn(`${t.id} UeESUnrealActor UnBindActorByID: ${u.error}`),s=void 0;const h=await i.callUeFunc({f:"destroy",p:{id:d}});if(h&&h.error!==""){console.warn(`${t.id} UeESUnrealActor DestroyActorByID: ${h.error}`);return}a=void 0},f=this.dv(o.react({type:"ActorClass",actorClass:"default"}));{const d=this.dv(o.createNextAnimateFrameEvent(t.actorClassChanged,t.actorTagChanged)),u=async()=>{t.actorTag!==""?f.value={type:"ActorTag",actorTag:t.actorTag}:f.value={type:"ActorClass",actorClass:t.actorClass===""?"default":t.actorClass}};u(),this.d(d.don(u)),this.d(t.flushEvent.don(()=>d.flush()))}{const d=this.dv(o.createProcessingFromAsyncFunc(async h=>{if(await h.promise(y()),t.lastActorStatus="null",f.value.type==="ActorTag"){const{actorTag:w}=f.value;try{const m=await h.promise(e.bindActorByTag(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${m.error}`);return}if(m.re.type===0)t.lastActorStatus="bound",s=w;else if(m.re.type===1)t.lastActorStatus="bound",s=w,console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${Zn(m.re.type)}`);else{s=void 0,console.warn(`${t.id} UeESUnrealActor BindActorByTag error:${w}, ${Zn(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor BindActorByTag catch error:${w}, ${m}`);return}}else if(f.value.type==="ActorClass"){const{actorClass:w}=f.value;try{const m=await h.promise(e.createActorByClass(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error :${w}, ${m.error}`);return}if(m.re.type===0)w!=="default"&&(t.lastActorStatus="created"),a=w;else{console.warn(`${t.id} UeESUnrealActor CreateActorByClass error type :${w},${Sr(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error catch :${w}, ${JSON.stringify(m)}`);return}}await h.promise(n()),await h.promise(v())})),u=async()=>{d.restart()};u(),this.d(f.changed.don(u))}this.d(t.positionChanged.don(v)),this.d(t.callFunctionEvent.don(async(d,u)=>{if(l()){t.__callFunctionResultEvent.emit(void 0);return}const h=await St(i,t.id,d,u);t.__callFunctionResultEvent.emit(h)})),this.d(t.smoothMoveEvent.don((d,u)=>{l()||ne(i,t.id,d,u)})),this.d(t.smoothMoveWithRotationEvent.don((d,u,h)=>{l()||ee(i,t.id,d,u,h)})),this.d(t.smoothMoveOnGroundEvent.don((d,u,h,w)=>{l()||te(i,t.id,d,u,w,h)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((d,u,h,w,m)=>{l()||ie(i,t.id,d,u,h,w,m)})),this.d(t.automaticLandingEvent.don(d=>{if(l())return;const u=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(h=>{h!==null&&(t.position=[...u,h],t.collision=d)})})),this.d(t.flyToEvent.don(async(d,u)=>{if(l())return;const h=await X(i,t.id,d);let w="over";h===void 0?w="error":h.endType===0?w="over":h.endType===1&&(w="cancelled"),t.flyOverEvent.emit(u,w,e)})),this.d(t.calcFlyToParamEvent.don(()=>{l()||W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const d=await e.getCurrentCameraInfo();if(!d)return;const{position:u,rotation:h}=d;t.flyInParam={position:u,rotation:h,flyDuration:1}})),this.d(e.propChanged.don(d=>{l()||d.objId===t.id&&Object.keys(d.props).forEach(u=>{const h=d.props[u]===null?void 0:d.props[u];t[u]=h})}))}};g(Oe,"type",Oe.register("ESUeViewer",o.ESUnrealActor.type,Oe));let Fi=Oe;const je=class je extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(je,"type",je.register("ESUeViewer",o.ESVideoFusion.type,je));let Ii=je;const et=class et extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(et,"type",et.register("ESUeViewer",o.ESViewShed.type,et));let Ti=et;const tt=class tt extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};g(tt,"type",tt.register("ESUeViewer",o.ESVisibilityAnalysis.type,tt));let Ri=tt;const it=class it extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(o.track([t,"volume"],[t,"cutAndFillVolume"])),this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};g(it,"type",it.register("ESUeViewer",o.ESVolumeMeasurement.type,it));let Di=it;const k=class k extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(k,"type",k.register("ESUeViewer",o.ESWidget.type,k)),g(k,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let Li=k;const nt=class nt extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.poi.actorTag=t.human.id,t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8],this.d(t.poiOffsetHeightChanged.don(()=>{t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8]})),this.d(()=>{t.poi.actorTag=""})}};g(nt,"type",nt.register("ESUeViewer",o.ESHumanPoi.type,nt));let Pi=nt;o.ESSceneObject.context.getStrFromEnv(o.ESNavigator.defaults.imgUrl);const rt=class rt extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),this.dispose(o.track([n,"show"],[t,"show"])),n.instanceClass=class extends o.Destroyable{constructor(s,a,v){super(),this._subContainer=s;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l));{const d=async()=>{const u=await e.getCurrentCameraInfo(),h=u==null?void 0:u.position,m=[...u==null?void 0:u.rotation];m[0]=360,e.flyIn(h,m)};l.addEventListener("click",d),l.style.cursor="pointer",this.dispose(()=>l.removeEventListener("click",d))}{const d=()=>{l.style.width=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`,l.style.height=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`};d(),t.dispose(t.cssSizeChanged.disposableOn(d))}l.style.position="fixed";{const d=()=>{l.style.top=`${t.cssPosition?t.cssPosition[0]:o.ESNavigator.defaults.cssPosition[0]}px`,l.style.right=`${t.cssPosition?t.cssPosition[1]:o.ESNavigator.defaults.cssPosition[1]}px`};d(),t.dispose(t.cssPositionChanged.disposableOn(d))}l.style.transition=" right 0.4s linear",l.style.cursor="pointer";const y=document.createElement("div");l.appendChild(y),this.dispose(()=>l.removeChild(y)),y.style.width="100%",y.style.height="100%",y.style.position="relative";const f=document.createElement("img");y.appendChild(f),this.dispose(()=>y.removeChild(f)),f.style.width="100%",f.style.height="100%",f.style.border="none";{const d=()=>f.src=t.imgUrl;d(),t.dispose(t.imgUrlChanged.disposableOn(d))}{const d=()=>{const m=-e.getCurrentCameraInfo().rotation[0];f.style.transform=`rotate(${m}deg)`};let u;const h=async()=>{d(),t.show?(l.style.display="block",u=setInterval(()=>{d()},1e3)):(l.style.display="none",clearInterval(u))};this.dispose(t.showChanged.disposableOn(h)),h(),this.dispose(()=>clearInterval(u))}f.style.transformOrigin="50% 50%"}}}};g(rt,"type",rt.register("ESUeViewer",o.ESNavigator.type,rt));let Bi=rt;const J=class J extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}{const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,materialMode:t.materialMode}})};this.dispose(t.materialModeChanged.disposableOn(n))}}};g(J,"type",J.register("ESUeViewer",o.ESPath.type,J)),g(J,"forceUeUpdateProps",[...D.forceUeUpdateProps]),g(J,"propValFuncs",{...D.propValFuncs});let Ui=J;async function Fr(c){navigator.clipboard.writeText(c).then(function(){console.log("复制成功")},function(t){console.log("复制失败")})}const ot=class ot extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),n.instanceClass=class extends o.Destroyable{constructor(s,a,v){if(super(),this._subContainer=s,!v||!(v instanceof b))return;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l)),l.style.width="100%",l.style.position="absolute",l.style.height=`${o.ESViewerStatusBar.defaults.height}px`,l.style.left="0",l.style.bottom="0",l.style.color="#fff",l.style.padding="0 20px 0 0",l.style.boxSizing="border-box",l.style.lineHeight=`${o.ESViewerStatusBar.defaults.height}px`,l.style.zIndex="100",l.style.alignContent="center",l.style.justifyContent="space-between";const y=document.createElement("span");l.appendChild(y),this.dispose(()=>l.removeChild(y));const f=document.createElement("span");y.appendChild(f),this.dispose(()=>y.removeChild(f));const d=document.createElement("span");y.appendChild(d),d.addEventListener("dblclick",function(){let h=d.innerHTML;h.startsWith("鼠标位置")&&(h=h.slice(5)),Fr(h)}),d.style.cursor="pointer",this.dispose(()=>y.removeChild(d));const u=document.createElement("span");l.appendChild(u),this.dispose(()=>l.removeChild(u));{const h=()=>{l.style.height=(t.height??o.ESViewerStatusBar.defaults.height)+"px",l.style.lineHeight=(t.height??o.ESViewerStatusBar.defaults.height)+"px"};this.dispose(t.heightChanged.disposableOn(h)),h()}{const h=()=>{l.style.fontSize=(t.fontSize??o.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(t.fontSizeChanged.disposableOn(h)),h()}{const h=()=>{t.bgColor?l.style.background=`rgba(${t.bgColor[0]*255},${t.bgColor[1]*255},${t.bgColor[2]*255},${t.bgColor[3]})`:l.style.background=`rgba(${o.ESViewerStatusBar.defaults.bgColor[0]},${o.ESViewerStatusBar.defaults.bgColor[1]},${o.ESViewerStatusBar.defaults.bgColor[2]},${o.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(t.bgColorChanged.disposableOn(h)),h()}v.getVersion().then(h=>{h&&(u.innerText=`Ue 版本 : ${h[0]} `)}).catch(h=>{console.log(h)});{const h=()=>{let C="",S="";C+=`帧率:${v.getFPS().toFixed(0)}FPS`,f.innerText=C;const E=e.getCurrentCameraInfo();C+=` 经度: ${E.position[0].toFixed(5)}° 纬度: ${E.position[1].toFixed(5)}° 高度: ${E.position[2].toFixed(2)}米 偏航角: ${E.rotation[0].toFixed(2)}° 俯仰角: ${E.rotation[1].toFixed(2)}° 翻滚角:${E.rotation[2].toFixed(2)}° `,f.innerText=C,e.pick().then(R=>{if(R){const{pickResult:I}=R;if(I&&I.position){const{position:B}=I;S+=`鼠标位置:${B[0].toFixed(5)}° ${B[1].toFixed(5)}° ${B[2].toFixed(2)}m`}else S+="暂时无法获取鼠标位置...";d.innerText=S}}).catch(R=>{console.log(R)})};let w;const m=async()=>{h(),t.show?(l.style.display="flex",w=setInterval(()=>{h()},1e3)):(l.style.display="none",clearInterval(w))};this.dispose(t.showChanged.disposableOn(m)),m(),this.dispose(()=>clearInterval(w))}}}}};g(ot,"type",ot.register("ESUeViewer",o.ESViewerStatusBar.type,ot));let Ai=ot;const st=class st extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(st,"type",st.register("ESUeViewer",o.ESGaussianSplatting.type,st));let bi=st;const at=class at extends ${constructor(e,i){super(e,i);g(this,"_es3DTileset",this.dv(new o.ES3DTileset));if(!i.viewer){console.warn("viewer is undefined!");return}this.es3DTileset.parentID=e.id;{const r=this._es3DTileset;e.components.disposableAdd(r,!0),this.d(o.track([r,"allowPicking"],[e,"allowPicking"])),this.d(o.track([r,"collision"],[e,"collision"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.track([r,"url"],[e,"url"])),this.d(o.track([r,"actorTag"],[e,"actorTag"])),this.d(o.track([r,"materialMode"],[e,"materialMode"])),this.d(o.track([r,"highlight"],[e,"highlight"])),this.d(o.track([r,"maximumScreenSpaceError"],[e,"maximumScreenSpaceError"])),this.d(o.track([r,"highlightID"],[e,"highlightID"])),this.d(o.track([r,"highlightColor"],[e,"highlightColor"])),this.d(o.bind([r,"offset"],[e,"offset"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.track([r,"czmImageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(o.track([r,"czmLuminanceAtZenith"],[e,"czmLuminanceAtZenith"])),this.d(o.track([r,"czmMaximumMemoryUsage"],[e,"czmMaximumMemoryUsage"])),this.d(o.track([r,"czmClassificationType"],[e,"czmClassificationType"])),this.d(o.track([r,"czmStyleJson"],[e,"czmStyleJson"])),this.d(o.track([r,"czmBackFaceCulling"],[e,"czmBackFaceCulling"])),this.d(o.track([r,"czmDebugShowBoundingVolume"],[e,"czmDebugShowBoundingVolume"])),this.d(o.track([r,"czmDebugShowContentBoundingVolume"],[e,"czmDebugShowContentBoundingVolume"])),this.d(o.track([r,"colorBlendMode"],[e,"colorBlendMode"])),this.d(o.track([r,"cacheBytes"],[e,"cacheBytes"])),this.d(o.track([r,"clippingPlaneEnabled"],[e,"clippingPlaneEnabled"])),this.d(o.track([r,"unionClippingRegions"],[e,"unionClippingRegions"])),this.d(o.track([r,"clippingPlaneEdgeColor"],[e,"clippingPlaneEdgeColor"])),this.d(o.track([r,"clippingPlaneEdgeWidth"],[e,"clippingPlaneEdgeWidth"])),this.d(o.track([r,"materialParams"],[e,"materialParams"])),this.d(o.bind([r,"supportEdit"],[e,"supportEdit"])),this.d(o.bind([r,"clippingPlanesId"],[e,"clippingPlanesId"])),this.d(o.bind([r,"clippingPlaneIds"],[e,"clippingPlaneIds"])),this.d(o.bind([r,"flattenedPlaneId"],[e,"flattenedPlaneId"])),this.d(o.bind([r,"flattenedPlaneEnabled"],[e,"flattenedPlaneEnabled"])),this.d(o.bind([r,"clippingPlaneId"],[e,"clippingPlaneId"])),this.d(o.bind([r,"excavateId"],[e,"excavateId"]))}{const r=this._es3DTileset;this.d(e.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(e.highlightFeatureEvent.don((...s)=>{r.highlightFeature(...s)})),this.d(e.highlightFeatureAndFlyToEvent.don((...s)=>{r.highlightFeatureAndFlyTo(...s)})),this.d(e.setFeatureColorEvent.don((...s)=>{r.setFeatureColor(...s)})),this.d(e.setFeatureVisableEvent.don((...s)=>{r.setFeatureVisable(...s)})),this.d(e.resetFeatureStyleEvent.don((...s)=>{r.resetFeatureStyle(...s)})),this.d(e.flyInEvent.don((...s)=>{r.flyIn(s[0])})),this.d(e.flyToEvent.don((...s)=>{r.flyTo(s[0])})),this.d(e.calcFlyToParamEvent.don((...s)=>{r.calcFlyToParam(...s)})),this.d(e.calcFlyInParamEvent.don((...s)=>{r.calcFlyInParam(...s)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(s=>{e.tilesetReady.emit(s)})),this.d(r.pickedEvent.don(s=>{s.assign({sceneObject:e}),e.pickedEvent.emit(s)}))}{const r=()=>{this.es3DTileset.show=e.show};r(),this.d(e.showChanged.don(()=>{r()}))}}get es3DTileset(){return this._es3DTileset}};g(at,"type",at.register("ESUeViewer",o.ESRtsFeatureEditing.type,at));let Mi=at;const lt=class lt extends ${constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(lt,"type",lt.register("ESUeViewer",o.ESMsTileset.type,lt));let Wi=lt;const dt=class dt extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,height:t.height??o.ESGeoExtrudedPolygon.defaults.height,extrudedHeight:t.extrudedHeight??o.ESGeoExtrudedPolygon.defaults.extrudedHeight,perPositionHeight:t.perPositionHeight??o.ESGeoExtrudedPolygon.defaults.perPositionHeight}})},r=this.disposeVar(o.createNextAnimateFrameEvent(t.heightChanged,t.extrudedHeightChanged,t.perPositionHeightChanged));this.dispose(r.disposableOn(n)),this.dispose(t.createdEvent.disposableOn(n))}};g(dt,"type",dt.register("ESUeViewer",o.ESGeoExtrudedPolygon.type,dt));let $i=dt;const ct=class ct extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(ct,"type",ct.register("ESUeViewer",o.ESStaticMesh.type,ct));let xi=ct;const ut=class ut extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};g(ut,"type",ut.register("ESUeViewer",o.ESSkylineAnalysis.type,ut));let _i=ut;const K=class K extends T{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};g(K,"type",K.register("ESUeViewer",o.ESMVTLayer.type,K)),g(K,"forceUeUpdateProps",[...T.forceUeUpdateProps,"url"]),g(K,"propValFuncs",{...T.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t),targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t},czmSplitDirection:null,czmAlpha:null,czmBrightness:null,czmContrast:null,czmHue:null,czmSaturation:null,czmGamma:null});let Ni=K;const ht=class ht extends F{constructor(t,e){if(super(t,e),!e.viewer){console.warn("UeESCylinder: viewer is null");return}}};g(ht,"type",ht.register("ESUeViewer",o.ESCylinder.type,ht));let zi=ht;p.copyright=void 0;try{const c="earthsdk3-ue",t="3.11.0",e="2026-07-20T03:14:06.000Z",i="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="eb3a9d8d7d52fe4ea2e58f3b05725f3414c04d31",a=((Date.now()-1784517246e3)/36e5).toFixed(1),v=`%c🌏 ${c}%c ${t}.${r.slice(0,8)}.${e} (距今${a}个小时)
2
2
  %c${n?n+`
3
3
  `:""}当前网站正在使用${c},此软件版权归${i}所有
4
- `;p.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","18eb019de0881c8f88d5d0948aa36a384e722338")},get info(){return v},get date(){return"2026-07-15T03:53:41.000Z"},get author(){return"suplyang"},get version(){return"3.11.0-beta.20"},get name(){return"earthsdk3-ue"},get commitId(){return"18eb019de0881c8f88d5d0948aa36a384e722338"},print(l=!1){!l&&globalThis._xe2_no_copy_print||console.info(this.info,`
4
+ `;p.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","eb3a9d8d7d52fe4ea2e58f3b05725f3414c04d31")},get info(){return v},get date(){return"2026-07-20T03:14:06.000Z"},get author(){return"suplyang"},get version(){return"3.11.0"},get name(){return"earthsdk3-ue"},get commitId(){return"eb3a9d8d7d52fe4ea2e58f3b05725f3414c04d31"},print(l=!1){!l&&globalThis._xe2_no_copy_print||console.info(this.info,`
5
5
  font-size: 18px;
6
6
  font-weight: 1000;
7
7
  line-height: 1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "earthsdk3-ue",
3
- "version": "3.11.0-beta.20",
3
+ "version": "3.11.0",
4
4
  "description": "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",
5
5
  "private": false,
6
6
  "type": "module",
@@ -40,7 +40,7 @@
40
40
  "vite-plugin-dts": "^4.5.4"
41
41
  },
42
42
  "peerDependencies": {
43
- "earthsdk3": "3.11.0-beta.20"
43
+ "earthsdk3": "3.11.0"
44
44
  },
45
45
  "dependencies": {
46
46
  "html2canvas": "^1.4.1",