earthsdk3 3.7.0-beta.1 → 3.7.0-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/earthsdk3.iife.js +47 -43
  2. package/dist/earthsdk3.js +1055 -956
  3. package/dist/earthsdk3.umd.cjs +28 -28
  4. package/dist/types/ESMCPTools/ESMCPClient.d.ts +20 -0
  5. package/dist/types/ESMCPTools/ESMCPClient.d.ts.map +1 -0
  6. package/dist/types/ESMCPTools/index.d.ts +3 -0
  7. package/dist/types/ESMCPTools/index.d.ts.map +1 -0
  8. package/dist/types/ESMCPTools/tools/getCameraTools.d.ts +4 -0
  9. package/dist/types/ESMCPTools/tools/getCameraTools.d.ts.map +1 -0
  10. package/dist/types/ESMCPTools/tools/getSceneObjectTools.d.ts +4 -0
  11. package/dist/types/ESMCPTools/tools/getSceneObjectTools.d.ts.map +1 -0
  12. package/dist/types/ESMCPTools/tools/index.d.ts +3 -0
  13. package/dist/types/ESMCPTools/tools/index.d.ts.map +1 -0
  14. package/dist/types/ESMCPTools/types/CallToolResultSchema.d.ts +2478 -0
  15. package/dist/types/ESMCPTools/types/CallToolResultSchema.d.ts.map +1 -0
  16. package/dist/types/ESMCPTools/types/index.d.ts +34 -0
  17. package/dist/types/ESMCPTools/types/index.d.ts.map +1 -0
  18. package/dist/types/ESObjectManager/index.d.ts +23 -0
  19. package/dist/types/ESObjectManager/index.d.ts.map +1 -1
  20. package/dist/types/ESObjects/base/ESSceneObject/index.d.ts +5 -1
  21. package/dist/types/ESObjects/base/ESSceneObject/index.d.ts.map +1 -1
  22. package/dist/types/ESViewer/ESViewer.d.ts +4 -0
  23. package/dist/types/ESViewer/ESViewer.d.ts.map +1 -1
  24. package/dist/types/index.d.ts +1 -0
  25. package/dist/types/index.d.ts.map +1 -1
  26. package/dist/types/utils/SceneTrees/SceneTree.d.ts +8 -0
  27. package/dist/types/utils/SceneTrees/SceneTree.d.ts.map +1 -1
  28. package/dist/types/utils/SceneTrees/SceneTreeItem.d.ts +4 -0
  29. package/dist/types/utils/SceneTrees/SceneTreeItem.d.ts.map +1 -1
  30. package/package.json +6 -3
  31. package/dist/types/utils/geoPolylineToBezierSpline/bezierSpline/lib/spline.d.ts +0 -62
  32. package/dist/types/xbsj-base/xr-utils/gif/gifuct-js/index.d.ts +0 -101
@@ -1,7 +1,7 @@
1
- (function(g,Gn){typeof exports=="object"&&typeof module<"u"?Gn(exports,require("js-binary-schema-parser"),require("topojson-client"),require("proj4"),require("@turf/turf")):typeof define=="function"&&define.amd?define(["exports","js-binary-schema-parser","topojson-client","proj4","@turf/turf"],Gn):(g=typeof globalThis<"u"?globalThis:g||self,Gn(g.EarthSDK3={},g.jsBinarySchemaParser,g.topojson,g.proj4,g.turf))})(this,function(g,Gn,Go,dp,Hy){"use strict";var Vb=Object.defineProperty;var Bb=(g,Gn,Go)=>Gn in g?Vb(g,Gn,{enumerable:!0,configurable:!0,writable:!0,value:Go}):g[Gn]=Go;var d=(g,Gn,Go)=>Bb(g,typeof Gn!="symbol"?Gn+"":Gn,Go);var ni;function fp(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const qy=fp(Go),Ke=fp(Hy);function Xy(){var n;const r=((n=globalThis==null?void 0:globalThis.navigator)==null?void 0:n.userAgent)??"unknown";let e="Unknown";/Windows/.test(r)?e="Windows":/Macintosh/.test(r)?e="MacOS":/Linux/.test(r)?e="Linux":/Android/.test(r)?e="Android":/iOS|iPhone|iPad|iPod/.test(r)&&(e="iOS");let t="Unknown";return/x64|x86_64|Win64|WOW64/.test(r)?t="x64":/x86|i686|Win32/.test(r)?t="x86":/arm64|aarch64/.test(r)?t="arm64":/arm/.test(r)&&(t="arm"),{os:e.toLocaleLowerCase(),arch:t.toLocaleLowerCase()}}const Yy=Date.now();function pp(r){var a;const{os:e,arch:t}=Xy(),n={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-Yy)/1e3/60|0,date:new Date().toLocaleString(),href:((a=globalThis==null?void 0:globalThis.location)==null?void 0:a.href)??"unknown",os:e,arch:t},s={method:"GET",headers:new Headers,redirect:"follow"},o=globalThis.encodeURIComponent(JSON.stringify(n));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(u=>u.text()).then(u=>console.log(u)).catch(u=>console.log("error",u))}g.copyright=void 0;try{const r="earthsdk3",e="3.7.0-beta.1",t="2025-11-26T06:11:25.000Z",n="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="43f5553b0ecd549789bca9baa5e642be2c59e0bc",a=((Date.now()-1764137485e3)/36e5).toFixed(1),u=`%c🌏 ${r}%c ${e}.${s.slice(0,8)}.${t} (距今${a}个小时)
1
+ (function(g,Gn){typeof exports=="object"&&typeof module<"u"?Gn(exports,require("js-binary-schema-parser"),require("topojson-client"),require("proj4"),require("@turf/turf"),require("zod"),require("zod-to-json-schema")):typeof define=="function"&&define.amd?define(["exports","js-binary-schema-parser","topojson-client","proj4","@turf/turf","zod","zod-to-json-schema"],Gn):(g=typeof globalThis<"u"?globalThis:g||self,Gn(g.EarthSDK3={},g.jsBinarySchemaParser,g.topojson,g.proj4,g.turf,g.z,g.zodToJsonSchema))})(this,function(g,Gn,Go,dp,Hy,qy,Xy){"use strict";var zb=Object.defineProperty;var Ub=(g,Gn,Go)=>Gn in g?zb(g,Gn,{enumerable:!0,configurable:!0,writable:!0,value:Go}):g[Gn]=Go;var d=(g,Gn,Go)=>Ub(g,typeof Gn!="symbol"?Gn+"":Gn,Go);var ni;function fp(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const Yy=fp(Go),Ke=fp(Hy);function Jy(){var n;const r=((n=globalThis==null?void 0:globalThis.navigator)==null?void 0:n.userAgent)??"unknown";let e="Unknown";/Windows/.test(r)?e="Windows":/Macintosh/.test(r)?e="MacOS":/Linux/.test(r)?e="Linux":/Android/.test(r)?e="Android":/iOS|iPhone|iPad|iPod/.test(r)&&(e="iOS");let t="Unknown";return/x64|x86_64|Win64|WOW64/.test(r)?t="x64":/x86|i686|Win32/.test(r)?t="x86":/arm64|aarch64/.test(r)?t="arm64":/arm/.test(r)&&(t="arm"),{os:e.toLocaleLowerCase(),arch:t.toLocaleLowerCase()}}const $y=Date.now();function pp(r){var a;const{os:e,arch:t}=Jy(),n={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-$y)/1e3/60|0,date:new Date().toLocaleString(),href:((a=globalThis==null?void 0:globalThis.location)==null?void 0:a.href)??"unknown",os:e,arch:t},s={method:"GET",headers:new Headers,redirect:"follow"},o=globalThis.encodeURIComponent(JSON.stringify(n));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(u=>u.text()).then(u=>console.log(u)).catch(u=>console.log("error",u))}g.copyright=void 0;try{const r="earthsdk3",e="3.7.0-beta.12",t="2025-12-01T02:13:43.000Z",n="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="74a2ac95a069740b5f979eccbbd8244787b049df",a=((Date.now()-1764555223e3)/36e5).toFixed(1),u=`%c🌏 ${r}%c ${e}.${s.slice(0,8)}.${t} (距今${a}个小时)
2
2
  %c${i?i+`
3
3
  `:""}当前网站正在使用${r},此软件版权归${n}所有
4
- `;g.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","43f5553b0ecd549789bca9baa5e642be2c59e0bc")},get info(){return u},get date(){return"2025-11-26T06:11:25.000Z"},get author(){return"suplyang"},get version(){return"3.7.0-beta.1"},get name(){return"earthsdk3"},get commitId(){return"43f5553b0ecd549789bca9baa5e642be2c59e0bc"},print(){console.info(this.info,`
4
+ `;g.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","74a2ac95a069740b5f979eccbbd8244787b049df")},get info(){return u},get date(){return"2025-12-01T02:13:43.000Z"},get author(){return"suplyang"},get version(){return"3.7.0-beta.12"},get name(){return"earthsdk3"},get commitId(){return"74a2ac95a069740b5f979eccbbd8244787b049df"},print(){console.info(this.info,`
5
5
  font-size: 18px;
6
6
  font-weight: 1000;
7
7
  line-height: 1;
@@ -18,9 +18,9 @@
18
18
  color: rgb(0, 120, 215);
19
19
  padding-bottom: 2px;
20
20
  padding-left: 35px;
21
- `)}}),globalThis.g_XE3CopyRights=globalThis.g_XE3CopyRights||{},globalThis.g_XE3CopyRights[r]=g.copyright,globalThis.g_XE3SendProductUsageInfo=globalThis.g_XE3SendProductUsageInfo||!0,globalThis.g_XE3SendProductUsageInfo&&(setTimeout(()=>pp(g.copyright),1e3*60),setInterval(()=>pp(g.copyright),24*60*60*1e3)),globalThis.g_earthsdk_copyright_print=globalThis.g_earthsdk_copyright_print??!0,globalThis.g_earthsdk_copyright_print&&g.copyright.print()}catch{console.warn("版本信息有误!")}const gp=new Set;function Wo(r,e=r){gp.has(e)||(gp.add(e),console.warn(r))}function Vi(r){const e=Tl(r),t=()=>e[0][e[1]],n=s=>{try{e[0][e[1]]=s}catch(o){Wo(`setValue error, obj(${e[0].constructor.name}) prop(${e[1]}) error(${o})`)}},i=e[0][e[2]];return[t,n,i]}function Jy(){return!0}function $y(){throw new Error("throwOnDestroyed")}function mp(r){for(var e in r)typeof r[e]=="function"&&(r[e]=$y);r.isDestroyed=Jy}const $c=class $c{constructor(){d(this,"_memId",++$c._lastMemId);d(this,"_disposers")}get __v_skip(){return!0}get memId(){return this._memId}get disposers(){return this._disposers||(this._disposers=[]),this._disposers}dispose(e){return this.disposers.push(e),e}d(e){return this.dispose(e)}disposeVar(e){return this.disposers.push(()=>e.destroy()),e}dv(e){return this.disposeVar(e)}tryDisposeVar(e){return this.disposers.push(()=>e.tryDestroy()),e}tdv(e){return this.tryDisposeVar(e)}autoDispose(e){return typeof e=="function"?this.dispose(e):this.disposeVar(e)}ad(e){return typeof e=="function"?this.dispose(e):this.disposeVar(e)}isDestroyed(){return!1}destroyImp(){}destroy(){if(this._toDestroyEvent&&this._toDestroyEvent.emit(),this.destroyImp(),this._disposers)try{const e=this._disposers,t=e.length;for(let n=t-1;n>=0;--n)e[n]();e.length=0,this._disposers=void 0}catch(e){console.error(`destroy get error! ${e}`)}return mp(this)}tryDestory(){if(!this.isDestroyed())return this.destroy()}};d($c,"_lastMemId",-1);let B=$c,Qc;function vp(r){Qc=r}Object.defineProperties(B.prototype,{toDestroyEvent:{get(){if(this._toDestroyEvent===void 0){if(!Qc)throw new Error("Destroyable EventCtor not registered yet!");this._toDestroyEvent=this.disposeVar(new Qc)}return this._toDestroyEvent}}});class Pl{constructor(e,t,n=!1){d(this,"_freeElements");d(this,"_usedElementsCount");d(this,"_usedElements");d(this,"_nextCreateID");d(this,"_scratchObjs");this._createDefaultFunc=e,this._destroyFunc=t,this._freeElements=[],this._usedElementsCount=0,this._nextCreateID=1,this._scratchObjs=[],n&&(this._usedElements=[])}get usedElementsCount(){return this._usedElementsCount}get freeElementsCount(){return this._freeElements.length}_getCreateID(){return this._nextCreateID++}_create(){let e;return this._freeElements.length>0?e=this._freeElements.pop():e=this._createDefaultFunc&&this._createDefaultFunc()||{},e._cid=this._getCreateID(),e}create(){return this._create()}multiCreate(e){this._scratchObjs.length=0;for(let t=0;t<e;++t)this._scratchObjs.push(this._create());return this._scratchObjs}_destroy(e){this._destroyFunc&&this._destroyFunc(e),e._cid=void 0}destroy(...e){const t=e.length;for(let n=0;n<t;++n)this._destroy(e[n])}}function Ky(){return{item:void 0,previous:void 0,next:void 0}}function Zy(r){r.item=void 0,r.previous=void 0,r.next=void 0}const yp=new Pl(Ky,Zy,!0);function th(r,e,t){const n=yp.create();return n.item=r,n.previous=e,n.next=t,n}function _p(r){if(!r)throw new Error("node is undefined!");yp.destroy(r)}function eh(r,e){e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=void 0,r.tail=e.previous):e.next?(e.next.previous=void 0,r.head=e.next):(r.head=void 0,r.tail=void 0),e.next=void 0,e.previous=void 0}class wp{constructor(e){d(this,"head");d(this,"tail");d(this,"_length");const{needLength:t}=e||{needLength:!0};this.head=void 0,this.tail=void 0,t&&(this._length=0)}_incrementLength(){typeof this._length=="number"&&++this._length}_decrementLength(){typeof this._length=="number"&&--this._length}_setLength(e){typeof this._length=="number"&&(this._length=e)}get length(){return this._length}get empty(){return!this.head}*[Symbol.iterator](){let e=this.head;for(;e;)yield e,e=e.next}remove(e){if(!e)throw new Error("node is undefined!");eh(this,e),this._decrementLength(),_p(e)}getNode(e){let t=this.head;for(;t!==null;){if(!t)throw new Error("current is undefined!");if(t.item===e)return t;t=t.next}}moveAfter(e,t){if(e!==t){eh(this,t);var n=e.next;e.next=t,this.tail===e?this.tail=t:n&&(n.previous=t),t.next=n,t.previous=e}}moveBefore(e,t){if(e!==t){eh(this,t);var n=e.previous;e.previous=t,this.head===e?this.head=t:n&&(n.next=t),t.previous=n,t.next=e}}insertBefore(e,t){const n=th(t,e.previous,e);return e.previous&&(e.previous.next=n),e.previous=n,this.head===e&&(this.head=n),this._incrementLength(),n}insertAfter(e,t){const n=th(t,e,e.next);return e.next&&(e.next.previous=n),e.next=n,this.tail===e&&(this.tail=n),this._incrementLength(),n}_setFirstNode(e){if(this.head||this.tail)throw new Error("_setFirstNode error!");const t=th(e,void 0,void 0);if(this.head=t,this.tail=t,this._incrementLength(),this._length!==1)throw new Error("_setFirstNode error! this._length !== 1");return t}push(e){return this.tail?this.insertAfter(this.tail,e):this._setFirstNode(e)}pop(){if(!this.tail)throw new Error("DoublyLinkedList is empty!");const e=this.tail.item;return this.remove(this.tail),e}shift(){if(!this.head)throw new Error("DoublyLinkedList is empty!");const e=this.head.item;return this.remove(this.head),e}unshift(e){return this.head?this.insertBefore(this.head,e):this._setFirstNode(e)}removeAll(){let e=this.head;for(;e;){const t=e.next;_p(e),e=t}this.head=void 0,this.tail=void 0,this._setLength(0)}}function Qy(){return{func:void 0,scope:void 0,_hasRemoved:!1,_once:!1}}function t_(r){r.func=void 0,r.scope=void 0,r._hasRemoved=!1,r._once=!1}const Js=new Pl(Qy,t_,!0);class nh{constructor(){d(this,"__dll");d(this,"__currentListenerStack")}get _dll(){return this.__dll=this.__dll??new wp({needLength:!0}),this.__dll}_pushCurrentListener(e){this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.push(e):this.__currentListenerStack=[this.__currentListenerStack,e]:this.__currentListenerStack=e}_popCurrentListener(){if(this.__currentListenerStack)Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.pop():this.__currentListenerStack=void 0;else throw new Error("cannot pop!")}_hasCurrentListener(e){return this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.indexOf(e)!==-1:this.__currentListenerStack===e:!1}do(...e){if(this.__dll&&!this._dll.empty){let t=this._dll.head;for(;t;){const n=t.item;n._hasRemoved||(this._pushCurrentListener(n),n.func.call(n.scope,...e),this._popCurrentListener());const i=t.next;n._once&&!n._hasRemoved&&(this.remove(t),t=void 0),t&&this._clearHasRemoved(t),t=i}}}get empty(){if(!this.__dll||this._dll.empty)return!0;let e=!0,t=this._dll.head;for(;t;){if(!t.item._hasRemoved){e=!1;break}t=t.next}return e}isHandlerValid(e){return!e.item._hasRemoved}nextHandler(e){if(!e.item._hasRemoved)throw new Error("handler has removed!");let t=e.next;for(;t&&t.item._hasRemoved;)t=t.next;return t}prevHandler(e){if(!e.item._hasRemoved)throw new Error("handler has removed!");let t=e.previous;for(;t&&t.item._hasRemoved;)t=t.previous;return t}moveAfter(e,t){if(e.item._hasRemoved||t.item._hasRemoved)throw new Error("handler or nextHandler has removed!");return this._dll.moveAfter(e,t)}moveBefore(e,t){if(e.item._hasRemoved||t.item._hasRemoved)throw new Error("handler or prevHandler has removed!");return this._dll.moveBefore(e,t)}insertBefore(e,t,n,i=!1){if(e.item._hasRemoved)throw new Error("handler has removed!");const s=Js.create();return s.func=t,s.scope=n,s._once=i,this._dll.insertBefore(e,s)}insertAfter(e,t,n,i=!1){if(e.item._hasRemoved)throw new Error("handler has removed!");const s=Js.create();return s.func=t,s.scope=n,s._once=i,this._dll.insertAfter(e,s)}_clearHasRemoved(e){e.item._hasRemoved&&!this._hasCurrentListener(e.item)&&(Js.destroy(e.item),this._dll.remove(e))}remove(e){if(!e.item||e.item._hasRemoved)throw new Error("handler has removed!");this._hasCurrentListener(e.item)?e.item._hasRemoved=!0:(Js.destroy(e.item),this._dll.remove(e))}removeAll(){if(this.__dll&&!this._dll.empty){let e=this._dll.head;for(;e;){const t=e.next;e.item._hasRemoved||this.remove(e),e=t}}}destroy(){if(!this.__dll)return;let e=this._dll.head;for(;e;){const t=e.next,n=e;this._hasCurrentListener(n.item)||(console.warn("Event has remove item that on current stack!"),console.warn(`${n.item.func.toString()}`)),Js.destroy(n.item),this._dll.remove(n),e=t}this.__dll=void 0,this.__currentListenerStack=void 0}push(e,t,n=!1){const i=Js.create();return i.func=e,i.scope=t,i._once=n,this._dll.push(i)}pop(){const e=this.tail;if(!e)throw new Error("pop error!");this.remove(e)}shift(){const e=this.head;if(!e)throw new Error("shift error!");this.remove(e)}unshift(e,t,n=!1){const i=Js.create();return i.func=e,i.scope=t,i._once=n,this._dll.unshift(i)}get tail(){let e=this._dll.tail;for(;e&&e.item._hasRemoved;)e=e.previous;return e}get head(){let e=this._dll.head;for(;e&&e.item._hasRemoved;)e=e.previous;return e}}class yu{constructor(){d(this,"_listenerHandler");d(this,"_cid")}_reset(e,t){this._listenerHandler=e,this._cid=t}clone(e){return e=e??new yu,e._reset(this._listenerHandler,this._cid),e}get valid(){if(typeof this._listenerHandler<"u"&&typeof this._cid=="number"){const e=this._listenerHandler._cid;if(typeof e<"u"&&this._cid===e)return!0}return!1}}class rh extends yu{}let N=class extends B{constructor(){super(...arguments);d(this,"__pipe");d(this,"beforeCallback");d(this,"afterCallback")}get _pipe(){return this.__pipe=this.__pipe??new nh,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}emit(...t){!this.isDestroyed()&&this.beforeCallback&&this.beforeCallback(...t),!this.isDestroyed()&&this._pipe.do(...t),!this.isDestroyed()&&this.afterCallback&&this.afterCallback(...t)}on(t,n,i=!1,s){const o=i?this._pipe.unshift(t,n,!1):this._pipe.push(t,n,!1);return s=s??new rh,s._reset(o,o._cid),s}disposableOn(t,n,i=!1,s){const o=this.on(t,n,i,s);return()=>{o.valid&&this.off(o)}}don(t,n,i=!1,s){return this.disposableOn(t,n,i,s)}disposableWeakOn(t,n,i=!1,s){const o=new B,a=()=>{!o.isDestroyed()&&o.destroy()};return o.dispose(this.disposableOn(t,n,i,s)),o.dispose(this.toDestroyEvent.disposableOn(a)),a}dwon(t,n,i=!1,s){return this.disposableWeakOn(t,n,i,s)}once(t,n,i=!1,s){const o=i?this._pipe.unshift(t,n,!0):this._pipe.push(t,n,!0);return s=s??new rh,s._reset(o,o._cid),s}disposableOnce(t,n,i=!1,s){const o=this.once(t,n,i,s);return()=>o.valid&&this.off(o)}donce(t,n,i=!1,s){const o=this.once(t,n,i,s);return()=>o.valid&&this.off(o)}off(t){if(!t.valid)throw new Error("handler is not valid!");this._pipe.remove(t._listenerHandler),t._reset()}reset(){this._pipe.removeAll()}destroyImp(){this.empty||(Wo("The event is destroying with listeners!"),this._pipe.removeAll())}};vp(N);function Ho(r,e){return e=e??new yu,e._reset(r,r._cid),e}class e_{constructor(){d(this,"__pipe")}get _pipe(){return this.__pipe=this.__pipe??new nh,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}do(...e){return this._pipe.do(...e)}isHandlerValid(e){return e.valid?this._pipe.isHandlerValid(e._listenerHandler):!1}moveAfter(e,t){if(!e.valid||!t.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(e._listenerHandler,t._listenerHandler)}moveBefore(e,t){if(!e.valid||!t.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(e._listenerHandler,t._listenerHandler)}insertBefore(e,t,n,i=!1,s){if(!e.valid)throw new Error("handler is not valid!");const o=this._pipe.insertBefore(e._listenerHandler,t,n,i);return Ho(o,s)}insertAfter(e,t,n,i=!1,s){if(!e.valid)throw new Error("handler is not valid!");const o=this._pipe.insertAfter(e._listenerHandler,t,n,i);return Ho(o,s)}remove(e){if(!e.valid)throw new Error("handler is not valid!");return this._pipe.remove(e._listenerHandler)}removeAll(){return this._pipe.removeAll()}push(e,t,n=!1,i){const s=this._pipe.push(e,t,n);return Ho(s,i)}pop(){return this._pipe.pop()}shift(){return this._pipe.shift()}unshift(e,t,n=!1,i){const s=this._pipe.unshift(e,t,n);return Ho(s,i)}getTail(e){const t=this._pipe.tail;if(t)return Ho(t,e)}getHead(e){const t=this._pipe.head;if(t)return Ho(t,e)}}class je extends B{constructor(t,n,i){super();d(this,"_changed");d(this,"_value");d(this,"_oldValue");d(this,"toChangeFunc");this._equalsFunc=n,this._assignFunc=i,this._value=this._assignFunc&&this._assignFunc(t,void 0)||t}get assignFunc(){return this._assignFunc}get equalsFunc(){return this._equalsFunc}equals(t){return this._equalsFunc?this._equalsFunc(this._value,t):this._value===t}set value(t){if(this._equalsFunc?!this._equalsFunc(this._value,t):this._value!==t){if(this.toChangeFunc&&!this.toChangeFunc(t,this._value))return;this._assignFunc?(this._oldValue=this._assignFunc(this._value,this._oldValue),this._value=this._assignFunc(t,this._value)):(this._oldValue=this._value,this._value=t),this._changed&&this._changed.emit(t,this._oldValue)}}get value(){return this._value}get changed(){return this._changed||(this._changed=this.disposeVar(new N)),this._changed}forceChange(){this._changed&&this._changed.emit(this._value,this._value)}}function V(r,e,t){return new je(r,e,t)}function dt(r){return new je(r,(e,t)=>e.length!==t.length?!1:e.every((n,i)=>n===t[i]),(e,t)=>{const n=t||new Array(e.length);return n.length=e.length,e.forEach((i,s)=>n[s]=i),n})}function ne(r){return V(r,(e,t)=>e===void 0||t===void 0?e===void 0&&t===void 0:e.length!==t.length?!1:e.every((n,i)=>n===t[i]),(e,t)=>{if(!e)return;const n=t||new Array(e.length);return n.length=e.length,e.forEach((i,s)=>n[s]=i),n})}function Il(r,e,t){return V(r,(n,i)=>n.length!==i.length?!1:n.every((s,o)=>e&&e(s,i[o])||s===i[o]),(n,i)=>{const s=i||new Array(n.length);return s.length=n.length,n.forEach((o,a)=>{s[a]=t?t(o):o}),s})}function ps(r,e,t){return V(r,(n,i)=>n===void 0||i===void 0?n===void 0&&i===void 0:n.length!==i.length?!1:n.every((s,o)=>e&&e(s,i[o])||s===i[o]),(n,i)=>{if(!n)return;const s=i||new Array(n.length);return s.length=n.length,n.forEach((o,a)=>{s[a]=t?t(o):o}),s})}function _t(r){return new je(r,(e,t)=>e===t||e!==void 0&&t!==void 0&&JSON.stringify(e)===JSON.stringify(t),(e,t)=>{if(e!==void 0)return JSON.parse(JSON.stringify(e))})}function Zt(r){return new je(r,(e,t)=>e===t||e!==void 0&&t!==void 0&&JSON.stringify(e)===JSON.stringify(t),(e,t)=>{if(e!==void 0)return JSON.parse(JSON.stringify(e))})}function n_(r){return new je(r,(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;const n=Object.keys(e),i=Object.keys(t);return n.length!==i.length?!1:n.every((s,o)=>s===i[o]&&e[s]===t[s])},(e,t)=>e&&{...e})}function r_(r){return new je(r,(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;const n=Object.keys(e),i=Object.keys(t);return n.length!==i.length?!1:n.every((s,o)=>s===i[o]&&e[s]===t[s])},(e,t)=>e&&{...e})}function i_(r){return Il(r,(e,t)=>e.every((n,i)=>n===t[i]),e=>[...e])}function ih(r){return ps(r,(e,t)=>e.every((n,i)=>n===t[i]),e=>[...e])}function s_(r){return Il(r,(e,t)=>JSON.stringify(e)===JSON.stringify(t),e=>JSON.parse(JSON.stringify(e)))}function o_(r){return ps(r,(e,t)=>JSON.stringify(e)===JSON.stringify(t),e=>JSON.parse(JSON.stringify(e)))}function xl(r){return ih(r)}function Ep(r){return ps(r,(e,t)=>e.length===t.length&&e.every((n,i)=>n.every((s,o)=>s===t[i][o])),e=>e.map(t=>[...t]))}function a_(r){return ps(r,(e,t)=>e.length===t.length&&e.every((n,i)=>n.every((s,o)=>s===t[i][o])),e=>e.map(t=>[...t]))}function Tl(r){const e=r instanceof je?[r,"value","changed"]:[...r];return e[2]=e[2]||e[1]+"Changed",e}function sh(r,e,t,n=!1){e[2]=e[2]||e[1]+"Changed";const i=()=>{const s=e[0][e[1]];t?r[0][r[1]]=t(s):r[0][r[1]]=s};return i(),n?e[0][e[2]].disposableWeakOn(i):e[0][e[2]].disposableOn(i)}function u_(r,e,t,n,i=!1){const s=sh(r,e,t,i),o=sh(e,r,n,i);return()=>(s(),o())}function j(r,e,t,n=!1){const i=r instanceof je?[r,"value","changed"]:r,s=e instanceof je?[e,"value","changed"]:e;return sh(i,s,t,n)}function nt(r,e,t,n,i=!1){const s=Tl(r),o=Tl(e);return u_(s,o,t,n,i)}function l_(r,e,t,n=!1){const[i]=Vi(e);return nt(r,e,s=>s??t,s=>{if(!(s===t&&i()===void 0))return s},n)}function qo(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){var e=Math.random()*16|0,t=r==="x"?e:e&3|8;return t.toString(16)})}function Nl(r,e){if(!globalThis||!globalThis.setTimeout||!globalThis.clearTimeout)throw new Error("目前只适合在浏览器中使用!");let t=0;function n(){t>0&&(globalThis.clearTimeout(t),t=0)}function i(...s){n(),t=globalThis.setTimeout(r,e,...s)}return[i,n]}function oh(r,e,...t){const n=setInterval(r,e,...t);return()=>clearInterval(n)}function ah(r,e,...t){const n=setTimeout(r,e,...t);return()=>clearTimeout(n)}function Ol(r,...e){let t;const n=()=>{const i=performance.now();r(i,...e),t=requestAnimationFrame(n)};return n(),()=>typeof t<"u"&&(cancelAnimationFrame(t),t=void 0)}function Xo(r,...e){let t;return t=requestAnimationFrame(()=>{const i=performance.now();r(i,...e)}),()=>typeof t<"u"&&(cancelAnimationFrame(t),t=void 0)}function _u(r,...e){let t=!1,n;return new Promise((i,s)=>{n=s,i()}).then(()=>{!t&&r(...e)}).catch(i=>{console.error(i)}),()=>(t=!0)&&n&&(n("nextMicroTask cancelled!"),n=void 0)}class Dl extends N{constructor(t,n,...i){super();d(this,"_cancellFunc");this._nextFunc=t,this.dispose(()=>{this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0)}),i.forEach(s=>this.dispose(s[n?"dwon":"don"](()=>{this.next()})))}next(){this._cancellFunc||(this._cancellFunc=this._nextFunc(()=>(this._cancellFunc=void 0,this.emit())))}flush(){this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0,this.emit())}}class uh extends Dl{constructor(...e){super(_u,!1,...e)}}function c_(...r){return new uh(...r)}class h_ extends Dl{constructor(...e){super(_u,!0,...e)}}function d_(...r){return new uh(...r)}class Ml extends Dl{constructor(...e){super(Xo,!1,...e)}}function Pe(...r){return new Ml(...r)}function f_(r,e){return new Ml(...r).don(e())}class Cp extends Dl{constructor(...e){super(Xo,!0,...e)}}function p_(...r){return new Cp(...r)}function Bi(r,e,t={time:"don",immediate:!1}){const n=new Ml(...Array.isArray(r)?r:[r]),i=n[t.time??"don"](e);return(t.immediate??!1)&&e(),()=>{i(),n.destroy()}}function wu(r){let e;if(typeof r.next=="function")e=r;else if(typeof r[Symbol.iterator]=="function")e=r[Symbol.iterator]();else throw new Error("iteratorOrIterable error!");return e}function lh(r,e){let t=!1;const n=wu(r);let i=-1;for(;;){const{done:s,value:o}=n.next();if(s)break;if(e(o,++i)){t=!0;break}}return t}function ch(r,e){return!lh(r,(n,i)=>!e(n,i))}function Eu(r,e,t,n){const i=r;if(!i[e]){const s=n(),o=Object.fromEntries(Object.entries(s).filter(([a,u])=>{const l=Object.getPrototypeOf(t),c=a in l;if(c){const h=u instanceof je?u.value:u;r[a]=h}return!c}).map(([a,u])=>u instanceof je?[a,u]:[a,Array.isArray(u)?ne(u):V(u)]));i[e]=o}return i[e]}function ji(r,e){var n;const t=Symbol(`${(n=r==null?void 0:r.constructor)==null?void 0:n.name}-createDefaultProps`);r.constructor.__xbsj_dpSymbol=t,r.constructor.__xbsj_createDefaultProps=e;for(let[i,s]of Object.entries(e()))if(!Reflect.has(r,i)){const o=function(a){var c,h;if(a[t])return;const u=[];let l=Object.getPrototypeOf(a);for(;l;)u.push(l),l=Object.getPrototypeOf(l);u.reverse();for(let f of u){const p=(c=f.constructor)==null?void 0:c.__xbsj_dpSymbol;if(!p)continue;const v=(h=f.constructor)==null?void 0:h.__xbsj_createDefaultProps;v&&Eu(a,p,f,v)}};Object.defineProperties(r,{[i]:{get(){return o(this),Eu(this,t,r,e)[i].value},set(a){o(this);const u=Eu(this,t,r,e)[i];if(!u){console.error("!propObj");debugger}u.value=a}},[`${i}Changed`]:{get(){return o(this),Eu(this,t,r,e)[i].changed}},[`${i}React`]:{get(){return o(this),Eu(this,t,r,e)[i]}}})}}const Cu=new WeakMap;function ci(r,e,t){Cu.has(r)||Cu.set(r,{});const n=Cu.get(r);n[e]=t}function Wn(r,e){return Cu.has(r)?Cu.get(r)[e]:void 0}function hi(r,e){const t=wu(r);let n=0;for(;;){const{done:i,value:s}=t.next();if(i)break;e(s,n++)}}function Su(r,e,t){const n=wu(r);let i=t,s=0;for(;;){const{done:o,value:a}=n.next();if(o)break;i=e(i,a,s++)}return i}const g_=r=>++r;function hh(r){return Su(r,g_,0)}function zi(r){return Su(r,(e,t)=>e>t?e:t,Number.NEGATIVE_INFINITY)}function gs(r){return Su(r,(e,t)=>e<t?e:t,Number.POSITIVE_INFINITY)}function Sp(r,e){let t=r;for(let n of e)t=t[n];return t}function m_(r,e,t){if(e.length===0)throw new Error("props的数量必须大于0");const n=e.length-1,i=e[n];let s=r;for(let o=0;o<n;++o){const a=e[o];typeof s[a]>"u"&&(s[a]={}),s=s[a]}s[i]=t}function*$s(r,e){const t=wu(r);for(;;){const{done:n,value:i}=t.next();if(n)break;yield Sp(i,e)}}class bu extends B{constructor(){super();d(this,"_innerObj");d(this,"_toChangeEvent");d(this,"_changedEvent");this._innerObj=[],this.dispose(()=>{if(this.length=0,this._innerObj.length>0)throw new Error("this._innerObj.length > 0");this._toChangeEvent&&this._toChangeEvent.reset(),this._innerObj=void 0})}get toChangeEvent(){return this._toChangeEvent||(this._toChangeEvent=new N),this._toChangeEvent}get changedEvent(){return this._changedEvent||(this._changedEvent=new N),this._changedEvent}_resetArray(t){this._toChangeEvent&&this._toChangeEvent.emit([{start:0,deleteCount:this._innerObj.length,items:t}],this);const{length:n}=t;this._innerObj.length=n;for(let i=0;i<n;++i)this._innerObj[i]=t[i];this._changedEvent&&this._changedEvent.emit(this)}splice(t,n,...i){const{length:s}=this._innerObj;t=t>this._innerObj.length?this._innerObj.length:t,t>s?t=s:t<0&&(t+=s,t<0&&(t=0));const o=this._innerObj.length-t;if(n>o?n=o:n<0&&(n=0),arguments.length===1){this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:this._innerObj.length-t,items:[]}],this);const a=this._innerObj.splice(t);return this._changedEvent&&this._changedEvent.emit(this),a}else if(arguments.length===2){this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:n,items:[]}],this);const a=this._innerObj.splice(t,n);return this._changedEvent&&this._changedEvent.emit(this),a}else{this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:n,items:i}],this);const a=this._innerObj.splice(t,n,...i);return this._changedEvent&&this._changedEvent.emit(this),a}}pop(){if(this._innerObj.length===0)return;if(this._toChangeEvent){const n=this._innerObj.length-1,i=1,s=[];this._toChangeEvent.emit([{start:n,deleteCount:i,items:s}],this)}const t=this._innerObj.pop();return this._changedEvent&&this._changedEvent.emit(this),t}push(...t){if(this._toChangeEvent){const i=this._innerObj.length;this._toChangeEvent.emit([{start:i,deleteCount:0,items:t}],this)}const n=this._innerObj.push(...t);return this._changedEvent&&this._changedEvent.emit(this),n}get length(){return this._innerObj.length}set length(t){if(t<0)throw new Error("value < 0");const{length:n}=this._innerObj;if(n!==t){if(this._toChangeEvent){let i,s,o;n>t?(i=t,s=n-t,o=[]):(i=n,s=0,o=new Array(t-n)),this._toChangeEvent.emit([{start:i,deleteCount:s,items:o}],this)}this._innerObj.length=t,this._changedEvent&&this._changedEvent.emit(this)}}get(t){return this._innerObj[t]}set(t,n){const{length:i}=this._innerObj;if(t<0||t>=i)throw new Error("index < 0 || index >= length");this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:1,items:[n]}],this),this._innerObj[t]=n,this._changedEvent&&this._changedEvent.emit(this)}indexOf(t){return this._innerObj.indexOf(t)}[Symbol.iterator](){return this._innerObj[Symbol.iterator]()}}function dh(r,e,...t){let n=r;for(let i of t){if(!n[i])if(e)n[i]={};else return;n=n[i]}return n}function v_(r,e,t){typeof t>"u"&&(e.endsWith(".gltf")?t="model/gltf+json":e.endsWith(".bin")?t="application/octet-stream":e.endsWith(".glb")?t="model/gltf-binary":e.endsWith(".jpg")||e.endsWith(".jpeg")?t="image/jpeg":e.endsWith(".png")?t="image/png":e.endsWith(".glsl")?t="text/plain":e.endsWith(".json")?t="application/json":e.endsWith(".b3dm")||e.endsWith(".i3dm")||e.endsWith("pnts")||e.endsWith("cmpt")?t="application/octet-stream":console.warn(`save ${e}: MimeType无法确定!`));const n=new Blob([r],{type:t||""});let i=URL.createObjectURL(n);var s=document.createElement("a"),o=new MouseEvent("click");s.download=e,s.href=i,s.dispatchEvent(o),URL.revokeObjectURL(i)}function y_(r,e){const t=document.createElement("a"),n=new MouseEvent("click");t.download=e||"下载",t.href=r,t.dispatchEvent(n)}function __(){return new Promise((r,e)=>{const t=performance.now();requestAnimationFrame(n=>r(n>t))})}const Rl=r=>{let e,t;return t=n=>{n=performance.now(),e=requestAnimationFrame(t),r(n)},e=requestAnimationFrame(t),()=>{cancelAnimationFrame(e)}};function fh(r,e,t=Rl){let n=Number.NEGATIVE_INFINITY,i;function s(u){u-n>e&&i&&(r(...i),i=void 0,n=u)}const o=t&&t(s)||void 0;function a(...u){i=u}return[a,o]}const bp=[];function Pp(r,e,t){if(bp.includes(r)){console.warn(`_loadJs ${r} has loaded before!`),e&&e();return}var n=document.getElementsByTagName("head")[0],i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("src",r),i.onload=i.onreadystatechange=function(){this.readyState&&this.readyState!=="complete"||(bp.push(r),e&&e(),i.onload=i.onreadystatechange=null)},i.onerror=(s,o,a,u,l)=>{t(l)},n.appendChild(i)}function ph(r,e=!0){if(e){const t=globalThis.L;globalThis.L&&(globalThis.L=void 0);const n=globalThis.define;return globalThis.define&&(globalThis.define=void 0),new Promise((i,s)=>{Pp(r,i,s)}).then(()=>(globalThis.define=n,globalThis.L=t,Promise.resolve()))}else return new Promise((t,n)=>{Pp(r,t,n)})}async function Ip(r,e=""){return new Promise((t,n)=>{var i=new Image;i.crossOrigin=e,i.src=r,i.onload=()=>t(i),i.onerror=s=>n(s)})}class w_ extends B{constructor(e){super(),this._owner=e}get owner(){return this._owner}}function E_(r,e){if(r.length%3!==0)throw new Error("positions.length % 3 !== 0");const t=r.length/3;function*n(o){for(let a=0;a<t;++a)yield r[a*3+o]}const i=(e==null?void 0:e.min)??[NaN,NaN,NaN],s=(e==null?void 0:e.max)??[NaN,NaN,NaN];return i[0]=gs(n(0))??NaN,i[1]=gs(n(1))??NaN,i[2]=gs(n(2))??NaN,s[0]=zi(n(0))??NaN,s[1]=zi(n(1))??NaN,s[2]=zi(n(2))??NaN,{min:i,max:s}}async function C_(r,e=fetch){const t=await e(r);return t.ok?await t.arrayBuffer():void 0}function Ll(r,...e){if(r>16)throw new Error("length > 16");const t=new Array(r);for(let n=0;n<r;++n)t[n]=e[n]??0;return t}class Fl{constructor(e,t){this._xyzw=e,this._length=t}set 0(e){this._xyzw.x=e}set 1(e){this._xyzw.y=e}set 2(e){this._xyzw.z=e}set 3(e){this._xyzw.w=e}get 0(){return this._xyzw.x??0}get 1(){return this._xyzw.y??0}get 2(){return this._xyzw.z??0}get 3(){return this._xyzw.w??0}get length(){return this._length}}function S_(r){return new Fl(r,2)}function b_(r){return new Fl(r,3)}function P_(r){return new Fl(r,4)}class I_{constructor(e,t,n,i){this._array=e,this._length=t,this._start=n,this._stride=i}get length(){return this._length}set 0(e){this._array[this._start+0*this._stride]=e}set 1(e){this._array[this._start+1*this._stride]=e}set 2(e){this._array[this._start+2*this._stride]=e}set 3(e){this._array[this._start+3*this._stride]=e}set 4(e){this._array[this._start+4*this._stride]=e}set 5(e){this._array[this._start+5*this._stride]=e}set 6(e){this._array[this._start+6*this._stride]=e}set 7(e){this._array[this._start+7*this._stride]=e}set 8(e){this._array[this._start+8*this._stride]=e}set 9(e){this._array[this._start+9*this._stride]=e}set 10(e){this._array[this._start+10*this._stride]=e}set 11(e){this._array[this._start+11*this._stride]=e}set 12(e){this._array[this._start+12*this._stride]=e}set 13(e){this._array[this._start+13*this._stride]=e}set 14(e){this._array[this._start+14*this._stride]=e}set 15(e){this._array[this._start+15*this._stride]=e}set 16(e){this._array[this._start+16*this._stride]=e}get 0(){return this._array[this._start+0*this._stride]}get 1(){return this._array[this._start+1*this._stride]}get 2(){return this._array[this._start+2*this._stride]}get 3(){return this._array[this._start+3*this._stride]}get 4(){return this._array[this._start+4*this._stride]}get 5(){return this._array[this._start+5*this._stride]}get 6(){return this._array[this._start+6*this._stride]}get 7(){return this._array[this._start+7*this._stride]}get 8(){return this._array[this._start+8*this._stride]}get 9(){return this._array[this._start+9*this._stride]}get 10(){return this._array[this._start+10*this._stride]}get 11(){return this._array[this._start+11*this._stride]}get 12(){return this._array[this._start+12*this._stride]}get 13(){return this._array[this._start+13*this._stride]}get 14(){return this._array[this._start+14*this._stride]}get 15(){return this._array[this._start+15*this._stride]}get 16(){return this._array[this._start+16*this._stride]}}function x_(r,e,t=0,n=1){return new I_(r,e,t,n)}g.Vector=void 0,(r=>{function e(z,...G){if(z=z||Ll(G.length),G.length>z.length)throw new Error("args.length > target.length");return z instanceof Float64Array?z.set(G):x(G,z),z}r.set=e;function t(z,G){const ft=z.length;for(let kt=0;kt<ft;++kt)if(!G(z[kt],kt))return!1;return!0}r.every=t;function n(z,G,ft){const kt=z.length;let ee=ft;for(let _e=0;_e<kt;++_e)ee=G(ee,z[_e],_e);return ee}r.reduce=n;function*i(z){for(let G=0;G<z.length;++G)yield z[G]}r.itr=i;const s=(z,G)=>z+=G*G;function o(z){return n(z,s,0)}r.magnitudeSquared=o;function a(z){const G=o(z);return Math.sqrt(G)}r.magnitude=a;function u(z,G=1e-5){const ft=o(z);return Math.abs(ft-1)<G}r.isNormalized=u;let l;const c=(z,G,ft)=>z+G*l[ft];function h(z,G){return b(z,G),l=G,n(z,c,0)}r.dot=h;let f;const p=(z,G,ft)=>z+=(G-f[ft])*(G-f[ft]);function v(z,G){return b(z,G),f=G,n(z,p,0)}r.distanceSquared=v;function C(z,G){return Math.sqrt(v(z,G))}r.distance=C;let S;const P=(z,G)=>z===S[G];function y(z,G){return b(z,G),S=G,t(z,P)}r.equals=y;let _,m;const w=(z,G)=>Math.abs(z-_[G])<m;function E(z,G,ft=0){return b(z,G),_=G,m=ft,t(z,w)}r.equalsEpsilon=E;function b(z,G){if(z.length!==G.length)throw new Error("left.length !== right.length")}function I(z,G,ft){const kt=z.length;ft=ft||Ll(kt),b(z,ft);for(let ee=0;ee<kt;++ee)ft[ee]=G(z[ee],ee);return ft}r.op1=I;function T(z,G,ft,kt){b(z,G),kt&&b(z,kt);const ee=z.length;kt=kt||Ll(ee);for(let _e=0;_e<ee;++_e)kt[_e]=ft(z[_e],G[_e]);return kt}r.op2=T;const D=z=>z;function x(z,G){return I(z,D,G)}r.clone=x;let O=0;const L=(z,G)=>z*O;function A(z,G,ft){return O=G,I(z,L,ft)}r.multiplyByScalar=A;function J(z,G,ft=0){const kt=o(z);if(kt<=ft)return;const ee=Math.sqrt(kt);return A(z,1/ee,G)}r.normalize=J;function H(z,G){return A(z,-1,G)}r.negate=H;const Z=z=>Math.abs(z);function ct(z,G){return I(z,Z,G)}r.abs=ct;const mt=z=>z-Math.floor(z);function Y(z,G){return I(z,mt,G)}r.fract=Y;const $=(z,G)=>z-G;function K(z,G,ft){return T(z,G,$,ft)}r.subtract=K;const wt=(z,G)=>z+G;function At(z,G,ft){return T(z,G,wt,ft)}r.add=At;const Nt=(z,G)=>z*G;function Ot(z,G,ft){return T(z,G,Nt,ft)}r.multiply=Ot;const jt=(z,G)=>z/G;function ve(z,G,ft){return T(z,G,jt,ft)}r.divide=ve;let Kt;const En=(z,G)=>z*(1-Kt)+G*Kt;function Cn(z,G,ft,kt){return Kt=ft,T(z,G,En,kt)}r.lerp=Cn})(g.Vector||(g.Vector={}));function Al(r,e=0,t=1){return r<e?e:r>t?t:r}class kl extends B{constructor(t,n,i,s,o,a,u,l){super();d(this,"__status");d(this,"_statusChangedEvent");d(this,"_forceCancelFunc");d(this,"_startEvent");d(this,"_progressEvent");d(this,"_completeEvent");d(this,"_cancelEvent");d(this,"_cancelledEvent");d(this,"_errorEvent");d(this,"_finishedEvent");d(this,"_processingID",-1);this._startProcessingFunc=t,this.startFunc=n,this.progressFunc=i,this.completeFunc=s,this.cancelFunc=o,this.cancelledFunc=a,this.errorFunc=u,this.finishedFunc=l,this._status="Initial",this.dispose(()=>{var c;return(c=this._statusChangedEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._startEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._progressEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._completeEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._cancelEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._cancelledEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._errorEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._finishedEvent)==null?void 0:c.destroy()}),this.dispose(()=>this.reset())}get startEvent(){return this._startEvent=this._startEvent||new N,this._startEvent}get progressEvent(){return this._progressEvent=this._progressEvent||new N,this._progressEvent}get completeEvent(){return this._completeEvent=this._completeEvent||new N,this._completeEvent}get cancelEvent(){return this._cancelEvent=this._cancelEvent||new N,this._cancelEvent}get cancelledEvent(){return this._cancelledEvent=this._cancelledEvent||new N,this._cancelledEvent}get errorEvent(){return this._errorEvent=this._errorEvent||new N,this._errorEvent}get finishedEvent(){return this._finishedEvent=this._finishedEvent||new N,this._finishedEvent}_completeFunc(t,n){this.processingID===t&&this._status==="Running"&&(this._status="Completed",this.completeFunc&&this.completeFunc(n),this._completeEvent&&this._completeEvent.emit(n),this.finishedFunc&&this.finishedFunc({status:"Completed",value:n}),this._finishedEvent&&this._finishedEvent.emit({status:"Completed",value:n}))}_cancelFunc(t){this._status==="Running"&&(this._status="Cancelling",this.cancelFunc&&this.cancelFunc(t),this._cancelEvent&&this._cancelEvent.emit(t))}_cancelledFunc(t){this._status==="Cancelling"&&(this._status="Cancelled",this.cancelledFunc&&this.cancelledFunc(t),this._cancelledEvent&&this._cancelledEvent.emit(t),this.finishedFunc&&this.finishedFunc({status:"Cancelled",cancelError:t}),this._finishedEvent&&this._finishedEvent.emit({status:"Cancelled",cancelError:t}))}_errorFunc(t,n){this.processingID===t&&this._status==="Running"&&(this._status="Error",this.errorFunc&&this.errorFunc(n),this._errorEvent&&this._errorEvent.emit(n),this.finishedFunc&&this.finishedFunc({status:"Error",error:n}),this._finishedEvent&&this._finishedEvent.emit({status:"Error",error:n}))}_progressFunc(t,n){this.processingID===t&&this._status==="Running"&&(this.progressFunc&&this.progressFunc(n),this._progressEvent&&this._progressEvent.emit(n))}_startFunc(...t){if(this._status==="Initial"){this._status="Running";const n=++this._processingID,i={completeFunc:this._completeFunc.bind(this,n),errorFunc:this._errorFunc.bind(this,n),progressFunc:this._progressFunc.bind(this,n),cancelFunc:this._cancel.bind(this,n),processingID:n},s=this._startProcessingFunc(i,...t);return this._forceCancelFunc=s,this.startFunc&&this.startFunc(...t),this._startEvent&&this._startEvent.emit(...t),n}else return console.warn("this._status !== 'Initial' but start again!"),-1}set _status(t){if(this.__status!==t){const n=this.__status;this.__status=t,this._statusChangedEvent&&this._statusChangedEvent.emit(t,n)}}get _status(){return this.__status}get processingID(){return this._processingID}get statusChangedEvent(){return this._statusChangedEvent||(this._statusChangedEvent=new N),this._statusChangedEvent}reset(t){this._status==="Running"&&this.cancel(t),this._status==="Cancelled"||this._status==="Error"||this._status==="Completed"?this._status="Initial":this._status==="Cancelling"&&console.warn("Cannot reset! (this._status === 'Cancelling')")}get status(){return this._status}cancel(t,n=this.processingID){return this._cancel(n,t)}_cancel(t,n){if(this.processingID===t)if(this._status==="Running"){if(!this._forceCancelFunc)throw new Error("this._forceCancelFunc is undefined!");this._cancelFunc(n);const i=this._forceCancelFunc(n);if(this._forceCancelFunc=void 0,i&&i instanceof Promise)return i.then(()=>{this._cancelledFunc(n)});this._cancelledFunc(n)}else console.warn("this._status !== 'Running' but cancel")}start(...t){try{return this._startFunc(...t)}catch(n){console.error(`processing start error: ${n}`)}}restart(t,...n){try{return this.isRunning&&this.cancel(t),this.isFinished&&this.reset(t),this.isInitial?this._startFunc(...n):(console.warn("restart failed!"),-1)}catch(i){console.error(`processing restart error: ${i}`)}}get isCompleted(){return this._status==="Completed"}get isCancelled(){return this._status==="Cancelled"}get isCancelling(){return this._status==="Cancelling"}get isError(){return this._status==="Error"}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isFinished(){return this.isCancelled||this.isCompleted||this.isError}}let gh=class extends Error{};function xp(r,e){typeof r=="function"?r(e):r.cancelFunc=e}class mh extends kl{constructor(t=300){super(({progressFunc:n,completeFunc:i,errorFunc:s})=>{const[o,a]=Nl(()=>{if(!this._lastDebounceValue)throw new Error("!this._lastDebounceValue");n([this._lastDebounceValue,this._debouncTimes]),this._debouncTimes=0},this._delayTime);return this._d=o,()=>{a()}});d(this,"_lastDebounceValue");d(this,"_debouncTimes",0);d(this,"_d");this._delayTime=t}get delayTime(){return this._delayTime}debounce(...t){this.isRunning?(++this._debouncTimes,this._lastDebounceValue=t,this._d&&this._d()):console.warn("Debouncing is not running!")}}function Tp(r,e,...t){const n=new AbortController;let i=n.signal,[s,o]=t;if(o!=null&&o.signal)throw console.error("init?.signal"),new Error("init?.signal");o=o||{},o.signal=i;let a=!1;xp(r,()=>{a=!0,n.abort()});let u=fetch(s,o);return e&&(u=u.then(l=>{if(!l.ok)return l;if(!l.body)throw Error("ReadableStream not yet supported in this browser.");const c=l.headers.get("content-length"),h=c?parseInt(c,10):0;let f=0;return new Response(new ReadableStream({start(p){if(!l.body)throw new Error("!response.body");const v=l.body.getReader();C();function C(){v.read().then(({done:S,value:P})=>{if(S){p.close();return}if(!P)throw new Error("!value");if(!e)throw new Error("!progressFunc");f+=P.byteLength,e(f,h),p.enqueue(P),C()}).catch(S=>{p.error(S)})}}}),{status:l.status,statusText:l.statusText,headers:l.headers})}).catch(l=>{throw a?(l instanceof Error&&l.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new gh("fetching cancelled!")):(l instanceof Error&&l.code===20&&console.error("error.code === 20"),l)})),u}function Np(...r){if(r.length>=1)if(typeof r[0]=="function"||typeof r[0]>"u"){const e={};let t=Tp(e,...r);const{cancelFunc:n}=e;if(!n)throw new Error("!cancelResult.cancelFunc");return[n,t]}else return Tp(...r);throw new Error("cancelableFetch args error!")}class T_ extends kl{constructor(t,...n){super(({progressFunc:i,completeFunc:s,errorFunc:o},...a)=>{const u={};let l={loaded:0,total:0};const c=(p,v)=>{l.loaded=p,l.total=v,i(l)},h=this._fetchArgs||a;if(h.length===0)throw new Error("fetchArgs.length === 0");if(Np(u,c,...h).then(t).then(s).catch(p=>{p instanceof gh||o(p)}),!u.cancelFunc)throw new Error("!cancelResult.cancelFunc");return u.cancelFunc});d(this,"_fetchArgs");n.length>0&&(this._fetchArgs=n)}get fetchArgs(){return this._fetchArgs}}function vh(r,e,t,n){const i="_"+e,s="_"+e+"Changed",o=e+"Changed";Object.defineProperties(r.prototype,{[e]:{get(){return typeof this[i]>"u"&&typeof t<"u"&&(this[i]=t),this[i]},set(a){if(typeof this[i]>"u"&&typeof t<"u"&&(this[i]=t),n?!n(this[i],a):this[i]!==a){const u=this[i];this[i]=a,this[s]&&this[s].emit(a,u)}}},[o]:{get(){return typeof this[s]>"u"&&(this[s]=new N,typeof this.dispose<"u"&&this.dispose(()=>this[s].destroy())),this[s]}}})}class yh extends kl{constructor(t,n=!0){super(({progressFunc:i,completeFunc:s,errorFunc:o})=>(this._intervalFunc=i,this._intervalID&&console.error("this._intervalID should be undefined!"),this.leading&&i(),this._intervalID=setInterval(i,this.intervalTime),()=>{if(!this._intervalID)throw console.error("this._intervalID should not be undefined!"),new Error("this._intervalID should not be undefined!");clearInterval(this._intervalID),this._intervalID=void 0}));d(this,"_intervalID");d(this,"_intervalFunc");this.intervalTime=t,this.leading=n,this.dispose(this.intervalTimeChanged.disposableOn(()=>{this._intervalID&&this._intervalFunc&&(clearInterval(this._intervalID),this._intervalID=setInterval(this._intervalFunc,this.intervalTime))}))}}vh(yh,"leading",!0),vh(yh,"intervalTime",500);function N_(r,e){let t,n;const i=new Promise((o,a)=>{n=a,t=globalThis.setTimeout(()=>{t=void 0,o()},r)}),s=o=>{t&&(clearTimeout(t),t=void 0),n&&n(o??new gh("sleep cancel error!"))};if(typeof e=="boolean"&&e)return[s,i];if(e)return xp(e,s),i}class O_{constructor(e=0,t=0,n=0,i,s){d(this,"_processData");d(this,"_lastUpdateTimeStamp",0);this.startTime=e,this.duration=t,this.delay=n,this.proccessFunc=i,this.completeFunc=s,this._processData={ratio:0,timeStamp:0,timeStampFromStart:0,timeStampFromLastUpdate:0}}update(e){const t=(e-this.startTime)/this.duration;t>=0&&(this._processData.ratio=t,this._processData.timeStamp=e,this._processData.timeStampFromStart=e-this.startTime,this._processData.timeStampFromLastUpdate=e-this._lastUpdateTimeStamp,this._lastUpdateTimeStamp=e,this.proccessFunc&&this.proccessFunc(this._processData),t>=1&&this.completeFunc&&this.completeFunc())}start(){this.startTime=performance.now()+this.delay,this._lastUpdateTimeStamp=this.startTime}}class Op extends kl{constructor(t=1e3,n=0,i=Rl){let s;function o(){s&&s()}super(({progressFunc:u,completeFunc:l,errorFunc:c})=>{const h=this.startUpdateFunc&&this.startUpdateFunc(this._base.update.bind(this._base))||void 0;return this._base.startTime=performance.now(),this._base.duration=this.duration,this._base.delay=this.delay,this._base.proccessFunc=u,this._base.completeFunc=()=>{h&&h(),l()},this._base.start(),s=h,o});d(this,"_base");d(this,"duration");d(this,"delay");d(this,"startUpdateFunc");this._base=new O_,this.duration=t,this.delay=n,this.startUpdateFunc=i}get startTime(){return this._base.startTime}}class D_ extends B{constructor(t){super();d(this,"_target",0);d(this,"_current",0);d(this,"_start",0);d(this,"_timing",new Op(Number.POSITIVE_INFINITY));d(this,"_currentChanged");this._duration=t,this._timing.progressFunc=({ratio:n})=>{n=n<0?0:n>1?1:n;const i=this._start*(1-n)+this._target*n;this._current=i,this._currentChanged&&this._currentChanged.emit(this._target,this._current)},this.dispose(()=>{this._timing.isRunning&&this._timing.cancel(),this._timing.destroy()})}reset(t,n=t){this._timing.isRunning&&this._timing.cancel(),this._target=t,this._current=n,this._start=t}set target(t){if(this._target!==t){this._target=t,this._timing.isRunning&&this._timing.cancel(),this._timing.reset(),this._start=this._current;const n=Math.abs(this._target-this._start);this._timing.duration=n*this._duration,this._timing.start()}}get target(){return this._target}get current(){return this._current}get currentChanged(){return this._currentChanged||(this._currentChanged=new N),this._currentChanged}}function Dp(r,e){e=e||[];const t=r.parentNode;return t?Dp(t,e.concat(t)):e}function M_(r){const e=r.composedPath&&r.composedPath()||r.path,t=r.target;if(e!=null)return e.indexOf(globalThis)<0?e.concat(globalThis):e;if(t===globalThis)return[globalThis];if(t===null)throw new Error("target === null");return[t].concat(Dp(t),globalThis)}function an(r,e=!1){const{offsetX:t,offsetY:n}=r;let i=t,s=n;{const o=M_(r);for(let a=0;a<o.length;++a){const u=o[a];if(u!==r.currentTarget&&u instanceof HTMLElement)i+=u.clientLeft,s+=u.clientTop,i+=u.offsetLeft,s+=u.offsetTop;else break}}return e?[i*globalThis.devicePixelRatio,s*globalThis.devicePixelRatio]:[i,s]}function Yo(r,e=!1){const t=r.target,n=r.currentTarget||r.__xbsj_lastCurrentTarget__;if(!t||!n)return[r.clientX,r.clientY];const i=t.getBoundingClientRect(),s=n.getBoundingClientRect(),o=i.left+r.offsetX,a=i.top+r.offsetY,u=o-s.left,l=a-s.top;return e?[u*globalThis.devicePixelRatio,l*globalThis.devicePixelRatio]:[u,l]}class Mp extends B{constructor(t){super();d(this,"_clickEvent",new N);d(this,"_dbclickEvent",new N);d(this,"_downEvent",new N);d(this,"_upEvent",new N);d(this,"_moveEvent",new N);d(this,"_debouncing",new mh(300));this.dispose(()=>{this._clickEvent.destroy(),this._dbclickEvent.destroy(),this._downEvent.destroy(),this._upEvent.destroy(),this._moveEvent.destroy(),this._debouncing.destroy()});let n=!1,i=[0,0],s=!1;this._debouncing.progressFunc=([[c,h,f],p])=>{p===1?this._clickEvent.emit(c,h,f):p>=2?this._dbclickEvent.emit(c,h,f):console.error("point click should not be here!")},this._debouncing.start(),this.dispose(()=>{this._debouncing.isRunning&&this._debouncing.cancel(),this._debouncing.destroy()});const o=c=>{n=!0;const[h,f]=an(c);i[0]=h,i[1]=f,this._downEvent.emit(h,f,c)},a=c=>{const[h,f]=an(c);n&&!s&&this._debouncing.debounce(h,f,c),n=!1,s=!1,this._upEvent.emit(h,f,c)},u=c=>{const[h,f]=an(c);if(n&&!s){const[p,v]=i;(Math.abs(h-p)>3||Math.abs(f-v)>3)&&(s=!0)}this._moveEvent.emit(h,f,c)},l=()=>{n=!1,s=!1};t.addEventListener("pointerdown",o),t.addEventListener("pointerup",a),t.addEventListener("pointermove",u),t.addEventListener("pointerout",l),this.dispose(()=>{t.removeEventListener("pointerdown",o),t.removeEventListener("pointerup",a),t.removeEventListener("pointermove",u),t.removeEventListener("pointerout",l)})}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}get downEvent(){return this._downEvent}get upEvent(){return this._upEvent}get moveEvent(){return this._moveEvent}}class _h extends B{constructor(){super();d(this,"_pickRectEvent",this.disposeVar(new N));d(this,"_updateRectEvent",this.disposeVar(new N));d(this,"_pointerActionEvent",this.disposeVar(new N));d(this,"_active",this.disposeVar(V(!1)));d(this,"_pickRect",{left0:0,top0:0,left1:0,top1:0});let t=0,n=0,i=0,s=0;this.dispose(this._pointerActionEvent.disposableOn(({type:o,left:a,top:u})=>{o==="PointerDown"?(this._active.value=!0,t=a,n=u,i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerMove"?this._active.value&&(i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerUp"&&this._active.value&&(this._active.value=!1,i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect))}))}_setPickRect({left0:t,left1:n,top0:i,top1:s}){this._pickRect.left0=t,this._pickRect.left1=n,this._pickRect.top0=i,this._pickRect.top1=s}pointerDown(t,n){this._pointerActionEvent.emit({type:"PointerDown",left:t,top:n})}pointerMove(t,n){this._pointerActionEvent.emit({type:"PointerMove",left:t,top:n})}pointerUp(t,n){this._pointerActionEvent.emit({type:"PointerUp",left:t,top:n})}reset(){this._setPickRect({left0:0,top0:0,left1:0,top1:0}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect)}get activeEvent(){return this._active.changed}get updateRectEvent(){return this._updateRectEvent}get pickRectEvent(){return this._pickRectEvent}static getLeftTopAndSize(t,n){n=n||{left:0,top:0,width:0,height:0,forward:!0};const{left0:i,top0:s,left1:o,top1:a}=t;return n.width=Math.abs(i-o),n.height=Math.abs(s-a),n.left=Math.min(i,o),n.top=Math.min(s,a),n.forward=o>i,n}static contains(t,n,i){const{left:s,top:o,width:a,height:u}=i;return t>s&&t<=s+a&&n>=o&&n<=o+u}}class R_ extends _h{constructor(e){super();const t=this.disposeVar(new Mp(e));this.dispose(t.downEvent.disposableOn((o,a,u)=>u.altKey&&this.pointerDown(o,a))),this.dispose(t.moveEvent.disposableOn((o,a)=>this.pointerMove(o,a))),this.dispose(t.upEvent.disposableOn((o,a)=>this.pointerUp(o,a)));const n=document.createElement("div");n.style.backgroundColor="rgba(0, 0, 0, 0)",n.style.border="2px dashed red",n.style.position="absolute",n.style.boxSizing="border-box",n.style.pointerEvents="none",n.style.height="0px",n.style.width="0px",n.style.left="0px",n.style.top="0px",n.style.display="none",e.appendChild(n),this.dispose(()=>e.removeChild(n)),this.dispose(this.activeEvent.disposableOn(o=>{n.style.display=o?"block":"none"}));const i=()=>{this.reset()};e.addEventListener("contextmenu",i),this.dispose(()=>e.removeEventListener("contextmenu",i));const s={left:0,top:0,width:0,height:0,forward:!1};this.dispose(this.updateRectEvent.disposableOn(o=>{if(_h.getLeftTopAndSize(o,s)){const{left:a,top:u,width:l,height:c}=s;n.style.height=`${c|0}px`,n.style.width=`${l|0}px`,n.style.left=`${a|0}px`,n.style.top=`${u|0}px`}}))}}class Mr extends Error{}function ms(r,e){Wn(r,"_promise_cancel")&&console.warn("setPromiseCancel warn: promise has cancelFunc!"),ci(r,"_promise_cancel",e)}function Jo(r){return Wn(r,"_promise_cancel")}function $o(r){return!!Jo(r)}function wh(r,e){const t=Jo(r);return t?(t(e),!0):!1}function Eh(r){const[e,t]=r;return ms(t,e),t}function Ko(r){let e;const t=new Promise((n,i)=>{e=i,r.then(n).catch(i)});return ms(t,e),t}function L_(r){let e,t;var n=new Promise((i,s)=>{t=r.disposableOn((...o)=>{t&&t(),i(o)}),e=o=>{t&&t(),s(o)}});return[e,n]}function F_(r){const e=new N,t=new N;return r.then(n=>{e.isDestroyed()||e.emit(n)}).catch(n=>{t.isDestroyed()||t.emit(n)}),[e,t]}class Ch extends B{constructor(){super();d(this,"_cancelled",!1);d(this,"_cancelError");d(this,"_promiseSet",new Set);d(this,"_disposer")}get disposer(){return this._disposer=this._disposer||new B,this._disposer}destroyImp(){this.finally()}cancel(t){var n;if(!this._cancelled){this._cancelled=!0,(n=this._disposer)==null||n.destroy(),this._cancelError=t;for(let i of this._promiseSet)wh(i);this._promiseSet.clear()}}get cancelFuncsNum(){return Su(this._promiseSet,t=>t+1,0)}finally(){this._disposer&&!this._disposer.isDestroyed()&&this._disposer.destroy(),this._promiseSet.clear()}check(){if(this._cancelled)throw this._cancelError??new Mr("cancel from CancelManager!")}promise(t){return this._promiseSet.add(t),t.finally(()=>(this._promiseSet.delete(t),this.check()))}promiseAny(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),$o(s)&&n.push(Jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.any(i).finally(()=>(n.forEach(s=>s(new Mr("cancel from promiseAny!"))),n.length=0))}promiseAll(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),$o(s)&&n.push(Jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.all(i).finally(()=>(n.forEach(s=>s(new Mr("cancel from promiseAll!"))),n.length=0))}promiseRace(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),$o(s)&&n.push(Jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.race(i).finally(()=>(n.forEach(s=>s(new Mr("cancel from promiseRace!"))),n.length=0))}}class Le extends B{constructor(t){super();d(this,"_status","Initial");d(this,"_completeEvent");d(this,"_errorEvent");d(this,"_completeFunc");d(this,"_errorFunc");d(this,"_cancelFunc");d(this,"_runningId",-1);this._startFunc=t,this.dispose(()=>this.isRunning&&this.cancel())}get errorEvent(){return this._errorEvent||(this._errorEvent=new N),this._errorEvent}get completeEvent(){return this._completeEvent||(this._completeEvent=new N),this._completeEvent}get errorFunc(){return this._errorFunc}get completeFunc(){return this._completeFunc}set errorFunc(t){this._errorFunc!==t&&(this._errorFunc=t)}set completeFunc(t){this._completeFunc!==t&&(this._completeFunc=t)}start(...t){if(this._status!=="Initial")return;const n=++this._runningId;this._status="Running",this._cancelFunc=this._startFunc({completeFunc:i=>{var s;n===this._runningId&&this._status==="Running"&&(this._status="Completed",this._completeFunc&&this._completeFunc(i),(s=this._completeEvent)==null||s.emit(i))},errorFunc:i=>{var s;n===this._runningId&&this._status==="Running"&&(this._status="Error",this._errorFunc&&this._errorFunc(i),(s=this._errorEvent)==null||s.emit(i))},runningingID:n},...t)}cancel(t=new Mr("")){var n;if(this._status==="Running"){if(!this._cancelFunc)throw new Error("!this._cancelFunc");this._status="Error",this._errorFunc&&this._errorFunc(t),(n=this._errorEvent)==null||n.emit(t),this._cancelFunc(t),this._cancelFunc=void 0}}reset(){this._status==="Running"&&console.error("processing cannot reset while running. you can first cancel it!"),(this._status==="Completed"||this._status==="Error")&&(this._status="Initial")}get status(){return this._status}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isCompleted(){return this._status==="Completed"}get isError(){return this._status==="Error"}get runningId(){return this._runningId}restart(t=new Mr(""),...n){this.isRunning&&this.cancel(t),this.reset(),this.start(...n)}restartIfNotRunning(...t){this.isRunning||(this.reset(),this.start(...t))}}function Pu(r){return(e,...t)=>{const n=new Ch,{completeFunc:i,errorFunc:s}=e,o=r(n,...t).then(i).catch(s).finally(()=>n.destroy());return ms(o,n.cancel.bind(n)),a=>wh(o,a)}}class A_ extends Le{constructor(){super(({errorFunc:t},n,i)=>{try{const[s,o]=Nl(n,i);return this._doFunc=s,o}catch(s){return t(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class k_ extends Le{constructor(t,n){super(({errorFunc:i})=>{try{const[s,o]=Nl(t,n);return this._doFunc=s,o}catch(s){return i(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}function V_(r){return new Le(Pu((e,...t)=>e.promise(r(...t))))}function B_(r,...e){return new Le(Pu(t=>t.promise(r(...e))))}function Vl(r){return V_((...e)=>{const t=r(...e);return $o(t)?t:Ko(t)})}function Sh(r,...e){return B_(()=>{const t=r(...e);return $o(t)?t:Ko(t)})}function j_(r){let e;const t=new Promise((n,i)=>{e=()=>{r(),i()}});return ms(t,e),t}function z_(r,...e){const t=new Ch,n=r(t,...e).finally(()=>t.destroy());return ms(n,t.cancel.bind(t)),n}function Hn(r){return new Le(Pu(r))}function U_(r,...e){return new Le(Pu(t=>r(t,...e)))}function Rp(r,...e){const t=new AbortController;let n=t.signal,[i,s]=e;if(s!=null&&s.signal)throw console.error("init?.signal"),new Error("init?.signal");s=s||{},s.signal&&console.warn("revocableFetch error: init.signal would be override!"),s.signal=n;let o=!1;const a=()=>{o=!0,t.abort()};let u=fetch(i,s);return r&&(u=u.then(l=>{if(!l.ok)return l;if(!l.body)throw Error("ReadableStream not yet supported in this browser.");const c=l.headers.get("content-length");c||console.warn("response.headers.get('content-length') is undefined... cannot get contentLength!");const h=c?parseInt(c,10):0;let f=0;return new Response(new ReadableStream({start(p){if(!l.body)throw new Error("!response.body");const v=l.body.getReader();C();function C(){v.read().then(({done:S,value:P})=>{if(S){p.close();return}if(!P)throw new Error("!value");if(!r)throw new Error("!progressFunc");f+=P.byteLength,r(f,h),p.enqueue(P),C()}).catch(S=>{p.error(S)})}}}),{status:l.status,statusText:l.statusText,headers:l.headers})}).catch(l=>{throw o?(l instanceof Error&&l.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new Mr(`fetching cancelled! error: ${l}`)):(l instanceof Error&&l.code===20&&console.error("error.code === 20"),l)})),ms(u,a),u}function G_(r,...e){return Rp(r,...e)}function bh(...r){return Rp(void 0,...r)}function W_(){return Vl(bh)}function H_(...r){return Sh(bh,...r)}function Ph(r,...e){let t=-1;var n=new Promise((i,s)=>{r.isRunning&&r.cancel(),r.reset();const o=new B;o.dispose(r.completeEvent.disposableOn(a=>{if(i(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),o.dispose(r.errorEvent.disposableOn(a=>{if(s(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),r.start(...e),t=r.runningId});return[i=>t===r.runningId&&r.isRunning&&r.cancel(i),n]}function di(r,e,...t){try{return e(...t)}catch(n){r(n)}}function q_(){return new Le(({completeFunc:r,errorFunc:e},t)=>Xo(()=>di(e,()=>{t&&t(),r()})))}function X_(r){return new Le(({completeFunc:e,errorFunc:t})=>Xo(()=>di(t,()=>{r&&r(),e()})))}function Y_(){return new Le(({completeFunc:r,errorFunc:e},t)=>_u(()=>{di(e,()=>{t&&t(),r()})}))}function J_(r){return new Le(({completeFunc:e,errorFunc:t})=>_u(()=>{di(t,()=>{r&&r(),e()})}))}function Lp(){return new Le(({completeFunc:r,errorFunc:e},t,n)=>ah(()=>{di(e,()=>{t&&t(),r()})},n??1e3))}function Fp(r,e){return new Le(({completeFunc:t,errorFunc:n})=>ah(()=>{di(n,()=>{r&&r(),t()})},e??1e3))}function $_(){return new Le(({errorFunc:r},e,t=1e3)=>oh(()=>di(r,e),t))}function K_(r,e=1e3){return new Le(({errorFunc:t})=>oh(()=>di(t,r),e))}function Iu(){return new Le(({errorFunc:r},e)=>Ol(t=>di(r,e,t)))}function Zo(r){return new Le(({errorFunc:e})=>Ol(t=>di(e,r,t)))}function xu(r,...e){let t,n;const i=new Promise((o,a)=>{n=a,t=globalThis.setTimeout(()=>{t=void 0,o(e)},r)});return ms(i,o=>{t&&(clearTimeout(t),t=void 0),n&&n(o??new Mr("sleep cancel error!"))}),i}function Z_(){return Vl(xu)}function Q_(r,...e){return Sh(xu,r,...e)}function Ks(r,e,...t){return r.promise(Eh(Ph(Hn(async(n,...i)=>(r.disposer.dispose(()=>{n.isDestroyed()||n.cancel()}),await e(n,...i))),...t)))}function t0(r,e,...t){return r.promise(Eh(Ph(e,...t)))}class e0 extends Le{constructor(){super(({errorFunc:t},n,i)=>{try{const[s,o]=fh(n,i);return this._doFunc=s,o}catch(s){return t(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class n0 extends Le{constructor(t,n){super(({errorFunc:i})=>{try{const[s,o]=fh(t,n);return this._doFunc=s,o}catch(s){return i(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class Bl extends B{constructor(t=1e3,n=Rl){super();d(this,"_speed");d(this,"_speedChangedEvent");d(this,"_duration");d(this,"_durationChangedEvent");d(this,"_loop");d(this,"startUpdateFunc");d(this,"_updateBindThis");d(this,"_cancelStartUpdateFunc");d(this,"_startTimeStamp");d(this,"_playingChangedEvent");d(this,"_startPlayingEvent");d(this,"_stopPlayingEvent");d(this,"_loopChangedEvent");d(this,"_currentTime",this.disposeVar(V(0)));this._speed=1,this._duration=t,this._loop=!1,this.startUpdateFunc=n,this._updateBindThis=this._update.bind(this),this.dispose(()=>{this._cancelStartUpdateFunc&&(this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0)}),this._startTimeStamp=Number.NaN,this.dispose(()=>{this._startPlayingEvent&&this._startPlayingEvent.reset(),this._stopPlayingEvent&&this._stopPlayingEvent.reset()})}get startPlayingEvent(){return this._startPlayingEvent=this._startPlayingEvent||new N,this._startPlayingEvent}get stopPlayingEvent(){return this._stopPlayingEvent=this._stopPlayingEvent||new N,this._stopPlayingEvent}get currentTimeChangedEvent(){return this._currentTime.changed}get loopChangedEvent(){return this._loopChangedEvent=this._loopChangedEvent||new N,this._loopChangedEvent}set loop(t){this._loop!==t&&(this._loop=t,this._loopChangedEvent&&this._loopChangedEvent.emit(this._loop))}get loop(){return this._loop}_update(t){if(Number.isNaN(this._startTimeStamp))console.warn("Number.isNaN(this._startTimeStamp)");else{const n=(t-this._startTimeStamp)*this._speed;this._setCurrentTimeInner(n)}}get currentTime(){return this._currentTime.value}set currentTime(t){this._setCurrentTimeInner(t),this._resetStartTime()}_setCurrentTimeInner(t){this._currentTime.value!==t&&(this._duration<=0?this._currentTime.value=0:t<0?this.loop?this._currentTime.value=this._duration+t%this._duration:(this._currentTime.value=0,this.playing&&this._stopPlaying()):t>this._duration?this.loop?this._currentTime.value=t%this._duration:(this._currentTime.value=this._duration,this.playing&&this._stopPlaying()):this._currentTime.value=t)}get durationChangedEvent(){return this._durationChangedEvent||(this._durationChangedEvent=new N),this._durationChangedEvent}get duration(){return this._duration}set duration(t){var n;if(t<0)console.warn("duration sholud greater than 0!");else if(this._duration!==t){const i=this._duration;this._duration=t,this._currentTime.value>this._duration&&(this._currentTime.value=this._duration),(n=this._durationChangedEvent)==null||n.emit(this._duration,i)}}get speedChangedEvent(){return this._speedChangedEvent||(this._speedChangedEvent=new N),this._speedChangedEvent}get speed(){return this._speed}set speed(t){var n;if(this._speed!==t&&t!==0){const i=this._speed;this._speed=t,this._resetStartTime(),(n=this._speedChangedEvent)==null||n.emit(this._speed,i)}}_resetStartTime(){this._startTimeStamp=performance.now()-this._currentTime.value/this._speed}_startPlaying(){var t,n;this._resetStartTime(),this._cancelStartUpdateFunc=this.startUpdateFunc(this._updateBindThis),(t=this._startPlayingEvent)==null||t.emit(this._currentTime.value),(n=this._playingChangedEvent)==null||n.emit(!0)}_stopPlaying(){var t,n;if(!this._cancelStartUpdateFunc)throw new Error("this._cancelStartUpdateFunc is undefined!");this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0,(t=this._stopPlayingEvent)==null||t.emit(this._currentTime.value),(n=this._playingChangedEvent)==null||n.emit(!1)}get playingChangedEvent(){return this._playingChangedEvent||(this._playingChangedEvent=new N),this._playingChangedEvent}get playing(){return!!this._cancelStartUpdateFunc}set playing(t){!!this._cancelStartUpdateFunc!==t&&(t?this._startPlaying():this._stopPlaying())}}class Tu extends B{constructor(t){super();d(this,"_stop",this.disposeVar(V(0)));d(this,"_current",this.disposeVar(V(0)));d(this,"_start",this.disposeVar(V(0)));d(this,"_player",this.disposeVar(new Bl(200)));this.dispose(this._player.currentTimeChangedEvent.disposableOn(n=>{let i=n/this._player.duration;i=i>1?1:i<0?0:i;const s=this._start.value,o=this._stop.value;this._current.value=s+(o-s)*i})),this.duration=t}get current(){return this._current.value}get currentChanged(){return this._current.changed}get source(){return this._start.value}get sourceChanged(){return this._start.changed}get target(){return this._stop.value}get targetChanged(){return this._stop.changed}get duration(){return this._player.duration}set duration(t){this._player.duration=t}set target(t){this._start.value=this._current.value,this._stop.value=t,this._player.currentTime=0,this._player.playing=!0}reset(t){this._start.value=t,this._current.value=t,this._stop.value=t,this._player.playing=!1}}let Ap=-1;class ae extends N{constructor(e,t,n,i){super(),this._domElement=e,this._type=t,this.callback=i;const s=o=>(o.__xbsj_listenerNo__=++Ap,o.__xbsj_listenerTime__=Date.now(),o.__xbsj_lastCurrentTarget__=o.currentTarget,this.emit(o),this.callback&&this.callback(o));this._domElement.addEventListener(this._type,s,n),this.dispose(()=>this._domElement.removeEventListener(this._type,s,n))}static getLastLisenNo(){return Ap}static getCurrentTarget(e){return e.__xbsj_lastCurrentTarget__}static getListenerNo(e){return e.__xbsj_listenerNo__}static getListenerTime(e){return e.__xbsj_listenerTime__}static on(e,t){const n=ae.getLastLisenNo();return e.disposableOn(i=>{const s=ae.getListenerNo(i);(s===void 0||s>n)&&t(i)})}get element(){return this._domElement}static create(e,t,n){return new ae(e,t,n)}}class Ih extends B{constructor(){super();d(this,"_clickEvent",this.disposeVar(new N));d(this,"_dbclickEvent",this.disposeVar(new N));d(this,"_pointerdownEvent",this.disposeVar(new N));d(this,"_pointerupEvent",this.disposeVar(new N));d(this,"_pointermoveEvent",this.disposeVar(new N));d(this,"_pointeroutEvent",this.disposeVar(new N));d(this,"dbClickDelayTime",300);d(this,"nativeClickDelayTime",500);d(this,"clickMovementTolerantPixelSize",3);d(this,"debugging",!1);d(this,"_enabled",this.disposeVar(V(!0)));const t=this.disposeVar(Hn(async i=>{do{const s=await Ks(i,u=>new Promise((l,c)=>{u.disposer.dispose(c),u.disposer.dispose(ae.on(this._pointerdownEvent,l))})),o=an(s);if(this.debugging&&console.log(`鼠标按下 ${o.toString()}`),!await Ks(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l(!0),this.nativeClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(ae.on(this._pointermoveEvent,f=>{const[p,v]=an(f),[C,S]=o;(Math.abs(p-C)>3||Math.abs(v-S)>3)&&l(!1)})),u.disposer.dispose(ae.on(this._pointeroutEvent,()=>l(!1))),u.disposer.dispose(ae.on(this._pointerupEvent,()=>l(!0)))}))){this.debugging&&console.log("取消1");continue}const a=await Ks(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l("timeout"),this.dbClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(ae.on(this._pointermoveEvent,f=>{const[p,v]=an(f),[C,S]=o;(Math.abs(p-C)>3||Math.abs(v-S)>3)&&l("moved")})),u.disposer.dispose(ae.on(this._pointerdownEvent,l)),u.disposer.dispose(ae.on(this._pointeroutEvent,()=>l("pointouted"))),u.disposer.dispose(ae.on(this._pointerupEvent,()=>l("pointuped")))}));if(typeof a=="string"){this.debugging&&console.log(`触发单击事件!取消双击监听!error: ${a}`),this._clickEvent.emit(s);continue}if(!await Ks(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l(!1),this.nativeClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(ae.on(this._pointermoveEvent,f=>{const[p,v]=an(f),[C,S]=o;(Math.abs(p-C)>3||Math.abs(v-S)>3)&&l(!1)})),u.disposer.dispose(ae.on(this._pointeroutEvent,()=>l(!1))),u.disposer.dispose(ae.on(this._pointerupEvent,()=>l(!0)))}))){this.debugging&&console.log("取消2");continue}this.debugging&&console.log("触发双击事件!"),this._dbclickEvent.emit(a)}while(!0)})),n=i=>{i?t.restart():t.isRunning&&t.cancel()};n(this.enabled),this.dispose(this.enabledChanged.disposableOn(n))}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}pointerDown(t){this._pointerdownEvent.emit(t)}pointerUp(t){this._pointerupEvent.emit(t)}pointerMove(t){this._pointermoveEvent.emit(t)}pointerOut(t){this._pointeroutEvent.emit(t)}get enabled(){return this._enabled.value}set enabled(t){this._enabled.value=t}get enabledChanged(){return this._enabled.changed}}class r0 extends B{constructor(t,n){super();d(this,"_pointerClick",this.disposeVar(new Ih));this._div=t;const{div:i,pointerClick:s}=this,o=c=>s.pointerDown(c),a=c=>s.pointerMove(c),u=c=>s.pointerOut(c),l=c=>s.pointerUp(c);i.addEventListener("pointerdown",o,n),i.addEventListener("pointermove",a,n),i.addEventListener("pointerout",u,n),i.addEventListener("pointerup",l,n),this.dispose(()=>{i.removeEventListener("pointerdown",o,n),i.removeEventListener("pointermove",a,n),i.removeEventListener("pointerout",u,n),i.removeEventListener("pointerup",l,n)})}get div(){return this._div}get pointerClick(){return this._pointerClick}get clickEvent(){return this.pointerClick.clickEvent}get dbclickEvent(){return this.pointerClick.dbclickEvent}}class kp extends B{constructor(){super();d(this,"_hoverEvent",this.disposeVar(new N));d(this,"_hoverOutEvent",this.disposeVar(new N));d(this,"_pointerdownEvent",this.disposeVar(new N));d(this,"_pointerupEvent",this.disposeVar(new N));d(this,"_pointermoveEvent",this.disposeVar(new N));d(this,"_pointeroutEvent",this.disposeVar(new N));d(this,"delayTime",800);const t=this.disposeVar(Lp()),n=l=>{this._hoverOutEvent.emit()},i=l=>{this._hoverOutEvent.emit()};let s;const o=()=>{if(!s){console.warn("!lastPointerEvent");return}this._hoverEvent.emit(s)},a=l=>{s=l,t.restart(void 0,o,this.delayTime),this._hoverOutEvent.emit()},u=l=>{t.cancel(),this._hoverOutEvent.emit()};this.dispose(this._pointerdownEvent.disposableOn(n)),this.dispose(this._pointerupEvent.disposableOn(i)),this.dispose(this._pointermoveEvent.disposableOn(a)),this.dispose(this._pointeroutEvent.disposableOn(u))}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}pointerDown(t){this._pointerdownEvent.emit(t)}pointerUp(t){this._pointerupEvent.emit(t)}pointerMove(t){this._pointermoveEvent.emit(t)}pointerOut(t){this._pointeroutEvent.emit(t)}}class i0 extends B{constructor(t,n=1500){super();d(this,"_hoverEvent",new N);d(this,"_hoverOutEvent",new N);const i=new mh(n);this.dispose(()=>i.destroy());let s=0,o=0,a;i.progressFunc=()=>this._hoverEvent.emit(s,o,a);const u=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=an(f),i.debounce(),this._hoverOutEvent.emit()},l=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=an(a),i.debounce(),this._hoverOutEvent.emit()},c=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=an(a),i.debounce(),this._hoverOutEvent.emit()},h=f=>{i.isRunning&&i.cancel(),this._hoverOutEvent.emit()};t.addEventListener("pointerdown",u),t.addEventListener("pointerup",l),t.addEventListener("pointermove",c),t.addEventListener("pointerout",h),this.dispose(()=>{t.removeEventListener("pointerdown",u),t.removeEventListener("pointerup",l),t.removeEventListener("pointermove",c),t.removeEventListener("pointerout",h)})}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}}class Vp extends B{constructor(t,n={}){super();d(this,"_needRedrawEvent");d(this,"_needPickRedrawEvent");d(this,"_id",qo());d(this,"_clickEvent");d(this,"_clickOutEvent");d(this,"_dbclickEvent");d(this,"_dbclickOutEvent");d(this,"_actived",!1);d(this,"_activedChanged");d(this,"_hovered",!1);d(this,"_hoveredChanged");d(this,"_selected",!1);d(this,"_selectedChanged");d(this,"_opacity",1);d(this,"_opacityChanged");d(this,"_show",!0);d(this,"_showChanged");this._canvasPrimitivesContext=t;const{needRedraw:i=!0,needPickRedraw:s=!0}=n;i&&(this._needRedrawEvent=new N),s&&(this._needPickRedrawEvent=new N),this._canvasPrimitivesContext.addPoi(this),this.dispose(()=>this._canvasPrimitivesContext.removePoi(this)),this.dispose(this.showChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()})),this.dispose(this.opacityChanged.disposableOn(()=>this.needRedraw()))}get id(){return this._id}get context(){return this._canvasPrimitivesContext}needRedraw(){this._needRedrawEvent?this._needRedrawEvent.emit():console.warn("no needRedrawEvent!")}needPickRedraw(){this._needPickRedrawEvent?this._needPickRedrawEvent.emit():console.warn("no needPickRedrawEvent!")}hasClickEvent(){return!!this._clickEvent}get clickEvent(){return this._clickEvent=this._clickEvent||new N,this._clickEvent}hasClickOutEvent(){return!!this._clickOutEvent}get clickOutEvent(){return this._clickOutEvent=this._clickOutEvent||new N,this._clickOutEvent}hasDbclickEvent(){return!!this._dbclickEvent}get dbclickEvent(){return this._dbclickEvent=this._dbclickEvent||new N,this._dbclickEvent}hasDbclickOutEvent(){return!!this._dbclickOutEvent}get dbclickOutEvent(){return this._dbclickOutEvent=this._dbclickOutEvent||new N,this._dbclickOutEvent}set actived(t){this._actived!==t&&(this._actived=t,this._activedChanged&&this._activedChanged.emit(t,this))}get actived(){return this._actived}get activedChanged(){return this._activedChanged=this._activedChanged||new N,this._activedChanged}set hovered(t){this._hovered!==t&&(this._hovered=t,this._hoveredChanged&&this._hoveredChanged.emit(t,this))}get hovered(){return this._hovered}get hoveredChanged(){return this._hoveredChanged=this._hoveredChanged||new N,this._hoveredChanged}set selected(t){this._selected!==t&&(this._selected=t,this._selectedChanged&&this._selectedChanged.emit(t,this))}get selected(){return this._selected}get selectedChanged(){return this._selectedChanged=this._selectedChanged||new N,this._selectedChanged}set opacity(t){this._opacity!==t&&(this._opacity=t,this._opacityChanged&&this._opacityChanged.emit(t,this))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new N,this._opacityChanged}set show(t){this._show!==t&&(this._show=t,this._showChanged&&this._showChanged.emit(t,this))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new N,this._showChanged}}class xh extends Vp{constructor(t,n=[0,0],i=0){super(t);d(this,"_winPosAndDepthChanged");this._winPos=n,this._depth=i,this.dispose(this.winPosAndDepthChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()}))}set winPos(t){(this._winPos[0]!==t[0]||this._winPos[1]!==t[1])&&(this._winPos[0]=t[0],this._winPos[1]=t[1],this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get winPos(){return this._winPos}set depth(t){this._depth!==t&&(this._depth=t,this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get depth(){return this._depth}get winPosAndDepthChanged(){return this._winPosAndDepthChanged||(this._winPosAndDepthChanged=new N),this._winPosAndDepthChanged}}function Zs(r,e,t,n){const[i,s]=r,[o,a,u,l]=n,c=e[0]*t[0],h=e[1]*t[1],f=i-(c*o+u),p=s-(h*a+l);return{left:f,top:p,right:f+c,bottom:p+h}}function Qs(r,e,t,n,i){r.beginPath(),r.moveTo(e,t),r.lineTo(e-n*.5,t-n*.5),r.arc(e,t-n,n*.7071067811865475,Math.PI*.75,Math.PI*.25),r.lineTo(e,t),r.fillStyle=i,r.fill()}function Bp(r,e,t,n,i,s){r.beginPath(),r.moveTo(e+s,t),r.lineTo(e+n-s,t),r.arcTo(e+n,t,e+n,t+s,s),r.lineTo(e+n,t+i-s),r.arcTo(e+n,t+i,e+n-s,t+i,s),r.lineTo(e+s,t+i),r.arcTo(e,t+i,e,t+i-s,s),r.lineTo(e,t+s),r.arcTo(e,t,e+s,t,s)}function jp(r,e,t,n,i,s){r.font=i;const o=r.measureText(n),a=o.actualBoundingBoxLeft+o.actualBoundingBoxRight,u=Number.isFinite(o.fontBoundingBoxAscent)?o.fontBoundingBoxAscent:o.actualBoundingBoxAscent,l=Number.isFinite(o.fontBoundingBoxDescent)?o.fontBoundingBoxDescent:o.actualBoundingBoxDescent;let c=u+l;r.fillStyle=s,r.fillText(n,e-a*.5,t+c*.5-l)}function zp(r){const{width:e,height:t}=r,n=e instanceof SVGAnimatedLength?e.baseVal.SVG_LENGTHTYPE_PX:e,i=t instanceof SVGAnimatedLength?t.baseVal.SVG_LENGTHTYPE_PX:t,s=document.createElement("canvas");s.width=n,s.height=i;const o=s.getContext("2d");if(!o)throw new Error("!cavnasCtx");return o.drawImage(r,0,0,n,i),s}function Up(r,e){const{width:t,height:n}=r,i=r.getContext("2d");if(!i)throw new Error("!cavnasCtx");const[s,o,a]=e.map(h=>h*255|0),u=i.getImageData(0,0,t,n),l=u.data;for(var c=0;c<l.length;c+=4)l[c]=s,l[c+1]=o,l[c+2]=a;i.putImageData(u,0,0)}function Th(r,e,t,n=[.5,1,0,0],i,s="12px Arial",o=2,a="#FFF",u="#000A"){r.font=s;const l=r.measureText(i),c=l.actualBoundingBoxLeft+l.actualBoundingBoxRight,h=l.fontBoundingBoxAscent+l.fontBoundingBoxDescent,f=e,p=t,v=c+o*2,C=h+o*2,{left:S,top:P,bottom:y}=Zs([f,p],[v,C],[1,1],n);r.fillStyle=u,Bp(r,S,P,v,C,o),r.fill(),r.fillStyle=a,r.fillText(i,S+o,y-o-l.fontBoundingBoxDescent)}function Nu(r){return("00"+r.toString(16).toUpperCase()).substr(-2)}function Ou(r){const[e,t,n,i]=r.map(s=>s*255|0);return`#${Nu(e)}${Nu(t)}${Nu(n)}${Nu(i)}`}function Nh(r,e){const[t,n,i]=e,s=`${t}-${n}-${i}`;let o=Wn(r,s);return o||(o=zp(r),Up(o,e),ci(r,s,o)),o}class s0 extends xh{constructor(t,n,i=[32,32],s=[.5,1,0,0],o="#F00F"){super(t);d(this,"_tooltip","");d(this,"_title","");d(this,"__scale",[1,1]);d(this,"_tooltipAlpha",0);d(this,"_bgColor",[.3,.3,.3,.8]);d(this,"_bgColorHexStr",Ou(this._bgColor));d(this,"_fgColor",[1,1,1,1]);d(this,"_fgColorHexStr",Ou(this._fgColor));this._image=n,this._size=i,this._originRatioAndOffset=s,this._defaultColorStr=o;const a=new Tu(100),u=new Tu(100);this.dispose(()=>{a.destroy(),u.destroy()});const l=()=>{if(this._clickEvent&&!this._clickEvent.empty){const c=(1+.08*u.current)*(1+.08*a.current);this._scale=[c,c],this._tooltipAlpha=a.current}};this.dispose(this.activedChanged.disposableOn(c=>{u.target=c?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(c=>{a.target=c?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(()=>{this.needRedraw()})),this.dispose(u.currentChanged.disposableOn(l)),this.dispose(a.currentChanged.disposableOn(l))}set size(t){const[n,i]=t,[s,o]=this._size;(s!==n||o!==i)&&(this._size[0]=n,this._size[1]=i,this.needRedraw(),this.needPickRedraw())}get size(){return this._size}set _scale(t){const[n,i]=t,[s,o]=this.__scale;(s!==n||o!==i)&&(this.__scale[0]=n,this.__scale[1]=i,this.needRedraw(),this.needPickRedraw())}get _scale(){return this.__scale}set fgColor(t){if(!this._fgColor.every((n,i)=>t[i]===n)){const[n,i,s,o]=t;this._fgColor.splice(0,4,n,i,s,o),this._fgColorHexStr=Ou(this._fgColor),this.needRedraw()}}get fgColor(){return this._fgColor}set bgColor(t){if(!this._bgColor.every((n,i)=>t[i]===n)){const[n,i,s,o]=t;this._bgColor.splice(0,4,n,i,s,o),this._bgColorHexStr=Ou(this._bgColor),this.needRedraw()}}get bgColor(){return this._bgColor}set originRatioAndOffset(t){const[n,i,s,o]=this._originRatioAndOffset,[a,u,l,c]=t;(n!==a||i!==u||s!==l||o!==c)&&(this._originRatioAndOffset.splice(0,4,a,u,l,c),this.needRedraw(),this.needPickRedraw())}get originRatioAndOffset(){return this._originRatioAndOffset}set image(t){this._image!==t&&(this._image=t,this.needRedraw())}get image(){return this._image}set defaultColorStr(t){this._defaultColorStr!==t&&(this._defaultColorStr=t,this.needRedraw())}get defaultColorStr(){return this._defaultColorStr}set tooltip(t){this._tooltip!==t&&(this._tooltip=t,this.needRedraw())}get tooltip(){return this._tooltip}set title(t){this._title!==t&&(this._title=t,this.needRedraw())}get title(){return this._title}draw(t){if(!this._show)return;const[n,i]=this._winPos,s=this._size[0]*this.__scale[0],o=this._size[1]*this.__scale[1],{left:a,top:u}=Zs([n,i],this._size,this.__scale,this._originRatioAndOffset),l=t.globalAlpha;if(t.globalAlpha=this.opacity,this._image){if(this.selected){const c=Nh(this._image,[1,0,0]),{left:h,top:f}=Zs([n,i+3],[s+6,o+6],[1,1],this._originRatioAndOffset);t.drawImage(c,h,f,s+6,o+6)}if(this.actived){const[c,h,f,p]=this._fgColor,v=Nh(this._image,[c,h,f]),{left:C,top:S}=Zs([n,i+4],[s+8,o+8],[1,1],this._originRatioAndOffset);t.drawImage(v,C,S,s+8,o+8)}if(this.hovered){const[c,h,f,p]=this._bgColor,v=Nh(this._image,[c,h,f]),{left:C,top:S}=Zs([n,i+2],[s+4,o+4],[1,1],this._originRatioAndOffset);t.drawImage(v,C,S,s+4,o+4)}t.drawImage(this._image,a,u,s,o)}else t.fillStyle=this._fgColorHexStr,t.fillRect(a,u,s,o);if(this._title!==""&&Th(t,n+20,i-16,[0,.5,0,0],this._title,"14px Arial",4,this._fgColorHexStr,this._bgColorHexStr),t.globalAlpha=l,this._hovered&&this._tooltip!==""){const c=t.globalAlpha;t.globalAlpha=this._tooltipAlpha,Th(t,n,i-42,[.5,1,0,0],this._tooltip,"12px Arial",4,this._fgColorHexStr,this._bgColorHexStr),t.globalAlpha=c}}drawForPick(t,n){if(!this._show)return;const[i,s]=this._winPos,o=n("default"),a=this._size[0]*this.__scale[0],u=this._size[1]*this.__scale[1],{left:l,top:c}=Zs([i,s],this._size,this.__scale,this._originRatioAndOffset);t.fillStyle=o,t.fillRect(l,c,a,u)}}class o0 extends xh{constructor(t){super(t);d(this,"_width",16);d(this,"_text","");d(this,"_fillStyle","#0F0");d(this,"_scale",1);d(this,"_scaleChanged");this.dispose(this.scaleChanged.disposableOn(o=>{this.needRedraw(),this.needPickRedraw()}));const n=this.disposeVar(new Tu(100)),i=this.disposeVar(new Tu(100)),s=()=>{this._clickEvent&&!this._clickEvent.empty&&(this.scale=(1+.1*i.current)*(1+.2*n.current))};this.dispose(i.currentChanged.disposableOn(s)),this.dispose(n.currentChanged.disposableOn(s)),this.dispose(this.activedChanged.disposableOn(o=>{i.target=o?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(o=>{n.target=o?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(o=>{this.needRedraw()}))}set scale(t){this._scale!==t&&(this._scale=t,this._scaleChanged&&this._scaleChanged.emit(t,this))}get scale(){return this._scale}get scaleChanged(){return this._scaleChanged||(this._scaleChanged=new N),this._scaleChanged}set width(t){this._width!==t&&(this._width=t,this.needRedraw(),this.needPickRedraw())}get width(){return this._width}set text(t){this._text!==t&&(this._text=t,this.needRedraw())}get text(){return this._text}set fillStyle(t){this._fillStyle!==t&&(this._fillStyle=t,this.needRedraw())}get fillStyle(){return this._fillStyle}draw(t){if(!this._show)return;const[n,i]=this._winPos,s=t.globalAlpha;t.globalAlpha=this.opacity;const o=this._width*this._scale;this.selected&&Qs(t,n,i+3,o+3,"#F00"),this.actived&&this._clickEvent&&!this._clickEvent.empty&&Qs(t,n,i+5,o+5,"#FFF"),this.hovered?Qs(t,n,i+3,o+3,"#000A"):Qs(t,n,i+1,o+1,"#000A"),Qs(t,n,i,o,this._fillStyle);const a=this._scale>1.2?"bold 14px Arial":"bold 10px Arial";jp(t,n,i-o,this._text,a,"#000"),t.globalAlpha=s}drawForPick(t,n){if(!this._show)return;const[i,s]=this._winPos,o=this._width*this._scale,a=n("default");Qs(t,i,s,o,a)}}const Gp=new ArrayBuffer(4),Wp=new Uint32Array(Gp),to=new Uint8Array(Gp);function Hp(r){if(r>=16777215)throw new Error("uint32 > 0xFFFFFF");return Wp[0]=r,[to[0],to[1],to[2]]}function qp(r,e,t){return to[0]=r,to[1]=e,to[2]=t,to[3]=0,Wp[0]}class Xp extends B{constructor(){super(...arguments);d(this,"_pickColors",new Array(16777215));d(this,"_pickColorIndex",0)}reset(){for(let t=0;t<this._pickColorIndex;++t){const n=this._pickColors[t];if(!n)throw console.error("this._pickColors[i] should not be undefined!"),new Error("this._pickColors[i] should not be undefined!");n.poi=null,n.tag=""}this._pickColorIndex=0}createPickColor(t,n){const i=this._pickColorIndex;++this._pickColorIndex;const s=this._pickColors[i];s?(s.poi=t,s.tag=n):this._pickColors[i]={poi:t,tag:n};const[o,a,u]=Hp(i);return[o,a,u]}getPickInfoFromColor(t,n,i){const s=qp(t,n,i);if(s>=this._pickColorIndex){console.error("index >= this._pickColorIndex");return}const o=this._pickColors[s];if(!o){console.error("!this._pickColors[index]");return}return o}destroyImp(){this.reset()}}const Yp=(r,e)=>e.depth-r.depth;class a0 extends B{constructor(){super();d(this,"_pois",[]);d(this,"_canvasElement");d(this,"_ctx");d(this,"_offscreenCanvasElement");d(this,"_offscreenCanvasElement2");d(this,"_offscreenCtx");d(this,"_offscreenCtx2");d(this,"_size",[0,0]);d(this,"_needRedraw",!1);d(this,"_needPickRedraw",!1);d(this,"_pickColorManager",new Xp);const t=document.createElement("canvas");t.style.width="100%",t.style.height="100%",this._canvasElement=t;const n=t.getContext("2d");if(n===null)throw new Error("cannot get context 2d!");this._ctx=n,this._offscreenCanvasElement=document.createElement("canvas"),this._offscreenCtx=this._offscreenCanvasElement.getContext("2d"),this._offscreenCtx.imageSmoothingEnabled=!1,this._offscreenCanvasElement2=document.createElement("canvas"),this._offscreenCtx2=this._offscreenCanvasElement2.getContext("2d"),this._offscreenCtx2.imageSmoothingEnabled=!1,this.disposeVar(Zo(()=>{const[s,o]=this._size,{clientWidth:a,clientHeight:u}=this._canvasElement;(s!==a||o!==u)&&(this._size[0]=a,this._size[1]=u,this._canvasElement.width=a,this._canvasElement.height=u,this._offscreenCanvasElement.width=a,this._offscreenCanvasElement.height=u,this._offscreenCanvasElement2.width=a,this._offscreenCanvasElement2.height=u,this._dirty()),this._needRedraw&&(this._needRedraw=!1,this._draw())})).start()}get element(){return this._canvasElement}get pois(){return this._pois}_dirty(){this._needRedraw=!0,this._needPickRedraw=!0}get size(){return this._size}addPoi(t){if(typeof Wn(t,"listenHandler")<"u"){console.error("可能有poi重复加载poiManager中!");return}if(this._pois.indexOf(t)!==-1){console.error("同一个poi加了多次!");return}this._pois.push(t),this._dirty();const n=t._needRedrawEvent;if(n){const s=n.on(()=>{this._needRedraw=!0});ci(t,"needRedrawEventHandler",s)}const i=t._needPickRedrawEvent;if(i){const s=i.on(()=>{this._needPickRedraw=!0});ci(t,"needPickRedrawEventHandler",s)}}removePoi(t){const n=this._pois.indexOf(t);if(n===-1){console.error("删除一个不存在的poi!");return}this._pois.splice(n,1),this._dirty();const i=t._needRedrawEvent;if(i){const o=Wn(t,"needRedrawEventHandler");o?i.off(o):console.error("poi没有listenHandler!")}const s=t._needPickRedrawEvent;if(s){const o=Wn(t,"needPickRedrawEventHandler");o?s.off(o):console.error("poi没有listenHandler!")}}_draw(){this._pois.sort(Yp);const[t,n]=this._size;this._ctx.clearRect(0,0,t,n),this._pois.forEach(i=>i.draw(this._ctx))}pick(t,n,i,s){return this._needPickRedraw&&(this._needPickRedraw=!1,this._pickDraw()),this._getPickInfo(t,n,i,s)}_pickDraw(){this._pickColorManager.reset(),this._pois.sort(Yp);const[t,n]=this._size;this._offscreenCtx.clearRect(0,0,t,n),this._pois.forEach(i=>{const s=o=>{const[a,u,l]=this._pickColorManager.createPickColor(i,o);return`rgb(${a}, ${u}, ${l})`};i.drawForPick(this._offscreenCtx,s)})}_getPickInfo(t,n,i,s){const o=this._offscreenCtx.getImageData(t,n,i,s),a=[],u=o.data.length/4;for(let l=0;l<u;++l){const c=o.data[l*4+0],h=o.data[l*4+1],f=o.data[l*4+2];if(o.data[l*4+3]===255){const v=this._pickColorManager.getPickInfoFromColor(c,h,f);if(v&&v.poi&&!a.includes(v)){let C=!0;{const[S,P]=this._size;this._offscreenCtx2.clearRect(0,0,S,P);const y=b=>"rgb(255, 255, 255)";v.poi.drawForPick(this._offscreenCtx2,y);const _=this._offscreenCtx2.getImageData(t,n,i,s),m=_.data[l*4+0],w=_.data[l*4+1],E=_.data[l*4+2];_.data[l*4+3],m===255&&w===255&&E===255||(C=!1)}C&&a.push(v)}}}return a}}class Oh extends B{constructor(){super(...arguments);d(this,"_closeEvent");d(this,"_show",!0);d(this,"_showChanged");d(this,"_opacity",1);d(this,"_opacityChanged");d(this,"_winPos",[0,0]);d(this,"_winPosChanged")}set winPos(t){const[n,i]=t,[s,o]=this._winPos;(n!==s||i!==o)&&(this._winPos[0]=n,this._winPos[1]=i,this._winPosChanged&&this._winPosChanged.emit(this._winPos))}get winPos(){return this._winPos}get winPosChanged(){return this._winPosChanged=this._winPosChanged||new N,this._winPosChanged}set opacity(t){this._opacity!==t&&(this._opacity=t,this._opacityChanged&&this._opacityChanged.emit(this._opacity))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new N,this._opacityChanged}set show(t){this._show!==t&&(this._show=t,this._showChanged&&this._showChanged.emit(this._show))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new N,this._showChanged}get closeEvent(){return this._closeEvent||(this._closeEvent=new N),this._closeEvent}}const Dh=new WeakMap;function Mh(r){if(!Dh.has(r)){const e=new Pl(()=>new r,t=>t.reset());Dh.set(r,e)}return Dh.get(r)}class Rh extends Oh{constructor(){super();d(this,"_div");d(this,"_contentDiv");d(this,"_originOffsetX",0);d(this,"_originOffsetY",0);d(this,"_originRatioX",.5);d(this,"_originRatioY",1);d(this,"_divChanged",new N);const t=document.createElement("div");t.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible;";const n=document.createElement("div");n.style.cssText=`position: absolute; left: ${-this._originOffsetX}px; top: ${-this._originOffsetY}px; transform: translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%); margin: 0; padding: 0; pointer-events: none;`;const i=document.createElement("div");this._contentDiv=i,n.appendChild(i),t.appendChild(n),this._div=t,this.dispose(this._divChanged.disposableOn(()=>{n.style.left=`${-this._originOffsetX}px`,n.style.top=`${-this._originOffsetY}px`,n.style.transform=`translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%)`})),this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get contentDiv(){return this._contentDiv}reset(){}get originOffsetX(){return this._originOffsetX}set originOffsetX(t){this._originOffsetX!==t&&(this._originOffsetX=t,this._divChanged.emit())}get originOffsetY(){return this._originOffsetY}set originOffsetY(t){this._originOffsetY!==t&&(this._originOffsetY=t,this._divChanged.emit())}get originRatioX(){return this._originRatioX}set originRatioX(t){this._originRatioX!==t&&(this._originRatioX=t,this._divChanged.emit())}get originRatioY(){return this._originRatioY}set originRatioY(t){this._originRatioY!==t&&(this._originRatioY=t,this._divChanged.emit())}get element(){return this._div}}class Jp extends B{constructor(t,n){super();d(this,"_floatDiv");d(this,"_show",!1);d(this,"_showChanged");this._customDivClass=t,this._divContainer=n,this.dispose(()=>{this.show=!1})}_updateDivPoi(){if(this._show){const{floatDiv:n}=this;n.element.parentElement||this._divContainer.appendChild(n.element)}else{const{_floatDiv:n}=this;n&&n.element.parentElement&&this._divContainer.removeChild(n.element)}}set show(t){this._show!==t&&(this._show=t,this._updateDivPoi(),this._showChanged&&this._showChanged.emit(t))}get show(){return this._show}get floatDiv(){if(!this._floatDiv){const t=Mh(this._customDivClass).create();this.dispose(()=>{Mh(this._customDivClass).destroy(t)}),this._floatDiv=t}return this._floatDiv}get showChanged(){return this._showChanged||(this._showChanged=new N),this._showChanged}}const u0=["top","bottom","left","right"];function l0(r){return Object.entries(r).map(([e,t])=>u0.includes(e)?`${e}: ${t}px; `:"").join("")}function $p(r,e,t){const n=document.createElement("div");n.style.cssText=`position: absolute; ${l0(t)} background-color: ${r}; border-radius: ${e}px;`;const i='<svg viewBox="0 0 1024 1024" style="display: block;" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2420" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M512 128C300.8 128 128 300.8 128 512s172.8 384 384 384 384-172.8 384-384S723.2 128 512 128zM512 832c-179.2 0-320-140.8-320-320s140.8-320 320-320 320 140.8 320 320S691.2 832 512 832z" p-id="2421" fill="#ffffff"></path><path d="M672 352c-12.8-12.8-32-12.8-44.8 0L512 467.2 396.8 352C384 339.2 364.8 339.2 352 352S339.2 384 352 396.8L467.2 512 352 627.2c-12.8 12.8-12.8 32 0 44.8s32 12.8 44.8 0L512 556.8l115.2 115.2c12.8 12.8 32 12.8 44.8 0s12.8-32 0-44.8L556.8 512l115.2-115.2C684.8 384 684.8 364.8 672 352z" p-id="2422" fill="#ffffff"></path></svg>';return n.innerHTML=i,n}function Kp(r,e,t="rgba(0,0,0,0.7)"){const n=document.createElement("div");n.style.cssText=`margin: 0 auto; width: ${r}px; height: ${e}px; position: relative; pointer-events: none;`;const i=document.createElement("div");return i.style.cssText=`position: absolute; left: 0px; top: 0px; width: 0; height: 0; border-left: ${r*.5}px solid transparent; border-right: ${r*.5}px solid transparent; border-top: ${e}px solid ${t};`,n.appendChild(i),[n,i]}class Zp extends Rh{constructor(){super();d(this,"_borderDiv");d(this,"_closeDiv");d(this,"_innerContentDiv");d(this,"_colorStr","rgba(0, 0, 0, 0.7)");d(this,"_divColorChanged",new N);d(this,"_borderRadius",10);const t=document.createElement("div");t.style.cssText=`position: relative; background-color: ${this._colorStr}; border-radius: ${this._borderRadius}px; padding: 5px; pointer-events: all;`,this._borderDiv=t;const n=$p(this._colorStr,10,{top:3,right:3}),[i,s]=Kp(2*this._borderRadius,2*this._borderRadius,this._colorStr),o=document.createElement("div");this._innerContentDiv=o,t.appendChild(o),t.appendChild(n),this.contentDiv.appendChild(t),this.contentDiv.appendChild(i),n.style.opacity="0.1",n.onmouseenter=()=>{n.style.opacity="1.0"},n.onmouseleave=()=>{n.style.opacity="0.1"},n.onclick=()=>{this._closeEvent&&this._closeEvent.emit()},this._closeDiv=n,this.dispose(this._divColorChanged.disposableOn(()=>{s.style.borderTopColor=this._colorStr,t.style.backgroundColor=this._colorStr,i.style.width=`${this._borderRadius*2}px`,i.style.height=`${this._borderRadius*2}px`,s.style.borderLeft=`${this._borderRadius}px`,s.style.borderRight=`${this._borderRadius}px`,s.style.borderTop=`${this._borderRadius*2}px`}));const a=u=>{u.key==="Escape"&&this._closeEvent&&this._closeEvent.emit()};document.body.addEventListener("keydown",a,!0),this.dispose(()=>{document.removeEventListener("keydown",a,!0)})}get borderDiv(){return this._borderDiv}get innerContentDiv(){return this._innerContentDiv}reset(){this.show=!1,this.opacity=0,this._closeDiv.style.opacity="0.1",super.reset()}get colorStr(){return this._colorStr}set colorStr(t){this._colorStr!==t&&(this._colorStr=t,this._divColorChanged.emit())}get borderRadius(){return this._borderRadius}set borderRadius(t){this._borderRadius!==t&&(this._borderRadius=t,this._divColorChanged.emit())}}class c0 extends Zp{constructor(){super();d(this,"_iframe");d(this,"_iframeMessageEvent");const t=document.createElement("iframe");t.style.cssText="width: 100%; height: 100%; border-width: 0px; border-radius: 5px; display: block;",t.src="http://www.weather.com.cn/live/index.shtml",this._iframe=t,this.innerContentDiv.appendChild(t);const n=i=>{i.source===this._iframe.contentWindow&&(this._iframeMessageEvent?this._iframeMessageEvent.emit(i):console.warn(`iframe消息接收到未处理!data: ${i.data}`))};globalThis.addEventListener("message",n),this.dispose(()=>{globalThis.removeEventListener("message",n)})}reset(){super.reset(),this.src=""}set src(t){this._iframe.src!==t&&(this._iframe.src=t)}get src(){return this._iframe.src}get iframe(){return this._iframe}get iframeMessageEvent(){return this._iframeMessageEvent=this._iframeMessageEvent||new N,this._iframeMessageEvent}}class h0 extends Oh{constructor(){super();d(this,"_div");d(this,"_contentContainer");d(this,"_text","");const t=document.createElement("div");this._div=t,t.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible; transition: opacity 0.5s;";const n=document.createElement("div");n.style.cssText="position: absolute; left: 0px; bottom: 0px; transform: translateX(-50%); margin: 0; padding: 0; pointer-events: none;";const i=document.createElement("div");i.style.cssText="position: relative; background-color: rgba(0, 0, 0, 0.7); border-radius: 5px; padding: 3px; pointer-events: all; color: white; white-space: nowrap;",i.innerText=this._text,this._div.appendChild(n),n.appendChild(i),this._contentContainer=i,this._div=t,this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o-50}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get element(){return this._div}reset(){this.opacity=1,this.show=!0}set text(t){this._text!==t&&(this._text=t,this._contentContainer.innerText=t)}get text(){return this._text}}class d0 extends Rh{constructor(){super(),this.contentDiv.style.backgroundColor="rgba(0, 0, 0, 0.8)",this.contentDiv.style.borderRadius="3px",this.contentDiv.style.color="rgb(255, 255, 255)",this.contentDiv.style.padding="1px 5px 1px 5px",this.contentDiv.style.fontSize="12px",this.contentDiv.style.whiteSpace="nowrap",this.contentDiv.innerText="未定义光标信息!",this.originRatioX=0,this.originRatioY=0,this.originOffsetX=-16}}class f0 extends B{constructor(t,n){super();d(this,"_cursorDiv");d(this,"_pointerOut",this.disposeVar(V(!1)));d(this,"_show",this.disposeVar(V(!0)));this._cursorDiv=new Jp(n,t),this.dispose(()=>this._cursorDiv.destroy());const i=o=>{const[a,u]=an(o);this._cursorDiv.floatDiv.winPos=[a,u]};t.addEventListener("pointermove",i),this.dispose(()=>t.removeEventListener("pointermove",i));const s=()=>{this._cursorDiv.show=this.show&&this._pointerOut.value};s(),this.dispose(this.showChanged.disposableOn(s)),this.dispose(this._pointerOut.changed.disposableOn(s))}set show(t){this._show.value=t}get show(){return this._show.value}get showChanged(){return this._show.changed}reset(){this._pointerOut.value=!1}get cursorDiv(){return this._cursorDiv}set text(t){this._cursorDiv.floatDiv.contentDiv.innerText=t}get text(){return this._cursorDiv.floatDiv.contentDiv.innerText}}function Du(r,e,t){if(!(r.tree===e.tree&&r!==e&&!r.isAncestorOf(e))||r.tree!==e.tree||!r.parent)return!1;if(!r.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");return!(e===r||r.isAncestorOf(e)||t!=="inner"&&!e.parent||t==="inner"&&!e.children)}function jl(r,e,t){if(!r.tree||!e.tree||r.tree!==e.tree)return;if(!r.parent){console.warn("当前节点没有父节点,那么该节点无法被移动!");return}if(!r.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");if(e===r){console.warn("自身不能拖放到自身!");return}if(r.isAncestorOf(e)){console.warn("当前节点不能拖放到它自身的后代节点之上!");return}if(t!=="inner"&&!e.parent){console.warn("目标节点没有父节点,无法拖放!");return}if(t==="inner"&&!e.children){console.warn("无法移动到目标节点的子节点中,因为目标节点不是组节点!");return}r.tree._startTransaction();const n=r.parent.children.indexOf(r);if(r.parent.children.splice(n,1),t!=="inner"){const{parent:i}=e;if(!i||!i.children)throw new Error("!parent");const s=i.children.indexOf(e);t==="before"?i.children.splice(s,0,r):t==="after"&&i.children.splice(s+1,0,r)}else e.children.push(r);r.tree._stopTransaction()}function Qp(r,e,t){return ch(r,n=>Du(n,e,t))}function tg(r,e,t){for(let n of r)Du(n,e,t)?jl(n,e,t):console.warn(`treeItem(id: ${n.id}) cannot move...`)}const p0={checked:1,unchecked:2,indeterminate:3},g0=["checked","unchecked","indeterminate"];class eg extends B{constructor(t){super();d(this,"_collapsed",this.disposeVar(V(!1)));d(this,"_checkedStatus",this.disposeVar(V("unchecked")));d(this,"_selected",this.disposeVar(V(!1)));d(this,"_moveToPositionMode",this.disposeVar(V("none")));d(this,"_updateCheckedStatusFromChildrenEvent",this.disposeVar(new N));this._treeItem=t;const n=()=>this._treeItem.tree&&this._treeItem.tree.itemsChanged.emit([this._treeItem]);this.dispose(this._collapsed.changed.disposableOn(n)),this.dispose(this._checkedStatus.changed.disposableOn(n)),this.dispose(this._selected.changed.disposableOn(n)),this.dispose(this._moveToPositionMode.changed.disposableOn(n)),this.dispose(this._checkedStatus.changed.disposableOn(()=>this._treeItem.parent&&this._treeItem.parent.uiTreeObject.updateCheckedStatusFromChildren())),this.dispose(this._treeItem.childrenChangedEvent.disposableOn(()=>{this.updateCheckedStatusFromChildren()}));const i=this.disposeVar(Pe(this._updateCheckedStatusFromChildrenEvent));this.dispose(i.disposableOn(()=>{if(!this._treeItem.children)return;let s=0;lh(this._treeItem.children,o=>(s|=p0[o.uiTreeObject.checkedStatus],s===3)),s>0&&(this._checkedStatus.value=g0[s-1])})),this.dispose(this._treeItem.childrenResetedEvent.disposableOn(s=>{!s&&this.checkedStatus==="indeterminate"&&(this._checkedStatus.value="unchecked")}));{const s=(o,a,u=!0)=>{if(a)o.selectedItems.push(this._treeItem);else{const l=o.selectedItems.indexOf(this._treeItem);l===-1?u&&console.error("selectedItems index -1"):o.selectedItems.splice(l,1)}};this.dispose(this._selected.changed.disposableOn(o=>{const{tree:a}=this._treeItem;a&&s(a,o)})),this.dispose(()=>this.selected=!1)}}get treeItem(){return this._treeItem}get collapsed(){return this._collapsed.value}set collapsed(t){this._collapsed.value=t}get collapsedChanged(){return this._collapsed.changed}get checkedStatus(){return this._checkedStatus.value}check(t){const n=t?"checked":"unchecked";if(this._checkedStatus.value!==n&&(this._checkedStatus.value=n,this._treeItem.children))for(let i of this._treeItem.children)i.uiTreeObject.check(t)}updateCheckedStatusFromChildren(){this._updateCheckedStatusFromChildrenEvent.emit()}get checkedStatusChanged(){return this._checkedStatus.changed}get selected(){return this._selected.value}set selected(t){this._selected.value=t}get selectedChanged(){return this._selected.changed}get moveToPositionMode(){return this._moveToPositionMode.value}set moveToPositionMode(t){this._moveToPositionMode.value=t}get moveToPositionModeChanged(){return this._moveToPositionMode.changed}}const ei=class ei extends B{constructor(t,n=!1,i){super();d(this,"_children");d(this,"_childrenResetedEvent");d(this,"_childrenToChangeEvent");d(this,"_childrenChangedEvent");d(this,"_parent",this.disposeVar(V(void 0)));d(this,"_level",this.disposeVar(V(0)));d(this,"_id");d(this,"_uiTreeObject",this.disposeVar(new eg(this)));this._tree=t,this._hasChildren=n,this._id=i??qo(),this._id!=="_ROOT"&&ei.wm.has(this._id)&&console.warn(`创建了id(${this._id})相同的树节点,会导致之前的树节点无法索引!`),ei.wm.set(this._id,this),this.dispose(()=>{if(this._id!=="_ROOT"&&!ei.wm.has(this._id)){console.warn(`树节点(${this._id})不在wm树上!`);return}ei.wm.delete(this._id)}),this.dispose(this._parent.changed.disposableOn(()=>{this._updateLevel()})),this.dispose(this._level.changed.disposableOn(()=>{if(this.children)for(let s of this.children)s._updateLevel()})),ei.allTreeItems.set(this._id,this),this.dispose(()=>{ei.allTreeItems.delete(this._id)})}static getFromId(t){return ei.wm.get(t)}get uiTreeObject(){return this._uiTreeObject}get id(){return this._id}_updateLevel(){this.parent&&(this._level.value=this.parent.level+1)}get parent(){return this._parent.value}get parentChanged(){return this._parent.changed}get children(){if(this._hasChildren){if(!this._children){const t=this.disposeVar(new bu);this._children=t,this.dispose(t.toChangeEvent.disposableOn((s,o)=>{for(let a of s){const{start:u,deleteCount:l,items:c}=a;for(let h=u;h<u+l;++h)o.get(h)._parent.value=void 0;for(let h of c){if(h.parent)throw console.error("请检查新增的treeItem是否正在使用!"),new Error("item.parent should not exist!");h._parent.value=this}}}));const n=new Set,i=new Set;this.dispose(t.toChangeEvent.disposableOn((s,o)=>{var a;if(this.tree){n.clear(),i.clear();for(let u of s){const{start:l,deleteCount:c,items:h}=u;for(let f=l;f<l+c;++f)n.add(o.get(f));for(let f of h)i.add(f)}for(let u of n)i.has(u)&&(n.delete(u),i.delete(u));(a=this.tree)==null||a.itemChildrenToChange.emit(this,s,n,i)}})),this.dispose(t.changedEvent.disposableOn(()=>{var s;(s=this.tree)==null||s.itemChildrenChanged.emit(this)})),this.dispose(t.toChangeEvent.disposableOn((...s)=>this._childrenToChangeEvent&&this._childrenToChangeEvent.emit(...s))),this.dispose(t.changedEvent.disposableOn((...s)=>this._childrenChangedEvent&&this._childrenChangedEvent.emit(...s)))}return this._children}else return}get childrenResetedEvent(){return this._childrenResetedEvent||(this._childrenResetedEvent=new N),this._childrenResetedEvent}get childrenToChangeEvent(){return this._childrenToChangeEvent||(this._childrenToChangeEvent=new N),this._childrenToChangeEvent}get childrenChangedEvent(){return this._childrenChangedEvent||(this._childrenChangedEvent=new N),this._childrenChangedEvent}resetChildren(t=!1){this._children&&(this._children.length=0),this._hasChildren=t,this._childrenResetedEvent&&this._childrenResetedEvent.emit(t)}*getDescendants(t){const n=this,i=[],s=[];for(n.children&&n.children.length>0&&(!t||t(n))&&(i.push(0),s.push(n.children));i.length>0;){const o=i[i.length-1],a=s[s.length-1],u=a.get(o);yield u,o<a.length-1?++i[i.length-1]:(s.pop(),i.pop()),u.children&&u.children.length>0&&(!t||t(u))&&(i.push(0),s.push(u.children))}}*getAncestors(t){let n=this.parent;for(;n&&(yield n,!(t&&!t(n)));)n=n.parent}isDescendantOf(t){for(let n of this.getAncestors())if(n===t)return!0;return!1}isAncestorOf(t){return t.isDescendantOf(this)}get level(){return this._level.value}get levelChanged(){return this._level.changed}get tree(){return this._tree}canMoveTo(t,n){return Du(this,t,n)}moveTo(t,n){jl(this,t,n)}detachFromParent(){if(!this.parent||!this.parent.children)return;const t=this.parent.children.indexOf(this);this.parent.children.splice(t,1)}insertNewTreeItem(t,n){if(n&&n.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&t.startsWith("Inner"))return n&&this.children.push(n),!0;if(t==="Inner")return!1;const i=this.parent;if(!i||!i.children)return!1;const s=i.children.indexOf(this);return t.endsWith("Before")?n&&i.children.splice(s,0,n):t.endsWith("After")&&n&&i.children.splice(s+1,0,n),!0}};d(ei,"wm",new Map),d(ei,"allTreeItems",new Map);let Qo=ei;class ng extends B{constructor(t){super();d(this,"_redrawEvent",this.disposeVar(new N));d(this,"_containerScrollTop",this.disposeVar(V(0)));d(this,"_containerClientHeight",this.disposeVar(V(-1)));d(this,"_container",this.disposeVar(V(void 0)));d(this,"_redrawInfo",{topFreeSpaceHeight:0,topUnvisibleItemNum:0,middleTreeItems:[],bottomFreeSpaceHeight:0,bottomUnvisibleItemNum:0});this._tree=t;const n=this._containerClientHeight,i=this._containerScrollTop,s=this._tree._forceRedrawEvent,o=this.disposeVar(Pe(this._tree.itemDivHeightChanged,this._tree.itemChildrenChanged,this._tree.itemsChanged,n.changed,i.changed,s)),{redrawInfo:a}=this,u=c=>{const h=c.uiTreeObject;return!!c.children&&(!h||!h.collapsed)};this.dispose(o.disposableOn(()=>{if(a.topFreeSpaceHeight=0,a.topUnvisibleItemNum=0,a.middleTreeItems.length=0,a.bottomFreeSpaceHeight=0,a.bottomUnvisibleItemNum=0,this._containerClientHeight.value>=0){const c=hh(this._tree.getDescendants(u)),h=this._tree.itemDivHeight,f=h*c,p=zi([gs([zi([f-n.value,0]),i.value]),0]),v=p/h|0,C=Math.ceil((p-v*h+n.value)/h)|0;v>0&&(a.topUnvisibleItemNum=v,a.topFreeSpaceHeight=v*this._tree.itemDivHeight);const S=v+C;let P=0;for(let _ of this._tree.getDescendants(u)){if(P>=S)break;P>=v&&a.middleTreeItems.push(_),++P}const y=c-v-C;y>0&&(a.bottomUnvisibleItemNum=y,a.bottomFreeSpaceHeight=y*this._tree.itemDivHeight)}else for(let c of this._tree.getDescendants(u))a.middleTreeItems.push(c);this._redrawEvent.emit(a)}));let l;this.dispose(()=>l&&(l.destroy(),l=void 0)),this.dispose(this.containerChanged.disposableOn(c=>{l&&(l.destroy(),l=void 0),c&&(l=Iu(),l.start(()=>{const{scrollTop:h,clientHeight:f}=c;typeof h>"u"||typeof f>"u"?Wo("createUiTreeWithContainer error: conainter has no scrollTop or clientHeight property!"):(this.containerScrollTop=h,this.containerClientHeight=f)}))}))}get container(){return this._container.value}set container(t){this._container.value=t}get containerChanged(){return this._container.changed}get redrawInfo(){return this._redrawInfo}getTreeItemPos(t){const n=o=>{const a=o.uiTreeObject;return!!o.children&&(!a||!a.collapsed)};let i=0,s=!1;for(let o of this._tree.getDescendants(n)){if(o===t){s=!0;break}++i}if(s)return[i,i*this._tree.itemDivHeight]}collapseAll(){console.log("collapseAll");for(let t of this.tree.root.getDescendants()){const n=t.uiTreeObject;n.collapsed=!0}}get tree(){return this._tree}get redrawEvent(){return this._redrawEvent}set containerScrollTop(t){this._containerScrollTop.value=t}get containerScrollTop(){return this._containerScrollTop.value}get containerScrollTopChanged(){return this._containerScrollTop.changed}set containerClientHeight(t){this._containerClientHeight.value=t}get containerClientHeight(){return this._containerClientHeight.value}get containerClientHeightChanged(){return this._containerClientHeight.changed}*getAllItems(t){for(let n of this._tree.getDescendants())(!t||t(n))&&(yield n)}getAllSelectedItems(){return this.getAllItems(t=>t.uiTreeObject.selected)}getAllCheckedLeafItems(){return this.getAllItems(t=>!t.children&&t.uiTreeObject.checkedStatus==="checked")}clearAllSelectedItems(t){for(let n of this.getAllSelectedItems())(!t||!t.includes(n))&&(n.uiTreeObject.selected=!1)}}let ta=(ni=class extends B{constructor(t){super();d(this,"_root",this.disposeVar(new Qo(this,!0,"_ROOT")));d(this,"_itemChildrenChanged",this.disposeVar(new N));d(this,"_itemChildrenToChange",this.disposeVar(new N));d(this,"_itemsAdded",this.disposeVar(new N));d(this,"_itemsDeleted",this.disposeVar(new N));d(this,"_itemsChanged",this.disposeVar(new N));d(this,"_transactionStack",0);d(this,"_addedItems",new Set);d(this,"_deletedItems",new Set);d(this,"_selectedItems",this.disposeVar(new bu));d(this,"_itemDivHeight",this.disposeVar(V(ni.defaultItemDivHeight)));d(this,"_forceRedrawEvent",this.disposeVar(new N));d(this,"_uiTree",this.disposeVar(new ng(this)));this._root._tree.value=this,this.dispose(this._itemChildrenToChange.disposableOn((n,i)=>{if(!n.children){console.error("!item.children");return}for(let s of i){const{start:o,deleteCount:a,items:u}=s;for(let l=o;l<o+a;++l){const c=n.children.get(l);this._deletedItems.has(c)?console.error(`this._deletedItems.has(currentItem(${c.id}))`):this._deletedItems.add(c)}for(let l of u)this._deletedItems.has(l)?this._deletedItems.delete(l):this._addedItems.add(l)}this._execTransaction()})),t!==void 0&&(this.itemDivHeight=t)}get selectedItems(){return this._selectedItems}get lastSelectedItem(){return this._selectedItems.length>0?this._selectedItems.get(this._selectedItems.length-1):void 0}get itemDivHeight(){return this._itemDivHeight.value}set itemDivHeight(t){this._itemDivHeight.value=t}get itemDivHeightChanged(){return this._itemDivHeight.changed}forceRedraw(){this._forceRedrawEvent.emit()}get uiTree(){return this._uiTree}get root(){return this._root}get children(){return this._root.children}getDescendants(t){return this._root.getDescendants(t)}getTreeItemFromId(t){let n;for(let i of this.getDescendants())if(i.id===t){n=i;break}return n}_startTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(console.warn("this._deletedItems.size > 0"),this._deletedItems.clear()),this._addedItems.size>0&&(console.warn("this._addedItems.size > 0"),this._addedItems.clear())),++this._transactionStack}_stopTransaction(){--this._transactionStack,this._execTransaction()}_execTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(this._itemsDeleted.emit([...this._deletedItems]),this._deletedItems.clear()),this._addedItems.size>0&&(this._itemsAdded.emit([...this._addedItems]),this._addedItems.clear()))}get itemChildrenChanged(){return this._itemChildrenChanged}get itemChildrenToChange(){return this._itemChildrenToChange}get itemsChanged(){return this._itemsChanged}get itemsAdded(){return this._itemsAdded}get itemsDeleted(){return this._itemsDeleted}},d(ni,"defaultItemDivHeight",24),d(ni,"canMoveToTreeItem",Du),d(ni,"moveToTreeItem",jl),d(ni,"canMoveToTreeItems",Qp),d(ni,"moveToTreeItems",tg),ni);class we extends B{constructor(t,n,i=!0,s){super();d(this,"_obj",this.disposeVar(V(void 0)));this._resetEvent=t,this._createFunc=n;const o=this._resetEvent,a=this._createFunc,u=()=>{this._obj.value&&(this._obj.value.destroy(),this._obj.value=void 0)};this.dispose(u);const l=(...c)=>{u(),this._obj.value=a(...c)};i&&(s?this._obj.value=a(...s):this._obj.value=a()),this.dispose(o.disposableOn(l))}get obj(){return this._obj.value}get objChanged(){return this._obj.changed}}class m0 extends B{constructor(t,n=!0,i){super();d(this,"_event",this.disposeVar(new N));d(this,"_objResettingWithEvent");this._createFunc=t,this._execOnInit=n,this._initParams=i,this._objResettingWithEvent=this.disposeVar(new we(this._event,this._createFunc,this._execOnInit,this._initParams))}get obj(){return this._objResettingWithEvent.obj}get objChanged(){return this._objResettingWithEvent.objChanged}reset(...t){this._event.emit(...t)}}const Kc=class Kc extends B{constructor(){super();d(this,"_set",new Set);d(this,"_toChangeEvent",this.dv(new N));d(this,"_changedEvent",this.dv(new N));d(this,"main");this.dispose(()=>{this._set.size!==0&&(Kc.warnOnDestroying&&console.warn("this._set.size > 0"),this.clear())})}get toChange(){return this._toChangeEvent}get changed(){return this._changedEvent}add(...t){if(t.length==2&&typeof t[1]=="boolean")t[1]&&(this.main=t[0]);else for(let n of t)this._toChangeEvent.emit([],[n]),this._set.add(n),this._changedEvent.emit([],[n])}delete(...t){for(let n of t)this.main&&this.main==n&&(this.main=void 0),this._toChangeEvent.emit([n],[]),this._set.delete(n),this._changedEvent.emit([n],[])}disposableAdd(...t){return t.length==2&&typeof t[1]=="boolean"?(t[1]&&(this.main=t[0]),this.add(t[0]),()=>this.delete(t[0])):(this.add(...t),()=>this.delete(...t))}get size(){return this._set.size}clear(){const t=[...this._set];this._toChangeEvent.emit([],t),this._set.clear(),this._changedEvent.emit([],t),this.main=void 0}values(){return this._set.values()}};d(Kc,"warnOnDestroying",!0);let zl=Kc;async function rg(r){const e=[],t=[],n=r.entries();for await(const[i,s]of n){const o=s;o.kind==="file"?e.push(i):o.kind==="directory"&&t.push(i)}return{files:e,dirs:t}}async function Lh(r){return await(await r.getFile()).text()}async function ig(r){const e=await Lh(r);try{return JSON.parse(e)}catch{return}}async function sg(r){return await(await r.getFile()).arrayBuffer()}class og extends B{constructor(e){super(),this._rootDirHandle=e}get rootDirHandle(){return this._rootDirHandle}async getSubFilesAndDirs(){return await rg(this._rootDirHandle)}async getDir(e){let t=this._rootDirHandle;for(const n of e)if(t=await(t==null?void 0:t.getDirectoryHandle(n)),!t){console.log(`getDirectoryHandle ${n} failed`);return}return t}async getFile(e,t){const n=await this.getDir(e);if(n)try{return await n.getFileHandle(t)}catch(i){console.error(`未能获取当前文件 ${e.join("/")}/${t} error: ${i}`,i);return}}}class ag extends B{constructor(t){super();d(this,"_startRootDirId",0);d(this,"_dirMap",new Map);this._prefix=t}get prefix(){return this._prefix}async getRootDirId(t){let n;try{console.log("window.showDirectoryPicker begin"),n=await globalThis.showDirectoryPicker({id:t,mode:"read"}),console.log("window.showDirectoryPicker end",n)}catch(i){console.error(`LocalFileServer getRootDirId failed: ${i}`,i);return}if(n){const i=++this._startRootDirId,s=`${this._prefix}${i}`;return this._dirMap.set(s,new og(n)),s}}getRootDir(t){return this._dirMap.get(t)}async getFile(t){const n=t.split("/");if(n.length<2){console.warn(`LocalFileServer getFile failed: ${t}`);return}const i=n[0],s=this._dirMap.get(i);if(!s){console.warn(`LocalFileServer getFile failed: ${t}`);return}const o=n.slice(1,n.length-1),a=n[n.length-1],u=await s.getFile(o,a);if(!u){console.warn(`LocalFileServer getFile failed: ${t}`);return}return u}async getText(t){const n=await this.getFile(t);if(n)return await Lh(n)}async getArrayBuffer(t){const n=await this.getFile(t);if(n)return await sg(n)}async getJson(t){const n=await this.getFile(t);if(n)return await ig(n)}async getLocalFilePath(t,n,i){const s=await this.getRootDirId(n);if(!s){console.warn("getRootDirId error!");return}const o=this.getRootDir(s);if(!o){console.warn("getRootDir error!");return}const a=await o.getSubFilesAndDirs();if(!a.files){console.warn("getSubFilesAndDirs error! 找不到符合要求的文件!");return}const u=t?a.files.filter(l=>t.some(c=>l.endsWith(c))):a.files;if(u.length===0){console.warn("找不到符合要求的文件!");return}return`https://${s}/${u[0]}`}}const ug=new ag("xe2_local");async function v0(r,e,t){return await ug.getLocalFilePath(r,e,t)}class lg extends B{constructor(t,n){super();d(this,"_processing",this.disposeVar(Hn(async t=>{const n=this._complexImage,i=await t.promise(Ip(this._imageUri,this._complexImage.crossOrigin));i&&i instanceof HTMLImageElement&&(n.size=[i.naturalWidth,i.naturalHeight],n.pixelFormat="RGBA",n.copyTexture({source:i}))})));this._complexImage=t,this._imageUri=n,this._processing.start()}get processing(){return this._processing}}const cg=["DEPTH_COMPONENT","DEPTH_STENCIL","ALPHA","RED","RG","RGB","RGBA","LUMINANCE","LUMINANCE_ALPHA","RGB_DXT1","RGBA_DXT1","RGBA_DXT3","RGBA_DXT5","RGB_PVRTC_4BPPV1","RGB_PVRTC_2BPPV1","RGBA_PVRTC_4BPPV1","RGBA_PVRTC_2BPPV1","RGBA_ASTC","RGB_ETC1","RGB8_ETC2","RGBA8_ETC2_EAC","RGBA_BC7"],hg=["img","gif","video","flv","hls"];let y0=class extends B{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden",i.style.width="0px",i.style.height="0px";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}};class dg extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Zo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new y0(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}function Fh(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function _0(r){if(Object.prototype.hasOwnProperty.call(r,"__esModule"))return r;var e=r.default;if(typeof e=="function"){var t=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(r).forEach(function(n){var i=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return r[n]}})}),t}var Ah={},Ui={},fg;function w0(){if(fg)return Ui;fg=1,Object.defineProperty(Ui,"__esModule",{value:!0}),Ui.loop=Ui.conditional=Ui.parse=void 0;var r=function n(i,s){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(Array.isArray(s))s.forEach(function(l){return n(i,l,o,a)});else if(typeof s=="function")s(i,o,a,n);else{var u=Object.keys(s)[0];Array.isArray(s[u])?(a[u]={},n(i,s[u],o,a[u])):a[u]=s[u](i,o,a,n)}return o};Ui.parse=r;var e=function(i,s){return function(o,a,u,l){s(o,a,u)&&l(o,i,a,u)}};Ui.conditional=e;var t=function(i,s){return function(o,a,u,l){for(var c=[],h=o.pos;s(o,a,u);){var f={};if(l(o,i,a,f),o.pos===h)break;h=o.pos,c.push(f)}return c}};return Ui.loop=t,Ui}var Ee={},pg;function gg(){if(pg)return Ee;pg=1,Object.defineProperty(Ee,"__esModule",{value:!0}),Ee.readBits=Ee.readArray=Ee.readUnsigned=Ee.readString=Ee.peekBytes=Ee.readBytes=Ee.peekByte=Ee.readByte=Ee.buildStream=void 0;var r=function(h){return{data:h,pos:0}};Ee.buildStream=r;var e=function(){return function(h){return h.data[h.pos++]}};Ee.readByte=e;var t=function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return function(f){return f.data[f.pos+h]}};Ee.peekByte=t;var n=function(h){return function(f){return f.data.subarray(f.pos,f.pos+=h)}};Ee.readBytes=n;var i=function(h){return function(f){return f.data.subarray(f.pos,f.pos+h)}};Ee.peekBytes=i;var s=function(h){return function(f){return Array.from(n(h)(f)).map(function(p){return String.fromCharCode(p)}).join("")}};Ee.readString=s;var o=function(h){return function(f){var p=n(2)(f);return h?(p[1]<<8)+p[0]:(p[0]<<8)+p[1]}};Ee.readUnsigned=o;var a=function(h,f){return function(p,v,C){for(var S=typeof f=="function"?f(p,v,C):f,P=n(h),y=new Array(S),_=0;_<S;_++)y[_]=P(p);return y}};Ee.readArray=a;var u=function(h,f,p){for(var v=0,C=0;C<p;C++)v+=h[f+C]&&Math.pow(2,p-C-1);return v},l=function(h){return function(f){for(var p=e()(f),v=new Array(8),C=0;C<8;C++)v[7-C]=!!(p&1<<C);return Object.keys(h).reduce(function(S,P){var y=h[P];return y.length?S[P]=u(v,y.index,y.length):S[P]=v[y.index],S},{})}};return Ee.readBits=l,Ee}var mg;function E0(){return mg||(mg=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var e=w0(),t=gg(),n={blocks:function(f){for(var p=0,v=[],C=f.data.length,S=0,P=(0,t.readByte)()(f);P!==p&&P;P=(0,t.readByte)()(f)){if(f.pos+P>=C){var y=C-f.pos;v.push((0,t.readBytes)(y)(f)),S+=y;break}v.push((0,t.readBytes)(P)(f)),S+=P}for(var _=new Uint8Array(S),m=0,w=0;w<v.length;w++)_.set(v[w],m),m+=v[w].length;return _}},i=(0,e.conditional)({gce:[{codes:(0,t.readBytes)(2)},{byteSize:(0,t.readByte)()},{extras:(0,t.readBits)({future:{index:0,length:3},disposal:{index:3,length:3},userInput:{index:6},transparentColorGiven:{index:7}})},{delay:(0,t.readUnsigned)(!0)},{transparentColorIndex:(0,t.readByte)()},{terminator:(0,t.readByte)()}]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===249}),s=(0,e.conditional)({image:[{code:(0,t.readByte)()},{descriptor:[{left:(0,t.readUnsigned)(!0)},{top:(0,t.readUnsigned)(!0)},{width:(0,t.readUnsigned)(!0)},{height:(0,t.readUnsigned)(!0)},{lct:(0,t.readBits)({exists:{index:0},interlaced:{index:1},sort:{index:2},future:{index:3,length:2},size:{index:5,length:3}})}]},(0,e.conditional)({lct:(0,t.readArray)(3,function(h,f,p){return Math.pow(2,p.descriptor.lct.size+1)})},function(h,f,p){return p.descriptor.lct.exists}),{data:[{minCodeSize:(0,t.readByte)()},n]}]},function(h){return(0,t.peekByte)()(h)===44}),o=(0,e.conditional)({text:[{codes:(0,t.readBytes)(2)},{blockSize:(0,t.readByte)()},{preData:function(f,p,v){return(0,t.readBytes)(v.text.blockSize)(f)}},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===1}),a=(0,e.conditional)({application:[{codes:(0,t.readBytes)(2)},{blockSize:(0,t.readByte)()},{id:function(f,p,v){return(0,t.readString)(v.blockSize)(f)}},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===255}),u=(0,e.conditional)({comment:[{codes:(0,t.readBytes)(2)},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===254}),l=[{header:[{signature:(0,t.readString)(3)},{version:(0,t.readString)(3)}]},{lsd:[{width:(0,t.readUnsigned)(!0)},{height:(0,t.readUnsigned)(!0)},{gct:(0,t.readBits)({exists:{index:0},resolution:{index:1,length:3},sort:{index:4},size:{index:5,length:3}})},{backgroundColorIndex:(0,t.readByte)()},{pixelAspectRatio:(0,t.readByte)()}]},(0,e.conditional)({gct:(0,t.readArray)(3,function(h,f){return Math.pow(2,f.lsd.gct.size+1)})},function(h,f){return f.lsd.gct.exists}),{frames:(0,e.loop)([i,a,u,s,o],function(h){var f=(0,t.peekByte)()(h);return f===33||f===44})}],c=l;r.default=c}(Ah)),Ah}var C0=E0();const S0=Fh(C0);var b0=gg();const P0=(r,e)=>{const t=new Array(r.length),n=r.length/e,i=function(c,h){const f=r.slice(h*e,(h+1)*e);t.splice.apply(t,[c*e,e].concat(f))},s=[0,4,2,1],o=[8,8,4,2];for(var a=0,u=0;u<4;u++)for(var l=s[u];l<n;l+=o[u])i(l,a),a++;return t},I0=(r,e,t)=>{const s=t;var o,a,u,l,c,h,f,w,p,v,m,C,E,b,T,I;const S=new Array(t),P=new Array(4096),y=new Array(4096),_=new Array(4097);for(C=r,a=1<<C,c=a+1,o=a+2,f=-1,l=C+1,u=(1<<l)-1,p=0;p<a;p++)P[p]=0,y[p]=p;var m,w,E,b,I,T;for(m=w=E=b=I=T=0,v=0;v<s;){if(b===0){if(w<l){m+=e[T]<<w,w+=8,T++;continue}if(p=m&u,m>>=l,w-=l,p>o||p==c)break;if(p==a){l=C+1,u=(1<<l)-1,o=a+2,f=-1;continue}if(f==-1){_[b++]=y[p],f=p,E=p;continue}for(h=p,p==o&&(_[b++]=E,p=f);p>a;)_[b++]=y[p],p=P[p];E=y[p]&255,_[b++]=E,o<4096&&(P[o]=f,y[o]=E,o++,(o&u)===0&&o<4096&&(l++,u+=o)),f=h}b--,S[I++]=_[b],v++}for(v=I;v<s;v++)S[v]=0;return S},x0=r=>{const e=new Uint8Array(r);return Gn.parse(b0.buildStream(e),S0)},T0=r=>{const e=r.pixels.length,t=new Uint8ClampedArray(e*4);for(var n=0;n<e;n++){const i=n*4,s=r.pixels[n],o=r.colorTable[s]||[0,0,0];t[i]=o[0],t[i+1]=o[1],t[i+2]=o[2],t[i+3]=s!==r.transparentIndex?255:0}return t},N0=(r,e,t)=>{if(!r.image){console.warn("gif frame does not have associated image.");return}const{image:n}=r,i=n.descriptor.width*n.descriptor.height;var s=I0(n.data.minCodeSize,n.data.blocks,i);n.descriptor.lct.interlaced&&(s=P0(s,n.descriptor.width));const o={pixels:s,dims:{top:r.image.descriptor.top,left:r.image.descriptor.left,width:r.image.descriptor.width,height:r.image.descriptor.height}};return n.descriptor.lct&&n.descriptor.lct.exists?o.colorTable=n.lct:o.colorTable=e,r.gce&&(o.delay=(r.gce.delay||10)*10,o.disposalType=r.gce.extras.disposal,r.gce.extras.transparentColorGiven&&(o.transparentIndex=r.gce.transparentColorIndex)),o.patch=T0(o),o},O0=(r,e)=>r.frames.filter(t=>t.image).map(t=>N0(t,r.gct));async function vg(r){const t=await(await fetch(r)).arrayBuffer(),n=x0(t),i=O0(n);return{gif:n,gifFrames:i,arrayBuffer:t}}function yg(r,e,t){return r<e?e:r>t?t:r}class _g extends Bl{constructor(t,n=!0,i){super();d(this,"_gifFrames",this.disposeVar(V(void 0)));d(this,"_gifDurations",[]);d(this,"_gifDuration",this.disposeVar(V(0)));d(this,"_gifSize",this.disposeVar(V([0,0],(t,n)=>t.every((i,s)=>i===n[s]),t=>[...t])));d(this,"_autoPlayOnLoad",this.disposeVar(V(!0)));d(this,"_gifCanvas");this._container=t,this.loop=!0;const s=document.createElement("canvas");this._gifCanvas=s,s.style.width="100%",s.style.height="100%";const o=s.getContext("2d");this._container&&this._container.appendChild(s),this.dispose(()=>this._container&&this._container.removeChild(s));let a;this.dispose(this._gifFrames.changed.disposableOn(l=>{if(!l||l.length===0){s.width=0,s.height=0;return}const{width:c,height:h}=l[0].dims;this._gifSize.value=[c,h];const f=l.length;let p=0;this._gifDurations.length=0;for(let v=0;v<f;++v)p+=l[v].delay,this._gifDurations.push(p);this._gifDuration.value=this._gifDurations[this._gifDurations.length-1],s.width=c,s.height=h,a=o.createImageData(c,h),this.currentTimeChangedEvent.emit(this.currentTime,this.currentTime),this._autoPlayOnLoad.value&&(this.currentTime=0,this.playing=!0)}));let u=-1;this.dispose(this.currentTimeChangedEvent.disposableOn(l=>{const c=yg(l/this.duration,0,1),h=this.gifDuration*c,f=this._gifFrames.value;if(f&&f.length>0){const p=this._getFrame(h);if(p===u)return;u=p;const v=f[p];if(v.disposalType!==0&&v.disposalType!==1&&v.disposalType!==2&&Wo(`gif parsed get disposalType ${v.disposalType}... frame: ${p} size: ${JSON.stringify(v.dims)}`,`gif parsed get disposalType ${v.disposalType}...`),a&&(p===0||v.disposalType===2)&&a.data.fill(0),a){const[C,S]=this._gifSize.value,{width:P,height:y,left:_,top:m}=v.dims;if(y>S)throw new Error("height > canvasHeight");for(let w=0;w<y;++w)for(let E=0;E<P;++E){const b=w*P+E,I=m+w,T=_+E,D=I*C+T,x=a.data,O=v.patch,L=O[b*4+3]/255;x[D*4+0]=x[D*4+0]*(1-L)+O[b*4+0]*L|0,x[D*4+1]=x[D*4+1]*(1-L)+O[b*4+1]*L|0,x[D*4+2]=x[D*4+2]*(1-L)+O[b*4+2]*L|0,x[D*4+3]=yg(x[D*4+3]+O[b*4+3],0,255)|0}o.putImageData(a,0,0)}}else Wo("gif资源未加载!无法播放!")})),this.dispose(this._gifDuration.changed.disposableOn(()=>{this.duration=this.gifDuration})),this._autoPlayOnLoad.value=n,this._gifFrames.value=i}get gifCanvas(){return this._gifCanvas}set gifFrames(t){this._gifFrames.value=t}get gifFrames(){return this._gifFrames.value}get gifFramesChanged(){return this._gifFrames.changed}get gifSize(){return this._gifSize.value}get gifSizeChanged(){return this._gifSize.changed}get gifDuration(){return this._gifDuration.value}get gifDurationChanged(){return this._gifDuration.changed}get autoPlayOnLoad(){return this._autoPlayOnLoad.value}set autoPlayOnLoad(t){this._autoPlayOnLoad.value=t}get autoPlayOnLoadChanged(){return this._autoPlayOnLoad.changed}_getFrame(t){const n=this._gifDurations.length;for(let i=0;i<n;++i)if(t<=this._gifDurations[i])return i;throw new Error("should not be here")}}class wg extends B{constructor(t){super();d(this,"_player");d(this,"_url",this.disposeVar(V("")));d(this,"_loadGifFramesProcessing",this.disposeVar(Vl(t=>Ko(vg(t)))));this._player=this.disposeVar(new _g(t)),this._player.autoPlayOnLoad=!0,this._loadGifFramesProcessing.completeFunc=({gifFrames:n})=>this._player.gifFrames=n,this.dispose(this._url.changed.disposableOn(n=>{this._player.gifFrames=void 0,this._loadGifFramesProcessing.restart(new Mr(`reload gif(${n})`),n)}))}get player(){return this._player}set url(t){this._url.value=t}get url(){return this._url.value}get loadedEvent(){return this._loadGifFramesProcessing.completeEvent}get size(){return this._player.gifSize}get sizeChanged(){return this._player.gifSizeChanged}get duration(){return this._player.gifDuration}get durationChanged(){return this._player.gifDurationChanged}}class Eg extends B{constructor(t,n){super();d(this,"_gif",this.disposeVar(new wg));d(this,"_update",this.disposeVar(Zo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._gif.url=this._imageUri}get gif(){return this._gif}update(){const{player:t}=this._gif;if(!t.gifFrames)return;const n=this._complexImage,{width:i,height:s}=t.gifCanvas;n.size=[i,s],n.pixelFormat="RGBA",n.copyTexture({source:t.gifCanvas});{const o=()=>{t.autoPlayOnLoad=this._complexImage.autoplay};o(),this.dispose(this._complexImage.autoplayChanged.disposableOn(o))}{const o=()=>{t.loop=this._complexImage.loop};o(),this.dispose(this._complexImage.loopChanged.disposableOn(o))}}}function Cg(r,e){const[t,n,i]=Vi(r),s=V(void 0),o=()=>{const a=t()??e;s.value=a&&rt.context.getStrFromEnv(a)};return o(),i&&s.d(i.don(o)),s.d(rt.context.environmentVariablesChanged.don(o)),s}function Sg(r){const e=/\${(.*?)\}/g;if(!e.test(r))return r;const t=r.replace(e,(n,i)=>{const s=rt.context.getEnv(i);return s===void 0?(console.warn(`环境变量(${i})不存在,无法进行转换`),"{env-error}"):s});return Sg(t)}class D0 extends B{constructor(t){super();d(this,"_sceneObjRefs",new Map);d(this,"_refs",{});d(this,"_refsChanged",this.dv(new N));const n=(i,s,o)=>{if(o){const a=this.getLastSceneObject(o),u=this._sceneObjRefs.get(o);if(!u)console.warn(`this._sceneObjRefs中不存在ref(${o}), 可能系统存在逻辑问题`);else{const c=u.indexOf(i);c===-1?console.warn(`this._sceneObjRefs中不存在当前对象(id: ${i.id} type: ${i.typeName})!可能系统存在逻辑问题`):(u.splice(c,1),u.length===0&&this._sceneObjRefs.delete(o))}const l=this.getLastSceneObject(o);this._refs[o]=l,this._refsChanged.emit(l,a)}if(s){const a=this.getLastSceneObject(s),u=this._sceneObjRefs.get(s);u?(u.push(i),u.length>0&&console.warn(`同时存在多个ref${s}相同的场景对象!
21
+ `)}}),globalThis.g_XE3CopyRights=globalThis.g_XE3CopyRights||{},globalThis.g_XE3CopyRights[r]=g.copyright,globalThis.g_XE3SendProductUsageInfo=globalThis.g_XE3SendProductUsageInfo||!0,globalThis.g_XE3SendProductUsageInfo&&(setTimeout(()=>pp(g.copyright),1e3*60),setInterval(()=>pp(g.copyright),24*60*60*1e3)),globalThis.g_earthsdk_copyright_print=globalThis.g_earthsdk_copyright_print??!0,globalThis.g_earthsdk_copyright_print&&g.copyright.print()}catch{console.warn("版本信息有误!")}const gp=new Set;function Wo(r,e=r){gp.has(e)||(gp.add(e),console.warn(r))}function Vi(r){const e=Tl(r),t=()=>e[0][e[1]],n=s=>{try{e[0][e[1]]=s}catch(o){Wo(`setValue error, obj(${e[0].constructor.name}) prop(${e[1]}) error(${o})`)}},i=e[0][e[2]];return[t,n,i]}function Ky(){return!0}function Zy(){throw new Error("throwOnDestroyed")}function mp(r){for(var e in r)typeof r[e]=="function"&&(r[e]=Zy);r.isDestroyed=Ky}const $c=class $c{constructor(){d(this,"_memId",++$c._lastMemId);d(this,"_disposers")}get __v_skip(){return!0}get memId(){return this._memId}get disposers(){return this._disposers||(this._disposers=[]),this._disposers}dispose(e){return this.disposers.push(e),e}d(e){return this.dispose(e)}disposeVar(e){return this.disposers.push(()=>e.destroy()),e}dv(e){return this.disposeVar(e)}tryDisposeVar(e){return this.disposers.push(()=>e.tryDestroy()),e}tdv(e){return this.tryDisposeVar(e)}autoDispose(e){return typeof e=="function"?this.dispose(e):this.disposeVar(e)}ad(e){return typeof e=="function"?this.dispose(e):this.disposeVar(e)}isDestroyed(){return!1}destroyImp(){}destroy(){if(this._toDestroyEvent&&this._toDestroyEvent.emit(),this.destroyImp(),this._disposers)try{const e=this._disposers,t=e.length;for(let n=t-1;n>=0;--n)e[n]();e.length=0,this._disposers=void 0}catch(e){console.error(`destroy get error! ${e}`)}return mp(this)}tryDestory(){if(!this.isDestroyed())return this.destroy()}};d($c,"_lastMemId",-1);let V=$c,Qc;function vp(r){Qc=r}Object.defineProperties(V.prototype,{toDestroyEvent:{get(){if(this._toDestroyEvent===void 0){if(!Qc)throw new Error("Destroyable EventCtor not registered yet!");this._toDestroyEvent=this.disposeVar(new Qc)}return this._toDestroyEvent}}});class Pl{constructor(e,t,n=!1){d(this,"_freeElements");d(this,"_usedElementsCount");d(this,"_usedElements");d(this,"_nextCreateID");d(this,"_scratchObjs");this._createDefaultFunc=e,this._destroyFunc=t,this._freeElements=[],this._usedElementsCount=0,this._nextCreateID=1,this._scratchObjs=[],n&&(this._usedElements=[])}get usedElementsCount(){return this._usedElementsCount}get freeElementsCount(){return this._freeElements.length}_getCreateID(){return this._nextCreateID++}_create(){let e;return this._freeElements.length>0?e=this._freeElements.pop():e=this._createDefaultFunc&&this._createDefaultFunc()||{},e._cid=this._getCreateID(),e}create(){return this._create()}multiCreate(e){this._scratchObjs.length=0;for(let t=0;t<e;++t)this._scratchObjs.push(this._create());return this._scratchObjs}_destroy(e){this._destroyFunc&&this._destroyFunc(e),e._cid=void 0}destroy(...e){const t=e.length;for(let n=0;n<t;++n)this._destroy(e[n])}}function Qy(){return{item:void 0,previous:void 0,next:void 0}}function t_(r){r.item=void 0,r.previous=void 0,r.next=void 0}const yp=new Pl(Qy,t_,!0);function th(r,e,t){const n=yp.create();return n.item=r,n.previous=e,n.next=t,n}function _p(r){if(!r)throw new Error("node is undefined!");yp.destroy(r)}function eh(r,e){e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=void 0,r.tail=e.previous):e.next?(e.next.previous=void 0,r.head=e.next):(r.head=void 0,r.tail=void 0),e.next=void 0,e.previous=void 0}class wp{constructor(e){d(this,"head");d(this,"tail");d(this,"_length");const{needLength:t}=e||{needLength:!0};this.head=void 0,this.tail=void 0,t&&(this._length=0)}_incrementLength(){typeof this._length=="number"&&++this._length}_decrementLength(){typeof this._length=="number"&&--this._length}_setLength(e){typeof this._length=="number"&&(this._length=e)}get length(){return this._length}get empty(){return!this.head}*[Symbol.iterator](){let e=this.head;for(;e;)yield e,e=e.next}remove(e){if(!e)throw new Error("node is undefined!");eh(this,e),this._decrementLength(),_p(e)}getNode(e){let t=this.head;for(;t!==null;){if(!t)throw new Error("current is undefined!");if(t.item===e)return t;t=t.next}}moveAfter(e,t){if(e!==t){eh(this,t);var n=e.next;e.next=t,this.tail===e?this.tail=t:n&&(n.previous=t),t.next=n,t.previous=e}}moveBefore(e,t){if(e!==t){eh(this,t);var n=e.previous;e.previous=t,this.head===e?this.head=t:n&&(n.next=t),t.previous=n,t.next=e}}insertBefore(e,t){const n=th(t,e.previous,e);return e.previous&&(e.previous.next=n),e.previous=n,this.head===e&&(this.head=n),this._incrementLength(),n}insertAfter(e,t){const n=th(t,e,e.next);return e.next&&(e.next.previous=n),e.next=n,this.tail===e&&(this.tail=n),this._incrementLength(),n}_setFirstNode(e){if(this.head||this.tail)throw new Error("_setFirstNode error!");const t=th(e,void 0,void 0);if(this.head=t,this.tail=t,this._incrementLength(),this._length!==1)throw new Error("_setFirstNode error! this._length !== 1");return t}push(e){return this.tail?this.insertAfter(this.tail,e):this._setFirstNode(e)}pop(){if(!this.tail)throw new Error("DoublyLinkedList is empty!");const e=this.tail.item;return this.remove(this.tail),e}shift(){if(!this.head)throw new Error("DoublyLinkedList is empty!");const e=this.head.item;return this.remove(this.head),e}unshift(e){return this.head?this.insertBefore(this.head,e):this._setFirstNode(e)}removeAll(){let e=this.head;for(;e;){const t=e.next;_p(e),e=t}this.head=void 0,this.tail=void 0,this._setLength(0)}}function e_(){return{func:void 0,scope:void 0,_hasRemoved:!1,_once:!1}}function n_(r){r.func=void 0,r.scope=void 0,r._hasRemoved=!1,r._once=!1}const Js=new Pl(e_,n_,!0);class nh{constructor(){d(this,"__dll");d(this,"__currentListenerStack")}get _dll(){return this.__dll=this.__dll??new wp({needLength:!0}),this.__dll}_pushCurrentListener(e){this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.push(e):this.__currentListenerStack=[this.__currentListenerStack,e]:this.__currentListenerStack=e}_popCurrentListener(){if(this.__currentListenerStack)Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.pop():this.__currentListenerStack=void 0;else throw new Error("cannot pop!")}_hasCurrentListener(e){return this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.indexOf(e)!==-1:this.__currentListenerStack===e:!1}do(...e){if(this.__dll&&!this._dll.empty){let t=this._dll.head;for(;t;){const n=t.item;n._hasRemoved||(this._pushCurrentListener(n),n.func.call(n.scope,...e),this._popCurrentListener());const i=t.next;n._once&&!n._hasRemoved&&(this.remove(t),t=void 0),t&&this._clearHasRemoved(t),t=i}}}get empty(){if(!this.__dll||this._dll.empty)return!0;let e=!0,t=this._dll.head;for(;t;){if(!t.item._hasRemoved){e=!1;break}t=t.next}return e}isHandlerValid(e){return!e.item._hasRemoved}nextHandler(e){if(!e.item._hasRemoved)throw new Error("handler has removed!");let t=e.next;for(;t&&t.item._hasRemoved;)t=t.next;return t}prevHandler(e){if(!e.item._hasRemoved)throw new Error("handler has removed!");let t=e.previous;for(;t&&t.item._hasRemoved;)t=t.previous;return t}moveAfter(e,t){if(e.item._hasRemoved||t.item._hasRemoved)throw new Error("handler or nextHandler has removed!");return this._dll.moveAfter(e,t)}moveBefore(e,t){if(e.item._hasRemoved||t.item._hasRemoved)throw new Error("handler or prevHandler has removed!");return this._dll.moveBefore(e,t)}insertBefore(e,t,n,i=!1){if(e.item._hasRemoved)throw new Error("handler has removed!");const s=Js.create();return s.func=t,s.scope=n,s._once=i,this._dll.insertBefore(e,s)}insertAfter(e,t,n,i=!1){if(e.item._hasRemoved)throw new Error("handler has removed!");const s=Js.create();return s.func=t,s.scope=n,s._once=i,this._dll.insertAfter(e,s)}_clearHasRemoved(e){e.item._hasRemoved&&!this._hasCurrentListener(e.item)&&(Js.destroy(e.item),this._dll.remove(e))}remove(e){if(!e.item||e.item._hasRemoved)throw new Error("handler has removed!");this._hasCurrentListener(e.item)?e.item._hasRemoved=!0:(Js.destroy(e.item),this._dll.remove(e))}removeAll(){if(this.__dll&&!this._dll.empty){let e=this._dll.head;for(;e;){const t=e.next;e.item._hasRemoved||this.remove(e),e=t}}}destroy(){if(!this.__dll)return;let e=this._dll.head;for(;e;){const t=e.next,n=e;this._hasCurrentListener(n.item)||(console.warn("Event has remove item that on current stack!"),console.warn(`${n.item.func.toString()}`)),Js.destroy(n.item),this._dll.remove(n),e=t}this.__dll=void 0,this.__currentListenerStack=void 0}push(e,t,n=!1){const i=Js.create();return i.func=e,i.scope=t,i._once=n,this._dll.push(i)}pop(){const e=this.tail;if(!e)throw new Error("pop error!");this.remove(e)}shift(){const e=this.head;if(!e)throw new Error("shift error!");this.remove(e)}unshift(e,t,n=!1){const i=Js.create();return i.func=e,i.scope=t,i._once=n,this._dll.unshift(i)}get tail(){let e=this._dll.tail;for(;e&&e.item._hasRemoved;)e=e.previous;return e}get head(){let e=this._dll.head;for(;e&&e.item._hasRemoved;)e=e.previous;return e}}class yu{constructor(){d(this,"_listenerHandler");d(this,"_cid")}_reset(e,t){this._listenerHandler=e,this._cid=t}clone(e){return e=e??new yu,e._reset(this._listenerHandler,this._cid),e}get valid(){if(typeof this._listenerHandler<"u"&&typeof this._cid=="number"){const e=this._listenerHandler._cid;if(typeof e<"u"&&this._cid===e)return!0}return!1}}class rh extends yu{}let N=class extends V{constructor(){super(...arguments);d(this,"__pipe");d(this,"beforeCallback");d(this,"afterCallback")}get _pipe(){return this.__pipe=this.__pipe??new nh,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}emit(...t){!this.isDestroyed()&&this.beforeCallback&&this.beforeCallback(...t),!this.isDestroyed()&&this._pipe.do(...t),!this.isDestroyed()&&this.afterCallback&&this.afterCallback(...t)}on(t,n,i=!1,s){const o=i?this._pipe.unshift(t,n,!1):this._pipe.push(t,n,!1);return s=s??new rh,s._reset(o,o._cid),s}disposableOn(t,n,i=!1,s){const o=this.on(t,n,i,s);return()=>{o.valid&&this.off(o)}}don(t,n,i=!1,s){return this.disposableOn(t,n,i,s)}disposableWeakOn(t,n,i=!1,s){const o=new V,a=()=>{!o.isDestroyed()&&o.destroy()};return o.dispose(this.disposableOn(t,n,i,s)),o.dispose(this.toDestroyEvent.disposableOn(a)),a}dwon(t,n,i=!1,s){return this.disposableWeakOn(t,n,i,s)}once(t,n,i=!1,s){const o=i?this._pipe.unshift(t,n,!0):this._pipe.push(t,n,!0);return s=s??new rh,s._reset(o,o._cid),s}disposableOnce(t,n,i=!1,s){const o=this.once(t,n,i,s);return()=>o.valid&&this.off(o)}donce(t,n,i=!1,s){const o=this.once(t,n,i,s);return()=>o.valid&&this.off(o)}off(t){if(!t.valid)throw new Error("handler is not valid!");this._pipe.remove(t._listenerHandler),t._reset()}reset(){this._pipe.removeAll()}destroyImp(){this.empty||(Wo("The event is destroying with listeners!"),this._pipe.removeAll())}};vp(N);function Ho(r,e){return e=e??new yu,e._reset(r,r._cid),e}class r_{constructor(){d(this,"__pipe")}get _pipe(){return this.__pipe=this.__pipe??new nh,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}do(...e){return this._pipe.do(...e)}isHandlerValid(e){return e.valid?this._pipe.isHandlerValid(e._listenerHandler):!1}moveAfter(e,t){if(!e.valid||!t.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(e._listenerHandler,t._listenerHandler)}moveBefore(e,t){if(!e.valid||!t.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(e._listenerHandler,t._listenerHandler)}insertBefore(e,t,n,i=!1,s){if(!e.valid)throw new Error("handler is not valid!");const o=this._pipe.insertBefore(e._listenerHandler,t,n,i);return Ho(o,s)}insertAfter(e,t,n,i=!1,s){if(!e.valid)throw new Error("handler is not valid!");const o=this._pipe.insertAfter(e._listenerHandler,t,n,i);return Ho(o,s)}remove(e){if(!e.valid)throw new Error("handler is not valid!");return this._pipe.remove(e._listenerHandler)}removeAll(){return this._pipe.removeAll()}push(e,t,n=!1,i){const s=this._pipe.push(e,t,n);return Ho(s,i)}pop(){return this._pipe.pop()}shift(){return this._pipe.shift()}unshift(e,t,n=!1,i){const s=this._pipe.unshift(e,t,n);return Ho(s,i)}getTail(e){const t=this._pipe.tail;if(t)return Ho(t,e)}getHead(e){const t=this._pipe.head;if(t)return Ho(t,e)}}class je extends V{constructor(t,n,i){super();d(this,"_changed");d(this,"_value");d(this,"_oldValue");d(this,"toChangeFunc");this._equalsFunc=n,this._assignFunc=i,this._value=this._assignFunc&&this._assignFunc(t,void 0)||t}get assignFunc(){return this._assignFunc}get equalsFunc(){return this._equalsFunc}equals(t){return this._equalsFunc?this._equalsFunc(this._value,t):this._value===t}set value(t){if(this._equalsFunc?!this._equalsFunc(this._value,t):this._value!==t){if(this.toChangeFunc&&!this.toChangeFunc(t,this._value))return;this._assignFunc?(this._oldValue=this._assignFunc(this._value,this._oldValue),this._value=this._assignFunc(t,this._value)):(this._oldValue=this._value,this._value=t),this._changed&&this._changed.emit(t,this._oldValue)}}get value(){return this._value}get changed(){return this._changed||(this._changed=this.disposeVar(new N)),this._changed}forceChange(){this._changed&&this._changed.emit(this._value,this._value)}}function B(r,e,t){return new je(r,e,t)}function dt(r){return new je(r,(e,t)=>e.length!==t.length?!1:e.every((n,i)=>n===t[i]),(e,t)=>{const n=t||new Array(e.length);return n.length=e.length,e.forEach((i,s)=>n[s]=i),n})}function ne(r){return B(r,(e,t)=>e===void 0||t===void 0?e===void 0&&t===void 0:e.length!==t.length?!1:e.every((n,i)=>n===t[i]),(e,t)=>{if(!e)return;const n=t||new Array(e.length);return n.length=e.length,e.forEach((i,s)=>n[s]=i),n})}function Il(r,e,t){return B(r,(n,i)=>n.length!==i.length?!1:n.every((s,o)=>e&&e(s,i[o])||s===i[o]),(n,i)=>{const s=i||new Array(n.length);return s.length=n.length,n.forEach((o,a)=>{s[a]=t?t(o):o}),s})}function ps(r,e,t){return B(r,(n,i)=>n===void 0||i===void 0?n===void 0&&i===void 0:n.length!==i.length?!1:n.every((s,o)=>e&&e(s,i[o])||s===i[o]),(n,i)=>{if(!n)return;const s=i||new Array(n.length);return s.length=n.length,n.forEach((o,a)=>{s[a]=t?t(o):o}),s})}function _t(r){return new je(r,(e,t)=>e===t||e!==void 0&&t!==void 0&&JSON.stringify(e)===JSON.stringify(t),(e,t)=>{if(e!==void 0)return JSON.parse(JSON.stringify(e))})}function Zt(r){return new je(r,(e,t)=>e===t||e!==void 0&&t!==void 0&&JSON.stringify(e)===JSON.stringify(t),(e,t)=>{if(e!==void 0)return JSON.parse(JSON.stringify(e))})}function i_(r){return new je(r,(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;const n=Object.keys(e),i=Object.keys(t);return n.length!==i.length?!1:n.every((s,o)=>s===i[o]&&e[s]===t[s])},(e,t)=>e&&{...e})}function s_(r){return new je(r,(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;const n=Object.keys(e),i=Object.keys(t);return n.length!==i.length?!1:n.every((s,o)=>s===i[o]&&e[s]===t[s])},(e,t)=>e&&{...e})}function o_(r){return Il(r,(e,t)=>e.every((n,i)=>n===t[i]),e=>[...e])}function ih(r){return ps(r,(e,t)=>e.every((n,i)=>n===t[i]),e=>[...e])}function a_(r){return Il(r,(e,t)=>JSON.stringify(e)===JSON.stringify(t),e=>JSON.parse(JSON.stringify(e)))}function u_(r){return ps(r,(e,t)=>JSON.stringify(e)===JSON.stringify(t),e=>JSON.parse(JSON.stringify(e)))}function xl(r){return ih(r)}function Ep(r){return ps(r,(e,t)=>e.length===t.length&&e.every((n,i)=>n.every((s,o)=>s===t[i][o])),e=>e.map(t=>[...t]))}function l_(r){return ps(r,(e,t)=>e.length===t.length&&e.every((n,i)=>n.every((s,o)=>s===t[i][o])),e=>e.map(t=>[...t]))}function Tl(r){const e=r instanceof je?[r,"value","changed"]:[...r];return e[2]=e[2]||e[1]+"Changed",e}function sh(r,e,t,n=!1){e[2]=e[2]||e[1]+"Changed";const i=()=>{const s=e[0][e[1]];t?r[0][r[1]]=t(s):r[0][r[1]]=s};return i(),n?e[0][e[2]].disposableWeakOn(i):e[0][e[2]].disposableOn(i)}function c_(r,e,t,n,i=!1){const s=sh(r,e,t,i),o=sh(e,r,n,i);return()=>(s(),o())}function j(r,e,t,n=!1){const i=r instanceof je?[r,"value","changed"]:r,s=e instanceof je?[e,"value","changed"]:e;return sh(i,s,t,n)}function nt(r,e,t,n,i=!1){const s=Tl(r),o=Tl(e);return c_(s,o,t,n,i)}function h_(r,e,t,n=!1){const[i]=Vi(e);return nt(r,e,s=>s??t,s=>{if(!(s===t&&i()===void 0))return s},n)}function qo(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){var e=Math.random()*16|0,t=r==="x"?e:e&3|8;return t.toString(16)})}function Nl(r,e){if(!globalThis||!globalThis.setTimeout||!globalThis.clearTimeout)throw new Error("目前只适合在浏览器中使用!");let t=0;function n(){t>0&&(globalThis.clearTimeout(t),t=0)}function i(...s){n(),t=globalThis.setTimeout(r,e,...s)}return[i,n]}function oh(r,e,...t){const n=setInterval(r,e,...t);return()=>clearInterval(n)}function ah(r,e,...t){const n=setTimeout(r,e,...t);return()=>clearTimeout(n)}function Ol(r,...e){let t;const n=()=>{const i=performance.now();r(i,...e),t=requestAnimationFrame(n)};return n(),()=>typeof t<"u"&&(cancelAnimationFrame(t),t=void 0)}function Xo(r,...e){let t;return t=requestAnimationFrame(()=>{const i=performance.now();r(i,...e)}),()=>typeof t<"u"&&(cancelAnimationFrame(t),t=void 0)}function _u(r,...e){let t=!1,n;return new Promise((i,s)=>{n=s,i()}).then(()=>{!t&&r(...e)}).catch(i=>{console.error(i)}),()=>(t=!0)&&n&&(n("nextMicroTask cancelled!"),n=void 0)}class Dl extends N{constructor(t,n,...i){super();d(this,"_cancellFunc");this._nextFunc=t,this.dispose(()=>{this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0)}),i.forEach(s=>this.dispose(s[n?"dwon":"don"](()=>{this.next()})))}next(){this._cancellFunc||(this._cancellFunc=this._nextFunc(()=>(this._cancellFunc=void 0,this.emit())))}flush(){this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0,this.emit())}}class uh extends Dl{constructor(...e){super(_u,!1,...e)}}function d_(...r){return new uh(...r)}class f_ extends Dl{constructor(...e){super(_u,!0,...e)}}function p_(...r){return new uh(...r)}class Ml extends Dl{constructor(...e){super(Xo,!1,...e)}}function Pe(...r){return new Ml(...r)}function g_(r,e){return new Ml(...r).don(e())}class Cp extends Dl{constructor(...e){super(Xo,!0,...e)}}function m_(...r){return new Cp(...r)}function Bi(r,e,t={time:"don",immediate:!1}){const n=new Ml(...Array.isArray(r)?r:[r]),i=n[t.time??"don"](e);return(t.immediate??!1)&&e(),()=>{i(),n.destroy()}}function wu(r){let e;if(typeof r.next=="function")e=r;else if(typeof r[Symbol.iterator]=="function")e=r[Symbol.iterator]();else throw new Error("iteratorOrIterable error!");return e}function lh(r,e){let t=!1;const n=wu(r);let i=-1;for(;;){const{done:s,value:o}=n.next();if(s)break;if(e(o,++i)){t=!0;break}}return t}function ch(r,e){return!lh(r,(n,i)=>!e(n,i))}function Eu(r,e,t,n){const i=r;if(!i[e]){const s=n(),o=Object.fromEntries(Object.entries(s).filter(([a,u])=>{const l=Object.getPrototypeOf(t),c=a in l;if(c){const h=u instanceof je?u.value:u;r[a]=h}return!c}).map(([a,u])=>u instanceof je?[a,u]:[a,Array.isArray(u)?ne(u):B(u)]));i[e]=o}return i[e]}function ji(r,e){var n;const t=Symbol(`${(n=r==null?void 0:r.constructor)==null?void 0:n.name}-createDefaultProps`);r.constructor.__xbsj_dpSymbol=t,r.constructor.__xbsj_createDefaultProps=e;for(let[i,s]of Object.entries(e()))if(!Reflect.has(r,i)){const o=function(a){var c,h;if(a[t])return;const u=[];let l=Object.getPrototypeOf(a);for(;l;)u.push(l),l=Object.getPrototypeOf(l);u.reverse();for(let f of u){const p=(c=f.constructor)==null?void 0:c.__xbsj_dpSymbol;if(!p)continue;const v=(h=f.constructor)==null?void 0:h.__xbsj_createDefaultProps;v&&Eu(a,p,f,v)}};Object.defineProperties(r,{[i]:{get(){return o(this),Eu(this,t,r,e)[i].value},set(a){o(this);const u=Eu(this,t,r,e)[i];if(!u){console.error("!propObj");debugger}u.value=a}},[`${i}Changed`]:{get(){return o(this),Eu(this,t,r,e)[i].changed}},[`${i}React`]:{get(){return o(this),Eu(this,t,r,e)[i]}}})}}const Cu=new WeakMap;function ci(r,e,t){Cu.has(r)||Cu.set(r,{});const n=Cu.get(r);n[e]=t}function Wn(r,e){return Cu.has(r)?Cu.get(r)[e]:void 0}function hi(r,e){const t=wu(r);let n=0;for(;;){const{done:i,value:s}=t.next();if(i)break;e(s,n++)}}function Su(r,e,t){const n=wu(r);let i=t,s=0;for(;;){const{done:o,value:a}=n.next();if(o)break;i=e(i,a,s++)}return i}const v_=r=>++r;function hh(r){return Su(r,v_,0)}function zi(r){return Su(r,(e,t)=>e>t?e:t,Number.NEGATIVE_INFINITY)}function gs(r){return Su(r,(e,t)=>e<t?e:t,Number.POSITIVE_INFINITY)}function Sp(r,e){let t=r;for(let n of e)t=t[n];return t}function y_(r,e,t){if(e.length===0)throw new Error("props的数量必须大于0");const n=e.length-1,i=e[n];let s=r;for(let o=0;o<n;++o){const a=e[o];typeof s[a]>"u"&&(s[a]={}),s=s[a]}s[i]=t}function*$s(r,e){const t=wu(r);for(;;){const{done:n,value:i}=t.next();if(n)break;yield Sp(i,e)}}class bu extends V{constructor(){super();d(this,"_innerObj");d(this,"_toChangeEvent");d(this,"_changedEvent");this._innerObj=[],this.dispose(()=>{if(this.length=0,this._innerObj.length>0)throw new Error("this._innerObj.length > 0");this._toChangeEvent&&this._toChangeEvent.reset(),this._innerObj=void 0})}get toChangeEvent(){return this._toChangeEvent||(this._toChangeEvent=new N),this._toChangeEvent}get changedEvent(){return this._changedEvent||(this._changedEvent=new N),this._changedEvent}_resetArray(t){this._toChangeEvent&&this._toChangeEvent.emit([{start:0,deleteCount:this._innerObj.length,items:t}],this);const{length:n}=t;this._innerObj.length=n;for(let i=0;i<n;++i)this._innerObj[i]=t[i];this._changedEvent&&this._changedEvent.emit(this)}splice(t,n,...i){const{length:s}=this._innerObj;t=t>this._innerObj.length?this._innerObj.length:t,t>s?t=s:t<0&&(t+=s,t<0&&(t=0));const o=this._innerObj.length-t;if(n>o?n=o:n<0&&(n=0),arguments.length===1){this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:this._innerObj.length-t,items:[]}],this);const a=this._innerObj.splice(t);return this._changedEvent&&this._changedEvent.emit(this),a}else if(arguments.length===2){this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:n,items:[]}],this);const a=this._innerObj.splice(t,n);return this._changedEvent&&this._changedEvent.emit(this),a}else{this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:n,items:i}],this);const a=this._innerObj.splice(t,n,...i);return this._changedEvent&&this._changedEvent.emit(this),a}}pop(){if(this._innerObj.length===0)return;if(this._toChangeEvent){const n=this._innerObj.length-1,i=1,s=[];this._toChangeEvent.emit([{start:n,deleteCount:i,items:s}],this)}const t=this._innerObj.pop();return this._changedEvent&&this._changedEvent.emit(this),t}push(...t){if(this._toChangeEvent){const i=this._innerObj.length;this._toChangeEvent.emit([{start:i,deleteCount:0,items:t}],this)}const n=this._innerObj.push(...t);return this._changedEvent&&this._changedEvent.emit(this),n}get length(){return this._innerObj.length}set length(t){if(t<0)throw new Error("value < 0");const{length:n}=this._innerObj;if(n!==t){if(this._toChangeEvent){let i,s,o;n>t?(i=t,s=n-t,o=[]):(i=n,s=0,o=new Array(t-n)),this._toChangeEvent.emit([{start:i,deleteCount:s,items:o}],this)}this._innerObj.length=t,this._changedEvent&&this._changedEvent.emit(this)}}get(t){return this._innerObj[t]}set(t,n){const{length:i}=this._innerObj;if(t<0||t>=i)throw new Error("index < 0 || index >= length");this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:1,items:[n]}],this),this._innerObj[t]=n,this._changedEvent&&this._changedEvent.emit(this)}indexOf(t){return this._innerObj.indexOf(t)}[Symbol.iterator](){return this._innerObj[Symbol.iterator]()}}function dh(r,e,...t){let n=r;for(let i of t){if(!n[i])if(e)n[i]={};else return;n=n[i]}return n}function __(r,e,t){typeof t>"u"&&(e.endsWith(".gltf")?t="model/gltf+json":e.endsWith(".bin")?t="application/octet-stream":e.endsWith(".glb")?t="model/gltf-binary":e.endsWith(".jpg")||e.endsWith(".jpeg")?t="image/jpeg":e.endsWith(".png")?t="image/png":e.endsWith(".glsl")?t="text/plain":e.endsWith(".json")?t="application/json":e.endsWith(".b3dm")||e.endsWith(".i3dm")||e.endsWith("pnts")||e.endsWith("cmpt")?t="application/octet-stream":console.warn(`save ${e}: MimeType无法确定!`));const n=new Blob([r],{type:t||""});let i=URL.createObjectURL(n);var s=document.createElement("a"),o=new MouseEvent("click");s.download=e,s.href=i,s.dispatchEvent(o),URL.revokeObjectURL(i)}function w_(r,e){const t=document.createElement("a"),n=new MouseEvent("click");t.download=e||"下载",t.href=r,t.dispatchEvent(n)}function E_(){return new Promise((r,e)=>{const t=performance.now();requestAnimationFrame(n=>r(n>t))})}const Rl=r=>{let e,t;return t=n=>{n=performance.now(),e=requestAnimationFrame(t),r(n)},e=requestAnimationFrame(t),()=>{cancelAnimationFrame(e)}};function fh(r,e,t=Rl){let n=Number.NEGATIVE_INFINITY,i;function s(u){u-n>e&&i&&(r(...i),i=void 0,n=u)}const o=t&&t(s)||void 0;function a(...u){i=u}return[a,o]}const bp=[];function Pp(r,e,t){if(bp.includes(r)){console.warn(`_loadJs ${r} has loaded before!`),e&&e();return}var n=document.getElementsByTagName("head")[0],i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("src",r),i.onload=i.onreadystatechange=function(){this.readyState&&this.readyState!=="complete"||(bp.push(r),e&&e(),i.onload=i.onreadystatechange=null)},i.onerror=(s,o,a,u,l)=>{t(l)},n.appendChild(i)}function ph(r,e=!0){if(e){const t=globalThis.L;globalThis.L&&(globalThis.L=void 0);const n=globalThis.define;return globalThis.define&&(globalThis.define=void 0),new Promise((i,s)=>{Pp(r,i,s)}).then(()=>(globalThis.define=n,globalThis.L=t,Promise.resolve()))}else return new Promise((t,n)=>{Pp(r,t,n)})}async function Ip(r,e=""){return new Promise((t,n)=>{var i=new Image;i.crossOrigin=e,i.src=r,i.onload=()=>t(i),i.onerror=s=>n(s)})}class C_ extends V{constructor(e){super(),this._owner=e}get owner(){return this._owner}}function S_(r,e){if(r.length%3!==0)throw new Error("positions.length % 3 !== 0");const t=r.length/3;function*n(o){for(let a=0;a<t;++a)yield r[a*3+o]}const i=(e==null?void 0:e.min)??[NaN,NaN,NaN],s=(e==null?void 0:e.max)??[NaN,NaN,NaN];return i[0]=gs(n(0))??NaN,i[1]=gs(n(1))??NaN,i[2]=gs(n(2))??NaN,s[0]=zi(n(0))??NaN,s[1]=zi(n(1))??NaN,s[2]=zi(n(2))??NaN,{min:i,max:s}}async function b_(r,e=fetch){const t=await e(r);return t.ok?await t.arrayBuffer():void 0}function Ll(r,...e){if(r>16)throw new Error("length > 16");const t=new Array(r);for(let n=0;n<r;++n)t[n]=e[n]??0;return t}class Fl{constructor(e,t){this._xyzw=e,this._length=t}set 0(e){this._xyzw.x=e}set 1(e){this._xyzw.y=e}set 2(e){this._xyzw.z=e}set 3(e){this._xyzw.w=e}get 0(){return this._xyzw.x??0}get 1(){return this._xyzw.y??0}get 2(){return this._xyzw.z??0}get 3(){return this._xyzw.w??0}get length(){return this._length}}function P_(r){return new Fl(r,2)}function I_(r){return new Fl(r,3)}function x_(r){return new Fl(r,4)}class T_{constructor(e,t,n,i){this._array=e,this._length=t,this._start=n,this._stride=i}get length(){return this._length}set 0(e){this._array[this._start+0*this._stride]=e}set 1(e){this._array[this._start+1*this._stride]=e}set 2(e){this._array[this._start+2*this._stride]=e}set 3(e){this._array[this._start+3*this._stride]=e}set 4(e){this._array[this._start+4*this._stride]=e}set 5(e){this._array[this._start+5*this._stride]=e}set 6(e){this._array[this._start+6*this._stride]=e}set 7(e){this._array[this._start+7*this._stride]=e}set 8(e){this._array[this._start+8*this._stride]=e}set 9(e){this._array[this._start+9*this._stride]=e}set 10(e){this._array[this._start+10*this._stride]=e}set 11(e){this._array[this._start+11*this._stride]=e}set 12(e){this._array[this._start+12*this._stride]=e}set 13(e){this._array[this._start+13*this._stride]=e}set 14(e){this._array[this._start+14*this._stride]=e}set 15(e){this._array[this._start+15*this._stride]=e}set 16(e){this._array[this._start+16*this._stride]=e}get 0(){return this._array[this._start+0*this._stride]}get 1(){return this._array[this._start+1*this._stride]}get 2(){return this._array[this._start+2*this._stride]}get 3(){return this._array[this._start+3*this._stride]}get 4(){return this._array[this._start+4*this._stride]}get 5(){return this._array[this._start+5*this._stride]}get 6(){return this._array[this._start+6*this._stride]}get 7(){return this._array[this._start+7*this._stride]}get 8(){return this._array[this._start+8*this._stride]}get 9(){return this._array[this._start+9*this._stride]}get 10(){return this._array[this._start+10*this._stride]}get 11(){return this._array[this._start+11*this._stride]}get 12(){return this._array[this._start+12*this._stride]}get 13(){return this._array[this._start+13*this._stride]}get 14(){return this._array[this._start+14*this._stride]}get 15(){return this._array[this._start+15*this._stride]}get 16(){return this._array[this._start+16*this._stride]}}function N_(r,e,t=0,n=1){return new T_(r,e,t,n)}g.Vector=void 0,(r=>{function e(z,...G){if(z=z||Ll(G.length),G.length>z.length)throw new Error("args.length > target.length");return z instanceof Float64Array?z.set(G):x(G,z),z}r.set=e;function t(z,G){const ft=z.length;for(let kt=0;kt<ft;++kt)if(!G(z[kt],kt))return!1;return!0}r.every=t;function n(z,G,ft){const kt=z.length;let ee=ft;for(let _e=0;_e<kt;++_e)ee=G(ee,z[_e],_e);return ee}r.reduce=n;function*i(z){for(let G=0;G<z.length;++G)yield z[G]}r.itr=i;const s=(z,G)=>z+=G*G;function o(z){return n(z,s,0)}r.magnitudeSquared=o;function a(z){const G=o(z);return Math.sqrt(G)}r.magnitude=a;function u(z,G=1e-5){const ft=o(z);return Math.abs(ft-1)<G}r.isNormalized=u;let l;const c=(z,G,ft)=>z+G*l[ft];function h(z,G){return b(z,G),l=G,n(z,c,0)}r.dot=h;let f;const p=(z,G,ft)=>z+=(G-f[ft])*(G-f[ft]);function v(z,G){return b(z,G),f=G,n(z,p,0)}r.distanceSquared=v;function C(z,G){return Math.sqrt(v(z,G))}r.distance=C;let S;const P=(z,G)=>z===S[G];function y(z,G){return b(z,G),S=G,t(z,P)}r.equals=y;let _,m;const w=(z,G)=>Math.abs(z-_[G])<m;function E(z,G,ft=0){return b(z,G),_=G,m=ft,t(z,w)}r.equalsEpsilon=E;function b(z,G){if(z.length!==G.length)throw new Error("left.length !== right.length")}function I(z,G,ft){const kt=z.length;ft=ft||Ll(kt),b(z,ft);for(let ee=0;ee<kt;++ee)ft[ee]=G(z[ee],ee);return ft}r.op1=I;function T(z,G,ft,kt){b(z,G),kt&&b(z,kt);const ee=z.length;kt=kt||Ll(ee);for(let _e=0;_e<ee;++_e)kt[_e]=ft(z[_e],G[_e]);return kt}r.op2=T;const D=z=>z;function x(z,G){return I(z,D,G)}r.clone=x;let O=0;const L=(z,G)=>z*O;function A(z,G,ft){return O=G,I(z,L,ft)}r.multiplyByScalar=A;function J(z,G,ft=0){const kt=o(z);if(kt<=ft)return;const ee=Math.sqrt(kt);return A(z,1/ee,G)}r.normalize=J;function H(z,G){return A(z,-1,G)}r.negate=H;const Z=z=>Math.abs(z);function ct(z,G){return I(z,Z,G)}r.abs=ct;const mt=z=>z-Math.floor(z);function Y(z,G){return I(z,mt,G)}r.fract=Y;const $=(z,G)=>z-G;function K(z,G,ft){return T(z,G,$,ft)}r.subtract=K;const wt=(z,G)=>z+G;function At(z,G,ft){return T(z,G,wt,ft)}r.add=At;const Nt=(z,G)=>z*G;function Ot(z,G,ft){return T(z,G,Nt,ft)}r.multiply=Ot;const jt=(z,G)=>z/G;function ve(z,G,ft){return T(z,G,jt,ft)}r.divide=ve;let Kt;const En=(z,G)=>z*(1-Kt)+G*Kt;function Cn(z,G,ft,kt){return Kt=ft,T(z,G,En,kt)}r.lerp=Cn})(g.Vector||(g.Vector={}));function Al(r,e=0,t=1){return r<e?e:r>t?t:r}class kl extends V{constructor(t,n,i,s,o,a,u,l){super();d(this,"__status");d(this,"_statusChangedEvent");d(this,"_forceCancelFunc");d(this,"_startEvent");d(this,"_progressEvent");d(this,"_completeEvent");d(this,"_cancelEvent");d(this,"_cancelledEvent");d(this,"_errorEvent");d(this,"_finishedEvent");d(this,"_processingID",-1);this._startProcessingFunc=t,this.startFunc=n,this.progressFunc=i,this.completeFunc=s,this.cancelFunc=o,this.cancelledFunc=a,this.errorFunc=u,this.finishedFunc=l,this._status="Initial",this.dispose(()=>{var c;return(c=this._statusChangedEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._startEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._progressEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._completeEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._cancelEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._cancelledEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._errorEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._finishedEvent)==null?void 0:c.destroy()}),this.dispose(()=>this.reset())}get startEvent(){return this._startEvent=this._startEvent||new N,this._startEvent}get progressEvent(){return this._progressEvent=this._progressEvent||new N,this._progressEvent}get completeEvent(){return this._completeEvent=this._completeEvent||new N,this._completeEvent}get cancelEvent(){return this._cancelEvent=this._cancelEvent||new N,this._cancelEvent}get cancelledEvent(){return this._cancelledEvent=this._cancelledEvent||new N,this._cancelledEvent}get errorEvent(){return this._errorEvent=this._errorEvent||new N,this._errorEvent}get finishedEvent(){return this._finishedEvent=this._finishedEvent||new N,this._finishedEvent}_completeFunc(t,n){this.processingID===t&&this._status==="Running"&&(this._status="Completed",this.completeFunc&&this.completeFunc(n),this._completeEvent&&this._completeEvent.emit(n),this.finishedFunc&&this.finishedFunc({status:"Completed",value:n}),this._finishedEvent&&this._finishedEvent.emit({status:"Completed",value:n}))}_cancelFunc(t){this._status==="Running"&&(this._status="Cancelling",this.cancelFunc&&this.cancelFunc(t),this._cancelEvent&&this._cancelEvent.emit(t))}_cancelledFunc(t){this._status==="Cancelling"&&(this._status="Cancelled",this.cancelledFunc&&this.cancelledFunc(t),this._cancelledEvent&&this._cancelledEvent.emit(t),this.finishedFunc&&this.finishedFunc({status:"Cancelled",cancelError:t}),this._finishedEvent&&this._finishedEvent.emit({status:"Cancelled",cancelError:t}))}_errorFunc(t,n){this.processingID===t&&this._status==="Running"&&(this._status="Error",this.errorFunc&&this.errorFunc(n),this._errorEvent&&this._errorEvent.emit(n),this.finishedFunc&&this.finishedFunc({status:"Error",error:n}),this._finishedEvent&&this._finishedEvent.emit({status:"Error",error:n}))}_progressFunc(t,n){this.processingID===t&&this._status==="Running"&&(this.progressFunc&&this.progressFunc(n),this._progressEvent&&this._progressEvent.emit(n))}_startFunc(...t){if(this._status==="Initial"){this._status="Running";const n=++this._processingID,i={completeFunc:this._completeFunc.bind(this,n),errorFunc:this._errorFunc.bind(this,n),progressFunc:this._progressFunc.bind(this,n),cancelFunc:this._cancel.bind(this,n),processingID:n},s=this._startProcessingFunc(i,...t);return this._forceCancelFunc=s,this.startFunc&&this.startFunc(...t),this._startEvent&&this._startEvent.emit(...t),n}else return console.warn("this._status !== 'Initial' but start again!"),-1}set _status(t){if(this.__status!==t){const n=this.__status;this.__status=t,this._statusChangedEvent&&this._statusChangedEvent.emit(t,n)}}get _status(){return this.__status}get processingID(){return this._processingID}get statusChangedEvent(){return this._statusChangedEvent||(this._statusChangedEvent=new N),this._statusChangedEvent}reset(t){this._status==="Running"&&this.cancel(t),this._status==="Cancelled"||this._status==="Error"||this._status==="Completed"?this._status="Initial":this._status==="Cancelling"&&console.warn("Cannot reset! (this._status === 'Cancelling')")}get status(){return this._status}cancel(t,n=this.processingID){return this._cancel(n,t)}_cancel(t,n){if(this.processingID===t)if(this._status==="Running"){if(!this._forceCancelFunc)throw new Error("this._forceCancelFunc is undefined!");this._cancelFunc(n);const i=this._forceCancelFunc(n);if(this._forceCancelFunc=void 0,i&&i instanceof Promise)return i.then(()=>{this._cancelledFunc(n)});this._cancelledFunc(n)}else console.warn("this._status !== 'Running' but cancel")}start(...t){try{return this._startFunc(...t)}catch(n){console.error(`processing start error: ${n}`)}}restart(t,...n){try{return this.isRunning&&this.cancel(t),this.isFinished&&this.reset(t),this.isInitial?this._startFunc(...n):(console.warn("restart failed!"),-1)}catch(i){console.error(`processing restart error: ${i}`)}}get isCompleted(){return this._status==="Completed"}get isCancelled(){return this._status==="Cancelled"}get isCancelling(){return this._status==="Cancelling"}get isError(){return this._status==="Error"}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isFinished(){return this.isCancelled||this.isCompleted||this.isError}}let gh=class extends Error{};function xp(r,e){typeof r=="function"?r(e):r.cancelFunc=e}class mh extends kl{constructor(t=300){super(({progressFunc:n,completeFunc:i,errorFunc:s})=>{const[o,a]=Nl(()=>{if(!this._lastDebounceValue)throw new Error("!this._lastDebounceValue");n([this._lastDebounceValue,this._debouncTimes]),this._debouncTimes=0},this._delayTime);return this._d=o,()=>{a()}});d(this,"_lastDebounceValue");d(this,"_debouncTimes",0);d(this,"_d");this._delayTime=t}get delayTime(){return this._delayTime}debounce(...t){this.isRunning?(++this._debouncTimes,this._lastDebounceValue=t,this._d&&this._d()):console.warn("Debouncing is not running!")}}function Tp(r,e,...t){const n=new AbortController;let i=n.signal,[s,o]=t;if(o!=null&&o.signal)throw console.error("init?.signal"),new Error("init?.signal");o=o||{},o.signal=i;let a=!1;xp(r,()=>{a=!0,n.abort()});let u=fetch(s,o);return e&&(u=u.then(l=>{if(!l.ok)return l;if(!l.body)throw Error("ReadableStream not yet supported in this browser.");const c=l.headers.get("content-length"),h=c?parseInt(c,10):0;let f=0;return new Response(new ReadableStream({start(p){if(!l.body)throw new Error("!response.body");const v=l.body.getReader();C();function C(){v.read().then(({done:S,value:P})=>{if(S){p.close();return}if(!P)throw new Error("!value");if(!e)throw new Error("!progressFunc");f+=P.byteLength,e(f,h),p.enqueue(P),C()}).catch(S=>{p.error(S)})}}}),{status:l.status,statusText:l.statusText,headers:l.headers})}).catch(l=>{throw a?(l instanceof Error&&l.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new gh("fetching cancelled!")):(l instanceof Error&&l.code===20&&console.error("error.code === 20"),l)})),u}function Np(...r){if(r.length>=1)if(typeof r[0]=="function"||typeof r[0]>"u"){const e={};let t=Tp(e,...r);const{cancelFunc:n}=e;if(!n)throw new Error("!cancelResult.cancelFunc");return[n,t]}else return Tp(...r);throw new Error("cancelableFetch args error!")}class O_ extends kl{constructor(t,...n){super(({progressFunc:i,completeFunc:s,errorFunc:o},...a)=>{const u={};let l={loaded:0,total:0};const c=(p,v)=>{l.loaded=p,l.total=v,i(l)},h=this._fetchArgs||a;if(h.length===0)throw new Error("fetchArgs.length === 0");if(Np(u,c,...h).then(t).then(s).catch(p=>{p instanceof gh||o(p)}),!u.cancelFunc)throw new Error("!cancelResult.cancelFunc");return u.cancelFunc});d(this,"_fetchArgs");n.length>0&&(this._fetchArgs=n)}get fetchArgs(){return this._fetchArgs}}function vh(r,e,t,n){const i="_"+e,s="_"+e+"Changed",o=e+"Changed";Object.defineProperties(r.prototype,{[e]:{get(){return typeof this[i]>"u"&&typeof t<"u"&&(this[i]=t),this[i]},set(a){if(typeof this[i]>"u"&&typeof t<"u"&&(this[i]=t),n?!n(this[i],a):this[i]!==a){const u=this[i];this[i]=a,this[s]&&this[s].emit(a,u)}}},[o]:{get(){return typeof this[s]>"u"&&(this[s]=new N,typeof this.dispose<"u"&&this.dispose(()=>this[s].destroy())),this[s]}}})}class yh extends kl{constructor(t,n=!0){super(({progressFunc:i,completeFunc:s,errorFunc:o})=>(this._intervalFunc=i,this._intervalID&&console.error("this._intervalID should be undefined!"),this.leading&&i(),this._intervalID=setInterval(i,this.intervalTime),()=>{if(!this._intervalID)throw console.error("this._intervalID should not be undefined!"),new Error("this._intervalID should not be undefined!");clearInterval(this._intervalID),this._intervalID=void 0}));d(this,"_intervalID");d(this,"_intervalFunc");this.intervalTime=t,this.leading=n,this.dispose(this.intervalTimeChanged.disposableOn(()=>{this._intervalID&&this._intervalFunc&&(clearInterval(this._intervalID),this._intervalID=setInterval(this._intervalFunc,this.intervalTime))}))}}vh(yh,"leading",!0),vh(yh,"intervalTime",500);function D_(r,e){let t,n;const i=new Promise((o,a)=>{n=a,t=globalThis.setTimeout(()=>{t=void 0,o()},r)}),s=o=>{t&&(clearTimeout(t),t=void 0),n&&n(o??new gh("sleep cancel error!"))};if(typeof e=="boolean"&&e)return[s,i];if(e)return xp(e,s),i}class M_{constructor(e=0,t=0,n=0,i,s){d(this,"_processData");d(this,"_lastUpdateTimeStamp",0);this.startTime=e,this.duration=t,this.delay=n,this.proccessFunc=i,this.completeFunc=s,this._processData={ratio:0,timeStamp:0,timeStampFromStart:0,timeStampFromLastUpdate:0}}update(e){const t=(e-this.startTime)/this.duration;t>=0&&(this._processData.ratio=t,this._processData.timeStamp=e,this._processData.timeStampFromStart=e-this.startTime,this._processData.timeStampFromLastUpdate=e-this._lastUpdateTimeStamp,this._lastUpdateTimeStamp=e,this.proccessFunc&&this.proccessFunc(this._processData),t>=1&&this.completeFunc&&this.completeFunc())}start(){this.startTime=performance.now()+this.delay,this._lastUpdateTimeStamp=this.startTime}}class Op extends kl{constructor(t=1e3,n=0,i=Rl){let s;function o(){s&&s()}super(({progressFunc:u,completeFunc:l,errorFunc:c})=>{const h=this.startUpdateFunc&&this.startUpdateFunc(this._base.update.bind(this._base))||void 0;return this._base.startTime=performance.now(),this._base.duration=this.duration,this._base.delay=this.delay,this._base.proccessFunc=u,this._base.completeFunc=()=>{h&&h(),l()},this._base.start(),s=h,o});d(this,"_base");d(this,"duration");d(this,"delay");d(this,"startUpdateFunc");this._base=new M_,this.duration=t,this.delay=n,this.startUpdateFunc=i}get startTime(){return this._base.startTime}}class R_ extends V{constructor(t){super();d(this,"_target",0);d(this,"_current",0);d(this,"_start",0);d(this,"_timing",new Op(Number.POSITIVE_INFINITY));d(this,"_currentChanged");this._duration=t,this._timing.progressFunc=({ratio:n})=>{n=n<0?0:n>1?1:n;const i=this._start*(1-n)+this._target*n;this._current=i,this._currentChanged&&this._currentChanged.emit(this._target,this._current)},this.dispose(()=>{this._timing.isRunning&&this._timing.cancel(),this._timing.destroy()})}reset(t,n=t){this._timing.isRunning&&this._timing.cancel(),this._target=t,this._current=n,this._start=t}set target(t){if(this._target!==t){this._target=t,this._timing.isRunning&&this._timing.cancel(),this._timing.reset(),this._start=this._current;const n=Math.abs(this._target-this._start);this._timing.duration=n*this._duration,this._timing.start()}}get target(){return this._target}get current(){return this._current}get currentChanged(){return this._currentChanged||(this._currentChanged=new N),this._currentChanged}}function Dp(r,e){e=e||[];const t=r.parentNode;return t?Dp(t,e.concat(t)):e}function L_(r){const e=r.composedPath&&r.composedPath()||r.path,t=r.target;if(e!=null)return e.indexOf(globalThis)<0?e.concat(globalThis):e;if(t===globalThis)return[globalThis];if(t===null)throw new Error("target === null");return[t].concat(Dp(t),globalThis)}function an(r,e=!1){const{offsetX:t,offsetY:n}=r;let i=t,s=n;{const o=L_(r);for(let a=0;a<o.length;++a){const u=o[a];if(u!==r.currentTarget&&u instanceof HTMLElement)i+=u.clientLeft,s+=u.clientTop,i+=u.offsetLeft,s+=u.offsetTop;else break}}return e?[i*globalThis.devicePixelRatio,s*globalThis.devicePixelRatio]:[i,s]}function Yo(r,e=!1){const t=r.target,n=r.currentTarget||r.__xbsj_lastCurrentTarget__;if(!t||!n)return[r.clientX,r.clientY];const i=t.getBoundingClientRect(),s=n.getBoundingClientRect(),o=i.left+r.offsetX,a=i.top+r.offsetY,u=o-s.left,l=a-s.top;return e?[u*globalThis.devicePixelRatio,l*globalThis.devicePixelRatio]:[u,l]}class Mp extends V{constructor(t){super();d(this,"_clickEvent",new N);d(this,"_dbclickEvent",new N);d(this,"_downEvent",new N);d(this,"_upEvent",new N);d(this,"_moveEvent",new N);d(this,"_debouncing",new mh(300));this.dispose(()=>{this._clickEvent.destroy(),this._dbclickEvent.destroy(),this._downEvent.destroy(),this._upEvent.destroy(),this._moveEvent.destroy(),this._debouncing.destroy()});let n=!1,i=[0,0],s=!1;this._debouncing.progressFunc=([[c,h,f],p])=>{p===1?this._clickEvent.emit(c,h,f):p>=2?this._dbclickEvent.emit(c,h,f):console.error("point click should not be here!")},this._debouncing.start(),this.dispose(()=>{this._debouncing.isRunning&&this._debouncing.cancel(),this._debouncing.destroy()});const o=c=>{n=!0;const[h,f]=an(c);i[0]=h,i[1]=f,this._downEvent.emit(h,f,c)},a=c=>{const[h,f]=an(c);n&&!s&&this._debouncing.debounce(h,f,c),n=!1,s=!1,this._upEvent.emit(h,f,c)},u=c=>{const[h,f]=an(c);if(n&&!s){const[p,v]=i;(Math.abs(h-p)>3||Math.abs(f-v)>3)&&(s=!0)}this._moveEvent.emit(h,f,c)},l=()=>{n=!1,s=!1};t.addEventListener("pointerdown",o),t.addEventListener("pointerup",a),t.addEventListener("pointermove",u),t.addEventListener("pointerout",l),this.dispose(()=>{t.removeEventListener("pointerdown",o),t.removeEventListener("pointerup",a),t.removeEventListener("pointermove",u),t.removeEventListener("pointerout",l)})}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}get downEvent(){return this._downEvent}get upEvent(){return this._upEvent}get moveEvent(){return this._moveEvent}}class _h extends V{constructor(){super();d(this,"_pickRectEvent",this.disposeVar(new N));d(this,"_updateRectEvent",this.disposeVar(new N));d(this,"_pointerActionEvent",this.disposeVar(new N));d(this,"_active",this.disposeVar(B(!1)));d(this,"_pickRect",{left0:0,top0:0,left1:0,top1:0});let t=0,n=0,i=0,s=0;this.dispose(this._pointerActionEvent.disposableOn(({type:o,left:a,top:u})=>{o==="PointerDown"?(this._active.value=!0,t=a,n=u,i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerMove"?this._active.value&&(i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerUp"&&this._active.value&&(this._active.value=!1,i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect))}))}_setPickRect({left0:t,left1:n,top0:i,top1:s}){this._pickRect.left0=t,this._pickRect.left1=n,this._pickRect.top0=i,this._pickRect.top1=s}pointerDown(t,n){this._pointerActionEvent.emit({type:"PointerDown",left:t,top:n})}pointerMove(t,n){this._pointerActionEvent.emit({type:"PointerMove",left:t,top:n})}pointerUp(t,n){this._pointerActionEvent.emit({type:"PointerUp",left:t,top:n})}reset(){this._setPickRect({left0:0,top0:0,left1:0,top1:0}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect)}get activeEvent(){return this._active.changed}get updateRectEvent(){return this._updateRectEvent}get pickRectEvent(){return this._pickRectEvent}static getLeftTopAndSize(t,n){n=n||{left:0,top:0,width:0,height:0,forward:!0};const{left0:i,top0:s,left1:o,top1:a}=t;return n.width=Math.abs(i-o),n.height=Math.abs(s-a),n.left=Math.min(i,o),n.top=Math.min(s,a),n.forward=o>i,n}static contains(t,n,i){const{left:s,top:o,width:a,height:u}=i;return t>s&&t<=s+a&&n>=o&&n<=o+u}}class F_ extends _h{constructor(e){super();const t=this.disposeVar(new Mp(e));this.dispose(t.downEvent.disposableOn((o,a,u)=>u.altKey&&this.pointerDown(o,a))),this.dispose(t.moveEvent.disposableOn((o,a)=>this.pointerMove(o,a))),this.dispose(t.upEvent.disposableOn((o,a)=>this.pointerUp(o,a)));const n=document.createElement("div");n.style.backgroundColor="rgba(0, 0, 0, 0)",n.style.border="2px dashed red",n.style.position="absolute",n.style.boxSizing="border-box",n.style.pointerEvents="none",n.style.height="0px",n.style.width="0px",n.style.left="0px",n.style.top="0px",n.style.display="none",e.appendChild(n),this.dispose(()=>e.removeChild(n)),this.dispose(this.activeEvent.disposableOn(o=>{n.style.display=o?"block":"none"}));const i=()=>{this.reset()};e.addEventListener("contextmenu",i),this.dispose(()=>e.removeEventListener("contextmenu",i));const s={left:0,top:0,width:0,height:0,forward:!1};this.dispose(this.updateRectEvent.disposableOn(o=>{if(_h.getLeftTopAndSize(o,s)){const{left:a,top:u,width:l,height:c}=s;n.style.height=`${c|0}px`,n.style.width=`${l|0}px`,n.style.left=`${a|0}px`,n.style.top=`${u|0}px`}}))}}class Mr extends Error{}function ms(r,e){Wn(r,"_promise_cancel")&&console.warn("setPromiseCancel warn: promise has cancelFunc!"),ci(r,"_promise_cancel",e)}function Jo(r){return Wn(r,"_promise_cancel")}function $o(r){return!!Jo(r)}function wh(r,e){const t=Jo(r);return t?(t(e),!0):!1}function Eh(r){const[e,t]=r;return ms(t,e),t}function Ko(r){let e;const t=new Promise((n,i)=>{e=i,r.then(n).catch(i)});return ms(t,e),t}function A_(r){let e,t;var n=new Promise((i,s)=>{t=r.disposableOn((...o)=>{t&&t(),i(o)}),e=o=>{t&&t(),s(o)}});return[e,n]}function k_(r){const e=new N,t=new N;return r.then(n=>{e.isDestroyed()||e.emit(n)}).catch(n=>{t.isDestroyed()||t.emit(n)}),[e,t]}class Ch extends V{constructor(){super();d(this,"_cancelled",!1);d(this,"_cancelError");d(this,"_promiseSet",new Set);d(this,"_disposer")}get disposer(){return this._disposer=this._disposer||new V,this._disposer}destroyImp(){this.finally()}cancel(t){var n;if(!this._cancelled){this._cancelled=!0,(n=this._disposer)==null||n.destroy(),this._cancelError=t;for(let i of this._promiseSet)wh(i);this._promiseSet.clear()}}get cancelFuncsNum(){return Su(this._promiseSet,t=>t+1,0)}finally(){this._disposer&&!this._disposer.isDestroyed()&&this._disposer.destroy(),this._promiseSet.clear()}check(){if(this._cancelled)throw this._cancelError??new Mr("cancel from CancelManager!")}promise(t){return this._promiseSet.add(t),t.finally(()=>(this._promiseSet.delete(t),this.check()))}promiseAny(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),$o(s)&&n.push(Jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.any(i).finally(()=>(n.forEach(s=>s(new Mr("cancel from promiseAny!"))),n.length=0))}promiseAll(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),$o(s)&&n.push(Jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.all(i).finally(()=>(n.forEach(s=>s(new Mr("cancel from promiseAll!"))),n.length=0))}promiseRace(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),$o(s)&&n.push(Jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.race(i).finally(()=>(n.forEach(s=>s(new Mr("cancel from promiseRace!"))),n.length=0))}}class Le extends V{constructor(t){super();d(this,"_status","Initial");d(this,"_completeEvent");d(this,"_errorEvent");d(this,"_completeFunc");d(this,"_errorFunc");d(this,"_cancelFunc");d(this,"_runningId",-1);this._startFunc=t,this.dispose(()=>this.isRunning&&this.cancel())}get errorEvent(){return this._errorEvent||(this._errorEvent=new N),this._errorEvent}get completeEvent(){return this._completeEvent||(this._completeEvent=new N),this._completeEvent}get errorFunc(){return this._errorFunc}get completeFunc(){return this._completeFunc}set errorFunc(t){this._errorFunc!==t&&(this._errorFunc=t)}set completeFunc(t){this._completeFunc!==t&&(this._completeFunc=t)}start(...t){if(this._status!=="Initial")return;const n=++this._runningId;this._status="Running",this._cancelFunc=this._startFunc({completeFunc:i=>{var s;n===this._runningId&&this._status==="Running"&&(this._status="Completed",this._completeFunc&&this._completeFunc(i),(s=this._completeEvent)==null||s.emit(i))},errorFunc:i=>{var s;n===this._runningId&&this._status==="Running"&&(this._status="Error",this._errorFunc&&this._errorFunc(i),(s=this._errorEvent)==null||s.emit(i))},runningingID:n},...t)}cancel(t=new Mr("")){var n;if(this._status==="Running"){if(!this._cancelFunc)throw new Error("!this._cancelFunc");this._status="Error",this._errorFunc&&this._errorFunc(t),(n=this._errorEvent)==null||n.emit(t),this._cancelFunc(t),this._cancelFunc=void 0}}reset(){this._status==="Running"&&console.error("processing cannot reset while running. you can first cancel it!"),(this._status==="Completed"||this._status==="Error")&&(this._status="Initial")}get status(){return this._status}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isCompleted(){return this._status==="Completed"}get isError(){return this._status==="Error"}get runningId(){return this._runningId}restart(t=new Mr(""),...n){this.isRunning&&this.cancel(t),this.reset(),this.start(...n)}restartIfNotRunning(...t){this.isRunning||(this.reset(),this.start(...t))}}function Pu(r){return(e,...t)=>{const n=new Ch,{completeFunc:i,errorFunc:s}=e,o=r(n,...t).then(i).catch(s).finally(()=>n.destroy());return ms(o,n.cancel.bind(n)),a=>wh(o,a)}}class V_ extends Le{constructor(){super(({errorFunc:t},n,i)=>{try{const[s,o]=Nl(n,i);return this._doFunc=s,o}catch(s){return t(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class B_ extends Le{constructor(t,n){super(({errorFunc:i})=>{try{const[s,o]=Nl(t,n);return this._doFunc=s,o}catch(s){return i(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}function j_(r){return new Le(Pu((e,...t)=>e.promise(r(...t))))}function z_(r,...e){return new Le(Pu(t=>t.promise(r(...e))))}function Vl(r){return j_((...e)=>{const t=r(...e);return $o(t)?t:Ko(t)})}function Sh(r,...e){return z_(()=>{const t=r(...e);return $o(t)?t:Ko(t)})}function U_(r){let e;const t=new Promise((n,i)=>{e=()=>{r(),i()}});return ms(t,e),t}function G_(r,...e){const t=new Ch,n=r(t,...e).finally(()=>t.destroy());return ms(n,t.cancel.bind(t)),n}function Hn(r){return new Le(Pu(r))}function W_(r,...e){return new Le(Pu(t=>r(t,...e)))}function Rp(r,...e){const t=new AbortController;let n=t.signal,[i,s]=e;if(s!=null&&s.signal)throw console.error("init?.signal"),new Error("init?.signal");s=s||{},s.signal&&console.warn("revocableFetch error: init.signal would be override!"),s.signal=n;let o=!1;const a=()=>{o=!0,t.abort()};let u=fetch(i,s);return r&&(u=u.then(l=>{if(!l.ok)return l;if(!l.body)throw Error("ReadableStream not yet supported in this browser.");const c=l.headers.get("content-length");c||console.warn("response.headers.get('content-length') is undefined... cannot get contentLength!");const h=c?parseInt(c,10):0;let f=0;return new Response(new ReadableStream({start(p){if(!l.body)throw new Error("!response.body");const v=l.body.getReader();C();function C(){v.read().then(({done:S,value:P})=>{if(S){p.close();return}if(!P)throw new Error("!value");if(!r)throw new Error("!progressFunc");f+=P.byteLength,r(f,h),p.enqueue(P),C()}).catch(S=>{p.error(S)})}}}),{status:l.status,statusText:l.statusText,headers:l.headers})}).catch(l=>{throw o?(l instanceof Error&&l.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new Mr(`fetching cancelled! error: ${l}`)):(l instanceof Error&&l.code===20&&console.error("error.code === 20"),l)})),ms(u,a),u}function H_(r,...e){return Rp(r,...e)}function bh(...r){return Rp(void 0,...r)}function q_(){return Vl(bh)}function X_(...r){return Sh(bh,...r)}function Ph(r,...e){let t=-1;var n=new Promise((i,s)=>{r.isRunning&&r.cancel(),r.reset();const o=new V;o.dispose(r.completeEvent.disposableOn(a=>{if(i(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),o.dispose(r.errorEvent.disposableOn(a=>{if(s(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),r.start(...e),t=r.runningId});return[i=>t===r.runningId&&r.isRunning&&r.cancel(i),n]}function di(r,e,...t){try{return e(...t)}catch(n){r(n)}}function Y_(){return new Le(({completeFunc:r,errorFunc:e},t)=>Xo(()=>di(e,()=>{t&&t(),r()})))}function J_(r){return new Le(({completeFunc:e,errorFunc:t})=>Xo(()=>di(t,()=>{r&&r(),e()})))}function $_(){return new Le(({completeFunc:r,errorFunc:e},t)=>_u(()=>{di(e,()=>{t&&t(),r()})}))}function K_(r){return new Le(({completeFunc:e,errorFunc:t})=>_u(()=>{di(t,()=>{r&&r(),e()})}))}function Lp(){return new Le(({completeFunc:r,errorFunc:e},t,n)=>ah(()=>{di(e,()=>{t&&t(),r()})},n??1e3))}function Fp(r,e){return new Le(({completeFunc:t,errorFunc:n})=>ah(()=>{di(n,()=>{r&&r(),t()})},e??1e3))}function Z_(){return new Le(({errorFunc:r},e,t=1e3)=>oh(()=>di(r,e),t))}function Q_(r,e=1e3){return new Le(({errorFunc:t})=>oh(()=>di(t,r),e))}function Iu(){return new Le(({errorFunc:r},e)=>Ol(t=>di(r,e,t)))}function Zo(r){return new Le(({errorFunc:e})=>Ol(t=>di(e,r,t)))}function xu(r,...e){let t,n;const i=new Promise((o,a)=>{n=a,t=globalThis.setTimeout(()=>{t=void 0,o(e)},r)});return ms(i,o=>{t&&(clearTimeout(t),t=void 0),n&&n(o??new Mr("sleep cancel error!"))}),i}function t0(){return Vl(xu)}function e0(r,...e){return Sh(xu,r,...e)}function Ks(r,e,...t){return r.promise(Eh(Ph(Hn(async(n,...i)=>(r.disposer.dispose(()=>{n.isDestroyed()||n.cancel()}),await e(n,...i))),...t)))}function n0(r,e,...t){return r.promise(Eh(Ph(e,...t)))}class r0 extends Le{constructor(){super(({errorFunc:t},n,i)=>{try{const[s,o]=fh(n,i);return this._doFunc=s,o}catch(s){return t(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class i0 extends Le{constructor(t,n){super(({errorFunc:i})=>{try{const[s,o]=fh(t,n);return this._doFunc=s,o}catch(s){return i(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class Bl extends V{constructor(t=1e3,n=Rl){super();d(this,"_speed");d(this,"_speedChangedEvent");d(this,"_duration");d(this,"_durationChangedEvent");d(this,"_loop");d(this,"startUpdateFunc");d(this,"_updateBindThis");d(this,"_cancelStartUpdateFunc");d(this,"_startTimeStamp");d(this,"_playingChangedEvent");d(this,"_startPlayingEvent");d(this,"_stopPlayingEvent");d(this,"_loopChangedEvent");d(this,"_currentTime",this.disposeVar(B(0)));this._speed=1,this._duration=t,this._loop=!1,this.startUpdateFunc=n,this._updateBindThis=this._update.bind(this),this.dispose(()=>{this._cancelStartUpdateFunc&&(this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0)}),this._startTimeStamp=Number.NaN,this.dispose(()=>{this._startPlayingEvent&&this._startPlayingEvent.reset(),this._stopPlayingEvent&&this._stopPlayingEvent.reset()})}get startPlayingEvent(){return this._startPlayingEvent=this._startPlayingEvent||new N,this._startPlayingEvent}get stopPlayingEvent(){return this._stopPlayingEvent=this._stopPlayingEvent||new N,this._stopPlayingEvent}get currentTimeChangedEvent(){return this._currentTime.changed}get loopChangedEvent(){return this._loopChangedEvent=this._loopChangedEvent||new N,this._loopChangedEvent}set loop(t){this._loop!==t&&(this._loop=t,this._loopChangedEvent&&this._loopChangedEvent.emit(this._loop))}get loop(){return this._loop}_update(t){if(Number.isNaN(this._startTimeStamp))console.warn("Number.isNaN(this._startTimeStamp)");else{const n=(t-this._startTimeStamp)*this._speed;this._setCurrentTimeInner(n)}}get currentTime(){return this._currentTime.value}set currentTime(t){this._setCurrentTimeInner(t),this._resetStartTime()}_setCurrentTimeInner(t){this._currentTime.value!==t&&(this._duration<=0?this._currentTime.value=0:t<0?this.loop?this._currentTime.value=this._duration+t%this._duration:(this._currentTime.value=0,this.playing&&this._stopPlaying()):t>this._duration?this.loop?this._currentTime.value=t%this._duration:(this._currentTime.value=this._duration,this.playing&&this._stopPlaying()):this._currentTime.value=t)}get durationChangedEvent(){return this._durationChangedEvent||(this._durationChangedEvent=new N),this._durationChangedEvent}get duration(){return this._duration}set duration(t){var n;if(t<0)console.warn("duration sholud greater than 0!");else if(this._duration!==t){const i=this._duration;this._duration=t,this._currentTime.value>this._duration&&(this._currentTime.value=this._duration),(n=this._durationChangedEvent)==null||n.emit(this._duration,i)}}get speedChangedEvent(){return this._speedChangedEvent||(this._speedChangedEvent=new N),this._speedChangedEvent}get speed(){return this._speed}set speed(t){var n;if(this._speed!==t&&t!==0){const i=this._speed;this._speed=t,this._resetStartTime(),(n=this._speedChangedEvent)==null||n.emit(this._speed,i)}}_resetStartTime(){this._startTimeStamp=performance.now()-this._currentTime.value/this._speed}_startPlaying(){var t,n;this._resetStartTime(),this._cancelStartUpdateFunc=this.startUpdateFunc(this._updateBindThis),(t=this._startPlayingEvent)==null||t.emit(this._currentTime.value),(n=this._playingChangedEvent)==null||n.emit(!0)}_stopPlaying(){var t,n;if(!this._cancelStartUpdateFunc)throw new Error("this._cancelStartUpdateFunc is undefined!");this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0,(t=this._stopPlayingEvent)==null||t.emit(this._currentTime.value),(n=this._playingChangedEvent)==null||n.emit(!1)}get playingChangedEvent(){return this._playingChangedEvent||(this._playingChangedEvent=new N),this._playingChangedEvent}get playing(){return!!this._cancelStartUpdateFunc}set playing(t){!!this._cancelStartUpdateFunc!==t&&(t?this._startPlaying():this._stopPlaying())}}class Tu extends V{constructor(t){super();d(this,"_stop",this.disposeVar(B(0)));d(this,"_current",this.disposeVar(B(0)));d(this,"_start",this.disposeVar(B(0)));d(this,"_player",this.disposeVar(new Bl(200)));this.dispose(this._player.currentTimeChangedEvent.disposableOn(n=>{let i=n/this._player.duration;i=i>1?1:i<0?0:i;const s=this._start.value,o=this._stop.value;this._current.value=s+(o-s)*i})),this.duration=t}get current(){return this._current.value}get currentChanged(){return this._current.changed}get source(){return this._start.value}get sourceChanged(){return this._start.changed}get target(){return this._stop.value}get targetChanged(){return this._stop.changed}get duration(){return this._player.duration}set duration(t){this._player.duration=t}set target(t){this._start.value=this._current.value,this._stop.value=t,this._player.currentTime=0,this._player.playing=!0}reset(t){this._start.value=t,this._current.value=t,this._stop.value=t,this._player.playing=!1}}let Ap=-1;class ae extends N{constructor(e,t,n,i){super(),this._domElement=e,this._type=t,this.callback=i;const s=o=>(o.__xbsj_listenerNo__=++Ap,o.__xbsj_listenerTime__=Date.now(),o.__xbsj_lastCurrentTarget__=o.currentTarget,this.emit(o),this.callback&&this.callback(o));this._domElement.addEventListener(this._type,s,n),this.dispose(()=>this._domElement.removeEventListener(this._type,s,n))}static getLastLisenNo(){return Ap}static getCurrentTarget(e){return e.__xbsj_lastCurrentTarget__}static getListenerNo(e){return e.__xbsj_listenerNo__}static getListenerTime(e){return e.__xbsj_listenerTime__}static on(e,t){const n=ae.getLastLisenNo();return e.disposableOn(i=>{const s=ae.getListenerNo(i);(s===void 0||s>n)&&t(i)})}get element(){return this._domElement}static create(e,t,n){return new ae(e,t,n)}}class Ih extends V{constructor(){super();d(this,"_clickEvent",this.disposeVar(new N));d(this,"_dbclickEvent",this.disposeVar(new N));d(this,"_pointerdownEvent",this.disposeVar(new N));d(this,"_pointerupEvent",this.disposeVar(new N));d(this,"_pointermoveEvent",this.disposeVar(new N));d(this,"_pointeroutEvent",this.disposeVar(new N));d(this,"dbClickDelayTime",300);d(this,"nativeClickDelayTime",500);d(this,"clickMovementTolerantPixelSize",3);d(this,"debugging",!1);d(this,"_enabled",this.disposeVar(B(!0)));const t=this.disposeVar(Hn(async i=>{do{const s=await Ks(i,u=>new Promise((l,c)=>{u.disposer.dispose(c),u.disposer.dispose(ae.on(this._pointerdownEvent,l))})),o=an(s);if(this.debugging&&console.log(`鼠标按下 ${o.toString()}`),!await Ks(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l(!0),this.nativeClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(ae.on(this._pointermoveEvent,f=>{const[p,v]=an(f),[C,S]=o;(Math.abs(p-C)>3||Math.abs(v-S)>3)&&l(!1)})),u.disposer.dispose(ae.on(this._pointeroutEvent,()=>l(!1))),u.disposer.dispose(ae.on(this._pointerupEvent,()=>l(!0)))}))){this.debugging&&console.log("取消1");continue}const a=await Ks(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l("timeout"),this.dbClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(ae.on(this._pointermoveEvent,f=>{const[p,v]=an(f),[C,S]=o;(Math.abs(p-C)>3||Math.abs(v-S)>3)&&l("moved")})),u.disposer.dispose(ae.on(this._pointerdownEvent,l)),u.disposer.dispose(ae.on(this._pointeroutEvent,()=>l("pointouted"))),u.disposer.dispose(ae.on(this._pointerupEvent,()=>l("pointuped")))}));if(typeof a=="string"){this.debugging&&console.log(`触发单击事件!取消双击监听!error: ${a}`),this._clickEvent.emit(s);continue}if(!await Ks(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l(!1),this.nativeClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(ae.on(this._pointermoveEvent,f=>{const[p,v]=an(f),[C,S]=o;(Math.abs(p-C)>3||Math.abs(v-S)>3)&&l(!1)})),u.disposer.dispose(ae.on(this._pointeroutEvent,()=>l(!1))),u.disposer.dispose(ae.on(this._pointerupEvent,()=>l(!0)))}))){this.debugging&&console.log("取消2");continue}this.debugging&&console.log("触发双击事件!"),this._dbclickEvent.emit(a)}while(!0)})),n=i=>{i?t.restart():t.isRunning&&t.cancel()};n(this.enabled),this.dispose(this.enabledChanged.disposableOn(n))}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}pointerDown(t){this._pointerdownEvent.emit(t)}pointerUp(t){this._pointerupEvent.emit(t)}pointerMove(t){this._pointermoveEvent.emit(t)}pointerOut(t){this._pointeroutEvent.emit(t)}get enabled(){return this._enabled.value}set enabled(t){this._enabled.value=t}get enabledChanged(){return this._enabled.changed}}class s0 extends V{constructor(t,n){super();d(this,"_pointerClick",this.disposeVar(new Ih));this._div=t;const{div:i,pointerClick:s}=this,o=c=>s.pointerDown(c),a=c=>s.pointerMove(c),u=c=>s.pointerOut(c),l=c=>s.pointerUp(c);i.addEventListener("pointerdown",o,n),i.addEventListener("pointermove",a,n),i.addEventListener("pointerout",u,n),i.addEventListener("pointerup",l,n),this.dispose(()=>{i.removeEventListener("pointerdown",o,n),i.removeEventListener("pointermove",a,n),i.removeEventListener("pointerout",u,n),i.removeEventListener("pointerup",l,n)})}get div(){return this._div}get pointerClick(){return this._pointerClick}get clickEvent(){return this.pointerClick.clickEvent}get dbclickEvent(){return this.pointerClick.dbclickEvent}}class kp extends V{constructor(){super();d(this,"_hoverEvent",this.disposeVar(new N));d(this,"_hoverOutEvent",this.disposeVar(new N));d(this,"_pointerdownEvent",this.disposeVar(new N));d(this,"_pointerupEvent",this.disposeVar(new N));d(this,"_pointermoveEvent",this.disposeVar(new N));d(this,"_pointeroutEvent",this.disposeVar(new N));d(this,"delayTime",800);const t=this.disposeVar(Lp()),n=l=>{this._hoverOutEvent.emit()},i=l=>{this._hoverOutEvent.emit()};let s;const o=()=>{if(!s){console.warn("!lastPointerEvent");return}this._hoverEvent.emit(s)},a=l=>{s=l,t.restart(void 0,o,this.delayTime),this._hoverOutEvent.emit()},u=l=>{t.cancel(),this._hoverOutEvent.emit()};this.dispose(this._pointerdownEvent.disposableOn(n)),this.dispose(this._pointerupEvent.disposableOn(i)),this.dispose(this._pointermoveEvent.disposableOn(a)),this.dispose(this._pointeroutEvent.disposableOn(u))}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}pointerDown(t){this._pointerdownEvent.emit(t)}pointerUp(t){this._pointerupEvent.emit(t)}pointerMove(t){this._pointermoveEvent.emit(t)}pointerOut(t){this._pointeroutEvent.emit(t)}}class o0 extends V{constructor(t,n=1500){super();d(this,"_hoverEvent",new N);d(this,"_hoverOutEvent",new N);const i=new mh(n);this.dispose(()=>i.destroy());let s=0,o=0,a;i.progressFunc=()=>this._hoverEvent.emit(s,o,a);const u=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=an(f),i.debounce(),this._hoverOutEvent.emit()},l=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=an(a),i.debounce(),this._hoverOutEvent.emit()},c=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=an(a),i.debounce(),this._hoverOutEvent.emit()},h=f=>{i.isRunning&&i.cancel(),this._hoverOutEvent.emit()};t.addEventListener("pointerdown",u),t.addEventListener("pointerup",l),t.addEventListener("pointermove",c),t.addEventListener("pointerout",h),this.dispose(()=>{t.removeEventListener("pointerdown",u),t.removeEventListener("pointerup",l),t.removeEventListener("pointermove",c),t.removeEventListener("pointerout",h)})}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}}class Vp extends V{constructor(t,n={}){super();d(this,"_needRedrawEvent");d(this,"_needPickRedrawEvent");d(this,"_id",qo());d(this,"_clickEvent");d(this,"_clickOutEvent");d(this,"_dbclickEvent");d(this,"_dbclickOutEvent");d(this,"_actived",!1);d(this,"_activedChanged");d(this,"_hovered",!1);d(this,"_hoveredChanged");d(this,"_selected",!1);d(this,"_selectedChanged");d(this,"_opacity",1);d(this,"_opacityChanged");d(this,"_show",!0);d(this,"_showChanged");this._canvasPrimitivesContext=t;const{needRedraw:i=!0,needPickRedraw:s=!0}=n;i&&(this._needRedrawEvent=new N),s&&(this._needPickRedrawEvent=new N),this._canvasPrimitivesContext.addPoi(this),this.dispose(()=>this._canvasPrimitivesContext.removePoi(this)),this.dispose(this.showChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()})),this.dispose(this.opacityChanged.disposableOn(()=>this.needRedraw()))}get id(){return this._id}get context(){return this._canvasPrimitivesContext}needRedraw(){this._needRedrawEvent?this._needRedrawEvent.emit():console.warn("no needRedrawEvent!")}needPickRedraw(){this._needPickRedrawEvent?this._needPickRedrawEvent.emit():console.warn("no needPickRedrawEvent!")}hasClickEvent(){return!!this._clickEvent}get clickEvent(){return this._clickEvent=this._clickEvent||new N,this._clickEvent}hasClickOutEvent(){return!!this._clickOutEvent}get clickOutEvent(){return this._clickOutEvent=this._clickOutEvent||new N,this._clickOutEvent}hasDbclickEvent(){return!!this._dbclickEvent}get dbclickEvent(){return this._dbclickEvent=this._dbclickEvent||new N,this._dbclickEvent}hasDbclickOutEvent(){return!!this._dbclickOutEvent}get dbclickOutEvent(){return this._dbclickOutEvent=this._dbclickOutEvent||new N,this._dbclickOutEvent}set actived(t){this._actived!==t&&(this._actived=t,this._activedChanged&&this._activedChanged.emit(t,this))}get actived(){return this._actived}get activedChanged(){return this._activedChanged=this._activedChanged||new N,this._activedChanged}set hovered(t){this._hovered!==t&&(this._hovered=t,this._hoveredChanged&&this._hoveredChanged.emit(t,this))}get hovered(){return this._hovered}get hoveredChanged(){return this._hoveredChanged=this._hoveredChanged||new N,this._hoveredChanged}set selected(t){this._selected!==t&&(this._selected=t,this._selectedChanged&&this._selectedChanged.emit(t,this))}get selected(){return this._selected}get selectedChanged(){return this._selectedChanged=this._selectedChanged||new N,this._selectedChanged}set opacity(t){this._opacity!==t&&(this._opacity=t,this._opacityChanged&&this._opacityChanged.emit(t,this))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new N,this._opacityChanged}set show(t){this._show!==t&&(this._show=t,this._showChanged&&this._showChanged.emit(t,this))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new N,this._showChanged}}class xh extends Vp{constructor(t,n=[0,0],i=0){super(t);d(this,"_winPosAndDepthChanged");this._winPos=n,this._depth=i,this.dispose(this.winPosAndDepthChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()}))}set winPos(t){(this._winPos[0]!==t[0]||this._winPos[1]!==t[1])&&(this._winPos[0]=t[0],this._winPos[1]=t[1],this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get winPos(){return this._winPos}set depth(t){this._depth!==t&&(this._depth=t,this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get depth(){return this._depth}get winPosAndDepthChanged(){return this._winPosAndDepthChanged||(this._winPosAndDepthChanged=new N),this._winPosAndDepthChanged}}function Zs(r,e,t,n){const[i,s]=r,[o,a,u,l]=n,c=e[0]*t[0],h=e[1]*t[1],f=i-(c*o+u),p=s-(h*a+l);return{left:f,top:p,right:f+c,bottom:p+h}}function Qs(r,e,t,n,i){r.beginPath(),r.moveTo(e,t),r.lineTo(e-n*.5,t-n*.5),r.arc(e,t-n,n*.7071067811865475,Math.PI*.75,Math.PI*.25),r.lineTo(e,t),r.fillStyle=i,r.fill()}function Bp(r,e,t,n,i,s){r.beginPath(),r.moveTo(e+s,t),r.lineTo(e+n-s,t),r.arcTo(e+n,t,e+n,t+s,s),r.lineTo(e+n,t+i-s),r.arcTo(e+n,t+i,e+n-s,t+i,s),r.lineTo(e+s,t+i),r.arcTo(e,t+i,e,t+i-s,s),r.lineTo(e,t+s),r.arcTo(e,t,e+s,t,s)}function jp(r,e,t,n,i,s){r.font=i;const o=r.measureText(n),a=o.actualBoundingBoxLeft+o.actualBoundingBoxRight,u=Number.isFinite(o.fontBoundingBoxAscent)?o.fontBoundingBoxAscent:o.actualBoundingBoxAscent,l=Number.isFinite(o.fontBoundingBoxDescent)?o.fontBoundingBoxDescent:o.actualBoundingBoxDescent;let c=u+l;r.fillStyle=s,r.fillText(n,e-a*.5,t+c*.5-l)}function zp(r){const{width:e,height:t}=r,n=e instanceof SVGAnimatedLength?e.baseVal.SVG_LENGTHTYPE_PX:e,i=t instanceof SVGAnimatedLength?t.baseVal.SVG_LENGTHTYPE_PX:t,s=document.createElement("canvas");s.width=n,s.height=i;const o=s.getContext("2d");if(!o)throw new Error("!cavnasCtx");return o.drawImage(r,0,0,n,i),s}function Up(r,e){const{width:t,height:n}=r,i=r.getContext("2d");if(!i)throw new Error("!cavnasCtx");const[s,o,a]=e.map(h=>h*255|0),u=i.getImageData(0,0,t,n),l=u.data;for(var c=0;c<l.length;c+=4)l[c]=s,l[c+1]=o,l[c+2]=a;i.putImageData(u,0,0)}function Th(r,e,t,n=[.5,1,0,0],i,s="12px Arial",o=2,a="#FFF",u="#000A"){r.font=s;const l=r.measureText(i),c=l.actualBoundingBoxLeft+l.actualBoundingBoxRight,h=l.fontBoundingBoxAscent+l.fontBoundingBoxDescent,f=e,p=t,v=c+o*2,C=h+o*2,{left:S,top:P,bottom:y}=Zs([f,p],[v,C],[1,1],n);r.fillStyle=u,Bp(r,S,P,v,C,o),r.fill(),r.fillStyle=a,r.fillText(i,S+o,y-o-l.fontBoundingBoxDescent)}function Nu(r){return("00"+r.toString(16).toUpperCase()).substr(-2)}function Ou(r){const[e,t,n,i]=r.map(s=>s*255|0);return`#${Nu(e)}${Nu(t)}${Nu(n)}${Nu(i)}`}function Nh(r,e){const[t,n,i]=e,s=`${t}-${n}-${i}`;let o=Wn(r,s);return o||(o=zp(r),Up(o,e),ci(r,s,o)),o}class a0 extends xh{constructor(t,n,i=[32,32],s=[.5,1,0,0],o="#F00F"){super(t);d(this,"_tooltip","");d(this,"_title","");d(this,"__scale",[1,1]);d(this,"_tooltipAlpha",0);d(this,"_bgColor",[.3,.3,.3,.8]);d(this,"_bgColorHexStr",Ou(this._bgColor));d(this,"_fgColor",[1,1,1,1]);d(this,"_fgColorHexStr",Ou(this._fgColor));this._image=n,this._size=i,this._originRatioAndOffset=s,this._defaultColorStr=o;const a=new Tu(100),u=new Tu(100);this.dispose(()=>{a.destroy(),u.destroy()});const l=()=>{if(this._clickEvent&&!this._clickEvent.empty){const c=(1+.08*u.current)*(1+.08*a.current);this._scale=[c,c],this._tooltipAlpha=a.current}};this.dispose(this.activedChanged.disposableOn(c=>{u.target=c?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(c=>{a.target=c?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(()=>{this.needRedraw()})),this.dispose(u.currentChanged.disposableOn(l)),this.dispose(a.currentChanged.disposableOn(l))}set size(t){const[n,i]=t,[s,o]=this._size;(s!==n||o!==i)&&(this._size[0]=n,this._size[1]=i,this.needRedraw(),this.needPickRedraw())}get size(){return this._size}set _scale(t){const[n,i]=t,[s,o]=this.__scale;(s!==n||o!==i)&&(this.__scale[0]=n,this.__scale[1]=i,this.needRedraw(),this.needPickRedraw())}get _scale(){return this.__scale}set fgColor(t){if(!this._fgColor.every((n,i)=>t[i]===n)){const[n,i,s,o]=t;this._fgColor.splice(0,4,n,i,s,o),this._fgColorHexStr=Ou(this._fgColor),this.needRedraw()}}get fgColor(){return this._fgColor}set bgColor(t){if(!this._bgColor.every((n,i)=>t[i]===n)){const[n,i,s,o]=t;this._bgColor.splice(0,4,n,i,s,o),this._bgColorHexStr=Ou(this._bgColor),this.needRedraw()}}get bgColor(){return this._bgColor}set originRatioAndOffset(t){const[n,i,s,o]=this._originRatioAndOffset,[a,u,l,c]=t;(n!==a||i!==u||s!==l||o!==c)&&(this._originRatioAndOffset.splice(0,4,a,u,l,c),this.needRedraw(),this.needPickRedraw())}get originRatioAndOffset(){return this._originRatioAndOffset}set image(t){this._image!==t&&(this._image=t,this.needRedraw())}get image(){return this._image}set defaultColorStr(t){this._defaultColorStr!==t&&(this._defaultColorStr=t,this.needRedraw())}get defaultColorStr(){return this._defaultColorStr}set tooltip(t){this._tooltip!==t&&(this._tooltip=t,this.needRedraw())}get tooltip(){return this._tooltip}set title(t){this._title!==t&&(this._title=t,this.needRedraw())}get title(){return this._title}draw(t){if(!this._show)return;const[n,i]=this._winPos,s=this._size[0]*this.__scale[0],o=this._size[1]*this.__scale[1],{left:a,top:u}=Zs([n,i],this._size,this.__scale,this._originRatioAndOffset),l=t.globalAlpha;if(t.globalAlpha=this.opacity,this._image){if(this.selected){const c=Nh(this._image,[1,0,0]),{left:h,top:f}=Zs([n,i+3],[s+6,o+6],[1,1],this._originRatioAndOffset);t.drawImage(c,h,f,s+6,o+6)}if(this.actived){const[c,h,f,p]=this._fgColor,v=Nh(this._image,[c,h,f]),{left:C,top:S}=Zs([n,i+4],[s+8,o+8],[1,1],this._originRatioAndOffset);t.drawImage(v,C,S,s+8,o+8)}if(this.hovered){const[c,h,f,p]=this._bgColor,v=Nh(this._image,[c,h,f]),{left:C,top:S}=Zs([n,i+2],[s+4,o+4],[1,1],this._originRatioAndOffset);t.drawImage(v,C,S,s+4,o+4)}t.drawImage(this._image,a,u,s,o)}else t.fillStyle=this._fgColorHexStr,t.fillRect(a,u,s,o);if(this._title!==""&&Th(t,n+20,i-16,[0,.5,0,0],this._title,"14px Arial",4,this._fgColorHexStr,this._bgColorHexStr),t.globalAlpha=l,this._hovered&&this._tooltip!==""){const c=t.globalAlpha;t.globalAlpha=this._tooltipAlpha,Th(t,n,i-42,[.5,1,0,0],this._tooltip,"12px Arial",4,this._fgColorHexStr,this._bgColorHexStr),t.globalAlpha=c}}drawForPick(t,n){if(!this._show)return;const[i,s]=this._winPos,o=n("default"),a=this._size[0]*this.__scale[0],u=this._size[1]*this.__scale[1],{left:l,top:c}=Zs([i,s],this._size,this.__scale,this._originRatioAndOffset);t.fillStyle=o,t.fillRect(l,c,a,u)}}class u0 extends xh{constructor(t){super(t);d(this,"_width",16);d(this,"_text","");d(this,"_fillStyle","#0F0");d(this,"_scale",1);d(this,"_scaleChanged");this.dispose(this.scaleChanged.disposableOn(o=>{this.needRedraw(),this.needPickRedraw()}));const n=this.disposeVar(new Tu(100)),i=this.disposeVar(new Tu(100)),s=()=>{this._clickEvent&&!this._clickEvent.empty&&(this.scale=(1+.1*i.current)*(1+.2*n.current))};this.dispose(i.currentChanged.disposableOn(s)),this.dispose(n.currentChanged.disposableOn(s)),this.dispose(this.activedChanged.disposableOn(o=>{i.target=o?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(o=>{n.target=o?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(o=>{this.needRedraw()}))}set scale(t){this._scale!==t&&(this._scale=t,this._scaleChanged&&this._scaleChanged.emit(t,this))}get scale(){return this._scale}get scaleChanged(){return this._scaleChanged||(this._scaleChanged=new N),this._scaleChanged}set width(t){this._width!==t&&(this._width=t,this.needRedraw(),this.needPickRedraw())}get width(){return this._width}set text(t){this._text!==t&&(this._text=t,this.needRedraw())}get text(){return this._text}set fillStyle(t){this._fillStyle!==t&&(this._fillStyle=t,this.needRedraw())}get fillStyle(){return this._fillStyle}draw(t){if(!this._show)return;const[n,i]=this._winPos,s=t.globalAlpha;t.globalAlpha=this.opacity;const o=this._width*this._scale;this.selected&&Qs(t,n,i+3,o+3,"#F00"),this.actived&&this._clickEvent&&!this._clickEvent.empty&&Qs(t,n,i+5,o+5,"#FFF"),this.hovered?Qs(t,n,i+3,o+3,"#000A"):Qs(t,n,i+1,o+1,"#000A"),Qs(t,n,i,o,this._fillStyle);const a=this._scale>1.2?"bold 14px Arial":"bold 10px Arial";jp(t,n,i-o,this._text,a,"#000"),t.globalAlpha=s}drawForPick(t,n){if(!this._show)return;const[i,s]=this._winPos,o=this._width*this._scale,a=n("default");Qs(t,i,s,o,a)}}const Gp=new ArrayBuffer(4),Wp=new Uint32Array(Gp),to=new Uint8Array(Gp);function Hp(r){if(r>=16777215)throw new Error("uint32 > 0xFFFFFF");return Wp[0]=r,[to[0],to[1],to[2]]}function qp(r,e,t){return to[0]=r,to[1]=e,to[2]=t,to[3]=0,Wp[0]}class Xp extends V{constructor(){super(...arguments);d(this,"_pickColors",new Array(16777215));d(this,"_pickColorIndex",0)}reset(){for(let t=0;t<this._pickColorIndex;++t){const n=this._pickColors[t];if(!n)throw console.error("this._pickColors[i] should not be undefined!"),new Error("this._pickColors[i] should not be undefined!");n.poi=null,n.tag=""}this._pickColorIndex=0}createPickColor(t,n){const i=this._pickColorIndex;++this._pickColorIndex;const s=this._pickColors[i];s?(s.poi=t,s.tag=n):this._pickColors[i]={poi:t,tag:n};const[o,a,u]=Hp(i);return[o,a,u]}getPickInfoFromColor(t,n,i){const s=qp(t,n,i);if(s>=this._pickColorIndex){console.error("index >= this._pickColorIndex");return}const o=this._pickColors[s];if(!o){console.error("!this._pickColors[index]");return}return o}destroyImp(){this.reset()}}const Yp=(r,e)=>e.depth-r.depth;class l0 extends V{constructor(){super();d(this,"_pois",[]);d(this,"_canvasElement");d(this,"_ctx");d(this,"_offscreenCanvasElement");d(this,"_offscreenCanvasElement2");d(this,"_offscreenCtx");d(this,"_offscreenCtx2");d(this,"_size",[0,0]);d(this,"_needRedraw",!1);d(this,"_needPickRedraw",!1);d(this,"_pickColorManager",new Xp);const t=document.createElement("canvas");t.style.width="100%",t.style.height="100%",this._canvasElement=t;const n=t.getContext("2d");if(n===null)throw new Error("cannot get context 2d!");this._ctx=n,this._offscreenCanvasElement=document.createElement("canvas"),this._offscreenCtx=this._offscreenCanvasElement.getContext("2d"),this._offscreenCtx.imageSmoothingEnabled=!1,this._offscreenCanvasElement2=document.createElement("canvas"),this._offscreenCtx2=this._offscreenCanvasElement2.getContext("2d"),this._offscreenCtx2.imageSmoothingEnabled=!1,this.disposeVar(Zo(()=>{const[s,o]=this._size,{clientWidth:a,clientHeight:u}=this._canvasElement;(s!==a||o!==u)&&(this._size[0]=a,this._size[1]=u,this._canvasElement.width=a,this._canvasElement.height=u,this._offscreenCanvasElement.width=a,this._offscreenCanvasElement.height=u,this._offscreenCanvasElement2.width=a,this._offscreenCanvasElement2.height=u,this._dirty()),this._needRedraw&&(this._needRedraw=!1,this._draw())})).start()}get element(){return this._canvasElement}get pois(){return this._pois}_dirty(){this._needRedraw=!0,this._needPickRedraw=!0}get size(){return this._size}addPoi(t){if(typeof Wn(t,"listenHandler")<"u"){console.error("可能有poi重复加载poiManager中!");return}if(this._pois.indexOf(t)!==-1){console.error("同一个poi加了多次!");return}this._pois.push(t),this._dirty();const n=t._needRedrawEvent;if(n){const s=n.on(()=>{this._needRedraw=!0});ci(t,"needRedrawEventHandler",s)}const i=t._needPickRedrawEvent;if(i){const s=i.on(()=>{this._needPickRedraw=!0});ci(t,"needPickRedrawEventHandler",s)}}removePoi(t){const n=this._pois.indexOf(t);if(n===-1){console.error("删除一个不存在的poi!");return}this._pois.splice(n,1),this._dirty();const i=t._needRedrawEvent;if(i){const o=Wn(t,"needRedrawEventHandler");o?i.off(o):console.error("poi没有listenHandler!")}const s=t._needPickRedrawEvent;if(s){const o=Wn(t,"needPickRedrawEventHandler");o?s.off(o):console.error("poi没有listenHandler!")}}_draw(){this._pois.sort(Yp);const[t,n]=this._size;this._ctx.clearRect(0,0,t,n),this._pois.forEach(i=>i.draw(this._ctx))}pick(t,n,i,s){return this._needPickRedraw&&(this._needPickRedraw=!1,this._pickDraw()),this._getPickInfo(t,n,i,s)}_pickDraw(){this._pickColorManager.reset(),this._pois.sort(Yp);const[t,n]=this._size;this._offscreenCtx.clearRect(0,0,t,n),this._pois.forEach(i=>{const s=o=>{const[a,u,l]=this._pickColorManager.createPickColor(i,o);return`rgb(${a}, ${u}, ${l})`};i.drawForPick(this._offscreenCtx,s)})}_getPickInfo(t,n,i,s){const o=this._offscreenCtx.getImageData(t,n,i,s),a=[],u=o.data.length/4;for(let l=0;l<u;++l){const c=o.data[l*4+0],h=o.data[l*4+1],f=o.data[l*4+2];if(o.data[l*4+3]===255){const v=this._pickColorManager.getPickInfoFromColor(c,h,f);if(v&&v.poi&&!a.includes(v)){let C=!0;{const[S,P]=this._size;this._offscreenCtx2.clearRect(0,0,S,P);const y=b=>"rgb(255, 255, 255)";v.poi.drawForPick(this._offscreenCtx2,y);const _=this._offscreenCtx2.getImageData(t,n,i,s),m=_.data[l*4+0],w=_.data[l*4+1],E=_.data[l*4+2];_.data[l*4+3],m===255&&w===255&&E===255||(C=!1)}C&&a.push(v)}}}return a}}class Oh extends V{constructor(){super(...arguments);d(this,"_closeEvent");d(this,"_show",!0);d(this,"_showChanged");d(this,"_opacity",1);d(this,"_opacityChanged");d(this,"_winPos",[0,0]);d(this,"_winPosChanged")}set winPos(t){const[n,i]=t,[s,o]=this._winPos;(n!==s||i!==o)&&(this._winPos[0]=n,this._winPos[1]=i,this._winPosChanged&&this._winPosChanged.emit(this._winPos))}get winPos(){return this._winPos}get winPosChanged(){return this._winPosChanged=this._winPosChanged||new N,this._winPosChanged}set opacity(t){this._opacity!==t&&(this._opacity=t,this._opacityChanged&&this._opacityChanged.emit(this._opacity))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new N,this._opacityChanged}set show(t){this._show!==t&&(this._show=t,this._showChanged&&this._showChanged.emit(this._show))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new N,this._showChanged}get closeEvent(){return this._closeEvent||(this._closeEvent=new N),this._closeEvent}}const Dh=new WeakMap;function Mh(r){if(!Dh.has(r)){const e=new Pl(()=>new r,t=>t.reset());Dh.set(r,e)}return Dh.get(r)}class Rh extends Oh{constructor(){super();d(this,"_div");d(this,"_contentDiv");d(this,"_originOffsetX",0);d(this,"_originOffsetY",0);d(this,"_originRatioX",.5);d(this,"_originRatioY",1);d(this,"_divChanged",new N);const t=document.createElement("div");t.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible;";const n=document.createElement("div");n.style.cssText=`position: absolute; left: ${-this._originOffsetX}px; top: ${-this._originOffsetY}px; transform: translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%); margin: 0; padding: 0; pointer-events: none;`;const i=document.createElement("div");this._contentDiv=i,n.appendChild(i),t.appendChild(n),this._div=t,this.dispose(this._divChanged.disposableOn(()=>{n.style.left=`${-this._originOffsetX}px`,n.style.top=`${-this._originOffsetY}px`,n.style.transform=`translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%)`})),this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get contentDiv(){return this._contentDiv}reset(){}get originOffsetX(){return this._originOffsetX}set originOffsetX(t){this._originOffsetX!==t&&(this._originOffsetX=t,this._divChanged.emit())}get originOffsetY(){return this._originOffsetY}set originOffsetY(t){this._originOffsetY!==t&&(this._originOffsetY=t,this._divChanged.emit())}get originRatioX(){return this._originRatioX}set originRatioX(t){this._originRatioX!==t&&(this._originRatioX=t,this._divChanged.emit())}get originRatioY(){return this._originRatioY}set originRatioY(t){this._originRatioY!==t&&(this._originRatioY=t,this._divChanged.emit())}get element(){return this._div}}class Jp extends V{constructor(t,n){super();d(this,"_floatDiv");d(this,"_show",!1);d(this,"_showChanged");this._customDivClass=t,this._divContainer=n,this.dispose(()=>{this.show=!1})}_updateDivPoi(){if(this._show){const{floatDiv:n}=this;n.element.parentElement||this._divContainer.appendChild(n.element)}else{const{_floatDiv:n}=this;n&&n.element.parentElement&&this._divContainer.removeChild(n.element)}}set show(t){this._show!==t&&(this._show=t,this._updateDivPoi(),this._showChanged&&this._showChanged.emit(t))}get show(){return this._show}get floatDiv(){if(!this._floatDiv){const t=Mh(this._customDivClass).create();this.dispose(()=>{Mh(this._customDivClass).destroy(t)}),this._floatDiv=t}return this._floatDiv}get showChanged(){return this._showChanged||(this._showChanged=new N),this._showChanged}}const c0=["top","bottom","left","right"];function h0(r){return Object.entries(r).map(([e,t])=>c0.includes(e)?`${e}: ${t}px; `:"").join("")}function $p(r,e,t){const n=document.createElement("div");n.style.cssText=`position: absolute; ${h0(t)} background-color: ${r}; border-radius: ${e}px;`;const i='<svg viewBox="0 0 1024 1024" style="display: block;" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2420" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M512 128C300.8 128 128 300.8 128 512s172.8 384 384 384 384-172.8 384-384S723.2 128 512 128zM512 832c-179.2 0-320-140.8-320-320s140.8-320 320-320 320 140.8 320 320S691.2 832 512 832z" p-id="2421" fill="#ffffff"></path><path d="M672 352c-12.8-12.8-32-12.8-44.8 0L512 467.2 396.8 352C384 339.2 364.8 339.2 352 352S339.2 384 352 396.8L467.2 512 352 627.2c-12.8 12.8-12.8 32 0 44.8s32 12.8 44.8 0L512 556.8l115.2 115.2c12.8 12.8 32 12.8 44.8 0s12.8-32 0-44.8L556.8 512l115.2-115.2C684.8 384 684.8 364.8 672 352z" p-id="2422" fill="#ffffff"></path></svg>';return n.innerHTML=i,n}function Kp(r,e,t="rgba(0,0,0,0.7)"){const n=document.createElement("div");n.style.cssText=`margin: 0 auto; width: ${r}px; height: ${e}px; position: relative; pointer-events: none;`;const i=document.createElement("div");return i.style.cssText=`position: absolute; left: 0px; top: 0px; width: 0; height: 0; border-left: ${r*.5}px solid transparent; border-right: ${r*.5}px solid transparent; border-top: ${e}px solid ${t};`,n.appendChild(i),[n,i]}class Zp extends Rh{constructor(){super();d(this,"_borderDiv");d(this,"_closeDiv");d(this,"_innerContentDiv");d(this,"_colorStr","rgba(0, 0, 0, 0.7)");d(this,"_divColorChanged",new N);d(this,"_borderRadius",10);const t=document.createElement("div");t.style.cssText=`position: relative; background-color: ${this._colorStr}; border-radius: ${this._borderRadius}px; padding: 5px; pointer-events: all;`,this._borderDiv=t;const n=$p(this._colorStr,10,{top:3,right:3}),[i,s]=Kp(2*this._borderRadius,2*this._borderRadius,this._colorStr),o=document.createElement("div");this._innerContentDiv=o,t.appendChild(o),t.appendChild(n),this.contentDiv.appendChild(t),this.contentDiv.appendChild(i),n.style.opacity="0.1",n.onmouseenter=()=>{n.style.opacity="1.0"},n.onmouseleave=()=>{n.style.opacity="0.1"},n.onclick=()=>{this._closeEvent&&this._closeEvent.emit()},this._closeDiv=n,this.dispose(this._divColorChanged.disposableOn(()=>{s.style.borderTopColor=this._colorStr,t.style.backgroundColor=this._colorStr,i.style.width=`${this._borderRadius*2}px`,i.style.height=`${this._borderRadius*2}px`,s.style.borderLeft=`${this._borderRadius}px`,s.style.borderRight=`${this._borderRadius}px`,s.style.borderTop=`${this._borderRadius*2}px`}));const a=u=>{u.key==="Escape"&&this._closeEvent&&this._closeEvent.emit()};document.body.addEventListener("keydown",a,!0),this.dispose(()=>{document.removeEventListener("keydown",a,!0)})}get borderDiv(){return this._borderDiv}get innerContentDiv(){return this._innerContentDiv}reset(){this.show=!1,this.opacity=0,this._closeDiv.style.opacity="0.1",super.reset()}get colorStr(){return this._colorStr}set colorStr(t){this._colorStr!==t&&(this._colorStr=t,this._divColorChanged.emit())}get borderRadius(){return this._borderRadius}set borderRadius(t){this._borderRadius!==t&&(this._borderRadius=t,this._divColorChanged.emit())}}class d0 extends Zp{constructor(){super();d(this,"_iframe");d(this,"_iframeMessageEvent");const t=document.createElement("iframe");t.style.cssText="width: 100%; height: 100%; border-width: 0px; border-radius: 5px; display: block;",t.src="http://www.weather.com.cn/live/index.shtml",this._iframe=t,this.innerContentDiv.appendChild(t);const n=i=>{i.source===this._iframe.contentWindow&&(this._iframeMessageEvent?this._iframeMessageEvent.emit(i):console.warn(`iframe消息接收到未处理!data: ${i.data}`))};globalThis.addEventListener("message",n),this.dispose(()=>{globalThis.removeEventListener("message",n)})}reset(){super.reset(),this.src=""}set src(t){this._iframe.src!==t&&(this._iframe.src=t)}get src(){return this._iframe.src}get iframe(){return this._iframe}get iframeMessageEvent(){return this._iframeMessageEvent=this._iframeMessageEvent||new N,this._iframeMessageEvent}}class f0 extends Oh{constructor(){super();d(this,"_div");d(this,"_contentContainer");d(this,"_text","");const t=document.createElement("div");this._div=t,t.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible; transition: opacity 0.5s;";const n=document.createElement("div");n.style.cssText="position: absolute; left: 0px; bottom: 0px; transform: translateX(-50%); margin: 0; padding: 0; pointer-events: none;";const i=document.createElement("div");i.style.cssText="position: relative; background-color: rgba(0, 0, 0, 0.7); border-radius: 5px; padding: 3px; pointer-events: all; color: white; white-space: nowrap;",i.innerText=this._text,this._div.appendChild(n),n.appendChild(i),this._contentContainer=i,this._div=t,this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o-50}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get element(){return this._div}reset(){this.opacity=1,this.show=!0}set text(t){this._text!==t&&(this._text=t,this._contentContainer.innerText=t)}get text(){return this._text}}class p0 extends Rh{constructor(){super(),this.contentDiv.style.backgroundColor="rgba(0, 0, 0, 0.8)",this.contentDiv.style.borderRadius="3px",this.contentDiv.style.color="rgb(255, 255, 255)",this.contentDiv.style.padding="1px 5px 1px 5px",this.contentDiv.style.fontSize="12px",this.contentDiv.style.whiteSpace="nowrap",this.contentDiv.innerText="未定义光标信息!",this.originRatioX=0,this.originRatioY=0,this.originOffsetX=-16}}class g0 extends V{constructor(t,n){super();d(this,"_cursorDiv");d(this,"_pointerOut",this.disposeVar(B(!1)));d(this,"_show",this.disposeVar(B(!0)));this._cursorDiv=new Jp(n,t),this.dispose(()=>this._cursorDiv.destroy());const i=o=>{const[a,u]=an(o);this._cursorDiv.floatDiv.winPos=[a,u]};t.addEventListener("pointermove",i),this.dispose(()=>t.removeEventListener("pointermove",i));const s=()=>{this._cursorDiv.show=this.show&&this._pointerOut.value};s(),this.dispose(this.showChanged.disposableOn(s)),this.dispose(this._pointerOut.changed.disposableOn(s))}set show(t){this._show.value=t}get show(){return this._show.value}get showChanged(){return this._show.changed}reset(){this._pointerOut.value=!1}get cursorDiv(){return this._cursorDiv}set text(t){this._cursorDiv.floatDiv.contentDiv.innerText=t}get text(){return this._cursorDiv.floatDiv.contentDiv.innerText}}function Du(r,e,t){if(!(r.tree===e.tree&&r!==e&&!r.isAncestorOf(e))||r.tree!==e.tree||!r.parent)return!1;if(!r.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");return!(e===r||r.isAncestorOf(e)||t!=="inner"&&!e.parent||t==="inner"&&!e.children)}function jl(r,e,t){if(!r.tree||!e.tree||r.tree!==e.tree)return;if(!r.parent){console.warn("当前节点没有父节点,那么该节点无法被移动!");return}if(!r.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");if(e===r){console.warn("自身不能拖放到自身!");return}if(r.isAncestorOf(e)){console.warn("当前节点不能拖放到它自身的后代节点之上!");return}if(t!=="inner"&&!e.parent){console.warn("目标节点没有父节点,无法拖放!");return}if(t==="inner"&&!e.children){console.warn("无法移动到目标节点的子节点中,因为目标节点不是组节点!");return}r.tree._startTransaction();const n=r.parent.children.indexOf(r);if(r.parent.children.splice(n,1),t!=="inner"){const{parent:i}=e;if(!i||!i.children)throw new Error("!parent");const s=i.children.indexOf(e);t==="before"?i.children.splice(s,0,r):t==="after"&&i.children.splice(s+1,0,r)}else e.children.push(r);r.tree._stopTransaction()}function Qp(r,e,t){return ch(r,n=>Du(n,e,t))}function tg(r,e,t){for(let n of r)Du(n,e,t)?jl(n,e,t):console.warn(`treeItem(id: ${n.id}) cannot move...`)}const m0={checked:1,unchecked:2,indeterminate:3},v0=["checked","unchecked","indeterminate"];class eg extends V{constructor(t){super();d(this,"_collapsed",this.disposeVar(B(!1)));d(this,"_checkedStatus",this.disposeVar(B("unchecked")));d(this,"_selected",this.disposeVar(B(!1)));d(this,"_moveToPositionMode",this.disposeVar(B("none")));d(this,"_updateCheckedStatusFromChildrenEvent",this.disposeVar(new N));this._treeItem=t;const n=()=>this._treeItem.tree&&this._treeItem.tree.itemsChanged.emit([this._treeItem]);this.dispose(this._collapsed.changed.disposableOn(n)),this.dispose(this._checkedStatus.changed.disposableOn(n)),this.dispose(this._selected.changed.disposableOn(n)),this.dispose(this._moveToPositionMode.changed.disposableOn(n)),this.dispose(this._checkedStatus.changed.disposableOn(()=>this._treeItem.parent&&this._treeItem.parent.uiTreeObject.updateCheckedStatusFromChildren())),this.dispose(this._treeItem.childrenChangedEvent.disposableOn(()=>{this.updateCheckedStatusFromChildren()}));const i=this.disposeVar(Pe(this._updateCheckedStatusFromChildrenEvent));this.dispose(i.disposableOn(()=>{if(!this._treeItem.children)return;let s=0;lh(this._treeItem.children,o=>(s|=m0[o.uiTreeObject.checkedStatus],s===3)),s>0&&(this._checkedStatus.value=v0[s-1])})),this.dispose(this._treeItem.childrenResetedEvent.disposableOn(s=>{!s&&this.checkedStatus==="indeterminate"&&(this._checkedStatus.value="unchecked")}));{const s=(o,a,u=!0)=>{if(a)o.selectedItems.push(this._treeItem);else{const l=o.selectedItems.indexOf(this._treeItem);l===-1?u&&console.error("selectedItems index -1"):o.selectedItems.splice(l,1)}};this.dispose(this._selected.changed.disposableOn(o=>{const{tree:a}=this._treeItem;a&&s(a,o)})),this.dispose(()=>this.selected=!1)}}get treeItem(){return this._treeItem}get collapsed(){return this._collapsed.value}set collapsed(t){this._collapsed.value=t}get collapsedChanged(){return this._collapsed.changed}get checkedStatus(){return this._checkedStatus.value}check(t){const n=t?"checked":"unchecked";if(this._checkedStatus.value!==n&&(this._checkedStatus.value=n,this._treeItem.children))for(let i of this._treeItem.children)i.uiTreeObject.check(t)}updateCheckedStatusFromChildren(){this._updateCheckedStatusFromChildrenEvent.emit()}get checkedStatusChanged(){return this._checkedStatus.changed}get selected(){return this._selected.value}set selected(t){this._selected.value=t}get selectedChanged(){return this._selected.changed}get moveToPositionMode(){return this._moveToPositionMode.value}set moveToPositionMode(t){this._moveToPositionMode.value=t}get moveToPositionModeChanged(){return this._moveToPositionMode.changed}}const ei=class ei extends V{constructor(t,n=!1,i){super();d(this,"_children");d(this,"_childrenResetedEvent");d(this,"_childrenToChangeEvent");d(this,"_childrenChangedEvent");d(this,"_parent",this.disposeVar(B(void 0)));d(this,"_level",this.disposeVar(B(0)));d(this,"_id");d(this,"_uiTreeObject",this.disposeVar(new eg(this)));this._tree=t,this._hasChildren=n,this._id=i??qo(),this._id!=="_ROOT"&&ei.wm.has(this._id)&&console.warn(`创建了id(${this._id})相同的树节点,会导致之前的树节点无法索引!`),ei.wm.set(this._id,this),this.dispose(()=>{if(this._id!=="_ROOT"&&!ei.wm.has(this._id)){console.warn(`树节点(${this._id})不在wm树上!`);return}ei.wm.delete(this._id)}),this.dispose(this._parent.changed.disposableOn(()=>{this._updateLevel()})),this.dispose(this._level.changed.disposableOn(()=>{if(this.children)for(let s of this.children)s._updateLevel()})),ei.allTreeItems.set(this._id,this),this.dispose(()=>{ei.allTreeItems.delete(this._id)})}static getFromId(t){return ei.wm.get(t)}get uiTreeObject(){return this._uiTreeObject}get id(){return this._id}_updateLevel(){this.parent&&(this._level.value=this.parent.level+1)}get parent(){return this._parent.value}get parentChanged(){return this._parent.changed}get children(){if(this._hasChildren){if(!this._children){const t=this.disposeVar(new bu);this._children=t,this.dispose(t.toChangeEvent.disposableOn((s,o)=>{for(let a of s){const{start:u,deleteCount:l,items:c}=a;for(let h=u;h<u+l;++h)o.get(h)._parent.value=void 0;for(let h of c){if(h.parent)throw console.error("请检查新增的treeItem是否正在使用!"),new Error("item.parent should not exist!");h._parent.value=this}}}));const n=new Set,i=new Set;this.dispose(t.toChangeEvent.disposableOn((s,o)=>{var a;if(this.tree){n.clear(),i.clear();for(let u of s){const{start:l,deleteCount:c,items:h}=u;for(let f=l;f<l+c;++f)n.add(o.get(f));for(let f of h)i.add(f)}for(let u of n)i.has(u)&&(n.delete(u),i.delete(u));(a=this.tree)==null||a.itemChildrenToChange.emit(this,s,n,i)}})),this.dispose(t.changedEvent.disposableOn(()=>{var s;(s=this.tree)==null||s.itemChildrenChanged.emit(this)})),this.dispose(t.toChangeEvent.disposableOn((...s)=>this._childrenToChangeEvent&&this._childrenToChangeEvent.emit(...s))),this.dispose(t.changedEvent.disposableOn((...s)=>this._childrenChangedEvent&&this._childrenChangedEvent.emit(...s)))}return this._children}else return}get childrenResetedEvent(){return this._childrenResetedEvent||(this._childrenResetedEvent=new N),this._childrenResetedEvent}get childrenToChangeEvent(){return this._childrenToChangeEvent||(this._childrenToChangeEvent=new N),this._childrenToChangeEvent}get childrenChangedEvent(){return this._childrenChangedEvent||(this._childrenChangedEvent=new N),this._childrenChangedEvent}resetChildren(t=!1){this._children&&(this._children.length=0),this._hasChildren=t,this._childrenResetedEvent&&this._childrenResetedEvent.emit(t)}*getDescendants(t){const n=this,i=[],s=[];for(n.children&&n.children.length>0&&(!t||t(n))&&(i.push(0),s.push(n.children));i.length>0;){const o=i[i.length-1],a=s[s.length-1],u=a.get(o);yield u,o<a.length-1?++i[i.length-1]:(s.pop(),i.pop()),u.children&&u.children.length>0&&(!t||t(u))&&(i.push(0),s.push(u.children))}}*getAncestors(t){let n=this.parent;for(;n&&(yield n,!(t&&!t(n)));)n=n.parent}isDescendantOf(t){for(let n of this.getAncestors())if(n===t)return!0;return!1}isAncestorOf(t){return t.isDescendantOf(this)}get level(){return this._level.value}get levelChanged(){return this._level.changed}get tree(){return this._tree}canMoveTo(t,n){return Du(this,t,n)}moveTo(t,n){jl(this,t,n)}detachFromParent(){if(!this.parent||!this.parent.children)return;const t=this.parent.children.indexOf(this);this.parent.children.splice(t,1)}insertNewTreeItem(t,n){if(n&&n.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&t.startsWith("Inner"))return n&&this.children.push(n),!0;if(t==="Inner")return!1;const i=this.parent;if(!i||!i.children)return!1;const s=i.children.indexOf(this);return t.endsWith("Before")?n&&i.children.splice(s,0,n):t.endsWith("After")&&n&&i.children.splice(s+1,0,n),!0}};d(ei,"wm",new Map),d(ei,"allTreeItems",new Map);let Qo=ei;class ng extends V{constructor(t){super();d(this,"_redrawEvent",this.disposeVar(new N));d(this,"_containerScrollTop",this.disposeVar(B(0)));d(this,"_containerClientHeight",this.disposeVar(B(-1)));d(this,"_container",this.disposeVar(B(void 0)));d(this,"_redrawInfo",{topFreeSpaceHeight:0,topUnvisibleItemNum:0,middleTreeItems:[],bottomFreeSpaceHeight:0,bottomUnvisibleItemNum:0});this._tree=t;const n=this._containerClientHeight,i=this._containerScrollTop,s=this._tree._forceRedrawEvent,o=this.disposeVar(Pe(this._tree.itemDivHeightChanged,this._tree.itemChildrenChanged,this._tree.itemsChanged,n.changed,i.changed,s)),{redrawInfo:a}=this,u=c=>{const h=c.uiTreeObject;return!!c.children&&(!h||!h.collapsed)};this.dispose(o.disposableOn(()=>{if(a.topFreeSpaceHeight=0,a.topUnvisibleItemNum=0,a.middleTreeItems.length=0,a.bottomFreeSpaceHeight=0,a.bottomUnvisibleItemNum=0,this._containerClientHeight.value>=0){const c=hh(this._tree.getDescendants(u)),h=this._tree.itemDivHeight,f=h*c,p=zi([gs([zi([f-n.value,0]),i.value]),0]),v=p/h|0,C=Math.ceil((p-v*h+n.value)/h)|0;v>0&&(a.topUnvisibleItemNum=v,a.topFreeSpaceHeight=v*this._tree.itemDivHeight);const S=v+C;let P=0;for(let _ of this._tree.getDescendants(u)){if(P>=S)break;P>=v&&a.middleTreeItems.push(_),++P}const y=c-v-C;y>0&&(a.bottomUnvisibleItemNum=y,a.bottomFreeSpaceHeight=y*this._tree.itemDivHeight)}else for(let c of this._tree.getDescendants(u))a.middleTreeItems.push(c);this._redrawEvent.emit(a)}));let l;this.dispose(()=>l&&(l.destroy(),l=void 0)),this.dispose(this.containerChanged.disposableOn(c=>{l&&(l.destroy(),l=void 0),c&&(l=Iu(),l.start(()=>{const{scrollTop:h,clientHeight:f}=c;typeof h>"u"||typeof f>"u"?Wo("createUiTreeWithContainer error: conainter has no scrollTop or clientHeight property!"):(this.containerScrollTop=h,this.containerClientHeight=f)}))}))}get container(){return this._container.value}set container(t){this._container.value=t}get containerChanged(){return this._container.changed}get redrawInfo(){return this._redrawInfo}getTreeItemPos(t){const n=o=>{const a=o.uiTreeObject;return!!o.children&&(!a||!a.collapsed)};let i=0,s=!1;for(let o of this._tree.getDescendants(n)){if(o===t){s=!0;break}++i}if(s)return[i,i*this._tree.itemDivHeight]}collapseAll(){console.log("collapseAll");for(let t of this.tree.root.getDescendants()){const n=t.uiTreeObject;n.collapsed=!0}}get tree(){return this._tree}get redrawEvent(){return this._redrawEvent}set containerScrollTop(t){this._containerScrollTop.value=t}get containerScrollTop(){return this._containerScrollTop.value}get containerScrollTopChanged(){return this._containerScrollTop.changed}set containerClientHeight(t){this._containerClientHeight.value=t}get containerClientHeight(){return this._containerClientHeight.value}get containerClientHeightChanged(){return this._containerClientHeight.changed}*getAllItems(t){for(let n of this._tree.getDescendants())(!t||t(n))&&(yield n)}getAllSelectedItems(){return this.getAllItems(t=>t.uiTreeObject.selected)}getAllCheckedLeafItems(){return this.getAllItems(t=>!t.children&&t.uiTreeObject.checkedStatus==="checked")}clearAllSelectedItems(t){for(let n of this.getAllSelectedItems())(!t||!t.includes(n))&&(n.uiTreeObject.selected=!1)}}let ta=(ni=class extends V{constructor(t){super();d(this,"_root",this.disposeVar(new Qo(this,!0,"_ROOT")));d(this,"_itemChildrenChanged",this.disposeVar(new N));d(this,"_itemChildrenToChange",this.disposeVar(new N));d(this,"_itemsAdded",this.disposeVar(new N));d(this,"_itemsDeleted",this.disposeVar(new N));d(this,"_itemsChanged",this.disposeVar(new N));d(this,"_transactionStack",0);d(this,"_addedItems",new Set);d(this,"_deletedItems",new Set);d(this,"_selectedItems",this.disposeVar(new bu));d(this,"_itemDivHeight",this.disposeVar(B(ni.defaultItemDivHeight)));d(this,"_forceRedrawEvent",this.disposeVar(new N));d(this,"_uiTree",this.disposeVar(new ng(this)));this._root._tree.value=this,this.dispose(this._itemChildrenToChange.disposableOn((n,i)=>{if(!n.children){console.error("!item.children");return}for(let s of i){const{start:o,deleteCount:a,items:u}=s;for(let l=o;l<o+a;++l){const c=n.children.get(l);this._deletedItems.has(c)?console.error(`this._deletedItems.has(currentItem(${c.id}))`):this._deletedItems.add(c)}for(let l of u)this._deletedItems.has(l)?this._deletedItems.delete(l):this._addedItems.add(l)}this._execTransaction()})),t!==void 0&&(this.itemDivHeight=t)}get selectedItems(){return this._selectedItems}get lastSelectedItem(){return this._selectedItems.length>0?this._selectedItems.get(this._selectedItems.length-1):void 0}get itemDivHeight(){return this._itemDivHeight.value}set itemDivHeight(t){this._itemDivHeight.value=t}get itemDivHeightChanged(){return this._itemDivHeight.changed}forceRedraw(){this._forceRedrawEvent.emit()}get uiTree(){return this._uiTree}get root(){return this._root}get children(){return this._root.children}getDescendants(t){return this._root.getDescendants(t)}getTreeItemFromId(t){let n;for(let i of this.getDescendants())if(i.id===t){n=i;break}return n}_startTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(console.warn("this._deletedItems.size > 0"),this._deletedItems.clear()),this._addedItems.size>0&&(console.warn("this._addedItems.size > 0"),this._addedItems.clear())),++this._transactionStack}_stopTransaction(){--this._transactionStack,this._execTransaction()}_execTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(this._itemsDeleted.emit([...this._deletedItems]),this._deletedItems.clear()),this._addedItems.size>0&&(this._itemsAdded.emit([...this._addedItems]),this._addedItems.clear()))}get itemChildrenChanged(){return this._itemChildrenChanged}get itemChildrenToChange(){return this._itemChildrenToChange}get itemsChanged(){return this._itemsChanged}get itemsAdded(){return this._itemsAdded}get itemsDeleted(){return this._itemsDeleted}},d(ni,"defaultItemDivHeight",24),d(ni,"canMoveToTreeItem",Du),d(ni,"moveToTreeItem",jl),d(ni,"canMoveToTreeItems",Qp),d(ni,"moveToTreeItems",tg),ni);class we extends V{constructor(t,n,i=!0,s){super();d(this,"_obj",this.disposeVar(B(void 0)));this._resetEvent=t,this._createFunc=n;const o=this._resetEvent,a=this._createFunc,u=()=>{this._obj.value&&(this._obj.value.destroy(),this._obj.value=void 0)};this.dispose(u);const l=(...c)=>{u(),this._obj.value=a(...c)};i&&(s?this._obj.value=a(...s):this._obj.value=a()),this.dispose(o.disposableOn(l))}get obj(){return this._obj.value}get objChanged(){return this._obj.changed}}class y0 extends V{constructor(t,n=!0,i){super();d(this,"_event",this.disposeVar(new N));d(this,"_objResettingWithEvent");this._createFunc=t,this._execOnInit=n,this._initParams=i,this._objResettingWithEvent=this.disposeVar(new we(this._event,this._createFunc,this._execOnInit,this._initParams))}get obj(){return this._objResettingWithEvent.obj}get objChanged(){return this._objResettingWithEvent.objChanged}reset(...t){this._event.emit(...t)}}const Kc=class Kc extends V{constructor(){super();d(this,"_set",new Set);d(this,"_toChangeEvent",this.dv(new N));d(this,"_changedEvent",this.dv(new N));d(this,"main");this.dispose(()=>{this._set.size!==0&&(Kc.warnOnDestroying&&console.warn("this._set.size > 0"),this.clear())})}get toChange(){return this._toChangeEvent}get changed(){return this._changedEvent}add(...t){if(t.length==2&&typeof t[1]=="boolean")t[1]&&(this.main=t[0]);else for(let n of t)this._toChangeEvent.emit([],[n]),this._set.add(n),this._changedEvent.emit([],[n])}delete(...t){for(let n of t)this.main&&this.main==n&&(this.main=void 0),this._toChangeEvent.emit([n],[]),this._set.delete(n),this._changedEvent.emit([n],[])}disposableAdd(...t){return t.length==2&&typeof t[1]=="boolean"?(t[1]&&(this.main=t[0]),this.add(t[0]),()=>this.delete(t[0])):(this.add(...t),()=>this.delete(...t))}get size(){return this._set.size}clear(){const t=[...this._set];this._toChangeEvent.emit([],t),this._set.clear(),this._changedEvent.emit([],t),this.main=void 0}values(){return this._set.values()}};d(Kc,"warnOnDestroying",!0);let zl=Kc;async function rg(r){const e=[],t=[],n=r.entries();for await(const[i,s]of n){const o=s;o.kind==="file"?e.push(i):o.kind==="directory"&&t.push(i)}return{files:e,dirs:t}}async function Lh(r){return await(await r.getFile()).text()}async function ig(r){const e=await Lh(r);try{return JSON.parse(e)}catch{return}}async function sg(r){return await(await r.getFile()).arrayBuffer()}class og extends V{constructor(e){super(),this._rootDirHandle=e}get rootDirHandle(){return this._rootDirHandle}async getSubFilesAndDirs(){return await rg(this._rootDirHandle)}async getDir(e){let t=this._rootDirHandle;for(const n of e)if(t=await(t==null?void 0:t.getDirectoryHandle(n)),!t){console.log(`getDirectoryHandle ${n} failed`);return}return t}async getFile(e,t){const n=await this.getDir(e);if(n)try{return await n.getFileHandle(t)}catch(i){console.error(`未能获取当前文件 ${e.join("/")}/${t} error: ${i}`,i);return}}}class ag extends V{constructor(t){super();d(this,"_startRootDirId",0);d(this,"_dirMap",new Map);this._prefix=t}get prefix(){return this._prefix}async getRootDirId(t){let n;try{console.log("window.showDirectoryPicker begin"),n=await globalThis.showDirectoryPicker({id:t,mode:"read"}),console.log("window.showDirectoryPicker end",n)}catch(i){console.error(`LocalFileServer getRootDirId failed: ${i}`,i);return}if(n){const i=++this._startRootDirId,s=`${this._prefix}${i}`;return this._dirMap.set(s,new og(n)),s}}getRootDir(t){return this._dirMap.get(t)}async getFile(t){const n=t.split("/");if(n.length<2){console.warn(`LocalFileServer getFile failed: ${t}`);return}const i=n[0],s=this._dirMap.get(i);if(!s){console.warn(`LocalFileServer getFile failed: ${t}`);return}const o=n.slice(1,n.length-1),a=n[n.length-1],u=await s.getFile(o,a);if(!u){console.warn(`LocalFileServer getFile failed: ${t}`);return}return u}async getText(t){const n=await this.getFile(t);if(n)return await Lh(n)}async getArrayBuffer(t){const n=await this.getFile(t);if(n)return await sg(n)}async getJson(t){const n=await this.getFile(t);if(n)return await ig(n)}async getLocalFilePath(t,n,i){const s=await this.getRootDirId(n);if(!s){console.warn("getRootDirId error!");return}const o=this.getRootDir(s);if(!o){console.warn("getRootDir error!");return}const a=await o.getSubFilesAndDirs();if(!a.files){console.warn("getSubFilesAndDirs error! 找不到符合要求的文件!");return}const u=t?a.files.filter(l=>t.some(c=>l.endsWith(c))):a.files;if(u.length===0){console.warn("找不到符合要求的文件!");return}return`https://${s}/${u[0]}`}}const ug=new ag("xe2_local");async function _0(r,e,t){return await ug.getLocalFilePath(r,e,t)}class lg extends V{constructor(t,n){super();d(this,"_processing",this.disposeVar(Hn(async t=>{const n=this._complexImage,i=await t.promise(Ip(this._imageUri,this._complexImage.crossOrigin));i&&i instanceof HTMLImageElement&&(n.size=[i.naturalWidth,i.naturalHeight],n.pixelFormat="RGBA",n.copyTexture({source:i}))})));this._complexImage=t,this._imageUri=n,this._processing.start()}get processing(){return this._processing}}const cg=["DEPTH_COMPONENT","DEPTH_STENCIL","ALPHA","RED","RG","RGB","RGBA","LUMINANCE","LUMINANCE_ALPHA","RGB_DXT1","RGBA_DXT1","RGBA_DXT3","RGBA_DXT5","RGB_PVRTC_4BPPV1","RGB_PVRTC_2BPPV1","RGBA_PVRTC_4BPPV1","RGBA_PVRTC_2BPPV1","RGBA_ASTC","RGB_ETC1","RGB8_ETC2","RGBA8_ETC2_EAC","RGBA_BC7"],hg=["img","gif","video","flv","hls"];let w0=class extends V{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden",i.style.width="0px",i.style.height="0px";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}};class dg extends V{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Zo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new w0(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}function Fh(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function E0(r){if(Object.prototype.hasOwnProperty.call(r,"__esModule"))return r;var e=r.default;if(typeof e=="function"){var t=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(r).forEach(function(n){var i=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return r[n]}})}),t}var Ah={},Ui={},fg;function C0(){if(fg)return Ui;fg=1,Object.defineProperty(Ui,"__esModule",{value:!0}),Ui.loop=Ui.conditional=Ui.parse=void 0;var r=function n(i,s){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(Array.isArray(s))s.forEach(function(l){return n(i,l,o,a)});else if(typeof s=="function")s(i,o,a,n);else{var u=Object.keys(s)[0];Array.isArray(s[u])?(a[u]={},n(i,s[u],o,a[u])):a[u]=s[u](i,o,a,n)}return o};Ui.parse=r;var e=function(i,s){return function(o,a,u,l){s(o,a,u)&&l(o,i,a,u)}};Ui.conditional=e;var t=function(i,s){return function(o,a,u,l){for(var c=[],h=o.pos;s(o,a,u);){var f={};if(l(o,i,a,f),o.pos===h)break;h=o.pos,c.push(f)}return c}};return Ui.loop=t,Ui}var Ee={},pg;function gg(){if(pg)return Ee;pg=1,Object.defineProperty(Ee,"__esModule",{value:!0}),Ee.readBits=Ee.readArray=Ee.readUnsigned=Ee.readString=Ee.peekBytes=Ee.readBytes=Ee.peekByte=Ee.readByte=Ee.buildStream=void 0;var r=function(h){return{data:h,pos:0}};Ee.buildStream=r;var e=function(){return function(h){return h.data[h.pos++]}};Ee.readByte=e;var t=function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return function(f){return f.data[f.pos+h]}};Ee.peekByte=t;var n=function(h){return function(f){return f.data.subarray(f.pos,f.pos+=h)}};Ee.readBytes=n;var i=function(h){return function(f){return f.data.subarray(f.pos,f.pos+h)}};Ee.peekBytes=i;var s=function(h){return function(f){return Array.from(n(h)(f)).map(function(p){return String.fromCharCode(p)}).join("")}};Ee.readString=s;var o=function(h){return function(f){var p=n(2)(f);return h?(p[1]<<8)+p[0]:(p[0]<<8)+p[1]}};Ee.readUnsigned=o;var a=function(h,f){return function(p,v,C){for(var S=typeof f=="function"?f(p,v,C):f,P=n(h),y=new Array(S),_=0;_<S;_++)y[_]=P(p);return y}};Ee.readArray=a;var u=function(h,f,p){for(var v=0,C=0;C<p;C++)v+=h[f+C]&&Math.pow(2,p-C-1);return v},l=function(h){return function(f){for(var p=e()(f),v=new Array(8),C=0;C<8;C++)v[7-C]=!!(p&1<<C);return Object.keys(h).reduce(function(S,P){var y=h[P];return y.length?S[P]=u(v,y.index,y.length):S[P]=v[y.index],S},{})}};return Ee.readBits=l,Ee}var mg;function S0(){return mg||(mg=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var e=C0(),t=gg(),n={blocks:function(f){for(var p=0,v=[],C=f.data.length,S=0,P=(0,t.readByte)()(f);P!==p&&P;P=(0,t.readByte)()(f)){if(f.pos+P>=C){var y=C-f.pos;v.push((0,t.readBytes)(y)(f)),S+=y;break}v.push((0,t.readBytes)(P)(f)),S+=P}for(var _=new Uint8Array(S),m=0,w=0;w<v.length;w++)_.set(v[w],m),m+=v[w].length;return _}},i=(0,e.conditional)({gce:[{codes:(0,t.readBytes)(2)},{byteSize:(0,t.readByte)()},{extras:(0,t.readBits)({future:{index:0,length:3},disposal:{index:3,length:3},userInput:{index:6},transparentColorGiven:{index:7}})},{delay:(0,t.readUnsigned)(!0)},{transparentColorIndex:(0,t.readByte)()},{terminator:(0,t.readByte)()}]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===249}),s=(0,e.conditional)({image:[{code:(0,t.readByte)()},{descriptor:[{left:(0,t.readUnsigned)(!0)},{top:(0,t.readUnsigned)(!0)},{width:(0,t.readUnsigned)(!0)},{height:(0,t.readUnsigned)(!0)},{lct:(0,t.readBits)({exists:{index:0},interlaced:{index:1},sort:{index:2},future:{index:3,length:2},size:{index:5,length:3}})}]},(0,e.conditional)({lct:(0,t.readArray)(3,function(h,f,p){return Math.pow(2,p.descriptor.lct.size+1)})},function(h,f,p){return p.descriptor.lct.exists}),{data:[{minCodeSize:(0,t.readByte)()},n]}]},function(h){return(0,t.peekByte)()(h)===44}),o=(0,e.conditional)({text:[{codes:(0,t.readBytes)(2)},{blockSize:(0,t.readByte)()},{preData:function(f,p,v){return(0,t.readBytes)(v.text.blockSize)(f)}},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===1}),a=(0,e.conditional)({application:[{codes:(0,t.readBytes)(2)},{blockSize:(0,t.readByte)()},{id:function(f,p,v){return(0,t.readString)(v.blockSize)(f)}},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===255}),u=(0,e.conditional)({comment:[{codes:(0,t.readBytes)(2)},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===254}),l=[{header:[{signature:(0,t.readString)(3)},{version:(0,t.readString)(3)}]},{lsd:[{width:(0,t.readUnsigned)(!0)},{height:(0,t.readUnsigned)(!0)},{gct:(0,t.readBits)({exists:{index:0},resolution:{index:1,length:3},sort:{index:4},size:{index:5,length:3}})},{backgroundColorIndex:(0,t.readByte)()},{pixelAspectRatio:(0,t.readByte)()}]},(0,e.conditional)({gct:(0,t.readArray)(3,function(h,f){return Math.pow(2,f.lsd.gct.size+1)})},function(h,f){return f.lsd.gct.exists}),{frames:(0,e.loop)([i,a,u,s,o],function(h){var f=(0,t.peekByte)()(h);return f===33||f===44})}],c=l;r.default=c}(Ah)),Ah}var b0=S0();const P0=Fh(b0);var I0=gg();const x0=(r,e)=>{const t=new Array(r.length),n=r.length/e,i=function(c,h){const f=r.slice(h*e,(h+1)*e);t.splice.apply(t,[c*e,e].concat(f))},s=[0,4,2,1],o=[8,8,4,2];for(var a=0,u=0;u<4;u++)for(var l=s[u];l<n;l+=o[u])i(l,a),a++;return t},T0=(r,e,t)=>{const s=t;var o,a,u,l,c,h,f,w,p,v,m,C,E,b,T,I;const S=new Array(t),P=new Array(4096),y=new Array(4096),_=new Array(4097);for(C=r,a=1<<C,c=a+1,o=a+2,f=-1,l=C+1,u=(1<<l)-1,p=0;p<a;p++)P[p]=0,y[p]=p;var m,w,E,b,I,T;for(m=w=E=b=I=T=0,v=0;v<s;){if(b===0){if(w<l){m+=e[T]<<w,w+=8,T++;continue}if(p=m&u,m>>=l,w-=l,p>o||p==c)break;if(p==a){l=C+1,u=(1<<l)-1,o=a+2,f=-1;continue}if(f==-1){_[b++]=y[p],f=p,E=p;continue}for(h=p,p==o&&(_[b++]=E,p=f);p>a;)_[b++]=y[p],p=P[p];E=y[p]&255,_[b++]=E,o<4096&&(P[o]=f,y[o]=E,o++,(o&u)===0&&o<4096&&(l++,u+=o)),f=h}b--,S[I++]=_[b],v++}for(v=I;v<s;v++)S[v]=0;return S},N0=r=>{const e=new Uint8Array(r);return Gn.parse(I0.buildStream(e),P0)},O0=r=>{const e=r.pixels.length,t=new Uint8ClampedArray(e*4);for(var n=0;n<e;n++){const i=n*4,s=r.pixels[n],o=r.colorTable[s]||[0,0,0];t[i]=o[0],t[i+1]=o[1],t[i+2]=o[2],t[i+3]=s!==r.transparentIndex?255:0}return t},D0=(r,e,t)=>{if(!r.image){console.warn("gif frame does not have associated image.");return}const{image:n}=r,i=n.descriptor.width*n.descriptor.height;var s=T0(n.data.minCodeSize,n.data.blocks,i);n.descriptor.lct.interlaced&&(s=x0(s,n.descriptor.width));const o={pixels:s,dims:{top:r.image.descriptor.top,left:r.image.descriptor.left,width:r.image.descriptor.width,height:r.image.descriptor.height}};return n.descriptor.lct&&n.descriptor.lct.exists?o.colorTable=n.lct:o.colorTable=e,r.gce&&(o.delay=(r.gce.delay||10)*10,o.disposalType=r.gce.extras.disposal,r.gce.extras.transparentColorGiven&&(o.transparentIndex=r.gce.transparentColorIndex)),o.patch=O0(o),o},M0=(r,e)=>r.frames.filter(t=>t.image).map(t=>D0(t,r.gct));async function vg(r){const t=await(await fetch(r)).arrayBuffer(),n=N0(t),i=M0(n);return{gif:n,gifFrames:i,arrayBuffer:t}}function yg(r,e,t){return r<e?e:r>t?t:r}class _g extends Bl{constructor(t,n=!0,i){super();d(this,"_gifFrames",this.disposeVar(B(void 0)));d(this,"_gifDurations",[]);d(this,"_gifDuration",this.disposeVar(B(0)));d(this,"_gifSize",this.disposeVar(B([0,0],(t,n)=>t.every((i,s)=>i===n[s]),t=>[...t])));d(this,"_autoPlayOnLoad",this.disposeVar(B(!0)));d(this,"_gifCanvas");this._container=t,this.loop=!0;const s=document.createElement("canvas");this._gifCanvas=s,s.style.width="100%",s.style.height="100%";const o=s.getContext("2d");this._container&&this._container.appendChild(s),this.dispose(()=>this._container&&this._container.removeChild(s));let a;this.dispose(this._gifFrames.changed.disposableOn(l=>{if(!l||l.length===0){s.width=0,s.height=0;return}const{width:c,height:h}=l[0].dims;this._gifSize.value=[c,h];const f=l.length;let p=0;this._gifDurations.length=0;for(let v=0;v<f;++v)p+=l[v].delay,this._gifDurations.push(p);this._gifDuration.value=this._gifDurations[this._gifDurations.length-1],s.width=c,s.height=h,a=o.createImageData(c,h),this.currentTimeChangedEvent.emit(this.currentTime,this.currentTime),this._autoPlayOnLoad.value&&(this.currentTime=0,this.playing=!0)}));let u=-1;this.dispose(this.currentTimeChangedEvent.disposableOn(l=>{const c=yg(l/this.duration,0,1),h=this.gifDuration*c,f=this._gifFrames.value;if(f&&f.length>0){const p=this._getFrame(h);if(p===u)return;u=p;const v=f[p];if(v.disposalType!==0&&v.disposalType!==1&&v.disposalType!==2&&Wo(`gif parsed get disposalType ${v.disposalType}... frame: ${p} size: ${JSON.stringify(v.dims)}`,`gif parsed get disposalType ${v.disposalType}...`),a&&(p===0||v.disposalType===2)&&a.data.fill(0),a){const[C,S]=this._gifSize.value,{width:P,height:y,left:_,top:m}=v.dims;if(y>S)throw new Error("height > canvasHeight");for(let w=0;w<y;++w)for(let E=0;E<P;++E){const b=w*P+E,I=m+w,T=_+E,D=I*C+T,x=a.data,O=v.patch,L=O[b*4+3]/255;x[D*4+0]=x[D*4+0]*(1-L)+O[b*4+0]*L|0,x[D*4+1]=x[D*4+1]*(1-L)+O[b*4+1]*L|0,x[D*4+2]=x[D*4+2]*(1-L)+O[b*4+2]*L|0,x[D*4+3]=yg(x[D*4+3]+O[b*4+3],0,255)|0}o.putImageData(a,0,0)}}else Wo("gif资源未加载!无法播放!")})),this.dispose(this._gifDuration.changed.disposableOn(()=>{this.duration=this.gifDuration})),this._autoPlayOnLoad.value=n,this._gifFrames.value=i}get gifCanvas(){return this._gifCanvas}set gifFrames(t){this._gifFrames.value=t}get gifFrames(){return this._gifFrames.value}get gifFramesChanged(){return this._gifFrames.changed}get gifSize(){return this._gifSize.value}get gifSizeChanged(){return this._gifSize.changed}get gifDuration(){return this._gifDuration.value}get gifDurationChanged(){return this._gifDuration.changed}get autoPlayOnLoad(){return this._autoPlayOnLoad.value}set autoPlayOnLoad(t){this._autoPlayOnLoad.value=t}get autoPlayOnLoadChanged(){return this._autoPlayOnLoad.changed}_getFrame(t){const n=this._gifDurations.length;for(let i=0;i<n;++i)if(t<=this._gifDurations[i])return i;throw new Error("should not be here")}}class wg extends V{constructor(t){super();d(this,"_player");d(this,"_url",this.disposeVar(B("")));d(this,"_loadGifFramesProcessing",this.disposeVar(Vl(t=>Ko(vg(t)))));this._player=this.disposeVar(new _g(t)),this._player.autoPlayOnLoad=!0,this._loadGifFramesProcessing.completeFunc=({gifFrames:n})=>this._player.gifFrames=n,this.dispose(this._url.changed.disposableOn(n=>{this._player.gifFrames=void 0,this._loadGifFramesProcessing.restart(new Mr(`reload gif(${n})`),n)}))}get player(){return this._player}set url(t){this._url.value=t}get url(){return this._url.value}get loadedEvent(){return this._loadGifFramesProcessing.completeEvent}get size(){return this._player.gifSize}get sizeChanged(){return this._player.gifSizeChanged}get duration(){return this._player.gifDuration}get durationChanged(){return this._player.gifDurationChanged}}class Eg extends V{constructor(t,n){super();d(this,"_gif",this.disposeVar(new wg));d(this,"_update",this.disposeVar(Zo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._gif.url=this._imageUri}get gif(){return this._gif}update(){const{player:t}=this._gif;if(!t.gifFrames)return;const n=this._complexImage,{width:i,height:s}=t.gifCanvas;n.size=[i,s],n.pixelFormat="RGBA",n.copyTexture({source:t.gifCanvas});{const o=()=>{t.autoPlayOnLoad=this._complexImage.autoplay};o(),this.dispose(this._complexImage.autoplayChanged.disposableOn(o))}{const o=()=>{t.loop=this._complexImage.loop};o(),this.dispose(this._complexImage.loopChanged.disposableOn(o))}}}function Cg(r,e){const[t,n,i]=Vi(r),s=B(void 0),o=()=>{const a=t()??e;s.value=a&&rt.context.getStrFromEnv(a)};return o(),i&&s.d(i.don(o)),s.d(rt.context.environmentVariablesChanged.don(o)),s}function Sg(r){const e=/\${(.*?)\}/g;if(!e.test(r))return r;const t=r.replace(e,(n,i)=>{const s=rt.context.getEnv(i);return s===void 0?(console.warn(`环境变量(${i})不存在,无法进行转换`),"{env-error}"):s});return Sg(t)}class R0 extends V{constructor(t){super();d(this,"_sceneObjRefs",new Map);d(this,"_refs",{});d(this,"_refsChanged",this.dv(new N));const n=(i,s,o)=>{if(o){const a=this.getLastSceneObject(o),u=this._sceneObjRefs.get(o);if(!u)console.warn(`this._sceneObjRefs中不存在ref(${o}), 可能系统存在逻辑问题`);else{const c=u.indexOf(i);c===-1?console.warn(`this._sceneObjRefs中不存在当前对象(id: ${i.id} type: ${i.typeName})!可能系统存在逻辑问题`):(u.splice(c,1),u.length===0&&this._sceneObjRefs.delete(o))}const l=this.getLastSceneObject(o);this._refs[o]=l,this._refsChanged.emit(l,a)}if(s){const a=this.getLastSceneObject(s),u=this._sceneObjRefs.get(s);u?(u.push(i),u.length>0&&console.warn(`同时存在多个ref${s}相同的场景对象!
22
22
  ${u.map(c=>`${c.id} ${c.typeName}
23
- `).join(" ")}`)):this._sceneObjRefs.set(s,[i]);const l=this.getLastSceneObject(s);this._refs[s]=l,this._refsChanged.emit(l,a)}};this.d(t.sceneObjCreatedEvent.don(i=>{const s=(o,a)=>n(i,o,a);i.ref&&s(i.ref,void 0),i.refChanged.don(s)})),this.d(t.sceneObjToDestroyEvent.don(i=>{i.ref&&n(i,void 0,i.ref)}))}get sceneObjRefs(){return this._sceneObjRefs}get refs(){return this._refs}get refsChanged(){return this._refsChanged}getLastSceneObject(t){const n=this.getSceneObjects(t);if(n)return n[n.length-1]}getSceneObjects(t){const n=this._sceneObjRefs.get(t);if(!(!n||n.length===0))return n}}class M0 extends B{constructor(){super();d(this,"_esObjConstructors",new Map);d(this,"_sceneObjs",new Map);d(this,"_sceneObjCreatedEvent",new N);d(this,"_sceneObjToDestroyEvent",new N);d(this,"_refsManager",this.dv(new D0(this)));d(this,"_environmentVariables",globalThis.ESSDK_ENV||{});d(this,"_environmentVariablesChanged",this.dv(new N))}get typeNames(){return this._esObjConstructors.keys()}get sceneObjs(){return this._sceneObjs.values()}get sceneObjCreatedEvent(){return this._sceneObjCreatedEvent}get sceneObjToDestroyEvent(){return this._sceneObjToDestroyEvent}get refsManager(){return this._refsManager}get $refs(){return this._refsManager.refs}register(t,n,i){return this._esObjConstructors.has(t)&&console.warn(`register warn: ${t} has registered ! will be override!`),this._esObjConstructors.set(t,n),i&&ci(n,"__sceneObjExtraInfo",i),t}_addSceneObject(t){this._sceneObjs.set(t.id,t),this._sceneObjCreatedEvent.emit(t),t.d(()=>this._deleteSceneObject(t))}addSceneObject(t){this._addSceneObject(t)}_deleteSceneObject(t){this._sceneObjToDestroyEvent.emit(t),this._sceneObjs.delete(t.id)}deleteSceneObject(t){this._deleteSceneObject(t)}createSceneObjectFromClass(t,n){if(!n||this._sceneObjs.has(n)){const s=qo();n&&console.warn(`已存在相同id的对象!id自动变更!${n} -> ${s} 请注意:id变更可能导致引用失效!`),n=s}if(!n)throw new Error("id不能为空!");const i=new t(n);return i.id!==n&&(console.warn(`sceneObj.id(${i.id}) !== id(${n}) sceneObjectType: ${i.typeName}`),console.warn("出现这种问题有可能是自定义的场景对象,没有在构造函数中传递id参数!示例如下:"),console.warn("class XXX extends XXX { constructor(id) { super(id); } }")),this._addSceneObject(i),i}createSceneObject(t,n){if(typeof t=="string"){const i=this._getSceneObjConstructor(t);if(!i){console.warn(`Cannot find SceneObjectType: ${t}`);return}return this.createSceneObjectFromClass(i,n)}else return this.createSceneObjectFromClass(t,n)}createSceneObjectFromUrl(t,n){let i;const s=t.toLowerCase();if(s.includes(".gltf")||s.includes(".glb")?i="ESGltfModel":s.includes("tileset.json")?i="ES3DTileset":s.includes("layer.json")||s.includes("ion://1")?i="ESTerrainLayer":s.includes(".jpg")||s.includes(".png")||s.includes(".jpeg")||s.includes(".webp")||s.includes("image/jpg")||s.includes("image/png")||s.includes("image/jpeg")||s.includes("image/webp")?i="ESImageLabel":(s.includes("/tilemapresource.xml")||s.includes("ion://")||s.includes("wms")||s.includes("wmts")||s.includes("{x}")||s.includes("{y}")||s.includes("{z}"))&&(i="ESImageryLayer"),!!i)return this.createSceneObjectFromJson({type:i,id:n,url:t})}createSceneObjectFromJson(t){const n=this.createSceneObject(t.type,t.id);return n&&(n.json=t),n}destroySceneObject(t){return this._deleteSceneObject(t),t.destroy(),t.isDestroyed()}getSceneObjectById(t){return this._sceneObjs.get(t)}getSceneObject(t){if(!t&&t!="")return Array.from(this._sceneObjs.values());if(t.startsWith("ES")){const n=[];for(const i of this._sceneObjs.values())i.typeName===t&&n.push(i);return n}else return this._sceneObjs.get(t)}_getSceneObjConstructor(t){const n=this._esObjConstructors.get(t);if(n)return n}getProps(t){const n=this._getSceneObjConstructor(t);if(!n){console.warn(`cannot get constructor from type: ${t}`);return}return Wn(n,"__sceneObjExtraInfo")}setProps(t,n){const i=this._getSceneObjConstructor(t);if(!i){console.warn(`cannot get constructor from type: ${t}`);return}let s=Wn(i,"__sceneObjExtraInfo");s||(s={},ci(i,"__sceneObjExtraInfo",s)),Object.assign(s,n)}getProp(t,n){const i=this.getProps(t);return i&&i[n]}setProp(t,n,i){this.setProps(t,{[n]:i})}get environmentVariables(){return this._environmentVariables}set environmentVariables(t){for(let[n,i]of Object.entries(t))this.setEnv(n,i)}get environmentVariablesChanged(){return this._environmentVariablesChanged}setEnv(t,n){if(this._environmentVariables[t]!==n){const i=this._environmentVariables[t];this._environmentVariables[t]=n,this._environmentVariablesChanged.emit(t,n,i)}globalThis.ESSDK_ENV={...this._environmentVariables}}getEnv(t){return this._environmentVariables[t]}getStrFromEnv(t){return Sg(t)}createEnvStrReact(t,n){return Cg(t,n)}createEvnStrReact(t,n){return Cg(t,n)}}const yt=class yt extends B{constructor(t){super();d(this,"_components",this.dv(new zl));d(this,"_viewerAttached",this.dv(new N));d(this,"_viewerDetached",this.dv(new N));d(this,"_attachedViewers",(()=>{const t=new Set;return this.d(this._viewerAttached.don(n=>{n.actived&&(this.activeViewer=n),n.ad(n.activedChanged.don(i=>{i&&t.has(n)&&(this.activeViewer=n)})),t.add(n)})),this.d(this._viewerDetached.don(n=>{t.delete(n),this.activeViewer==n&&(this.activeViewer=void 0)})),t})());d(this,"_activeViewer",this.disposeVar(V(void 0)));d(this,"_createdEvent",this.dv(new N));d(this,"_flushEvent",this.dv(new N));d(this,"_id");d(this,"_updateFuncReact",this.dv(V(void 0)));d(this,"_toDestroyFuncReact",this.dv(V(void 0)));d(this,"_parentID");t!==void 0&&(typeof t!="string"?console.warn(`对象id必须是字符串类型,当前id的类型是${typeof t},值为${t}`):t.trim()===""?console.warn("场景对象创建时的id不能是空字符串!"):t.trim()!==t&&console.warn(`id前后有空字符串!id: ${t}`)),this._id=t??qo(),this._initName();{const n=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(i){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`)}};n(),this.d(this.execOnceFuncStrChanged.don(n))}{const n=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};n(),this.d(this.updateFuncStrChanged.don(n));let i;this.d(()=>i&&i.destroy()),this.d(this.updateFuncChanged.don(()=>{i&&i.cancel(),this.updateFunc&&(i=i||Iu(),i.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const n=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(i){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`),this.toDestroyFunc=void 0}};n(),this.d(this.toDestroyFuncStrChanged.don(n)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}static getParentClass(){return Object.getPrototypeOf(this)}static register(t,n,i){ji(n.prototype,n.createDefaultProps);const s=n.createDefaultProps();n.defaults&&(n.defaults={});for(const o of Object.keys(s))n.defaults[o]=s[o]instanceof je?s[o].value:s[o];return this.innerRegister(t,n,i),t}static get envs(){return yt.context.environmentVariables}static get $refs(){return yt.context.refsManager.refs}get components(){return this._components}get viewerAttached(){return this._viewerAttached}get viewerDetached(){return this._viewerDetached}get attachedViewers(){return this._attachedViewers}get activeViewer(){return this._activeViewer.value}set activeViewer(t){this._activeViewer.value=t}get activeViewerChanged(){return this._activeViewer.changed}removefromViewer(t){this.attachedViewers.has(t)&&t.delete(this)}addToViewer(t){this.attachedViewers.has(t)||t.add(this)}registerAttachedObject(t){const n=new Map;this.d(()=>{n.size>0&&console.warn("viewerPropSceneObjects.size > 0")}),this.d(this._viewerAttached.don(i=>{const s=t(i);s&&n.set(i,s)})),this.d(this._viewerDetached.don(i=>{if(!n.has(i))return;const s=n.get(i);s&&(s.destroy(),n.delete(i))}))}createAttachedObject(t){const n=new Map,i=()=>{for(let[u,l]of n.entries())l.destroy();n.clear()},s=u=>{const l=t(u);l&&n.set(u,l)};for(let u of this.attachedViewers)s(u);const o=this._viewerAttached.don(s),a=this._viewerDetached.don(u=>{if(!n.has(u))return;const l=n.get(u);l&&(l.destroy(),n.delete(u))});return()=>{a(),o(),i()}}registerAttachedObjectForContainer(t){this.registerAttachedObject(n=>new R0(n,t))}get createdEvent(){return this._createdEvent}get flushEvent(){return this._flushEvent}flush(){this.flushEvent.emit()}get id(){return this._id}get typeName(){return this.constructor.type}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return this.constructor.createDefaultProps()}_innerGetJson(t=!0){const n={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let s,o=this.defaultProps[i];o instanceof je?s=o.equals(this[i]):s=o===this[i],s||(n[i]=this[i])}else n[i]=this[i];return n}_innerSetJson(t,n,i){if(!(t instanceof Object)||t.type&&t.type!==this.typeName){console.error(`value.type && value.type${t.type} !== this.typeName${this.typeName}`);return}t.id&&t.id!==this.id&&console.warn(`value.id === undefined || value.id${t.id} !== this.id(${this.id})`);const s=n||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof je&&(u=u.value),this[a]=u}}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get _jsonStr(){return JSON.stringify(this.json,null,4)}set _jsonStr(t){this._innerSetJson(JSON.parse(t))}get updateFunc(){return this._updateFuncReact.value}set updateFunc(t){this._updateFuncReact.value=t}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(t){this._toDestroyFuncReact.value=t}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get parentID(){return this._parentID??this.id}set parentID(t){this._parentID=t}getProperties(t){const n={...this.getESProperties()},i=[];return n.general.length>0&&i.push(new ut(n.general,"general")),Object.keys(n).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&n[s].length>0&&i.push(new ut(n[s],s))}),i}getESProperties(){return{defaultMenu:"general",basic:[],general:[new pt([this,"typeName"],"类型",void 0,!1,!0),new pt([this,"id"],"唯一标识",void 0,!1,!0),new pt([this,"name"],"名称")],dataSource:[],location:[],coordinate:[],style:[],more:[new pt([this,"ref"],"ref",void 0,!0),new it([this,"extras"],"extras",void 0,void 0,!0),new Tg(()=>this._jsonStr,t=>t&&(this._jsonStr=t),"JSON")]}}};d(yt,"context",new M0),d(yt,"innerRegister",yt.context.register.bind(yt.context)),d(yt,"defaults",{}),d(yt,"createDefaultProps",()=>({name:"未命名场景对象",ref:void 0,extras:_t(void 0),devTags:ne(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})),d(yt,"type",yt.register("ESSceneObject",yt,{chsName:"场景类",tags:["ESObjects"],description:""})),d(yt,"create",yt.context.createSceneObject.bind(yt.context)),d(yt,"createFromUrl",yt.context.createSceneObjectFromUrl.bind(yt.context)),d(yt,"createFromClass",yt.context.createSceneObjectFromClass.bind(yt.context)),d(yt,"createFromJson",yt.context.createSceneObjectFromJson.bind(yt.context)),d(yt,"destroySceneObject",yt.context.destroySceneObject.bind(yt.context)),d(yt,"getSceneObjById",yt.context.getSceneObjectById.bind(yt.context)),d(yt,"getSceneObj",yt.context.getSceneObject.bind(yt.context)),d(yt,"getEnv",yt.context.getEnv.bind(yt.context)),d(yt,"setEnv",yt.context.setEnv.bind(yt.context)),d(yt,"getStrFromEnv",yt.context.getStrFromEnv.bind(yt.context)),d(yt,"getSceneObjectById",yt.context.getSceneObjectById.bind(yt.context)),d(yt,"getSceneObject",yt.context.getSceneObject.bind(yt.context));let rt=yt;class R0 extends B{constructor(e,t){super(),this.dv(new we(e.subContainerChanged,()=>{if(e.subContainer)return t(e,e.subContainer)}))}}const Zc=class Zc extends B{constructor(t,n){super();d(this,"_id",++Zc._accumId);this._name=t,this._description=n}get id(){return this._id}get name(){return this._name}get description(){return this._description}};d(Zc,"_accumId",-1);let vs=Zc;class kh extends vs{constructor(e,t,n,i,s){super(e,t),this._withUndefined=n,this._readonly=i,this._defaultValue=s}get withUndefined(){return this._withUndefined}get readonly(){return this._readonly}get defaultValue(){return this._defaultValue instanceof Function?this._defaultValue():this._defaultValue}}class xt extends kh{constructor(e,t,n,i,s,o){const a=e instanceof je?"未获取到属性名":e[1].toString();super(t??a,o??a,i??!1,s??!1,n),this._reactVar=e}get reactVar(){return this._reactVar}}class X extends xt{get type(){return"BooleanProperty"}}class pt extends xt{get type(){return"StringProperty"}}class M extends xt{get type(){return"NumberProperty"}}class L0 extends xt{get type(){return"MaximumScreenSpaceErrorProperty"}}class bg extends xt{get type(){return"StringsProperty"}}class F0 extends xt{get type(){return"NumbersProperty"}}class A0 extends xt{get type(){return"BooleansProperty"}}class k0 extends xt{get type(){return"String2Property"}}class V0 extends xt{get type(){return"String3Property"}}class B0 extends xt{get type(){return"String4Property"}}class Pg extends xt{get type(){return"String2sProperty"}}class j0 extends xt{get type(){return"String3sProperty"}}class z0 extends xt{get type(){return"String4sProperty"}}class Fe extends xt{get type(){return"Number2Property"}}class un extends xt{get type(){return"Number3Property"}}class Rr extends xt{get type(){return"Number4Property"}}class U0 extends xt{get type(){return"Number4WithUndefinedProperty"}}class Ig extends xt{get type(){return"Number2sProperty"}}class Vh extends xt{get type(){return"Number3sProperty"}}class G0 extends xt{get type(){return"Number4sProperty"}}class W0 extends xt{get type(){return"Boolean2Property"}}class H0 extends xt{get type(){return"Boolean3Property"}}class q0 extends xt{get type(){return"Boolean4Property"}}class X0 extends xt{get type(){return"Boolean2sProperty"}}class Y0 extends xt{get type(){return"Boolean3sProperty"}}class J0 extends xt{get type(){return"Boolean4sProperty"}}class $0 extends xt{get type(){return"StringNumberProperty"}}class K0 extends xt{get type(){return"StringNumbersProperty"}}class Dt extends Rr{get type(){return"ColorProperty"}}class Z0 extends un{get type(){return"ColorRgbProperty"}}class Q0 extends M{get type(){return"DashPatternProperty"}}class bt extends xt{constructor(e,t,n,i,s,o,a){super(e,n,i,s,o,a),this._enums=t}get type(){return"EnumProperty"}get enums(){return this._enums}}class tw extends xt{constructor(e,t,n,i,s,o,a){super(e,n,i,s,o,a),this._enums=t}get type(){return"EnumStringsProperty"}get enums(){return this._enums}}class ys extends xt{constructor(e,t,n,i,s,o,a){super(e,t,n,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"EvalStringProperty"}}class xg extends xt{constructor(e,t,n,i,s){super(e,t,i,!1,!1,s),this._paramTypes=n}get type(){return"ParamsProperty"}get paramTypes(){return this._paramTypes}}class lt extends vs{constructor(t,n,i,s,o){const a=s??"Unnamed Function";super(a,o??a);d(this,"_paramsProperty");d(this,"_getValueFunc");this._func=n;const u=this.disposeVar(_t(i));this._paramsProperty=this.disposeVar(new xg(u,a+"_params",t,i));const[l]=Vi(this._paramsProperty.reactVar);this._getValueFunc=l}get paramsProperty(){return this._paramsProperty}exec(){this._func(...this._getValueFunc())}get type(){return"FunctionProperty"}}class ut extends vs{constructor(e,t,n){const i=t??"分组";super(i,n??i),this._children=e}get type(){return"GroupProperty"}get children(){return this._children}}class it extends xt{constructor(e,t,n,i,s,o,a){super(e,t,n,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"JsonProperty"}}class Bh extends xt{constructor(e,t,n,i,s,o,a){super(e,t,n,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"LongStringProperty"}}class ew extends Fe{get type(){return"MinmaxProperty"}}class nw extends Rr{get type(){return"NearFarScalerProperty"}}class Tg extends kh{constructor(e,t,n,i,s,o,a){const u=n??"非响应式Json";super(u,a??u,s??!1,o??!1,i),this._getJsonStringFunc=e,this._setJsonStringFunc=t}get type(){return"NonreactiveJsonStringProperty"}get getJsonStringFunc(){return this._getJsonStringFunc}get setJsonStringFunc(){return this._setJsonStringFunc}}class rw extends Fe{get type(){return"NumberRangeProperty"}}class ze extends xt{constructor(e,t,n,i,s,o,a,u){super(e,i,s,o,a,u),this._step=t,this._minMax=n}get type(){return"NumberSliderProperty"}get minMax(){return this._minMax}get step(){return this._step}}function iw(r,e){const[t,n,i]=Vi(r),[s,o,a]=Vi(e),u=V((t()??0)/(s()??3e3)),l=()=>{const c=u.value,h=s()??3e3,f=t()??0;if(!Number.isFinite(h)||!Number.isFinite(f)){console.warn(`duration || currentTime error: duration: ${h} currentTime: ${f}`);return}Math.abs(c*h-f)<.001||(h<=0?u.value=0:u.value=f/h)};return u.dispose(i.disposableOn(l)),u.dispose(a.disposableOn(l)),u.dispose(u.changed.disposableOn(()=>{const c=u.value,h=s()??3e3,f=t()??0;if(!Number.isFinite(h)||!Number.isFinite(f)){console.warn(`duration || currentTime error: duration: ${h} currentTime: ${f}`);return}Math.abs(c*h-f)<.001||n(c*h)})),u}class Ul extends vs{constructor(t,n,i,s,o,a){super(s??"播放器",a??"播放器");d(this,"_defaults",{playing:!1,ratio:0,loop:!1});this._playingReact=t,this._ratioReact=n,this._loopReact=i,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.ratio=o.ratio??this._defaults.ratio,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"PlayerProperty"}get playingReact(){return this._playingReact}get ratioReact(){return this._ratioReact}get loopReact(){return this._loopReact}get defaults(){return this._defaults}}d(Ul,"createPlayingRatio",iw);class ea extends un{get type(){return"PositionProperty"}}class Ng extends xt{get type(){return"PositionsProperty"}}class sw extends xt{get type(){return"PositionsSetPropety"}}class jh extends un{get type(){return"RotationProperty"}}class Mu extends pt{get type(){return"UriProperty"}}class Og extends vs{constructor(t,n,i,s,o,a){const u=s??"视角播放器";super(u,a??u);d(this,"_defaults",{playing:!1,loop:!1});this._playingReact=t,this._stopFn=n,this._loopReact=i,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"ViewPlayerProperty"}get playingReact(){return this._playingReact}get loopReact(){return this._loopReact}get stopFn(){return this._stopFn}get defaults(){return this._defaults}}class Dg extends xt{get type(){return"DatesProperty"}}class eo extends xt{get type(){return"DateProperty"}}var et=(r=>(r.Place="place",r.Translation="translation",r.Rotation="rotation",r.Scale="scale",r.DoublePointsAppend="doublePointsAppend",r.DoublePointsModify="doublePointsModify",r.CircularAppend="circularAppend",r.CircularInsert="circularInsert",r.LineStringAppend="lineStringAppend",r.LineStringInsert="lineStringInsert",r.ScatterAppend="scatterAppend",r.ScatterModify="scatterModify",r.VisibilityAppend="visibilityAppend",r.VisibilityModify="visibilityModify",r.HeightModify="heightModify",r))(et||{}),Mg=(r=>(r.DECIMAL_DEGREE="DECIMAL_DEGREE",r.DEGREES_DECIMAL_MINUTES="DEGREES_DECIMAL_MINUTES",r.SEXAGESIMAL_DEGREE="SEXAGESIMAL_DEGREE",r))(Mg||{});class ow{constructor(e){this.childPickedInfo=e}}class aw{constructor(e,t,n,i,s,o){this.pickResult=e,this.sceneObject=t,this.tilesetPickInfo=n,this.geojsonPickInfo=i,this.attachedInfo=s,this.screenPosition=o}assign(e){e!=null&&e.pickedResult&&(this.pickResult=e.pickedResult),e!=null&&e.sceneObject&&(this.sceneObject=e.sceneObject),e!=null&&e.tilesetPickInfo&&(this.tilesetPickInfo=e.tilesetPickInfo),e!=null&&e.geojsonPickInfo&&(this.geojsonPickInfo=e.geojsonPickInfo),e!=null&&e.attachedInfo&&(this.attachedInfo=e.attachedInfo),e!=null&&e.screenPosition&&(this.screenPosition=e.screenPosition)}}const ye=class ye extends rt{constructor(t){super(t);d(this,"_editing",this.dv(V(!1)));d(this,"editingID");d(this,"editingBindMode","singlePoint");d(this,"_deprecated",[]);d(this,"_flyInEvent",this.dv(new N));d(this,"_flyToEvent",this.dv(new N));d(this,"_flyOverEvent",this.disposeVar(new N));d(this,"_pickedEvent",this.dv(new N));d(this,"_calcFlyToParamEvent",this.dv(new N));d(this,"_calcFlyInParamEvent",this.dv(new N));d(this,"useCalcFlyToParamInESObjectWithLocation",!1);kg(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(t){this._editing.value=t}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const t=this._deprecated;for(let n=0;n<t.length;n++){const i=t[n];typeof i=="string"?Reflect.has(this,i+"Changed")&&this.d(this[i+"Changed"].don(()=>{console.warn(`注意:${this.typeName} 的 ${i} 属性下版本将会被移除!`)})):Object.keys(i).forEach(s=>{Reflect.has(this,s+"Changed")&&this.d(this[s+"Changed"].don(a=>{const u=i[s];typeof u=="string"?console.warn(`注意:${this.typeName} 的 ${s} 属性下版本将会被移除!`):Object.keys(u).forEach(l=>{a===l&&console.warn(`注意:${this.typeName} 的 ${s} 属性值 ${l} 下版本将会被移除,推荐使用属性值 ${u[l]}`)})}))})}}get flyInEvent(){return this._flyInEvent}flyIn(t=1){this._flyInEvent.emit(t,ye._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(t=1){this._flyToEvent.emit(t,ye._lastFlyToId)}get flyOverEvent(){return this._flyOverEvent}get pickedEvent(){return this._pickedEvent}get calcFlyToParamEvent(){return this._calcFlyToParamEvent}calcFlyToParam(){this._calcFlyToParamEvent.emit()}get calcFlyInParamEvent(){return this._calcFlyInParamEvent}calcFlyInParam(){this._calcFlyInParamEvent.emit()}emptyFlyToParam(){this.flyToParam=void 0}emptyFlyInParam(){this.flyInParam=void 0}async getBoundSphere(t){return await t.getBoundSphere(this.id)}getESProperties(){const t={...super.getESProperties()};return{...t,general:[...t.general,new X([this,"show"],"是否显示",ye.defaults.show),new X([this,"collision"],"开启碰撞",ye.defaults.collision),new X([this,"allowPicking"],"允许拾取",ye.defaults.allowPicking),new lt([],()=>this.calcFlyToParam(),[],"保存观察视角","保存当前flyToParam"),new lt([],()=>this.emptyFlyToParam(),[],"清空飞向参数","清空飞向参数"),new lt([],()=>this.emptyFlyInParam(),[],"清空飞入参数","清空飞入参数"),new lt([],()=>this.calcFlyInParam(),[],"保存飞入参数","保存飞入参数flyInParam")],more:[...t.more,new ut([],"飞行定位","飞向参数"),new lt(["number"],n=>this.flyTo(n),[1],"飞向"),new it([this,"flyToParam"],"flyToParam",void 0,void 0,!0),new M([this,"flyToDistance"],"flyToDistance",void 0,!0),new M([this,"flyToHeading"],"flyToHeading",void 0,!0),new M([this,"flyToPitch"],"flyToPitch",void 0,!0),new M([this,"flyToFlyDuration"],"flyToFlyDuration",void 0,!0),new M([this,"flyToHDelta"],"flyToHDelta",void 0,!0),new M([this,"flyToPDelta"],"flyToPDelta",void 0,!0),new ut([],"飞入参数"),new lt(["number"],n=>this.flyIn(n),[1],"飞入"),new it([this,"flyInParam"],"flyInParam",void 0,void 0,!0)]}}get flyToDistance(){return this.flyToParam&&this.flyToParam.distance}get flyToHeading(){return this.flyToParam&&this.flyToParam.heading}get flyToPitch(){return this.flyToParam&&this.flyToParam.pitch}get flyToFlyDuration(){return this.flyToParam&&this.flyToParam.flyDuration}get flyToHDelta(){return this.flyToParam&&this.flyToParam.hDelta}get flyToPDelta(){return this.flyToParam&&this.flyToParam.pDelta}get flyToDistanceChanged(){return this.flyToParamChanged}get flyToHeadingChanged(){return this.flyToParamChanged}get flyToPitchChanged(){return this.flyToParamChanged}get flyToFlyDurationChanged(){return this.flyToParamChanged}get flyToHDeltaChanged(){return this.flyToParamChanged}get flyToPDeltaChanged(){return this.flyToParamChanged}set flyToDistance(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,distance:t}:void 0}set flyToHeading(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,heading:t}:void 0}set flyToPitch(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,pitch:t}:void 0}set flyToFlyDuration(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,flyDuration:t}:void 0}set flyToHDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,hDelta:t}:void 0}set flyToPDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,pDelta:t}:void 0}};d(ye,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:Zt(void 0),flyInParam:Zt(void 0)})),d(ye,"type",ye.register("ESVisualObject",ye,{chsName:"可视化对象",tags:["ESObjects"],description:"可视化对象"})),d(ye,"supportEditingModes",[]),d(ye,"defaultFlyToParam",{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0}),d(ye,"defaultFlyInParam",{position:[0,0,0],rotation:[0,0,0],flyDuration:1}),d(ye,"_lastFlyInId",0),d(ye,"_lastFlyToId",0);let Wt=ye;class Rg extends B{constructor(){super();d(this,"_data",this.dv(V(void 0)))}set data(t){this._data.value=t}get data(){return this._data.value}get dataChanged(){return this._data.changed}}class Lg extends B{constructor(){super(...arguments);d(this,"_dragStartEvent",this.dv(new N));d(this,"_dragOverEvent",this.dv(new N));d(this,"_dragLeaveEvent",this.dv(new N));d(this,"_dropEvent",this.dv(new N))}dragStart(t){this._dragStartEvent.emit(t)}dragOver(t){this._dragOverEvent.emit(t)}dragLeave(t){this._dragLeaveEvent.emit(t)}drop(t){this._dropEvent.emit(t)}}function uw(r,e){e&&(Reflect.has(e,"editing")?e.editing=!0:Reflect.has(e,"positionEditing")&&(e.positionEditing=!0))}function lw(r){["Czm3DTiles","View","ESCameraView","OlView","GeoCameraController"].includes(r.typeName)||(Reflect.has(r,"editing")?r.editing=!0:Reflect.has(r,"positionEditing")&&(r.positionEditing=!0)),typeof r.execOnCreating=="function"&&r.execOnCreating()}function Gl(r,e){Wn(r,"__treeItem")&&console.error("setSceneObjectTreeItem error!"),ci(r,"__treeItem",e)}function cw(r){return Wn(r,"__treeItem")}function hw(r){if(!(r.startsWith("./")||r.startsWith("../")||r.startsWith("/")))return r;const e=document.createElement("a");e.href=r;const t=e.href;return e.remove(),t}function zh(r){if(typeof r!="string")return!1;try{const e=JSON.parse(r);return typeof e=="object"&&e!==null}catch{return!1}}function dw(r){try{return new DOMParser().parseFromString(r,"application/xml").getElementsByTagName("parsererror").length===0}catch{return!1}}function fw(r){return r instanceof Function?r():r}function Fg(r,e){for(let t of r)if(e.includes(t))return!0;return!1}function Gi(r,e){const t=r,n=e;return t===void 0||t.length===0||n===void 0||n.length===0?!0:Fg(t,n)}function pw(r){const e=setTimeout(()=>{r(),clearTimeout(e)})}function na(r){let e=r%360;return e=e<0?360+e:e,e}function Ag(r){return na(r+180)-180}function Wl(r,e,t){let n=na(r),i=na(e);Math.abs(n-i)>180&&(n<i?n+=360:i+=360);const s=n*(1-t)+i*t;return Ag(s)}function Uh(r,e,t,n){return n=n||[0,0,0],n[0]=Wl(r[0],e[0],t),n[1]=Wl(r[1],e[1],t),n[2]=Wl(r[2],e[2],t),n}function kg(r,e,t="editing"){const n=new B;r.ad(n);const i=e.bind(r);return n.ad(new we(r.activeViewerChanged,()=>{const s=new B;let o=r.activeViewer;return o?(s.ad(r[`${t}Changed`].don(()=>{var a;r[`${t}`]?i():(a=(r.components.main??r).editingID)!=null&&a.includes("inner")&&r.activeViewer&&r.activeViewer.stopEditing()})),s.ad(o.editingEvent.don(a=>{if(a.objectIDs.includes(r.id)&&a.type==="end"){const u=r.components.main??r;u.editingID&&a.editingID.includes(u.editingID)?r[`${t}`]=!1:r[`${t}`]=!u.editingID.includes("outer")}}))):s.ad(r[`${t}Changed`].don(()=>{r[`${t}`]=!1})),s})),r[`${t}`]&&i(),n}function gw(r){var t;const e=((t=r.type)==null?void 0:t.toLowerCase())??"";switch(e){case"geometrycollection":return mw(r);case"topology":const n=r.objects,i=[];for(const s in n){const o=qy.feature(r,n[s]);i.push(...o.features)}return{type:"FeatureCollection",features:i};case"feature":return{type:"FeatureCollection",features:[r]};case"featurecollection":return r;case"":default:return console.warn(`GeoJson数据转换可能有误,数据类型${e}`),{type:"FeatureCollection",features:Array.isArray(r.features)?r.features:[]}}}function mw(r,e){const t=[],n=r.geometries||[];function i(s,o={}){!s||!s.type||(s.type==="GeometryCollection"&&Array.isArray(s.geometries)?s.geometries.forEach(a=>i(a,o)):t.push({type:"Feature",geometry:s,properties:{...s.properties||{},...o}}))}return n.forEach(s=>i(s,{})),{type:"FeatureCollection",features:t}}function vw(r){const e=r.cloneNode(!0);e.style.position="fixed",e.style.visibility="hidden",e.style.pointerEvents="none",e.style.top="0",e.style.left="0",e.style.display="inline-block",document.body.appendChild(e);const t=e.getBoundingClientRect();return document.body.removeChild(e),{x:t.x,y:t.y,width:t.width,height:t.height}}class Gh extends B{constructor(t){super();d(this,"_sceneObject",this.dv(V(void 0)));this._id=t,this.d(()=>{this._sceneObject.value=void 0});const n=rt.getSceneObjById(this._id);n&&(this._sceneObject.value=n),this.d(rt.context.sceneObjCreatedEvent.don(i=>{i.id===this._id&&(this._sceneObject.value=i)})),this.d(rt.context.sceneObjToDestroyEvent.don(i=>{i.id===this._id&&(this._sceneObject.value=void 0)}))}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}get id(){return this._id}}class yw extends B{constructor(t,n){super();d(this,"_sofi");this._id=t,this._sofi=this.dv(new Gh(this._id));{const i=()=>{n.sceneObject=this._sofi.sceneObject};i(),this.d(this._sofi.sceneObjectChanged.don(i))}}}class Vg extends B{constructor(){super();d(this,"_id",this.dv(V(void 0)));d(this,"_sceneObject",this.dv(V(void 0)));d(this,"_resetting",this.dv(new we(this.idChanged,()=>{const{id:t}=this;if(t===void 0||t===""){this.sceneObject=void 0;return}return new yw(t,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(t){this._id.value=t}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(t){this._sceneObject.value=t}get resetting(){return this._resetting}}class _w extends B{constructor(t,n,i,s){super();d(this,"_sceneObjectId",this.dv(new Vg));this._id=t,this._startTimeStamp=n,this._duration=i,this._parent=s,this._sceneObjectId.id=this._id;const o=()=>{if(!this.player)return;const{currentTime:a=0}=this._parent,u=a-this._startTimeStamp;this.player.currentTime=Al(u,0,this._duration)*(this.player.speed??1)};o(),this.d(this._parent.currentTimeChanged.don(o)),this.d(this.playerChanged.don(o))}get player(){return this._sceneObjectId.sceneObject instanceof Lr?this._sceneObjectId.sceneObject:void 0}get playerChanged(){return this._sceneObjectId.sceneObjectChanged}}const ww=`
23
+ `).join(" ")}`)):this._sceneObjRefs.set(s,[i]);const l=this.getLastSceneObject(s);this._refs[s]=l,this._refsChanged.emit(l,a)}};this.d(t.sceneObjCreatedEvent.don(i=>{const s=(o,a)=>n(i,o,a);i.ref&&s(i.ref,void 0),i.refChanged.don(s)})),this.d(t.sceneObjToDestroyEvent.don(i=>{i.ref&&n(i,void 0,i.ref)}))}get sceneObjRefs(){return this._sceneObjRefs}get refs(){return this._refs}get refsChanged(){return this._refsChanged}getLastSceneObject(t){const n=this.getSceneObjects(t);if(n)return n[n.length-1]}getSceneObjects(t){const n=this._sceneObjRefs.get(t);if(!(!n||n.length===0))return n}}class L0 extends V{constructor(){super();d(this,"_esObjConstructors",new Map);d(this,"_sceneObjs",new Map);d(this,"_sceneObjCreatedEvent",new N);d(this,"_sceneObjToDestroyEvent",new N);d(this,"_refsManager",this.dv(new R0(this)));d(this,"_environmentVariables",globalThis.ESSDK_ENV||{});d(this,"_environmentVariablesChanged",this.dv(new N))}get typeNames(){return this._esObjConstructors.keys()}get sceneObjs(){return this._sceneObjs.values()}get sceneObjCreatedEvent(){return this._sceneObjCreatedEvent}get sceneObjToDestroyEvent(){return this._sceneObjToDestroyEvent}get refsManager(){return this._refsManager}get $refs(){return this._refsManager.refs}register(t,n,i){return this._esObjConstructors.has(t)&&console.warn(`register warn: ${t} has registered ! will be override!`),this._esObjConstructors.set(t,n),i&&ci(n,"__sceneObjExtraInfo",i),t}_addSceneObject(t){this._sceneObjs.set(t.id,t),this._sceneObjCreatedEvent.emit(t),t.d(()=>this._deleteSceneObject(t))}addSceneObject(t){this._addSceneObject(t)}_deleteSceneObject(t){this._sceneObjToDestroyEvent.emit(t),this._sceneObjs.delete(t.id)}deleteSceneObject(t){this._deleteSceneObject(t)}createSceneObjectFromClass(t,n){if(!n||this._sceneObjs.has(n)){const s=qo();n&&console.warn(`已存在相同id的对象!id自动变更!${n} -> ${s} 请注意:id变更可能导致引用失效!`),n=s}if(!n)throw new Error("id不能为空!");const i=new t(n);return i.id!==n&&(console.warn(`sceneObj.id(${i.id}) !== id(${n}) sceneObjectType: ${i.typeName}`),console.warn("出现这种问题有可能是自定义的场景对象,没有在构造函数中传递id参数!示例如下:"),console.warn("class XXX extends XXX { constructor(id) { super(id); } }")),this._addSceneObject(i),i}createSceneObject(t,n){if(typeof t=="string"){const i=this._getSceneObjConstructor(t);if(!i){console.warn(`Cannot find SceneObjectType: ${t}`);return}return this.createSceneObjectFromClass(i,n)}else return this.createSceneObjectFromClass(t,n)}createSceneObjectFromUrl(t,n){let i;const s=t.toLowerCase();if(s.includes(".gltf")||s.includes(".glb")?i="ESGltfModel":s.includes("tileset.json")?i="ES3DTileset":s.includes("layer.json")||s.includes("ion://1")?i="ESTerrainLayer":s.includes(".jpg")||s.includes(".png")||s.includes(".jpeg")||s.includes(".webp")||s.includes("image/jpg")||s.includes("image/png")||s.includes("image/jpeg")||s.includes("image/webp")?i="ESImageLabel":(s.includes("/tilemapresource.xml")||s.includes("ion://")||s.includes("wms")||s.includes("wmts")||s.includes("{x}")||s.includes("{y}")||s.includes("{z}"))&&(i="ESImageryLayer"),!!i)return this.createSceneObjectFromJson({type:i,id:n,url:t})}createSceneObjectFromJson(t){const n=this.createSceneObject(t.type,t.id);return n&&(n.json=t),n}destroySceneObject(t){return this._deleteSceneObject(t),t.destroy(),t.isDestroyed()}getSceneObjectById(t){return this._sceneObjs.get(t)}getSceneObject(t){if(!t&&t!="")return Array.from(this._sceneObjs.values());if(t.startsWith("ES")){const n=[];for(const i of this._sceneObjs.values())i.typeName===t&&n.push(i);return n}else return this._sceneObjs.get(t)}_getSceneObjConstructor(t){const n=this._esObjConstructors.get(t);if(n)return n}getProps(t){const n=this._getSceneObjConstructor(t);if(!n){console.warn(`cannot get constructor from type: ${t}`);return}return Wn(n,"__sceneObjExtraInfo")}setProps(t,n){const i=this._getSceneObjConstructor(t);if(!i){console.warn(`cannot get constructor from type: ${t}`);return}let s=Wn(i,"__sceneObjExtraInfo");s||(s={},ci(i,"__sceneObjExtraInfo",s)),Object.assign(s,n)}getProp(t,n){const i=this.getProps(t);return i&&i[n]}setProp(t,n,i){this.setProps(t,{[n]:i})}get environmentVariables(){return this._environmentVariables}set environmentVariables(t){for(let[n,i]of Object.entries(t))this.setEnv(n,i)}get environmentVariablesChanged(){return this._environmentVariablesChanged}setEnv(t,n){if(this._environmentVariables[t]!==n){const i=this._environmentVariables[t];this._environmentVariables[t]=n,this._environmentVariablesChanged.emit(t,n,i)}globalThis.ESSDK_ENV={...this._environmentVariables}}getEnv(t){return this._environmentVariables[t]}getStrFromEnv(t){return Sg(t)}createEnvStrReact(t,n){return Cg(t,n)}createEvnStrReact(t,n){return Cg(t,n)}}const yt=class yt extends V{constructor(t){super();d(this,"_components",this.dv(new zl));d(this,"_viewerAttached",this.dv(new N));d(this,"_viewerDetached",this.dv(new N));d(this,"_attachedViewers",(()=>{const t=new Set;return this.d(this._viewerAttached.don(n=>{n.actived&&(this.activeViewer=n),n.ad(n.activedChanged.don(i=>{i&&t.has(n)&&(this.activeViewer=n)})),t.add(n)})),this.d(this._viewerDetached.don(n=>{t.delete(n),this.activeViewer==n&&(this.activeViewer=void 0)})),t})());d(this,"_activeViewer",this.disposeVar(B(void 0)));d(this,"_createdEvent",this.dv(new N));d(this,"_flushEvent",this.dv(new N));d(this,"_id");d(this,"_updateFuncReact",this.dv(B(void 0)));d(this,"_toDestroyFuncReact",this.dv(B(void 0)));d(this,"_parentID");t!==void 0&&(typeof t!="string"?console.warn(`对象id必须是字符串类型,当前id的类型是${typeof t},值为${t}`):t.trim()===""?console.warn("场景对象创建时的id不能是空字符串!"):t.trim()!==t&&console.warn(`id前后有空字符串!id: ${t}`)),this._id=t??qo(),this._initName();{const n=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(i){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`)}};n(),this.d(this.execOnceFuncStrChanged.don(n))}{const n=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};n(),this.d(this.updateFuncStrChanged.don(n));let i;this.d(()=>i&&i.destroy()),this.d(this.updateFuncChanged.don(()=>{i&&i.cancel(),this.updateFunc&&(i=i||Iu(),i.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const n=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(i){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`),this.toDestroyFunc=void 0}};n(),this.d(this.toDestroyFuncStrChanged.don(n)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}static getParentClass(){return Object.getPrototypeOf(this)}static register(t,n,i){ji(n.prototype,n.createDefaultProps);const s=n.createDefaultProps();n.defaults&&(n.defaults={});for(const o of Object.keys(s))n.defaults[o]=s[o]instanceof je?s[o].value:s[o];return this.innerRegister(t,n,i),t}static get envs(){return yt.context.environmentVariables}static get $refs(){return yt.context.refsManager.refs}get components(){return this._components}get viewerAttached(){return this._viewerAttached}get viewerDetached(){return this._viewerDetached}get attachedViewers(){return this._attachedViewers}get activeViewer(){return this._activeViewer.value}set activeViewer(t){this._activeViewer.value=t}get activeViewerChanged(){return this._activeViewer.changed}removefromViewer(t){this.attachedViewers.has(t)&&t.delete(this)}addToViewer(t){this.attachedViewers.has(t)||t.add(this)}registerAttachedObject(t){const n=new Map;this.d(()=>{n.size>0&&console.warn("viewerPropSceneObjects.size > 0")}),this.d(this._viewerAttached.don(i=>{const s=t(i);s&&n.set(i,s)})),this.d(this._viewerDetached.don(i=>{if(!n.has(i))return;const s=n.get(i);s&&(s.destroy(),n.delete(i))}))}createAttachedObject(t){const n=new Map,i=()=>{for(let[u,l]of n.entries())l.destroy();n.clear()},s=u=>{const l=t(u);l&&n.set(u,l)};for(let u of this.attachedViewers)s(u);const o=this._viewerAttached.don(s),a=this._viewerDetached.don(u=>{if(!n.has(u))return;const l=n.get(u);l&&(l.destroy(),n.delete(u))});return()=>{a(),o(),i()}}registerAttachedObjectForContainer(t){this.registerAttachedObject(n=>new F0(n,t))}get createdEvent(){return this._createdEvent}get flushEvent(){return this._flushEvent}flush(){this.flushEvent.emit()}get id(){return this._id}get typeName(){return this.constructor.type}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return this.constructor.createDefaultProps()}_innerGetJson(t=!0){const n={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let s,o=this.defaultProps[i];o instanceof je?s=o.equals(this[i]):s=o===this[i],s||(n[i]=this[i])}else n[i]=this[i];return n}_innerSetJson(t,n,i){if(!(t instanceof Object)||t.type&&t.type!==this.typeName){console.error(`value.type && value.type${t.type} !== this.typeName${this.typeName}`);return}t.id&&t.id!==this.id&&console.warn(`value.id === undefined || value.id${t.id} !== this.id(${this.id})`);const s=n||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof je&&(u=u.value),this[a]=u}}get completeJson(){return this._innerGetJson(!1)}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get _jsonStr(){return JSON.stringify(this.json,null,4)}set _jsonStr(t){this._innerSetJson(JSON.parse(t))}get updateFunc(){return this._updateFuncReact.value}set updateFunc(t){this._updateFuncReact.value=t}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(t){this._toDestroyFuncReact.value=t}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get parentID(){return this._parentID??this.id}set parentID(t){this._parentID=t}getProperties(t){const n={...this.getESProperties()},i=[];return n.general.length>0&&i.push(new ut(n.general,"general")),Object.keys(n).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&n[s].length>0&&i.push(new ut(n[s],s))}),i}getESProperties(){return{defaultMenu:"general",basic:[],general:[new pt([this,"typeName"],"类型",void 0,!1,!0),new pt([this,"id"],"唯一标识",void 0,!1,!0),new pt([this,"name"],"名称")],dataSource:[],location:[],coordinate:[],style:[],more:[new pt([this,"ref"],"ref",void 0,!0),new it([this,"extras"],"extras",void 0,void 0,!0),new Tg(()=>this._jsonStr,t=>t&&(this._jsonStr=t),"JSON")]}}};d(yt,"context",new L0),d(yt,"innerRegister",yt.context.register.bind(yt.context)),d(yt,"defaults",{}),d(yt,"createDefaultProps",()=>({name:"未命名场景对象",ref:void 0,extras:_t(void 0),devTags:ne(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})),d(yt,"type",yt.register("ESSceneObject",yt,{chsName:"场景类",tags:["ESObjects"],description:""})),d(yt,"create",yt.context.createSceneObject.bind(yt.context)),d(yt,"createFromUrl",yt.context.createSceneObjectFromUrl.bind(yt.context)),d(yt,"createFromClass",yt.context.createSceneObjectFromClass.bind(yt.context)),d(yt,"createFromJson",yt.context.createSceneObjectFromJson.bind(yt.context)),d(yt,"destroySceneObject",yt.context.destroySceneObject.bind(yt.context)),d(yt,"getSceneObjById",yt.context.getSceneObjectById.bind(yt.context)),d(yt,"getSceneObj",yt.context.getSceneObject.bind(yt.context)),d(yt,"getEnv",yt.context.getEnv.bind(yt.context)),d(yt,"setEnv",yt.context.setEnv.bind(yt.context)),d(yt,"getStrFromEnv",yt.context.getStrFromEnv.bind(yt.context)),d(yt,"getSceneObjectById",yt.context.getSceneObjectById.bind(yt.context)),d(yt,"getSceneObject",yt.context.getSceneObject.bind(yt.context));let rt=yt;class F0 extends V{constructor(e,t){super(),this.dv(new we(e.subContainerChanged,()=>{if(e.subContainer)return t(e,e.subContainer)}))}}const Zc=class Zc extends V{constructor(t,n){super();d(this,"_id",++Zc._accumId);this._name=t,this._description=n}get id(){return this._id}get name(){return this._name}get description(){return this._description}};d(Zc,"_accumId",-1);let vs=Zc;class kh extends vs{constructor(e,t,n,i,s){super(e,t),this._withUndefined=n,this._readonly=i,this._defaultValue=s}get withUndefined(){return this._withUndefined}get readonly(){return this._readonly}get defaultValue(){return this._defaultValue instanceof Function?this._defaultValue():this._defaultValue}}class xt extends kh{constructor(e,t,n,i,s,o){const a=e instanceof je?"未获取到属性名":e[1].toString();super(t??a,o??a,i??!1,s??!1,n),this._reactVar=e}get reactVar(){return this._reactVar}}class X extends xt{get type(){return"BooleanProperty"}}class pt extends xt{get type(){return"StringProperty"}}class M extends xt{get type(){return"NumberProperty"}}class A0 extends xt{get type(){return"MaximumScreenSpaceErrorProperty"}}class bg extends xt{get type(){return"StringsProperty"}}class k0 extends xt{get type(){return"NumbersProperty"}}class V0 extends xt{get type(){return"BooleansProperty"}}class B0 extends xt{get type(){return"String2Property"}}class j0 extends xt{get type(){return"String3Property"}}class z0 extends xt{get type(){return"String4Property"}}class Pg extends xt{get type(){return"String2sProperty"}}class U0 extends xt{get type(){return"String3sProperty"}}class G0 extends xt{get type(){return"String4sProperty"}}class Fe extends xt{get type(){return"Number2Property"}}class un extends xt{get type(){return"Number3Property"}}class Rr extends xt{get type(){return"Number4Property"}}class W0 extends xt{get type(){return"Number4WithUndefinedProperty"}}class Ig extends xt{get type(){return"Number2sProperty"}}class Vh extends xt{get type(){return"Number3sProperty"}}class H0 extends xt{get type(){return"Number4sProperty"}}class q0 extends xt{get type(){return"Boolean2Property"}}class X0 extends xt{get type(){return"Boolean3Property"}}class Y0 extends xt{get type(){return"Boolean4Property"}}class J0 extends xt{get type(){return"Boolean2sProperty"}}class $0 extends xt{get type(){return"Boolean3sProperty"}}class K0 extends xt{get type(){return"Boolean4sProperty"}}class Z0 extends xt{get type(){return"StringNumberProperty"}}class Q0 extends xt{get type(){return"StringNumbersProperty"}}class Dt extends Rr{get type(){return"ColorProperty"}}class tw extends un{get type(){return"ColorRgbProperty"}}class ew extends M{get type(){return"DashPatternProperty"}}class bt extends xt{constructor(e,t,n,i,s,o,a){super(e,n,i,s,o,a),this._enums=t}get type(){return"EnumProperty"}get enums(){return this._enums}}class nw extends xt{constructor(e,t,n,i,s,o,a){super(e,n,i,s,o,a),this._enums=t}get type(){return"EnumStringsProperty"}get enums(){return this._enums}}class ys extends xt{constructor(e,t,n,i,s,o,a){super(e,t,n,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"EvalStringProperty"}}class xg extends xt{constructor(e,t,n,i,s){super(e,t,i,!1,!1,s),this._paramTypes=n}get type(){return"ParamsProperty"}get paramTypes(){return this._paramTypes}}class lt extends vs{constructor(t,n,i,s,o){const a=s??"Unnamed Function";super(a,o??a);d(this,"_paramsProperty");d(this,"_getValueFunc");this._func=n;const u=this.disposeVar(_t(i));this._paramsProperty=this.disposeVar(new xg(u,a+"_params",t,i));const[l]=Vi(this._paramsProperty.reactVar);this._getValueFunc=l}get paramsProperty(){return this._paramsProperty}exec(){this._func(...this._getValueFunc())}get type(){return"FunctionProperty"}}class ut extends vs{constructor(e,t,n){const i=t??"分组";super(i,n??i),this._children=e}get type(){return"GroupProperty"}get children(){return this._children}}class it extends xt{constructor(e,t,n,i,s,o,a){super(e,t,n,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"JsonProperty"}}class Bh extends xt{constructor(e,t,n,i,s,o,a){super(e,t,n,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"LongStringProperty"}}class rw extends Fe{get type(){return"MinmaxProperty"}}class iw extends Rr{get type(){return"NearFarScalerProperty"}}class Tg extends kh{constructor(e,t,n,i,s,o,a){const u=n??"非响应式Json";super(u,a??u,s??!1,o??!1,i),this._getJsonStringFunc=e,this._setJsonStringFunc=t}get type(){return"NonreactiveJsonStringProperty"}get getJsonStringFunc(){return this._getJsonStringFunc}get setJsonStringFunc(){return this._setJsonStringFunc}}class sw extends Fe{get type(){return"NumberRangeProperty"}}class ze extends xt{constructor(e,t,n,i,s,o,a,u){super(e,i,s,o,a,u),this._step=t,this._minMax=n}get type(){return"NumberSliderProperty"}get minMax(){return this._minMax}get step(){return this._step}}function ow(r,e){const[t,n,i]=Vi(r),[s,o,a]=Vi(e),u=B((t()??0)/(s()??3e3)),l=()=>{const c=u.value,h=s()??3e3,f=t()??0;if(!Number.isFinite(h)||!Number.isFinite(f)){console.warn(`duration || currentTime error: duration: ${h} currentTime: ${f}`);return}Math.abs(c*h-f)<.001||(h<=0?u.value=0:u.value=f/h)};return u.dispose(i.disposableOn(l)),u.dispose(a.disposableOn(l)),u.dispose(u.changed.disposableOn(()=>{const c=u.value,h=s()??3e3,f=t()??0;if(!Number.isFinite(h)||!Number.isFinite(f)){console.warn(`duration || currentTime error: duration: ${h} currentTime: ${f}`);return}Math.abs(c*h-f)<.001||n(c*h)})),u}class Ul extends vs{constructor(t,n,i,s,o,a){super(s??"播放器",a??"播放器");d(this,"_defaults",{playing:!1,ratio:0,loop:!1});this._playingReact=t,this._ratioReact=n,this._loopReact=i,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.ratio=o.ratio??this._defaults.ratio,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"PlayerProperty"}get playingReact(){return this._playingReact}get ratioReact(){return this._ratioReact}get loopReact(){return this._loopReact}get defaults(){return this._defaults}}d(Ul,"createPlayingRatio",ow);class ea extends un{get type(){return"PositionProperty"}}class Ng extends xt{get type(){return"PositionsProperty"}}class aw extends xt{get type(){return"PositionsSetPropety"}}class jh extends un{get type(){return"RotationProperty"}}class Mu extends pt{get type(){return"UriProperty"}}class Og extends vs{constructor(t,n,i,s,o,a){const u=s??"视角播放器";super(u,a??u);d(this,"_defaults",{playing:!1,loop:!1});this._playingReact=t,this._stopFn=n,this._loopReact=i,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"ViewPlayerProperty"}get playingReact(){return this._playingReact}get loopReact(){return this._loopReact}get stopFn(){return this._stopFn}get defaults(){return this._defaults}}class Dg extends xt{get type(){return"DatesProperty"}}class eo extends xt{get type(){return"DateProperty"}}var et=(r=>(r.Place="place",r.Translation="translation",r.Rotation="rotation",r.Scale="scale",r.DoublePointsAppend="doublePointsAppend",r.DoublePointsModify="doublePointsModify",r.CircularAppend="circularAppend",r.CircularInsert="circularInsert",r.LineStringAppend="lineStringAppend",r.LineStringInsert="lineStringInsert",r.ScatterAppend="scatterAppend",r.ScatterModify="scatterModify",r.VisibilityAppend="visibilityAppend",r.VisibilityModify="visibilityModify",r.HeightModify="heightModify",r))(et||{}),Mg=(r=>(r.DECIMAL_DEGREE="DECIMAL_DEGREE",r.DEGREES_DECIMAL_MINUTES="DEGREES_DECIMAL_MINUTES",r.SEXAGESIMAL_DEGREE="SEXAGESIMAL_DEGREE",r))(Mg||{});class uw{constructor(e){this.childPickedInfo=e}}class lw{constructor(e,t,n,i,s,o){this.pickResult=e,this.sceneObject=t,this.tilesetPickInfo=n,this.geojsonPickInfo=i,this.attachedInfo=s,this.screenPosition=o}assign(e){e!=null&&e.pickedResult&&(this.pickResult=e.pickedResult),e!=null&&e.sceneObject&&(this.sceneObject=e.sceneObject),e!=null&&e.tilesetPickInfo&&(this.tilesetPickInfo=e.tilesetPickInfo),e!=null&&e.geojsonPickInfo&&(this.geojsonPickInfo=e.geojsonPickInfo),e!=null&&e.attachedInfo&&(this.attachedInfo=e.attachedInfo),e!=null&&e.screenPosition&&(this.screenPosition=e.screenPosition)}}const ye=class ye extends rt{constructor(t){super(t);d(this,"_editing",this.dv(B(!1)));d(this,"editingID");d(this,"editingBindMode","singlePoint");d(this,"_deprecated",[]);d(this,"_flyInEvent",this.dv(new N));d(this,"_flyToEvent",this.dv(new N));d(this,"_flyOverEvent",this.disposeVar(new N));d(this,"_pickedEvent",this.dv(new N));d(this,"_calcFlyToParamEvent",this.dv(new N));d(this,"_calcFlyInParamEvent",this.dv(new N));d(this,"useCalcFlyToParamInESObjectWithLocation",!1);kg(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(t){this._editing.value=t}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const t=this._deprecated;for(let n=0;n<t.length;n++){const i=t[n];typeof i=="string"?Reflect.has(this,i+"Changed")&&this.d(this[i+"Changed"].don(()=>{console.warn(`注意:${this.typeName} 的 ${i} 属性下版本将会被移除!`)})):Object.keys(i).forEach(s=>{Reflect.has(this,s+"Changed")&&this.d(this[s+"Changed"].don(a=>{const u=i[s];typeof u=="string"?console.warn(`注意:${this.typeName} 的 ${s} 属性下版本将会被移除!`):Object.keys(u).forEach(l=>{a===l&&console.warn(`注意:${this.typeName} 的 ${s} 属性值 ${l} 下版本将会被移除,推荐使用属性值 ${u[l]}`)})}))})}}get flyInEvent(){return this._flyInEvent}flyIn(t=1){this._flyInEvent.emit(t,ye._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(t=1){this._flyToEvent.emit(t,ye._lastFlyToId)}get flyOverEvent(){return this._flyOverEvent}get pickedEvent(){return this._pickedEvent}get calcFlyToParamEvent(){return this._calcFlyToParamEvent}calcFlyToParam(){this._calcFlyToParamEvent.emit()}get calcFlyInParamEvent(){return this._calcFlyInParamEvent}calcFlyInParam(){this._calcFlyInParamEvent.emit()}emptyFlyToParam(){this.flyToParam=void 0}emptyFlyInParam(){this.flyInParam=void 0}async getBoundSphere(t){return await t.getBoundSphere(this.id)}getESProperties(){const t={...super.getESProperties()};return{...t,general:[...t.general,new X([this,"show"],"是否显示",ye.defaults.show),new X([this,"collision"],"开启碰撞",ye.defaults.collision),new X([this,"allowPicking"],"允许拾取",ye.defaults.allowPicking),new lt([],()=>this.calcFlyToParam(),[],"保存观察视角","保存当前flyToParam"),new lt([],()=>this.emptyFlyToParam(),[],"清空飞向参数","清空飞向参数"),new lt([],()=>this.emptyFlyInParam(),[],"清空飞入参数","清空飞入参数"),new lt([],()=>this.calcFlyInParam(),[],"保存飞入参数","保存飞入参数flyInParam")],more:[...t.more,new ut([],"飞行定位","飞向参数"),new lt(["number"],n=>this.flyTo(n),[1],"飞向"),new it([this,"flyToParam"],"flyToParam",void 0,void 0,!0),new M([this,"flyToDistance"],"flyToDistance",void 0,!0),new M([this,"flyToHeading"],"flyToHeading",void 0,!0),new M([this,"flyToPitch"],"flyToPitch",void 0,!0),new M([this,"flyToFlyDuration"],"flyToFlyDuration",void 0,!0),new M([this,"flyToHDelta"],"flyToHDelta",void 0,!0),new M([this,"flyToPDelta"],"flyToPDelta",void 0,!0),new ut([],"飞入参数"),new lt(["number"],n=>this.flyIn(n),[1],"飞入"),new it([this,"flyInParam"],"flyInParam",void 0,void 0,!0)]}}get flyToDistance(){return this.flyToParam&&this.flyToParam.distance}get flyToHeading(){return this.flyToParam&&this.flyToParam.heading}get flyToPitch(){return this.flyToParam&&this.flyToParam.pitch}get flyToFlyDuration(){return this.flyToParam&&this.flyToParam.flyDuration}get flyToHDelta(){return this.flyToParam&&this.flyToParam.hDelta}get flyToPDelta(){return this.flyToParam&&this.flyToParam.pDelta}get flyToDistanceChanged(){return this.flyToParamChanged}get flyToHeadingChanged(){return this.flyToParamChanged}get flyToPitchChanged(){return this.flyToParamChanged}get flyToFlyDurationChanged(){return this.flyToParamChanged}get flyToHDeltaChanged(){return this.flyToParamChanged}get flyToPDeltaChanged(){return this.flyToParamChanged}set flyToDistance(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,distance:t}:void 0}set flyToHeading(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,heading:t}:void 0}set flyToPitch(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,pitch:t}:void 0}set flyToFlyDuration(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,flyDuration:t}:void 0}set flyToHDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,hDelta:t}:void 0}set flyToPDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??ye.defaultFlyToParam,pDelta:t}:void 0}};d(ye,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:Zt(void 0),flyInParam:Zt(void 0)})),d(ye,"type",ye.register("ESVisualObject",ye,{chsName:"可视化对象",tags:["ESObjects"],description:"可视化对象"})),d(ye,"supportEditingModes",[]),d(ye,"defaultFlyToParam",{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0}),d(ye,"defaultFlyInParam",{position:[0,0,0],rotation:[0,0,0],flyDuration:1}),d(ye,"_lastFlyInId",0),d(ye,"_lastFlyToId",0);let Wt=ye;class Rg extends V{constructor(){super();d(this,"_data",this.dv(B(void 0)))}set data(t){this._data.value=t}get data(){return this._data.value}get dataChanged(){return this._data.changed}}class Lg extends V{constructor(){super(...arguments);d(this,"_dragStartEvent",this.dv(new N));d(this,"_dragOverEvent",this.dv(new N));d(this,"_dragLeaveEvent",this.dv(new N));d(this,"_dropEvent",this.dv(new N))}dragStart(t){this._dragStartEvent.emit(t)}dragOver(t){this._dragOverEvent.emit(t)}dragLeave(t){this._dragLeaveEvent.emit(t)}drop(t){this._dropEvent.emit(t)}}function cw(r,e){e&&(Reflect.has(e,"editing")?e.editing=!0:Reflect.has(e,"positionEditing")&&(e.positionEditing=!0))}function hw(r){["Czm3DTiles","View","ESCameraView","OlView","GeoCameraController"].includes(r.typeName)||(Reflect.has(r,"editing")?r.editing=!0:Reflect.has(r,"positionEditing")&&(r.positionEditing=!0)),typeof r.execOnCreating=="function"&&r.execOnCreating()}function Gl(r,e){Wn(r,"__treeItem")&&console.error("setSceneObjectTreeItem error!"),ci(r,"__treeItem",e)}function dw(r){return Wn(r,"__treeItem")}function fw(r){if(!(r.startsWith("./")||r.startsWith("../")||r.startsWith("/")))return r;const e=document.createElement("a");e.href=r;const t=e.href;return e.remove(),t}function zh(r){if(typeof r!="string")return!1;try{const e=JSON.parse(r);return typeof e=="object"&&e!==null}catch{return!1}}function pw(r){try{return new DOMParser().parseFromString(r,"application/xml").getElementsByTagName("parsererror").length===0}catch{return!1}}function gw(r){return r instanceof Function?r():r}function Fg(r,e){for(let t of r)if(e.includes(t))return!0;return!1}function Gi(r,e){const t=r,n=e;return t===void 0||t.length===0||n===void 0||n.length===0?!0:Fg(t,n)}function mw(r){const e=setTimeout(()=>{r(),clearTimeout(e)})}function na(r){let e=r%360;return e=e<0?360+e:e,e}function Ag(r){return na(r+180)-180}function Wl(r,e,t){let n=na(r),i=na(e);Math.abs(n-i)>180&&(n<i?n+=360:i+=360);const s=n*(1-t)+i*t;return Ag(s)}function Uh(r,e,t,n){return n=n||[0,0,0],n[0]=Wl(r[0],e[0],t),n[1]=Wl(r[1],e[1],t),n[2]=Wl(r[2],e[2],t),n}function kg(r,e,t="editing"){const n=new V;r.ad(n);const i=e.bind(r);return n.ad(new we(r.activeViewerChanged,()=>{const s=new V;let o=r.activeViewer;return o?(s.ad(r[`${t}Changed`].don(()=>{var a;r[`${t}`]?i():(a=(r.components.main??r).editingID)!=null&&a.includes("inner")&&r.activeViewer&&r.activeViewer.stopEditing()})),s.ad(o.editingEvent.don(a=>{if(a.objectIDs.includes(r.id)&&a.type==="end"){const u=r.components.main??r;u.editingID&&a.editingID.includes(u.editingID)?r[`${t}`]=!1:r[`${t}`]=!u.editingID.includes("outer")}}))):s.ad(r[`${t}Changed`].don(()=>{r[`${t}`]=!1})),s})),r[`${t}`]&&i(),n}function vw(r){var t;const e=((t=r.type)==null?void 0:t.toLowerCase())??"";switch(e){case"geometrycollection":return yw(r);case"topology":const n=r.objects,i=[];for(const s in n){const o=Yy.feature(r,n[s]);i.push(...o.features)}return{type:"FeatureCollection",features:i};case"feature":return{type:"FeatureCollection",features:[r]};case"featurecollection":return r;case"":default:return console.warn(`GeoJson数据转换可能有误,数据类型${e}`),{type:"FeatureCollection",features:Array.isArray(r.features)?r.features:[]}}}function yw(r,e){const t=[],n=r.geometries||[];function i(s,o={}){!s||!s.type||(s.type==="GeometryCollection"&&Array.isArray(s.geometries)?s.geometries.forEach(a=>i(a,o)):t.push({type:"Feature",geometry:s,properties:{...s.properties||{},...o}}))}return n.forEach(s=>i(s,{})),{type:"FeatureCollection",features:t}}function _w(r){const e=r.cloneNode(!0);e.style.position="fixed",e.style.visibility="hidden",e.style.pointerEvents="none",e.style.top="0",e.style.left="0",e.style.display="inline-block",document.body.appendChild(e);const t=e.getBoundingClientRect();return document.body.removeChild(e),{x:t.x,y:t.y,width:t.width,height:t.height}}class Gh extends V{constructor(t){super();d(this,"_sceneObject",this.dv(B(void 0)));this._id=t,this.d(()=>{this._sceneObject.value=void 0});const n=rt.getSceneObjById(this._id);n&&(this._sceneObject.value=n),this.d(rt.context.sceneObjCreatedEvent.don(i=>{i.id===this._id&&(this._sceneObject.value=i)})),this.d(rt.context.sceneObjToDestroyEvent.don(i=>{i.id===this._id&&(this._sceneObject.value=void 0)}))}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}get id(){return this._id}}class ww extends V{constructor(t,n){super();d(this,"_sofi");this._id=t,this._sofi=this.dv(new Gh(this._id));{const i=()=>{n.sceneObject=this._sofi.sceneObject};i(),this.d(this._sofi.sceneObjectChanged.don(i))}}}class Vg extends V{constructor(){super();d(this,"_id",this.dv(B(void 0)));d(this,"_sceneObject",this.dv(B(void 0)));d(this,"_resetting",this.dv(new we(this.idChanged,()=>{const{id:t}=this;if(t===void 0||t===""){this.sceneObject=void 0;return}return new ww(t,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(t){this._id.value=t}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(t){this._sceneObject.value=t}get resetting(){return this._resetting}}class Ew extends V{constructor(t,n,i,s){super();d(this,"_sceneObjectId",this.dv(new Vg));this._id=t,this._startTimeStamp=n,this._duration=i,this._parent=s,this._sceneObjectId.id=this._id;const o=()=>{if(!this.player)return;const{currentTime:a=0}=this._parent,u=a-this._startTimeStamp;this.player.currentTime=Al(u,0,this._duration)*(this.player.speed??1)};o(),this.d(this._parent.currentTimeChanged.don(o)),this.d(this.playerChanged.don(o))}get player(){return this._sceneObjectId.sceneObject instanceof Lr?this._sceneObjectId.sceneObject:void 0}get playerChanged(){return this._sceneObjectId.sceneObjectChanged}}const Cw=`
24
24
  用来配置子播放器,它是一个数组形式,数组的每个元素仍然是一个数组,形式是[子播放器的ID, 起始时间, 持续时间]。
25
25
  注意时间的单位是毫秒。
26
26
  示例如下:
@@ -38,10 +38,10 @@ ${u.map(c=>`${c.id} ${c.typeName}
38
38
  ]
39
39
  ]
40
40
  \`\`\`
41
- `,sn=class sn extends B{constructor(){super();d(this,"_ratio",this.dv(V(0)));d(this,"_subPlayers",this.dv(new bu));const t=this.dv(new Bl);{const o=()=>{t.loop=this.loop??sn.defaults.loop};o(),this.d(this.loopChanged.don(o))}{const o=()=>{(this.loop??sn.defaults.loop)!==t.loop&&(this.loop=t.loop)};o(),this.d(t.loopChangedEvent.don(o))}{const o=()=>{t.currentTime=this.currentTime??sn.defaults.currentTime};o(),this.d(this.currentTimeChanged.don(o))}{const o=()=>{(this.currentTime??sn.defaults.currentTime)!==t.currentTime&&(this.currentTime=t.currentTime)};o(),this.d(t.currentTimeChangedEvent.don(o))}{const o=()=>{t.duration=this.duration??sn.defaults.duration};o(),this.d(this.durationChanged.don(o))}{const o=()=>{(this.duration??sn.defaults.duration)!==t.duration&&(this.duration=t.duration)};o(),this.d(t.durationChangedEvent.don(o))}{const o=()=>{t.speed=this.speed??sn.defaults.speed};o(),this.d(this.speedChanged.don(o))}{const o=()=>{(this.speed??sn.defaults.speed)!==t.speed&&(this.speed=t.speed)};o(),this.d(t.speedChangedEvent.don(o))}{const o=()=>{t.playing=this.playing??sn.defaults.playing};o(),this.d(this.playingChanged.don(o))}{const o=()=>{(this.playing??sn.defaults.playing)!==t.playing&&(this.playing=t.playing)};o(),this.d(t.playingChangedEvent.don(o))}const n=()=>{const o=this.duration??sn.defaults.duration;o>0&&(this._ratio.value=(this.currentTime??sn.defaults.currentTime)/o)};n();const i=this.dv(Pe(this.currentTimeChanged,this.durationChanged));this.d(i.don(n)),this.d(()=>{const{length:o}=this._subPlayers;for(let a=0;a<o;++a)this._subPlayers.get(a).destroy();this._subPlayers.length=0});const s=()=>{for(let a of this._subPlayers)a.destroy();if(this._subPlayers.length=0,!this.channels)return;const o=this.channels.map(a=>{const[u,l,c]=a;return new _w(u,l,c,this)});this._subPlayers.splice(0,0,...o)};s(),this.d(this.channelsChanged.don(s))}get ratio(){return this._ratio.value}set ratio(t){Math.abs(this._ratio.value-t)<.001||(this.currentTime=(this.duration??sn.defaults.duration)*t)}get ratioChanged(){return this._ratio.changed}};d(sn,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),d(sn,"channelsReadMe",ww);let Lr=sn;(r=>{r.createDefaultProps=()=>({loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:ps(void 0,(e,t)=>e==null?void 0:e.every((n,i)=>n===t[i]),e=>[...e])})})(Lr||(Lr={})),ji(Lr.prototype,Lr.createDefaultProps);class Ew extends B{constructor(e,t,n,i){super(),this.disposeVar(new we(e.sceneObjectChanged,()=>{let s;i.debug&&console.log("正在获取Event事件...");const o=e.sceneObject;if(o&&t){const a=t.split(".");if(a.length===0)i.debug&&console.warn("propNames.length === 0");else{let u=dh(o,!1,...a);(!u||!(u instanceof N))&&(a[a.length-1]=a[a.length-1]+"Changed",i.debug&&console.warn(`event未能获取,那么将属性名的最后一项加上Changed(${a[a.length-1]})再试试!`),u=dh(o,!1,...a),i.debug&&u&&console.warn("event仍然获取不到!")),u?u instanceof N?(s=u,i.debug&&console.log(`Event获取成功 propChangedName: ${t}`,s)):i.debug&&console.warn(`the prop is not event from ${o.id}-${o.name}-${o.ref}-${t}`):i.debug&&console.warn(`cannot get changed from ${o.id}-${o.name}-${o.ref}-${t}`)}}if(s){const a=new B;return a.d(s.dwon(()=>n.emit())),a}else{i.debug&&console.log(`未获取到Event!propChangedName: ${t}`);return}}))}}const Bg=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:class extends B{constructor(t,n,i){super();d(this,"_doEvalEvent",this.dv(new N));const s=this._doEvalEvent,o=this.disposeVar(Pe(s)),a=t.map(([u,l])=>{const c=new Gh(u),h=l&&new Ew(c,l,s,n)||void 0;return[c,h]});this.d(()=>{a.forEach(([u,l])=>{l==null||l.destroy(),u.destroy()}),a.length=0}),this.d(s.don(()=>{const{evalMode:u="NextAnimateFrame",evalOnlyWhenObjsAllExist:l=!0}=n;if(u==="Immediate"){const c=a.map(([h])=>h.sceneObject);(!l||c.every(h=>h!==void 0))&&i(c)}})),this.d(o.don(()=>{const{evalMode:u="NextAnimateFrame",evalOnlyWhenObjsAllExist:l=!0}=n;if(u==="NextAnimateFrame"){const c=a.map(([h])=>h.sceneObject);(!l||c.every(h=>h!==void 0))&&i(c)}}))}forceExecute(){this._doEvalEvent.emit()}}},Symbol.toStringTag,{value:"Module"})),{WatcherObjects:Cw}=Bg;class Ru extends B{constructor(){super();d(this,"_evalFunc");d(this,"_forceExecute",new N);const t=this.dv(V(void 0)),n=()=>{try{t.value=this.evalFuncStr&&Function('"use strict";return ('+this.evalFuncStr+")")(),this.debug&&console.log("evalFunc成功构建",t.value)}catch(o){console.error(`evalFunc get error! ${o}`),t.value=void 0}};n(),this.dispose(this.evalFuncStrChanged.disposableOn(n));const i=o=>{this.enabled&&(this.debug&&console.log("执行evalFunc..."),this._evalFunc&&this._evalFunc(o),t.value&&t.value(o))},s=this.disposeVar(new we(this.objIdAndPropChangedNamesChanged,()=>{if(this.objIdAndPropChangedNames.length>0)return this.debug&&console.log("监视对象发生变化,重新创建WatcherObjects"),new Cw(this.objIdAndPropChangedNames,this,i)}));this.dispose(this._forceExecute.disposableOn(()=>{var o;(o=s.obj)==null||o.forceExecute()}))}get evalFunc(){return this._evalFunc}set evalFunc(t){this._evalFunc=t}forceExecute(){this._forceExecute.emit()}}(r=>{r.createDefaultProps=()=>({enabled:!1,objIdAndPropChangedNames:Il([],(e,t)=>e[0]===t[0]&&e[1]===t[1],e=>[e[0],e[1]]),evalFuncStr:"",evalMode:"NextAnimateFrame",evalOnlyWhenObjsAllExist:!0,debug:!1,name:"未命名场景对象",ref:void 0,extras:_t(void 0),devTags:ne(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(Ru||(Ru={})),ji(Ru.prototype,Ru.createDefaultProps);const jg=dp("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=geocent +datum=WGS84");function Fr(r){return jg.forward(r)}function Wh(r){return jg.inverse(r)}const zg=dp("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs +type=crs");function Sw(r){const e=zg.forward([r[0],r[1]]);return[e[0],e[1],r[2]]}function bw(r){const e=zg.inverse([r[0],r[1]]);return[e[0],e[1],r[2]]}function Pw(r,e){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1])&&r.push(r[0]);const t=Ke.point(e),n=Ke.polygon([r]);return Ke.booleanPointInPolygon(t,n)}var Ze=63710088e-1,Ug={centimeters:Ze*100,centimetres:Ze*100,degrees:Ze/111325,feet:Ze*3.28084,inches:Ze*39.37,kilometers:Ze/1e3,kilometres:Ze/1e3,meters:Ze,metres:Ze,miles:Ze/1609.344,millimeters:Ze*1e3,millimetres:Ze*1e3,nauticalmiles:Ze/1852,radians:1,yards:Ze*1.0936};function Ar(r,e,t){t===void 0&&(t={});var n={type:"Feature"};return(t.id===0||t.id)&&(n.id=t.id),t.bbox&&(n.bbox=t.bbox),n.properties=e||{},n.geometry=r,n}function Yt(r,e,t){if(t===void 0&&(t={}),!r)throw new Error("coordinates is required");if(!Array.isArray(r))throw new Error("coordinates must be an Array");if(r.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Gg(r[0])||!Gg(r[1]))throw new Error("coordinates must contain numbers");var n={type:"Point",coordinates:r};return Ar(n,e,t)}function Sn(r,e,t){t===void 0&&(t={});for(var n=0,i=r;n<i.length;n++){var s=i[n];if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var o=0;o<s[s.length-1].length;o++)if(s[s.length-1][o]!==s[0][o])throw new Error("First and last Position are not equivalent.")}var a={type:"Polygon",coordinates:r};return Ar(a,e,t)}function kr(r,e,t){if(t===void 0&&(t={}),r.length<2)throw new Error("coordinates must be an array of two or more positions");var n={type:"LineString",coordinates:r};return Ar(n,e,t)}function ra(r,e){e===void 0&&(e={});var t={type:"FeatureCollection"};return e.id&&(t.id=e.id),e.bbox&&(t.bbox=e.bbox),t.features=r,t}function Hh(r,e,t){t===void 0&&(t={});var n={type:"MultiPolygon",coordinates:r};return Ar(n,e,t)}function qh(r,e){e===void 0&&(e="kilometers");var t=Ug[e];if(!t)throw new Error(e+" units is invalid");return r*t}function Xh(r,e){e===void 0&&(e="kilometers");var t=Ug[e];if(!t)throw new Error(e+" units is invalid");return r/t}function Hl(r){var e=r%(2*Math.PI);return e*180/Math.PI}function ln(r){var e=r%360;return e*Math.PI/180}function Yh(r,e,t){if(e===void 0&&(e="kilometers"),t===void 0&&(t="kilometers"),!(r>=0))throw new Error("length must be a positive number");return qh(Xh(r,e),t)}function Gg(r){return!isNaN(r)&&r!==null&&!Array.isArray(r)}function bn(r){if(!r)throw new Error("coord is required");if(!Array.isArray(r)){if(r.type==="Feature"&&r.geometry!==null&&r.geometry.type==="Point")return r.geometry.coordinates;if(r.type==="Point")return r.coordinates}if(Array.isArray(r)&&r.length>=2&&!Array.isArray(r[0])&&!Array.isArray(r[1]))return r;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function no(r){if(Array.isArray(r))return r;if(r.type==="Feature"){if(r.geometry!==null)return r.geometry.coordinates}else if(r.coordinates)return r.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function Wg(r,e,t){if(!r)throw new Error("No feature passed");if(!t)throw new Error(".featureOf() requires a name");if(!r||r.type!=="Feature"||!r.geometry)throw new Error("Invalid input to "+t+", Feature with geometry required");if(!r.geometry||r.geometry.type!==e)throw new Error("Invalid input to "+t+": must be a "+e+", given "+r.geometry.type)}function qn(r){return r.type==="Feature"?r.geometry:r}function Iw(r,e){return r.type==="FeatureCollection"?"FeatureCollection":r.type==="GeometryCollection"?"GeometryCollection":r.type==="Feature"&&r.geometry!==null?r.geometry.type:r.type}function Lu(r,e,t){if(t===void 0&&(t={}),t.final===!0)return xw(r,e);var n=bn(r),i=bn(e),s=ln(n[0]),o=ln(i[0]),a=ln(n[1]),u=ln(i[1]),l=Math.sin(o-s)*Math.cos(u),c=Math.cos(a)*Math.sin(u)-Math.sin(a)*Math.cos(u)*Math.cos(o-s);return Hl(Math.atan2(l,c))}function xw(r,e){var t=Lu(e,r);return t=(t+180)%360,t}function ia(r,e,t,n){n===void 0&&(n={});var i=bn(r),s=ln(i[0]),o=ln(i[1]),a=ln(t),u=Xh(e,n.units),l=Math.asin(Math.sin(o)*Math.cos(u)+Math.cos(o)*Math.sin(u)*Math.cos(a)),c=s+Math.atan2(Math.sin(a)*Math.sin(u)*Math.cos(o),Math.cos(u)-Math.sin(o)*Math.sin(l)),h=Hl(c),f=Hl(l);return Yt([h,f],n.properties)}function Wi(r,e,t){t===void 0&&(t={});var n=bn(r),i=bn(e),s=ln(i[1]-n[1]),o=ln(i[0]-n[0]),a=ln(n[1]),u=ln(i[1]),l=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(o/2),2)*Math.cos(a)*Math.cos(u);return qh(2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)),t.units)}function Tw(r,e,t){t===void 0&&(t={});for(var n=qn(r),i=n.coordinates,s=0,o=0;o<i.length&&!(e>=s&&o===i.length-1);o++)if(s>=e){var a=e-s;if(a){var u=Lu(i[o],i[o-1])-180,l=ia(i[o],a,u,t);return l}else return Yt(i[o])}else s+=Wi(i[o],i[o+1],t);return Yt(i[i.length-1])}function Nw(r,e){const t=kr(r);return Tw(t,e,{units:"meters"}).geometry.coordinates}function sa(r,e,t){if(r!==null)for(var n,i,s,o,a,u,l,c=0,h=0,f,p=r.type,v=p==="FeatureCollection",C=p==="Feature",S=v?r.features.length:1,P=0;P<S;P++){l=v?r.features[P].geometry:C?r.geometry:r,f=l?l.type==="GeometryCollection":!1,a=f?l.geometries.length:1;for(var y=0;y<a;y++){var _=0,m=0;if(o=f?l.geometries[y]:l,o!==null){u=o.coordinates;var w=o.type;switch(c=t&&(w==="Polygon"||w==="MultiPolygon")?1:0,w){case null:break;case"Point":if(e(u,h,P,_,m)===!1)return!1;h++,_++;break;case"LineString":case"MultiPoint":for(n=0;n<u.length;n++){if(e(u[n],h,P,_,m)===!1)return!1;h++,w==="MultiPoint"&&_++}w==="LineString"&&_++;break;case"Polygon":case"MultiLineString":for(n=0;n<u.length;n++){for(i=0;i<u[n].length-c;i++){if(e(u[n][i],h,P,_,m)===!1)return!1;h++}w==="MultiLineString"&&_++,w==="Polygon"&&m++}w==="Polygon"&&_++;break;case"MultiPolygon":for(n=0;n<u.length;n++){for(m=0,i=0;i<u[n].length;i++){for(s=0;s<u[n][i].length-c;s++){if(e(u[n][i][s],h,P,_,m)===!1)return!1;h++}m++}_++}break;case"GeometryCollection":for(n=0;n<o.geometries.length;n++)if(sa(o.geometries[n],e,t)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function ql(r,e){if(r.type==="Feature")e(r,0);else if(r.type==="FeatureCollection")for(var t=0;t<r.features.length&&e(r.features[t],t)!==!1;t++);}function Xl(r,e){var t,n,i,s,o,a,u,l,c,h,f=0,p=r.type==="FeatureCollection",v=r.type==="Feature",C=p?r.features.length:1;for(t=0;t<C;t++){for(a=p?r.features[t].geometry:v?r.geometry:r,l=p?r.features[t].properties:v?r.properties:{},c=p?r.features[t].bbox:v?r.bbox:void 0,h=p?r.features[t].id:v?r.id:void 0,u=a?a.type==="GeometryCollection":!1,o=u?a.geometries.length:1,i=0;i<o;i++){if(s=u?a.geometries[i]:a,s===null){if(e(null,f,l,c,h)===!1)return!1;continue}switch(s.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(s,f,l,c,h)===!1)return!1;break}case"GeometryCollection":{for(n=0;n<s.geometries.length;n++)if(e(s.geometries[n],f,l,c,h)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}f++}}function Ow(r,e,t){var n=t;return Xl(r,function(i,s,o,a,u){n=e(n,i,s,o,a,u)}),n}function Jh(r,e){Xl(r,function(t,n,i,s,o){var a=t===null?null:t.type;switch(a){case null:case"Point":case"LineString":case"Polygon":return e(Ar(t,i,{bbox:s,id:o}),n,0)===!1?!1:void 0}var u;switch(a){case"MultiPoint":u="Point";break;case"MultiLineString":u="LineString";break;case"MultiPolygon":u="Polygon";break}for(var l=0;l<t.coordinates.length;l++){var c=t.coordinates[l],h={type:u,coordinates:c};if(e(Ar(h,i),n,l)===!1)return!1}})}function Dw(r,e){Jh(r,function(t,n,i){var s=0;if(t.geometry){var o=t.geometry.type;if(!(o==="Point"||o==="MultiPoint")){var a,u=0,l=0,c=0;if(sa(t,function(h,f,p,v,C){if(a===void 0||n>u||v>l||C>c){a=h,u=n,l=v,c=C,s=0;return}var S=kr([a,h],t.properties);if(e(S,n,i,C,s)===!1)return!1;s++,a=h})===!1)return!1}}})}var Hg=6378137;function Mw(r){return Ow(r,function(e,t){return e+Rw(t)},0)}function Rw(r){var e=0,t;switch(r.type){case"Polygon":return qg(r.coordinates);case"MultiPolygon":for(t=0;t<r.coordinates.length;t++)e+=qg(r.coordinates[t]);return e;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function qg(r){var e=0;if(r&&r.length>0){e+=Math.abs(Xg(r[0]));for(var t=1;t<r.length;t++)e-=Math.abs(Xg(r[t]))}return e}function Xg(r){var e,t,n,i,s,o,a,u=0,l=r.length;if(l>2){for(a=0;a<l;a++)a===l-2?(i=l-2,s=l-1,o=0):a===l-1?(i=l-1,s=0,o=1):(i=a,s=a+1,o=a+2),e=r[i],t=r[s],n=r[o],u+=($h(n[0])-$h(e[0]))*Math.sin($h(t[1]));u=u*Hg*Hg/2}return u}function $h(r){return r*Math.PI/180}function Kh(r){if((r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]),r.length<=3)return 0;const e=Sn([r]);return Mw(e)}var Yl={exports:{}},Jl={exports:{}},Lw=Jl.exports,Yg;function Jg(){return Yg||(Yg=1,function(r,e){(function(t,n){r.exports=n()})(Lw,function(){function t(y,_,m,w,E){(function b(I,T,D,x,O){for(;x>D;){if(x-D>600){var L=x-D+1,A=T-D+1,J=Math.log(L),H=.5*Math.exp(2*J/3),Z=.5*Math.sqrt(J*H*(L-H)/L)*(A-L/2<0?-1:1),ct=Math.max(D,Math.floor(T-A*H/L+Z)),mt=Math.min(x,Math.floor(T+(L-A)*H/L+Z));b(I,T,ct,mt,O)}var Y=I[T],$=D,K=x;for(n(I,D,T),O(I[x],Y)>0&&n(I,D,x);$<K;){for(n(I,$,K),$++,K--;O(I[$],Y)<0;)$++;for(;O(I[K],Y)>0;)K--}O(I[D],Y)===0?n(I,D,K):n(I,++K,x),K<=T&&(D=K+1),T<=K&&(x=K-1)}})(y,_,m||0,w||y.length-1,E||i)}function n(y,_,m){var w=y[_];y[_]=y[m],y[m]=w}function i(y,_){return y<_?-1:y>_?1:0}var s=function(y){y===void 0&&(y=9),this._maxEntries=Math.max(4,y),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(y,_,m){if(!m)return _.indexOf(y);for(var w=0;w<_.length;w++)if(m(y,_[w]))return w;return-1}function a(y,_){u(y,0,y.children.length,_,y)}function u(y,_,m,w,E){E||(E=S(null)),E.minX=1/0,E.minY=1/0,E.maxX=-1/0,E.maxY=-1/0;for(var b=_;b<m;b++){var I=y.children[b];l(E,y.leaf?w(I):I)}return E}function l(y,_){return y.minX=Math.min(y.minX,_.minX),y.minY=Math.min(y.minY,_.minY),y.maxX=Math.max(y.maxX,_.maxX),y.maxY=Math.max(y.maxY,_.maxY),y}function c(y,_){return y.minX-_.minX}function h(y,_){return y.minY-_.minY}function f(y){return(y.maxX-y.minX)*(y.maxY-y.minY)}function p(y){return y.maxX-y.minX+(y.maxY-y.minY)}function v(y,_){return y.minX<=_.minX&&y.minY<=_.minY&&_.maxX<=y.maxX&&_.maxY<=y.maxY}function C(y,_){return _.minX<=y.maxX&&_.minY<=y.maxY&&_.maxX>=y.minX&&_.maxY>=y.minY}function S(y){return{children:y,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function P(y,_,m,w,E){for(var b=[_,m];b.length;)if(!((m=b.pop())-(_=b.pop())<=w)){var I=_+Math.ceil((m-_)/w/2)*w;t(y,I,_,m,E),b.push(_,I,I,m)}}return s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(y){var _=this.data,m=[];if(!C(y,_))return m;for(var w=this.toBBox,E=[];_;){for(var b=0;b<_.children.length;b++){var I=_.children[b],T=_.leaf?w(I):I;C(y,T)&&(_.leaf?m.push(I):v(y,T)?this._all(I,m):E.push(I))}_=E.pop()}return m},s.prototype.collides=function(y){var _=this.data;if(!C(y,_))return!1;for(var m=[];_;){for(var w=0;w<_.children.length;w++){var E=_.children[w],b=_.leaf?this.toBBox(E):E;if(C(y,b)){if(_.leaf||v(y,b))return!0;m.push(E)}}_=m.pop()}return!1},s.prototype.load=function(y){if(!y||!y.length)return this;if(y.length<this._minEntries){for(var _=0;_<y.length;_++)this.insert(y[_]);return this}var m=this._build(y.slice(),0,y.length-1,0);if(this.data.children.length)if(this.data.height===m.height)this._splitRoot(this.data,m);else{if(this.data.height<m.height){var w=this.data;this.data=m,m=w}this._insert(m,this.data.height-m.height-1,!0)}else this.data=m;return this},s.prototype.insert=function(y){return y&&this._insert(y,this.data.height-1),this},s.prototype.clear=function(){return this.data=S([]),this},s.prototype.remove=function(y,_){if(!y)return this;for(var m,w,E,b=this.data,I=this.toBBox(y),T=[],D=[];b||T.length;){if(b||(b=T.pop(),w=T[T.length-1],m=D.pop(),E=!0),b.leaf){var x=o(y,b.children,_);if(x!==-1)return b.children.splice(x,1),T.push(b),this._condense(T),this}E||b.leaf||!v(b,I)?w?(m++,b=w.children[m],E=!1):b=null:(T.push(b),D.push(m),m=0,w=b,b=b.children[0])}return this},s.prototype.toBBox=function(y){return y},s.prototype.compareMinX=function(y,_){return y.minX-_.minX},s.prototype.compareMinY=function(y,_){return y.minY-_.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(y){return this.data=y,this},s.prototype._all=function(y,_){for(var m=[];y;)y.leaf?_.push.apply(_,y.children):m.push.apply(m,y.children),y=m.pop();return _},s.prototype._build=function(y,_,m,w){var E,b=m-_+1,I=this._maxEntries;if(b<=I)return a(E=S(y.slice(_,m+1)),this.toBBox),E;w||(w=Math.ceil(Math.log(b)/Math.log(I)),I=Math.ceil(b/Math.pow(I,w-1))),(E=S([])).leaf=!1,E.height=w;var T=Math.ceil(b/I),D=T*Math.ceil(Math.sqrt(I));P(y,_,m,D,this.compareMinX);for(var x=_;x<=m;x+=D){var O=Math.min(x+D-1,m);P(y,x,O,T,this.compareMinY);for(var L=x;L<=O;L+=T){var A=Math.min(L+T-1,O);E.children.push(this._build(y,L,A,w-1))}}return a(E,this.toBBox),E},s.prototype._chooseSubtree=function(y,_,m,w){for(;w.push(_),!_.leaf&&w.length-1!==m;){for(var E=1/0,b=1/0,I=void 0,T=0;T<_.children.length;T++){var D=_.children[T],x=f(D),O=(L=y,A=D,(Math.max(A.maxX,L.maxX)-Math.min(A.minX,L.minX))*(Math.max(A.maxY,L.maxY)-Math.min(A.minY,L.minY))-x);O<b?(b=O,E=x<E?x:E,I=D):O===b&&x<E&&(E=x,I=D)}_=I||_.children[0]}var L,A;return _},s.prototype._insert=function(y,_,m){var w=m?y:this.toBBox(y),E=[],b=this._chooseSubtree(w,this.data,_,E);for(b.children.push(y),l(b,w);_>=0&&E[_].children.length>this._maxEntries;)this._split(E,_),_--;this._adjustParentBBoxes(w,E,_)},s.prototype._split=function(y,_){var m=y[_],w=m.children.length,E=this._minEntries;this._chooseSplitAxis(m,E,w);var b=this._chooseSplitIndex(m,E,w),I=S(m.children.splice(b,m.children.length-b));I.height=m.height,I.leaf=m.leaf,a(m,this.toBBox),a(I,this.toBBox),_?y[_-1].children.push(I):this._splitRoot(m,I)},s.prototype._splitRoot=function(y,_){this.data=S([y,_]),this.data.height=y.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(y,_,m){for(var w,E,b,I,T,D,x,O=1/0,L=1/0,A=_;A<=m-_;A++){var J=u(y,0,A,this.toBBox),H=u(y,A,m,this.toBBox),Z=(E=J,b=H,I=void 0,T=void 0,D=void 0,x=void 0,I=Math.max(E.minX,b.minX),T=Math.max(E.minY,b.minY),D=Math.min(E.maxX,b.maxX),x=Math.min(E.maxY,b.maxY),Math.max(0,D-I)*Math.max(0,x-T)),ct=f(J)+f(H);Z<O?(O=Z,w=A,L=ct<L?ct:L):Z===O&&ct<L&&(L=ct,w=A)}return w||m-_},s.prototype._chooseSplitAxis=function(y,_,m){var w=y.leaf?this.compareMinX:c,E=y.leaf?this.compareMinY:h;this._allDistMargin(y,_,m,w)<this._allDistMargin(y,_,m,E)&&y.children.sort(w)},s.prototype._allDistMargin=function(y,_,m,w){y.children.sort(w);for(var E=this.toBBox,b=u(y,0,_,E),I=u(y,m-_,m,E),T=p(b)+p(I),D=_;D<m-_;D++){var x=y.children[D];l(b,y.leaf?E(x):x),T+=p(b)}for(var O=m-_-1;O>=_;O--){var L=y.children[O];l(I,y.leaf?E(L):L),T+=p(I)}return T},s.prototype._adjustParentBBoxes=function(y,_,m){for(var w=m;w>=0;w--)l(_[w],y)},s.prototype._condense=function(y){for(var _=y.length-1,m=void 0;_>=0;_--)y[_].children.length===0?_>0?(m=y[_-1].children).splice(m.indexOf(y[_]),1):this.clear():a(y[_],this.toBBox)},s})}(Jl)),Jl.exports}class Fw{constructor(e=[],t=Aw){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let n=(this.length>>1)-1;n>=0;n--)this._down(n)}push(e){this.data.push(e),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:n}=this,i=t[e];for(;e>0;){const s=e-1>>1,o=t[s];if(n(i,o)>=0)break;t[e]=o,e=s}t[e]=i}_down(e){const{data:t,compare:n}=this,i=this.length>>1,s=t[e];for(;e<i;){let o=(e<<1)+1,a=t[o];const u=o+1;if(u<this.length&&n(t[u],a)<0&&(o=u,a=t[u]),n(a,s)>=0)break;t[e]=a,e=o}t[e]=s}}function Aw(r,e){return r<e?-1:r>e?1:0}const kw=_0(Object.freeze(Object.defineProperty({__proto__:null,default:Fw},Symbol.toStringTag,{value:"Module"})));var Fu={exports:{}},Zh,$g;function Vw(){return $g||($g=1,Zh=function(e,t,n,i){var s=e[0],o=e[1],a=!1;n===void 0&&(n=0),i===void 0&&(i=t.length);for(var u=(i-n)/2,l=0,c=u-1;l<u;c=l++){var h=t[n+l*2+0],f=t[n+l*2+1],p=t[n+c*2+0],v=t[n+c*2+1],C=f>o!=v>o&&s<(p-h)*(o-f)/(v-f)+h;C&&(a=!a)}return a}),Zh}var Qh,Kg;function Bw(){return Kg||(Kg=1,Qh=function(e,t,n,i){var s=e[0],o=e[1],a=!1;n===void 0&&(n=0),i===void 0&&(i=t.length);for(var u=i-n,l=0,c=u-1;l<u;c=l++){var h=t[l+n][0],f=t[l+n][1],p=t[c+n][0],v=t[c+n][1],C=f>o!=v>o&&s<(p-h)*(o-f)/(v-f)+h;C&&(a=!a)}return a}),Qh}var Zg;function jw(){if(Zg)return Fu.exports;Zg=1;var r=Vw(),e=Bw();return Fu.exports=function(n,i,s,o){return i.length>0&&Array.isArray(i[0])?e(n,i,s,o):r(n,i,s,o)},Fu.exports.nested=e,Fu.exports.flat=r,Fu.exports}var Au={exports:{}},zw=Au.exports,Qg;function Uw(){return Qg||(Qg=1,function(r,e){(function(t,n){n(e)})(zw,function(t){const i=33306690738754706e-32;function s(C,S,P,y,_){let m,w,E,b,I=S[0],T=y[0],D=0,x=0;T>I==T>-I?(m=I,I=S[++D]):(m=T,T=y[++x]);let O=0;if(D<C&&x<P)for(T>I==T>-I?(E=m-((w=I+m)-I),I=S[++D]):(E=m-((w=T+m)-T),T=y[++x]),m=w,E!==0&&(_[O++]=E);D<C&&x<P;)T>I==T>-I?(E=m-((w=m+I)-(b=w-m))+(I-b),I=S[++D]):(E=m-((w=m+T)-(b=w-m))+(T-b),T=y[++x]),m=w,E!==0&&(_[O++]=E);for(;D<C;)E=m-((w=m+I)-(b=w-m))+(I-b),I=S[++D],m=w,E!==0&&(_[O++]=E);for(;x<P;)E=m-((w=m+T)-(b=w-m))+(T-b),T=y[++x],m=w,E!==0&&(_[O++]=E);return m===0&&O!==0||(_[O++]=m),O}function o(C){return new Float64Array(C)}const a=33306690738754716e-32,u=22204460492503146e-32,l=11093356479670487e-47,c=o(4),h=o(8),f=o(12),p=o(16),v=o(4);t.orient2d=function(C,S,P,y,_,m){const w=(S-m)*(P-_),E=(C-_)*(y-m),b=w-E;if(w===0||E===0||w>0!=E>0)return b;const I=Math.abs(w+E);return Math.abs(b)>=a*I?b:-function(T,D,x,O,L,A,J){let H,Z,ct,mt,Y,$,K,wt,At,Nt,Ot,jt,ve,Kt,En,Cn,z,G;const ft=T-L,kt=x-L,ee=D-A,_e=O-A;Y=(En=(wt=ft-(K=($=134217729*ft)-($-ft)))*(Nt=_e-(At=($=134217729*_e)-($-_e)))-((Kt=ft*_e)-K*At-wt*At-K*Nt))-(Ot=En-(z=(wt=ee-(K=($=134217729*ee)-($-ee)))*(Nt=kt-(At=($=134217729*kt)-($-kt)))-((Cn=ee*kt)-K*At-wt*At-K*Nt))),c[0]=En-(Ot+Y)+(Y-z),Y=(ve=Kt-((jt=Kt+Ot)-(Y=jt-Kt))+(Ot-Y))-(Ot=ve-Cn),c[1]=ve-(Ot+Y)+(Y-Cn),Y=(G=jt+Ot)-jt,c[2]=jt-(G-Y)+(Ot-Y),c[3]=G;let Ys=function(kb,Gy){let Wy=Gy[0];for(let hp=1;hp<kb;hp++)Wy+=Gy[hp];return Wy}(4,c),bl=u*J;if(Ys>=bl||-Ys>=bl||(H=T-(ft+(Y=T-ft))+(Y-L),ct=x-(kt+(Y=x-kt))+(Y-L),Z=D-(ee+(Y=D-ee))+(Y-A),mt=O-(_e+(Y=O-_e))+(Y-A),H===0&&Z===0&&ct===0&&mt===0)||(bl=l*J+i*Math.abs(Ys),(Ys+=ft*mt+_e*H-(ee*ct+kt*Z))>=bl||-Ys>=bl))return Ys;Y=(En=(wt=H-(K=($=134217729*H)-($-H)))*(Nt=_e-(At=($=134217729*_e)-($-_e)))-((Kt=H*_e)-K*At-wt*At-K*Nt))-(Ot=En-(z=(wt=Z-(K=($=134217729*Z)-($-Z)))*(Nt=kt-(At=($=134217729*kt)-($-kt)))-((Cn=Z*kt)-K*At-wt*At-K*Nt))),v[0]=En-(Ot+Y)+(Y-z),Y=(ve=Kt-((jt=Kt+Ot)-(Y=jt-Kt))+(Ot-Y))-(Ot=ve-Cn),v[1]=ve-(Ot+Y)+(Y-Cn),Y=(G=jt+Ot)-jt,v[2]=jt-(G-Y)+(Ot-Y),v[3]=G;const Lb=s(4,c,4,v,h);Y=(En=(wt=ft-(K=($=134217729*ft)-($-ft)))*(Nt=mt-(At=($=134217729*mt)-($-mt)))-((Kt=ft*mt)-K*At-wt*At-K*Nt))-(Ot=En-(z=(wt=ee-(K=($=134217729*ee)-($-ee)))*(Nt=ct-(At=($=134217729*ct)-($-ct)))-((Cn=ee*ct)-K*At-wt*At-K*Nt))),v[0]=En-(Ot+Y)+(Y-z),Y=(ve=Kt-((jt=Kt+Ot)-(Y=jt-Kt))+(Ot-Y))-(Ot=ve-Cn),v[1]=ve-(Ot+Y)+(Y-Cn),Y=(G=jt+Ot)-jt,v[2]=jt-(G-Y)+(Ot-Y),v[3]=G;const Fb=s(Lb,h,4,v,f);Y=(En=(wt=H-(K=($=134217729*H)-($-H)))*(Nt=mt-(At=($=134217729*mt)-($-mt)))-((Kt=H*mt)-K*At-wt*At-K*Nt))-(Ot=En-(z=(wt=Z-(K=($=134217729*Z)-($-Z)))*(Nt=ct-(At=($=134217729*ct)-($-ct)))-((Cn=Z*ct)-K*At-wt*At-K*Nt))),v[0]=En-(Ot+Y)+(Y-z),Y=(ve=Kt-((jt=Kt+Ot)-(Y=jt-Kt))+(Ot-Y))-(Ot=ve-Cn),v[1]=ve-(Ot+Y)+(Y-Cn),Y=(G=jt+Ot)-jt,v[2]=jt-(G-Y)+(Ot-Y),v[3]=G;const Ab=s(Fb,f,4,v,p);return p[Ab-1]}(C,S,P,y,_,m,I)},t.orient2dfast=function(C,S,P,y,_,m){return(S-m)*(P-_)-(C-_)*(y-m)},Object.defineProperty(t,"__esModule",{value:!0})})}(Au,Au.exports)),Au.exports}var tm;function Gw(){if(tm)return Yl.exports;tm=1;var r=Jg(),e=kw,t=jw(),n=Uw().orient2d;e.default&&(e=e.default),Yl.exports=i,Yl.exports.default=i;function i(m,w,E){w=Math.max(0,w===void 0?2:w),E=E||0;var b=p(m),I=new r(16);I.toBBox=function(K){return{minX:K[0],minY:K[1],maxX:K[0],maxY:K[1]}},I.compareMinX=function(K,wt){return K[0]-wt[0]},I.compareMinY=function(K,wt){return K[1]-wt[1]},I.load(m);for(var T=[],D=0,x;D<b.length;D++){var O=b[D];I.remove(O),x=v(O,x),T.push(x)}var L=new r(16);for(D=0;D<T.length;D++)L.insert(f(T[D]));for(var A=w*w,J=E*E;T.length;){var H=T.shift(),Z=H.p,ct=H.next.p,mt=C(Z,ct);if(!(mt<J)){var Y=mt/A;O=s(I,H.prev.p,Z,ct,H.next.next.p,Y,L),O&&Math.min(C(O,Z),C(O,ct))<=Y&&(T.push(H),T.push(v(O,H)),I.remove(O),L.remove(H),L.insert(f(H)),L.insert(f(H.next)))}}H=x;var $=[];do $.push(H.p),H=H.next;while(H!==x);return $.push(H.p),$}function s(m,w,E,b,I,T,D){for(var x=new e([],o),O=m.data;O;){for(var L=0;L<O.children.length;L++){var A=O.children[L],J=O.leaf?S(A,E,b):a(E,b,A);J>T||x.push({node:A,dist:J})}for(;x.length&&!x.peek().node.children;){var H=x.pop(),Z=H.node,ct=S(Z,w,E),mt=S(Z,b,I);if(H.dist<ct&&H.dist<mt&&l(E,Z,D)&&l(b,Z,D))return Z}O=x.pop(),O&&(O=O.node)}return null}function o(m,w){return m.dist-w.dist}function a(m,w,E){if(u(m,E)||u(w,E))return 0;var b=P(m[0],m[1],w[0],w[1],E.minX,E.minY,E.maxX,E.minY);if(b===0)return 0;var I=P(m[0],m[1],w[0],w[1],E.minX,E.minY,E.minX,E.maxY);if(I===0)return 0;var T=P(m[0],m[1],w[0],w[1],E.maxX,E.minY,E.maxX,E.maxY);if(T===0)return 0;var D=P(m[0],m[1],w[0],w[1],E.minX,E.maxY,E.maxX,E.maxY);return D===0?0:Math.min(b,I,T,D)}function u(m,w){return m[0]>=w.minX&&m[0]<=w.maxX&&m[1]>=w.minY&&m[1]<=w.maxY}function l(m,w,E){for(var b=Math.min(m[0],w[0]),I=Math.min(m[1],w[1]),T=Math.max(m[0],w[0]),D=Math.max(m[1],w[1]),x=E.search({minX:b,minY:I,maxX:T,maxY:D}),O=0;O<x.length;O++)if(h(x[O].p,x[O].next.p,m,w))return!1;return!0}function c(m,w,E){return n(m[0],m[1],w[0],w[1],E[0],E[1])}function h(m,w,E,b){return m!==b&&w!==E&&c(m,w,E)>0!=c(m,w,b)>0&&c(E,b,m)>0!=c(E,b,w)>0}function f(m){var w=m.p,E=m.next.p;return m.minX=Math.min(w[0],E[0]),m.minY=Math.min(w[1],E[1]),m.maxX=Math.max(w[0],E[0]),m.maxY=Math.max(w[1],E[1]),m}function p(m){for(var w=m[0],E=m[0],b=m[0],I=m[0],T=0;T<m.length;T++){var D=m[T];D[0]<w[0]&&(w=D),D[0]>b[0]&&(b=D),D[1]<E[1]&&(E=D),D[1]>I[1]&&(I=D)}var x=[w,E,b,I],O=x.slice();for(T=0;T<m.length;T++)t(m[T],x)||O.push(m[T]);return _(O)}function v(m,w){var E={p:m,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return w?(E.next=w.next,E.prev=w,w.next.prev=E,w.next=E):(E.prev=E,E.next=E),E}function C(m,w){var E=m[0]-w[0],b=m[1]-w[1];return E*E+b*b}function S(m,w,E){var b=w[0],I=w[1],T=E[0]-b,D=E[1]-I;if(T!==0||D!==0){var x=((m[0]-b)*T+(m[1]-I)*D)/(T*T+D*D);x>1?(b=E[0],I=E[1]):x>0&&(b+=T*x,I+=D*x)}return T=m[0]-b,D=m[1]-I,T*T+D*D}function P(m,w,E,b,I,T,D,x){var O=E-m,L=b-w,A=D-I,J=x-T,H=m-I,Z=w-T,ct=O*O+L*L,mt=O*A+L*J,Y=A*A+J*J,$=O*H+L*Z,K=A*H+J*Z,wt=ct*Y-mt*mt,At,Nt,Ot,jt,ve=wt,Kt=wt;wt===0?(Nt=0,ve=1,jt=K,Kt=Y):(Nt=mt*K-Y*$,jt=ct*K-mt*$,Nt<0?(Nt=0,jt=K,Kt=Y):Nt>ve&&(Nt=ve,jt=K+mt,Kt=Y)),jt<0?(jt=0,-$<0?Nt=0:-$>ct?Nt=ve:(Nt=-$,ve=ct)):jt>Kt&&(jt=Kt,-$+mt<0?Nt=0:-$+mt>ct?Nt=ve:(Nt=-$+mt,ve=ct)),At=Nt===0?0:Nt/ve,Ot=jt===0?0:jt/Kt;var En=(1-At)*m+At*E,Cn=(1-At)*w+At*b,z=(1-Ot)*I+Ot*D,G=(1-Ot)*T+Ot*x,ft=z-En,kt=G-Cn;return ft*ft+kt*kt}function y(m,w){return m[0]===w[0]?m[1]-w[1]:m[0]-w[0]}function _(m){m.sort(y);for(var w=[],E=0;E<m.length;E++){for(;w.length>=2&&c(w[w.length-2],w[w.length-1],m[E])<=0;)w.pop();w.push(m[E])}for(var b=[],I=m.length-1;I>=0;I--){for(;b.length>=2&&c(b[b.length-2],b[b.length-1],m[I])<=0;)b.pop();b.push(m[I])}return b.pop(),w.pop(),w.concat(b)}return Yl.exports}var Ww=Gw();const Hw=Fh(Ww);function qw(r,e){e===void 0&&(e={}),e.concavity=e.concavity||1/0;var t=[];if(sa(r,function(i){t.push([i[0],i[1]])}),!t.length)return null;var n=Hw(t,e.concavity);return n.length>3?Sn([n]):null}function em(r,e){e===void 0&&(e={});var t=0,n=0,i=0;return sa(r,function(s){t+=s[0],n+=s[1],i++},!0),Yt([t/i,n/i],e.properties)}function nm(r,e){switch(e===void 0&&(e={}),Iw(r)){case"Point":return Yt(bn(r),e.properties);case"Polygon":var t=[];sa(r,function(m){t.push(m)});var n=em(r,{properties:e.properties}),i=n.geometry.coordinates,s=0,o=0,a=0,u,l,c,h,f,p,v,C,S=t.map(function(m){return[m[0]-i[0],m[1]-i[1]]});for(u=0;u<t.length-1;u++)l=S[u],h=l[0],p=l[1],c=S[u+1],f=c[0],v=c[1],C=h*v-f*p,a+=C,s+=(h+f)*C,o+=(p+v)*C;if(a===0)return n;var P=a*.5,y=1/(6*P);return Yt([i[0]+y*s,i[1]+y*o],e.properties);default:var _=qw(r);return _?nm(_,{properties:e.properties}):em(r,{properties:e.properties})}}function Xw(r){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]);const e=Sn([r]),n=nm(e).geometry.coordinates;return[n[0],n[1],n[2]??r[0][2]??0]}function rm(r,e,t,n){const[i,s,o]=r,a=ia(Yt([i,s]),e,t,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return n=n||[0,0,0],n[0]=a.geometry.coordinates[0],n[1]=a.geometry.coordinates[1],n[2]=o,n}function $l(r,e){return Wi(Yt(r),Yt(e),{units:"meters"})}function ku(r,e){return Lu(Yt(r),Yt(e))}function im(r){if(!r)throw new Error("geojson is required");var e=[];return Jh(r,function(t){Yw(t,e)}),ra(e)}function Yw(r,e){var t=[],n=r.geometry;if(n!==null){switch(n.type){case"Polygon":t=no(n);break;case"LineString":t=[no(n)]}t.forEach(function(i){var s=Jw(i,r.properties);s.forEach(function(o){o.id=e.length,e.push(o)})})}}function Jw(r,e){var t=[];return r.reduce(function(n,i){var s=kr([n,i],e);return s.bbox=$w(n,i),t.push(s),i}),t}function $w(r,e){var t=r[0],n=r[1],i=e[0],s=e[1],o=t<i?t:i,a=n<s?n:s,u=t>i?t:i,l=n>s?n:s;return[o,a,u,l]}var Kl={exports:{}},td={},sm;function om(){return sm||(sm=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.earthRadius=63710088e-1,r.factors={centimeters:r.earthRadius*100,centimetres:r.earthRadius*100,degrees:r.earthRadius/111325,feet:r.earthRadius*3.28084,inches:r.earthRadius*39.37,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:r.earthRadius*1e3,millimetres:r.earthRadius*1e3,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius*1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/r.earthRadius,yards:1.0936133},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function e(x,O,L){L===void 0&&(L={});var A={type:"Feature"};return(L.id===0||L.id)&&(A.id=L.id),L.bbox&&(A.bbox=L.bbox),A.properties=O||{},A.geometry=x,A}r.feature=e;function t(x,O,L){switch(x){case"Point":return n(O).geometry;case"LineString":return a(O).geometry;case"Polygon":return s(O).geometry;case"MultiPoint":return h(O).geometry;case"MultiLineString":return c(O).geometry;case"MultiPolygon":return f(O).geometry;default:throw new Error(x+" is invalid")}}r.geometry=t;function n(x,O,L){if(L===void 0&&(L={}),!x)throw new Error("coordinates is required");if(!Array.isArray(x))throw new Error("coordinates must be an Array");if(x.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!b(x[0])||!b(x[1]))throw new Error("coordinates must contain numbers");var A={type:"Point",coordinates:x};return e(A,O,L)}r.point=n;function i(x,O,L){return L===void 0&&(L={}),l(x.map(function(A){return n(A,O)}),L)}r.points=i;function s(x,O,L){L===void 0&&(L={});for(var A=0,J=x;A<J.length;A++){var H=J[A];if(H.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var Z=0;Z<H[H.length-1].length;Z++)if(H[H.length-1][Z]!==H[0][Z])throw new Error("First and last Position are not equivalent.")}var ct={type:"Polygon",coordinates:x};return e(ct,O,L)}r.polygon=s;function o(x,O,L){return L===void 0&&(L={}),l(x.map(function(A){return s(A,O)}),L)}r.polygons=o;function a(x,O,L){if(L===void 0&&(L={}),x.length<2)throw new Error("coordinates must be an array of two or more positions");var A={type:"LineString",coordinates:x};return e(A,O,L)}r.lineString=a;function u(x,O,L){return L===void 0&&(L={}),l(x.map(function(A){return a(A,O)}),L)}r.lineStrings=u;function l(x,O){O===void 0&&(O={});var L={type:"FeatureCollection"};return O.id&&(L.id=O.id),O.bbox&&(L.bbox=O.bbox),L.features=x,L}r.featureCollection=l;function c(x,O,L){L===void 0&&(L={});var A={type:"MultiLineString",coordinates:x};return e(A,O,L)}r.multiLineString=c;function h(x,O,L){L===void 0&&(L={});var A={type:"MultiPoint",coordinates:x};return e(A,O,L)}r.multiPoint=h;function f(x,O,L){L===void 0&&(L={});var A={type:"MultiPolygon",coordinates:x};return e(A,O,L)}r.multiPolygon=f;function p(x,O,L){L===void 0&&(L={});var A={type:"GeometryCollection",geometries:x};return e(A,O,L)}r.geometryCollection=p;function v(x,O){if(O===void 0&&(O=0),O&&!(O>=0))throw new Error("precision must be a positive number");var L=Math.pow(10,O||0);return Math.round(x*L)/L}r.round=v;function C(x,O){O===void 0&&(O="kilometers");var L=r.factors[O];if(!L)throw new Error(O+" units is invalid");return x*L}r.radiansToLength=C;function S(x,O){O===void 0&&(O="kilometers");var L=r.factors[O];if(!L)throw new Error(O+" units is invalid");return x/L}r.lengthToRadians=S;function P(x,O){return _(S(x,O))}r.lengthToDegrees=P;function y(x){var O=x%360;return O<0&&(O+=360),O}r.bearingToAzimuth=y;function _(x){var O=x%(2*Math.PI);return O*180/Math.PI}r.radiansToDegrees=_;function m(x){var O=x%360;return O*Math.PI/180}r.degreesToRadians=m;function w(x,O,L){if(O===void 0&&(O="kilometers"),L===void 0&&(L="kilometers"),!(x>=0))throw new Error("length must be a positive number");return C(S(x,O),L)}r.convertLength=w;function E(x,O,L){if(O===void 0&&(O="meters"),L===void 0&&(L="kilometers"),!(x>=0))throw new Error("area must be a positive number");var A=r.areaFactors[O];if(!A)throw new Error("invalid original units");var J=r.areaFactors[L];if(!J)throw new Error("invalid final units");return x/A*J}r.convertArea=E;function b(x){return!isNaN(x)&&x!==null&&!Array.isArray(x)}r.isNumber=b;function I(x){return!!x&&x.constructor===Object}r.isObject=I;function T(x){if(!x)throw new Error("bbox is required");if(!Array.isArray(x))throw new Error("bbox must be an Array");if(x.length!==4&&x.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");x.forEach(function(O){if(!b(O))throw new Error("bbox must only contain numbers")})}r.validateBBox=T;function D(x){if(!x)throw new Error("id is required");if(["string","number"].indexOf(typeof x)===-1)throw new Error("id must be a number or a string")}r.validateId=D}(td)),td}var Ie={},am;function um(){if(am)return Ie;am=1,Object.defineProperty(Ie,"__esModule",{value:!0});var r=om();function e(y,_,m){if(y!==null)for(var w,E,b,I,T,D,x,O=0,L=0,A,J=y.type,H=J==="FeatureCollection",Z=J==="Feature",ct=H?y.features.length:1,mt=0;mt<ct;mt++){x=H?y.features[mt].geometry:Z?y.geometry:y,A=x?x.type==="GeometryCollection":!1,T=A?x.geometries.length:1;for(var Y=0;Y<T;Y++){var $=0,K=0;if(I=A?x.geometries[Y]:x,I!==null){D=I.coordinates;var wt=I.type;switch(O=m&&(wt==="Polygon"||wt==="MultiPolygon")?1:0,wt){case null:break;case"Point":if(_(D,L,mt,$,K)===!1)return!1;L++,$++;break;case"LineString":case"MultiPoint":for(w=0;w<D.length;w++){if(_(D[w],L,mt,$,K)===!1)return!1;L++,wt==="MultiPoint"&&$++}wt==="LineString"&&$++;break;case"Polygon":case"MultiLineString":for(w=0;w<D.length;w++){for(E=0;E<D[w].length-O;E++){if(_(D[w][E],L,mt,$,K)===!1)return!1;L++}wt==="MultiLineString"&&$++,wt==="Polygon"&&K++}wt==="Polygon"&&$++;break;case"MultiPolygon":for(w=0;w<D.length;w++){for(K=0,E=0;E<D[w].length;E++){for(b=0;b<D[w][E].length-O;b++){if(_(D[w][E][b],L,mt,$,K)===!1)return!1;L++}K++}$++}break;case"GeometryCollection":for(w=0;w<I.geometries.length;w++)if(e(I.geometries[w],_,m)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function t(y,_,m,w){var E=m;return e(y,function(b,I,T,D,x){I===0&&m===void 0?E=b:E=_(E,b,I,T,D,x)},w),E}function n(y,_){var m;switch(y.type){case"FeatureCollection":for(m=0;m<y.features.length&&_(y.features[m].properties,m)!==!1;m++);break;case"Feature":_(y.properties,0);break}}function i(y,_,m){var w=m;return n(y,function(E,b){b===0&&m===void 0?w=E:w=_(w,E,b)}),w}function s(y,_){if(y.type==="Feature")_(y,0);else if(y.type==="FeatureCollection")for(var m=0;m<y.features.length&&_(y.features[m],m)!==!1;m++);}function o(y,_,m){var w=m;return s(y,function(E,b){b===0&&m===void 0?w=E:w=_(w,E,b)}),w}function a(y){var _=[];return e(y,function(m){_.push(m)}),_}function u(y,_){var m,w,E,b,I,T,D,x,O,L,A=0,J=y.type==="FeatureCollection",H=y.type==="Feature",Z=J?y.features.length:1;for(m=0;m<Z;m++){for(T=J?y.features[m].geometry:H?y.geometry:y,x=J?y.features[m].properties:H?y.properties:{},O=J?y.features[m].bbox:H?y.bbox:void 0,L=J?y.features[m].id:H?y.id:void 0,D=T?T.type==="GeometryCollection":!1,I=D?T.geometries.length:1,E=0;E<I;E++){if(b=D?T.geometries[E]:T,b===null){if(_(null,A,x,O,L)===!1)return!1;continue}switch(b.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(_(b,A,x,O,L)===!1)return!1;break}case"GeometryCollection":{for(w=0;w<b.geometries.length;w++)if(_(b.geometries[w],A,x,O,L)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}A++}}function l(y,_,m){var w=m;return u(y,function(E,b,I,T,D){b===0&&m===void 0?w=E:w=_(w,E,b,I,T,D)}),w}function c(y,_){u(y,function(m,w,E,b,I){var T=m===null?null:m.type;switch(T){case null:case"Point":case"LineString":case"Polygon":return _(r.feature(m,E,{bbox:b,id:I}),w,0)===!1?!1:void 0}var D;switch(T){case"MultiPoint":D="Point";break;case"MultiLineString":D="LineString";break;case"MultiPolygon":D="Polygon";break}for(var x=0;x<m.coordinates.length;x++){var O=m.coordinates[x],L={type:D,coordinates:O};if(_(r.feature(L,E),w,x)===!1)return!1}})}function h(y,_,m){var w=m;return c(y,function(E,b,I){b===0&&I===0&&m===void 0?w=E:w=_(w,E,b,I)}),w}function f(y,_){c(y,function(m,w,E){var b=0;if(m.geometry){var I=m.geometry.type;if(!(I==="Point"||I==="MultiPoint")){var T,D=0,x=0,O=0;if(e(m,function(L,A,J,H,Z){if(T===void 0||w>D||H>x||Z>O){T=L,D=w,x=H,O=Z,b=0;return}var ct=r.lineString([T,L],m.properties);if(_(ct,w,E,Z,b)===!1)return!1;b++,T=L})===!1)return!1}}})}function p(y,_,m){var w=m,E=!1;return f(y,function(b,I,T,D,x){E===!1&&m===void 0?w=b:w=_(w,b,I,T,D,x),E=!0}),w}function v(y,_){if(!y)throw new Error("geojson is required");c(y,function(m,w,E){if(m.geometry!==null){var b=m.geometry.type,I=m.geometry.coordinates;switch(b){case"LineString":if(_(m,w,E,0,0)===!1)return!1;break;case"Polygon":for(var T=0;T<I.length;T++)if(_(r.lineString(I[T],m.properties),w,E,T)===!1)return!1;break}}})}function C(y,_,m){var w=m;return v(y,function(E,b,I,T){b===0&&m===void 0?w=E:w=_(w,E,b,I,T)}),w}function S(y,_){if(_=_||{},!r.isObject(_))throw new Error("options is invalid");var m=_.featureIndex||0,w=_.multiFeatureIndex||0,E=_.geometryIndex||0,b=_.segmentIndex||0,I=_.properties,T;switch(y.type){case"FeatureCollection":m<0&&(m=y.features.length+m),I=I||y.features[m].properties,T=y.features[m].geometry;break;case"Feature":I=I||y.properties,T=y.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":T=y;break;default:throw new Error("geojson is invalid")}if(T===null)return null;var D=T.coordinates;switch(T.type){case"Point":case"MultiPoint":return null;case"LineString":return b<0&&(b=D.length+b-1),r.lineString([D[b],D[b+1]],I,_);case"Polygon":return E<0&&(E=D.length+E),b<0&&(b=D[E].length+b-1),r.lineString([D[E][b],D[E][b+1]],I,_);case"MultiLineString":return w<0&&(w=D.length+w),b<0&&(b=D[w].length+b-1),r.lineString([D[w][b],D[w][b+1]],I,_);case"MultiPolygon":return w<0&&(w=D.length+w),E<0&&(E=D[w].length+E),b<0&&(b=D[w][E].length-b-1),r.lineString([D[w][E][b],D[w][E][b+1]],I,_)}throw new Error("geojson is invalid")}function P(y,_){if(_=_||{},!r.isObject(_))throw new Error("options is invalid");var m=_.featureIndex||0,w=_.multiFeatureIndex||0,E=_.geometryIndex||0,b=_.coordIndex||0,I=_.properties,T;switch(y.type){case"FeatureCollection":m<0&&(m=y.features.length+m),I=I||y.features[m].properties,T=y.features[m].geometry;break;case"Feature":I=I||y.properties,T=y.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":T=y;break;default:throw new Error("geojson is invalid")}if(T===null)return null;var D=T.coordinates;switch(T.type){case"Point":return r.point(D,I,_);case"MultiPoint":return w<0&&(w=D.length+w),r.point(D[w],I,_);case"LineString":return b<0&&(b=D.length+b),r.point(D[b],I,_);case"Polygon":return E<0&&(E=D.length+E),b<0&&(b=D[E].length+b),r.point(D[E][b],I,_);case"MultiLineString":return w<0&&(w=D.length+w),b<0&&(b=D[w].length+b),r.point(D[w][b],I,_);case"MultiPolygon":return w<0&&(w=D.length+w),E<0&&(E=D[w].length+E),b<0&&(b=D[w][E].length-b),r.point(D[w][E][b],I,_)}throw new Error("geojson is invalid")}return Ie.coordAll=a,Ie.coordEach=e,Ie.coordReduce=t,Ie.featureEach=s,Ie.featureReduce=o,Ie.findPoint=P,Ie.findSegment=S,Ie.flattenEach=c,Ie.flattenReduce=h,Ie.geomEach=u,Ie.geomReduce=l,Ie.lineEach=v,Ie.lineReduce=C,Ie.propEach=n,Ie.propReduce=i,Ie.segmentEach=f,Ie.segmentReduce=p,Ie}var Zl={},lm;function Kw(){if(lm)return Zl;lm=1,Object.defineProperty(Zl,"__esModule",{value:!0});var r=um();function e(t){var n=[1/0,1/0,-1/0,-1/0];return r.coordEach(t,function(i){n[0]>i[0]&&(n[0]=i[0]),n[1]>i[1]&&(n[1]=i[1]),n[2]<i[0]&&(n[2]=i[0]),n[3]<i[1]&&(n[3]=i[1])}),n}return e.default=e,Zl.default=e,Zl}var cm;function Zw(){if(cm)return Kl.exports;cm=1;var r=Jg(),e=om(),t=um(),n=Kw().default,i=t.featureEach;t.coordEach,e.polygon;var s=e.featureCollection;function o(a){var u=new r(a);return u.insert=function(l){if(l.type!=="Feature")throw new Error("invalid feature");return l.bbox=l.bbox?l.bbox:n(l),r.prototype.insert.call(this,l)},u.load=function(l){var c=[];return Array.isArray(l)?l.forEach(function(h){if(h.type!=="Feature")throw new Error("invalid features");h.bbox=h.bbox?h.bbox:n(h),c.push(h)}):i(l,function(h){if(h.type!=="Feature")throw new Error("invalid features");h.bbox=h.bbox?h.bbox:n(h),c.push(h)}),r.prototype.load.call(this,c)},u.remove=function(l,c){if(l.type!=="Feature")throw new Error("invalid feature");return l.bbox=l.bbox?l.bbox:n(l),r.prototype.remove.call(this,l,c)},u.clear=function(){return r.prototype.clear.call(this)},u.search=function(l){var c=r.prototype.search.call(this,this.toBBox(l));return s(c)},u.collides=function(l){return r.prototype.collides.call(this,this.toBBox(l))},u.all=function(){var l=r.prototype.all.call(this);return s(l)},u.toJSON=function(){return r.prototype.toJSON.call(this)},u.fromJSON=function(l){return r.prototype.fromJSON.call(this,l)},u.toBBox=function(l){var c;if(l.bbox)c=l.bbox;else if(Array.isArray(l)&&l.length===4)c=l;else if(Array.isArray(l)&&l.length===6)c=[l[0],l[1],l[3],l[4]];else if(l.type==="Feature")c=n(l);else if(l.type==="FeatureCollection")c=n(l);else throw new Error("invalid geojson");return{minX:c[0],minY:c[1],maxX:c[2],maxY:c[3]}},u}return Kl.exports=o,Kl.exports.default=o,Kl.exports}var Qw=Zw();const tE=Fh(Qw);function hm(r,e){var t={},n=[];if(r.type==="LineString"&&(r=Ar(r)),e.type==="LineString"&&(e=Ar(e)),r.type==="Feature"&&e.type==="Feature"&&r.geometry!==null&&e.geometry!==null&&r.geometry.type==="LineString"&&e.geometry.type==="LineString"&&r.geometry.coordinates.length===2&&e.geometry.coordinates.length===2){var i=dm(r,e);return i&&n.push(i),ra(n)}var s=tE();return s.load(im(e)),ql(im(r),function(o){ql(s.search(o),function(a){var u=dm(o,a);if(u){var l=no(u).join(",");t[l]||(t[l]=!0,n.push(u))}})}),ra(n)}function dm(r,e){var t=no(r),n=no(e);if(t.length!==2)throw new Error("<intersects> line1 must only contain 2 coordinates");if(n.length!==2)throw new Error("<intersects> line2 must only contain 2 coordinates");var i=t[0][0],s=t[0][1],o=t[1][0],a=t[1][1],u=n[0][0],l=n[0][1],c=n[1][0],h=n[1][1],f=(h-l)*(o-i)-(c-u)*(a-s),p=(c-u)*(s-l)-(h-l)*(i-u),v=(o-i)*(s-l)-(a-s)*(i-u);if(f===0)return null;var C=p/f,S=v/f;if(C>=0&&C<=1&&S>=0&&S<=1){var P=i+C*(o-i),y=s+C*(a-s);return Yt([P,y])}return null}function eE(r,e){return hm(kr(r),kr(e))}function nE(r,e){var t=Wi(r,e),n=Lu(r,e),i=ia(r,t/2,n);return i}function rE(r,e){const t=Yt(r),n=Yt(e),i=nE(t,n),s=(r[2]+e[2])/2;return[...i.geometry.coordinates,s]}function iE(r,e,t){t===void 0&&(t={});var n=Yt([1/0,1/0],{dist:1/0}),i=0;return Jh(r,function(s){for(var o=no(s),a=0;a<o.length-1;a++){var u=Yt(o[a]);u.properties.dist=Wi(e,u,t);var l=Yt(o[a+1]);l.properties.dist=Wi(e,l,t);var c=Wi(u,l,t),h=Math.max(u.properties.dist,l.properties.dist),f=Lu(u,l),p=ia(e,h,f+90,t),v=ia(e,h,f-90,t),C=hm(kr([p.geometry.coordinates,v.geometry.coordinates]),kr([u.geometry.coordinates,l.geometry.coordinates])),S=null;C.features.length>0&&(S=C.features[0],S.properties.dist=Wi(e,S,t),S.properties.location=i+Wi(u,S,t)),u.properties.dist<n.properties.dist&&(n=u,n.properties.index=a,n.properties.location=i),l.properties.dist<n.properties.dist&&(n=l,n.properties.index=a+1,n.properties.location=i+c),S&&S.properties.dist<n.properties.dist&&(n=S,n.properties.index=a),i+=c}}),n}function sE(r,e){const t=Yt(e),n=kr(r);return iE(n,t,{units:"meters"})}function fm(r,e,t){t===void 0&&(t={});var n=bn(r),i=bn(e);i[0]+=i[0]-n[0]>180?-360:n[0]-i[0]>180?360:0;var s=oE(n,i),o=Yh(s,"meters",t.units);return o}function oE(r,e,t){t=t===void 0?Ze:Number(t);var n=t,i=r[1]*Math.PI/180,s=e[1]*Math.PI/180,o=s-i,a=Math.abs(e[0]-r[0])*Math.PI/180;a>Math.PI&&(a-=2*Math.PI);var u=Math.log(Math.tan(s/2+Math.PI/4)/Math.tan(i/2+Math.PI/4)),l=Math.abs(u)>1e-11?o/u:Math.cos(i),c=Math.sqrt(o*o+l*l*a*a),h=c*n;return h}function aE(r,e,t){if(t===void 0&&(t={}),t.method||(t.method="geodesic"),t.units||(t.units="kilometers"),!r)throw new Error("pt is required");if(Array.isArray(r)?r=Yt(r):r.type==="Point"?r=Ar(r):Wg(r,"Point","point"),!e)throw new Error("line is required");Array.isArray(e)?e=kr(e):e.type==="LineString"?e=Ar(e):Wg(e,"LineString","line");var n=1/0,i=r.geometry.coordinates;return Dw(e,function(s){var o=s.geometry.coordinates[0],a=s.geometry.coordinates[1],u=uE(i,o,a,t);u<n&&(n=u)}),Yh(n,"degrees",t.units)}function uE(r,e,t,n){var i=[t[0]-e[0],t[1]-e[1]],s=[r[0]-e[0],r[1]-e[1]],o=pm(s,i);if(o<=0)return ed(r,e,{method:n.method,units:"degrees"});var a=pm(i,i);if(a<=o)return ed(r,t,{method:n.method,units:"degrees"});var u=o/a,l=[e[0]+u*i[0],e[1]+u*i[1]];return ed(r,l,{method:n.method,units:"degrees"})}function pm(r,e){return r[0]*e[0]+r[1]*e[1]}function ed(r,e,t){return t.method==="planar"?fm(r,e,t):Wi(r,e,t)}function lE(r,e){const t=Yt(r),n=kr(e);return aE(t,n,{units:"meters"})}function cE(r,e,t,n){n===void 0&&(n={});var i=e<0,s=Yh(Math.abs(e),n.units,"meters");i&&(s=-Math.abs(s));var o=bn(r),a=hE(o,s,t);return a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0,Yt(a,n.properties)}function hE(r,e,t,n){n=n===void 0?Ze:Number(n);var i=e/n,s=r[0]*Math.PI/180,o=ln(r[1]),a=ln(t),u=i*Math.cos(a),l=o+u;Math.abs(l)>Math.PI/2&&(l=l>0?Math.PI-l:-Math.PI-l);var c=Math.log(Math.tan(l/2+Math.PI/4)/Math.tan(o/2+Math.PI/4)),h=Math.abs(c)>1e-11?u/c:Math.cos(o),f=i*Math.sin(a)/h,p=s+f;return[(p*180/Math.PI+540)%360-180,l*180/Math.PI]}function dE(r,e,t,n){const[i,s,o]=r,a=cE(Yt([i,s]),e,t,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return n=n||[0,0,0],n[0]=a.geometry.coordinates[0],n[1]=a.geometry.coordinates[1],n[2]=o,n}function gm(r,e){return fm(Yt(r),Yt(e),{units:"meters"})}function fE(r,e,t){t===void 0&&(t={});var n;t.final?n=mm(bn(e),bn(r)):n=mm(bn(r),bn(e));var i=n>180?-(360-n):n;return i}function mm(r,e){var t=ln(r[1]),n=ln(e[1]),i=ln(e[0]-r[0]);i>Math.PI&&(i-=2*Math.PI),i<-Math.PI&&(i+=2*Math.PI);var s=Math.log(Math.tan(n/2+Math.PI/4)/Math.tan(t/2+Math.PI/4)),o=Math.atan2(i,s);return(Hl(o)+360)%360}function pE(r,e){return fE(Yt(r),Yt(e))}function Vr(r){var e=[1/0,1/0,-1/0,-1/0];return sa(r,function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])}),e}Vr.default=Vr;function Br(r,e,t){if(t===void 0&&(t={}),!r)throw new Error("point is required");if(!e)throw new Error("polygon is required");var n=bn(r),i=qn(e),s=i.type,o=e.bbox,a=i.coordinates;if(o&&gE(n,o)===!1)return!1;s==="Polygon"&&(a=[a]);for(var u=!1,l=0;l<a.length&&!u;l++)if(vm(n,a[l][0],t.ignoreBoundary)){for(var c=!1,h=1;h<a[l].length&&!c;)vm(n,a[l][h],!t.ignoreBoundary)&&(c=!0),h++;c||(u=!0)}return u}function vm(r,e,t){var n=!1;e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]&&(e=e.slice(0,e.length-1));for(var i=0,s=e.length-1;i<e.length;s=i++){var o=e[i][0],a=e[i][1],u=e[s][0],l=e[s][1],c=r[1]*(o-u)+a*(u-r[0])+l*(r[0]-o)===0&&(o-r[0])*(u-r[0])<=0&&(a-r[1])*(l-r[1])<=0;if(c)return!t;var h=a>r[1]!=l>r[1]&&r[0]<(u-o)*(r[1]-a)/(l-a)+o;h&&(n=!n)}return n}function gE(r,e){return e[0]<=r[0]&&e[1]<=r[1]&&e[2]>=r[0]&&e[3]>=r[1]}function Hi(r,e,t){t===void 0&&(t={});for(var n=bn(r),i=no(e),s=0;s<i.length-1;s++){var o=!1;if(t.ignoreEndVertices&&(s===0&&(o="start"),s===i.length-2&&(o="end"),s===0&&s+1===i.length-1&&(o="both")),mE(i[s],i[s+1],n,o,typeof t.epsilon>"u"?null:t.epsilon))return!0}return!1}function mE(r,e,t,n,i){var s=t[0],o=t[1],a=r[0],u=r[1],l=e[0],c=e[1],h=t[0]-a,f=t[1]-u,p=l-a,v=c-u,C=h*v-f*p;if(i!==null){if(Math.abs(C)>i)return!1}else if(C!==0)return!1;if(n){if(n==="start")return Math.abs(p)>=Math.abs(v)?p>0?a<s&&s<=l:l<=s&&s<a:v>0?u<o&&o<=c:c<=o&&o<u;if(n==="end")return Math.abs(p)>=Math.abs(v)?p>0?a<=s&&s<l:l<s&&s<=a:v>0?u<=o&&o<c:c<o&&o<=u;if(n==="both")return Math.abs(p)>=Math.abs(v)?p>0?a<s&&s<l:l<s&&s<a:v>0?u<o&&o<c:c<o&&o<u}else return Math.abs(p)>=Math.abs(v)?p>0?a<=s&&s<=l:l<=s&&s<=a:v>0?u<=o&&o<=c:c<=o&&o<=u;return!1}function vE(r,e){var t=qn(r),n=qn(e),i=t.type,s=n.type,o=t.coordinates,a=n.coordinates;switch(i){case"Point":switch(s){case"Point":return nd(o,a);default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"Point":return yE(t,n);case"MultiPoint":return _E(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"Point":return Hi(n,t,{ignoreEndVertices:!0});case"LineString":return CE(t,n);case"MultiPoint":return wE(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Point":return Br(n,t,{ignoreBoundary:!0});case"LineString":return SE(t,n);case"Polygon":return bE(t,n);case"MultiPoint":return EE(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function yE(r,e){var t,n=!1;for(t=0;t<r.coordinates.length;t++)if(nd(r.coordinates[t],e.coordinates)){n=!0;break}return n}function _E(r,e){for(var t=0,n=e.coordinates;t<n.length;t++){for(var i=n[t],s=!1,o=0,a=r.coordinates;o<a.length;o++){var u=a[o];if(nd(i,u)){s=!0;break}}if(!s)return!1}return!0}function wE(r,e){for(var t=!1,n=0,i=e.coordinates;n<i.length;n++){var s=i[n];if(Hi(s,r,{ignoreEndVertices:!0})&&(t=!0),!Hi(s,r))return!1}return!!t}function EE(r,e){for(var t=0,n=e.coordinates;t<n.length;t++){var i=n[t];if(!Br(i,r,{ignoreBoundary:!0}))return!1}return!0}function CE(r,e){for(var t=!1,n=0,i=e.coordinates;n<i.length;n++){var s=i[n];if(Hi({type:"Point",coordinates:s},r,{ignoreEndVertices:!0})&&(t=!0),!Hi({type:"Point",coordinates:s},r,{ignoreEndVertices:!1}))return!1}return t}function SE(r,e){var t=!1,n=0,i=Vr(r),s=Vr(e);if(!ym(i,s))return!1;for(n;n<e.coordinates.length-1;n++){var o=PE(e.coordinates[n],e.coordinates[n+1]);if(Br({type:"Point",coordinates:o},r,{ignoreBoundary:!0})){t=!0;break}}return t}function bE(r,e){if(r.type==="Feature"&&r.geometry===null||e.type==="Feature"&&e.geometry===null)return!1;var t=Vr(r),n=Vr(e);if(!ym(t,n))return!1;for(var i=qn(e).coordinates,s=0,o=i;s<o.length;s++)for(var a=o[s],u=0,l=a;u<l.length;u++){var c=l[u];if(!Br(c,r))return!1}return!0}function ym(r,e){return!(r[0]>e[0]||r[2]<e[2]||r[1]>e[1]||r[3]<e[3])}function nd(r,e){return r[0]===e[0]&&r[1]===e[1]}function PE(r,e){return[(r[0]+e[0])/2,(r[1]+e[1])/2]}function IE(r,e){var t=qn(r),n=qn(e),i=t.type,s=n.type;switch(i){case"Point":switch(s){case"MultiPoint":return xE(t,n);case"LineString":return Hi(t,n,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return Br(t,n,{ignoreBoundary:!0});default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"MultiPoint":return TE(t,n);case"LineString":return NE(t,n);case"Polygon":case"MultiPolygon":return OE(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"LineString":return DE(t,n);case"Polygon":case"MultiPolygon":return ME(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Polygon":case"MultiPolygon":return RE(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function xE(r,e){var t,n=!1;for(t=0;t<e.coordinates.length;t++)if(wm(e.coordinates[t],r.coordinates)){n=!0;break}return n}function TE(r,e){for(var t=0;t<r.coordinates.length;t++){for(var n=!1,i=0;i<e.coordinates.length;i++)wm(r.coordinates[t],e.coordinates[i])&&(n=!0);if(!n)return!1}return!0}function NE(r,e){for(var t=!1,n=0;n<r.coordinates.length;n++){if(!Hi(r.coordinates[n],e))return!1;t||(t=Hi(r.coordinates[n],e,{ignoreEndVertices:!0}))}return t}function OE(r,e){for(var t=!0,n=!1,i=0;i<r.coordinates.length;i++){if(n=Br(r.coordinates[1],e),!n){t=!1;break}n=Br(r.coordinates[1],e,{ignoreBoundary:!0})}return t&&n}function DE(r,e){for(var t=0;t<r.coordinates.length;t++)if(!Hi(r.coordinates[t],e))return!1;return!0}function ME(r,e){var t=Vr(e),n=Vr(r);if(!_m(t,n))return!1;for(var i=!1,s=0;s<r.coordinates.length-1;s++){if(!Br(r.coordinates[s],e))return!1;if(i||(i=Br(r.coordinates[s],e,{ignoreBoundary:!0})),!i){var o=LE(r.coordinates[s],r.coordinates[s+1]);i=Br(o,e,{ignoreBoundary:!0})}}return i}function RE(r,e){var t=Vr(r),n=Vr(e);if(!_m(n,t))return!1;for(var i=0;i<r.coordinates[0].length;i++)if(!Br(r.coordinates[0][i],e))return!1;return!0}function _m(r,e){return!(r[0]>e[0]||r[2]<e[2]||r[1]>e[1]||r[3]<e[3])}function wm(r,e){return r[0]===e[0]&&r[1]===e[1]}function LE(r,e){return[(r[0]+e[0])/2,(r[1]+e[1])/2]}function FE(r,e){e===void 0&&(e={});var t=Vr(r),n=(t[0]+t[2])/2,i=(t[1]+t[3])/2;return Yt([n,i],e.properties,e)}"fill"in Array.prototype||Object.defineProperty(Array.prototype,"fill",{configurable:!0,value:function(e){if(this===void 0||this===null)throw new TypeError(this+" is not an object");var t=Object(this),n=Math.max(Math.min(t.length,9007199254740991),0)||0,i=1 in arguments&&parseInt(Number(arguments[1]),10)||0;i=i<0?Math.max(n+i,0):Math.min(i,n);var s=2 in arguments&&arguments[2]!==void 0?parseInt(Number(arguments[2]),10)||0:n;for(s=s<0?Math.max(n+arguments[2],0):Math.min(s,n);i<s;)t[i]=e,++i;return t},writable:!0}),Number.isFinite=Number.isFinite||function(r){return typeof r=="number"&&isFinite(r)},Number.isInteger=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r},Number.parseFloat=Number.parseFloat||parseFloat,Number.isNaN=Number.isNaN||function(r){return r!==r},Math.trunc=Math.trunc||function(r){return r<0?Math.ceil(r):Math.floor(r)};var ro=function(){};ro.prototype.interfaces_=function(){return[]},ro.prototype.getClass=function(){return ro},ro.prototype.equalsWithTolerance=function(e,t,n){return Math.abs(e-t)<=n};var Xt=function(r){function e(t){r.call(this,t),this.name="IllegalArgumentException",this.message=t,this.stack=new r().stack}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e}(Error),ht=function(){},Em={MAX_VALUE:{configurable:!0}};ht.isNaN=function(e){return Number.isNaN(e)},ht.doubleToLongBits=function(e){return e},ht.longBitsToDouble=function(e){return e},ht.isInfinite=function(e){return!Number.isFinite(e)},Em.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(ht,Em);var Ln=function(){},Ql=function(){},oa=function(){};function Fn(){}var R=function r(){if(this.x=null,this.y=null,this.z=null,arguments.length===0)this.x=0,this.y=0,this.z=r.NULL_ORDINATE;else if(arguments.length===1){var e=arguments[0];this.x=e.x,this.y=e.y,this.z=e.z}else arguments.length===2?(this.x=arguments[0],this.y=arguments[1],this.z=r.NULL_ORDINATE):arguments.length===3&&(this.x=arguments[0],this.y=arguments[1],this.z=arguments[2])},io={DimensionalComparator:{configurable:!0},serialVersionUID:{configurable:!0},NULL_ORDINATE:{configurable:!0},X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0}};R.prototype.setOrdinate=function(e,t){switch(e){case R.X:this.x=t;break;case R.Y:this.y=t;break;case R.Z:this.z=t;break;default:throw new Xt("Invalid ordinate index: "+e)}},R.prototype.equals2D=function(){if(arguments.length===1){var e=arguments[0];return!(this.x!==e.x||this.y!==e.y)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];return!(!ro.equalsWithTolerance(this.x,t.x,n)||!ro.equalsWithTolerance(this.y,t.y,n))}},R.prototype.getOrdinate=function(e){switch(e){case R.X:return this.x;case R.Y:return this.y;case R.Z:return this.z}throw new Xt("Invalid ordinate index: "+e)},R.prototype.equals3D=function(e){return this.x===e.x&&this.y===e.y&&(this.z===e.z||ht.isNaN(this.z))&&ht.isNaN(e.z)},R.prototype.equals=function(e){return e instanceof R?this.equals2D(e):!1},R.prototype.equalInZ=function(e,t){return ro.equalsWithTolerance(this.z,e.z,t)},R.prototype.compareTo=function(e){var t=e;return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0},R.prototype.clone=function(){},R.prototype.copy=function(){return new R(this)},R.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},R.prototype.distance3D=function(e){var t=this.x-e.x,n=this.y-e.y,i=this.z-e.z;return Math.sqrt(t*t+n*n+i*i)},R.prototype.distance=function(e){var t=this.x-e.x,n=this.y-e.y;return Math.sqrt(t*t+n*n)},R.prototype.hashCode=function(){var e=17;return e=37*e+R.hashCode(this.x),e=37*e+R.hashCode(this.y),e},R.prototype.setCoordinate=function(e){this.x=e.x,this.y=e.y,this.z=e.z},R.prototype.interfaces_=function(){return[Ln,Ql,Fn]},R.prototype.getClass=function(){return R},R.hashCode=function(){if(arguments.length===1){var e=arguments[0],t=ht.doubleToLongBits(e);return Math.trunc((t^t)>>>32)}},io.DimensionalComparator.get=function(){return qi},io.serialVersionUID.get=function(){return 6683108902428367e3},io.NULL_ORDINATE.get=function(){return ht.NaN},io.X.get=function(){return 0},io.Y.get=function(){return 1},io.Z.get=function(){return 2},Object.defineProperties(R,io);var qi=function(e){if(this._dimensionsToTest=2,arguments.length!==0){if(arguments.length===1){var t=arguments[0];if(t!==2&&t!==3)throw new Xt("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}}};qi.prototype.compare=function(e,t){var n=e,i=t,s=qi.compare(n.x,i.x);if(s!==0)return s;var o=qi.compare(n.y,i.y);if(o!==0)return o;if(this._dimensionsToTest<=2)return 0;var a=qi.compare(n.z,i.z);return a},qi.prototype.interfaces_=function(){return[oa]},qi.prototype.getClass=function(){return qi},qi.compare=function(e,t){return e<t?-1:e>t?1:ht.isNaN(e)?ht.isNaN(t)?0:-1:ht.isNaN(t)?1:0};var aa=function(){};aa.prototype.create=function(){},aa.prototype.interfaces_=function(){return[]},aa.prototype.getClass=function(){return aa};var F=function(){},Vu={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};F.prototype.interfaces_=function(){return[]},F.prototype.getClass=function(){return F},F.toLocationSymbol=function(e){switch(e){case F.EXTERIOR:return"e";case F.BOUNDARY:return"b";case F.INTERIOR:return"i";case F.NONE:return"-"}throw new Xt("Unknown location value: "+e)},Vu.INTERIOR.get=function(){return 0},Vu.BOUNDARY.get=function(){return 1},Vu.EXTERIOR.get=function(){return 2},Vu.NONE.get=function(){return-1},Object.defineProperties(F,Vu);var at=function(r,e){return r.interfaces_&&r.interfaces_().indexOf(e)>-1},Pn=function(){},Cm={LOG_10:{configurable:!0}};Pn.prototype.interfaces_=function(){return[]},Pn.prototype.getClass=function(){return Pn},Pn.log10=function(e){var t=Math.log(e);return ht.isInfinite(t)||ht.isNaN(t)?t:t/Pn.LOG_10},Pn.min=function(e,t,n,i){var s=e;return t<s&&(s=t),n<s&&(s=n),i<s&&(s=i),s},Pn.clamp=function(){if(typeof arguments[2]=="number"&&typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1],n=arguments[2];return e<t?t:e>n?n:e}else if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var i=arguments[0],s=arguments[1],o=arguments[2];return i<s?s:i>o?o:i}},Pn.wrap=function(e,t){return e<0?t- -e%t:e%t},Pn.max=function(){if(arguments.length===3){var e=arguments[0],t=arguments[1],n=arguments[2],i=e;return t>i&&(i=t),n>i&&(i=n),i}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],u=arguments[3],l=s;return o>l&&(l=o),a>l&&(l=a),u>l&&(l=u),l}},Pn.average=function(e,t){return(e+t)/2},Cm.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(Pn,Cm);var or=function(e){this.str=e};or.prototype.append=function(e){this.str+=e},or.prototype.setCharAt=function(e,t){this.str=this.str.substr(0,e)+t+this.str.substr(e+1)},or.prototype.toString=function(e){return this.str};var ar=function(e){this.value=e};ar.prototype.intValue=function(){return this.value},ar.prototype.compareTo=function(e){return this.value<e?-1:this.value>e?1:0},ar.isNaN=function(e){return Number.isNaN(e)};var Bu=function(){};Bu.isWhitespace=function(e){return e<=32&&e>=0||e===127},Bu.toUpperCase=function(e){return e.toUpperCase()};var k=function r(){if(this._hi=0,this._lo=0,arguments.length===0)this.init(0);else if(arguments.length===1){if(typeof arguments[0]=="number"){var e=arguments[0];this.init(e)}else if(arguments[0]instanceof r){var t=arguments[0];this.init(t)}else if(typeof arguments[0]=="string"){var n=arguments[0];r.call(this,r.parse(n))}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];this.init(i,s)}},Xn={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};k.prototype.le=function(e){return(this._hi<e._hi||this._hi===e._hi)&&this._lo<=e._lo},k.prototype.extractSignificantDigits=function(e,t){var n=this.abs(),i=k.magnitude(n._hi),s=k.TEN.pow(i);n=n.divide(s),n.gt(k.TEN)?(n=n.divide(k.TEN),i+=1):n.lt(k.ONE)&&(n=n.multiply(k.TEN),i-=1);for(var o=i+1,a=new or,u=k.MAX_PRINT_DIGITS-1,l=0;l<=u;l++){e&&l===o&&a.append(".");var c=Math.trunc(n._hi);if(c<0)break;var h=!1,f=0;c>9?(h=!0,f="9"):f="0"+c,a.append(f),n=n.subtract(k.valueOf(c)).multiply(k.TEN),h&&n.selfAdd(k.TEN);var p=!0,v=k.magnitude(n._hi);if(v<0&&Math.abs(v)>=u-l&&(p=!1),!p)break}return t[0]=i,a.toString()},k.prototype.sqr=function(){return this.multiply(this)},k.prototype.doubleValue=function(){return this._hi+this._lo},k.prototype.subtract=function(){if(arguments[0]instanceof k){var e=arguments[0];return this.add(e.negate())}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.add(-t)}},k.prototype.equals=function(){if(arguments.length===1){var e=arguments[0];return this._hi===e._hi&&this._lo===e._lo}},k.prototype.isZero=function(){return this._hi===0&&this._lo===0},k.prototype.selfSubtract=function(){if(arguments[0]instanceof k){var e=arguments[0];return this.isNaN()?this:this.selfAdd(-e._hi,-e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t,0)}},k.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},k.prototype.min=function(e){return this.le(e)?this:e},k.prototype.selfDivide=function(){if(arguments.length===1){if(arguments[0]instanceof k){var e=arguments[0];return this.selfDivide(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.selfDivide(t,0)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1],s=null,o=null,a=null,u=null,l=null,c=null,h=null,f=null;return l=this._hi/n,c=k.SPLIT*l,s=c-l,f=k.SPLIT*n,s=c-s,o=l-s,a=f-n,h=l*n,a=f-a,u=n-a,f=s*a-h+s*u+o*a+o*u,c=(this._hi-h-f+this._lo-l*i)/n,f=l+c,this._hi=f,this._lo=l-f+c,this}},k.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},k.prototype.divide=function(){if(arguments[0]instanceof k){var e=arguments[0],t=null,n=null,i=null,s=null,o=null,a=null,u=null,l=null;o=this._hi/e._hi,a=k.SPLIT*o,t=a-o,l=k.SPLIT*e._hi,t=a-t,n=o-t,i=l-e._hi,u=o*e._hi,i=l-i,s=e._hi-i,l=t*i-u+t*s+n*i+n*s,a=(this._hi-u-l+this._lo-o*e._lo)/e._hi,l=o+a;var c=l,h=o-l+a;return new k(c,h)}else if(typeof arguments[0]=="number"){var f=arguments[0];return ht.isNaN(f)?k.createNaN():k.copy(this).selfDivide(f,0)}},k.prototype.ge=function(e){return(this._hi>e._hi||this._hi===e._hi)&&this._lo>=e._lo},k.prototype.pow=function(e){if(e===0)return k.valueOf(1);var t=new k(this),n=k.valueOf(1),i=Math.abs(e);if(i>1)for(;i>0;)i%2===1&&n.selfMultiply(t),i/=2,i>0&&(t=t.sqr());else n=t;return e<0?n.reciprocal():n},k.prototype.ceil=function(){if(this.isNaN())return k.NaN;var e=Math.ceil(this._hi),t=0;return e===this._hi&&(t=Math.ceil(this._lo)),new k(e,t)},k.prototype.compareTo=function(e){var t=e;return this._hi<t._hi?-1:this._hi>t._hi?1:this._lo<t._lo?-1:this._lo>t._lo?1:0},k.prototype.rint=function(){if(this.isNaN())return this;var e=this.add(.5);return e.floor()},k.prototype.setValue=function(){if(arguments[0]instanceof k){var e=arguments[0];return this.init(e),this}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.init(t),this}},k.prototype.max=function(e){return this.ge(e)?this:e},k.prototype.sqrt=function(){if(this.isZero())return k.valueOf(0);if(this.isNegative())return k.NaN;var e=1/Math.sqrt(this._hi),t=this._hi*e,n=k.valueOf(t),i=this.subtract(n.sqr()),s=i._hi*(e*.5);return n.add(s)},k.prototype.selfAdd=function(){if(arguments.length===1){if(arguments[0]instanceof k){var e=arguments[0];return this.selfAdd(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0],n=null,i=null,s=null,o=null,a=null,u=null;return s=this._hi+t,a=s-this._hi,o=s-a,o=t-a+(this._hi-o),u=o+this._lo,n=s+u,i=u+(s-n),this._hi=n+i,this._lo=i+(n-this._hi),this}}else if(arguments.length===2){var l=arguments[0],c=arguments[1],h=null,f=null,p=null,v=null,C=null,S=null,P=null,y=null;C=this._hi+l,p=this._lo+c,P=C-this._hi,y=p-this._lo,S=C-P,v=p-y,S=l-P+(this._hi-S),v=c-y+(this._lo-v),P=S+p,h=C+P,f=P+(C-h),P=v+f;var _=h+P,m=P+(h-_);return this._hi=_,this._lo=m,this}},k.prototype.selfMultiply=function(){if(arguments.length===1){if(arguments[0]instanceof k){var e=arguments[0];return this.selfMultiply(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.selfMultiply(t,0)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1],s=null,o=null,a=null,u=null,l=null,c=null;l=k.SPLIT*this._hi,s=l-this._hi,c=k.SPLIT*n,s=l-s,o=this._hi-s,a=c-n,l=this._hi*n,a=c-a,u=n-a,c=s*a-l+s*u+o*a+o*u+(this._hi*i+this._lo*n);var h=l+c;s=l-h;var f=c+s;return this._hi=h,this._lo=f,this}},k.prototype.selfSqr=function(){return this.selfMultiply(this)},k.prototype.floor=function(){if(this.isNaN())return k.NaN;var e=Math.floor(this._hi),t=0;return e===this._hi&&(t=Math.floor(this._lo)),new k(e,t)},k.prototype.negate=function(){return this.isNaN()?this:new k(-this._hi,-this._lo)},k.prototype.clone=function(){},k.prototype.multiply=function(){if(arguments[0]instanceof k){var e=arguments[0];return e.isNaN()?k.createNaN():k.copy(this).selfMultiply(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return ht.isNaN(t)?k.createNaN():k.copy(this).selfMultiply(t,0)}},k.prototype.isNaN=function(){return ht.isNaN(this._hi)},k.prototype.intValue=function(){return Math.trunc(this._hi)},k.prototype.toString=function(){var e=k.magnitude(this._hi);return e>=-3&&e<=20?this.toStandardNotation():this.toSciNotation()},k.prototype.toStandardNotation=function(){var e=this.getSpecialNumberString();if(e!==null)return e;var t=new Array(1).fill(null),n=this.extractSignificantDigits(!0,t),i=t[0]+1,s=n;if(n.charAt(0)===".")s="0"+n;else if(i<0)s="0."+k.stringOfChar("0",-i)+n;else if(n.indexOf(".")===-1){var o=i-n.length,a=k.stringOfChar("0",o);s=n+a+".0"}return this.isNegative()?"-"+s:s},k.prototype.reciprocal=function(){var e=null,t=null,n=null,i=null,s=null,o=null,a=null,u=null;s=1/this._hi,o=k.SPLIT*s,e=o-s,u=k.SPLIT*this._hi,e=o-e,t=s-e,n=u-this._hi,a=s*this._hi,n=u-n,i=this._hi-n,u=e*n-a+e*i+t*n+t*i,o=(1-a-u-s*this._lo)/this._hi;var l=s+o,c=s-l+o;return new k(l,c)},k.prototype.toSciNotation=function(){if(this.isZero())return k.SCI_NOT_ZERO;var e=this.getSpecialNumberString();if(e!==null)return e;var t=new Array(1).fill(null),n=this.extractSignificantDigits(!1,t),i=k.SCI_NOT_EXPONENT_CHAR+t[0];if(n.charAt(0)==="0")throw new Error("Found leading zero: "+n);var s="";n.length>1&&(s=n.substring(1));var o=n.charAt(0)+"."+s;return this.isNegative()?"-"+o+i:o+i},k.prototype.abs=function(){return this.isNaN()?k.NaN:this.isNegative()?this.negate():new k(this)},k.prototype.isPositive=function(){return(this._hi>0||this._hi===0)&&this._lo>0},k.prototype.lt=function(e){return(this._hi<e._hi||this._hi===e._hi)&&this._lo<e._lo},k.prototype.add=function(){if(arguments[0]instanceof k){var e=arguments[0];return k.copy(this).selfAdd(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return k.copy(this).selfAdd(t)}},k.prototype.init=function(){if(arguments.length===1){if(typeof arguments[0]=="number"){var e=arguments[0];this._hi=e,this._lo=0}else if(arguments[0]instanceof k){var t=arguments[0];this._hi=t._hi,this._lo=t._lo}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this._hi=n,this._lo=i}},k.prototype.gt=function(e){return(this._hi>e._hi||this._hi===e._hi)&&this._lo>e._lo},k.prototype.isNegative=function(){return(this._hi<0||this._hi===0)&&this._lo<0},k.prototype.trunc=function(){return this.isNaN()?k.NaN:this.isPositive()?this.floor():this.ceil()},k.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},k.prototype.interfaces_=function(){return[Fn,Ln,Ql]},k.prototype.getClass=function(){return k},k.sqr=function(e){return k.valueOf(e).selfMultiply(e)},k.valueOf=function(){if(typeof arguments[0]=="string"){var e=arguments[0];return k.parse(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return new k(t)}},k.sqrt=function(e){return k.valueOf(e).sqrt()},k.parse=function(e){for(var t=0,n=e.length;Bu.isWhitespace(e.charAt(t));)t++;var i=!1;if(t<n){var s=e.charAt(t);(s==="-"||s==="+")&&(t++,s==="-"&&(i=!0))}for(var o=new k,a=0,u=0,l=0;!(t>=n);){var c=e.charAt(t);if(t++,Bu.isDigit(c)){var h=c-"0";o.selfMultiply(k.TEN),o.selfAdd(h),a++;continue}if(c==="."){u=a;continue}if(c==="e"||c==="E"){var f=e.substring(t);try{l=ar.parseInt(f)}catch(P){throw P instanceof Error?new Error("Invalid exponent "+f+" in string "+e):P}finally{}break}throw new Error("Unexpected character '"+c+"' at position "+t+" in string "+e)}var p=o,v=a-u-l;if(v===0)p=o;else if(v>0){var C=k.TEN.pow(v);p=o.divide(C)}else if(v<0){var S=k.TEN.pow(-v);p=o.multiply(S)}return i?p.negate():p},k.createNaN=function(){return new k(ht.NaN,ht.NaN)},k.copy=function(e){return new k(e)},k.magnitude=function(e){var t=Math.abs(e),n=Math.log(t)/Math.log(10),i=Math.trunc(Math.floor(n)),s=Math.pow(10,i);return s*10<=t&&(i+=1),i},k.stringOfChar=function(e,t){for(var n=new or,i=0;i<t;i++)n.append(e);return n.toString()},Xn.PI.get=function(){return new k(3.141592653589793,12246467991473532e-32)},Xn.TWO_PI.get=function(){return new k(6.283185307179586,24492935982947064e-32)},Xn.PI_2.get=function(){return new k(1.5707963267948966,6123233995736766e-32)},Xn.E.get=function(){return new k(2.718281828459045,14456468917292502e-32)},Xn.NaN.get=function(){return new k(ht.NaN,ht.NaN)},Xn.EPS.get=function(){return 123259516440783e-46},Xn.SPLIT.get=function(){return 134217729},Xn.MAX_PRINT_DIGITS.get=function(){return 32},Xn.TEN.get=function(){return k.valueOf(10)},Xn.ONE.get=function(){return k.valueOf(1)},Xn.SCI_NOT_EXPONENT_CHAR.get=function(){return"E"},Xn.SCI_NOT_ZERO.get=function(){return"0.0E0"},Object.defineProperties(k,Xn);var Qe=function(){},Sm={DP_SAFE_EPSILON:{configurable:!0}};Qe.prototype.interfaces_=function(){return[]},Qe.prototype.getClass=function(){return Qe},Qe.orientationIndex=function(e,t,n){var i=Qe.orientationIndexFilter(e,t,n);if(i<=1)return i;var s=k.valueOf(t.x).selfAdd(-e.x),o=k.valueOf(t.y).selfAdd(-e.y),a=k.valueOf(n.x).selfAdd(-t.x),u=k.valueOf(n.y).selfAdd(-t.y);return s.selfMultiply(u).selfSubtract(o.selfMultiply(a)).signum()},Qe.signOfDet2x2=function(e,t,n,i){var s=e.multiply(i).selfSubtract(t.multiply(n));return s.signum()},Qe.intersection=function(e,t,n,i){var s=k.valueOf(i.y).selfSubtract(n.y).selfMultiply(k.valueOf(t.x).selfSubtract(e.x)),o=k.valueOf(i.x).selfSubtract(n.x).selfMultiply(k.valueOf(t.y).selfSubtract(e.y)),a=s.subtract(o),u=k.valueOf(i.x).selfSubtract(n.x).selfMultiply(k.valueOf(e.y).selfSubtract(n.y)),l=k.valueOf(i.y).selfSubtract(n.y).selfMultiply(k.valueOf(e.x).selfSubtract(n.x)),c=u.subtract(l),h=c.selfDivide(a).doubleValue(),f=k.valueOf(e.x).selfAdd(k.valueOf(t.x).selfSubtract(e.x).selfMultiply(h)).doubleValue(),p=k.valueOf(t.x).selfSubtract(e.x).selfMultiply(k.valueOf(e.y).selfSubtract(n.y)),v=k.valueOf(t.y).selfSubtract(e.y).selfMultiply(k.valueOf(e.x).selfSubtract(n.x)),C=p.subtract(v),S=C.selfDivide(a).doubleValue(),P=k.valueOf(n.y).selfAdd(k.valueOf(i.y).selfSubtract(n.y).selfMultiply(S)).doubleValue();return new R(f,P)},Qe.orientationIndexFilter=function(e,t,n){var i=null,s=(e.x-n.x)*(t.y-n.y),o=(e.y-n.y)*(t.x-n.x),a=s-o;if(s>0){if(o<=0)return Qe.signum(a);i=s+o}else if(s<0){if(o>=0)return Qe.signum(a);i=-s-o}else return Qe.signum(a);var u=Qe.DP_SAFE_EPSILON*i;return a>=u||-a>=u?Qe.signum(a):2},Qe.signum=function(e){return e>0?1:e<0?-1:0},Sm.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(Qe,Sm);var Tt=function(){},ju={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};ju.X.get=function(){return 0},ju.Y.get=function(){return 1},ju.Z.get=function(){return 2},ju.M.get=function(){return 3},Tt.prototype.setOrdinate=function(e,t,n){},Tt.prototype.size=function(){},Tt.prototype.getOrdinate=function(e,t){},Tt.prototype.getCoordinate=function(){},Tt.prototype.getCoordinateCopy=function(e){},Tt.prototype.getDimension=function(){},Tt.prototype.getX=function(e){},Tt.prototype.clone=function(){},Tt.prototype.expandEnvelope=function(e){},Tt.prototype.copy=function(){},Tt.prototype.getY=function(e){},Tt.prototype.toCoordinateArray=function(){},Tt.prototype.interfaces_=function(){return[Ql]},Tt.prototype.getClass=function(){return Tt},Object.defineProperties(Tt,ju);var bm=function(){},ua=function(r){function e(){r.call(this,"Projective point not representable on the Cartesian plane.")}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(bm),xe=function(){};xe.arraycopy=function(e,t,n,i,s){for(var o=0,a=t;a<t+s;a++)n[i+o]=e[a],o++},xe.getProperty=function(e){return{"line.separator":`
42
- `}[e]};var Yn=function r(){if(this.x=null,this.y=null,this.w=null,arguments.length===0)this.x=0,this.y=0,this.w=1;else if(arguments.length===1){var e=arguments[0];this.x=e.x,this.y=e.y,this.w=1}else if(arguments.length===2){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var t=arguments[0],n=arguments[1];this.x=t,this.y=n,this.w=1}else if(arguments[0]instanceof r&&arguments[1]instanceof r){var i=arguments[0],s=arguments[1];this.x=i.y*s.w-s.y*i.w,this.y=s.x*i.w-i.x*s.w,this.w=i.x*s.y-s.x*i.y}else if(arguments[0]instanceof R&&arguments[1]instanceof R){var o=arguments[0],a=arguments[1];this.x=o.y-a.y,this.y=a.x-o.x,this.w=o.x*a.y-a.x*o.y}}else if(arguments.length===3){var u=arguments[0],l=arguments[1],c=arguments[2];this.x=u,this.y=l,this.w=c}else if(arguments.length===4){var h=arguments[0],f=arguments[1],p=arguments[2],v=arguments[3],C=h.y-f.y,S=f.x-h.x,P=h.x*f.y-f.x*h.y,y=p.y-v.y,_=v.x-p.x,m=p.x*v.y-v.x*p.y;this.x=S*m-_*P,this.y=y*P-C*m,this.w=C*_-y*S}};Yn.prototype.getY=function(){var e=this.y/this.w;if(ht.isNaN(e)||ht.isInfinite(e))throw new ua;return e},Yn.prototype.getX=function(){var e=this.x/this.w;if(ht.isNaN(e)||ht.isInfinite(e))throw new ua;return e},Yn.prototype.getCoordinate=function(){var e=new R;return e.x=this.getX(),e.y=this.getY(),e},Yn.prototype.interfaces_=function(){return[]},Yn.prototype.getClass=function(){return Yn},Yn.intersection=function(e,t,n,i){var s=e.y-t.y,o=t.x-e.x,a=e.x*t.y-t.x*e.y,u=n.y-i.y,l=i.x-n.x,c=n.x*i.y-i.x*n.y,h=o*c-l*a,f=u*a-s*c,p=s*l-u*o,v=h/p,C=f/p;if(ht.isNaN(v)||ht.isInfinite(v)||ht.isNaN(C)||ht.isInfinite(C))throw new ua;return new R(v,C)};var Q=function r(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,arguments.length===0)this.init();else if(arguments.length===1){if(arguments[0]instanceof R){var e=arguments[0];this.init(e.x,e.x,e.y,e.y)}else if(arguments[0]instanceof r){var t=arguments[0];this.init(t)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this.init(n.x,i.x,n.y,i.y)}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],u=arguments[3];this.init(s,o,a,u)}},Pm={serialVersionUID:{configurable:!0}};Q.prototype.getArea=function(){return this.getWidth()*this.getHeight()},Q.prototype.equals=function(e){if(!(e instanceof Q))return!1;var t=e;return this.isNull()?t.isNull():this._maxx===t.getMaxX()&&this._maxy===t.getMaxY()&&this._minx===t.getMinX()&&this._miny===t.getMinY()},Q.prototype.intersection=function(e){if(this.isNull()||e.isNull()||!this.intersects(e))return new Q;var t=this._minx>e._minx?this._minx:e._minx,n=this._miny>e._miny?this._miny:e._miny,i=this._maxx<e._maxx?this._maxx:e._maxx,s=this._maxy<e._maxy?this._maxy:e._maxy;return new Q(t,i,n,s)},Q.prototype.isNull=function(){return this._maxx<this._minx},Q.prototype.getMaxX=function(){return this._maxx},Q.prototype.covers=function(){if(arguments.length===1){if(arguments[0]instanceof R){var e=arguments[0];return this.covers(e.x,e.y)}else if(arguments[0]instanceof Q){var t=arguments[0];return this.isNull()||t.isNull()?!1:t.getMinX()>=this._minx&&t.getMaxX()<=this._maxx&&t.getMinY()>=this._miny&&t.getMaxY()<=this._maxy}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];return this.isNull()?!1:n>=this._minx&&n<=this._maxx&&i>=this._miny&&i<=this._maxy}},Q.prototype.intersects=function(){if(arguments.length===1){if(arguments[0]instanceof Q){var e=arguments[0];return this.isNull()||e.isNull()?!1:!(e._minx>this._maxx||e._maxx<this._minx||e._miny>this._maxy||e._maxy<this._miny)}else if(arguments[0]instanceof R){var t=arguments[0];return this.intersects(t.x,t.y)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];return this.isNull()?!1:!(n>this._maxx||n<this._minx||i>this._maxy||i<this._miny)}},Q.prototype.getMinY=function(){return this._miny},Q.prototype.getMinX=function(){return this._minx},Q.prototype.expandToInclude=function(){if(arguments.length===1){if(arguments[0]instanceof R){var e=arguments[0];this.expandToInclude(e.x,e.y)}else if(arguments[0]instanceof Q){var t=arguments[0];if(t.isNull())return null;this.isNull()?(this._minx=t.getMinX(),this._maxx=t.getMaxX(),this._miny=t.getMinY(),this._maxy=t.getMaxY()):(t._minx<this._minx&&(this._minx=t._minx),t._maxx>this._maxx&&(this._maxx=t._maxx),t._miny<this._miny&&(this._miny=t._miny),t._maxy>this._maxy&&(this._maxy=t._maxy))}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this.isNull()?(this._minx=n,this._maxx=n,this._miny=i,this._maxy=i):(n<this._minx&&(this._minx=n),n>this._maxx&&(this._maxx=n),i<this._miny&&(this._miny=i),i>this._maxy&&(this._maxy=i))}},Q.prototype.minExtent=function(){if(this.isNull())return 0;var e=this.getWidth(),t=this.getHeight();return e<t?e:t},Q.prototype.getWidth=function(){return this.isNull()?0:this._maxx-this._minx},Q.prototype.compareTo=function(e){var t=e;return this.isNull()?t.isNull()?0:-1:t.isNull()?1:this._minx<t._minx?-1:this._minx>t._minx?1:this._miny<t._miny?-1:this._miny>t._miny?1:this._maxx<t._maxx?-1:this._maxx>t._maxx?1:this._maxy<t._maxy?-1:this._maxy>t._maxy?1:0},Q.prototype.translate=function(e,t){if(this.isNull())return null;this.init(this.getMinX()+e,this.getMaxX()+e,this.getMinY()+t,this.getMaxY()+t)},Q.prototype.toString=function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"},Q.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},Q.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},Q.prototype.maxExtent=function(){if(this.isNull())return 0;var e=this.getWidth(),t=this.getHeight();return e>t?e:t},Q.prototype.expandBy=function(){if(arguments.length===1){var e=arguments[0];this.expandBy(e,e)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];if(this.isNull())return null;this._minx-=t,this._maxx+=t,this._miny-=n,this._maxy+=n,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}},Q.prototype.contains=function(){if(arguments.length===1){if(arguments[0]instanceof Q){var e=arguments[0];return this.covers(e)}else if(arguments[0]instanceof R){var t=arguments[0];return this.covers(t)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];return this.covers(n,i)}},Q.prototype.centre=function(){return this.isNull()?null:new R((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},Q.prototype.init=function(){if(arguments.length===0)this.setToNull();else if(arguments.length===1){if(arguments[0]instanceof R){var e=arguments[0];this.init(e.x,e.x,e.y,e.y)}else if(arguments[0]instanceof Q){var t=arguments[0];this._minx=t._minx,this._maxx=t._maxx,this._miny=t._miny,this._maxy=t._maxy}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this.init(n.x,i.x,n.y,i.y)}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],u=arguments[3];s<o?(this._minx=s,this._maxx=o):(this._minx=o,this._maxx=s),a<u?(this._miny=a,this._maxy=u):(this._miny=u,this._maxy=a)}},Q.prototype.getMaxY=function(){return this._maxy},Q.prototype.distance=function(e){if(this.intersects(e))return 0;var t=0;this._maxx<e._minx?t=e._minx-this._maxx:this._minx>e._maxx&&(t=this._minx-e._maxx);var n=0;return this._maxy<e._miny?n=e._miny-this._maxy:this._miny>e._maxy&&(n=this._miny-e._maxy),t===0?n:n===0?t:Math.sqrt(t*t+n*n)},Q.prototype.hashCode=function(){var e=17;return e=37*e+R.hashCode(this._minx),e=37*e+R.hashCode(this._maxx),e=37*e+R.hashCode(this._miny),e=37*e+R.hashCode(this._maxy),e},Q.prototype.interfaces_=function(){return[Ln,Fn]},Q.prototype.getClass=function(){return Q},Q.intersects=function(){if(arguments.length===3){var e=arguments[0],t=arguments[1],n=arguments[2];return n.x>=(e.x<t.x?e.x:t.x)&&n.x<=(e.x>t.x?e.x:t.x)&&n.y>=(e.y<t.y?e.y:t.y)&&n.y<=(e.y>t.y?e.y:t.y)}else if(arguments.length===4){var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3],u=Math.min(o.x,a.x),l=Math.max(o.x,a.x),c=Math.min(i.x,s.x),h=Math.max(i.x,s.x);return!(c>l||h<u||(u=Math.min(o.y,a.y),l=Math.max(o.y,a.y),c=Math.min(i.y,s.y),h=Math.max(i.y,s.y),c>l)||h<u)}},Pm.serialVersionUID.get=function(){return 5873921885273102e3},Object.defineProperties(Q,Pm);var ur={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,emptyTypeStr:/^\s*(\w+)\s*EMPTY\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/},tc=function(e){this.geometryFactory=e||new Ct};tc.prototype.read=function(e){var t,n,i;e=e.replace(/[\n\r]/g," ");var s=ur.typeStr.exec(e);if(e.search("EMPTY")!==-1&&(s=ur.emptyTypeStr.exec(e),s[2]=void 0),s&&(n=s[1].toLowerCase(),i=s[2],la[n]&&(t=la[n].apply(this,[i]))),t===void 0)throw new Error("Could not parse WKT "+e);return t},tc.prototype.write=function(e){return this.extractGeometry(e)},tc.prototype.extractGeometry=function(e){var t=e.getGeometryType().toLowerCase();if(!fi[t])return null;var n=t.toUpperCase(),i;return e.isEmpty()?i=n+" EMPTY":i=n+"("+fi[t].apply(this,[e])+")",i};var fi={coordinate:function(e){return e.x+" "+e.y},point:function(e){return fi.coordinate.call(this,e._coordinates._coordinates[0])},multipoint:function(e){for(var t=this,n=[],i=0,s=e._geometries.length;i<s;++i)n.push("("+fi.point.apply(t,[e._geometries[i]])+")");return n.join(",")},linestring:function(e){for(var t=this,n=[],i=0,s=e._points._coordinates.length;i<s;++i)n.push(fi.coordinate.apply(t,[e._points._coordinates[i]]));return n.join(",")},linearring:function(e){for(var t=this,n=[],i=0,s=e._points._coordinates.length;i<s;++i)n.push(fi.coordinate.apply(t,[e._points._coordinates[i]]));return n.join(",")},multilinestring:function(e){for(var t=this,n=[],i=0,s=e._geometries.length;i<s;++i)n.push("("+fi.linestring.apply(t,[e._geometries[i]])+")");return n.join(",")},polygon:function(e){var t=this,n=[];n.push("("+fi.linestring.apply(this,[e._shell])+")");for(var i=0,s=e._holes.length;i<s;++i)n.push("("+fi.linestring.apply(t,[e._holes[i]])+")");return n.join(",")},multipolygon:function(e){for(var t=this,n=[],i=0,s=e._geometries.length;i<s;++i)n.push("("+fi.polygon.apply(t,[e._geometries[i]])+")");return n.join(",")},geometrycollection:function(e){for(var t=this,n=[],i=0,s=e._geometries.length;i<s;++i)n.push(t.extractGeometry(e._geometries[i]));return n.join(",")}},la={point:function(e){if(e===void 0)return this.geometryFactory.createPoint();var t=e.trim().split(ur.spaces);return this.geometryFactory.createPoint(new R(Number.parseFloat(t[0]),Number.parseFloat(t[1])))},multipoint:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiPoint();for(var n,i=e.trim().split(","),s=[],o=0,a=i.length;o<a;++o)n=i[o].replace(ur.trimParens,"$1"),s.push(la.point.apply(t,[n]));return this.geometryFactory.createMultiPoint(s)},linestring:function(e){if(e===void 0)return this.geometryFactory.createLineString();for(var t=e.trim().split(","),n=[],i,s=0,o=t.length;s<o;++s)i=t[s].trim().split(ur.spaces),n.push(new R(Number.parseFloat(i[0]),Number.parseFloat(i[1])));return this.geometryFactory.createLineString(n)},linearring:function(e){if(e===void 0)return this.geometryFactory.createLinearRing();for(var t=e.trim().split(","),n=[],i,s=0,o=t.length;s<o;++s)i=t[s].trim().split(ur.spaces),n.push(new R(Number.parseFloat(i[0]),Number.parseFloat(i[1])));return this.geometryFactory.createLinearRing(n)},multilinestring:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiLineString();for(var n,i=e.trim().split(ur.parenComma),s=[],o=0,a=i.length;o<a;++o)n=i[o].replace(ur.trimParens,"$1"),s.push(la.linestring.apply(t,[n]));return this.geometryFactory.createMultiLineString(s)},polygon:function(e){var t=this;if(e===void 0)return this.geometryFactory.createPolygon();for(var n,i,s,o=e.trim().split(ur.parenComma),a,u=[],l=0,c=o.length;l<c;++l)n=o[l].replace(ur.trimParens,"$1"),i=la.linestring.apply(t,[n]),s=t.geometryFactory.createLinearRing(i._points),l===0?a=s:u.push(s);return this.geometryFactory.createPolygon(a,u)},multipolygon:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiPolygon();for(var n,i=e.trim().split(ur.doubleParenComma),s=[],o=0,a=i.length;o<a;++o)n=i[o].replace(ur.trimParens,"$1"),s.push(la.polygon.apply(t,[n]));return this.geometryFactory.createMultiPolygon(s)},geometrycollection:function(e){var t=this;if(e===void 0)return this.geometryFactory.createGeometryCollection();e=e.replace(/,\s*([A-Za-z])/g,"|$1");for(var n=e.trim().split("|"),i=[],s=0,o=n.length;s<o;++s)i.push(t.read(n[s]));return this.geometryFactory.createGeometryCollection(i)}},Jn=function(e){this.parser=new tc(e)};Jn.prototype.write=function(e){return this.parser.write(e)},Jn.toLineString=function(e,t){if(arguments.length!==2)throw new Error("Not implemented");return"LINESTRING ( "+e.x+" "+e.y+", "+t.x+" "+t.y+" )"};var pi=function(r){function e(t){r.call(this,t),this.name="RuntimeException",this.message=t,this.stack=new r().stack}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e}(Error),ec=function(r){function e(){if(r.call(this),arguments.length===0)r.call(this);else if(arguments.length===1){var t=arguments[0];r.call(this,t)}}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pi),vt=function(){};vt.prototype.interfaces_=function(){return[]},vt.prototype.getClass=function(){return vt},vt.shouldNeverReachHere=function(){if(arguments.length===0)vt.shouldNeverReachHere(null);else if(arguments.length===1){var e=arguments[0];throw new ec("Should never reach here"+(e!==null?": "+e:""))}},vt.isTrue=function(){var e,t;if(arguments.length===1)e=arguments[0],vt.isTrue(e,null);else if(arguments.length===2&&(e=arguments[0],t=arguments[1],!e))throw t===null?new ec:new ec(t)},vt.equals=function(){var e,t,n;if(arguments.length===2)e=arguments[0],t=arguments[1],vt.equals(e,t,null);else if(arguments.length===3&&(e=arguments[0],t=arguments[1],n=arguments[2],!t.equals(e)))throw new ec("Expected "+e+" but encountered "+t+(n!==null?": "+n:""))};var Jt=function(){this._result=null,this._inputLines=Array(2).fill().map(function(){return Array(2)}),this._intPt=new Array(2).fill(null),this._intLineIndex=null,this._isProper=null,this._pa=null,this._pb=null,this._precisionModel=null,this._intPt[0]=new R,this._intPt[1]=new R,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},so={DONT_INTERSECT:{configurable:!0},DO_INTERSECT:{configurable:!0},COLLINEAR:{configurable:!0},NO_INTERSECTION:{configurable:!0},POINT_INTERSECTION:{configurable:!0},COLLINEAR_INTERSECTION:{configurable:!0}};Jt.prototype.getIndexAlongSegment=function(e,t){return this.computeIntLineIndex(),this._intLineIndex[e][t]},Jt.prototype.getTopologySummary=function(){var e=new or;return this.isEndPoint()&&e.append(" endpoint"),this._isProper&&e.append(" proper"),this.isCollinear()&&e.append(" collinear"),e.toString()},Jt.prototype.computeIntersection=function(e,t,n,i){this._inputLines[0][0]=e,this._inputLines[0][1]=t,this._inputLines[1][0]=n,this._inputLines[1][1]=i,this._result=this.computeIntersect(e,t,n,i)},Jt.prototype.getIntersectionNum=function(){return this._result},Jt.prototype.computeIntLineIndex=function(){if(arguments.length===0)this._intLineIndex===null&&(this._intLineIndex=Array(2).fill().map(function(){return Array(2)}),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(arguments.length===1){var e=arguments[0],t=this.getEdgeDistance(e,0),n=this.getEdgeDistance(e,1);t>n?(this._intLineIndex[e][0]=0,this._intLineIndex[e][1]=1):(this._intLineIndex[e][0]=1,this._intLineIndex[e][1]=0)}},Jt.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},Jt.prototype.setPrecisionModel=function(e){this._precisionModel=e},Jt.prototype.isInteriorIntersection=function(){var e=this;if(arguments.length===0)return!!(this.isInteriorIntersection(0)||this.isInteriorIntersection(1));if(arguments.length===1){for(var t=arguments[0],n=0;n<this._result;n++)if(!(e._intPt[n].equals2D(e._inputLines[t][0])||e._intPt[n].equals2D(e._inputLines[t][1])))return!0;return!1}},Jt.prototype.getIntersection=function(e){return this._intPt[e]},Jt.prototype.isEndPoint=function(){return this.hasIntersection()&&!this._isProper},Jt.prototype.hasIntersection=function(){return this._result!==Jt.NO_INTERSECTION},Jt.prototype.getEdgeDistance=function(e,t){var n=Jt.computeEdgeDistance(this._intPt[t],this._inputLines[e][0],this._inputLines[e][1]);return n},Jt.prototype.isCollinear=function(){return this._result===Jt.COLLINEAR_INTERSECTION},Jt.prototype.toString=function(){return Jn.toLineString(this._inputLines[0][0],this._inputLines[0][1])+" - "+Jn.toLineString(this._inputLines[1][0],this._inputLines[1][1])+this.getTopologySummary()},Jt.prototype.getEndpoint=function(e,t){return this._inputLines[e][t]},Jt.prototype.isIntersection=function(e){for(var t=this,n=0;n<this._result;n++)if(t._intPt[n].equals2D(e))return!0;return!1},Jt.prototype.getIntersectionAlongSegment=function(e,t){return this.computeIntLineIndex(),this._intPt[this._intLineIndex[e][t]]},Jt.prototype.interfaces_=function(){return[]},Jt.prototype.getClass=function(){return Jt},Jt.computeEdgeDistance=function(e,t,n){var i=Math.abs(n.x-t.x),s=Math.abs(n.y-t.y),o=-1;if(e.equals(t))o=0;else if(e.equals(n))i>s?o=i:o=s;else{var a=Math.abs(e.x-t.x),u=Math.abs(e.y-t.y);i>s?o=a:o=u,o===0&&!e.equals(t)&&(o=Math.max(a,u))}return vt.isTrue(!(o===0&&!e.equals(t)),"Bad distance calculation"),o},Jt.nonRobustComputeEdgeDistance=function(e,t,n){var i=e.x-t.x,s=e.y-t.y,o=Math.sqrt(i*i+s*s);return vt.isTrue(!(o===0&&!e.equals(t)),"Invalid distance calculation"),o},so.DONT_INTERSECT.get=function(){return 0},so.DO_INTERSECT.get=function(){return 1},so.COLLINEAR.get=function(){return 2},so.NO_INTERSECTION.get=function(){return 0},so.POINT_INTERSECTION.get=function(){return 1},so.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(Jt,so);var _s=function(r){function e(){r.apply(this,arguments)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.isInSegmentEnvelopes=function(n){var i=new Q(this._inputLines[0][0],this._inputLines[0][1]),s=new Q(this._inputLines[1][0],this._inputLines[1][1]);return i.contains(n)&&s.contains(n)},e.prototype.computeIntersection=function(){if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];if(this._isProper=!1,Q.intersects(i,s,n)&&q.orientationIndex(i,s,n)===0&&q.orientationIndex(s,i,n)===0)return this._isProper=!0,(n.equals(i)||n.equals(s))&&(this._isProper=!1),this._result=r.POINT_INTERSECTION,null;this._result=r.NO_INTERSECTION}else return r.prototype.computeIntersection.apply(this,arguments)},e.prototype.normalizeToMinimum=function(n,i,s,o,a){a.x=this.smallestInAbsValue(n.x,i.x,s.x,o.x),a.y=this.smallestInAbsValue(n.y,i.y,s.y,o.y),n.x-=a.x,n.y-=a.y,i.x-=a.x,i.y-=a.y,s.x-=a.x,s.y-=a.y,o.x-=a.x,o.y-=a.y},e.prototype.safeHCoordinateIntersection=function(n,i,s,o){var a=null;try{a=Yn.intersection(n,i,s,o)}catch(u){if(u instanceof ua)a=e.nearestEndpoint(n,i,s,o);else throw u}finally{}return a},e.prototype.intersection=function(n,i,s,o){var a=this.intersectionWithNormalization(n,i,s,o);return this.isInSegmentEnvelopes(a)||(a=new R(e.nearestEndpoint(n,i,s,o))),this._precisionModel!==null&&this._precisionModel.makePrecise(a),a},e.prototype.smallestInAbsValue=function(n,i,s,o){var a=n,u=Math.abs(a);return Math.abs(i)<u&&(a=i,u=Math.abs(i)),Math.abs(s)<u&&(a=s,u=Math.abs(s)),Math.abs(o)<u&&(a=o),a},e.prototype.checkDD=function(n,i,s,o,a){var u=Qe.intersection(n,i,s,o),l=this.isInSegmentEnvelopes(u);xe.out.println("DD in env = "+l+" --------------------- "+u),a.distance(u)>1e-4&&xe.out.println("Distance = "+a.distance(u))},e.prototype.intersectionWithNormalization=function(n,i,s,o){var a=new R(n),u=new R(i),l=new R(s),c=new R(o),h=new R;this.normalizeToEnvCentre(a,u,l,c,h);var f=this.safeHCoordinateIntersection(a,u,l,c);return f.x+=h.x,f.y+=h.y,f},e.prototype.computeCollinearIntersection=function(n,i,s,o){var a=Q.intersects(n,i,s),u=Q.intersects(n,i,o),l=Q.intersects(s,o,n),c=Q.intersects(s,o,i);return a&&u?(this._intPt[0]=s,this._intPt[1]=o,r.COLLINEAR_INTERSECTION):l&&c?(this._intPt[0]=n,this._intPt[1]=i,r.COLLINEAR_INTERSECTION):a&&l?(this._intPt[0]=s,this._intPt[1]=n,s.equals(n)&&!u&&!c?r.POINT_INTERSECTION:r.COLLINEAR_INTERSECTION):a&&c?(this._intPt[0]=s,this._intPt[1]=i,s.equals(i)&&!u&&!l?r.POINT_INTERSECTION:r.COLLINEAR_INTERSECTION):u&&l?(this._intPt[0]=o,this._intPt[1]=n,o.equals(n)&&!a&&!c?r.POINT_INTERSECTION:r.COLLINEAR_INTERSECTION):u&&c?(this._intPt[0]=o,this._intPt[1]=i,o.equals(i)&&!a&&!l?r.POINT_INTERSECTION:r.COLLINEAR_INTERSECTION):r.NO_INTERSECTION},e.prototype.normalizeToEnvCentre=function(n,i,s,o,a){var u=n.x<i.x?n.x:i.x,l=n.y<i.y?n.y:i.y,c=n.x>i.x?n.x:i.x,h=n.y>i.y?n.y:i.y,f=s.x<o.x?s.x:o.x,p=s.y<o.y?s.y:o.y,v=s.x>o.x?s.x:o.x,C=s.y>o.y?s.y:o.y,S=u>f?u:f,P=c<v?c:v,y=l>p?l:p,_=h<C?h:C,m=(S+P)/2,w=(y+_)/2;a.x=m,a.y=w,n.x-=a.x,n.y-=a.y,i.x-=a.x,i.y-=a.y,s.x-=a.x,s.y-=a.y,o.x-=a.x,o.y-=a.y},e.prototype.computeIntersect=function(n,i,s,o){if(this._isProper=!1,!Q.intersects(n,i,s,o))return r.NO_INTERSECTION;var a=q.orientationIndex(n,i,s),u=q.orientationIndex(n,i,o);if(a>0&&u>0||a<0&&u<0)return r.NO_INTERSECTION;var l=q.orientationIndex(s,o,n),c=q.orientationIndex(s,o,i);if(l>0&&c>0||l<0&&c<0)return r.NO_INTERSECTION;var h=a===0&&u===0&&l===0&&c===0;return h?this.computeCollinearIntersection(n,i,s,o):(a===0||u===0||l===0||c===0?(this._isProper=!1,n.equals2D(s)||n.equals2D(o)?this._intPt[0]=n:i.equals2D(s)||i.equals2D(o)?this._intPt[0]=i:a===0?this._intPt[0]=new R(s):u===0?this._intPt[0]=new R(o):l===0?this._intPt[0]=new R(n):c===0&&(this._intPt[0]=new R(i))):(this._isProper=!0,this._intPt[0]=this.intersection(n,i,s,o)),r.POINT_INTERSECTION)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.nearestEndpoint=function(n,i,s,o){var a=n,u=q.distancePointLine(n,s,o),l=q.distancePointLine(i,s,o);return l<u&&(u=l,a=i),l=q.distancePointLine(s,n,i),l<u&&(u=l,a=s),l=q.distancePointLine(o,n,i),l<u&&(u=l,a=o),a},e}(Jt),oo=function(){};oo.prototype.interfaces_=function(){return[]},oo.prototype.getClass=function(){return oo},oo.orientationIndex=function(e,t,n){var i=t.x-e.x,s=t.y-e.y,o=n.x-t.x,a=n.y-t.y;return oo.signOfDet2x2(i,s,o,a)},oo.signOfDet2x2=function(e,t,n,i){var s=null,o=null,a=null;if(s=1,e===0||i===0)return t===0||n===0?0:t>0?n>0?-s:s:n>0?s:-s;if(t===0||n===0)return i>0?e>0?s:-s:e>0?-s:s;if(t>0?i>0?t<=i||(s=-s,o=e,e=n,n=o,o=t,t=i,i=o):t<=-i?(s=-s,n=-n,i=-i):(o=e,e=-n,n=o,o=t,t=-i,i=o):i>0?-t<=i?(s=-s,e=-e,t=-t):(o=-e,e=n,n=o,o=-t,t=i,i=o):t>=i?(e=-e,t=-t,n=-n,i=-i):(s=-s,o=-e,e=-n,n=o,o=-t,t=-i,i=o),e>0)if(n>0){if(!(e<=n))return s}else return s;else{if(n>0)return-s;if(e>=n)s=-s,e=-e,n=-n;else return-s}for(;;){if(a=Math.floor(n/e),n=n-a*e,i=i-a*t,i<0)return-s;if(i>t)return s;if(e>n+n){if(t<i+i)return s}else{if(t>i+i)return-s;n=e-n,i=t-i,s=-s}if(i===0)return n===0?0:-s;if(n===0||(a=Math.floor(e/n),e=e-a*n,t=t-a*i,t<0))return s;if(t>i)return-s;if(n>e+e){if(i<t+t)return-s}else{if(i>t+t)return s;e=n-e,t=i-t,s=-s}if(t===0)return e===0?0:s;if(e===0)return-s}};var lr=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var e=arguments[0];this._p=e};lr.prototype.countSegment=function(e,t){if(e.x<this._p.x&&t.x<this._p.x)return null;if(this._p.x===t.x&&this._p.y===t.y)return this._isPointOnSegment=!0,null;if(e.y===this._p.y&&t.y===this._p.y){var n=e.x,i=t.x;return n>i&&(n=t.x,i=e.x),this._p.x>=n&&this._p.x<=i&&(this._isPointOnSegment=!0),null}if(e.y>this._p.y&&t.y<=this._p.y||t.y>this._p.y&&e.y<=this._p.y){var s=e.x-this._p.x,o=e.y-this._p.y,a=t.x-this._p.x,u=t.y-this._p.y,l=oo.signOfDet2x2(s,o,a,u);if(l===0)return this._isPointOnSegment=!0,null;u<o&&(l=-l),l>0&&this._crossingCount++}},lr.prototype.isPointInPolygon=function(){return this.getLocation()!==F.EXTERIOR},lr.prototype.getLocation=function(){return this._isPointOnSegment?F.BOUNDARY:this._crossingCount%2===1?F.INTERIOR:F.EXTERIOR},lr.prototype.isOnSegment=function(){return this._isPointOnSegment},lr.prototype.interfaces_=function(){return[]},lr.prototype.getClass=function(){return lr},lr.locatePointInRing=function(){if(arguments[0]instanceof R&&at(arguments[1],Tt)){for(var e=arguments[0],t=arguments[1],n=new lr(e),i=new R,s=new R,o=1;o<t.size();o++)if(t.getCoordinate(o,i),t.getCoordinate(o-1,s),n.countSegment(i,s),n.isOnSegment())return n.getLocation();return n.getLocation()}else if(arguments[0]instanceof R&&arguments[1]instanceof Array){for(var a=arguments[0],u=arguments[1],l=new lr(a),c=1;c<u.length;c++){var h=u[c],f=u[c-1];if(l.countSegment(h,f),l.isOnSegment())return l.getLocation()}return l.getLocation()}};var q=function(){},ao={CLOCKWISE:{configurable:!0},RIGHT:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},LEFT:{configurable:!0},COLLINEAR:{configurable:!0},STRAIGHT:{configurable:!0}};q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q.orientationIndex=function(e,t,n){return Qe.orientationIndex(e,t,n)},q.signedArea=function(){if(arguments[0]instanceof Array){var e=arguments[0];if(e.length<3)return 0;for(var t=0,n=e[0].x,i=1;i<e.length-1;i++){var s=e[i].x-n,o=e[i+1].y,a=e[i-1].y;t+=s*(a-o)}return t/2}else if(at(arguments[0],Tt)){var u=arguments[0],l=u.size();if(l<3)return 0;var c=new R,h=new R,f=new R;u.getCoordinate(0,h),u.getCoordinate(1,f);var p=h.x;f.x-=p;for(var v=0,C=1;C<l-1;C++)c.y=h.y,h.x=f.x,h.y=f.y,u.getCoordinate(C+1,f),f.x-=p,v+=h.x*(c.y-f.y);return v/2}},q.distanceLineLine=function(e,t,n,i){if(e.equals(t))return q.distancePointLine(e,n,i);if(n.equals(i))return q.distancePointLine(i,e,t);var s=!1;if(!Q.intersects(e,t,n,i))s=!0;else{var o=(t.x-e.x)*(i.y-n.y)-(t.y-e.y)*(i.x-n.x);if(o===0)s=!0;else{var a=(e.y-n.y)*(i.x-n.x)-(e.x-n.x)*(i.y-n.y),u=(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y),l=u/o,c=a/o;(c<0||c>1||l<0||l>1)&&(s=!0)}}return s?Pn.min(q.distancePointLine(e,n,i),q.distancePointLine(t,n,i),q.distancePointLine(n,e,t),q.distancePointLine(i,e,t)):0},q.isPointInRing=function(e,t){return q.locatePointInRing(e,t)!==F.EXTERIOR},q.computeLength=function(e){var t=e.size();if(t<=1)return 0;var n=0,i=new R;e.getCoordinate(0,i);for(var s=i.x,o=i.y,a=1;a<t;a++){e.getCoordinate(a,i);var u=i.x,l=i.y,c=u-s,h=l-o;n+=Math.sqrt(c*c+h*h),s=u,o=l}return n},q.isCCW=function(e){var t=e.length-1;if(t<3)throw new Xt("Ring has fewer than 4 points, so orientation cannot be determined");for(var n=e[0],i=0,s=1;s<=t;s++){var o=e[s];o.y>n.y&&(n=o,i=s)}var a=i;do a=a-1,a<0&&(a=t);while(e[a].equals2D(n)&&a!==i);var u=i;do u=(u+1)%t;while(e[u].equals2D(n)&&u!==i);var l=e[a],c=e[u];if(l.equals2D(n)||c.equals2D(n)||l.equals2D(c))return!1;var h=q.computeOrientation(l,n,c),f=!1;return h===0?f=l.x>c.x:f=h>0,f},q.locatePointInRing=function(e,t){return lr.locatePointInRing(e,t)},q.distancePointLinePerpendicular=function(e,t,n){var i=(n.x-t.x)*(n.x-t.x)+(n.y-t.y)*(n.y-t.y),s=((t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y))/i;return Math.abs(s)*Math.sqrt(i)},q.computeOrientation=function(e,t,n){return q.orientationIndex(e,t,n)},q.distancePointLine=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];if(t.length===0)throw new Xt("Line array must contain at least one vertex");for(var n=e.distance(t[0]),i=0;i<t.length-1;i++){var s=q.distancePointLine(e,t[i],t[i+1]);s<n&&(n=s)}return n}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2];if(a.x===u.x&&a.y===u.y)return o.distance(a);var l=(u.x-a.x)*(u.x-a.x)+(u.y-a.y)*(u.y-a.y),c=((o.x-a.x)*(u.x-a.x)+(o.y-a.y)*(u.y-a.y))/l;if(c<=0)return o.distance(a);if(c>=1)return o.distance(u);var h=((a.y-o.y)*(u.x-a.x)-(a.x-o.x)*(u.y-a.y))/l;return Math.abs(h)*Math.sqrt(l)}},q.isOnLine=function(e,t){for(var n=new _s,i=1;i<t.length;i++){var s=t[i-1],o=t[i];if(n.computeIntersection(e,s,o),n.hasIntersection())return!0}return!1},ao.CLOCKWISE.get=function(){return-1},ao.RIGHT.get=function(){return q.CLOCKWISE},ao.COUNTERCLOCKWISE.get=function(){return 1},ao.LEFT.get=function(){return q.COUNTERCLOCKWISE},ao.COLLINEAR.get=function(){return 0},ao.STRAIGHT.get=function(){return q.COLLINEAR},Object.defineProperties(q,ao);var gi=function(){};gi.prototype.filter=function(e){},gi.prototype.interfaces_=function(){return[]},gi.prototype.getClass=function(){return gi};var ot=function(){var e=arguments[0];this._envelope=null,this._factory=null,this._SRID=null,this._userData=null,this._factory=e,this._SRID=e.getSRID()},jr={serialVersionUID:{configurable:!0},SORTINDEX_POINT:{configurable:!0},SORTINDEX_MULTIPOINT:{configurable:!0},SORTINDEX_LINESTRING:{configurable:!0},SORTINDEX_LINEARRING:{configurable:!0},SORTINDEX_MULTILINESTRING:{configurable:!0},SORTINDEX_POLYGON:{configurable:!0},SORTINDEX_MULTIPOLYGON:{configurable:!0},SORTINDEX_GEOMETRYCOLLECTION:{configurable:!0},geometryChangedFilter:{configurable:!0}};ot.prototype.isGeometryCollection=function(){return this.getSortIndex()===ot.SORTINDEX_GEOMETRYCOLLECTION},ot.prototype.getFactory=function(){return this._factory},ot.prototype.getGeometryN=function(e){return this},ot.prototype.getArea=function(){return 0},ot.prototype.isRectangle=function(){return!1},ot.prototype.equals=function(){if(arguments[0]instanceof ot){var e=arguments[0];return e===null?!1:this.equalsTopo(e)}else if(arguments[0]instanceof Object){var t=arguments[0];if(!(t instanceof ot))return!1;var n=t;return this.equalsExact(n)}},ot.prototype.equalsExact=function(e){return this===e||this.equalsExact(e,0)},ot.prototype.geometryChanged=function(){this.apply(ot.geometryChangedFilter)},ot.prototype.geometryChangedAction=function(){this._envelope=null},ot.prototype.equalsNorm=function(e){return e===null?!1:this.norm().equalsExact(e.norm())},ot.prototype.getLength=function(){return 0},ot.prototype.getNumGeometries=function(){return 1},ot.prototype.compareTo=function(){if(arguments.length===1){var e=arguments[0],t=e;return this.getSortIndex()!==t.getSortIndex()?this.getSortIndex()-t.getSortIndex():this.isEmpty()&&t.isEmpty()?0:this.isEmpty()?-1:t.isEmpty()?1:this.compareToSameClass(e)}else if(arguments.length===2){var n=arguments[0],i=arguments[1];return this.getSortIndex()!==n.getSortIndex()?this.getSortIndex()-n.getSortIndex():this.isEmpty()&&n.isEmpty()?0:this.isEmpty()?-1:n.isEmpty()?1:this.compareToSameClass(n,i)}},ot.prototype.getUserData=function(){return this._userData},ot.prototype.getSRID=function(){return this._SRID},ot.prototype.getEnvelope=function(){return this.getFactory().toGeometry(this.getEnvelopeInternal())},ot.prototype.checkNotGeometryCollection=function(e){if(e.getSortIndex()===ot.SORTINDEX_GEOMETRYCOLLECTION)throw new Xt("This method does not support GeometryCollection arguments")},ot.prototype.equal=function(e,t,n){return n===0?e.equals(t):e.distance(t)<=n},ot.prototype.norm=function(){var e=this.copy();return e.normalize(),e},ot.prototype.getPrecisionModel=function(){return this._factory.getPrecisionModel()},ot.prototype.getEnvelopeInternal=function(){return this._envelope===null&&(this._envelope=this.computeEnvelopeInternal()),new Q(this._envelope)},ot.prototype.setSRID=function(e){this._SRID=e},ot.prototype.setUserData=function(e){this._userData=e},ot.prototype.compare=function(e,t){for(var n=e.iterator(),i=t.iterator();n.hasNext()&&i.hasNext();){var s=n.next(),o=i.next(),a=s.compareTo(o);if(a!==0)return a}return n.hasNext()?1:i.hasNext()?-1:0},ot.prototype.hashCode=function(){return this.getEnvelopeInternal().hashCode()},ot.prototype.isGeometryCollectionOrDerived=function(){return this.getSortIndex()===ot.SORTINDEX_GEOMETRYCOLLECTION||this.getSortIndex()===ot.SORTINDEX_MULTIPOINT||this.getSortIndex()===ot.SORTINDEX_MULTILINESTRING||this.getSortIndex()===ot.SORTINDEX_MULTIPOLYGON},ot.prototype.interfaces_=function(){return[Ql,Ln,Fn]},ot.prototype.getClass=function(){return ot},ot.hasNonEmptyElements=function(e){for(var t=0;t<e.length;t++)if(!e[t].isEmpty())return!0;return!1},ot.hasNullElements=function(e){for(var t=0;t<e.length;t++)if(e[t]===null)return!0;return!1},jr.serialVersionUID.get=function(){return 8763622679187377e3},jr.SORTINDEX_POINT.get=function(){return 0},jr.SORTINDEX_MULTIPOINT.get=function(){return 1},jr.SORTINDEX_LINESTRING.get=function(){return 2},jr.SORTINDEX_LINEARRING.get=function(){return 3},jr.SORTINDEX_MULTILINESTRING.get=function(){return 4},jr.SORTINDEX_POLYGON.get=function(){return 5},jr.SORTINDEX_MULTIPOLYGON.get=function(){return 6},jr.SORTINDEX_GEOMETRYCOLLECTION.get=function(){return 7},jr.geometryChangedFilter.get=function(){return rd},Object.defineProperties(ot,jr);var rd=function(){};rd.interfaces_=function(){return[gi]},rd.filter=function(e){e.geometryChangedAction()};var zr=function(){};zr.prototype.filter=function(e){},zr.prototype.interfaces_=function(){return[]},zr.prototype.getClass=function(){return zr};var An=function(){},mi={Mod2BoundaryNodeRule:{configurable:!0},EndPointBoundaryNodeRule:{configurable:!0},MultiValentEndPointBoundaryNodeRule:{configurable:!0},MonoValentEndPointBoundaryNodeRule:{configurable:!0},MOD2_BOUNDARY_RULE:{configurable:!0},ENDPOINT_BOUNDARY_RULE:{configurable:!0},MULTIVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},MONOVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},OGC_SFS_BOUNDARY_RULE:{configurable:!0}};An.prototype.isInBoundary=function(e){},An.prototype.interfaces_=function(){return[]},An.prototype.getClass=function(){return An},mi.Mod2BoundaryNodeRule.get=function(){return ca},mi.EndPointBoundaryNodeRule.get=function(){return ha},mi.MultiValentEndPointBoundaryNodeRule.get=function(){return da},mi.MonoValentEndPointBoundaryNodeRule.get=function(){return fa},mi.MOD2_BOUNDARY_RULE.get=function(){return new ca},mi.ENDPOINT_BOUNDARY_RULE.get=function(){return new ha},mi.MULTIVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new da},mi.MONOVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new fa},mi.OGC_SFS_BOUNDARY_RULE.get=function(){return An.MOD2_BOUNDARY_RULE},Object.defineProperties(An,mi);var ca=function(){};ca.prototype.isInBoundary=function(e){return e%2===1},ca.prototype.interfaces_=function(){return[An]},ca.prototype.getClass=function(){return ca};var ha=function(){};ha.prototype.isInBoundary=function(e){return e>0},ha.prototype.interfaces_=function(){return[An]},ha.prototype.getClass=function(){return ha};var da=function(){};da.prototype.isInBoundary=function(e){return e>1},da.prototype.interfaces_=function(){return[An]},da.prototype.getClass=function(){return da};var fa=function(){};fa.prototype.isInBoundary=function(e){return e===1},fa.prototype.interfaces_=function(){return[An]},fa.prototype.getClass=function(){return fa};var de=function(){};de.prototype.add=function(){},de.prototype.addAll=function(){},de.prototype.isEmpty=function(){},de.prototype.iterator=function(){},de.prototype.size=function(){},de.prototype.toArray=function(){},de.prototype.remove=function(){};function id(r){this.message=r||""}id.prototype=new Error,id.prototype.name="IndexOutOfBoundsException";var pa=function(){};pa.prototype.hasNext=function(){},pa.prototype.next=function(){},pa.prototype.remove=function(){};var $n=function(r){function e(){r.apply(this,arguments)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.get=function(){},e.prototype.set=function(){},e.prototype.isEmpty=function(){},e}(de);function ga(r){this.message=r||""}ga.prototype=new Error,ga.prototype.name="NoSuchElementException";var W=function(r){function e(){r.call(this),this.array_=[],arguments[0]instanceof de&&this.addAll(arguments[0])}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.ensureCapacity=function(){},e.prototype.interfaces_=function(){return[r,de]},e.prototype.add=function(n){return arguments.length===1?this.array_.push(n):this.array_.splice(arguments[0],arguments[1]),!0},e.prototype.clear=function(){this.array_=[]},e.prototype.addAll=function(n){for(var i=this,s=n.iterator();s.hasNext();)i.add(s.next());return!0},e.prototype.set=function(n,i){var s=this.array_[n];return this.array_[n]=i,s},e.prototype.iterator=function(){return new AE(this)},e.prototype.get=function(n){if(n<0||n>=this.size())throw new id;return this.array_[n]},e.prototype.isEmpty=function(){return this.array_.length===0},e.prototype.size=function(){return this.array_.length},e.prototype.toArray=function(){for(var n=this,i=[],s=0,o=this.array_.length;s<o;s++)i.push(n.array_[s]);return i},e.prototype.remove=function(n){for(var i=this,s=!1,o=0,a=this.array_.length;o<a;o++)if(i.array_[o]===n){i.array_.splice(o,1),s=!0;break}return s},e}($n),AE=function(r){function e(t){r.call(this),this.arrayList_=t,this.position_=0}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.next=function(){if(this.position_===this.arrayList_.size())throw new ga;return this.arrayList_.get(this.position_++)},e.prototype.hasNext=function(){return this.position_<this.arrayList_.size()},e.prototype.set=function(n){return this.arrayList_.set(this.position_-1,n)},e.prototype.remove=function(){this.arrayList_.remove(this.arrayList_.get(this.position_))},e}(pa),zu=function(r){function e(){if(r.call(this),arguments.length!==0){if(arguments.length===1){var n=arguments[0];this.ensureCapacity(n.length),this.add(n,!0)}else if(arguments.length===2){var i=arguments[0],s=arguments[1];this.ensureCapacity(i.length),this.add(i,s)}}}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={coordArrayType:{configurable:!0}};return t.coordArrayType.get=function(){return new Array(0).fill(null)},e.prototype.getCoordinate=function(i){return this.get(i)},e.prototype.addAll=function(){var i=this;if(arguments.length===2){for(var s=arguments[0],o=arguments[1],a=!1,u=s.iterator();u.hasNext();)i.add(u.next(),o),a=!0;return a}else return r.prototype.addAll.apply(this,arguments)},e.prototype.clone=function(){for(var i=this,s=r.prototype.clone.call(this),o=0;o<this.size();o++)s.add(o,i.get(o).copy());return s},e.prototype.toCoordinateArray=function(){return this.toArray(e.coordArrayType)},e.prototype.add=function(){var i=this;if(arguments.length===1){var s=arguments[0];r.prototype.add.call(this,s)}else if(arguments.length===2){if(arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1];return this.add(o,a,!0),!0}else if(arguments[0]instanceof R&&typeof arguments[1]=="boolean"){var u=arguments[0],l=arguments[1];if(!l&&this.size()>=1){var c=this.get(this.size()-1);if(c.equals2D(u))return null}r.prototype.add.call(this,u)}else if(arguments[0]instanceof Object&&typeof arguments[1]=="boolean"){var h=arguments[0],f=arguments[1];return this.add(h,f),!0}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var p=arguments[0],v=arguments[1],C=arguments[2];if(C)for(var S=0;S<p.length;S++)i.add(p[S],v);else for(var P=p.length-1;P>=0;P--)i.add(p[P],v);return!0}else if(typeof arguments[2]=="boolean"&&Number.isInteger(arguments[0])&&arguments[1]instanceof R){var y=arguments[0],_=arguments[1],m=arguments[2];if(!m){var w=this.size();if(w>0){if(y>0){var E=this.get(y-1);if(E.equals2D(_))return null}if(y<w){var b=this.get(y);if(b.equals2D(_))return null}}}r.prototype.add.call(this,y,_)}}else if(arguments.length===4){var I=arguments[0],T=arguments[1],D=arguments[2],x=arguments[3],O=1;D>x&&(O=-1);for(var L=D;L!==x;L+=O)i.add(I[L],T);return!0}},e.prototype.closeRing=function(){this.size()>0&&this.add(new R(this.get(0)),!1)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},Object.defineProperties(e,t),e}(W),Et=function(){},nc={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};nc.ForwardComparator.get=function(){return Uu},nc.BidirectionalComparator.get=function(){return ma},nc.coordArrayType.get=function(){return new Array(0).fill(null)},Et.prototype.interfaces_=function(){return[]},Et.prototype.getClass=function(){return Et},Et.isRing=function(e){return!(e.length<4||!e[0].equals2D(e[e.length-1]))},Et.ptNotInList=function(e,t){for(var n=0;n<e.length;n++){var i=e[n];if(Et.indexOf(i,t)<0)return i}return null},Et.scroll=function(e,t){var n=Et.indexOf(t,e);if(n<0)return null;var i=new Array(e.length).fill(null);xe.arraycopy(e,n,i,0,e.length-n),xe.arraycopy(e,0,i,e.length-n,n),xe.arraycopy(i,0,e,0,e.length)},Et.equals=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];if(e===t)return!0;if(e===null||t===null||e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!e[n].equals(t[n]))return!1;return!0}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];if(i===s)return!0;if(i===null||s===null||i.length!==s.length)return!1;for(var a=0;a<i.length;a++)if(o.compare(i[a],s[a])!==0)return!1;return!0}},Et.intersection=function(e,t){for(var n=new zu,i=0;i<e.length;i++)t.intersects(e[i])&&n.add(e[i],!0);return n.toCoordinateArray()},Et.hasRepeatedPoints=function(e){for(var t=1;t<e.length;t++)if(e[t-1].equals(e[t]))return!0;return!1},Et.removeRepeatedPoints=function(e){if(!Et.hasRepeatedPoints(e))return e;var t=new zu(e,!1);return t.toCoordinateArray()},Et.reverse=function(e){for(var t=e.length-1,n=Math.trunc(t/2),i=0;i<=n;i++){var s=e[i];e[i]=e[t-i],e[t-i]=s}},Et.removeNull=function(e){for(var t=0,n=0;n<e.length;n++)e[n]!==null&&t++;var i=new Array(t).fill(null);if(t===0)return i;for(var s=0,o=0;o<e.length;o++)e[o]!==null&&(i[s++]=e[o]);return i},Et.copyDeep=function(){if(arguments.length===1){for(var e=arguments[0],t=new Array(e.length).fill(null),n=0;n<e.length;n++)t[n]=new R(e[n]);return t}else if(arguments.length===5)for(var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3],u=arguments[4],l=0;l<u;l++)o[a+l]=new R(i[s+l])},Et.isEqualReversed=function(e,t){for(var n=0;n<e.length;n++){var i=e[n],s=t[e.length-n-1];if(i.compareTo(s)!==0)return!1}return!0},Et.envelope=function(e){for(var t=new Q,n=0;n<e.length;n++)t.expandToInclude(e[n]);return t},Et.toCoordinateArray=function(e){return e.toArray(Et.coordArrayType)},Et.atLeastNCoordinatesOrNothing=function(e,t){return t.length>=e?t:[]},Et.indexOf=function(e,t){for(var n=0;n<t.length;n++)if(e.equals(t[n]))return n;return-1},Et.increasingDirection=function(e){for(var t=0;t<Math.trunc(e.length/2);t++){var n=e.length-1-t,i=e[t].compareTo(e[n]);if(i!==0)return i}return 1},Et.compare=function(e,t){for(var n=0;n<e.length&&n<t.length;){var i=e[n].compareTo(t[n]);if(i!==0)return i;n++}return n<t.length?-1:n<e.length?1:0},Et.minCoordinate=function(e){for(var t=null,n=0;n<e.length;n++)(t===null||t.compareTo(e[n])>0)&&(t=e[n]);return t},Et.extract=function(e,t,n){t=Pn.clamp(t,0,e.length),n=Pn.clamp(n,-1,e.length);var i=n-t+1;n<0&&(i=0),t>=e.length&&(i=0),n<t&&(i=0);var s=new Array(i).fill(null);if(i===0)return s;for(var o=0,a=t;a<=n;a++)s[o++]=e[a];return s},Object.defineProperties(Et,nc);var Uu=function(){};Uu.prototype.compare=function(e,t){var n=e,i=t;return Et.compare(n,i)},Uu.prototype.interfaces_=function(){return[oa]},Uu.prototype.getClass=function(){return Uu};var ma=function(){};ma.prototype.compare=function(e,t){var n=e,i=t;if(n.length<i.length)return-1;if(n.length>i.length)return 1;if(n.length===0)return 0;var s=Et.compare(n,i),o=Et.isEqualReversed(n,i);return o?0:s},ma.prototype.OLDcompare=function(e,t){var n=e,i=t;if(n.length<i.length)return-1;if(n.length>i.length)return 1;if(n.length===0)return 0;for(var s=Et.increasingDirection(n),o=Et.increasingDirection(i),a=s>0?0:n.length-1,u=o>0?0:n.length-1,l=0;l<n.length;l++){var c=n[a].compareTo(i[u]);if(c!==0)return c;a+=s,u+=o}return 0},ma.prototype.interfaces_=function(){return[oa]},ma.prototype.getClass=function(){return ma};var uo=function(){};uo.prototype.get=function(){},uo.prototype.put=function(){},uo.prototype.size=function(){},uo.prototype.values=function(){},uo.prototype.entrySet=function(){};var kE=function(r){function e(){r.apply(this,arguments)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e}(uo);function Gu(r){this.message=r||""}Gu.prototype=new Error,Gu.prototype.name="OperationNotSupported";function rc(){}rc.prototype=new de,rc.prototype.contains=function(){};var sd=function(r){function e(){r.call(this),this.array_=[],arguments[0]instanceof de&&this.addAll(arguments[0])}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.contains=function(n){for(var i=this,s=0,o=this.array_.length;s<o;s++){var a=i.array_[s];if(a===n)return!0}return!1},e.prototype.add=function(n){return this.contains(n)?!1:(this.array_.push(n),!0)},e.prototype.addAll=function(n){for(var i=this,s=n.iterator();s.hasNext();)i.add(s.next());return!0},e.prototype.remove=function(n){throw new Error},e.prototype.size=function(){return this.array_.length},e.prototype.isEmpty=function(){return this.array_.length===0},e.prototype.toArray=function(){for(var n=this,i=[],s=0,o=this.array_.length;s<o;s++)i.push(n.array_[s]);return i},e.prototype.iterator=function(){return new VE(this)},e}(rc),VE=function(r){function e(t){r.call(this),this.hashSet_=t,this.position_=0}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.next=function(){if(this.position_===this.hashSet_.size())throw new ga;return this.hashSet_.array_[this.position_++]},e.prototype.hasNext=function(){return this.position_<this.hashSet_.size()},e.prototype.remove=function(){throw new Gu},e}(pa),vi=0,ws=1;function Im(r){return r===null?vi:r.color}function Ut(r){return r===null?null:r.parent}function yi(r,e){r!==null&&(r.color=e)}function od(r){return r===null?null:r.left}function xm(r){return r===null?null:r.right}function Ae(){this.root_=null,this.size_=0}Ae.prototype=new kE,Ae.prototype.get=function(r){for(var e=this.root_;e!==null;){var t=r.compareTo(e.key);if(t<0)e=e.left;else if(t>0)e=e.right;else return e.value}return null},Ae.prototype.put=function(r,e){if(this.root_===null)return this.root_={key:r,value:e,left:null,right:null,parent:null,color:vi,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var t=this.root_,n,i;do if(n=t,i=r.compareTo(t.key),i<0)t=t.left;else if(i>0)t=t.right;else{var s=t.value;return t.value=e,s}while(t!==null);var o={key:r,left:null,right:null,value:e,parent:n,color:vi,getValue:function(){return this.value},getKey:function(){return this.key}};return i<0?n.left=o:n.right=o,this.fixAfterInsertion(o),this.size_++,null},Ae.prototype.fixAfterInsertion=function(r){var e=this;for(r.color=ws;r!=null&&r!==this.root_&&r.parent.color===ws;)if(Ut(r)===od(Ut(Ut(r)))){var t=xm(Ut(Ut(r)));Im(t)===ws?(yi(Ut(r),vi),yi(t,vi),yi(Ut(Ut(r)),ws),r=Ut(Ut(r))):(r===xm(Ut(r))&&(r=Ut(r),e.rotateLeft(r)),yi(Ut(r),vi),yi(Ut(Ut(r)),ws),e.rotateRight(Ut(Ut(r))))}else{var n=od(Ut(Ut(r)));Im(n)===ws?(yi(Ut(r),vi),yi(n,vi),yi(Ut(Ut(r)),ws),r=Ut(Ut(r))):(r===od(Ut(r))&&(r=Ut(r),e.rotateRight(r)),yi(Ut(r),vi),yi(Ut(Ut(r)),ws),e.rotateLeft(Ut(Ut(r))))}this.root_.color=vi},Ae.prototype.values=function(){var r=new W,e=this.getFirstEntry();if(e!==null)for(r.add(e.value);(e=Ae.successor(e))!==null;)r.add(e.value);return r},Ae.prototype.entrySet=function(){var r=new sd,e=this.getFirstEntry();if(e!==null)for(r.add(e);(e=Ae.successor(e))!==null;)r.add(e);return r},Ae.prototype.rotateLeft=function(r){if(r!=null){var e=r.right;r.right=e.left,e.left!=null&&(e.left.parent=r),e.parent=r.parent,r.parent===null?this.root_=e:r.parent.left===r?r.parent.left=e:r.parent.right=e,e.left=r,r.parent=e}},Ae.prototype.rotateRight=function(r){if(r!=null){var e=r.left;r.left=e.right,e.right!=null&&(e.right.parent=r),e.parent=r.parent,r.parent===null?this.root_=e:r.parent.right===r?r.parent.right=e:r.parent.left=e,e.right=r,r.parent=e}},Ae.prototype.getFirstEntry=function(){var r=this.root_;if(r!=null)for(;r.left!=null;)r=r.left;return r},Ae.successor=function(r){if(r===null)return null;if(r.right!==null){for(var e=r.right;e.left!==null;)e=e.left;return e}else{for(var t=r.parent,n=r;t!==null&&n===t.right;)n=t,t=t.parent;return t}},Ae.prototype.size=function(){return this.size_};var Wu=function(){};Wu.prototype.interfaces_=function(){return[]},Wu.prototype.getClass=function(){return Wu};function Tm(){}Tm.prototype=new rc;function cr(){this.array_=[],arguments[0]instanceof de&&this.addAll(arguments[0])}cr.prototype=new Tm,cr.prototype.contains=function(r){for(var e=this,t=0,n=this.array_.length;t<n;t++){var i=e.array_[t];if(i.compareTo(r)===0)return!0}return!1},cr.prototype.add=function(r){var e=this;if(this.contains(r))return!1;for(var t=0,n=this.array_.length;t<n;t++){var i=e.array_[t];if(i.compareTo(r)===1)return e.array_.splice(t,0,r),!0}return this.array_.push(r),!0},cr.prototype.addAll=function(r){for(var e=this,t=r.iterator();t.hasNext();)e.add(t.next());return!0},cr.prototype.remove=function(r){throw new Gu},cr.prototype.size=function(){return this.array_.length},cr.prototype.isEmpty=function(){return this.array_.length===0},cr.prototype.toArray=function(){for(var r=this,e=[],t=0,n=this.array_.length;t<n;t++)e.push(r.array_[t]);return e},cr.prototype.iterator=function(){return new ic(this)};var ic=function(r){this.treeSet_=r,this.position_=0};ic.prototype.next=function(){if(this.position_===this.treeSet_.size())throw new ga;return this.treeSet_.array_[this.position_++]},ic.prototype.hasNext=function(){return this.position_<this.treeSet_.size()},ic.prototype.remove=function(){throw new Gu};var Es=function(){};Es.sort=function(){var e=arguments[0],t,n,i,s;if(arguments.length===1)s=function(a,u){return a.compareTo(u)},e.sort(s);else if(arguments.length===2)i=arguments[1],s=function(a,u){return i.compare(a,u)},e.sort(s);else if(arguments.length===3){n=e.slice(arguments[1],arguments[2]),n.sort();var o=e.slice(0,arguments[1]).concat(n,e.slice(arguments[2],e.length));for(e.splice(0,e.length),t=0;t<o.length;t++)e.push(o[t])}else if(arguments.length===4)for(n=e.slice(arguments[1],arguments[2]),i=arguments[3],s=function(a,u){return i.compare(a,u)},n.sort(s),o=e.slice(0,arguments[1]).concat(n,e.slice(arguments[2],e.length)),e.splice(0,e.length),t=0;t<o.length;t++)e.push(o[t])},Es.asList=function(e){for(var t=new W,n=0,i=e.length;n<i;n++)t.add(e[n]);return t};var Mt=function(){},Kn={P:{configurable:!0},L:{configurable:!0},A:{configurable:!0},FALSE:{configurable:!0},TRUE:{configurable:!0},DONTCARE:{configurable:!0},SYM_FALSE:{configurable:!0},SYM_TRUE:{configurable:!0},SYM_DONTCARE:{configurable:!0},SYM_P:{configurable:!0},SYM_L:{configurable:!0},SYM_A:{configurable:!0}};Kn.P.get=function(){return 0},Kn.L.get=function(){return 1},Kn.A.get=function(){return 2},Kn.FALSE.get=function(){return-1},Kn.TRUE.get=function(){return-2},Kn.DONTCARE.get=function(){return-3},Kn.SYM_FALSE.get=function(){return"F"},Kn.SYM_TRUE.get=function(){return"T"},Kn.SYM_DONTCARE.get=function(){return"*"},Kn.SYM_P.get=function(){return"0"},Kn.SYM_L.get=function(){return"1"},Kn.SYM_A.get=function(){return"2"},Mt.prototype.interfaces_=function(){return[]},Mt.prototype.getClass=function(){return Mt},Mt.toDimensionSymbol=function(e){switch(e){case Mt.FALSE:return Mt.SYM_FALSE;case Mt.TRUE:return Mt.SYM_TRUE;case Mt.DONTCARE:return Mt.SYM_DONTCARE;case Mt.P:return Mt.SYM_P;case Mt.L:return Mt.SYM_L;case Mt.A:return Mt.SYM_A}throw new Xt("Unknown dimension value: "+e)},Mt.toDimensionValue=function(e){switch(Bu.toUpperCase(e)){case Mt.SYM_FALSE:return Mt.FALSE;case Mt.SYM_TRUE:return Mt.TRUE;case Mt.SYM_DONTCARE:return Mt.DONTCARE;case Mt.SYM_P:return Mt.P;case Mt.SYM_L:return Mt.L;case Mt.SYM_A:return Mt.A}throw new Xt("Unknown dimension symbol: "+e)},Object.defineProperties(Mt,Kn);var hr=function(){};hr.prototype.filter=function(e){},hr.prototype.interfaces_=function(){return[]},hr.prototype.getClass=function(){return hr};var Zn=function(){};Zn.prototype.filter=function(e,t){},Zn.prototype.isDone=function(){},Zn.prototype.isGeometryChanged=function(){},Zn.prototype.interfaces_=function(){return[]},Zn.prototype.getClass=function(){return Zn};var Ue=function(r){function e(n,i){if(r.call(this,i),this._geometries=n||[],r.hasNullElements(this._geometries))throw new Xt("geometries must not contain null elements")}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){for(var i=this,s=new Q,o=0;o<this._geometries.length;o++)s.expandToInclude(i._geometries[o].getEnvelopeInternal());return s},e.prototype.getGeometryN=function(i){return this._geometries[i]},e.prototype.getSortIndex=function(){return r.SORTINDEX_GEOMETRYCOLLECTION},e.prototype.getCoordinates=function(){for(var i=this,s=new Array(this.getNumPoints()).fill(null),o=-1,a=0;a<this._geometries.length;a++)for(var u=i._geometries[a].getCoordinates(),l=0;l<u.length;l++)o++,s[o]=u[l];return s},e.prototype.getArea=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getArea();return s},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s;if(this._geometries.length!==a._geometries.length)return!1;for(var u=0;u<this._geometries.length;u++)if(!i._geometries[u].equalsExact(a._geometries[u],o))return!1;return!0}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){for(var i=this,s=0;s<this._geometries.length;s++)i._geometries[s].normalize();Es.sort(this._geometries)},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._geometries[0].getCoordinate()},e.prototype.getBoundaryDimension=function(){for(var i=this,s=Mt.FALSE,o=0;o<this._geometries.length;o++)s=Math.max(s,i._geometries[o].getBoundaryDimension());return s},e.prototype.getDimension=function(){for(var i=this,s=Mt.FALSE,o=0;o<this._geometries.length;o++)s=Math.max(s,i._geometries[o].getDimension());return s},e.prototype.getLength=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getLength();return s},e.prototype.getNumPoints=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getNumPoints();return s},e.prototype.getNumGeometries=function(){return this._geometries.length},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[a]=i._geometries[a].reverse();return this.getFactory().createGeometryCollection(o)},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){var s=arguments[0],o=new cr(Es.asList(this._geometries)),a=new cr(Es.asList(s._geometries));return this.compare(o,a)}else if(arguments.length===2){for(var u=arguments[0],l=arguments[1],c=u,h=this.getNumGeometries(),f=c.getNumGeometries(),p=0;p<h&&p<f;){var v=i.getGeometryN(p),C=c.getGeometryN(p),S=v.compareToSameClass(C,l);if(S!==0)return S;p++}return p<h?1:p<f?-1:0}},e.prototype.apply=function(){var i=this;if(at(arguments[0],zr))for(var s=arguments[0],o=0;o<this._geometries.length;o++)i._geometries[o].apply(s);else if(at(arguments[0],Zn)){var a=arguments[0];if(this._geometries.length===0)return null;for(var u=0;u<this._geometries.length&&(i._geometries[u].apply(a),!a.isDone());u++);a.isGeometryChanged()&&this.geometryChanged()}else if(at(arguments[0],hr)){var l=arguments[0];l.filter(this);for(var c=0;c<this._geometries.length;c++)i._geometries[c].apply(l)}else if(at(arguments[0],gi)){var h=arguments[0];h.filter(this);for(var f=0;f<this._geometries.length;f++)i._geometries[f].apply(h)}},e.prototype.getBoundary=function(){return this.checkNotGeometryCollection(this),vt.shouldNeverReachHere(),null},e.prototype.clone=function(){var i=this,s=r.prototype.clone.call(this);s._geometries=new Array(this._geometries.length).fill(null);for(var o=0;o<this._geometries.length;o++)s._geometries[o]=i._geometries[o].clone();return s},e.prototype.getGeometryType=function(){return"GeometryCollection"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.isEmpty=function(){for(var i=this,s=0;s<this._geometries.length;s++)if(!i._geometries[s].isEmpty())return!1;return!0},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-5694727726395021e3},Object.defineProperties(e,t),e}(ot),Cs=function(r){function e(){r.apply(this,arguments)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return ot.SORTINDEX_MULTILINESTRING},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?r.prototype.equalsExact.call(this,i,s):!1}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Mt.FALSE:0},e.prototype.isClosed=function(){var i=this;if(this.isEmpty())return!1;for(var s=0;s<this._geometries.length;s++)if(!i._geometries[s].isClosed())return!1;return!0},e.prototype.getDimension=function(){return 1},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[s-1-a]=i._geometries[a].reverse();return this.getFactory().createMultiLineString(o)},e.prototype.getBoundary=function(){return new kn(this).getBoundary()},e.prototype.getGeometryType=function(){return"MultiLineString"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Wu]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 8166665132445434e3},Object.defineProperties(e,t),e}(Ue),kn=function(){if(this._geom=null,this._geomFact=null,this._bnRule=null,this._endpointMap=null,arguments.length===1){var e=arguments[0],t=An.MOD2_BOUNDARY_RULE;this._geom=e,this._geomFact=e.getFactory(),this._bnRule=t}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this._geom=n,this._geomFact=n.getFactory(),this._bnRule=i}};kn.prototype.boundaryMultiLineString=function(e){if(this._geom.isEmpty())return this.getEmptyMultiPoint();var t=this.computeBoundaryCoordinates(e);return t.length===1?this._geomFact.createPoint(t[0]):this._geomFact.createMultiPointFromCoords(t)},kn.prototype.getBoundary=function(){return this._geom instanceof Qt?this.boundaryLineString(this._geom):this._geom instanceof Cs?this.boundaryMultiLineString(this._geom):this._geom.getBoundary()},kn.prototype.boundaryLineString=function(e){if(this._geom.isEmpty())return this.getEmptyMultiPoint();if(e.isClosed()){var t=this._bnRule.isInBoundary(2);return t?e.getStartPoint():this._geomFact.createMultiPoint()}return this._geomFact.createMultiPoint([e.getStartPoint(),e.getEndPoint()])},kn.prototype.getEmptyMultiPoint=function(){return this._geomFact.createMultiPoint()},kn.prototype.computeBoundaryCoordinates=function(e){var t=this,n=new W;this._endpointMap=new Ae;for(var i=0;i<e.getNumGeometries();i++){var s=e.getGeometryN(i);s.getNumPoints()!==0&&(t.addEndpoint(s.getCoordinateN(0)),t.addEndpoint(s.getCoordinateN(s.getNumPoints()-1)))}for(var o=this._endpointMap.entrySet().iterator();o.hasNext();){var a=o.next(),u=a.getValue(),l=u.count;t._bnRule.isInBoundary(l)&&n.add(a.getKey())}return Et.toCoordinateArray(n)},kn.prototype.addEndpoint=function(e){var t=this._endpointMap.get(e);t===null&&(t=new sc,this._endpointMap.put(e,t)),t.count++},kn.prototype.interfaces_=function(){return[]},kn.prototype.getClass=function(){return kn},kn.getBoundary=function(){if(arguments.length===1){var e=arguments[0],t=new kn(e);return t.getBoundary()}else if(arguments.length===2){var n=arguments[0],i=arguments[1],s=new kn(n,i);return s.getBoundary()}};var sc=function(){this.count=null};sc.prototype.interfaces_=function(){return[]},sc.prototype.getClass=function(){return sc};function BE(){}function jE(){}var zE=function(){};function UE(){}function GE(){}function WE(){}var Vn=function(){},ad={NEWLINE:{configurable:!0},SIMPLE_ORDINATE_FORMAT:{configurable:!0}};Vn.prototype.interfaces_=function(){return[]},Vn.prototype.getClass=function(){return Vn},Vn.chars=function(e,t){for(var n=new Array(t).fill(null),i=0;i<t;i++)n[i]=e;return String(n)},Vn.getStackTrace=function(){if(arguments.length===1){var e=arguments[0],t=new UE,n=new BE;return e.printStackTrace(n),t.toString()}else if(arguments.length===2){var i=arguments[0],s=arguments[1],o="";new jE(Vn.getStackTrace(i));for(var a=new WE,u=0;u<s;u++)try{o+=a.readLine()+Vn.NEWLINE}catch(l){if(l instanceof GE)vt.shouldNeverReachHere();else throw l}finally{}return o}},Vn.split=function(e,t){for(var n=t.length,i=new W,s=""+e,o=s.indexOf(t);o>=0;){var a=s.substring(0,o);i.add(a),s=s.substring(o+n),o=s.indexOf(t)}s.length>0&&i.add(s);for(var u=new Array(i.size()).fill(null),l=0;l<u.length;l++)u[l]=i.get(l);return u},Vn.toString=function(){if(arguments.length===1){var e=arguments[0];return Vn.SIMPLE_ORDINATE_FORMAT.format(e)}},Vn.spaces=function(e){return Vn.chars(" ",e)},ad.NEWLINE.get=function(){return xe.getProperty("line.separator")},ad.SIMPLE_ORDINATE_FORMAT.get=function(){return new zE},Object.defineProperties(Vn,ad);var re=function(){};re.prototype.interfaces_=function(){return[]},re.prototype.getClass=function(){return re},re.copyCoord=function(e,t,n,i){for(var s=Math.min(e.getDimension(),n.getDimension()),o=0;o<s;o++)n.setOrdinate(i,o,e.getOrdinate(t,o))},re.isRing=function(e){var t=e.size();return t===0?!0:t<=3?!1:e.getOrdinate(0,Tt.X)===e.getOrdinate(t-1,Tt.X)&&e.getOrdinate(0,Tt.Y)===e.getOrdinate(t-1,Tt.Y)},re.isEqual=function(e,t){var n=e.size(),i=t.size();if(n!==i)return!1;for(var s=Math.min(e.getDimension(),t.getDimension()),o=0;o<n;o++)for(var a=0;a<s;a++){var u=e.getOrdinate(o,a),l=t.getOrdinate(o,a);if(e.getOrdinate(o,a)!==t.getOrdinate(o,a)&&!(ht.isNaN(u)&&ht.isNaN(l)))return!1}return!0},re.extend=function(e,t,n){var i=e.create(n,t.getDimension()),s=t.size();if(re.copy(t,0,i,0,s),s>0)for(var o=s;o<n;o++)re.copy(t,s-1,i,o,1);return i},re.reverse=function(e){for(var t=e.size()-1,n=Math.trunc(t/2),i=0;i<=n;i++)re.swap(e,i,t-i)},re.swap=function(e,t,n){if(t===n)return null;for(var i=0;i<e.getDimension();i++){var s=e.getOrdinate(t,i);e.setOrdinate(t,i,e.getOrdinate(n,i)),e.setOrdinate(n,i,s)}},re.copy=function(e,t,n,i,s){for(var o=0;o<s;o++)re.copyCoord(e,t+o,n,i+o)},re.toString=function(){if(arguments.length===1){var e=arguments[0],t=e.size();if(t===0)return"()";var n=e.getDimension(),i=new or;i.append("(");for(var s=0;s<t;s++){s>0&&i.append(" ");for(var o=0;o<n;o++)o>0&&i.append(","),i.append(Vn.toString(e.getOrdinate(s,o)))}return i.append(")"),i.toString()}},re.ensureValidRing=function(e,t){var n=t.size();if(n===0)return t;if(n<=3)return re.createClosedRing(e,t,4);var i=t.getOrdinate(0,Tt.X)===t.getOrdinate(n-1,Tt.X)&&t.getOrdinate(0,Tt.Y)===t.getOrdinate(n-1,Tt.Y);return i?t:re.createClosedRing(e,t,n+1)},re.createClosedRing=function(e,t,n){var i=e.create(n,t.getDimension()),s=t.size();re.copy(t,0,i,0,s);for(var o=s;o<n;o++)re.copy(t,0,i,o,1);return i};var Qt=function(r){function e(n,i){r.call(this,i),this._points=null,this.init(n)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){return this.isEmpty()?new Q:this._points.expandEnvelope(new Q)},e.prototype.isRing=function(){return this.isClosed()&&this.isSimple()},e.prototype.getSortIndex=function(){return r.SORTINDEX_LINESTRING},e.prototype.getCoordinates=function(){return this._points.toCoordinateArray()},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s;if(this._points.size()!==a._points.size())return!1;for(var u=0;u<this._points.size();u++)if(!i.equal(i._points.getCoordinate(u),a._points.getCoordinate(u),o))return!1;return!0}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){for(var i=this,s=0;s<Math.trunc(this._points.size()/2);s++){var o=i._points.size()-1-s;if(!i._points.getCoordinate(s).equals(i._points.getCoordinate(o)))return i._points.getCoordinate(s).compareTo(i._points.getCoordinate(o))>0&&re.reverse(i._points),null}},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Mt.FALSE:0},e.prototype.isClosed=function(){return this.isEmpty()?!1:this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},e.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},e.prototype.getDimension=function(){return 1},e.prototype.getLength=function(){return q.computeLength(this._points)},e.prototype.getNumPoints=function(){return this._points.size()},e.prototype.reverse=function(){var i=this._points.copy();re.reverse(i);var s=this.getFactory().createLineString(i);return s},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){for(var s=arguments[0],o=s,a=0,u=0;a<this._points.size()&&u<o._points.size();){var l=i._points.getCoordinate(a).compareTo(o._points.getCoordinate(u));if(l!==0)return l;a++,u++}return a<this._points.size()?1:u<o._points.size()?-1:0}else if(arguments.length===2){var c=arguments[0],h=arguments[1],f=c;return h.compare(this._points,f._points)}},e.prototype.apply=function(){var i=this;if(at(arguments[0],zr))for(var s=arguments[0],o=0;o<this._points.size();o++)s.filter(i._points.getCoordinate(o));else if(at(arguments[0],Zn)){var a=arguments[0];if(this._points.size()===0)return null;for(var u=0;u<this._points.size()&&(a.filter(i._points,u),!a.isDone());u++);a.isGeometryChanged()&&this.geometryChanged()}else if(at(arguments[0],hr)){var l=arguments[0];l.filter(this)}else if(at(arguments[0],gi)){var c=arguments[0];c.filter(this)}},e.prototype.getBoundary=function(){return new kn(this).getBoundary()},e.prototype.isEquivalentClass=function(i){return i instanceof e},e.prototype.clone=function(){var i=r.prototype.clone.call(this);return i._points=this._points.clone(),i},e.prototype.getCoordinateN=function(i){return this._points.getCoordinate(i)},e.prototype.getGeometryType=function(){return"LineString"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.getCoordinateSequence=function(){return this._points},e.prototype.isEmpty=function(){return this._points.size()===0},e.prototype.init=function(i){if(i===null&&(i=this.getFactory().getCoordinateSequenceFactory().create([])),i.size()===1)throw new Xt("Invalid number of points in LineString (found "+i.size()+" - must be 0 or >= 2)");this._points=i},e.prototype.isCoordinate=function(i){for(var s=this,o=0;o<this._points.size();o++)if(s._points.getCoordinate(o).equals(i))return!0;return!1},e.prototype.getStartPoint=function(){return this.isEmpty()?null:this.getPointN(0)},e.prototype.getPointN=function(i){return this.getFactory().createPoint(this._points.getCoordinate(i))},e.prototype.interfaces_=function(){return[Wu]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 0x2b2b51ba435c8e00},Object.defineProperties(e,t),e}(ot),Hu=function(){};Hu.prototype.interfaces_=function(){return[]},Hu.prototype.getClass=function(){return Hu};var cn=function(r){function e(n,i){r.call(this,i),this._coordinates=n||null,this.init(this._coordinates)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){if(this.isEmpty())return new Q;var i=new Q;return i.expandToInclude(this._coordinates.getX(0),this._coordinates.getY(0)),i},e.prototype.getSortIndex=function(){return r.SORTINDEX_POINT},e.prototype.getCoordinates=function(){return this.isEmpty()?[]:[this.getCoordinate()]},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?this.isEmpty()&&i.isEmpty()?!0:this.isEmpty()!==i.isEmpty()?!1:this.equal(i.getCoordinate(),this.getCoordinate(),s):!1}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){},e.prototype.getCoordinate=function(){return this._coordinates.size()!==0?this._coordinates.getCoordinate(0):null},e.prototype.getBoundaryDimension=function(){return Mt.FALSE},e.prototype.getDimension=function(){return 0},e.prototype.getNumPoints=function(){return this.isEmpty()?0:1},e.prototype.reverse=function(){return this.copy()},e.prototype.getX=function(){if(this.getCoordinate()===null)throw new Error("getX called on empty Point");return this.getCoordinate().x},e.prototype.compareToSameClass=function(){if(arguments.length===1){var i=arguments[0],s=i;return this.getCoordinate().compareTo(s.getCoordinate())}else if(arguments.length===2){var o=arguments[0],a=arguments[1],u=o;return a.compare(this._coordinates,u._coordinates)}},e.prototype.apply=function(){if(at(arguments[0],zr)){var i=arguments[0];if(this.isEmpty())return null;i.filter(this.getCoordinate())}else if(at(arguments[0],Zn)){var s=arguments[0];if(this.isEmpty())return null;s.filter(this._coordinates,0),s.isGeometryChanged()&&this.geometryChanged()}else if(at(arguments[0],hr)){var o=arguments[0];o.filter(this)}else if(at(arguments[0],gi)){var a=arguments[0];a.filter(this)}},e.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},e.prototype.clone=function(){var i=r.prototype.clone.call(this);return i._coordinates=this._coordinates.clone(),i},e.prototype.getGeometryType=function(){return"Point"},e.prototype.copy=function(){return new e(this._coordinates.copy(),this._factory)},e.prototype.getCoordinateSequence=function(){return this._coordinates},e.prototype.getY=function(){if(this.getCoordinate()===null)throw new Error("getY called on empty Point");return this.getCoordinate().y},e.prototype.isEmpty=function(){return this._coordinates.size()===0},e.prototype.init=function(i){i===null&&(i=this.getFactory().getCoordinateSequenceFactory().create([])),vt.isTrue(i.size()<=1),this._coordinates=i},e.prototype.isSimple=function(){return!0},e.prototype.interfaces_=function(){return[Hu]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 4902022702746615e3},Object.defineProperties(e,t),e}(ot),Xi=function(){};Xi.prototype.interfaces_=function(){return[]},Xi.prototype.getClass=function(){return Xi};var fe=function(r){function e(n,i,s){if(r.call(this,s),this._shell=null,this._holes=null,n===null&&(n=this.getFactory().createLinearRing()),i===null&&(i=[]),r.hasNullElements(i))throw new Xt("holes must not contain null elements");if(n.isEmpty()&&r.hasNonEmptyElements(i))throw new Xt("shell is empty but holes are not");this._shell=n,this._holes=i}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){return this._shell.getEnvelopeInternal()},e.prototype.getSortIndex=function(){return r.SORTINDEX_POLYGON},e.prototype.getCoordinates=function(){var i=this;if(this.isEmpty())return[];for(var s=new Array(this.getNumPoints()).fill(null),o=-1,a=this._shell.getCoordinates(),u=0;u<a.length;u++)o++,s[o]=a[u];for(var l=0;l<this._holes.length;l++)for(var c=i._holes[l].getCoordinates(),h=0;h<c.length;h++)o++,s[o]=c[h];return s},e.prototype.getArea=function(){var i=this,s=0;s+=Math.abs(q.signedArea(this._shell.getCoordinateSequence()));for(var o=0;o<this._holes.length;o++)s-=Math.abs(q.signedArea(i._holes[o].getCoordinateSequence()));return s},e.prototype.isRectangle=function(){if(this.getNumInteriorRing()!==0||this._shell===null||this._shell.getNumPoints()!==5)return!1;for(var i=this._shell.getCoordinateSequence(),s=this.getEnvelopeInternal(),o=0;o<5;o++){var a=i.getX(o);if(!(a===s.getMinX()||a===s.getMaxX()))return!1;var u=i.getY(o);if(!(u===s.getMinY()||u===s.getMaxY()))return!1}for(var l=i.getX(0),c=i.getY(0),h=1;h<=4;h++){var f=i.getX(h),p=i.getY(h),v=f!==l,C=p!==c;if(v===C)return!1;l=f,c=p}return!0},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s,u=this._shell,l=a._shell;if(!u.equalsExact(l,o)||this._holes.length!==a._holes.length)return!1;for(var c=0;c<this._holes.length;c++)if(!i._holes[c].equalsExact(a._holes[c],o))return!1;return!0}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){var i=this;if(arguments.length===0){this.normalize(this._shell,!0);for(var s=0;s<this._holes.length;s++)i.normalize(i._holes[s],!1);Es.sort(this._holes)}else if(arguments.length===2){var o=arguments[0],a=arguments[1];if(o.isEmpty())return null;var u=new Array(o.getCoordinates().length-1).fill(null);xe.arraycopy(o.getCoordinates(),0,u,0,u.length);var l=Et.minCoordinate(o.getCoordinates());Et.scroll(u,l),xe.arraycopy(u,0,o.getCoordinates(),0,u.length),o.getCoordinates()[u.length]=u[0],q.isCCW(o.getCoordinates())===a&&Et.reverse(o.getCoordinates())}},e.prototype.getCoordinate=function(){return this._shell.getCoordinate()},e.prototype.getNumInteriorRing=function(){return this._holes.length},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.getLength=function(){var i=this,s=0;s+=this._shell.getLength();for(var o=0;o<this._holes.length;o++)s+=i._holes[o].getLength();return s},e.prototype.getNumPoints=function(){for(var i=this,s=this._shell.getNumPoints(),o=0;o<this._holes.length;o++)s+=i._holes[o].getNumPoints();return s},e.prototype.reverse=function(){var i=this,s=this.copy();s._shell=this._shell.copy().reverse(),s._holes=new Array(this._holes.length).fill(null);for(var o=0;o<this._holes.length;o++)s._holes[o]=i._holes[o].copy().reverse();return s},e.prototype.convexHull=function(){return this.getExteriorRing().convexHull()},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){var s=arguments[0],o=this._shell,a=s._shell;return o.compareToSameClass(a)}else if(arguments.length===2){var u=arguments[0],l=arguments[1],c=u,h=this._shell,f=c._shell,p=h.compareToSameClass(f,l);if(p!==0)return p;for(var v=this.getNumInteriorRing(),C=c.getNumInteriorRing(),S=0;S<v&&S<C;){var P=i.getInteriorRingN(S),y=c.getInteriorRingN(S),_=P.compareToSameClass(y,l);if(_!==0)return _;S++}return S<v?1:S<C?-1:0}},e.prototype.apply=function(i){var s=this;if(at(i,zr)){this._shell.apply(i);for(var o=0;o<this._holes.length;o++)s._holes[o].apply(i)}else if(at(i,Zn)){if(this._shell.apply(i),!i.isDone())for(var a=0;a<this._holes.length&&(s._holes[a].apply(i),!i.isDone());a++);i.isGeometryChanged()&&this.geometryChanged()}else if(at(i,hr))i.filter(this);else if(at(i,gi)){i.filter(this),this._shell.apply(i);for(var u=0;u<this._holes.length;u++)s._holes[u].apply(i)}},e.prototype.getBoundary=function(){var i=this;if(this.isEmpty())return this.getFactory().createMultiLineString();var s=new Array(this._holes.length+1).fill(null);s[0]=this._shell;for(var o=0;o<this._holes.length;o++)s[o+1]=i._holes[o];return s.length<=1?this.getFactory().createLinearRing(s[0].getCoordinateSequence()):this.getFactory().createMultiLineString(s)},e.prototype.clone=function(){var i=this,s=r.prototype.clone.call(this);s._shell=this._shell.clone(),s._holes=new Array(this._holes.length).fill(null);for(var o=0;o<this._holes.length;o++)s._holes[o]=i._holes[o].clone();return s},e.prototype.getGeometryType=function(){return"Polygon"},e.prototype.copy=function(){for(var i=this,s=this._shell.copy(),o=new Array(this._holes.length).fill(null),a=0;a<o.length;a++)o[a]=i._holes[a].copy();return new e(s,o,this._factory)},e.prototype.getExteriorRing=function(){return this._shell},e.prototype.isEmpty=function(){return this._shell.isEmpty()},e.prototype.getInteriorRingN=function(i){return this._holes[i]},e.prototype.interfaces_=function(){return[Xi]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-0x307ffefd8dc97200},Object.defineProperties(e,t),e}(ot),va=function(r){function e(){r.apply(this,arguments)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return ot.SORTINDEX_MULTIPOINT},e.prototype.isValid=function(){return!0},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?r.prototype.equalsExact.call(this,i,s):!1}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.getCoordinate=function(){if(arguments.length===1){var i=arguments[0];return this._geometries[i].getCoordinate()}else return r.prototype.getCoordinate.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return Mt.FALSE},e.prototype.getDimension=function(){return 0},e.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},e.prototype.getGeometryType=function(){return"MultiPoint"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Hu]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-8048474874175356e3},Object.defineProperties(e,t),e}(Ue),Ur=function(r){function e(n,i){n instanceof R&&i instanceof Ct&&(n=i.getCoordinateSequenceFactory().create(n)),r.call(this,n,i),this.validateConstruction()}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={MINIMUM_VALID_SIZE:{configurable:!0},serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return ot.SORTINDEX_LINEARRING},e.prototype.getBoundaryDimension=function(){return Mt.FALSE},e.prototype.isClosed=function(){return this.isEmpty()?!0:r.prototype.isClosed.call(this)},e.prototype.reverse=function(){var i=this._points.copy();re.reverse(i);var s=this.getFactory().createLinearRing(i);return s},e.prototype.validateConstruction=function(){if(!this.isEmpty()&&!r.prototype.isClosed.call(this))throw new Xt("Points of LinearRing do not form a closed linestring");if(this.getCoordinateSequence().size()>=1&&this.getCoordinateSequence().size()<e.MINIMUM_VALID_SIZE)throw new Xt("Invalid number of points in LinearRing (found "+this.getCoordinateSequence().size()+" - must be 0 or >= 4)")},e.prototype.getGeometryType=function(){return"LinearRing"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.MINIMUM_VALID_SIZE.get=function(){return 4},t.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(e,t),e}(Qt),Gr=function(r){function e(){r.apply(this,arguments)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return ot.SORTINDEX_MULTIPOLYGON},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?r.prototype.equalsExact.call(this,i,s):!1}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[a]=i._geometries[a].reverse();return this.getFactory().createMultiPolygon(o)},e.prototype.getBoundary=function(){var i=this;if(this.isEmpty())return this.getFactory().createMultiLineString();for(var s=new W,o=0;o<this._geometries.length;o++)for(var a=i._geometries[o],u=a.getBoundary(),l=0;l<u.getNumGeometries();l++)s.add(u.getGeometryN(l));var c=new Array(s.size()).fill(null);return this.getFactory().createMultiLineString(s.toArray(c))},e.prototype.getGeometryType=function(){return"MultiPolygon"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Xi]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-0x7a5aa1369171980},Object.defineProperties(e,t),e}(Ue),Bn=function(e){this._factory=e||null,this._isUserDataCopied=!1},oc={NoOpGeometryOperation:{configurable:!0},CoordinateOperation:{configurable:!0},CoordinateSequenceOperation:{configurable:!0}};Bn.prototype.setCopyUserData=function(e){this._isUserDataCopied=e},Bn.prototype.edit=function(e,t){if(e===null)return null;var n=this.editInternal(e,t);return this._isUserDataCopied&&n.setUserData(e.getUserData()),n},Bn.prototype.editInternal=function(e,t){return this._factory===null&&(this._factory=e.getFactory()),e instanceof Ue?this.editGeometryCollection(e,t):e instanceof fe?this.editPolygon(e,t):e instanceof cn?t.edit(e,this._factory):e instanceof Qt?t.edit(e,this._factory):(vt.shouldNeverReachHere("Unsupported Geometry class: "+e.getClass().getName()),null)},Bn.prototype.editGeometryCollection=function(e,t){for(var n=this,i=t.edit(e,this._factory),s=new W,o=0;o<i.getNumGeometries();o++){var a=n.edit(i.getGeometryN(o),t);a===null||a.isEmpty()||s.add(a)}return i.getClass()===va?this._factory.createMultiPoint(s.toArray([])):i.getClass()===Cs?this._factory.createMultiLineString(s.toArray([])):i.getClass()===Gr?this._factory.createMultiPolygon(s.toArray([])):this._factory.createGeometryCollection(s.toArray([]))},Bn.prototype.editPolygon=function(e,t){var n=this,i=t.edit(e,this._factory);if(i===null&&(i=this._factory.createPolygon(null)),i.isEmpty())return i;var s=this.edit(i.getExteriorRing(),t);if(s===null||s.isEmpty())return this._factory.createPolygon();for(var o=new W,a=0;a<i.getNumInteriorRing();a++){var u=n.edit(i.getInteriorRingN(a),t);u===null||u.isEmpty()||o.add(u)}return this._factory.createPolygon(s,o.toArray([]))},Bn.prototype.interfaces_=function(){return[]},Bn.prototype.getClass=function(){return Bn},Bn.GeometryEditorOperation=function(){},oc.NoOpGeometryOperation.get=function(){return qu},oc.CoordinateOperation.get=function(){return Xu},oc.CoordinateSequenceOperation.get=function(){return Yu},Object.defineProperties(Bn,oc);var qu=function(){};qu.prototype.edit=function(e,t){return e},qu.prototype.interfaces_=function(){return[Bn.GeometryEditorOperation]},qu.prototype.getClass=function(){return qu};var Xu=function(){};Xu.prototype.edit=function(e,t){var n=this.editCoordinates(e.getCoordinates(),e);return n===null?e:e instanceof Ur?t.createLinearRing(n):e instanceof Qt?t.createLineString(n):e instanceof cn?n.length>0?t.createPoint(n[0]):t.createPoint():e},Xu.prototype.interfaces_=function(){return[Bn.GeometryEditorOperation]},Xu.prototype.getClass=function(){return Xu};var Yu=function(){};Yu.prototype.edit=function(e,t){return e instanceof Ur?t.createLinearRing(this.edit(e.getCoordinateSequence(),e)):e instanceof Qt?t.createLineString(this.edit(e.getCoordinateSequence(),e)):e instanceof cn?t.createPoint(this.edit(e.getCoordinateSequence(),e)):e},Yu.prototype.interfaces_=function(){return[Bn.GeometryEditorOperation]},Yu.prototype.getClass=function(){return Yu};var ie=function(){var e=this;if(this._dimension=3,this._coordinates=null,arguments.length===1){if(arguments[0]instanceof Array)this._coordinates=arguments[0],this._dimension=3;else if(Number.isInteger(arguments[0])){var t=arguments[0];this._coordinates=new Array(t).fill(null);for(var n=0;n<t;n++)e._coordinates[n]=new R}else if(at(arguments[0],Tt)){var i=arguments[0];if(i===null)return this._coordinates=new Array(0).fill(null),null;this._dimension=i.getDimension(),this._coordinates=new Array(i.size()).fill(null);for(var s=0;s<this._coordinates.length;s++)e._coordinates[s]=i.getCoordinateCopy(s)}}else if(arguments.length===2){if(arguments[0]instanceof Array&&Number.isInteger(arguments[1])){var o=arguments[0],a=arguments[1];this._coordinates=o,this._dimension=a,o===null&&(this._coordinates=new Array(0).fill(null))}else if(Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var u=arguments[0],l=arguments[1];this._coordinates=new Array(u).fill(null),this._dimension=l;for(var c=0;c<u;c++)e._coordinates[c]=new R}}},Nm={serialVersionUID:{configurable:!0}};ie.prototype.setOrdinate=function(e,t,n){switch(t){case Tt.X:this._coordinates[e].x=n;break;case Tt.Y:this._coordinates[e].y=n;break;case Tt.Z:this._coordinates[e].z=n;break;default:throw new Xt("invalid ordinateIndex")}},ie.prototype.size=function(){return this._coordinates.length},ie.prototype.getOrdinate=function(e,t){switch(t){case Tt.X:return this._coordinates[e].x;case Tt.Y:return this._coordinates[e].y;case Tt.Z:return this._coordinates[e].z}return ht.NaN},ie.prototype.getCoordinate=function(){if(arguments.length===1){var e=arguments[0];return this._coordinates[e]}else if(arguments.length===2){var t=arguments[0],n=arguments[1];n.x=this._coordinates[t].x,n.y=this._coordinates[t].y,n.z=this._coordinates[t].z}},ie.prototype.getCoordinateCopy=function(e){return new R(this._coordinates[e])},ie.prototype.getDimension=function(){return this._dimension},ie.prototype.getX=function(e){return this._coordinates[e].x},ie.prototype.clone=function(){for(var e=this,t=new Array(this.size()).fill(null),n=0;n<this._coordinates.length;n++)t[n]=e._coordinates[n].clone();return new ie(t,this._dimension)},ie.prototype.expandEnvelope=function(e){for(var t=this,n=0;n<this._coordinates.length;n++)e.expandToInclude(t._coordinates[n]);return e},ie.prototype.copy=function(){for(var e=this,t=new Array(this.size()).fill(null),n=0;n<this._coordinates.length;n++)t[n]=e._coordinates[n].copy();return new ie(t,this._dimension)},ie.prototype.toString=function(){var e=this;if(this._coordinates.length>0){var t=new or(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var n=1;n<this._coordinates.length;n++)t.append(", "),t.append(e._coordinates[n]);return t.append(")"),t.toString()}else return"()"},ie.prototype.getY=function(e){return this._coordinates[e].y},ie.prototype.toCoordinateArray=function(){return this._coordinates},ie.prototype.interfaces_=function(){return[Tt,Fn]},ie.prototype.getClass=function(){return ie},Nm.serialVersionUID.get=function(){return-0xcb44a778db18e00},Object.defineProperties(ie,Nm);var Wr=function(){},ud={serialVersionUID:{configurable:!0},instanceObject:{configurable:!0}};Wr.prototype.readResolve=function(){return Wr.instance()},Wr.prototype.create=function(){if(arguments.length===1){if(arguments[0]instanceof Array){var e=arguments[0];return new ie(e)}else if(at(arguments[0],Tt)){var t=arguments[0];return new ie(t)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];return i>3&&(i=3),i<2?new ie(n):new ie(n,i)}},Wr.prototype.interfaces_=function(){return[aa,Fn]},Wr.prototype.getClass=function(){return Wr},Wr.instance=function(){return Wr.instanceObject},ud.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},ud.instanceObject.get=function(){return new Wr},Object.defineProperties(Wr,ud);var Om=function(r){function e(){r.call(this),this.map_=new Map}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.get=function(n){return this.map_.get(n)||null},e.prototype.put=function(n,i){return this.map_.set(n,i),i},e.prototype.values=function(){for(var n=new W,i=this.map_.values(),s=i.next();!s.done;)n.add(s.value),s=i.next();return n},e.prototype.entrySet=function(){var n=new sd;return this.map_.entries().forEach(function(i){return n.add(i)}),n},e.prototype.size=function(){return this.map_.size()},e}(uo),Rt=function r(){if(this._modelType=null,this._scale=null,arguments.length===0)this._modelType=r.FLOATING;else if(arguments.length===1){if(arguments[0]instanceof dr){var e=arguments[0];this._modelType=e,e===r.FIXED&&this.setScale(1)}else if(typeof arguments[0]=="number"){var t=arguments[0];this._modelType=r.FIXED,this.setScale(t)}else if(arguments[0]instanceof r){var n=arguments[0];this._modelType=n._modelType,this._scale=n._scale}}},ld={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};Rt.prototype.equals=function(e){if(!(e instanceof Rt))return!1;var t=e;return this._modelType===t._modelType&&this._scale===t._scale},Rt.prototype.compareTo=function(e){var t=e,n=this.getMaximumSignificantDigits(),i=t.getMaximumSignificantDigits();return new ar(n).compareTo(new ar(i))},Rt.prototype.getScale=function(){return this._scale},Rt.prototype.isFloating=function(){return this._modelType===Rt.FLOATING||this._modelType===Rt.FLOATING_SINGLE},Rt.prototype.getType=function(){return this._modelType},Rt.prototype.toString=function(){var e="UNKNOWN";return this._modelType===Rt.FLOATING?e="Floating":this._modelType===Rt.FLOATING_SINGLE?e="Floating-Single":this._modelType===Rt.FIXED&&(e="Fixed (Scale="+this.getScale()+")"),e},Rt.prototype.makePrecise=function(){if(typeof arguments[0]=="number"){var e=arguments[0];if(ht.isNaN(e))return e;if(this._modelType===Rt.FLOATING_SINGLE){var t=e;return t}return this._modelType===Rt.FIXED?Math.round(e*this._scale)/this._scale:e}else if(arguments[0]instanceof R){var n=arguments[0];if(this._modelType===Rt.FLOATING)return null;n.x=this.makePrecise(n.x),n.y=this.makePrecise(n.y)}},Rt.prototype.getMaximumSignificantDigits=function(){var e=16;return this._modelType===Rt.FLOATING?e=16:this._modelType===Rt.FLOATING_SINGLE?e=6:this._modelType===Rt.FIXED&&(e=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),e},Rt.prototype.setScale=function(e){this._scale=Math.abs(e)},Rt.prototype.interfaces_=function(){return[Fn,Ln]},Rt.prototype.getClass=function(){return Rt},Rt.mostPrecise=function(e,t){return e.compareTo(t)>=0?e:t},ld.serialVersionUID.get=function(){return 7777263578777804e3},ld.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(Rt,ld);var dr=function r(e){this._name=e||null,r.nameToTypeMap.put(e,this)},cd={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};dr.prototype.readResolve=function(){return dr.nameToTypeMap.get(this._name)},dr.prototype.toString=function(){return this._name},dr.prototype.interfaces_=function(){return[Fn]},dr.prototype.getClass=function(){return dr},cd.serialVersionUID.get=function(){return-552860263173159e4},cd.nameToTypeMap.get=function(){return new Om},Object.defineProperties(dr,cd),Rt.Type=dr,Rt.FIXED=new dr("FIXED"),Rt.FLOATING=new dr("FLOATING"),Rt.FLOATING_SINGLE=new dr("FLOATING SINGLE");var Ct=function r(){this._precisionModel=new Rt,this._SRID=0,this._coordinateSequenceFactory=r.getDefaultCoordinateSequenceFactory(),arguments.length===0||(arguments.length===1?at(arguments[0],aa)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof Rt&&(this._precisionModel=arguments[0]):arguments.length===2?(this._precisionModel=arguments[0],this._SRID=arguments[1]):arguments.length===3&&(this._precisionModel=arguments[0],this._SRID=arguments[1],this._coordinateSequenceFactory=arguments[2]))},Dm={serialVersionUID:{configurable:!0}};Ct.prototype.toGeometry=function(e){return e.isNull()?this.createPoint(null):e.getMinX()===e.getMaxX()&&e.getMinY()===e.getMaxY()?this.createPoint(new R(e.getMinX(),e.getMinY())):e.getMinX()===e.getMaxX()||e.getMinY()===e.getMaxY()?this.createLineString([new R(e.getMinX(),e.getMinY()),new R(e.getMaxX(),e.getMaxY())]):this.createPolygon(this.createLinearRing([new R(e.getMinX(),e.getMinY()),new R(e.getMinX(),e.getMaxY()),new R(e.getMaxX(),e.getMaxY()),new R(e.getMaxX(),e.getMinY()),new R(e.getMinX(),e.getMinY())]),null)},Ct.prototype.createLineString=function(e){if(e){if(e instanceof Array)return new Qt(this.getCoordinateSequenceFactory().create(e),this);if(at(e,Tt))return new Qt(e,this)}else return new Qt(this.getCoordinateSequenceFactory().create([]),this)},Ct.prototype.createMultiLineString=function(){if(arguments.length===0)return new Cs(null,this);if(arguments.length===1){var e=arguments[0];return new Cs(e,this)}},Ct.prototype.buildGeometry=function(e){for(var t=null,n=!1,i=!1,s=e.iterator();s.hasNext();){var o=s.next(),a=o.getClass();t===null&&(t=a),a!==t&&(n=!0),o.isGeometryCollectionOrDerived()&&(i=!0)}if(t===null)return this.createGeometryCollection();if(n||i)return this.createGeometryCollection(Ct.toGeometryArray(e));var u=e.iterator().next(),l=e.size()>1;if(l){if(u instanceof fe)return this.createMultiPolygon(Ct.toPolygonArray(e));if(u instanceof Qt)return this.createMultiLineString(Ct.toLineStringArray(e));if(u instanceof cn)return this.createMultiPoint(Ct.toPointArray(e));vt.shouldNeverReachHere("Unhandled class: "+u.getClass().getName())}return u},Ct.prototype.createMultiPointFromCoords=function(e){return this.createMultiPoint(e!==null?this.getCoordinateSequenceFactory().create(e):null)},Ct.prototype.createPoint=function(){if(arguments.length===0)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof R){var e=arguments[0];return this.createPoint(e!==null?this.getCoordinateSequenceFactory().create([e]):null)}else if(at(arguments[0],Tt)){var t=arguments[0];return new cn(t,this)}}},Ct.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},Ct.prototype.createPolygon=function(){if(arguments.length===0)return new fe(null,null,this);if(arguments.length===1){if(at(arguments[0],Tt)){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}else if(arguments[0]instanceof Array){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}else if(arguments[0]instanceof Ur){var n=arguments[0];return this.createPolygon(n,null)}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];return new fe(i,s,this)}},Ct.prototype.getSRID=function(){return this._SRID},Ct.prototype.createGeometryCollection=function(){if(arguments.length===0)return new Ue(null,this);if(arguments.length===1){var e=arguments[0];return new Ue(e,this)}},Ct.prototype.createGeometry=function(e){var t=new Bn(this);return t.edit(e,{edit:function(){if(arguments.length===2){var n=arguments[0];return this._coordinateSequenceFactory.create(n)}}})},Ct.prototype.getPrecisionModel=function(){return this._precisionModel},Ct.prototype.createLinearRing=function(){if(arguments.length===0)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof Array){var e=arguments[0];return this.createLinearRing(e!==null?this.getCoordinateSequenceFactory().create(e):null)}else if(at(arguments[0],Tt)){var t=arguments[0];return new Ur(t,this)}}},Ct.prototype.createMultiPolygon=function(){if(arguments.length===0)return new Gr(null,this);if(arguments.length===1){var e=arguments[0];return new Gr(e,this)}},Ct.prototype.createMultiPoint=function(){var e=this;if(arguments.length===0)return new va(null,this);if(arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];return new va(t,this)}else if(arguments[0]instanceof Array){var n=arguments[0];return this.createMultiPoint(n!==null?this.getCoordinateSequenceFactory().create(n):null)}else if(at(arguments[0],Tt)){var i=arguments[0];if(i===null)return this.createMultiPoint(new Array(0).fill(null));for(var s=new Array(i.size()).fill(null),o=0;o<i.size();o++){var a=e.getCoordinateSequenceFactory().create(1,i.getDimension());re.copy(i,o,a,0,1),s[o]=e.createPoint(a)}return this.createMultiPoint(s)}}},Ct.prototype.interfaces_=function(){return[Fn]},Ct.prototype.getClass=function(){return Ct},Ct.toMultiPolygonArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toGeometryArray=function(e){if(e===null)return null;var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.getDefaultCoordinateSequenceFactory=function(){return Wr.instance()},Ct.toMultiLineStringArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toLineStringArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toMultiPointArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toLinearRingArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toPointArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toPolygonArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.createPointFromInternalCoord=function(e,t){return t.getPrecisionModel().makePrecise(e),t.getFactory().createPoint(e)},Dm.serialVersionUID.get=function(){return-6820524753094096e3},Object.defineProperties(Ct,Dm);var HE=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],ac=function(e){this.geometryFactory=e||new Ct};ac.prototype.read=function(e){var t;typeof e=="string"?t=JSON.parse(e):t=e;var n=t.type;if(!fr[n])throw new Error("Unknown GeoJSON type: "+t.type);return HE.indexOf(n)!==-1?fr[n].apply(this,[t.coordinates]):n==="GeometryCollection"?fr[n].apply(this,[t.geometries]):fr[n].apply(this,[t])},ac.prototype.write=function(e){var t=e.getGeometryType();if(!_i[t])throw new Error("Geometry is not supported");return _i[t].apply(this,[e])};var fr={Feature:function(r){var e={};for(var t in r)e[t]=r[t];if(r.geometry){var n=r.geometry.type;if(!fr[n])throw new Error("Unknown GeoJSON type: "+r.type);e.geometry=this.read(r.geometry)}return r.bbox&&(e.bbox=fr.bbox.apply(this,[r.bbox])),e},FeatureCollection:function(r){var e=this,t={};if(r.features){t.features=[];for(var n=0;n<r.features.length;++n)t.features.push(e.read(r.features[n]))}return r.bbox&&(t.bbox=this.parse.bbox.apply(this,[r.bbox])),t},coordinates:function(r){for(var e=[],t=0;t<r.length;++t){var n=r[t];e.push(new R(n[0],n[1]))}return e},bbox:function(r){return this.geometryFactory.createLinearRing([new R(r[0],r[1]),new R(r[2],r[1]),new R(r[2],r[3]),new R(r[0],r[3]),new R(r[0],r[1])])},Point:function(r){var e=new R(r[0],r[1]);return this.geometryFactory.createPoint(e)},MultiPoint:function(r){for(var e=this,t=[],n=0;n<r.length;++n)t.push(fr.Point.apply(e,[r[n]]));return this.geometryFactory.createMultiPoint(t)},LineString:function(r){var e=fr.coordinates.apply(this,[r]);return this.geometryFactory.createLineString(e)},MultiLineString:function(r){for(var e=this,t=[],n=0;n<r.length;++n)t.push(fr.LineString.apply(e,[r[n]]));return this.geometryFactory.createMultiLineString(t)},Polygon:function(r){for(var e=this,t=fr.coordinates.apply(this,[r[0]]),n=this.geometryFactory.createLinearRing(t),i=[],s=1;s<r.length;++s){var o=r[s],a=fr.coordinates.apply(e,[o]),u=e.geometryFactory.createLinearRing(a);i.push(u)}return this.geometryFactory.createPolygon(n,i)},MultiPolygon:function(r){for(var e=this,t=[],n=0;n<r.length;++n){var i=r[n];t.push(fr.Polygon.apply(e,[i]))}return this.geometryFactory.createMultiPolygon(t)},GeometryCollection:function(r){for(var e=this,t=[],n=0;n<r.length;++n){var i=r[n];t.push(e.read(i))}return this.geometryFactory.createGeometryCollection(t)}},_i={coordinate:function(r){return[r.x,r.y]},Point:function(r){var e=_i.coordinate.apply(this,[r.getCoordinate()]);return{type:"Point",coordinates:e}},MultiPoint:function(r){for(var e=this,t=[],n=0;n<r._geometries.length;++n){var i=r._geometries[n],s=_i.Point.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiPoint",coordinates:t}},LineString:function(r){for(var e=this,t=[],n=r.getCoordinates(),i=0;i<n.length;++i){var s=n[i];t.push(_i.coordinate.apply(e,[s]))}return{type:"LineString",coordinates:t}},MultiLineString:function(r){for(var e=this,t=[],n=0;n<r._geometries.length;++n){var i=r._geometries[n],s=_i.LineString.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiLineString",coordinates:t}},Polygon:function(r){var e=this,t=[],n=_i.LineString.apply(this,[r._shell]);t.push(n.coordinates);for(var i=0;i<r._holes.length;++i){var s=r._holes[i],o=_i.LineString.apply(e,[s]);t.push(o.coordinates)}return{type:"Polygon",coordinates:t}},MultiPolygon:function(r){for(var e=this,t=[],n=0;n<r._geometries.length;++n){var i=r._geometries[n],s=_i.Polygon.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiPolygon",coordinates:t}},GeometryCollection:function(r){for(var e=this,t=[],n=0;n<r._geometries.length;++n){var i=r._geometries[n],s=i.getGeometryType();t.push(_i[s].apply(e,[i]))}return{type:"GeometryCollection",geometries:t}}},hd=function(e){this.geometryFactory=e||new Ct,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new ac(this.geometryFactory)};hd.prototype.read=function(e){var t=this.parser.read(e);return this.precisionModel.getType()===Rt.FIXED&&this.reducePrecision(t),t},hd.prototype.reducePrecision=function(e){var t=this,n,i;if(e.coordinate)this.precisionModel.makePrecise(e.coordinate);else if(e.points)for(n=0,i=e.points.length;n<i;n++)t.precisionModel.makePrecise(e.points[n]);else if(e.geometries)for(n=0,i=e.geometries.length;n<i;n++)t.reducePrecision(e.geometries[n])};var Mm=function(){this.parser=new ac(this.geometryFactory)};Mm.prototype.write=function(e){return this.parser.write(e)};var U=function(){},uc={ON:{configurable:!0},LEFT:{configurable:!0},RIGHT:{configurable:!0}};U.prototype.interfaces_=function(){return[]},U.prototype.getClass=function(){return U},U.opposite=function(e){return e===U.LEFT?U.RIGHT:e===U.RIGHT?U.LEFT:e},uc.ON.get=function(){return 0},uc.LEFT.get=function(){return 1},uc.RIGHT.get=function(){return 2},Object.defineProperties(U,uc);function lc(r){this.message=r||""}lc.prototype=new Error,lc.prototype.name="EmptyStackException";function pr(){this.array_=[]}pr.prototype=new $n,pr.prototype.add=function(r){return this.array_.push(r),!0},pr.prototype.get=function(r){if(r<0||r>=this.size())throw new Error;return this.array_[r]},pr.prototype.push=function(r){return this.array_.push(r),r},pr.prototype.pop=function(r){if(this.array_.length===0)throw new lc;return this.array_.pop()},pr.prototype.peek=function(){if(this.array_.length===0)throw new lc;return this.array_[this.array_.length-1]},pr.prototype.empty=function(){return this.array_.length===0},pr.prototype.isEmpty=function(){return this.empty()},pr.prototype.search=function(r){return this.array_.indexOf(r)},pr.prototype.size=function(){return this.array_.length},pr.prototype.toArray=function(){for(var r=this,e=[],t=0,n=this.array_.length;t<n;t++)e.push(r.array_[t]);return e};var gr=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null};gr.prototype.getCoordinate=function(){return this._minCoord},gr.prototype.getRightmostSide=function(e,t){var n=this.getRightmostSideOfSegment(e,t);return n<0&&(n=this.getRightmostSideOfSegment(e,t-1)),n<0&&(this._minCoord=null,this.checkForRightmostCoordinate(e)),n},gr.prototype.findRightmostEdgeAtVertex=function(){var e=this._minDe.getEdge().getCoordinates();vt.isTrue(this._minIndex>0&&this._minIndex<e.length,"rightmost point expected to be interior vertex of edge");var t=e[this._minIndex-1],n=e[this._minIndex+1],i=q.computeOrientation(this._minCoord,n,t),s=!1;(t.y<this._minCoord.y&&n.y<this._minCoord.y&&i===q.COUNTERCLOCKWISE||t.y>this._minCoord.y&&n.y>this._minCoord.y&&i===q.CLOCKWISE)&&(s=!0),s&&(this._minIndex=this._minIndex-1)},gr.prototype.getRightmostSideOfSegment=function(e,t){var n=e.getEdge(),i=n.getCoordinates();if(t<0||t+1>=i.length||i[t].y===i[t+1].y)return-1;var s=U.LEFT;return i[t].y<i[t+1].y&&(s=U.RIGHT),s},gr.prototype.getEdge=function(){return this._orientedDe},gr.prototype.checkForRightmostCoordinate=function(e){for(var t=this,n=e.getEdge().getCoordinates(),i=0;i<n.length-1;i++)(t._minCoord===null||n[i].x>t._minCoord.x)&&(t._minDe=e,t._minIndex=i,t._minCoord=n[i])},gr.prototype.findRightmostEdgeAtNode=function(){var e=this._minDe.getNode(),t=e.getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},gr.prototype.findEdge=function(e){for(var t=this,n=e.iterator();n.hasNext();){var i=n.next();i.isForward()&&t.checkForRightmostCoordinate(i)}vt.isTrue(this._minIndex!==0||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),this._minIndex===0?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe;var s=this.getRightmostSide(this._minDe,this._minIndex);s===U.LEFT&&(this._orientedDe=this._minDe.getSym())},gr.prototype.interfaces_=function(){return[]},gr.prototype.getClass=function(){return gr};var wi=function(r){function e(t,n){r.call(this,e.msgWithCoord(t,n)),this.pt=n?new R(n):null,this.name="TopologyException"}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.getCoordinate=function(){return this.pt},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.msgWithCoord=function(n,i){return i?n:n+" [ "+i+" ]"},e}(pi),cc=function(){this.array_=[]};cc.prototype.addLast=function(e){this.array_.push(e)},cc.prototype.removeFirst=function(){return this.array_.shift()},cc.prototype.isEmpty=function(){return this.array_.length===0};var Ge=function(){this._finder=null,this._dirEdgeList=new W,this._nodes=new W,this._rightMostCoord=null,this._env=null,this._finder=new gr};Ge.prototype.clearVisitedEdges=function(){for(var e=this._dirEdgeList.iterator();e.hasNext();){var t=e.next();t.setVisited(!1)}},Ge.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},Ge.prototype.computeNodeDepth=function(e){for(var t=this,n=null,i=e.getEdges().iterator();i.hasNext();){var s=i.next();if(s.isVisited()||s.getSym().isVisited()){n=s;break}}if(n===null)throw new wi("unable to find edge to compute depths at "+e.getCoordinate());e.getEdges().computeDepths(n);for(var o=e.getEdges().iterator();o.hasNext();){var a=o.next();a.setVisited(!0),t.copySymDepths(a)}},Ge.prototype.computeDepth=function(e){this.clearVisitedEdges();var t=this._finder.getEdge();t.setEdgeDepths(U.RIGHT,e),this.copySymDepths(t),this.computeDepths(t)},Ge.prototype.create=function(e){this.addReachable(e),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},Ge.prototype.findResultEdges=function(){for(var e=this._dirEdgeList.iterator();e.hasNext();){var t=e.next();t.getDepth(U.RIGHT)>=1&&t.getDepth(U.LEFT)<=0&&!t.isInteriorAreaEdge()&&t.setInResult(!0)}},Ge.prototype.computeDepths=function(e){var t=this,n=new sd,i=new cc,s=e.getNode();for(i.addLast(s),n.add(s),e.setVisited(!0);!i.isEmpty();){var o=i.removeFirst();n.add(o),t.computeNodeDepth(o);for(var a=o.getEdges().iterator();a.hasNext();){var u=a.next(),l=u.getSym();if(!l.isVisited()){var c=l.getNode();n.contains(c)||(i.addLast(c),n.add(c))}}}},Ge.prototype.compareTo=function(e){var t=e;return this._rightMostCoord.x<t._rightMostCoord.x?-1:this._rightMostCoord.x>t._rightMostCoord.x?1:0},Ge.prototype.getEnvelope=function(){if(this._env===null){for(var e=new Q,t=this._dirEdgeList.iterator();t.hasNext();)for(var n=t.next(),i=n.getEdge().getCoordinates(),s=0;s<i.length-1;s++)e.expandToInclude(i[s]);this._env=e}return this._env},Ge.prototype.addReachable=function(e){var t=this,n=new pr;for(n.add(e);!n.empty();){var i=n.pop();t.add(i,n)}},Ge.prototype.copySymDepths=function(e){var t=e.getSym();t.setDepth(U.LEFT,e.getDepth(U.RIGHT)),t.setDepth(U.RIGHT,e.getDepth(U.LEFT))},Ge.prototype.add=function(e,t){var n=this;e.setVisited(!0),this._nodes.add(e);for(var i=e.getEdges().iterator();i.hasNext();){var s=i.next();n._dirEdgeList.add(s);var o=s.getSym(),a=o.getNode();a.isVisited()||t.push(a)}},Ge.prototype.getNodes=function(){return this._nodes},Ge.prototype.getDirectedEdges=function(){return this._dirEdgeList},Ge.prototype.interfaces_=function(){return[Ln]},Ge.prototype.getClass=function(){return Ge};var Gt=function r(){var e=this;if(this.location=null,arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];this.init(t.length)}else if(Number.isInteger(arguments[0])){var n=arguments[0];this.init(1),this.location[U.ON]=n}else if(arguments[0]instanceof r){var i=arguments[0];if(this.init(i.location.length),i!==null)for(var s=0;s<this.location.length;s++)e.location[s]=i.location[s]}}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2];this.init(3),this.location[U.ON]=o,this.location[U.LEFT]=a,this.location[U.RIGHT]=u}};Gt.prototype.setAllLocations=function(e){for(var t=this,n=0;n<this.location.length;n++)t.location[n]=e},Gt.prototype.isNull=function(){for(var e=this,t=0;t<this.location.length;t++)if(e.location[t]!==F.NONE)return!1;return!0},Gt.prototype.setAllLocationsIfNull=function(e){for(var t=this,n=0;n<this.location.length;n++)t.location[n]===F.NONE&&(t.location[n]=e)},Gt.prototype.isLine=function(){return this.location.length===1},Gt.prototype.merge=function(e){var t=this;if(e.location.length>this.location.length){var n=new Array(3).fill(null);n[U.ON]=this.location[U.ON],n[U.LEFT]=F.NONE,n[U.RIGHT]=F.NONE,this.location=n}for(var i=0;i<this.location.length;i++)t.location[i]===F.NONE&&i<e.location.length&&(t.location[i]=e.location[i])},Gt.prototype.getLocations=function(){return this.location},Gt.prototype.flip=function(){if(this.location.length<=1)return null;var e=this.location[U.LEFT];this.location[U.LEFT]=this.location[U.RIGHT],this.location[U.RIGHT]=e},Gt.prototype.toString=function(){var e=new or;return this.location.length>1&&e.append(F.toLocationSymbol(this.location[U.LEFT])),e.append(F.toLocationSymbol(this.location[U.ON])),this.location.length>1&&e.append(F.toLocationSymbol(this.location[U.RIGHT])),e.toString()},Gt.prototype.setLocations=function(e,t,n){this.location[U.ON]=e,this.location[U.LEFT]=t,this.location[U.RIGHT]=n},Gt.prototype.get=function(e){return e<this.location.length?this.location[e]:F.NONE},Gt.prototype.isArea=function(){return this.location.length>1},Gt.prototype.isAnyNull=function(){for(var e=this,t=0;t<this.location.length;t++)if(e.location[t]===F.NONE)return!0;return!1},Gt.prototype.setLocation=function(){if(arguments.length===1){var e=arguments[0];this.setLocation(U.ON,e)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this.location[t]=n}},Gt.prototype.init=function(e){this.location=new Array(e).fill(null),this.setAllLocations(F.NONE)},Gt.prototype.isEqualOnSide=function(e,t){return this.location[t]===e.location[t]},Gt.prototype.allPositionsEqual=function(e){for(var t=this,n=0;n<this.location.length;n++)if(t.location[n]!==e)return!1;return!0},Gt.prototype.interfaces_=function(){return[]},Gt.prototype.getClass=function(){return Gt};var Vt=function r(){if(this.elt=new Array(2).fill(null),arguments.length===1){if(Number.isInteger(arguments[0])){var e=arguments[0];this.elt[0]=new Gt(e),this.elt[1]=new Gt(e)}else if(arguments[0]instanceof r){var t=arguments[0];this.elt[0]=new Gt(t.elt[0]),this.elt[1]=new Gt(t.elt[1])}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this.elt[0]=new Gt(F.NONE),this.elt[1]=new Gt(F.NONE),this.elt[n].setLocation(i)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];this.elt[0]=new Gt(s,o,a),this.elt[1]=new Gt(s,o,a)}else if(arguments.length===4){var u=arguments[0],l=arguments[1],c=arguments[2],h=arguments[3];this.elt[0]=new Gt(F.NONE,F.NONE,F.NONE),this.elt[1]=new Gt(F.NONE,F.NONE,F.NONE),this.elt[u].setLocations(l,c,h)}};Vt.prototype.getGeometryCount=function(){var e=0;return this.elt[0].isNull()||e++,this.elt[1].isNull()||e++,e},Vt.prototype.setAllLocations=function(e,t){this.elt[e].setAllLocations(t)},Vt.prototype.isNull=function(e){return this.elt[e].isNull()},Vt.prototype.setAllLocationsIfNull=function(){if(arguments.length===1){var e=arguments[0];this.setAllLocationsIfNull(0,e),this.setAllLocationsIfNull(1,e)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this.elt[t].setAllLocationsIfNull(n)}},Vt.prototype.isLine=function(e){return this.elt[e].isLine()},Vt.prototype.merge=function(e){for(var t=this,n=0;n<2;n++)t.elt[n]===null&&e.elt[n]!==null?t.elt[n]=new Gt(e.elt[n]):t.elt[n].merge(e.elt[n])},Vt.prototype.flip=function(){this.elt[0].flip(),this.elt[1].flip()},Vt.prototype.getLocation=function(){if(arguments.length===1){var e=arguments[0];return this.elt[e].get(U.ON)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];return this.elt[t].get(n)}},Vt.prototype.toString=function(){var e=new or;return this.elt[0]!==null&&(e.append("A:"),e.append(this.elt[0].toString())),this.elt[1]!==null&&(e.append(" B:"),e.append(this.elt[1].toString())),e.toString()},Vt.prototype.isArea=function(){if(arguments.length===0)return this.elt[0].isArea()||this.elt[1].isArea();if(arguments.length===1){var e=arguments[0];return this.elt[e].isArea()}},Vt.prototype.isAnyNull=function(e){return this.elt[e].isAnyNull()},Vt.prototype.setLocation=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];this.elt[e].setLocation(U.ON,t)}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this.elt[n].setLocation(i,s)}},Vt.prototype.isEqualOnSide=function(e,t){return this.elt[0].isEqualOnSide(e.elt[0],t)&&this.elt[1].isEqualOnSide(e.elt[1],t)},Vt.prototype.allPositionsEqual=function(e,t){return this.elt[e].allPositionsEqual(t)},Vt.prototype.toLine=function(e){this.elt[e].isArea()&&(this.elt[e]=new Gt(this.elt[e].location[0]))},Vt.prototype.interfaces_=function(){return[]},Vt.prototype.getClass=function(){return Vt},Vt.toLineLabel=function(e){for(var t=new Vt(F.NONE),n=0;n<2;n++)t.setLocation(n,e.getLocation(n));return t};var ue=function(){this._startDe=null,this._maxNodeDegree=-1,this._edges=new W,this._pts=new W,this._label=new Vt(F.NONE),this._ring=null,this._isHole=null,this._shell=null,this._holes=new W,this._geometryFactory=null;var e=arguments[0],t=arguments[1];this._geometryFactory=t,this.computePoints(e),this.computeRing()};ue.prototype.computeRing=function(){var e=this;if(this._ring!==null)return null;for(var t=new Array(this._pts.size()).fill(null),n=0;n<this._pts.size();n++)t[n]=e._pts.get(n);this._ring=this._geometryFactory.createLinearRing(t),this._isHole=q.isCCW(this._ring.getCoordinates())},ue.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},ue.prototype.computePoints=function(e){var t=this;this._startDe=e;var n=e,i=!0;do{if(n===null)throw new wi("Found null DirectedEdge");if(n.getEdgeRing()===t)throw new wi("Directed Edge visited twice during ring-building at "+n.getCoordinate());t._edges.add(n);var s=n.getLabel();vt.isTrue(s.isArea()),t.mergeLabel(s),t.addPoints(n.getEdge(),n.isForward(),i),i=!1,t.setEdgeRing(n,t),n=t.getNext(n)}while(n!==this._startDe)},ue.prototype.getLinearRing=function(){return this._ring},ue.prototype.getCoordinate=function(e){return this._pts.get(e)},ue.prototype.computeMaxNodeDegree=function(){var e=this;this._maxNodeDegree=0;var t=this._startDe;do{var n=t.getNode(),i=n.getEdges().getOutgoingDegree(e);i>e._maxNodeDegree&&(e._maxNodeDegree=i),t=e.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2},ue.prototype.addPoints=function(e,t,n){var i=this,s=e.getCoordinates();if(t){var o=1;n&&(o=0);for(var a=o;a<s.length;a++)i._pts.add(s[a])}else{var u=s.length-2;n&&(u=s.length-1);for(var l=u;l>=0;l--)i._pts.add(s[l])}},ue.prototype.isHole=function(){return this._isHole},ue.prototype.setInResult=function(){var e=this._startDe;do e.getEdge().setInResult(!0),e=e.getNext();while(e!==this._startDe)},ue.prototype.containsPoint=function(e){var t=this.getLinearRing(),n=t.getEnvelopeInternal();if(!n.contains(e)||!q.isPointInRing(e,t.getCoordinates()))return!1;for(var i=this._holes.iterator();i.hasNext();){var s=i.next();if(s.containsPoint(e))return!1}return!0},ue.prototype.addHole=function(e){this._holes.add(e)},ue.prototype.isShell=function(){return this._shell===null},ue.prototype.getLabel=function(){return this._label},ue.prototype.getEdges=function(){return this._edges},ue.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},ue.prototype.getShell=function(){return this._shell},ue.prototype.mergeLabel=function(){if(arguments.length===1){var e=arguments[0];this.mergeLabel(e,0),this.mergeLabel(e,1)}else if(arguments.length===2){var t=arguments[0],n=arguments[1],i=t.getLocation(n,U.RIGHT);if(i===F.NONE)return null;if(this._label.getLocation(n)===F.NONE)return this._label.setLocation(n,i),null}},ue.prototype.setShell=function(e){this._shell=e,e!==null&&e.addHole(this)},ue.prototype.toPolygon=function(e){for(var t=this,n=new Array(this._holes.size()).fill(null),i=0;i<this._holes.size();i++)n[i]=t._holes.get(i).getLinearRing();var s=e.createPolygon(this.getLinearRing(),n);return s},ue.prototype.interfaces_=function(){return[]},ue.prototype.getClass=function(){return ue};var qE=function(r){function e(){var t=arguments[0],n=arguments[1];r.call(this,t,n)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.setEdgeRing=function(n,i){n.setMinEdgeRing(i)},e.prototype.getNext=function(n){return n.getNextMin()},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(ue),XE=function(r){function e(){var t=arguments[0],n=arguments[1];r.call(this,t,n)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.buildMinimalRings=function(){var n=this,i=new W,s=this._startDe;do{if(s.getMinEdgeRing()===null){var o=new qE(s,n._geometryFactory);i.add(o)}s=s.getNext()}while(s!==this._startDe);return i},e.prototype.setEdgeRing=function(n,i){n.setEdgeRing(i)},e.prototype.linkDirectedEdgesForMinimalEdgeRings=function(){var n=this,i=this._startDe;do{var s=i.getNode();s.getEdges().linkMinimalDirectedEdges(n),i=i.getNext()}while(i!==this._startDe)},e.prototype.getNext=function(n){return n.getNext()},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(ue),In=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this._label=e}}};In.prototype.setVisited=function(e){this._isVisited=e},In.prototype.setInResult=function(e){this._isInResult=e},In.prototype.isCovered=function(){return this._isCovered},In.prototype.isCoveredSet=function(){return this._isCoveredSet},In.prototype.setLabel=function(e){this._label=e},In.prototype.getLabel=function(){return this._label},In.prototype.setCovered=function(e){this._isCovered=e,this._isCoveredSet=!0},In.prototype.updateIM=function(e){vt.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(e)},In.prototype.isInResult=function(){return this._isInResult},In.prototype.isVisited=function(){return this._isVisited},In.prototype.interfaces_=function(){return[]},In.prototype.getClass=function(){return In};var hc=function(r){function e(){r.call(this),this._coord=null,this._edges=null;var t=arguments[0],n=arguments[1];this._coord=t,this._edges=n,this._label=new Vt(0,F.NONE)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.isIncidentEdgeInResult=function(){for(var n=this.getEdges().getEdges().iterator();n.hasNext();){var i=n.next();if(i.getEdge().isInResult())return!0}return!1},e.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},e.prototype.getCoordinate=function(){return this._coord},e.prototype.print=function(n){n.println("node "+this._coord+" lbl: "+this._label)},e.prototype.computeIM=function(n){},e.prototype.computeMergedLocation=function(n,i){var s=F.NONE;if(s=this._label.getLocation(i),!n.isNull(i)){var o=n.getLocation(i);s!==F.BOUNDARY&&(s=o)}return s},e.prototype.setLabel=function(){if(arguments.length===2){var n=arguments[0],i=arguments[1];this._label===null?this._label=new Vt(n,i):this._label.setLocation(n,i)}else return r.prototype.setLabel.apply(this,arguments)},e.prototype.getEdges=function(){return this._edges},e.prototype.mergeLabel=function(){var n=this;if(arguments[0]instanceof e){var i=arguments[0];this.mergeLabel(i._label)}else if(arguments[0]instanceof Vt)for(var s=arguments[0],o=0;o<2;o++){var a=n.computeMergedLocation(s,o),u=n._label.getLocation(o);u===F.NONE&&n._label.setLocation(o,a)}},e.prototype.add=function(n){this._edges.insert(n),n.setNode(this)},e.prototype.setLabelBoundary=function(n){if(this._label===null)return null;var i=F.NONE;this._label!==null&&(i=this._label.getLocation(n));var s=null;switch(i){case F.BOUNDARY:s=F.INTERIOR;break;case F.INTERIOR:s=F.BOUNDARY;break;default:s=F.BOUNDARY;break}this._label.setLocation(n,s)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(In),mr=function(){this.nodeMap=new Ae,this.nodeFact=null;var e=arguments[0];this.nodeFact=e};mr.prototype.find=function(e){return this.nodeMap.get(e)},mr.prototype.addNode=function(){if(arguments[0]instanceof R){var e=arguments[0],t=this.nodeMap.get(e);return t===null&&(t=this.nodeFact.createNode(e),this.nodeMap.put(e,t)),t}else if(arguments[0]instanceof hc){var n=arguments[0],i=this.nodeMap.get(n.getCoordinate());return i===null?(this.nodeMap.put(n.getCoordinate(),n),n):(i.mergeLabel(n),i)}},mr.prototype.print=function(e){for(var t=this.iterator();t.hasNext();){var n=t.next();n.print(e)}},mr.prototype.iterator=function(){return this.nodeMap.values().iterator()},mr.prototype.values=function(){return this.nodeMap.values()},mr.prototype.getBoundaryNodes=function(e){for(var t=new W,n=this.iterator();n.hasNext();){var i=n.next();i.getLabel().getLocation(e)===F.BOUNDARY&&t.add(i)}return t},mr.prototype.add=function(e){var t=e.getCoordinate(),n=this.addNode(t);n.add(e)},mr.prototype.interfaces_=function(){return[]},mr.prototype.getClass=function(){return mr};var Bt=function(){},Ju={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};Bt.prototype.interfaces_=function(){return[]},Bt.prototype.getClass=function(){return Bt},Bt.isNorthern=function(e){return e===Bt.NE||e===Bt.NW},Bt.isOpposite=function(e,t){if(e===t)return!1;var n=(e-t+4)%4;return n===2},Bt.commonHalfPlane=function(e,t){if(e===t)return e;var n=(e-t+4)%4;if(n===2)return-1;var i=e<t?e:t,s=e>t?e:t;return i===0&&s===3?3:i},Bt.isInHalfPlane=function(e,t){return t===Bt.SE?e===Bt.SE||e===Bt.SW:e===t||e===t+1},Bt.quadrant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];if(e===0&&t===0)throw new Xt("Cannot compute the quadrant for point ( "+e+", "+t+" )");return e>=0?t>=0?Bt.NE:Bt.SE:t>=0?Bt.NW:Bt.SW}else if(arguments[0]instanceof R&&arguments[1]instanceof R){var n=arguments[0],i=arguments[1];if(i.x===n.x&&i.y===n.y)throw new Xt("Cannot compute the quadrant for two identical points "+n);return i.x>=n.x?i.y>=n.y?Bt.NE:Bt.SE:i.y>=n.y?Bt.NW:Bt.SW}},Ju.NE.get=function(){return 0},Ju.NW.get=function(){return 1},Ju.SW.get=function(){return 2},Ju.SE.get=function(){return 3},Object.defineProperties(Bt,Ju);var ke=function(){if(this._edge=null,this._label=null,this._node=null,this._p0=null,this._p1=null,this._dx=null,this._dy=null,this._quadrant=null,arguments.length===1){var e=arguments[0];this._edge=e}else if(arguments.length===3){var t=arguments[0],n=arguments[1],i=arguments[2],s=null;this._edge=t,this.init(n,i),this._label=s}else if(arguments.length===4){var o=arguments[0],a=arguments[1],u=arguments[2],l=arguments[3];this._edge=o,this.init(a,u),this._label=l}};ke.prototype.compareDirection=function(e){return this._dx===e._dx&&this._dy===e._dy?0:this._quadrant>e._quadrant?1:this._quadrant<e._quadrant?-1:q.computeOrientation(e._p0,e._p1,this._p1)},ke.prototype.getDy=function(){return this._dy},ke.prototype.getCoordinate=function(){return this._p0},ke.prototype.setNode=function(e){this._node=e},ke.prototype.print=function(e){var t=Math.atan2(this._dy,this._dx),n=this.getClass().getName(),i=n.lastIndexOf("."),s=n.substring(i+1);e.print(" "+s+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+t+" "+this._label)},ke.prototype.compareTo=function(e){var t=e;return this.compareDirection(t)},ke.prototype.getDirectedCoordinate=function(){return this._p1},ke.prototype.getDx=function(){return this._dx},ke.prototype.getLabel=function(){return this._label},ke.prototype.getEdge=function(){return this._edge},ke.prototype.getQuadrant=function(){return this._quadrant},ke.prototype.getNode=function(){return this._node},ke.prototype.toString=function(){var e=Math.atan2(this._dy,this._dx),t=this.getClass().getName(),n=t.lastIndexOf("."),i=t.substring(n+1);return" "+i+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+e+" "+this._label},ke.prototype.computeLabel=function(e){},ke.prototype.init=function(e,t){this._p0=e,this._p1=t,this._dx=t.x-e.x,this._dy=t.y-e.y,this._quadrant=Bt.quadrant(this._dx,this._dy),vt.isTrue(!(this._dx===0&&this._dy===0),"EdgeEnd with identical endpoints found")},ke.prototype.interfaces_=function(){return[Ln]},ke.prototype.getClass=function(){return ke};var dd=function(r){function e(){var t=arguments[0],n=arguments[1];if(r.call(this,t),this._isForward=null,this._isInResult=!1,this._isVisited=!1,this._sym=null,this._next=null,this._nextMin=null,this._edgeRing=null,this._minEdgeRing=null,this._depth=[0,-999,-999],this._isForward=n,n)this.init(t.getCoordinate(0),t.getCoordinate(1));else{var i=t.getNumPoints()-1;this.init(t.getCoordinate(i),t.getCoordinate(i-1))}this.computeDirectedLabel()}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.getNextMin=function(){return this._nextMin},e.prototype.getDepth=function(n){return this._depth[n]},e.prototype.setVisited=function(n){this._isVisited=n},e.prototype.computeDirectedLabel=function(){this._label=new Vt(this._edge.getLabel()),this._isForward||this._label.flip()},e.prototype.getNext=function(){return this._next},e.prototype.setDepth=function(n,i){if(this._depth[n]!==-999&&this._depth[n]!==i)throw new wi("assigned depths do not match",this.getCoordinate());this._depth[n]=i},e.prototype.isInteriorAreaEdge=function(){for(var n=this,i=!0,s=0;s<2;s++)n._label.isArea(s)&&n._label.getLocation(s,U.LEFT)===F.INTERIOR&&n._label.getLocation(s,U.RIGHT)===F.INTERIOR||(i=!1);return i},e.prototype.setNextMin=function(n){this._nextMin=n},e.prototype.print=function(n){r.prototype.print.call(this,n),n.print(" "+this._depth[U.LEFT]+"/"+this._depth[U.RIGHT]),n.print(" ("+this.getDepthDelta()+")"),this._isInResult&&n.print(" inResult")},e.prototype.setMinEdgeRing=function(n){this._minEdgeRing=n},e.prototype.isLineEdge=function(){var n=this._label.isLine(0)||this._label.isLine(1),i=!this._label.isArea(0)||this._label.allPositionsEqual(0,F.EXTERIOR),s=!this._label.isArea(1)||this._label.allPositionsEqual(1,F.EXTERIOR);return n&&i&&s},e.prototype.setEdgeRing=function(n){this._edgeRing=n},e.prototype.getMinEdgeRing=function(){return this._minEdgeRing},e.prototype.getDepthDelta=function(){var n=this._edge.getDepthDelta();return this._isForward||(n=-n),n},e.prototype.setInResult=function(n){this._isInResult=n},e.prototype.getSym=function(){return this._sym},e.prototype.isForward=function(){return this._isForward},e.prototype.getEdge=function(){return this._edge},e.prototype.printEdge=function(n){this.print(n),n.print(" "),this._isForward?this._edge.print(n):this._edge.printReverse(n)},e.prototype.setSym=function(n){this._sym=n},e.prototype.setVisitedEdge=function(n){this.setVisited(n),this._sym.setVisited(n)},e.prototype.setEdgeDepths=function(n,i){var s=this.getEdge().getDepthDelta();this._isForward||(s=-s);var o=1;n===U.LEFT&&(o=-1);var a=U.opposite(n),u=s*o,l=i+u;this.setDepth(n,i),this.setDepth(a,l)},e.prototype.getEdgeRing=function(){return this._edgeRing},e.prototype.isInResult=function(){return this._isInResult},e.prototype.setNext=function(n){this._next=n},e.prototype.isVisited=function(){return this._isVisited},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.depthFactor=function(n,i){return n===F.EXTERIOR&&i===F.INTERIOR?1:n===F.INTERIOR&&i===F.EXTERIOR?-1:0},e}(ke),ya=function(){};ya.prototype.createNode=function(e){return new hc(e,null)},ya.prototype.interfaces_=function(){return[]},ya.prototype.getClass=function(){return ya};var $t=function(){if(this._edges=new W,this._nodes=null,this._edgeEndList=new W,arguments.length===0)this._nodes=new mr(new ya);else if(arguments.length===1){var e=arguments[0];this._nodes=new mr(e)}};$t.prototype.printEdges=function(e){var t=this;e.println("Edges:");for(var n=0;n<this._edges.size();n++){e.println("edge "+n+":");var i=t._edges.get(n);i.print(e),i.eiList.print(e)}},$t.prototype.find=function(e){return this._nodes.find(e)},$t.prototype.addNode=function(){if(arguments[0]instanceof hc){var e=arguments[0];return this._nodes.addNode(e)}else if(arguments[0]instanceof R){var t=arguments[0];return this._nodes.addNode(t)}},$t.prototype.getNodeIterator=function(){return this._nodes.iterator()},$t.prototype.linkResultDirectedEdges=function(){for(var e=this._nodes.iterator();e.hasNext();){var t=e.next();t.getEdges().linkResultDirectedEdges()}},$t.prototype.debugPrintln=function(e){xe.out.println(e)},$t.prototype.isBoundaryNode=function(e,t){var n=this._nodes.find(t);if(n===null)return!1;var i=n.getLabel();return i!==null&&i.getLocation(e)===F.BOUNDARY},$t.prototype.linkAllDirectedEdges=function(){for(var e=this._nodes.iterator();e.hasNext();){var t=e.next();t.getEdges().linkAllDirectedEdges()}},$t.prototype.matchInSameDirection=function(e,t,n,i){return e.equals(n)?q.computeOrientation(e,t,i)===q.COLLINEAR&&Bt.quadrant(e,t)===Bt.quadrant(n,i):!1},$t.prototype.getEdgeEnds=function(){return this._edgeEndList},$t.prototype.debugPrint=function(e){xe.out.print(e)},$t.prototype.getEdgeIterator=function(){return this._edges.iterator()},$t.prototype.findEdgeInSameDirection=function(e,t){for(var n=this,i=0;i<this._edges.size();i++){var s=n._edges.get(i),o=s.getCoordinates();if(n.matchInSameDirection(e,t,o[0],o[1])||n.matchInSameDirection(e,t,o[o.length-1],o[o.length-2]))return s}return null},$t.prototype.insertEdge=function(e){this._edges.add(e)},$t.prototype.findEdgeEnd=function(e){for(var t=this.getEdgeEnds().iterator();t.hasNext();){var n=t.next();if(n.getEdge()===e)return n}return null},$t.prototype.addEdges=function(e){for(var t=this,n=e.iterator();n.hasNext();){var i=n.next();t._edges.add(i);var s=new dd(i,!0),o=new dd(i,!1);s.setSym(o),o.setSym(s),t.add(s),t.add(o)}},$t.prototype.add=function(e){this._nodes.add(e),this._edgeEndList.add(e)},$t.prototype.getNodes=function(){return this._nodes.values()},$t.prototype.findEdge=function(e,t){for(var n=this,i=0;i<this._edges.size();i++){var s=n._edges.get(i),o=s.getCoordinates();if(e.equals(o[0])&&t.equals(o[1]))return s}return null},$t.prototype.interfaces_=function(){return[]},$t.prototype.getClass=function(){return $t},$t.linkResultDirectedEdges=function(e){for(var t=e.iterator();t.hasNext();){var n=t.next();n.getEdges().linkResultDirectedEdges()}};var hn=function(){this._geometryFactory=null,this._shellList=new W;var e=arguments[0];this._geometryFactory=e};hn.prototype.sortShellsAndHoles=function(e,t,n){for(var i=e.iterator();i.hasNext();){var s=i.next();s.isHole()?n.add(s):t.add(s)}},hn.prototype.computePolygons=function(e){for(var t=this,n=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=s.toPolygon(t._geometryFactory);n.add(o)}return n},hn.prototype.placeFreeHoles=function(e,t){for(var n=this,i=t.iterator();i.hasNext();){var s=i.next();if(s.getShell()===null){var o=n.findEdgeRingContaining(s,e);if(o===null)throw new wi("unable to assign hole to a shell",s.getCoordinate(0));s.setShell(o)}}},hn.prototype.buildMinimalEdgeRings=function(e,t,n){for(var i=this,s=new W,o=e.iterator();o.hasNext();){var a=o.next();if(a.getMaxNodeDegree()>2){a.linkDirectedEdgesForMinimalEdgeRings();var u=a.buildMinimalRings(),l=i.findShell(u);l!==null?(i.placePolygonHoles(l,u),t.add(l)):n.addAll(u)}else s.add(a)}return s},hn.prototype.containsPoint=function(e){for(var t=this._shellList.iterator();t.hasNext();){var n=t.next();if(n.containsPoint(e))return!0}return!1},hn.prototype.buildMaximalEdgeRings=function(e){for(var t=this,n=new W,i=e.iterator();i.hasNext();){var s=i.next();if(s.isInResult()&&s.getLabel().isArea()&&s.getEdgeRing()===null){var o=new XE(s,t._geometryFactory);n.add(o),o.setInResult()}}return n},hn.prototype.placePolygonHoles=function(e,t){for(var n=t.iterator();n.hasNext();){var i=n.next();i.isHole()&&i.setShell(e)}},hn.prototype.getPolygons=function(){var e=this.computePolygons(this._shellList);return e},hn.prototype.findEdgeRingContaining=function(e,t){for(var n=e.getLinearRing(),i=n.getEnvelopeInternal(),s=n.getCoordinateN(0),o=null,a=null,u=t.iterator();u.hasNext();){var l=u.next(),c=l.getLinearRing(),h=c.getEnvelopeInternal();o!==null&&(a=o.getLinearRing().getEnvelopeInternal());var f=!1;h.contains(i)&&q.isPointInRing(s,c.getCoordinates())&&(f=!0),f&&(o===null||a.contains(h))&&(o=l)}return o},hn.prototype.findShell=function(e){for(var t=0,n=null,i=e.iterator();i.hasNext();){var s=i.next();s.isHole()||(n=s,t++)}return vt.isTrue(t<=1,"found two shells in MinimalEdgeRing list"),n},hn.prototype.add=function(){if(arguments.length===1){var e=arguments[0];this.add(e.getEdgeEnds(),e.getNodes())}else if(arguments.length===2){var t=arguments[0],n=arguments[1];$t.linkResultDirectedEdges(n);var i=this.buildMaximalEdgeRings(t),s=new W,o=this.buildMinimalEdgeRings(i,this._shellList,s);this.sortShellsAndHoles(o,this._shellList,s),this.placeFreeHoles(this._shellList,s)}},hn.prototype.interfaces_=function(){return[]},hn.prototype.getClass=function(){return hn};var _a=function(){};_a.prototype.getBounds=function(){},_a.prototype.interfaces_=function(){return[]},_a.prototype.getClass=function(){return _a};var Qn=function(){this._bounds=null,this._item=null;var e=arguments[0],t=arguments[1];this._bounds=e,this._item=t};Qn.prototype.getItem=function(){return this._item},Qn.prototype.getBounds=function(){return this._bounds},Qn.prototype.interfaces_=function(){return[_a,Fn]},Qn.prototype.getClass=function(){return Qn};var Ei=function(){this._size=null,this._items=null,this._size=0,this._items=new W,this._items.add(null)};Ei.prototype.poll=function(){if(this.isEmpty())return null;var e=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),e},Ei.prototype.size=function(){return this._size},Ei.prototype.reorder=function(e){for(var t=this,n=null,i=this._items.get(e);e*2<=this._size&&(n=e*2,n!==t._size&&t._items.get(n+1).compareTo(t._items.get(n))<0&&n++,t._items.get(n).compareTo(i)<0);e=n)t._items.set(e,t._items.get(n));this._items.set(e,i)},Ei.prototype.clear=function(){this._size=0,this._items.clear()},Ei.prototype.isEmpty=function(){return this._size===0},Ei.prototype.add=function(e){var t=this;this._items.add(null),this._size+=1;var n=this._size;for(this._items.set(0,e);e.compareTo(this._items.get(Math.trunc(n/2)))<0;n/=2)t._items.set(n,t._items.get(Math.trunc(n/2)));this._items.set(n,e)},Ei.prototype.interfaces_=function(){return[]},Ei.prototype.getClass=function(){return Ei};var Yi=function(){};Yi.prototype.visitItem=function(e){},Yi.prototype.interfaces_=function(){return[]},Yi.prototype.getClass=function(){return Yi};var lo=function(){};lo.prototype.insert=function(e,t){},lo.prototype.remove=function(e,t){},lo.prototype.query=function(){},lo.prototype.interfaces_=function(){return[]},lo.prototype.getClass=function(){return lo};var pe=function(){if(this._childBoundables=new W,this._bounds=null,this._level=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this._level=e}}},Rm={serialVersionUID:{configurable:!0}};pe.prototype.getLevel=function(){return this._level},pe.prototype.size=function(){return this._childBoundables.size()},pe.prototype.getChildBoundables=function(){return this._childBoundables},pe.prototype.addChildBoundable=function(e){vt.isTrue(this._bounds===null),this._childBoundables.add(e)},pe.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},pe.prototype.getBounds=function(){return this._bounds===null&&(this._bounds=this.computeBounds()),this._bounds},pe.prototype.interfaces_=function(){return[_a,Fn]},pe.prototype.getClass=function(){return pe},Rm.serialVersionUID.get=function(){return 6493722185909574e3},Object.defineProperties(pe,Rm);var tr=function(){};tr.reverseOrder=function(){return{compare:function(t,n){return n.compareTo(t)}}},tr.min=function(e){return tr.sort(e),e.get(0)},tr.sort=function(e,t){var n=e.toArray();t?Es.sort(n,t):Es.sort(n);for(var i=e.iterator(),s=0,o=n.length;s<o;s++)i.next(),i.set(n[s])},tr.singletonList=function(e){var t=new W;return t.add(e),t};var le=function(){this._boundable1=null,this._boundable2=null,this._distance=null,this._itemDistance=null;var e=arguments[0],t=arguments[1],n=arguments[2];this._boundable1=e,this._boundable2=t,this._itemDistance=n,this._distance=this.distance()};le.prototype.expandToQueue=function(e,t){var n=le.isComposite(this._boundable1),i=le.isComposite(this._boundable2);if(n&&i)return le.area(this._boundable1)>le.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,e,t),null):(this.expand(this._boundable2,this._boundable1,e,t),null);if(n)return this.expand(this._boundable1,this._boundable2,e,t),null;if(i)return this.expand(this._boundable2,this._boundable1,e,t),null;throw new Xt("neither boundable is composite")},le.prototype.isLeaves=function(){return!(le.isComposite(this._boundable1)||le.isComposite(this._boundable2))},le.prototype.compareTo=function(e){var t=e;return this._distance<t._distance?-1:this._distance>t._distance?1:0},le.prototype.expand=function(e,t,n,i){for(var s=this,o=e.getChildBoundables(),a=o.iterator();a.hasNext();){var u=a.next(),l=new le(u,t,s._itemDistance);l.getDistance()<i&&n.add(l)}},le.prototype.getBoundable=function(e){return e===0?this._boundable1:this._boundable2},le.prototype.getDistance=function(){return this._distance},le.prototype.distance=function(){return this.isLeaves()?this._itemDistance.distance(this._boundable1,this._boundable2):this._boundable1.getBounds().distance(this._boundable2.getBounds())},le.prototype.interfaces_=function(){return[Ln]},le.prototype.getClass=function(){return le},le.area=function(e){return e.getBounds().getArea()},le.isComposite=function(e){return e instanceof pe};var Ce=function r(){if(this._root=null,this._built=!1,this._itemBoundables=new W,this._nodeCapacity=null,arguments.length===0){var e=r.DEFAULT_NODE_CAPACITY;this._nodeCapacity=e}else if(arguments.length===1){var t=arguments[0];vt.isTrue(t>1,"Node capacity must be greater than 1"),this._nodeCapacity=t}},dc={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};Ce.prototype.getNodeCapacity=function(){return this._nodeCapacity},Ce.prototype.lastNode=function(e){return e.get(e.size()-1)},Ce.prototype.size=function(){var e=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.size(this._root));if(arguments.length===1){for(var t=arguments[0],n=0,i=t.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof pe?n+=e.size(s):s instanceof Qn&&(n+=1)}return n}},Ce.prototype.removeItem=function(e,t){for(var n=null,i=e.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof Qn&&s.getItem()===t&&(n=s)}return n!==null?(e.getChildBoundables().remove(n),!0):!1},Ce.prototype.itemsTree=function(){var e=this;if(arguments.length===0){this.build();var t=this.itemsTree(this._root);return t===null?new W:t}else if(arguments.length===1){for(var n=arguments[0],i=new W,s=n.getChildBoundables().iterator();s.hasNext();){var o=s.next();if(o instanceof pe){var a=e.itemsTree(o);a!==null&&i.add(a)}else o instanceof Qn?i.add(o.getItem()):vt.shouldNeverReachHere()}return i.size()<=0?null:i}},Ce.prototype.insert=function(e,t){vt.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new Qn(e,t))},Ce.prototype.boundablesAtLevel=function(){var e=this;if(arguments.length===1){var t=arguments[0],n=new W;return this.boundablesAtLevel(t,this._root,n),n}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];if(vt.isTrue(i>-2),s.getLevel()===i)return o.add(s),null;for(var a=s.getChildBoundables().iterator();a.hasNext();){var u=a.next();u instanceof pe?e.boundablesAtLevel(i,u,o):(vt.isTrue(u instanceof Qn),i===-1&&o.add(u))}return null}},Ce.prototype.query=function(){var e=this;if(arguments.length===1){var t=arguments[0];this.build();var n=new W;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.query(t,this._root,n),n}else if(arguments.length===2){var i=arguments[0],s=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),i)&&this.query(i,this._root,s)}else if(arguments.length===3){if(at(arguments[2],Yi)&&arguments[0]instanceof Object&&arguments[1]instanceof pe)for(var o=arguments[0],a=arguments[1],u=arguments[2],l=a.getChildBoundables(),c=0;c<l.size();c++){var h=l.get(c);e.getIntersectsOp().intersects(h.getBounds(),o)&&(h instanceof pe?e.query(o,h,u):h instanceof Qn?u.visitItem(h.getItem()):vt.shouldNeverReachHere())}else if(at(arguments[2],$n)&&arguments[0]instanceof Object&&arguments[1]instanceof pe)for(var f=arguments[0],p=arguments[1],v=arguments[2],C=p.getChildBoundables(),S=0;S<C.size();S++){var P=C.get(S);e.getIntersectsOp().intersects(P.getBounds(),f)&&(P instanceof pe?e.query(f,P,v):P instanceof Qn?v.add(P.getItem()):vt.shouldNeverReachHere())}}},Ce.prototype.build=function(){if(this._built)return null;this._root=this._itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this._itemBoundables,-1),this._itemBoundables=null,this._built=!0},Ce.prototype.getRoot=function(){return this.build(),this._root},Ce.prototype.remove=function(){var e=this;if(arguments.length===2){var t=arguments[0],n=arguments[1];return this.build(),this.getIntersectsOp().intersects(this._root.getBounds(),t)?this.remove(t,this._root,n):!1}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=this.removeItem(s,o);if(a)return!0;for(var u=null,l=s.getChildBoundables().iterator();l.hasNext();){var c=l.next();if(e.getIntersectsOp().intersects(c.getBounds(),i)&&c instanceof pe&&(a=e.remove(i,c,o),a)){u=c;break}}return u!==null&&u.getChildBoundables().isEmpty()&&s.getChildBoundables().remove(u),a}},Ce.prototype.createHigherLevels=function(e,t){vt.isTrue(!e.isEmpty());var n=this.createParentBoundables(e,t+1);return n.size()===1?n.get(0):this.createHigherLevels(n,t+1)},Ce.prototype.depth=function(){var e=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(arguments.length===1){for(var t=arguments[0],n=0,i=t.getChildBoundables().iterator();i.hasNext();){var s=i.next();if(s instanceof pe){var o=e.depth(s);o>n&&(n=o)}}return n+1}},Ce.prototype.createParentBoundables=function(e,t){var n=this;vt.isTrue(!e.isEmpty());var i=new W;i.add(this.createNode(t));var s=new W(e);tr.sort(s,this.getComparator());for(var o=s.iterator();o.hasNext();){var a=o.next();n.lastNode(i).getChildBoundables().size()===n.getNodeCapacity()&&i.add(n.createNode(t)),n.lastNode(i).addChildBoundable(a)}return i},Ce.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},Ce.prototype.interfaces_=function(){return[Fn]},Ce.prototype.getClass=function(){return Ce},Ce.compareDoubles=function(e,t){return e>t?1:e<t?-1:0},dc.IntersectsOp.get=function(){return YE},dc.serialVersionUID.get=function(){return-3886435814360241e3},dc.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(Ce,dc);var YE=function(){},wa=function(){};wa.prototype.distance=function(e,t){},wa.prototype.interfaces_=function(){return[]},wa.prototype.getClass=function(){return wa};var Lm=function(r){function e(n){n=n||e.DEFAULT_NODE_CAPACITY,r.call(this,n)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={STRtreeNode:{configurable:!0},serialVersionUID:{configurable:!0},xComparator:{configurable:!0},yComparator:{configurable:!0},intersectsOp:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};return e.prototype.createParentBoundablesFromVerticalSlices=function(i,s){var o=this;vt.isTrue(i.length>0);for(var a=new W,u=0;u<i.length;u++)a.addAll(o.createParentBoundablesFromVerticalSlice(i[u],s));return a},e.prototype.createNode=function(i){return new Fm(i)},e.prototype.size=function(){return arguments.length===0?r.prototype.size.call(this):r.prototype.size.apply(this,arguments)},e.prototype.insert=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];if(i.isNull())return null;r.prototype.insert.call(this,i,s)}else return r.prototype.insert.apply(this,arguments)},e.prototype.getIntersectsOp=function(){return e.intersectsOp},e.prototype.verticalSlices=function(i,s){for(var o=Math.trunc(Math.ceil(i.size()/s)),a=new Array(s).fill(null),u=i.iterator(),l=0;l<s;l++){a[l]=new W;for(var c=0;u.hasNext()&&c<o;){var h=u.next();a[l].add(h),c++}}return a},e.prototype.query=function(){if(arguments.length===1){var i=arguments[0];return r.prototype.query.call(this,i)}else if(arguments.length===2){var s=arguments[0],o=arguments[1];r.prototype.query.call(this,s,o)}else if(arguments.length===3){if(at(arguments[2],Yi)&&arguments[0]instanceof Object&&arguments[1]instanceof pe){var a=arguments[0],u=arguments[1],l=arguments[2];r.prototype.query.call(this,a,u,l)}else if(at(arguments[2],$n)&&arguments[0]instanceof Object&&arguments[1]instanceof pe){var c=arguments[0],h=arguments[1],f=arguments[2];r.prototype.query.call(this,c,h,f)}}},e.prototype.getComparator=function(){return e.yComparator},e.prototype.createParentBoundablesFromVerticalSlice=function(i,s){return r.prototype.createParentBoundables.call(this,i,s)},e.prototype.remove=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return r.prototype.remove.call(this,i,s)}else return r.prototype.remove.apply(this,arguments)},e.prototype.depth=function(){return arguments.length===0?r.prototype.depth.call(this):r.prototype.depth.apply(this,arguments)},e.prototype.createParentBoundables=function(i,s){vt.isTrue(!i.isEmpty());var o=Math.trunc(Math.ceil(i.size()/this.getNodeCapacity())),a=new W(i);tr.sort(a,e.xComparator);var u=this.verticalSlices(a,Math.trunc(Math.ceil(Math.sqrt(o))));return this.createParentBoundablesFromVerticalSlices(u,s)},e.prototype.nearestNeighbour=function(){if(arguments.length===1){if(at(arguments[0],wa)){var i=arguments[0],s=new le(this.getRoot(),this.getRoot(),i);return this.nearestNeighbour(s)}else if(arguments[0]instanceof le){var o=arguments[0];return this.nearestNeighbour(o,ht.POSITIVE_INFINITY)}}else if(arguments.length===2){if(arguments[0]instanceof e&&at(arguments[1],wa)){var a=arguments[0],u=arguments[1],l=new le(this.getRoot(),a.getRoot(),u);return this.nearestNeighbour(l)}else if(arguments[0]instanceof le&&typeof arguments[1]=="number"){var c=arguments[0],h=arguments[1],f=h,p=null,v=new Ei;for(v.add(c);!v.isEmpty()&&f>0;){var C=v.poll(),S=C.getDistance();if(S>=f)break;C.isLeaves()?(f=S,p=C):C.expandToQueue(v,f)}return[p.getBoundable(0).getItem(),p.getBoundable(1).getItem()]}}else if(arguments.length===3){var P=arguments[0],y=arguments[1],_=arguments[2],m=new Qn(P,y),w=new le(this.getRoot(),m,_);return this.nearestNeighbour(w)[0]}},e.prototype.interfaces_=function(){return[lo,Fn]},e.prototype.getClass=function(){return e},e.centreX=function(i){return e.avg(i.getMinX(),i.getMaxX())},e.avg=function(i,s){return(i+s)/2},e.centreY=function(i){return e.avg(i.getMinY(),i.getMaxY())},t.STRtreeNode.get=function(){return Fm},t.serialVersionUID.get=function(){return 0x39920f7d5f261e0},t.xComparator.get=function(){return{interfaces_:function(){return[oa]},compare:function(n,i){return r.compareDoubles(e.centreX(n.getBounds()),e.centreX(i.getBounds()))}}},t.yComparator.get=function(){return{interfaces_:function(){return[oa]},compare:function(n,i){return r.compareDoubles(e.centreY(n.getBounds()),e.centreY(i.getBounds()))}}},t.intersectsOp.get=function(){return{interfaces_:function(){return[r.IntersectsOp]},intersects:function(n,i){return n.intersects(i)}}},t.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(e,t),e}(Ce),Fm=function(r){function e(){var t=arguments[0];r.call(this,t)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.computeBounds=function(){for(var n=null,i=this.getChildBoundables().iterator();i.hasNext();){var s=i.next();n===null?n=new Q(s.getBounds()):n.expandToInclude(s.getBounds())}return n},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pe),tn=function(){};tn.prototype.interfaces_=function(){return[]},tn.prototype.getClass=function(){return tn},tn.relativeSign=function(e,t){return e<t?-1:e>t?1:0},tn.compare=function(e,t,n){if(t.equals2D(n))return 0;var i=tn.relativeSign(t.x,n.x),s=tn.relativeSign(t.y,n.y);switch(e){case 0:return tn.compareValue(i,s);case 1:return tn.compareValue(s,i);case 2:return tn.compareValue(s,-i);case 3:return tn.compareValue(-i,s);case 4:return tn.compareValue(-i,-s);case 5:return tn.compareValue(-s,-i);case 6:return tn.compareValue(-s,i);case 7:return tn.compareValue(i,-s)}return vt.shouldNeverReachHere("invalid octant value"),0},tn.compareValue=function(e,t){return e<0?-1:e>0?1:t<0?-1:t>0?1:0};var Ji=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var e=arguments[0],t=arguments[1],n=arguments[2],i=arguments[3];this._segString=e,this.coord=new R(t),this.segmentIndex=n,this._segmentOctant=i,this._isInterior=!t.equals2D(e.getCoordinate(n))};Ji.prototype.getCoordinate=function(){return this.coord},Ji.prototype.print=function(e){e.print(this.coord),e.print(" seg # = "+this.segmentIndex)},Ji.prototype.compareTo=function(e){var t=e;return this.segmentIndex<t.segmentIndex?-1:this.segmentIndex>t.segmentIndex?1:this.coord.equals2D(t.coord)?0:tn.compare(this._segmentOctant,this.coord,t.coord)},Ji.prototype.isEndPoint=function(e){return this.segmentIndex===0&&!this._isInterior||this.segmentIndex===e},Ji.prototype.isInterior=function(){return this._isInterior},Ji.prototype.interfaces_=function(){return[Ln]},Ji.prototype.getClass=function(){return Ji};var We=function(){this._nodeMap=new Ae,this._edge=null;var e=arguments[0];this._edge=e};We.prototype.getSplitCoordinates=function(){var e=this,t=new zu;this.addEndpoints();for(var n=this.iterator(),i=n.next();n.hasNext();){var s=n.next();e.addEdgeCoordinates(i,s,t),i=s}return t.toCoordinateArray()},We.prototype.addCollapsedNodes=function(){var e=this,t=new W;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var n=t.iterator();n.hasNext();){var i=n.next().intValue();e.add(e._edge.getCoordinate(i),i)}},We.prototype.print=function(e){e.println("Intersections:");for(var t=this.iterator();t.hasNext();){var n=t.next();n.print(e)}},We.prototype.findCollapsesFromExistingVertices=function(e){for(var t=this,n=0;n<this._edge.size()-2;n++){var i=t._edge.getCoordinate(n),s=t._edge.getCoordinate(n+2);i.equals2D(s)&&e.add(new ar(n+1))}},We.prototype.addEdgeCoordinates=function(e,t,n){var i=this,s=this._edge.getCoordinate(t.segmentIndex),o=t.isInterior()||!t.coord.equals2D(s);n.add(new R(e.coord),!1);for(var a=e.segmentIndex+1;a<=t.segmentIndex;a++)n.add(i._edge.getCoordinate(a));o&&n.add(new R(t.coord))},We.prototype.iterator=function(){return this._nodeMap.values().iterator()},We.prototype.addSplitEdges=function(e){var t=this;this.addEndpoints(),this.addCollapsedNodes();for(var n=this.iterator(),i=n.next();n.hasNext();){var s=n.next(),o=t.createSplitEdge(i,s);e.add(o),i=s}},We.prototype.findCollapseIndex=function(e,t,n){if(!e.coord.equals2D(t.coord))return!1;var i=t.segmentIndex-e.segmentIndex;return t.isInterior()||i--,i===1?(n[0]=e.segmentIndex+1,!0):!1},We.prototype.findCollapsesFromInsertedNodes=function(e){for(var t=this,n=new Array(1).fill(null),i=this.iterator(),s=i.next();i.hasNext();){var o=i.next(),a=t.findCollapseIndex(s,o,n);a&&e.add(new ar(n[0])),s=o}},We.prototype.getEdge=function(){return this._edge},We.prototype.addEndpoints=function(){var e=this._edge.size()-1;this.add(this._edge.getCoordinate(0),0),this.add(this._edge.getCoordinate(e),e)},We.prototype.createSplitEdge=function(e,t){var n=this,i=t.segmentIndex-e.segmentIndex+2,s=this._edge.getCoordinate(t.segmentIndex),o=t.isInterior()||!t.coord.equals2D(s);o||i--;var a=new Array(i).fill(null),u=0;a[u++]=new R(e.coord);for(var l=e.segmentIndex+1;l<=t.segmentIndex;l++)a[u++]=n._edge.getCoordinate(l);return o&&(a[u]=new R(t.coord)),new se(a,this._edge.getData())},We.prototype.add=function(e,t){var n=new Ji(this._edge,e,t,this._edge.getSegmentOctant(t)),i=this._nodeMap.get(n);return i!==null?(vt.isTrue(i.coord.equals2D(e),"Found equal nodes with different coordinates"),i):(this._nodeMap.put(n,n),n)},We.prototype.checkSplitEdgesCorrectness=function(e){var t=this._edge.getCoordinates(),n=e.get(0),i=n.getCoordinate(0);if(!i.equals2D(t[0]))throw new pi("bad split edge start point at "+i);var s=e.get(e.size()-1),o=s.getCoordinates(),a=o[o.length-1];if(!a.equals2D(t[t.length-1]))throw new pi("bad split edge end point at "+a)},We.prototype.interfaces_=function(){return[]},We.prototype.getClass=function(){return We};var co=function(){};co.prototype.interfaces_=function(){return[]},co.prototype.getClass=function(){return co},co.octant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];if(e===0&&t===0)throw new Xt("Cannot compute the octant for point ( "+e+", "+t+" )");var n=Math.abs(e),i=Math.abs(t);return e>=0?t>=0?n>=i?0:1:n>=i?7:6:t>=0?n>=i?3:2:n>=i?4:5}else if(arguments[0]instanceof R&&arguments[1]instanceof R){var s=arguments[0],o=arguments[1],a=o.x-s.x,u=o.y-s.y;if(a===0&&u===0)throw new Xt("Cannot compute the octant for two identical points "+s);return co.octant(a,u)}};var Hr=function(){};Hr.prototype.getCoordinates=function(){},Hr.prototype.size=function(){},Hr.prototype.getCoordinate=function(e){},Hr.prototype.isClosed=function(){},Hr.prototype.setData=function(e){},Hr.prototype.getData=function(){},Hr.prototype.interfaces_=function(){return[]},Hr.prototype.getClass=function(){return Hr};var $u=function(){};$u.prototype.addIntersection=function(e,t){},$u.prototype.interfaces_=function(){return[Hr]},$u.prototype.getClass=function(){return $u};var se=function(){this._nodeList=new We(this),this._pts=null,this._data=null;var e=arguments[0],t=arguments[1];this._pts=e,this._data=t};se.prototype.getCoordinates=function(){return this._pts},se.prototype.size=function(){return this._pts.length},se.prototype.getCoordinate=function(e){return this._pts[e]},se.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},se.prototype.getSegmentOctant=function(e){return e===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(e),this.getCoordinate(e+1))},se.prototype.setData=function(e){this._data=e},se.prototype.safeOctant=function(e,t){return e.equals2D(t)?0:co.octant(e,t)},se.prototype.getData=function(){return this._data},se.prototype.addIntersection=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];this.addIntersectionNode(e,t)}else if(arguments.length===4){var n=arguments[0],i=arguments[1],s=arguments[3],o=new R(n.getIntersection(s));this.addIntersection(o,i)}},se.prototype.toString=function(){return Jn.toLineString(new ie(this._pts))},se.prototype.getNodeList=function(){return this._nodeList},se.prototype.addIntersectionNode=function(e,t){var n=t,i=n+1;if(i<this._pts.length){var s=this._pts[i];e.equals2D(s)&&(n=i)}var o=this._nodeList.add(e,n);return o},se.prototype.addIntersections=function(e,t,n){for(var i=this,s=0;s<e.getIntersectionNum();s++)i.addIntersection(e,t,n,s)},se.prototype.interfaces_=function(){return[$u]},se.prototype.getClass=function(){return se},se.getNodedSubstrings=function(){if(arguments.length===1){var e=arguments[0],t=new W;return se.getNodedSubstrings(e,t),t}else if(arguments.length===2)for(var n=arguments[0],i=arguments[1],s=n.iterator();s.hasNext();){var o=s.next();o.getNodeList().addSplitEdges(i)}};var tt=function(){if(this.p0=null,this.p1=null,arguments.length===0)this.p0=new R,this.p1=new R;else if(arguments.length===1){var e=arguments[0];this.p0=new R(e.p0),this.p1=new R(e.p1)}else if(arguments.length===2)this.p0=arguments[0],this.p1=arguments[1];else if(arguments.length===4){var t=arguments[0],n=arguments[1],i=arguments[2],s=arguments[3];this.p0=new R(t,n),this.p1=new R(i,s)}},Am={serialVersionUID:{configurable:!0}};tt.prototype.minX=function(){return Math.min(this.p0.x,this.p1.x)},tt.prototype.orientationIndex=function(){if(arguments[0]instanceof tt){var e=arguments[0],t=q.orientationIndex(this.p0,this.p1,e.p0),n=q.orientationIndex(this.p0,this.p1,e.p1);return t>=0&&n>=0||t<=0&&n<=0?Math.max(t,n):0}else if(arguments[0]instanceof R){var i=arguments[0];return q.orientationIndex(this.p0,this.p1,i)}},tt.prototype.toGeometry=function(e){return e.createLineString([this.p0,this.p1])},tt.prototype.isVertical=function(){return this.p0.x===this.p1.x},tt.prototype.equals=function(e){if(!(e instanceof tt))return!1;var t=e;return this.p0.equals(t.p0)&&this.p1.equals(t.p1)},tt.prototype.intersection=function(e){var t=new _s;return t.computeIntersection(this.p0,this.p1,e.p0,e.p1),t.hasIntersection()?t.getIntersection(0):null},tt.prototype.project=function(){if(arguments[0]instanceof R){var e=arguments[0];if(e.equals(this.p0)||e.equals(this.p1))return new R(e);var t=this.projectionFactor(e),n=new R;return n.x=this.p0.x+t*(this.p1.x-this.p0.x),n.y=this.p0.y+t*(this.p1.y-this.p0.y),n}else if(arguments[0]instanceof tt){var i=arguments[0],s=this.projectionFactor(i.p0),o=this.projectionFactor(i.p1);if(s>=1&&o>=1||s<=0&&o<=0)return null;var a=this.project(i.p0);s<0&&(a=this.p0),s>1&&(a=this.p1);var u=this.project(i.p1);return o<0&&(u=this.p0),o>1&&(u=this.p1),new tt(a,u)}},tt.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},tt.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},tt.prototype.getCoordinate=function(e){return e===0?this.p0:this.p1},tt.prototype.distancePerpendicular=function(e){return q.distancePointLinePerpendicular(e,this.p0,this.p1)},tt.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},tt.prototype.midPoint=function(){return tt.midPoint(this.p0,this.p1)},tt.prototype.projectionFactor=function(e){if(e.equals(this.p0))return 0;if(e.equals(this.p1))return 1;var t=this.p1.x-this.p0.x,n=this.p1.y-this.p0.y,i=t*t+n*n;if(i<=0)return ht.NaN;var s=((e.x-this.p0.x)*t+(e.y-this.p0.y)*n)/i;return s},tt.prototype.closestPoints=function(e){var t=this.intersection(e);if(t!==null)return[t,t];var n=new Array(2).fill(null),i=ht.MAX_VALUE,s=null,o=this.closestPoint(e.p0);i=o.distance(e.p0),n[0]=o,n[1]=e.p0;var a=this.closestPoint(e.p1);s=a.distance(e.p1),s<i&&(i=s,n[0]=a,n[1]=e.p1);var u=e.closestPoint(this.p0);s=u.distance(this.p0),s<i&&(i=s,n[0]=this.p0,n[1]=u);var l=e.closestPoint(this.p1);return s=l.distance(this.p1),s<i&&(i=s,n[0]=this.p1,n[1]=l),n},tt.prototype.closestPoint=function(e){var t=this.projectionFactor(e);if(t>0&&t<1)return this.project(e);var n=this.p0.distance(e),i=this.p1.distance(e);return n<i?this.p0:this.p1},tt.prototype.maxX=function(){return Math.max(this.p0.x,this.p1.x)},tt.prototype.getLength=function(){return this.p0.distance(this.p1)},tt.prototype.compareTo=function(e){var t=e,n=this.p0.compareTo(t.p0);return n!==0?n:this.p1.compareTo(t.p1)},tt.prototype.reverse=function(){var e=this.p0;this.p0=this.p1,this.p1=e},tt.prototype.equalsTopo=function(e){return this.p0.equals(e.p0)&&(this.p1.equals(e.p1)||this.p0.equals(e.p1))&&this.p1.equals(e.p0)},tt.prototype.lineIntersection=function(e){try{var t=Yn.intersection(this.p0,this.p1,e.p0,e.p1);return t}catch(n){if(!(n instanceof ua))throw n}finally{}return null},tt.prototype.maxY=function(){return Math.max(this.p0.y,this.p1.y)},tt.prototype.pointAlongOffset=function(e,t){var n=this.p0.x+e*(this.p1.x-this.p0.x),i=this.p0.y+e*(this.p1.y-this.p0.y),s=this.p1.x-this.p0.x,o=this.p1.y-this.p0.y,a=Math.sqrt(s*s+o*o),u=0,l=0;if(t!==0){if(a<=0)throw new Error("Cannot compute offset from zero-length line segment");u=t*s/a,l=t*o/a}var c=n-l,h=i+u,f=new R(c,h);return f},tt.prototype.setCoordinates=function(){if(arguments.length===1){var e=arguments[0];this.setCoordinates(e.p0,e.p1)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this.p0.x=t.x,this.p0.y=t.y,this.p1.x=n.x,this.p1.y=n.y}},tt.prototype.segmentFraction=function(e){var t=this.projectionFactor(e);return t<0?t=0:(t>1||ht.isNaN(t))&&(t=1),t},tt.prototype.toString=function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},tt.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},tt.prototype.distance=function(){if(arguments[0]instanceof tt){var e=arguments[0];return q.distanceLineLine(this.p0,this.p1,e.p0,e.p1)}else if(arguments[0]instanceof R){var t=arguments[0];return q.distancePointLine(t,this.p0,this.p1)}},tt.prototype.pointAlong=function(e){var t=new R;return t.x=this.p0.x+e*(this.p1.x-this.p0.x),t.y=this.p0.y+e*(this.p1.y-this.p0.y),t},tt.prototype.hashCode=function(){var e=ht.doubleToLongBits(this.p0.x);e^=ht.doubleToLongBits(this.p0.y)*31;var t=Math.trunc(e)^Math.trunc(e>>32),n=ht.doubleToLongBits(this.p1.x);n^=ht.doubleToLongBits(this.p1.y)*31;var i=Math.trunc(n)^Math.trunc(n>>32);return t^i},tt.prototype.interfaces_=function(){return[Ln,Fn]},tt.prototype.getClass=function(){return tt},tt.midPoint=function(e,t){return new R((e.x+t.x)/2,(e.y+t.y)/2)},Am.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(tt,Am);var Ku=function(){this.tempEnv1=new Q,this.tempEnv2=new Q,this._overlapSeg1=new tt,this._overlapSeg2=new tt};Ku.prototype.overlap=function(){if(arguments.length!==2){if(arguments.length===4){var e=arguments[0],t=arguments[1],n=arguments[2],i=arguments[3];e.getLineSegment(t,this._overlapSeg1),n.getLineSegment(i,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}}},Ku.prototype.interfaces_=function(){return[]},Ku.prototype.getClass=function(){return Ku};var dn=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var e=arguments[0],t=arguments[1],n=arguments[2],i=arguments[3];this._pts=e,this._start=t,this._end=n,this._context=i};dn.prototype.getLineSegment=function(e,t){t.p0=this._pts[e],t.p1=this._pts[e+1]},dn.prototype.computeSelect=function(e,t,n,i){var s=this._pts[t],o=this._pts[n];if(i.tempEnv1.init(s,o),n-t===1)return i.select(this,t),null;if(!e.intersects(i.tempEnv1))return null;var a=Math.trunc((t+n)/2);t<a&&this.computeSelect(e,t,a,i),a<n&&this.computeSelect(e,a,n,i)},dn.prototype.getCoordinates=function(){for(var e=this,t=new Array(this._end-this._start+1).fill(null),n=0,i=this._start;i<=this._end;i++)t[n++]=e._pts[i];return t},dn.prototype.computeOverlaps=function(e,t){this.computeOverlapsInternal(this._start,this._end,e,e._start,e._end,t)},dn.prototype.setId=function(e){this._id=e},dn.prototype.select=function(e,t){this.computeSelect(e,this._start,this._end,t)},dn.prototype.getEnvelope=function(){if(this._env===null){var e=this._pts[this._start],t=this._pts[this._end];this._env=new Q(e,t)}return this._env},dn.prototype.getEndIndex=function(){return this._end},dn.prototype.getStartIndex=function(){return this._start},dn.prototype.getContext=function(){return this._context},dn.prototype.getId=function(){return this._id},dn.prototype.computeOverlapsInternal=function(e,t,n,i,s,o){var a=this._pts[e],u=this._pts[t],l=n._pts[i],c=n._pts[s];if(t-e===1&&s-i===1)return o.overlap(this,e,n,i),null;if(o.tempEnv1.init(a,u),o.tempEnv2.init(l,c),!o.tempEnv1.intersects(o.tempEnv2))return null;var h=Math.trunc((e+t)/2),f=Math.trunc((i+s)/2);e<h&&(i<f&&this.computeOverlapsInternal(e,h,n,i,f,o),f<s&&this.computeOverlapsInternal(e,h,n,f,s,o)),h<t&&(i<f&&this.computeOverlapsInternal(h,t,n,i,f,o),f<s&&this.computeOverlapsInternal(h,t,n,f,s,o))},dn.prototype.interfaces_=function(){return[]},dn.prototype.getClass=function(){return dn};var vr=function(){};vr.prototype.interfaces_=function(){return[]},vr.prototype.getClass=function(){return vr},vr.getChainStartIndices=function(e){var t=0,n=new W;n.add(new ar(t));do{var i=vr.findChainEnd(e,t);n.add(new ar(i)),t=i}while(t<e.length-1);var s=vr.toIntArray(n);return s},vr.findChainEnd=function(e,t){for(var n=t;n<e.length-1&&e[n].equals2D(e[n+1]);)n++;if(n>=e.length-1)return e.length-1;for(var i=Bt.quadrant(e[n],e[n+1]),s=t+1;s<e.length;){if(!e[s-1].equals2D(e[s])){var o=Bt.quadrant(e[s-1],e[s]);if(o!==i)break}s++}return s-1},vr.getChains=function(){if(arguments.length===1){var e=arguments[0];return vr.getChains(e,null)}else if(arguments.length===2){for(var t=arguments[0],n=arguments[1],i=new W,s=vr.getChainStartIndices(t),o=0;o<s.length-1;o++){var a=new dn(t,s[o],s[o+1],n);i.add(a)}return i}},vr.toIntArray=function(e){for(var t=new Array(e.size()).fill(null),n=0;n<t.length;n++)t[n]=e.get(n).intValue();return t};var Ss=function(){};Ss.prototype.computeNodes=function(e){},Ss.prototype.getNodedSubstrings=function(){},Ss.prototype.interfaces_=function(){return[]},Ss.prototype.getClass=function(){return Ss};var Zu=function(){if(this._segInt=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this.setSegmentIntersector(e)}}};Zu.prototype.setSegmentIntersector=function(e){this._segInt=e},Zu.prototype.interfaces_=function(){return[Ss]},Zu.prototype.getClass=function(){return Zu};var fd=function(r){function e(n){n?r.call(this,n):r.call(this),this._monoChains=new W,this._index=new Lm,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={SegmentOverlapAction:{configurable:!0}};return e.prototype.getMonotoneChains=function(){return this._monoChains},e.prototype.getNodedSubstrings=function(){return se.getNodedSubstrings(this._nodedSegStrings)},e.prototype.getIndex=function(){return this._index},e.prototype.add=function(i){for(var s=this,o=vr.getChains(i.getCoordinates(),i),a=o.iterator();a.hasNext();){var u=a.next();u.setId(s._idCounter++),s._index.insert(u.getEnvelope(),u),s._monoChains.add(u)}},e.prototype.computeNodes=function(i){var s=this;this._nodedSegStrings=i;for(var o=i.iterator();o.hasNext();)s.add(o.next());this.intersectChains()},e.prototype.intersectChains=function(){for(var i=this,s=new km(this._segInt),o=this._monoChains.iterator();o.hasNext();)for(var a=o.next(),u=i._index.query(a.getEnvelope()),l=u.iterator();l.hasNext();){var c=l.next();if(c.getId()>a.getId()&&(a.computeOverlaps(c,s),i._nOverlaps++),i._segInt.isDone())return null}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.SegmentOverlapAction.get=function(){return km},Object.defineProperties(e,t),e}(Zu),km=function(r){function e(){r.call(this),this._si=null;var t=arguments[0];this._si=t}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.overlap=function(){if(arguments.length===4){var n=arguments[0],i=arguments[1],s=arguments[2],o=arguments[3],a=n.getContext(),u=s.getContext();this._si.processIntersections(a,i,u,o)}else return r.prototype.overlap.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Ku),Lt=function r(){if(this._quadrantSegments=r.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=r.CAP_ROUND,this._joinStyle=r.JOIN_ROUND,this._mitreLimit=r.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=r.DEFAULT_SIMPLIFY_FACTOR,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this.setQuadrantSegments(e)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this.setQuadrantSegments(t),this.setEndCapStyle(n)}else if(arguments.length===4){var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];this.setQuadrantSegments(i),this.setEndCapStyle(s),this.setJoinStyle(o),this.setMitreLimit(a)}}},Ci={CAP_ROUND:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},JOIN_ROUND:{configurable:!0},JOIN_MITRE:{configurable:!0},JOIN_BEVEL:{configurable:!0},DEFAULT_QUADRANT_SEGMENTS:{configurable:!0},DEFAULT_MITRE_LIMIT:{configurable:!0},DEFAULT_SIMPLIFY_FACTOR:{configurable:!0}};Lt.prototype.getEndCapStyle=function(){return this._endCapStyle},Lt.prototype.isSingleSided=function(){return this._isSingleSided},Lt.prototype.setQuadrantSegments=function(e){this._quadrantSegments=e,this._quadrantSegments===0&&(this._joinStyle=Lt.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=Lt.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),e<=0&&(this._quadrantSegments=1),this._joinStyle!==Lt.JOIN_ROUND&&(this._quadrantSegments=Lt.DEFAULT_QUADRANT_SEGMENTS)},Lt.prototype.getJoinStyle=function(){return this._joinStyle},Lt.prototype.setJoinStyle=function(e){this._joinStyle=e},Lt.prototype.setSimplifyFactor=function(e){this._simplifyFactor=e<0?0:e},Lt.prototype.getSimplifyFactor=function(){return this._simplifyFactor},Lt.prototype.getQuadrantSegments=function(){return this._quadrantSegments},Lt.prototype.setEndCapStyle=function(e){this._endCapStyle=e},Lt.prototype.getMitreLimit=function(){return this._mitreLimit},Lt.prototype.setMitreLimit=function(e){this._mitreLimit=e},Lt.prototype.setSingleSided=function(e){this._isSingleSided=e},Lt.prototype.interfaces_=function(){return[]},Lt.prototype.getClass=function(){return Lt},Lt.bufferDistanceError=function(e){var t=Math.PI/2/e;return 1-Math.cos(t/2)},Ci.CAP_ROUND.get=function(){return 1},Ci.CAP_FLAT.get=function(){return 2},Ci.CAP_SQUARE.get=function(){return 3},Ci.JOIN_ROUND.get=function(){return 1},Ci.JOIN_MITRE.get=function(){return 2},Ci.JOIN_BEVEL.get=function(){return 3},Ci.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},Ci.DEFAULT_MITRE_LIMIT.get=function(){return 5},Ci.DEFAULT_SIMPLIFY_FACTOR.get=function(){return .01},Object.defineProperties(Lt,Ci);var te=function(e){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=q.COUNTERCLOCKWISE,this._inputLine=e||null},Qu={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};te.prototype.isDeletable=function(e,t,n,i){var s=this._inputLine[e],o=this._inputLine[t],a=this._inputLine[n];return!this.isConcave(s,o,a)||!this.isShallow(s,o,a,i)?!1:this.isShallowSampled(s,o,e,n,i)},te.prototype.deleteShallowConcavities=function(){for(var e=this,t=1,n=this.findNextNonDeletedIndex(t),i=this.findNextNonDeletedIndex(n),s=!1;i<this._inputLine.length;){var o=!1;e.isDeletable(t,n,i,e._distanceTol)&&(e._isDeleted[n]=te.DELETE,o=!0,s=!0),o?t=i:t=n,n=e.findNextNonDeletedIndex(t),i=e.findNextNonDeletedIndex(n)}return s},te.prototype.isShallowConcavity=function(e,t,n,i){var s=q.computeOrientation(e,t,n),o=s===this._angleOrientation;if(!o)return!1;var a=q.distancePointLine(t,e,n);return a<i},te.prototype.isShallowSampled=function(e,t,n,i,s){var o=this,a=Math.trunc((i-n)/te.NUM_PTS_TO_CHECK);a<=0&&(a=1);for(var u=n;u<i;u+=a)if(!o.isShallow(e,t,o._inputLine[u],s))return!1;return!0},te.prototype.isConcave=function(e,t,n){var i=q.computeOrientation(e,t,n),s=i===this._angleOrientation;return s},te.prototype.simplify=function(e){var t=this;this._distanceTol=Math.abs(e),e<0&&(this._angleOrientation=q.CLOCKWISE),this._isDeleted=new Array(this._inputLine.length).fill(null);var n=!1;do n=t.deleteShallowConcavities();while(n);return this.collapseLine()},te.prototype.findNextNonDeletedIndex=function(e){for(var t=e+1;t<this._inputLine.length&&this._isDeleted[t]===te.DELETE;)t++;return t},te.prototype.isShallow=function(e,t,n,i){var s=q.distancePointLine(t,e,n);return s<i},te.prototype.collapseLine=function(){for(var e=this,t=new zu,n=0;n<this._inputLine.length;n++)e._isDeleted[n]!==te.DELETE&&t.add(e._inputLine[n]);return t.toCoordinateArray()},te.prototype.interfaces_=function(){return[]},te.prototype.getClass=function(){return te},te.simplify=function(e,t){var n=new te(e);return n.simplify(t)},Qu.INIT.get=function(){return 0},Qu.DELETE.get=function(){return 1},Qu.KEEP.get=function(){return 1},Qu.NUM_PTS_TO_CHECK.get=function(){return 10},Object.defineProperties(te,Qu);var xn=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new W},Vm={COORDINATE_ARRAY_TYPE:{configurable:!0}};xn.prototype.getCoordinates=function(){var e=this._ptList.toArray(xn.COORDINATE_ARRAY_TYPE);return e},xn.prototype.setPrecisionModel=function(e){this._precisionModel=e},xn.prototype.addPt=function(e){var t=new R(e);if(this._precisionModel.makePrecise(t),this.isRedundant(t))return null;this._ptList.add(t)},xn.prototype.revere=function(){},xn.prototype.addPts=function(e,t){var n=this;if(t)for(var i=0;i<e.length;i++)n.addPt(e[i]);else for(var s=e.length-1;s>=0;s--)n.addPt(e[s])},xn.prototype.isRedundant=function(e){if(this._ptList.size()<1)return!1;var t=this._ptList.get(this._ptList.size()-1),n=e.distance(t);return n<this._minimimVertexDistance},xn.prototype.toString=function(){var e=new Ct,t=e.createLineString(this.getCoordinates());return t.toString()},xn.prototype.closeRing=function(){if(this._ptList.size()<1)return null;var e=new R(this._ptList.get(0)),t=this._ptList.get(this._ptList.size()-1);if(e.equals(t))return null;this._ptList.add(e)},xn.prototype.setMinimumVertexDistance=function(e){this._minimimVertexDistance=e},xn.prototype.interfaces_=function(){return[]},xn.prototype.getClass=function(){return xn},Vm.COORDINATE_ARRAY_TYPE.get=function(){return new Array(0).fill(null)},Object.defineProperties(xn,Vm);var It=function(){},ho={PI_TIMES_2:{configurable:!0},PI_OVER_2:{configurable:!0},PI_OVER_4:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},CLOCKWISE:{configurable:!0},NONE:{configurable:!0}};It.prototype.interfaces_=function(){return[]},It.prototype.getClass=function(){return It},It.toDegrees=function(e){return e*180/Math.PI},It.normalize=function(e){for(;e>Math.PI;)e-=It.PI_TIMES_2;for(;e<=-Math.PI;)e+=It.PI_TIMES_2;return e},It.angle=function(){if(arguments.length===1){var e=arguments[0];return Math.atan2(e.y,e.x)}else if(arguments.length===2){var t=arguments[0],n=arguments[1],i=n.x-t.x,s=n.y-t.y;return Math.atan2(s,i)}},It.isAcute=function(e,t,n){var i=e.x-t.x,s=e.y-t.y,o=n.x-t.x,a=n.y-t.y,u=i*o+s*a;return u>0},It.isObtuse=function(e,t,n){var i=e.x-t.x,s=e.y-t.y,o=n.x-t.x,a=n.y-t.y,u=i*o+s*a;return u<0},It.interiorAngle=function(e,t,n){var i=It.angle(t,e),s=It.angle(t,n);return Math.abs(s-i)},It.normalizePositive=function(e){if(e<0){for(;e<0;)e+=It.PI_TIMES_2;e>=It.PI_TIMES_2&&(e=0)}else{for(;e>=It.PI_TIMES_2;)e-=It.PI_TIMES_2;e<0&&(e=0)}return e},It.angleBetween=function(e,t,n){var i=It.angle(t,e),s=It.angle(t,n);return It.diff(i,s)},It.diff=function(e,t){var n=null;return e<t?n=t-e:n=e-t,n>Math.PI&&(n=2*Math.PI-n),n},It.toRadians=function(e){return e*Math.PI/180},It.getTurn=function(e,t){var n=Math.sin(t-e);return n>0?It.COUNTERCLOCKWISE:n<0?It.CLOCKWISE:It.NONE},It.angleBetweenOriented=function(e,t,n){var i=It.angle(t,e),s=It.angle(t,n),o=s-i;return o<=-Math.PI?o+It.PI_TIMES_2:o>Math.PI?o-It.PI_TIMES_2:o},ho.PI_TIMES_2.get=function(){return 2*Math.PI},ho.PI_OVER_2.get=function(){return Math.PI/2},ho.PI_OVER_4.get=function(){return Math.PI/4},ho.COUNTERCLOCKWISE.get=function(){return q.COUNTERCLOCKWISE},ho.CLOCKWISE.get=function(){return q.CLOCKWISE},ho.NONE.get=function(){return q.COLLINEAR},Object.defineProperties(It,ho);var Ht=function r(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new tt,this._seg1=new tt,this._offset0=new tt,this._offset1=new tt,this._side=0,this._hasNarrowConcaveAngle=!1;var e=arguments[0],t=arguments[1],n=arguments[2];this._precisionModel=e,this._bufParams=t,this._li=new _s,this._filletAngleQuantum=Math.PI/2/t.getQuadrantSegments(),t.getQuadrantSegments()>=8&&t.getJoinStyle()===Lt.JOIN_ROUND&&(this._closingSegLengthFactor=r.MAX_CLOSING_SEG_LEN_FACTOR),this.init(n)},tl={OFFSET_SEGMENT_SEPARATION_FACTOR:{configurable:!0},INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},CURVE_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},MAX_CLOSING_SEG_LEN_FACTOR:{configurable:!0}};Ht.prototype.addNextSegment=function(e,t){if(this._s0=this._s1,this._s1=this._s2,this._s2=e,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var n=q.computeOrientation(this._s0,this._s1,this._s2),i=n===q.CLOCKWISE&&this._side===U.LEFT||n===q.COUNTERCLOCKWISE&&this._side===U.RIGHT;n===0?this.addCollinear(t):i?this.addOutsideTurn(n,t):this.addInsideTurn(n,t)},Ht.prototype.addLineEndCap=function(e,t){var n=new tt(e,t),i=new tt;this.computeOffsetSegment(n,U.LEFT,this._distance,i);var s=new tt;this.computeOffsetSegment(n,U.RIGHT,this._distance,s);var o=t.x-e.x,a=t.y-e.y,u=Math.atan2(a,o);switch(this._bufParams.getEndCapStyle()){case Lt.CAP_ROUND:this._segList.addPt(i.p1),this.addFilletArc(t,u+Math.PI/2,u-Math.PI/2,q.CLOCKWISE,this._distance),this._segList.addPt(s.p1);break;case Lt.CAP_FLAT:this._segList.addPt(i.p1),this._segList.addPt(s.p1);break;case Lt.CAP_SQUARE:var l=new R;l.x=Math.abs(this._distance)*Math.cos(u),l.y=Math.abs(this._distance)*Math.sin(u);var c=new R(i.p1.x+l.x,i.p1.y+l.y),h=new R(s.p1.x+l.x,s.p1.y+l.y);this._segList.addPt(c),this._segList.addPt(h);break}},Ht.prototype.getCoordinates=function(){var e=this._segList.getCoordinates();return e},Ht.prototype.addMitreJoin=function(e,t,n,i){var s=!0,o=null;try{o=Yn.intersection(t.p0,t.p1,n.p0,n.p1);var a=i<=0?1:o.distance(e)/Math.abs(i);a>this._bufParams.getMitreLimit()&&(s=!1)}catch(u){if(u instanceof ua)o=new R(0,0),s=!1;else throw u}finally{}s?this._segList.addPt(o):this.addLimitedMitreJoin(t,n,i,this._bufParams.getMitreLimit())},Ht.prototype.addFilletCorner=function(e,t,n,i,s){var o=t.x-e.x,a=t.y-e.y,u=Math.atan2(a,o),l=n.x-e.x,c=n.y-e.y,h=Math.atan2(c,l);i===q.CLOCKWISE?u<=h&&(u+=2*Math.PI):u>=h&&(u-=2*Math.PI),this._segList.addPt(t),this.addFilletArc(e,u,h,i,s),this._segList.addPt(n)},Ht.prototype.addOutsideTurn=function(e,t){if(this._offset0.p1.distance(this._offset1.p0)<this._distance*Ht.OFFSET_SEGMENT_SEPARATION_FACTOR)return this._segList.addPt(this._offset0.p1),null;this._bufParams.getJoinStyle()===Lt.JOIN_MITRE?this.addMitreJoin(this._s1,this._offset0,this._offset1,this._distance):this._bufParams.getJoinStyle()===Lt.JOIN_BEVEL?this.addBevelJoin(this._offset0,this._offset1):(t&&this._segList.addPt(this._offset0.p1),this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,e,this._distance),this._segList.addPt(this._offset1.p0))},Ht.prototype.createSquare=function(e){this._segList.addPt(new R(e.x+this._distance,e.y+this._distance)),this._segList.addPt(new R(e.x+this._distance,e.y-this._distance)),this._segList.addPt(new R(e.x-this._distance,e.y-this._distance)),this._segList.addPt(new R(e.x-this._distance,e.y+this._distance)),this._segList.closeRing()},Ht.prototype.addSegments=function(e,t){this._segList.addPts(e,t)},Ht.prototype.addFirstSegment=function(){this._segList.addPt(this._offset1.p0)},Ht.prototype.addLastSegment=function(){this._segList.addPt(this._offset1.p1)},Ht.prototype.initSideSegments=function(e,t,n){this._s1=e,this._s2=t,this._side=n,this._seg1.setCoordinates(e,t),this.computeOffsetSegment(this._seg1,n,this._distance,this._offset1)},Ht.prototype.addLimitedMitreJoin=function(e,t,n,i){var s=this._seg0.p1,o=It.angle(s,this._seg0.p0),a=It.angleBetweenOriented(this._seg0.p0,s,this._seg1.p1),u=a/2,l=It.normalize(o+u),c=It.normalize(l+Math.PI),h=i*n,f=h*Math.abs(Math.sin(u)),p=n-f,v=s.x+h*Math.cos(c),C=s.y+h*Math.sin(c),S=new R(v,C),P=new tt(s,S),y=P.pointAlongOffset(1,p),_=P.pointAlongOffset(1,-p);this._side===U.LEFT?(this._segList.addPt(y),this._segList.addPt(_)):(this._segList.addPt(_),this._segList.addPt(y))},Ht.prototype.computeOffsetSegment=function(e,t,n,i){var s=t===U.LEFT?1:-1,o=e.p1.x-e.p0.x,a=e.p1.y-e.p0.y,u=Math.sqrt(o*o+a*a),l=s*n*o/u,c=s*n*a/u;i.p0.x=e.p0.x-c,i.p0.y=e.p0.y+l,i.p1.x=e.p1.x-c,i.p1.y=e.p1.y+l},Ht.prototype.addFilletArc=function(e,t,n,i,s){var o=this,a=i===q.CLOCKWISE?-1:1,u=Math.abs(t-n),l=Math.trunc(u/this._filletAngleQuantum+.5);if(l<1)return null;for(var c=0,h=u/l,f=c,p=new R;f<u;){var v=t+a*f;p.x=e.x+s*Math.cos(v),p.y=e.y+s*Math.sin(v),o._segList.addPt(p),f+=h}},Ht.prototype.addInsideTurn=function(e,t){if(this._li.computeIntersection(this._offset0.p0,this._offset0.p1,this._offset1.p0,this._offset1.p1),this._li.hasIntersection())this._segList.addPt(this._li.getIntersection(0));else if(this._hasNarrowConcaveAngle=!0,this._offset0.p1.distance(this._offset1.p0)<this._distance*Ht.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR)this._segList.addPt(this._offset0.p1);else{if(this._segList.addPt(this._offset0.p1),this._closingSegLengthFactor>0){var n=new R((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(n);var i=new R((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(i)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}},Ht.prototype.createCircle=function(e){var t=new R(e.x+this._distance,e.y);this._segList.addPt(t),this.addFilletArc(e,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},Ht.prototype.addBevelJoin=function(e,t){this._segList.addPt(e.p1),this._segList.addPt(t.p0)},Ht.prototype.init=function(e){this._distance=e,this._maxCurveSegmentError=e*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new xn,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(e*Ht.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},Ht.prototype.addCollinear=function(e){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2);var t=this._li.getIntersectionNum();t>=2&&(this._bufParams.getJoinStyle()===Lt.JOIN_BEVEL||this._bufParams.getJoinStyle()===Lt.JOIN_MITRE?(e&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,q.CLOCKWISE,this._distance))},Ht.prototype.closeRing=function(){this._segList.closeRing()},Ht.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},Ht.prototype.interfaces_=function(){return[]},Ht.prototype.getClass=function(){return Ht},tl.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return .001},tl.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return .001},tl.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},tl.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(Ht,tl);var en=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var e=arguments[0],t=arguments[1];this._precisionModel=e,this._bufParams=t};en.prototype.getOffsetCurve=function(e,t){if(this._distance=t,t===0)return null;var n=t<0,i=Math.abs(t),s=this.getSegGen(i);e.length<=1?this.computePointCurve(e[0],s):this.computeOffsetCurve(e,n,s);var o=s.getCoordinates();return n&&Et.reverse(o),o},en.prototype.computeSingleSidedBufferCurve=function(e,t,n){var i=this.simplifyTolerance(this._distance);if(t){n.addSegments(e,!0);var s=te.simplify(e,-i),o=s.length-1;n.initSideSegments(s[o],s[o-1],U.LEFT),n.addFirstSegment();for(var a=o-2;a>=0;a--)n.addNextSegment(s[a],!0)}else{n.addSegments(e,!1);var u=te.simplify(e,i),l=u.length-1;n.initSideSegments(u[0],u[1],U.LEFT),n.addFirstSegment();for(var c=2;c<=l;c++)n.addNextSegment(u[c],!0)}n.addLastSegment(),n.closeRing()},en.prototype.computeRingBufferCurve=function(e,t,n){var i=this.simplifyTolerance(this._distance);t===U.RIGHT&&(i=-i);var s=te.simplify(e,i),o=s.length-1;n.initSideSegments(s[o-1],s[0],t);for(var a=1;a<=o;a++){var u=a!==1;n.addNextSegment(s[a],u)}n.closeRing()},en.prototype.computeLineBufferCurve=function(e,t){var n=this.simplifyTolerance(this._distance),i=te.simplify(e,n),s=i.length-1;t.initSideSegments(i[0],i[1],U.LEFT);for(var o=2;o<=s;o++)t.addNextSegment(i[o],!0);t.addLastSegment(),t.addLineEndCap(i[s-1],i[s]);var a=te.simplify(e,-n),u=a.length-1;t.initSideSegments(a[u],a[u-1],U.LEFT);for(var l=u-2;l>=0;l--)t.addNextSegment(a[l],!0);t.addLastSegment(),t.addLineEndCap(a[1],a[0]),t.closeRing()},en.prototype.computePointCurve=function(e,t){switch(this._bufParams.getEndCapStyle()){case Lt.CAP_ROUND:t.createCircle(e);break;case Lt.CAP_SQUARE:t.createSquare(e);break}},en.prototype.getLineCurve=function(e,t){if(this._distance=t,t<0&&!this._bufParams.isSingleSided()||t===0)return null;var n=Math.abs(t),i=this.getSegGen(n);if(e.length<=1)this.computePointCurve(e[0],i);else if(this._bufParams.isSingleSided()){var s=t<0;this.computeSingleSidedBufferCurve(e,s,i)}else this.computeLineBufferCurve(e,i);var o=i.getCoordinates();return o},en.prototype.getBufferParameters=function(){return this._bufParams},en.prototype.simplifyTolerance=function(e){return e*this._bufParams.getSimplifyFactor()},en.prototype.getRingCurve=function(e,t,n){if(this._distance=n,e.length<=2)return this.getLineCurve(e,n);if(n===0)return en.copyCoordinates(e);var i=this.getSegGen(n);return this.computeRingBufferCurve(e,t,i),i.getCoordinates()},en.prototype.computeOffsetCurve=function(e,t,n){var i=this.simplifyTolerance(this._distance);if(t){var s=te.simplify(e,-i),o=s.length-1;n.initSideSegments(s[o],s[o-1],U.LEFT),n.addFirstSegment();for(var a=o-2;a>=0;a--)n.addNextSegment(s[a],!0)}else{var u=te.simplify(e,i),l=u.length-1;n.initSideSegments(u[0],u[1],U.LEFT),n.addFirstSegment();for(var c=2;c<=l;c++)n.addNextSegment(u[c],!0)}n.addLastSegment()},en.prototype.getSegGen=function(e){return new Ht(this._precisionModel,this._bufParams,e)},en.prototype.interfaces_=function(){return[]},en.prototype.getClass=function(){return en},en.copyCoordinates=function(e){for(var t=new Array(e.length).fill(null),n=0;n<t.length;n++)t[n]=new R(e[n]);return t};var fo=function(){this._subgraphs=null,this._seg=new tt,this._cga=new q;var e=arguments[0];this._subgraphs=e},Bm={DepthSegment:{configurable:!0}};fo.prototype.findStabbedSegments=function(){var e=this;if(arguments.length===1){for(var t=arguments[0],n=new W,i=this._subgraphs.iterator();i.hasNext();){var s=i.next(),o=s.getEnvelope();t.y<o.getMinY()||t.y>o.getMaxY()||e.findStabbedSegments(t,s.getDirectedEdges(),n)}return n}else if(arguments.length===3){if(at(arguments[2],$n)&&arguments[0]instanceof R&&arguments[1]instanceof dd)for(var a=arguments[0],u=arguments[1],l=arguments[2],c=u.getEdge().getCoordinates(),h=0;h<c.length-1;h++){e._seg.p0=c[h],e._seg.p1=c[h+1],e._seg.p0.y>e._seg.p1.y&&e._seg.reverse();var f=Math.max(e._seg.p0.x,e._seg.p1.x);if(!(f<a.x)&&!e._seg.isHorizontal()&&!(a.y<e._seg.p0.y||a.y>e._seg.p1.y)&&q.computeOrientation(e._seg.p0,e._seg.p1,a)!==q.RIGHT){var p=u.getDepth(U.LEFT);e._seg.p0.equals(c[h])||(p=u.getDepth(U.RIGHT));var v=new bs(e._seg,p);l.add(v)}}else if(at(arguments[2],$n)&&arguments[0]instanceof R&&at(arguments[1],$n))for(var C=arguments[0],S=arguments[1],P=arguments[2],y=S.iterator();y.hasNext();){var _=y.next();_.isForward()&&e.findStabbedSegments(C,_,P)}}},fo.prototype.getDepth=function(e){var t=this.findStabbedSegments(e);if(t.size()===0)return 0;var n=tr.min(t);return n._leftDepth},fo.prototype.interfaces_=function(){return[]},fo.prototype.getClass=function(){return fo},Bm.DepthSegment.get=function(){return bs},Object.defineProperties(fo,Bm);var bs=function(){this._upwardSeg=null,this._leftDepth=null;var e=arguments[0],t=arguments[1];this._upwardSeg=new tt(e),this._leftDepth=t};bs.prototype.compareTo=function(e){var t=e;if(this._upwardSeg.minX()>=t._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=t._upwardSeg.minX())return-1;var n=this._upwardSeg.orientationIndex(t._upwardSeg);return n!==0||(n=-1*t._upwardSeg.orientationIndex(this._upwardSeg),n!==0)?n:this._upwardSeg.compareTo(t._upwardSeg)},bs.prototype.compareX=function(e,t){var n=e.p0.compareTo(t.p0);return n!==0?n:e.p1.compareTo(t.p1)},bs.prototype.toString=function(){return this._upwardSeg.toString()},bs.prototype.interfaces_=function(){return[Ln]},bs.prototype.getClass=function(){return bs};var Ft=function(e,t,n){this.p0=e||null,this.p1=t||null,this.p2=n||null};Ft.prototype.area=function(){return Ft.area(this.p0,this.p1,this.p2)},Ft.prototype.signedArea=function(){return Ft.signedArea(this.p0,this.p1,this.p2)},Ft.prototype.interpolateZ=function(e){if(e===null)throw new Xt("Supplied point is null.");return Ft.interpolateZ(e,this.p0,this.p1,this.p2)},Ft.prototype.longestSideLength=function(){return Ft.longestSideLength(this.p0,this.p1,this.p2)},Ft.prototype.isAcute=function(){return Ft.isAcute(this.p0,this.p1,this.p2)},Ft.prototype.circumcentre=function(){return Ft.circumcentre(this.p0,this.p1,this.p2)},Ft.prototype.area3D=function(){return Ft.area3D(this.p0,this.p1,this.p2)},Ft.prototype.centroid=function(){return Ft.centroid(this.p0,this.p1,this.p2)},Ft.prototype.inCentre=function(){return Ft.inCentre(this.p0,this.p1,this.p2)},Ft.prototype.interfaces_=function(){return[]},Ft.prototype.getClass=function(){return Ft},Ft.area=function(e,t,n){return Math.abs(((n.x-e.x)*(t.y-e.y)-(t.x-e.x)*(n.y-e.y))/2)},Ft.signedArea=function(e,t,n){return((n.x-e.x)*(t.y-e.y)-(t.x-e.x)*(n.y-e.y))/2},Ft.det=function(e,t,n,i){return e*i-t*n},Ft.interpolateZ=function(e,t,n,i){var s=t.x,o=t.y,a=n.x-s,u=i.x-s,l=n.y-o,c=i.y-o,h=a*c-u*l,f=e.x-s,p=e.y-o,v=(c*f-u*p)/h,C=(-l*f+a*p)/h,S=t.z+v*(n.z-t.z)+C*(i.z-t.z);return S},Ft.longestSideLength=function(e,t,n){var i=e.distance(t),s=t.distance(n),o=n.distance(e),a=i;return s>a&&(a=s),o>a&&(a=o),a},Ft.isAcute=function(e,t,n){return!(!It.isAcute(e,t,n)||!It.isAcute(t,n,e)||!It.isAcute(n,e,t))},Ft.circumcentre=function(e,t,n){var i=n.x,s=n.y,o=e.x-i,a=e.y-s,u=t.x-i,l=t.y-s,c=2*Ft.det(o,a,u,l),h=Ft.det(a,o*o+a*a,l,u*u+l*l),f=Ft.det(o,o*o+a*a,u,u*u+l*l),p=i-h/c,v=s+f/c;return new R(p,v)},Ft.perpendicularBisector=function(e,t){var n=t.x-e.x,i=t.y-e.y,s=new Yn(e.x+n/2,e.y+i/2,1),o=new Yn(e.x-i+n/2,e.y+n+i/2,1);return new Yn(s,o)},Ft.angleBisector=function(e,t,n){var i=t.distance(e),s=t.distance(n),o=i/(i+s),a=n.x-e.x,u=n.y-e.y,l=new R(e.x+o*a,e.y+o*u);return l},Ft.area3D=function(e,t,n){var i=t.x-e.x,s=t.y-e.y,o=t.z-e.z,a=n.x-e.x,u=n.y-e.y,l=n.z-e.z,c=s*l-o*u,h=o*a-i*l,f=i*u-s*a,p=c*c+h*h+f*f,v=Math.sqrt(p)/2;return v},Ft.centroid=function(e,t,n){var i=(e.x+t.x+n.x)/3,s=(e.y+t.y+n.y)/3;return new R(i,s)},Ft.inCentre=function(e,t,n){var i=t.distance(n),s=e.distance(n),o=e.distance(t),a=i+s+o,u=(i*e.x+s*t.x+o*n.x)/a,l=(i*e.y+s*t.y+o*n.y)/a;return new R(u,l)};var jn=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new W;var e=arguments[0],t=arguments[1],n=arguments[2];this._inputGeom=e,this._distance=t,this._curveBuilder=n};jn.prototype.addPoint=function(e){if(this._distance<=0)return null;var t=e.getCoordinates(),n=this._curveBuilder.getLineCurve(t,this._distance);this.addCurve(n,F.EXTERIOR,F.INTERIOR)},jn.prototype.addPolygon=function(e){var t=this,n=this._distance,i=U.LEFT;this._distance<0&&(n=-this._distance,i=U.RIGHT);var s=e.getExteriorRing(),o=Et.removeRepeatedPoints(s.getCoordinates());if(this._distance<0&&this.isErodedCompletely(s,this._distance)||this._distance<=0&&o.length<3)return null;this.addPolygonRing(o,n,i,F.EXTERIOR,F.INTERIOR);for(var a=0;a<e.getNumInteriorRing();a++){var u=e.getInteriorRingN(a),l=Et.removeRepeatedPoints(u.getCoordinates());t._distance>0&&t.isErodedCompletely(u,-t._distance)||t.addPolygonRing(l,n,U.opposite(i),F.INTERIOR,F.EXTERIOR)}},jn.prototype.isTriangleErodedCompletely=function(e,t){var n=new Ft(e[0],e[1],e[2]),i=n.inCentre(),s=q.distancePointLine(i,n.p0,n.p1);return s<Math.abs(t)},jn.prototype.addLineString=function(e){if(this._distance<=0&&!this._curveBuilder.getBufferParameters().isSingleSided())return null;var t=Et.removeRepeatedPoints(e.getCoordinates()),n=this._curveBuilder.getLineCurve(t,this._distance);this.addCurve(n,F.EXTERIOR,F.INTERIOR)},jn.prototype.addCurve=function(e,t,n){if(e===null||e.length<2)return null;var i=new se(e,new Vt(0,F.BOUNDARY,t,n));this._curveList.add(i)},jn.prototype.getCurves=function(){return this.add(this._inputGeom),this._curveList},jn.prototype.addPolygonRing=function(e,t,n,i,s){if(t===0&&e.length<Ur.MINIMUM_VALID_SIZE)return null;var o=i,a=s;e.length>=Ur.MINIMUM_VALID_SIZE&&q.isCCW(e)&&(o=s,a=i,n=U.opposite(n));var u=this._curveBuilder.getRingCurve(e,n,t);this.addCurve(u,o,a)},jn.prototype.add=function(e){if(e.isEmpty())return null;e instanceof fe?this.addPolygon(e):e instanceof Qt?this.addLineString(e):e instanceof cn?this.addPoint(e):e instanceof va?this.addCollection(e):e instanceof Cs?this.addCollection(e):e instanceof Gr?this.addCollection(e):e instanceof Ue&&this.addCollection(e)},jn.prototype.isErodedCompletely=function(e,t){var n=e.getCoordinates();if(n.length<4)return t<0;if(n.length===4)return this.isTriangleErodedCompletely(n,t);var i=e.getEnvelopeInternal(),s=Math.min(i.getHeight(),i.getWidth());return t<0&&2*Math.abs(t)>s},jn.prototype.addCollection=function(e){for(var t=this,n=0;n<e.getNumGeometries();n++){var i=e.getGeometryN(n);t.add(i)}},jn.prototype.interfaces_=function(){return[]},jn.prototype.getClass=function(){return jn};var Ea=function(){};Ea.prototype.locate=function(e){},Ea.prototype.interfaces_=function(){return[]},Ea.prototype.getClass=function(){return Ea};var qr=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;var e=arguments[0];this._parent=e,this._atStart=!0,this._index=0,this._max=e.getNumGeometries()};qr.prototype.next=function(){if(this._atStart)return this._atStart=!1,qr.isAtomic(this._parent)&&this._index++,this._parent;if(this._subcollectionIterator!==null){if(this._subcollectionIterator.hasNext())return this._subcollectionIterator.next();this._subcollectionIterator=null}if(this._index>=this._max)throw new ga;var e=this._parent.getGeometryN(this._index++);return e instanceof Ue?(this._subcollectionIterator=new qr(e),this._subcollectionIterator.next()):e},qr.prototype.remove=function(){throw new Error(this.getClass().getName())},qr.prototype.hasNext=function(){if(this._atStart)return!0;if(this._subcollectionIterator!==null){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)},qr.prototype.interfaces_=function(){return[pa]},qr.prototype.getClass=function(){return qr},qr.isAtomic=function(e){return!(e instanceof Ue)};var Tn=function(){this._geom=null;var e=arguments[0];this._geom=e};Tn.prototype.locate=function(e){return Tn.locate(e,this._geom)},Tn.prototype.interfaces_=function(){return[Ea]},Tn.prototype.getClass=function(){return Tn},Tn.isPointInRing=function(e,t){return t.getEnvelopeInternal().intersects(e)?q.isPointInRing(e,t.getCoordinates()):!1},Tn.containsPointInPolygon=function(e,t){if(t.isEmpty())return!1;var n=t.getExteriorRing();if(!Tn.isPointInRing(e,n))return!1;for(var i=0;i<t.getNumInteriorRing();i++){var s=t.getInteriorRingN(i);if(Tn.isPointInRing(e,s))return!1}return!0},Tn.containsPoint=function(e,t){if(t instanceof fe)return Tn.containsPointInPolygon(e,t);if(t instanceof Ue)for(var n=new qr(t);n.hasNext();){var i=n.next();if(i!==t&&Tn.containsPoint(e,i))return!0}return!1},Tn.locate=function(e,t){return t.isEmpty()?F.EXTERIOR:Tn.containsPoint(e,t)?F.INTERIOR:F.EXTERIOR};var Ve=function(){this._edgeMap=new Ae,this._edgeList=null,this._ptInAreaLocation=[F.NONE,F.NONE]};Ve.prototype.getNextCW=function(e){this.getEdges();var t=this._edgeList.indexOf(e),n=t-1;return t===0&&(n=this._edgeList.size()-1),this._edgeList.get(n)},Ve.prototype.propagateSideLabels=function(e){for(var t=F.NONE,n=this.iterator();n.hasNext();){var i=n.next(),s=i.getLabel();s.isArea(e)&&s.getLocation(e,U.LEFT)!==F.NONE&&(t=s.getLocation(e,U.LEFT))}if(t===F.NONE)return null;for(var o=t,a=this.iterator();a.hasNext();){var u=a.next(),l=u.getLabel();if(l.getLocation(e,U.ON)===F.NONE&&l.setLocation(e,U.ON,o),l.isArea(e)){var c=l.getLocation(e,U.LEFT),h=l.getLocation(e,U.RIGHT);if(h!==F.NONE){if(h!==o)throw new wi("side location conflict",u.getCoordinate());c===F.NONE&&vt.shouldNeverReachHere("found single null side (at "+u.getCoordinate()+")"),o=c}else vt.isTrue(l.getLocation(e,U.LEFT)===F.NONE,"found single null side"),l.setLocation(e,U.RIGHT,o),l.setLocation(e,U.LEFT,o)}}},Ve.prototype.getCoordinate=function(){var e=this.iterator();if(!e.hasNext())return null;var t=e.next();return t.getCoordinate()},Ve.prototype.print=function(e){xe.out.println("EdgeEndStar: "+this.getCoordinate());for(var t=this.iterator();t.hasNext();){var n=t.next();n.print(e)}},Ve.prototype.isAreaLabelsConsistent=function(e){return this.computeEdgeEndLabels(e.getBoundaryNodeRule()),this.checkAreaLabelsConsistent(0)},Ve.prototype.checkAreaLabelsConsistent=function(e){var t=this.getEdges();if(t.size()<=0)return!0;var n=t.size()-1,i=t.get(n).getLabel(),s=i.getLocation(e,U.LEFT);vt.isTrue(s!==F.NONE,"Found unlabelled area edge");for(var o=s,a=this.iterator();a.hasNext();){var u=a.next(),l=u.getLabel();vt.isTrue(l.isArea(e),"Found non-area edge");var c=l.getLocation(e,U.LEFT),h=l.getLocation(e,U.RIGHT);if(c===h||h!==o)return!1;o=c}return!0},Ve.prototype.findIndex=function(e){var t=this;this.iterator();for(var n=0;n<this._edgeList.size();n++){var i=t._edgeList.get(n);if(i===e)return n}return-1},Ve.prototype.iterator=function(){return this.getEdges().iterator()},Ve.prototype.getEdges=function(){return this._edgeList===null&&(this._edgeList=new W(this._edgeMap.values())),this._edgeList},Ve.prototype.getLocation=function(e,t,n){return this._ptInAreaLocation[e]===F.NONE&&(this._ptInAreaLocation[e]=Tn.locate(t,n[e].getGeometry())),this._ptInAreaLocation[e]},Ve.prototype.toString=function(){var e=new or;e.append("EdgeEndStar: "+this.getCoordinate()),e.append(`
41
+ `,sn=class sn extends V{constructor(){super();d(this,"_ratio",this.dv(B(0)));d(this,"_subPlayers",this.dv(new bu));const t=this.dv(new Bl);{const o=()=>{t.loop=this.loop??sn.defaults.loop};o(),this.d(this.loopChanged.don(o))}{const o=()=>{(this.loop??sn.defaults.loop)!==t.loop&&(this.loop=t.loop)};o(),this.d(t.loopChangedEvent.don(o))}{const o=()=>{t.currentTime=this.currentTime??sn.defaults.currentTime};o(),this.d(this.currentTimeChanged.don(o))}{const o=()=>{(this.currentTime??sn.defaults.currentTime)!==t.currentTime&&(this.currentTime=t.currentTime)};o(),this.d(t.currentTimeChangedEvent.don(o))}{const o=()=>{t.duration=this.duration??sn.defaults.duration};o(),this.d(this.durationChanged.don(o))}{const o=()=>{(this.duration??sn.defaults.duration)!==t.duration&&(this.duration=t.duration)};o(),this.d(t.durationChangedEvent.don(o))}{const o=()=>{t.speed=this.speed??sn.defaults.speed};o(),this.d(this.speedChanged.don(o))}{const o=()=>{(this.speed??sn.defaults.speed)!==t.speed&&(this.speed=t.speed)};o(),this.d(t.speedChangedEvent.don(o))}{const o=()=>{t.playing=this.playing??sn.defaults.playing};o(),this.d(this.playingChanged.don(o))}{const o=()=>{(this.playing??sn.defaults.playing)!==t.playing&&(this.playing=t.playing)};o(),this.d(t.playingChangedEvent.don(o))}const n=()=>{const o=this.duration??sn.defaults.duration;o>0&&(this._ratio.value=(this.currentTime??sn.defaults.currentTime)/o)};n();const i=this.dv(Pe(this.currentTimeChanged,this.durationChanged));this.d(i.don(n)),this.d(()=>{const{length:o}=this._subPlayers;for(let a=0;a<o;++a)this._subPlayers.get(a).destroy();this._subPlayers.length=0});const s=()=>{for(let a of this._subPlayers)a.destroy();if(this._subPlayers.length=0,!this.channels)return;const o=this.channels.map(a=>{const[u,l,c]=a;return new Ew(u,l,c,this)});this._subPlayers.splice(0,0,...o)};s(),this.d(this.channelsChanged.don(s))}get ratio(){return this._ratio.value}set ratio(t){Math.abs(this._ratio.value-t)<.001||(this.currentTime=(this.duration??sn.defaults.duration)*t)}get ratioChanged(){return this._ratio.changed}};d(sn,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),d(sn,"channelsReadMe",Cw);let Lr=sn;(r=>{r.createDefaultProps=()=>({loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:ps(void 0,(e,t)=>e==null?void 0:e.every((n,i)=>n===t[i]),e=>[...e])})})(Lr||(Lr={})),ji(Lr.prototype,Lr.createDefaultProps);class Sw extends V{constructor(e,t,n,i){super(),this.disposeVar(new we(e.sceneObjectChanged,()=>{let s;i.debug&&console.log("正在获取Event事件...");const o=e.sceneObject;if(o&&t){const a=t.split(".");if(a.length===0)i.debug&&console.warn("propNames.length === 0");else{let u=dh(o,!1,...a);(!u||!(u instanceof N))&&(a[a.length-1]=a[a.length-1]+"Changed",i.debug&&console.warn(`event未能获取,那么将属性名的最后一项加上Changed(${a[a.length-1]})再试试!`),u=dh(o,!1,...a),i.debug&&u&&console.warn("event仍然获取不到!")),u?u instanceof N?(s=u,i.debug&&console.log(`Event获取成功 propChangedName: ${t}`,s)):i.debug&&console.warn(`the prop is not event from ${o.id}-${o.name}-${o.ref}-${t}`):i.debug&&console.warn(`cannot get changed from ${o.id}-${o.name}-${o.ref}-${t}`)}}if(s){const a=new V;return a.d(s.dwon(()=>n.emit())),a}else{i.debug&&console.log(`未获取到Event!propChangedName: ${t}`);return}}))}}const Bg=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:class extends V{constructor(t,n,i){super();d(this,"_doEvalEvent",this.dv(new N));const s=this._doEvalEvent,o=this.disposeVar(Pe(s)),a=t.map(([u,l])=>{const c=new Gh(u),h=l&&new Sw(c,l,s,n)||void 0;return[c,h]});this.d(()=>{a.forEach(([u,l])=>{l==null||l.destroy(),u.destroy()}),a.length=0}),this.d(s.don(()=>{const{evalMode:u="NextAnimateFrame",evalOnlyWhenObjsAllExist:l=!0}=n;if(u==="Immediate"){const c=a.map(([h])=>h.sceneObject);(!l||c.every(h=>h!==void 0))&&i(c)}})),this.d(o.don(()=>{const{evalMode:u="NextAnimateFrame",evalOnlyWhenObjsAllExist:l=!0}=n;if(u==="NextAnimateFrame"){const c=a.map(([h])=>h.sceneObject);(!l||c.every(h=>h!==void 0))&&i(c)}}))}forceExecute(){this._doEvalEvent.emit()}}},Symbol.toStringTag,{value:"Module"})),{WatcherObjects:bw}=Bg;class Ru extends V{constructor(){super();d(this,"_evalFunc");d(this,"_forceExecute",new N);const t=this.dv(B(void 0)),n=()=>{try{t.value=this.evalFuncStr&&Function('"use strict";return ('+this.evalFuncStr+")")(),this.debug&&console.log("evalFunc成功构建",t.value)}catch(o){console.error(`evalFunc get error! ${o}`),t.value=void 0}};n(),this.dispose(this.evalFuncStrChanged.disposableOn(n));const i=o=>{this.enabled&&(this.debug&&console.log("执行evalFunc..."),this._evalFunc&&this._evalFunc(o),t.value&&t.value(o))},s=this.disposeVar(new we(this.objIdAndPropChangedNamesChanged,()=>{if(this.objIdAndPropChangedNames.length>0)return this.debug&&console.log("监视对象发生变化,重新创建WatcherObjects"),new bw(this.objIdAndPropChangedNames,this,i)}));this.dispose(this._forceExecute.disposableOn(()=>{var o;(o=s.obj)==null||o.forceExecute()}))}get evalFunc(){return this._evalFunc}set evalFunc(t){this._evalFunc=t}forceExecute(){this._forceExecute.emit()}}(r=>{r.createDefaultProps=()=>({enabled:!1,objIdAndPropChangedNames:Il([],(e,t)=>e[0]===t[0]&&e[1]===t[1],e=>[e[0],e[1]]),evalFuncStr:"",evalMode:"NextAnimateFrame",evalOnlyWhenObjsAllExist:!0,debug:!1,name:"未命名场景对象",ref:void 0,extras:_t(void 0),devTags:ne(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(Ru||(Ru={})),ji(Ru.prototype,Ru.createDefaultProps);const jg=dp("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=geocent +datum=WGS84");function Fr(r){return jg.forward(r)}function Wh(r){return jg.inverse(r)}const zg=dp("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs +type=crs");function Pw(r){const e=zg.forward([r[0],r[1]]);return[e[0],e[1],r[2]]}function Iw(r){const e=zg.inverse([r[0],r[1]]);return[e[0],e[1],r[2]]}function xw(r,e){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1])&&r.push(r[0]);const t=Ke.point(e),n=Ke.polygon([r]);return Ke.booleanPointInPolygon(t,n)}var Ze=63710088e-1,Ug={centimeters:Ze*100,centimetres:Ze*100,degrees:Ze/111325,feet:Ze*3.28084,inches:Ze*39.37,kilometers:Ze/1e3,kilometres:Ze/1e3,meters:Ze,metres:Ze,miles:Ze/1609.344,millimeters:Ze*1e3,millimetres:Ze*1e3,nauticalmiles:Ze/1852,radians:1,yards:Ze*1.0936};function Ar(r,e,t){t===void 0&&(t={});var n={type:"Feature"};return(t.id===0||t.id)&&(n.id=t.id),t.bbox&&(n.bbox=t.bbox),n.properties=e||{},n.geometry=r,n}function Yt(r,e,t){if(t===void 0&&(t={}),!r)throw new Error("coordinates is required");if(!Array.isArray(r))throw new Error("coordinates must be an Array");if(r.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Gg(r[0])||!Gg(r[1]))throw new Error("coordinates must contain numbers");var n={type:"Point",coordinates:r};return Ar(n,e,t)}function Sn(r,e,t){t===void 0&&(t={});for(var n=0,i=r;n<i.length;n++){var s=i[n];if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var o=0;o<s[s.length-1].length;o++)if(s[s.length-1][o]!==s[0][o])throw new Error("First and last Position are not equivalent.")}var a={type:"Polygon",coordinates:r};return Ar(a,e,t)}function kr(r,e,t){if(t===void 0&&(t={}),r.length<2)throw new Error("coordinates must be an array of two or more positions");var n={type:"LineString",coordinates:r};return Ar(n,e,t)}function ra(r,e){e===void 0&&(e={});var t={type:"FeatureCollection"};return e.id&&(t.id=e.id),e.bbox&&(t.bbox=e.bbox),t.features=r,t}function Hh(r,e,t){t===void 0&&(t={});var n={type:"MultiPolygon",coordinates:r};return Ar(n,e,t)}function qh(r,e){e===void 0&&(e="kilometers");var t=Ug[e];if(!t)throw new Error(e+" units is invalid");return r*t}function Xh(r,e){e===void 0&&(e="kilometers");var t=Ug[e];if(!t)throw new Error(e+" units is invalid");return r/t}function Hl(r){var e=r%(2*Math.PI);return e*180/Math.PI}function ln(r){var e=r%360;return e*Math.PI/180}function Yh(r,e,t){if(e===void 0&&(e="kilometers"),t===void 0&&(t="kilometers"),!(r>=0))throw new Error("length must be a positive number");return qh(Xh(r,e),t)}function Gg(r){return!isNaN(r)&&r!==null&&!Array.isArray(r)}function bn(r){if(!r)throw new Error("coord is required");if(!Array.isArray(r)){if(r.type==="Feature"&&r.geometry!==null&&r.geometry.type==="Point")return r.geometry.coordinates;if(r.type==="Point")return r.coordinates}if(Array.isArray(r)&&r.length>=2&&!Array.isArray(r[0])&&!Array.isArray(r[1]))return r;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function no(r){if(Array.isArray(r))return r;if(r.type==="Feature"){if(r.geometry!==null)return r.geometry.coordinates}else if(r.coordinates)return r.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function Wg(r,e,t){if(!r)throw new Error("No feature passed");if(!t)throw new Error(".featureOf() requires a name");if(!r||r.type!=="Feature"||!r.geometry)throw new Error("Invalid input to "+t+", Feature with geometry required");if(!r.geometry||r.geometry.type!==e)throw new Error("Invalid input to "+t+": must be a "+e+", given "+r.geometry.type)}function qn(r){return r.type==="Feature"?r.geometry:r}function Tw(r,e){return r.type==="FeatureCollection"?"FeatureCollection":r.type==="GeometryCollection"?"GeometryCollection":r.type==="Feature"&&r.geometry!==null?r.geometry.type:r.type}function Lu(r,e,t){if(t===void 0&&(t={}),t.final===!0)return Nw(r,e);var n=bn(r),i=bn(e),s=ln(n[0]),o=ln(i[0]),a=ln(n[1]),u=ln(i[1]),l=Math.sin(o-s)*Math.cos(u),c=Math.cos(a)*Math.sin(u)-Math.sin(a)*Math.cos(u)*Math.cos(o-s);return Hl(Math.atan2(l,c))}function Nw(r,e){var t=Lu(e,r);return t=(t+180)%360,t}function ia(r,e,t,n){n===void 0&&(n={});var i=bn(r),s=ln(i[0]),o=ln(i[1]),a=ln(t),u=Xh(e,n.units),l=Math.asin(Math.sin(o)*Math.cos(u)+Math.cos(o)*Math.sin(u)*Math.cos(a)),c=s+Math.atan2(Math.sin(a)*Math.sin(u)*Math.cos(o),Math.cos(u)-Math.sin(o)*Math.sin(l)),h=Hl(c),f=Hl(l);return Yt([h,f],n.properties)}function Wi(r,e,t){t===void 0&&(t={});var n=bn(r),i=bn(e),s=ln(i[1]-n[1]),o=ln(i[0]-n[0]),a=ln(n[1]),u=ln(i[1]),l=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(o/2),2)*Math.cos(a)*Math.cos(u);return qh(2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)),t.units)}function Ow(r,e,t){t===void 0&&(t={});for(var n=qn(r),i=n.coordinates,s=0,o=0;o<i.length&&!(e>=s&&o===i.length-1);o++)if(s>=e){var a=e-s;if(a){var u=Lu(i[o],i[o-1])-180,l=ia(i[o],a,u,t);return l}else return Yt(i[o])}else s+=Wi(i[o],i[o+1],t);return Yt(i[i.length-1])}function Dw(r,e){const t=kr(r);return Ow(t,e,{units:"meters"}).geometry.coordinates}function sa(r,e,t){if(r!==null)for(var n,i,s,o,a,u,l,c=0,h=0,f,p=r.type,v=p==="FeatureCollection",C=p==="Feature",S=v?r.features.length:1,P=0;P<S;P++){l=v?r.features[P].geometry:C?r.geometry:r,f=l?l.type==="GeometryCollection":!1,a=f?l.geometries.length:1;for(var y=0;y<a;y++){var _=0,m=0;if(o=f?l.geometries[y]:l,o!==null){u=o.coordinates;var w=o.type;switch(c=t&&(w==="Polygon"||w==="MultiPolygon")?1:0,w){case null:break;case"Point":if(e(u,h,P,_,m)===!1)return!1;h++,_++;break;case"LineString":case"MultiPoint":for(n=0;n<u.length;n++){if(e(u[n],h,P,_,m)===!1)return!1;h++,w==="MultiPoint"&&_++}w==="LineString"&&_++;break;case"Polygon":case"MultiLineString":for(n=0;n<u.length;n++){for(i=0;i<u[n].length-c;i++){if(e(u[n][i],h,P,_,m)===!1)return!1;h++}w==="MultiLineString"&&_++,w==="Polygon"&&m++}w==="Polygon"&&_++;break;case"MultiPolygon":for(n=0;n<u.length;n++){for(m=0,i=0;i<u[n].length;i++){for(s=0;s<u[n][i].length-c;s++){if(e(u[n][i][s],h,P,_,m)===!1)return!1;h++}m++}_++}break;case"GeometryCollection":for(n=0;n<o.geometries.length;n++)if(sa(o.geometries[n],e,t)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function ql(r,e){if(r.type==="Feature")e(r,0);else if(r.type==="FeatureCollection")for(var t=0;t<r.features.length&&e(r.features[t],t)!==!1;t++);}function Xl(r,e){var t,n,i,s,o,a,u,l,c,h,f=0,p=r.type==="FeatureCollection",v=r.type==="Feature",C=p?r.features.length:1;for(t=0;t<C;t++){for(a=p?r.features[t].geometry:v?r.geometry:r,l=p?r.features[t].properties:v?r.properties:{},c=p?r.features[t].bbox:v?r.bbox:void 0,h=p?r.features[t].id:v?r.id:void 0,u=a?a.type==="GeometryCollection":!1,o=u?a.geometries.length:1,i=0;i<o;i++){if(s=u?a.geometries[i]:a,s===null){if(e(null,f,l,c,h)===!1)return!1;continue}switch(s.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(s,f,l,c,h)===!1)return!1;break}case"GeometryCollection":{for(n=0;n<s.geometries.length;n++)if(e(s.geometries[n],f,l,c,h)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}f++}}function Mw(r,e,t){var n=t;return Xl(r,function(i,s,o,a,u){n=e(n,i,s,o,a,u)}),n}function Jh(r,e){Xl(r,function(t,n,i,s,o){var a=t===null?null:t.type;switch(a){case null:case"Point":case"LineString":case"Polygon":return e(Ar(t,i,{bbox:s,id:o}),n,0)===!1?!1:void 0}var u;switch(a){case"MultiPoint":u="Point";break;case"MultiLineString":u="LineString";break;case"MultiPolygon":u="Polygon";break}for(var l=0;l<t.coordinates.length;l++){var c=t.coordinates[l],h={type:u,coordinates:c};if(e(Ar(h,i),n,l)===!1)return!1}})}function Rw(r,e){Jh(r,function(t,n,i){var s=0;if(t.geometry){var o=t.geometry.type;if(!(o==="Point"||o==="MultiPoint")){var a,u=0,l=0,c=0;if(sa(t,function(h,f,p,v,C){if(a===void 0||n>u||v>l||C>c){a=h,u=n,l=v,c=C,s=0;return}var S=kr([a,h],t.properties);if(e(S,n,i,C,s)===!1)return!1;s++,a=h})===!1)return!1}}})}var Hg=6378137;function Lw(r){return Mw(r,function(e,t){return e+Fw(t)},0)}function Fw(r){var e=0,t;switch(r.type){case"Polygon":return qg(r.coordinates);case"MultiPolygon":for(t=0;t<r.coordinates.length;t++)e+=qg(r.coordinates[t]);return e;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function qg(r){var e=0;if(r&&r.length>0){e+=Math.abs(Xg(r[0]));for(var t=1;t<r.length;t++)e-=Math.abs(Xg(r[t]))}return e}function Xg(r){var e,t,n,i,s,o,a,u=0,l=r.length;if(l>2){for(a=0;a<l;a++)a===l-2?(i=l-2,s=l-1,o=0):a===l-1?(i=l-1,s=0,o=1):(i=a,s=a+1,o=a+2),e=r[i],t=r[s],n=r[o],u+=($h(n[0])-$h(e[0]))*Math.sin($h(t[1]));u=u*Hg*Hg/2}return u}function $h(r){return r*Math.PI/180}function Kh(r){if((r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]),r.length<=3)return 0;const e=Sn([r]);return Lw(e)}var Yl={exports:{}},Jl={exports:{}},Aw=Jl.exports,Yg;function Jg(){return Yg||(Yg=1,function(r,e){(function(t,n){r.exports=n()})(Aw,function(){function t(y,_,m,w,E){(function b(I,T,D,x,O){for(;x>D;){if(x-D>600){var L=x-D+1,A=T-D+1,J=Math.log(L),H=.5*Math.exp(2*J/3),Z=.5*Math.sqrt(J*H*(L-H)/L)*(A-L/2<0?-1:1),ct=Math.max(D,Math.floor(T-A*H/L+Z)),mt=Math.min(x,Math.floor(T+(L-A)*H/L+Z));b(I,T,ct,mt,O)}var Y=I[T],$=D,K=x;for(n(I,D,T),O(I[x],Y)>0&&n(I,D,x);$<K;){for(n(I,$,K),$++,K--;O(I[$],Y)<0;)$++;for(;O(I[K],Y)>0;)K--}O(I[D],Y)===0?n(I,D,K):n(I,++K,x),K<=T&&(D=K+1),T<=K&&(x=K-1)}})(y,_,m||0,w||y.length-1,E||i)}function n(y,_,m){var w=y[_];y[_]=y[m],y[m]=w}function i(y,_){return y<_?-1:y>_?1:0}var s=function(y){y===void 0&&(y=9),this._maxEntries=Math.max(4,y),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(y,_,m){if(!m)return _.indexOf(y);for(var w=0;w<_.length;w++)if(m(y,_[w]))return w;return-1}function a(y,_){u(y,0,y.children.length,_,y)}function u(y,_,m,w,E){E||(E=S(null)),E.minX=1/0,E.minY=1/0,E.maxX=-1/0,E.maxY=-1/0;for(var b=_;b<m;b++){var I=y.children[b];l(E,y.leaf?w(I):I)}return E}function l(y,_){return y.minX=Math.min(y.minX,_.minX),y.minY=Math.min(y.minY,_.minY),y.maxX=Math.max(y.maxX,_.maxX),y.maxY=Math.max(y.maxY,_.maxY),y}function c(y,_){return y.minX-_.minX}function h(y,_){return y.minY-_.minY}function f(y){return(y.maxX-y.minX)*(y.maxY-y.minY)}function p(y){return y.maxX-y.minX+(y.maxY-y.minY)}function v(y,_){return y.minX<=_.minX&&y.minY<=_.minY&&_.maxX<=y.maxX&&_.maxY<=y.maxY}function C(y,_){return _.minX<=y.maxX&&_.minY<=y.maxY&&_.maxX>=y.minX&&_.maxY>=y.minY}function S(y){return{children:y,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function P(y,_,m,w,E){for(var b=[_,m];b.length;)if(!((m=b.pop())-(_=b.pop())<=w)){var I=_+Math.ceil((m-_)/w/2)*w;t(y,I,_,m,E),b.push(_,I,I,m)}}return s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(y){var _=this.data,m=[];if(!C(y,_))return m;for(var w=this.toBBox,E=[];_;){for(var b=0;b<_.children.length;b++){var I=_.children[b],T=_.leaf?w(I):I;C(y,T)&&(_.leaf?m.push(I):v(y,T)?this._all(I,m):E.push(I))}_=E.pop()}return m},s.prototype.collides=function(y){var _=this.data;if(!C(y,_))return!1;for(var m=[];_;){for(var w=0;w<_.children.length;w++){var E=_.children[w],b=_.leaf?this.toBBox(E):E;if(C(y,b)){if(_.leaf||v(y,b))return!0;m.push(E)}}_=m.pop()}return!1},s.prototype.load=function(y){if(!y||!y.length)return this;if(y.length<this._minEntries){for(var _=0;_<y.length;_++)this.insert(y[_]);return this}var m=this._build(y.slice(),0,y.length-1,0);if(this.data.children.length)if(this.data.height===m.height)this._splitRoot(this.data,m);else{if(this.data.height<m.height){var w=this.data;this.data=m,m=w}this._insert(m,this.data.height-m.height-1,!0)}else this.data=m;return this},s.prototype.insert=function(y){return y&&this._insert(y,this.data.height-1),this},s.prototype.clear=function(){return this.data=S([]),this},s.prototype.remove=function(y,_){if(!y)return this;for(var m,w,E,b=this.data,I=this.toBBox(y),T=[],D=[];b||T.length;){if(b||(b=T.pop(),w=T[T.length-1],m=D.pop(),E=!0),b.leaf){var x=o(y,b.children,_);if(x!==-1)return b.children.splice(x,1),T.push(b),this._condense(T),this}E||b.leaf||!v(b,I)?w?(m++,b=w.children[m],E=!1):b=null:(T.push(b),D.push(m),m=0,w=b,b=b.children[0])}return this},s.prototype.toBBox=function(y){return y},s.prototype.compareMinX=function(y,_){return y.minX-_.minX},s.prototype.compareMinY=function(y,_){return y.minY-_.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(y){return this.data=y,this},s.prototype._all=function(y,_){for(var m=[];y;)y.leaf?_.push.apply(_,y.children):m.push.apply(m,y.children),y=m.pop();return _},s.prototype._build=function(y,_,m,w){var E,b=m-_+1,I=this._maxEntries;if(b<=I)return a(E=S(y.slice(_,m+1)),this.toBBox),E;w||(w=Math.ceil(Math.log(b)/Math.log(I)),I=Math.ceil(b/Math.pow(I,w-1))),(E=S([])).leaf=!1,E.height=w;var T=Math.ceil(b/I),D=T*Math.ceil(Math.sqrt(I));P(y,_,m,D,this.compareMinX);for(var x=_;x<=m;x+=D){var O=Math.min(x+D-1,m);P(y,x,O,T,this.compareMinY);for(var L=x;L<=O;L+=T){var A=Math.min(L+T-1,O);E.children.push(this._build(y,L,A,w-1))}}return a(E,this.toBBox),E},s.prototype._chooseSubtree=function(y,_,m,w){for(;w.push(_),!_.leaf&&w.length-1!==m;){for(var E=1/0,b=1/0,I=void 0,T=0;T<_.children.length;T++){var D=_.children[T],x=f(D),O=(L=y,A=D,(Math.max(A.maxX,L.maxX)-Math.min(A.minX,L.minX))*(Math.max(A.maxY,L.maxY)-Math.min(A.minY,L.minY))-x);O<b?(b=O,E=x<E?x:E,I=D):O===b&&x<E&&(E=x,I=D)}_=I||_.children[0]}var L,A;return _},s.prototype._insert=function(y,_,m){var w=m?y:this.toBBox(y),E=[],b=this._chooseSubtree(w,this.data,_,E);for(b.children.push(y),l(b,w);_>=0&&E[_].children.length>this._maxEntries;)this._split(E,_),_--;this._adjustParentBBoxes(w,E,_)},s.prototype._split=function(y,_){var m=y[_],w=m.children.length,E=this._minEntries;this._chooseSplitAxis(m,E,w);var b=this._chooseSplitIndex(m,E,w),I=S(m.children.splice(b,m.children.length-b));I.height=m.height,I.leaf=m.leaf,a(m,this.toBBox),a(I,this.toBBox),_?y[_-1].children.push(I):this._splitRoot(m,I)},s.prototype._splitRoot=function(y,_){this.data=S([y,_]),this.data.height=y.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(y,_,m){for(var w,E,b,I,T,D,x,O=1/0,L=1/0,A=_;A<=m-_;A++){var J=u(y,0,A,this.toBBox),H=u(y,A,m,this.toBBox),Z=(E=J,b=H,I=void 0,T=void 0,D=void 0,x=void 0,I=Math.max(E.minX,b.minX),T=Math.max(E.minY,b.minY),D=Math.min(E.maxX,b.maxX),x=Math.min(E.maxY,b.maxY),Math.max(0,D-I)*Math.max(0,x-T)),ct=f(J)+f(H);Z<O?(O=Z,w=A,L=ct<L?ct:L):Z===O&&ct<L&&(L=ct,w=A)}return w||m-_},s.prototype._chooseSplitAxis=function(y,_,m){var w=y.leaf?this.compareMinX:c,E=y.leaf?this.compareMinY:h;this._allDistMargin(y,_,m,w)<this._allDistMargin(y,_,m,E)&&y.children.sort(w)},s.prototype._allDistMargin=function(y,_,m,w){y.children.sort(w);for(var E=this.toBBox,b=u(y,0,_,E),I=u(y,m-_,m,E),T=p(b)+p(I),D=_;D<m-_;D++){var x=y.children[D];l(b,y.leaf?E(x):x),T+=p(b)}for(var O=m-_-1;O>=_;O--){var L=y.children[O];l(I,y.leaf?E(L):L),T+=p(I)}return T},s.prototype._adjustParentBBoxes=function(y,_,m){for(var w=m;w>=0;w--)l(_[w],y)},s.prototype._condense=function(y){for(var _=y.length-1,m=void 0;_>=0;_--)y[_].children.length===0?_>0?(m=y[_-1].children).splice(m.indexOf(y[_]),1):this.clear():a(y[_],this.toBBox)},s})}(Jl)),Jl.exports}class kw{constructor(e=[],t=Vw){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let n=(this.length>>1)-1;n>=0;n--)this._down(n)}push(e){this.data.push(e),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:n}=this,i=t[e];for(;e>0;){const s=e-1>>1,o=t[s];if(n(i,o)>=0)break;t[e]=o,e=s}t[e]=i}_down(e){const{data:t,compare:n}=this,i=this.length>>1,s=t[e];for(;e<i;){let o=(e<<1)+1,a=t[o];const u=o+1;if(u<this.length&&n(t[u],a)<0&&(o=u,a=t[u]),n(a,s)>=0)break;t[e]=a,e=o}t[e]=s}}function Vw(r,e){return r<e?-1:r>e?1:0}const Bw=E0(Object.freeze(Object.defineProperty({__proto__:null,default:kw},Symbol.toStringTag,{value:"Module"})));var Fu={exports:{}},Zh,$g;function jw(){return $g||($g=1,Zh=function(e,t,n,i){var s=e[0],o=e[1],a=!1;n===void 0&&(n=0),i===void 0&&(i=t.length);for(var u=(i-n)/2,l=0,c=u-1;l<u;c=l++){var h=t[n+l*2+0],f=t[n+l*2+1],p=t[n+c*2+0],v=t[n+c*2+1],C=f>o!=v>o&&s<(p-h)*(o-f)/(v-f)+h;C&&(a=!a)}return a}),Zh}var Qh,Kg;function zw(){return Kg||(Kg=1,Qh=function(e,t,n,i){var s=e[0],o=e[1],a=!1;n===void 0&&(n=0),i===void 0&&(i=t.length);for(var u=i-n,l=0,c=u-1;l<u;c=l++){var h=t[l+n][0],f=t[l+n][1],p=t[c+n][0],v=t[c+n][1],C=f>o!=v>o&&s<(p-h)*(o-f)/(v-f)+h;C&&(a=!a)}return a}),Qh}var Zg;function Uw(){if(Zg)return Fu.exports;Zg=1;var r=jw(),e=zw();return Fu.exports=function(n,i,s,o){return i.length>0&&Array.isArray(i[0])?e(n,i,s,o):r(n,i,s,o)},Fu.exports.nested=e,Fu.exports.flat=r,Fu.exports}var Au={exports:{}},Gw=Au.exports,Qg;function Ww(){return Qg||(Qg=1,function(r,e){(function(t,n){n(e)})(Gw,function(t){const i=33306690738754706e-32;function s(C,S,P,y,_){let m,w,E,b,I=S[0],T=y[0],D=0,x=0;T>I==T>-I?(m=I,I=S[++D]):(m=T,T=y[++x]);let O=0;if(D<C&&x<P)for(T>I==T>-I?(E=m-((w=I+m)-I),I=S[++D]):(E=m-((w=T+m)-T),T=y[++x]),m=w,E!==0&&(_[O++]=E);D<C&&x<P;)T>I==T>-I?(E=m-((w=m+I)-(b=w-m))+(I-b),I=S[++D]):(E=m-((w=m+T)-(b=w-m))+(T-b),T=y[++x]),m=w,E!==0&&(_[O++]=E);for(;D<C;)E=m-((w=m+I)-(b=w-m))+(I-b),I=S[++D],m=w,E!==0&&(_[O++]=E);for(;x<P;)E=m-((w=m+T)-(b=w-m))+(T-b),T=y[++x],m=w,E!==0&&(_[O++]=E);return m===0&&O!==0||(_[O++]=m),O}function o(C){return new Float64Array(C)}const a=33306690738754716e-32,u=22204460492503146e-32,l=11093356479670487e-47,c=o(4),h=o(8),f=o(12),p=o(16),v=o(4);t.orient2d=function(C,S,P,y,_,m){const w=(S-m)*(P-_),E=(C-_)*(y-m),b=w-E;if(w===0||E===0||w>0!=E>0)return b;const I=Math.abs(w+E);return Math.abs(b)>=a*I?b:-function(T,D,x,O,L,A,J){let H,Z,ct,mt,Y,$,K,wt,At,Nt,Ot,jt,ve,Kt,En,Cn,z,G;const ft=T-L,kt=x-L,ee=D-A,_e=O-A;Y=(En=(wt=ft-(K=($=134217729*ft)-($-ft)))*(Nt=_e-(At=($=134217729*_e)-($-_e)))-((Kt=ft*_e)-K*At-wt*At-K*Nt))-(Ot=En-(z=(wt=ee-(K=($=134217729*ee)-($-ee)))*(Nt=kt-(At=($=134217729*kt)-($-kt)))-((Cn=ee*kt)-K*At-wt*At-K*Nt))),c[0]=En-(Ot+Y)+(Y-z),Y=(ve=Kt-((jt=Kt+Ot)-(Y=jt-Kt))+(Ot-Y))-(Ot=ve-Cn),c[1]=ve-(Ot+Y)+(Y-Cn),Y=(G=jt+Ot)-jt,c[2]=jt-(G-Y)+(Ot-Y),c[3]=G;let Ys=function(jb,Gy){let Wy=Gy[0];for(let hp=1;hp<jb;hp++)Wy+=Gy[hp];return Wy}(4,c),bl=u*J;if(Ys>=bl||-Ys>=bl||(H=T-(ft+(Y=T-ft))+(Y-L),ct=x-(kt+(Y=x-kt))+(Y-L),Z=D-(ee+(Y=D-ee))+(Y-A),mt=O-(_e+(Y=O-_e))+(Y-A),H===0&&Z===0&&ct===0&&mt===0)||(bl=l*J+i*Math.abs(Ys),(Ys+=ft*mt+_e*H-(ee*ct+kt*Z))>=bl||-Ys>=bl))return Ys;Y=(En=(wt=H-(K=($=134217729*H)-($-H)))*(Nt=_e-(At=($=134217729*_e)-($-_e)))-((Kt=H*_e)-K*At-wt*At-K*Nt))-(Ot=En-(z=(wt=Z-(K=($=134217729*Z)-($-Z)))*(Nt=kt-(At=($=134217729*kt)-($-kt)))-((Cn=Z*kt)-K*At-wt*At-K*Nt))),v[0]=En-(Ot+Y)+(Y-z),Y=(ve=Kt-((jt=Kt+Ot)-(Y=jt-Kt))+(Ot-Y))-(Ot=ve-Cn),v[1]=ve-(Ot+Y)+(Y-Cn),Y=(G=jt+Ot)-jt,v[2]=jt-(G-Y)+(Ot-Y),v[3]=G;const kb=s(4,c,4,v,h);Y=(En=(wt=ft-(K=($=134217729*ft)-($-ft)))*(Nt=mt-(At=($=134217729*mt)-($-mt)))-((Kt=ft*mt)-K*At-wt*At-K*Nt))-(Ot=En-(z=(wt=ee-(K=($=134217729*ee)-($-ee)))*(Nt=ct-(At=($=134217729*ct)-($-ct)))-((Cn=ee*ct)-K*At-wt*At-K*Nt))),v[0]=En-(Ot+Y)+(Y-z),Y=(ve=Kt-((jt=Kt+Ot)-(Y=jt-Kt))+(Ot-Y))-(Ot=ve-Cn),v[1]=ve-(Ot+Y)+(Y-Cn),Y=(G=jt+Ot)-jt,v[2]=jt-(G-Y)+(Ot-Y),v[3]=G;const Vb=s(kb,h,4,v,f);Y=(En=(wt=H-(K=($=134217729*H)-($-H)))*(Nt=mt-(At=($=134217729*mt)-($-mt)))-((Kt=H*mt)-K*At-wt*At-K*Nt))-(Ot=En-(z=(wt=Z-(K=($=134217729*Z)-($-Z)))*(Nt=ct-(At=($=134217729*ct)-($-ct)))-((Cn=Z*ct)-K*At-wt*At-K*Nt))),v[0]=En-(Ot+Y)+(Y-z),Y=(ve=Kt-((jt=Kt+Ot)-(Y=jt-Kt))+(Ot-Y))-(Ot=ve-Cn),v[1]=ve-(Ot+Y)+(Y-Cn),Y=(G=jt+Ot)-jt,v[2]=jt-(G-Y)+(Ot-Y),v[3]=G;const Bb=s(Vb,f,4,v,p);return p[Bb-1]}(C,S,P,y,_,m,I)},t.orient2dfast=function(C,S,P,y,_,m){return(S-m)*(P-_)-(C-_)*(y-m)},Object.defineProperty(t,"__esModule",{value:!0})})}(Au,Au.exports)),Au.exports}var tm;function Hw(){if(tm)return Yl.exports;tm=1;var r=Jg(),e=Bw,t=Uw(),n=Ww().orient2d;e.default&&(e=e.default),Yl.exports=i,Yl.exports.default=i;function i(m,w,E){w=Math.max(0,w===void 0?2:w),E=E||0;var b=p(m),I=new r(16);I.toBBox=function(K){return{minX:K[0],minY:K[1],maxX:K[0],maxY:K[1]}},I.compareMinX=function(K,wt){return K[0]-wt[0]},I.compareMinY=function(K,wt){return K[1]-wt[1]},I.load(m);for(var T=[],D=0,x;D<b.length;D++){var O=b[D];I.remove(O),x=v(O,x),T.push(x)}var L=new r(16);for(D=0;D<T.length;D++)L.insert(f(T[D]));for(var A=w*w,J=E*E;T.length;){var H=T.shift(),Z=H.p,ct=H.next.p,mt=C(Z,ct);if(!(mt<J)){var Y=mt/A;O=s(I,H.prev.p,Z,ct,H.next.next.p,Y,L),O&&Math.min(C(O,Z),C(O,ct))<=Y&&(T.push(H),T.push(v(O,H)),I.remove(O),L.remove(H),L.insert(f(H)),L.insert(f(H.next)))}}H=x;var $=[];do $.push(H.p),H=H.next;while(H!==x);return $.push(H.p),$}function s(m,w,E,b,I,T,D){for(var x=new e([],o),O=m.data;O;){for(var L=0;L<O.children.length;L++){var A=O.children[L],J=O.leaf?S(A,E,b):a(E,b,A);J>T||x.push({node:A,dist:J})}for(;x.length&&!x.peek().node.children;){var H=x.pop(),Z=H.node,ct=S(Z,w,E),mt=S(Z,b,I);if(H.dist<ct&&H.dist<mt&&l(E,Z,D)&&l(b,Z,D))return Z}O=x.pop(),O&&(O=O.node)}return null}function o(m,w){return m.dist-w.dist}function a(m,w,E){if(u(m,E)||u(w,E))return 0;var b=P(m[0],m[1],w[0],w[1],E.minX,E.minY,E.maxX,E.minY);if(b===0)return 0;var I=P(m[0],m[1],w[0],w[1],E.minX,E.minY,E.minX,E.maxY);if(I===0)return 0;var T=P(m[0],m[1],w[0],w[1],E.maxX,E.minY,E.maxX,E.maxY);if(T===0)return 0;var D=P(m[0],m[1],w[0],w[1],E.minX,E.maxY,E.maxX,E.maxY);return D===0?0:Math.min(b,I,T,D)}function u(m,w){return m[0]>=w.minX&&m[0]<=w.maxX&&m[1]>=w.minY&&m[1]<=w.maxY}function l(m,w,E){for(var b=Math.min(m[0],w[0]),I=Math.min(m[1],w[1]),T=Math.max(m[0],w[0]),D=Math.max(m[1],w[1]),x=E.search({minX:b,minY:I,maxX:T,maxY:D}),O=0;O<x.length;O++)if(h(x[O].p,x[O].next.p,m,w))return!1;return!0}function c(m,w,E){return n(m[0],m[1],w[0],w[1],E[0],E[1])}function h(m,w,E,b){return m!==b&&w!==E&&c(m,w,E)>0!=c(m,w,b)>0&&c(E,b,m)>0!=c(E,b,w)>0}function f(m){var w=m.p,E=m.next.p;return m.minX=Math.min(w[0],E[0]),m.minY=Math.min(w[1],E[1]),m.maxX=Math.max(w[0],E[0]),m.maxY=Math.max(w[1],E[1]),m}function p(m){for(var w=m[0],E=m[0],b=m[0],I=m[0],T=0;T<m.length;T++){var D=m[T];D[0]<w[0]&&(w=D),D[0]>b[0]&&(b=D),D[1]<E[1]&&(E=D),D[1]>I[1]&&(I=D)}var x=[w,E,b,I],O=x.slice();for(T=0;T<m.length;T++)t(m[T],x)||O.push(m[T]);return _(O)}function v(m,w){var E={p:m,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return w?(E.next=w.next,E.prev=w,w.next.prev=E,w.next=E):(E.prev=E,E.next=E),E}function C(m,w){var E=m[0]-w[0],b=m[1]-w[1];return E*E+b*b}function S(m,w,E){var b=w[0],I=w[1],T=E[0]-b,D=E[1]-I;if(T!==0||D!==0){var x=((m[0]-b)*T+(m[1]-I)*D)/(T*T+D*D);x>1?(b=E[0],I=E[1]):x>0&&(b+=T*x,I+=D*x)}return T=m[0]-b,D=m[1]-I,T*T+D*D}function P(m,w,E,b,I,T,D,x){var O=E-m,L=b-w,A=D-I,J=x-T,H=m-I,Z=w-T,ct=O*O+L*L,mt=O*A+L*J,Y=A*A+J*J,$=O*H+L*Z,K=A*H+J*Z,wt=ct*Y-mt*mt,At,Nt,Ot,jt,ve=wt,Kt=wt;wt===0?(Nt=0,ve=1,jt=K,Kt=Y):(Nt=mt*K-Y*$,jt=ct*K-mt*$,Nt<0?(Nt=0,jt=K,Kt=Y):Nt>ve&&(Nt=ve,jt=K+mt,Kt=Y)),jt<0?(jt=0,-$<0?Nt=0:-$>ct?Nt=ve:(Nt=-$,ve=ct)):jt>Kt&&(jt=Kt,-$+mt<0?Nt=0:-$+mt>ct?Nt=ve:(Nt=-$+mt,ve=ct)),At=Nt===0?0:Nt/ve,Ot=jt===0?0:jt/Kt;var En=(1-At)*m+At*E,Cn=(1-At)*w+At*b,z=(1-Ot)*I+Ot*D,G=(1-Ot)*T+Ot*x,ft=z-En,kt=G-Cn;return ft*ft+kt*kt}function y(m,w){return m[0]===w[0]?m[1]-w[1]:m[0]-w[0]}function _(m){m.sort(y);for(var w=[],E=0;E<m.length;E++){for(;w.length>=2&&c(w[w.length-2],w[w.length-1],m[E])<=0;)w.pop();w.push(m[E])}for(var b=[],I=m.length-1;I>=0;I--){for(;b.length>=2&&c(b[b.length-2],b[b.length-1],m[I])<=0;)b.pop();b.push(m[I])}return b.pop(),w.pop(),w.concat(b)}return Yl.exports}var qw=Hw();const Xw=Fh(qw);function Yw(r,e){e===void 0&&(e={}),e.concavity=e.concavity||1/0;var t=[];if(sa(r,function(i){t.push([i[0],i[1]])}),!t.length)return null;var n=Xw(t,e.concavity);return n.length>3?Sn([n]):null}function em(r,e){e===void 0&&(e={});var t=0,n=0,i=0;return sa(r,function(s){t+=s[0],n+=s[1],i++},!0),Yt([t/i,n/i],e.properties)}function nm(r,e){switch(e===void 0&&(e={}),Tw(r)){case"Point":return Yt(bn(r),e.properties);case"Polygon":var t=[];sa(r,function(m){t.push(m)});var n=em(r,{properties:e.properties}),i=n.geometry.coordinates,s=0,o=0,a=0,u,l,c,h,f,p,v,C,S=t.map(function(m){return[m[0]-i[0],m[1]-i[1]]});for(u=0;u<t.length-1;u++)l=S[u],h=l[0],p=l[1],c=S[u+1],f=c[0],v=c[1],C=h*v-f*p,a+=C,s+=(h+f)*C,o+=(p+v)*C;if(a===0)return n;var P=a*.5,y=1/(6*P);return Yt([i[0]+y*s,i[1]+y*o],e.properties);default:var _=Yw(r);return _?nm(_,{properties:e.properties}):em(r,{properties:e.properties})}}function Jw(r){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]);const e=Sn([r]),n=nm(e).geometry.coordinates;return[n[0],n[1],n[2]??r[0][2]??0]}function rm(r,e,t,n){const[i,s,o]=r,a=ia(Yt([i,s]),e,t,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return n=n||[0,0,0],n[0]=a.geometry.coordinates[0],n[1]=a.geometry.coordinates[1],n[2]=o,n}function $l(r,e){return Wi(Yt(r),Yt(e),{units:"meters"})}function ku(r,e){return Lu(Yt(r),Yt(e))}function im(r){if(!r)throw new Error("geojson is required");var e=[];return Jh(r,function(t){$w(t,e)}),ra(e)}function $w(r,e){var t=[],n=r.geometry;if(n!==null){switch(n.type){case"Polygon":t=no(n);break;case"LineString":t=[no(n)]}t.forEach(function(i){var s=Kw(i,r.properties);s.forEach(function(o){o.id=e.length,e.push(o)})})}}function Kw(r,e){var t=[];return r.reduce(function(n,i){var s=kr([n,i],e);return s.bbox=Zw(n,i),t.push(s),i}),t}function Zw(r,e){var t=r[0],n=r[1],i=e[0],s=e[1],o=t<i?t:i,a=n<s?n:s,u=t>i?t:i,l=n>s?n:s;return[o,a,u,l]}var Kl={exports:{}},td={},sm;function om(){return sm||(sm=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.earthRadius=63710088e-1,r.factors={centimeters:r.earthRadius*100,centimetres:r.earthRadius*100,degrees:r.earthRadius/111325,feet:r.earthRadius*3.28084,inches:r.earthRadius*39.37,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:r.earthRadius*1e3,millimetres:r.earthRadius*1e3,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius*1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/r.earthRadius,yards:1.0936133},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function e(x,O,L){L===void 0&&(L={});var A={type:"Feature"};return(L.id===0||L.id)&&(A.id=L.id),L.bbox&&(A.bbox=L.bbox),A.properties=O||{},A.geometry=x,A}r.feature=e;function t(x,O,L){switch(x){case"Point":return n(O).geometry;case"LineString":return a(O).geometry;case"Polygon":return s(O).geometry;case"MultiPoint":return h(O).geometry;case"MultiLineString":return c(O).geometry;case"MultiPolygon":return f(O).geometry;default:throw new Error(x+" is invalid")}}r.geometry=t;function n(x,O,L){if(L===void 0&&(L={}),!x)throw new Error("coordinates is required");if(!Array.isArray(x))throw new Error("coordinates must be an Array");if(x.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!b(x[0])||!b(x[1]))throw new Error("coordinates must contain numbers");var A={type:"Point",coordinates:x};return e(A,O,L)}r.point=n;function i(x,O,L){return L===void 0&&(L={}),l(x.map(function(A){return n(A,O)}),L)}r.points=i;function s(x,O,L){L===void 0&&(L={});for(var A=0,J=x;A<J.length;A++){var H=J[A];if(H.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var Z=0;Z<H[H.length-1].length;Z++)if(H[H.length-1][Z]!==H[0][Z])throw new Error("First and last Position are not equivalent.")}var ct={type:"Polygon",coordinates:x};return e(ct,O,L)}r.polygon=s;function o(x,O,L){return L===void 0&&(L={}),l(x.map(function(A){return s(A,O)}),L)}r.polygons=o;function a(x,O,L){if(L===void 0&&(L={}),x.length<2)throw new Error("coordinates must be an array of two or more positions");var A={type:"LineString",coordinates:x};return e(A,O,L)}r.lineString=a;function u(x,O,L){return L===void 0&&(L={}),l(x.map(function(A){return a(A,O)}),L)}r.lineStrings=u;function l(x,O){O===void 0&&(O={});var L={type:"FeatureCollection"};return O.id&&(L.id=O.id),O.bbox&&(L.bbox=O.bbox),L.features=x,L}r.featureCollection=l;function c(x,O,L){L===void 0&&(L={});var A={type:"MultiLineString",coordinates:x};return e(A,O,L)}r.multiLineString=c;function h(x,O,L){L===void 0&&(L={});var A={type:"MultiPoint",coordinates:x};return e(A,O,L)}r.multiPoint=h;function f(x,O,L){L===void 0&&(L={});var A={type:"MultiPolygon",coordinates:x};return e(A,O,L)}r.multiPolygon=f;function p(x,O,L){L===void 0&&(L={});var A={type:"GeometryCollection",geometries:x};return e(A,O,L)}r.geometryCollection=p;function v(x,O){if(O===void 0&&(O=0),O&&!(O>=0))throw new Error("precision must be a positive number");var L=Math.pow(10,O||0);return Math.round(x*L)/L}r.round=v;function C(x,O){O===void 0&&(O="kilometers");var L=r.factors[O];if(!L)throw new Error(O+" units is invalid");return x*L}r.radiansToLength=C;function S(x,O){O===void 0&&(O="kilometers");var L=r.factors[O];if(!L)throw new Error(O+" units is invalid");return x/L}r.lengthToRadians=S;function P(x,O){return _(S(x,O))}r.lengthToDegrees=P;function y(x){var O=x%360;return O<0&&(O+=360),O}r.bearingToAzimuth=y;function _(x){var O=x%(2*Math.PI);return O*180/Math.PI}r.radiansToDegrees=_;function m(x){var O=x%360;return O*Math.PI/180}r.degreesToRadians=m;function w(x,O,L){if(O===void 0&&(O="kilometers"),L===void 0&&(L="kilometers"),!(x>=0))throw new Error("length must be a positive number");return C(S(x,O),L)}r.convertLength=w;function E(x,O,L){if(O===void 0&&(O="meters"),L===void 0&&(L="kilometers"),!(x>=0))throw new Error("area must be a positive number");var A=r.areaFactors[O];if(!A)throw new Error("invalid original units");var J=r.areaFactors[L];if(!J)throw new Error("invalid final units");return x/A*J}r.convertArea=E;function b(x){return!isNaN(x)&&x!==null&&!Array.isArray(x)}r.isNumber=b;function I(x){return!!x&&x.constructor===Object}r.isObject=I;function T(x){if(!x)throw new Error("bbox is required");if(!Array.isArray(x))throw new Error("bbox must be an Array");if(x.length!==4&&x.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");x.forEach(function(O){if(!b(O))throw new Error("bbox must only contain numbers")})}r.validateBBox=T;function D(x){if(!x)throw new Error("id is required");if(["string","number"].indexOf(typeof x)===-1)throw new Error("id must be a number or a string")}r.validateId=D}(td)),td}var Ie={},am;function um(){if(am)return Ie;am=1,Object.defineProperty(Ie,"__esModule",{value:!0});var r=om();function e(y,_,m){if(y!==null)for(var w,E,b,I,T,D,x,O=0,L=0,A,J=y.type,H=J==="FeatureCollection",Z=J==="Feature",ct=H?y.features.length:1,mt=0;mt<ct;mt++){x=H?y.features[mt].geometry:Z?y.geometry:y,A=x?x.type==="GeometryCollection":!1,T=A?x.geometries.length:1;for(var Y=0;Y<T;Y++){var $=0,K=0;if(I=A?x.geometries[Y]:x,I!==null){D=I.coordinates;var wt=I.type;switch(O=m&&(wt==="Polygon"||wt==="MultiPolygon")?1:0,wt){case null:break;case"Point":if(_(D,L,mt,$,K)===!1)return!1;L++,$++;break;case"LineString":case"MultiPoint":for(w=0;w<D.length;w++){if(_(D[w],L,mt,$,K)===!1)return!1;L++,wt==="MultiPoint"&&$++}wt==="LineString"&&$++;break;case"Polygon":case"MultiLineString":for(w=0;w<D.length;w++){for(E=0;E<D[w].length-O;E++){if(_(D[w][E],L,mt,$,K)===!1)return!1;L++}wt==="MultiLineString"&&$++,wt==="Polygon"&&K++}wt==="Polygon"&&$++;break;case"MultiPolygon":for(w=0;w<D.length;w++){for(K=0,E=0;E<D[w].length;E++){for(b=0;b<D[w][E].length-O;b++){if(_(D[w][E][b],L,mt,$,K)===!1)return!1;L++}K++}$++}break;case"GeometryCollection":for(w=0;w<I.geometries.length;w++)if(e(I.geometries[w],_,m)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function t(y,_,m,w){var E=m;return e(y,function(b,I,T,D,x){I===0&&m===void 0?E=b:E=_(E,b,I,T,D,x)},w),E}function n(y,_){var m;switch(y.type){case"FeatureCollection":for(m=0;m<y.features.length&&_(y.features[m].properties,m)!==!1;m++);break;case"Feature":_(y.properties,0);break}}function i(y,_,m){var w=m;return n(y,function(E,b){b===0&&m===void 0?w=E:w=_(w,E,b)}),w}function s(y,_){if(y.type==="Feature")_(y,0);else if(y.type==="FeatureCollection")for(var m=0;m<y.features.length&&_(y.features[m],m)!==!1;m++);}function o(y,_,m){var w=m;return s(y,function(E,b){b===0&&m===void 0?w=E:w=_(w,E,b)}),w}function a(y){var _=[];return e(y,function(m){_.push(m)}),_}function u(y,_){var m,w,E,b,I,T,D,x,O,L,A=0,J=y.type==="FeatureCollection",H=y.type==="Feature",Z=J?y.features.length:1;for(m=0;m<Z;m++){for(T=J?y.features[m].geometry:H?y.geometry:y,x=J?y.features[m].properties:H?y.properties:{},O=J?y.features[m].bbox:H?y.bbox:void 0,L=J?y.features[m].id:H?y.id:void 0,D=T?T.type==="GeometryCollection":!1,I=D?T.geometries.length:1,E=0;E<I;E++){if(b=D?T.geometries[E]:T,b===null){if(_(null,A,x,O,L)===!1)return!1;continue}switch(b.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(_(b,A,x,O,L)===!1)return!1;break}case"GeometryCollection":{for(w=0;w<b.geometries.length;w++)if(_(b.geometries[w],A,x,O,L)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}A++}}function l(y,_,m){var w=m;return u(y,function(E,b,I,T,D){b===0&&m===void 0?w=E:w=_(w,E,b,I,T,D)}),w}function c(y,_){u(y,function(m,w,E,b,I){var T=m===null?null:m.type;switch(T){case null:case"Point":case"LineString":case"Polygon":return _(r.feature(m,E,{bbox:b,id:I}),w,0)===!1?!1:void 0}var D;switch(T){case"MultiPoint":D="Point";break;case"MultiLineString":D="LineString";break;case"MultiPolygon":D="Polygon";break}for(var x=0;x<m.coordinates.length;x++){var O=m.coordinates[x],L={type:D,coordinates:O};if(_(r.feature(L,E),w,x)===!1)return!1}})}function h(y,_,m){var w=m;return c(y,function(E,b,I){b===0&&I===0&&m===void 0?w=E:w=_(w,E,b,I)}),w}function f(y,_){c(y,function(m,w,E){var b=0;if(m.geometry){var I=m.geometry.type;if(!(I==="Point"||I==="MultiPoint")){var T,D=0,x=0,O=0;if(e(m,function(L,A,J,H,Z){if(T===void 0||w>D||H>x||Z>O){T=L,D=w,x=H,O=Z,b=0;return}var ct=r.lineString([T,L],m.properties);if(_(ct,w,E,Z,b)===!1)return!1;b++,T=L})===!1)return!1}}})}function p(y,_,m){var w=m,E=!1;return f(y,function(b,I,T,D,x){E===!1&&m===void 0?w=b:w=_(w,b,I,T,D,x),E=!0}),w}function v(y,_){if(!y)throw new Error("geojson is required");c(y,function(m,w,E){if(m.geometry!==null){var b=m.geometry.type,I=m.geometry.coordinates;switch(b){case"LineString":if(_(m,w,E,0,0)===!1)return!1;break;case"Polygon":for(var T=0;T<I.length;T++)if(_(r.lineString(I[T],m.properties),w,E,T)===!1)return!1;break}}})}function C(y,_,m){var w=m;return v(y,function(E,b,I,T){b===0&&m===void 0?w=E:w=_(w,E,b,I,T)}),w}function S(y,_){if(_=_||{},!r.isObject(_))throw new Error("options is invalid");var m=_.featureIndex||0,w=_.multiFeatureIndex||0,E=_.geometryIndex||0,b=_.segmentIndex||0,I=_.properties,T;switch(y.type){case"FeatureCollection":m<0&&(m=y.features.length+m),I=I||y.features[m].properties,T=y.features[m].geometry;break;case"Feature":I=I||y.properties,T=y.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":T=y;break;default:throw new Error("geojson is invalid")}if(T===null)return null;var D=T.coordinates;switch(T.type){case"Point":case"MultiPoint":return null;case"LineString":return b<0&&(b=D.length+b-1),r.lineString([D[b],D[b+1]],I,_);case"Polygon":return E<0&&(E=D.length+E),b<0&&(b=D[E].length+b-1),r.lineString([D[E][b],D[E][b+1]],I,_);case"MultiLineString":return w<0&&(w=D.length+w),b<0&&(b=D[w].length+b-1),r.lineString([D[w][b],D[w][b+1]],I,_);case"MultiPolygon":return w<0&&(w=D.length+w),E<0&&(E=D[w].length+E),b<0&&(b=D[w][E].length-b-1),r.lineString([D[w][E][b],D[w][E][b+1]],I,_)}throw new Error("geojson is invalid")}function P(y,_){if(_=_||{},!r.isObject(_))throw new Error("options is invalid");var m=_.featureIndex||0,w=_.multiFeatureIndex||0,E=_.geometryIndex||0,b=_.coordIndex||0,I=_.properties,T;switch(y.type){case"FeatureCollection":m<0&&(m=y.features.length+m),I=I||y.features[m].properties,T=y.features[m].geometry;break;case"Feature":I=I||y.properties,T=y.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":T=y;break;default:throw new Error("geojson is invalid")}if(T===null)return null;var D=T.coordinates;switch(T.type){case"Point":return r.point(D,I,_);case"MultiPoint":return w<0&&(w=D.length+w),r.point(D[w],I,_);case"LineString":return b<0&&(b=D.length+b),r.point(D[b],I,_);case"Polygon":return E<0&&(E=D.length+E),b<0&&(b=D[E].length+b),r.point(D[E][b],I,_);case"MultiLineString":return w<0&&(w=D.length+w),b<0&&(b=D[w].length+b),r.point(D[w][b],I,_);case"MultiPolygon":return w<0&&(w=D.length+w),E<0&&(E=D[w].length+E),b<0&&(b=D[w][E].length-b),r.point(D[w][E][b],I,_)}throw new Error("geojson is invalid")}return Ie.coordAll=a,Ie.coordEach=e,Ie.coordReduce=t,Ie.featureEach=s,Ie.featureReduce=o,Ie.findPoint=P,Ie.findSegment=S,Ie.flattenEach=c,Ie.flattenReduce=h,Ie.geomEach=u,Ie.geomReduce=l,Ie.lineEach=v,Ie.lineReduce=C,Ie.propEach=n,Ie.propReduce=i,Ie.segmentEach=f,Ie.segmentReduce=p,Ie}var Zl={},lm;function Qw(){if(lm)return Zl;lm=1,Object.defineProperty(Zl,"__esModule",{value:!0});var r=um();function e(t){var n=[1/0,1/0,-1/0,-1/0];return r.coordEach(t,function(i){n[0]>i[0]&&(n[0]=i[0]),n[1]>i[1]&&(n[1]=i[1]),n[2]<i[0]&&(n[2]=i[0]),n[3]<i[1]&&(n[3]=i[1])}),n}return e.default=e,Zl.default=e,Zl}var cm;function tE(){if(cm)return Kl.exports;cm=1;var r=Jg(),e=om(),t=um(),n=Qw().default,i=t.featureEach;t.coordEach,e.polygon;var s=e.featureCollection;function o(a){var u=new r(a);return u.insert=function(l){if(l.type!=="Feature")throw new Error("invalid feature");return l.bbox=l.bbox?l.bbox:n(l),r.prototype.insert.call(this,l)},u.load=function(l){var c=[];return Array.isArray(l)?l.forEach(function(h){if(h.type!=="Feature")throw new Error("invalid features");h.bbox=h.bbox?h.bbox:n(h),c.push(h)}):i(l,function(h){if(h.type!=="Feature")throw new Error("invalid features");h.bbox=h.bbox?h.bbox:n(h),c.push(h)}),r.prototype.load.call(this,c)},u.remove=function(l,c){if(l.type!=="Feature")throw new Error("invalid feature");return l.bbox=l.bbox?l.bbox:n(l),r.prototype.remove.call(this,l,c)},u.clear=function(){return r.prototype.clear.call(this)},u.search=function(l){var c=r.prototype.search.call(this,this.toBBox(l));return s(c)},u.collides=function(l){return r.prototype.collides.call(this,this.toBBox(l))},u.all=function(){var l=r.prototype.all.call(this);return s(l)},u.toJSON=function(){return r.prototype.toJSON.call(this)},u.fromJSON=function(l){return r.prototype.fromJSON.call(this,l)},u.toBBox=function(l){var c;if(l.bbox)c=l.bbox;else if(Array.isArray(l)&&l.length===4)c=l;else if(Array.isArray(l)&&l.length===6)c=[l[0],l[1],l[3],l[4]];else if(l.type==="Feature")c=n(l);else if(l.type==="FeatureCollection")c=n(l);else throw new Error("invalid geojson");return{minX:c[0],minY:c[1],maxX:c[2],maxY:c[3]}},u}return Kl.exports=o,Kl.exports.default=o,Kl.exports}var eE=tE();const nE=Fh(eE);function hm(r,e){var t={},n=[];if(r.type==="LineString"&&(r=Ar(r)),e.type==="LineString"&&(e=Ar(e)),r.type==="Feature"&&e.type==="Feature"&&r.geometry!==null&&e.geometry!==null&&r.geometry.type==="LineString"&&e.geometry.type==="LineString"&&r.geometry.coordinates.length===2&&e.geometry.coordinates.length===2){var i=dm(r,e);return i&&n.push(i),ra(n)}var s=nE();return s.load(im(e)),ql(im(r),function(o){ql(s.search(o),function(a){var u=dm(o,a);if(u){var l=no(u).join(",");t[l]||(t[l]=!0,n.push(u))}})}),ra(n)}function dm(r,e){var t=no(r),n=no(e);if(t.length!==2)throw new Error("<intersects> line1 must only contain 2 coordinates");if(n.length!==2)throw new Error("<intersects> line2 must only contain 2 coordinates");var i=t[0][0],s=t[0][1],o=t[1][0],a=t[1][1],u=n[0][0],l=n[0][1],c=n[1][0],h=n[1][1],f=(h-l)*(o-i)-(c-u)*(a-s),p=(c-u)*(s-l)-(h-l)*(i-u),v=(o-i)*(s-l)-(a-s)*(i-u);if(f===0)return null;var C=p/f,S=v/f;if(C>=0&&C<=1&&S>=0&&S<=1){var P=i+C*(o-i),y=s+C*(a-s);return Yt([P,y])}return null}function rE(r,e){return hm(kr(r),kr(e))}function iE(r,e){var t=Wi(r,e),n=Lu(r,e),i=ia(r,t/2,n);return i}function sE(r,e){const t=Yt(r),n=Yt(e),i=iE(t,n),s=(r[2]+e[2])/2;return[...i.geometry.coordinates,s]}function oE(r,e,t){t===void 0&&(t={});var n=Yt([1/0,1/0],{dist:1/0}),i=0;return Jh(r,function(s){for(var o=no(s),a=0;a<o.length-1;a++){var u=Yt(o[a]);u.properties.dist=Wi(e,u,t);var l=Yt(o[a+1]);l.properties.dist=Wi(e,l,t);var c=Wi(u,l,t),h=Math.max(u.properties.dist,l.properties.dist),f=Lu(u,l),p=ia(e,h,f+90,t),v=ia(e,h,f-90,t),C=hm(kr([p.geometry.coordinates,v.geometry.coordinates]),kr([u.geometry.coordinates,l.geometry.coordinates])),S=null;C.features.length>0&&(S=C.features[0],S.properties.dist=Wi(e,S,t),S.properties.location=i+Wi(u,S,t)),u.properties.dist<n.properties.dist&&(n=u,n.properties.index=a,n.properties.location=i),l.properties.dist<n.properties.dist&&(n=l,n.properties.index=a+1,n.properties.location=i+c),S&&S.properties.dist<n.properties.dist&&(n=S,n.properties.index=a),i+=c}}),n}function aE(r,e){const t=Yt(e),n=kr(r);return oE(n,t,{units:"meters"})}function fm(r,e,t){t===void 0&&(t={});var n=bn(r),i=bn(e);i[0]+=i[0]-n[0]>180?-360:n[0]-i[0]>180?360:0;var s=uE(n,i),o=Yh(s,"meters",t.units);return o}function uE(r,e,t){t=t===void 0?Ze:Number(t);var n=t,i=r[1]*Math.PI/180,s=e[1]*Math.PI/180,o=s-i,a=Math.abs(e[0]-r[0])*Math.PI/180;a>Math.PI&&(a-=2*Math.PI);var u=Math.log(Math.tan(s/2+Math.PI/4)/Math.tan(i/2+Math.PI/4)),l=Math.abs(u)>1e-11?o/u:Math.cos(i),c=Math.sqrt(o*o+l*l*a*a),h=c*n;return h}function lE(r,e,t){if(t===void 0&&(t={}),t.method||(t.method="geodesic"),t.units||(t.units="kilometers"),!r)throw new Error("pt is required");if(Array.isArray(r)?r=Yt(r):r.type==="Point"?r=Ar(r):Wg(r,"Point","point"),!e)throw new Error("line is required");Array.isArray(e)?e=kr(e):e.type==="LineString"?e=Ar(e):Wg(e,"LineString","line");var n=1/0,i=r.geometry.coordinates;return Rw(e,function(s){var o=s.geometry.coordinates[0],a=s.geometry.coordinates[1],u=cE(i,o,a,t);u<n&&(n=u)}),Yh(n,"degrees",t.units)}function cE(r,e,t,n){var i=[t[0]-e[0],t[1]-e[1]],s=[r[0]-e[0],r[1]-e[1]],o=pm(s,i);if(o<=0)return ed(r,e,{method:n.method,units:"degrees"});var a=pm(i,i);if(a<=o)return ed(r,t,{method:n.method,units:"degrees"});var u=o/a,l=[e[0]+u*i[0],e[1]+u*i[1]];return ed(r,l,{method:n.method,units:"degrees"})}function pm(r,e){return r[0]*e[0]+r[1]*e[1]}function ed(r,e,t){return t.method==="planar"?fm(r,e,t):Wi(r,e,t)}function hE(r,e){const t=Yt(r),n=kr(e);return lE(t,n,{units:"meters"})}function dE(r,e,t,n){n===void 0&&(n={});var i=e<0,s=Yh(Math.abs(e),n.units,"meters");i&&(s=-Math.abs(s));var o=bn(r),a=fE(o,s,t);return a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0,Yt(a,n.properties)}function fE(r,e,t,n){n=n===void 0?Ze:Number(n);var i=e/n,s=r[0]*Math.PI/180,o=ln(r[1]),a=ln(t),u=i*Math.cos(a),l=o+u;Math.abs(l)>Math.PI/2&&(l=l>0?Math.PI-l:-Math.PI-l);var c=Math.log(Math.tan(l/2+Math.PI/4)/Math.tan(o/2+Math.PI/4)),h=Math.abs(c)>1e-11?u/c:Math.cos(o),f=i*Math.sin(a)/h,p=s+f;return[(p*180/Math.PI+540)%360-180,l*180/Math.PI]}function pE(r,e,t,n){const[i,s,o]=r,a=dE(Yt([i,s]),e,t,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return n=n||[0,0,0],n[0]=a.geometry.coordinates[0],n[1]=a.geometry.coordinates[1],n[2]=o,n}function gm(r,e){return fm(Yt(r),Yt(e),{units:"meters"})}function gE(r,e,t){t===void 0&&(t={});var n;t.final?n=mm(bn(e),bn(r)):n=mm(bn(r),bn(e));var i=n>180?-(360-n):n;return i}function mm(r,e){var t=ln(r[1]),n=ln(e[1]),i=ln(e[0]-r[0]);i>Math.PI&&(i-=2*Math.PI),i<-Math.PI&&(i+=2*Math.PI);var s=Math.log(Math.tan(n/2+Math.PI/4)/Math.tan(t/2+Math.PI/4)),o=Math.atan2(i,s);return(Hl(o)+360)%360}function mE(r,e){return gE(Yt(r),Yt(e))}function Vr(r){var e=[1/0,1/0,-1/0,-1/0];return sa(r,function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])}),e}Vr.default=Vr;function Br(r,e,t){if(t===void 0&&(t={}),!r)throw new Error("point is required");if(!e)throw new Error("polygon is required");var n=bn(r),i=qn(e),s=i.type,o=e.bbox,a=i.coordinates;if(o&&vE(n,o)===!1)return!1;s==="Polygon"&&(a=[a]);for(var u=!1,l=0;l<a.length&&!u;l++)if(vm(n,a[l][0],t.ignoreBoundary)){for(var c=!1,h=1;h<a[l].length&&!c;)vm(n,a[l][h],!t.ignoreBoundary)&&(c=!0),h++;c||(u=!0)}return u}function vm(r,e,t){var n=!1;e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]&&(e=e.slice(0,e.length-1));for(var i=0,s=e.length-1;i<e.length;s=i++){var o=e[i][0],a=e[i][1],u=e[s][0],l=e[s][1],c=r[1]*(o-u)+a*(u-r[0])+l*(r[0]-o)===0&&(o-r[0])*(u-r[0])<=0&&(a-r[1])*(l-r[1])<=0;if(c)return!t;var h=a>r[1]!=l>r[1]&&r[0]<(u-o)*(r[1]-a)/(l-a)+o;h&&(n=!n)}return n}function vE(r,e){return e[0]<=r[0]&&e[1]<=r[1]&&e[2]>=r[0]&&e[3]>=r[1]}function Hi(r,e,t){t===void 0&&(t={});for(var n=bn(r),i=no(e),s=0;s<i.length-1;s++){var o=!1;if(t.ignoreEndVertices&&(s===0&&(o="start"),s===i.length-2&&(o="end"),s===0&&s+1===i.length-1&&(o="both")),yE(i[s],i[s+1],n,o,typeof t.epsilon>"u"?null:t.epsilon))return!0}return!1}function yE(r,e,t,n,i){var s=t[0],o=t[1],a=r[0],u=r[1],l=e[0],c=e[1],h=t[0]-a,f=t[1]-u,p=l-a,v=c-u,C=h*v-f*p;if(i!==null){if(Math.abs(C)>i)return!1}else if(C!==0)return!1;if(n){if(n==="start")return Math.abs(p)>=Math.abs(v)?p>0?a<s&&s<=l:l<=s&&s<a:v>0?u<o&&o<=c:c<=o&&o<u;if(n==="end")return Math.abs(p)>=Math.abs(v)?p>0?a<=s&&s<l:l<s&&s<=a:v>0?u<=o&&o<c:c<o&&o<=u;if(n==="both")return Math.abs(p)>=Math.abs(v)?p>0?a<s&&s<l:l<s&&s<a:v>0?u<o&&o<c:c<o&&o<u}else return Math.abs(p)>=Math.abs(v)?p>0?a<=s&&s<=l:l<=s&&s<=a:v>0?u<=o&&o<=c:c<=o&&o<=u;return!1}function _E(r,e){var t=qn(r),n=qn(e),i=t.type,s=n.type,o=t.coordinates,a=n.coordinates;switch(i){case"Point":switch(s){case"Point":return nd(o,a);default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"Point":return wE(t,n);case"MultiPoint":return EE(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"Point":return Hi(n,t,{ignoreEndVertices:!0});case"LineString":return bE(t,n);case"MultiPoint":return CE(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Point":return Br(n,t,{ignoreBoundary:!0});case"LineString":return PE(t,n);case"Polygon":return IE(t,n);case"MultiPoint":return SE(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function wE(r,e){var t,n=!1;for(t=0;t<r.coordinates.length;t++)if(nd(r.coordinates[t],e.coordinates)){n=!0;break}return n}function EE(r,e){for(var t=0,n=e.coordinates;t<n.length;t++){for(var i=n[t],s=!1,o=0,a=r.coordinates;o<a.length;o++){var u=a[o];if(nd(i,u)){s=!0;break}}if(!s)return!1}return!0}function CE(r,e){for(var t=!1,n=0,i=e.coordinates;n<i.length;n++){var s=i[n];if(Hi(s,r,{ignoreEndVertices:!0})&&(t=!0),!Hi(s,r))return!1}return!!t}function SE(r,e){for(var t=0,n=e.coordinates;t<n.length;t++){var i=n[t];if(!Br(i,r,{ignoreBoundary:!0}))return!1}return!0}function bE(r,e){for(var t=!1,n=0,i=e.coordinates;n<i.length;n++){var s=i[n];if(Hi({type:"Point",coordinates:s},r,{ignoreEndVertices:!0})&&(t=!0),!Hi({type:"Point",coordinates:s},r,{ignoreEndVertices:!1}))return!1}return t}function PE(r,e){var t=!1,n=0,i=Vr(r),s=Vr(e);if(!ym(i,s))return!1;for(n;n<e.coordinates.length-1;n++){var o=xE(e.coordinates[n],e.coordinates[n+1]);if(Br({type:"Point",coordinates:o},r,{ignoreBoundary:!0})){t=!0;break}}return t}function IE(r,e){if(r.type==="Feature"&&r.geometry===null||e.type==="Feature"&&e.geometry===null)return!1;var t=Vr(r),n=Vr(e);if(!ym(t,n))return!1;for(var i=qn(e).coordinates,s=0,o=i;s<o.length;s++)for(var a=o[s],u=0,l=a;u<l.length;u++){var c=l[u];if(!Br(c,r))return!1}return!0}function ym(r,e){return!(r[0]>e[0]||r[2]<e[2]||r[1]>e[1]||r[3]<e[3])}function nd(r,e){return r[0]===e[0]&&r[1]===e[1]}function xE(r,e){return[(r[0]+e[0])/2,(r[1]+e[1])/2]}function TE(r,e){var t=qn(r),n=qn(e),i=t.type,s=n.type;switch(i){case"Point":switch(s){case"MultiPoint":return NE(t,n);case"LineString":return Hi(t,n,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return Br(t,n,{ignoreBoundary:!0});default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"MultiPoint":return OE(t,n);case"LineString":return DE(t,n);case"Polygon":case"MultiPolygon":return ME(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"LineString":return RE(t,n);case"Polygon":case"MultiPolygon":return LE(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Polygon":case"MultiPolygon":return FE(t,n);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function NE(r,e){var t,n=!1;for(t=0;t<e.coordinates.length;t++)if(wm(e.coordinates[t],r.coordinates)){n=!0;break}return n}function OE(r,e){for(var t=0;t<r.coordinates.length;t++){for(var n=!1,i=0;i<e.coordinates.length;i++)wm(r.coordinates[t],e.coordinates[i])&&(n=!0);if(!n)return!1}return!0}function DE(r,e){for(var t=!1,n=0;n<r.coordinates.length;n++){if(!Hi(r.coordinates[n],e))return!1;t||(t=Hi(r.coordinates[n],e,{ignoreEndVertices:!0}))}return t}function ME(r,e){for(var t=!0,n=!1,i=0;i<r.coordinates.length;i++){if(n=Br(r.coordinates[1],e),!n){t=!1;break}n=Br(r.coordinates[1],e,{ignoreBoundary:!0})}return t&&n}function RE(r,e){for(var t=0;t<r.coordinates.length;t++)if(!Hi(r.coordinates[t],e))return!1;return!0}function LE(r,e){var t=Vr(e),n=Vr(r);if(!_m(t,n))return!1;for(var i=!1,s=0;s<r.coordinates.length-1;s++){if(!Br(r.coordinates[s],e))return!1;if(i||(i=Br(r.coordinates[s],e,{ignoreBoundary:!0})),!i){var o=AE(r.coordinates[s],r.coordinates[s+1]);i=Br(o,e,{ignoreBoundary:!0})}}return i}function FE(r,e){var t=Vr(r),n=Vr(e);if(!_m(n,t))return!1;for(var i=0;i<r.coordinates[0].length;i++)if(!Br(r.coordinates[0][i],e))return!1;return!0}function _m(r,e){return!(r[0]>e[0]||r[2]<e[2]||r[1]>e[1]||r[3]<e[3])}function wm(r,e){return r[0]===e[0]&&r[1]===e[1]}function AE(r,e){return[(r[0]+e[0])/2,(r[1]+e[1])/2]}function kE(r,e){e===void 0&&(e={});var t=Vr(r),n=(t[0]+t[2])/2,i=(t[1]+t[3])/2;return Yt([n,i],e.properties,e)}"fill"in Array.prototype||Object.defineProperty(Array.prototype,"fill",{configurable:!0,value:function(e){if(this===void 0||this===null)throw new TypeError(this+" is not an object");var t=Object(this),n=Math.max(Math.min(t.length,9007199254740991),0)||0,i=1 in arguments&&parseInt(Number(arguments[1]),10)||0;i=i<0?Math.max(n+i,0):Math.min(i,n);var s=2 in arguments&&arguments[2]!==void 0?parseInt(Number(arguments[2]),10)||0:n;for(s=s<0?Math.max(n+arguments[2],0):Math.min(s,n);i<s;)t[i]=e,++i;return t},writable:!0}),Number.isFinite=Number.isFinite||function(r){return typeof r=="number"&&isFinite(r)},Number.isInteger=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r},Number.parseFloat=Number.parseFloat||parseFloat,Number.isNaN=Number.isNaN||function(r){return r!==r},Math.trunc=Math.trunc||function(r){return r<0?Math.ceil(r):Math.floor(r)};var ro=function(){};ro.prototype.interfaces_=function(){return[]},ro.prototype.getClass=function(){return ro},ro.prototype.equalsWithTolerance=function(e,t,n){return Math.abs(e-t)<=n};var Xt=function(r){function e(t){r.call(this,t),this.name="IllegalArgumentException",this.message=t,this.stack=new r().stack}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e}(Error),ht=function(){},Em={MAX_VALUE:{configurable:!0}};ht.isNaN=function(e){return Number.isNaN(e)},ht.doubleToLongBits=function(e){return e},ht.longBitsToDouble=function(e){return e},ht.isInfinite=function(e){return!Number.isFinite(e)},Em.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(ht,Em);var Ln=function(){},Ql=function(){},oa=function(){};function Fn(){}var R=function r(){if(this.x=null,this.y=null,this.z=null,arguments.length===0)this.x=0,this.y=0,this.z=r.NULL_ORDINATE;else if(arguments.length===1){var e=arguments[0];this.x=e.x,this.y=e.y,this.z=e.z}else arguments.length===2?(this.x=arguments[0],this.y=arguments[1],this.z=r.NULL_ORDINATE):arguments.length===3&&(this.x=arguments[0],this.y=arguments[1],this.z=arguments[2])},io={DimensionalComparator:{configurable:!0},serialVersionUID:{configurable:!0},NULL_ORDINATE:{configurable:!0},X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0}};R.prototype.setOrdinate=function(e,t){switch(e){case R.X:this.x=t;break;case R.Y:this.y=t;break;case R.Z:this.z=t;break;default:throw new Xt("Invalid ordinate index: "+e)}},R.prototype.equals2D=function(){if(arguments.length===1){var e=arguments[0];return!(this.x!==e.x||this.y!==e.y)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];return!(!ro.equalsWithTolerance(this.x,t.x,n)||!ro.equalsWithTolerance(this.y,t.y,n))}},R.prototype.getOrdinate=function(e){switch(e){case R.X:return this.x;case R.Y:return this.y;case R.Z:return this.z}throw new Xt("Invalid ordinate index: "+e)},R.prototype.equals3D=function(e){return this.x===e.x&&this.y===e.y&&(this.z===e.z||ht.isNaN(this.z))&&ht.isNaN(e.z)},R.prototype.equals=function(e){return e instanceof R?this.equals2D(e):!1},R.prototype.equalInZ=function(e,t){return ro.equalsWithTolerance(this.z,e.z,t)},R.prototype.compareTo=function(e){var t=e;return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0},R.prototype.clone=function(){},R.prototype.copy=function(){return new R(this)},R.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},R.prototype.distance3D=function(e){var t=this.x-e.x,n=this.y-e.y,i=this.z-e.z;return Math.sqrt(t*t+n*n+i*i)},R.prototype.distance=function(e){var t=this.x-e.x,n=this.y-e.y;return Math.sqrt(t*t+n*n)},R.prototype.hashCode=function(){var e=17;return e=37*e+R.hashCode(this.x),e=37*e+R.hashCode(this.y),e},R.prototype.setCoordinate=function(e){this.x=e.x,this.y=e.y,this.z=e.z},R.prototype.interfaces_=function(){return[Ln,Ql,Fn]},R.prototype.getClass=function(){return R},R.hashCode=function(){if(arguments.length===1){var e=arguments[0],t=ht.doubleToLongBits(e);return Math.trunc((t^t)>>>32)}},io.DimensionalComparator.get=function(){return qi},io.serialVersionUID.get=function(){return 6683108902428367e3},io.NULL_ORDINATE.get=function(){return ht.NaN},io.X.get=function(){return 0},io.Y.get=function(){return 1},io.Z.get=function(){return 2},Object.defineProperties(R,io);var qi=function(e){if(this._dimensionsToTest=2,arguments.length!==0){if(arguments.length===1){var t=arguments[0];if(t!==2&&t!==3)throw new Xt("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}}};qi.prototype.compare=function(e,t){var n=e,i=t,s=qi.compare(n.x,i.x);if(s!==0)return s;var o=qi.compare(n.y,i.y);if(o!==0)return o;if(this._dimensionsToTest<=2)return 0;var a=qi.compare(n.z,i.z);return a},qi.prototype.interfaces_=function(){return[oa]},qi.prototype.getClass=function(){return qi},qi.compare=function(e,t){return e<t?-1:e>t?1:ht.isNaN(e)?ht.isNaN(t)?0:-1:ht.isNaN(t)?1:0};var aa=function(){};aa.prototype.create=function(){},aa.prototype.interfaces_=function(){return[]},aa.prototype.getClass=function(){return aa};var F=function(){},Vu={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};F.prototype.interfaces_=function(){return[]},F.prototype.getClass=function(){return F},F.toLocationSymbol=function(e){switch(e){case F.EXTERIOR:return"e";case F.BOUNDARY:return"b";case F.INTERIOR:return"i";case F.NONE:return"-"}throw new Xt("Unknown location value: "+e)},Vu.INTERIOR.get=function(){return 0},Vu.BOUNDARY.get=function(){return 1},Vu.EXTERIOR.get=function(){return 2},Vu.NONE.get=function(){return-1},Object.defineProperties(F,Vu);var at=function(r,e){return r.interfaces_&&r.interfaces_().indexOf(e)>-1},Pn=function(){},Cm={LOG_10:{configurable:!0}};Pn.prototype.interfaces_=function(){return[]},Pn.prototype.getClass=function(){return Pn},Pn.log10=function(e){var t=Math.log(e);return ht.isInfinite(t)||ht.isNaN(t)?t:t/Pn.LOG_10},Pn.min=function(e,t,n,i){var s=e;return t<s&&(s=t),n<s&&(s=n),i<s&&(s=i),s},Pn.clamp=function(){if(typeof arguments[2]=="number"&&typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1],n=arguments[2];return e<t?t:e>n?n:e}else if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var i=arguments[0],s=arguments[1],o=arguments[2];return i<s?s:i>o?o:i}},Pn.wrap=function(e,t){return e<0?t- -e%t:e%t},Pn.max=function(){if(arguments.length===3){var e=arguments[0],t=arguments[1],n=arguments[2],i=e;return t>i&&(i=t),n>i&&(i=n),i}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],u=arguments[3],l=s;return o>l&&(l=o),a>l&&(l=a),u>l&&(l=u),l}},Pn.average=function(e,t){return(e+t)/2},Cm.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(Pn,Cm);var or=function(e){this.str=e};or.prototype.append=function(e){this.str+=e},or.prototype.setCharAt=function(e,t){this.str=this.str.substr(0,e)+t+this.str.substr(e+1)},or.prototype.toString=function(e){return this.str};var ar=function(e){this.value=e};ar.prototype.intValue=function(){return this.value},ar.prototype.compareTo=function(e){return this.value<e?-1:this.value>e?1:0},ar.isNaN=function(e){return Number.isNaN(e)};var Bu=function(){};Bu.isWhitespace=function(e){return e<=32&&e>=0||e===127},Bu.toUpperCase=function(e){return e.toUpperCase()};var k=function r(){if(this._hi=0,this._lo=0,arguments.length===0)this.init(0);else if(arguments.length===1){if(typeof arguments[0]=="number"){var e=arguments[0];this.init(e)}else if(arguments[0]instanceof r){var t=arguments[0];this.init(t)}else if(typeof arguments[0]=="string"){var n=arguments[0];r.call(this,r.parse(n))}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];this.init(i,s)}},Xn={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};k.prototype.le=function(e){return(this._hi<e._hi||this._hi===e._hi)&&this._lo<=e._lo},k.prototype.extractSignificantDigits=function(e,t){var n=this.abs(),i=k.magnitude(n._hi),s=k.TEN.pow(i);n=n.divide(s),n.gt(k.TEN)?(n=n.divide(k.TEN),i+=1):n.lt(k.ONE)&&(n=n.multiply(k.TEN),i-=1);for(var o=i+1,a=new or,u=k.MAX_PRINT_DIGITS-1,l=0;l<=u;l++){e&&l===o&&a.append(".");var c=Math.trunc(n._hi);if(c<0)break;var h=!1,f=0;c>9?(h=!0,f="9"):f="0"+c,a.append(f),n=n.subtract(k.valueOf(c)).multiply(k.TEN),h&&n.selfAdd(k.TEN);var p=!0,v=k.magnitude(n._hi);if(v<0&&Math.abs(v)>=u-l&&(p=!1),!p)break}return t[0]=i,a.toString()},k.prototype.sqr=function(){return this.multiply(this)},k.prototype.doubleValue=function(){return this._hi+this._lo},k.prototype.subtract=function(){if(arguments[0]instanceof k){var e=arguments[0];return this.add(e.negate())}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.add(-t)}},k.prototype.equals=function(){if(arguments.length===1){var e=arguments[0];return this._hi===e._hi&&this._lo===e._lo}},k.prototype.isZero=function(){return this._hi===0&&this._lo===0},k.prototype.selfSubtract=function(){if(arguments[0]instanceof k){var e=arguments[0];return this.isNaN()?this:this.selfAdd(-e._hi,-e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t,0)}},k.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},k.prototype.min=function(e){return this.le(e)?this:e},k.prototype.selfDivide=function(){if(arguments.length===1){if(arguments[0]instanceof k){var e=arguments[0];return this.selfDivide(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.selfDivide(t,0)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1],s=null,o=null,a=null,u=null,l=null,c=null,h=null,f=null;return l=this._hi/n,c=k.SPLIT*l,s=c-l,f=k.SPLIT*n,s=c-s,o=l-s,a=f-n,h=l*n,a=f-a,u=n-a,f=s*a-h+s*u+o*a+o*u,c=(this._hi-h-f+this._lo-l*i)/n,f=l+c,this._hi=f,this._lo=l-f+c,this}},k.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},k.prototype.divide=function(){if(arguments[0]instanceof k){var e=arguments[0],t=null,n=null,i=null,s=null,o=null,a=null,u=null,l=null;o=this._hi/e._hi,a=k.SPLIT*o,t=a-o,l=k.SPLIT*e._hi,t=a-t,n=o-t,i=l-e._hi,u=o*e._hi,i=l-i,s=e._hi-i,l=t*i-u+t*s+n*i+n*s,a=(this._hi-u-l+this._lo-o*e._lo)/e._hi,l=o+a;var c=l,h=o-l+a;return new k(c,h)}else if(typeof arguments[0]=="number"){var f=arguments[0];return ht.isNaN(f)?k.createNaN():k.copy(this).selfDivide(f,0)}},k.prototype.ge=function(e){return(this._hi>e._hi||this._hi===e._hi)&&this._lo>=e._lo},k.prototype.pow=function(e){if(e===0)return k.valueOf(1);var t=new k(this),n=k.valueOf(1),i=Math.abs(e);if(i>1)for(;i>0;)i%2===1&&n.selfMultiply(t),i/=2,i>0&&(t=t.sqr());else n=t;return e<0?n.reciprocal():n},k.prototype.ceil=function(){if(this.isNaN())return k.NaN;var e=Math.ceil(this._hi),t=0;return e===this._hi&&(t=Math.ceil(this._lo)),new k(e,t)},k.prototype.compareTo=function(e){var t=e;return this._hi<t._hi?-1:this._hi>t._hi?1:this._lo<t._lo?-1:this._lo>t._lo?1:0},k.prototype.rint=function(){if(this.isNaN())return this;var e=this.add(.5);return e.floor()},k.prototype.setValue=function(){if(arguments[0]instanceof k){var e=arguments[0];return this.init(e),this}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.init(t),this}},k.prototype.max=function(e){return this.ge(e)?this:e},k.prototype.sqrt=function(){if(this.isZero())return k.valueOf(0);if(this.isNegative())return k.NaN;var e=1/Math.sqrt(this._hi),t=this._hi*e,n=k.valueOf(t),i=this.subtract(n.sqr()),s=i._hi*(e*.5);return n.add(s)},k.prototype.selfAdd=function(){if(arguments.length===1){if(arguments[0]instanceof k){var e=arguments[0];return this.selfAdd(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0],n=null,i=null,s=null,o=null,a=null,u=null;return s=this._hi+t,a=s-this._hi,o=s-a,o=t-a+(this._hi-o),u=o+this._lo,n=s+u,i=u+(s-n),this._hi=n+i,this._lo=i+(n-this._hi),this}}else if(arguments.length===2){var l=arguments[0],c=arguments[1],h=null,f=null,p=null,v=null,C=null,S=null,P=null,y=null;C=this._hi+l,p=this._lo+c,P=C-this._hi,y=p-this._lo,S=C-P,v=p-y,S=l-P+(this._hi-S),v=c-y+(this._lo-v),P=S+p,h=C+P,f=P+(C-h),P=v+f;var _=h+P,m=P+(h-_);return this._hi=_,this._lo=m,this}},k.prototype.selfMultiply=function(){if(arguments.length===1){if(arguments[0]instanceof k){var e=arguments[0];return this.selfMultiply(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.selfMultiply(t,0)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1],s=null,o=null,a=null,u=null,l=null,c=null;l=k.SPLIT*this._hi,s=l-this._hi,c=k.SPLIT*n,s=l-s,o=this._hi-s,a=c-n,l=this._hi*n,a=c-a,u=n-a,c=s*a-l+s*u+o*a+o*u+(this._hi*i+this._lo*n);var h=l+c;s=l-h;var f=c+s;return this._hi=h,this._lo=f,this}},k.prototype.selfSqr=function(){return this.selfMultiply(this)},k.prototype.floor=function(){if(this.isNaN())return k.NaN;var e=Math.floor(this._hi),t=0;return e===this._hi&&(t=Math.floor(this._lo)),new k(e,t)},k.prototype.negate=function(){return this.isNaN()?this:new k(-this._hi,-this._lo)},k.prototype.clone=function(){},k.prototype.multiply=function(){if(arguments[0]instanceof k){var e=arguments[0];return e.isNaN()?k.createNaN():k.copy(this).selfMultiply(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return ht.isNaN(t)?k.createNaN():k.copy(this).selfMultiply(t,0)}},k.prototype.isNaN=function(){return ht.isNaN(this._hi)},k.prototype.intValue=function(){return Math.trunc(this._hi)},k.prototype.toString=function(){var e=k.magnitude(this._hi);return e>=-3&&e<=20?this.toStandardNotation():this.toSciNotation()},k.prototype.toStandardNotation=function(){var e=this.getSpecialNumberString();if(e!==null)return e;var t=new Array(1).fill(null),n=this.extractSignificantDigits(!0,t),i=t[0]+1,s=n;if(n.charAt(0)===".")s="0"+n;else if(i<0)s="0."+k.stringOfChar("0",-i)+n;else if(n.indexOf(".")===-1){var o=i-n.length,a=k.stringOfChar("0",o);s=n+a+".0"}return this.isNegative()?"-"+s:s},k.prototype.reciprocal=function(){var e=null,t=null,n=null,i=null,s=null,o=null,a=null,u=null;s=1/this._hi,o=k.SPLIT*s,e=o-s,u=k.SPLIT*this._hi,e=o-e,t=s-e,n=u-this._hi,a=s*this._hi,n=u-n,i=this._hi-n,u=e*n-a+e*i+t*n+t*i,o=(1-a-u-s*this._lo)/this._hi;var l=s+o,c=s-l+o;return new k(l,c)},k.prototype.toSciNotation=function(){if(this.isZero())return k.SCI_NOT_ZERO;var e=this.getSpecialNumberString();if(e!==null)return e;var t=new Array(1).fill(null),n=this.extractSignificantDigits(!1,t),i=k.SCI_NOT_EXPONENT_CHAR+t[0];if(n.charAt(0)==="0")throw new Error("Found leading zero: "+n);var s="";n.length>1&&(s=n.substring(1));var o=n.charAt(0)+"."+s;return this.isNegative()?"-"+o+i:o+i},k.prototype.abs=function(){return this.isNaN()?k.NaN:this.isNegative()?this.negate():new k(this)},k.prototype.isPositive=function(){return(this._hi>0||this._hi===0)&&this._lo>0},k.prototype.lt=function(e){return(this._hi<e._hi||this._hi===e._hi)&&this._lo<e._lo},k.prototype.add=function(){if(arguments[0]instanceof k){var e=arguments[0];return k.copy(this).selfAdd(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return k.copy(this).selfAdd(t)}},k.prototype.init=function(){if(arguments.length===1){if(typeof arguments[0]=="number"){var e=arguments[0];this._hi=e,this._lo=0}else if(arguments[0]instanceof k){var t=arguments[0];this._hi=t._hi,this._lo=t._lo}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this._hi=n,this._lo=i}},k.prototype.gt=function(e){return(this._hi>e._hi||this._hi===e._hi)&&this._lo>e._lo},k.prototype.isNegative=function(){return(this._hi<0||this._hi===0)&&this._lo<0},k.prototype.trunc=function(){return this.isNaN()?k.NaN:this.isPositive()?this.floor():this.ceil()},k.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},k.prototype.interfaces_=function(){return[Fn,Ln,Ql]},k.prototype.getClass=function(){return k},k.sqr=function(e){return k.valueOf(e).selfMultiply(e)},k.valueOf=function(){if(typeof arguments[0]=="string"){var e=arguments[0];return k.parse(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return new k(t)}},k.sqrt=function(e){return k.valueOf(e).sqrt()},k.parse=function(e){for(var t=0,n=e.length;Bu.isWhitespace(e.charAt(t));)t++;var i=!1;if(t<n){var s=e.charAt(t);(s==="-"||s==="+")&&(t++,s==="-"&&(i=!0))}for(var o=new k,a=0,u=0,l=0;!(t>=n);){var c=e.charAt(t);if(t++,Bu.isDigit(c)){var h=c-"0";o.selfMultiply(k.TEN),o.selfAdd(h),a++;continue}if(c==="."){u=a;continue}if(c==="e"||c==="E"){var f=e.substring(t);try{l=ar.parseInt(f)}catch(P){throw P instanceof Error?new Error("Invalid exponent "+f+" in string "+e):P}finally{}break}throw new Error("Unexpected character '"+c+"' at position "+t+" in string "+e)}var p=o,v=a-u-l;if(v===0)p=o;else if(v>0){var C=k.TEN.pow(v);p=o.divide(C)}else if(v<0){var S=k.TEN.pow(-v);p=o.multiply(S)}return i?p.negate():p},k.createNaN=function(){return new k(ht.NaN,ht.NaN)},k.copy=function(e){return new k(e)},k.magnitude=function(e){var t=Math.abs(e),n=Math.log(t)/Math.log(10),i=Math.trunc(Math.floor(n)),s=Math.pow(10,i);return s*10<=t&&(i+=1),i},k.stringOfChar=function(e,t){for(var n=new or,i=0;i<t;i++)n.append(e);return n.toString()},Xn.PI.get=function(){return new k(3.141592653589793,12246467991473532e-32)},Xn.TWO_PI.get=function(){return new k(6.283185307179586,24492935982947064e-32)},Xn.PI_2.get=function(){return new k(1.5707963267948966,6123233995736766e-32)},Xn.E.get=function(){return new k(2.718281828459045,14456468917292502e-32)},Xn.NaN.get=function(){return new k(ht.NaN,ht.NaN)},Xn.EPS.get=function(){return 123259516440783e-46},Xn.SPLIT.get=function(){return 134217729},Xn.MAX_PRINT_DIGITS.get=function(){return 32},Xn.TEN.get=function(){return k.valueOf(10)},Xn.ONE.get=function(){return k.valueOf(1)},Xn.SCI_NOT_EXPONENT_CHAR.get=function(){return"E"},Xn.SCI_NOT_ZERO.get=function(){return"0.0E0"},Object.defineProperties(k,Xn);var Qe=function(){},Sm={DP_SAFE_EPSILON:{configurable:!0}};Qe.prototype.interfaces_=function(){return[]},Qe.prototype.getClass=function(){return Qe},Qe.orientationIndex=function(e,t,n){var i=Qe.orientationIndexFilter(e,t,n);if(i<=1)return i;var s=k.valueOf(t.x).selfAdd(-e.x),o=k.valueOf(t.y).selfAdd(-e.y),a=k.valueOf(n.x).selfAdd(-t.x),u=k.valueOf(n.y).selfAdd(-t.y);return s.selfMultiply(u).selfSubtract(o.selfMultiply(a)).signum()},Qe.signOfDet2x2=function(e,t,n,i){var s=e.multiply(i).selfSubtract(t.multiply(n));return s.signum()},Qe.intersection=function(e,t,n,i){var s=k.valueOf(i.y).selfSubtract(n.y).selfMultiply(k.valueOf(t.x).selfSubtract(e.x)),o=k.valueOf(i.x).selfSubtract(n.x).selfMultiply(k.valueOf(t.y).selfSubtract(e.y)),a=s.subtract(o),u=k.valueOf(i.x).selfSubtract(n.x).selfMultiply(k.valueOf(e.y).selfSubtract(n.y)),l=k.valueOf(i.y).selfSubtract(n.y).selfMultiply(k.valueOf(e.x).selfSubtract(n.x)),c=u.subtract(l),h=c.selfDivide(a).doubleValue(),f=k.valueOf(e.x).selfAdd(k.valueOf(t.x).selfSubtract(e.x).selfMultiply(h)).doubleValue(),p=k.valueOf(t.x).selfSubtract(e.x).selfMultiply(k.valueOf(e.y).selfSubtract(n.y)),v=k.valueOf(t.y).selfSubtract(e.y).selfMultiply(k.valueOf(e.x).selfSubtract(n.x)),C=p.subtract(v),S=C.selfDivide(a).doubleValue(),P=k.valueOf(n.y).selfAdd(k.valueOf(i.y).selfSubtract(n.y).selfMultiply(S)).doubleValue();return new R(f,P)},Qe.orientationIndexFilter=function(e,t,n){var i=null,s=(e.x-n.x)*(t.y-n.y),o=(e.y-n.y)*(t.x-n.x),a=s-o;if(s>0){if(o<=0)return Qe.signum(a);i=s+o}else if(s<0){if(o>=0)return Qe.signum(a);i=-s-o}else return Qe.signum(a);var u=Qe.DP_SAFE_EPSILON*i;return a>=u||-a>=u?Qe.signum(a):2},Qe.signum=function(e){return e>0?1:e<0?-1:0},Sm.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(Qe,Sm);var Tt=function(){},ju={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};ju.X.get=function(){return 0},ju.Y.get=function(){return 1},ju.Z.get=function(){return 2},ju.M.get=function(){return 3},Tt.prototype.setOrdinate=function(e,t,n){},Tt.prototype.size=function(){},Tt.prototype.getOrdinate=function(e,t){},Tt.prototype.getCoordinate=function(){},Tt.prototype.getCoordinateCopy=function(e){},Tt.prototype.getDimension=function(){},Tt.prototype.getX=function(e){},Tt.prototype.clone=function(){},Tt.prototype.expandEnvelope=function(e){},Tt.prototype.copy=function(){},Tt.prototype.getY=function(e){},Tt.prototype.toCoordinateArray=function(){},Tt.prototype.interfaces_=function(){return[Ql]},Tt.prototype.getClass=function(){return Tt},Object.defineProperties(Tt,ju);var bm=function(){},ua=function(r){function e(){r.call(this,"Projective point not representable on the Cartesian plane.")}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(bm),xe=function(){};xe.arraycopy=function(e,t,n,i,s){for(var o=0,a=t;a<t+s;a++)n[i+o]=e[a],o++},xe.getProperty=function(e){return{"line.separator":`
42
+ `}[e]};var Yn=function r(){if(this.x=null,this.y=null,this.w=null,arguments.length===0)this.x=0,this.y=0,this.w=1;else if(arguments.length===1){var e=arguments[0];this.x=e.x,this.y=e.y,this.w=1}else if(arguments.length===2){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var t=arguments[0],n=arguments[1];this.x=t,this.y=n,this.w=1}else if(arguments[0]instanceof r&&arguments[1]instanceof r){var i=arguments[0],s=arguments[1];this.x=i.y*s.w-s.y*i.w,this.y=s.x*i.w-i.x*s.w,this.w=i.x*s.y-s.x*i.y}else if(arguments[0]instanceof R&&arguments[1]instanceof R){var o=arguments[0],a=arguments[1];this.x=o.y-a.y,this.y=a.x-o.x,this.w=o.x*a.y-a.x*o.y}}else if(arguments.length===3){var u=arguments[0],l=arguments[1],c=arguments[2];this.x=u,this.y=l,this.w=c}else if(arguments.length===4){var h=arguments[0],f=arguments[1],p=arguments[2],v=arguments[3],C=h.y-f.y,S=f.x-h.x,P=h.x*f.y-f.x*h.y,y=p.y-v.y,_=v.x-p.x,m=p.x*v.y-v.x*p.y;this.x=S*m-_*P,this.y=y*P-C*m,this.w=C*_-y*S}};Yn.prototype.getY=function(){var e=this.y/this.w;if(ht.isNaN(e)||ht.isInfinite(e))throw new ua;return e},Yn.prototype.getX=function(){var e=this.x/this.w;if(ht.isNaN(e)||ht.isInfinite(e))throw new ua;return e},Yn.prototype.getCoordinate=function(){var e=new R;return e.x=this.getX(),e.y=this.getY(),e},Yn.prototype.interfaces_=function(){return[]},Yn.prototype.getClass=function(){return Yn},Yn.intersection=function(e,t,n,i){var s=e.y-t.y,o=t.x-e.x,a=e.x*t.y-t.x*e.y,u=n.y-i.y,l=i.x-n.x,c=n.x*i.y-i.x*n.y,h=o*c-l*a,f=u*a-s*c,p=s*l-u*o,v=h/p,C=f/p;if(ht.isNaN(v)||ht.isInfinite(v)||ht.isNaN(C)||ht.isInfinite(C))throw new ua;return new R(v,C)};var Q=function r(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,arguments.length===0)this.init();else if(arguments.length===1){if(arguments[0]instanceof R){var e=arguments[0];this.init(e.x,e.x,e.y,e.y)}else if(arguments[0]instanceof r){var t=arguments[0];this.init(t)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this.init(n.x,i.x,n.y,i.y)}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],u=arguments[3];this.init(s,o,a,u)}},Pm={serialVersionUID:{configurable:!0}};Q.prototype.getArea=function(){return this.getWidth()*this.getHeight()},Q.prototype.equals=function(e){if(!(e instanceof Q))return!1;var t=e;return this.isNull()?t.isNull():this._maxx===t.getMaxX()&&this._maxy===t.getMaxY()&&this._minx===t.getMinX()&&this._miny===t.getMinY()},Q.prototype.intersection=function(e){if(this.isNull()||e.isNull()||!this.intersects(e))return new Q;var t=this._minx>e._minx?this._minx:e._minx,n=this._miny>e._miny?this._miny:e._miny,i=this._maxx<e._maxx?this._maxx:e._maxx,s=this._maxy<e._maxy?this._maxy:e._maxy;return new Q(t,i,n,s)},Q.prototype.isNull=function(){return this._maxx<this._minx},Q.prototype.getMaxX=function(){return this._maxx},Q.prototype.covers=function(){if(arguments.length===1){if(arguments[0]instanceof R){var e=arguments[0];return this.covers(e.x,e.y)}else if(arguments[0]instanceof Q){var t=arguments[0];return this.isNull()||t.isNull()?!1:t.getMinX()>=this._minx&&t.getMaxX()<=this._maxx&&t.getMinY()>=this._miny&&t.getMaxY()<=this._maxy}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];return this.isNull()?!1:n>=this._minx&&n<=this._maxx&&i>=this._miny&&i<=this._maxy}},Q.prototype.intersects=function(){if(arguments.length===1){if(arguments[0]instanceof Q){var e=arguments[0];return this.isNull()||e.isNull()?!1:!(e._minx>this._maxx||e._maxx<this._minx||e._miny>this._maxy||e._maxy<this._miny)}else if(arguments[0]instanceof R){var t=arguments[0];return this.intersects(t.x,t.y)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];return this.isNull()?!1:!(n>this._maxx||n<this._minx||i>this._maxy||i<this._miny)}},Q.prototype.getMinY=function(){return this._miny},Q.prototype.getMinX=function(){return this._minx},Q.prototype.expandToInclude=function(){if(arguments.length===1){if(arguments[0]instanceof R){var e=arguments[0];this.expandToInclude(e.x,e.y)}else if(arguments[0]instanceof Q){var t=arguments[0];if(t.isNull())return null;this.isNull()?(this._minx=t.getMinX(),this._maxx=t.getMaxX(),this._miny=t.getMinY(),this._maxy=t.getMaxY()):(t._minx<this._minx&&(this._minx=t._minx),t._maxx>this._maxx&&(this._maxx=t._maxx),t._miny<this._miny&&(this._miny=t._miny),t._maxy>this._maxy&&(this._maxy=t._maxy))}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this.isNull()?(this._minx=n,this._maxx=n,this._miny=i,this._maxy=i):(n<this._minx&&(this._minx=n),n>this._maxx&&(this._maxx=n),i<this._miny&&(this._miny=i),i>this._maxy&&(this._maxy=i))}},Q.prototype.minExtent=function(){if(this.isNull())return 0;var e=this.getWidth(),t=this.getHeight();return e<t?e:t},Q.prototype.getWidth=function(){return this.isNull()?0:this._maxx-this._minx},Q.prototype.compareTo=function(e){var t=e;return this.isNull()?t.isNull()?0:-1:t.isNull()?1:this._minx<t._minx?-1:this._minx>t._minx?1:this._miny<t._miny?-1:this._miny>t._miny?1:this._maxx<t._maxx?-1:this._maxx>t._maxx?1:this._maxy<t._maxy?-1:this._maxy>t._maxy?1:0},Q.prototype.translate=function(e,t){if(this.isNull())return null;this.init(this.getMinX()+e,this.getMaxX()+e,this.getMinY()+t,this.getMaxY()+t)},Q.prototype.toString=function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"},Q.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},Q.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},Q.prototype.maxExtent=function(){if(this.isNull())return 0;var e=this.getWidth(),t=this.getHeight();return e>t?e:t},Q.prototype.expandBy=function(){if(arguments.length===1){var e=arguments[0];this.expandBy(e,e)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];if(this.isNull())return null;this._minx-=t,this._maxx+=t,this._miny-=n,this._maxy+=n,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}},Q.prototype.contains=function(){if(arguments.length===1){if(arguments[0]instanceof Q){var e=arguments[0];return this.covers(e)}else if(arguments[0]instanceof R){var t=arguments[0];return this.covers(t)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];return this.covers(n,i)}},Q.prototype.centre=function(){return this.isNull()?null:new R((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},Q.prototype.init=function(){if(arguments.length===0)this.setToNull();else if(arguments.length===1){if(arguments[0]instanceof R){var e=arguments[0];this.init(e.x,e.x,e.y,e.y)}else if(arguments[0]instanceof Q){var t=arguments[0];this._minx=t._minx,this._maxx=t._maxx,this._miny=t._miny,this._maxy=t._maxy}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this.init(n.x,i.x,n.y,i.y)}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],u=arguments[3];s<o?(this._minx=s,this._maxx=o):(this._minx=o,this._maxx=s),a<u?(this._miny=a,this._maxy=u):(this._miny=u,this._maxy=a)}},Q.prototype.getMaxY=function(){return this._maxy},Q.prototype.distance=function(e){if(this.intersects(e))return 0;var t=0;this._maxx<e._minx?t=e._minx-this._maxx:this._minx>e._maxx&&(t=this._minx-e._maxx);var n=0;return this._maxy<e._miny?n=e._miny-this._maxy:this._miny>e._maxy&&(n=this._miny-e._maxy),t===0?n:n===0?t:Math.sqrt(t*t+n*n)},Q.prototype.hashCode=function(){var e=17;return e=37*e+R.hashCode(this._minx),e=37*e+R.hashCode(this._maxx),e=37*e+R.hashCode(this._miny),e=37*e+R.hashCode(this._maxy),e},Q.prototype.interfaces_=function(){return[Ln,Fn]},Q.prototype.getClass=function(){return Q},Q.intersects=function(){if(arguments.length===3){var e=arguments[0],t=arguments[1],n=arguments[2];return n.x>=(e.x<t.x?e.x:t.x)&&n.x<=(e.x>t.x?e.x:t.x)&&n.y>=(e.y<t.y?e.y:t.y)&&n.y<=(e.y>t.y?e.y:t.y)}else if(arguments.length===4){var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3],u=Math.min(o.x,a.x),l=Math.max(o.x,a.x),c=Math.min(i.x,s.x),h=Math.max(i.x,s.x);return!(c>l||h<u||(u=Math.min(o.y,a.y),l=Math.max(o.y,a.y),c=Math.min(i.y,s.y),h=Math.max(i.y,s.y),c>l)||h<u)}},Pm.serialVersionUID.get=function(){return 5873921885273102e3},Object.defineProperties(Q,Pm);var ur={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,emptyTypeStr:/^\s*(\w+)\s*EMPTY\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/},tc=function(e){this.geometryFactory=e||new Ct};tc.prototype.read=function(e){var t,n,i;e=e.replace(/[\n\r]/g," ");var s=ur.typeStr.exec(e);if(e.search("EMPTY")!==-1&&(s=ur.emptyTypeStr.exec(e),s[2]=void 0),s&&(n=s[1].toLowerCase(),i=s[2],la[n]&&(t=la[n].apply(this,[i]))),t===void 0)throw new Error("Could not parse WKT "+e);return t},tc.prototype.write=function(e){return this.extractGeometry(e)},tc.prototype.extractGeometry=function(e){var t=e.getGeometryType().toLowerCase();if(!fi[t])return null;var n=t.toUpperCase(),i;return e.isEmpty()?i=n+" EMPTY":i=n+"("+fi[t].apply(this,[e])+")",i};var fi={coordinate:function(e){return e.x+" "+e.y},point:function(e){return fi.coordinate.call(this,e._coordinates._coordinates[0])},multipoint:function(e){for(var t=this,n=[],i=0,s=e._geometries.length;i<s;++i)n.push("("+fi.point.apply(t,[e._geometries[i]])+")");return n.join(",")},linestring:function(e){for(var t=this,n=[],i=0,s=e._points._coordinates.length;i<s;++i)n.push(fi.coordinate.apply(t,[e._points._coordinates[i]]));return n.join(",")},linearring:function(e){for(var t=this,n=[],i=0,s=e._points._coordinates.length;i<s;++i)n.push(fi.coordinate.apply(t,[e._points._coordinates[i]]));return n.join(",")},multilinestring:function(e){for(var t=this,n=[],i=0,s=e._geometries.length;i<s;++i)n.push("("+fi.linestring.apply(t,[e._geometries[i]])+")");return n.join(",")},polygon:function(e){var t=this,n=[];n.push("("+fi.linestring.apply(this,[e._shell])+")");for(var i=0,s=e._holes.length;i<s;++i)n.push("("+fi.linestring.apply(t,[e._holes[i]])+")");return n.join(",")},multipolygon:function(e){for(var t=this,n=[],i=0,s=e._geometries.length;i<s;++i)n.push("("+fi.polygon.apply(t,[e._geometries[i]])+")");return n.join(",")},geometrycollection:function(e){for(var t=this,n=[],i=0,s=e._geometries.length;i<s;++i)n.push(t.extractGeometry(e._geometries[i]));return n.join(",")}},la={point:function(e){if(e===void 0)return this.geometryFactory.createPoint();var t=e.trim().split(ur.spaces);return this.geometryFactory.createPoint(new R(Number.parseFloat(t[0]),Number.parseFloat(t[1])))},multipoint:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiPoint();for(var n,i=e.trim().split(","),s=[],o=0,a=i.length;o<a;++o)n=i[o].replace(ur.trimParens,"$1"),s.push(la.point.apply(t,[n]));return this.geometryFactory.createMultiPoint(s)},linestring:function(e){if(e===void 0)return this.geometryFactory.createLineString();for(var t=e.trim().split(","),n=[],i,s=0,o=t.length;s<o;++s)i=t[s].trim().split(ur.spaces),n.push(new R(Number.parseFloat(i[0]),Number.parseFloat(i[1])));return this.geometryFactory.createLineString(n)},linearring:function(e){if(e===void 0)return this.geometryFactory.createLinearRing();for(var t=e.trim().split(","),n=[],i,s=0,o=t.length;s<o;++s)i=t[s].trim().split(ur.spaces),n.push(new R(Number.parseFloat(i[0]),Number.parseFloat(i[1])));return this.geometryFactory.createLinearRing(n)},multilinestring:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiLineString();for(var n,i=e.trim().split(ur.parenComma),s=[],o=0,a=i.length;o<a;++o)n=i[o].replace(ur.trimParens,"$1"),s.push(la.linestring.apply(t,[n]));return this.geometryFactory.createMultiLineString(s)},polygon:function(e){var t=this;if(e===void 0)return this.geometryFactory.createPolygon();for(var n,i,s,o=e.trim().split(ur.parenComma),a,u=[],l=0,c=o.length;l<c;++l)n=o[l].replace(ur.trimParens,"$1"),i=la.linestring.apply(t,[n]),s=t.geometryFactory.createLinearRing(i._points),l===0?a=s:u.push(s);return this.geometryFactory.createPolygon(a,u)},multipolygon:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiPolygon();for(var n,i=e.trim().split(ur.doubleParenComma),s=[],o=0,a=i.length;o<a;++o)n=i[o].replace(ur.trimParens,"$1"),s.push(la.polygon.apply(t,[n]));return this.geometryFactory.createMultiPolygon(s)},geometrycollection:function(e){var t=this;if(e===void 0)return this.geometryFactory.createGeometryCollection();e=e.replace(/,\s*([A-Za-z])/g,"|$1");for(var n=e.trim().split("|"),i=[],s=0,o=n.length;s<o;++s)i.push(t.read(n[s]));return this.geometryFactory.createGeometryCollection(i)}},Jn=function(e){this.parser=new tc(e)};Jn.prototype.write=function(e){return this.parser.write(e)},Jn.toLineString=function(e,t){if(arguments.length!==2)throw new Error("Not implemented");return"LINESTRING ( "+e.x+" "+e.y+", "+t.x+" "+t.y+" )"};var pi=function(r){function e(t){r.call(this,t),this.name="RuntimeException",this.message=t,this.stack=new r().stack}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e}(Error),ec=function(r){function e(){if(r.call(this),arguments.length===0)r.call(this);else if(arguments.length===1){var t=arguments[0];r.call(this,t)}}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pi),vt=function(){};vt.prototype.interfaces_=function(){return[]},vt.prototype.getClass=function(){return vt},vt.shouldNeverReachHere=function(){if(arguments.length===0)vt.shouldNeverReachHere(null);else if(arguments.length===1){var e=arguments[0];throw new ec("Should never reach here"+(e!==null?": "+e:""))}},vt.isTrue=function(){var e,t;if(arguments.length===1)e=arguments[0],vt.isTrue(e,null);else if(arguments.length===2&&(e=arguments[0],t=arguments[1],!e))throw t===null?new ec:new ec(t)},vt.equals=function(){var e,t,n;if(arguments.length===2)e=arguments[0],t=arguments[1],vt.equals(e,t,null);else if(arguments.length===3&&(e=arguments[0],t=arguments[1],n=arguments[2],!t.equals(e)))throw new ec("Expected "+e+" but encountered "+t+(n!==null?": "+n:""))};var Jt=function(){this._result=null,this._inputLines=Array(2).fill().map(function(){return Array(2)}),this._intPt=new Array(2).fill(null),this._intLineIndex=null,this._isProper=null,this._pa=null,this._pb=null,this._precisionModel=null,this._intPt[0]=new R,this._intPt[1]=new R,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},so={DONT_INTERSECT:{configurable:!0},DO_INTERSECT:{configurable:!0},COLLINEAR:{configurable:!0},NO_INTERSECTION:{configurable:!0},POINT_INTERSECTION:{configurable:!0},COLLINEAR_INTERSECTION:{configurable:!0}};Jt.prototype.getIndexAlongSegment=function(e,t){return this.computeIntLineIndex(),this._intLineIndex[e][t]},Jt.prototype.getTopologySummary=function(){var e=new or;return this.isEndPoint()&&e.append(" endpoint"),this._isProper&&e.append(" proper"),this.isCollinear()&&e.append(" collinear"),e.toString()},Jt.prototype.computeIntersection=function(e,t,n,i){this._inputLines[0][0]=e,this._inputLines[0][1]=t,this._inputLines[1][0]=n,this._inputLines[1][1]=i,this._result=this.computeIntersect(e,t,n,i)},Jt.prototype.getIntersectionNum=function(){return this._result},Jt.prototype.computeIntLineIndex=function(){if(arguments.length===0)this._intLineIndex===null&&(this._intLineIndex=Array(2).fill().map(function(){return Array(2)}),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(arguments.length===1){var e=arguments[0],t=this.getEdgeDistance(e,0),n=this.getEdgeDistance(e,1);t>n?(this._intLineIndex[e][0]=0,this._intLineIndex[e][1]=1):(this._intLineIndex[e][0]=1,this._intLineIndex[e][1]=0)}},Jt.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},Jt.prototype.setPrecisionModel=function(e){this._precisionModel=e},Jt.prototype.isInteriorIntersection=function(){var e=this;if(arguments.length===0)return!!(this.isInteriorIntersection(0)||this.isInteriorIntersection(1));if(arguments.length===1){for(var t=arguments[0],n=0;n<this._result;n++)if(!(e._intPt[n].equals2D(e._inputLines[t][0])||e._intPt[n].equals2D(e._inputLines[t][1])))return!0;return!1}},Jt.prototype.getIntersection=function(e){return this._intPt[e]},Jt.prototype.isEndPoint=function(){return this.hasIntersection()&&!this._isProper},Jt.prototype.hasIntersection=function(){return this._result!==Jt.NO_INTERSECTION},Jt.prototype.getEdgeDistance=function(e,t){var n=Jt.computeEdgeDistance(this._intPt[t],this._inputLines[e][0],this._inputLines[e][1]);return n},Jt.prototype.isCollinear=function(){return this._result===Jt.COLLINEAR_INTERSECTION},Jt.prototype.toString=function(){return Jn.toLineString(this._inputLines[0][0],this._inputLines[0][1])+" - "+Jn.toLineString(this._inputLines[1][0],this._inputLines[1][1])+this.getTopologySummary()},Jt.prototype.getEndpoint=function(e,t){return this._inputLines[e][t]},Jt.prototype.isIntersection=function(e){for(var t=this,n=0;n<this._result;n++)if(t._intPt[n].equals2D(e))return!0;return!1},Jt.prototype.getIntersectionAlongSegment=function(e,t){return this.computeIntLineIndex(),this._intPt[this._intLineIndex[e][t]]},Jt.prototype.interfaces_=function(){return[]},Jt.prototype.getClass=function(){return Jt},Jt.computeEdgeDistance=function(e,t,n){var i=Math.abs(n.x-t.x),s=Math.abs(n.y-t.y),o=-1;if(e.equals(t))o=0;else if(e.equals(n))i>s?o=i:o=s;else{var a=Math.abs(e.x-t.x),u=Math.abs(e.y-t.y);i>s?o=a:o=u,o===0&&!e.equals(t)&&(o=Math.max(a,u))}return vt.isTrue(!(o===0&&!e.equals(t)),"Bad distance calculation"),o},Jt.nonRobustComputeEdgeDistance=function(e,t,n){var i=e.x-t.x,s=e.y-t.y,o=Math.sqrt(i*i+s*s);return vt.isTrue(!(o===0&&!e.equals(t)),"Invalid distance calculation"),o},so.DONT_INTERSECT.get=function(){return 0},so.DO_INTERSECT.get=function(){return 1},so.COLLINEAR.get=function(){return 2},so.NO_INTERSECTION.get=function(){return 0},so.POINT_INTERSECTION.get=function(){return 1},so.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(Jt,so);var _s=function(r){function e(){r.apply(this,arguments)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.isInSegmentEnvelopes=function(n){var i=new Q(this._inputLines[0][0],this._inputLines[0][1]),s=new Q(this._inputLines[1][0],this._inputLines[1][1]);return i.contains(n)&&s.contains(n)},e.prototype.computeIntersection=function(){if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];if(this._isProper=!1,Q.intersects(i,s,n)&&q.orientationIndex(i,s,n)===0&&q.orientationIndex(s,i,n)===0)return this._isProper=!0,(n.equals(i)||n.equals(s))&&(this._isProper=!1),this._result=r.POINT_INTERSECTION,null;this._result=r.NO_INTERSECTION}else return r.prototype.computeIntersection.apply(this,arguments)},e.prototype.normalizeToMinimum=function(n,i,s,o,a){a.x=this.smallestInAbsValue(n.x,i.x,s.x,o.x),a.y=this.smallestInAbsValue(n.y,i.y,s.y,o.y),n.x-=a.x,n.y-=a.y,i.x-=a.x,i.y-=a.y,s.x-=a.x,s.y-=a.y,o.x-=a.x,o.y-=a.y},e.prototype.safeHCoordinateIntersection=function(n,i,s,o){var a=null;try{a=Yn.intersection(n,i,s,o)}catch(u){if(u instanceof ua)a=e.nearestEndpoint(n,i,s,o);else throw u}finally{}return a},e.prototype.intersection=function(n,i,s,o){var a=this.intersectionWithNormalization(n,i,s,o);return this.isInSegmentEnvelopes(a)||(a=new R(e.nearestEndpoint(n,i,s,o))),this._precisionModel!==null&&this._precisionModel.makePrecise(a),a},e.prototype.smallestInAbsValue=function(n,i,s,o){var a=n,u=Math.abs(a);return Math.abs(i)<u&&(a=i,u=Math.abs(i)),Math.abs(s)<u&&(a=s,u=Math.abs(s)),Math.abs(o)<u&&(a=o),a},e.prototype.checkDD=function(n,i,s,o,a){var u=Qe.intersection(n,i,s,o),l=this.isInSegmentEnvelopes(u);xe.out.println("DD in env = "+l+" --------------------- "+u),a.distance(u)>1e-4&&xe.out.println("Distance = "+a.distance(u))},e.prototype.intersectionWithNormalization=function(n,i,s,o){var a=new R(n),u=new R(i),l=new R(s),c=new R(o),h=new R;this.normalizeToEnvCentre(a,u,l,c,h);var f=this.safeHCoordinateIntersection(a,u,l,c);return f.x+=h.x,f.y+=h.y,f},e.prototype.computeCollinearIntersection=function(n,i,s,o){var a=Q.intersects(n,i,s),u=Q.intersects(n,i,o),l=Q.intersects(s,o,n),c=Q.intersects(s,o,i);return a&&u?(this._intPt[0]=s,this._intPt[1]=o,r.COLLINEAR_INTERSECTION):l&&c?(this._intPt[0]=n,this._intPt[1]=i,r.COLLINEAR_INTERSECTION):a&&l?(this._intPt[0]=s,this._intPt[1]=n,s.equals(n)&&!u&&!c?r.POINT_INTERSECTION:r.COLLINEAR_INTERSECTION):a&&c?(this._intPt[0]=s,this._intPt[1]=i,s.equals(i)&&!u&&!l?r.POINT_INTERSECTION:r.COLLINEAR_INTERSECTION):u&&l?(this._intPt[0]=o,this._intPt[1]=n,o.equals(n)&&!a&&!c?r.POINT_INTERSECTION:r.COLLINEAR_INTERSECTION):u&&c?(this._intPt[0]=o,this._intPt[1]=i,o.equals(i)&&!a&&!l?r.POINT_INTERSECTION:r.COLLINEAR_INTERSECTION):r.NO_INTERSECTION},e.prototype.normalizeToEnvCentre=function(n,i,s,o,a){var u=n.x<i.x?n.x:i.x,l=n.y<i.y?n.y:i.y,c=n.x>i.x?n.x:i.x,h=n.y>i.y?n.y:i.y,f=s.x<o.x?s.x:o.x,p=s.y<o.y?s.y:o.y,v=s.x>o.x?s.x:o.x,C=s.y>o.y?s.y:o.y,S=u>f?u:f,P=c<v?c:v,y=l>p?l:p,_=h<C?h:C,m=(S+P)/2,w=(y+_)/2;a.x=m,a.y=w,n.x-=a.x,n.y-=a.y,i.x-=a.x,i.y-=a.y,s.x-=a.x,s.y-=a.y,o.x-=a.x,o.y-=a.y},e.prototype.computeIntersect=function(n,i,s,o){if(this._isProper=!1,!Q.intersects(n,i,s,o))return r.NO_INTERSECTION;var a=q.orientationIndex(n,i,s),u=q.orientationIndex(n,i,o);if(a>0&&u>0||a<0&&u<0)return r.NO_INTERSECTION;var l=q.orientationIndex(s,o,n),c=q.orientationIndex(s,o,i);if(l>0&&c>0||l<0&&c<0)return r.NO_INTERSECTION;var h=a===0&&u===0&&l===0&&c===0;return h?this.computeCollinearIntersection(n,i,s,o):(a===0||u===0||l===0||c===0?(this._isProper=!1,n.equals2D(s)||n.equals2D(o)?this._intPt[0]=n:i.equals2D(s)||i.equals2D(o)?this._intPt[0]=i:a===0?this._intPt[0]=new R(s):u===0?this._intPt[0]=new R(o):l===0?this._intPt[0]=new R(n):c===0&&(this._intPt[0]=new R(i))):(this._isProper=!0,this._intPt[0]=this.intersection(n,i,s,o)),r.POINT_INTERSECTION)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.nearestEndpoint=function(n,i,s,o){var a=n,u=q.distancePointLine(n,s,o),l=q.distancePointLine(i,s,o);return l<u&&(u=l,a=i),l=q.distancePointLine(s,n,i),l<u&&(u=l,a=s),l=q.distancePointLine(o,n,i),l<u&&(u=l,a=o),a},e}(Jt),oo=function(){};oo.prototype.interfaces_=function(){return[]},oo.prototype.getClass=function(){return oo},oo.orientationIndex=function(e,t,n){var i=t.x-e.x,s=t.y-e.y,o=n.x-t.x,a=n.y-t.y;return oo.signOfDet2x2(i,s,o,a)},oo.signOfDet2x2=function(e,t,n,i){var s=null,o=null,a=null;if(s=1,e===0||i===0)return t===0||n===0?0:t>0?n>0?-s:s:n>0?s:-s;if(t===0||n===0)return i>0?e>0?s:-s:e>0?-s:s;if(t>0?i>0?t<=i||(s=-s,o=e,e=n,n=o,o=t,t=i,i=o):t<=-i?(s=-s,n=-n,i=-i):(o=e,e=-n,n=o,o=t,t=-i,i=o):i>0?-t<=i?(s=-s,e=-e,t=-t):(o=-e,e=n,n=o,o=-t,t=i,i=o):t>=i?(e=-e,t=-t,n=-n,i=-i):(s=-s,o=-e,e=-n,n=o,o=-t,t=-i,i=o),e>0)if(n>0){if(!(e<=n))return s}else return s;else{if(n>0)return-s;if(e>=n)s=-s,e=-e,n=-n;else return-s}for(;;){if(a=Math.floor(n/e),n=n-a*e,i=i-a*t,i<0)return-s;if(i>t)return s;if(e>n+n){if(t<i+i)return s}else{if(t>i+i)return-s;n=e-n,i=t-i,s=-s}if(i===0)return n===0?0:-s;if(n===0||(a=Math.floor(e/n),e=e-a*n,t=t-a*i,t<0))return s;if(t>i)return-s;if(n>e+e){if(i<t+t)return-s}else{if(i>t+t)return s;e=n-e,t=i-t,s=-s}if(t===0)return e===0?0:s;if(e===0)return-s}};var lr=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var e=arguments[0];this._p=e};lr.prototype.countSegment=function(e,t){if(e.x<this._p.x&&t.x<this._p.x)return null;if(this._p.x===t.x&&this._p.y===t.y)return this._isPointOnSegment=!0,null;if(e.y===this._p.y&&t.y===this._p.y){var n=e.x,i=t.x;return n>i&&(n=t.x,i=e.x),this._p.x>=n&&this._p.x<=i&&(this._isPointOnSegment=!0),null}if(e.y>this._p.y&&t.y<=this._p.y||t.y>this._p.y&&e.y<=this._p.y){var s=e.x-this._p.x,o=e.y-this._p.y,a=t.x-this._p.x,u=t.y-this._p.y,l=oo.signOfDet2x2(s,o,a,u);if(l===0)return this._isPointOnSegment=!0,null;u<o&&(l=-l),l>0&&this._crossingCount++}},lr.prototype.isPointInPolygon=function(){return this.getLocation()!==F.EXTERIOR},lr.prototype.getLocation=function(){return this._isPointOnSegment?F.BOUNDARY:this._crossingCount%2===1?F.INTERIOR:F.EXTERIOR},lr.prototype.isOnSegment=function(){return this._isPointOnSegment},lr.prototype.interfaces_=function(){return[]},lr.prototype.getClass=function(){return lr},lr.locatePointInRing=function(){if(arguments[0]instanceof R&&at(arguments[1],Tt)){for(var e=arguments[0],t=arguments[1],n=new lr(e),i=new R,s=new R,o=1;o<t.size();o++)if(t.getCoordinate(o,i),t.getCoordinate(o-1,s),n.countSegment(i,s),n.isOnSegment())return n.getLocation();return n.getLocation()}else if(arguments[0]instanceof R&&arguments[1]instanceof Array){for(var a=arguments[0],u=arguments[1],l=new lr(a),c=1;c<u.length;c++){var h=u[c],f=u[c-1];if(l.countSegment(h,f),l.isOnSegment())return l.getLocation()}return l.getLocation()}};var q=function(){},ao={CLOCKWISE:{configurable:!0},RIGHT:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},LEFT:{configurable:!0},COLLINEAR:{configurable:!0},STRAIGHT:{configurable:!0}};q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q.orientationIndex=function(e,t,n){return Qe.orientationIndex(e,t,n)},q.signedArea=function(){if(arguments[0]instanceof Array){var e=arguments[0];if(e.length<3)return 0;for(var t=0,n=e[0].x,i=1;i<e.length-1;i++){var s=e[i].x-n,o=e[i+1].y,a=e[i-1].y;t+=s*(a-o)}return t/2}else if(at(arguments[0],Tt)){var u=arguments[0],l=u.size();if(l<3)return 0;var c=new R,h=new R,f=new R;u.getCoordinate(0,h),u.getCoordinate(1,f);var p=h.x;f.x-=p;for(var v=0,C=1;C<l-1;C++)c.y=h.y,h.x=f.x,h.y=f.y,u.getCoordinate(C+1,f),f.x-=p,v+=h.x*(c.y-f.y);return v/2}},q.distanceLineLine=function(e,t,n,i){if(e.equals(t))return q.distancePointLine(e,n,i);if(n.equals(i))return q.distancePointLine(i,e,t);var s=!1;if(!Q.intersects(e,t,n,i))s=!0;else{var o=(t.x-e.x)*(i.y-n.y)-(t.y-e.y)*(i.x-n.x);if(o===0)s=!0;else{var a=(e.y-n.y)*(i.x-n.x)-(e.x-n.x)*(i.y-n.y),u=(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y),l=u/o,c=a/o;(c<0||c>1||l<0||l>1)&&(s=!0)}}return s?Pn.min(q.distancePointLine(e,n,i),q.distancePointLine(t,n,i),q.distancePointLine(n,e,t),q.distancePointLine(i,e,t)):0},q.isPointInRing=function(e,t){return q.locatePointInRing(e,t)!==F.EXTERIOR},q.computeLength=function(e){var t=e.size();if(t<=1)return 0;var n=0,i=new R;e.getCoordinate(0,i);for(var s=i.x,o=i.y,a=1;a<t;a++){e.getCoordinate(a,i);var u=i.x,l=i.y,c=u-s,h=l-o;n+=Math.sqrt(c*c+h*h),s=u,o=l}return n},q.isCCW=function(e){var t=e.length-1;if(t<3)throw new Xt("Ring has fewer than 4 points, so orientation cannot be determined");for(var n=e[0],i=0,s=1;s<=t;s++){var o=e[s];o.y>n.y&&(n=o,i=s)}var a=i;do a=a-1,a<0&&(a=t);while(e[a].equals2D(n)&&a!==i);var u=i;do u=(u+1)%t;while(e[u].equals2D(n)&&u!==i);var l=e[a],c=e[u];if(l.equals2D(n)||c.equals2D(n)||l.equals2D(c))return!1;var h=q.computeOrientation(l,n,c),f=!1;return h===0?f=l.x>c.x:f=h>0,f},q.locatePointInRing=function(e,t){return lr.locatePointInRing(e,t)},q.distancePointLinePerpendicular=function(e,t,n){var i=(n.x-t.x)*(n.x-t.x)+(n.y-t.y)*(n.y-t.y),s=((t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y))/i;return Math.abs(s)*Math.sqrt(i)},q.computeOrientation=function(e,t,n){return q.orientationIndex(e,t,n)},q.distancePointLine=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];if(t.length===0)throw new Xt("Line array must contain at least one vertex");for(var n=e.distance(t[0]),i=0;i<t.length-1;i++){var s=q.distancePointLine(e,t[i],t[i+1]);s<n&&(n=s)}return n}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2];if(a.x===u.x&&a.y===u.y)return o.distance(a);var l=(u.x-a.x)*(u.x-a.x)+(u.y-a.y)*(u.y-a.y),c=((o.x-a.x)*(u.x-a.x)+(o.y-a.y)*(u.y-a.y))/l;if(c<=0)return o.distance(a);if(c>=1)return o.distance(u);var h=((a.y-o.y)*(u.x-a.x)-(a.x-o.x)*(u.y-a.y))/l;return Math.abs(h)*Math.sqrt(l)}},q.isOnLine=function(e,t){for(var n=new _s,i=1;i<t.length;i++){var s=t[i-1],o=t[i];if(n.computeIntersection(e,s,o),n.hasIntersection())return!0}return!1},ao.CLOCKWISE.get=function(){return-1},ao.RIGHT.get=function(){return q.CLOCKWISE},ao.COUNTERCLOCKWISE.get=function(){return 1},ao.LEFT.get=function(){return q.COUNTERCLOCKWISE},ao.COLLINEAR.get=function(){return 0},ao.STRAIGHT.get=function(){return q.COLLINEAR},Object.defineProperties(q,ao);var gi=function(){};gi.prototype.filter=function(e){},gi.prototype.interfaces_=function(){return[]},gi.prototype.getClass=function(){return gi};var ot=function(){var e=arguments[0];this._envelope=null,this._factory=null,this._SRID=null,this._userData=null,this._factory=e,this._SRID=e.getSRID()},jr={serialVersionUID:{configurable:!0},SORTINDEX_POINT:{configurable:!0},SORTINDEX_MULTIPOINT:{configurable:!0},SORTINDEX_LINESTRING:{configurable:!0},SORTINDEX_LINEARRING:{configurable:!0},SORTINDEX_MULTILINESTRING:{configurable:!0},SORTINDEX_POLYGON:{configurable:!0},SORTINDEX_MULTIPOLYGON:{configurable:!0},SORTINDEX_GEOMETRYCOLLECTION:{configurable:!0},geometryChangedFilter:{configurable:!0}};ot.prototype.isGeometryCollection=function(){return this.getSortIndex()===ot.SORTINDEX_GEOMETRYCOLLECTION},ot.prototype.getFactory=function(){return this._factory},ot.prototype.getGeometryN=function(e){return this},ot.prototype.getArea=function(){return 0},ot.prototype.isRectangle=function(){return!1},ot.prototype.equals=function(){if(arguments[0]instanceof ot){var e=arguments[0];return e===null?!1:this.equalsTopo(e)}else if(arguments[0]instanceof Object){var t=arguments[0];if(!(t instanceof ot))return!1;var n=t;return this.equalsExact(n)}},ot.prototype.equalsExact=function(e){return this===e||this.equalsExact(e,0)},ot.prototype.geometryChanged=function(){this.apply(ot.geometryChangedFilter)},ot.prototype.geometryChangedAction=function(){this._envelope=null},ot.prototype.equalsNorm=function(e){return e===null?!1:this.norm().equalsExact(e.norm())},ot.prototype.getLength=function(){return 0},ot.prototype.getNumGeometries=function(){return 1},ot.prototype.compareTo=function(){if(arguments.length===1){var e=arguments[0],t=e;return this.getSortIndex()!==t.getSortIndex()?this.getSortIndex()-t.getSortIndex():this.isEmpty()&&t.isEmpty()?0:this.isEmpty()?-1:t.isEmpty()?1:this.compareToSameClass(e)}else if(arguments.length===2){var n=arguments[0],i=arguments[1];return this.getSortIndex()!==n.getSortIndex()?this.getSortIndex()-n.getSortIndex():this.isEmpty()&&n.isEmpty()?0:this.isEmpty()?-1:n.isEmpty()?1:this.compareToSameClass(n,i)}},ot.prototype.getUserData=function(){return this._userData},ot.prototype.getSRID=function(){return this._SRID},ot.prototype.getEnvelope=function(){return this.getFactory().toGeometry(this.getEnvelopeInternal())},ot.prototype.checkNotGeometryCollection=function(e){if(e.getSortIndex()===ot.SORTINDEX_GEOMETRYCOLLECTION)throw new Xt("This method does not support GeometryCollection arguments")},ot.prototype.equal=function(e,t,n){return n===0?e.equals(t):e.distance(t)<=n},ot.prototype.norm=function(){var e=this.copy();return e.normalize(),e},ot.prototype.getPrecisionModel=function(){return this._factory.getPrecisionModel()},ot.prototype.getEnvelopeInternal=function(){return this._envelope===null&&(this._envelope=this.computeEnvelopeInternal()),new Q(this._envelope)},ot.prototype.setSRID=function(e){this._SRID=e},ot.prototype.setUserData=function(e){this._userData=e},ot.prototype.compare=function(e,t){for(var n=e.iterator(),i=t.iterator();n.hasNext()&&i.hasNext();){var s=n.next(),o=i.next(),a=s.compareTo(o);if(a!==0)return a}return n.hasNext()?1:i.hasNext()?-1:0},ot.prototype.hashCode=function(){return this.getEnvelopeInternal().hashCode()},ot.prototype.isGeometryCollectionOrDerived=function(){return this.getSortIndex()===ot.SORTINDEX_GEOMETRYCOLLECTION||this.getSortIndex()===ot.SORTINDEX_MULTIPOINT||this.getSortIndex()===ot.SORTINDEX_MULTILINESTRING||this.getSortIndex()===ot.SORTINDEX_MULTIPOLYGON},ot.prototype.interfaces_=function(){return[Ql,Ln,Fn]},ot.prototype.getClass=function(){return ot},ot.hasNonEmptyElements=function(e){for(var t=0;t<e.length;t++)if(!e[t].isEmpty())return!0;return!1},ot.hasNullElements=function(e){for(var t=0;t<e.length;t++)if(e[t]===null)return!0;return!1},jr.serialVersionUID.get=function(){return 8763622679187377e3},jr.SORTINDEX_POINT.get=function(){return 0},jr.SORTINDEX_MULTIPOINT.get=function(){return 1},jr.SORTINDEX_LINESTRING.get=function(){return 2},jr.SORTINDEX_LINEARRING.get=function(){return 3},jr.SORTINDEX_MULTILINESTRING.get=function(){return 4},jr.SORTINDEX_POLYGON.get=function(){return 5},jr.SORTINDEX_MULTIPOLYGON.get=function(){return 6},jr.SORTINDEX_GEOMETRYCOLLECTION.get=function(){return 7},jr.geometryChangedFilter.get=function(){return rd},Object.defineProperties(ot,jr);var rd=function(){};rd.interfaces_=function(){return[gi]},rd.filter=function(e){e.geometryChangedAction()};var zr=function(){};zr.prototype.filter=function(e){},zr.prototype.interfaces_=function(){return[]},zr.prototype.getClass=function(){return zr};var An=function(){},mi={Mod2BoundaryNodeRule:{configurable:!0},EndPointBoundaryNodeRule:{configurable:!0},MultiValentEndPointBoundaryNodeRule:{configurable:!0},MonoValentEndPointBoundaryNodeRule:{configurable:!0},MOD2_BOUNDARY_RULE:{configurable:!0},ENDPOINT_BOUNDARY_RULE:{configurable:!0},MULTIVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},MONOVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},OGC_SFS_BOUNDARY_RULE:{configurable:!0}};An.prototype.isInBoundary=function(e){},An.prototype.interfaces_=function(){return[]},An.prototype.getClass=function(){return An},mi.Mod2BoundaryNodeRule.get=function(){return ca},mi.EndPointBoundaryNodeRule.get=function(){return ha},mi.MultiValentEndPointBoundaryNodeRule.get=function(){return da},mi.MonoValentEndPointBoundaryNodeRule.get=function(){return fa},mi.MOD2_BOUNDARY_RULE.get=function(){return new ca},mi.ENDPOINT_BOUNDARY_RULE.get=function(){return new ha},mi.MULTIVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new da},mi.MONOVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new fa},mi.OGC_SFS_BOUNDARY_RULE.get=function(){return An.MOD2_BOUNDARY_RULE},Object.defineProperties(An,mi);var ca=function(){};ca.prototype.isInBoundary=function(e){return e%2===1},ca.prototype.interfaces_=function(){return[An]},ca.prototype.getClass=function(){return ca};var ha=function(){};ha.prototype.isInBoundary=function(e){return e>0},ha.prototype.interfaces_=function(){return[An]},ha.prototype.getClass=function(){return ha};var da=function(){};da.prototype.isInBoundary=function(e){return e>1},da.prototype.interfaces_=function(){return[An]},da.prototype.getClass=function(){return da};var fa=function(){};fa.prototype.isInBoundary=function(e){return e===1},fa.prototype.interfaces_=function(){return[An]},fa.prototype.getClass=function(){return fa};var de=function(){};de.prototype.add=function(){},de.prototype.addAll=function(){},de.prototype.isEmpty=function(){},de.prototype.iterator=function(){},de.prototype.size=function(){},de.prototype.toArray=function(){},de.prototype.remove=function(){};function id(r){this.message=r||""}id.prototype=new Error,id.prototype.name="IndexOutOfBoundsException";var pa=function(){};pa.prototype.hasNext=function(){},pa.prototype.next=function(){},pa.prototype.remove=function(){};var $n=function(r){function e(){r.apply(this,arguments)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.get=function(){},e.prototype.set=function(){},e.prototype.isEmpty=function(){},e}(de);function ga(r){this.message=r||""}ga.prototype=new Error,ga.prototype.name="NoSuchElementException";var W=function(r){function e(){r.call(this),this.array_=[],arguments[0]instanceof de&&this.addAll(arguments[0])}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.ensureCapacity=function(){},e.prototype.interfaces_=function(){return[r,de]},e.prototype.add=function(n){return arguments.length===1?this.array_.push(n):this.array_.splice(arguments[0],arguments[1]),!0},e.prototype.clear=function(){this.array_=[]},e.prototype.addAll=function(n){for(var i=this,s=n.iterator();s.hasNext();)i.add(s.next());return!0},e.prototype.set=function(n,i){var s=this.array_[n];return this.array_[n]=i,s},e.prototype.iterator=function(){return new VE(this)},e.prototype.get=function(n){if(n<0||n>=this.size())throw new id;return this.array_[n]},e.prototype.isEmpty=function(){return this.array_.length===0},e.prototype.size=function(){return this.array_.length},e.prototype.toArray=function(){for(var n=this,i=[],s=0,o=this.array_.length;s<o;s++)i.push(n.array_[s]);return i},e.prototype.remove=function(n){for(var i=this,s=!1,o=0,a=this.array_.length;o<a;o++)if(i.array_[o]===n){i.array_.splice(o,1),s=!0;break}return s},e}($n),VE=function(r){function e(t){r.call(this),this.arrayList_=t,this.position_=0}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.next=function(){if(this.position_===this.arrayList_.size())throw new ga;return this.arrayList_.get(this.position_++)},e.prototype.hasNext=function(){return this.position_<this.arrayList_.size()},e.prototype.set=function(n){return this.arrayList_.set(this.position_-1,n)},e.prototype.remove=function(){this.arrayList_.remove(this.arrayList_.get(this.position_))},e}(pa),zu=function(r){function e(){if(r.call(this),arguments.length!==0){if(arguments.length===1){var n=arguments[0];this.ensureCapacity(n.length),this.add(n,!0)}else if(arguments.length===2){var i=arguments[0],s=arguments[1];this.ensureCapacity(i.length),this.add(i,s)}}}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={coordArrayType:{configurable:!0}};return t.coordArrayType.get=function(){return new Array(0).fill(null)},e.prototype.getCoordinate=function(i){return this.get(i)},e.prototype.addAll=function(){var i=this;if(arguments.length===2){for(var s=arguments[0],o=arguments[1],a=!1,u=s.iterator();u.hasNext();)i.add(u.next(),o),a=!0;return a}else return r.prototype.addAll.apply(this,arguments)},e.prototype.clone=function(){for(var i=this,s=r.prototype.clone.call(this),o=0;o<this.size();o++)s.add(o,i.get(o).copy());return s},e.prototype.toCoordinateArray=function(){return this.toArray(e.coordArrayType)},e.prototype.add=function(){var i=this;if(arguments.length===1){var s=arguments[0];r.prototype.add.call(this,s)}else if(arguments.length===2){if(arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1];return this.add(o,a,!0),!0}else if(arguments[0]instanceof R&&typeof arguments[1]=="boolean"){var u=arguments[0],l=arguments[1];if(!l&&this.size()>=1){var c=this.get(this.size()-1);if(c.equals2D(u))return null}r.prototype.add.call(this,u)}else if(arguments[0]instanceof Object&&typeof arguments[1]=="boolean"){var h=arguments[0],f=arguments[1];return this.add(h,f),!0}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var p=arguments[0],v=arguments[1],C=arguments[2];if(C)for(var S=0;S<p.length;S++)i.add(p[S],v);else for(var P=p.length-1;P>=0;P--)i.add(p[P],v);return!0}else if(typeof arguments[2]=="boolean"&&Number.isInteger(arguments[0])&&arguments[1]instanceof R){var y=arguments[0],_=arguments[1],m=arguments[2];if(!m){var w=this.size();if(w>0){if(y>0){var E=this.get(y-1);if(E.equals2D(_))return null}if(y<w){var b=this.get(y);if(b.equals2D(_))return null}}}r.prototype.add.call(this,y,_)}}else if(arguments.length===4){var I=arguments[0],T=arguments[1],D=arguments[2],x=arguments[3],O=1;D>x&&(O=-1);for(var L=D;L!==x;L+=O)i.add(I[L],T);return!0}},e.prototype.closeRing=function(){this.size()>0&&this.add(new R(this.get(0)),!1)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},Object.defineProperties(e,t),e}(W),Et=function(){},nc={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};nc.ForwardComparator.get=function(){return Uu},nc.BidirectionalComparator.get=function(){return ma},nc.coordArrayType.get=function(){return new Array(0).fill(null)},Et.prototype.interfaces_=function(){return[]},Et.prototype.getClass=function(){return Et},Et.isRing=function(e){return!(e.length<4||!e[0].equals2D(e[e.length-1]))},Et.ptNotInList=function(e,t){for(var n=0;n<e.length;n++){var i=e[n];if(Et.indexOf(i,t)<0)return i}return null},Et.scroll=function(e,t){var n=Et.indexOf(t,e);if(n<0)return null;var i=new Array(e.length).fill(null);xe.arraycopy(e,n,i,0,e.length-n),xe.arraycopy(e,0,i,e.length-n,n),xe.arraycopy(i,0,e,0,e.length)},Et.equals=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];if(e===t)return!0;if(e===null||t===null||e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!e[n].equals(t[n]))return!1;return!0}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];if(i===s)return!0;if(i===null||s===null||i.length!==s.length)return!1;for(var a=0;a<i.length;a++)if(o.compare(i[a],s[a])!==0)return!1;return!0}},Et.intersection=function(e,t){for(var n=new zu,i=0;i<e.length;i++)t.intersects(e[i])&&n.add(e[i],!0);return n.toCoordinateArray()},Et.hasRepeatedPoints=function(e){for(var t=1;t<e.length;t++)if(e[t-1].equals(e[t]))return!0;return!1},Et.removeRepeatedPoints=function(e){if(!Et.hasRepeatedPoints(e))return e;var t=new zu(e,!1);return t.toCoordinateArray()},Et.reverse=function(e){for(var t=e.length-1,n=Math.trunc(t/2),i=0;i<=n;i++){var s=e[i];e[i]=e[t-i],e[t-i]=s}},Et.removeNull=function(e){for(var t=0,n=0;n<e.length;n++)e[n]!==null&&t++;var i=new Array(t).fill(null);if(t===0)return i;for(var s=0,o=0;o<e.length;o++)e[o]!==null&&(i[s++]=e[o]);return i},Et.copyDeep=function(){if(arguments.length===1){for(var e=arguments[0],t=new Array(e.length).fill(null),n=0;n<e.length;n++)t[n]=new R(e[n]);return t}else if(arguments.length===5)for(var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3],u=arguments[4],l=0;l<u;l++)o[a+l]=new R(i[s+l])},Et.isEqualReversed=function(e,t){for(var n=0;n<e.length;n++){var i=e[n],s=t[e.length-n-1];if(i.compareTo(s)!==0)return!1}return!0},Et.envelope=function(e){for(var t=new Q,n=0;n<e.length;n++)t.expandToInclude(e[n]);return t},Et.toCoordinateArray=function(e){return e.toArray(Et.coordArrayType)},Et.atLeastNCoordinatesOrNothing=function(e,t){return t.length>=e?t:[]},Et.indexOf=function(e,t){for(var n=0;n<t.length;n++)if(e.equals(t[n]))return n;return-1},Et.increasingDirection=function(e){for(var t=0;t<Math.trunc(e.length/2);t++){var n=e.length-1-t,i=e[t].compareTo(e[n]);if(i!==0)return i}return 1},Et.compare=function(e,t){for(var n=0;n<e.length&&n<t.length;){var i=e[n].compareTo(t[n]);if(i!==0)return i;n++}return n<t.length?-1:n<e.length?1:0},Et.minCoordinate=function(e){for(var t=null,n=0;n<e.length;n++)(t===null||t.compareTo(e[n])>0)&&(t=e[n]);return t},Et.extract=function(e,t,n){t=Pn.clamp(t,0,e.length),n=Pn.clamp(n,-1,e.length);var i=n-t+1;n<0&&(i=0),t>=e.length&&(i=0),n<t&&(i=0);var s=new Array(i).fill(null);if(i===0)return s;for(var o=0,a=t;a<=n;a++)s[o++]=e[a];return s},Object.defineProperties(Et,nc);var Uu=function(){};Uu.prototype.compare=function(e,t){var n=e,i=t;return Et.compare(n,i)},Uu.prototype.interfaces_=function(){return[oa]},Uu.prototype.getClass=function(){return Uu};var ma=function(){};ma.prototype.compare=function(e,t){var n=e,i=t;if(n.length<i.length)return-1;if(n.length>i.length)return 1;if(n.length===0)return 0;var s=Et.compare(n,i),o=Et.isEqualReversed(n,i);return o?0:s},ma.prototype.OLDcompare=function(e,t){var n=e,i=t;if(n.length<i.length)return-1;if(n.length>i.length)return 1;if(n.length===0)return 0;for(var s=Et.increasingDirection(n),o=Et.increasingDirection(i),a=s>0?0:n.length-1,u=o>0?0:n.length-1,l=0;l<n.length;l++){var c=n[a].compareTo(i[u]);if(c!==0)return c;a+=s,u+=o}return 0},ma.prototype.interfaces_=function(){return[oa]},ma.prototype.getClass=function(){return ma};var uo=function(){};uo.prototype.get=function(){},uo.prototype.put=function(){},uo.prototype.size=function(){},uo.prototype.values=function(){},uo.prototype.entrySet=function(){};var BE=function(r){function e(){r.apply(this,arguments)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e}(uo);function Gu(r){this.message=r||""}Gu.prototype=new Error,Gu.prototype.name="OperationNotSupported";function rc(){}rc.prototype=new de,rc.prototype.contains=function(){};var sd=function(r){function e(){r.call(this),this.array_=[],arguments[0]instanceof de&&this.addAll(arguments[0])}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.contains=function(n){for(var i=this,s=0,o=this.array_.length;s<o;s++){var a=i.array_[s];if(a===n)return!0}return!1},e.prototype.add=function(n){return this.contains(n)?!1:(this.array_.push(n),!0)},e.prototype.addAll=function(n){for(var i=this,s=n.iterator();s.hasNext();)i.add(s.next());return!0},e.prototype.remove=function(n){throw new Error},e.prototype.size=function(){return this.array_.length},e.prototype.isEmpty=function(){return this.array_.length===0},e.prototype.toArray=function(){for(var n=this,i=[],s=0,o=this.array_.length;s<o;s++)i.push(n.array_[s]);return i},e.prototype.iterator=function(){return new jE(this)},e}(rc),jE=function(r){function e(t){r.call(this),this.hashSet_=t,this.position_=0}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.next=function(){if(this.position_===this.hashSet_.size())throw new ga;return this.hashSet_.array_[this.position_++]},e.prototype.hasNext=function(){return this.position_<this.hashSet_.size()},e.prototype.remove=function(){throw new Gu},e}(pa),vi=0,ws=1;function Im(r){return r===null?vi:r.color}function Ut(r){return r===null?null:r.parent}function yi(r,e){r!==null&&(r.color=e)}function od(r){return r===null?null:r.left}function xm(r){return r===null?null:r.right}function Ae(){this.root_=null,this.size_=0}Ae.prototype=new BE,Ae.prototype.get=function(r){for(var e=this.root_;e!==null;){var t=r.compareTo(e.key);if(t<0)e=e.left;else if(t>0)e=e.right;else return e.value}return null},Ae.prototype.put=function(r,e){if(this.root_===null)return this.root_={key:r,value:e,left:null,right:null,parent:null,color:vi,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var t=this.root_,n,i;do if(n=t,i=r.compareTo(t.key),i<0)t=t.left;else if(i>0)t=t.right;else{var s=t.value;return t.value=e,s}while(t!==null);var o={key:r,left:null,right:null,value:e,parent:n,color:vi,getValue:function(){return this.value},getKey:function(){return this.key}};return i<0?n.left=o:n.right=o,this.fixAfterInsertion(o),this.size_++,null},Ae.prototype.fixAfterInsertion=function(r){var e=this;for(r.color=ws;r!=null&&r!==this.root_&&r.parent.color===ws;)if(Ut(r)===od(Ut(Ut(r)))){var t=xm(Ut(Ut(r)));Im(t)===ws?(yi(Ut(r),vi),yi(t,vi),yi(Ut(Ut(r)),ws),r=Ut(Ut(r))):(r===xm(Ut(r))&&(r=Ut(r),e.rotateLeft(r)),yi(Ut(r),vi),yi(Ut(Ut(r)),ws),e.rotateRight(Ut(Ut(r))))}else{var n=od(Ut(Ut(r)));Im(n)===ws?(yi(Ut(r),vi),yi(n,vi),yi(Ut(Ut(r)),ws),r=Ut(Ut(r))):(r===od(Ut(r))&&(r=Ut(r),e.rotateRight(r)),yi(Ut(r),vi),yi(Ut(Ut(r)),ws),e.rotateLeft(Ut(Ut(r))))}this.root_.color=vi},Ae.prototype.values=function(){var r=new W,e=this.getFirstEntry();if(e!==null)for(r.add(e.value);(e=Ae.successor(e))!==null;)r.add(e.value);return r},Ae.prototype.entrySet=function(){var r=new sd,e=this.getFirstEntry();if(e!==null)for(r.add(e);(e=Ae.successor(e))!==null;)r.add(e);return r},Ae.prototype.rotateLeft=function(r){if(r!=null){var e=r.right;r.right=e.left,e.left!=null&&(e.left.parent=r),e.parent=r.parent,r.parent===null?this.root_=e:r.parent.left===r?r.parent.left=e:r.parent.right=e,e.left=r,r.parent=e}},Ae.prototype.rotateRight=function(r){if(r!=null){var e=r.left;r.left=e.right,e.right!=null&&(e.right.parent=r),e.parent=r.parent,r.parent===null?this.root_=e:r.parent.right===r?r.parent.right=e:r.parent.left=e,e.right=r,r.parent=e}},Ae.prototype.getFirstEntry=function(){var r=this.root_;if(r!=null)for(;r.left!=null;)r=r.left;return r},Ae.successor=function(r){if(r===null)return null;if(r.right!==null){for(var e=r.right;e.left!==null;)e=e.left;return e}else{for(var t=r.parent,n=r;t!==null&&n===t.right;)n=t,t=t.parent;return t}},Ae.prototype.size=function(){return this.size_};var Wu=function(){};Wu.prototype.interfaces_=function(){return[]},Wu.prototype.getClass=function(){return Wu};function Tm(){}Tm.prototype=new rc;function cr(){this.array_=[],arguments[0]instanceof de&&this.addAll(arguments[0])}cr.prototype=new Tm,cr.prototype.contains=function(r){for(var e=this,t=0,n=this.array_.length;t<n;t++){var i=e.array_[t];if(i.compareTo(r)===0)return!0}return!1},cr.prototype.add=function(r){var e=this;if(this.contains(r))return!1;for(var t=0,n=this.array_.length;t<n;t++){var i=e.array_[t];if(i.compareTo(r)===1)return e.array_.splice(t,0,r),!0}return this.array_.push(r),!0},cr.prototype.addAll=function(r){for(var e=this,t=r.iterator();t.hasNext();)e.add(t.next());return!0},cr.prototype.remove=function(r){throw new Gu},cr.prototype.size=function(){return this.array_.length},cr.prototype.isEmpty=function(){return this.array_.length===0},cr.prototype.toArray=function(){for(var r=this,e=[],t=0,n=this.array_.length;t<n;t++)e.push(r.array_[t]);return e},cr.prototype.iterator=function(){return new ic(this)};var ic=function(r){this.treeSet_=r,this.position_=0};ic.prototype.next=function(){if(this.position_===this.treeSet_.size())throw new ga;return this.treeSet_.array_[this.position_++]},ic.prototype.hasNext=function(){return this.position_<this.treeSet_.size()},ic.prototype.remove=function(){throw new Gu};var Es=function(){};Es.sort=function(){var e=arguments[0],t,n,i,s;if(arguments.length===1)s=function(a,u){return a.compareTo(u)},e.sort(s);else if(arguments.length===2)i=arguments[1],s=function(a,u){return i.compare(a,u)},e.sort(s);else if(arguments.length===3){n=e.slice(arguments[1],arguments[2]),n.sort();var o=e.slice(0,arguments[1]).concat(n,e.slice(arguments[2],e.length));for(e.splice(0,e.length),t=0;t<o.length;t++)e.push(o[t])}else if(arguments.length===4)for(n=e.slice(arguments[1],arguments[2]),i=arguments[3],s=function(a,u){return i.compare(a,u)},n.sort(s),o=e.slice(0,arguments[1]).concat(n,e.slice(arguments[2],e.length)),e.splice(0,e.length),t=0;t<o.length;t++)e.push(o[t])},Es.asList=function(e){for(var t=new W,n=0,i=e.length;n<i;n++)t.add(e[n]);return t};var Mt=function(){},Kn={P:{configurable:!0},L:{configurable:!0},A:{configurable:!0},FALSE:{configurable:!0},TRUE:{configurable:!0},DONTCARE:{configurable:!0},SYM_FALSE:{configurable:!0},SYM_TRUE:{configurable:!0},SYM_DONTCARE:{configurable:!0},SYM_P:{configurable:!0},SYM_L:{configurable:!0},SYM_A:{configurable:!0}};Kn.P.get=function(){return 0},Kn.L.get=function(){return 1},Kn.A.get=function(){return 2},Kn.FALSE.get=function(){return-1},Kn.TRUE.get=function(){return-2},Kn.DONTCARE.get=function(){return-3},Kn.SYM_FALSE.get=function(){return"F"},Kn.SYM_TRUE.get=function(){return"T"},Kn.SYM_DONTCARE.get=function(){return"*"},Kn.SYM_P.get=function(){return"0"},Kn.SYM_L.get=function(){return"1"},Kn.SYM_A.get=function(){return"2"},Mt.prototype.interfaces_=function(){return[]},Mt.prototype.getClass=function(){return Mt},Mt.toDimensionSymbol=function(e){switch(e){case Mt.FALSE:return Mt.SYM_FALSE;case Mt.TRUE:return Mt.SYM_TRUE;case Mt.DONTCARE:return Mt.SYM_DONTCARE;case Mt.P:return Mt.SYM_P;case Mt.L:return Mt.SYM_L;case Mt.A:return Mt.SYM_A}throw new Xt("Unknown dimension value: "+e)},Mt.toDimensionValue=function(e){switch(Bu.toUpperCase(e)){case Mt.SYM_FALSE:return Mt.FALSE;case Mt.SYM_TRUE:return Mt.TRUE;case Mt.SYM_DONTCARE:return Mt.DONTCARE;case Mt.SYM_P:return Mt.P;case Mt.SYM_L:return Mt.L;case Mt.SYM_A:return Mt.A}throw new Xt("Unknown dimension symbol: "+e)},Object.defineProperties(Mt,Kn);var hr=function(){};hr.prototype.filter=function(e){},hr.prototype.interfaces_=function(){return[]},hr.prototype.getClass=function(){return hr};var Zn=function(){};Zn.prototype.filter=function(e,t){},Zn.prototype.isDone=function(){},Zn.prototype.isGeometryChanged=function(){},Zn.prototype.interfaces_=function(){return[]},Zn.prototype.getClass=function(){return Zn};var Ue=function(r){function e(n,i){if(r.call(this,i),this._geometries=n||[],r.hasNullElements(this._geometries))throw new Xt("geometries must not contain null elements")}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){for(var i=this,s=new Q,o=0;o<this._geometries.length;o++)s.expandToInclude(i._geometries[o].getEnvelopeInternal());return s},e.prototype.getGeometryN=function(i){return this._geometries[i]},e.prototype.getSortIndex=function(){return r.SORTINDEX_GEOMETRYCOLLECTION},e.prototype.getCoordinates=function(){for(var i=this,s=new Array(this.getNumPoints()).fill(null),o=-1,a=0;a<this._geometries.length;a++)for(var u=i._geometries[a].getCoordinates(),l=0;l<u.length;l++)o++,s[o]=u[l];return s},e.prototype.getArea=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getArea();return s},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s;if(this._geometries.length!==a._geometries.length)return!1;for(var u=0;u<this._geometries.length;u++)if(!i._geometries[u].equalsExact(a._geometries[u],o))return!1;return!0}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){for(var i=this,s=0;s<this._geometries.length;s++)i._geometries[s].normalize();Es.sort(this._geometries)},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._geometries[0].getCoordinate()},e.prototype.getBoundaryDimension=function(){for(var i=this,s=Mt.FALSE,o=0;o<this._geometries.length;o++)s=Math.max(s,i._geometries[o].getBoundaryDimension());return s},e.prototype.getDimension=function(){for(var i=this,s=Mt.FALSE,o=0;o<this._geometries.length;o++)s=Math.max(s,i._geometries[o].getDimension());return s},e.prototype.getLength=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getLength();return s},e.prototype.getNumPoints=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getNumPoints();return s},e.prototype.getNumGeometries=function(){return this._geometries.length},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[a]=i._geometries[a].reverse();return this.getFactory().createGeometryCollection(o)},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){var s=arguments[0],o=new cr(Es.asList(this._geometries)),a=new cr(Es.asList(s._geometries));return this.compare(o,a)}else if(arguments.length===2){for(var u=arguments[0],l=arguments[1],c=u,h=this.getNumGeometries(),f=c.getNumGeometries(),p=0;p<h&&p<f;){var v=i.getGeometryN(p),C=c.getGeometryN(p),S=v.compareToSameClass(C,l);if(S!==0)return S;p++}return p<h?1:p<f?-1:0}},e.prototype.apply=function(){var i=this;if(at(arguments[0],zr))for(var s=arguments[0],o=0;o<this._geometries.length;o++)i._geometries[o].apply(s);else if(at(arguments[0],Zn)){var a=arguments[0];if(this._geometries.length===0)return null;for(var u=0;u<this._geometries.length&&(i._geometries[u].apply(a),!a.isDone());u++);a.isGeometryChanged()&&this.geometryChanged()}else if(at(arguments[0],hr)){var l=arguments[0];l.filter(this);for(var c=0;c<this._geometries.length;c++)i._geometries[c].apply(l)}else if(at(arguments[0],gi)){var h=arguments[0];h.filter(this);for(var f=0;f<this._geometries.length;f++)i._geometries[f].apply(h)}},e.prototype.getBoundary=function(){return this.checkNotGeometryCollection(this),vt.shouldNeverReachHere(),null},e.prototype.clone=function(){var i=this,s=r.prototype.clone.call(this);s._geometries=new Array(this._geometries.length).fill(null);for(var o=0;o<this._geometries.length;o++)s._geometries[o]=i._geometries[o].clone();return s},e.prototype.getGeometryType=function(){return"GeometryCollection"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.isEmpty=function(){for(var i=this,s=0;s<this._geometries.length;s++)if(!i._geometries[s].isEmpty())return!1;return!0},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-5694727726395021e3},Object.defineProperties(e,t),e}(ot),Cs=function(r){function e(){r.apply(this,arguments)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return ot.SORTINDEX_MULTILINESTRING},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?r.prototype.equalsExact.call(this,i,s):!1}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Mt.FALSE:0},e.prototype.isClosed=function(){var i=this;if(this.isEmpty())return!1;for(var s=0;s<this._geometries.length;s++)if(!i._geometries[s].isClosed())return!1;return!0},e.prototype.getDimension=function(){return 1},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[s-1-a]=i._geometries[a].reverse();return this.getFactory().createMultiLineString(o)},e.prototype.getBoundary=function(){return new kn(this).getBoundary()},e.prototype.getGeometryType=function(){return"MultiLineString"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Wu]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 8166665132445434e3},Object.defineProperties(e,t),e}(Ue),kn=function(){if(this._geom=null,this._geomFact=null,this._bnRule=null,this._endpointMap=null,arguments.length===1){var e=arguments[0],t=An.MOD2_BOUNDARY_RULE;this._geom=e,this._geomFact=e.getFactory(),this._bnRule=t}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this._geom=n,this._geomFact=n.getFactory(),this._bnRule=i}};kn.prototype.boundaryMultiLineString=function(e){if(this._geom.isEmpty())return this.getEmptyMultiPoint();var t=this.computeBoundaryCoordinates(e);return t.length===1?this._geomFact.createPoint(t[0]):this._geomFact.createMultiPointFromCoords(t)},kn.prototype.getBoundary=function(){return this._geom instanceof Qt?this.boundaryLineString(this._geom):this._geom instanceof Cs?this.boundaryMultiLineString(this._geom):this._geom.getBoundary()},kn.prototype.boundaryLineString=function(e){if(this._geom.isEmpty())return this.getEmptyMultiPoint();if(e.isClosed()){var t=this._bnRule.isInBoundary(2);return t?e.getStartPoint():this._geomFact.createMultiPoint()}return this._geomFact.createMultiPoint([e.getStartPoint(),e.getEndPoint()])},kn.prototype.getEmptyMultiPoint=function(){return this._geomFact.createMultiPoint()},kn.prototype.computeBoundaryCoordinates=function(e){var t=this,n=new W;this._endpointMap=new Ae;for(var i=0;i<e.getNumGeometries();i++){var s=e.getGeometryN(i);s.getNumPoints()!==0&&(t.addEndpoint(s.getCoordinateN(0)),t.addEndpoint(s.getCoordinateN(s.getNumPoints()-1)))}for(var o=this._endpointMap.entrySet().iterator();o.hasNext();){var a=o.next(),u=a.getValue(),l=u.count;t._bnRule.isInBoundary(l)&&n.add(a.getKey())}return Et.toCoordinateArray(n)},kn.prototype.addEndpoint=function(e){var t=this._endpointMap.get(e);t===null&&(t=new sc,this._endpointMap.put(e,t)),t.count++},kn.prototype.interfaces_=function(){return[]},kn.prototype.getClass=function(){return kn},kn.getBoundary=function(){if(arguments.length===1){var e=arguments[0],t=new kn(e);return t.getBoundary()}else if(arguments.length===2){var n=arguments[0],i=arguments[1],s=new kn(n,i);return s.getBoundary()}};var sc=function(){this.count=null};sc.prototype.interfaces_=function(){return[]},sc.prototype.getClass=function(){return sc};function zE(){}function UE(){}var GE=function(){};function WE(){}function HE(){}function qE(){}var Vn=function(){},ad={NEWLINE:{configurable:!0},SIMPLE_ORDINATE_FORMAT:{configurable:!0}};Vn.prototype.interfaces_=function(){return[]},Vn.prototype.getClass=function(){return Vn},Vn.chars=function(e,t){for(var n=new Array(t).fill(null),i=0;i<t;i++)n[i]=e;return String(n)},Vn.getStackTrace=function(){if(arguments.length===1){var e=arguments[0],t=new WE,n=new zE;return e.printStackTrace(n),t.toString()}else if(arguments.length===2){var i=arguments[0],s=arguments[1],o="";new UE(Vn.getStackTrace(i));for(var a=new qE,u=0;u<s;u++)try{o+=a.readLine()+Vn.NEWLINE}catch(l){if(l instanceof HE)vt.shouldNeverReachHere();else throw l}finally{}return o}},Vn.split=function(e,t){for(var n=t.length,i=new W,s=""+e,o=s.indexOf(t);o>=0;){var a=s.substring(0,o);i.add(a),s=s.substring(o+n),o=s.indexOf(t)}s.length>0&&i.add(s);for(var u=new Array(i.size()).fill(null),l=0;l<u.length;l++)u[l]=i.get(l);return u},Vn.toString=function(){if(arguments.length===1){var e=arguments[0];return Vn.SIMPLE_ORDINATE_FORMAT.format(e)}},Vn.spaces=function(e){return Vn.chars(" ",e)},ad.NEWLINE.get=function(){return xe.getProperty("line.separator")},ad.SIMPLE_ORDINATE_FORMAT.get=function(){return new GE},Object.defineProperties(Vn,ad);var re=function(){};re.prototype.interfaces_=function(){return[]},re.prototype.getClass=function(){return re},re.copyCoord=function(e,t,n,i){for(var s=Math.min(e.getDimension(),n.getDimension()),o=0;o<s;o++)n.setOrdinate(i,o,e.getOrdinate(t,o))},re.isRing=function(e){var t=e.size();return t===0?!0:t<=3?!1:e.getOrdinate(0,Tt.X)===e.getOrdinate(t-1,Tt.X)&&e.getOrdinate(0,Tt.Y)===e.getOrdinate(t-1,Tt.Y)},re.isEqual=function(e,t){var n=e.size(),i=t.size();if(n!==i)return!1;for(var s=Math.min(e.getDimension(),t.getDimension()),o=0;o<n;o++)for(var a=0;a<s;a++){var u=e.getOrdinate(o,a),l=t.getOrdinate(o,a);if(e.getOrdinate(o,a)!==t.getOrdinate(o,a)&&!(ht.isNaN(u)&&ht.isNaN(l)))return!1}return!0},re.extend=function(e,t,n){var i=e.create(n,t.getDimension()),s=t.size();if(re.copy(t,0,i,0,s),s>0)for(var o=s;o<n;o++)re.copy(t,s-1,i,o,1);return i},re.reverse=function(e){for(var t=e.size()-1,n=Math.trunc(t/2),i=0;i<=n;i++)re.swap(e,i,t-i)},re.swap=function(e,t,n){if(t===n)return null;for(var i=0;i<e.getDimension();i++){var s=e.getOrdinate(t,i);e.setOrdinate(t,i,e.getOrdinate(n,i)),e.setOrdinate(n,i,s)}},re.copy=function(e,t,n,i,s){for(var o=0;o<s;o++)re.copyCoord(e,t+o,n,i+o)},re.toString=function(){if(arguments.length===1){var e=arguments[0],t=e.size();if(t===0)return"()";var n=e.getDimension(),i=new or;i.append("(");for(var s=0;s<t;s++){s>0&&i.append(" ");for(var o=0;o<n;o++)o>0&&i.append(","),i.append(Vn.toString(e.getOrdinate(s,o)))}return i.append(")"),i.toString()}},re.ensureValidRing=function(e,t){var n=t.size();if(n===0)return t;if(n<=3)return re.createClosedRing(e,t,4);var i=t.getOrdinate(0,Tt.X)===t.getOrdinate(n-1,Tt.X)&&t.getOrdinate(0,Tt.Y)===t.getOrdinate(n-1,Tt.Y);return i?t:re.createClosedRing(e,t,n+1)},re.createClosedRing=function(e,t,n){var i=e.create(n,t.getDimension()),s=t.size();re.copy(t,0,i,0,s);for(var o=s;o<n;o++)re.copy(t,0,i,o,1);return i};var Qt=function(r){function e(n,i){r.call(this,i),this._points=null,this.init(n)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){return this.isEmpty()?new Q:this._points.expandEnvelope(new Q)},e.prototype.isRing=function(){return this.isClosed()&&this.isSimple()},e.prototype.getSortIndex=function(){return r.SORTINDEX_LINESTRING},e.prototype.getCoordinates=function(){return this._points.toCoordinateArray()},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s;if(this._points.size()!==a._points.size())return!1;for(var u=0;u<this._points.size();u++)if(!i.equal(i._points.getCoordinate(u),a._points.getCoordinate(u),o))return!1;return!0}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){for(var i=this,s=0;s<Math.trunc(this._points.size()/2);s++){var o=i._points.size()-1-s;if(!i._points.getCoordinate(s).equals(i._points.getCoordinate(o)))return i._points.getCoordinate(s).compareTo(i._points.getCoordinate(o))>0&&re.reverse(i._points),null}},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Mt.FALSE:0},e.prototype.isClosed=function(){return this.isEmpty()?!1:this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},e.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},e.prototype.getDimension=function(){return 1},e.prototype.getLength=function(){return q.computeLength(this._points)},e.prototype.getNumPoints=function(){return this._points.size()},e.prototype.reverse=function(){var i=this._points.copy();re.reverse(i);var s=this.getFactory().createLineString(i);return s},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){for(var s=arguments[0],o=s,a=0,u=0;a<this._points.size()&&u<o._points.size();){var l=i._points.getCoordinate(a).compareTo(o._points.getCoordinate(u));if(l!==0)return l;a++,u++}return a<this._points.size()?1:u<o._points.size()?-1:0}else if(arguments.length===2){var c=arguments[0],h=arguments[1],f=c;return h.compare(this._points,f._points)}},e.prototype.apply=function(){var i=this;if(at(arguments[0],zr))for(var s=arguments[0],o=0;o<this._points.size();o++)s.filter(i._points.getCoordinate(o));else if(at(arguments[0],Zn)){var a=arguments[0];if(this._points.size()===0)return null;for(var u=0;u<this._points.size()&&(a.filter(i._points,u),!a.isDone());u++);a.isGeometryChanged()&&this.geometryChanged()}else if(at(arguments[0],hr)){var l=arguments[0];l.filter(this)}else if(at(arguments[0],gi)){var c=arguments[0];c.filter(this)}},e.prototype.getBoundary=function(){return new kn(this).getBoundary()},e.prototype.isEquivalentClass=function(i){return i instanceof e},e.prototype.clone=function(){var i=r.prototype.clone.call(this);return i._points=this._points.clone(),i},e.prototype.getCoordinateN=function(i){return this._points.getCoordinate(i)},e.prototype.getGeometryType=function(){return"LineString"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.getCoordinateSequence=function(){return this._points},e.prototype.isEmpty=function(){return this._points.size()===0},e.prototype.init=function(i){if(i===null&&(i=this.getFactory().getCoordinateSequenceFactory().create([])),i.size()===1)throw new Xt("Invalid number of points in LineString (found "+i.size()+" - must be 0 or >= 2)");this._points=i},e.prototype.isCoordinate=function(i){for(var s=this,o=0;o<this._points.size();o++)if(s._points.getCoordinate(o).equals(i))return!0;return!1},e.prototype.getStartPoint=function(){return this.isEmpty()?null:this.getPointN(0)},e.prototype.getPointN=function(i){return this.getFactory().createPoint(this._points.getCoordinate(i))},e.prototype.interfaces_=function(){return[Wu]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 0x2b2b51ba435c8e00},Object.defineProperties(e,t),e}(ot),Hu=function(){};Hu.prototype.interfaces_=function(){return[]},Hu.prototype.getClass=function(){return Hu};var cn=function(r){function e(n,i){r.call(this,i),this._coordinates=n||null,this.init(this._coordinates)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){if(this.isEmpty())return new Q;var i=new Q;return i.expandToInclude(this._coordinates.getX(0),this._coordinates.getY(0)),i},e.prototype.getSortIndex=function(){return r.SORTINDEX_POINT},e.prototype.getCoordinates=function(){return this.isEmpty()?[]:[this.getCoordinate()]},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?this.isEmpty()&&i.isEmpty()?!0:this.isEmpty()!==i.isEmpty()?!1:this.equal(i.getCoordinate(),this.getCoordinate(),s):!1}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){},e.prototype.getCoordinate=function(){return this._coordinates.size()!==0?this._coordinates.getCoordinate(0):null},e.prototype.getBoundaryDimension=function(){return Mt.FALSE},e.prototype.getDimension=function(){return 0},e.prototype.getNumPoints=function(){return this.isEmpty()?0:1},e.prototype.reverse=function(){return this.copy()},e.prototype.getX=function(){if(this.getCoordinate()===null)throw new Error("getX called on empty Point");return this.getCoordinate().x},e.prototype.compareToSameClass=function(){if(arguments.length===1){var i=arguments[0],s=i;return this.getCoordinate().compareTo(s.getCoordinate())}else if(arguments.length===2){var o=arguments[0],a=arguments[1],u=o;return a.compare(this._coordinates,u._coordinates)}},e.prototype.apply=function(){if(at(arguments[0],zr)){var i=arguments[0];if(this.isEmpty())return null;i.filter(this.getCoordinate())}else if(at(arguments[0],Zn)){var s=arguments[0];if(this.isEmpty())return null;s.filter(this._coordinates,0),s.isGeometryChanged()&&this.geometryChanged()}else if(at(arguments[0],hr)){var o=arguments[0];o.filter(this)}else if(at(arguments[0],gi)){var a=arguments[0];a.filter(this)}},e.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},e.prototype.clone=function(){var i=r.prototype.clone.call(this);return i._coordinates=this._coordinates.clone(),i},e.prototype.getGeometryType=function(){return"Point"},e.prototype.copy=function(){return new e(this._coordinates.copy(),this._factory)},e.prototype.getCoordinateSequence=function(){return this._coordinates},e.prototype.getY=function(){if(this.getCoordinate()===null)throw new Error("getY called on empty Point");return this.getCoordinate().y},e.prototype.isEmpty=function(){return this._coordinates.size()===0},e.prototype.init=function(i){i===null&&(i=this.getFactory().getCoordinateSequenceFactory().create([])),vt.isTrue(i.size()<=1),this._coordinates=i},e.prototype.isSimple=function(){return!0},e.prototype.interfaces_=function(){return[Hu]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 4902022702746615e3},Object.defineProperties(e,t),e}(ot),Xi=function(){};Xi.prototype.interfaces_=function(){return[]},Xi.prototype.getClass=function(){return Xi};var fe=function(r){function e(n,i,s){if(r.call(this,s),this._shell=null,this._holes=null,n===null&&(n=this.getFactory().createLinearRing()),i===null&&(i=[]),r.hasNullElements(i))throw new Xt("holes must not contain null elements");if(n.isEmpty()&&r.hasNonEmptyElements(i))throw new Xt("shell is empty but holes are not");this._shell=n,this._holes=i}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){return this._shell.getEnvelopeInternal()},e.prototype.getSortIndex=function(){return r.SORTINDEX_POLYGON},e.prototype.getCoordinates=function(){var i=this;if(this.isEmpty())return[];for(var s=new Array(this.getNumPoints()).fill(null),o=-1,a=this._shell.getCoordinates(),u=0;u<a.length;u++)o++,s[o]=a[u];for(var l=0;l<this._holes.length;l++)for(var c=i._holes[l].getCoordinates(),h=0;h<c.length;h++)o++,s[o]=c[h];return s},e.prototype.getArea=function(){var i=this,s=0;s+=Math.abs(q.signedArea(this._shell.getCoordinateSequence()));for(var o=0;o<this._holes.length;o++)s-=Math.abs(q.signedArea(i._holes[o].getCoordinateSequence()));return s},e.prototype.isRectangle=function(){if(this.getNumInteriorRing()!==0||this._shell===null||this._shell.getNumPoints()!==5)return!1;for(var i=this._shell.getCoordinateSequence(),s=this.getEnvelopeInternal(),o=0;o<5;o++){var a=i.getX(o);if(!(a===s.getMinX()||a===s.getMaxX()))return!1;var u=i.getY(o);if(!(u===s.getMinY()||u===s.getMaxY()))return!1}for(var l=i.getX(0),c=i.getY(0),h=1;h<=4;h++){var f=i.getX(h),p=i.getY(h),v=f!==l,C=p!==c;if(v===C)return!1;l=f,c=p}return!0},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s,u=this._shell,l=a._shell;if(!u.equalsExact(l,o)||this._holes.length!==a._holes.length)return!1;for(var c=0;c<this._holes.length;c++)if(!i._holes[c].equalsExact(a._holes[c],o))return!1;return!0}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){var i=this;if(arguments.length===0){this.normalize(this._shell,!0);for(var s=0;s<this._holes.length;s++)i.normalize(i._holes[s],!1);Es.sort(this._holes)}else if(arguments.length===2){var o=arguments[0],a=arguments[1];if(o.isEmpty())return null;var u=new Array(o.getCoordinates().length-1).fill(null);xe.arraycopy(o.getCoordinates(),0,u,0,u.length);var l=Et.minCoordinate(o.getCoordinates());Et.scroll(u,l),xe.arraycopy(u,0,o.getCoordinates(),0,u.length),o.getCoordinates()[u.length]=u[0],q.isCCW(o.getCoordinates())===a&&Et.reverse(o.getCoordinates())}},e.prototype.getCoordinate=function(){return this._shell.getCoordinate()},e.prototype.getNumInteriorRing=function(){return this._holes.length},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.getLength=function(){var i=this,s=0;s+=this._shell.getLength();for(var o=0;o<this._holes.length;o++)s+=i._holes[o].getLength();return s},e.prototype.getNumPoints=function(){for(var i=this,s=this._shell.getNumPoints(),o=0;o<this._holes.length;o++)s+=i._holes[o].getNumPoints();return s},e.prototype.reverse=function(){var i=this,s=this.copy();s._shell=this._shell.copy().reverse(),s._holes=new Array(this._holes.length).fill(null);for(var o=0;o<this._holes.length;o++)s._holes[o]=i._holes[o].copy().reverse();return s},e.prototype.convexHull=function(){return this.getExteriorRing().convexHull()},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){var s=arguments[0],o=this._shell,a=s._shell;return o.compareToSameClass(a)}else if(arguments.length===2){var u=arguments[0],l=arguments[1],c=u,h=this._shell,f=c._shell,p=h.compareToSameClass(f,l);if(p!==0)return p;for(var v=this.getNumInteriorRing(),C=c.getNumInteriorRing(),S=0;S<v&&S<C;){var P=i.getInteriorRingN(S),y=c.getInteriorRingN(S),_=P.compareToSameClass(y,l);if(_!==0)return _;S++}return S<v?1:S<C?-1:0}},e.prototype.apply=function(i){var s=this;if(at(i,zr)){this._shell.apply(i);for(var o=0;o<this._holes.length;o++)s._holes[o].apply(i)}else if(at(i,Zn)){if(this._shell.apply(i),!i.isDone())for(var a=0;a<this._holes.length&&(s._holes[a].apply(i),!i.isDone());a++);i.isGeometryChanged()&&this.geometryChanged()}else if(at(i,hr))i.filter(this);else if(at(i,gi)){i.filter(this),this._shell.apply(i);for(var u=0;u<this._holes.length;u++)s._holes[u].apply(i)}},e.prototype.getBoundary=function(){var i=this;if(this.isEmpty())return this.getFactory().createMultiLineString();var s=new Array(this._holes.length+1).fill(null);s[0]=this._shell;for(var o=0;o<this._holes.length;o++)s[o+1]=i._holes[o];return s.length<=1?this.getFactory().createLinearRing(s[0].getCoordinateSequence()):this.getFactory().createMultiLineString(s)},e.prototype.clone=function(){var i=this,s=r.prototype.clone.call(this);s._shell=this._shell.clone(),s._holes=new Array(this._holes.length).fill(null);for(var o=0;o<this._holes.length;o++)s._holes[o]=i._holes[o].clone();return s},e.prototype.getGeometryType=function(){return"Polygon"},e.prototype.copy=function(){for(var i=this,s=this._shell.copy(),o=new Array(this._holes.length).fill(null),a=0;a<o.length;a++)o[a]=i._holes[a].copy();return new e(s,o,this._factory)},e.prototype.getExteriorRing=function(){return this._shell},e.prototype.isEmpty=function(){return this._shell.isEmpty()},e.prototype.getInteriorRingN=function(i){return this._holes[i]},e.prototype.interfaces_=function(){return[Xi]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-0x307ffefd8dc97200},Object.defineProperties(e,t),e}(ot),va=function(r){function e(){r.apply(this,arguments)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return ot.SORTINDEX_MULTIPOINT},e.prototype.isValid=function(){return!0},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?r.prototype.equalsExact.call(this,i,s):!1}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.getCoordinate=function(){if(arguments.length===1){var i=arguments[0];return this._geometries[i].getCoordinate()}else return r.prototype.getCoordinate.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return Mt.FALSE},e.prototype.getDimension=function(){return 0},e.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},e.prototype.getGeometryType=function(){return"MultiPoint"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Hu]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-8048474874175356e3},Object.defineProperties(e,t),e}(Ue),Ur=function(r){function e(n,i){n instanceof R&&i instanceof Ct&&(n=i.getCoordinateSequenceFactory().create(n)),r.call(this,n,i),this.validateConstruction()}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={MINIMUM_VALID_SIZE:{configurable:!0},serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return ot.SORTINDEX_LINEARRING},e.prototype.getBoundaryDimension=function(){return Mt.FALSE},e.prototype.isClosed=function(){return this.isEmpty()?!0:r.prototype.isClosed.call(this)},e.prototype.reverse=function(){var i=this._points.copy();re.reverse(i);var s=this.getFactory().createLinearRing(i);return s},e.prototype.validateConstruction=function(){if(!this.isEmpty()&&!r.prototype.isClosed.call(this))throw new Xt("Points of LinearRing do not form a closed linestring");if(this.getCoordinateSequence().size()>=1&&this.getCoordinateSequence().size()<e.MINIMUM_VALID_SIZE)throw new Xt("Invalid number of points in LinearRing (found "+this.getCoordinateSequence().size()+" - must be 0 or >= 4)")},e.prototype.getGeometryType=function(){return"LinearRing"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.MINIMUM_VALID_SIZE.get=function(){return 4},t.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(e,t),e}(Qt),Gr=function(r){function e(){r.apply(this,arguments)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return ot.SORTINDEX_MULTIPOLYGON},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?r.prototype.equalsExact.call(this,i,s):!1}else return r.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[a]=i._geometries[a].reverse();return this.getFactory().createMultiPolygon(o)},e.prototype.getBoundary=function(){var i=this;if(this.isEmpty())return this.getFactory().createMultiLineString();for(var s=new W,o=0;o<this._geometries.length;o++)for(var a=i._geometries[o],u=a.getBoundary(),l=0;l<u.getNumGeometries();l++)s.add(u.getGeometryN(l));var c=new Array(s.size()).fill(null);return this.getFactory().createMultiLineString(s.toArray(c))},e.prototype.getGeometryType=function(){return"MultiPolygon"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Xi]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-0x7a5aa1369171980},Object.defineProperties(e,t),e}(Ue),Bn=function(e){this._factory=e||null,this._isUserDataCopied=!1},oc={NoOpGeometryOperation:{configurable:!0},CoordinateOperation:{configurable:!0},CoordinateSequenceOperation:{configurable:!0}};Bn.prototype.setCopyUserData=function(e){this._isUserDataCopied=e},Bn.prototype.edit=function(e,t){if(e===null)return null;var n=this.editInternal(e,t);return this._isUserDataCopied&&n.setUserData(e.getUserData()),n},Bn.prototype.editInternal=function(e,t){return this._factory===null&&(this._factory=e.getFactory()),e instanceof Ue?this.editGeometryCollection(e,t):e instanceof fe?this.editPolygon(e,t):e instanceof cn?t.edit(e,this._factory):e instanceof Qt?t.edit(e,this._factory):(vt.shouldNeverReachHere("Unsupported Geometry class: "+e.getClass().getName()),null)},Bn.prototype.editGeometryCollection=function(e,t){for(var n=this,i=t.edit(e,this._factory),s=new W,o=0;o<i.getNumGeometries();o++){var a=n.edit(i.getGeometryN(o),t);a===null||a.isEmpty()||s.add(a)}return i.getClass()===va?this._factory.createMultiPoint(s.toArray([])):i.getClass()===Cs?this._factory.createMultiLineString(s.toArray([])):i.getClass()===Gr?this._factory.createMultiPolygon(s.toArray([])):this._factory.createGeometryCollection(s.toArray([]))},Bn.prototype.editPolygon=function(e,t){var n=this,i=t.edit(e,this._factory);if(i===null&&(i=this._factory.createPolygon(null)),i.isEmpty())return i;var s=this.edit(i.getExteriorRing(),t);if(s===null||s.isEmpty())return this._factory.createPolygon();for(var o=new W,a=0;a<i.getNumInteriorRing();a++){var u=n.edit(i.getInteriorRingN(a),t);u===null||u.isEmpty()||o.add(u)}return this._factory.createPolygon(s,o.toArray([]))},Bn.prototype.interfaces_=function(){return[]},Bn.prototype.getClass=function(){return Bn},Bn.GeometryEditorOperation=function(){},oc.NoOpGeometryOperation.get=function(){return qu},oc.CoordinateOperation.get=function(){return Xu},oc.CoordinateSequenceOperation.get=function(){return Yu},Object.defineProperties(Bn,oc);var qu=function(){};qu.prototype.edit=function(e,t){return e},qu.prototype.interfaces_=function(){return[Bn.GeometryEditorOperation]},qu.prototype.getClass=function(){return qu};var Xu=function(){};Xu.prototype.edit=function(e,t){var n=this.editCoordinates(e.getCoordinates(),e);return n===null?e:e instanceof Ur?t.createLinearRing(n):e instanceof Qt?t.createLineString(n):e instanceof cn?n.length>0?t.createPoint(n[0]):t.createPoint():e},Xu.prototype.interfaces_=function(){return[Bn.GeometryEditorOperation]},Xu.prototype.getClass=function(){return Xu};var Yu=function(){};Yu.prototype.edit=function(e,t){return e instanceof Ur?t.createLinearRing(this.edit(e.getCoordinateSequence(),e)):e instanceof Qt?t.createLineString(this.edit(e.getCoordinateSequence(),e)):e instanceof cn?t.createPoint(this.edit(e.getCoordinateSequence(),e)):e},Yu.prototype.interfaces_=function(){return[Bn.GeometryEditorOperation]},Yu.prototype.getClass=function(){return Yu};var ie=function(){var e=this;if(this._dimension=3,this._coordinates=null,arguments.length===1){if(arguments[0]instanceof Array)this._coordinates=arguments[0],this._dimension=3;else if(Number.isInteger(arguments[0])){var t=arguments[0];this._coordinates=new Array(t).fill(null);for(var n=0;n<t;n++)e._coordinates[n]=new R}else if(at(arguments[0],Tt)){var i=arguments[0];if(i===null)return this._coordinates=new Array(0).fill(null),null;this._dimension=i.getDimension(),this._coordinates=new Array(i.size()).fill(null);for(var s=0;s<this._coordinates.length;s++)e._coordinates[s]=i.getCoordinateCopy(s)}}else if(arguments.length===2){if(arguments[0]instanceof Array&&Number.isInteger(arguments[1])){var o=arguments[0],a=arguments[1];this._coordinates=o,this._dimension=a,o===null&&(this._coordinates=new Array(0).fill(null))}else if(Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var u=arguments[0],l=arguments[1];this._coordinates=new Array(u).fill(null),this._dimension=l;for(var c=0;c<u;c++)e._coordinates[c]=new R}}},Nm={serialVersionUID:{configurable:!0}};ie.prototype.setOrdinate=function(e,t,n){switch(t){case Tt.X:this._coordinates[e].x=n;break;case Tt.Y:this._coordinates[e].y=n;break;case Tt.Z:this._coordinates[e].z=n;break;default:throw new Xt("invalid ordinateIndex")}},ie.prototype.size=function(){return this._coordinates.length},ie.prototype.getOrdinate=function(e,t){switch(t){case Tt.X:return this._coordinates[e].x;case Tt.Y:return this._coordinates[e].y;case Tt.Z:return this._coordinates[e].z}return ht.NaN},ie.prototype.getCoordinate=function(){if(arguments.length===1){var e=arguments[0];return this._coordinates[e]}else if(arguments.length===2){var t=arguments[0],n=arguments[1];n.x=this._coordinates[t].x,n.y=this._coordinates[t].y,n.z=this._coordinates[t].z}},ie.prototype.getCoordinateCopy=function(e){return new R(this._coordinates[e])},ie.prototype.getDimension=function(){return this._dimension},ie.prototype.getX=function(e){return this._coordinates[e].x},ie.prototype.clone=function(){for(var e=this,t=new Array(this.size()).fill(null),n=0;n<this._coordinates.length;n++)t[n]=e._coordinates[n].clone();return new ie(t,this._dimension)},ie.prototype.expandEnvelope=function(e){for(var t=this,n=0;n<this._coordinates.length;n++)e.expandToInclude(t._coordinates[n]);return e},ie.prototype.copy=function(){for(var e=this,t=new Array(this.size()).fill(null),n=0;n<this._coordinates.length;n++)t[n]=e._coordinates[n].copy();return new ie(t,this._dimension)},ie.prototype.toString=function(){var e=this;if(this._coordinates.length>0){var t=new or(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var n=1;n<this._coordinates.length;n++)t.append(", "),t.append(e._coordinates[n]);return t.append(")"),t.toString()}else return"()"},ie.prototype.getY=function(e){return this._coordinates[e].y},ie.prototype.toCoordinateArray=function(){return this._coordinates},ie.prototype.interfaces_=function(){return[Tt,Fn]},ie.prototype.getClass=function(){return ie},Nm.serialVersionUID.get=function(){return-0xcb44a778db18e00},Object.defineProperties(ie,Nm);var Wr=function(){},ud={serialVersionUID:{configurable:!0},instanceObject:{configurable:!0}};Wr.prototype.readResolve=function(){return Wr.instance()},Wr.prototype.create=function(){if(arguments.length===1){if(arguments[0]instanceof Array){var e=arguments[0];return new ie(e)}else if(at(arguments[0],Tt)){var t=arguments[0];return new ie(t)}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];return i>3&&(i=3),i<2?new ie(n):new ie(n,i)}},Wr.prototype.interfaces_=function(){return[aa,Fn]},Wr.prototype.getClass=function(){return Wr},Wr.instance=function(){return Wr.instanceObject},ud.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},ud.instanceObject.get=function(){return new Wr},Object.defineProperties(Wr,ud);var Om=function(r){function e(){r.call(this),this.map_=new Map}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.get=function(n){return this.map_.get(n)||null},e.prototype.put=function(n,i){return this.map_.set(n,i),i},e.prototype.values=function(){for(var n=new W,i=this.map_.values(),s=i.next();!s.done;)n.add(s.value),s=i.next();return n},e.prototype.entrySet=function(){var n=new sd;return this.map_.entries().forEach(function(i){return n.add(i)}),n},e.prototype.size=function(){return this.map_.size()},e}(uo),Rt=function r(){if(this._modelType=null,this._scale=null,arguments.length===0)this._modelType=r.FLOATING;else if(arguments.length===1){if(arguments[0]instanceof dr){var e=arguments[0];this._modelType=e,e===r.FIXED&&this.setScale(1)}else if(typeof arguments[0]=="number"){var t=arguments[0];this._modelType=r.FIXED,this.setScale(t)}else if(arguments[0]instanceof r){var n=arguments[0];this._modelType=n._modelType,this._scale=n._scale}}},ld={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};Rt.prototype.equals=function(e){if(!(e instanceof Rt))return!1;var t=e;return this._modelType===t._modelType&&this._scale===t._scale},Rt.prototype.compareTo=function(e){var t=e,n=this.getMaximumSignificantDigits(),i=t.getMaximumSignificantDigits();return new ar(n).compareTo(new ar(i))},Rt.prototype.getScale=function(){return this._scale},Rt.prototype.isFloating=function(){return this._modelType===Rt.FLOATING||this._modelType===Rt.FLOATING_SINGLE},Rt.prototype.getType=function(){return this._modelType},Rt.prototype.toString=function(){var e="UNKNOWN";return this._modelType===Rt.FLOATING?e="Floating":this._modelType===Rt.FLOATING_SINGLE?e="Floating-Single":this._modelType===Rt.FIXED&&(e="Fixed (Scale="+this.getScale()+")"),e},Rt.prototype.makePrecise=function(){if(typeof arguments[0]=="number"){var e=arguments[0];if(ht.isNaN(e))return e;if(this._modelType===Rt.FLOATING_SINGLE){var t=e;return t}return this._modelType===Rt.FIXED?Math.round(e*this._scale)/this._scale:e}else if(arguments[0]instanceof R){var n=arguments[0];if(this._modelType===Rt.FLOATING)return null;n.x=this.makePrecise(n.x),n.y=this.makePrecise(n.y)}},Rt.prototype.getMaximumSignificantDigits=function(){var e=16;return this._modelType===Rt.FLOATING?e=16:this._modelType===Rt.FLOATING_SINGLE?e=6:this._modelType===Rt.FIXED&&(e=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),e},Rt.prototype.setScale=function(e){this._scale=Math.abs(e)},Rt.prototype.interfaces_=function(){return[Fn,Ln]},Rt.prototype.getClass=function(){return Rt},Rt.mostPrecise=function(e,t){return e.compareTo(t)>=0?e:t},ld.serialVersionUID.get=function(){return 7777263578777804e3},ld.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(Rt,ld);var dr=function r(e){this._name=e||null,r.nameToTypeMap.put(e,this)},cd={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};dr.prototype.readResolve=function(){return dr.nameToTypeMap.get(this._name)},dr.prototype.toString=function(){return this._name},dr.prototype.interfaces_=function(){return[Fn]},dr.prototype.getClass=function(){return dr},cd.serialVersionUID.get=function(){return-552860263173159e4},cd.nameToTypeMap.get=function(){return new Om},Object.defineProperties(dr,cd),Rt.Type=dr,Rt.FIXED=new dr("FIXED"),Rt.FLOATING=new dr("FLOATING"),Rt.FLOATING_SINGLE=new dr("FLOATING SINGLE");var Ct=function r(){this._precisionModel=new Rt,this._SRID=0,this._coordinateSequenceFactory=r.getDefaultCoordinateSequenceFactory(),arguments.length===0||(arguments.length===1?at(arguments[0],aa)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof Rt&&(this._precisionModel=arguments[0]):arguments.length===2?(this._precisionModel=arguments[0],this._SRID=arguments[1]):arguments.length===3&&(this._precisionModel=arguments[0],this._SRID=arguments[1],this._coordinateSequenceFactory=arguments[2]))},Dm={serialVersionUID:{configurable:!0}};Ct.prototype.toGeometry=function(e){return e.isNull()?this.createPoint(null):e.getMinX()===e.getMaxX()&&e.getMinY()===e.getMaxY()?this.createPoint(new R(e.getMinX(),e.getMinY())):e.getMinX()===e.getMaxX()||e.getMinY()===e.getMaxY()?this.createLineString([new R(e.getMinX(),e.getMinY()),new R(e.getMaxX(),e.getMaxY())]):this.createPolygon(this.createLinearRing([new R(e.getMinX(),e.getMinY()),new R(e.getMinX(),e.getMaxY()),new R(e.getMaxX(),e.getMaxY()),new R(e.getMaxX(),e.getMinY()),new R(e.getMinX(),e.getMinY())]),null)},Ct.prototype.createLineString=function(e){if(e){if(e instanceof Array)return new Qt(this.getCoordinateSequenceFactory().create(e),this);if(at(e,Tt))return new Qt(e,this)}else return new Qt(this.getCoordinateSequenceFactory().create([]),this)},Ct.prototype.createMultiLineString=function(){if(arguments.length===0)return new Cs(null,this);if(arguments.length===1){var e=arguments[0];return new Cs(e,this)}},Ct.prototype.buildGeometry=function(e){for(var t=null,n=!1,i=!1,s=e.iterator();s.hasNext();){var o=s.next(),a=o.getClass();t===null&&(t=a),a!==t&&(n=!0),o.isGeometryCollectionOrDerived()&&(i=!0)}if(t===null)return this.createGeometryCollection();if(n||i)return this.createGeometryCollection(Ct.toGeometryArray(e));var u=e.iterator().next(),l=e.size()>1;if(l){if(u instanceof fe)return this.createMultiPolygon(Ct.toPolygonArray(e));if(u instanceof Qt)return this.createMultiLineString(Ct.toLineStringArray(e));if(u instanceof cn)return this.createMultiPoint(Ct.toPointArray(e));vt.shouldNeverReachHere("Unhandled class: "+u.getClass().getName())}return u},Ct.prototype.createMultiPointFromCoords=function(e){return this.createMultiPoint(e!==null?this.getCoordinateSequenceFactory().create(e):null)},Ct.prototype.createPoint=function(){if(arguments.length===0)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof R){var e=arguments[0];return this.createPoint(e!==null?this.getCoordinateSequenceFactory().create([e]):null)}else if(at(arguments[0],Tt)){var t=arguments[0];return new cn(t,this)}}},Ct.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},Ct.prototype.createPolygon=function(){if(arguments.length===0)return new fe(null,null,this);if(arguments.length===1){if(at(arguments[0],Tt)){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}else if(arguments[0]instanceof Array){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}else if(arguments[0]instanceof Ur){var n=arguments[0];return this.createPolygon(n,null)}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];return new fe(i,s,this)}},Ct.prototype.getSRID=function(){return this._SRID},Ct.prototype.createGeometryCollection=function(){if(arguments.length===0)return new Ue(null,this);if(arguments.length===1){var e=arguments[0];return new Ue(e,this)}},Ct.prototype.createGeometry=function(e){var t=new Bn(this);return t.edit(e,{edit:function(){if(arguments.length===2){var n=arguments[0];return this._coordinateSequenceFactory.create(n)}}})},Ct.prototype.getPrecisionModel=function(){return this._precisionModel},Ct.prototype.createLinearRing=function(){if(arguments.length===0)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof Array){var e=arguments[0];return this.createLinearRing(e!==null?this.getCoordinateSequenceFactory().create(e):null)}else if(at(arguments[0],Tt)){var t=arguments[0];return new Ur(t,this)}}},Ct.prototype.createMultiPolygon=function(){if(arguments.length===0)return new Gr(null,this);if(arguments.length===1){var e=arguments[0];return new Gr(e,this)}},Ct.prototype.createMultiPoint=function(){var e=this;if(arguments.length===0)return new va(null,this);if(arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];return new va(t,this)}else if(arguments[0]instanceof Array){var n=arguments[0];return this.createMultiPoint(n!==null?this.getCoordinateSequenceFactory().create(n):null)}else if(at(arguments[0],Tt)){var i=arguments[0];if(i===null)return this.createMultiPoint(new Array(0).fill(null));for(var s=new Array(i.size()).fill(null),o=0;o<i.size();o++){var a=e.getCoordinateSequenceFactory().create(1,i.getDimension());re.copy(i,o,a,0,1),s[o]=e.createPoint(a)}return this.createMultiPoint(s)}}},Ct.prototype.interfaces_=function(){return[Fn]},Ct.prototype.getClass=function(){return Ct},Ct.toMultiPolygonArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toGeometryArray=function(e){if(e===null)return null;var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.getDefaultCoordinateSequenceFactory=function(){return Wr.instance()},Ct.toMultiLineStringArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toLineStringArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toMultiPointArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toLinearRingArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toPointArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.toPolygonArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},Ct.createPointFromInternalCoord=function(e,t){return t.getPrecisionModel().makePrecise(e),t.getFactory().createPoint(e)},Dm.serialVersionUID.get=function(){return-6820524753094096e3},Object.defineProperties(Ct,Dm);var XE=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],ac=function(e){this.geometryFactory=e||new Ct};ac.prototype.read=function(e){var t;typeof e=="string"?t=JSON.parse(e):t=e;var n=t.type;if(!fr[n])throw new Error("Unknown GeoJSON type: "+t.type);return XE.indexOf(n)!==-1?fr[n].apply(this,[t.coordinates]):n==="GeometryCollection"?fr[n].apply(this,[t.geometries]):fr[n].apply(this,[t])},ac.prototype.write=function(e){var t=e.getGeometryType();if(!_i[t])throw new Error("Geometry is not supported");return _i[t].apply(this,[e])};var fr={Feature:function(r){var e={};for(var t in r)e[t]=r[t];if(r.geometry){var n=r.geometry.type;if(!fr[n])throw new Error("Unknown GeoJSON type: "+r.type);e.geometry=this.read(r.geometry)}return r.bbox&&(e.bbox=fr.bbox.apply(this,[r.bbox])),e},FeatureCollection:function(r){var e=this,t={};if(r.features){t.features=[];for(var n=0;n<r.features.length;++n)t.features.push(e.read(r.features[n]))}return r.bbox&&(t.bbox=this.parse.bbox.apply(this,[r.bbox])),t},coordinates:function(r){for(var e=[],t=0;t<r.length;++t){var n=r[t];e.push(new R(n[0],n[1]))}return e},bbox:function(r){return this.geometryFactory.createLinearRing([new R(r[0],r[1]),new R(r[2],r[1]),new R(r[2],r[3]),new R(r[0],r[3]),new R(r[0],r[1])])},Point:function(r){var e=new R(r[0],r[1]);return this.geometryFactory.createPoint(e)},MultiPoint:function(r){for(var e=this,t=[],n=0;n<r.length;++n)t.push(fr.Point.apply(e,[r[n]]));return this.geometryFactory.createMultiPoint(t)},LineString:function(r){var e=fr.coordinates.apply(this,[r]);return this.geometryFactory.createLineString(e)},MultiLineString:function(r){for(var e=this,t=[],n=0;n<r.length;++n)t.push(fr.LineString.apply(e,[r[n]]));return this.geometryFactory.createMultiLineString(t)},Polygon:function(r){for(var e=this,t=fr.coordinates.apply(this,[r[0]]),n=this.geometryFactory.createLinearRing(t),i=[],s=1;s<r.length;++s){var o=r[s],a=fr.coordinates.apply(e,[o]),u=e.geometryFactory.createLinearRing(a);i.push(u)}return this.geometryFactory.createPolygon(n,i)},MultiPolygon:function(r){for(var e=this,t=[],n=0;n<r.length;++n){var i=r[n];t.push(fr.Polygon.apply(e,[i]))}return this.geometryFactory.createMultiPolygon(t)},GeometryCollection:function(r){for(var e=this,t=[],n=0;n<r.length;++n){var i=r[n];t.push(e.read(i))}return this.geometryFactory.createGeometryCollection(t)}},_i={coordinate:function(r){return[r.x,r.y]},Point:function(r){var e=_i.coordinate.apply(this,[r.getCoordinate()]);return{type:"Point",coordinates:e}},MultiPoint:function(r){for(var e=this,t=[],n=0;n<r._geometries.length;++n){var i=r._geometries[n],s=_i.Point.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiPoint",coordinates:t}},LineString:function(r){for(var e=this,t=[],n=r.getCoordinates(),i=0;i<n.length;++i){var s=n[i];t.push(_i.coordinate.apply(e,[s]))}return{type:"LineString",coordinates:t}},MultiLineString:function(r){for(var e=this,t=[],n=0;n<r._geometries.length;++n){var i=r._geometries[n],s=_i.LineString.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiLineString",coordinates:t}},Polygon:function(r){var e=this,t=[],n=_i.LineString.apply(this,[r._shell]);t.push(n.coordinates);for(var i=0;i<r._holes.length;++i){var s=r._holes[i],o=_i.LineString.apply(e,[s]);t.push(o.coordinates)}return{type:"Polygon",coordinates:t}},MultiPolygon:function(r){for(var e=this,t=[],n=0;n<r._geometries.length;++n){var i=r._geometries[n],s=_i.Polygon.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiPolygon",coordinates:t}},GeometryCollection:function(r){for(var e=this,t=[],n=0;n<r._geometries.length;++n){var i=r._geometries[n],s=i.getGeometryType();t.push(_i[s].apply(e,[i]))}return{type:"GeometryCollection",geometries:t}}},hd=function(e){this.geometryFactory=e||new Ct,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new ac(this.geometryFactory)};hd.prototype.read=function(e){var t=this.parser.read(e);return this.precisionModel.getType()===Rt.FIXED&&this.reducePrecision(t),t},hd.prototype.reducePrecision=function(e){var t=this,n,i;if(e.coordinate)this.precisionModel.makePrecise(e.coordinate);else if(e.points)for(n=0,i=e.points.length;n<i;n++)t.precisionModel.makePrecise(e.points[n]);else if(e.geometries)for(n=0,i=e.geometries.length;n<i;n++)t.reducePrecision(e.geometries[n])};var Mm=function(){this.parser=new ac(this.geometryFactory)};Mm.prototype.write=function(e){return this.parser.write(e)};var U=function(){},uc={ON:{configurable:!0},LEFT:{configurable:!0},RIGHT:{configurable:!0}};U.prototype.interfaces_=function(){return[]},U.prototype.getClass=function(){return U},U.opposite=function(e){return e===U.LEFT?U.RIGHT:e===U.RIGHT?U.LEFT:e},uc.ON.get=function(){return 0},uc.LEFT.get=function(){return 1},uc.RIGHT.get=function(){return 2},Object.defineProperties(U,uc);function lc(r){this.message=r||""}lc.prototype=new Error,lc.prototype.name="EmptyStackException";function pr(){this.array_=[]}pr.prototype=new $n,pr.prototype.add=function(r){return this.array_.push(r),!0},pr.prototype.get=function(r){if(r<0||r>=this.size())throw new Error;return this.array_[r]},pr.prototype.push=function(r){return this.array_.push(r),r},pr.prototype.pop=function(r){if(this.array_.length===0)throw new lc;return this.array_.pop()},pr.prototype.peek=function(){if(this.array_.length===0)throw new lc;return this.array_[this.array_.length-1]},pr.prototype.empty=function(){return this.array_.length===0},pr.prototype.isEmpty=function(){return this.empty()},pr.prototype.search=function(r){return this.array_.indexOf(r)},pr.prototype.size=function(){return this.array_.length},pr.prototype.toArray=function(){for(var r=this,e=[],t=0,n=this.array_.length;t<n;t++)e.push(r.array_[t]);return e};var gr=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null};gr.prototype.getCoordinate=function(){return this._minCoord},gr.prototype.getRightmostSide=function(e,t){var n=this.getRightmostSideOfSegment(e,t);return n<0&&(n=this.getRightmostSideOfSegment(e,t-1)),n<0&&(this._minCoord=null,this.checkForRightmostCoordinate(e)),n},gr.prototype.findRightmostEdgeAtVertex=function(){var e=this._minDe.getEdge().getCoordinates();vt.isTrue(this._minIndex>0&&this._minIndex<e.length,"rightmost point expected to be interior vertex of edge");var t=e[this._minIndex-1],n=e[this._minIndex+1],i=q.computeOrientation(this._minCoord,n,t),s=!1;(t.y<this._minCoord.y&&n.y<this._minCoord.y&&i===q.COUNTERCLOCKWISE||t.y>this._minCoord.y&&n.y>this._minCoord.y&&i===q.CLOCKWISE)&&(s=!0),s&&(this._minIndex=this._minIndex-1)},gr.prototype.getRightmostSideOfSegment=function(e,t){var n=e.getEdge(),i=n.getCoordinates();if(t<0||t+1>=i.length||i[t].y===i[t+1].y)return-1;var s=U.LEFT;return i[t].y<i[t+1].y&&(s=U.RIGHT),s},gr.prototype.getEdge=function(){return this._orientedDe},gr.prototype.checkForRightmostCoordinate=function(e){for(var t=this,n=e.getEdge().getCoordinates(),i=0;i<n.length-1;i++)(t._minCoord===null||n[i].x>t._minCoord.x)&&(t._minDe=e,t._minIndex=i,t._minCoord=n[i])},gr.prototype.findRightmostEdgeAtNode=function(){var e=this._minDe.getNode(),t=e.getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},gr.prototype.findEdge=function(e){for(var t=this,n=e.iterator();n.hasNext();){var i=n.next();i.isForward()&&t.checkForRightmostCoordinate(i)}vt.isTrue(this._minIndex!==0||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),this._minIndex===0?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe;var s=this.getRightmostSide(this._minDe,this._minIndex);s===U.LEFT&&(this._orientedDe=this._minDe.getSym())},gr.prototype.interfaces_=function(){return[]},gr.prototype.getClass=function(){return gr};var wi=function(r){function e(t,n){r.call(this,e.msgWithCoord(t,n)),this.pt=n?new R(n):null,this.name="TopologyException"}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.getCoordinate=function(){return this.pt},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.msgWithCoord=function(n,i){return i?n:n+" [ "+i+" ]"},e}(pi),cc=function(){this.array_=[]};cc.prototype.addLast=function(e){this.array_.push(e)},cc.prototype.removeFirst=function(){return this.array_.shift()},cc.prototype.isEmpty=function(){return this.array_.length===0};var Ge=function(){this._finder=null,this._dirEdgeList=new W,this._nodes=new W,this._rightMostCoord=null,this._env=null,this._finder=new gr};Ge.prototype.clearVisitedEdges=function(){for(var e=this._dirEdgeList.iterator();e.hasNext();){var t=e.next();t.setVisited(!1)}},Ge.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},Ge.prototype.computeNodeDepth=function(e){for(var t=this,n=null,i=e.getEdges().iterator();i.hasNext();){var s=i.next();if(s.isVisited()||s.getSym().isVisited()){n=s;break}}if(n===null)throw new wi("unable to find edge to compute depths at "+e.getCoordinate());e.getEdges().computeDepths(n);for(var o=e.getEdges().iterator();o.hasNext();){var a=o.next();a.setVisited(!0),t.copySymDepths(a)}},Ge.prototype.computeDepth=function(e){this.clearVisitedEdges();var t=this._finder.getEdge();t.setEdgeDepths(U.RIGHT,e),this.copySymDepths(t),this.computeDepths(t)},Ge.prototype.create=function(e){this.addReachable(e),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},Ge.prototype.findResultEdges=function(){for(var e=this._dirEdgeList.iterator();e.hasNext();){var t=e.next();t.getDepth(U.RIGHT)>=1&&t.getDepth(U.LEFT)<=0&&!t.isInteriorAreaEdge()&&t.setInResult(!0)}},Ge.prototype.computeDepths=function(e){var t=this,n=new sd,i=new cc,s=e.getNode();for(i.addLast(s),n.add(s),e.setVisited(!0);!i.isEmpty();){var o=i.removeFirst();n.add(o),t.computeNodeDepth(o);for(var a=o.getEdges().iterator();a.hasNext();){var u=a.next(),l=u.getSym();if(!l.isVisited()){var c=l.getNode();n.contains(c)||(i.addLast(c),n.add(c))}}}},Ge.prototype.compareTo=function(e){var t=e;return this._rightMostCoord.x<t._rightMostCoord.x?-1:this._rightMostCoord.x>t._rightMostCoord.x?1:0},Ge.prototype.getEnvelope=function(){if(this._env===null){for(var e=new Q,t=this._dirEdgeList.iterator();t.hasNext();)for(var n=t.next(),i=n.getEdge().getCoordinates(),s=0;s<i.length-1;s++)e.expandToInclude(i[s]);this._env=e}return this._env},Ge.prototype.addReachable=function(e){var t=this,n=new pr;for(n.add(e);!n.empty();){var i=n.pop();t.add(i,n)}},Ge.prototype.copySymDepths=function(e){var t=e.getSym();t.setDepth(U.LEFT,e.getDepth(U.RIGHT)),t.setDepth(U.RIGHT,e.getDepth(U.LEFT))},Ge.prototype.add=function(e,t){var n=this;e.setVisited(!0),this._nodes.add(e);for(var i=e.getEdges().iterator();i.hasNext();){var s=i.next();n._dirEdgeList.add(s);var o=s.getSym(),a=o.getNode();a.isVisited()||t.push(a)}},Ge.prototype.getNodes=function(){return this._nodes},Ge.prototype.getDirectedEdges=function(){return this._dirEdgeList},Ge.prototype.interfaces_=function(){return[Ln]},Ge.prototype.getClass=function(){return Ge};var Gt=function r(){var e=this;if(this.location=null,arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];this.init(t.length)}else if(Number.isInteger(arguments[0])){var n=arguments[0];this.init(1),this.location[U.ON]=n}else if(arguments[0]instanceof r){var i=arguments[0];if(this.init(i.location.length),i!==null)for(var s=0;s<this.location.length;s++)e.location[s]=i.location[s]}}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2];this.init(3),this.location[U.ON]=o,this.location[U.LEFT]=a,this.location[U.RIGHT]=u}};Gt.prototype.setAllLocations=function(e){for(var t=this,n=0;n<this.location.length;n++)t.location[n]=e},Gt.prototype.isNull=function(){for(var e=this,t=0;t<this.location.length;t++)if(e.location[t]!==F.NONE)return!1;return!0},Gt.prototype.setAllLocationsIfNull=function(e){for(var t=this,n=0;n<this.location.length;n++)t.location[n]===F.NONE&&(t.location[n]=e)},Gt.prototype.isLine=function(){return this.location.length===1},Gt.prototype.merge=function(e){var t=this;if(e.location.length>this.location.length){var n=new Array(3).fill(null);n[U.ON]=this.location[U.ON],n[U.LEFT]=F.NONE,n[U.RIGHT]=F.NONE,this.location=n}for(var i=0;i<this.location.length;i++)t.location[i]===F.NONE&&i<e.location.length&&(t.location[i]=e.location[i])},Gt.prototype.getLocations=function(){return this.location},Gt.prototype.flip=function(){if(this.location.length<=1)return null;var e=this.location[U.LEFT];this.location[U.LEFT]=this.location[U.RIGHT],this.location[U.RIGHT]=e},Gt.prototype.toString=function(){var e=new or;return this.location.length>1&&e.append(F.toLocationSymbol(this.location[U.LEFT])),e.append(F.toLocationSymbol(this.location[U.ON])),this.location.length>1&&e.append(F.toLocationSymbol(this.location[U.RIGHT])),e.toString()},Gt.prototype.setLocations=function(e,t,n){this.location[U.ON]=e,this.location[U.LEFT]=t,this.location[U.RIGHT]=n},Gt.prototype.get=function(e){return e<this.location.length?this.location[e]:F.NONE},Gt.prototype.isArea=function(){return this.location.length>1},Gt.prototype.isAnyNull=function(){for(var e=this,t=0;t<this.location.length;t++)if(e.location[t]===F.NONE)return!0;return!1},Gt.prototype.setLocation=function(){if(arguments.length===1){var e=arguments[0];this.setLocation(U.ON,e)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this.location[t]=n}},Gt.prototype.init=function(e){this.location=new Array(e).fill(null),this.setAllLocations(F.NONE)},Gt.prototype.isEqualOnSide=function(e,t){return this.location[t]===e.location[t]},Gt.prototype.allPositionsEqual=function(e){for(var t=this,n=0;n<this.location.length;n++)if(t.location[n]!==e)return!1;return!0},Gt.prototype.interfaces_=function(){return[]},Gt.prototype.getClass=function(){return Gt};var Vt=function r(){if(this.elt=new Array(2).fill(null),arguments.length===1){if(Number.isInteger(arguments[0])){var e=arguments[0];this.elt[0]=new Gt(e),this.elt[1]=new Gt(e)}else if(arguments[0]instanceof r){var t=arguments[0];this.elt[0]=new Gt(t.elt[0]),this.elt[1]=new Gt(t.elt[1])}}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this.elt[0]=new Gt(F.NONE),this.elt[1]=new Gt(F.NONE),this.elt[n].setLocation(i)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];this.elt[0]=new Gt(s,o,a),this.elt[1]=new Gt(s,o,a)}else if(arguments.length===4){var u=arguments[0],l=arguments[1],c=arguments[2],h=arguments[3];this.elt[0]=new Gt(F.NONE,F.NONE,F.NONE),this.elt[1]=new Gt(F.NONE,F.NONE,F.NONE),this.elt[u].setLocations(l,c,h)}};Vt.prototype.getGeometryCount=function(){var e=0;return this.elt[0].isNull()||e++,this.elt[1].isNull()||e++,e},Vt.prototype.setAllLocations=function(e,t){this.elt[e].setAllLocations(t)},Vt.prototype.isNull=function(e){return this.elt[e].isNull()},Vt.prototype.setAllLocationsIfNull=function(){if(arguments.length===1){var e=arguments[0];this.setAllLocationsIfNull(0,e),this.setAllLocationsIfNull(1,e)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this.elt[t].setAllLocationsIfNull(n)}},Vt.prototype.isLine=function(e){return this.elt[e].isLine()},Vt.prototype.merge=function(e){for(var t=this,n=0;n<2;n++)t.elt[n]===null&&e.elt[n]!==null?t.elt[n]=new Gt(e.elt[n]):t.elt[n].merge(e.elt[n])},Vt.prototype.flip=function(){this.elt[0].flip(),this.elt[1].flip()},Vt.prototype.getLocation=function(){if(arguments.length===1){var e=arguments[0];return this.elt[e].get(U.ON)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];return this.elt[t].get(n)}},Vt.prototype.toString=function(){var e=new or;return this.elt[0]!==null&&(e.append("A:"),e.append(this.elt[0].toString())),this.elt[1]!==null&&(e.append(" B:"),e.append(this.elt[1].toString())),e.toString()},Vt.prototype.isArea=function(){if(arguments.length===0)return this.elt[0].isArea()||this.elt[1].isArea();if(arguments.length===1){var e=arguments[0];return this.elt[e].isArea()}},Vt.prototype.isAnyNull=function(e){return this.elt[e].isAnyNull()},Vt.prototype.setLocation=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];this.elt[e].setLocation(U.ON,t)}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this.elt[n].setLocation(i,s)}},Vt.prototype.isEqualOnSide=function(e,t){return this.elt[0].isEqualOnSide(e.elt[0],t)&&this.elt[1].isEqualOnSide(e.elt[1],t)},Vt.prototype.allPositionsEqual=function(e,t){return this.elt[e].allPositionsEqual(t)},Vt.prototype.toLine=function(e){this.elt[e].isArea()&&(this.elt[e]=new Gt(this.elt[e].location[0]))},Vt.prototype.interfaces_=function(){return[]},Vt.prototype.getClass=function(){return Vt},Vt.toLineLabel=function(e){for(var t=new Vt(F.NONE),n=0;n<2;n++)t.setLocation(n,e.getLocation(n));return t};var ue=function(){this._startDe=null,this._maxNodeDegree=-1,this._edges=new W,this._pts=new W,this._label=new Vt(F.NONE),this._ring=null,this._isHole=null,this._shell=null,this._holes=new W,this._geometryFactory=null;var e=arguments[0],t=arguments[1];this._geometryFactory=t,this.computePoints(e),this.computeRing()};ue.prototype.computeRing=function(){var e=this;if(this._ring!==null)return null;for(var t=new Array(this._pts.size()).fill(null),n=0;n<this._pts.size();n++)t[n]=e._pts.get(n);this._ring=this._geometryFactory.createLinearRing(t),this._isHole=q.isCCW(this._ring.getCoordinates())},ue.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},ue.prototype.computePoints=function(e){var t=this;this._startDe=e;var n=e,i=!0;do{if(n===null)throw new wi("Found null DirectedEdge");if(n.getEdgeRing()===t)throw new wi("Directed Edge visited twice during ring-building at "+n.getCoordinate());t._edges.add(n);var s=n.getLabel();vt.isTrue(s.isArea()),t.mergeLabel(s),t.addPoints(n.getEdge(),n.isForward(),i),i=!1,t.setEdgeRing(n,t),n=t.getNext(n)}while(n!==this._startDe)},ue.prototype.getLinearRing=function(){return this._ring},ue.prototype.getCoordinate=function(e){return this._pts.get(e)},ue.prototype.computeMaxNodeDegree=function(){var e=this;this._maxNodeDegree=0;var t=this._startDe;do{var n=t.getNode(),i=n.getEdges().getOutgoingDegree(e);i>e._maxNodeDegree&&(e._maxNodeDegree=i),t=e.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2},ue.prototype.addPoints=function(e,t,n){var i=this,s=e.getCoordinates();if(t){var o=1;n&&(o=0);for(var a=o;a<s.length;a++)i._pts.add(s[a])}else{var u=s.length-2;n&&(u=s.length-1);for(var l=u;l>=0;l--)i._pts.add(s[l])}},ue.prototype.isHole=function(){return this._isHole},ue.prototype.setInResult=function(){var e=this._startDe;do e.getEdge().setInResult(!0),e=e.getNext();while(e!==this._startDe)},ue.prototype.containsPoint=function(e){var t=this.getLinearRing(),n=t.getEnvelopeInternal();if(!n.contains(e)||!q.isPointInRing(e,t.getCoordinates()))return!1;for(var i=this._holes.iterator();i.hasNext();){var s=i.next();if(s.containsPoint(e))return!1}return!0},ue.prototype.addHole=function(e){this._holes.add(e)},ue.prototype.isShell=function(){return this._shell===null},ue.prototype.getLabel=function(){return this._label},ue.prototype.getEdges=function(){return this._edges},ue.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},ue.prototype.getShell=function(){return this._shell},ue.prototype.mergeLabel=function(){if(arguments.length===1){var e=arguments[0];this.mergeLabel(e,0),this.mergeLabel(e,1)}else if(arguments.length===2){var t=arguments[0],n=arguments[1],i=t.getLocation(n,U.RIGHT);if(i===F.NONE)return null;if(this._label.getLocation(n)===F.NONE)return this._label.setLocation(n,i),null}},ue.prototype.setShell=function(e){this._shell=e,e!==null&&e.addHole(this)},ue.prototype.toPolygon=function(e){for(var t=this,n=new Array(this._holes.size()).fill(null),i=0;i<this._holes.size();i++)n[i]=t._holes.get(i).getLinearRing();var s=e.createPolygon(this.getLinearRing(),n);return s},ue.prototype.interfaces_=function(){return[]},ue.prototype.getClass=function(){return ue};var YE=function(r){function e(){var t=arguments[0],n=arguments[1];r.call(this,t,n)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.setEdgeRing=function(n,i){n.setMinEdgeRing(i)},e.prototype.getNext=function(n){return n.getNextMin()},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(ue),JE=function(r){function e(){var t=arguments[0],n=arguments[1];r.call(this,t,n)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.buildMinimalRings=function(){var n=this,i=new W,s=this._startDe;do{if(s.getMinEdgeRing()===null){var o=new YE(s,n._geometryFactory);i.add(o)}s=s.getNext()}while(s!==this._startDe);return i},e.prototype.setEdgeRing=function(n,i){n.setEdgeRing(i)},e.prototype.linkDirectedEdgesForMinimalEdgeRings=function(){var n=this,i=this._startDe;do{var s=i.getNode();s.getEdges().linkMinimalDirectedEdges(n),i=i.getNext()}while(i!==this._startDe)},e.prototype.getNext=function(n){return n.getNext()},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(ue),In=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this._label=e}}};In.prototype.setVisited=function(e){this._isVisited=e},In.prototype.setInResult=function(e){this._isInResult=e},In.prototype.isCovered=function(){return this._isCovered},In.prototype.isCoveredSet=function(){return this._isCoveredSet},In.prototype.setLabel=function(e){this._label=e},In.prototype.getLabel=function(){return this._label},In.prototype.setCovered=function(e){this._isCovered=e,this._isCoveredSet=!0},In.prototype.updateIM=function(e){vt.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(e)},In.prototype.isInResult=function(){return this._isInResult},In.prototype.isVisited=function(){return this._isVisited},In.prototype.interfaces_=function(){return[]},In.prototype.getClass=function(){return In};var hc=function(r){function e(){r.call(this),this._coord=null,this._edges=null;var t=arguments[0],n=arguments[1];this._coord=t,this._edges=n,this._label=new Vt(0,F.NONE)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.isIncidentEdgeInResult=function(){for(var n=this.getEdges().getEdges().iterator();n.hasNext();){var i=n.next();if(i.getEdge().isInResult())return!0}return!1},e.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},e.prototype.getCoordinate=function(){return this._coord},e.prototype.print=function(n){n.println("node "+this._coord+" lbl: "+this._label)},e.prototype.computeIM=function(n){},e.prototype.computeMergedLocation=function(n,i){var s=F.NONE;if(s=this._label.getLocation(i),!n.isNull(i)){var o=n.getLocation(i);s!==F.BOUNDARY&&(s=o)}return s},e.prototype.setLabel=function(){if(arguments.length===2){var n=arguments[0],i=arguments[1];this._label===null?this._label=new Vt(n,i):this._label.setLocation(n,i)}else return r.prototype.setLabel.apply(this,arguments)},e.prototype.getEdges=function(){return this._edges},e.prototype.mergeLabel=function(){var n=this;if(arguments[0]instanceof e){var i=arguments[0];this.mergeLabel(i._label)}else if(arguments[0]instanceof Vt)for(var s=arguments[0],o=0;o<2;o++){var a=n.computeMergedLocation(s,o),u=n._label.getLocation(o);u===F.NONE&&n._label.setLocation(o,a)}},e.prototype.add=function(n){this._edges.insert(n),n.setNode(this)},e.prototype.setLabelBoundary=function(n){if(this._label===null)return null;var i=F.NONE;this._label!==null&&(i=this._label.getLocation(n));var s=null;switch(i){case F.BOUNDARY:s=F.INTERIOR;break;case F.INTERIOR:s=F.BOUNDARY;break;default:s=F.BOUNDARY;break}this._label.setLocation(n,s)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(In),mr=function(){this.nodeMap=new Ae,this.nodeFact=null;var e=arguments[0];this.nodeFact=e};mr.prototype.find=function(e){return this.nodeMap.get(e)},mr.prototype.addNode=function(){if(arguments[0]instanceof R){var e=arguments[0],t=this.nodeMap.get(e);return t===null&&(t=this.nodeFact.createNode(e),this.nodeMap.put(e,t)),t}else if(arguments[0]instanceof hc){var n=arguments[0],i=this.nodeMap.get(n.getCoordinate());return i===null?(this.nodeMap.put(n.getCoordinate(),n),n):(i.mergeLabel(n),i)}},mr.prototype.print=function(e){for(var t=this.iterator();t.hasNext();){var n=t.next();n.print(e)}},mr.prototype.iterator=function(){return this.nodeMap.values().iterator()},mr.prototype.values=function(){return this.nodeMap.values()},mr.prototype.getBoundaryNodes=function(e){for(var t=new W,n=this.iterator();n.hasNext();){var i=n.next();i.getLabel().getLocation(e)===F.BOUNDARY&&t.add(i)}return t},mr.prototype.add=function(e){var t=e.getCoordinate(),n=this.addNode(t);n.add(e)},mr.prototype.interfaces_=function(){return[]},mr.prototype.getClass=function(){return mr};var Bt=function(){},Ju={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};Bt.prototype.interfaces_=function(){return[]},Bt.prototype.getClass=function(){return Bt},Bt.isNorthern=function(e){return e===Bt.NE||e===Bt.NW},Bt.isOpposite=function(e,t){if(e===t)return!1;var n=(e-t+4)%4;return n===2},Bt.commonHalfPlane=function(e,t){if(e===t)return e;var n=(e-t+4)%4;if(n===2)return-1;var i=e<t?e:t,s=e>t?e:t;return i===0&&s===3?3:i},Bt.isInHalfPlane=function(e,t){return t===Bt.SE?e===Bt.SE||e===Bt.SW:e===t||e===t+1},Bt.quadrant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];if(e===0&&t===0)throw new Xt("Cannot compute the quadrant for point ( "+e+", "+t+" )");return e>=0?t>=0?Bt.NE:Bt.SE:t>=0?Bt.NW:Bt.SW}else if(arguments[0]instanceof R&&arguments[1]instanceof R){var n=arguments[0],i=arguments[1];if(i.x===n.x&&i.y===n.y)throw new Xt("Cannot compute the quadrant for two identical points "+n);return i.x>=n.x?i.y>=n.y?Bt.NE:Bt.SE:i.y>=n.y?Bt.NW:Bt.SW}},Ju.NE.get=function(){return 0},Ju.NW.get=function(){return 1},Ju.SW.get=function(){return 2},Ju.SE.get=function(){return 3},Object.defineProperties(Bt,Ju);var ke=function(){if(this._edge=null,this._label=null,this._node=null,this._p0=null,this._p1=null,this._dx=null,this._dy=null,this._quadrant=null,arguments.length===1){var e=arguments[0];this._edge=e}else if(arguments.length===3){var t=arguments[0],n=arguments[1],i=arguments[2],s=null;this._edge=t,this.init(n,i),this._label=s}else if(arguments.length===4){var o=arguments[0],a=arguments[1],u=arguments[2],l=arguments[3];this._edge=o,this.init(a,u),this._label=l}};ke.prototype.compareDirection=function(e){return this._dx===e._dx&&this._dy===e._dy?0:this._quadrant>e._quadrant?1:this._quadrant<e._quadrant?-1:q.computeOrientation(e._p0,e._p1,this._p1)},ke.prototype.getDy=function(){return this._dy},ke.prototype.getCoordinate=function(){return this._p0},ke.prototype.setNode=function(e){this._node=e},ke.prototype.print=function(e){var t=Math.atan2(this._dy,this._dx),n=this.getClass().getName(),i=n.lastIndexOf("."),s=n.substring(i+1);e.print(" "+s+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+t+" "+this._label)},ke.prototype.compareTo=function(e){var t=e;return this.compareDirection(t)},ke.prototype.getDirectedCoordinate=function(){return this._p1},ke.prototype.getDx=function(){return this._dx},ke.prototype.getLabel=function(){return this._label},ke.prototype.getEdge=function(){return this._edge},ke.prototype.getQuadrant=function(){return this._quadrant},ke.prototype.getNode=function(){return this._node},ke.prototype.toString=function(){var e=Math.atan2(this._dy,this._dx),t=this.getClass().getName(),n=t.lastIndexOf("."),i=t.substring(n+1);return" "+i+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+e+" "+this._label},ke.prototype.computeLabel=function(e){},ke.prototype.init=function(e,t){this._p0=e,this._p1=t,this._dx=t.x-e.x,this._dy=t.y-e.y,this._quadrant=Bt.quadrant(this._dx,this._dy),vt.isTrue(!(this._dx===0&&this._dy===0),"EdgeEnd with identical endpoints found")},ke.prototype.interfaces_=function(){return[Ln]},ke.prototype.getClass=function(){return ke};var dd=function(r){function e(){var t=arguments[0],n=arguments[1];if(r.call(this,t),this._isForward=null,this._isInResult=!1,this._isVisited=!1,this._sym=null,this._next=null,this._nextMin=null,this._edgeRing=null,this._minEdgeRing=null,this._depth=[0,-999,-999],this._isForward=n,n)this.init(t.getCoordinate(0),t.getCoordinate(1));else{var i=t.getNumPoints()-1;this.init(t.getCoordinate(i),t.getCoordinate(i-1))}this.computeDirectedLabel()}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.getNextMin=function(){return this._nextMin},e.prototype.getDepth=function(n){return this._depth[n]},e.prototype.setVisited=function(n){this._isVisited=n},e.prototype.computeDirectedLabel=function(){this._label=new Vt(this._edge.getLabel()),this._isForward||this._label.flip()},e.prototype.getNext=function(){return this._next},e.prototype.setDepth=function(n,i){if(this._depth[n]!==-999&&this._depth[n]!==i)throw new wi("assigned depths do not match",this.getCoordinate());this._depth[n]=i},e.prototype.isInteriorAreaEdge=function(){for(var n=this,i=!0,s=0;s<2;s++)n._label.isArea(s)&&n._label.getLocation(s,U.LEFT)===F.INTERIOR&&n._label.getLocation(s,U.RIGHT)===F.INTERIOR||(i=!1);return i},e.prototype.setNextMin=function(n){this._nextMin=n},e.prototype.print=function(n){r.prototype.print.call(this,n),n.print(" "+this._depth[U.LEFT]+"/"+this._depth[U.RIGHT]),n.print(" ("+this.getDepthDelta()+")"),this._isInResult&&n.print(" inResult")},e.prototype.setMinEdgeRing=function(n){this._minEdgeRing=n},e.prototype.isLineEdge=function(){var n=this._label.isLine(0)||this._label.isLine(1),i=!this._label.isArea(0)||this._label.allPositionsEqual(0,F.EXTERIOR),s=!this._label.isArea(1)||this._label.allPositionsEqual(1,F.EXTERIOR);return n&&i&&s},e.prototype.setEdgeRing=function(n){this._edgeRing=n},e.prototype.getMinEdgeRing=function(){return this._minEdgeRing},e.prototype.getDepthDelta=function(){var n=this._edge.getDepthDelta();return this._isForward||(n=-n),n},e.prototype.setInResult=function(n){this._isInResult=n},e.prototype.getSym=function(){return this._sym},e.prototype.isForward=function(){return this._isForward},e.prototype.getEdge=function(){return this._edge},e.prototype.printEdge=function(n){this.print(n),n.print(" "),this._isForward?this._edge.print(n):this._edge.printReverse(n)},e.prototype.setSym=function(n){this._sym=n},e.prototype.setVisitedEdge=function(n){this.setVisited(n),this._sym.setVisited(n)},e.prototype.setEdgeDepths=function(n,i){var s=this.getEdge().getDepthDelta();this._isForward||(s=-s);var o=1;n===U.LEFT&&(o=-1);var a=U.opposite(n),u=s*o,l=i+u;this.setDepth(n,i),this.setDepth(a,l)},e.prototype.getEdgeRing=function(){return this._edgeRing},e.prototype.isInResult=function(){return this._isInResult},e.prototype.setNext=function(n){this._next=n},e.prototype.isVisited=function(){return this._isVisited},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.depthFactor=function(n,i){return n===F.EXTERIOR&&i===F.INTERIOR?1:n===F.INTERIOR&&i===F.EXTERIOR?-1:0},e}(ke),ya=function(){};ya.prototype.createNode=function(e){return new hc(e,null)},ya.prototype.interfaces_=function(){return[]},ya.prototype.getClass=function(){return ya};var $t=function(){if(this._edges=new W,this._nodes=null,this._edgeEndList=new W,arguments.length===0)this._nodes=new mr(new ya);else if(arguments.length===1){var e=arguments[0];this._nodes=new mr(e)}};$t.prototype.printEdges=function(e){var t=this;e.println("Edges:");for(var n=0;n<this._edges.size();n++){e.println("edge "+n+":");var i=t._edges.get(n);i.print(e),i.eiList.print(e)}},$t.prototype.find=function(e){return this._nodes.find(e)},$t.prototype.addNode=function(){if(arguments[0]instanceof hc){var e=arguments[0];return this._nodes.addNode(e)}else if(arguments[0]instanceof R){var t=arguments[0];return this._nodes.addNode(t)}},$t.prototype.getNodeIterator=function(){return this._nodes.iterator()},$t.prototype.linkResultDirectedEdges=function(){for(var e=this._nodes.iterator();e.hasNext();){var t=e.next();t.getEdges().linkResultDirectedEdges()}},$t.prototype.debugPrintln=function(e){xe.out.println(e)},$t.prototype.isBoundaryNode=function(e,t){var n=this._nodes.find(t);if(n===null)return!1;var i=n.getLabel();return i!==null&&i.getLocation(e)===F.BOUNDARY},$t.prototype.linkAllDirectedEdges=function(){for(var e=this._nodes.iterator();e.hasNext();){var t=e.next();t.getEdges().linkAllDirectedEdges()}},$t.prototype.matchInSameDirection=function(e,t,n,i){return e.equals(n)?q.computeOrientation(e,t,i)===q.COLLINEAR&&Bt.quadrant(e,t)===Bt.quadrant(n,i):!1},$t.prototype.getEdgeEnds=function(){return this._edgeEndList},$t.prototype.debugPrint=function(e){xe.out.print(e)},$t.prototype.getEdgeIterator=function(){return this._edges.iterator()},$t.prototype.findEdgeInSameDirection=function(e,t){for(var n=this,i=0;i<this._edges.size();i++){var s=n._edges.get(i),o=s.getCoordinates();if(n.matchInSameDirection(e,t,o[0],o[1])||n.matchInSameDirection(e,t,o[o.length-1],o[o.length-2]))return s}return null},$t.prototype.insertEdge=function(e){this._edges.add(e)},$t.prototype.findEdgeEnd=function(e){for(var t=this.getEdgeEnds().iterator();t.hasNext();){var n=t.next();if(n.getEdge()===e)return n}return null},$t.prototype.addEdges=function(e){for(var t=this,n=e.iterator();n.hasNext();){var i=n.next();t._edges.add(i);var s=new dd(i,!0),o=new dd(i,!1);s.setSym(o),o.setSym(s),t.add(s),t.add(o)}},$t.prototype.add=function(e){this._nodes.add(e),this._edgeEndList.add(e)},$t.prototype.getNodes=function(){return this._nodes.values()},$t.prototype.findEdge=function(e,t){for(var n=this,i=0;i<this._edges.size();i++){var s=n._edges.get(i),o=s.getCoordinates();if(e.equals(o[0])&&t.equals(o[1]))return s}return null},$t.prototype.interfaces_=function(){return[]},$t.prototype.getClass=function(){return $t},$t.linkResultDirectedEdges=function(e){for(var t=e.iterator();t.hasNext();){var n=t.next();n.getEdges().linkResultDirectedEdges()}};var hn=function(){this._geometryFactory=null,this._shellList=new W;var e=arguments[0];this._geometryFactory=e};hn.prototype.sortShellsAndHoles=function(e,t,n){for(var i=e.iterator();i.hasNext();){var s=i.next();s.isHole()?n.add(s):t.add(s)}},hn.prototype.computePolygons=function(e){for(var t=this,n=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=s.toPolygon(t._geometryFactory);n.add(o)}return n},hn.prototype.placeFreeHoles=function(e,t){for(var n=this,i=t.iterator();i.hasNext();){var s=i.next();if(s.getShell()===null){var o=n.findEdgeRingContaining(s,e);if(o===null)throw new wi("unable to assign hole to a shell",s.getCoordinate(0));s.setShell(o)}}},hn.prototype.buildMinimalEdgeRings=function(e,t,n){for(var i=this,s=new W,o=e.iterator();o.hasNext();){var a=o.next();if(a.getMaxNodeDegree()>2){a.linkDirectedEdgesForMinimalEdgeRings();var u=a.buildMinimalRings(),l=i.findShell(u);l!==null?(i.placePolygonHoles(l,u),t.add(l)):n.addAll(u)}else s.add(a)}return s},hn.prototype.containsPoint=function(e){for(var t=this._shellList.iterator();t.hasNext();){var n=t.next();if(n.containsPoint(e))return!0}return!1},hn.prototype.buildMaximalEdgeRings=function(e){for(var t=this,n=new W,i=e.iterator();i.hasNext();){var s=i.next();if(s.isInResult()&&s.getLabel().isArea()&&s.getEdgeRing()===null){var o=new JE(s,t._geometryFactory);n.add(o),o.setInResult()}}return n},hn.prototype.placePolygonHoles=function(e,t){for(var n=t.iterator();n.hasNext();){var i=n.next();i.isHole()&&i.setShell(e)}},hn.prototype.getPolygons=function(){var e=this.computePolygons(this._shellList);return e},hn.prototype.findEdgeRingContaining=function(e,t){for(var n=e.getLinearRing(),i=n.getEnvelopeInternal(),s=n.getCoordinateN(0),o=null,a=null,u=t.iterator();u.hasNext();){var l=u.next(),c=l.getLinearRing(),h=c.getEnvelopeInternal();o!==null&&(a=o.getLinearRing().getEnvelopeInternal());var f=!1;h.contains(i)&&q.isPointInRing(s,c.getCoordinates())&&(f=!0),f&&(o===null||a.contains(h))&&(o=l)}return o},hn.prototype.findShell=function(e){for(var t=0,n=null,i=e.iterator();i.hasNext();){var s=i.next();s.isHole()||(n=s,t++)}return vt.isTrue(t<=1,"found two shells in MinimalEdgeRing list"),n},hn.prototype.add=function(){if(arguments.length===1){var e=arguments[0];this.add(e.getEdgeEnds(),e.getNodes())}else if(arguments.length===2){var t=arguments[0],n=arguments[1];$t.linkResultDirectedEdges(n);var i=this.buildMaximalEdgeRings(t),s=new W,o=this.buildMinimalEdgeRings(i,this._shellList,s);this.sortShellsAndHoles(o,this._shellList,s),this.placeFreeHoles(this._shellList,s)}},hn.prototype.interfaces_=function(){return[]},hn.prototype.getClass=function(){return hn};var _a=function(){};_a.prototype.getBounds=function(){},_a.prototype.interfaces_=function(){return[]},_a.prototype.getClass=function(){return _a};var Qn=function(){this._bounds=null,this._item=null;var e=arguments[0],t=arguments[1];this._bounds=e,this._item=t};Qn.prototype.getItem=function(){return this._item},Qn.prototype.getBounds=function(){return this._bounds},Qn.prototype.interfaces_=function(){return[_a,Fn]},Qn.prototype.getClass=function(){return Qn};var Ei=function(){this._size=null,this._items=null,this._size=0,this._items=new W,this._items.add(null)};Ei.prototype.poll=function(){if(this.isEmpty())return null;var e=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),e},Ei.prototype.size=function(){return this._size},Ei.prototype.reorder=function(e){for(var t=this,n=null,i=this._items.get(e);e*2<=this._size&&(n=e*2,n!==t._size&&t._items.get(n+1).compareTo(t._items.get(n))<0&&n++,t._items.get(n).compareTo(i)<0);e=n)t._items.set(e,t._items.get(n));this._items.set(e,i)},Ei.prototype.clear=function(){this._size=0,this._items.clear()},Ei.prototype.isEmpty=function(){return this._size===0},Ei.prototype.add=function(e){var t=this;this._items.add(null),this._size+=1;var n=this._size;for(this._items.set(0,e);e.compareTo(this._items.get(Math.trunc(n/2)))<0;n/=2)t._items.set(n,t._items.get(Math.trunc(n/2)));this._items.set(n,e)},Ei.prototype.interfaces_=function(){return[]},Ei.prototype.getClass=function(){return Ei};var Yi=function(){};Yi.prototype.visitItem=function(e){},Yi.prototype.interfaces_=function(){return[]},Yi.prototype.getClass=function(){return Yi};var lo=function(){};lo.prototype.insert=function(e,t){},lo.prototype.remove=function(e,t){},lo.prototype.query=function(){},lo.prototype.interfaces_=function(){return[]},lo.prototype.getClass=function(){return lo};var pe=function(){if(this._childBoundables=new W,this._bounds=null,this._level=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this._level=e}}},Rm={serialVersionUID:{configurable:!0}};pe.prototype.getLevel=function(){return this._level},pe.prototype.size=function(){return this._childBoundables.size()},pe.prototype.getChildBoundables=function(){return this._childBoundables},pe.prototype.addChildBoundable=function(e){vt.isTrue(this._bounds===null),this._childBoundables.add(e)},pe.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},pe.prototype.getBounds=function(){return this._bounds===null&&(this._bounds=this.computeBounds()),this._bounds},pe.prototype.interfaces_=function(){return[_a,Fn]},pe.prototype.getClass=function(){return pe},Rm.serialVersionUID.get=function(){return 6493722185909574e3},Object.defineProperties(pe,Rm);var tr=function(){};tr.reverseOrder=function(){return{compare:function(t,n){return n.compareTo(t)}}},tr.min=function(e){return tr.sort(e),e.get(0)},tr.sort=function(e,t){var n=e.toArray();t?Es.sort(n,t):Es.sort(n);for(var i=e.iterator(),s=0,o=n.length;s<o;s++)i.next(),i.set(n[s])},tr.singletonList=function(e){var t=new W;return t.add(e),t};var le=function(){this._boundable1=null,this._boundable2=null,this._distance=null,this._itemDistance=null;var e=arguments[0],t=arguments[1],n=arguments[2];this._boundable1=e,this._boundable2=t,this._itemDistance=n,this._distance=this.distance()};le.prototype.expandToQueue=function(e,t){var n=le.isComposite(this._boundable1),i=le.isComposite(this._boundable2);if(n&&i)return le.area(this._boundable1)>le.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,e,t),null):(this.expand(this._boundable2,this._boundable1,e,t),null);if(n)return this.expand(this._boundable1,this._boundable2,e,t),null;if(i)return this.expand(this._boundable2,this._boundable1,e,t),null;throw new Xt("neither boundable is composite")},le.prototype.isLeaves=function(){return!(le.isComposite(this._boundable1)||le.isComposite(this._boundable2))},le.prototype.compareTo=function(e){var t=e;return this._distance<t._distance?-1:this._distance>t._distance?1:0},le.prototype.expand=function(e,t,n,i){for(var s=this,o=e.getChildBoundables(),a=o.iterator();a.hasNext();){var u=a.next(),l=new le(u,t,s._itemDistance);l.getDistance()<i&&n.add(l)}},le.prototype.getBoundable=function(e){return e===0?this._boundable1:this._boundable2},le.prototype.getDistance=function(){return this._distance},le.prototype.distance=function(){return this.isLeaves()?this._itemDistance.distance(this._boundable1,this._boundable2):this._boundable1.getBounds().distance(this._boundable2.getBounds())},le.prototype.interfaces_=function(){return[Ln]},le.prototype.getClass=function(){return le},le.area=function(e){return e.getBounds().getArea()},le.isComposite=function(e){return e instanceof pe};var Ce=function r(){if(this._root=null,this._built=!1,this._itemBoundables=new W,this._nodeCapacity=null,arguments.length===0){var e=r.DEFAULT_NODE_CAPACITY;this._nodeCapacity=e}else if(arguments.length===1){var t=arguments[0];vt.isTrue(t>1,"Node capacity must be greater than 1"),this._nodeCapacity=t}},dc={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};Ce.prototype.getNodeCapacity=function(){return this._nodeCapacity},Ce.prototype.lastNode=function(e){return e.get(e.size()-1)},Ce.prototype.size=function(){var e=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.size(this._root));if(arguments.length===1){for(var t=arguments[0],n=0,i=t.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof pe?n+=e.size(s):s instanceof Qn&&(n+=1)}return n}},Ce.prototype.removeItem=function(e,t){for(var n=null,i=e.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof Qn&&s.getItem()===t&&(n=s)}return n!==null?(e.getChildBoundables().remove(n),!0):!1},Ce.prototype.itemsTree=function(){var e=this;if(arguments.length===0){this.build();var t=this.itemsTree(this._root);return t===null?new W:t}else if(arguments.length===1){for(var n=arguments[0],i=new W,s=n.getChildBoundables().iterator();s.hasNext();){var o=s.next();if(o instanceof pe){var a=e.itemsTree(o);a!==null&&i.add(a)}else o instanceof Qn?i.add(o.getItem()):vt.shouldNeverReachHere()}return i.size()<=0?null:i}},Ce.prototype.insert=function(e,t){vt.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new Qn(e,t))},Ce.prototype.boundablesAtLevel=function(){var e=this;if(arguments.length===1){var t=arguments[0],n=new W;return this.boundablesAtLevel(t,this._root,n),n}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];if(vt.isTrue(i>-2),s.getLevel()===i)return o.add(s),null;for(var a=s.getChildBoundables().iterator();a.hasNext();){var u=a.next();u instanceof pe?e.boundablesAtLevel(i,u,o):(vt.isTrue(u instanceof Qn),i===-1&&o.add(u))}return null}},Ce.prototype.query=function(){var e=this;if(arguments.length===1){var t=arguments[0];this.build();var n=new W;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.query(t,this._root,n),n}else if(arguments.length===2){var i=arguments[0],s=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),i)&&this.query(i,this._root,s)}else if(arguments.length===3){if(at(arguments[2],Yi)&&arguments[0]instanceof Object&&arguments[1]instanceof pe)for(var o=arguments[0],a=arguments[1],u=arguments[2],l=a.getChildBoundables(),c=0;c<l.size();c++){var h=l.get(c);e.getIntersectsOp().intersects(h.getBounds(),o)&&(h instanceof pe?e.query(o,h,u):h instanceof Qn?u.visitItem(h.getItem()):vt.shouldNeverReachHere())}else if(at(arguments[2],$n)&&arguments[0]instanceof Object&&arguments[1]instanceof pe)for(var f=arguments[0],p=arguments[1],v=arguments[2],C=p.getChildBoundables(),S=0;S<C.size();S++){var P=C.get(S);e.getIntersectsOp().intersects(P.getBounds(),f)&&(P instanceof pe?e.query(f,P,v):P instanceof Qn?v.add(P.getItem()):vt.shouldNeverReachHere())}}},Ce.prototype.build=function(){if(this._built)return null;this._root=this._itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this._itemBoundables,-1),this._itemBoundables=null,this._built=!0},Ce.prototype.getRoot=function(){return this.build(),this._root},Ce.prototype.remove=function(){var e=this;if(arguments.length===2){var t=arguments[0],n=arguments[1];return this.build(),this.getIntersectsOp().intersects(this._root.getBounds(),t)?this.remove(t,this._root,n):!1}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=this.removeItem(s,o);if(a)return!0;for(var u=null,l=s.getChildBoundables().iterator();l.hasNext();){var c=l.next();if(e.getIntersectsOp().intersects(c.getBounds(),i)&&c instanceof pe&&(a=e.remove(i,c,o),a)){u=c;break}}return u!==null&&u.getChildBoundables().isEmpty()&&s.getChildBoundables().remove(u),a}},Ce.prototype.createHigherLevels=function(e,t){vt.isTrue(!e.isEmpty());var n=this.createParentBoundables(e,t+1);return n.size()===1?n.get(0):this.createHigherLevels(n,t+1)},Ce.prototype.depth=function(){var e=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(arguments.length===1){for(var t=arguments[0],n=0,i=t.getChildBoundables().iterator();i.hasNext();){var s=i.next();if(s instanceof pe){var o=e.depth(s);o>n&&(n=o)}}return n+1}},Ce.prototype.createParentBoundables=function(e,t){var n=this;vt.isTrue(!e.isEmpty());var i=new W;i.add(this.createNode(t));var s=new W(e);tr.sort(s,this.getComparator());for(var o=s.iterator();o.hasNext();){var a=o.next();n.lastNode(i).getChildBoundables().size()===n.getNodeCapacity()&&i.add(n.createNode(t)),n.lastNode(i).addChildBoundable(a)}return i},Ce.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},Ce.prototype.interfaces_=function(){return[Fn]},Ce.prototype.getClass=function(){return Ce},Ce.compareDoubles=function(e,t){return e>t?1:e<t?-1:0},dc.IntersectsOp.get=function(){return $E},dc.serialVersionUID.get=function(){return-3886435814360241e3},dc.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(Ce,dc);var $E=function(){},wa=function(){};wa.prototype.distance=function(e,t){},wa.prototype.interfaces_=function(){return[]},wa.prototype.getClass=function(){return wa};var Lm=function(r){function e(n){n=n||e.DEFAULT_NODE_CAPACITY,r.call(this,n)}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={STRtreeNode:{configurable:!0},serialVersionUID:{configurable:!0},xComparator:{configurable:!0},yComparator:{configurable:!0},intersectsOp:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};return e.prototype.createParentBoundablesFromVerticalSlices=function(i,s){var o=this;vt.isTrue(i.length>0);for(var a=new W,u=0;u<i.length;u++)a.addAll(o.createParentBoundablesFromVerticalSlice(i[u],s));return a},e.prototype.createNode=function(i){return new Fm(i)},e.prototype.size=function(){return arguments.length===0?r.prototype.size.call(this):r.prototype.size.apply(this,arguments)},e.prototype.insert=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];if(i.isNull())return null;r.prototype.insert.call(this,i,s)}else return r.prototype.insert.apply(this,arguments)},e.prototype.getIntersectsOp=function(){return e.intersectsOp},e.prototype.verticalSlices=function(i,s){for(var o=Math.trunc(Math.ceil(i.size()/s)),a=new Array(s).fill(null),u=i.iterator(),l=0;l<s;l++){a[l]=new W;for(var c=0;u.hasNext()&&c<o;){var h=u.next();a[l].add(h),c++}}return a},e.prototype.query=function(){if(arguments.length===1){var i=arguments[0];return r.prototype.query.call(this,i)}else if(arguments.length===2){var s=arguments[0],o=arguments[1];r.prototype.query.call(this,s,o)}else if(arguments.length===3){if(at(arguments[2],Yi)&&arguments[0]instanceof Object&&arguments[1]instanceof pe){var a=arguments[0],u=arguments[1],l=arguments[2];r.prototype.query.call(this,a,u,l)}else if(at(arguments[2],$n)&&arguments[0]instanceof Object&&arguments[1]instanceof pe){var c=arguments[0],h=arguments[1],f=arguments[2];r.prototype.query.call(this,c,h,f)}}},e.prototype.getComparator=function(){return e.yComparator},e.prototype.createParentBoundablesFromVerticalSlice=function(i,s){return r.prototype.createParentBoundables.call(this,i,s)},e.prototype.remove=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return r.prototype.remove.call(this,i,s)}else return r.prototype.remove.apply(this,arguments)},e.prototype.depth=function(){return arguments.length===0?r.prototype.depth.call(this):r.prototype.depth.apply(this,arguments)},e.prototype.createParentBoundables=function(i,s){vt.isTrue(!i.isEmpty());var o=Math.trunc(Math.ceil(i.size()/this.getNodeCapacity())),a=new W(i);tr.sort(a,e.xComparator);var u=this.verticalSlices(a,Math.trunc(Math.ceil(Math.sqrt(o))));return this.createParentBoundablesFromVerticalSlices(u,s)},e.prototype.nearestNeighbour=function(){if(arguments.length===1){if(at(arguments[0],wa)){var i=arguments[0],s=new le(this.getRoot(),this.getRoot(),i);return this.nearestNeighbour(s)}else if(arguments[0]instanceof le){var o=arguments[0];return this.nearestNeighbour(o,ht.POSITIVE_INFINITY)}}else if(arguments.length===2){if(arguments[0]instanceof e&&at(arguments[1],wa)){var a=arguments[0],u=arguments[1],l=new le(this.getRoot(),a.getRoot(),u);return this.nearestNeighbour(l)}else if(arguments[0]instanceof le&&typeof arguments[1]=="number"){var c=arguments[0],h=arguments[1],f=h,p=null,v=new Ei;for(v.add(c);!v.isEmpty()&&f>0;){var C=v.poll(),S=C.getDistance();if(S>=f)break;C.isLeaves()?(f=S,p=C):C.expandToQueue(v,f)}return[p.getBoundable(0).getItem(),p.getBoundable(1).getItem()]}}else if(arguments.length===3){var P=arguments[0],y=arguments[1],_=arguments[2],m=new Qn(P,y),w=new le(this.getRoot(),m,_);return this.nearestNeighbour(w)[0]}},e.prototype.interfaces_=function(){return[lo,Fn]},e.prototype.getClass=function(){return e},e.centreX=function(i){return e.avg(i.getMinX(),i.getMaxX())},e.avg=function(i,s){return(i+s)/2},e.centreY=function(i){return e.avg(i.getMinY(),i.getMaxY())},t.STRtreeNode.get=function(){return Fm},t.serialVersionUID.get=function(){return 0x39920f7d5f261e0},t.xComparator.get=function(){return{interfaces_:function(){return[oa]},compare:function(n,i){return r.compareDoubles(e.centreX(n.getBounds()),e.centreX(i.getBounds()))}}},t.yComparator.get=function(){return{interfaces_:function(){return[oa]},compare:function(n,i){return r.compareDoubles(e.centreY(n.getBounds()),e.centreY(i.getBounds()))}}},t.intersectsOp.get=function(){return{interfaces_:function(){return[r.IntersectsOp]},intersects:function(n,i){return n.intersects(i)}}},t.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(e,t),e}(Ce),Fm=function(r){function e(){var t=arguments[0];r.call(this,t)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.computeBounds=function(){for(var n=null,i=this.getChildBoundables().iterator();i.hasNext();){var s=i.next();n===null?n=new Q(s.getBounds()):n.expandToInclude(s.getBounds())}return n},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pe),tn=function(){};tn.prototype.interfaces_=function(){return[]},tn.prototype.getClass=function(){return tn},tn.relativeSign=function(e,t){return e<t?-1:e>t?1:0},tn.compare=function(e,t,n){if(t.equals2D(n))return 0;var i=tn.relativeSign(t.x,n.x),s=tn.relativeSign(t.y,n.y);switch(e){case 0:return tn.compareValue(i,s);case 1:return tn.compareValue(s,i);case 2:return tn.compareValue(s,-i);case 3:return tn.compareValue(-i,s);case 4:return tn.compareValue(-i,-s);case 5:return tn.compareValue(-s,-i);case 6:return tn.compareValue(-s,i);case 7:return tn.compareValue(i,-s)}return vt.shouldNeverReachHere("invalid octant value"),0},tn.compareValue=function(e,t){return e<0?-1:e>0?1:t<0?-1:t>0?1:0};var Ji=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var e=arguments[0],t=arguments[1],n=arguments[2],i=arguments[3];this._segString=e,this.coord=new R(t),this.segmentIndex=n,this._segmentOctant=i,this._isInterior=!t.equals2D(e.getCoordinate(n))};Ji.prototype.getCoordinate=function(){return this.coord},Ji.prototype.print=function(e){e.print(this.coord),e.print(" seg # = "+this.segmentIndex)},Ji.prototype.compareTo=function(e){var t=e;return this.segmentIndex<t.segmentIndex?-1:this.segmentIndex>t.segmentIndex?1:this.coord.equals2D(t.coord)?0:tn.compare(this._segmentOctant,this.coord,t.coord)},Ji.prototype.isEndPoint=function(e){return this.segmentIndex===0&&!this._isInterior||this.segmentIndex===e},Ji.prototype.isInterior=function(){return this._isInterior},Ji.prototype.interfaces_=function(){return[Ln]},Ji.prototype.getClass=function(){return Ji};var We=function(){this._nodeMap=new Ae,this._edge=null;var e=arguments[0];this._edge=e};We.prototype.getSplitCoordinates=function(){var e=this,t=new zu;this.addEndpoints();for(var n=this.iterator(),i=n.next();n.hasNext();){var s=n.next();e.addEdgeCoordinates(i,s,t),i=s}return t.toCoordinateArray()},We.prototype.addCollapsedNodes=function(){var e=this,t=new W;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var n=t.iterator();n.hasNext();){var i=n.next().intValue();e.add(e._edge.getCoordinate(i),i)}},We.prototype.print=function(e){e.println("Intersections:");for(var t=this.iterator();t.hasNext();){var n=t.next();n.print(e)}},We.prototype.findCollapsesFromExistingVertices=function(e){for(var t=this,n=0;n<this._edge.size()-2;n++){var i=t._edge.getCoordinate(n),s=t._edge.getCoordinate(n+2);i.equals2D(s)&&e.add(new ar(n+1))}},We.prototype.addEdgeCoordinates=function(e,t,n){var i=this,s=this._edge.getCoordinate(t.segmentIndex),o=t.isInterior()||!t.coord.equals2D(s);n.add(new R(e.coord),!1);for(var a=e.segmentIndex+1;a<=t.segmentIndex;a++)n.add(i._edge.getCoordinate(a));o&&n.add(new R(t.coord))},We.prototype.iterator=function(){return this._nodeMap.values().iterator()},We.prototype.addSplitEdges=function(e){var t=this;this.addEndpoints(),this.addCollapsedNodes();for(var n=this.iterator(),i=n.next();n.hasNext();){var s=n.next(),o=t.createSplitEdge(i,s);e.add(o),i=s}},We.prototype.findCollapseIndex=function(e,t,n){if(!e.coord.equals2D(t.coord))return!1;var i=t.segmentIndex-e.segmentIndex;return t.isInterior()||i--,i===1?(n[0]=e.segmentIndex+1,!0):!1},We.prototype.findCollapsesFromInsertedNodes=function(e){for(var t=this,n=new Array(1).fill(null),i=this.iterator(),s=i.next();i.hasNext();){var o=i.next(),a=t.findCollapseIndex(s,o,n);a&&e.add(new ar(n[0])),s=o}},We.prototype.getEdge=function(){return this._edge},We.prototype.addEndpoints=function(){var e=this._edge.size()-1;this.add(this._edge.getCoordinate(0),0),this.add(this._edge.getCoordinate(e),e)},We.prototype.createSplitEdge=function(e,t){var n=this,i=t.segmentIndex-e.segmentIndex+2,s=this._edge.getCoordinate(t.segmentIndex),o=t.isInterior()||!t.coord.equals2D(s);o||i--;var a=new Array(i).fill(null),u=0;a[u++]=new R(e.coord);for(var l=e.segmentIndex+1;l<=t.segmentIndex;l++)a[u++]=n._edge.getCoordinate(l);return o&&(a[u]=new R(t.coord)),new se(a,this._edge.getData())},We.prototype.add=function(e,t){var n=new Ji(this._edge,e,t,this._edge.getSegmentOctant(t)),i=this._nodeMap.get(n);return i!==null?(vt.isTrue(i.coord.equals2D(e),"Found equal nodes with different coordinates"),i):(this._nodeMap.put(n,n),n)},We.prototype.checkSplitEdgesCorrectness=function(e){var t=this._edge.getCoordinates(),n=e.get(0),i=n.getCoordinate(0);if(!i.equals2D(t[0]))throw new pi("bad split edge start point at "+i);var s=e.get(e.size()-1),o=s.getCoordinates(),a=o[o.length-1];if(!a.equals2D(t[t.length-1]))throw new pi("bad split edge end point at "+a)},We.prototype.interfaces_=function(){return[]},We.prototype.getClass=function(){return We};var co=function(){};co.prototype.interfaces_=function(){return[]},co.prototype.getClass=function(){return co},co.octant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];if(e===0&&t===0)throw new Xt("Cannot compute the octant for point ( "+e+", "+t+" )");var n=Math.abs(e),i=Math.abs(t);return e>=0?t>=0?n>=i?0:1:n>=i?7:6:t>=0?n>=i?3:2:n>=i?4:5}else if(arguments[0]instanceof R&&arguments[1]instanceof R){var s=arguments[0],o=arguments[1],a=o.x-s.x,u=o.y-s.y;if(a===0&&u===0)throw new Xt("Cannot compute the octant for two identical points "+s);return co.octant(a,u)}};var Hr=function(){};Hr.prototype.getCoordinates=function(){},Hr.prototype.size=function(){},Hr.prototype.getCoordinate=function(e){},Hr.prototype.isClosed=function(){},Hr.prototype.setData=function(e){},Hr.prototype.getData=function(){},Hr.prototype.interfaces_=function(){return[]},Hr.prototype.getClass=function(){return Hr};var $u=function(){};$u.prototype.addIntersection=function(e,t){},$u.prototype.interfaces_=function(){return[Hr]},$u.prototype.getClass=function(){return $u};var se=function(){this._nodeList=new We(this),this._pts=null,this._data=null;var e=arguments[0],t=arguments[1];this._pts=e,this._data=t};se.prototype.getCoordinates=function(){return this._pts},se.prototype.size=function(){return this._pts.length},se.prototype.getCoordinate=function(e){return this._pts[e]},se.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},se.prototype.getSegmentOctant=function(e){return e===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(e),this.getCoordinate(e+1))},se.prototype.setData=function(e){this._data=e},se.prototype.safeOctant=function(e,t){return e.equals2D(t)?0:co.octant(e,t)},se.prototype.getData=function(){return this._data},se.prototype.addIntersection=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];this.addIntersectionNode(e,t)}else if(arguments.length===4){var n=arguments[0],i=arguments[1],s=arguments[3],o=new R(n.getIntersection(s));this.addIntersection(o,i)}},se.prototype.toString=function(){return Jn.toLineString(new ie(this._pts))},se.prototype.getNodeList=function(){return this._nodeList},se.prototype.addIntersectionNode=function(e,t){var n=t,i=n+1;if(i<this._pts.length){var s=this._pts[i];e.equals2D(s)&&(n=i)}var o=this._nodeList.add(e,n);return o},se.prototype.addIntersections=function(e,t,n){for(var i=this,s=0;s<e.getIntersectionNum();s++)i.addIntersection(e,t,n,s)},se.prototype.interfaces_=function(){return[$u]},se.prototype.getClass=function(){return se},se.getNodedSubstrings=function(){if(arguments.length===1){var e=arguments[0],t=new W;return se.getNodedSubstrings(e,t),t}else if(arguments.length===2)for(var n=arguments[0],i=arguments[1],s=n.iterator();s.hasNext();){var o=s.next();o.getNodeList().addSplitEdges(i)}};var tt=function(){if(this.p0=null,this.p1=null,arguments.length===0)this.p0=new R,this.p1=new R;else if(arguments.length===1){var e=arguments[0];this.p0=new R(e.p0),this.p1=new R(e.p1)}else if(arguments.length===2)this.p0=arguments[0],this.p1=arguments[1];else if(arguments.length===4){var t=arguments[0],n=arguments[1],i=arguments[2],s=arguments[3];this.p0=new R(t,n),this.p1=new R(i,s)}},Am={serialVersionUID:{configurable:!0}};tt.prototype.minX=function(){return Math.min(this.p0.x,this.p1.x)},tt.prototype.orientationIndex=function(){if(arguments[0]instanceof tt){var e=arguments[0],t=q.orientationIndex(this.p0,this.p1,e.p0),n=q.orientationIndex(this.p0,this.p1,e.p1);return t>=0&&n>=0||t<=0&&n<=0?Math.max(t,n):0}else if(arguments[0]instanceof R){var i=arguments[0];return q.orientationIndex(this.p0,this.p1,i)}},tt.prototype.toGeometry=function(e){return e.createLineString([this.p0,this.p1])},tt.prototype.isVertical=function(){return this.p0.x===this.p1.x},tt.prototype.equals=function(e){if(!(e instanceof tt))return!1;var t=e;return this.p0.equals(t.p0)&&this.p1.equals(t.p1)},tt.prototype.intersection=function(e){var t=new _s;return t.computeIntersection(this.p0,this.p1,e.p0,e.p1),t.hasIntersection()?t.getIntersection(0):null},tt.prototype.project=function(){if(arguments[0]instanceof R){var e=arguments[0];if(e.equals(this.p0)||e.equals(this.p1))return new R(e);var t=this.projectionFactor(e),n=new R;return n.x=this.p0.x+t*(this.p1.x-this.p0.x),n.y=this.p0.y+t*(this.p1.y-this.p0.y),n}else if(arguments[0]instanceof tt){var i=arguments[0],s=this.projectionFactor(i.p0),o=this.projectionFactor(i.p1);if(s>=1&&o>=1||s<=0&&o<=0)return null;var a=this.project(i.p0);s<0&&(a=this.p0),s>1&&(a=this.p1);var u=this.project(i.p1);return o<0&&(u=this.p0),o>1&&(u=this.p1),new tt(a,u)}},tt.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},tt.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},tt.prototype.getCoordinate=function(e){return e===0?this.p0:this.p1},tt.prototype.distancePerpendicular=function(e){return q.distancePointLinePerpendicular(e,this.p0,this.p1)},tt.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},tt.prototype.midPoint=function(){return tt.midPoint(this.p0,this.p1)},tt.prototype.projectionFactor=function(e){if(e.equals(this.p0))return 0;if(e.equals(this.p1))return 1;var t=this.p1.x-this.p0.x,n=this.p1.y-this.p0.y,i=t*t+n*n;if(i<=0)return ht.NaN;var s=((e.x-this.p0.x)*t+(e.y-this.p0.y)*n)/i;return s},tt.prototype.closestPoints=function(e){var t=this.intersection(e);if(t!==null)return[t,t];var n=new Array(2).fill(null),i=ht.MAX_VALUE,s=null,o=this.closestPoint(e.p0);i=o.distance(e.p0),n[0]=o,n[1]=e.p0;var a=this.closestPoint(e.p1);s=a.distance(e.p1),s<i&&(i=s,n[0]=a,n[1]=e.p1);var u=e.closestPoint(this.p0);s=u.distance(this.p0),s<i&&(i=s,n[0]=this.p0,n[1]=u);var l=e.closestPoint(this.p1);return s=l.distance(this.p1),s<i&&(i=s,n[0]=this.p1,n[1]=l),n},tt.prototype.closestPoint=function(e){var t=this.projectionFactor(e);if(t>0&&t<1)return this.project(e);var n=this.p0.distance(e),i=this.p1.distance(e);return n<i?this.p0:this.p1},tt.prototype.maxX=function(){return Math.max(this.p0.x,this.p1.x)},tt.prototype.getLength=function(){return this.p0.distance(this.p1)},tt.prototype.compareTo=function(e){var t=e,n=this.p0.compareTo(t.p0);return n!==0?n:this.p1.compareTo(t.p1)},tt.prototype.reverse=function(){var e=this.p0;this.p0=this.p1,this.p1=e},tt.prototype.equalsTopo=function(e){return this.p0.equals(e.p0)&&(this.p1.equals(e.p1)||this.p0.equals(e.p1))&&this.p1.equals(e.p0)},tt.prototype.lineIntersection=function(e){try{var t=Yn.intersection(this.p0,this.p1,e.p0,e.p1);return t}catch(n){if(!(n instanceof ua))throw n}finally{}return null},tt.prototype.maxY=function(){return Math.max(this.p0.y,this.p1.y)},tt.prototype.pointAlongOffset=function(e,t){var n=this.p0.x+e*(this.p1.x-this.p0.x),i=this.p0.y+e*(this.p1.y-this.p0.y),s=this.p1.x-this.p0.x,o=this.p1.y-this.p0.y,a=Math.sqrt(s*s+o*o),u=0,l=0;if(t!==0){if(a<=0)throw new Error("Cannot compute offset from zero-length line segment");u=t*s/a,l=t*o/a}var c=n-l,h=i+u,f=new R(c,h);return f},tt.prototype.setCoordinates=function(){if(arguments.length===1){var e=arguments[0];this.setCoordinates(e.p0,e.p1)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this.p0.x=t.x,this.p0.y=t.y,this.p1.x=n.x,this.p1.y=n.y}},tt.prototype.segmentFraction=function(e){var t=this.projectionFactor(e);return t<0?t=0:(t>1||ht.isNaN(t))&&(t=1),t},tt.prototype.toString=function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},tt.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},tt.prototype.distance=function(){if(arguments[0]instanceof tt){var e=arguments[0];return q.distanceLineLine(this.p0,this.p1,e.p0,e.p1)}else if(arguments[0]instanceof R){var t=arguments[0];return q.distancePointLine(t,this.p0,this.p1)}},tt.prototype.pointAlong=function(e){var t=new R;return t.x=this.p0.x+e*(this.p1.x-this.p0.x),t.y=this.p0.y+e*(this.p1.y-this.p0.y),t},tt.prototype.hashCode=function(){var e=ht.doubleToLongBits(this.p0.x);e^=ht.doubleToLongBits(this.p0.y)*31;var t=Math.trunc(e)^Math.trunc(e>>32),n=ht.doubleToLongBits(this.p1.x);n^=ht.doubleToLongBits(this.p1.y)*31;var i=Math.trunc(n)^Math.trunc(n>>32);return t^i},tt.prototype.interfaces_=function(){return[Ln,Fn]},tt.prototype.getClass=function(){return tt},tt.midPoint=function(e,t){return new R((e.x+t.x)/2,(e.y+t.y)/2)},Am.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(tt,Am);var Ku=function(){this.tempEnv1=new Q,this.tempEnv2=new Q,this._overlapSeg1=new tt,this._overlapSeg2=new tt};Ku.prototype.overlap=function(){if(arguments.length!==2){if(arguments.length===4){var e=arguments[0],t=arguments[1],n=arguments[2],i=arguments[3];e.getLineSegment(t,this._overlapSeg1),n.getLineSegment(i,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}}},Ku.prototype.interfaces_=function(){return[]},Ku.prototype.getClass=function(){return Ku};var dn=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var e=arguments[0],t=arguments[1],n=arguments[2],i=arguments[3];this._pts=e,this._start=t,this._end=n,this._context=i};dn.prototype.getLineSegment=function(e,t){t.p0=this._pts[e],t.p1=this._pts[e+1]},dn.prototype.computeSelect=function(e,t,n,i){var s=this._pts[t],o=this._pts[n];if(i.tempEnv1.init(s,o),n-t===1)return i.select(this,t),null;if(!e.intersects(i.tempEnv1))return null;var a=Math.trunc((t+n)/2);t<a&&this.computeSelect(e,t,a,i),a<n&&this.computeSelect(e,a,n,i)},dn.prototype.getCoordinates=function(){for(var e=this,t=new Array(this._end-this._start+1).fill(null),n=0,i=this._start;i<=this._end;i++)t[n++]=e._pts[i];return t},dn.prototype.computeOverlaps=function(e,t){this.computeOverlapsInternal(this._start,this._end,e,e._start,e._end,t)},dn.prototype.setId=function(e){this._id=e},dn.prototype.select=function(e,t){this.computeSelect(e,this._start,this._end,t)},dn.prototype.getEnvelope=function(){if(this._env===null){var e=this._pts[this._start],t=this._pts[this._end];this._env=new Q(e,t)}return this._env},dn.prototype.getEndIndex=function(){return this._end},dn.prototype.getStartIndex=function(){return this._start},dn.prototype.getContext=function(){return this._context},dn.prototype.getId=function(){return this._id},dn.prototype.computeOverlapsInternal=function(e,t,n,i,s,o){var a=this._pts[e],u=this._pts[t],l=n._pts[i],c=n._pts[s];if(t-e===1&&s-i===1)return o.overlap(this,e,n,i),null;if(o.tempEnv1.init(a,u),o.tempEnv2.init(l,c),!o.tempEnv1.intersects(o.tempEnv2))return null;var h=Math.trunc((e+t)/2),f=Math.trunc((i+s)/2);e<h&&(i<f&&this.computeOverlapsInternal(e,h,n,i,f,o),f<s&&this.computeOverlapsInternal(e,h,n,f,s,o)),h<t&&(i<f&&this.computeOverlapsInternal(h,t,n,i,f,o),f<s&&this.computeOverlapsInternal(h,t,n,f,s,o))},dn.prototype.interfaces_=function(){return[]},dn.prototype.getClass=function(){return dn};var vr=function(){};vr.prototype.interfaces_=function(){return[]},vr.prototype.getClass=function(){return vr},vr.getChainStartIndices=function(e){var t=0,n=new W;n.add(new ar(t));do{var i=vr.findChainEnd(e,t);n.add(new ar(i)),t=i}while(t<e.length-1);var s=vr.toIntArray(n);return s},vr.findChainEnd=function(e,t){for(var n=t;n<e.length-1&&e[n].equals2D(e[n+1]);)n++;if(n>=e.length-1)return e.length-1;for(var i=Bt.quadrant(e[n],e[n+1]),s=t+1;s<e.length;){if(!e[s-1].equals2D(e[s])){var o=Bt.quadrant(e[s-1],e[s]);if(o!==i)break}s++}return s-1},vr.getChains=function(){if(arguments.length===1){var e=arguments[0];return vr.getChains(e,null)}else if(arguments.length===2){for(var t=arguments[0],n=arguments[1],i=new W,s=vr.getChainStartIndices(t),o=0;o<s.length-1;o++){var a=new dn(t,s[o],s[o+1],n);i.add(a)}return i}},vr.toIntArray=function(e){for(var t=new Array(e.size()).fill(null),n=0;n<t.length;n++)t[n]=e.get(n).intValue();return t};var Ss=function(){};Ss.prototype.computeNodes=function(e){},Ss.prototype.getNodedSubstrings=function(){},Ss.prototype.interfaces_=function(){return[]},Ss.prototype.getClass=function(){return Ss};var Zu=function(){if(this._segInt=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this.setSegmentIntersector(e)}}};Zu.prototype.setSegmentIntersector=function(e){this._segInt=e},Zu.prototype.interfaces_=function(){return[Ss]},Zu.prototype.getClass=function(){return Zu};var fd=function(r){function e(n){n?r.call(this,n):r.call(this),this._monoChains=new W,this._index=new Lm,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={SegmentOverlapAction:{configurable:!0}};return e.prototype.getMonotoneChains=function(){return this._monoChains},e.prototype.getNodedSubstrings=function(){return se.getNodedSubstrings(this._nodedSegStrings)},e.prototype.getIndex=function(){return this._index},e.prototype.add=function(i){for(var s=this,o=vr.getChains(i.getCoordinates(),i),a=o.iterator();a.hasNext();){var u=a.next();u.setId(s._idCounter++),s._index.insert(u.getEnvelope(),u),s._monoChains.add(u)}},e.prototype.computeNodes=function(i){var s=this;this._nodedSegStrings=i;for(var o=i.iterator();o.hasNext();)s.add(o.next());this.intersectChains()},e.prototype.intersectChains=function(){for(var i=this,s=new km(this._segInt),o=this._monoChains.iterator();o.hasNext();)for(var a=o.next(),u=i._index.query(a.getEnvelope()),l=u.iterator();l.hasNext();){var c=l.next();if(c.getId()>a.getId()&&(a.computeOverlaps(c,s),i._nOverlaps++),i._segInt.isDone())return null}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.SegmentOverlapAction.get=function(){return km},Object.defineProperties(e,t),e}(Zu),km=function(r){function e(){r.call(this),this._si=null;var t=arguments[0];this._si=t}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.overlap=function(){if(arguments.length===4){var n=arguments[0],i=arguments[1],s=arguments[2],o=arguments[3],a=n.getContext(),u=s.getContext();this._si.processIntersections(a,i,u,o)}else return r.prototype.overlap.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Ku),Lt=function r(){if(this._quadrantSegments=r.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=r.CAP_ROUND,this._joinStyle=r.JOIN_ROUND,this._mitreLimit=r.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=r.DEFAULT_SIMPLIFY_FACTOR,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this.setQuadrantSegments(e)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this.setQuadrantSegments(t),this.setEndCapStyle(n)}else if(arguments.length===4){var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];this.setQuadrantSegments(i),this.setEndCapStyle(s),this.setJoinStyle(o),this.setMitreLimit(a)}}},Ci={CAP_ROUND:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},JOIN_ROUND:{configurable:!0},JOIN_MITRE:{configurable:!0},JOIN_BEVEL:{configurable:!0},DEFAULT_QUADRANT_SEGMENTS:{configurable:!0},DEFAULT_MITRE_LIMIT:{configurable:!0},DEFAULT_SIMPLIFY_FACTOR:{configurable:!0}};Lt.prototype.getEndCapStyle=function(){return this._endCapStyle},Lt.prototype.isSingleSided=function(){return this._isSingleSided},Lt.prototype.setQuadrantSegments=function(e){this._quadrantSegments=e,this._quadrantSegments===0&&(this._joinStyle=Lt.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=Lt.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),e<=0&&(this._quadrantSegments=1),this._joinStyle!==Lt.JOIN_ROUND&&(this._quadrantSegments=Lt.DEFAULT_QUADRANT_SEGMENTS)},Lt.prototype.getJoinStyle=function(){return this._joinStyle},Lt.prototype.setJoinStyle=function(e){this._joinStyle=e},Lt.prototype.setSimplifyFactor=function(e){this._simplifyFactor=e<0?0:e},Lt.prototype.getSimplifyFactor=function(){return this._simplifyFactor},Lt.prototype.getQuadrantSegments=function(){return this._quadrantSegments},Lt.prototype.setEndCapStyle=function(e){this._endCapStyle=e},Lt.prototype.getMitreLimit=function(){return this._mitreLimit},Lt.prototype.setMitreLimit=function(e){this._mitreLimit=e},Lt.prototype.setSingleSided=function(e){this._isSingleSided=e},Lt.prototype.interfaces_=function(){return[]},Lt.prototype.getClass=function(){return Lt},Lt.bufferDistanceError=function(e){var t=Math.PI/2/e;return 1-Math.cos(t/2)},Ci.CAP_ROUND.get=function(){return 1},Ci.CAP_FLAT.get=function(){return 2},Ci.CAP_SQUARE.get=function(){return 3},Ci.JOIN_ROUND.get=function(){return 1},Ci.JOIN_MITRE.get=function(){return 2},Ci.JOIN_BEVEL.get=function(){return 3},Ci.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},Ci.DEFAULT_MITRE_LIMIT.get=function(){return 5},Ci.DEFAULT_SIMPLIFY_FACTOR.get=function(){return .01},Object.defineProperties(Lt,Ci);var te=function(e){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=q.COUNTERCLOCKWISE,this._inputLine=e||null},Qu={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};te.prototype.isDeletable=function(e,t,n,i){var s=this._inputLine[e],o=this._inputLine[t],a=this._inputLine[n];return!this.isConcave(s,o,a)||!this.isShallow(s,o,a,i)?!1:this.isShallowSampled(s,o,e,n,i)},te.prototype.deleteShallowConcavities=function(){for(var e=this,t=1,n=this.findNextNonDeletedIndex(t),i=this.findNextNonDeletedIndex(n),s=!1;i<this._inputLine.length;){var o=!1;e.isDeletable(t,n,i,e._distanceTol)&&(e._isDeleted[n]=te.DELETE,o=!0,s=!0),o?t=i:t=n,n=e.findNextNonDeletedIndex(t),i=e.findNextNonDeletedIndex(n)}return s},te.prototype.isShallowConcavity=function(e,t,n,i){var s=q.computeOrientation(e,t,n),o=s===this._angleOrientation;if(!o)return!1;var a=q.distancePointLine(t,e,n);return a<i},te.prototype.isShallowSampled=function(e,t,n,i,s){var o=this,a=Math.trunc((i-n)/te.NUM_PTS_TO_CHECK);a<=0&&(a=1);for(var u=n;u<i;u+=a)if(!o.isShallow(e,t,o._inputLine[u],s))return!1;return!0},te.prototype.isConcave=function(e,t,n){var i=q.computeOrientation(e,t,n),s=i===this._angleOrientation;return s},te.prototype.simplify=function(e){var t=this;this._distanceTol=Math.abs(e),e<0&&(this._angleOrientation=q.CLOCKWISE),this._isDeleted=new Array(this._inputLine.length).fill(null);var n=!1;do n=t.deleteShallowConcavities();while(n);return this.collapseLine()},te.prototype.findNextNonDeletedIndex=function(e){for(var t=e+1;t<this._inputLine.length&&this._isDeleted[t]===te.DELETE;)t++;return t},te.prototype.isShallow=function(e,t,n,i){var s=q.distancePointLine(t,e,n);return s<i},te.prototype.collapseLine=function(){for(var e=this,t=new zu,n=0;n<this._inputLine.length;n++)e._isDeleted[n]!==te.DELETE&&t.add(e._inputLine[n]);return t.toCoordinateArray()},te.prototype.interfaces_=function(){return[]},te.prototype.getClass=function(){return te},te.simplify=function(e,t){var n=new te(e);return n.simplify(t)},Qu.INIT.get=function(){return 0},Qu.DELETE.get=function(){return 1},Qu.KEEP.get=function(){return 1},Qu.NUM_PTS_TO_CHECK.get=function(){return 10},Object.defineProperties(te,Qu);var xn=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new W},Vm={COORDINATE_ARRAY_TYPE:{configurable:!0}};xn.prototype.getCoordinates=function(){var e=this._ptList.toArray(xn.COORDINATE_ARRAY_TYPE);return e},xn.prototype.setPrecisionModel=function(e){this._precisionModel=e},xn.prototype.addPt=function(e){var t=new R(e);if(this._precisionModel.makePrecise(t),this.isRedundant(t))return null;this._ptList.add(t)},xn.prototype.revere=function(){},xn.prototype.addPts=function(e,t){var n=this;if(t)for(var i=0;i<e.length;i++)n.addPt(e[i]);else for(var s=e.length-1;s>=0;s--)n.addPt(e[s])},xn.prototype.isRedundant=function(e){if(this._ptList.size()<1)return!1;var t=this._ptList.get(this._ptList.size()-1),n=e.distance(t);return n<this._minimimVertexDistance},xn.prototype.toString=function(){var e=new Ct,t=e.createLineString(this.getCoordinates());return t.toString()},xn.prototype.closeRing=function(){if(this._ptList.size()<1)return null;var e=new R(this._ptList.get(0)),t=this._ptList.get(this._ptList.size()-1);if(e.equals(t))return null;this._ptList.add(e)},xn.prototype.setMinimumVertexDistance=function(e){this._minimimVertexDistance=e},xn.prototype.interfaces_=function(){return[]},xn.prototype.getClass=function(){return xn},Vm.COORDINATE_ARRAY_TYPE.get=function(){return new Array(0).fill(null)},Object.defineProperties(xn,Vm);var It=function(){},ho={PI_TIMES_2:{configurable:!0},PI_OVER_2:{configurable:!0},PI_OVER_4:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},CLOCKWISE:{configurable:!0},NONE:{configurable:!0}};It.prototype.interfaces_=function(){return[]},It.prototype.getClass=function(){return It},It.toDegrees=function(e){return e*180/Math.PI},It.normalize=function(e){for(;e>Math.PI;)e-=It.PI_TIMES_2;for(;e<=-Math.PI;)e+=It.PI_TIMES_2;return e},It.angle=function(){if(arguments.length===1){var e=arguments[0];return Math.atan2(e.y,e.x)}else if(arguments.length===2){var t=arguments[0],n=arguments[1],i=n.x-t.x,s=n.y-t.y;return Math.atan2(s,i)}},It.isAcute=function(e,t,n){var i=e.x-t.x,s=e.y-t.y,o=n.x-t.x,a=n.y-t.y,u=i*o+s*a;return u>0},It.isObtuse=function(e,t,n){var i=e.x-t.x,s=e.y-t.y,o=n.x-t.x,a=n.y-t.y,u=i*o+s*a;return u<0},It.interiorAngle=function(e,t,n){var i=It.angle(t,e),s=It.angle(t,n);return Math.abs(s-i)},It.normalizePositive=function(e){if(e<0){for(;e<0;)e+=It.PI_TIMES_2;e>=It.PI_TIMES_2&&(e=0)}else{for(;e>=It.PI_TIMES_2;)e-=It.PI_TIMES_2;e<0&&(e=0)}return e},It.angleBetween=function(e,t,n){var i=It.angle(t,e),s=It.angle(t,n);return It.diff(i,s)},It.diff=function(e,t){var n=null;return e<t?n=t-e:n=e-t,n>Math.PI&&(n=2*Math.PI-n),n},It.toRadians=function(e){return e*Math.PI/180},It.getTurn=function(e,t){var n=Math.sin(t-e);return n>0?It.COUNTERCLOCKWISE:n<0?It.CLOCKWISE:It.NONE},It.angleBetweenOriented=function(e,t,n){var i=It.angle(t,e),s=It.angle(t,n),o=s-i;return o<=-Math.PI?o+It.PI_TIMES_2:o>Math.PI?o-It.PI_TIMES_2:o},ho.PI_TIMES_2.get=function(){return 2*Math.PI},ho.PI_OVER_2.get=function(){return Math.PI/2},ho.PI_OVER_4.get=function(){return Math.PI/4},ho.COUNTERCLOCKWISE.get=function(){return q.COUNTERCLOCKWISE},ho.CLOCKWISE.get=function(){return q.CLOCKWISE},ho.NONE.get=function(){return q.COLLINEAR},Object.defineProperties(It,ho);var Ht=function r(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new tt,this._seg1=new tt,this._offset0=new tt,this._offset1=new tt,this._side=0,this._hasNarrowConcaveAngle=!1;var e=arguments[0],t=arguments[1],n=arguments[2];this._precisionModel=e,this._bufParams=t,this._li=new _s,this._filletAngleQuantum=Math.PI/2/t.getQuadrantSegments(),t.getQuadrantSegments()>=8&&t.getJoinStyle()===Lt.JOIN_ROUND&&(this._closingSegLengthFactor=r.MAX_CLOSING_SEG_LEN_FACTOR),this.init(n)},tl={OFFSET_SEGMENT_SEPARATION_FACTOR:{configurable:!0},INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},CURVE_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},MAX_CLOSING_SEG_LEN_FACTOR:{configurable:!0}};Ht.prototype.addNextSegment=function(e,t){if(this._s0=this._s1,this._s1=this._s2,this._s2=e,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var n=q.computeOrientation(this._s0,this._s1,this._s2),i=n===q.CLOCKWISE&&this._side===U.LEFT||n===q.COUNTERCLOCKWISE&&this._side===U.RIGHT;n===0?this.addCollinear(t):i?this.addOutsideTurn(n,t):this.addInsideTurn(n,t)},Ht.prototype.addLineEndCap=function(e,t){var n=new tt(e,t),i=new tt;this.computeOffsetSegment(n,U.LEFT,this._distance,i);var s=new tt;this.computeOffsetSegment(n,U.RIGHT,this._distance,s);var o=t.x-e.x,a=t.y-e.y,u=Math.atan2(a,o);switch(this._bufParams.getEndCapStyle()){case Lt.CAP_ROUND:this._segList.addPt(i.p1),this.addFilletArc(t,u+Math.PI/2,u-Math.PI/2,q.CLOCKWISE,this._distance),this._segList.addPt(s.p1);break;case Lt.CAP_FLAT:this._segList.addPt(i.p1),this._segList.addPt(s.p1);break;case Lt.CAP_SQUARE:var l=new R;l.x=Math.abs(this._distance)*Math.cos(u),l.y=Math.abs(this._distance)*Math.sin(u);var c=new R(i.p1.x+l.x,i.p1.y+l.y),h=new R(s.p1.x+l.x,s.p1.y+l.y);this._segList.addPt(c),this._segList.addPt(h);break}},Ht.prototype.getCoordinates=function(){var e=this._segList.getCoordinates();return e},Ht.prototype.addMitreJoin=function(e,t,n,i){var s=!0,o=null;try{o=Yn.intersection(t.p0,t.p1,n.p0,n.p1);var a=i<=0?1:o.distance(e)/Math.abs(i);a>this._bufParams.getMitreLimit()&&(s=!1)}catch(u){if(u instanceof ua)o=new R(0,0),s=!1;else throw u}finally{}s?this._segList.addPt(o):this.addLimitedMitreJoin(t,n,i,this._bufParams.getMitreLimit())},Ht.prototype.addFilletCorner=function(e,t,n,i,s){var o=t.x-e.x,a=t.y-e.y,u=Math.atan2(a,o),l=n.x-e.x,c=n.y-e.y,h=Math.atan2(c,l);i===q.CLOCKWISE?u<=h&&(u+=2*Math.PI):u>=h&&(u-=2*Math.PI),this._segList.addPt(t),this.addFilletArc(e,u,h,i,s),this._segList.addPt(n)},Ht.prototype.addOutsideTurn=function(e,t){if(this._offset0.p1.distance(this._offset1.p0)<this._distance*Ht.OFFSET_SEGMENT_SEPARATION_FACTOR)return this._segList.addPt(this._offset0.p1),null;this._bufParams.getJoinStyle()===Lt.JOIN_MITRE?this.addMitreJoin(this._s1,this._offset0,this._offset1,this._distance):this._bufParams.getJoinStyle()===Lt.JOIN_BEVEL?this.addBevelJoin(this._offset0,this._offset1):(t&&this._segList.addPt(this._offset0.p1),this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,e,this._distance),this._segList.addPt(this._offset1.p0))},Ht.prototype.createSquare=function(e){this._segList.addPt(new R(e.x+this._distance,e.y+this._distance)),this._segList.addPt(new R(e.x+this._distance,e.y-this._distance)),this._segList.addPt(new R(e.x-this._distance,e.y-this._distance)),this._segList.addPt(new R(e.x-this._distance,e.y+this._distance)),this._segList.closeRing()},Ht.prototype.addSegments=function(e,t){this._segList.addPts(e,t)},Ht.prototype.addFirstSegment=function(){this._segList.addPt(this._offset1.p0)},Ht.prototype.addLastSegment=function(){this._segList.addPt(this._offset1.p1)},Ht.prototype.initSideSegments=function(e,t,n){this._s1=e,this._s2=t,this._side=n,this._seg1.setCoordinates(e,t),this.computeOffsetSegment(this._seg1,n,this._distance,this._offset1)},Ht.prototype.addLimitedMitreJoin=function(e,t,n,i){var s=this._seg0.p1,o=It.angle(s,this._seg0.p0),a=It.angleBetweenOriented(this._seg0.p0,s,this._seg1.p1),u=a/2,l=It.normalize(o+u),c=It.normalize(l+Math.PI),h=i*n,f=h*Math.abs(Math.sin(u)),p=n-f,v=s.x+h*Math.cos(c),C=s.y+h*Math.sin(c),S=new R(v,C),P=new tt(s,S),y=P.pointAlongOffset(1,p),_=P.pointAlongOffset(1,-p);this._side===U.LEFT?(this._segList.addPt(y),this._segList.addPt(_)):(this._segList.addPt(_),this._segList.addPt(y))},Ht.prototype.computeOffsetSegment=function(e,t,n,i){var s=t===U.LEFT?1:-1,o=e.p1.x-e.p0.x,a=e.p1.y-e.p0.y,u=Math.sqrt(o*o+a*a),l=s*n*o/u,c=s*n*a/u;i.p0.x=e.p0.x-c,i.p0.y=e.p0.y+l,i.p1.x=e.p1.x-c,i.p1.y=e.p1.y+l},Ht.prototype.addFilletArc=function(e,t,n,i,s){var o=this,a=i===q.CLOCKWISE?-1:1,u=Math.abs(t-n),l=Math.trunc(u/this._filletAngleQuantum+.5);if(l<1)return null;for(var c=0,h=u/l,f=c,p=new R;f<u;){var v=t+a*f;p.x=e.x+s*Math.cos(v),p.y=e.y+s*Math.sin(v),o._segList.addPt(p),f+=h}},Ht.prototype.addInsideTurn=function(e,t){if(this._li.computeIntersection(this._offset0.p0,this._offset0.p1,this._offset1.p0,this._offset1.p1),this._li.hasIntersection())this._segList.addPt(this._li.getIntersection(0));else if(this._hasNarrowConcaveAngle=!0,this._offset0.p1.distance(this._offset1.p0)<this._distance*Ht.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR)this._segList.addPt(this._offset0.p1);else{if(this._segList.addPt(this._offset0.p1),this._closingSegLengthFactor>0){var n=new R((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(n);var i=new R((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(i)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}},Ht.prototype.createCircle=function(e){var t=new R(e.x+this._distance,e.y);this._segList.addPt(t),this.addFilletArc(e,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},Ht.prototype.addBevelJoin=function(e,t){this._segList.addPt(e.p1),this._segList.addPt(t.p0)},Ht.prototype.init=function(e){this._distance=e,this._maxCurveSegmentError=e*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new xn,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(e*Ht.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},Ht.prototype.addCollinear=function(e){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2);var t=this._li.getIntersectionNum();t>=2&&(this._bufParams.getJoinStyle()===Lt.JOIN_BEVEL||this._bufParams.getJoinStyle()===Lt.JOIN_MITRE?(e&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,q.CLOCKWISE,this._distance))},Ht.prototype.closeRing=function(){this._segList.closeRing()},Ht.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},Ht.prototype.interfaces_=function(){return[]},Ht.prototype.getClass=function(){return Ht},tl.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return .001},tl.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return .001},tl.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},tl.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(Ht,tl);var en=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var e=arguments[0],t=arguments[1];this._precisionModel=e,this._bufParams=t};en.prototype.getOffsetCurve=function(e,t){if(this._distance=t,t===0)return null;var n=t<0,i=Math.abs(t),s=this.getSegGen(i);e.length<=1?this.computePointCurve(e[0],s):this.computeOffsetCurve(e,n,s);var o=s.getCoordinates();return n&&Et.reverse(o),o},en.prototype.computeSingleSidedBufferCurve=function(e,t,n){var i=this.simplifyTolerance(this._distance);if(t){n.addSegments(e,!0);var s=te.simplify(e,-i),o=s.length-1;n.initSideSegments(s[o],s[o-1],U.LEFT),n.addFirstSegment();for(var a=o-2;a>=0;a--)n.addNextSegment(s[a],!0)}else{n.addSegments(e,!1);var u=te.simplify(e,i),l=u.length-1;n.initSideSegments(u[0],u[1],U.LEFT),n.addFirstSegment();for(var c=2;c<=l;c++)n.addNextSegment(u[c],!0)}n.addLastSegment(),n.closeRing()},en.prototype.computeRingBufferCurve=function(e,t,n){var i=this.simplifyTolerance(this._distance);t===U.RIGHT&&(i=-i);var s=te.simplify(e,i),o=s.length-1;n.initSideSegments(s[o-1],s[0],t);for(var a=1;a<=o;a++){var u=a!==1;n.addNextSegment(s[a],u)}n.closeRing()},en.prototype.computeLineBufferCurve=function(e,t){var n=this.simplifyTolerance(this._distance),i=te.simplify(e,n),s=i.length-1;t.initSideSegments(i[0],i[1],U.LEFT);for(var o=2;o<=s;o++)t.addNextSegment(i[o],!0);t.addLastSegment(),t.addLineEndCap(i[s-1],i[s]);var a=te.simplify(e,-n),u=a.length-1;t.initSideSegments(a[u],a[u-1],U.LEFT);for(var l=u-2;l>=0;l--)t.addNextSegment(a[l],!0);t.addLastSegment(),t.addLineEndCap(a[1],a[0]),t.closeRing()},en.prototype.computePointCurve=function(e,t){switch(this._bufParams.getEndCapStyle()){case Lt.CAP_ROUND:t.createCircle(e);break;case Lt.CAP_SQUARE:t.createSquare(e);break}},en.prototype.getLineCurve=function(e,t){if(this._distance=t,t<0&&!this._bufParams.isSingleSided()||t===0)return null;var n=Math.abs(t),i=this.getSegGen(n);if(e.length<=1)this.computePointCurve(e[0],i);else if(this._bufParams.isSingleSided()){var s=t<0;this.computeSingleSidedBufferCurve(e,s,i)}else this.computeLineBufferCurve(e,i);var o=i.getCoordinates();return o},en.prototype.getBufferParameters=function(){return this._bufParams},en.prototype.simplifyTolerance=function(e){return e*this._bufParams.getSimplifyFactor()},en.prototype.getRingCurve=function(e,t,n){if(this._distance=n,e.length<=2)return this.getLineCurve(e,n);if(n===0)return en.copyCoordinates(e);var i=this.getSegGen(n);return this.computeRingBufferCurve(e,t,i),i.getCoordinates()},en.prototype.computeOffsetCurve=function(e,t,n){var i=this.simplifyTolerance(this._distance);if(t){var s=te.simplify(e,-i),o=s.length-1;n.initSideSegments(s[o],s[o-1],U.LEFT),n.addFirstSegment();for(var a=o-2;a>=0;a--)n.addNextSegment(s[a],!0)}else{var u=te.simplify(e,i),l=u.length-1;n.initSideSegments(u[0],u[1],U.LEFT),n.addFirstSegment();for(var c=2;c<=l;c++)n.addNextSegment(u[c],!0)}n.addLastSegment()},en.prototype.getSegGen=function(e){return new Ht(this._precisionModel,this._bufParams,e)},en.prototype.interfaces_=function(){return[]},en.prototype.getClass=function(){return en},en.copyCoordinates=function(e){for(var t=new Array(e.length).fill(null),n=0;n<t.length;n++)t[n]=new R(e[n]);return t};var fo=function(){this._subgraphs=null,this._seg=new tt,this._cga=new q;var e=arguments[0];this._subgraphs=e},Bm={DepthSegment:{configurable:!0}};fo.prototype.findStabbedSegments=function(){var e=this;if(arguments.length===1){for(var t=arguments[0],n=new W,i=this._subgraphs.iterator();i.hasNext();){var s=i.next(),o=s.getEnvelope();t.y<o.getMinY()||t.y>o.getMaxY()||e.findStabbedSegments(t,s.getDirectedEdges(),n)}return n}else if(arguments.length===3){if(at(arguments[2],$n)&&arguments[0]instanceof R&&arguments[1]instanceof dd)for(var a=arguments[0],u=arguments[1],l=arguments[2],c=u.getEdge().getCoordinates(),h=0;h<c.length-1;h++){e._seg.p0=c[h],e._seg.p1=c[h+1],e._seg.p0.y>e._seg.p1.y&&e._seg.reverse();var f=Math.max(e._seg.p0.x,e._seg.p1.x);if(!(f<a.x)&&!e._seg.isHorizontal()&&!(a.y<e._seg.p0.y||a.y>e._seg.p1.y)&&q.computeOrientation(e._seg.p0,e._seg.p1,a)!==q.RIGHT){var p=u.getDepth(U.LEFT);e._seg.p0.equals(c[h])||(p=u.getDepth(U.RIGHT));var v=new bs(e._seg,p);l.add(v)}}else if(at(arguments[2],$n)&&arguments[0]instanceof R&&at(arguments[1],$n))for(var C=arguments[0],S=arguments[1],P=arguments[2],y=S.iterator();y.hasNext();){var _=y.next();_.isForward()&&e.findStabbedSegments(C,_,P)}}},fo.prototype.getDepth=function(e){var t=this.findStabbedSegments(e);if(t.size()===0)return 0;var n=tr.min(t);return n._leftDepth},fo.prototype.interfaces_=function(){return[]},fo.prototype.getClass=function(){return fo},Bm.DepthSegment.get=function(){return bs},Object.defineProperties(fo,Bm);var bs=function(){this._upwardSeg=null,this._leftDepth=null;var e=arguments[0],t=arguments[1];this._upwardSeg=new tt(e),this._leftDepth=t};bs.prototype.compareTo=function(e){var t=e;if(this._upwardSeg.minX()>=t._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=t._upwardSeg.minX())return-1;var n=this._upwardSeg.orientationIndex(t._upwardSeg);return n!==0||(n=-1*t._upwardSeg.orientationIndex(this._upwardSeg),n!==0)?n:this._upwardSeg.compareTo(t._upwardSeg)},bs.prototype.compareX=function(e,t){var n=e.p0.compareTo(t.p0);return n!==0?n:e.p1.compareTo(t.p1)},bs.prototype.toString=function(){return this._upwardSeg.toString()},bs.prototype.interfaces_=function(){return[Ln]},bs.prototype.getClass=function(){return bs};var Ft=function(e,t,n){this.p0=e||null,this.p1=t||null,this.p2=n||null};Ft.prototype.area=function(){return Ft.area(this.p0,this.p1,this.p2)},Ft.prototype.signedArea=function(){return Ft.signedArea(this.p0,this.p1,this.p2)},Ft.prototype.interpolateZ=function(e){if(e===null)throw new Xt("Supplied point is null.");return Ft.interpolateZ(e,this.p0,this.p1,this.p2)},Ft.prototype.longestSideLength=function(){return Ft.longestSideLength(this.p0,this.p1,this.p2)},Ft.prototype.isAcute=function(){return Ft.isAcute(this.p0,this.p1,this.p2)},Ft.prototype.circumcentre=function(){return Ft.circumcentre(this.p0,this.p1,this.p2)},Ft.prototype.area3D=function(){return Ft.area3D(this.p0,this.p1,this.p2)},Ft.prototype.centroid=function(){return Ft.centroid(this.p0,this.p1,this.p2)},Ft.prototype.inCentre=function(){return Ft.inCentre(this.p0,this.p1,this.p2)},Ft.prototype.interfaces_=function(){return[]},Ft.prototype.getClass=function(){return Ft},Ft.area=function(e,t,n){return Math.abs(((n.x-e.x)*(t.y-e.y)-(t.x-e.x)*(n.y-e.y))/2)},Ft.signedArea=function(e,t,n){return((n.x-e.x)*(t.y-e.y)-(t.x-e.x)*(n.y-e.y))/2},Ft.det=function(e,t,n,i){return e*i-t*n},Ft.interpolateZ=function(e,t,n,i){var s=t.x,o=t.y,a=n.x-s,u=i.x-s,l=n.y-o,c=i.y-o,h=a*c-u*l,f=e.x-s,p=e.y-o,v=(c*f-u*p)/h,C=(-l*f+a*p)/h,S=t.z+v*(n.z-t.z)+C*(i.z-t.z);return S},Ft.longestSideLength=function(e,t,n){var i=e.distance(t),s=t.distance(n),o=n.distance(e),a=i;return s>a&&(a=s),o>a&&(a=o),a},Ft.isAcute=function(e,t,n){return!(!It.isAcute(e,t,n)||!It.isAcute(t,n,e)||!It.isAcute(n,e,t))},Ft.circumcentre=function(e,t,n){var i=n.x,s=n.y,o=e.x-i,a=e.y-s,u=t.x-i,l=t.y-s,c=2*Ft.det(o,a,u,l),h=Ft.det(a,o*o+a*a,l,u*u+l*l),f=Ft.det(o,o*o+a*a,u,u*u+l*l),p=i-h/c,v=s+f/c;return new R(p,v)},Ft.perpendicularBisector=function(e,t){var n=t.x-e.x,i=t.y-e.y,s=new Yn(e.x+n/2,e.y+i/2,1),o=new Yn(e.x-i+n/2,e.y+n+i/2,1);return new Yn(s,o)},Ft.angleBisector=function(e,t,n){var i=t.distance(e),s=t.distance(n),o=i/(i+s),a=n.x-e.x,u=n.y-e.y,l=new R(e.x+o*a,e.y+o*u);return l},Ft.area3D=function(e,t,n){var i=t.x-e.x,s=t.y-e.y,o=t.z-e.z,a=n.x-e.x,u=n.y-e.y,l=n.z-e.z,c=s*l-o*u,h=o*a-i*l,f=i*u-s*a,p=c*c+h*h+f*f,v=Math.sqrt(p)/2;return v},Ft.centroid=function(e,t,n){var i=(e.x+t.x+n.x)/3,s=(e.y+t.y+n.y)/3;return new R(i,s)},Ft.inCentre=function(e,t,n){var i=t.distance(n),s=e.distance(n),o=e.distance(t),a=i+s+o,u=(i*e.x+s*t.x+o*n.x)/a,l=(i*e.y+s*t.y+o*n.y)/a;return new R(u,l)};var jn=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new W;var e=arguments[0],t=arguments[1],n=arguments[2];this._inputGeom=e,this._distance=t,this._curveBuilder=n};jn.prototype.addPoint=function(e){if(this._distance<=0)return null;var t=e.getCoordinates(),n=this._curveBuilder.getLineCurve(t,this._distance);this.addCurve(n,F.EXTERIOR,F.INTERIOR)},jn.prototype.addPolygon=function(e){var t=this,n=this._distance,i=U.LEFT;this._distance<0&&(n=-this._distance,i=U.RIGHT);var s=e.getExteriorRing(),o=Et.removeRepeatedPoints(s.getCoordinates());if(this._distance<0&&this.isErodedCompletely(s,this._distance)||this._distance<=0&&o.length<3)return null;this.addPolygonRing(o,n,i,F.EXTERIOR,F.INTERIOR);for(var a=0;a<e.getNumInteriorRing();a++){var u=e.getInteriorRingN(a),l=Et.removeRepeatedPoints(u.getCoordinates());t._distance>0&&t.isErodedCompletely(u,-t._distance)||t.addPolygonRing(l,n,U.opposite(i),F.INTERIOR,F.EXTERIOR)}},jn.prototype.isTriangleErodedCompletely=function(e,t){var n=new Ft(e[0],e[1],e[2]),i=n.inCentre(),s=q.distancePointLine(i,n.p0,n.p1);return s<Math.abs(t)},jn.prototype.addLineString=function(e){if(this._distance<=0&&!this._curveBuilder.getBufferParameters().isSingleSided())return null;var t=Et.removeRepeatedPoints(e.getCoordinates()),n=this._curveBuilder.getLineCurve(t,this._distance);this.addCurve(n,F.EXTERIOR,F.INTERIOR)},jn.prototype.addCurve=function(e,t,n){if(e===null||e.length<2)return null;var i=new se(e,new Vt(0,F.BOUNDARY,t,n));this._curveList.add(i)},jn.prototype.getCurves=function(){return this.add(this._inputGeom),this._curveList},jn.prototype.addPolygonRing=function(e,t,n,i,s){if(t===0&&e.length<Ur.MINIMUM_VALID_SIZE)return null;var o=i,a=s;e.length>=Ur.MINIMUM_VALID_SIZE&&q.isCCW(e)&&(o=s,a=i,n=U.opposite(n));var u=this._curveBuilder.getRingCurve(e,n,t);this.addCurve(u,o,a)},jn.prototype.add=function(e){if(e.isEmpty())return null;e instanceof fe?this.addPolygon(e):e instanceof Qt?this.addLineString(e):e instanceof cn?this.addPoint(e):e instanceof va?this.addCollection(e):e instanceof Cs?this.addCollection(e):e instanceof Gr?this.addCollection(e):e instanceof Ue&&this.addCollection(e)},jn.prototype.isErodedCompletely=function(e,t){var n=e.getCoordinates();if(n.length<4)return t<0;if(n.length===4)return this.isTriangleErodedCompletely(n,t);var i=e.getEnvelopeInternal(),s=Math.min(i.getHeight(),i.getWidth());return t<0&&2*Math.abs(t)>s},jn.prototype.addCollection=function(e){for(var t=this,n=0;n<e.getNumGeometries();n++){var i=e.getGeometryN(n);t.add(i)}},jn.prototype.interfaces_=function(){return[]},jn.prototype.getClass=function(){return jn};var Ea=function(){};Ea.prototype.locate=function(e){},Ea.prototype.interfaces_=function(){return[]},Ea.prototype.getClass=function(){return Ea};var qr=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;var e=arguments[0];this._parent=e,this._atStart=!0,this._index=0,this._max=e.getNumGeometries()};qr.prototype.next=function(){if(this._atStart)return this._atStart=!1,qr.isAtomic(this._parent)&&this._index++,this._parent;if(this._subcollectionIterator!==null){if(this._subcollectionIterator.hasNext())return this._subcollectionIterator.next();this._subcollectionIterator=null}if(this._index>=this._max)throw new ga;var e=this._parent.getGeometryN(this._index++);return e instanceof Ue?(this._subcollectionIterator=new qr(e),this._subcollectionIterator.next()):e},qr.prototype.remove=function(){throw new Error(this.getClass().getName())},qr.prototype.hasNext=function(){if(this._atStart)return!0;if(this._subcollectionIterator!==null){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)},qr.prototype.interfaces_=function(){return[pa]},qr.prototype.getClass=function(){return qr},qr.isAtomic=function(e){return!(e instanceof Ue)};var Tn=function(){this._geom=null;var e=arguments[0];this._geom=e};Tn.prototype.locate=function(e){return Tn.locate(e,this._geom)},Tn.prototype.interfaces_=function(){return[Ea]},Tn.prototype.getClass=function(){return Tn},Tn.isPointInRing=function(e,t){return t.getEnvelopeInternal().intersects(e)?q.isPointInRing(e,t.getCoordinates()):!1},Tn.containsPointInPolygon=function(e,t){if(t.isEmpty())return!1;var n=t.getExteriorRing();if(!Tn.isPointInRing(e,n))return!1;for(var i=0;i<t.getNumInteriorRing();i++){var s=t.getInteriorRingN(i);if(Tn.isPointInRing(e,s))return!1}return!0},Tn.containsPoint=function(e,t){if(t instanceof fe)return Tn.containsPointInPolygon(e,t);if(t instanceof Ue)for(var n=new qr(t);n.hasNext();){var i=n.next();if(i!==t&&Tn.containsPoint(e,i))return!0}return!1},Tn.locate=function(e,t){return t.isEmpty()?F.EXTERIOR:Tn.containsPoint(e,t)?F.INTERIOR:F.EXTERIOR};var Ve=function(){this._edgeMap=new Ae,this._edgeList=null,this._ptInAreaLocation=[F.NONE,F.NONE]};Ve.prototype.getNextCW=function(e){this.getEdges();var t=this._edgeList.indexOf(e),n=t-1;return t===0&&(n=this._edgeList.size()-1),this._edgeList.get(n)},Ve.prototype.propagateSideLabels=function(e){for(var t=F.NONE,n=this.iterator();n.hasNext();){var i=n.next(),s=i.getLabel();s.isArea(e)&&s.getLocation(e,U.LEFT)!==F.NONE&&(t=s.getLocation(e,U.LEFT))}if(t===F.NONE)return null;for(var o=t,a=this.iterator();a.hasNext();){var u=a.next(),l=u.getLabel();if(l.getLocation(e,U.ON)===F.NONE&&l.setLocation(e,U.ON,o),l.isArea(e)){var c=l.getLocation(e,U.LEFT),h=l.getLocation(e,U.RIGHT);if(h!==F.NONE){if(h!==o)throw new wi("side location conflict",u.getCoordinate());c===F.NONE&&vt.shouldNeverReachHere("found single null side (at "+u.getCoordinate()+")"),o=c}else vt.isTrue(l.getLocation(e,U.LEFT)===F.NONE,"found single null side"),l.setLocation(e,U.RIGHT,o),l.setLocation(e,U.LEFT,o)}}},Ve.prototype.getCoordinate=function(){var e=this.iterator();if(!e.hasNext())return null;var t=e.next();return t.getCoordinate()},Ve.prototype.print=function(e){xe.out.println("EdgeEndStar: "+this.getCoordinate());for(var t=this.iterator();t.hasNext();){var n=t.next();n.print(e)}},Ve.prototype.isAreaLabelsConsistent=function(e){return this.computeEdgeEndLabels(e.getBoundaryNodeRule()),this.checkAreaLabelsConsistent(0)},Ve.prototype.checkAreaLabelsConsistent=function(e){var t=this.getEdges();if(t.size()<=0)return!0;var n=t.size()-1,i=t.get(n).getLabel(),s=i.getLocation(e,U.LEFT);vt.isTrue(s!==F.NONE,"Found unlabelled area edge");for(var o=s,a=this.iterator();a.hasNext();){var u=a.next(),l=u.getLabel();vt.isTrue(l.isArea(e),"Found non-area edge");var c=l.getLocation(e,U.LEFT),h=l.getLocation(e,U.RIGHT);if(c===h||h!==o)return!1;o=c}return!0},Ve.prototype.findIndex=function(e){var t=this;this.iterator();for(var n=0;n<this._edgeList.size();n++){var i=t._edgeList.get(n);if(i===e)return n}return-1},Ve.prototype.iterator=function(){return this.getEdges().iterator()},Ve.prototype.getEdges=function(){return this._edgeList===null&&(this._edgeList=new W(this._edgeMap.values())),this._edgeList},Ve.prototype.getLocation=function(e,t,n){return this._ptInAreaLocation[e]===F.NONE&&(this._ptInAreaLocation[e]=Tn.locate(t,n[e].getGeometry())),this._ptInAreaLocation[e]},Ve.prototype.toString=function(){var e=new or;e.append("EdgeEndStar: "+this.getCoordinate()),e.append(`
43
43
  `);for(var t=this.iterator();t.hasNext();){var n=t.next();e.append(n),e.append(`
44
- `)}return e.toString()},Ve.prototype.computeEdgeEndLabels=function(e){for(var t=this.iterator();t.hasNext();){var n=t.next();n.computeLabel(e)}},Ve.prototype.computeLabelling=function(e){var t=this;this.computeEdgeEndLabels(e[0].getBoundaryNodeRule()),this.propagateSideLabels(0),this.propagateSideLabels(1);for(var n=[!1,!1],i=this.iterator();i.hasNext();)for(var s=i.next(),o=s.getLabel(),a=0;a<2;a++)o.isLine(a)&&o.getLocation(a)===F.BOUNDARY&&(n[a]=!0);for(var u=this.iterator();u.hasNext();)for(var l=u.next(),c=l.getLabel(),h=0;h<2;h++)if(c.isAnyNull(h)){var f=F.NONE;if(n[h])f=F.EXTERIOR;else{var p=l.getCoordinate();f=t.getLocation(h,p,e)}c.setAllLocationsIfNull(h,f)}},Ve.prototype.getDegree=function(){return this._edgeMap.size()},Ve.prototype.insertEdgeEnd=function(e,t){this._edgeMap.put(e,t),this._edgeList=null},Ve.prototype.interfaces_=function(){return[]},Ve.prototype.getClass=function(){return Ve};var JE=function(r){function e(){r.call(this),this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.linkResultDirectedEdges=function(){var n=this;this.getResultAreaEdges();for(var i=null,s=null,o=this._SCANNING_FOR_INCOMING,a=0;a<this._resultAreaEdgeList.size();a++){var u=n._resultAreaEdgeList.get(a),l=u.getSym();if(u.getLabel().isArea())switch(i===null&&u.isInResult()&&(i=u),o){case n._SCANNING_FOR_INCOMING:if(!l.isInResult())continue;s=l,o=n._LINKING_TO_OUTGOING;break;case n._LINKING_TO_OUTGOING:if(!u.isInResult())continue;s.setNext(u),o=n._SCANNING_FOR_INCOMING;break}}if(o===this._LINKING_TO_OUTGOING){if(i===null)throw new wi("no outgoing dirEdge found",this.getCoordinate());vt.isTrue(i.isInResult(),"unable to link last incoming dirEdge"),s.setNext(i)}},e.prototype.insert=function(n){var i=n;this.insertEdgeEnd(i,i)},e.prototype.getRightmostEdge=function(){var n=this.getEdges(),i=n.size();if(i<1)return null;var s=n.get(0);if(i===1)return s;var o=n.get(i-1),a=s.getQuadrant(),u=o.getQuadrant();return Bt.isNorthern(a)&&Bt.isNorthern(u)?s:!Bt.isNorthern(a)&&!Bt.isNorthern(u)?o:s.getDy()!==0?s:o.getDy()!==0?o:(vt.shouldNeverReachHere("found two horizontal edges incident on node"),null)},e.prototype.print=function(n){xe.out.println("DirectedEdgeStar: "+this.getCoordinate());for(var i=this.iterator();i.hasNext();){var s=i.next();n.print("out "),s.print(n),n.println(),n.print("in "),s.getSym().print(n),n.println()}},e.prototype.getResultAreaEdges=function(){var n=this;if(this._resultAreaEdgeList!==null)return this._resultAreaEdgeList;this._resultAreaEdgeList=new W;for(var i=this.iterator();i.hasNext();){var s=i.next();(s.isInResult()||s.getSym().isInResult())&&n._resultAreaEdgeList.add(s)}return this._resultAreaEdgeList},e.prototype.updateLabelling=function(n){for(var i=this.iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.setAllLocationsIfNull(0,n.getLocation(0)),o.setAllLocationsIfNull(1,n.getLocation(1))}},e.prototype.linkAllDirectedEdges=function(){var n=this;this.getEdges();for(var i=null,s=null,o=this._edgeList.size()-1;o>=0;o--){var a=n._edgeList.get(o),u=a.getSym();s===null&&(s=u),i!==null&&u.setNext(i),i=a}s.setNext(i)},e.prototype.computeDepths=function(){var n=this;if(arguments.length===1){var i=arguments[0],s=this.findIndex(i),o=i.getDepth(U.LEFT),a=i.getDepth(U.RIGHT),u=this.computeDepths(s+1,this._edgeList.size(),o),l=this.computeDepths(0,s,u);if(l!==a)throw new wi("depth mismatch at "+i.getCoordinate())}else if(arguments.length===3){for(var c=arguments[0],h=arguments[1],f=arguments[2],p=f,v=c;v<h;v++){var C=n._edgeList.get(v);C.setEdgeDepths(U.RIGHT,p),p=C.getDepth(U.LEFT)}return p}},e.prototype.mergeSymLabels=function(){for(var n=this.iterator();n.hasNext();){var i=n.next(),s=i.getLabel();s.merge(i.getSym().getLabel())}},e.prototype.linkMinimalDirectedEdges=function(n){for(var i=this,s=null,o=null,a=this._SCANNING_FOR_INCOMING,u=this._resultAreaEdgeList.size()-1;u>=0;u--){var l=i._resultAreaEdgeList.get(u),c=l.getSym();switch(s===null&&l.getEdgeRing()===n&&(s=l),a){case i._SCANNING_FOR_INCOMING:if(c.getEdgeRing()!==n)continue;o=c,a=i._LINKING_TO_OUTGOING;break;case i._LINKING_TO_OUTGOING:if(l.getEdgeRing()!==n)continue;o.setNextMin(l),a=i._SCANNING_FOR_INCOMING;break}}a===this._LINKING_TO_OUTGOING&&(vt.isTrue(s!==null,"found null for first outgoing dirEdge"),vt.isTrue(s.getEdgeRing()===n,"unable to link last incoming dirEdge"),o.setNextMin(s))},e.prototype.getOutgoingDegree=function(){if(arguments.length===0){for(var n=0,i=this.iterator();i.hasNext();){var s=i.next();s.isInResult()&&n++}return n}else if(arguments.length===1){for(var o=arguments[0],a=0,u=this.iterator();u.hasNext();){var l=u.next();l.getEdgeRing()===o&&a++}return a}},e.prototype.getLabel=function(){return this._label},e.prototype.findCoveredLineEdges=function(){for(var n=F.NONE,i=this.iterator();i.hasNext();){var s=i.next(),o=s.getSym();if(!s.isLineEdge()){if(s.isInResult()){n=F.INTERIOR;break}if(o.isInResult()){n=F.EXTERIOR;break}}}if(n===F.NONE)return null;for(var a=n,u=this.iterator();u.hasNext();){var l=u.next(),c=l.getSym();l.isLineEdge()?l.getEdge().setCovered(a===F.INTERIOR):(l.isInResult()&&(a=F.EXTERIOR),c.isInResult()&&(a=F.INTERIOR))}},e.prototype.computeLabelling=function(n){var i=this;r.prototype.computeLabelling.call(this,n),this._label=new Vt(F.NONE);for(var s=this.iterator();s.hasNext();)for(var o=s.next(),a=o.getEdge(),u=a.getLabel(),l=0;l<2;l++){var c=u.getLocation(l);(c===F.INTERIOR||c===F.BOUNDARY)&&i._label.setLocation(l,F.INTERIOR)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Ve),jm=function(r){function e(){r.apply(this,arguments)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.createNode=function(n){return new hc(n,new JE)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(ya),$i=function r(){this._pts=null,this._orientation=null;var e=arguments[0];this._pts=e,this._orientation=r.orientation(e)};$i.prototype.compareTo=function(e){var t=e,n=$i.compareOriented(this._pts,this._orientation,t._pts,t._orientation);return n},$i.prototype.interfaces_=function(){return[Ln]},$i.prototype.getClass=function(){return $i},$i.orientation=function(e){return Et.increasingDirection(e)===1},$i.compareOriented=function(e,t,n,i){for(var s=t?1:-1,o=i?1:-1,a=t?e.length:-1,u=i?n.length:-1,l=t?0:e.length-1,c=i?0:n.length-1;;){var h=e[l].compareTo(n[c]);if(h!==0)return h;l+=s,c+=o;var f=l===a,p=c===u;if(f&&!p)return-1;if(!f&&p)return 1;if(f&&p)return 0}};var er=function(){this._edges=new W,this._ocaMap=new Ae};er.prototype.print=function(e){var t=this;e.print("MULTILINESTRING ( ");for(var n=0;n<this._edges.size();n++){var i=t._edges.get(n);n>0&&e.print(","),e.print("(");for(var s=i.getCoordinates(),o=0;o<s.length;o++)o>0&&e.print(","),e.print(s[o].x+" "+s[o].y);e.println(")")}e.print(") ")},er.prototype.addAll=function(e){for(var t=this,n=e.iterator();n.hasNext();)t.add(n.next())},er.prototype.findEdgeIndex=function(e){for(var t=this,n=0;n<this._edges.size();n++)if(t._edges.get(n).equals(e))return n;return-1},er.prototype.iterator=function(){return this._edges.iterator()},er.prototype.getEdges=function(){return this._edges},er.prototype.get=function(e){return this._edges.get(e)},er.prototype.findEqualEdge=function(e){var t=new $i(e.getCoordinates()),n=this._ocaMap.get(t);return n},er.prototype.add=function(e){this._edges.add(e);var t=new $i(e.getCoordinates());this._ocaMap.put(t,e)},er.prototype.interfaces_=function(){return[]},er.prototype.getClass=function(){return er};var Ps=function(){};Ps.prototype.processIntersections=function(e,t,n,i){},Ps.prototype.isDone=function(){},Ps.prototype.interfaces_=function(){return[]},Ps.prototype.getClass=function(){return Ps};var Nn=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._hasInterior=!1,this._properIntersectionPoint=null,this._li=null,this._isSelfIntersection=null,this.numIntersections=0,this.numInteriorIntersections=0,this.numProperIntersections=0,this.numTests=0;var e=arguments[0];this._li=e};Nn.prototype.isTrivialIntersection=function(e,t,n,i){if(e===n&&this._li.getIntersectionNum()===1){if(Nn.isAdjacentSegments(t,i))return!0;if(e.isClosed()){var s=e.size()-1;if(t===0&&i===s||i===0&&t===s)return!0}}return!1},Nn.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},Nn.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},Nn.prototype.getLineIntersector=function(){return this._li},Nn.prototype.hasProperIntersection=function(){return this._hasProper},Nn.prototype.processIntersections=function(e,t,n,i){if(e===n&&t===i)return null;this.numTests++;var s=e.getCoordinates()[t],o=e.getCoordinates()[t+1],a=n.getCoordinates()[i],u=n.getCoordinates()[i+1];this._li.computeIntersection(s,o,a,u),this._li.hasIntersection()&&(this.numIntersections++,this._li.isInteriorIntersection()&&(this.numInteriorIntersections++,this._hasInterior=!0),this.isTrivialIntersection(e,t,n,i)||(this._hasIntersection=!0,e.addIntersections(this._li,t,0),n.addIntersections(this._li,i,1),this._li.isProper()&&(this.numProperIntersections++,this._hasProper=!0,this._hasProperInterior=!0)))},Nn.prototype.hasIntersection=function(){return this._hasIntersection},Nn.prototype.isDone=function(){return!1},Nn.prototype.hasInteriorIntersection=function(){return this._hasInterior},Nn.prototype.interfaces_=function(){return[Ps]},Nn.prototype.getClass=function(){return Nn},Nn.isAdjacentSegments=function(e,t){return Math.abs(e-t)===1};var yr=function(){this.coord=null,this.segmentIndex=null,this.dist=null;var e=arguments[0],t=arguments[1],n=arguments[2];this.coord=new R(e),this.segmentIndex=t,this.dist=n};yr.prototype.getSegmentIndex=function(){return this.segmentIndex},yr.prototype.getCoordinate=function(){return this.coord},yr.prototype.print=function(e){e.print(this.coord),e.print(" seg # = "+this.segmentIndex),e.println(" dist = "+this.dist)},yr.prototype.compareTo=function(e){var t=e;return this.compare(t.segmentIndex,t.dist)},yr.prototype.isEndPoint=function(e){return this.segmentIndex===0&&this.dist===0||this.segmentIndex===e},yr.prototype.toString=function(){return this.coord+" seg # = "+this.segmentIndex+" dist = "+this.dist},yr.prototype.getDistance=function(){return this.dist},yr.prototype.compare=function(e,t){return this.segmentIndex<e?-1:this.segmentIndex>e?1:this.dist<t?-1:this.dist>t?1:0},yr.prototype.interfaces_=function(){return[Ln]},yr.prototype.getClass=function(){return yr};var Xr=function(){this._nodeMap=new Ae,this.edge=null;var e=arguments[0];this.edge=e};Xr.prototype.print=function(e){e.println("Intersections:");for(var t=this.iterator();t.hasNext();){var n=t.next();n.print(e)}},Xr.prototype.iterator=function(){return this._nodeMap.values().iterator()},Xr.prototype.addSplitEdges=function(e){var t=this;this.addEndpoints();for(var n=this.iterator(),i=n.next();n.hasNext();){var s=n.next(),o=t.createSplitEdge(i,s);e.add(o),i=s}},Xr.prototype.addEndpoints=function(){var e=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[e],e,0)},Xr.prototype.createSplitEdge=function(e,t){var n=this,i=t.segmentIndex-e.segmentIndex+2,s=this.edge.pts[t.segmentIndex],o=t.dist>0||!t.coord.equals2D(s);o||i--;var a=new Array(i).fill(null),u=0;a[u++]=new R(e.coord);for(var l=e.segmentIndex+1;l<=t.segmentIndex;l++)a[u++]=n.edge.pts[l];return o&&(a[u]=t.coord),new fc(a,new Vt(this.edge._label))},Xr.prototype.add=function(e,t,n){var i=new yr(e,t,n),s=this._nodeMap.get(i);return s!==null?s:(this._nodeMap.put(i,i),i)},Xr.prototype.isIntersection=function(e){for(var t=this.iterator();t.hasNext();){var n=t.next();if(n.coord.equals(e))return!0}return!1},Xr.prototype.interfaces_=function(){return[]},Xr.prototype.getClass=function(){return Xr};var Is=function(){};Is.prototype.getChainStartIndices=function(e){var t=this,n=0,i=new W;i.add(new ar(n));do{var s=t.findChainEnd(e,n);i.add(new ar(s)),n=s}while(n<e.length-1);var o=Is.toIntArray(i);return o},Is.prototype.findChainEnd=function(e,t){for(var n=Bt.quadrant(e[t],e[t+1]),i=t+1;i<e.length;){var s=Bt.quadrant(e[i-1],e[i]);if(s!==n)break;i++}return i-1},Is.prototype.interfaces_=function(){return[]},Is.prototype.getClass=function(){return Is},Is.toIntArray=function(e){for(var t=new Array(e.size()).fill(null),n=0;n<t.length;n++)t[n]=e.get(n).intValue();return t};var Si=function(){this.e=null,this.pts=null,this.startIndex=null,this.env1=new Q,this.env2=new Q;var e=arguments[0];this.e=e,this.pts=e.getCoordinates();var t=new Is;this.startIndex=t.getChainStartIndices(this.pts)};Si.prototype.getCoordinates=function(){return this.pts},Si.prototype.getMaxX=function(e){var t=this.pts[this.startIndex[e]].x,n=this.pts[this.startIndex[e+1]].x;return t>n?t:n},Si.prototype.getMinX=function(e){var t=this.pts[this.startIndex[e]].x,n=this.pts[this.startIndex[e+1]].x;return t<n?t:n},Si.prototype.computeIntersectsForChain=function(){if(arguments.length===4){var e=arguments[0],t=arguments[1],n=arguments[2],i=arguments[3];this.computeIntersectsForChain(this.startIndex[e],this.startIndex[e+1],t,t.startIndex[n],t.startIndex[n+1],i)}else if(arguments.length===6){var s=arguments[0],o=arguments[1],a=arguments[2],u=arguments[3],l=arguments[4],c=arguments[5],h=this.pts[s],f=this.pts[o],p=a.pts[u],v=a.pts[l];if(o-s===1&&l-u===1)return c.addIntersections(this.e,s,a.e,u),null;if(this.env1.init(h,f),this.env2.init(p,v),!this.env1.intersects(this.env2))return null;var C=Math.trunc((s+o)/2),S=Math.trunc((u+l)/2);s<C&&(u<S&&this.computeIntersectsForChain(s,C,a,u,S,c),S<l&&this.computeIntersectsForChain(s,C,a,S,l,c)),C<o&&(u<S&&this.computeIntersectsForChain(C,o,a,u,S,c),S<l&&this.computeIntersectsForChain(C,o,a,S,l,c))}},Si.prototype.getStartIndexes=function(){return this.startIndex},Si.prototype.computeIntersects=function(e,t){for(var n=this,i=0;i<this.startIndex.length-1;i++)for(var s=0;s<e.startIndex.length-1;s++)n.computeIntersectsForChain(i,e,s,t)},Si.prototype.interfaces_=function(){return[]},Si.prototype.getClass=function(){return Si};var Te=function r(){var e=this;this._depth=Array(2).fill().map(function(){return Array(3)});for(var t=0;t<2;t++)for(var n=0;n<3;n++)e._depth[t][n]=r.NULL_VALUE},zm={NULL_VALUE:{configurable:!0}};Te.prototype.getDepth=function(e,t){return this._depth[e][t]},Te.prototype.setDepth=function(e,t,n){this._depth[e][t]=n},Te.prototype.isNull=function(){var e=this;if(arguments.length===0){for(var t=0;t<2;t++)for(var n=0;n<3;n++)if(e._depth[t][n]!==Te.NULL_VALUE)return!1;return!0}else if(arguments.length===1){var i=arguments[0];return this._depth[i][1]===Te.NULL_VALUE}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._depth[s][o]===Te.NULL_VALUE}},Te.prototype.normalize=function(){for(var e=this,t=0;t<2;t++)if(!e.isNull(t)){var n=e._depth[t][1];e._depth[t][2]<n&&(n=e._depth[t][2]),n<0&&(n=0);for(var i=1;i<3;i++){var s=0;e._depth[t][i]>n&&(s=1),e._depth[t][i]=s}}},Te.prototype.getDelta=function(e){return this._depth[e][U.RIGHT]-this._depth[e][U.LEFT]},Te.prototype.getLocation=function(e,t){return this._depth[e][t]<=0?F.EXTERIOR:F.INTERIOR},Te.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},Te.prototype.add=function(){var e=this;if(arguments.length===1)for(var t=arguments[0],n=0;n<2;n++)for(var i=1;i<3;i++){var s=t.getLocation(n,i);(s===F.EXTERIOR||s===F.INTERIOR)&&(e.isNull(n,i)?e._depth[n][i]=Te.depthAtLocation(s):e._depth[n][i]+=Te.depthAtLocation(s))}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2];u===F.INTERIOR&&this._depth[o][a]++}},Te.prototype.interfaces_=function(){return[]},Te.prototype.getClass=function(){return Te},Te.depthAtLocation=function(e){return e===F.EXTERIOR?0:e===F.INTERIOR?1:Te.NULL_VALUE},zm.NULL_VALUE.get=function(){return-1},Object.defineProperties(Te,zm);var fc=function(r){function e(){if(r.call(this),this.pts=null,this._env=null,this.eiList=new Xr(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new Te,this._depthDelta=0,arguments.length===1){var t=arguments[0];e.call(this,t,null)}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this.pts=n,this._label=i}}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.getDepth=function(){return this._depth},e.prototype.getCollapsedEdge=function(){var n=new Array(2).fill(null);n[0]=this.pts[0],n[1]=this.pts[1];var i=new e(n,Vt.toLineLabel(this._label));return i},e.prototype.isIsolated=function(){return this._isIsolated},e.prototype.getCoordinates=function(){return this.pts},e.prototype.setIsolated=function(n){this._isIsolated=n},e.prototype.setName=function(n){this._name=n},e.prototype.equals=function(n){var i=this;if(!(n instanceof e))return!1;var s=n;if(this.pts.length!==s.pts.length)return!1;for(var o=!0,a=!0,u=this.pts.length,l=0;l<this.pts.length;l++)if(i.pts[l].equals2D(s.pts[l])||(o=!1),i.pts[l].equals2D(s.pts[--u])||(a=!1),!o&&!a)return!1;return!0},e.prototype.getCoordinate=function(){if(arguments.length===0)return this.pts.length>0?this.pts[0]:null;if(arguments.length===1){var n=arguments[0];return this.pts[n]}},e.prototype.print=function(n){var i=this;n.print("edge "+this._name+": "),n.print("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&n.print(","),n.print(i.pts[s].x+" "+i.pts[s].y);n.print(") "+this._label+" "+this._depthDelta)},e.prototype.computeIM=function(n){e.updateIM(this._label,n)},e.prototype.isCollapsed=function(){return!this._label.isArea()||this.pts.length!==3?!1:!!this.pts[0].equals(this.pts[2])},e.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},e.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},e.prototype.getDepthDelta=function(){return this._depthDelta},e.prototype.getNumPoints=function(){return this.pts.length},e.prototype.printReverse=function(n){var i=this;n.print("edge "+this._name+": ");for(var s=this.pts.length-1;s>=0;s--)n.print(i.pts[s]+" ");n.println("")},e.prototype.getMonotoneChainEdge=function(){return this._mce===null&&(this._mce=new Si(this)),this._mce},e.prototype.getEnvelope=function(){var n=this;if(this._env===null){this._env=new Q;for(var i=0;i<this.pts.length;i++)n._env.expandToInclude(n.pts[i])}return this._env},e.prototype.addIntersection=function(n,i,s,o){var a=new R(n.getIntersection(o)),u=i,l=n.getEdgeDistance(s,o),c=u+1;if(c<this.pts.length){var h=this.pts[c];a.equals2D(h)&&(u=c,l=0)}this.eiList.add(a,u,l)},e.prototype.toString=function(){var n=this,i=new or;i.append("edge "+this._name+": "),i.append("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&i.append(","),i.append(n.pts[s].x+" "+n.pts[s].y);return i.append(") "+this._label+" "+this._depthDelta),i.toString()},e.prototype.isPointwiseEqual=function(n){var i=this;if(this.pts.length!==n.pts.length)return!1;for(var s=0;s<this.pts.length;s++)if(!i.pts[s].equals2D(n.pts[s]))return!1;return!0},e.prototype.setDepthDelta=function(n){this._depthDelta=n},e.prototype.getEdgeIntersectionList=function(){return this.eiList},e.prototype.addIntersections=function(n,i,s){for(var o=this,a=0;a<n.getIntersectionNum();a++)o.addIntersection(n,i,s,a)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.updateIM=function(){if(arguments.length===2){var n=arguments[0],i=arguments[1];i.setAtLeastIfValid(n.getLocation(0,U.ON),n.getLocation(1,U.ON),1),n.isArea()&&(i.setAtLeastIfValid(n.getLocation(0,U.LEFT),n.getLocation(1,U.LEFT),2),i.setAtLeastIfValid(n.getLocation(0,U.RIGHT),n.getLocation(1,U.RIGHT),2))}else return r.prototype.updateIM.apply(this,arguments)},e}(In),He=function(e){this._workingPrecisionModel=null,this._workingNoder=null,this._geomFact=null,this._graph=null,this._edgeList=new er,this._bufParams=e||null};He.prototype.setWorkingPrecisionModel=function(e){this._workingPrecisionModel=e},He.prototype.insertUniqueEdge=function(e){var t=this._edgeList.findEqualEdge(e);if(t!==null){var n=t.getLabel(),i=e.getLabel();t.isPointwiseEqual(e)||(i=new Vt(e.getLabel()),i.flip()),n.merge(i);var s=He.depthDelta(i),o=t.getDepthDelta(),a=o+s;t.setDepthDelta(a)}else this._edgeList.add(e),e.setDepthDelta(He.depthDelta(e.getLabel()))},He.prototype.buildSubgraphs=function(e,t){for(var n=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=s.getRightmostCoordinate(),a=new fo(n),u=a.getDepth(o);s.computeDepth(u),s.findResultEdges(),n.add(s),t.add(s.getDirectedEdges(),s.getNodes())}},He.prototype.createSubgraphs=function(e){for(var t=new W,n=e.getNodes().iterator();n.hasNext();){var i=n.next();if(!i.isVisited()){var s=new Ge;s.create(i),t.add(s)}}return tr.sort(t,tr.reverseOrder()),t},He.prototype.createEmptyResultGeometry=function(){var e=this._geomFact.createPolygon();return e},He.prototype.getNoder=function(e){if(this._workingNoder!==null)return this._workingNoder;var t=new fd,n=new _s;return n.setPrecisionModel(e),t.setSegmentIntersector(new Nn(n)),t},He.prototype.buffer=function(e,t){var n=this._workingPrecisionModel;n===null&&(n=e.getPrecisionModel()),this._geomFact=e.getFactory();var i=new en(n,this._bufParams),s=new jn(e,t,i),o=s.getCurves();if(o.size()<=0)return this.createEmptyResultGeometry();this.computeNodedEdges(o,n),this._graph=new $t(new jm),this._graph.addEdges(this._edgeList.getEdges());var a=this.createSubgraphs(this._graph),u=new hn(this._geomFact);this.buildSubgraphs(a,u);var l=u.getPolygons();if(l.size()<=0)return this.createEmptyResultGeometry();var c=this._geomFact.buildGeometry(l);return c},He.prototype.computeNodedEdges=function(e,t){var n=this,i=this.getNoder(t);i.computeNodes(e);for(var s=i.getNodedSubstrings(),o=s.iterator();o.hasNext();){var a=o.next(),u=a.getCoordinates();if(!(u.length===2&&u[0].equals2D(u[1]))){var l=a.getData(),c=new fc(a.getCoordinates(),new Vt(l));n.insertUniqueEdge(c)}}},He.prototype.setNoder=function(e){this._workingNoder=e},He.prototype.interfaces_=function(){return[]},He.prototype.getClass=function(){return He},He.depthDelta=function(e){var t=e.getLocation(0,U.LEFT),n=e.getLocation(0,U.RIGHT);return t===F.INTERIOR&&n===F.EXTERIOR?1:t===F.EXTERIOR&&n===F.INTERIOR?-1:0},He.convertSegStrings=function(e){for(var t=new Ct,n=new W;e.hasNext();){var i=e.next(),s=t.createLineString(i.getCoordinates());n.add(s)}return t.buildGeometry(n)};var Ki=function(){if(this._noder=null,this._scaleFactor=null,this._offsetX=null,this._offsetY=null,this._isScaled=!1,arguments.length===2){var e=arguments[0],t=arguments[1];this._noder=e,this._scaleFactor=t,this._offsetX=0,this._offsetY=0,this._isScaled=!this.isIntegerPrecision()}else if(arguments.length===4){var n=arguments[0],i=arguments[1],s=arguments[2],o=arguments[3];this._noder=n,this._scaleFactor=i,this._offsetX=s,this._offsetY=o,this._isScaled=!this.isIntegerPrecision()}};Ki.prototype.rescale=function(){var e=this;if(at(arguments[0],de))for(var t=arguments[0],n=t.iterator();n.hasNext();){var i=n.next();e.rescale(i.getCoordinates())}else if(arguments[0]instanceof Array){for(var s=arguments[0],o=0;o<s.length;o++)s[o].x=s[o].x/e._scaleFactor+e._offsetX,s[o].y=s[o].y/e._scaleFactor+e._offsetY;s.length===2&&s[0].equals2D(s[1])&&xe.out.println(s)}},Ki.prototype.scale=function(){var e=this;if(at(arguments[0],de)){for(var t=arguments[0],n=new W,i=t.iterator();i.hasNext();){var s=i.next();n.add(new se(e.scale(s.getCoordinates()),s.getData()))}return n}else if(arguments[0]instanceof Array){for(var o=arguments[0],a=new Array(o.length).fill(null),u=0;u<o.length;u++)a[u]=new R(Math.round((o[u].x-e._offsetX)*e._scaleFactor),Math.round((o[u].y-e._offsetY)*e._scaleFactor),o[u].z);var l=Et.removeRepeatedPoints(a);return l}},Ki.prototype.isIntegerPrecision=function(){return this._scaleFactor===1},Ki.prototype.getNodedSubstrings=function(){var e=this._noder.getNodedSubstrings();return this._isScaled&&this.rescale(e),e},Ki.prototype.computeNodes=function(e){var t=e;this._isScaled&&(t=this.scale(e)),this._noder.computeNodes(t)},Ki.prototype.interfaces_=function(){return[Ss]},Ki.prototype.getClass=function(){return Ki};var _r=function(){this._li=new _s,this._segStrings=null;var e=arguments[0];this._segStrings=e},Um={fact:{configurable:!0}};_r.prototype.checkEndPtVertexIntersections=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();){var n=t.next(),i=n.getCoordinates();e.checkEndPtVertexIntersections(i[0],e._segStrings),e.checkEndPtVertexIntersections(i[i.length-1],e._segStrings)}else if(arguments.length===2){for(var s=arguments[0],o=arguments[1],a=o.iterator();a.hasNext();)for(var u=a.next(),l=u.getCoordinates(),c=1;c<l.length-1;c++)if(l[c].equals(s))throw new pi("found endpt/interior pt intersection at index "+c+" :pt "+s)}},_r.prototype.checkInteriorIntersections=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();)for(var n=t.next(),i=this._segStrings.iterator();i.hasNext();){var s=i.next();e.checkInteriorIntersections(n,s)}else if(arguments.length===2)for(var o=arguments[0],a=arguments[1],u=o.getCoordinates(),l=a.getCoordinates(),c=0;c<u.length-1;c++)for(var h=0;h<l.length-1;h++)e.checkInteriorIntersections(o,c,a,h);else if(arguments.length===4){var f=arguments[0],p=arguments[1],v=arguments[2],C=arguments[3];if(f===v&&p===C)return null;var S=f.getCoordinates()[p],P=f.getCoordinates()[p+1],y=v.getCoordinates()[C],_=v.getCoordinates()[C+1];if(this._li.computeIntersection(S,P,y,_),this._li.hasIntersection()&&(this._li.isProper()||this.hasInteriorIntersection(this._li,S,P)||this.hasInteriorIntersection(this._li,y,_)))throw new pi("found non-noded intersection at "+S+"-"+P+" and "+y+"-"+_)}},_r.prototype.checkValid=function(){this.checkEndPtVertexIntersections(),this.checkInteriorIntersections(),this.checkCollapses()},_r.prototype.checkCollapses=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();){var n=t.next();e.checkCollapses(n)}else if(arguments.length===1)for(var i=arguments[0],s=i.getCoordinates(),o=0;o<s.length-2;o++)e.checkCollapse(s[o],s[o+1],s[o+2])},_r.prototype.hasInteriorIntersection=function(e,t,n){for(var i=0;i<e.getIntersectionNum();i++){var s=e.getIntersection(i);if(!(s.equals(t)||s.equals(n)))return!0}return!1},_r.prototype.checkCollapse=function(e,t,n){if(e.equals(n))throw new pi("found non-noded collapse at "+_r.fact.createLineString([e,t,n]))},_r.prototype.interfaces_=function(){return[]},_r.prototype.getClass=function(){return _r},Um.fact.get=function(){return new Ct},Object.defineProperties(_r,Um);var nn=function(){this._li=null,this._pt=null,this._originalPt=null,this._ptScaled=null,this._p0Scaled=null,this._p1Scaled=null,this._scaleFactor=null,this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,this._corner=new Array(4).fill(null),this._safeEnv=null;var e=arguments[0],t=arguments[1],n=arguments[2];if(this._originalPt=e,this._pt=e,this._scaleFactor=t,this._li=n,t<=0)throw new Xt("Scale factor must be non-zero");t!==1&&(this._pt=new R(this.scale(e.x),this.scale(e.y)),this._p0Scaled=new R,this._p1Scaled=new R),this.initCorners(this._pt)},Gm={SAFE_ENV_EXPANSION_FACTOR:{configurable:!0}};nn.prototype.intersectsScaled=function(e,t){var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),o=Math.max(e.y,t.y),a=this._maxx<n||this._minx>i||this._maxy<s||this._miny>o;if(a)return!1;var u=this.intersectsToleranceSquare(e,t);return vt.isTrue(!(a&&u),"Found bad envelope test"),u},nn.prototype.initCorners=function(e){var t=.5;this._minx=e.x-t,this._maxx=e.x+t,this._miny=e.y-t,this._maxy=e.y+t,this._corner[0]=new R(this._maxx,this._maxy),this._corner[1]=new R(this._minx,this._maxy),this._corner[2]=new R(this._minx,this._miny),this._corner[3]=new R(this._maxx,this._miny)},nn.prototype.intersects=function(e,t){return this._scaleFactor===1?this.intersectsScaled(e,t):(this.copyScaled(e,this._p0Scaled),this.copyScaled(t,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},nn.prototype.scale=function(e){return Math.round(e*this._scaleFactor)},nn.prototype.getCoordinate=function(){return this._originalPt},nn.prototype.copyScaled=function(e,t){t.x=this.scale(e.x),t.y=this.scale(e.y)},nn.prototype.getSafeEnvelope=function(){if(this._safeEnv===null){var e=nn.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new Q(this._originalPt.x-e,this._originalPt.x+e,this._originalPt.y-e,this._originalPt.y+e)}return this._safeEnv},nn.prototype.intersectsPixelClosure=function(e,t){return this._li.computeIntersection(e,t,this._corner[0],this._corner[1]),!!(this._li.hasIntersection()||(this._li.computeIntersection(e,t,this._corner[1],this._corner[2]),this._li.hasIntersection())||(this._li.computeIntersection(e,t,this._corner[2],this._corner[3]),this._li.hasIntersection())||(this._li.computeIntersection(e,t,this._corner[3],this._corner[0]),this._li.hasIntersection()))},nn.prototype.intersectsToleranceSquare=function(e,t){var n=!1,i=!1;return this._li.computeIntersection(e,t,this._corner[0],this._corner[1]),!!(this._li.isProper()||(this._li.computeIntersection(e,t,this._corner[1],this._corner[2]),this._li.isProper())||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(e,t,this._corner[2],this._corner[3]),this._li.isProper())||(this._li.hasIntersection()&&(i=!0),this._li.computeIntersection(e,t,this._corner[3],this._corner[0]),this._li.isProper())||n&&i||e.equals(this._pt)||t.equals(this._pt))},nn.prototype.addSnappedNode=function(e,t){var n=e.getCoordinate(t),i=e.getCoordinate(t+1);return this.intersects(n,i)?(e.addIntersection(this.getCoordinate(),t),!0):!1},nn.prototype.interfaces_=function(){return[]},nn.prototype.getClass=function(){return nn},Gm.SAFE_ENV_EXPANSION_FACTOR.get=function(){return .75},Object.defineProperties(nn,Gm);var el=function(){this.tempEnv1=new Q,this.selectedSegment=new tt};el.prototype.select=function(){if(arguments.length!==1){if(arguments.length===2){var e=arguments[0],t=arguments[1];e.getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}}},el.prototype.interfaces_=function(){return[]},el.prototype.getClass=function(){return el};var Ca=function(){this._index=null;var e=arguments[0];this._index=e},Wm={HotPixelSnapAction:{configurable:!0}};Ca.prototype.snap=function(){if(arguments.length===1){var e=arguments[0];return this.snap(e,null,-1)}else if(arguments.length===3){var t=arguments[0],n=arguments[1],i=arguments[2],s=t.getSafeEnvelope(),o=new Hm(t,n,i);return this._index.query(s,{interfaces_:function(){return[Yi]},visitItem:function(a){var u=a;u.select(s,o)}}),o.isNodeAdded()}},Ca.prototype.interfaces_=function(){return[]},Ca.prototype.getClass=function(){return Ca},Wm.HotPixelSnapAction.get=function(){return Hm},Object.defineProperties(Ca,Wm);var Hm=function(r){function e(){r.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var t=arguments[0],n=arguments[1],i=arguments[2];this._hotPixel=t,this._parentEdge=n,this._hotPixelVertexIndex=i}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.isNodeAdded=function(){return this._isNodeAdded},e.prototype.select=function(){if(arguments.length===2){var n=arguments[0],i=arguments[1],s=n.getContext();if(this._parentEdge!==null&&s===this._parentEdge&&i===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(s,i)}else return r.prototype.select.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(el),po=function(){this._li=null,this._interiorIntersections=null;var e=arguments[0];this._li=e,this._interiorIntersections=new W};po.prototype.processIntersections=function(e,t,n,i){var s=this;if(e===n&&t===i)return null;var o=e.getCoordinates()[t],a=e.getCoordinates()[t+1],u=n.getCoordinates()[i],l=n.getCoordinates()[i+1];if(this._li.computeIntersection(o,a,u,l),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var c=0;c<this._li.getIntersectionNum();c++)s._interiorIntersections.add(s._li.getIntersection(c));e.addIntersections(this._li,t,0),n.addIntersections(this._li,i,1)}},po.prototype.isDone=function(){return!1},po.prototype.getInteriorIntersections=function(){return this._interiorIntersections},po.prototype.interfaces_=function(){return[Ps]},po.prototype.getClass=function(){return po};var Yr=function(){this._pm=null,this._li=null,this._scaleFactor=null,this._noder=null,this._pointSnapper=null,this._nodedSegStrings=null;var e=arguments[0];this._pm=e,this._li=new _s,this._li.setPrecisionModel(e),this._scaleFactor=e.getScale()};Yr.prototype.checkCorrectness=function(e){var t=se.getNodedSubstrings(e),n=new _r(t);try{n.checkValid()}catch(i){if(i instanceof bm)i.printStackTrace();else throw i}finally{}},Yr.prototype.getNodedSubstrings=function(){return se.getNodedSubstrings(this._nodedSegStrings)},Yr.prototype.snapRound=function(e,t){var n=this.findInteriorIntersections(e,t);this.computeIntersectionSnaps(n),this.computeVertexSnaps(e)},Yr.prototype.findInteriorIntersections=function(e,t){var n=new po(t);return this._noder.setSegmentIntersector(n),this._noder.computeNodes(e),n.getInteriorIntersections()},Yr.prototype.computeVertexSnaps=function(){var e=this;if(at(arguments[0],de))for(var t=arguments[0],n=t.iterator();n.hasNext();){var i=n.next();e.computeVertexSnaps(i)}else if(arguments[0]instanceof se)for(var s=arguments[0],o=s.getCoordinates(),a=0;a<o.length;a++){var u=new nn(o[a],e._scaleFactor,e._li),l=e._pointSnapper.snap(u,s,a);l&&s.addIntersection(o[a],a)}},Yr.prototype.computeNodes=function(e){this._nodedSegStrings=e,this._noder=new fd,this._pointSnapper=new Ca(this._noder.getIndex()),this.snapRound(e,this._li)},Yr.prototype.computeIntersectionSnaps=function(e){for(var t=this,n=e.iterator();n.hasNext();){var i=n.next(),s=new nn(i,t._scaleFactor,t._li);t._pointSnapper.snap(s)}},Yr.prototype.interfaces_=function(){return[Ss]},Yr.prototype.getClass=function(){return Yr};var Ne=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new Lt,this._resultGeometry=null,this._saveException=null,arguments.length===1){var e=arguments[0];this._argGeom=e}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this._argGeom=t,this._bufParams=n}},Sa={CAP_ROUND:{configurable:!0},CAP_BUTT:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},MAX_PRECISION_DIGITS:{configurable:!0}};Ne.prototype.bufferFixedPrecision=function(e){var t=new Ki(new Yr(new Rt(1)),e.getScale()),n=new He(this._bufParams);n.setWorkingPrecisionModel(e),n.setNoder(t),this._resultGeometry=n.buffer(this._argGeom,this._distance)},Ne.prototype.bufferReducedPrecision=function(){var e=this;if(arguments.length===0){for(var t=Ne.MAX_PRECISION_DIGITS;t>=0;t--){try{e.bufferReducedPrecision(t)}catch(o){if(o instanceof wi)e._saveException=o;else throw o}finally{}if(e._resultGeometry!==null)return null}throw this._saveException}else if(arguments.length===1){var n=arguments[0],i=Ne.precisionScaleFactor(this._argGeom,this._distance,n),s=new Rt(i);this.bufferFixedPrecision(s)}},Ne.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),this._resultGeometry!==null)return null;var e=this._argGeom.getFactory().getPrecisionModel();e.getType()===Rt.FIXED?this.bufferFixedPrecision(e):this.bufferReducedPrecision()},Ne.prototype.setQuadrantSegments=function(e){this._bufParams.setQuadrantSegments(e)},Ne.prototype.bufferOriginalPrecision=function(){try{var e=new He(this._bufParams);this._resultGeometry=e.buffer(this._argGeom,this._distance)}catch(t){if(t instanceof pi)this._saveException=t;else throw t}finally{}},Ne.prototype.getResultGeometry=function(e){return this._distance=e,this.computeGeometry(),this._resultGeometry},Ne.prototype.setEndCapStyle=function(e){this._bufParams.setEndCapStyle(e)},Ne.prototype.interfaces_=function(){return[]},Ne.prototype.getClass=function(){return Ne},Ne.bufferOp=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],n=new Ne(e),i=n.getResultGeometry(t);return i}else if(arguments.length===3){if(Number.isInteger(arguments[2])&&arguments[0]instanceof ot&&typeof arguments[1]=="number"){var s=arguments[0],o=arguments[1],a=arguments[2],u=new Ne(s);u.setQuadrantSegments(a);var l=u.getResultGeometry(o);return l}else if(arguments[2]instanceof Lt&&arguments[0]instanceof ot&&typeof arguments[1]=="number"){var c=arguments[0],h=arguments[1],f=arguments[2],p=new Ne(c,f),v=p.getResultGeometry(h);return v}}else if(arguments.length===4){var C=arguments[0],S=arguments[1],P=arguments[2],y=arguments[3],_=new Ne(C);_.setQuadrantSegments(P),_.setEndCapStyle(y);var m=_.getResultGeometry(S);return m}},Ne.precisionScaleFactor=function(e,t,n){var i=e.getEnvelopeInternal(),s=Pn.max(Math.abs(i.getMaxX()),Math.abs(i.getMaxY()),Math.abs(i.getMinX()),Math.abs(i.getMinY())),o=t>0?t:0,a=s+2*o,u=Math.trunc(Math.log(a)/Math.log(10)+1),l=n-u,c=Math.pow(10,l);return c},Sa.CAP_ROUND.get=function(){return Lt.CAP_ROUND},Sa.CAP_BUTT.get=function(){return Lt.CAP_FLAT},Sa.CAP_FLAT.get=function(){return Lt.CAP_FLAT},Sa.CAP_SQUARE.get=function(){return Lt.CAP_SQUARE},Sa.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(Ne,Sa);var qe=function(){this._pt=[new R,new R],this._distance=ht.NaN,this._isNull=!0};qe.prototype.getCoordinates=function(){return this._pt},qe.prototype.getCoordinate=function(e){return this._pt[e]},qe.prototype.setMinimum=function(){if(arguments.length===1){var e=arguments[0];this.setMinimum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(t,n),null;var i=t.distance(n);i<this._distance&&this.initialize(t,n,i)}},qe.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var e=arguments[0],t=arguments[1];this._pt[0].setCoordinate(e),this._pt[1].setCoordinate(t),this._distance=e.distance(t),this._isNull=!1}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(n),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},qe.prototype.getDistance=function(){return this._distance},qe.prototype.setMaximum=function(){if(arguments.length===1){var e=arguments[0];this.setMaximum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(t,n),null;var i=t.distance(n);i>this._distance&&this.initialize(t,n,i)}},qe.prototype.interfaces_=function(){return[]},qe.prototype.getClass=function(){return qe};var Jr=function(){};Jr.prototype.interfaces_=function(){return[]},Jr.prototype.getClass=function(){return Jr},Jr.computeDistance=function(){if(arguments[2]instanceof qe&&arguments[0]instanceof Qt&&arguments[1]instanceof R)for(var e=arguments[0],t=arguments[1],n=arguments[2],i=e.getCoordinates(),s=new tt,o=0;o<i.length-1;o++){s.setCoordinates(i[o],i[o+1]);var a=s.closestPoint(t);n.setMinimum(a,t)}else if(arguments[2]instanceof qe&&arguments[0]instanceof fe&&arguments[1]instanceof R){var u=arguments[0],l=arguments[1],c=arguments[2];Jr.computeDistance(u.getExteriorRing(),l,c);for(var h=0;h<u.getNumInteriorRing();h++)Jr.computeDistance(u.getInteriorRingN(h),l,c)}else if(arguments[2]instanceof qe&&arguments[0]instanceof ot&&arguments[1]instanceof R){var f=arguments[0],p=arguments[1],v=arguments[2];if(f instanceof Qt)Jr.computeDistance(f,p,v);else if(f instanceof fe)Jr.computeDistance(f,p,v);else if(f instanceof Ue)for(var C=f,S=0;S<C.getNumGeometries();S++){var P=C.getGeometryN(S);Jr.computeDistance(P,p,v)}else v.setMinimum(f.getCoordinate(),p)}else if(arguments[2]instanceof qe&&arguments[0]instanceof tt&&arguments[1]instanceof R){var y=arguments[0],_=arguments[1],m=arguments[2],w=y.closestPoint(_);m.setMinimum(w,_)}};var xs=function(e){this._maxPtDist=new qe,this._inputGeom=e||null},pd={MaxPointDistanceFilter:{configurable:!0},MaxMidpointDistanceFilter:{configurable:!0}};xs.prototype.computeMaxMidpointDistance=function(e){var t=new Zi(this._inputGeom);e.apply(t),this._maxPtDist.setMaximum(t.getMaxPointDistance())},xs.prototype.computeMaxVertexDistance=function(e){var t=new go(this._inputGeom);e.apply(t),this._maxPtDist.setMaximum(t.getMaxPointDistance())},xs.prototype.findDistance=function(e){return this.computeMaxVertexDistance(e),this.computeMaxMidpointDistance(e),this._maxPtDist.getDistance()},xs.prototype.getDistancePoints=function(){return this._maxPtDist},xs.prototype.interfaces_=function(){return[]},xs.prototype.getClass=function(){return xs},pd.MaxPointDistanceFilter.get=function(){return go},pd.MaxMidpointDistanceFilter.get=function(){return Zi},Object.defineProperties(xs,pd);var go=function(e){this._maxPtDist=new qe,this._minPtDist=new qe,this._geom=e||null};go.prototype.filter=function(e){this._minPtDist.initialize(),Jr.computeDistance(this._geom,e,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},go.prototype.getMaxPointDistance=function(){return this._maxPtDist},go.prototype.interfaces_=function(){return[zr]},go.prototype.getClass=function(){return go};var Zi=function(e){this._maxPtDist=new qe,this._minPtDist=new qe,this._geom=e||null};Zi.prototype.filter=function(e,t){if(t===0)return null;var n=e.getCoordinate(t-1),i=e.getCoordinate(t),s=new R((n.x+i.x)/2,(n.y+i.y)/2);this._minPtDist.initialize(),Jr.computeDistance(this._geom,s,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Zi.prototype.isDone=function(){return!1},Zi.prototype.isGeometryChanged=function(){return!1},Zi.prototype.getMaxPointDistance=function(){return this._maxPtDist},Zi.prototype.interfaces_=function(){return[Zn]},Zi.prototype.getClass=function(){return Zi};var bi=function(e){this._comps=e||null};bi.prototype.filter=function(e){e instanceof fe&&this._comps.add(e)},bi.prototype.interfaces_=function(){return[hr]},bi.prototype.getClass=function(){return bi},bi.getPolygons=function(){if(arguments.length===1){var e=arguments[0];return bi.getPolygons(e,new W)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];return t instanceof fe?n.add(t):t instanceof Ue&&t.apply(new bi(n)),n}};var Oe=function(){if(this._lines=null,this._isForcedToLineString=!1,arguments.length===1){var e=arguments[0];this._lines=e}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this._lines=t,this._isForcedToLineString=n}};Oe.prototype.filter=function(e){if(this._isForcedToLineString&&e instanceof Ur){var t=e.getFactory().createLineString(e.getCoordinateSequence());return this._lines.add(t),null}e instanceof Qt&&this._lines.add(e)},Oe.prototype.setForceToLineString=function(e){this._isForcedToLineString=e},Oe.prototype.interfaces_=function(){return[gi]},Oe.prototype.getClass=function(){return Oe},Oe.getGeometry=function(){if(arguments.length===1){var e=arguments[0];return e.getFactory().buildGeometry(Oe.getLines(e))}else if(arguments.length===2){var t=arguments[0],n=arguments[1];return t.getFactory().buildGeometry(Oe.getLines(t,n))}},Oe.getLines=function(){if(arguments.length===1){var e=arguments[0];return Oe.getLines(e,!1)}else if(arguments.length===2){if(at(arguments[0],de)&&at(arguments[1],de)){for(var t=arguments[0],n=arguments[1],i=t.iterator();i.hasNext();){var s=i.next();Oe.getLines(s,n)}return n}else if(arguments[0]instanceof ot&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1],u=new W;return o.apply(new Oe(u,a)),u}else if(arguments[0]instanceof ot&&at(arguments[1],de)){var l=arguments[0],c=arguments[1];return l instanceof Qt?c.add(l):l.apply(new Oe(c)),c}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&at(arguments[0],de)&&at(arguments[1],de)){for(var h=arguments[0],f=arguments[1],p=arguments[2],v=h.iterator();v.hasNext();){var C=v.next();Oe.getLines(C,f,p)}return f}else if(typeof arguments[2]=="boolean"&&arguments[0]instanceof ot&&at(arguments[1],de)){var S=arguments[0],P=arguments[1],y=arguments[2];return S.apply(new Oe(P,y)),P}}};var nr=function(){if(this._boundaryRule=An.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];if(e===null)throw new Xt("Rule must be non-null");this._boundaryRule=e}}};nr.prototype.locateInternal=function(){var e=this;if(arguments[0]instanceof R&&arguments[1]instanceof fe){var t=arguments[0],n=arguments[1];if(n.isEmpty())return F.EXTERIOR;var i=n.getExteriorRing(),s=this.locateInPolygonRing(t,i);if(s===F.EXTERIOR)return F.EXTERIOR;if(s===F.BOUNDARY)return F.BOUNDARY;for(var o=0;o<n.getNumInteriorRing();o++){var a=n.getInteriorRingN(o),u=e.locateInPolygonRing(t,a);if(u===F.INTERIOR)return F.EXTERIOR;if(u===F.BOUNDARY)return F.BOUNDARY}return F.INTERIOR}else if(arguments[0]instanceof R&&arguments[1]instanceof Qt){var l=arguments[0],c=arguments[1];if(!c.getEnvelopeInternal().intersects(l))return F.EXTERIOR;var h=c.getCoordinates();return!c.isClosed()&&(l.equals(h[0])||l.equals(h[h.length-1]))?F.BOUNDARY:q.isOnLine(l,h)?F.INTERIOR:F.EXTERIOR}else if(arguments[0]instanceof R&&arguments[1]instanceof cn){var f=arguments[0],p=arguments[1],v=p.getCoordinate();return v.equals2D(f)?F.INTERIOR:F.EXTERIOR}},nr.prototype.locateInPolygonRing=function(e,t){return t.getEnvelopeInternal().intersects(e)?q.locatePointInRing(e,t.getCoordinates()):F.EXTERIOR},nr.prototype.intersects=function(e,t){return this.locate(e,t)!==F.EXTERIOR},nr.prototype.updateLocationInfo=function(e){e===F.INTERIOR&&(this._isIn=!0),e===F.BOUNDARY&&this._numBoundaries++},nr.prototype.computeLocation=function(e,t){var n=this;if(t instanceof cn&&this.updateLocationInfo(this.locateInternal(e,t)),t instanceof Qt)this.updateLocationInfo(this.locateInternal(e,t));else if(t instanceof fe)this.updateLocationInfo(this.locateInternal(e,t));else if(t instanceof Cs)for(var i=t,s=0;s<i.getNumGeometries();s++){var o=i.getGeometryN(s);n.updateLocationInfo(n.locateInternal(e,o))}else if(t instanceof Gr)for(var a=t,u=0;u<a.getNumGeometries();u++){var l=a.getGeometryN(u);n.updateLocationInfo(n.locateInternal(e,l))}else if(t instanceof Ue)for(var c=new qr(t);c.hasNext();){var h=c.next();h!==t&&n.computeLocation(e,h)}},nr.prototype.locate=function(e,t){return t.isEmpty()?F.EXTERIOR:t instanceof Qt?this.locateInternal(e,t):t instanceof fe?this.locateInternal(e,t):(this._isIn=!1,this._numBoundaries=0,this.computeLocation(e,t),this._boundaryRule.isInBoundary(this._numBoundaries)?F.BOUNDARY:this._numBoundaries>0||this._isIn?F.INTERIOR:F.EXTERIOR)},nr.prototype.interfaces_=function(){return[]},nr.prototype.getClass=function(){return nr};var Xe=function r(){if(this._component=null,this._segIndex=null,this._pt=null,arguments.length===2){var e=arguments[0],t=arguments[1];r.call(this,e,r.INSIDE_AREA,t)}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this._component=n,this._segIndex=i,this._pt=s}},qm={INSIDE_AREA:{configurable:!0}};Xe.prototype.isInsideArea=function(){return this._segIndex===Xe.INSIDE_AREA},Xe.prototype.getCoordinate=function(){return this._pt},Xe.prototype.getGeometryComponent=function(){return this._component},Xe.prototype.getSegmentIndex=function(){return this._segIndex},Xe.prototype.interfaces_=function(){return[]},Xe.prototype.getClass=function(){return Xe},qm.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Xe,qm);var Qi=function(e){this._pts=e||null};Qi.prototype.filter=function(e){e instanceof cn&&this._pts.add(e)},Qi.prototype.interfaces_=function(){return[hr]},Qi.prototype.getClass=function(){return Qi},Qi.getPoints=function(){if(arguments.length===1){var e=arguments[0];return e instanceof cn?tr.singletonList(e):Qi.getPoints(e,new W)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];return t instanceof cn?n.add(t):t instanceof Ue&&t.apply(new Qi(n)),n}};var mo=function(){this._locations=null;var e=arguments[0];this._locations=e};mo.prototype.filter=function(e){(e instanceof cn||e instanceof Qt||e instanceof fe)&&this._locations.add(new Xe(e,0,e.getCoordinate()))},mo.prototype.interfaces_=function(){return[hr]},mo.prototype.getClass=function(){return mo},mo.getLocations=function(e){var t=new W;return e.apply(new mo(t)),t};var De=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new nr,this._minDistanceLocation=null,this._minDistance=ht.MAX_VALUE,arguments.length===2){var e=arguments[0],t=arguments[1];this._geom=[e,t],this._terminateDistance=0}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=n,this._geom[1]=i,this._terminateDistance=s}};De.prototype.computeContainmentDistance=function(){var e=this;if(arguments.length===0){var t=new Array(2).fill(null);if(this.computeContainmentDistance(0,t),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(arguments.length===2){var n=arguments[0],i=arguments[1],s=1-n,o=bi.getPolygons(this._geom[n]);if(o.size()>0){var a=mo.getLocations(this._geom[s]);if(this.computeContainmentDistance(a,o,i),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[s]=i[0],this._minDistanceLocation[n]=i[1],null}}else if(arguments.length===3){if(arguments[2]instanceof Array&&at(arguments[0],$n)&&at(arguments[1],$n)){for(var u=arguments[0],l=arguments[1],c=arguments[2],h=0;h<u.size();h++)for(var f=u.get(h),p=0;p<l.size();p++)if(e.computeContainmentDistance(f,l.get(p),c),e._minDistance<=e._terminateDistance)return null}else if(arguments[2]instanceof Array&&arguments[0]instanceof Xe&&arguments[1]instanceof fe){var v=arguments[0],C=arguments[1],S=arguments[2],P=v.getCoordinate();if(F.EXTERIOR!==this._ptLocator.locate(P,C))return this._minDistance=0,S[0]=v,S[1]=new Xe(C,P),null}}},De.prototype.computeMinDistanceLinesPoints=function(e,t,n){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var u=t.get(a);if(i.computeMinDistance(o,u,n),i._minDistance<=i._terminateDistance)return null}},De.prototype.computeFacetDistance=function(){var e=new Array(2).fill(null),t=Oe.getLines(this._geom[0]),n=Oe.getLines(this._geom[1]),i=Qi.getPoints(this._geom[0]),s=Qi.getPoints(this._geom[1]);if(this.computeMinDistanceLines(t,n,e),this.updateMinDistance(e,!1),this._minDistance<=this._terminateDistance||(e[0]=null,e[1]=null,this.computeMinDistanceLinesPoints(t,s,e),this.updateMinDistance(e,!1),this._minDistance<=this._terminateDistance)||(e[0]=null,e[1]=null,this.computeMinDistanceLinesPoints(n,i,e),this.updateMinDistance(e,!0),this._minDistance<=this._terminateDistance))return null;e[0]=null,e[1]=null,this.computeMinDistancePoints(i,s,e),this.updateMinDistance(e,!1)},De.prototype.nearestLocations=function(){return this.computeMinDistance(),this._minDistanceLocation},De.prototype.updateMinDistance=function(e,t){if(e[0]===null)return null;t?(this._minDistanceLocation[0]=e[1],this._minDistanceLocation[1]=e[0]):(this._minDistanceLocation[0]=e[0],this._minDistanceLocation[1]=e[1])},De.prototype.nearestPoints=function(){this.computeMinDistance();var e=[this._minDistanceLocation[0].getCoordinate(),this._minDistanceLocation[1].getCoordinate()];return e},De.prototype.computeMinDistance=function(){var e=this;if(arguments.length===0){if(this._minDistanceLocation!==null||(this._minDistanceLocation=new Array(2).fill(null),this.computeContainmentDistance(),this._minDistance<=this._terminateDistance))return null;this.computeFacetDistance()}else if(arguments.length===3){if(arguments[2]instanceof Array&&arguments[0]instanceof Qt&&arguments[1]instanceof cn){var t=arguments[0],n=arguments[1],i=arguments[2];if(t.getEnvelopeInternal().distance(n.getEnvelopeInternal())>this._minDistance)return null;for(var s=t.getCoordinates(),o=n.getCoordinate(),a=0;a<s.length-1;a++){var u=q.distancePointLine(o,s[a],s[a+1]);if(u<e._minDistance){e._minDistance=u;var l=new tt(s[a],s[a+1]),c=l.closestPoint(o);i[0]=new Xe(t,a,c),i[1]=new Xe(n,0,o)}if(e._minDistance<=e._terminateDistance)return null}}else if(arguments[2]instanceof Array&&arguments[0]instanceof Qt&&arguments[1]instanceof Qt){var h=arguments[0],f=arguments[1],p=arguments[2];if(h.getEnvelopeInternal().distance(f.getEnvelopeInternal())>this._minDistance)return null;for(var v=h.getCoordinates(),C=f.getCoordinates(),S=0;S<v.length-1;S++)for(var P=0;P<C.length-1;P++){var y=q.distanceLineLine(v[S],v[S+1],C[P],C[P+1]);if(y<e._minDistance){e._minDistance=y;var _=new tt(v[S],v[S+1]),m=new tt(C[P],C[P+1]),w=_.closestPoints(m);p[0]=new Xe(h,S,w[0]),p[1]=new Xe(f,P,w[1])}if(e._minDistance<=e._terminateDistance)return null}}}},De.prototype.computeMinDistancePoints=function(e,t,n){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var u=t.get(a),l=o.getCoordinate().distance(u.getCoordinate());if(l<i._minDistance&&(i._minDistance=l,n[0]=new Xe(o,0,o.getCoordinate()),n[1]=new Xe(u,0,u.getCoordinate())),i._minDistance<=i._terminateDistance)return null}},De.prototype.distance=function(){if(this._geom[0]===null||this._geom[1]===null)throw new Xt("null geometries are not supported");return this._geom[0].isEmpty()||this._geom[1].isEmpty()?0:(this.computeMinDistance(),this._minDistance)},De.prototype.computeMinDistanceLines=function(e,t,n){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var u=t.get(a);if(i.computeMinDistance(o,u,n),i._minDistance<=i._terminateDistance)return null}},De.prototype.interfaces_=function(){return[]},De.prototype.getClass=function(){return De},De.distance=function(e,t){var n=new De(e,t);return n.distance()},De.isWithinDistance=function(e,t,n){var i=new De(e,t,n);return i.distance()<=n},De.nearestPoints=function(e,t){var n=new De(e,t);return n.nearestPoints()};var Be=function(){this._pt=[new R,new R],this._distance=ht.NaN,this._isNull=!0};Be.prototype.getCoordinates=function(){return this._pt},Be.prototype.getCoordinate=function(e){return this._pt[e]},Be.prototype.setMinimum=function(){if(arguments.length===1){var e=arguments[0];this.setMinimum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(t,n),null;var i=t.distance(n);i<this._distance&&this.initialize(t,n,i)}},Be.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var e=arguments[0],t=arguments[1];this._pt[0].setCoordinate(e),this._pt[1].setCoordinate(t),this._distance=e.distance(t),this._isNull=!1}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(n),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},Be.prototype.toString=function(){return Jn.toLineString(this._pt[0],this._pt[1])},Be.prototype.getDistance=function(){return this._distance},Be.prototype.setMaximum=function(){if(arguments.length===1){var e=arguments[0];this.setMaximum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(t,n),null;var i=t.distance(n);i>this._distance&&this.initialize(t,n,i)}},Be.prototype.interfaces_=function(){return[]},Be.prototype.getClass=function(){return Be};var wr=function(){};wr.prototype.interfaces_=function(){return[]},wr.prototype.getClass=function(){return wr},wr.computeDistance=function(){if(arguments[2]instanceof Be&&arguments[0]instanceof Qt&&arguments[1]instanceof R)for(var e=arguments[0],t=arguments[1],n=arguments[2],i=new tt,s=e.getCoordinates(),o=0;o<s.length-1;o++){i.setCoordinates(s[o],s[o+1]);var a=i.closestPoint(t);n.setMinimum(a,t)}else if(arguments[2]instanceof Be&&arguments[0]instanceof fe&&arguments[1]instanceof R){var u=arguments[0],l=arguments[1],c=arguments[2];wr.computeDistance(u.getExteriorRing(),l,c);for(var h=0;h<u.getNumInteriorRing();h++)wr.computeDistance(u.getInteriorRingN(h),l,c)}else if(arguments[2]instanceof Be&&arguments[0]instanceof ot&&arguments[1]instanceof R){var f=arguments[0],p=arguments[1],v=arguments[2];if(f instanceof Qt)wr.computeDistance(f,p,v);else if(f instanceof fe)wr.computeDistance(f,p,v);else if(f instanceof Ue)for(var C=f,S=0;S<C.getNumGeometries();S++){var P=C.getGeometryN(S);wr.computeDistance(P,p,v)}else v.setMinimum(f.getCoordinate(),p)}else if(arguments[2]instanceof Be&&arguments[0]instanceof tt&&arguments[1]instanceof R){var y=arguments[0],_=arguments[1],m=arguments[2],w=y.closestPoint(_);m.setMinimum(w,_)}};var zn=function(){this._g0=null,this._g1=null,this._ptDist=new Be,this._densifyFrac=0;var e=arguments[0],t=arguments[1];this._g0=e,this._g1=t},gd={MaxPointDistanceFilter:{configurable:!0},MaxDensifiedByFractionDistanceFilter:{configurable:!0}};zn.prototype.getCoordinates=function(){return this._ptDist.getCoordinates()},zn.prototype.setDensifyFraction=function(e){if(e>1||e<=0)throw new Xt("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=e},zn.prototype.compute=function(e,t){this.computeOrientedDistance(e,t,this._ptDist),this.computeOrientedDistance(t,e,this._ptDist)},zn.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},zn.prototype.computeOrientedDistance=function(e,t,n){var i=new vo(t);if(e.apply(i),n.setMaximum(i.getMaxPointDistance()),this._densifyFrac>0){var s=new ts(t,this._densifyFrac);e.apply(s),n.setMaximum(s.getMaxPointDistance())}},zn.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},zn.prototype.interfaces_=function(){return[]},zn.prototype.getClass=function(){return zn},zn.distance=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],n=new zn(e,t);return n.distance()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new zn(i,s);return a.setDensifyFraction(o),a.distance()}},gd.MaxPointDistanceFilter.get=function(){return vo},gd.MaxDensifiedByFractionDistanceFilter.get=function(){return ts},Object.defineProperties(zn,gd);var vo=function(){this._maxPtDist=new Be,this._minPtDist=new Be,this._euclideanDist=new wr,this._geom=null;var e=arguments[0];this._geom=e};vo.prototype.filter=function(e){this._minPtDist.initialize(),wr.computeDistance(this._geom,e,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},vo.prototype.getMaxPointDistance=function(){return this._maxPtDist},vo.prototype.interfaces_=function(){return[zr]},vo.prototype.getClass=function(){return vo};var ts=function(){this._maxPtDist=new Be,this._minPtDist=new Be,this._geom=null,this._numSubSegs=0;var e=arguments[0],t=arguments[1];this._geom=e,this._numSubSegs=Math.trunc(Math.round(1/t))};ts.prototype.filter=function(e,t){var n=this;if(t===0)return null;for(var i=e.getCoordinate(t-1),s=e.getCoordinate(t),o=(s.x-i.x)/this._numSubSegs,a=(s.y-i.y)/this._numSubSegs,u=0;u<this._numSubSegs;u++){var l=i.x+u*o,c=i.y+u*a,h=new R(l,c);n._minPtDist.initialize(),wr.computeDistance(n._geom,h,n._minPtDist),n._maxPtDist.setMaximum(n._minPtDist)}},ts.prototype.isDone=function(){return!1},ts.prototype.isGeometryChanged=function(){return!1},ts.prototype.getMaxPointDistance=function(){return this._maxPtDist},ts.prototype.interfaces_=function(){return[Zn]},ts.prototype.getClass=function(){return ts};var fn=function(e,t,n){this._minValidDistance=null,this._maxValidDistance=null,this._minDistanceFound=null,this._maxDistanceFound=null,this._isValid=!0,this._errMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=e||null,this._bufDistance=t||null,this._result=n||null},md={VERBOSE:{configurable:!0},MAX_DISTANCE_DIFF_FRAC:{configurable:!0}};fn.prototype.checkMaximumDistance=function(e,t,n){var i=new zn(t,e);if(i.setDensifyFraction(.25),this._maxDistanceFound=i.orientedDistance(),this._maxDistanceFound>n){this._isValid=!1;var s=i.getCoordinates();this._errorLocation=s[1],this._errorIndicator=e.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too large ("+this._maxDistanceFound+" at "+Jn.toLineString(s[0],s[1])+")"}},fn.prototype.isValid=function(){var e=Math.abs(this._bufDistance),t=fn.MAX_DISTANCE_DIFF_FRAC*e;return this._minValidDistance=e-t,this._maxValidDistance=e+t,this._input.isEmpty()||this._result.isEmpty()?!0:(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),fn.VERBOSE&&xe.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},fn.prototype.checkNegativeValid=function(){if(!(this._input instanceof fe||this._input instanceof Gr||this._input instanceof Ue))return null;var e=this.getPolygonLines(this._input);if(this.checkMinimumDistance(e,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(e,this._result,this._maxValidDistance)},fn.prototype.getErrorIndicator=function(){return this._errorIndicator},fn.prototype.checkMinimumDistance=function(e,t,n){var i=new De(e,t,n);if(this._minDistanceFound=i.distance(),this._minDistanceFound<n){this._isValid=!1;var s=i.nearestPoints();this._errorLocation=i.nearestPoints()[1],this._errorIndicator=e.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too small ("+this._minDistanceFound+" at "+Jn.toLineString(s[0],s[1])+" )"}},fn.prototype.checkPositiveValid=function(){var e=this._result.getBoundary();if(this.checkMinimumDistance(this._input,e,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(this._input,e,this._maxValidDistance)},fn.prototype.getErrorLocation=function(){return this._errorLocation},fn.prototype.getPolygonLines=function(e){for(var t=new W,n=new Oe(t),i=bi.getPolygons(e),s=i.iterator();s.hasNext();){var o=s.next();o.apply(n)}return e.getFactory().buildGeometry(t)},fn.prototype.getErrorMessage=function(){return this._errMsg},fn.prototype.interfaces_=function(){return[]},fn.prototype.getClass=function(){return fn},md.VERBOSE.get=function(){return!1},md.MAX_DISTANCE_DIFF_FRAC.get=function(){return .012},Object.defineProperties(fn,md);var Me=function(e,t,n){this._isValid=!0,this._errorMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=e||null,this._distance=t||null,this._result=n||null},vd={VERBOSE:{configurable:!0},MAX_ENV_DIFF_FRAC:{configurable:!0}};Me.prototype.isValid=function(){return this.checkPolygonal(),this._isValid?(this.checkExpectedEmpty(),this._isValid?(this.checkEnvelope(),this._isValid?(this.checkArea(),this._isValid?(this.checkDistance(),this._isValid):this._isValid):this._isValid):this._isValid):this._isValid},Me.prototype.checkEnvelope=function(){if(this._distance<0)return null;var e=this._distance*Me.MAX_ENV_DIFF_FRAC;e===0&&(e=.001);var t=new Q(this._input.getEnvelopeInternal());t.expandBy(this._distance);var n=new Q(this._result.getEnvelopeInternal());n.expandBy(e),n.contains(t)||(this._isValid=!1,this._errorMsg="Buffer envelope is incorrect",this._errorIndicator=this._input.getFactory().toGeometry(n)),this.report("Envelope")},Me.prototype.checkDistance=function(){var e=new fn(this._input,this._distance,this._result);e.isValid()||(this._isValid=!1,this._errorMsg=e.getErrorMessage(),this._errorLocation=e.getErrorLocation(),this._errorIndicator=e.getErrorIndicator()),this.report("Distance")},Me.prototype.checkArea=function(){var e=this._input.getArea(),t=this._result.getArea();this._distance>0&&e>t&&(this._isValid=!1,this._errorMsg="Area of positive buffer is smaller than input",this._errorIndicator=this._result),this._distance<0&&e<t&&(this._isValid=!1,this._errorMsg="Area of negative buffer is larger than input",this._errorIndicator=this._result),this.report("Area")},Me.prototype.checkPolygonal=function(){this._result instanceof fe||this._result instanceof Gr||(this._isValid=!1),this._errorMsg="Result is not polygonal",this._errorIndicator=this._result,this.report("Polygonal")},Me.prototype.getErrorIndicator=function(){return this._errorIndicator},Me.prototype.getErrorLocation=function(){return this._errorLocation},Me.prototype.checkExpectedEmpty=function(){if(this._input.getDimension()>=2||this._distance>0)return null;this._result.isEmpty()||(this._isValid=!1,this._errorMsg="Result is non-empty",this._errorIndicator=this._result),this.report("ExpectedEmpty")},Me.prototype.report=function(e){if(!Me.VERBOSE)return null;xe.out.println("Check "+e+": "+(this._isValid?"passed":"FAILED"))},Me.prototype.getErrorMessage=function(){return this._errorMsg},Me.prototype.interfaces_=function(){return[]},Me.prototype.getClass=function(){return Me},Me.isValidMsg=function(e,t,n){var i=new Me(e,t,n);return i.isValid()?null:i.getErrorMessage()},Me.isValid=function(e,t,n){var i=new Me(e,t,n);return!!i.isValid()},vd.VERBOSE.get=function(){return!1},vd.MAX_ENV_DIFF_FRAC.get=function(){return .012},Object.defineProperties(Me,vd);var Er=function(){this._pts=null,this._data=null;var e=arguments[0],t=arguments[1];this._pts=e,this._data=t};Er.prototype.getCoordinates=function(){return this._pts},Er.prototype.size=function(){return this._pts.length},Er.prototype.getCoordinate=function(e){return this._pts[e]},Er.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Er.prototype.getSegmentOctant=function(e){return e===this._pts.length-1?-1:co.octant(this.getCoordinate(e),this.getCoordinate(e+1))},Er.prototype.setData=function(e){this._data=e},Er.prototype.getData=function(){return this._data},Er.prototype.toString=function(){return Jn.toLineString(new ie(this._pts))},Er.prototype.interfaces_=function(){return[Hr]},Er.prototype.getClass=function(){return Er};var Se=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new W,this._intersectionCount=0,this._keepIntersections=!0;var e=arguments[0];this._li=e,this._interiorIntersection=null};Se.prototype.getInteriorIntersection=function(){return this._interiorIntersection},Se.prototype.setCheckEndSegmentsOnly=function(e){this._isCheckEndSegmentsOnly=e},Se.prototype.getIntersectionSegments=function(){return this._intSegments},Se.prototype.count=function(){return this._intersectionCount},Se.prototype.getIntersections=function(){return this._intersections},Se.prototype.setFindAllIntersections=function(e){this._findAllIntersections=e},Se.prototype.setKeepIntersections=function(e){this._keepIntersections=e},Se.prototype.processIntersections=function(e,t,n,i){if(!this._findAllIntersections&&this.hasIntersection()||e===n&&t===i)return null;if(this._isCheckEndSegmentsOnly){var s=this.isEndSegment(e,t)||this.isEndSegment(n,i);if(!s)return null}var o=e.getCoordinates()[t],a=e.getCoordinates()[t+1],u=n.getCoordinates()[i],l=n.getCoordinates()[i+1];this._li.computeIntersection(o,a,u,l),this._li.hasIntersection()&&this._li.isInteriorIntersection()&&(this._intSegments=new Array(4).fill(null),this._intSegments[0]=o,this._intSegments[1]=a,this._intSegments[2]=u,this._intSegments[3]=l,this._interiorIntersection=this._li.getIntersection(0),this._keepIntersections&&this._intersections.add(this._interiorIntersection),this._intersectionCount++)},Se.prototype.isEndSegment=function(e,t){return t===0||t>=e.size()-2},Se.prototype.hasIntersection=function(){return this._interiorIntersection!==null},Se.prototype.isDone=function(){return this._findAllIntersections?!1:this._interiorIntersection!==null},Se.prototype.interfaces_=function(){return[Ps]},Se.prototype.getClass=function(){return Se},Se.createAllIntersectionsFinder=function(e){var t=new Se(e);return t.setFindAllIntersections(!0),t},Se.createAnyIntersectionFinder=function(e){return new Se(e)},Se.createIntersectionCounter=function(e){var t=new Se(e);return t.setFindAllIntersections(!0),t.setKeepIntersections(!1),t};var rr=function(){this._li=new _s,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var e=arguments[0];this._segStrings=e};rr.prototype.execute=function(){if(this._segInt!==null)return null;this.checkInteriorIntersections()},rr.prototype.getIntersections=function(){return this._segInt.getIntersections()},rr.prototype.isValid=function(){return this.execute(),this._isValid},rr.prototype.setFindAllIntersections=function(e){this._findAllIntersections=e},rr.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new Se(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var e=new fd;if(e.setSegmentIntersector(this._segInt),e.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},rr.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new wi(this.getErrorMessage(),this._segInt.getInteriorIntersection())},rr.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var e=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+Jn.toLineString(e[0],e[1])+" and "+Jn.toLineString(e[2],e[3])},rr.prototype.interfaces_=function(){return[]},rr.prototype.getClass=function(){return rr},rr.computeIntersections=function(e){var t=new rr(e);return t.setFindAllIntersections(!0),t.isValid(),t.getIntersections()};var Ts=function r(){this._nv=null;var e=arguments[0];this._nv=new rr(r.toSegmentStrings(e))};Ts.prototype.checkValid=function(){this._nv.checkValid()},Ts.prototype.interfaces_=function(){return[]},Ts.prototype.getClass=function(){return Ts},Ts.toSegmentStrings=function(e){for(var t=new W,n=e.iterator();n.hasNext();){var i=n.next();t.add(new Er(i.getCoordinates(),i))}return t},Ts.checkValid=function(e){var t=new Ts(e);t.checkValid()};var yo=function(e){this._mapOp=e};yo.prototype.map=function(e){for(var t=this,n=new W,i=0;i<e.getNumGeometries();i++){var s=t._mapOp.map(e.getGeometryN(i));s.isEmpty()||n.add(s)}return e.getFactory().createGeometryCollection(Ct.toGeometryArray(n))},yo.prototype.interfaces_=function(){return[]},yo.prototype.getClass=function(){return yo},yo.map=function(e,t){var n=new yo(t);return n.map(e)};var Cr=function(){this._op=null,this._geometryFactory=null,this._ptLocator=null,this._lineEdgesList=new W,this._resultLineList=new W;var e=arguments[0],t=arguments[1],n=arguments[2];this._op=e,this._geometryFactory=t,this._ptLocator=n};Cr.prototype.collectLines=function(e){for(var t=this,n=this._op.getGraph().getEdgeEnds().iterator();n.hasNext();){var i=n.next();t.collectLineEdge(i,e,t._lineEdgesList),t.collectBoundaryTouchEdge(i,e,t._lineEdgesList)}},Cr.prototype.labelIsolatedLine=function(e,t){var n=this._ptLocator.locate(e.getCoordinate(),this._op.getArgGeometry(t));e.getLabel().setLocation(t,n)},Cr.prototype.build=function(e){return this.findCoveredLineEdges(),this.collectLines(e),this.buildLines(e),this._resultLineList},Cr.prototype.collectLineEdge=function(e,t,n){var i=e.getLabel(),s=e.getEdge();e.isLineEdge()&&!e.isVisited()&&gt.isResultOfOp(i,t)&&!s.isCovered()&&(n.add(s),e.setVisitedEdge(!0))},Cr.prototype.findCoveredLineEdges=function(){for(var e=this,t=this._op.getGraph().getNodes().iterator();t.hasNext();){var n=t.next();n.getEdges().findCoveredLineEdges()}for(var i=this._op.getGraph().getEdgeEnds().iterator();i.hasNext();){var s=i.next(),o=s.getEdge();if(s.isLineEdge()&&!o.isCoveredSet()){var a=e._op.isCoveredByA(s.getCoordinate());o.setCovered(a)}}},Cr.prototype.labelIsolatedLines=function(e){for(var t=this,n=e.iterator();n.hasNext();){var i=n.next(),s=i.getLabel();i.isIsolated()&&(s.isNull(0)?t.labelIsolatedLine(i,0):t.labelIsolatedLine(i,1))}},Cr.prototype.buildLines=function(e){for(var t=this,n=this._lineEdgesList.iterator();n.hasNext();){var i=n.next(),s=t._geometryFactory.createLineString(i.getCoordinates());t._resultLineList.add(s),i.setInResult(!0)}},Cr.prototype.collectBoundaryTouchEdge=function(e,t,n){var i=e.getLabel();if(e.isLineEdge()||e.isVisited()||e.isInteriorAreaEdge()||e.getEdge().isInResult())return null;vt.isTrue(!(e.isInResult()||e.getSym().isInResult())||!e.getEdge().isInResult()),gt.isResultOfOp(i,t)&&t===gt.INTERSECTION&&(n.add(e.getEdge()),e.setVisitedEdge(!0))},Cr.prototype.interfaces_=function(){return[]},Cr.prototype.getClass=function(){return Cr};var _o=function(){this._op=null,this._geometryFactory=null,this._resultPointList=new W;var e=arguments[0],t=arguments[1];this._op=e,this._geometryFactory=t};_o.prototype.filterCoveredNodeToPoint=function(e){var t=e.getCoordinate();if(!this._op.isCoveredByLA(t)){var n=this._geometryFactory.createPoint(t);this._resultPointList.add(n)}},_o.prototype.extractNonCoveredResultNodes=function(e){for(var t=this,n=this._op.getGraph().getNodes().iterator();n.hasNext();){var i=n.next();if(!i.isInResult()&&!i.isIncidentEdgeInResult()&&(i.getEdges().getDegree()===0||e===gt.INTERSECTION)){var s=i.getLabel();gt.isResultOfOp(s,e)&&t.filterCoveredNodeToPoint(i)}}},_o.prototype.build=function(e){return this.extractNonCoveredResultNodes(e),this._resultPointList},_o.prototype.interfaces_=function(){return[]},_o.prototype.getClass=function(){return _o};var rn=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};rn.prototype.transformPoint=function(e,t){return this._factory.createPoint(this.transformCoordinates(e.getCoordinateSequence(),e))},rn.prototype.transformPolygon=function(e,t){var n=this,i=!0,s=this.transformLinearRing(e.getExteriorRing(),e);(s===null||!(s instanceof Ur)||s.isEmpty())&&(i=!1);for(var o=new W,a=0;a<e.getNumInteriorRing();a++){var u=n.transformLinearRing(e.getInteriorRingN(a),e);u===null||u.isEmpty()||(u instanceof Ur||(i=!1),o.add(u))}if(i)return this._factory.createPolygon(s,o.toArray([]));var l=new W;return s!==null&&l.add(s),l.addAll(o),this._factory.buildGeometry(l)},rn.prototype.createCoordinateSequence=function(e){return this._factory.getCoordinateSequenceFactory().create(e)},rn.prototype.getInputGeometry=function(){return this._inputGeom},rn.prototype.transformMultiLineString=function(e,t){for(var n=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=n.transformLineString(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},rn.prototype.transformCoordinates=function(e,t){return this.copy(e)},rn.prototype.transformLineString=function(e,t){return this._factory.createLineString(this.transformCoordinates(e.getCoordinateSequence(),e))},rn.prototype.transformMultiPoint=function(e,t){for(var n=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=n.transformPoint(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},rn.prototype.transformMultiPolygon=function(e,t){for(var n=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=n.transformPolygon(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},rn.prototype.copy=function(e){return e.copy()},rn.prototype.transformGeometryCollection=function(e,t){for(var n=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=n.transform(e.getGeometryN(s));o!==null&&(n._pruneEmptyGeometry&&o.isEmpty()||i.add(o))}return this._preserveGeometryCollectionType?this._factory.createGeometryCollection(Ct.toGeometryArray(i)):this._factory.buildGeometry(i)},rn.prototype.transform=function(e){if(this._inputGeom=e,this._factory=e.getFactory(),e instanceof cn)return this.transformPoint(e,null);if(e instanceof va)return this.transformMultiPoint(e,null);if(e instanceof Ur)return this.transformLinearRing(e,null);if(e instanceof Qt)return this.transformLineString(e,null);if(e instanceof Cs)return this.transformMultiLineString(e,null);if(e instanceof fe)return this.transformPolygon(e,null);if(e instanceof Gr)return this.transformMultiPolygon(e,null);if(e instanceof Ue)return this.transformGeometryCollection(e,null);throw new Xt("Unknown Geometry subtype: "+e.getClass().getName())},rn.prototype.transformLinearRing=function(e,t){var n=this.transformCoordinates(e.getCoordinateSequence(),e);if(n===null)return this._factory.createLinearRing(null);var i=n.size();return i>0&&i<4&&!this._preserveType?this._factory.createLineString(n):this._factory.createLinearRing(n)},rn.prototype.interfaces_=function(){return[]},rn.prototype.getClass=function(){return rn};var $r=function r(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new tt,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof Qt&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];r.call(this,e.getCoordinates(),t)}else if(arguments[0]instanceof Array&&typeof arguments[1]=="number"){var n=arguments[0],i=arguments[1];this._srcPts=n,this._isClosed=r.isClosed(n),this._snapTolerance=i}};$r.prototype.snapVertices=function(e,t){for(var n=this,i=this._isClosed?e.size()-1:e.size(),s=0;s<i;s++){var o=e.get(s),a=n.findSnapForVertex(o,t);a!==null&&(e.set(s,new R(a)),s===0&&n._isClosed&&e.set(e.size()-1,new R(a)))}},$r.prototype.findSnapForVertex=function(e,t){for(var n=this,i=0;i<t.length;i++){if(e.equals2D(t[i]))return null;if(e.distance(t[i])<n._snapTolerance)return t[i]}return null},$r.prototype.snapTo=function(e){var t=new zu(this._srcPts);this.snapVertices(t,e),this.snapSegments(t,e);var n=t.toCoordinateArray();return n},$r.prototype.snapSegments=function(e,t){var n=this;if(t.length===0)return null;var i=t.length;t[0].equals2D(t[t.length-1])&&(i=t.length-1);for(var s=0;s<i;s++){var o=t[s],a=n.findSegmentIndexToSnap(o,e);a>=0&&e.add(a+1,new R(o),!1)}},$r.prototype.findSegmentIndexToSnap=function(e,t){for(var n=this,i=ht.MAX_VALUE,s=-1,o=0;o<t.size()-1;o++){if(n._seg.p0=t.get(o),n._seg.p1=t.get(o+1),n._seg.p0.equals2D(e)||n._seg.p1.equals2D(e)){if(n._allowSnappingToSourceVertices)continue;return-1}var a=n._seg.distance(e);a<n._snapTolerance&&a<i&&(i=a,s=o)}return s},$r.prototype.setAllowSnappingToSourceVertices=function(e){this._allowSnappingToSourceVertices=e},$r.prototype.interfaces_=function(){return[]},$r.prototype.getClass=function(){return $r},$r.isClosed=function(e){return e.length<=1?!1:e[0].equals2D(e[e.length-1])};var oe=function(e){this._srcGeom=e||null},Xm={SNAP_PRECISION_FACTOR:{configurable:!0}};oe.prototype.snapTo=function(e,t){var n=this.extractTargetCoordinates(e),i=new Ym(t,n);return i.transform(this._srcGeom)},oe.prototype.snapToSelf=function(e,t){var n=this.extractTargetCoordinates(this._srcGeom),i=new Ym(e,n,!0),s=i.transform(this._srcGeom),o=s;return t&&at(o,Xi)&&(o=s.buffer(0)),o},oe.prototype.computeSnapTolerance=function(e){var t=this.computeMinimumSegmentLength(e),n=t/10;return n},oe.prototype.extractTargetCoordinates=function(e){for(var t=new cr,n=e.getCoordinates(),i=0;i<n.length;i++)t.add(n[i]);return t.toArray(new Array(0).fill(null))},oe.prototype.computeMinimumSegmentLength=function(e){for(var t=ht.MAX_VALUE,n=0;n<e.length-1;n++){var i=e[n].distance(e[n+1]);i<t&&(t=i)}return t},oe.prototype.interfaces_=function(){return[]},oe.prototype.getClass=function(){return oe},oe.snap=function(e,t,n){var i=new Array(2).fill(null),s=new oe(e);i[0]=s.snapTo(t,n);var o=new oe(t);return i[1]=o.snapTo(i[0],n),i},oe.computeOverlaySnapTolerance=function(){if(arguments.length===1){var e=arguments[0],t=oe.computeSizeBasedSnapTolerance(e),n=e.getPrecisionModel();if(n.getType()===Rt.FIXED){var i=1/n.getScale()*2/1.415;i>t&&(t=i)}return t}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return Math.min(oe.computeOverlaySnapTolerance(s),oe.computeOverlaySnapTolerance(o))}},oe.computeSizeBasedSnapTolerance=function(e){var t=e.getEnvelopeInternal(),n=Math.min(t.getHeight(),t.getWidth()),i=n*oe.SNAP_PRECISION_FACTOR;return i},oe.snapToSelf=function(e,t,n){var i=new oe(e);return i.snapToSelf(t,n)},Xm.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(oe,Xm);var Ym=function(r){function e(t,n,i){r.call(this),this._snapTolerance=t||null,this._snapPts=n||null,this._isSelfSnap=i!==void 0?i:!1}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.snapLine=function(n,i){var s=new $r(n,this._snapTolerance);return s.setAllowSnappingToSourceVertices(this._isSelfSnap),s.snapTo(i)},e.prototype.transformCoordinates=function(n,i){var s=n.toCoordinateArray(),o=this.snapLine(s,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(o)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(rn),Ye=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};Ye.prototype.getCommon=function(){return ht.longBitsToDouble(this._commonBits)},Ye.prototype.add=function(e){var t=ht.doubleToLongBits(e);if(this._isFirst)return this._commonBits=t,this._commonSignExp=Ye.signExpBits(this._commonBits),this._isFirst=!1,null;var n=Ye.signExpBits(t);if(n!==this._commonSignExp)return this._commonBits=0,null;this._commonMantissaBitsCount=Ye.numCommonMostSigMantissaBits(this._commonBits,t),this._commonBits=Ye.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))},Ye.prototype.toString=function(){if(arguments.length===1){var e=arguments[0],t=ht.longBitsToDouble(e),n=ht.toBinaryString(e),i="0000000000000000000000000000000000000000000000000000000000000000"+n,s=i.substring(i.length-64),o=s.substring(0,1)+" "+s.substring(1,12)+"(exp) "+s.substring(12)+" [ "+t+" ]";return o}},Ye.prototype.interfaces_=function(){return[]},Ye.prototype.getClass=function(){return Ye},Ye.getBit=function(e,t){var n=1<<t;return(e&n)!==0?1:0},Ye.signExpBits=function(e){return e>>52},Ye.zeroLowerBits=function(e,t){var n=(1<<t)-1,i=~n,s=e&i;return s},Ye.numCommonMostSigMantissaBits=function(e,t){for(var n=0,i=52;i>=0;i--){if(Ye.getBit(e,i)!==Ye.getBit(t,i))return n;n++}return 52};var es=function(){this._commonCoord=null,this._ccFilter=new wo},yd={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};es.prototype.addCommonBits=function(e){var t=new ns(this._commonCoord);e.apply(t),e.geometryChanged()},es.prototype.removeCommonBits=function(e){if(this._commonCoord.x===0&&this._commonCoord.y===0)return e;var t=new R(this._commonCoord);t.x=-t.x,t.y=-t.y;var n=new ns(t);return e.apply(n),e.geometryChanged(),e},es.prototype.getCommonCoordinate=function(){return this._commonCoord},es.prototype.add=function(e){e.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},es.prototype.interfaces_=function(){return[]},es.prototype.getClass=function(){return es},yd.CommonCoordinateFilter.get=function(){return wo},yd.Translater.get=function(){return ns},Object.defineProperties(es,yd);var wo=function(){this._commonBitsX=new Ye,this._commonBitsY=new Ye};wo.prototype.filter=function(e){this._commonBitsX.add(e.x),this._commonBitsY.add(e.y)},wo.prototype.getCommonCoordinate=function(){return new R(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},wo.prototype.interfaces_=function(){return[zr]},wo.prototype.getClass=function(){return wo};var ns=function(){this.trans=null;var e=arguments[0];this.trans=e};ns.prototype.filter=function(e,t){var n=e.getOrdinate(t,0)+this.trans.x,i=e.getOrdinate(t,1)+this.trans.y;e.setOrdinate(t,0,n),e.setOrdinate(t,1,i)},ns.prototype.isDone=function(){return!1},ns.prototype.isGeometryChanged=function(){return!0},ns.prototype.interfaces_=function(){return[Zn]},ns.prototype.getClass=function(){return ns};var be=function(e,t){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=e,this._geom[1]=t,this.computeSnapTolerance()};be.prototype.selfSnap=function(e){var t=new oe(e),n=t.snapTo(e,this._snapTolerance);return n},be.prototype.removeCommonBits=function(e){this._cbr=new es,this._cbr.add(e[0]),this._cbr.add(e[1]);var t=new Array(2).fill(null);return t[0]=this._cbr.removeCommonBits(e[0].copy()),t[1]=this._cbr.removeCommonBits(e[1].copy()),t},be.prototype.prepareResult=function(e){return this._cbr.addCommonBits(e),e},be.prototype.getResultGeometry=function(e){var t=this.snap(this._geom),n=gt.overlayOp(t[0],t[1],e);return this.prepareResult(n)},be.prototype.checkValid=function(e){e.isValid()||xe.out.println("Snapped geometry is invalid")},be.prototype.computeSnapTolerance=function(){this._snapTolerance=oe.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},be.prototype.snap=function(e){var t=this.removeCommonBits(e),n=oe.snap(t[0],t[1],this._snapTolerance);return n},be.prototype.interfaces_=function(){return[]},be.prototype.getClass=function(){return be},be.overlayOp=function(e,t,n){var i=new be(e,t);return i.getResultGeometry(n)},be.union=function(e,t){return be.overlayOp(e,t,gt.UNION)},be.intersection=function(e,t){return be.overlayOp(e,t,gt.INTERSECTION)},be.symDifference=function(e,t){return be.overlayOp(e,t,gt.SYMDIFFERENCE)},be.difference=function(e,t){return be.overlayOp(e,t,gt.DIFFERENCE)};var Je=function(e,t){this._geom=new Array(2).fill(null),this._geom[0]=e,this._geom[1]=t};Je.prototype.getResultGeometry=function(e){var t=null,n=!1,i=null;try{t=gt.overlayOp(this._geom[0],this._geom[1],e);var s=!0;s&&(n=!0)}catch(o){if(o instanceof pi)i=o;else throw o}finally{}if(!n)try{t=be.overlayOp(this._geom[0],this._geom[1],e)}catch(o){throw o instanceof pi?i:o}finally{}return t},Je.prototype.interfaces_=function(){return[]},Je.prototype.getClass=function(){return Je},Je.overlayOp=function(e,t,n){var i=new Je(e,t);return i.getResultGeometry(n)},Je.union=function(e,t){return Je.overlayOp(e,t,gt.UNION)},Je.intersection=function(e,t){return Je.overlayOp(e,t,gt.INTERSECTION)},Je.symDifference=function(e,t){return Je.overlayOp(e,t,gt.SYMDIFFERENCE)},Je.difference=function(e,t){return Je.overlayOp(e,t,gt.DIFFERENCE)};var nl=function(){this.mce=null,this.chainIndex=null;var e=arguments[0],t=arguments[1];this.mce=e,this.chainIndex=t};nl.prototype.computeIntersections=function(e,t){this.mce.computeIntersectsForChain(this.chainIndex,e.mce,e.chainIndex,t)},nl.prototype.interfaces_=function(){return[]},nl.prototype.getClass=function(){return nl};var pn=function r(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,arguments.length===2){var e=arguments[0],t=arguments[1];this._eventType=r.DELETE,this._xValue=e,this._insertEvent=t}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this._eventType=r.INSERT,this._label=n,this._xValue=i,this._obj=s}},_d={INSERT:{configurable:!0},DELETE:{configurable:!0}};pn.prototype.isDelete=function(){return this._eventType===pn.DELETE},pn.prototype.setDeleteEventIndex=function(e){this._deleteEventIndex=e},pn.prototype.getObject=function(){return this._obj},pn.prototype.compareTo=function(e){var t=e;return this._xValue<t._xValue?-1:this._xValue>t._xValue?1:this._eventType<t._eventType?-1:this._eventType>t._eventType?1:0},pn.prototype.getInsertEvent=function(){return this._insertEvent},pn.prototype.isInsert=function(){return this._eventType===pn.INSERT},pn.prototype.isSameLabel=function(e){return this._label===null?!1:this._label===e._label},pn.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},pn.prototype.interfaces_=function(){return[Ln]},pn.prototype.getClass=function(){return pn},_d.INSERT.get=function(){return 1},_d.DELETE.get=function(){return 2},Object.defineProperties(pn,_d);var pc=function(){};pc.prototype.interfaces_=function(){return[]},pc.prototype.getClass=function(){return pc};var Re=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;var e=arguments[0],t=arguments[1],n=arguments[2];this._li=e,this._includeProper=t,this._recordIsolated=n};Re.prototype.isTrivialIntersection=function(e,t,n,i){if(e===n&&this._li.getIntersectionNum()===1){if(Re.isAdjacentSegments(t,i))return!0;if(e.isClosed()){var s=e.getNumPoints()-1;if(t===0&&i===s||i===0&&t===s)return!0}}return!1},Re.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},Re.prototype.setIsDoneIfProperInt=function(e){this._isDoneWhenProperInt=e},Re.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},Re.prototype.isBoundaryPointInternal=function(e,t){for(var n=t.iterator();n.hasNext();){var i=n.next(),s=i.getCoordinate();if(e.isIntersection(s))return!0}return!1},Re.prototype.hasProperIntersection=function(){return this._hasProper},Re.prototype.hasIntersection=function(){return this._hasIntersection},Re.prototype.isDone=function(){return this._isDone},Re.prototype.isBoundaryPoint=function(e,t){return t===null?!1:!!(this.isBoundaryPointInternal(e,t[0])||this.isBoundaryPointInternal(e,t[1]))},Re.prototype.setBoundaryNodes=function(e,t){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=e,this._bdyNodes[1]=t},Re.prototype.addIntersections=function(e,t,n,i){if(e===n&&t===i)return null;this.numTests++;var s=e.getCoordinates()[t],o=e.getCoordinates()[t+1],a=n.getCoordinates()[i],u=n.getCoordinates()[i+1];this._li.computeIntersection(s,o,a,u),this._li.hasIntersection()&&(this._recordIsolated&&(e.setIsolated(!1),n.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(e,t,n,i)||(this._hasIntersection=!0,(this._includeProper||!this._li.isProper())&&(e.addIntersections(this._li,t,0),n.addIntersections(this._li,i,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))},Re.prototype.interfaces_=function(){return[]},Re.prototype.getClass=function(){return Re},Re.isAdjacentSegments=function(e,t){return Math.abs(e-t)===1};var $E=function(r){function e(){r.call(this),this.events=new W,this.nOverlaps=null}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.prepareEvents=function(){var n=this;tr.sort(this.events);for(var i=0;i<this.events.size();i++){var s=n.events.get(i);s.isDelete()&&s.getInsertEvent().setDeleteEventIndex(i)}},e.prototype.computeIntersections=function(){var n=this;if(arguments.length===1){var i=arguments[0];this.nOverlaps=0,this.prepareEvents();for(var s=0;s<this.events.size();s++){var o=n.events.get(s);if(o.isInsert()&&n.processOverlaps(s,o.getDeleteEventIndex(),o,i),i.isDone())break}}else if(arguments.length===3){if(arguments[2]instanceof Re&&at(arguments[0],$n)&&at(arguments[1],$n)){var a=arguments[0],u=arguments[1],l=arguments[2];this.addEdges(a,a),this.addEdges(u,u),this.computeIntersections(l)}else if(typeof arguments[2]=="boolean"&&at(arguments[0],$n)&&arguments[1]instanceof Re){var c=arguments[0],h=arguments[1],f=arguments[2];f?this.addEdges(c,null):this.addEdges(c),this.computeIntersections(h)}}},e.prototype.addEdge=function(n,i){for(var s=this,o=n.getMonotoneChainEdge(),a=o.getStartIndexes(),u=0;u<a.length-1;u++){var l=new nl(o,u),c=new pn(i,o.getMinX(u),l);s.events.add(c),s.events.add(new pn(o.getMaxX(u),c))}},e.prototype.processOverlaps=function(n,i,s,o){for(var a=this,u=s.getObject(),l=n;l<i;l++){var c=a.events.get(l);if(c.isInsert()){var h=c.getObject();s.isSameLabel(c)||(u.computeIntersections(h,o),a.nOverlaps++)}}},e.prototype.addEdges=function(){var n=this;if(arguments.length===1)for(var i=arguments[0],s=i.iterator();s.hasNext();){var o=s.next();n.addEdge(o,o)}else if(arguments.length===2)for(var a=arguments[0],u=arguments[1],l=a.iterator();l.hasNext();){var c=l.next();n.addEdge(c,u)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pc),Kr=function(){this._min=ht.POSITIVE_INFINITY,this._max=ht.NEGATIVE_INFINITY},Jm={NodeComparator:{configurable:!0}};Kr.prototype.getMin=function(){return this._min},Kr.prototype.intersects=function(e,t){return!(this._min>t||this._max<e)},Kr.prototype.getMax=function(){return this._max},Kr.prototype.toString=function(){return Jn.toLineString(new R(this._min,0),new R(this._max,0))},Kr.prototype.interfaces_=function(){return[]},Kr.prototype.getClass=function(){return Kr},Jm.NodeComparator.get=function(){return rl},Object.defineProperties(Kr,Jm);var rl=function(){};rl.prototype.compare=function(e,t){var n=e,i=t,s=(n._min+n._max)/2,o=(i._min+i._max)/2;return s<o?-1:s>o?1:0},rl.prototype.interfaces_=function(){return[oa]},rl.prototype.getClass=function(){return rl};var KE=function(r){function e(){r.call(this),this._item=null;var t=arguments[0],n=arguments[1],i=arguments[2];this._min=t,this._max=n,this._item=i}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.query=function(n,i,s){if(!this.intersects(n,i))return null;s.visitItem(this._item)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Kr),ZE=function(r){function e(){r.call(this),this._node1=null,this._node2=null;var t=arguments[0],n=arguments[1];this._node1=t,this._node2=n,this.buildExtent(this._node1,this._node2)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.buildExtent=function(n,i){this._min=Math.min(n._min,i._min),this._max=Math.max(n._max,i._max)},e.prototype.query=function(n,i,s){if(!this.intersects(n,i))return null;this._node1!==null&&this._node1.query(n,i,s),this._node2!==null&&this._node2.query(n,i,s)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Kr),Zr=function(){this._leaves=new W,this._root=null,this._level=0};Zr.prototype.buildTree=function(){var e=this;tr.sort(this._leaves,new Kr.NodeComparator);for(var t=this._leaves,n=null,i=new W;;){if(e.buildLevel(t,i),i.size()===1)return i.get(0);n=t,t=i,i=n}},Zr.prototype.insert=function(e,t,n){if(this._root!==null)throw new Error("Index cannot be added to once it has been queried");this._leaves.add(new KE(e,t,n))},Zr.prototype.query=function(e,t,n){this.init(),this._root.query(e,t,n)},Zr.prototype.buildRoot=function(){if(this._root!==null)return null;this._root=this.buildTree()},Zr.prototype.printNode=function(e){xe.out.println(Jn.toLineString(new R(e._min,this._level),new R(e._max,this._level)))},Zr.prototype.init=function(){if(this._root!==null)return null;this.buildRoot()},Zr.prototype.buildLevel=function(e,t){this._level++,t.clear();for(var n=0;n<e.size();n+=2){var i=e.get(n),s=n+1<e.size()?e.get(n):null;if(s===null)t.add(i);else{var o=new ZE(e.get(n),e.get(n+1));t.add(o)}}},Zr.prototype.interfaces_=function(){return[]},Zr.prototype.getClass=function(){return Zr};var ba=function(){this._items=new W};ba.prototype.visitItem=function(e){this._items.add(e)},ba.prototype.getItems=function(){return this._items},ba.prototype.interfaces_=function(){return[Yi]},ba.prototype.getClass=function(){return ba};var Pa=function(){this._index=null;var e=arguments[0];if(!at(e,Xi))throw new Xt("Argument must be Polygonal");this._index=new Ns(e)},wd={SegmentVisitor:{configurable:!0},IntervalIndexedGeometry:{configurable:!0}};Pa.prototype.locate=function(e){var t=new lr(e),n=new Ia(t);return this._index.query(e.y,e.y,n),t.getLocation()},Pa.prototype.interfaces_=function(){return[Ea]},Pa.prototype.getClass=function(){return Pa},wd.SegmentVisitor.get=function(){return Ia},wd.IntervalIndexedGeometry.get=function(){return Ns},Object.defineProperties(Pa,wd);var Ia=function(){this._counter=null;var e=arguments[0];this._counter=e};Ia.prototype.visitItem=function(e){var t=e;this._counter.countSegment(t.getCoordinate(0),t.getCoordinate(1))},Ia.prototype.interfaces_=function(){return[Yi]},Ia.prototype.getClass=function(){return Ia};var Ns=function(){this._index=new Zr;var e=arguments[0];this.init(e)};Ns.prototype.init=function(e){for(var t=this,n=Oe.getLines(e),i=n.iterator();i.hasNext();){var s=i.next(),o=s.getCoordinates();t.addLine(o)}},Ns.prototype.addLine=function(e){for(var t=this,n=1;n<e.length;n++){var i=new tt(e[n-1],e[n]),s=Math.min(i.p0.y,i.p1.y),o=Math.max(i.p0.y,i.p1.y);t._index.insert(s,o,i)}},Ns.prototype.query=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],n=new ba;return this._index.query(e,t,n),n.getItems()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];this._index.query(i,s,o)}},Ns.prototype.interfaces_=function(){return[]},Ns.prototype.getClass=function(){return Ns};var il=function(r){function e(){if(r.call(this),this._parentGeom=null,this._lineEdgeMap=new Om,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new nr,arguments.length===2){var t=arguments[0],n=arguments[1],i=An.OGC_SFS_BOUNDARY_RULE;this._argIndex=t,this._parentGeom=n,this._boundaryNodeRule=i,n!==null&&this.add(n)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];this._argIndex=s,this._parentGeom=o,this._boundaryNodeRule=a,o!==null&&this.add(o)}}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.insertBoundaryPoint=function(n,i){var s=this._nodes.addNode(i),o=s.getLabel(),a=1,u=F.NONE;u=o.getLocation(n,U.ON),u===F.BOUNDARY&&a++;var l=e.determineBoundary(this._boundaryNodeRule,a);o.setLocation(n,l)},e.prototype.computeSelfNodes=function(){if(arguments.length===2){var n=arguments[0],i=arguments[1];return this.computeSelfNodes(n,i,!1)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2],u=new Re(s,!0,!1);u.setIsDoneIfProperInt(a);var l=this.createEdgeSetIntersector(),c=this._parentGeom instanceof Ur||this._parentGeom instanceof fe||this._parentGeom instanceof Gr,h=o||!c;return l.computeIntersections(this._edges,u,h),this.addSelfIntersectionNodes(this._argIndex),u}},e.prototype.computeSplitEdges=function(n){for(var i=this._edges.iterator();i.hasNext();){var s=i.next();s.eiList.addSplitEdges(n)}},e.prototype.computeEdgeIntersections=function(n,i,s){var o=new Re(i,s,!0);o.setBoundaryNodes(this.getBoundaryNodes(),n.getBoundaryNodes());var a=this.createEdgeSetIntersector();return a.computeIntersections(this._edges,n._edges,o),o},e.prototype.getGeometry=function(){return this._parentGeom},e.prototype.getBoundaryNodeRule=function(){return this._boundaryNodeRule},e.prototype.hasTooFewPoints=function(){return this._hasTooFewPoints},e.prototype.addPoint=function(){if(arguments[0]instanceof cn){var n=arguments[0],i=n.getCoordinate();this.insertPoint(this._argIndex,i,F.INTERIOR)}else if(arguments[0]instanceof R){var s=arguments[0];this.insertPoint(this._argIndex,s,F.INTERIOR)}},e.prototype.addPolygon=function(n){var i=this;this.addPolygonRing(n.getExteriorRing(),F.EXTERIOR,F.INTERIOR);for(var s=0;s<n.getNumInteriorRing();s++){var o=n.getInteriorRingN(s);i.addPolygonRing(o,F.INTERIOR,F.EXTERIOR)}},e.prototype.addEdge=function(n){this.insertEdge(n);var i=n.getCoordinates();this.insertPoint(this._argIndex,i[0],F.BOUNDARY),this.insertPoint(this._argIndex,i[i.length-1],F.BOUNDARY)},e.prototype.addLineString=function(n){var i=Et.removeRepeatedPoints(n.getCoordinates());if(i.length<2)return this._hasTooFewPoints=!0,this._invalidPoint=i[0],null;var s=new fc(i,new Vt(this._argIndex,F.INTERIOR));this._lineEdgeMap.put(n,s),this.insertEdge(s),vt.isTrue(i.length>=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,i[0]),this.insertBoundaryPoint(this._argIndex,i[i.length-1])},e.prototype.getInvalidPoint=function(){return this._invalidPoint},e.prototype.getBoundaryPoints=function(){for(var n=this.getBoundaryNodes(),i=new Array(n.size()).fill(null),s=0,o=n.iterator();o.hasNext();){var a=o.next();i[s++]=a.getCoordinate().copy()}return i},e.prototype.getBoundaryNodes=function(){return this._boundaryNodes===null&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},e.prototype.addSelfIntersectionNode=function(n,i,s){if(this.isBoundaryNode(n,i))return null;s===F.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(n,i):this.insertPoint(n,i,s)},e.prototype.addPolygonRing=function(n,i,s){if(n.isEmpty())return null;var o=Et.removeRepeatedPoints(n.getCoordinates());if(o.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=o[0],null;var a=i,u=s;q.isCCW(o)&&(a=s,u=i);var l=new fc(o,new Vt(this._argIndex,F.BOUNDARY,a,u));this._lineEdgeMap.put(n,l),this.insertEdge(l),this.insertPoint(this._argIndex,o[0],F.BOUNDARY)},e.prototype.insertPoint=function(n,i,s){var o=this._nodes.addNode(i),a=o.getLabel();a===null?o._label=new Vt(n,s):a.setLocation(n,s)},e.prototype.createEdgeSetIntersector=function(){return new $E},e.prototype.addSelfIntersectionNodes=function(n){for(var i=this,s=this._edges.iterator();s.hasNext();)for(var o=s.next(),a=o.getLabel().getLocation(n),u=o.eiList.iterator();u.hasNext();){var l=u.next();i.addSelfIntersectionNode(n,l.coord,a)}},e.prototype.add=function(){if(arguments.length===1){var n=arguments[0];if(n.isEmpty())return null;if(n instanceof Gr&&(this._useBoundaryDeterminationRule=!1),n instanceof fe)this.addPolygon(n);else if(n instanceof Qt)this.addLineString(n);else if(n instanceof cn)this.addPoint(n);else if(n instanceof va)this.addCollection(n);else if(n instanceof Cs)this.addCollection(n);else if(n instanceof Gr)this.addCollection(n);else if(n instanceof Ue)this.addCollection(n);else throw new Error(n.getClass().getName())}else return r.prototype.add.apply(this,arguments)},e.prototype.addCollection=function(n){for(var i=this,s=0;s<n.getNumGeometries();s++){var o=n.getGeometryN(s);i.add(o)}},e.prototype.locate=function(n){return at(this._parentGeom,Xi)&&this._parentGeom.getNumGeometries()>50?(this._areaPtLocator===null&&(this._areaPtLocator=new Pa(this._parentGeom)),this._areaPtLocator.locate(n)):this._ptLocator.locate(n,this._parentGeom)},e.prototype.findEdge=function(){if(arguments.length===1){var n=arguments[0];return this._lineEdgeMap.get(n)}else return r.prototype.findEdge.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.determineBoundary=function(n,i){return n.isInBoundary(i)?F.BOUNDARY:F.INTERIOR},e}($t),xa=function(){if(this._li=new _s,this._resultPrecisionModel=null,this._arg=null,arguments.length===1){var e=arguments[0];this.setComputationPrecision(e.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new il(0,e)}else if(arguments.length===2){var t=arguments[0],n=arguments[1],i=An.OGC_SFS_BOUNDARY_RULE;t.getPrecisionModel().compareTo(n.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(n.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new il(0,t,i),this._arg[1]=new il(1,n,i)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];s.getPrecisionModel().compareTo(o.getPrecisionModel())>=0?this.setComputationPrecision(s.getPrecisionModel()):this.setComputationPrecision(o.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new il(0,s,a),this._arg[1]=new il(1,o,a)}};xa.prototype.getArgGeometry=function(e){return this._arg[e].getGeometry()},xa.prototype.setComputationPrecision=function(e){this._resultPrecisionModel=e,this._li.setPrecisionModel(this._resultPrecisionModel)},xa.prototype.interfaces_=function(){return[]},xa.prototype.getClass=function(){return xa};var Os=function(){};Os.prototype.interfaces_=function(){return[]},Os.prototype.getClass=function(){return Os},Os.map=function(){if(arguments[0]instanceof ot&&at(arguments[1],Os.MapOp)){for(var e=arguments[0],t=arguments[1],n=new W,i=0;i<e.getNumGeometries();i++){var s=t.map(e.getGeometryN(i));s!==null&&n.add(s)}return e.getFactory().buildGeometry(n)}else if(at(arguments[0],de)&&at(arguments[1],Os.MapOp)){for(var o=arguments[0],a=arguments[1],u=new W,l=o.iterator();l.hasNext();){var c=l.next(),h=a.map(c);h!==null&&u.add(h)}return u}},Os.MapOp=function(){};var gt=function(r){function e(){var t=arguments[0],n=arguments[1];r.call(this,t,n),this._ptLocator=new nr,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new er,this._resultPolyList=new W,this._resultLineList=new W,this._resultPointList=new W,this._graph=new $t(new jm),this._geomFact=t.getFactory()}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.insertUniqueEdge=function(n){var i=this._edgeList.findEqualEdge(n);if(i!==null){var s=i.getLabel(),o=n.getLabel();i.isPointwiseEqual(n)||(o=new Vt(n.getLabel()),o.flip());var a=i.getDepth();a.isNull()&&a.add(s),a.add(o),s.merge(o)}else this._edgeList.add(n)},e.prototype.getGraph=function(){return this._graph},e.prototype.cancelDuplicateResultEdges=function(){for(var n=this._graph.getEdgeEnds().iterator();n.hasNext();){var i=n.next(),s=i.getSym();i.isInResult()&&s.isInResult()&&(i.setInResult(!1),s.setInResult(!1))}},e.prototype.isCoveredByLA=function(n){return!!(this.isCovered(n,this._resultLineList)||this.isCovered(n,this._resultPolyList))},e.prototype.computeGeometry=function(n,i,s,o){var a=new W;return a.addAll(n),a.addAll(i),a.addAll(s),a.isEmpty()?e.createEmptyResult(o,this._arg[0].getGeometry(),this._arg[1].getGeometry(),this._geomFact):this._geomFact.buildGeometry(a)},e.prototype.mergeSymLabels=function(){for(var n=this._graph.getNodes().iterator();n.hasNext();){var i=n.next();i.getEdges().mergeSymLabels()}},e.prototype.isCovered=function(n,i){for(var s=this,o=i.iterator();o.hasNext();){var a=o.next(),u=s._ptLocator.locate(n,a);if(u!==F.EXTERIOR)return!0}return!1},e.prototype.replaceCollapsedEdges=function(){for(var n=new W,i=this._edgeList.iterator();i.hasNext();){var s=i.next();s.isCollapsed()&&(i.remove(),n.add(s.getCollapsedEdge()))}this._edgeList.addAll(n)},e.prototype.updateNodeLabelling=function(){for(var n=this._graph.getNodes().iterator();n.hasNext();){var i=n.next(),s=i.getEdges().getLabel();i.getLabel().merge(s)}},e.prototype.getResultGeometry=function(n){return this.computeOverlay(n),this._resultGeom},e.prototype.insertUniqueEdges=function(n){for(var i=this,s=n.iterator();s.hasNext();){var o=s.next();i.insertUniqueEdge(o)}},e.prototype.computeOverlay=function(n){this.copyPoints(0),this.copyPoints(1),this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1),this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!0);var i=new W;this._arg[0].computeSplitEdges(i),this._arg[1].computeSplitEdges(i),this.insertUniqueEdges(i),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),Ts.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(n),this.cancelDuplicateResultEdges();var s=new hn(this._geomFact);s.add(this._graph),this._resultPolyList=s.getPolygons();var o=new Cr(this,this._geomFact,this._ptLocator);this._resultLineList=o.build(n);var a=new _o(this,this._geomFact,this._ptLocator);this._resultPointList=a.build(n),this._resultGeom=this.computeGeometry(this._resultPointList,this._resultLineList,this._resultPolyList,n)},e.prototype.labelIncompleteNode=function(n,i){var s=this._ptLocator.locate(n.getCoordinate(),this._arg[i].getGeometry());n.getLabel().setLocation(i,s)},e.prototype.copyPoints=function(n){for(var i=this,s=this._arg[n].getNodeIterator();s.hasNext();){var o=s.next(),a=i._graph.addNode(o.getCoordinate());a.setLabel(n,o.getLabel().getLocation(n))}},e.prototype.findResultAreaEdges=function(n){for(var i=this._graph.getEdgeEnds().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.isArea()&&!s.isInteriorAreaEdge()&&e.isResultOfOp(o.getLocation(0,U.RIGHT),o.getLocation(1,U.RIGHT),n)&&s.setInResult(!0)}},e.prototype.computeLabelsFromDepths=function(){for(var n=this._edgeList.iterator();n.hasNext();){var i=n.next(),s=i.getLabel(),o=i.getDepth();if(!o.isNull()){o.normalize();for(var a=0;a<2;a++)!s.isNull(a)&&s.isArea()&&!o.isNull(a)&&(o.getDelta(a)===0?s.toLine(a):(vt.isTrue(!o.isNull(a,U.LEFT),"depth of LEFT side has not been initialized"),s.setLocation(a,U.LEFT,o.getLocation(a,U.LEFT)),vt.isTrue(!o.isNull(a,U.RIGHT),"depth of RIGHT side has not been initialized"),s.setLocation(a,U.RIGHT,o.getLocation(a,U.RIGHT))))}}},e.prototype.computeLabelling=function(){for(var n=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next();s.getEdges().computeLabelling(n._arg)}this.mergeSymLabels(),this.updateNodeLabelling()},e.prototype.labelIncompleteNodes=function(){for(var n=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();s.isIsolated()&&(o.isNull(0)?n.labelIncompleteNode(s,0):n.labelIncompleteNode(s,1)),s.getEdges().updateLabelling(o)}},e.prototype.isCoveredByA=function(n){return!!this.isCovered(n,this._resultPolyList)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(xa);gt.overlayOp=function(r,e,t){var n=new gt(r,e),i=n.getResultGeometry(t);return i},gt.intersection=function(r,e){if(r.isEmpty()||e.isEmpty())return gt.createEmptyResult(gt.INTERSECTION,r,e,r.getFactory());if(r.isGeometryCollection()){var t=e;return yo.map(r,{interfaces_:function(){return[Os.MapOp]},map:function(n){return n.intersection(t)}})}return r.checkNotGeometryCollection(r),r.checkNotGeometryCollection(e),Je.overlayOp(r,e,gt.INTERSECTION)},gt.symDifference=function(r,e){if(r.isEmpty()||e.isEmpty()){if(r.isEmpty()&&e.isEmpty())return gt.createEmptyResult(gt.SYMDIFFERENCE,r,e,r.getFactory());if(r.isEmpty())return e.copy();if(e.isEmpty())return r.copy()}return r.checkNotGeometryCollection(r),r.checkNotGeometryCollection(e),Je.overlayOp(r,e,gt.SYMDIFFERENCE)},gt.resultDimension=function(r,e,t){var n=e.getDimension(),i=t.getDimension(),s=-1;switch(r){case gt.INTERSECTION:s=Math.min(n,i);break;case gt.UNION:s=Math.max(n,i);break;case gt.DIFFERENCE:s=n;break;case gt.SYMDIFFERENCE:s=Math.max(n,i);break}return s},gt.createEmptyResult=function(r,e,t,n){var i=null;switch(gt.resultDimension(r,e,t)){case-1:i=n.createGeometryCollection(new Array(0).fill(null));break;case 0:i=n.createPoint();break;case 1:i=n.createLineString();break;case 2:i=n.createPolygon();break}return i},gt.difference=function(r,e){return r.isEmpty()?gt.createEmptyResult(gt.DIFFERENCE,r,e,r.getFactory()):e.isEmpty()?r.copy():(r.checkNotGeometryCollection(r),r.checkNotGeometryCollection(e),Je.overlayOp(r,e,gt.DIFFERENCE))},gt.isResultOfOp=function(){if(arguments.length===2){var r=arguments[0],e=arguments[1],t=r.getLocation(0),n=r.getLocation(1);return gt.isResultOfOp(t,n,e)}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];switch(i===F.BOUNDARY&&(i=F.INTERIOR),s===F.BOUNDARY&&(s=F.INTERIOR),o){case gt.INTERSECTION:return i===F.INTERIOR&&s===F.INTERIOR;case gt.UNION:return i===F.INTERIOR||s===F.INTERIOR;case gt.DIFFERENCE:return i===F.INTERIOR&&s!==F.INTERIOR;case gt.SYMDIFFERENCE:return i===F.INTERIOR&&s!==F.INTERIOR||i!==F.INTERIOR&&s===F.INTERIOR}return!1}},gt.INTERSECTION=1,gt.UNION=2,gt.DIFFERENCE=3,gt.SYMDIFFERENCE=4;var rs=function(){this._g=null,this._boundaryDistanceTolerance=null,this._linework=null,this._ptLocator=new nr,this._seg=new tt;var e=arguments[0],t=arguments[1];this._g=e,this._boundaryDistanceTolerance=t,this._linework=this.extractLinework(e)};rs.prototype.isWithinToleranceOfBoundary=function(e){for(var t=this,n=0;n<this._linework.getNumGeometries();n++)for(var i=t._linework.getGeometryN(n),s=i.getCoordinateSequence(),o=0;o<s.size()-1;o++){s.getCoordinate(o,t._seg.p0),s.getCoordinate(o+1,t._seg.p1);var a=t._seg.distance(e);if(a<=t._boundaryDistanceTolerance)return!0}return!1},rs.prototype.getLocation=function(e){return this.isWithinToleranceOfBoundary(e)?F.BOUNDARY:this._ptLocator.locate(e,this._g)},rs.prototype.extractLinework=function(e){var t=new Ta;e.apply(t);var n=t.getLinework(),i=Ct.toLineStringArray(n);return e.getFactory().createMultiLineString(i)},rs.prototype.interfaces_=function(){return[]},rs.prototype.getClass=function(){return rs};var Ta=function(){this._linework=null,this._linework=new W};Ta.prototype.getLinework=function(){return this._linework},Ta.prototype.filter=function(e){var t=this;if(e instanceof fe){var n=e;this._linework.add(n.getExteriorRing());for(var i=0;i<n.getNumInteriorRing();i++)t._linework.add(n.getInteriorRingN(i))}},Ta.prototype.interfaces_=function(){return[hr]},Ta.prototype.getClass=function(){return Ta};var Ds=function(){this._g=null,this._doLeft=!0,this._doRight=!0;var e=arguments[0];this._g=e};Ds.prototype.extractPoints=function(e,t,n){for(var i=this,s=e.getCoordinates(),o=0;o<s.length-1;o++)i.computeOffsetPoints(s[o],s[o+1],t,n)},Ds.prototype.setSidesToGenerate=function(e,t){this._doLeft=e,this._doRight=t},Ds.prototype.getPoints=function(e){for(var t=this,n=new W,i=Oe.getLines(this._g),s=i.iterator();s.hasNext();){var o=s.next();t.extractPoints(o,e,n)}return n},Ds.prototype.computeOffsetPoints=function(e,t,n,i){var s=t.x-e.x,o=t.y-e.y,a=Math.sqrt(s*s+o*o),u=n*s/a,l=n*o/a,c=(t.x+e.x)/2,h=(t.y+e.y)/2;if(this._doLeft){var f=new R(c-l,h+u);i.add(f)}if(this._doRight){var p=new R(c+l,h-u);i.add(p)}},Ds.prototype.interfaces_=function(){return[]},Ds.prototype.getClass=function(){return Ds};var On=function r(){this._geom=null,this._locFinder=null,this._location=new Array(3).fill(null),this._invalidLocation=null,this._boundaryDistanceTolerance=r.TOLERANCE,this._testCoords=new W;var e=arguments[0],t=arguments[1],n=arguments[2];this._boundaryDistanceTolerance=r.computeBoundaryDistanceTolerance(e,t),this._geom=[e,t,n],this._locFinder=[new rs(this._geom[0],this._boundaryDistanceTolerance),new rs(this._geom[1],this._boundaryDistanceTolerance),new rs(this._geom[2],this._boundaryDistanceTolerance)]},$m={TOLERANCE:{configurable:!0}};On.prototype.reportResult=function(e,t,n){xe.out.println("Overlay result invalid - A:"+F.toLocationSymbol(t[0])+" B:"+F.toLocationSymbol(t[1])+" expected:"+(n?"i":"e")+" actual:"+F.toLocationSymbol(t[2]))},On.prototype.isValid=function(e){this.addTestPts(this._geom[0]),this.addTestPts(this._geom[1]);var t=this.checkValid(e);return t},On.prototype.checkValid=function(){var e=this;if(arguments.length===1){for(var t=arguments[0],n=0;n<this._testCoords.size();n++){var i=e._testCoords.get(n);if(!e.checkValid(t,i))return e._invalidLocation=i,!1}return!0}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._location[0]=this._locFinder[0].getLocation(o),this._location[1]=this._locFinder[1].getLocation(o),this._location[2]=this._locFinder[2].getLocation(o),On.hasLocation(this._location,F.BOUNDARY)?!0:this.isValidResult(s,this._location)}},On.prototype.addTestPts=function(e){var t=new Ds(e);this._testCoords.addAll(t.getPoints(5*this._boundaryDistanceTolerance))},On.prototype.isValidResult=function(e,t){var n=gt.isResultOfOp(t[0],t[1],e),i=t[2]===F.INTERIOR,s=!(n^i);return s||this.reportResult(e,t,n),s},On.prototype.getInvalidLocation=function(){return this._invalidLocation},On.prototype.interfaces_=function(){return[]},On.prototype.getClass=function(){return On},On.hasLocation=function(e,t){for(var n=0;n<3;n++)if(e[n]===t)return!0;return!1},On.computeBoundaryDistanceTolerance=function(e,t){return Math.min(oe.computeSizeBasedSnapTolerance(e),oe.computeSizeBasedSnapTolerance(t))},On.isValid=function(e,t,n,i){var s=new On(e,t,i);return s.isValid(n)},$m.TOLERANCE.get=function(){return 1e-6},Object.defineProperties(On,$m);var Dn=function r(e){this._geomFactory=null,this._skipEmpty=!1,this._inputGeoms=null,this._geomFactory=r.extractFactory(e),this._inputGeoms=e};Dn.prototype.extractElements=function(e,t){var n=this;if(e===null)return null;for(var i=0;i<e.getNumGeometries();i++){var s=e.getGeometryN(i);n._skipEmpty&&s.isEmpty()||t.add(s)}},Dn.prototype.combine=function(){for(var e=this,t=new W,n=this._inputGeoms.iterator();n.hasNext();){var i=n.next();e.extractElements(i,t)}return t.size()===0?this._geomFactory!==null?this._geomFactory.createGeometryCollection(null):null:this._geomFactory.buildGeometry(t)},Dn.prototype.interfaces_=function(){return[]},Dn.prototype.getClass=function(){return Dn},Dn.combine=function(){if(arguments.length===1){var e=arguments[0],t=new Dn(e);return t.combine()}else if(arguments.length===2){var n=arguments[0],i=arguments[1],s=new Dn(Dn.createList(n,i));return s.combine()}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2],l=new Dn(Dn.createList(o,a,u));return l.combine()}},Dn.extractFactory=function(e){return e.isEmpty()?null:e.iterator().next().getFactory()},Dn.createList=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],n=new W;return n.add(e),n.add(t),n}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new W;return a.add(i),a.add(s),a.add(o),a}};var ce=function(){this._inputPolys=null,this._geomFactory=null;var e=arguments[0];this._inputPolys=e,this._inputPolys===null&&(this._inputPolys=new W)},Km={STRTREE_NODE_CAPACITY:{configurable:!0}};ce.prototype.reduceToGeometries=function(e){for(var t=this,n=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=null;at(s,$n)?o=t.unionTree(s):s instanceof ot&&(o=s),n.add(o)}return n},ce.prototype.extractByEnvelope=function(e,t,n){for(var i=new W,s=0;s<t.getNumGeometries();s++){var o=t.getGeometryN(s);o.getEnvelopeInternal().intersects(e)?i.add(o):n.add(o)}return this._geomFactory.buildGeometry(i)},ce.prototype.unionOptimized=function(e,t){var n=e.getEnvelopeInternal(),i=t.getEnvelopeInternal();if(!n.intersects(i)){var s=Dn.combine(e,t);return s}if(e.getNumGeometries()<=1&&t.getNumGeometries()<=1)return this.unionActual(e,t);var o=n.intersection(i);return this.unionUsingEnvelopeIntersection(e,t,o)},ce.prototype.union=function(){if(this._inputPolys===null)throw new Error("union() method cannot be called twice");if(this._inputPolys.isEmpty())return null;this._geomFactory=this._inputPolys.iterator().next().getFactory();for(var e=new Lm(ce.STRTREE_NODE_CAPACITY),t=this._inputPolys.iterator();t.hasNext();){var n=t.next();e.insert(n.getEnvelopeInternal(),n)}this._inputPolys=null;var i=e.itemsTree(),s=this.unionTree(i);return s},ce.prototype.binaryUnion=function(){if(arguments.length===1){var e=arguments[0];return this.binaryUnion(e,0,e.size())}else if(arguments.length===3){var t=arguments[0],n=arguments[1],i=arguments[2];if(i-n<=1){var s=ce.getGeometry(t,n);return this.unionSafe(s,null)}else{if(i-n===2)return this.unionSafe(ce.getGeometry(t,n),ce.getGeometry(t,n+1));var o=Math.trunc((i+n)/2),a=this.binaryUnion(t,n,o),u=this.binaryUnion(t,o,i);return this.unionSafe(a,u)}}},ce.prototype.repeatedUnion=function(e){for(var t=null,n=e.iterator();n.hasNext();){var i=n.next();t===null?t=i.copy():t=t.union(i)}return t},ce.prototype.unionSafe=function(e,t){return e===null&&t===null?null:e===null?t.copy():t===null?e.copy():this.unionOptimized(e,t)},ce.prototype.unionActual=function(e,t){return ce.restrictToPolygons(e.union(t))},ce.prototype.unionTree=function(e){var t=this.reduceToGeometries(e),n=this.binaryUnion(t);return n},ce.prototype.unionUsingEnvelopeIntersection=function(e,t,n){var i=new W,s=this.extractByEnvelope(n,e,i),o=this.extractByEnvelope(n,t,i),a=this.unionActual(s,o);i.add(a);var u=Dn.combine(i);return u},ce.prototype.bufferUnion=function(){if(arguments.length===1){var e=arguments[0],t=e.get(0).getFactory(),n=t.buildGeometry(e),i=n.buffer(0);return i}else if(arguments.length===2){var s=arguments[0],o=arguments[1],a=s.getFactory(),u=a.createGeometryCollection([s,o]),l=u.buffer(0);return l}},ce.prototype.interfaces_=function(){return[]},ce.prototype.getClass=function(){return ce},ce.restrictToPolygons=function(e){if(at(e,Xi))return e;var t=bi.getPolygons(e);return t.size()===1?t.get(0):e.getFactory().createMultiPolygon(Ct.toPolygonArray(t))},ce.getGeometry=function(e,t){return t>=e.size()?null:e.get(t)},ce.union=function(e){var t=new ce(e);return t.union()},Km.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(ce,Km);var gc=function(){};gc.prototype.interfaces_=function(){return[]},gc.prototype.getClass=function(){return gc},gc.union=function(e,t){if(e.isEmpty()||t.isEmpty()){if(e.isEmpty()&&t.isEmpty())return gt.createEmptyResult(gt.UNION,e,t,e.getFactory());if(e.isEmpty())return t.copy();if(t.isEmpty())return e.copy()}return e.checkNotGeometryCollection(e),e.checkNotGeometryCollection(t),Je.overlayOp(e,t,gt.UNION)};function Ms(){return new mc}function mc(){this.reset()}mc.prototype={constructor:mc,reset:function(){this.s=this.t=0},add:function(r){Zm(vc,r,this.t),Zm(this,vc.s,this.s),this.s?this.t+=vc.t:this.s=vc.t},valueOf:function(){return this.s}};var vc=new mc;function Zm(r,e,t){var n=r.s=e+t,i=n-e,s=n-i;r.t=e-s+(t-i)}var he=1e-6,zt=Math.PI,Pi=zt/2,Qm=zt/4,Ii=zt*2,Rs=180/zt,Sr=zt/180,$e=Math.abs,QE=Math.atan,Na=Math.atan2,ge=Math.cos,me=Math.sin,Oa=Math.sqrt;function tv(r){return r>1?0:r<-1?zt:Math.acos(r)}function Eo(r){return r>1?Pi:r<-1?-Pi:Math.asin(r)}function sl(){}function yc(r,e){r&&nv.hasOwnProperty(r.type)&&nv[r.type](r,e)}var ev={Feature:function(r,e){yc(r.geometry,e)},FeatureCollection:function(r,e){for(var t=r.features,n=-1,i=t.length;++n<i;)yc(t[n].geometry,e)}},nv={Sphere:function(r,e){e.sphere()},Point:function(r,e){r=r.coordinates,e.point(r[0],r[1],r[2])},MultiPoint:function(r,e){for(var t=r.coordinates,n=-1,i=t.length;++n<i;)r=t[n],e.point(r[0],r[1],r[2])},LineString:function(r,e){Ed(r.coordinates,e,0)},MultiLineString:function(r,e){for(var t=r.coordinates,n=-1,i=t.length;++n<i;)Ed(t[n],e,0)},Polygon:function(r,e){rv(r.coordinates,e)},MultiPolygon:function(r,e){for(var t=r.coordinates,n=-1,i=t.length;++n<i;)rv(t[n],e)},GeometryCollection:function(r,e){for(var t=r.geometries,n=-1,i=t.length;++n<i;)yc(t[n],e)}};function Ed(r,e,t){var n=-1,i=r.length-t,s;for(e.lineStart();++n<i;)s=r[n],e.point(s[0],s[1],s[2]);e.lineEnd()}function rv(r,e){var t=-1,n=r.length;for(e.polygonStart();++t<n;)Ed(r[t],e,1);e.polygonEnd()}function tC(r,e){r&&ev.hasOwnProperty(r.type)?ev[r.type](r,e):yc(r,e)}Ms(),Ms();function Cd(r){return[Na(r[1],r[0]),Eo(r[2])]}function Da(r){var e=r[0],t=r[1],n=ge(t);return[n*ge(e),n*me(e),me(t)]}function _c(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function wc(r,e){return[r[1]*e[2]-r[2]*e[1],r[2]*e[0]-r[0]*e[2],r[0]*e[1]-r[1]*e[0]]}function Sd(r,e){r[0]+=e[0],r[1]+=e[1],r[2]+=e[2]}function Ec(r,e){return[r[0]*e,r[1]*e,r[2]*e]}function bd(r){var e=Oa(r[0]*r[0]+r[1]*r[1]+r[2]*r[2]);r[0]/=e,r[1]/=e,r[2]/=e}Ms();function iv(r,e){function t(n,i){return n=r(n,i),e(n[0],n[1])}return r.invert&&e.invert&&(t.invert=function(n,i){return n=e.invert(n,i),n&&r.invert(n[0],n[1])}),t}function Pd(r,e){return[r>zt?r-Ii:r<-zt?r+Ii:r,e]}Pd.invert=Pd;function eC(r,e,t){return(r%=Ii)?e||t?iv(ov(r),av(e,t)):ov(r):e||t?av(e,t):Pd}function sv(r){return function(e,t){return e+=r,[e>zt?e-Ii:e<-zt?e+Ii:e,t]}}function ov(r){var e=sv(r);return e.invert=sv(-r),e}function av(r,e){var t=ge(r),n=me(r),i=ge(e),s=me(e);function o(a,u){var l=ge(u),c=ge(a)*l,h=me(a)*l,f=me(u),p=f*t+c*n;return[Na(h*i-p*s,c*t-f*n),Eo(p*i+h*s)]}return o.invert=function(a,u){var l=ge(u),c=ge(a)*l,h=me(a)*l,f=me(u),p=f*i-h*s;return[Na(h*i+f*s,c*t+p*n),Eo(p*t-c*n)]},o}function nC(r,e,t,n,i,s){if(t){var o=ge(e),a=me(e),u=n*t;i==null?(i=e+n*Ii,s=e-u/2):(i=uv(o,i),s=uv(o,s),(n>0?i<s:i>s)&&(i+=n*Ii));for(var l,c=i;n>0?c>s:c<s;c-=u)l=Cd([o,-a*ge(c),-a*me(c)]),r.point(l[0],l[1])}}function uv(r,e){e=Da(e),e[0]-=r,bd(e);var t=tv(-e[1]);return((-e[2]<0?-t:t)+Ii-he)%Ii}function lv(){var r=[],e;return{point:function(t,n){e.push([t,n])},lineStart:function(){r.push(e=[])},lineEnd:sl,rejoin:function(){r.length>1&&r.push(r.pop().concat(r.shift()))},result:function(){var t=r;return r=[],e=null,t}}}function rC(r,e,t,n,i,s){var o=r[0],a=r[1],u=e[0],l=e[1],c=0,h=1,f=u-o,p=l-a,v;if(v=t-o,!(!f&&v>0)){if(v/=f,f<0){if(v<c)return;v<h&&(h=v)}else if(f>0){if(v>h)return;v>c&&(c=v)}if(v=i-o,!(!f&&v<0)){if(v/=f,f<0){if(v>h)return;v>c&&(c=v)}else if(f>0){if(v<c)return;v<h&&(h=v)}if(v=n-a,!(!p&&v>0)){if(v/=p,p<0){if(v<c)return;v<h&&(h=v)}else if(p>0){if(v>h)return;v>c&&(c=v)}if(v=s-a,!(!p&&v<0)){if(v/=p,p<0){if(v>h)return;v>c&&(c=v)}else if(p>0){if(v<c)return;v<h&&(h=v)}return c>0&&(r[0]=o+c*f,r[1]=a+c*p),h<1&&(e[0]=o+h*f,e[1]=a+h*p),!0}}}}}function Cc(r,e){return $e(r[0]-e[0])<he&&$e(r[1]-e[1])<he}function Sc(r,e,t,n){this.x=r,this.z=e,this.o=t,this.e=n,this.v=!1,this.n=this.p=null}function cv(r,e,t,n,i){var s=[],o=[],a,u;if(r.forEach(function(v){if(!((C=v.length-1)<=0)){var C,S=v[0],P=v[C],y;if(Cc(S,P)){for(i.lineStart(),a=0;a<C;++a)i.point((S=v[a])[0],S[1]);i.lineEnd();return}s.push(y=new Sc(S,v,null,!0)),o.push(y.o=new Sc(S,null,y,!1)),s.push(y=new Sc(P,v,null,!1)),o.push(y.o=new Sc(P,null,y,!0))}}),!!s.length){for(o.sort(e),hv(s),hv(o),a=0,u=o.length;a<u;++a)o[a].e=t=!t;for(var l=s[0],c,h;;){for(var f=l,p=!0;f.v;)if((f=f.n)===l)return;c=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(p)for(a=0,u=c.length;a<u;++a)i.point((h=c[a])[0],h[1]);else n(f.x,f.n.x,1,i);f=f.n}else{if(p)for(c=f.p.z,a=c.length-1;a>=0;--a)i.point((h=c[a])[0],h[1]);else n(f.x,f.p.x,-1,i);f=f.p}f=f.o,c=f.z,p=!p}while(!f.v);i.lineEnd()}}}function hv(r){if(e=r.length){for(var e,t=0,n=r[0],i;++t<e;)n.n=i=r[t],i.p=n,n=i;n.n=i=r[0],i.p=n}}function dv(r,e){return r<e?-1:r>e?1:r>=e?0:NaN}function iC(r){return r.length===1&&(r=sC(r)),{left:function(e,t,n,i){for(n==null&&(n=0),i==null&&(i=e.length);n<i;){var s=n+i>>>1;r(e[s],t)<0?n=s+1:i=s}return n},right:function(e,t,n,i){for(n==null&&(n=0),i==null&&(i=e.length);n<i;){var s=n+i>>>1;r(e[s],t)>0?i=s:n=s+1}return n}}}function sC(r){return function(e,t){return dv(r(e),t)}}iC(dv);function fv(r){for(var e=r.length,t,n=-1,i=0,s,o;++n<e;)i+=r[n].length;for(s=new Array(i);--e>=0;)for(o=r[e],t=o.length;--t>=0;)s[--i]=o[t];return s}var bc=1e9,Pc=-1e9;function oC(r,e,t,n){function i(l,c){return r<=l&&l<=t&&e<=c&&c<=n}function s(l,c,h,f){var p=0,v=0;if(l==null||(p=o(l,h))!==(v=o(c,h))||u(l,c)<0^h>0)do f.point(p===0||p===3?r:t,p>1?n:e);while((p=(p+h+4)%4)!==v);else f.point(c[0],c[1])}function o(l,c){return $e(l[0]-r)<he?c>0?0:3:$e(l[0]-t)<he?c>0?2:1:$e(l[1]-e)<he?c>0?1:0:c>0?3:2}function a(l,c){return u(l.x,c.x)}function u(l,c){var h=o(l,1),f=o(c,1);return h!==f?h-f:h===0?c[1]-l[1]:h===1?l[0]-c[0]:h===2?l[1]-c[1]:c[0]-l[0]}return function(l){var c=l,h=lv(),f,p,v,C,S,P,y,_,m,w,E,b={point:I,lineStart:O,lineEnd:L,polygonStart:D,polygonEnd:x};function I(J,H){i(J,H)&&c.point(J,H)}function T(){for(var J=0,H=0,Z=p.length;H<Z;++H)for(var ct=p[H],mt=1,Y=ct.length,$=ct[0],K,wt,At=$[0],Nt=$[1];mt<Y;++mt)K=At,wt=Nt,$=ct[mt],At=$[0],Nt=$[1],wt<=n?Nt>n&&(At-K)*(n-wt)>(Nt-wt)*(r-K)&&++J:Nt<=n&&(At-K)*(n-wt)<(Nt-wt)*(r-K)&&--J;return J}function D(){c=h,f=[],p=[],E=!0}function x(){var J=T(),H=E&&J,Z=(f=fv(f)).length;(H||Z)&&(l.polygonStart(),H&&(l.lineStart(),s(null,null,1,l),l.lineEnd()),Z&&cv(f,a,J,s,l),l.polygonEnd()),c=l,f=p=v=null}function O(){b.point=A,p&&p.push(v=[]),w=!0,m=!1,y=_=NaN}function L(){f&&(A(C,S),P&&m&&h.rejoin(),f.push(h.result())),b.point=I,m&&c.lineEnd()}function A(J,H){var Z=i(J,H);if(p&&v.push([J,H]),w)C=J,S=H,P=Z,w=!1,Z&&(c.lineStart(),c.point(J,H));else if(Z&&m)c.point(J,H);else{var ct=[y=Math.max(Pc,Math.min(bc,y)),_=Math.max(Pc,Math.min(bc,_))],mt=[J=Math.max(Pc,Math.min(bc,J)),H=Math.max(Pc,Math.min(bc,H))];rC(ct,mt,r,e,t,n)?(m||(c.lineStart(),c.point(ct[0],ct[1])),c.point(mt[0],mt[1]),Z||c.lineEnd(),E=!1):Z&&(c.lineStart(),c.point(J,H),E=!1)}y=J,_=H,m=Z}return b}}var Id=Ms();function aC(r,e){var t=e[0],n=e[1],i=[me(t),-ge(t),0],s=0,o=0;Id.reset();for(var a=0,u=r.length;a<u;++a)if(c=(l=r[a]).length)for(var l,c,h=l[c-1],f=h[0],p=h[1]/2+Qm,v=me(p),C=ge(p),S=0;S<c;++S,f=y,v=m,C=w,h=P){var P=l[S],y=P[0],_=P[1]/2+Qm,m=me(_),w=ge(_),E=y-f,b=E>=0?1:-1,I=b*E,T=I>zt,D=v*m;if(Id.add(Na(D*b*me(I),C*w+D*ge(I))),s+=T?E+b*Ii:E,T^f>=t^y>=t){var x=wc(Da(h),Da(P));bd(x);var O=wc(i,x);bd(O);var L=(T^E>=0?-1:1)*Eo(O[2]);(n>L||n===L&&(x[0]||x[1]))&&(o+=T^E>=0?1:-1)}}return(s<-1e-6||s<he&&Id<-1e-6)^o&1}Ms();function pv(r){return r}Ms(),Ms();var Ma=1/0,Ic=Ma,ol=-Ma,xc=ol,gv={point:uC,lineStart:sl,lineEnd:sl,polygonStart:sl,polygonEnd:sl,result:function(){var r=[[Ma,Ic],[ol,xc]];return ol=xc=-(Ic=Ma=1/0),r}};function uC(r,e){r<Ma&&(Ma=r),r>ol&&(ol=r),e<Ic&&(Ic=e),e>xc&&(xc=e)}Ms();function mv(r,e,t,n){return function(i,s){var o=e(s),a=i.invert(n[0],n[1]),u=lv(),l=e(u),c=!1,h,f,p,v={point:C,lineStart:P,lineEnd:y,polygonStart:function(){v.point=_,v.lineStart=m,v.lineEnd=w,f=[],h=[]},polygonEnd:function(){v.point=C,v.lineStart=P,v.lineEnd=y,f=fv(f);var E=aC(h,a);f.length?(c||(s.polygonStart(),c=!0),cv(f,cC,E,t,s)):E&&(c||(s.polygonStart(),c=!0),s.lineStart(),t(null,null,1,s),s.lineEnd()),c&&(s.polygonEnd(),c=!1),f=h=null},sphere:function(){s.polygonStart(),s.lineStart(),t(null,null,1,s),s.lineEnd(),s.polygonEnd()}};function C(E,b){var I=i(E,b);r(E=I[0],b=I[1])&&s.point(E,b)}function S(E,b){var I=i(E,b);o.point(I[0],I[1])}function P(){v.point=S,o.lineStart()}function y(){v.point=C,o.lineEnd()}function _(E,b){p.push([E,b]);var I=i(E,b);l.point(I[0],I[1])}function m(){l.lineStart(),p=[]}function w(){_(p[0][0],p[0][1]),l.lineEnd();var E=l.clean(),b=u.result(),I,T=b.length,D,x,O;if(p.pop(),h.push(p),p=null,!!T){if(E&1){if(x=b[0],(D=x.length-1)>0){for(c||(s.polygonStart(),c=!0),s.lineStart(),I=0;I<D;++I)s.point((O=x[I])[0],O[1]);s.lineEnd()}return}T>1&&E&2&&b.push(b.pop().concat(b.shift())),f.push(b.filter(lC))}}return v}}function lC(r){return r.length>1}function cC(r,e){return((r=r.x)[0]<0?r[1]-Pi-he:Pi-r[1])-((e=e.x)[0]<0?e[1]-Pi-he:Pi-e[1])}const vv=mv(function(){return!0},hC,fC,[-zt,-Pi]);function hC(r){var e=NaN,t=NaN,n=NaN,i;return{lineStart:function(){r.lineStart(),i=1},point:function(s,o){var a=s>0?zt:-zt,u=$e(s-e);$e(u-zt)<he?(r.point(e,t=(t+o)/2>0?Pi:-Pi),r.point(n,t),r.lineEnd(),r.lineStart(),r.point(a,t),r.point(s,t),i=0):n!==a&&u>=zt&&($e(e-n)<he&&(e-=n*he),$e(s-a)<he&&(s-=a*he),t=dC(e,t,s,o),r.point(n,t),r.lineEnd(),r.lineStart(),r.point(a,t),i=0),r.point(e=s,t=o),n=a},lineEnd:function(){r.lineEnd(),e=t=NaN},clean:function(){return 2-i}}}function dC(r,e,t,n){var i,s,o=me(r-t);return $e(o)>he?QE((me(e)*(s=ge(n))*me(t)-me(n)*(i=ge(e))*me(r))/(i*s*o)):(e+n)/2}function fC(r,e,t,n){var i;if(r==null)i=t*Pi,n.point(-zt,i),n.point(0,i),n.point(zt,i),n.point(zt,0),n.point(zt,-i),n.point(0,-i),n.point(-zt,-i),n.point(-zt,0),n.point(-zt,i);else if($e(r[0]-e[0])>he){var s=r[0]<e[0]?zt:-zt;i=t*s/2,n.point(-s,i),n.point(0,i),n.point(s,i)}else n.point(e[0],e[1])}function pC(r,e){var t=ge(r),n=t>0,i=$e(t)>he;function s(c,h,f,p){nC(p,r,e,f,c,h)}function o(c,h){return ge(c)*ge(h)>t}function a(c){var h,f,p,v,C;return{lineStart:function(){v=p=!1,C=1},point:function(S,P){var y=[S,P],_,m=o(S,P),w=n?m?0:l(S,P):m?l(S+(S<0?zt:-zt),P):0;if(!h&&(v=p=m)&&c.lineStart(),m!==p&&(_=u(h,y),(!_||Cc(h,_)||Cc(y,_))&&(y[0]+=he,y[1]+=he,m=o(y[0],y[1]))),m!==p)C=0,m?(c.lineStart(),_=u(y,h),c.point(_[0],_[1])):(_=u(h,y),c.point(_[0],_[1]),c.lineEnd()),h=_;else if(i&&h&&n^m){var E;!(w&f)&&(E=u(y,h,!0))&&(C=0,n?(c.lineStart(),c.point(E[0][0],E[0][1]),c.point(E[1][0],E[1][1]),c.lineEnd()):(c.point(E[1][0],E[1][1]),c.lineEnd(),c.lineStart(),c.point(E[0][0],E[0][1])))}m&&(!h||!Cc(h,y))&&c.point(y[0],y[1]),h=y,p=m,f=w},lineEnd:function(){p&&c.lineEnd(),h=null},clean:function(){return C|(v&&p)<<1}}}function u(c,h,f){var p=Da(c),v=Da(h),C=[1,0,0],S=wc(p,v),P=_c(S,S),y=S[0],_=P-y*y;if(!_)return!f&&c;var m=t*P/_,w=-t*y/_,E=wc(C,S),b=Ec(C,m),I=Ec(S,w);Sd(b,I);var T=E,D=_c(b,T),x=_c(T,T),O=D*D-x*(_c(b,b)-1);if(!(O<0)){var L=Oa(O),A=Ec(T,(-D-L)/x);if(Sd(A,b),A=Cd(A),!f)return A;var J=c[0],H=h[0],Z=c[1],ct=h[1],mt;H<J&&(mt=J,J=H,H=mt);var Y=H-J,$=$e(Y-zt)<he,K=$||Y<he;if(!$&&ct<Z&&(mt=Z,Z=ct,ct=mt),K?$?Z+ct>0^A[1]<($e(A[0]-J)<he?Z:ct):Z<=A[1]&&A[1]<=ct:Y>zt^(J<=A[0]&&A[0]<=H)){var wt=Ec(T,(-D+L)/x);return Sd(wt,b),[A,Cd(wt)]}}}function l(c,h){var f=n?r:zt-r,p=0;return c<-f?p|=1:c>f&&(p|=2),h<-f?p|=4:h>f&&(p|=8),p}return mv(o,a,s,n?[0,-r]:[-zt,r-zt])}function yv(r){return function(e){var t=new xd;for(var n in r)t[n]=r[n];return t.stream=e,t}}function xd(){}xd.prototype={constructor:xd,point:function(r,e){this.stream.point(r,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function _v(r,e,t){var n=e[1][0]-e[0][0],i=e[1][1]-e[0][1],s=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),s!=null&&r.clipExtent(null),tC(t,r.stream(gv));var o=gv.result(),a=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),u=+e[0][0]+(n-a*(o[1][0]+o[0][0]))/2,l=+e[0][1]+(i-a*(o[1][1]+o[0][1]))/2;return s!=null&&r.clipExtent(s),r.scale(a*150).translate([u,l])}function gC(r,e,t){return _v(r,[[0,0],e],t)}var wv=16,mC=ge(30*Sr);function Ev(r,e){return+e?yC(r,e):vC(r)}function vC(r){return yv({point:function(e,t){e=r(e,t),this.stream.point(e[0],e[1])}})}function yC(r,e){function t(n,i,s,o,a,u,l,c,h,f,p,v,C,S){var P=l-n,y=c-i,_=P*P+y*y;if(_>4*e&&C--){var m=o+f,w=a+p,E=u+v,b=Oa(m*m+w*w+E*E),I=Eo(E/=b),T=$e($e(E)-1)<he||$e(s-h)<he?(s+h)/2:Na(w,m),D=r(T,I),x=D[0],O=D[1],L=x-n,A=O-i,J=y*L-P*A;(J*J/_>e||$e((P*L+y*A)/_-.5)>.3||o*f+a*p+u*v<mC)&&(t(n,i,s,o,a,u,x,O,T,m/=b,w/=b,E,C,S),S.point(x,O),t(x,O,T,m,w,E,l,c,h,f,p,v,C,S))}}return function(n){var i,s,o,a,u,l,c,h,f,p,v,C,S={point:P,lineStart:y,lineEnd:m,polygonStart:function(){n.polygonStart(),S.lineStart=w},polygonEnd:function(){n.polygonEnd(),S.lineStart=y}};function P(I,T){I=r(I,T),n.point(I[0],I[1])}function y(){h=NaN,S.point=_,n.lineStart()}function _(I,T){var D=Da([I,T]),x=r(I,T);t(h,f,c,p,v,C,h=x[0],f=x[1],c=I,p=D[0],v=D[1],C=D[2],wv,n),n.point(h,f)}function m(){S.point=P,n.lineEnd()}function w(){y(),S.point=E,S.lineEnd=b}function E(I,T){_(i=I,T),s=h,o=f,a=p,u=v,l=C,S.point=_}function b(){t(h,f,c,p,v,C,s,o,i,a,u,l,wv,n),S.lineEnd=m,m()}return S}}var _C=yv({point:function(r,e){this.stream.point(r*Sr,e*Sr)}});function wC(r){return EC(function(){return r})()}function EC(r){var e,t=150,n=480,i=250,s,o,a=0,u=0,l=0,c=0,h=0,f,p,v=null,C=vv,S=null,P,y,_,m=pv,w=.5,E=Ev(x,w),b,I;function T(A){return A=p(A[0]*Sr,A[1]*Sr),[A[0]*t+s,o-A[1]*t]}function D(A){return A=p.invert((A[0]-s)/t,(o-A[1])/t),A&&[A[0]*Rs,A[1]*Rs]}function x(A,J){return A=e(A,J),[A[0]*t+s,o-A[1]*t]}T.stream=function(A){return b&&I===A?b:b=_C(C(f,E(m(I=A))))},T.clipAngle=function(A){return arguments.length?(C=+A?pC(v=A*Sr,6*Sr):(v=null,vv),L()):v*Rs},T.clipExtent=function(A){return arguments.length?(m=A==null?(S=P=y=_=null,pv):oC(S=+A[0][0],P=+A[0][1],y=+A[1][0],_=+A[1][1]),L()):S==null?null:[[S,P],[y,_]]},T.scale=function(A){return arguments.length?(t=+A,O()):t},T.translate=function(A){return arguments.length?(n=+A[0],i=+A[1],O()):[n,i]},T.center=function(A){return arguments.length?(a=A[0]%360*Sr,u=A[1]%360*Sr,O()):[a*Rs,u*Rs]},T.rotate=function(A){return arguments.length?(l=A[0]%360*Sr,c=A[1]%360*Sr,h=A.length>2?A[2]%360*Sr:0,O()):[l*Rs,c*Rs,h*Rs]},T.precision=function(A){return arguments.length?(E=Ev(x,w=A*A),L()):Oa(w)},T.fitExtent=function(A,J){return _v(T,A,J)},T.fitSize=function(A,J){return gC(T,A,J)};function O(){p=iv(f=eC(l,c,h),e);var A=e(a,u);return s=n-A[0]*t,o=i+A[1]*t,L()}function L(){return b=I=null,T}return function(){return e=r.apply(this,arguments),T.invert=e.invert&&D,O()}}function Cv(r){return function(e,t){var n=ge(e),i=ge(t),s=r(n*i);return[s*i*me(e),s*me(t)]}}function Sv(r){return function(e,t){var n=Oa(e*e+t*t),i=r(n),s=me(i),o=ge(i);return[Na(e*s,n*o),Eo(n&&t*s/n)]}}var CC=Cv(function(r){return Oa(2/(1+r))});CC.invert=Sv(function(r){return 2*Eo(r/2)});var bv=Cv(function(r){return(r=tv(r))&&r/me(r)});bv.invert=Sv(function(r){return r});function SC(){return wC(bv).scale(79.4188).clipAngle(180-.001)}function Pv(r,e){return[r,e]}Pv.invert=Pv;function bC(r,e,t){t=t||{};var n=t.units||"kilometers",i=t.steps||8;if(!r)throw new Error("geojson is required");if(typeof t!="object")throw new Error("options must be an object");if(typeof i!="number")throw new Error("steps must be an number");if(e===void 0)throw new Error("radius is required");if(i<=0)throw new Error("steps must be greater than 0");var s=[];switch(r.type){case"GeometryCollection":return Xl(r,function(o){var a=Tc(o,e,n,i);a&&s.push(a)}),ra(s);case"FeatureCollection":return ql(r,function(o){var a=Tc(o,e,n,i);a&&ql(a,function(u){u&&s.push(u)})}),ra(s)}return Tc(r,e,n,i)}function Tc(r,e,t,n){var i=r.properties||{},s=r.type==="Feature"?r.geometry:r;if(s.type==="GeometryCollection"){var o=[];return Xl(r,function(C){var S=Tc(C,e,t,n);S&&o.push(S)}),ra(o)}var a=PC(s),u={type:s.type,coordinates:xv(s.coordinates,a)},l=new hd,c=l.read(u),h=qh(Xh(e,t),"meters"),f=Ne.bufferOp(c,h,n),p=new Mm;if(f=p.write(f),!Iv(f.coordinates)){var v={type:f.type,coordinates:Tv(f.coordinates,a)};return Ar(v,i)}}function Iv(r){return Array.isArray(r[0])?Iv(r[0]):isNaN(r[0])}function xv(r,e){return typeof r[0]!="object"?e(r):r.map(function(t){return xv(t,e)})}function Tv(r,e){return typeof r[0]!="object"?e.invert(r):r.map(function(t){return Tv(t,e)})}function PC(r){var e=FE(r).geometry.coordinates,t=[-e[0],-e[1]];return SC().rotate(t).scale(Ze)}function IC(r,e,t){t===void 0&&(t={});for(var n=t.steps||64,i=t.properties?t.properties:!Array.isArray(r)&&r.type==="Feature"&&r.properties?r.properties:{},s=[],o=0;o<n;o++)s.push(ia(r,e,o*-360/n,t).geometry.coordinates);return s.push(s[0]),Sn([s],i)}/**
44
+ `)}return e.toString()},Ve.prototype.computeEdgeEndLabels=function(e){for(var t=this.iterator();t.hasNext();){var n=t.next();n.computeLabel(e)}},Ve.prototype.computeLabelling=function(e){var t=this;this.computeEdgeEndLabels(e[0].getBoundaryNodeRule()),this.propagateSideLabels(0),this.propagateSideLabels(1);for(var n=[!1,!1],i=this.iterator();i.hasNext();)for(var s=i.next(),o=s.getLabel(),a=0;a<2;a++)o.isLine(a)&&o.getLocation(a)===F.BOUNDARY&&(n[a]=!0);for(var u=this.iterator();u.hasNext();)for(var l=u.next(),c=l.getLabel(),h=0;h<2;h++)if(c.isAnyNull(h)){var f=F.NONE;if(n[h])f=F.EXTERIOR;else{var p=l.getCoordinate();f=t.getLocation(h,p,e)}c.setAllLocationsIfNull(h,f)}},Ve.prototype.getDegree=function(){return this._edgeMap.size()},Ve.prototype.insertEdgeEnd=function(e,t){this._edgeMap.put(e,t),this._edgeList=null},Ve.prototype.interfaces_=function(){return[]},Ve.prototype.getClass=function(){return Ve};var KE=function(r){function e(){r.call(this),this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.linkResultDirectedEdges=function(){var n=this;this.getResultAreaEdges();for(var i=null,s=null,o=this._SCANNING_FOR_INCOMING,a=0;a<this._resultAreaEdgeList.size();a++){var u=n._resultAreaEdgeList.get(a),l=u.getSym();if(u.getLabel().isArea())switch(i===null&&u.isInResult()&&(i=u),o){case n._SCANNING_FOR_INCOMING:if(!l.isInResult())continue;s=l,o=n._LINKING_TO_OUTGOING;break;case n._LINKING_TO_OUTGOING:if(!u.isInResult())continue;s.setNext(u),o=n._SCANNING_FOR_INCOMING;break}}if(o===this._LINKING_TO_OUTGOING){if(i===null)throw new wi("no outgoing dirEdge found",this.getCoordinate());vt.isTrue(i.isInResult(),"unable to link last incoming dirEdge"),s.setNext(i)}},e.prototype.insert=function(n){var i=n;this.insertEdgeEnd(i,i)},e.prototype.getRightmostEdge=function(){var n=this.getEdges(),i=n.size();if(i<1)return null;var s=n.get(0);if(i===1)return s;var o=n.get(i-1),a=s.getQuadrant(),u=o.getQuadrant();return Bt.isNorthern(a)&&Bt.isNorthern(u)?s:!Bt.isNorthern(a)&&!Bt.isNorthern(u)?o:s.getDy()!==0?s:o.getDy()!==0?o:(vt.shouldNeverReachHere("found two horizontal edges incident on node"),null)},e.prototype.print=function(n){xe.out.println("DirectedEdgeStar: "+this.getCoordinate());for(var i=this.iterator();i.hasNext();){var s=i.next();n.print("out "),s.print(n),n.println(),n.print("in "),s.getSym().print(n),n.println()}},e.prototype.getResultAreaEdges=function(){var n=this;if(this._resultAreaEdgeList!==null)return this._resultAreaEdgeList;this._resultAreaEdgeList=new W;for(var i=this.iterator();i.hasNext();){var s=i.next();(s.isInResult()||s.getSym().isInResult())&&n._resultAreaEdgeList.add(s)}return this._resultAreaEdgeList},e.prototype.updateLabelling=function(n){for(var i=this.iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.setAllLocationsIfNull(0,n.getLocation(0)),o.setAllLocationsIfNull(1,n.getLocation(1))}},e.prototype.linkAllDirectedEdges=function(){var n=this;this.getEdges();for(var i=null,s=null,o=this._edgeList.size()-1;o>=0;o--){var a=n._edgeList.get(o),u=a.getSym();s===null&&(s=u),i!==null&&u.setNext(i),i=a}s.setNext(i)},e.prototype.computeDepths=function(){var n=this;if(arguments.length===1){var i=arguments[0],s=this.findIndex(i),o=i.getDepth(U.LEFT),a=i.getDepth(U.RIGHT),u=this.computeDepths(s+1,this._edgeList.size(),o),l=this.computeDepths(0,s,u);if(l!==a)throw new wi("depth mismatch at "+i.getCoordinate())}else if(arguments.length===3){for(var c=arguments[0],h=arguments[1],f=arguments[2],p=f,v=c;v<h;v++){var C=n._edgeList.get(v);C.setEdgeDepths(U.RIGHT,p),p=C.getDepth(U.LEFT)}return p}},e.prototype.mergeSymLabels=function(){for(var n=this.iterator();n.hasNext();){var i=n.next(),s=i.getLabel();s.merge(i.getSym().getLabel())}},e.prototype.linkMinimalDirectedEdges=function(n){for(var i=this,s=null,o=null,a=this._SCANNING_FOR_INCOMING,u=this._resultAreaEdgeList.size()-1;u>=0;u--){var l=i._resultAreaEdgeList.get(u),c=l.getSym();switch(s===null&&l.getEdgeRing()===n&&(s=l),a){case i._SCANNING_FOR_INCOMING:if(c.getEdgeRing()!==n)continue;o=c,a=i._LINKING_TO_OUTGOING;break;case i._LINKING_TO_OUTGOING:if(l.getEdgeRing()!==n)continue;o.setNextMin(l),a=i._SCANNING_FOR_INCOMING;break}}a===this._LINKING_TO_OUTGOING&&(vt.isTrue(s!==null,"found null for first outgoing dirEdge"),vt.isTrue(s.getEdgeRing()===n,"unable to link last incoming dirEdge"),o.setNextMin(s))},e.prototype.getOutgoingDegree=function(){if(arguments.length===0){for(var n=0,i=this.iterator();i.hasNext();){var s=i.next();s.isInResult()&&n++}return n}else if(arguments.length===1){for(var o=arguments[0],a=0,u=this.iterator();u.hasNext();){var l=u.next();l.getEdgeRing()===o&&a++}return a}},e.prototype.getLabel=function(){return this._label},e.prototype.findCoveredLineEdges=function(){for(var n=F.NONE,i=this.iterator();i.hasNext();){var s=i.next(),o=s.getSym();if(!s.isLineEdge()){if(s.isInResult()){n=F.INTERIOR;break}if(o.isInResult()){n=F.EXTERIOR;break}}}if(n===F.NONE)return null;for(var a=n,u=this.iterator();u.hasNext();){var l=u.next(),c=l.getSym();l.isLineEdge()?l.getEdge().setCovered(a===F.INTERIOR):(l.isInResult()&&(a=F.EXTERIOR),c.isInResult()&&(a=F.INTERIOR))}},e.prototype.computeLabelling=function(n){var i=this;r.prototype.computeLabelling.call(this,n),this._label=new Vt(F.NONE);for(var s=this.iterator();s.hasNext();)for(var o=s.next(),a=o.getEdge(),u=a.getLabel(),l=0;l<2;l++){var c=u.getLocation(l);(c===F.INTERIOR||c===F.BOUNDARY)&&i._label.setLocation(l,F.INTERIOR)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Ve),jm=function(r){function e(){r.apply(this,arguments)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.createNode=function(n){return new hc(n,new KE)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(ya),$i=function r(){this._pts=null,this._orientation=null;var e=arguments[0];this._pts=e,this._orientation=r.orientation(e)};$i.prototype.compareTo=function(e){var t=e,n=$i.compareOriented(this._pts,this._orientation,t._pts,t._orientation);return n},$i.prototype.interfaces_=function(){return[Ln]},$i.prototype.getClass=function(){return $i},$i.orientation=function(e){return Et.increasingDirection(e)===1},$i.compareOriented=function(e,t,n,i){for(var s=t?1:-1,o=i?1:-1,a=t?e.length:-1,u=i?n.length:-1,l=t?0:e.length-1,c=i?0:n.length-1;;){var h=e[l].compareTo(n[c]);if(h!==0)return h;l+=s,c+=o;var f=l===a,p=c===u;if(f&&!p)return-1;if(!f&&p)return 1;if(f&&p)return 0}};var er=function(){this._edges=new W,this._ocaMap=new Ae};er.prototype.print=function(e){var t=this;e.print("MULTILINESTRING ( ");for(var n=0;n<this._edges.size();n++){var i=t._edges.get(n);n>0&&e.print(","),e.print("(");for(var s=i.getCoordinates(),o=0;o<s.length;o++)o>0&&e.print(","),e.print(s[o].x+" "+s[o].y);e.println(")")}e.print(") ")},er.prototype.addAll=function(e){for(var t=this,n=e.iterator();n.hasNext();)t.add(n.next())},er.prototype.findEdgeIndex=function(e){for(var t=this,n=0;n<this._edges.size();n++)if(t._edges.get(n).equals(e))return n;return-1},er.prototype.iterator=function(){return this._edges.iterator()},er.prototype.getEdges=function(){return this._edges},er.prototype.get=function(e){return this._edges.get(e)},er.prototype.findEqualEdge=function(e){var t=new $i(e.getCoordinates()),n=this._ocaMap.get(t);return n},er.prototype.add=function(e){this._edges.add(e);var t=new $i(e.getCoordinates());this._ocaMap.put(t,e)},er.prototype.interfaces_=function(){return[]},er.prototype.getClass=function(){return er};var Ps=function(){};Ps.prototype.processIntersections=function(e,t,n,i){},Ps.prototype.isDone=function(){},Ps.prototype.interfaces_=function(){return[]},Ps.prototype.getClass=function(){return Ps};var Nn=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._hasInterior=!1,this._properIntersectionPoint=null,this._li=null,this._isSelfIntersection=null,this.numIntersections=0,this.numInteriorIntersections=0,this.numProperIntersections=0,this.numTests=0;var e=arguments[0];this._li=e};Nn.prototype.isTrivialIntersection=function(e,t,n,i){if(e===n&&this._li.getIntersectionNum()===1){if(Nn.isAdjacentSegments(t,i))return!0;if(e.isClosed()){var s=e.size()-1;if(t===0&&i===s||i===0&&t===s)return!0}}return!1},Nn.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},Nn.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},Nn.prototype.getLineIntersector=function(){return this._li},Nn.prototype.hasProperIntersection=function(){return this._hasProper},Nn.prototype.processIntersections=function(e,t,n,i){if(e===n&&t===i)return null;this.numTests++;var s=e.getCoordinates()[t],o=e.getCoordinates()[t+1],a=n.getCoordinates()[i],u=n.getCoordinates()[i+1];this._li.computeIntersection(s,o,a,u),this._li.hasIntersection()&&(this.numIntersections++,this._li.isInteriorIntersection()&&(this.numInteriorIntersections++,this._hasInterior=!0),this.isTrivialIntersection(e,t,n,i)||(this._hasIntersection=!0,e.addIntersections(this._li,t,0),n.addIntersections(this._li,i,1),this._li.isProper()&&(this.numProperIntersections++,this._hasProper=!0,this._hasProperInterior=!0)))},Nn.prototype.hasIntersection=function(){return this._hasIntersection},Nn.prototype.isDone=function(){return!1},Nn.prototype.hasInteriorIntersection=function(){return this._hasInterior},Nn.prototype.interfaces_=function(){return[Ps]},Nn.prototype.getClass=function(){return Nn},Nn.isAdjacentSegments=function(e,t){return Math.abs(e-t)===1};var yr=function(){this.coord=null,this.segmentIndex=null,this.dist=null;var e=arguments[0],t=arguments[1],n=arguments[2];this.coord=new R(e),this.segmentIndex=t,this.dist=n};yr.prototype.getSegmentIndex=function(){return this.segmentIndex},yr.prototype.getCoordinate=function(){return this.coord},yr.prototype.print=function(e){e.print(this.coord),e.print(" seg # = "+this.segmentIndex),e.println(" dist = "+this.dist)},yr.prototype.compareTo=function(e){var t=e;return this.compare(t.segmentIndex,t.dist)},yr.prototype.isEndPoint=function(e){return this.segmentIndex===0&&this.dist===0||this.segmentIndex===e},yr.prototype.toString=function(){return this.coord+" seg # = "+this.segmentIndex+" dist = "+this.dist},yr.prototype.getDistance=function(){return this.dist},yr.prototype.compare=function(e,t){return this.segmentIndex<e?-1:this.segmentIndex>e?1:this.dist<t?-1:this.dist>t?1:0},yr.prototype.interfaces_=function(){return[Ln]},yr.prototype.getClass=function(){return yr};var Xr=function(){this._nodeMap=new Ae,this.edge=null;var e=arguments[0];this.edge=e};Xr.prototype.print=function(e){e.println("Intersections:");for(var t=this.iterator();t.hasNext();){var n=t.next();n.print(e)}},Xr.prototype.iterator=function(){return this._nodeMap.values().iterator()},Xr.prototype.addSplitEdges=function(e){var t=this;this.addEndpoints();for(var n=this.iterator(),i=n.next();n.hasNext();){var s=n.next(),o=t.createSplitEdge(i,s);e.add(o),i=s}},Xr.prototype.addEndpoints=function(){var e=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[e],e,0)},Xr.prototype.createSplitEdge=function(e,t){var n=this,i=t.segmentIndex-e.segmentIndex+2,s=this.edge.pts[t.segmentIndex],o=t.dist>0||!t.coord.equals2D(s);o||i--;var a=new Array(i).fill(null),u=0;a[u++]=new R(e.coord);for(var l=e.segmentIndex+1;l<=t.segmentIndex;l++)a[u++]=n.edge.pts[l];return o&&(a[u]=t.coord),new fc(a,new Vt(this.edge._label))},Xr.prototype.add=function(e,t,n){var i=new yr(e,t,n),s=this._nodeMap.get(i);return s!==null?s:(this._nodeMap.put(i,i),i)},Xr.prototype.isIntersection=function(e){for(var t=this.iterator();t.hasNext();){var n=t.next();if(n.coord.equals(e))return!0}return!1},Xr.prototype.interfaces_=function(){return[]},Xr.prototype.getClass=function(){return Xr};var Is=function(){};Is.prototype.getChainStartIndices=function(e){var t=this,n=0,i=new W;i.add(new ar(n));do{var s=t.findChainEnd(e,n);i.add(new ar(s)),n=s}while(n<e.length-1);var o=Is.toIntArray(i);return o},Is.prototype.findChainEnd=function(e,t){for(var n=Bt.quadrant(e[t],e[t+1]),i=t+1;i<e.length;){var s=Bt.quadrant(e[i-1],e[i]);if(s!==n)break;i++}return i-1},Is.prototype.interfaces_=function(){return[]},Is.prototype.getClass=function(){return Is},Is.toIntArray=function(e){for(var t=new Array(e.size()).fill(null),n=0;n<t.length;n++)t[n]=e.get(n).intValue();return t};var Si=function(){this.e=null,this.pts=null,this.startIndex=null,this.env1=new Q,this.env2=new Q;var e=arguments[0];this.e=e,this.pts=e.getCoordinates();var t=new Is;this.startIndex=t.getChainStartIndices(this.pts)};Si.prototype.getCoordinates=function(){return this.pts},Si.prototype.getMaxX=function(e){var t=this.pts[this.startIndex[e]].x,n=this.pts[this.startIndex[e+1]].x;return t>n?t:n},Si.prototype.getMinX=function(e){var t=this.pts[this.startIndex[e]].x,n=this.pts[this.startIndex[e+1]].x;return t<n?t:n},Si.prototype.computeIntersectsForChain=function(){if(arguments.length===4){var e=arguments[0],t=arguments[1],n=arguments[2],i=arguments[3];this.computeIntersectsForChain(this.startIndex[e],this.startIndex[e+1],t,t.startIndex[n],t.startIndex[n+1],i)}else if(arguments.length===6){var s=arguments[0],o=arguments[1],a=arguments[2],u=arguments[3],l=arguments[4],c=arguments[5],h=this.pts[s],f=this.pts[o],p=a.pts[u],v=a.pts[l];if(o-s===1&&l-u===1)return c.addIntersections(this.e,s,a.e,u),null;if(this.env1.init(h,f),this.env2.init(p,v),!this.env1.intersects(this.env2))return null;var C=Math.trunc((s+o)/2),S=Math.trunc((u+l)/2);s<C&&(u<S&&this.computeIntersectsForChain(s,C,a,u,S,c),S<l&&this.computeIntersectsForChain(s,C,a,S,l,c)),C<o&&(u<S&&this.computeIntersectsForChain(C,o,a,u,S,c),S<l&&this.computeIntersectsForChain(C,o,a,S,l,c))}},Si.prototype.getStartIndexes=function(){return this.startIndex},Si.prototype.computeIntersects=function(e,t){for(var n=this,i=0;i<this.startIndex.length-1;i++)for(var s=0;s<e.startIndex.length-1;s++)n.computeIntersectsForChain(i,e,s,t)},Si.prototype.interfaces_=function(){return[]},Si.prototype.getClass=function(){return Si};var Te=function r(){var e=this;this._depth=Array(2).fill().map(function(){return Array(3)});for(var t=0;t<2;t++)for(var n=0;n<3;n++)e._depth[t][n]=r.NULL_VALUE},zm={NULL_VALUE:{configurable:!0}};Te.prototype.getDepth=function(e,t){return this._depth[e][t]},Te.prototype.setDepth=function(e,t,n){this._depth[e][t]=n},Te.prototype.isNull=function(){var e=this;if(arguments.length===0){for(var t=0;t<2;t++)for(var n=0;n<3;n++)if(e._depth[t][n]!==Te.NULL_VALUE)return!1;return!0}else if(arguments.length===1){var i=arguments[0];return this._depth[i][1]===Te.NULL_VALUE}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._depth[s][o]===Te.NULL_VALUE}},Te.prototype.normalize=function(){for(var e=this,t=0;t<2;t++)if(!e.isNull(t)){var n=e._depth[t][1];e._depth[t][2]<n&&(n=e._depth[t][2]),n<0&&(n=0);for(var i=1;i<3;i++){var s=0;e._depth[t][i]>n&&(s=1),e._depth[t][i]=s}}},Te.prototype.getDelta=function(e){return this._depth[e][U.RIGHT]-this._depth[e][U.LEFT]},Te.prototype.getLocation=function(e,t){return this._depth[e][t]<=0?F.EXTERIOR:F.INTERIOR},Te.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},Te.prototype.add=function(){var e=this;if(arguments.length===1)for(var t=arguments[0],n=0;n<2;n++)for(var i=1;i<3;i++){var s=t.getLocation(n,i);(s===F.EXTERIOR||s===F.INTERIOR)&&(e.isNull(n,i)?e._depth[n][i]=Te.depthAtLocation(s):e._depth[n][i]+=Te.depthAtLocation(s))}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2];u===F.INTERIOR&&this._depth[o][a]++}},Te.prototype.interfaces_=function(){return[]},Te.prototype.getClass=function(){return Te},Te.depthAtLocation=function(e){return e===F.EXTERIOR?0:e===F.INTERIOR?1:Te.NULL_VALUE},zm.NULL_VALUE.get=function(){return-1},Object.defineProperties(Te,zm);var fc=function(r){function e(){if(r.call(this),this.pts=null,this._env=null,this.eiList=new Xr(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new Te,this._depthDelta=0,arguments.length===1){var t=arguments[0];e.call(this,t,null)}else if(arguments.length===2){var n=arguments[0],i=arguments[1];this.pts=n,this._label=i}}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.getDepth=function(){return this._depth},e.prototype.getCollapsedEdge=function(){var n=new Array(2).fill(null);n[0]=this.pts[0],n[1]=this.pts[1];var i=new e(n,Vt.toLineLabel(this._label));return i},e.prototype.isIsolated=function(){return this._isIsolated},e.prototype.getCoordinates=function(){return this.pts},e.prototype.setIsolated=function(n){this._isIsolated=n},e.prototype.setName=function(n){this._name=n},e.prototype.equals=function(n){var i=this;if(!(n instanceof e))return!1;var s=n;if(this.pts.length!==s.pts.length)return!1;for(var o=!0,a=!0,u=this.pts.length,l=0;l<this.pts.length;l++)if(i.pts[l].equals2D(s.pts[l])||(o=!1),i.pts[l].equals2D(s.pts[--u])||(a=!1),!o&&!a)return!1;return!0},e.prototype.getCoordinate=function(){if(arguments.length===0)return this.pts.length>0?this.pts[0]:null;if(arguments.length===1){var n=arguments[0];return this.pts[n]}},e.prototype.print=function(n){var i=this;n.print("edge "+this._name+": "),n.print("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&n.print(","),n.print(i.pts[s].x+" "+i.pts[s].y);n.print(") "+this._label+" "+this._depthDelta)},e.prototype.computeIM=function(n){e.updateIM(this._label,n)},e.prototype.isCollapsed=function(){return!this._label.isArea()||this.pts.length!==3?!1:!!this.pts[0].equals(this.pts[2])},e.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},e.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},e.prototype.getDepthDelta=function(){return this._depthDelta},e.prototype.getNumPoints=function(){return this.pts.length},e.prototype.printReverse=function(n){var i=this;n.print("edge "+this._name+": ");for(var s=this.pts.length-1;s>=0;s--)n.print(i.pts[s]+" ");n.println("")},e.prototype.getMonotoneChainEdge=function(){return this._mce===null&&(this._mce=new Si(this)),this._mce},e.prototype.getEnvelope=function(){var n=this;if(this._env===null){this._env=new Q;for(var i=0;i<this.pts.length;i++)n._env.expandToInclude(n.pts[i])}return this._env},e.prototype.addIntersection=function(n,i,s,o){var a=new R(n.getIntersection(o)),u=i,l=n.getEdgeDistance(s,o),c=u+1;if(c<this.pts.length){var h=this.pts[c];a.equals2D(h)&&(u=c,l=0)}this.eiList.add(a,u,l)},e.prototype.toString=function(){var n=this,i=new or;i.append("edge "+this._name+": "),i.append("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&i.append(","),i.append(n.pts[s].x+" "+n.pts[s].y);return i.append(") "+this._label+" "+this._depthDelta),i.toString()},e.prototype.isPointwiseEqual=function(n){var i=this;if(this.pts.length!==n.pts.length)return!1;for(var s=0;s<this.pts.length;s++)if(!i.pts[s].equals2D(n.pts[s]))return!1;return!0},e.prototype.setDepthDelta=function(n){this._depthDelta=n},e.prototype.getEdgeIntersectionList=function(){return this.eiList},e.prototype.addIntersections=function(n,i,s){for(var o=this,a=0;a<n.getIntersectionNum();a++)o.addIntersection(n,i,s,a)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.updateIM=function(){if(arguments.length===2){var n=arguments[0],i=arguments[1];i.setAtLeastIfValid(n.getLocation(0,U.ON),n.getLocation(1,U.ON),1),n.isArea()&&(i.setAtLeastIfValid(n.getLocation(0,U.LEFT),n.getLocation(1,U.LEFT),2),i.setAtLeastIfValid(n.getLocation(0,U.RIGHT),n.getLocation(1,U.RIGHT),2))}else return r.prototype.updateIM.apply(this,arguments)},e}(In),He=function(e){this._workingPrecisionModel=null,this._workingNoder=null,this._geomFact=null,this._graph=null,this._edgeList=new er,this._bufParams=e||null};He.prototype.setWorkingPrecisionModel=function(e){this._workingPrecisionModel=e},He.prototype.insertUniqueEdge=function(e){var t=this._edgeList.findEqualEdge(e);if(t!==null){var n=t.getLabel(),i=e.getLabel();t.isPointwiseEqual(e)||(i=new Vt(e.getLabel()),i.flip()),n.merge(i);var s=He.depthDelta(i),o=t.getDepthDelta(),a=o+s;t.setDepthDelta(a)}else this._edgeList.add(e),e.setDepthDelta(He.depthDelta(e.getLabel()))},He.prototype.buildSubgraphs=function(e,t){for(var n=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=s.getRightmostCoordinate(),a=new fo(n),u=a.getDepth(o);s.computeDepth(u),s.findResultEdges(),n.add(s),t.add(s.getDirectedEdges(),s.getNodes())}},He.prototype.createSubgraphs=function(e){for(var t=new W,n=e.getNodes().iterator();n.hasNext();){var i=n.next();if(!i.isVisited()){var s=new Ge;s.create(i),t.add(s)}}return tr.sort(t,tr.reverseOrder()),t},He.prototype.createEmptyResultGeometry=function(){var e=this._geomFact.createPolygon();return e},He.prototype.getNoder=function(e){if(this._workingNoder!==null)return this._workingNoder;var t=new fd,n=new _s;return n.setPrecisionModel(e),t.setSegmentIntersector(new Nn(n)),t},He.prototype.buffer=function(e,t){var n=this._workingPrecisionModel;n===null&&(n=e.getPrecisionModel()),this._geomFact=e.getFactory();var i=new en(n,this._bufParams),s=new jn(e,t,i),o=s.getCurves();if(o.size()<=0)return this.createEmptyResultGeometry();this.computeNodedEdges(o,n),this._graph=new $t(new jm),this._graph.addEdges(this._edgeList.getEdges());var a=this.createSubgraphs(this._graph),u=new hn(this._geomFact);this.buildSubgraphs(a,u);var l=u.getPolygons();if(l.size()<=0)return this.createEmptyResultGeometry();var c=this._geomFact.buildGeometry(l);return c},He.prototype.computeNodedEdges=function(e,t){var n=this,i=this.getNoder(t);i.computeNodes(e);for(var s=i.getNodedSubstrings(),o=s.iterator();o.hasNext();){var a=o.next(),u=a.getCoordinates();if(!(u.length===2&&u[0].equals2D(u[1]))){var l=a.getData(),c=new fc(a.getCoordinates(),new Vt(l));n.insertUniqueEdge(c)}}},He.prototype.setNoder=function(e){this._workingNoder=e},He.prototype.interfaces_=function(){return[]},He.prototype.getClass=function(){return He},He.depthDelta=function(e){var t=e.getLocation(0,U.LEFT),n=e.getLocation(0,U.RIGHT);return t===F.INTERIOR&&n===F.EXTERIOR?1:t===F.EXTERIOR&&n===F.INTERIOR?-1:0},He.convertSegStrings=function(e){for(var t=new Ct,n=new W;e.hasNext();){var i=e.next(),s=t.createLineString(i.getCoordinates());n.add(s)}return t.buildGeometry(n)};var Ki=function(){if(this._noder=null,this._scaleFactor=null,this._offsetX=null,this._offsetY=null,this._isScaled=!1,arguments.length===2){var e=arguments[0],t=arguments[1];this._noder=e,this._scaleFactor=t,this._offsetX=0,this._offsetY=0,this._isScaled=!this.isIntegerPrecision()}else if(arguments.length===4){var n=arguments[0],i=arguments[1],s=arguments[2],o=arguments[3];this._noder=n,this._scaleFactor=i,this._offsetX=s,this._offsetY=o,this._isScaled=!this.isIntegerPrecision()}};Ki.prototype.rescale=function(){var e=this;if(at(arguments[0],de))for(var t=arguments[0],n=t.iterator();n.hasNext();){var i=n.next();e.rescale(i.getCoordinates())}else if(arguments[0]instanceof Array){for(var s=arguments[0],o=0;o<s.length;o++)s[o].x=s[o].x/e._scaleFactor+e._offsetX,s[o].y=s[o].y/e._scaleFactor+e._offsetY;s.length===2&&s[0].equals2D(s[1])&&xe.out.println(s)}},Ki.prototype.scale=function(){var e=this;if(at(arguments[0],de)){for(var t=arguments[0],n=new W,i=t.iterator();i.hasNext();){var s=i.next();n.add(new se(e.scale(s.getCoordinates()),s.getData()))}return n}else if(arguments[0]instanceof Array){for(var o=arguments[0],a=new Array(o.length).fill(null),u=0;u<o.length;u++)a[u]=new R(Math.round((o[u].x-e._offsetX)*e._scaleFactor),Math.round((o[u].y-e._offsetY)*e._scaleFactor),o[u].z);var l=Et.removeRepeatedPoints(a);return l}},Ki.prototype.isIntegerPrecision=function(){return this._scaleFactor===1},Ki.prototype.getNodedSubstrings=function(){var e=this._noder.getNodedSubstrings();return this._isScaled&&this.rescale(e),e},Ki.prototype.computeNodes=function(e){var t=e;this._isScaled&&(t=this.scale(e)),this._noder.computeNodes(t)},Ki.prototype.interfaces_=function(){return[Ss]},Ki.prototype.getClass=function(){return Ki};var _r=function(){this._li=new _s,this._segStrings=null;var e=arguments[0];this._segStrings=e},Um={fact:{configurable:!0}};_r.prototype.checkEndPtVertexIntersections=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();){var n=t.next(),i=n.getCoordinates();e.checkEndPtVertexIntersections(i[0],e._segStrings),e.checkEndPtVertexIntersections(i[i.length-1],e._segStrings)}else if(arguments.length===2){for(var s=arguments[0],o=arguments[1],a=o.iterator();a.hasNext();)for(var u=a.next(),l=u.getCoordinates(),c=1;c<l.length-1;c++)if(l[c].equals(s))throw new pi("found endpt/interior pt intersection at index "+c+" :pt "+s)}},_r.prototype.checkInteriorIntersections=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();)for(var n=t.next(),i=this._segStrings.iterator();i.hasNext();){var s=i.next();e.checkInteriorIntersections(n,s)}else if(arguments.length===2)for(var o=arguments[0],a=arguments[1],u=o.getCoordinates(),l=a.getCoordinates(),c=0;c<u.length-1;c++)for(var h=0;h<l.length-1;h++)e.checkInteriorIntersections(o,c,a,h);else if(arguments.length===4){var f=arguments[0],p=arguments[1],v=arguments[2],C=arguments[3];if(f===v&&p===C)return null;var S=f.getCoordinates()[p],P=f.getCoordinates()[p+1],y=v.getCoordinates()[C],_=v.getCoordinates()[C+1];if(this._li.computeIntersection(S,P,y,_),this._li.hasIntersection()&&(this._li.isProper()||this.hasInteriorIntersection(this._li,S,P)||this.hasInteriorIntersection(this._li,y,_)))throw new pi("found non-noded intersection at "+S+"-"+P+" and "+y+"-"+_)}},_r.prototype.checkValid=function(){this.checkEndPtVertexIntersections(),this.checkInteriorIntersections(),this.checkCollapses()},_r.prototype.checkCollapses=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();){var n=t.next();e.checkCollapses(n)}else if(arguments.length===1)for(var i=arguments[0],s=i.getCoordinates(),o=0;o<s.length-2;o++)e.checkCollapse(s[o],s[o+1],s[o+2])},_r.prototype.hasInteriorIntersection=function(e,t,n){for(var i=0;i<e.getIntersectionNum();i++){var s=e.getIntersection(i);if(!(s.equals(t)||s.equals(n)))return!0}return!1},_r.prototype.checkCollapse=function(e,t,n){if(e.equals(n))throw new pi("found non-noded collapse at "+_r.fact.createLineString([e,t,n]))},_r.prototype.interfaces_=function(){return[]},_r.prototype.getClass=function(){return _r},Um.fact.get=function(){return new Ct},Object.defineProperties(_r,Um);var nn=function(){this._li=null,this._pt=null,this._originalPt=null,this._ptScaled=null,this._p0Scaled=null,this._p1Scaled=null,this._scaleFactor=null,this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,this._corner=new Array(4).fill(null),this._safeEnv=null;var e=arguments[0],t=arguments[1],n=arguments[2];if(this._originalPt=e,this._pt=e,this._scaleFactor=t,this._li=n,t<=0)throw new Xt("Scale factor must be non-zero");t!==1&&(this._pt=new R(this.scale(e.x),this.scale(e.y)),this._p0Scaled=new R,this._p1Scaled=new R),this.initCorners(this._pt)},Gm={SAFE_ENV_EXPANSION_FACTOR:{configurable:!0}};nn.prototype.intersectsScaled=function(e,t){var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),o=Math.max(e.y,t.y),a=this._maxx<n||this._minx>i||this._maxy<s||this._miny>o;if(a)return!1;var u=this.intersectsToleranceSquare(e,t);return vt.isTrue(!(a&&u),"Found bad envelope test"),u},nn.prototype.initCorners=function(e){var t=.5;this._minx=e.x-t,this._maxx=e.x+t,this._miny=e.y-t,this._maxy=e.y+t,this._corner[0]=new R(this._maxx,this._maxy),this._corner[1]=new R(this._minx,this._maxy),this._corner[2]=new R(this._minx,this._miny),this._corner[3]=new R(this._maxx,this._miny)},nn.prototype.intersects=function(e,t){return this._scaleFactor===1?this.intersectsScaled(e,t):(this.copyScaled(e,this._p0Scaled),this.copyScaled(t,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},nn.prototype.scale=function(e){return Math.round(e*this._scaleFactor)},nn.prototype.getCoordinate=function(){return this._originalPt},nn.prototype.copyScaled=function(e,t){t.x=this.scale(e.x),t.y=this.scale(e.y)},nn.prototype.getSafeEnvelope=function(){if(this._safeEnv===null){var e=nn.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new Q(this._originalPt.x-e,this._originalPt.x+e,this._originalPt.y-e,this._originalPt.y+e)}return this._safeEnv},nn.prototype.intersectsPixelClosure=function(e,t){return this._li.computeIntersection(e,t,this._corner[0],this._corner[1]),!!(this._li.hasIntersection()||(this._li.computeIntersection(e,t,this._corner[1],this._corner[2]),this._li.hasIntersection())||(this._li.computeIntersection(e,t,this._corner[2],this._corner[3]),this._li.hasIntersection())||(this._li.computeIntersection(e,t,this._corner[3],this._corner[0]),this._li.hasIntersection()))},nn.prototype.intersectsToleranceSquare=function(e,t){var n=!1,i=!1;return this._li.computeIntersection(e,t,this._corner[0],this._corner[1]),!!(this._li.isProper()||(this._li.computeIntersection(e,t,this._corner[1],this._corner[2]),this._li.isProper())||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(e,t,this._corner[2],this._corner[3]),this._li.isProper())||(this._li.hasIntersection()&&(i=!0),this._li.computeIntersection(e,t,this._corner[3],this._corner[0]),this._li.isProper())||n&&i||e.equals(this._pt)||t.equals(this._pt))},nn.prototype.addSnappedNode=function(e,t){var n=e.getCoordinate(t),i=e.getCoordinate(t+1);return this.intersects(n,i)?(e.addIntersection(this.getCoordinate(),t),!0):!1},nn.prototype.interfaces_=function(){return[]},nn.prototype.getClass=function(){return nn},Gm.SAFE_ENV_EXPANSION_FACTOR.get=function(){return .75},Object.defineProperties(nn,Gm);var el=function(){this.tempEnv1=new Q,this.selectedSegment=new tt};el.prototype.select=function(){if(arguments.length!==1){if(arguments.length===2){var e=arguments[0],t=arguments[1];e.getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}}},el.prototype.interfaces_=function(){return[]},el.prototype.getClass=function(){return el};var Ca=function(){this._index=null;var e=arguments[0];this._index=e},Wm={HotPixelSnapAction:{configurable:!0}};Ca.prototype.snap=function(){if(arguments.length===1){var e=arguments[0];return this.snap(e,null,-1)}else if(arguments.length===3){var t=arguments[0],n=arguments[1],i=arguments[2],s=t.getSafeEnvelope(),o=new Hm(t,n,i);return this._index.query(s,{interfaces_:function(){return[Yi]},visitItem:function(a){var u=a;u.select(s,o)}}),o.isNodeAdded()}},Ca.prototype.interfaces_=function(){return[]},Ca.prototype.getClass=function(){return Ca},Wm.HotPixelSnapAction.get=function(){return Hm},Object.defineProperties(Ca,Wm);var Hm=function(r){function e(){r.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var t=arguments[0],n=arguments[1],i=arguments[2];this._hotPixel=t,this._parentEdge=n,this._hotPixelVertexIndex=i}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.isNodeAdded=function(){return this._isNodeAdded},e.prototype.select=function(){if(arguments.length===2){var n=arguments[0],i=arguments[1],s=n.getContext();if(this._parentEdge!==null&&s===this._parentEdge&&i===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(s,i)}else return r.prototype.select.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(el),po=function(){this._li=null,this._interiorIntersections=null;var e=arguments[0];this._li=e,this._interiorIntersections=new W};po.prototype.processIntersections=function(e,t,n,i){var s=this;if(e===n&&t===i)return null;var o=e.getCoordinates()[t],a=e.getCoordinates()[t+1],u=n.getCoordinates()[i],l=n.getCoordinates()[i+1];if(this._li.computeIntersection(o,a,u,l),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var c=0;c<this._li.getIntersectionNum();c++)s._interiorIntersections.add(s._li.getIntersection(c));e.addIntersections(this._li,t,0),n.addIntersections(this._li,i,1)}},po.prototype.isDone=function(){return!1},po.prototype.getInteriorIntersections=function(){return this._interiorIntersections},po.prototype.interfaces_=function(){return[Ps]},po.prototype.getClass=function(){return po};var Yr=function(){this._pm=null,this._li=null,this._scaleFactor=null,this._noder=null,this._pointSnapper=null,this._nodedSegStrings=null;var e=arguments[0];this._pm=e,this._li=new _s,this._li.setPrecisionModel(e),this._scaleFactor=e.getScale()};Yr.prototype.checkCorrectness=function(e){var t=se.getNodedSubstrings(e),n=new _r(t);try{n.checkValid()}catch(i){if(i instanceof bm)i.printStackTrace();else throw i}finally{}},Yr.prototype.getNodedSubstrings=function(){return se.getNodedSubstrings(this._nodedSegStrings)},Yr.prototype.snapRound=function(e,t){var n=this.findInteriorIntersections(e,t);this.computeIntersectionSnaps(n),this.computeVertexSnaps(e)},Yr.prototype.findInteriorIntersections=function(e,t){var n=new po(t);return this._noder.setSegmentIntersector(n),this._noder.computeNodes(e),n.getInteriorIntersections()},Yr.prototype.computeVertexSnaps=function(){var e=this;if(at(arguments[0],de))for(var t=arguments[0],n=t.iterator();n.hasNext();){var i=n.next();e.computeVertexSnaps(i)}else if(arguments[0]instanceof se)for(var s=arguments[0],o=s.getCoordinates(),a=0;a<o.length;a++){var u=new nn(o[a],e._scaleFactor,e._li),l=e._pointSnapper.snap(u,s,a);l&&s.addIntersection(o[a],a)}},Yr.prototype.computeNodes=function(e){this._nodedSegStrings=e,this._noder=new fd,this._pointSnapper=new Ca(this._noder.getIndex()),this.snapRound(e,this._li)},Yr.prototype.computeIntersectionSnaps=function(e){for(var t=this,n=e.iterator();n.hasNext();){var i=n.next(),s=new nn(i,t._scaleFactor,t._li);t._pointSnapper.snap(s)}},Yr.prototype.interfaces_=function(){return[Ss]},Yr.prototype.getClass=function(){return Yr};var Ne=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new Lt,this._resultGeometry=null,this._saveException=null,arguments.length===1){var e=arguments[0];this._argGeom=e}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this._argGeom=t,this._bufParams=n}},Sa={CAP_ROUND:{configurable:!0},CAP_BUTT:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},MAX_PRECISION_DIGITS:{configurable:!0}};Ne.prototype.bufferFixedPrecision=function(e){var t=new Ki(new Yr(new Rt(1)),e.getScale()),n=new He(this._bufParams);n.setWorkingPrecisionModel(e),n.setNoder(t),this._resultGeometry=n.buffer(this._argGeom,this._distance)},Ne.prototype.bufferReducedPrecision=function(){var e=this;if(arguments.length===0){for(var t=Ne.MAX_PRECISION_DIGITS;t>=0;t--){try{e.bufferReducedPrecision(t)}catch(o){if(o instanceof wi)e._saveException=o;else throw o}finally{}if(e._resultGeometry!==null)return null}throw this._saveException}else if(arguments.length===1){var n=arguments[0],i=Ne.precisionScaleFactor(this._argGeom,this._distance,n),s=new Rt(i);this.bufferFixedPrecision(s)}},Ne.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),this._resultGeometry!==null)return null;var e=this._argGeom.getFactory().getPrecisionModel();e.getType()===Rt.FIXED?this.bufferFixedPrecision(e):this.bufferReducedPrecision()},Ne.prototype.setQuadrantSegments=function(e){this._bufParams.setQuadrantSegments(e)},Ne.prototype.bufferOriginalPrecision=function(){try{var e=new He(this._bufParams);this._resultGeometry=e.buffer(this._argGeom,this._distance)}catch(t){if(t instanceof pi)this._saveException=t;else throw t}finally{}},Ne.prototype.getResultGeometry=function(e){return this._distance=e,this.computeGeometry(),this._resultGeometry},Ne.prototype.setEndCapStyle=function(e){this._bufParams.setEndCapStyle(e)},Ne.prototype.interfaces_=function(){return[]},Ne.prototype.getClass=function(){return Ne},Ne.bufferOp=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],n=new Ne(e),i=n.getResultGeometry(t);return i}else if(arguments.length===3){if(Number.isInteger(arguments[2])&&arguments[0]instanceof ot&&typeof arguments[1]=="number"){var s=arguments[0],o=arguments[1],a=arguments[2],u=new Ne(s);u.setQuadrantSegments(a);var l=u.getResultGeometry(o);return l}else if(arguments[2]instanceof Lt&&arguments[0]instanceof ot&&typeof arguments[1]=="number"){var c=arguments[0],h=arguments[1],f=arguments[2],p=new Ne(c,f),v=p.getResultGeometry(h);return v}}else if(arguments.length===4){var C=arguments[0],S=arguments[1],P=arguments[2],y=arguments[3],_=new Ne(C);_.setQuadrantSegments(P),_.setEndCapStyle(y);var m=_.getResultGeometry(S);return m}},Ne.precisionScaleFactor=function(e,t,n){var i=e.getEnvelopeInternal(),s=Pn.max(Math.abs(i.getMaxX()),Math.abs(i.getMaxY()),Math.abs(i.getMinX()),Math.abs(i.getMinY())),o=t>0?t:0,a=s+2*o,u=Math.trunc(Math.log(a)/Math.log(10)+1),l=n-u,c=Math.pow(10,l);return c},Sa.CAP_ROUND.get=function(){return Lt.CAP_ROUND},Sa.CAP_BUTT.get=function(){return Lt.CAP_FLAT},Sa.CAP_FLAT.get=function(){return Lt.CAP_FLAT},Sa.CAP_SQUARE.get=function(){return Lt.CAP_SQUARE},Sa.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(Ne,Sa);var qe=function(){this._pt=[new R,new R],this._distance=ht.NaN,this._isNull=!0};qe.prototype.getCoordinates=function(){return this._pt},qe.prototype.getCoordinate=function(e){return this._pt[e]},qe.prototype.setMinimum=function(){if(arguments.length===1){var e=arguments[0];this.setMinimum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(t,n),null;var i=t.distance(n);i<this._distance&&this.initialize(t,n,i)}},qe.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var e=arguments[0],t=arguments[1];this._pt[0].setCoordinate(e),this._pt[1].setCoordinate(t),this._distance=e.distance(t),this._isNull=!1}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(n),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},qe.prototype.getDistance=function(){return this._distance},qe.prototype.setMaximum=function(){if(arguments.length===1){var e=arguments[0];this.setMaximum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(t,n),null;var i=t.distance(n);i>this._distance&&this.initialize(t,n,i)}},qe.prototype.interfaces_=function(){return[]},qe.prototype.getClass=function(){return qe};var Jr=function(){};Jr.prototype.interfaces_=function(){return[]},Jr.prototype.getClass=function(){return Jr},Jr.computeDistance=function(){if(arguments[2]instanceof qe&&arguments[0]instanceof Qt&&arguments[1]instanceof R)for(var e=arguments[0],t=arguments[1],n=arguments[2],i=e.getCoordinates(),s=new tt,o=0;o<i.length-1;o++){s.setCoordinates(i[o],i[o+1]);var a=s.closestPoint(t);n.setMinimum(a,t)}else if(arguments[2]instanceof qe&&arguments[0]instanceof fe&&arguments[1]instanceof R){var u=arguments[0],l=arguments[1],c=arguments[2];Jr.computeDistance(u.getExteriorRing(),l,c);for(var h=0;h<u.getNumInteriorRing();h++)Jr.computeDistance(u.getInteriorRingN(h),l,c)}else if(arguments[2]instanceof qe&&arguments[0]instanceof ot&&arguments[1]instanceof R){var f=arguments[0],p=arguments[1],v=arguments[2];if(f instanceof Qt)Jr.computeDistance(f,p,v);else if(f instanceof fe)Jr.computeDistance(f,p,v);else if(f instanceof Ue)for(var C=f,S=0;S<C.getNumGeometries();S++){var P=C.getGeometryN(S);Jr.computeDistance(P,p,v)}else v.setMinimum(f.getCoordinate(),p)}else if(arguments[2]instanceof qe&&arguments[0]instanceof tt&&arguments[1]instanceof R){var y=arguments[0],_=arguments[1],m=arguments[2],w=y.closestPoint(_);m.setMinimum(w,_)}};var xs=function(e){this._maxPtDist=new qe,this._inputGeom=e||null},pd={MaxPointDistanceFilter:{configurable:!0},MaxMidpointDistanceFilter:{configurable:!0}};xs.prototype.computeMaxMidpointDistance=function(e){var t=new Zi(this._inputGeom);e.apply(t),this._maxPtDist.setMaximum(t.getMaxPointDistance())},xs.prototype.computeMaxVertexDistance=function(e){var t=new go(this._inputGeom);e.apply(t),this._maxPtDist.setMaximum(t.getMaxPointDistance())},xs.prototype.findDistance=function(e){return this.computeMaxVertexDistance(e),this.computeMaxMidpointDistance(e),this._maxPtDist.getDistance()},xs.prototype.getDistancePoints=function(){return this._maxPtDist},xs.prototype.interfaces_=function(){return[]},xs.prototype.getClass=function(){return xs},pd.MaxPointDistanceFilter.get=function(){return go},pd.MaxMidpointDistanceFilter.get=function(){return Zi},Object.defineProperties(xs,pd);var go=function(e){this._maxPtDist=new qe,this._minPtDist=new qe,this._geom=e||null};go.prototype.filter=function(e){this._minPtDist.initialize(),Jr.computeDistance(this._geom,e,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},go.prototype.getMaxPointDistance=function(){return this._maxPtDist},go.prototype.interfaces_=function(){return[zr]},go.prototype.getClass=function(){return go};var Zi=function(e){this._maxPtDist=new qe,this._minPtDist=new qe,this._geom=e||null};Zi.prototype.filter=function(e,t){if(t===0)return null;var n=e.getCoordinate(t-1),i=e.getCoordinate(t),s=new R((n.x+i.x)/2,(n.y+i.y)/2);this._minPtDist.initialize(),Jr.computeDistance(this._geom,s,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Zi.prototype.isDone=function(){return!1},Zi.prototype.isGeometryChanged=function(){return!1},Zi.prototype.getMaxPointDistance=function(){return this._maxPtDist},Zi.prototype.interfaces_=function(){return[Zn]},Zi.prototype.getClass=function(){return Zi};var bi=function(e){this._comps=e||null};bi.prototype.filter=function(e){e instanceof fe&&this._comps.add(e)},bi.prototype.interfaces_=function(){return[hr]},bi.prototype.getClass=function(){return bi},bi.getPolygons=function(){if(arguments.length===1){var e=arguments[0];return bi.getPolygons(e,new W)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];return t instanceof fe?n.add(t):t instanceof Ue&&t.apply(new bi(n)),n}};var Oe=function(){if(this._lines=null,this._isForcedToLineString=!1,arguments.length===1){var e=arguments[0];this._lines=e}else if(arguments.length===2){var t=arguments[0],n=arguments[1];this._lines=t,this._isForcedToLineString=n}};Oe.prototype.filter=function(e){if(this._isForcedToLineString&&e instanceof Ur){var t=e.getFactory().createLineString(e.getCoordinateSequence());return this._lines.add(t),null}e instanceof Qt&&this._lines.add(e)},Oe.prototype.setForceToLineString=function(e){this._isForcedToLineString=e},Oe.prototype.interfaces_=function(){return[gi]},Oe.prototype.getClass=function(){return Oe},Oe.getGeometry=function(){if(arguments.length===1){var e=arguments[0];return e.getFactory().buildGeometry(Oe.getLines(e))}else if(arguments.length===2){var t=arguments[0],n=arguments[1];return t.getFactory().buildGeometry(Oe.getLines(t,n))}},Oe.getLines=function(){if(arguments.length===1){var e=arguments[0];return Oe.getLines(e,!1)}else if(arguments.length===2){if(at(arguments[0],de)&&at(arguments[1],de)){for(var t=arguments[0],n=arguments[1],i=t.iterator();i.hasNext();){var s=i.next();Oe.getLines(s,n)}return n}else if(arguments[0]instanceof ot&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1],u=new W;return o.apply(new Oe(u,a)),u}else if(arguments[0]instanceof ot&&at(arguments[1],de)){var l=arguments[0],c=arguments[1];return l instanceof Qt?c.add(l):l.apply(new Oe(c)),c}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&at(arguments[0],de)&&at(arguments[1],de)){for(var h=arguments[0],f=arguments[1],p=arguments[2],v=h.iterator();v.hasNext();){var C=v.next();Oe.getLines(C,f,p)}return f}else if(typeof arguments[2]=="boolean"&&arguments[0]instanceof ot&&at(arguments[1],de)){var S=arguments[0],P=arguments[1],y=arguments[2];return S.apply(new Oe(P,y)),P}}};var nr=function(){if(this._boundaryRule=An.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];if(e===null)throw new Xt("Rule must be non-null");this._boundaryRule=e}}};nr.prototype.locateInternal=function(){var e=this;if(arguments[0]instanceof R&&arguments[1]instanceof fe){var t=arguments[0],n=arguments[1];if(n.isEmpty())return F.EXTERIOR;var i=n.getExteriorRing(),s=this.locateInPolygonRing(t,i);if(s===F.EXTERIOR)return F.EXTERIOR;if(s===F.BOUNDARY)return F.BOUNDARY;for(var o=0;o<n.getNumInteriorRing();o++){var a=n.getInteriorRingN(o),u=e.locateInPolygonRing(t,a);if(u===F.INTERIOR)return F.EXTERIOR;if(u===F.BOUNDARY)return F.BOUNDARY}return F.INTERIOR}else if(arguments[0]instanceof R&&arguments[1]instanceof Qt){var l=arguments[0],c=arguments[1];if(!c.getEnvelopeInternal().intersects(l))return F.EXTERIOR;var h=c.getCoordinates();return!c.isClosed()&&(l.equals(h[0])||l.equals(h[h.length-1]))?F.BOUNDARY:q.isOnLine(l,h)?F.INTERIOR:F.EXTERIOR}else if(arguments[0]instanceof R&&arguments[1]instanceof cn){var f=arguments[0],p=arguments[1],v=p.getCoordinate();return v.equals2D(f)?F.INTERIOR:F.EXTERIOR}},nr.prototype.locateInPolygonRing=function(e,t){return t.getEnvelopeInternal().intersects(e)?q.locatePointInRing(e,t.getCoordinates()):F.EXTERIOR},nr.prototype.intersects=function(e,t){return this.locate(e,t)!==F.EXTERIOR},nr.prototype.updateLocationInfo=function(e){e===F.INTERIOR&&(this._isIn=!0),e===F.BOUNDARY&&this._numBoundaries++},nr.prototype.computeLocation=function(e,t){var n=this;if(t instanceof cn&&this.updateLocationInfo(this.locateInternal(e,t)),t instanceof Qt)this.updateLocationInfo(this.locateInternal(e,t));else if(t instanceof fe)this.updateLocationInfo(this.locateInternal(e,t));else if(t instanceof Cs)for(var i=t,s=0;s<i.getNumGeometries();s++){var o=i.getGeometryN(s);n.updateLocationInfo(n.locateInternal(e,o))}else if(t instanceof Gr)for(var a=t,u=0;u<a.getNumGeometries();u++){var l=a.getGeometryN(u);n.updateLocationInfo(n.locateInternal(e,l))}else if(t instanceof Ue)for(var c=new qr(t);c.hasNext();){var h=c.next();h!==t&&n.computeLocation(e,h)}},nr.prototype.locate=function(e,t){return t.isEmpty()?F.EXTERIOR:t instanceof Qt?this.locateInternal(e,t):t instanceof fe?this.locateInternal(e,t):(this._isIn=!1,this._numBoundaries=0,this.computeLocation(e,t),this._boundaryRule.isInBoundary(this._numBoundaries)?F.BOUNDARY:this._numBoundaries>0||this._isIn?F.INTERIOR:F.EXTERIOR)},nr.prototype.interfaces_=function(){return[]},nr.prototype.getClass=function(){return nr};var Xe=function r(){if(this._component=null,this._segIndex=null,this._pt=null,arguments.length===2){var e=arguments[0],t=arguments[1];r.call(this,e,r.INSIDE_AREA,t)}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this._component=n,this._segIndex=i,this._pt=s}},qm={INSIDE_AREA:{configurable:!0}};Xe.prototype.isInsideArea=function(){return this._segIndex===Xe.INSIDE_AREA},Xe.prototype.getCoordinate=function(){return this._pt},Xe.prototype.getGeometryComponent=function(){return this._component},Xe.prototype.getSegmentIndex=function(){return this._segIndex},Xe.prototype.interfaces_=function(){return[]},Xe.prototype.getClass=function(){return Xe},qm.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Xe,qm);var Qi=function(e){this._pts=e||null};Qi.prototype.filter=function(e){e instanceof cn&&this._pts.add(e)},Qi.prototype.interfaces_=function(){return[hr]},Qi.prototype.getClass=function(){return Qi},Qi.getPoints=function(){if(arguments.length===1){var e=arguments[0];return e instanceof cn?tr.singletonList(e):Qi.getPoints(e,new W)}else if(arguments.length===2){var t=arguments[0],n=arguments[1];return t instanceof cn?n.add(t):t instanceof Ue&&t.apply(new Qi(n)),n}};var mo=function(){this._locations=null;var e=arguments[0];this._locations=e};mo.prototype.filter=function(e){(e instanceof cn||e instanceof Qt||e instanceof fe)&&this._locations.add(new Xe(e,0,e.getCoordinate()))},mo.prototype.interfaces_=function(){return[hr]},mo.prototype.getClass=function(){return mo},mo.getLocations=function(e){var t=new W;return e.apply(new mo(t)),t};var De=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new nr,this._minDistanceLocation=null,this._minDistance=ht.MAX_VALUE,arguments.length===2){var e=arguments[0],t=arguments[1];this._geom=[e,t],this._terminateDistance=0}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=n,this._geom[1]=i,this._terminateDistance=s}};De.prototype.computeContainmentDistance=function(){var e=this;if(arguments.length===0){var t=new Array(2).fill(null);if(this.computeContainmentDistance(0,t),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(arguments.length===2){var n=arguments[0],i=arguments[1],s=1-n,o=bi.getPolygons(this._geom[n]);if(o.size()>0){var a=mo.getLocations(this._geom[s]);if(this.computeContainmentDistance(a,o,i),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[s]=i[0],this._minDistanceLocation[n]=i[1],null}}else if(arguments.length===3){if(arguments[2]instanceof Array&&at(arguments[0],$n)&&at(arguments[1],$n)){for(var u=arguments[0],l=arguments[1],c=arguments[2],h=0;h<u.size();h++)for(var f=u.get(h),p=0;p<l.size();p++)if(e.computeContainmentDistance(f,l.get(p),c),e._minDistance<=e._terminateDistance)return null}else if(arguments[2]instanceof Array&&arguments[0]instanceof Xe&&arguments[1]instanceof fe){var v=arguments[0],C=arguments[1],S=arguments[2],P=v.getCoordinate();if(F.EXTERIOR!==this._ptLocator.locate(P,C))return this._minDistance=0,S[0]=v,S[1]=new Xe(C,P),null}}},De.prototype.computeMinDistanceLinesPoints=function(e,t,n){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var u=t.get(a);if(i.computeMinDistance(o,u,n),i._minDistance<=i._terminateDistance)return null}},De.prototype.computeFacetDistance=function(){var e=new Array(2).fill(null),t=Oe.getLines(this._geom[0]),n=Oe.getLines(this._geom[1]),i=Qi.getPoints(this._geom[0]),s=Qi.getPoints(this._geom[1]);if(this.computeMinDistanceLines(t,n,e),this.updateMinDistance(e,!1),this._minDistance<=this._terminateDistance||(e[0]=null,e[1]=null,this.computeMinDistanceLinesPoints(t,s,e),this.updateMinDistance(e,!1),this._minDistance<=this._terminateDistance)||(e[0]=null,e[1]=null,this.computeMinDistanceLinesPoints(n,i,e),this.updateMinDistance(e,!0),this._minDistance<=this._terminateDistance))return null;e[0]=null,e[1]=null,this.computeMinDistancePoints(i,s,e),this.updateMinDistance(e,!1)},De.prototype.nearestLocations=function(){return this.computeMinDistance(),this._minDistanceLocation},De.prototype.updateMinDistance=function(e,t){if(e[0]===null)return null;t?(this._minDistanceLocation[0]=e[1],this._minDistanceLocation[1]=e[0]):(this._minDistanceLocation[0]=e[0],this._minDistanceLocation[1]=e[1])},De.prototype.nearestPoints=function(){this.computeMinDistance();var e=[this._minDistanceLocation[0].getCoordinate(),this._minDistanceLocation[1].getCoordinate()];return e},De.prototype.computeMinDistance=function(){var e=this;if(arguments.length===0){if(this._minDistanceLocation!==null||(this._minDistanceLocation=new Array(2).fill(null),this.computeContainmentDistance(),this._minDistance<=this._terminateDistance))return null;this.computeFacetDistance()}else if(arguments.length===3){if(arguments[2]instanceof Array&&arguments[0]instanceof Qt&&arguments[1]instanceof cn){var t=arguments[0],n=arguments[1],i=arguments[2];if(t.getEnvelopeInternal().distance(n.getEnvelopeInternal())>this._minDistance)return null;for(var s=t.getCoordinates(),o=n.getCoordinate(),a=0;a<s.length-1;a++){var u=q.distancePointLine(o,s[a],s[a+1]);if(u<e._minDistance){e._minDistance=u;var l=new tt(s[a],s[a+1]),c=l.closestPoint(o);i[0]=new Xe(t,a,c),i[1]=new Xe(n,0,o)}if(e._minDistance<=e._terminateDistance)return null}}else if(arguments[2]instanceof Array&&arguments[0]instanceof Qt&&arguments[1]instanceof Qt){var h=arguments[0],f=arguments[1],p=arguments[2];if(h.getEnvelopeInternal().distance(f.getEnvelopeInternal())>this._minDistance)return null;for(var v=h.getCoordinates(),C=f.getCoordinates(),S=0;S<v.length-1;S++)for(var P=0;P<C.length-1;P++){var y=q.distanceLineLine(v[S],v[S+1],C[P],C[P+1]);if(y<e._minDistance){e._minDistance=y;var _=new tt(v[S],v[S+1]),m=new tt(C[P],C[P+1]),w=_.closestPoints(m);p[0]=new Xe(h,S,w[0]),p[1]=new Xe(f,P,w[1])}if(e._minDistance<=e._terminateDistance)return null}}}},De.prototype.computeMinDistancePoints=function(e,t,n){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var u=t.get(a),l=o.getCoordinate().distance(u.getCoordinate());if(l<i._minDistance&&(i._minDistance=l,n[0]=new Xe(o,0,o.getCoordinate()),n[1]=new Xe(u,0,u.getCoordinate())),i._minDistance<=i._terminateDistance)return null}},De.prototype.distance=function(){if(this._geom[0]===null||this._geom[1]===null)throw new Xt("null geometries are not supported");return this._geom[0].isEmpty()||this._geom[1].isEmpty()?0:(this.computeMinDistance(),this._minDistance)},De.prototype.computeMinDistanceLines=function(e,t,n){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var u=t.get(a);if(i.computeMinDistance(o,u,n),i._minDistance<=i._terminateDistance)return null}},De.prototype.interfaces_=function(){return[]},De.prototype.getClass=function(){return De},De.distance=function(e,t){var n=new De(e,t);return n.distance()},De.isWithinDistance=function(e,t,n){var i=new De(e,t,n);return i.distance()<=n},De.nearestPoints=function(e,t){var n=new De(e,t);return n.nearestPoints()};var Be=function(){this._pt=[new R,new R],this._distance=ht.NaN,this._isNull=!0};Be.prototype.getCoordinates=function(){return this._pt},Be.prototype.getCoordinate=function(e){return this._pt[e]},Be.prototype.setMinimum=function(){if(arguments.length===1){var e=arguments[0];this.setMinimum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(t,n),null;var i=t.distance(n);i<this._distance&&this.initialize(t,n,i)}},Be.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var e=arguments[0],t=arguments[1];this._pt[0].setCoordinate(e),this._pt[1].setCoordinate(t),this._distance=e.distance(t),this._isNull=!1}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(n),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},Be.prototype.toString=function(){return Jn.toLineString(this._pt[0],this._pt[1])},Be.prototype.getDistance=function(){return this._distance},Be.prototype.setMaximum=function(){if(arguments.length===1){var e=arguments[0];this.setMaximum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(t,n),null;var i=t.distance(n);i>this._distance&&this.initialize(t,n,i)}},Be.prototype.interfaces_=function(){return[]},Be.prototype.getClass=function(){return Be};var wr=function(){};wr.prototype.interfaces_=function(){return[]},wr.prototype.getClass=function(){return wr},wr.computeDistance=function(){if(arguments[2]instanceof Be&&arguments[0]instanceof Qt&&arguments[1]instanceof R)for(var e=arguments[0],t=arguments[1],n=arguments[2],i=new tt,s=e.getCoordinates(),o=0;o<s.length-1;o++){i.setCoordinates(s[o],s[o+1]);var a=i.closestPoint(t);n.setMinimum(a,t)}else if(arguments[2]instanceof Be&&arguments[0]instanceof fe&&arguments[1]instanceof R){var u=arguments[0],l=arguments[1],c=arguments[2];wr.computeDistance(u.getExteriorRing(),l,c);for(var h=0;h<u.getNumInteriorRing();h++)wr.computeDistance(u.getInteriorRingN(h),l,c)}else if(arguments[2]instanceof Be&&arguments[0]instanceof ot&&arguments[1]instanceof R){var f=arguments[0],p=arguments[1],v=arguments[2];if(f instanceof Qt)wr.computeDistance(f,p,v);else if(f instanceof fe)wr.computeDistance(f,p,v);else if(f instanceof Ue)for(var C=f,S=0;S<C.getNumGeometries();S++){var P=C.getGeometryN(S);wr.computeDistance(P,p,v)}else v.setMinimum(f.getCoordinate(),p)}else if(arguments[2]instanceof Be&&arguments[0]instanceof tt&&arguments[1]instanceof R){var y=arguments[0],_=arguments[1],m=arguments[2],w=y.closestPoint(_);m.setMinimum(w,_)}};var zn=function(){this._g0=null,this._g1=null,this._ptDist=new Be,this._densifyFrac=0;var e=arguments[0],t=arguments[1];this._g0=e,this._g1=t},gd={MaxPointDistanceFilter:{configurable:!0},MaxDensifiedByFractionDistanceFilter:{configurable:!0}};zn.prototype.getCoordinates=function(){return this._ptDist.getCoordinates()},zn.prototype.setDensifyFraction=function(e){if(e>1||e<=0)throw new Xt("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=e},zn.prototype.compute=function(e,t){this.computeOrientedDistance(e,t,this._ptDist),this.computeOrientedDistance(t,e,this._ptDist)},zn.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},zn.prototype.computeOrientedDistance=function(e,t,n){var i=new vo(t);if(e.apply(i),n.setMaximum(i.getMaxPointDistance()),this._densifyFrac>0){var s=new ts(t,this._densifyFrac);e.apply(s),n.setMaximum(s.getMaxPointDistance())}},zn.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},zn.prototype.interfaces_=function(){return[]},zn.prototype.getClass=function(){return zn},zn.distance=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],n=new zn(e,t);return n.distance()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new zn(i,s);return a.setDensifyFraction(o),a.distance()}},gd.MaxPointDistanceFilter.get=function(){return vo},gd.MaxDensifiedByFractionDistanceFilter.get=function(){return ts},Object.defineProperties(zn,gd);var vo=function(){this._maxPtDist=new Be,this._minPtDist=new Be,this._euclideanDist=new wr,this._geom=null;var e=arguments[0];this._geom=e};vo.prototype.filter=function(e){this._minPtDist.initialize(),wr.computeDistance(this._geom,e,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},vo.prototype.getMaxPointDistance=function(){return this._maxPtDist},vo.prototype.interfaces_=function(){return[zr]},vo.prototype.getClass=function(){return vo};var ts=function(){this._maxPtDist=new Be,this._minPtDist=new Be,this._geom=null,this._numSubSegs=0;var e=arguments[0],t=arguments[1];this._geom=e,this._numSubSegs=Math.trunc(Math.round(1/t))};ts.prototype.filter=function(e,t){var n=this;if(t===0)return null;for(var i=e.getCoordinate(t-1),s=e.getCoordinate(t),o=(s.x-i.x)/this._numSubSegs,a=(s.y-i.y)/this._numSubSegs,u=0;u<this._numSubSegs;u++){var l=i.x+u*o,c=i.y+u*a,h=new R(l,c);n._minPtDist.initialize(),wr.computeDistance(n._geom,h,n._minPtDist),n._maxPtDist.setMaximum(n._minPtDist)}},ts.prototype.isDone=function(){return!1},ts.prototype.isGeometryChanged=function(){return!1},ts.prototype.getMaxPointDistance=function(){return this._maxPtDist},ts.prototype.interfaces_=function(){return[Zn]},ts.prototype.getClass=function(){return ts};var fn=function(e,t,n){this._minValidDistance=null,this._maxValidDistance=null,this._minDistanceFound=null,this._maxDistanceFound=null,this._isValid=!0,this._errMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=e||null,this._bufDistance=t||null,this._result=n||null},md={VERBOSE:{configurable:!0},MAX_DISTANCE_DIFF_FRAC:{configurable:!0}};fn.prototype.checkMaximumDistance=function(e,t,n){var i=new zn(t,e);if(i.setDensifyFraction(.25),this._maxDistanceFound=i.orientedDistance(),this._maxDistanceFound>n){this._isValid=!1;var s=i.getCoordinates();this._errorLocation=s[1],this._errorIndicator=e.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too large ("+this._maxDistanceFound+" at "+Jn.toLineString(s[0],s[1])+")"}},fn.prototype.isValid=function(){var e=Math.abs(this._bufDistance),t=fn.MAX_DISTANCE_DIFF_FRAC*e;return this._minValidDistance=e-t,this._maxValidDistance=e+t,this._input.isEmpty()||this._result.isEmpty()?!0:(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),fn.VERBOSE&&xe.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},fn.prototype.checkNegativeValid=function(){if(!(this._input instanceof fe||this._input instanceof Gr||this._input instanceof Ue))return null;var e=this.getPolygonLines(this._input);if(this.checkMinimumDistance(e,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(e,this._result,this._maxValidDistance)},fn.prototype.getErrorIndicator=function(){return this._errorIndicator},fn.prototype.checkMinimumDistance=function(e,t,n){var i=new De(e,t,n);if(this._minDistanceFound=i.distance(),this._minDistanceFound<n){this._isValid=!1;var s=i.nearestPoints();this._errorLocation=i.nearestPoints()[1],this._errorIndicator=e.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too small ("+this._minDistanceFound+" at "+Jn.toLineString(s[0],s[1])+" )"}},fn.prototype.checkPositiveValid=function(){var e=this._result.getBoundary();if(this.checkMinimumDistance(this._input,e,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(this._input,e,this._maxValidDistance)},fn.prototype.getErrorLocation=function(){return this._errorLocation},fn.prototype.getPolygonLines=function(e){for(var t=new W,n=new Oe(t),i=bi.getPolygons(e),s=i.iterator();s.hasNext();){var o=s.next();o.apply(n)}return e.getFactory().buildGeometry(t)},fn.prototype.getErrorMessage=function(){return this._errMsg},fn.prototype.interfaces_=function(){return[]},fn.prototype.getClass=function(){return fn},md.VERBOSE.get=function(){return!1},md.MAX_DISTANCE_DIFF_FRAC.get=function(){return .012},Object.defineProperties(fn,md);var Me=function(e,t,n){this._isValid=!0,this._errorMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=e||null,this._distance=t||null,this._result=n||null},vd={VERBOSE:{configurable:!0},MAX_ENV_DIFF_FRAC:{configurable:!0}};Me.prototype.isValid=function(){return this.checkPolygonal(),this._isValid?(this.checkExpectedEmpty(),this._isValid?(this.checkEnvelope(),this._isValid?(this.checkArea(),this._isValid?(this.checkDistance(),this._isValid):this._isValid):this._isValid):this._isValid):this._isValid},Me.prototype.checkEnvelope=function(){if(this._distance<0)return null;var e=this._distance*Me.MAX_ENV_DIFF_FRAC;e===0&&(e=.001);var t=new Q(this._input.getEnvelopeInternal());t.expandBy(this._distance);var n=new Q(this._result.getEnvelopeInternal());n.expandBy(e),n.contains(t)||(this._isValid=!1,this._errorMsg="Buffer envelope is incorrect",this._errorIndicator=this._input.getFactory().toGeometry(n)),this.report("Envelope")},Me.prototype.checkDistance=function(){var e=new fn(this._input,this._distance,this._result);e.isValid()||(this._isValid=!1,this._errorMsg=e.getErrorMessage(),this._errorLocation=e.getErrorLocation(),this._errorIndicator=e.getErrorIndicator()),this.report("Distance")},Me.prototype.checkArea=function(){var e=this._input.getArea(),t=this._result.getArea();this._distance>0&&e>t&&(this._isValid=!1,this._errorMsg="Area of positive buffer is smaller than input",this._errorIndicator=this._result),this._distance<0&&e<t&&(this._isValid=!1,this._errorMsg="Area of negative buffer is larger than input",this._errorIndicator=this._result),this.report("Area")},Me.prototype.checkPolygonal=function(){this._result instanceof fe||this._result instanceof Gr||(this._isValid=!1),this._errorMsg="Result is not polygonal",this._errorIndicator=this._result,this.report("Polygonal")},Me.prototype.getErrorIndicator=function(){return this._errorIndicator},Me.prototype.getErrorLocation=function(){return this._errorLocation},Me.prototype.checkExpectedEmpty=function(){if(this._input.getDimension()>=2||this._distance>0)return null;this._result.isEmpty()||(this._isValid=!1,this._errorMsg="Result is non-empty",this._errorIndicator=this._result),this.report("ExpectedEmpty")},Me.prototype.report=function(e){if(!Me.VERBOSE)return null;xe.out.println("Check "+e+": "+(this._isValid?"passed":"FAILED"))},Me.prototype.getErrorMessage=function(){return this._errorMsg},Me.prototype.interfaces_=function(){return[]},Me.prototype.getClass=function(){return Me},Me.isValidMsg=function(e,t,n){var i=new Me(e,t,n);return i.isValid()?null:i.getErrorMessage()},Me.isValid=function(e,t,n){var i=new Me(e,t,n);return!!i.isValid()},vd.VERBOSE.get=function(){return!1},vd.MAX_ENV_DIFF_FRAC.get=function(){return .012},Object.defineProperties(Me,vd);var Er=function(){this._pts=null,this._data=null;var e=arguments[0],t=arguments[1];this._pts=e,this._data=t};Er.prototype.getCoordinates=function(){return this._pts},Er.prototype.size=function(){return this._pts.length},Er.prototype.getCoordinate=function(e){return this._pts[e]},Er.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Er.prototype.getSegmentOctant=function(e){return e===this._pts.length-1?-1:co.octant(this.getCoordinate(e),this.getCoordinate(e+1))},Er.prototype.setData=function(e){this._data=e},Er.prototype.getData=function(){return this._data},Er.prototype.toString=function(){return Jn.toLineString(new ie(this._pts))},Er.prototype.interfaces_=function(){return[Hr]},Er.prototype.getClass=function(){return Er};var Se=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new W,this._intersectionCount=0,this._keepIntersections=!0;var e=arguments[0];this._li=e,this._interiorIntersection=null};Se.prototype.getInteriorIntersection=function(){return this._interiorIntersection},Se.prototype.setCheckEndSegmentsOnly=function(e){this._isCheckEndSegmentsOnly=e},Se.prototype.getIntersectionSegments=function(){return this._intSegments},Se.prototype.count=function(){return this._intersectionCount},Se.prototype.getIntersections=function(){return this._intersections},Se.prototype.setFindAllIntersections=function(e){this._findAllIntersections=e},Se.prototype.setKeepIntersections=function(e){this._keepIntersections=e},Se.prototype.processIntersections=function(e,t,n,i){if(!this._findAllIntersections&&this.hasIntersection()||e===n&&t===i)return null;if(this._isCheckEndSegmentsOnly){var s=this.isEndSegment(e,t)||this.isEndSegment(n,i);if(!s)return null}var o=e.getCoordinates()[t],a=e.getCoordinates()[t+1],u=n.getCoordinates()[i],l=n.getCoordinates()[i+1];this._li.computeIntersection(o,a,u,l),this._li.hasIntersection()&&this._li.isInteriorIntersection()&&(this._intSegments=new Array(4).fill(null),this._intSegments[0]=o,this._intSegments[1]=a,this._intSegments[2]=u,this._intSegments[3]=l,this._interiorIntersection=this._li.getIntersection(0),this._keepIntersections&&this._intersections.add(this._interiorIntersection),this._intersectionCount++)},Se.prototype.isEndSegment=function(e,t){return t===0||t>=e.size()-2},Se.prototype.hasIntersection=function(){return this._interiorIntersection!==null},Se.prototype.isDone=function(){return this._findAllIntersections?!1:this._interiorIntersection!==null},Se.prototype.interfaces_=function(){return[Ps]},Se.prototype.getClass=function(){return Se},Se.createAllIntersectionsFinder=function(e){var t=new Se(e);return t.setFindAllIntersections(!0),t},Se.createAnyIntersectionFinder=function(e){return new Se(e)},Se.createIntersectionCounter=function(e){var t=new Se(e);return t.setFindAllIntersections(!0),t.setKeepIntersections(!1),t};var rr=function(){this._li=new _s,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var e=arguments[0];this._segStrings=e};rr.prototype.execute=function(){if(this._segInt!==null)return null;this.checkInteriorIntersections()},rr.prototype.getIntersections=function(){return this._segInt.getIntersections()},rr.prototype.isValid=function(){return this.execute(),this._isValid},rr.prototype.setFindAllIntersections=function(e){this._findAllIntersections=e},rr.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new Se(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var e=new fd;if(e.setSegmentIntersector(this._segInt),e.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},rr.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new wi(this.getErrorMessage(),this._segInt.getInteriorIntersection())},rr.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var e=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+Jn.toLineString(e[0],e[1])+" and "+Jn.toLineString(e[2],e[3])},rr.prototype.interfaces_=function(){return[]},rr.prototype.getClass=function(){return rr},rr.computeIntersections=function(e){var t=new rr(e);return t.setFindAllIntersections(!0),t.isValid(),t.getIntersections()};var Ts=function r(){this._nv=null;var e=arguments[0];this._nv=new rr(r.toSegmentStrings(e))};Ts.prototype.checkValid=function(){this._nv.checkValid()},Ts.prototype.interfaces_=function(){return[]},Ts.prototype.getClass=function(){return Ts},Ts.toSegmentStrings=function(e){for(var t=new W,n=e.iterator();n.hasNext();){var i=n.next();t.add(new Er(i.getCoordinates(),i))}return t},Ts.checkValid=function(e){var t=new Ts(e);t.checkValid()};var yo=function(e){this._mapOp=e};yo.prototype.map=function(e){for(var t=this,n=new W,i=0;i<e.getNumGeometries();i++){var s=t._mapOp.map(e.getGeometryN(i));s.isEmpty()||n.add(s)}return e.getFactory().createGeometryCollection(Ct.toGeometryArray(n))},yo.prototype.interfaces_=function(){return[]},yo.prototype.getClass=function(){return yo},yo.map=function(e,t){var n=new yo(t);return n.map(e)};var Cr=function(){this._op=null,this._geometryFactory=null,this._ptLocator=null,this._lineEdgesList=new W,this._resultLineList=new W;var e=arguments[0],t=arguments[1],n=arguments[2];this._op=e,this._geometryFactory=t,this._ptLocator=n};Cr.prototype.collectLines=function(e){for(var t=this,n=this._op.getGraph().getEdgeEnds().iterator();n.hasNext();){var i=n.next();t.collectLineEdge(i,e,t._lineEdgesList),t.collectBoundaryTouchEdge(i,e,t._lineEdgesList)}},Cr.prototype.labelIsolatedLine=function(e,t){var n=this._ptLocator.locate(e.getCoordinate(),this._op.getArgGeometry(t));e.getLabel().setLocation(t,n)},Cr.prototype.build=function(e){return this.findCoveredLineEdges(),this.collectLines(e),this.buildLines(e),this._resultLineList},Cr.prototype.collectLineEdge=function(e,t,n){var i=e.getLabel(),s=e.getEdge();e.isLineEdge()&&!e.isVisited()&&gt.isResultOfOp(i,t)&&!s.isCovered()&&(n.add(s),e.setVisitedEdge(!0))},Cr.prototype.findCoveredLineEdges=function(){for(var e=this,t=this._op.getGraph().getNodes().iterator();t.hasNext();){var n=t.next();n.getEdges().findCoveredLineEdges()}for(var i=this._op.getGraph().getEdgeEnds().iterator();i.hasNext();){var s=i.next(),o=s.getEdge();if(s.isLineEdge()&&!o.isCoveredSet()){var a=e._op.isCoveredByA(s.getCoordinate());o.setCovered(a)}}},Cr.prototype.labelIsolatedLines=function(e){for(var t=this,n=e.iterator();n.hasNext();){var i=n.next(),s=i.getLabel();i.isIsolated()&&(s.isNull(0)?t.labelIsolatedLine(i,0):t.labelIsolatedLine(i,1))}},Cr.prototype.buildLines=function(e){for(var t=this,n=this._lineEdgesList.iterator();n.hasNext();){var i=n.next(),s=t._geometryFactory.createLineString(i.getCoordinates());t._resultLineList.add(s),i.setInResult(!0)}},Cr.prototype.collectBoundaryTouchEdge=function(e,t,n){var i=e.getLabel();if(e.isLineEdge()||e.isVisited()||e.isInteriorAreaEdge()||e.getEdge().isInResult())return null;vt.isTrue(!(e.isInResult()||e.getSym().isInResult())||!e.getEdge().isInResult()),gt.isResultOfOp(i,t)&&t===gt.INTERSECTION&&(n.add(e.getEdge()),e.setVisitedEdge(!0))},Cr.prototype.interfaces_=function(){return[]},Cr.prototype.getClass=function(){return Cr};var _o=function(){this._op=null,this._geometryFactory=null,this._resultPointList=new W;var e=arguments[0],t=arguments[1];this._op=e,this._geometryFactory=t};_o.prototype.filterCoveredNodeToPoint=function(e){var t=e.getCoordinate();if(!this._op.isCoveredByLA(t)){var n=this._geometryFactory.createPoint(t);this._resultPointList.add(n)}},_o.prototype.extractNonCoveredResultNodes=function(e){for(var t=this,n=this._op.getGraph().getNodes().iterator();n.hasNext();){var i=n.next();if(!i.isInResult()&&!i.isIncidentEdgeInResult()&&(i.getEdges().getDegree()===0||e===gt.INTERSECTION)){var s=i.getLabel();gt.isResultOfOp(s,e)&&t.filterCoveredNodeToPoint(i)}}},_o.prototype.build=function(e){return this.extractNonCoveredResultNodes(e),this._resultPointList},_o.prototype.interfaces_=function(){return[]},_o.prototype.getClass=function(){return _o};var rn=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};rn.prototype.transformPoint=function(e,t){return this._factory.createPoint(this.transformCoordinates(e.getCoordinateSequence(),e))},rn.prototype.transformPolygon=function(e,t){var n=this,i=!0,s=this.transformLinearRing(e.getExteriorRing(),e);(s===null||!(s instanceof Ur)||s.isEmpty())&&(i=!1);for(var o=new W,a=0;a<e.getNumInteriorRing();a++){var u=n.transformLinearRing(e.getInteriorRingN(a),e);u===null||u.isEmpty()||(u instanceof Ur||(i=!1),o.add(u))}if(i)return this._factory.createPolygon(s,o.toArray([]));var l=new W;return s!==null&&l.add(s),l.addAll(o),this._factory.buildGeometry(l)},rn.prototype.createCoordinateSequence=function(e){return this._factory.getCoordinateSequenceFactory().create(e)},rn.prototype.getInputGeometry=function(){return this._inputGeom},rn.prototype.transformMultiLineString=function(e,t){for(var n=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=n.transformLineString(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},rn.prototype.transformCoordinates=function(e,t){return this.copy(e)},rn.prototype.transformLineString=function(e,t){return this._factory.createLineString(this.transformCoordinates(e.getCoordinateSequence(),e))},rn.prototype.transformMultiPoint=function(e,t){for(var n=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=n.transformPoint(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},rn.prototype.transformMultiPolygon=function(e,t){for(var n=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=n.transformPolygon(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},rn.prototype.copy=function(e){return e.copy()},rn.prototype.transformGeometryCollection=function(e,t){for(var n=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=n.transform(e.getGeometryN(s));o!==null&&(n._pruneEmptyGeometry&&o.isEmpty()||i.add(o))}return this._preserveGeometryCollectionType?this._factory.createGeometryCollection(Ct.toGeometryArray(i)):this._factory.buildGeometry(i)},rn.prototype.transform=function(e){if(this._inputGeom=e,this._factory=e.getFactory(),e instanceof cn)return this.transformPoint(e,null);if(e instanceof va)return this.transformMultiPoint(e,null);if(e instanceof Ur)return this.transformLinearRing(e,null);if(e instanceof Qt)return this.transformLineString(e,null);if(e instanceof Cs)return this.transformMultiLineString(e,null);if(e instanceof fe)return this.transformPolygon(e,null);if(e instanceof Gr)return this.transformMultiPolygon(e,null);if(e instanceof Ue)return this.transformGeometryCollection(e,null);throw new Xt("Unknown Geometry subtype: "+e.getClass().getName())},rn.prototype.transformLinearRing=function(e,t){var n=this.transformCoordinates(e.getCoordinateSequence(),e);if(n===null)return this._factory.createLinearRing(null);var i=n.size();return i>0&&i<4&&!this._preserveType?this._factory.createLineString(n):this._factory.createLinearRing(n)},rn.prototype.interfaces_=function(){return[]},rn.prototype.getClass=function(){return rn};var $r=function r(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new tt,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof Qt&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];r.call(this,e.getCoordinates(),t)}else if(arguments[0]instanceof Array&&typeof arguments[1]=="number"){var n=arguments[0],i=arguments[1];this._srcPts=n,this._isClosed=r.isClosed(n),this._snapTolerance=i}};$r.prototype.snapVertices=function(e,t){for(var n=this,i=this._isClosed?e.size()-1:e.size(),s=0;s<i;s++){var o=e.get(s),a=n.findSnapForVertex(o,t);a!==null&&(e.set(s,new R(a)),s===0&&n._isClosed&&e.set(e.size()-1,new R(a)))}},$r.prototype.findSnapForVertex=function(e,t){for(var n=this,i=0;i<t.length;i++){if(e.equals2D(t[i]))return null;if(e.distance(t[i])<n._snapTolerance)return t[i]}return null},$r.prototype.snapTo=function(e){var t=new zu(this._srcPts);this.snapVertices(t,e),this.snapSegments(t,e);var n=t.toCoordinateArray();return n},$r.prototype.snapSegments=function(e,t){var n=this;if(t.length===0)return null;var i=t.length;t[0].equals2D(t[t.length-1])&&(i=t.length-1);for(var s=0;s<i;s++){var o=t[s],a=n.findSegmentIndexToSnap(o,e);a>=0&&e.add(a+1,new R(o),!1)}},$r.prototype.findSegmentIndexToSnap=function(e,t){for(var n=this,i=ht.MAX_VALUE,s=-1,o=0;o<t.size()-1;o++){if(n._seg.p0=t.get(o),n._seg.p1=t.get(o+1),n._seg.p0.equals2D(e)||n._seg.p1.equals2D(e)){if(n._allowSnappingToSourceVertices)continue;return-1}var a=n._seg.distance(e);a<n._snapTolerance&&a<i&&(i=a,s=o)}return s},$r.prototype.setAllowSnappingToSourceVertices=function(e){this._allowSnappingToSourceVertices=e},$r.prototype.interfaces_=function(){return[]},$r.prototype.getClass=function(){return $r},$r.isClosed=function(e){return e.length<=1?!1:e[0].equals2D(e[e.length-1])};var oe=function(e){this._srcGeom=e||null},Xm={SNAP_PRECISION_FACTOR:{configurable:!0}};oe.prototype.snapTo=function(e,t){var n=this.extractTargetCoordinates(e),i=new Ym(t,n);return i.transform(this._srcGeom)},oe.prototype.snapToSelf=function(e,t){var n=this.extractTargetCoordinates(this._srcGeom),i=new Ym(e,n,!0),s=i.transform(this._srcGeom),o=s;return t&&at(o,Xi)&&(o=s.buffer(0)),o},oe.prototype.computeSnapTolerance=function(e){var t=this.computeMinimumSegmentLength(e),n=t/10;return n},oe.prototype.extractTargetCoordinates=function(e){for(var t=new cr,n=e.getCoordinates(),i=0;i<n.length;i++)t.add(n[i]);return t.toArray(new Array(0).fill(null))},oe.prototype.computeMinimumSegmentLength=function(e){for(var t=ht.MAX_VALUE,n=0;n<e.length-1;n++){var i=e[n].distance(e[n+1]);i<t&&(t=i)}return t},oe.prototype.interfaces_=function(){return[]},oe.prototype.getClass=function(){return oe},oe.snap=function(e,t,n){var i=new Array(2).fill(null),s=new oe(e);i[0]=s.snapTo(t,n);var o=new oe(t);return i[1]=o.snapTo(i[0],n),i},oe.computeOverlaySnapTolerance=function(){if(arguments.length===1){var e=arguments[0],t=oe.computeSizeBasedSnapTolerance(e),n=e.getPrecisionModel();if(n.getType()===Rt.FIXED){var i=1/n.getScale()*2/1.415;i>t&&(t=i)}return t}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return Math.min(oe.computeOverlaySnapTolerance(s),oe.computeOverlaySnapTolerance(o))}},oe.computeSizeBasedSnapTolerance=function(e){var t=e.getEnvelopeInternal(),n=Math.min(t.getHeight(),t.getWidth()),i=n*oe.SNAP_PRECISION_FACTOR;return i},oe.snapToSelf=function(e,t,n){var i=new oe(e);return i.snapToSelf(t,n)},Xm.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(oe,Xm);var Ym=function(r){function e(t,n,i){r.call(this),this._snapTolerance=t||null,this._snapPts=n||null,this._isSelfSnap=i!==void 0?i:!1}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.snapLine=function(n,i){var s=new $r(n,this._snapTolerance);return s.setAllowSnappingToSourceVertices(this._isSelfSnap),s.snapTo(i)},e.prototype.transformCoordinates=function(n,i){var s=n.toCoordinateArray(),o=this.snapLine(s,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(o)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(rn),Ye=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};Ye.prototype.getCommon=function(){return ht.longBitsToDouble(this._commonBits)},Ye.prototype.add=function(e){var t=ht.doubleToLongBits(e);if(this._isFirst)return this._commonBits=t,this._commonSignExp=Ye.signExpBits(this._commonBits),this._isFirst=!1,null;var n=Ye.signExpBits(t);if(n!==this._commonSignExp)return this._commonBits=0,null;this._commonMantissaBitsCount=Ye.numCommonMostSigMantissaBits(this._commonBits,t),this._commonBits=Ye.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))},Ye.prototype.toString=function(){if(arguments.length===1){var e=arguments[0],t=ht.longBitsToDouble(e),n=ht.toBinaryString(e),i="0000000000000000000000000000000000000000000000000000000000000000"+n,s=i.substring(i.length-64),o=s.substring(0,1)+" "+s.substring(1,12)+"(exp) "+s.substring(12)+" [ "+t+" ]";return o}},Ye.prototype.interfaces_=function(){return[]},Ye.prototype.getClass=function(){return Ye},Ye.getBit=function(e,t){var n=1<<t;return(e&n)!==0?1:0},Ye.signExpBits=function(e){return e>>52},Ye.zeroLowerBits=function(e,t){var n=(1<<t)-1,i=~n,s=e&i;return s},Ye.numCommonMostSigMantissaBits=function(e,t){for(var n=0,i=52;i>=0;i--){if(Ye.getBit(e,i)!==Ye.getBit(t,i))return n;n++}return 52};var es=function(){this._commonCoord=null,this._ccFilter=new wo},yd={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};es.prototype.addCommonBits=function(e){var t=new ns(this._commonCoord);e.apply(t),e.geometryChanged()},es.prototype.removeCommonBits=function(e){if(this._commonCoord.x===0&&this._commonCoord.y===0)return e;var t=new R(this._commonCoord);t.x=-t.x,t.y=-t.y;var n=new ns(t);return e.apply(n),e.geometryChanged(),e},es.prototype.getCommonCoordinate=function(){return this._commonCoord},es.prototype.add=function(e){e.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},es.prototype.interfaces_=function(){return[]},es.prototype.getClass=function(){return es},yd.CommonCoordinateFilter.get=function(){return wo},yd.Translater.get=function(){return ns},Object.defineProperties(es,yd);var wo=function(){this._commonBitsX=new Ye,this._commonBitsY=new Ye};wo.prototype.filter=function(e){this._commonBitsX.add(e.x),this._commonBitsY.add(e.y)},wo.prototype.getCommonCoordinate=function(){return new R(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},wo.prototype.interfaces_=function(){return[zr]},wo.prototype.getClass=function(){return wo};var ns=function(){this.trans=null;var e=arguments[0];this.trans=e};ns.prototype.filter=function(e,t){var n=e.getOrdinate(t,0)+this.trans.x,i=e.getOrdinate(t,1)+this.trans.y;e.setOrdinate(t,0,n),e.setOrdinate(t,1,i)},ns.prototype.isDone=function(){return!1},ns.prototype.isGeometryChanged=function(){return!0},ns.prototype.interfaces_=function(){return[Zn]},ns.prototype.getClass=function(){return ns};var be=function(e,t){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=e,this._geom[1]=t,this.computeSnapTolerance()};be.prototype.selfSnap=function(e){var t=new oe(e),n=t.snapTo(e,this._snapTolerance);return n},be.prototype.removeCommonBits=function(e){this._cbr=new es,this._cbr.add(e[0]),this._cbr.add(e[1]);var t=new Array(2).fill(null);return t[0]=this._cbr.removeCommonBits(e[0].copy()),t[1]=this._cbr.removeCommonBits(e[1].copy()),t},be.prototype.prepareResult=function(e){return this._cbr.addCommonBits(e),e},be.prototype.getResultGeometry=function(e){var t=this.snap(this._geom),n=gt.overlayOp(t[0],t[1],e);return this.prepareResult(n)},be.prototype.checkValid=function(e){e.isValid()||xe.out.println("Snapped geometry is invalid")},be.prototype.computeSnapTolerance=function(){this._snapTolerance=oe.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},be.prototype.snap=function(e){var t=this.removeCommonBits(e),n=oe.snap(t[0],t[1],this._snapTolerance);return n},be.prototype.interfaces_=function(){return[]},be.prototype.getClass=function(){return be},be.overlayOp=function(e,t,n){var i=new be(e,t);return i.getResultGeometry(n)},be.union=function(e,t){return be.overlayOp(e,t,gt.UNION)},be.intersection=function(e,t){return be.overlayOp(e,t,gt.INTERSECTION)},be.symDifference=function(e,t){return be.overlayOp(e,t,gt.SYMDIFFERENCE)},be.difference=function(e,t){return be.overlayOp(e,t,gt.DIFFERENCE)};var Je=function(e,t){this._geom=new Array(2).fill(null),this._geom[0]=e,this._geom[1]=t};Je.prototype.getResultGeometry=function(e){var t=null,n=!1,i=null;try{t=gt.overlayOp(this._geom[0],this._geom[1],e);var s=!0;s&&(n=!0)}catch(o){if(o instanceof pi)i=o;else throw o}finally{}if(!n)try{t=be.overlayOp(this._geom[0],this._geom[1],e)}catch(o){throw o instanceof pi?i:o}finally{}return t},Je.prototype.interfaces_=function(){return[]},Je.prototype.getClass=function(){return Je},Je.overlayOp=function(e,t,n){var i=new Je(e,t);return i.getResultGeometry(n)},Je.union=function(e,t){return Je.overlayOp(e,t,gt.UNION)},Je.intersection=function(e,t){return Je.overlayOp(e,t,gt.INTERSECTION)},Je.symDifference=function(e,t){return Je.overlayOp(e,t,gt.SYMDIFFERENCE)},Je.difference=function(e,t){return Je.overlayOp(e,t,gt.DIFFERENCE)};var nl=function(){this.mce=null,this.chainIndex=null;var e=arguments[0],t=arguments[1];this.mce=e,this.chainIndex=t};nl.prototype.computeIntersections=function(e,t){this.mce.computeIntersectsForChain(this.chainIndex,e.mce,e.chainIndex,t)},nl.prototype.interfaces_=function(){return[]},nl.prototype.getClass=function(){return nl};var pn=function r(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,arguments.length===2){var e=arguments[0],t=arguments[1];this._eventType=r.DELETE,this._xValue=e,this._insertEvent=t}else if(arguments.length===3){var n=arguments[0],i=arguments[1],s=arguments[2];this._eventType=r.INSERT,this._label=n,this._xValue=i,this._obj=s}},_d={INSERT:{configurable:!0},DELETE:{configurable:!0}};pn.prototype.isDelete=function(){return this._eventType===pn.DELETE},pn.prototype.setDeleteEventIndex=function(e){this._deleteEventIndex=e},pn.prototype.getObject=function(){return this._obj},pn.prototype.compareTo=function(e){var t=e;return this._xValue<t._xValue?-1:this._xValue>t._xValue?1:this._eventType<t._eventType?-1:this._eventType>t._eventType?1:0},pn.prototype.getInsertEvent=function(){return this._insertEvent},pn.prototype.isInsert=function(){return this._eventType===pn.INSERT},pn.prototype.isSameLabel=function(e){return this._label===null?!1:this._label===e._label},pn.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},pn.prototype.interfaces_=function(){return[Ln]},pn.prototype.getClass=function(){return pn},_d.INSERT.get=function(){return 1},_d.DELETE.get=function(){return 2},Object.defineProperties(pn,_d);var pc=function(){};pc.prototype.interfaces_=function(){return[]},pc.prototype.getClass=function(){return pc};var Re=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;var e=arguments[0],t=arguments[1],n=arguments[2];this._li=e,this._includeProper=t,this._recordIsolated=n};Re.prototype.isTrivialIntersection=function(e,t,n,i){if(e===n&&this._li.getIntersectionNum()===1){if(Re.isAdjacentSegments(t,i))return!0;if(e.isClosed()){var s=e.getNumPoints()-1;if(t===0&&i===s||i===0&&t===s)return!0}}return!1},Re.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},Re.prototype.setIsDoneIfProperInt=function(e){this._isDoneWhenProperInt=e},Re.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},Re.prototype.isBoundaryPointInternal=function(e,t){for(var n=t.iterator();n.hasNext();){var i=n.next(),s=i.getCoordinate();if(e.isIntersection(s))return!0}return!1},Re.prototype.hasProperIntersection=function(){return this._hasProper},Re.prototype.hasIntersection=function(){return this._hasIntersection},Re.prototype.isDone=function(){return this._isDone},Re.prototype.isBoundaryPoint=function(e,t){return t===null?!1:!!(this.isBoundaryPointInternal(e,t[0])||this.isBoundaryPointInternal(e,t[1]))},Re.prototype.setBoundaryNodes=function(e,t){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=e,this._bdyNodes[1]=t},Re.prototype.addIntersections=function(e,t,n,i){if(e===n&&t===i)return null;this.numTests++;var s=e.getCoordinates()[t],o=e.getCoordinates()[t+1],a=n.getCoordinates()[i],u=n.getCoordinates()[i+1];this._li.computeIntersection(s,o,a,u),this._li.hasIntersection()&&(this._recordIsolated&&(e.setIsolated(!1),n.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(e,t,n,i)||(this._hasIntersection=!0,(this._includeProper||!this._li.isProper())&&(e.addIntersections(this._li,t,0),n.addIntersections(this._li,i,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))},Re.prototype.interfaces_=function(){return[]},Re.prototype.getClass=function(){return Re},Re.isAdjacentSegments=function(e,t){return Math.abs(e-t)===1};var ZE=function(r){function e(){r.call(this),this.events=new W,this.nOverlaps=null}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.prepareEvents=function(){var n=this;tr.sort(this.events);for(var i=0;i<this.events.size();i++){var s=n.events.get(i);s.isDelete()&&s.getInsertEvent().setDeleteEventIndex(i)}},e.prototype.computeIntersections=function(){var n=this;if(arguments.length===1){var i=arguments[0];this.nOverlaps=0,this.prepareEvents();for(var s=0;s<this.events.size();s++){var o=n.events.get(s);if(o.isInsert()&&n.processOverlaps(s,o.getDeleteEventIndex(),o,i),i.isDone())break}}else if(arguments.length===3){if(arguments[2]instanceof Re&&at(arguments[0],$n)&&at(arguments[1],$n)){var a=arguments[0],u=arguments[1],l=arguments[2];this.addEdges(a,a),this.addEdges(u,u),this.computeIntersections(l)}else if(typeof arguments[2]=="boolean"&&at(arguments[0],$n)&&arguments[1]instanceof Re){var c=arguments[0],h=arguments[1],f=arguments[2];f?this.addEdges(c,null):this.addEdges(c),this.computeIntersections(h)}}},e.prototype.addEdge=function(n,i){for(var s=this,o=n.getMonotoneChainEdge(),a=o.getStartIndexes(),u=0;u<a.length-1;u++){var l=new nl(o,u),c=new pn(i,o.getMinX(u),l);s.events.add(c),s.events.add(new pn(o.getMaxX(u),c))}},e.prototype.processOverlaps=function(n,i,s,o){for(var a=this,u=s.getObject(),l=n;l<i;l++){var c=a.events.get(l);if(c.isInsert()){var h=c.getObject();s.isSameLabel(c)||(u.computeIntersections(h,o),a.nOverlaps++)}}},e.prototype.addEdges=function(){var n=this;if(arguments.length===1)for(var i=arguments[0],s=i.iterator();s.hasNext();){var o=s.next();n.addEdge(o,o)}else if(arguments.length===2)for(var a=arguments[0],u=arguments[1],l=a.iterator();l.hasNext();){var c=l.next();n.addEdge(c,u)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pc),Kr=function(){this._min=ht.POSITIVE_INFINITY,this._max=ht.NEGATIVE_INFINITY},Jm={NodeComparator:{configurable:!0}};Kr.prototype.getMin=function(){return this._min},Kr.prototype.intersects=function(e,t){return!(this._min>t||this._max<e)},Kr.prototype.getMax=function(){return this._max},Kr.prototype.toString=function(){return Jn.toLineString(new R(this._min,0),new R(this._max,0))},Kr.prototype.interfaces_=function(){return[]},Kr.prototype.getClass=function(){return Kr},Jm.NodeComparator.get=function(){return rl},Object.defineProperties(Kr,Jm);var rl=function(){};rl.prototype.compare=function(e,t){var n=e,i=t,s=(n._min+n._max)/2,o=(i._min+i._max)/2;return s<o?-1:s>o?1:0},rl.prototype.interfaces_=function(){return[oa]},rl.prototype.getClass=function(){return rl};var QE=function(r){function e(){r.call(this),this._item=null;var t=arguments[0],n=arguments[1],i=arguments[2];this._min=t,this._max=n,this._item=i}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.query=function(n,i,s){if(!this.intersects(n,i))return null;s.visitItem(this._item)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Kr),tC=function(r){function e(){r.call(this),this._node1=null,this._node2=null;var t=arguments[0],n=arguments[1];this._node1=t,this._node2=n,this.buildExtent(this._node1,this._node2)}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.buildExtent=function(n,i){this._min=Math.min(n._min,i._min),this._max=Math.max(n._max,i._max)},e.prototype.query=function(n,i,s){if(!this.intersects(n,i))return null;this._node1!==null&&this._node1.query(n,i,s),this._node2!==null&&this._node2.query(n,i,s)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Kr),Zr=function(){this._leaves=new W,this._root=null,this._level=0};Zr.prototype.buildTree=function(){var e=this;tr.sort(this._leaves,new Kr.NodeComparator);for(var t=this._leaves,n=null,i=new W;;){if(e.buildLevel(t,i),i.size()===1)return i.get(0);n=t,t=i,i=n}},Zr.prototype.insert=function(e,t,n){if(this._root!==null)throw new Error("Index cannot be added to once it has been queried");this._leaves.add(new QE(e,t,n))},Zr.prototype.query=function(e,t,n){this.init(),this._root.query(e,t,n)},Zr.prototype.buildRoot=function(){if(this._root!==null)return null;this._root=this.buildTree()},Zr.prototype.printNode=function(e){xe.out.println(Jn.toLineString(new R(e._min,this._level),new R(e._max,this._level)))},Zr.prototype.init=function(){if(this._root!==null)return null;this.buildRoot()},Zr.prototype.buildLevel=function(e,t){this._level++,t.clear();for(var n=0;n<e.size();n+=2){var i=e.get(n),s=n+1<e.size()?e.get(n):null;if(s===null)t.add(i);else{var o=new tC(e.get(n),e.get(n+1));t.add(o)}}},Zr.prototype.interfaces_=function(){return[]},Zr.prototype.getClass=function(){return Zr};var ba=function(){this._items=new W};ba.prototype.visitItem=function(e){this._items.add(e)},ba.prototype.getItems=function(){return this._items},ba.prototype.interfaces_=function(){return[Yi]},ba.prototype.getClass=function(){return ba};var Pa=function(){this._index=null;var e=arguments[0];if(!at(e,Xi))throw new Xt("Argument must be Polygonal");this._index=new Ns(e)},wd={SegmentVisitor:{configurable:!0},IntervalIndexedGeometry:{configurable:!0}};Pa.prototype.locate=function(e){var t=new lr(e),n=new Ia(t);return this._index.query(e.y,e.y,n),t.getLocation()},Pa.prototype.interfaces_=function(){return[Ea]},Pa.prototype.getClass=function(){return Pa},wd.SegmentVisitor.get=function(){return Ia},wd.IntervalIndexedGeometry.get=function(){return Ns},Object.defineProperties(Pa,wd);var Ia=function(){this._counter=null;var e=arguments[0];this._counter=e};Ia.prototype.visitItem=function(e){var t=e;this._counter.countSegment(t.getCoordinate(0),t.getCoordinate(1))},Ia.prototype.interfaces_=function(){return[Yi]},Ia.prototype.getClass=function(){return Ia};var Ns=function(){this._index=new Zr;var e=arguments[0];this.init(e)};Ns.prototype.init=function(e){for(var t=this,n=Oe.getLines(e),i=n.iterator();i.hasNext();){var s=i.next(),o=s.getCoordinates();t.addLine(o)}},Ns.prototype.addLine=function(e){for(var t=this,n=1;n<e.length;n++){var i=new tt(e[n-1],e[n]),s=Math.min(i.p0.y,i.p1.y),o=Math.max(i.p0.y,i.p1.y);t._index.insert(s,o,i)}},Ns.prototype.query=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],n=new ba;return this._index.query(e,t,n),n.getItems()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];this._index.query(i,s,o)}},Ns.prototype.interfaces_=function(){return[]},Ns.prototype.getClass=function(){return Ns};var il=function(r){function e(){if(r.call(this),this._parentGeom=null,this._lineEdgeMap=new Om,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new nr,arguments.length===2){var t=arguments[0],n=arguments[1],i=An.OGC_SFS_BOUNDARY_RULE;this._argIndex=t,this._parentGeom=n,this._boundaryNodeRule=i,n!==null&&this.add(n)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];this._argIndex=s,this._parentGeom=o,this._boundaryNodeRule=a,o!==null&&this.add(o)}}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.insertBoundaryPoint=function(n,i){var s=this._nodes.addNode(i),o=s.getLabel(),a=1,u=F.NONE;u=o.getLocation(n,U.ON),u===F.BOUNDARY&&a++;var l=e.determineBoundary(this._boundaryNodeRule,a);o.setLocation(n,l)},e.prototype.computeSelfNodes=function(){if(arguments.length===2){var n=arguments[0],i=arguments[1];return this.computeSelfNodes(n,i,!1)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2],u=new Re(s,!0,!1);u.setIsDoneIfProperInt(a);var l=this.createEdgeSetIntersector(),c=this._parentGeom instanceof Ur||this._parentGeom instanceof fe||this._parentGeom instanceof Gr,h=o||!c;return l.computeIntersections(this._edges,u,h),this.addSelfIntersectionNodes(this._argIndex),u}},e.prototype.computeSplitEdges=function(n){for(var i=this._edges.iterator();i.hasNext();){var s=i.next();s.eiList.addSplitEdges(n)}},e.prototype.computeEdgeIntersections=function(n,i,s){var o=new Re(i,s,!0);o.setBoundaryNodes(this.getBoundaryNodes(),n.getBoundaryNodes());var a=this.createEdgeSetIntersector();return a.computeIntersections(this._edges,n._edges,o),o},e.prototype.getGeometry=function(){return this._parentGeom},e.prototype.getBoundaryNodeRule=function(){return this._boundaryNodeRule},e.prototype.hasTooFewPoints=function(){return this._hasTooFewPoints},e.prototype.addPoint=function(){if(arguments[0]instanceof cn){var n=arguments[0],i=n.getCoordinate();this.insertPoint(this._argIndex,i,F.INTERIOR)}else if(arguments[0]instanceof R){var s=arguments[0];this.insertPoint(this._argIndex,s,F.INTERIOR)}},e.prototype.addPolygon=function(n){var i=this;this.addPolygonRing(n.getExteriorRing(),F.EXTERIOR,F.INTERIOR);for(var s=0;s<n.getNumInteriorRing();s++){var o=n.getInteriorRingN(s);i.addPolygonRing(o,F.INTERIOR,F.EXTERIOR)}},e.prototype.addEdge=function(n){this.insertEdge(n);var i=n.getCoordinates();this.insertPoint(this._argIndex,i[0],F.BOUNDARY),this.insertPoint(this._argIndex,i[i.length-1],F.BOUNDARY)},e.prototype.addLineString=function(n){var i=Et.removeRepeatedPoints(n.getCoordinates());if(i.length<2)return this._hasTooFewPoints=!0,this._invalidPoint=i[0],null;var s=new fc(i,new Vt(this._argIndex,F.INTERIOR));this._lineEdgeMap.put(n,s),this.insertEdge(s),vt.isTrue(i.length>=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,i[0]),this.insertBoundaryPoint(this._argIndex,i[i.length-1])},e.prototype.getInvalidPoint=function(){return this._invalidPoint},e.prototype.getBoundaryPoints=function(){for(var n=this.getBoundaryNodes(),i=new Array(n.size()).fill(null),s=0,o=n.iterator();o.hasNext();){var a=o.next();i[s++]=a.getCoordinate().copy()}return i},e.prototype.getBoundaryNodes=function(){return this._boundaryNodes===null&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},e.prototype.addSelfIntersectionNode=function(n,i,s){if(this.isBoundaryNode(n,i))return null;s===F.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(n,i):this.insertPoint(n,i,s)},e.prototype.addPolygonRing=function(n,i,s){if(n.isEmpty())return null;var o=Et.removeRepeatedPoints(n.getCoordinates());if(o.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=o[0],null;var a=i,u=s;q.isCCW(o)&&(a=s,u=i);var l=new fc(o,new Vt(this._argIndex,F.BOUNDARY,a,u));this._lineEdgeMap.put(n,l),this.insertEdge(l),this.insertPoint(this._argIndex,o[0],F.BOUNDARY)},e.prototype.insertPoint=function(n,i,s){var o=this._nodes.addNode(i),a=o.getLabel();a===null?o._label=new Vt(n,s):a.setLocation(n,s)},e.prototype.createEdgeSetIntersector=function(){return new ZE},e.prototype.addSelfIntersectionNodes=function(n){for(var i=this,s=this._edges.iterator();s.hasNext();)for(var o=s.next(),a=o.getLabel().getLocation(n),u=o.eiList.iterator();u.hasNext();){var l=u.next();i.addSelfIntersectionNode(n,l.coord,a)}},e.prototype.add=function(){if(arguments.length===1){var n=arguments[0];if(n.isEmpty())return null;if(n instanceof Gr&&(this._useBoundaryDeterminationRule=!1),n instanceof fe)this.addPolygon(n);else if(n instanceof Qt)this.addLineString(n);else if(n instanceof cn)this.addPoint(n);else if(n instanceof va)this.addCollection(n);else if(n instanceof Cs)this.addCollection(n);else if(n instanceof Gr)this.addCollection(n);else if(n instanceof Ue)this.addCollection(n);else throw new Error(n.getClass().getName())}else return r.prototype.add.apply(this,arguments)},e.prototype.addCollection=function(n){for(var i=this,s=0;s<n.getNumGeometries();s++){var o=n.getGeometryN(s);i.add(o)}},e.prototype.locate=function(n){return at(this._parentGeom,Xi)&&this._parentGeom.getNumGeometries()>50?(this._areaPtLocator===null&&(this._areaPtLocator=new Pa(this._parentGeom)),this._areaPtLocator.locate(n)):this._ptLocator.locate(n,this._parentGeom)},e.prototype.findEdge=function(){if(arguments.length===1){var n=arguments[0];return this._lineEdgeMap.get(n)}else return r.prototype.findEdge.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.determineBoundary=function(n,i){return n.isInBoundary(i)?F.BOUNDARY:F.INTERIOR},e}($t),xa=function(){if(this._li=new _s,this._resultPrecisionModel=null,this._arg=null,arguments.length===1){var e=arguments[0];this.setComputationPrecision(e.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new il(0,e)}else if(arguments.length===2){var t=arguments[0],n=arguments[1],i=An.OGC_SFS_BOUNDARY_RULE;t.getPrecisionModel().compareTo(n.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(n.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new il(0,t,i),this._arg[1]=new il(1,n,i)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];s.getPrecisionModel().compareTo(o.getPrecisionModel())>=0?this.setComputationPrecision(s.getPrecisionModel()):this.setComputationPrecision(o.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new il(0,s,a),this._arg[1]=new il(1,o,a)}};xa.prototype.getArgGeometry=function(e){return this._arg[e].getGeometry()},xa.prototype.setComputationPrecision=function(e){this._resultPrecisionModel=e,this._li.setPrecisionModel(this._resultPrecisionModel)},xa.prototype.interfaces_=function(){return[]},xa.prototype.getClass=function(){return xa};var Os=function(){};Os.prototype.interfaces_=function(){return[]},Os.prototype.getClass=function(){return Os},Os.map=function(){if(arguments[0]instanceof ot&&at(arguments[1],Os.MapOp)){for(var e=arguments[0],t=arguments[1],n=new W,i=0;i<e.getNumGeometries();i++){var s=t.map(e.getGeometryN(i));s!==null&&n.add(s)}return e.getFactory().buildGeometry(n)}else if(at(arguments[0],de)&&at(arguments[1],Os.MapOp)){for(var o=arguments[0],a=arguments[1],u=new W,l=o.iterator();l.hasNext();){var c=l.next(),h=a.map(c);h!==null&&u.add(h)}return u}},Os.MapOp=function(){};var gt=function(r){function e(){var t=arguments[0],n=arguments[1];r.call(this,t,n),this._ptLocator=new nr,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new er,this._resultPolyList=new W,this._resultLineList=new W,this._resultPointList=new W,this._graph=new $t(new jm),this._geomFact=t.getFactory()}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.insertUniqueEdge=function(n){var i=this._edgeList.findEqualEdge(n);if(i!==null){var s=i.getLabel(),o=n.getLabel();i.isPointwiseEqual(n)||(o=new Vt(n.getLabel()),o.flip());var a=i.getDepth();a.isNull()&&a.add(s),a.add(o),s.merge(o)}else this._edgeList.add(n)},e.prototype.getGraph=function(){return this._graph},e.prototype.cancelDuplicateResultEdges=function(){for(var n=this._graph.getEdgeEnds().iterator();n.hasNext();){var i=n.next(),s=i.getSym();i.isInResult()&&s.isInResult()&&(i.setInResult(!1),s.setInResult(!1))}},e.prototype.isCoveredByLA=function(n){return!!(this.isCovered(n,this._resultLineList)||this.isCovered(n,this._resultPolyList))},e.prototype.computeGeometry=function(n,i,s,o){var a=new W;return a.addAll(n),a.addAll(i),a.addAll(s),a.isEmpty()?e.createEmptyResult(o,this._arg[0].getGeometry(),this._arg[1].getGeometry(),this._geomFact):this._geomFact.buildGeometry(a)},e.prototype.mergeSymLabels=function(){for(var n=this._graph.getNodes().iterator();n.hasNext();){var i=n.next();i.getEdges().mergeSymLabels()}},e.prototype.isCovered=function(n,i){for(var s=this,o=i.iterator();o.hasNext();){var a=o.next(),u=s._ptLocator.locate(n,a);if(u!==F.EXTERIOR)return!0}return!1},e.prototype.replaceCollapsedEdges=function(){for(var n=new W,i=this._edgeList.iterator();i.hasNext();){var s=i.next();s.isCollapsed()&&(i.remove(),n.add(s.getCollapsedEdge()))}this._edgeList.addAll(n)},e.prototype.updateNodeLabelling=function(){for(var n=this._graph.getNodes().iterator();n.hasNext();){var i=n.next(),s=i.getEdges().getLabel();i.getLabel().merge(s)}},e.prototype.getResultGeometry=function(n){return this.computeOverlay(n),this._resultGeom},e.prototype.insertUniqueEdges=function(n){for(var i=this,s=n.iterator();s.hasNext();){var o=s.next();i.insertUniqueEdge(o)}},e.prototype.computeOverlay=function(n){this.copyPoints(0),this.copyPoints(1),this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1),this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!0);var i=new W;this._arg[0].computeSplitEdges(i),this._arg[1].computeSplitEdges(i),this.insertUniqueEdges(i),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),Ts.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(n),this.cancelDuplicateResultEdges();var s=new hn(this._geomFact);s.add(this._graph),this._resultPolyList=s.getPolygons();var o=new Cr(this,this._geomFact,this._ptLocator);this._resultLineList=o.build(n);var a=new _o(this,this._geomFact,this._ptLocator);this._resultPointList=a.build(n),this._resultGeom=this.computeGeometry(this._resultPointList,this._resultLineList,this._resultPolyList,n)},e.prototype.labelIncompleteNode=function(n,i){var s=this._ptLocator.locate(n.getCoordinate(),this._arg[i].getGeometry());n.getLabel().setLocation(i,s)},e.prototype.copyPoints=function(n){for(var i=this,s=this._arg[n].getNodeIterator();s.hasNext();){var o=s.next(),a=i._graph.addNode(o.getCoordinate());a.setLabel(n,o.getLabel().getLocation(n))}},e.prototype.findResultAreaEdges=function(n){for(var i=this._graph.getEdgeEnds().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.isArea()&&!s.isInteriorAreaEdge()&&e.isResultOfOp(o.getLocation(0,U.RIGHT),o.getLocation(1,U.RIGHT),n)&&s.setInResult(!0)}},e.prototype.computeLabelsFromDepths=function(){for(var n=this._edgeList.iterator();n.hasNext();){var i=n.next(),s=i.getLabel(),o=i.getDepth();if(!o.isNull()){o.normalize();for(var a=0;a<2;a++)!s.isNull(a)&&s.isArea()&&!o.isNull(a)&&(o.getDelta(a)===0?s.toLine(a):(vt.isTrue(!o.isNull(a,U.LEFT),"depth of LEFT side has not been initialized"),s.setLocation(a,U.LEFT,o.getLocation(a,U.LEFT)),vt.isTrue(!o.isNull(a,U.RIGHT),"depth of RIGHT side has not been initialized"),s.setLocation(a,U.RIGHT,o.getLocation(a,U.RIGHT))))}}},e.prototype.computeLabelling=function(){for(var n=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next();s.getEdges().computeLabelling(n._arg)}this.mergeSymLabels(),this.updateNodeLabelling()},e.prototype.labelIncompleteNodes=function(){for(var n=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();s.isIsolated()&&(o.isNull(0)?n.labelIncompleteNode(s,0):n.labelIncompleteNode(s,1)),s.getEdges().updateLabelling(o)}},e.prototype.isCoveredByA=function(n){return!!this.isCovered(n,this._resultPolyList)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(xa);gt.overlayOp=function(r,e,t){var n=new gt(r,e),i=n.getResultGeometry(t);return i},gt.intersection=function(r,e){if(r.isEmpty()||e.isEmpty())return gt.createEmptyResult(gt.INTERSECTION,r,e,r.getFactory());if(r.isGeometryCollection()){var t=e;return yo.map(r,{interfaces_:function(){return[Os.MapOp]},map:function(n){return n.intersection(t)}})}return r.checkNotGeometryCollection(r),r.checkNotGeometryCollection(e),Je.overlayOp(r,e,gt.INTERSECTION)},gt.symDifference=function(r,e){if(r.isEmpty()||e.isEmpty()){if(r.isEmpty()&&e.isEmpty())return gt.createEmptyResult(gt.SYMDIFFERENCE,r,e,r.getFactory());if(r.isEmpty())return e.copy();if(e.isEmpty())return r.copy()}return r.checkNotGeometryCollection(r),r.checkNotGeometryCollection(e),Je.overlayOp(r,e,gt.SYMDIFFERENCE)},gt.resultDimension=function(r,e,t){var n=e.getDimension(),i=t.getDimension(),s=-1;switch(r){case gt.INTERSECTION:s=Math.min(n,i);break;case gt.UNION:s=Math.max(n,i);break;case gt.DIFFERENCE:s=n;break;case gt.SYMDIFFERENCE:s=Math.max(n,i);break}return s},gt.createEmptyResult=function(r,e,t,n){var i=null;switch(gt.resultDimension(r,e,t)){case-1:i=n.createGeometryCollection(new Array(0).fill(null));break;case 0:i=n.createPoint();break;case 1:i=n.createLineString();break;case 2:i=n.createPolygon();break}return i},gt.difference=function(r,e){return r.isEmpty()?gt.createEmptyResult(gt.DIFFERENCE,r,e,r.getFactory()):e.isEmpty()?r.copy():(r.checkNotGeometryCollection(r),r.checkNotGeometryCollection(e),Je.overlayOp(r,e,gt.DIFFERENCE))},gt.isResultOfOp=function(){if(arguments.length===2){var r=arguments[0],e=arguments[1],t=r.getLocation(0),n=r.getLocation(1);return gt.isResultOfOp(t,n,e)}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];switch(i===F.BOUNDARY&&(i=F.INTERIOR),s===F.BOUNDARY&&(s=F.INTERIOR),o){case gt.INTERSECTION:return i===F.INTERIOR&&s===F.INTERIOR;case gt.UNION:return i===F.INTERIOR||s===F.INTERIOR;case gt.DIFFERENCE:return i===F.INTERIOR&&s!==F.INTERIOR;case gt.SYMDIFFERENCE:return i===F.INTERIOR&&s!==F.INTERIOR||i!==F.INTERIOR&&s===F.INTERIOR}return!1}},gt.INTERSECTION=1,gt.UNION=2,gt.DIFFERENCE=3,gt.SYMDIFFERENCE=4;var rs=function(){this._g=null,this._boundaryDistanceTolerance=null,this._linework=null,this._ptLocator=new nr,this._seg=new tt;var e=arguments[0],t=arguments[1];this._g=e,this._boundaryDistanceTolerance=t,this._linework=this.extractLinework(e)};rs.prototype.isWithinToleranceOfBoundary=function(e){for(var t=this,n=0;n<this._linework.getNumGeometries();n++)for(var i=t._linework.getGeometryN(n),s=i.getCoordinateSequence(),o=0;o<s.size()-1;o++){s.getCoordinate(o,t._seg.p0),s.getCoordinate(o+1,t._seg.p1);var a=t._seg.distance(e);if(a<=t._boundaryDistanceTolerance)return!0}return!1},rs.prototype.getLocation=function(e){return this.isWithinToleranceOfBoundary(e)?F.BOUNDARY:this._ptLocator.locate(e,this._g)},rs.prototype.extractLinework=function(e){var t=new Ta;e.apply(t);var n=t.getLinework(),i=Ct.toLineStringArray(n);return e.getFactory().createMultiLineString(i)},rs.prototype.interfaces_=function(){return[]},rs.prototype.getClass=function(){return rs};var Ta=function(){this._linework=null,this._linework=new W};Ta.prototype.getLinework=function(){return this._linework},Ta.prototype.filter=function(e){var t=this;if(e instanceof fe){var n=e;this._linework.add(n.getExteriorRing());for(var i=0;i<n.getNumInteriorRing();i++)t._linework.add(n.getInteriorRingN(i))}},Ta.prototype.interfaces_=function(){return[hr]},Ta.prototype.getClass=function(){return Ta};var Ds=function(){this._g=null,this._doLeft=!0,this._doRight=!0;var e=arguments[0];this._g=e};Ds.prototype.extractPoints=function(e,t,n){for(var i=this,s=e.getCoordinates(),o=0;o<s.length-1;o++)i.computeOffsetPoints(s[o],s[o+1],t,n)},Ds.prototype.setSidesToGenerate=function(e,t){this._doLeft=e,this._doRight=t},Ds.prototype.getPoints=function(e){for(var t=this,n=new W,i=Oe.getLines(this._g),s=i.iterator();s.hasNext();){var o=s.next();t.extractPoints(o,e,n)}return n},Ds.prototype.computeOffsetPoints=function(e,t,n,i){var s=t.x-e.x,o=t.y-e.y,a=Math.sqrt(s*s+o*o),u=n*s/a,l=n*o/a,c=(t.x+e.x)/2,h=(t.y+e.y)/2;if(this._doLeft){var f=new R(c-l,h+u);i.add(f)}if(this._doRight){var p=new R(c+l,h-u);i.add(p)}},Ds.prototype.interfaces_=function(){return[]},Ds.prototype.getClass=function(){return Ds};var On=function r(){this._geom=null,this._locFinder=null,this._location=new Array(3).fill(null),this._invalidLocation=null,this._boundaryDistanceTolerance=r.TOLERANCE,this._testCoords=new W;var e=arguments[0],t=arguments[1],n=arguments[2];this._boundaryDistanceTolerance=r.computeBoundaryDistanceTolerance(e,t),this._geom=[e,t,n],this._locFinder=[new rs(this._geom[0],this._boundaryDistanceTolerance),new rs(this._geom[1],this._boundaryDistanceTolerance),new rs(this._geom[2],this._boundaryDistanceTolerance)]},$m={TOLERANCE:{configurable:!0}};On.prototype.reportResult=function(e,t,n){xe.out.println("Overlay result invalid - A:"+F.toLocationSymbol(t[0])+" B:"+F.toLocationSymbol(t[1])+" expected:"+(n?"i":"e")+" actual:"+F.toLocationSymbol(t[2]))},On.prototype.isValid=function(e){this.addTestPts(this._geom[0]),this.addTestPts(this._geom[1]);var t=this.checkValid(e);return t},On.prototype.checkValid=function(){var e=this;if(arguments.length===1){for(var t=arguments[0],n=0;n<this._testCoords.size();n++){var i=e._testCoords.get(n);if(!e.checkValid(t,i))return e._invalidLocation=i,!1}return!0}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._location[0]=this._locFinder[0].getLocation(o),this._location[1]=this._locFinder[1].getLocation(o),this._location[2]=this._locFinder[2].getLocation(o),On.hasLocation(this._location,F.BOUNDARY)?!0:this.isValidResult(s,this._location)}},On.prototype.addTestPts=function(e){var t=new Ds(e);this._testCoords.addAll(t.getPoints(5*this._boundaryDistanceTolerance))},On.prototype.isValidResult=function(e,t){var n=gt.isResultOfOp(t[0],t[1],e),i=t[2]===F.INTERIOR,s=!(n^i);return s||this.reportResult(e,t,n),s},On.prototype.getInvalidLocation=function(){return this._invalidLocation},On.prototype.interfaces_=function(){return[]},On.prototype.getClass=function(){return On},On.hasLocation=function(e,t){for(var n=0;n<3;n++)if(e[n]===t)return!0;return!1},On.computeBoundaryDistanceTolerance=function(e,t){return Math.min(oe.computeSizeBasedSnapTolerance(e),oe.computeSizeBasedSnapTolerance(t))},On.isValid=function(e,t,n,i){var s=new On(e,t,i);return s.isValid(n)},$m.TOLERANCE.get=function(){return 1e-6},Object.defineProperties(On,$m);var Dn=function r(e){this._geomFactory=null,this._skipEmpty=!1,this._inputGeoms=null,this._geomFactory=r.extractFactory(e),this._inputGeoms=e};Dn.prototype.extractElements=function(e,t){var n=this;if(e===null)return null;for(var i=0;i<e.getNumGeometries();i++){var s=e.getGeometryN(i);n._skipEmpty&&s.isEmpty()||t.add(s)}},Dn.prototype.combine=function(){for(var e=this,t=new W,n=this._inputGeoms.iterator();n.hasNext();){var i=n.next();e.extractElements(i,t)}return t.size()===0?this._geomFactory!==null?this._geomFactory.createGeometryCollection(null):null:this._geomFactory.buildGeometry(t)},Dn.prototype.interfaces_=function(){return[]},Dn.prototype.getClass=function(){return Dn},Dn.combine=function(){if(arguments.length===1){var e=arguments[0],t=new Dn(e);return t.combine()}else if(arguments.length===2){var n=arguments[0],i=arguments[1],s=new Dn(Dn.createList(n,i));return s.combine()}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2],l=new Dn(Dn.createList(o,a,u));return l.combine()}},Dn.extractFactory=function(e){return e.isEmpty()?null:e.iterator().next().getFactory()},Dn.createList=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],n=new W;return n.add(e),n.add(t),n}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new W;return a.add(i),a.add(s),a.add(o),a}};var ce=function(){this._inputPolys=null,this._geomFactory=null;var e=arguments[0];this._inputPolys=e,this._inputPolys===null&&(this._inputPolys=new W)},Km={STRTREE_NODE_CAPACITY:{configurable:!0}};ce.prototype.reduceToGeometries=function(e){for(var t=this,n=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=null;at(s,$n)?o=t.unionTree(s):s instanceof ot&&(o=s),n.add(o)}return n},ce.prototype.extractByEnvelope=function(e,t,n){for(var i=new W,s=0;s<t.getNumGeometries();s++){var o=t.getGeometryN(s);o.getEnvelopeInternal().intersects(e)?i.add(o):n.add(o)}return this._geomFactory.buildGeometry(i)},ce.prototype.unionOptimized=function(e,t){var n=e.getEnvelopeInternal(),i=t.getEnvelopeInternal();if(!n.intersects(i)){var s=Dn.combine(e,t);return s}if(e.getNumGeometries()<=1&&t.getNumGeometries()<=1)return this.unionActual(e,t);var o=n.intersection(i);return this.unionUsingEnvelopeIntersection(e,t,o)},ce.prototype.union=function(){if(this._inputPolys===null)throw new Error("union() method cannot be called twice");if(this._inputPolys.isEmpty())return null;this._geomFactory=this._inputPolys.iterator().next().getFactory();for(var e=new Lm(ce.STRTREE_NODE_CAPACITY),t=this._inputPolys.iterator();t.hasNext();){var n=t.next();e.insert(n.getEnvelopeInternal(),n)}this._inputPolys=null;var i=e.itemsTree(),s=this.unionTree(i);return s},ce.prototype.binaryUnion=function(){if(arguments.length===1){var e=arguments[0];return this.binaryUnion(e,0,e.size())}else if(arguments.length===3){var t=arguments[0],n=arguments[1],i=arguments[2];if(i-n<=1){var s=ce.getGeometry(t,n);return this.unionSafe(s,null)}else{if(i-n===2)return this.unionSafe(ce.getGeometry(t,n),ce.getGeometry(t,n+1));var o=Math.trunc((i+n)/2),a=this.binaryUnion(t,n,o),u=this.binaryUnion(t,o,i);return this.unionSafe(a,u)}}},ce.prototype.repeatedUnion=function(e){for(var t=null,n=e.iterator();n.hasNext();){var i=n.next();t===null?t=i.copy():t=t.union(i)}return t},ce.prototype.unionSafe=function(e,t){return e===null&&t===null?null:e===null?t.copy():t===null?e.copy():this.unionOptimized(e,t)},ce.prototype.unionActual=function(e,t){return ce.restrictToPolygons(e.union(t))},ce.prototype.unionTree=function(e){var t=this.reduceToGeometries(e),n=this.binaryUnion(t);return n},ce.prototype.unionUsingEnvelopeIntersection=function(e,t,n){var i=new W,s=this.extractByEnvelope(n,e,i),o=this.extractByEnvelope(n,t,i),a=this.unionActual(s,o);i.add(a);var u=Dn.combine(i);return u},ce.prototype.bufferUnion=function(){if(arguments.length===1){var e=arguments[0],t=e.get(0).getFactory(),n=t.buildGeometry(e),i=n.buffer(0);return i}else if(arguments.length===2){var s=arguments[0],o=arguments[1],a=s.getFactory(),u=a.createGeometryCollection([s,o]),l=u.buffer(0);return l}},ce.prototype.interfaces_=function(){return[]},ce.prototype.getClass=function(){return ce},ce.restrictToPolygons=function(e){if(at(e,Xi))return e;var t=bi.getPolygons(e);return t.size()===1?t.get(0):e.getFactory().createMultiPolygon(Ct.toPolygonArray(t))},ce.getGeometry=function(e,t){return t>=e.size()?null:e.get(t)},ce.union=function(e){var t=new ce(e);return t.union()},Km.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(ce,Km);var gc=function(){};gc.prototype.interfaces_=function(){return[]},gc.prototype.getClass=function(){return gc},gc.union=function(e,t){if(e.isEmpty()||t.isEmpty()){if(e.isEmpty()&&t.isEmpty())return gt.createEmptyResult(gt.UNION,e,t,e.getFactory());if(e.isEmpty())return t.copy();if(t.isEmpty())return e.copy()}return e.checkNotGeometryCollection(e),e.checkNotGeometryCollection(t),Je.overlayOp(e,t,gt.UNION)};function Ms(){return new mc}function mc(){this.reset()}mc.prototype={constructor:mc,reset:function(){this.s=this.t=0},add:function(r){Zm(vc,r,this.t),Zm(this,vc.s,this.s),this.s?this.t+=vc.t:this.s=vc.t},valueOf:function(){return this.s}};var vc=new mc;function Zm(r,e,t){var n=r.s=e+t,i=n-e,s=n-i;r.t=e-s+(t-i)}var he=1e-6,zt=Math.PI,Pi=zt/2,Qm=zt/4,Ii=zt*2,Rs=180/zt,Sr=zt/180,$e=Math.abs,eC=Math.atan,Na=Math.atan2,ge=Math.cos,me=Math.sin,Oa=Math.sqrt;function tv(r){return r>1?0:r<-1?zt:Math.acos(r)}function Eo(r){return r>1?Pi:r<-1?-Pi:Math.asin(r)}function sl(){}function yc(r,e){r&&nv.hasOwnProperty(r.type)&&nv[r.type](r,e)}var ev={Feature:function(r,e){yc(r.geometry,e)},FeatureCollection:function(r,e){for(var t=r.features,n=-1,i=t.length;++n<i;)yc(t[n].geometry,e)}},nv={Sphere:function(r,e){e.sphere()},Point:function(r,e){r=r.coordinates,e.point(r[0],r[1],r[2])},MultiPoint:function(r,e){for(var t=r.coordinates,n=-1,i=t.length;++n<i;)r=t[n],e.point(r[0],r[1],r[2])},LineString:function(r,e){Ed(r.coordinates,e,0)},MultiLineString:function(r,e){for(var t=r.coordinates,n=-1,i=t.length;++n<i;)Ed(t[n],e,0)},Polygon:function(r,e){rv(r.coordinates,e)},MultiPolygon:function(r,e){for(var t=r.coordinates,n=-1,i=t.length;++n<i;)rv(t[n],e)},GeometryCollection:function(r,e){for(var t=r.geometries,n=-1,i=t.length;++n<i;)yc(t[n],e)}};function Ed(r,e,t){var n=-1,i=r.length-t,s;for(e.lineStart();++n<i;)s=r[n],e.point(s[0],s[1],s[2]);e.lineEnd()}function rv(r,e){var t=-1,n=r.length;for(e.polygonStart();++t<n;)Ed(r[t],e,1);e.polygonEnd()}function nC(r,e){r&&ev.hasOwnProperty(r.type)?ev[r.type](r,e):yc(r,e)}Ms(),Ms();function Cd(r){return[Na(r[1],r[0]),Eo(r[2])]}function Da(r){var e=r[0],t=r[1],n=ge(t);return[n*ge(e),n*me(e),me(t)]}function _c(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function wc(r,e){return[r[1]*e[2]-r[2]*e[1],r[2]*e[0]-r[0]*e[2],r[0]*e[1]-r[1]*e[0]]}function Sd(r,e){r[0]+=e[0],r[1]+=e[1],r[2]+=e[2]}function Ec(r,e){return[r[0]*e,r[1]*e,r[2]*e]}function bd(r){var e=Oa(r[0]*r[0]+r[1]*r[1]+r[2]*r[2]);r[0]/=e,r[1]/=e,r[2]/=e}Ms();function iv(r,e){function t(n,i){return n=r(n,i),e(n[0],n[1])}return r.invert&&e.invert&&(t.invert=function(n,i){return n=e.invert(n,i),n&&r.invert(n[0],n[1])}),t}function Pd(r,e){return[r>zt?r-Ii:r<-zt?r+Ii:r,e]}Pd.invert=Pd;function rC(r,e,t){return(r%=Ii)?e||t?iv(ov(r),av(e,t)):ov(r):e||t?av(e,t):Pd}function sv(r){return function(e,t){return e+=r,[e>zt?e-Ii:e<-zt?e+Ii:e,t]}}function ov(r){var e=sv(r);return e.invert=sv(-r),e}function av(r,e){var t=ge(r),n=me(r),i=ge(e),s=me(e);function o(a,u){var l=ge(u),c=ge(a)*l,h=me(a)*l,f=me(u),p=f*t+c*n;return[Na(h*i-p*s,c*t-f*n),Eo(p*i+h*s)]}return o.invert=function(a,u){var l=ge(u),c=ge(a)*l,h=me(a)*l,f=me(u),p=f*i-h*s;return[Na(h*i+f*s,c*t+p*n),Eo(p*t-c*n)]},o}function iC(r,e,t,n,i,s){if(t){var o=ge(e),a=me(e),u=n*t;i==null?(i=e+n*Ii,s=e-u/2):(i=uv(o,i),s=uv(o,s),(n>0?i<s:i>s)&&(i+=n*Ii));for(var l,c=i;n>0?c>s:c<s;c-=u)l=Cd([o,-a*ge(c),-a*me(c)]),r.point(l[0],l[1])}}function uv(r,e){e=Da(e),e[0]-=r,bd(e);var t=tv(-e[1]);return((-e[2]<0?-t:t)+Ii-he)%Ii}function lv(){var r=[],e;return{point:function(t,n){e.push([t,n])},lineStart:function(){r.push(e=[])},lineEnd:sl,rejoin:function(){r.length>1&&r.push(r.pop().concat(r.shift()))},result:function(){var t=r;return r=[],e=null,t}}}function sC(r,e,t,n,i,s){var o=r[0],a=r[1],u=e[0],l=e[1],c=0,h=1,f=u-o,p=l-a,v;if(v=t-o,!(!f&&v>0)){if(v/=f,f<0){if(v<c)return;v<h&&(h=v)}else if(f>0){if(v>h)return;v>c&&(c=v)}if(v=i-o,!(!f&&v<0)){if(v/=f,f<0){if(v>h)return;v>c&&(c=v)}else if(f>0){if(v<c)return;v<h&&(h=v)}if(v=n-a,!(!p&&v>0)){if(v/=p,p<0){if(v<c)return;v<h&&(h=v)}else if(p>0){if(v>h)return;v>c&&(c=v)}if(v=s-a,!(!p&&v<0)){if(v/=p,p<0){if(v>h)return;v>c&&(c=v)}else if(p>0){if(v<c)return;v<h&&(h=v)}return c>0&&(r[0]=o+c*f,r[1]=a+c*p),h<1&&(e[0]=o+h*f,e[1]=a+h*p),!0}}}}}function Cc(r,e){return $e(r[0]-e[0])<he&&$e(r[1]-e[1])<he}function Sc(r,e,t,n){this.x=r,this.z=e,this.o=t,this.e=n,this.v=!1,this.n=this.p=null}function cv(r,e,t,n,i){var s=[],o=[],a,u;if(r.forEach(function(v){if(!((C=v.length-1)<=0)){var C,S=v[0],P=v[C],y;if(Cc(S,P)){for(i.lineStart(),a=0;a<C;++a)i.point((S=v[a])[0],S[1]);i.lineEnd();return}s.push(y=new Sc(S,v,null,!0)),o.push(y.o=new Sc(S,null,y,!1)),s.push(y=new Sc(P,v,null,!1)),o.push(y.o=new Sc(P,null,y,!0))}}),!!s.length){for(o.sort(e),hv(s),hv(o),a=0,u=o.length;a<u;++a)o[a].e=t=!t;for(var l=s[0],c,h;;){for(var f=l,p=!0;f.v;)if((f=f.n)===l)return;c=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(p)for(a=0,u=c.length;a<u;++a)i.point((h=c[a])[0],h[1]);else n(f.x,f.n.x,1,i);f=f.n}else{if(p)for(c=f.p.z,a=c.length-1;a>=0;--a)i.point((h=c[a])[0],h[1]);else n(f.x,f.p.x,-1,i);f=f.p}f=f.o,c=f.z,p=!p}while(!f.v);i.lineEnd()}}}function hv(r){if(e=r.length){for(var e,t=0,n=r[0],i;++t<e;)n.n=i=r[t],i.p=n,n=i;n.n=i=r[0],i.p=n}}function dv(r,e){return r<e?-1:r>e?1:r>=e?0:NaN}function oC(r){return r.length===1&&(r=aC(r)),{left:function(e,t,n,i){for(n==null&&(n=0),i==null&&(i=e.length);n<i;){var s=n+i>>>1;r(e[s],t)<0?n=s+1:i=s}return n},right:function(e,t,n,i){for(n==null&&(n=0),i==null&&(i=e.length);n<i;){var s=n+i>>>1;r(e[s],t)>0?i=s:n=s+1}return n}}}function aC(r){return function(e,t){return dv(r(e),t)}}oC(dv);function fv(r){for(var e=r.length,t,n=-1,i=0,s,o;++n<e;)i+=r[n].length;for(s=new Array(i);--e>=0;)for(o=r[e],t=o.length;--t>=0;)s[--i]=o[t];return s}var bc=1e9,Pc=-1e9;function uC(r,e,t,n){function i(l,c){return r<=l&&l<=t&&e<=c&&c<=n}function s(l,c,h,f){var p=0,v=0;if(l==null||(p=o(l,h))!==(v=o(c,h))||u(l,c)<0^h>0)do f.point(p===0||p===3?r:t,p>1?n:e);while((p=(p+h+4)%4)!==v);else f.point(c[0],c[1])}function o(l,c){return $e(l[0]-r)<he?c>0?0:3:$e(l[0]-t)<he?c>0?2:1:$e(l[1]-e)<he?c>0?1:0:c>0?3:2}function a(l,c){return u(l.x,c.x)}function u(l,c){var h=o(l,1),f=o(c,1);return h!==f?h-f:h===0?c[1]-l[1]:h===1?l[0]-c[0]:h===2?l[1]-c[1]:c[0]-l[0]}return function(l){var c=l,h=lv(),f,p,v,C,S,P,y,_,m,w,E,b={point:I,lineStart:O,lineEnd:L,polygonStart:D,polygonEnd:x};function I(J,H){i(J,H)&&c.point(J,H)}function T(){for(var J=0,H=0,Z=p.length;H<Z;++H)for(var ct=p[H],mt=1,Y=ct.length,$=ct[0],K,wt,At=$[0],Nt=$[1];mt<Y;++mt)K=At,wt=Nt,$=ct[mt],At=$[0],Nt=$[1],wt<=n?Nt>n&&(At-K)*(n-wt)>(Nt-wt)*(r-K)&&++J:Nt<=n&&(At-K)*(n-wt)<(Nt-wt)*(r-K)&&--J;return J}function D(){c=h,f=[],p=[],E=!0}function x(){var J=T(),H=E&&J,Z=(f=fv(f)).length;(H||Z)&&(l.polygonStart(),H&&(l.lineStart(),s(null,null,1,l),l.lineEnd()),Z&&cv(f,a,J,s,l),l.polygonEnd()),c=l,f=p=v=null}function O(){b.point=A,p&&p.push(v=[]),w=!0,m=!1,y=_=NaN}function L(){f&&(A(C,S),P&&m&&h.rejoin(),f.push(h.result())),b.point=I,m&&c.lineEnd()}function A(J,H){var Z=i(J,H);if(p&&v.push([J,H]),w)C=J,S=H,P=Z,w=!1,Z&&(c.lineStart(),c.point(J,H));else if(Z&&m)c.point(J,H);else{var ct=[y=Math.max(Pc,Math.min(bc,y)),_=Math.max(Pc,Math.min(bc,_))],mt=[J=Math.max(Pc,Math.min(bc,J)),H=Math.max(Pc,Math.min(bc,H))];sC(ct,mt,r,e,t,n)?(m||(c.lineStart(),c.point(ct[0],ct[1])),c.point(mt[0],mt[1]),Z||c.lineEnd(),E=!1):Z&&(c.lineStart(),c.point(J,H),E=!1)}y=J,_=H,m=Z}return b}}var Id=Ms();function lC(r,e){var t=e[0],n=e[1],i=[me(t),-ge(t),0],s=0,o=0;Id.reset();for(var a=0,u=r.length;a<u;++a)if(c=(l=r[a]).length)for(var l,c,h=l[c-1],f=h[0],p=h[1]/2+Qm,v=me(p),C=ge(p),S=0;S<c;++S,f=y,v=m,C=w,h=P){var P=l[S],y=P[0],_=P[1]/2+Qm,m=me(_),w=ge(_),E=y-f,b=E>=0?1:-1,I=b*E,T=I>zt,D=v*m;if(Id.add(Na(D*b*me(I),C*w+D*ge(I))),s+=T?E+b*Ii:E,T^f>=t^y>=t){var x=wc(Da(h),Da(P));bd(x);var O=wc(i,x);bd(O);var L=(T^E>=0?-1:1)*Eo(O[2]);(n>L||n===L&&(x[0]||x[1]))&&(o+=T^E>=0?1:-1)}}return(s<-1e-6||s<he&&Id<-1e-6)^o&1}Ms();function pv(r){return r}Ms(),Ms();var Ma=1/0,Ic=Ma,ol=-Ma,xc=ol,gv={point:cC,lineStart:sl,lineEnd:sl,polygonStart:sl,polygonEnd:sl,result:function(){var r=[[Ma,Ic],[ol,xc]];return ol=xc=-(Ic=Ma=1/0),r}};function cC(r,e){r<Ma&&(Ma=r),r>ol&&(ol=r),e<Ic&&(Ic=e),e>xc&&(xc=e)}Ms();function mv(r,e,t,n){return function(i,s){var o=e(s),a=i.invert(n[0],n[1]),u=lv(),l=e(u),c=!1,h,f,p,v={point:C,lineStart:P,lineEnd:y,polygonStart:function(){v.point=_,v.lineStart=m,v.lineEnd=w,f=[],h=[]},polygonEnd:function(){v.point=C,v.lineStart=P,v.lineEnd=y,f=fv(f);var E=lC(h,a);f.length?(c||(s.polygonStart(),c=!0),cv(f,dC,E,t,s)):E&&(c||(s.polygonStart(),c=!0),s.lineStart(),t(null,null,1,s),s.lineEnd()),c&&(s.polygonEnd(),c=!1),f=h=null},sphere:function(){s.polygonStart(),s.lineStart(),t(null,null,1,s),s.lineEnd(),s.polygonEnd()}};function C(E,b){var I=i(E,b);r(E=I[0],b=I[1])&&s.point(E,b)}function S(E,b){var I=i(E,b);o.point(I[0],I[1])}function P(){v.point=S,o.lineStart()}function y(){v.point=C,o.lineEnd()}function _(E,b){p.push([E,b]);var I=i(E,b);l.point(I[0],I[1])}function m(){l.lineStart(),p=[]}function w(){_(p[0][0],p[0][1]),l.lineEnd();var E=l.clean(),b=u.result(),I,T=b.length,D,x,O;if(p.pop(),h.push(p),p=null,!!T){if(E&1){if(x=b[0],(D=x.length-1)>0){for(c||(s.polygonStart(),c=!0),s.lineStart(),I=0;I<D;++I)s.point((O=x[I])[0],O[1]);s.lineEnd()}return}T>1&&E&2&&b.push(b.pop().concat(b.shift())),f.push(b.filter(hC))}}return v}}function hC(r){return r.length>1}function dC(r,e){return((r=r.x)[0]<0?r[1]-Pi-he:Pi-r[1])-((e=e.x)[0]<0?e[1]-Pi-he:Pi-e[1])}const vv=mv(function(){return!0},fC,gC,[-zt,-Pi]);function fC(r){var e=NaN,t=NaN,n=NaN,i;return{lineStart:function(){r.lineStart(),i=1},point:function(s,o){var a=s>0?zt:-zt,u=$e(s-e);$e(u-zt)<he?(r.point(e,t=(t+o)/2>0?Pi:-Pi),r.point(n,t),r.lineEnd(),r.lineStart(),r.point(a,t),r.point(s,t),i=0):n!==a&&u>=zt&&($e(e-n)<he&&(e-=n*he),$e(s-a)<he&&(s-=a*he),t=pC(e,t,s,o),r.point(n,t),r.lineEnd(),r.lineStart(),r.point(a,t),i=0),r.point(e=s,t=o),n=a},lineEnd:function(){r.lineEnd(),e=t=NaN},clean:function(){return 2-i}}}function pC(r,e,t,n){var i,s,o=me(r-t);return $e(o)>he?eC((me(e)*(s=ge(n))*me(t)-me(n)*(i=ge(e))*me(r))/(i*s*o)):(e+n)/2}function gC(r,e,t,n){var i;if(r==null)i=t*Pi,n.point(-zt,i),n.point(0,i),n.point(zt,i),n.point(zt,0),n.point(zt,-i),n.point(0,-i),n.point(-zt,-i),n.point(-zt,0),n.point(-zt,i);else if($e(r[0]-e[0])>he){var s=r[0]<e[0]?zt:-zt;i=t*s/2,n.point(-s,i),n.point(0,i),n.point(s,i)}else n.point(e[0],e[1])}function mC(r,e){var t=ge(r),n=t>0,i=$e(t)>he;function s(c,h,f,p){iC(p,r,e,f,c,h)}function o(c,h){return ge(c)*ge(h)>t}function a(c){var h,f,p,v,C;return{lineStart:function(){v=p=!1,C=1},point:function(S,P){var y=[S,P],_,m=o(S,P),w=n?m?0:l(S,P):m?l(S+(S<0?zt:-zt),P):0;if(!h&&(v=p=m)&&c.lineStart(),m!==p&&(_=u(h,y),(!_||Cc(h,_)||Cc(y,_))&&(y[0]+=he,y[1]+=he,m=o(y[0],y[1]))),m!==p)C=0,m?(c.lineStart(),_=u(y,h),c.point(_[0],_[1])):(_=u(h,y),c.point(_[0],_[1]),c.lineEnd()),h=_;else if(i&&h&&n^m){var E;!(w&f)&&(E=u(y,h,!0))&&(C=0,n?(c.lineStart(),c.point(E[0][0],E[0][1]),c.point(E[1][0],E[1][1]),c.lineEnd()):(c.point(E[1][0],E[1][1]),c.lineEnd(),c.lineStart(),c.point(E[0][0],E[0][1])))}m&&(!h||!Cc(h,y))&&c.point(y[0],y[1]),h=y,p=m,f=w},lineEnd:function(){p&&c.lineEnd(),h=null},clean:function(){return C|(v&&p)<<1}}}function u(c,h,f){var p=Da(c),v=Da(h),C=[1,0,0],S=wc(p,v),P=_c(S,S),y=S[0],_=P-y*y;if(!_)return!f&&c;var m=t*P/_,w=-t*y/_,E=wc(C,S),b=Ec(C,m),I=Ec(S,w);Sd(b,I);var T=E,D=_c(b,T),x=_c(T,T),O=D*D-x*(_c(b,b)-1);if(!(O<0)){var L=Oa(O),A=Ec(T,(-D-L)/x);if(Sd(A,b),A=Cd(A),!f)return A;var J=c[0],H=h[0],Z=c[1],ct=h[1],mt;H<J&&(mt=J,J=H,H=mt);var Y=H-J,$=$e(Y-zt)<he,K=$||Y<he;if(!$&&ct<Z&&(mt=Z,Z=ct,ct=mt),K?$?Z+ct>0^A[1]<($e(A[0]-J)<he?Z:ct):Z<=A[1]&&A[1]<=ct:Y>zt^(J<=A[0]&&A[0]<=H)){var wt=Ec(T,(-D+L)/x);return Sd(wt,b),[A,Cd(wt)]}}}function l(c,h){var f=n?r:zt-r,p=0;return c<-f?p|=1:c>f&&(p|=2),h<-f?p|=4:h>f&&(p|=8),p}return mv(o,a,s,n?[0,-r]:[-zt,r-zt])}function yv(r){return function(e){var t=new xd;for(var n in r)t[n]=r[n];return t.stream=e,t}}function xd(){}xd.prototype={constructor:xd,point:function(r,e){this.stream.point(r,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function _v(r,e,t){var n=e[1][0]-e[0][0],i=e[1][1]-e[0][1],s=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),s!=null&&r.clipExtent(null),nC(t,r.stream(gv));var o=gv.result(),a=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),u=+e[0][0]+(n-a*(o[1][0]+o[0][0]))/2,l=+e[0][1]+(i-a*(o[1][1]+o[0][1]))/2;return s!=null&&r.clipExtent(s),r.scale(a*150).translate([u,l])}function vC(r,e,t){return _v(r,[[0,0],e],t)}var wv=16,yC=ge(30*Sr);function Ev(r,e){return+e?wC(r,e):_C(r)}function _C(r){return yv({point:function(e,t){e=r(e,t),this.stream.point(e[0],e[1])}})}function wC(r,e){function t(n,i,s,o,a,u,l,c,h,f,p,v,C,S){var P=l-n,y=c-i,_=P*P+y*y;if(_>4*e&&C--){var m=o+f,w=a+p,E=u+v,b=Oa(m*m+w*w+E*E),I=Eo(E/=b),T=$e($e(E)-1)<he||$e(s-h)<he?(s+h)/2:Na(w,m),D=r(T,I),x=D[0],O=D[1],L=x-n,A=O-i,J=y*L-P*A;(J*J/_>e||$e((P*L+y*A)/_-.5)>.3||o*f+a*p+u*v<yC)&&(t(n,i,s,o,a,u,x,O,T,m/=b,w/=b,E,C,S),S.point(x,O),t(x,O,T,m,w,E,l,c,h,f,p,v,C,S))}}return function(n){var i,s,o,a,u,l,c,h,f,p,v,C,S={point:P,lineStart:y,lineEnd:m,polygonStart:function(){n.polygonStart(),S.lineStart=w},polygonEnd:function(){n.polygonEnd(),S.lineStart=y}};function P(I,T){I=r(I,T),n.point(I[0],I[1])}function y(){h=NaN,S.point=_,n.lineStart()}function _(I,T){var D=Da([I,T]),x=r(I,T);t(h,f,c,p,v,C,h=x[0],f=x[1],c=I,p=D[0],v=D[1],C=D[2],wv,n),n.point(h,f)}function m(){S.point=P,n.lineEnd()}function w(){y(),S.point=E,S.lineEnd=b}function E(I,T){_(i=I,T),s=h,o=f,a=p,u=v,l=C,S.point=_}function b(){t(h,f,c,p,v,C,s,o,i,a,u,l,wv,n),S.lineEnd=m,m()}return S}}var EC=yv({point:function(r,e){this.stream.point(r*Sr,e*Sr)}});function CC(r){return SC(function(){return r})()}function SC(r){var e,t=150,n=480,i=250,s,o,a=0,u=0,l=0,c=0,h=0,f,p,v=null,C=vv,S=null,P,y,_,m=pv,w=.5,E=Ev(x,w),b,I;function T(A){return A=p(A[0]*Sr,A[1]*Sr),[A[0]*t+s,o-A[1]*t]}function D(A){return A=p.invert((A[0]-s)/t,(o-A[1])/t),A&&[A[0]*Rs,A[1]*Rs]}function x(A,J){return A=e(A,J),[A[0]*t+s,o-A[1]*t]}T.stream=function(A){return b&&I===A?b:b=EC(C(f,E(m(I=A))))},T.clipAngle=function(A){return arguments.length?(C=+A?mC(v=A*Sr,6*Sr):(v=null,vv),L()):v*Rs},T.clipExtent=function(A){return arguments.length?(m=A==null?(S=P=y=_=null,pv):uC(S=+A[0][0],P=+A[0][1],y=+A[1][0],_=+A[1][1]),L()):S==null?null:[[S,P],[y,_]]},T.scale=function(A){return arguments.length?(t=+A,O()):t},T.translate=function(A){return arguments.length?(n=+A[0],i=+A[1],O()):[n,i]},T.center=function(A){return arguments.length?(a=A[0]%360*Sr,u=A[1]%360*Sr,O()):[a*Rs,u*Rs]},T.rotate=function(A){return arguments.length?(l=A[0]%360*Sr,c=A[1]%360*Sr,h=A.length>2?A[2]%360*Sr:0,O()):[l*Rs,c*Rs,h*Rs]},T.precision=function(A){return arguments.length?(E=Ev(x,w=A*A),L()):Oa(w)},T.fitExtent=function(A,J){return _v(T,A,J)},T.fitSize=function(A,J){return vC(T,A,J)};function O(){p=iv(f=rC(l,c,h),e);var A=e(a,u);return s=n-A[0]*t,o=i+A[1]*t,L()}function L(){return b=I=null,T}return function(){return e=r.apply(this,arguments),T.invert=e.invert&&D,O()}}function Cv(r){return function(e,t){var n=ge(e),i=ge(t),s=r(n*i);return[s*i*me(e),s*me(t)]}}function Sv(r){return function(e,t){var n=Oa(e*e+t*t),i=r(n),s=me(i),o=ge(i);return[Na(e*s,n*o),Eo(n&&t*s/n)]}}var bC=Cv(function(r){return Oa(2/(1+r))});bC.invert=Sv(function(r){return 2*Eo(r/2)});var bv=Cv(function(r){return(r=tv(r))&&r/me(r)});bv.invert=Sv(function(r){return r});function PC(){return CC(bv).scale(79.4188).clipAngle(180-.001)}function Pv(r,e){return[r,e]}Pv.invert=Pv;function IC(r,e,t){t=t||{};var n=t.units||"kilometers",i=t.steps||8;if(!r)throw new Error("geojson is required");if(typeof t!="object")throw new Error("options must be an object");if(typeof i!="number")throw new Error("steps must be an number");if(e===void 0)throw new Error("radius is required");if(i<=0)throw new Error("steps must be greater than 0");var s=[];switch(r.type){case"GeometryCollection":return Xl(r,function(o){var a=Tc(o,e,n,i);a&&s.push(a)}),ra(s);case"FeatureCollection":return ql(r,function(o){var a=Tc(o,e,n,i);a&&ql(a,function(u){u&&s.push(u)})}),ra(s)}return Tc(r,e,n,i)}function Tc(r,e,t,n){var i=r.properties||{},s=r.type==="Feature"?r.geometry:r;if(s.type==="GeometryCollection"){var o=[];return Xl(r,function(C){var S=Tc(C,e,t,n);S&&o.push(S)}),ra(o)}var a=xC(s),u={type:s.type,coordinates:xv(s.coordinates,a)},l=new hd,c=l.read(u),h=qh(Xh(e,t),"meters"),f=Ne.bufferOp(c,h,n),p=new Mm;if(f=p.write(f),!Iv(f.coordinates)){var v={type:f.type,coordinates:Tv(f.coordinates,a)};return Ar(v,i)}}function Iv(r){return Array.isArray(r[0])?Iv(r[0]):isNaN(r[0])}function xv(r,e){return typeof r[0]!="object"?e(r):r.map(function(t){return xv(t,e)})}function Tv(r,e){return typeof r[0]!="object"?e.invert(r):r.map(function(t){return Tv(t,e)})}function xC(r){var e=kE(r).geometry.coordinates,t=[-e[0],-e[1]];return PC().rotate(t).scale(Ze)}function TC(r,e,t){t===void 0&&(t={});for(var n=t.steps||64,i=t.properties?t.properties:!Array.isArray(r)&&r.type==="Feature"&&r.properties?r.properties:{},s=[],o=0;o<n;o++)s.push(ia(r,e,o*-360/n,t).geometry.coordinates);return s.push(s[0]),Sn([s],i)}/**
45
45
  * splaytree v3.1.2
46
46
  * Fast Splay tree for Node and browser
47
47
  *
@@ -61,8 +61,8 @@ ${u.map(c=>`${c.id} ${c.typeName}
61
61
 
62
62
  See the Apache Version 2.0 License for specific language governing permissions
63
63
  and limitations under the License.
64
- ***************************************************************************** */function xC(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(l){return function(c){return u([l,c])}}function u(l){if(n)throw new TypeError("Generator is already executing.");for(;t;)try{if(n=1,i&&(s=l[0]&2?i.return:l[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,l[1])).done)return s;switch(i=0,s&&(l=[l[0]&2,s.value]),l[0]){case 0:case 1:s=l;break;case 4:return t.label++,{value:l[1],done:!1};case 5:t.label++,i=l[1],l=[0];continue;case 7:l=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!s||l[1]>s[0]&&l[1]<s[3])){t.label=l[1];break}if(l[0]===6&&t.label<s[1]){t.label=s[1],s=l;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(l);break}s[2]&&t.ops.pop(),t.trys.pop();continue}l=e.call(r,t)}catch(c){l=[6,c],i=0}finally{n=s=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}var Ls=function(){function r(e,t){this.next=null,this.key=e,this.data=t,this.left=null,this.right=null}return r}();function TC(r,e){return r>e?1:r<e?-1:0}function Fs(r,e,t){for(var n=new Ls(null,null),i=n,s=n;;){var o=t(r,e.key);if(o<0){if(e.left===null)break;if(t(r,e.left.key)<0){var a=e.left;if(e.left=a.right,a.right=e,e=a,e.left===null)break}s.left=e,s=e,e=e.left}else if(o>0){if(e.right===null)break;if(t(r,e.right.key)>0){var a=e.right;if(e.right=a.left,a.left=e,e=a,e.right===null)break}i.right=e,i=e,e=e.right}else break}return i.right=e.left,s.left=e.right,e.left=n.right,e.right=n.left,e}function Td(r,e,t,n){var i=new Ls(r,e);if(t===null)return i.left=i.right=null,i;t=Fs(r,t,n);var s=n(r,t.key);return s<0?(i.left=t.left,i.right=t,t.left=null):s>=0&&(i.right=t.right,i.left=t,t.right=null),i}function Nv(r,e,t){var n=null,i=null;if(e){e=Fs(r,e,t);var s=t(e.key,r);s===0?(n=e.left,i=e.right):s<0?(i=e.right,e.right=null,n=e):(n=e.left,e.left=null,i=e)}return{left:n,right:i}}function NC(r,e,t){return e===null?r:(r===null||(e=Fs(r.key,e,t),e.left=r),e)}function Nd(r,e,t,n,i){if(r){n(""+e+(t?"└── ":"├── ")+i(r)+`
65
- `);var s=e+(t?" ":"│ ");r.left&&Nd(r.left,s,!1,n,i),r.right&&Nd(r.right,s,!0,n,i)}}var Od=function(){function r(e){e===void 0&&(e=TC),this._root=null,this._size=0,this._comparator=e}return r.prototype.insert=function(e,t){return this._size++,this._root=Td(e,t,this._root,this._comparator)},r.prototype.add=function(e,t){var n=new Ls(e,t);this._root===null&&(n.left=n.right=null,this._size++,this._root=n);var i=this._comparator,s=Fs(e,this._root,i),o=i(e,s.key);return o===0?this._root=s:(o<0?(n.left=s.left,n.right=s,s.left=null):o>0&&(n.right=s.right,n.left=s,s.right=null),this._size++,this._root=n),this._root},r.prototype.remove=function(e){this._root=this._remove(e,this._root,this._comparator)},r.prototype._remove=function(e,t,n){var i;if(t===null)return null;t=Fs(e,t,n);var s=n(e,t.key);return s===0?(t.left===null?i=t.right:(i=Fs(e,t.left,n),i.right=t.right),this._size--,i):t},r.prototype.pop=function(){var e=this._root;if(e){for(;e.left;)e=e.left;return this._root=Fs(e.key,this._root,this._comparator),this._root=this._remove(e.key,this._root,this._comparator),{key:e.key,data:e.data}}return null},r.prototype.findStatic=function(e){for(var t=this._root,n=this._comparator;t;){var i=n(e,t.key);if(i===0)return t;i<0?t=t.left:t=t.right}return null},r.prototype.find=function(e){return this._root&&(this._root=Fs(e,this._root,this._comparator),this._comparator(e,this._root.key)!==0)?null:this._root},r.prototype.contains=function(e){for(var t=this._root,n=this._comparator;t;){var i=n(e,t.key);if(i===0)return!0;i<0?t=t.left:t=t.right}return!1},r.prototype.forEach=function(e,t){for(var n=this._root,i=[],s=!1;!s;)n!==null?(i.push(n),n=n.left):i.length!==0?(n=i.pop(),e.call(t,n),n=n.right):s=!0;return this},r.prototype.range=function(e,t,n,i){for(var s=[],o=this._comparator,a=this._root,u;s.length!==0||a;)if(a)s.push(a),a=a.left;else{if(a=s.pop(),u=o(a.key,t),u>0)break;if(o(a.key,e)>=0&&n.call(i,a))return this;a=a.right}return this},r.prototype.keys=function(){var e=[];return this.forEach(function(t){var n=t.key;return e.push(n)}),e},r.prototype.values=function(){var e=[];return this.forEach(function(t){var n=t.data;return e.push(n)}),e},r.prototype.min=function(){return this._root?this.minNode(this._root).key:null},r.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},r.prototype.minNode=function(e){if(e===void 0&&(e=this._root),e)for(;e.left;)e=e.left;return e},r.prototype.maxNode=function(e){if(e===void 0&&(e=this._root),e)for(;e.right;)e=e.right;return e},r.prototype.at=function(e){for(var t=this._root,n=!1,i=0,s=[];!n;)if(t)s.push(t),t=t.left;else if(s.length>0){if(t=s.pop(),i===e)return t;i++,t=t.right}else n=!0;return null},r.prototype.next=function(e){var t=this._root,n=null;if(e.right){for(n=e.right;n.left;)n=n.left;return n}for(var i=this._comparator;t;){var s=i(e.key,t.key);if(s===0)break;s<0?(n=t,t=t.left):t=t.right}return n},r.prototype.prev=function(e){var t=this._root,n=null;if(e.left!==null){for(n=e.left;n.right;)n=n.right;return n}for(var i=this._comparator;t;){var s=i(e.key,t.key);if(s===0)break;s<0?t=t.left:(n=t,t=t.right)}return n},r.prototype.clear=function(){return this._root=null,this._size=0,this},r.prototype.toList=function(){return DC(this._root)},r.prototype.load=function(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!1);var i=e.length,s=this._comparator;if(n&&Rd(e,t,0,i-1,s),this._root===null)this._root=Dd(e,t,0,i),this._size=i;else{var o=MC(this.toList(),OC(e,t),s);i=this._size+i,this._root=Md({head:o},0,i)}return this},r.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(r.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),r.prototype.toString=function(e){e===void 0&&(e=function(n){return String(n.key)});var t=[];return Nd(this._root,"",!0,function(n){return t.push(n)},e),t.join("")},r.prototype.update=function(e,t,n){var i=this._comparator,s=Nv(e,this._root,i),o=s.left,a=s.right;i(e,t)<0?a=Td(t,n,a,i):o=Td(t,n,o,i),this._root=NC(o,a,i)},r.prototype.split=function(e){return Nv(e,this._root,this._comparator)},r.prototype[Symbol.iterator]=function(){var e,t,n;return xC(this,function(i){switch(i.label){case 0:e=this._root,t=[],n=!1,i.label=1;case 1:return n?[3,6]:e===null?[3,2]:(t.push(e),e=e.left,[3,5]);case 2:return t.length===0?[3,4]:(e=t.pop(),[4,e]);case 3:return i.sent(),e=e.right,[3,5];case 4:n=!0,i.label=5;case 5:return[3,1];case 6:return[2]}})},r}();function Dd(r,e,t,n){var i=n-t;if(i>0){var s=t+Math.floor(i/2),o=r[s],a=e[s],u=new Ls(o,a);return u.left=Dd(r,e,t,s),u.right=Dd(r,e,s+1,n),u}return null}function OC(r,e){for(var t=new Ls(null,null),n=t,i=0;i<r.length;i++)n=n.next=new Ls(r[i],e[i]);return n.next=null,t.next}function DC(r){for(var e=r,t=[],n=!1,i=new Ls(null,null),s=i;!n;)e?(t.push(e),e=e.left):t.length>0?(e=s=s.next=t.pop(),e=e.right):n=!0;return s.next=null,i.next}function Md(r,e,t){var n=t-e;if(n>0){var i=e+Math.floor(n/2),s=Md(r,e,i),o=r.head;return o.left=s,r.head=r.head.next,o.right=Md(r,i+1,t),o}return null}function MC(r,e,t){for(var n=new Ls(null,null),i=n,s=r,o=e;s!==null&&o!==null;)t(s.key,o.key)<0?(i.next=s,s=s.next):(i.next=o,o=o.next),i=i.next;return s!==null?i.next=s:o!==null&&(i.next=o),n.next}function Rd(r,e,t,n,i){if(!(t>=n)){for(var s=r[t+n>>1],o=t-1,a=n+1;;){do o++;while(i(r[o],s)<0);do a--;while(i(r[a],s)>0);if(o>=a)break;var u=r[o];r[o]=r[a],r[a]=u,u=e[o],e[o]=e[a],e[a]=u}Rd(r,e,t,a,i),Rd(r,e,a+1,n,i)}}const is=11102230246251565e-32,gn=134217729,RC=(3+8*is)*is;function Ld(r,e,t,n,i){let s,o,a,u,l=e[0],c=n[0],h=0,f=0;c>l==c>-l?(s=l,l=e[++h]):(s=c,c=n[++f]);let p=0;if(h<r&&f<t)for(c>l==c>-l?(o=l+s,a=s-(o-l),l=e[++h]):(o=c+s,a=s-(o-c),c=n[++f]),s=o,a!==0&&(i[p++]=a);h<r&&f<t;)c>l==c>-l?(o=s+l,u=o-s,a=s-(o-u)+(l-u),l=e[++h]):(o=s+c,u=o-s,a=s-(o-u)+(c-u),c=n[++f]),s=o,a!==0&&(i[p++]=a);for(;h<r;)o=s+l,u=o-s,a=s-(o-u)+(l-u),l=e[++h],s=o,a!==0&&(i[p++]=a);for(;f<t;)o=s+c,u=o-s,a=s-(o-u)+(c-u),c=n[++f],s=o,a!==0&&(i[p++]=a);return(s!==0||p===0)&&(i[p++]=s),p}function LC(r,e){let t=e[0];for(let n=1;n<r;n++)t+=e[n];return t}function al(r){return new Float64Array(r)}const FC=(3+16*is)*is,AC=(2+12*is)*is,kC=(9+64*is)*is*is,Ra=al(4),Ov=al(8),Dv=al(12),Mv=al(16),Mn=al(4);function VC(r,e,t,n,i,s,o){let a,u,l,c,h,f,p,v,C,S,P,y,_,m,w,E,b,I;const T=r-i,D=t-i,x=e-s,O=n-s;m=T*O,f=gn*T,p=f-(f-T),v=T-p,f=gn*O,C=f-(f-O),S=O-C,w=v*S-(m-p*C-v*C-p*S),E=x*D,f=gn*x,p=f-(f-x),v=x-p,f=gn*D,C=f-(f-D),S=D-C,b=v*S-(E-p*C-v*C-p*S),P=w-b,h=w-P,Ra[0]=w-(P+h)+(h-b),y=m+P,h=y-m,_=m-(y-h)+(P-h),P=_-E,h=_-P,Ra[1]=_-(P+h)+(h-E),I=y+P,h=I-y,Ra[2]=y-(I-h)+(P-h),Ra[3]=I;let L=LC(4,Ra),A=AC*o;if(L>=A||-L>=A||(h=r-T,a=r-(T+h)+(h-i),h=t-D,l=t-(D+h)+(h-i),h=e-x,u=e-(x+h)+(h-s),h=n-O,c=n-(O+h)+(h-s),a===0&&u===0&&l===0&&c===0)||(A=kC*o+RC*Math.abs(L),L+=T*c+O*a-(x*l+D*u),L>=A||-L>=A))return L;m=a*O,f=gn*a,p=f-(f-a),v=a-p,f=gn*O,C=f-(f-O),S=O-C,w=v*S-(m-p*C-v*C-p*S),E=u*D,f=gn*u,p=f-(f-u),v=u-p,f=gn*D,C=f-(f-D),S=D-C,b=v*S-(E-p*C-v*C-p*S),P=w-b,h=w-P,Mn[0]=w-(P+h)+(h-b),y=m+P,h=y-m,_=m-(y-h)+(P-h),P=_-E,h=_-P,Mn[1]=_-(P+h)+(h-E),I=y+P,h=I-y,Mn[2]=y-(I-h)+(P-h),Mn[3]=I;const J=Ld(4,Ra,4,Mn,Ov);m=T*c,f=gn*T,p=f-(f-T),v=T-p,f=gn*c,C=f-(f-c),S=c-C,w=v*S-(m-p*C-v*C-p*S),E=x*l,f=gn*x,p=f-(f-x),v=x-p,f=gn*l,C=f-(f-l),S=l-C,b=v*S-(E-p*C-v*C-p*S),P=w-b,h=w-P,Mn[0]=w-(P+h)+(h-b),y=m+P,h=y-m,_=m-(y-h)+(P-h),P=_-E,h=_-P,Mn[1]=_-(P+h)+(h-E),I=y+P,h=I-y,Mn[2]=y-(I-h)+(P-h),Mn[3]=I;const H=Ld(J,Ov,4,Mn,Dv);m=a*c,f=gn*a,p=f-(f-a),v=a-p,f=gn*c,C=f-(f-c),S=c-C,w=v*S-(m-p*C-v*C-p*S),E=u*l,f=gn*u,p=f-(f-u),v=u-p,f=gn*l,C=f-(f-l),S=l-C,b=v*S-(E-p*C-v*C-p*S),P=w-b,h=w-P,Mn[0]=w-(P+h)+(h-b),y=m+P,h=y-m,_=m-(y-h)+(P-h),P=_-E,h=_-P,Mn[1]=_-(P+h)+(h-E),I=y+P,h=I-y,Mn[2]=y-(I-h)+(P-h),Mn[3]=I;const Z=Ld(H,Dv,4,Mn,Mv);return Mv[Z-1]}function BC(r,e,t,n,i,s){const o=(e-s)*(t-i),a=(r-i)*(n-s),u=o-a,l=Math.abs(o+a);return Math.abs(u)>=FC*l?u:-VC(r,e,t,n,i,s,l)}const ul=(r,e)=>r.ll.x<=e.x&&e.x<=r.ur.x&&r.ll.y<=e.y&&e.y<=r.ur.y,Fd=(r,e)=>{if(e.ur.x<r.ll.x||r.ur.x<e.ll.x||e.ur.y<r.ll.y||r.ur.y<e.ll.y)return null;const t=r.ll.x<e.ll.x?e.ll.x:r.ll.x,n=r.ur.x<e.ur.x?r.ur.x:e.ur.x,i=r.ll.y<e.ll.y?e.ll.y:r.ll.y,s=r.ur.y<e.ur.y?r.ur.y:e.ur.y;return{ll:{x:t,y:i},ur:{x:n,y:s}}};let As=Number.EPSILON;As===void 0&&(As=Math.pow(2,-52));const jC=As*As,Rv=(r,e)=>{if(-As<r&&r<As&&-As<e&&e<As)return 0;const t=r-e;return t*t<jC*r*e?0:r<e?-1:1};class zC{constructor(){this.reset()}reset(){this.xRounder=new Lv,this.yRounder=new Lv}round(e,t){return{x:this.xRounder.round(e),y:this.yRounder.round(t)}}}class Lv{constructor(){this.tree=new Od,this.round(0)}round(e){const t=this.tree.add(e),n=this.tree.prev(t);if(n!==null&&Rv(t.key,n.key)===0)return this.tree.remove(e),n.key;const i=this.tree.next(t);return i!==null&&Rv(t.key,i.key)===0?(this.tree.remove(e),i.key):e}}const ll=new zC,Nc=(r,e)=>r.x*e.y-r.y*e.x,Fv=(r,e)=>r.x*e.x+r.y*e.y,Av=(r,e,t)=>{const n=BC(r.x,r.y,e.x,e.y,t.x,t.y);return n>0?-1:n<0?1:0},Oc=r=>Math.sqrt(Fv(r,r)),UC=(r,e,t)=>{const n={x:e.x-r.x,y:e.y-r.y},i={x:t.x-r.x,y:t.y-r.y};return Nc(i,n)/Oc(i)/Oc(n)},GC=(r,e,t)=>{const n={x:e.x-r.x,y:e.y-r.y},i={x:t.x-r.x,y:t.y-r.y};return Fv(i,n)/Oc(i)/Oc(n)},kv=(r,e,t)=>e.y===0?null:{x:r.x+e.x/e.y*(t-r.y),y:t},Vv=(r,e,t)=>e.x===0?null:{x:t,y:r.y+e.y/e.x*(t-r.x)},WC=(r,e,t,n)=>{if(e.x===0)return Vv(t,n,r.x);if(n.x===0)return Vv(r,e,t.x);if(e.y===0)return kv(t,n,r.y);if(n.y===0)return kv(r,e,t.y);const i=Nc(e,n);if(i==0)return null;const s={x:t.x-r.x,y:t.y-r.y},o=Nc(s,e)/i,a=Nc(s,n)/i,u=r.x+a*e.x,l=t.x+o*n.x,c=r.y+a*e.y,h=t.y+o*n.y,f=(u+l)/2,p=(c+h)/2;return{x:f,y:p}};class br{static compare(e,t){const n=br.comparePoints(e.point,t.point);return n!==0?n:(e.point!==t.point&&e.link(t),e.isLeft!==t.isLeft?e.isLeft?1:-1:ks.compare(e.segment,t.segment))}static comparePoints(e,t){return e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0}constructor(e,t){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=t}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const t=e.point.events;for(let n=0,i=t.length;n<i;n++){const s=t[n];this.point.events.push(s),s.point=this.point}this.checkForConsuming()}checkForConsuming(){const e=this.point.events.length;for(let t=0;t<e;t++){const n=this.point.events[t];if(n.segment.consumedBy===void 0)for(let i=t+1;i<e;i++){const s=this.point.events[i];s.consumedBy===void 0&&n.otherSE.point.events===s.otherSE.point.events&&n.segment.consume(s.segment)}}}getAvailableLinkedEvents(){const e=[];for(let t=0,n=this.point.events.length;t<n;t++){const i=this.point.events[t];i!==this&&!i.segment.ringOut&&i.segment.isInResult()&&e.push(i)}return e}getLeftmostComparator(e){const t=new Map,n=i=>{const s=i.otherSE;t.set(i,{sine:UC(this.point,e.point,s.point),cosine:GC(this.point,e.point,s.point)})};return(i,s)=>{t.has(i)||n(i),t.has(s)||n(s);const{sine:o,cosine:a}=t.get(i),{sine:u,cosine:l}=t.get(s);return o>=0&&u>=0?a<l?1:a>l?-1:0:o<0&&u<0?a<l?-1:a>l?1:0:u<o?-1:u>o?1:0}}}let HC=0;class ks{static compare(e,t){const n=e.leftSE.point.x,i=t.leftSE.point.x,s=e.rightSE.point.x,o=t.rightSE.point.x;if(o<n)return 1;if(s<i)return-1;const a=e.leftSE.point.y,u=t.leftSE.point.y,l=e.rightSE.point.y,c=t.rightSE.point.y;if(n<i){if(u<a&&u<l)return 1;if(u>a&&u>l)return-1;const h=e.comparePoint(t.leftSE.point);if(h<0)return 1;if(h>0)return-1;const f=t.comparePoint(e.rightSE.point);return f!==0?f:-1}if(n>i){if(a<u&&a<c)return-1;if(a>u&&a>c)return 1;const h=t.comparePoint(e.leftSE.point);if(h!==0)return h;const f=e.comparePoint(t.rightSE.point);return f<0?1:f>0?-1:1}if(a<u)return-1;if(a>u)return 1;if(s<o){const h=t.comparePoint(e.rightSE.point);if(h!==0)return h}if(s>o){const h=e.comparePoint(t.rightSE.point);if(h<0)return 1;if(h>0)return-1}if(s!==o){const h=l-a,f=s-n,p=c-u,v=o-i;if(h>f&&p<v)return 1;if(h<f&&p>v)return-1}return s>o?1:s<o||l<c?-1:l>c?1:e.id<t.id?-1:e.id>t.id?1:0}constructor(e,t,n,i){this.id=++HC,this.leftSE=e,e.segment=this,e.otherSE=t,this.rightSE=t,t.segment=this,t.otherSE=e,this.rings=n,this.windings=i}static fromRing(e,t,n){let i,s,o;const a=br.comparePoints(e,t);if(a<0)i=e,s=t,o=1;else if(a>0)i=t,s=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const u=new br(i,!0),l=new br(s,!1);return new ks(u,l,[n],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e<t?e:t},ur:{x:this.rightSE.point.x,y:e>t?e:t}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(e){return e.x===this.leftSE.point.x&&e.y===this.leftSE.point.y||e.x===this.rightSE.point.x&&e.y===this.rightSE.point.y}comparePoint(e){if(this.isAnEndpoint(e))return 0;const t=this.leftSE.point,n=this.rightSE.point,i=this.vector();if(t.x===n.x)return e.x===t.x?0:e.x<t.x?1:-1;const s=(e.y-t.y)/i.y,o=t.x+s*i.x;if(e.x===o)return 0;const a=(e.x-t.x)/i.x,u=t.y+a*i.y;return e.y===u?0:e.y<u?-1:1}getIntersection(e){const t=this.bbox(),n=e.bbox(),i=Fd(t,n);if(i===null)return null;const s=this.leftSE.point,o=this.rightSE.point,a=e.leftSE.point,u=e.rightSE.point,l=ul(t,a)&&this.comparePoint(a)===0,c=ul(n,s)&&e.comparePoint(s)===0,h=ul(t,u)&&this.comparePoint(u)===0,f=ul(n,o)&&e.comparePoint(o)===0;if(c&&l)return f&&!h?o:!f&&h?u:null;if(c)return h&&s.x===u.x&&s.y===u.y?null:s;if(l)return f&&o.x===a.x&&o.y===a.y?null:a;if(f&&h)return null;if(f)return o;if(h)return u;const p=WC(s,this.vector(),a,e.vector());return p===null||!ul(i,p)?null:ll.round(p.x,p.y)}split(e){const t=[],n=e.events!==void 0,i=new br(e,!0),s=new br(e,!1),o=this.rightSE;this.replaceRightSE(s),t.push(s),t.push(i);const a=new ks(i,o,this.rings.slice(),this.windings.slice());return br.comparePoints(a.leftSE.point,a.rightSE.point)>0&&a.swapEvents(),br.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),n&&(i.checkForConsuming(),s.checkForConsuming()),t}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let t=0,n=this.windings.length;t<n;t++)this.windings[t]*=-1}consume(e){let t=this,n=e;for(;t.consumedBy;)t=t.consumedBy;for(;n.consumedBy;)n=n.consumedBy;const i=ks.compare(t,n);if(i!==0){if(i>0){const s=t;t=n,n=s}if(t.prev===n){const s=t;t=n,n=s}for(let s=0,o=n.rings.length;s<o;s++){const a=n.rings[s],u=n.windings[s],l=t.rings.indexOf(a);l===-1?(t.rings.push(a),t.windings.push(u)):t.windings[l]+=u}n.rings=null,n.windings=null,n.consumedBy=t,n.leftSE.consumedBy=t.leftSE,n.rightSE.consumedBy=t.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const e=this.prev.consumedBy||this.prev;this._beforeState=e.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const e=this.beforeState();this._afterState={rings:e.rings.slice(0),windings:e.windings.slice(0),multiPolys:[]};const t=this._afterState.rings,n=this._afterState.windings,i=this._afterState.multiPolys;for(let a=0,u=this.rings.length;a<u;a++){const l=this.rings[a],c=this.windings[a],h=t.indexOf(l);h===-1?(t.push(l),n.push(c)):n[h]+=c}const s=[],o=[];for(let a=0,u=t.length;a<u;a++){if(n[a]===0)continue;const l=t[a],c=l.poly;if(o.indexOf(c)===-1)if(l.isExterior)s.push(c);else{o.indexOf(c)===-1&&o.push(c);const h=s.indexOf(l.poly);h!==-1&&s.splice(h,1)}}for(let a=0,u=s.length;a<u;a++){const l=s[a].multiPoly;i.indexOf(l)===-1&&i.push(l)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const e=this.beforeState().multiPolys,t=this.afterState().multiPolys;switch(Qr.type){case"union":{const n=e.length===0,i=t.length===0;this._isInResult=n!==i;break}case"intersection":{let n,i;e.length<t.length?(n=e.length,i=t.length):(n=t.length,i=e.length),this._isInResult=i===Qr.numMultiPolys&&n<i;break}case"xor":{const n=Math.abs(e.length-t.length);this._isInResult=n%2===1;break}case"difference":{const n=i=>i.length===1&&i[0].isSubject;this._isInResult=n(e)!==n(t);break}default:throw new Error(`Unrecognized operation type found ${Qr.type}`)}return this._isInResult}}class Bv{constructor(e,t,n){if(!Array.isArray(e)||e.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=t,this.isExterior=n,this.segments=[],typeof e[0][0]!="number"||typeof e[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const i=ll.round(e[0][0],e[0][1]);this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};let s=i;for(let o=1,a=e.length;o<a;o++){if(typeof e[o][0]!="number"||typeof e[o][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let u=ll.round(e[o][0],e[o][1]);u.x===s.x&&u.y===s.y||(this.segments.push(ks.fromRing(s,u,this)),u.x<this.bbox.ll.x&&(this.bbox.ll.x=u.x),u.y<this.bbox.ll.y&&(this.bbox.ll.y=u.y),u.x>this.bbox.ur.x&&(this.bbox.ur.x=u.x),u.y>this.bbox.ur.y&&(this.bbox.ur.y=u.y),s=u)}(i.x!==s.x||i.y!==s.y)&&this.segments.push(ks.fromRing(s,i,this))}getSweepEvents(){const e=[];for(let t=0,n=this.segments.length;t<n;t++){const i=this.segments[t];e.push(i.leftSE),e.push(i.rightSE)}return e}}class qC{constructor(e,t){if(!Array.isArray(e))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new Bv(e[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let n=1,i=e.length;n<i;n++){const s=new Bv(e[n],this,!1);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=t}getSweepEvents(){const e=this.exteriorRing.getSweepEvents();for(let t=0,n=this.interiorRings.length;t<n;t++){const i=this.interiorRings[t].getSweepEvents();for(let s=0,o=i.length;s<o;s++)e.push(i[s])}return e}}class jv{constructor(e,t){if(!Array.isArray(e))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof e[0][0][0]=="number"&&(e=[e])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let n=0,i=e.length;n<i;n++){const s=new qC(e[n],this);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=t}getSweepEvents(){const e=[];for(let t=0,n=this.polys.length;t<n;t++){const i=this.polys[t].getSweepEvents();for(let s=0,o=i.length;s<o;s++)e.push(i[s])}return e}}class Dc{static factory(e){const t=[];for(let n=0,i=e.length;n<i;n++){const s=e[n];if(!s.isInResult()||s.ringOut)continue;let o=null,a=s.leftSE,u=s.rightSE;const l=[a],c=a.point,h=[];for(;o=a,a=u,l.push(a),a.point!==c;)for(;;){const f=a.getAvailableLinkedEvents();if(f.length===0){const C=l[0].point,S=l[l.length-1].point;throw new Error(`Unable to complete output ring starting at [${C.x}, ${C.y}]. Last matching segment found ends at [${S.x}, ${S.y}].`)}if(f.length===1){u=f[0].otherSE;break}let p=null;for(let C=0,S=h.length;C<S;C++)if(h[C].point===a.point){p=C;break}if(p!==null){const C=h.splice(p)[0],S=l.splice(C.index);S.unshift(S[0].otherSE),t.push(new Dc(S.reverse()));continue}h.push({index:l.length,point:a.point});const v=a.getLeftmostComparator(o);u=f.sort(v)[0].otherSE;break}t.push(new Dc(l))}return t}constructor(e){this.events=e;for(let t=0,n=e.length;t<n;t++)e[t].segment.ringOut=this;this.poly=null}getGeom(){let e=this.events[0].point;const t=[e];for(let l=1,c=this.events.length-1;l<c;l++){const h=this.events[l].point,f=this.events[l+1].point;Av(h,e,f)!==0&&(t.push(h),e=h)}if(t.length===1)return null;const n=t[0],i=t[1];Av(n,e,i)===0&&t.shift(),t.push(t[0]);const s=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:t.length-1,a=this.isExteriorRing()?t.length:-1,u=[];for(let l=o;l!=a;l+=s)u.push([t[l].x,t[l].y]);return u}isExteriorRing(){if(this._isExteriorRing===void 0){const e=this.enclosingRing();this._isExteriorRing=e?!e.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let e=this.events[0];for(let i=1,s=this.events.length;i<s;i++){const o=this.events[i];br.compare(e,o)>0&&(e=o)}let t=e.segment.prevInResult(),n=t?t.prevInResult():null;for(;;){if(!t)return null;if(!n)return t.ringOut;if(n.ringOut!==t.ringOut)return n.ringOut.enclosingRing()!==t.ringOut?t.ringOut:t.ringOut.enclosingRing();t=n.prevInResult(),n=t?t.prevInResult():null}}}class zv{constructor(e){this.exteriorRing=e,e.poly=this,this.interiorRings=[]}addInterior(e){this.interiorRings.push(e),e.poly=this}getGeom(){const e=[this.exteriorRing.getGeom()];if(e[0]===null)return null;for(let t=0,n=this.interiorRings.length;t<n;t++){const i=this.interiorRings[t].getGeom();i!==null&&e.push(i)}return e}}class XC{constructor(e){this.rings=e,this.polys=this._composePolys(e)}getGeom(){const e=[];for(let t=0,n=this.polys.length;t<n;t++){const i=this.polys[t].getGeom();i!==null&&e.push(i)}return e}_composePolys(e){const t=[];for(let n=0,i=e.length;n<i;n++){const s=e[n];if(!s.poly)if(s.isExteriorRing())t.push(new zv(s));else{const o=s.enclosingRing();o.poly||t.push(new zv(o)),o.poly.addInterior(s)}}return t}}class YC{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ks.compare;this.queue=e,this.tree=new Od(t),this.segments=[]}process(e){const t=e.segment,n=[];if(e.consumedBy)return e.isLeft?this.queue.remove(e.otherSE):this.tree.remove(t),n;const i=e.isLeft?this.tree.add(t):this.tree.find(t);if(!i)throw new Error(`Unable to find segment #${t.id} [${t.leftSE.point.x}, ${t.leftSE.point.y}] -> [${t.rightSE.point.x}, ${t.rightSE.point.y}] in SweepLine tree.`);let s=i,o=i,a,u;for(;a===void 0;)s=this.tree.prev(s),s===null?a=null:s.key.consumedBy===void 0&&(a=s.key);for(;u===void 0;)o=this.tree.next(o),o===null?u=null:o.key.consumedBy===void 0&&(u=o.key);if(e.isLeft){let l=null;if(a){const h=a.getIntersection(t);if(h!==null&&(t.isAnEndpoint(h)||(l=h),!a.isAnEndpoint(h))){const f=this._splitSafely(a,h);for(let p=0,v=f.length;p<v;p++)n.push(f[p])}}let c=null;if(u){const h=u.getIntersection(t);if(h!==null&&(t.isAnEndpoint(h)||(c=h),!u.isAnEndpoint(h))){const f=this._splitSafely(u,h);for(let p=0,v=f.length;p<v;p++)n.push(f[p])}}if(l!==null||c!==null){let h=null;l===null?h=c:c===null?h=l:h=br.comparePoints(l,c)<=0?l:c,this.queue.remove(t.rightSE),n.push(t.rightSE);const f=t.split(h);for(let p=0,v=f.length;p<v;p++)n.push(f[p])}n.length>0?(this.tree.remove(t),n.push(e)):(this.segments.push(t),t.prev=a)}else{if(a&&u){const l=a.getIntersection(u);if(l!==null){if(!a.isAnEndpoint(l)){const c=this._splitSafely(a,l);for(let h=0,f=c.length;h<f;h++)n.push(c[h])}if(!u.isAnEndpoint(l)){const c=this._splitSafely(u,l);for(let h=0,f=c.length;h<f;h++)n.push(c[h])}}}this.tree.remove(t)}return n}_splitSafely(e,t){this.tree.remove(e);const n=e.rightSE;this.queue.remove(n);const i=e.split(t);return i.push(n),e.consumedBy===void 0&&this.tree.add(e),i}}const Uv=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,JC=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class $C{run(e,t,n){Qr.type=e,ll.reset();const i=[new jv(t,!0)];for(let h=0,f=n.length;h<f;h++)i.push(new jv(n[h],!1));if(Qr.numMultiPolys=i.length,Qr.type==="difference"){const h=i[0];let f=1;for(;f<i.length;)Fd(i[f].bbox,h.bbox)!==null?f++:i.splice(f,1)}if(Qr.type==="intersection")for(let h=0,f=i.length;h<f;h++){const p=i[h];for(let v=h+1,C=i.length;v<C;v++)if(Fd(p.bbox,i[v].bbox)===null)return[]}const s=new Od(br.compare);for(let h=0,f=i.length;h<f;h++){const p=i[h].getSweepEvents();for(let v=0,C=p.length;v<C;v++)if(s.insert(p[v]),s.size>Uv)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}const o=new YC(s);let a=s.size,u=s.pop();for(;u;){const h=u.key;if(s.size===a){const p=h.segment;throw new Error(`Unable to pop() ${h.isLeft?"left":"right"} SweepEvent [${h.point.x}, ${h.point.y}] from segment #${p.id} [${p.leftSE.point.x}, ${p.leftSE.point.y}] -> [${p.rightSE.point.x}, ${p.rightSE.point.y}] from queue.`)}if(s.size>Uv)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(o.segments.length>JC)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");const f=o.process(h);for(let p=0,v=f.length;p<v;p++){const C=f[p];C.consumedBy===void 0&&s.insert(C)}a=s.size,u=s.pop()}ll.reset();const l=Dc.factory(o.segments);return new XC(l).getGeom()}}const Qr=new $C;var Ad={union:function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Qr.run("union",r,t)},intersection:function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Qr.run("intersection",r,t)},xor:function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Qr.run("xor",r,t)},difference:function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Qr.run("difference",r,t)}};function KC(r,e){var t=qn(r),n=qn(e),i=r.properties||{},s=Ad.difference(t.coordinates,n.coordinates);return s.length===0?null:s.length===1?Sn(s[0],i):Hh(s,i)}function ZC(r,e,t){t===void 0&&(t={});var n=qn(r),i=qn(e),s=Ad.intersection(n.coordinates,i.coordinates);return s.length===0?null:s.length===1?Sn(s[0],t.properties):Hh(s,t.properties)}function QC(r,e,t){t===void 0&&(t={});var n=qn(r),i=qn(e),s=Ad.union(n.coordinates,i.coordinates);return s.length===0?null:s.length===1?Sn(s[0],t.properties):Hh(s,t.properties)}function Gv(r,e){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=ZC(Sn([r]),Sn([e]));if(t)return t.geometry.coordinates}function Wv(r,e){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=QC(Sn([r]),Sn([e]));if(t)return t.geometry.coordinates}function Hv(r,e=500,t="meters"){const n=bC(kr(r),e,{units:t});if(n)return n.geometry.coordinates}function qv(r,e){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=KC(Sn([r]),Sn([e]));if(t)return t.geometry.coordinates}function Xv(r,e,t=10,n="meters"){return IC(r,e,{steps:t,units:n}).geometry.coordinates}function kd(r,e){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=Sn([r]),n=Sn([e]);return vE(t,n)?"oneBig":IE(t,n)?"twoBig":!1}function Yv(r){const e=gs($s(r,["0"])),t=gs($s(r,["1"])),n=gs($s(r,["2"])),i=zi($s(r,["0"])),s=zi($s(r,["1"])),o=zi($s(r,["2"]));return{minPos:[e,t,n],maxPos:[i,s,o],center:[(e+i)*.5,(t+s)*.5,(n+o)*.5]}}function Jv(r){const{minPos:e,maxPos:t,center:n}=Yv(r);if(e.some(a=>!Number.isFinite(a)||t.some(u=>!Number.isFinite(u))||n.some(u=>!Number.isFinite(u)))){console.warn("geoCenterAndRadiusFromPositions error: minPos.some(e => !Number.isFinite(e) || maxPos.some(e => !Number.isFinite(e)) || center.some(e => !Number.isFinite(e))");return}const i=$l(e,t);let s=i*.5;const o=Math.abs(e[2]-t[2]);return o!=0&&(s=Math.sqrt(i*i+o*o)*.5),{center:n,radius:s}}function $v(r,e){const t=Fr(r),n=Fr(e);return g.Vector.distance(t,n)}function cl(r,e){const t=[],n=r.length;let i=0;for(let s=0;s<n-1;++s){if(e===void 0||e==="GEODESIC"){const o=$l(r[s],r[s+1]),a=Math.abs(r[s][2]-r[s+1][2]);if(a===0)i+=o;else{const u=Math.sqrt(o*o+a*a);i+=u}}else if(e==="RHUMB"){const o=gm(r[s],r[s+1]),a=Math.abs(r[s][2]-r[s+1][2]);if(a===0)i+=o;else{const u=Math.sqrt(o*o+a*a);i+=u}}else if(e==="NONE"){const o=$v(r[s],r[s+1]);i+=o}else console.warn(`未知的arcType: ${e},导致距离无法计算!`);t.push(i)}return t}function Vd(r){const e="__getXyzFromPostion";let t=Wn(r,e);return(!t||!g.Vector.equals(t[0],r))&&(t=[[...r],Fr(r)],ci(r,e,t)),t[1]}class tS{constructor(e){this.points=e.points||[],this.duration=e.duration||1e4,this.sharpness=e.sharpness||.85,this.centers=[],this.controls=[],this.stepLength=e.stepLength||60,this.length=this.points.length,this.delay=0;for(let t=0;t<this.length;t++)this.points[t].z=this.points[t].z||0;for(let t=0;t<this.length-1;t++){const n=this.points[t],i=this.points[t+1];this.centers.push({x:(n.x+i.x)/2,y:(n.y+i.y)/2,z:(n.z+i.z)/2})}this.controls.push([this.points[0],this.points[0]]);for(let t=0;t<this.centers.length-1;t++){const n=this.points[t+1].x-(this.centers[t].x+this.centers[t+1].x)/2,i=this.points[t+1].y-(this.centers[t].y+this.centers[t+1].y)/2,s=this.points[t+1].z-(this.centers[t].z+this.centers[t+1].z)/2;this.controls.push([{x:(1-this.sharpness)*this.points[t+1].x+this.sharpness*(this.centers[t].x+n),y:(1-this.sharpness)*this.points[t+1].y+this.sharpness*(this.centers[t].y+i),z:(1-this.sharpness)*this.points[t+1].z+this.sharpness*(this.centers[t].z+s)},{x:(1-this.sharpness)*this.points[t+1].x+this.sharpness*(this.centers[t+1].x+n),y:(1-this.sharpness)*this.points[t+1].y+this.sharpness*(this.centers[t+1].y+i),z:(1-this.sharpness)*this.points[t+1].z+this.sharpness*(this.centers[t+1].z+s)}])}return this.controls.push([this.points[this.length-1],this.points[this.length-1]]),this.steps=this.cacheSteps(this.stepLength),this}cacheSteps(e){const t=[];let n=this.pos(0);t.push(0);for(let i=0;i<this.duration;i+=10){const s=this.pos(i);Math.sqrt((s.x-n.x)*(s.x-n.x)+(s.y-n.y)*(s.y-n.y)+(s.z-n.z)*(s.z-n.z))>e&&(t.push(i),n=s)}return t}vector(e){const t=this.pos(e+10),n=this.pos(e-10);return{angle:180*Math.atan2(t.y-n.y,t.x-n.x)/3.14,speed:Math.sqrt((n.x-t.x)*(n.x-t.x)+(n.y-t.y)*(n.y-t.y)+(n.z-t.z)*(n.z-t.z))}}pos(e){let t=e-this.delay;t<0&&(t=0),t>this.duration&&(t=this.duration-1);const n=t/this.duration;if(n>=1)return this.points[this.length-1];const i=Math.floor((this.points.length-1)*n),s=(this.length-1)*n-i;return eS(s,this.points[i],this.controls[i][1],this.controls[i+1][0],this.points[i+1])}}function eS(r,e,t,n,i){const s=nS(r);return{x:i.x*s[0]+n.x*s[1]+t.x*s[2]+e.x*s[3],y:i.y*s[0]+n.y*s[1]+t.y*s[2]+e.y*s[3],z:i.z*s[0]+n.z*s[1]+t.z*s[2]+e.z*s[3]}}function nS(r){const e=r*r;return[e*r,3*e*(1-r),3*r*(1-r)*(1-r),(1-r)*(1-r)*(1-r)]}function rS(r,e){e===void 0&&(e={});var t=e.resolution||1e3,n=e.sharpness||.85;const i=[],s=r.map(l=>{const[c,h,f]=Fr(l);return{x:c,y:h,z:f}});for(var o=new tS({duration:t,points:s,sharpness:n}),a=function(l){var c=o.pos(l);const h=Wh([c.x,c.y,c.z]);i.push(h)},u=0;u<o.duration;u+=10)a(u);return a(o.duration),i}function Kv(r,e,t){return rS(r,{resolution:e,sharpness:t})}class Zv extends ta{constructor(e){super(e)}get propUiTree(){return this.uiTree}}class Bd extends Qo{constructor(e,t,n){super(e,t),this._property=n}get property(){return this._property}}class jd extends Bd{constructor(e,t){super(e,!1,t)}}class zd extends Bd{constructor(e,t){super(e,!0,t)}get groupChildren(){return this.children}}function Qv(r,e){const t=new Zv(e),n=r.getProperties("chinese"),i=[];for(let s of n)if(s instanceof ut){const o=new zd(t,s);o.d(()=>s.destroy()),t.children.push(o),i.push(o)}else{const o=new jd(t,s);t.children.push(o),o.d(()=>s.destroy())}for(;i.length>0;){const s=i.pop();if(!s)throw new Error("should not be here!");const o=s;if(!(o.property instanceof ut))throw new Error("!(treeItem.property instanceof GroupProperty)");for(let a of o.property.children)if(a instanceof ut){const u=new zd(t,a);u.d(()=>a.destroy()),o.groupChildren.push(u),i.push(u)}else{const u=new jd(t,a);o.groupChildren.push(u),u.d(()=>a.destroy())}}return t.d(()=>{t.itemChildrenChanged.reset(),t.itemChildrenToChange.reset();const s=[...t.getDescendants()];s.forEach(o=>{o.children&&(o.children.length=0),o.destroy()}),s.length=0}),t}class La extends B{constructor(t){super();d(this,"_propTreeReact",this.dv(V(void 0)));this.d(()=>this._propTreeReact.value=void 0),this.dv(new we(this.sceneObjectChanged,n=>{if(!n)return;const i=new B;return i.d(n.toDestroyEvent.don(()=>{this.sceneObject=void 0})),i})),this.d(this.sceneObjectChanged.don(n=>{this._propTreeReact.value=void 0,!(!n||!(n instanceof rt))&&(this._propTreeReact.value=Qv(n,t))}))}get propTree(){return this._propTreeReact.value}get propTreeChanged(){return this._propTreeReact.changed}}(r=>{r.createDefaultProps=()=>({sceneObject:void 0})})(La||(La={})),ji(La.prototype,La.createDefaultProps);function Ud(r){return ps(r,(e,t)=>e[0]===t[0]&&e[1]===t[1],e=>[...e])}function ty(r,e){const t=new Array;for(let n of r)t.push(e(n));return t}function Gd(r,e){return r===void 0&&e===void 0?!0:!r||!e?!1:r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]}function iS(r,e,t){var i;((i=e.attachedViewers.values().toArray()[0])==null?void 0:i.getEngineObject(e))?t.call(r):(r.dispose(e.viewerAttached.don(()=>{t.call(r)})),r.dispose(e.createdEvent.don(()=>t.call(r))))}function sS(r,e,t,n=!0){n&&t(),r.dispose(e.disposableOn(t))}function oS(r,e){const{type:t,id:n}=r;if(t){const i=rt.create(t,n);if(i)return i.json=r,i;console.warn(`cannot create sceneObject from type(${t})`)}else console.warn(`cannot create sceneObject from type(${t})`)}function ey(r){const e=r.children&&ch(r.children,n=>{if(!(n instanceof mn))throw new Error("!(treeItem instanceof SceneTreeItem)");return!n.show})||!1,t=r.sceneTree.getSceneObjectShowFunc(r.sceneObject);return!e||t}class mn extends Qo{constructor(t,n=!1,i,s,o=!0){super(t,n,i);d(this,"_dragDrop");d(this,"_showChangedNotAffectChildren",!1);d(this,"_showChangedNotAffectParent",!1);d(this,"_type",this.dv(V("Unknown")));d(this,"_isExport",this.dv(V(!0)));const a=()=>this.tree&&this.tree.itemsChanged.emit([this]);this.dispose(this.nameChanged.disposableOn(a)),this.name=`未命名条目(${this.id})`,this.extras=s,this._isExport.value=o;let u;const l=()=>{u&&(u(),u=void 0)};this.dispose(l),this.dispose(this.sceneObjectChanged.disposableOn(c=>{l(),c&&(u=nt([this,"name"],[c,"name"]))})),this.dispose(this.showChanged.disposableOn(c=>{if(t.setSceneObjectShowFunc(this.sceneObject,c),this.tree&&this.tree.forceRedraw(),this.children&&!this._showChangedNotAffectChildren)for(let h of this.children)h instanceof mn&&(h._showChangedNotAffectParent=!0,h.show=c,h._showChangedNotAffectParent=!1);this.parent&&this.parent instanceof mn&&!this._showChangedNotAffectParent&&(this.parent._showChangedNotAffectChildren=!0,this.parent.show=ey(this.parent),this.parent._showChangedNotAffectChildren=!1)})),this.dv(new we(this.sceneObjectChanged,()=>{if(!this.sceneObject)return;const c=new B;if("show"in this.sceneObject&&"showChanged"in this.sceneObject&&this.sceneObject.showChanged instanceof N){const h=()=>{this.show=t.getSceneObjectShowFunc(this.sceneObject)};h(),c.dispose(this.sceneObject.showChanged.disposableOn(h))}else if("enabled"in this.sceneObject&&"enabledChanged"in this.sceneObject&&this.sceneObject.enabledChanged instanceof N){const h=()=>{this.show=t.getSceneObjectShowFunc(this.sceneObject)};h(),c.dispose(this.sceneObject.enabledChanged.disposableOn(h))}return c})),this.childrenChangedEvent.disposableOn(()=>{const c=ey(this);this._showChangedNotAffectChildren=!0,this.show=c,this._showChangedNotAffectChildren=!1});{const c=()=>{let h="Unknown";this.sceneObject?h=this.sceneObject.typeName:this.children&&(h="Folder"),this._type.value=h};this.dispose(this.sceneObjectChanged.disposableOn(c)),this.dispose(this.childrenResetedEvent.disposableOn(c)),c()}}get dragDrop(){return this._dragDrop||(this._dragDrop=this.dv(this.sceneTree.createTreeItemDragDropFunc(this))),this._dragDrop}get type(){return this._type.value}get typeChanged(){return this._type.changed}get isExport(){return this._isExport.value}get isExportChanged(){return this._isExport.changed}set isExport(t){this._isExport.value=t}get sceneTree(){return this.tree}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(t){try{this.json=JSON.parse(t)}catch(n){console.error(`sceneTreeItem.jsonStr error ${n}`,n)}}get json(){const t=this.children&&[...this.children].filter(n=>n.isExport).map(n=>n.json);return{name:this.name,show:this.show?void 0:!1,collapsed:this.uiTreeObject.collapsed?!0:void 0,sceneObj:this.sceneObject&&this.sceneObject.json,children:t,extras:this.extras}}set json(t){if(t.name!==void 0&&(this.name=t.name),this.extras=t.extras,this._showChangedNotAffectChildren=!0,this._showChangedNotAffectParent=!0,this.show=t.show??!0,this._showChangedNotAffectChildren=!1,this._showChangedNotAffectParent=!1,this.uiTreeObject.collapsed=t.collapsed??!1,this.sceneObject=void 0,t.sceneObj&&(this.sceneObject=this.sceneTree.createSceneObjectFunc(t.sceneObj,this)),!!t.children){if(this.resetChildren(!0),!this.children)throw new Error("resetChildren(true) cannot get children!");for(let n of t.children){const i=new mn(this.tree,!0);i.json=n,this.children.push(i)}}}clone(){try{const t=new mn(this.sceneTree,!!this.children,void 0,this.extras,this.isExport);return t.json=this.json,t.name=this.sceneTree.getSceneTreeItemCloneNameFunc(this),t}catch(t){console.error(`SceneTreeItem.clone error: ${t}`,t)}}insertNewTreeItem(t,n){if(t==="FolderInnerOrAfter"||t==="FolderInnerOrBefore"||t==="FolderInner"){if(n&&n.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&!(t.includes("Or")&&this.sceneObject))return n&&this.children.push(n),!0;if(t==="FolderInner")return!1;if(t==="FolderInnerOrAfter")return super.insertNewTreeItem("After",n);if(t==="FolderInnerOrBefore")return super.insertNewTreeItem("Before",n);throw new Error("should not be here!")}else return super.insertNewTreeItem(t,n)}}(r=>{r.createDefaultProps=()=>({name:"未命名条目",nameEditing:!1,sceneObject:void 0,show:!0,extras:Zt(void 0)})})(mn||(mn={})),ji(mn.prototype,mn.createDefaultProps);function ny(r,e,t){let{offsetY:n}=e;if(!e.target||!("clientTop"in e.target))return"none";n+=2,n+=e.target.clientTop;let i="none";return r.children?n<=t*.3?i="before":n>=t*.7?!r.uiTreeObject.collapsed&&r.children.length>0?i="inner":i="after":i="inner":n<=t*.5?i="before":i="after",i}class ry extends Lg{constructor(e){super(),this._treeItem=e;const{dragStartDataManager:t}=this._treeItem.sceneTree;let n="none";const i=this.disposeVar(Fp(()=>{this._treeItem.uiTreeObject.moveToPositionMode=n,console.log(`uiTreeObject.moveToPositionMode = lastDragMode(${n});`)},200));function s(o){n!==o&&(n=o,i.restart())}this.dispose(this._dragStartEvent.disposableOn(o=>{t.data={type:"UITreeA",value:this._treeItem}})),this.dispose(this._dragOverEvent.disposableOn(o=>{if(!o.dataTransfer)return;o.preventDefault();const a=t;if(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0){const u=a.data.value,l=this._treeItem,{tree:c}=l;if(c){const h=[...c.selectedItems];~h.indexOf(u)||h.push(u);const f=ny(l,o,c.itemDivHeight);if(f!=="none"&&ta.canMoveToTreeItems(h,l,f)){o.dataTransfer.dropEffect="move",s(f);return}}}o.dataTransfer.dropEffect="none",s("none")})),this.dispose(this._dropEvent.disposableOn(o=>{const a=t;if(!(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0))return;const u=a.data.value,l=this._treeItem,{tree:c}=l;if(!c)return;const h=[...c.selectedItems];~h.indexOf(u)||h.push(u);const f=ny(l,o,c.itemDivHeight);f!=="none"&&ta.canMoveToTreeItems(h,l,f)&&(ta.moveToTreeItems(h,l,f),a.data=void 0,s("none"))})),this.dispose(this._dragLeaveEvent.disposableOn(()=>{n="none",i.restart()}))}}function aS(r){if(!(r instanceof mn))throw new Error("defaultCreateTreeItemDragDrop !(treeItem instanceof SceneTreeItem)");return new ry(r)}function uS(r){let e=!1;return r&&("show"in r?e=r.show??!0:"enabled"in r&&(e=r.enabled??!0)),e}function lS(r,e){r&&("show"in r?r.show=e:"enabled"in r&&(r.enabled=e))}const cS=["EnvironmentVariables","ScriptsLoader","SceneScript","ScriptLoader"];function hS(r){const e=[],{root:t={}}=r,n=[t];for(;n.length>0;){const i=n.pop();if(!i)throw new Error("!todo");if(i.children){for(let s of i.children)if(s.children&&n.unshift(s),s.sceneObj){const{type:o=void 0}=s.sceneObj;o||(console.warn("sceneObjJson has no type! treeItem.sceneObj: "),console.warn(s.sceneObj)),o&&cS.includes(o)&&e.push(s.sceneObj)}}}return e}async function dS(r,e){const t=hS(r);let n=0;const i=t.length;for(let s of t)if(++n,e){const o=n/i;e(o,n,i)}}class iy extends B{constructor(t,n){super();d(this,"treeItemContexMenuCallback");this._sceneTree=t,this._projectManager=n}get sceneTree(){return this._sceneTree}}class fS extends B{constructor(t){super();d(this,"_jsonLoadingEvent",this.disposeVar(new N));d(this,"_setJsonProcessing",this.disposeVar(Hn(async(t,n)=>{this._jsonLoadingEvent.emit({type:"init"}),this._jsonLoadingEvent.emit({type:"loading"}),n&&await t.promise(this._sceneTree.preloadFunc(n)),this._setJson(n),this._jsonLoadingEvent.emit({type:"loaded"})})));this._sceneTree=t,this._setJsonProcessing.errorFunc=n=>{this._jsonLoadingEvent.emit({type:"error",error:n})}}get jsonLoadingEvent(){return this._jsonLoadingEvent}_setJson(t){try{this._sceneTree.setJson(t||{})}catch(n){console.error(`json数据装配时发生错误!error: ${n}`)}}get json(){return this._sceneTree.getJson()}set json(t){this._setJsonProcessing.restart(new Mr("JSON重新赋值!"),t)}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(t){this.json=JSON.parse(t)}}function pS(r){return r.name+"_clone"}function Wd(r,e,t){if(r instanceof mn)return r.insertNewTreeItem(e,t);{const n={FolderInnerOrAfter:"InnerOrAfter",FolderInnerOrBefore:"InnerOrBefore",FolderInner:"Inner",InnerOrAfter:"InnerOrAfter",InnerOrBefore:"InnerOrBefore",Inner:"Inner",After:"After",Before:"Before"};return r.insertNewTreeItem(n[e],t)}}function gS(r){[r,...r.getDescendants()].forEach(e=>e.destroy())}const Un=class Un extends ta{constructor(t,n,i,s){super(i);d(this,"_jsonLoading",this.disposeVar(new fS(this)));d(this,"createSceneObjectFunc",Un.defaultCreateSceneObjectFunc);d(this,"createTreeItemDragDropFunc",Un.defaultCreateTreeItemDragDropFunc);d(this,"preloadFunc",Un.defaultPreload);d(this,"getSceneObjectShowFunc",Un.defaultGetSceneObjectShow);d(this,"setSceneObjectShowFunc",Un.defaultSetSceneObjectShow);d(this,"getSceneTreeItemCloneNameFunc",Un.defaultGetSceneTreeItemCloneNameFunc);d(this,"debug",!1);d(this,"_contextMenu",this.disposeVar(new iy(this,this.projectManager)));d(this,"_showPropUiOnSelecting",this.disposeVar(V(!0)));this._name=t,this._dragStartDataManager=n,this._projectManager=s,this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{var a,u;globalThis.lssn=this.lastSelectedItem,globalThis.lsso=(a=this.lastSelectedItem)==null?void 0:a.sceneObject,this.debug&&console.log(((u=this.lastSelectedItem)==null?void 0:u.sceneObject)??"select null")}));const{sceneObjectsManager:o}=this._projectManager;this.dispose(this.itemsDeleted.disposableOn(a=>{for(let u of a){const l=u,{sceneObject:c}=l;c&&o.deleteSceneObject(c)&&c.destroy()&&Gl(c,void 0);for(let h of l.getDescendants()){const{sceneObject:f}=h;f&&o.deleteSceneObject(f)&&f.destroy()&&Gl(f,void 0)}gS(u)}})),this.dispose(this.itemsAdded.disposableOn(a=>{for(let u of a){const l=u;l.sceneObject&&o.addSceneObject(l.sceneObject)&&Gl(l.sceneObject,l)}})),this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{if(!this.showPropUiOnSelecting)return;this._projectManager.propUiTreeManager.sceneObject=void 0;const{lastSelectedItem:a}=this;a&&(this._projectManager.propUiTreeManager.sceneObject=a.sceneObject)}))}get json(){return this._jsonLoading.json}set json(t){this._jsonLoading.json=t}get jsonStr(){return this._jsonLoading.jsonStr}set jsonStr(t){this._jsonLoading.jsonStr=t}get jsonLoadingEvent(){return this._jsonLoading.jsonLoadingEvent}get name(){return this._name}get projectManager(){return this._projectManager}get contextMenu(){return this._contextMenu}get showPropUiOnSelecting(){return this._showPropUiOnSelecting.value}set showPropUiOnSelecting(t){this._showPropUiOnSelecting.value=t}get showPropUiOnSelectingChanged(){return this._showPropUiOnSelecting.changed}get sceneUiTree(){return this.uiTree}getTreeItemFromSceneObjId(t){const n=this.getDescendants();let i;for(let s of n)if(s.sceneObject&&s.sceneObject.id===t){i=s;break}return i}getTreeItemsFromSceneObjType(t){const n=this.getDescendants(),i=[],s=Array.isArray(t)?t:[t];for(let o of n)o.sceneObject&&s.includes(o.sceneObject.typeName)&&i.push(o);return i}getTreeItemsFromSceneObjName(t){var s;const n=this.getDescendants(),i=[];for(let o of n)(s=o.sceneObject)!=null&&s.name.includes(t)&&i.push(o);return i}get dragStartDataManager(){return this._dragStartDataManager}getJson(){return{root:{children:[...this.children].filter(t=>t.isExport).map(t=>t.json)}}}setJson(t){var i;t.root=t.root||{};const n=t.root.children??[];this.root.resetChildren(!0);for(let s of n){const o=new mn(this,!0);o.json=s,(i=this.root.children)==null||i.push(o)}}testAddNewTreeItem(t,n){const i=t||this.lastSelectedItem||this.root;return i?Wd(i,n):!1}addNewTreeItem(t,n,i,s){const o=t||this.lastSelectedItem||this.root;if(o&&Wd(o,n)){const a=new mn(this,i);if(a.sceneObject=s,!Wd(o,n,a))throw new Error("currentTreeItem.insertNewTreeItem return false!");return a}}createSceneObjectTreeItem(t,n,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=rt.create(t,n);return a?this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0,a):void 0}createGroupTreeItem(t,n,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0);if(!a){console.warn("addNewTreeItem error!");return}return a.name=t??"未命名组节点",a}createSceneObjectTreeItemFromClass(t,n,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o))return;const a=rt.createFromClass(t,n);return a?this.addNewTreeItem(i,o,!0,a):void 0}createSceneObjectTreeItemFromJson(t,n,i){const s=i??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(n,s))return;const o=rt.createFromJson(t);return console.log(o),o?this.addNewTreeItem(n,i??"FolderInnerOrAfter",!0,o):void 0}destroySceneObjectTreeItem(t){if(t===this.root){console.warn("cannot destroy root! please use function destroyAllSceneObjectTreeItems!");return}t.detachFromParent()}destroyAllSceneObjectTreeItems(){if(!this.root.children)return;const t=[...this.root.children];for(let n of t)this.destroySceneObjectTreeItem(n)}};d(Un,"defaultCreateSceneObjectFunc",oS),d(Un,"defaultCreateTreeItemDragDropFunc",aS),d(Un,"defaultPreload",dS),d(Un,"defaultGetSceneObjectShow",uS),d(Un,"defaultSetSceneObjectShow",lS),d(Un,"defaultGetSceneTreeItemCloneNameFunc",pS);let hl=Un;const Hd={saturation:.35,brightness:1.4,gamma:.8,atmosphereScatteringIntensity:5,groundColor:[0,.09411764705882353,.3137254901960784,1]};class mS extends B{constructor(t){super();d(this,"_currentPosition",this.disposeVar(ne(void 0)));d(this,"_currentRotation",this.disposeVar(ne(void 0)));d(this,"_currentHeading",this.disposeVar(V(void 0)));d(this,"_isRotating",this.disposeVar(V(!1)));d(this,"_isGround",this.disposeVar(V(!1)));d(this,"_startPosition",[0,0,0]);d(this,"_startRotation",[0,0,0]);d(this,"_processing",this.disposeVar(Hn(async(t,n,i,s)=>{const{currentPosition:o,currentRotation:a}=this;if(!o||s<=0||!a){this._currentPosition.value=n,this._currentRotation.value=i;return}const u=this._startPosition;u.splice(0,3,...o);const l=this._startRotation;l.splice(0,3,...a);let c=Date.now();const h=ku(u,n);this._currentHeading.value=h;const p=$l(u,n)/s,v=[i[0]-l[0],i[1]-l[1],i[2]-l[2]],C=n[2]-u[2];await t.promise(new Promise(S=>{t.disposer.dispose(Ol(async()=>{let P=Date.now()-c;P=P<0?0:P,P=P>s?s:P;const y=P*p,_=rm(u,y,h);if(this.isGround&&_){const m=await this._esviewer.getTerrainHeight([_[0],_[1]]);this._currentPosition.value=[_[0],_[1],m??0]}else _&&(_[2]+=C*(P/s)),this._currentPosition.value=_;if(this.isRotating){const[m,w,E]=v,b=P/s;this._currentRotation.value=[l[0]+m*b,l[1]+w*b,l[2]+E*b]}P===s&&(this._currentPosition.value=n,this.isRotating&&(this._currentRotation.value=i),this.isRotating=!1,this.isGround=!1,S())}))}))})));this._esviewer=t}get currentPosition(){return this._currentPosition.value}get currentPositionChanged(){return this._currentPosition.changed}get currentRotation(){return this._currentRotation.value}get currentRotationChanged(){return this._currentRotation.changed}get currentHeading(){return this._currentHeading.value}get currentHeadingChanged(){return this._currentHeading.changed}get isRotating(){return this._isRotating.value}set isRotating(t){this._isRotating.value=t}get isRotatingChanged(){return this._isRotating.changed}get isGround(){return this._isGround.value}set isGround(t){this._isGround.value=t}get isGroundChanged(){return this._isGround.changed}get processing(){return this._processing}restart(t,n,i){this._processing.restart(void 0,t,n,i)}cancel(){this._processing.cancel()}}function sy(r){let e=0;function t(n,i){i++,e=Math.max(i,e),n.forEach(s=>{Array.isArray(s)&&t(s,i)})}return t(r,0),e}const Ti=class Ti extends Wt{constructor(t){super(t);d(this,"editingBindMode","lineString");d(this,"_area",this.dv(V(0)));d(this,"_perimeter",this.dv(V(0)));this.d(Bi(this.pointsChanged,()=>{this._updateArea(),this._updatePerimeter()},{immediate:!0}))}updateEditing(){var n;const t=[];this.editingBindMode=="doublePoints"?t.push(et.DoublePointsAppend,et.DoublePointsModify):this.editingBindMode=="lineString"?t.push(et.LineStringAppend,et.LineStringInsert,et.Translation):this.editingBindMode=="circular"?(t.push(et.CircularAppend,et.CircularInsert,et.Translation),this.supportEditingModes().includes(et.HeightModify)&&t.push(et.HeightModify)):this.editingBindMode=="visibility"?t.push(et.VisibilityAppend,et.VisibilityModify):this.editingBindMode=="scatter"&&t.push(et.ScatterAppend,et.ScatterModify),(n=this.activeViewer)==null||n.startEditing(this,t,{callSource:"inner"})}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}_updateArea(){this._area.value=this.getArea()??0}_updatePerimeter(){this._perimeter.value=this.getPerimeter()??0}getArea(){if(this.points&&this.points.length>=3)return Kh([...this.points])}getDistance(){if(this.points&&this.points.length>=2){const t=cl(this.points,"GEODESIC");return t[t.length-1]}else return}getPerimeter(){if(this.points&&this.points.length>=3){const t=[...this.points,this.points[0]],n=cl(t,"GEODESIC");return n[n.length-1]}else return}getIntersect(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=Gv(this.points,t);if(!n)return;const i=n[0][0][0];if(Array.isArray(i)){const s=[...n],o=[];return s.forEach(a=>{const u=a[0].map(l=>[...l,0]);o.push(u)}),o}else return[[...n][0].map(a=>[...a,0])]}else return}getUnion(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=Wv(this.points,t);if(!n)return;const i=n[0][0][0];if(Array.isArray(i)){const s=[...n],o=[];return s.forEach(a=>{const u=a[0].map(l=>[...l,0]);o.push(u)}),o}else return[[...n][0].map(a=>[...a,0])]}else return}getDifference(t){if(this.points&&this.points.length>=3&&t.length>=3){let n=[...t];const i=t[0],s=t[t.length-1];i[0]===s[0]&&i[1]===s[1]&&i[2]===s[2]||n.push(i);const o=qv([...this.points,this.points[0]],[...n]);if(!o)return{status:"undefined",positions:void 0};const a=[...o];if(sy(a)===3){const u=a.map(f=>f.map(p=>[...p,0]));if(u.length<=1)return{status:"notIncluded",positions:u};const l=u[0],c=u[1];return kd([...l],[...c])==="oneBig"?{status:"included",positions:u}:{status:"notIncluded",positions:u}}else if(sy(a)===4){const l=[...a.map(h=>h.map(f=>f.map(p=>[...p,0])))],c=[];return l.forEach(h=>{c.push(h[0])}),{status:"notIncluded",positions:c}}else return{status:"undefined",positions:void 0}}else return{status:"undefined",positions:void 0}}getBuffer(t=500,n){if(this.points&&this.points.length>=2){const i=Hv(this.points,t,n);return i?[i[0].map(s=>[...s,0])]:void 0}else return}geoPolygonOverlap(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=kd(this.points,t);return n==="oneBig"?!0:n==="twoBig"?!1:void 0}else return}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",coordinate:[...t.coordinate,new X([this,"editing"],"编辑",!1),new it([this,"points"],"位置数组",Ti.defaults.points,void 0,!0)],style:[...t.style,new ut([],"点样式"),new X([this,"pointed"],"开启",!1),new M([this,"pointSize"],"点大小",1),new bt([this,"pointSizeType"],[["screen","screen"],["world","world"]],"点类型","screen"),new Dt([this,"pointColor"],"点颜色",[1,1,1,1]),new Dt([this,"pointOutlineColor"],"轮廓颜色",Ti.defaults.pointStyle.outlineColor),new M([this,"pointOutlineWidth"],"轮廓宽度",Ti.defaults.pointStyle.outlineWidth),new ut([],"线样式"),new X([this,"stroked"],"开启线样式",!0),new X([this,"strokeGround"],"贴地",!1),new M([this,"strokeWidth"],"线宽",1),new bt([this,"strokeWidthType"],[["screen","screen"],["world","world"]],"线类型","screen"),new Dt([this,"strokeColor"],"线颜色",[1,1,1,1]),new ut([],"面样式"),new X([this,"filled"],"开启",!1),new X([this,"fillGround"],"贴地",!1),new Dt([this,"fillColor"],"填充颜色",[1,1,1,1])],more:[...t.more,new ut([],"点样式集合"),new pt([this,"pointMaterial"],"点材质"),new it([this,"pointMaterialParams"],"点材质参数"),new ut([],"线样式集合"),new pt([this,"strokeMaterial"],"线材质"),new it([this,"strokeMaterialParams"],"线材质参数"),new ut([],"面样式集合"),new pt([this,"fillMaterial"],"面材质"),new it([this,"fillMaterialParams"],"面材质参数")]}}get pointSize(){return this.pointStyle.size}set pointSize(t){this.pointStyle={...this.pointStyle,size:t}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(t){this.pointStyle={...this.pointStyle,sizeType:t}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(t){this.pointStyle={...this.pointStyle,color:[...t]}}get pointColorChanged(){return this.pointStyleChanged}get pointOutlineColor(){return this.pointStyle.outlineColor}set pointOutlineColor(t){this.pointStyle={...this.pointStyle,outlineColor:[...t]}}get pointOutlineColorChanged(){return this.pointStyleChanged}get pointOutlineWidth(){return this.pointStyle.outlineWidth}set pointOutlineWidth(t){this.pointStyle={...this.pointStyle,outlineWidth:t}}get pointOutlineWidthChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(t){this.pointStyle={...this.pointStyle,material:t}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(t){this.pointStyle={...this.pointStyle,materialParams:t}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}};d(Ti,"createDefaultProps",()=>({...Wt.createDefaultProps(),pointed:!1,pointStyle:_t({size:10,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:2}),stroked:!1,strokeStyle:_t({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!1,fillStyle:_t({color:[1,1,1,1],material:"",materialParams:{},ground:!1}),points:xl([])})),d(Ti,"type",Ti.register("ESGeoVector",Ti,{chsName:"地理矢量",tags:["ESObjects"],description:"地理矢量"})),d(Ti,"supportEditingModes",[...Wt.supportEditingModes,et.Translation]);let Pt=Ti;const Po=class Po extends Wt{constructor(){super(...arguments);d(this,"_statusDis",this.dv(V(!0)));d(this,"_smoothMoveEvent",this.dv(new N));d(this,"_smoothMoveWithRotationEvent",this.dv(new N));d(this,"_smoothMoveOnGroundEvent",this.dv(new N));d(this,"_smoothMoveWithRotationOnGroundEvent",this.dv(new N));d(this,"_automaticLandingEvent",this.dv(new N));d(this,"_smoothMoveKeepPitchEvent",this.dv(new N));d(this,"_smoothMoveRelativelyEvent",this.dv(new N));d(this,"_smoothMoveRelativelyWithRotationEvent",this.dv(new N));d(this,"useCalcFlyToParamInESObjectWithLocation",!0)}updateEditing(){var n;const t=[];this.editingBindMode=="singlePoint"?(t.push(et.Place,et.Translation),["ESLocationMeasurement"].includes(this.typeName)||t.push(et.Rotation),["ESClippingPlane","ESLocationMeasurement","ESLocalRectangle","ESBoxClipping"].includes(this.typeName)||t.push(et.Scale)):this.editingBindMode=="doublePoints"&&t.push(et.DoublePointsAppend,et.DoublePointsModify),(n=this.activeViewer)==null||n.startEditing(this,t,{callSource:"inner"})}get statusDis(){return this._statusDis.value}get statusDisChanged(){return this._statusDis.changed}get smoothMoveEvent(){return this._smoothMoveEvent}smoothMove(t,n){this._smoothMoveEvent.emit(t,n)}get smoothMoveWithRotationEvent(){return this._smoothMoveWithRotationEvent}smoothMoveWithRotation(t,n,i){this._smoothMoveWithRotationEvent.emit(t,n,i)}get smoothMoveOnGroundEvent(){return this._smoothMoveOnGroundEvent}smoothMoveOnGround(t,n,i,s){this._smoothMoveOnGroundEvent.emit(t,n,i,s)}get smoothMoveWithRotationOnGroundEvent(){return this._smoothMoveWithRotationOnGroundEvent}smoothMoveWithRotationOnGround(t,n,i,s,o){this._smoothMoveWithRotationOnGroundEvent.emit(t,n,i,s,o)}get automaticLandingEvent(){return this._automaticLandingEvent}automaticLanding(){const t=this.collision;this.collision=!1,setTimeout(()=>{this._automaticLandingEvent.emit(t)},100)}get smoothMoveKeepPitchEvent(){return this._smoothMoveKeepPitchEvent}smoothMoveKeepPitch(t,n){this._smoothMoveKeepPitchEvent.emit(t,n)}get smoothMoveRelativelyEvent(){return this._smoothMoveRelativelyEvent}smoothMoveRelatively(t,n){this._smoothMoveRelativelyEvent.emit(t,n)}get smoothMoveRelativelyWithRotationEvent(){return this._smoothMoveRelativelyWithRotationEvent}smoothMoveRelativelyWithRotation(t,n,i){this._smoothMoveRelativelyWithRotationEvent.emit(t,n,i)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",location:[...t.location,new X([this,"editing"],"是否编辑"),new lt([],()=>this.automaticLanding(),[],"自动落地"),new ea([this,"position"],"位置数组",[0,0,0]),new jh([this,"rotation"],"姿态数组",[0,0,0]),new un([this,"scale"],"缩放",[1,1,1]),new M([this,"minVisibleDistance"],"最小可见距离",0),new M([this,"maxVisibleDistance"],"最大可见距离",0)],more:[...t.more,new lt(["numbers","number"],(n,i)=>this.smoothMove(n,i),[[0,0,0],0],"平滑移动","smoothMove"),new lt(["numbers","number"],(n,i)=>this.smoothMoveKeepPitch(n,i),[[0,0,0],0],"固定方向平滑移动","smoothMoveKeepPitch"),new lt(["numbers","numbers","number"],(n,i,s)=>this.smoothMoveWithRotation(n,i,s),[[0,0,0],[0,0,0],0],"平滑偏移","smoothMoveWithRotation"),new lt(["number","number","number","string"],(n,i,s,o)=>this.smoothMoveOnGround(n,i,s,o),[0,0,0,""],"贴地平滑移动","smoothMoveOnGround"),new lt(["numbers","number","number","number","string"],(n,i,s,o,a)=>this.smoothMoveWithRotationOnGround(n,i,s,o,a),[[0,0,0],0,0,0,""],"贴地平滑偏移","smoothMoveWithRotationOnGround"),new lt(["numbers","number"],(n,i)=>this.smoothMoveRelatively(n,i),[[0,0,0],0],"smoothMoveRelatively","smoothMoveRelatively"),new lt(["numbers","numbers","number"],(n,i,s)=>this.smoothMoveRelativelyWithRotation(n,i,s),[[0,0,0],[0,0,0],0],"smoothMoveRelativelyWithRotation","smoothMoveRelativelyWithRotation"),new X([this,"enableVisibleDistance"],"是否应用距离显隐")]}}get pointSize(){return this.pointStyle.size}set pointSize(t){this.pointStyle={...this.pointStyle,size:t}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(t){this.pointStyle={...this.pointStyle,sizeType:t}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(t){this.pointStyle={...this.pointStyle,color:[...t]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(t){this.pointStyle={...this.pointStyle,material:t}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(t){this.pointStyle={...this.pointStyle,materialParams:t}}get pointMaterialParamsChanged(){return this.pointStyleChanged}};d(Po,"createDefaultProps",()=>({...Wt.createDefaultProps(),pointed:!1,pointStyle:_t({size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:2}),position:dt([0,0,0]),rotation:dt([0,0,0]),scale:dt([1,1,1]),minVisibleDistance:V(0),maxVisibleDistance:V(0)})),d(Po,"type",Po.register("ESObjectWithLocation",Po,{chsName:"对象位置",tags:["ESObjects"],description:"对象位置"})),d(Po,"supportEditingModes",[...Wt.supportEditingModes,et.Place,et.Translation,et.Rotation,et.Scale,et.DoublePointsAppend,et.DoublePointsModify]);let st=Po;const za=class za extends st{getESProperties(){const e={...super.getESProperties()};return{...e,style:[...e.style,new ut([],"点样式集合"),new X([this,"pointed"],"开启点样式",!1),new M([this,"pointSize"],"点大小",1),new bt([this,"pointSizeType"],[["screen","screen"],["world","world"]],"点类型","screen"),new Dt([this,"pointColor"],"点颜色",[1,1,1,1]),new ut([],"线样式集合"),new X([this,"stroked"],"开启线样式",!1),new X([this,"strokeGround"],"是否贴地(线)",!1),new M([this,"strokeWidth"],"线宽",1),new bt([this,"strokeWidthType"],[["screen","screen"],["world","world"]],"线类型","screen"),new Dt([this,"strokeColor"],"线颜色",[1,1,1,1]),new ut([],"面样式集合"),new X([this,"filled"],"开启填充样式",!1),new X([this,"fillGround"],"是否贴地",!1),new Dt([this,"fillColor"],"填充颜色",[1,1,1,1])],more:[...e.more,new ut([],"点样式"),new pt([this,"pointMaterial"],"点材质",""),new it([this,"pointMaterialParams"],"点材质参数",{}),new ut([],"线样式"),new pt([this,"strokeMaterial"],"线材质",""),new it([this,"strokeMaterialParams"],"线材质参数",{}),new ut([],"填充样式"),new pt([this,"fillMaterial"],"面材质",""),new it([this,"fillMaterialParams"],"面材质参数",{})]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}};d(za,"createDefaultProps",()=>({...st.createDefaultProps(),pointed:!1,pointStyle:_t({size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:1}),stroked:!1,strokeStyle:_t({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!1,fillStyle:_t({color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(za,"type",za.register("ESLocalVector",za,{chsName:"本地矢量",tags:["ESObjects"],description:"本地矢量对象"}));let Fa=za;const wl=class wl extends Fa{};d(wl,"type",wl.register("ESLocalVector2D",wl,{chsName:"本地矢量2D",tags:["ESObjects"],description:"本地矢量2D对象"}));let ss=wl;const vS=[["固定朝向",0],["面向屏幕旋转",1],["绕自身Z轴旋转",2]],yS=[["单面不透明",0],["双面不透明",1],["单面遮罩",2],["双面遮罩",3],["单面透明",4],["双面透明",5],["单面未遮挡透明",6],["双面未遮挡透明",7]],Ua=class Ua extends st{constructor(){super(...arguments);d(this,"_widgetEvent",this.dv(new N))}get widgetEvent(){return this._widgetEvent}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new X([this,"screenRender"],"屏幕渲染",!0),new X([this,"sizeByContent"],"尺寸自适应",!0),new Fe([this,"size"],"尺寸大小",[100,100]),new Fe([this,"anchor"],"偏移比例",[.5,1]),new Fe([this,"offset"],"像素偏移",[0,0]),new bt([this,"renderMode"],yS,"渲染模式",0),new bt([this,"rotationType"],vS,"漫游旋转类型",1),new pt([this,"actorTag"],"绑定对象"),new pt([this,"socketName"],"插槽名称"),new un([this,"positionOffset"],"位置偏移"),new un([this,"rotationOffset"],"相对姿态")],more:[...t.more,new M([this,"zOrder"],"排序",0)]}}};d(Ua,"createDefaultProps",()=>({...st.createDefaultProps(),screenRender:!0,size:dt([100,100]),anchor:dt([.5,1]),offset:dt([0,0]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,actorTag:"",socketName:"",positionOffset:dt([0,0,0]),rotationOffset:dt([0,0,0])})),d(Ua,"type",Ua.register("ESLabel",Ua,{chsName:"标签",tags:["ESObjects"],description:"标签对象"}));let ir=Ua;const Ga=class Ga extends rt{constructor(e){super(e)}};d(Ga,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,fillStyle:_t({color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Ga,"type",Ga.register("ESTestObject",Ga,{chsName:"测试",tags:["ESObjects"],description:""}));let qd=Ga;const Ni=class Ni extends Wt{constructor(t){super(t);d(this,"_refreshTilesetEvent",this.dv(new N));d(this,"_tilesetReadyEvent",this.dv(new N));d(this,"_supportEdit",this.dv(V(!0)));d(this,"_highlightFeatureEvent",this.dv(new N));d(this,"_highlightFeatureAndFlyToEvent",this.dv(new N));d(this,"_strokeFeatureEvent",this.disposeVar(new N));d(this,"_getFeatureTableEvent",this.dv(new N));d(this,"_featureTableResultEvent",this.dv(new N));d(this,"_getMaterialNameListEvent",this.disposeVar(new N));d(this,"_setFeatureStyleEvent",this.dv(new N));d(this,"_setFeatureColorEvent",this.dv(new N));d(this,"_setFeatureVisableEvent",this.dv(new N));d(this,"_resetFeatureStyleEvent",this.dv(new N));d(this,"setMaterialInfoEvent",this.ad(new N));d(this,"_setMaterialEvent",this.disposeVar(new N));d(this,"_clippingPlanesId",this.dv(V("")));d(this,"_clippingPlaneIds",this.dv(V([])));d(this,"_flattenedPlaneId",this.dv(V("")));d(this,"_flattenedPlaneEnabled",this.dv(V(!1)));d(this,"_clippingPlaneId",this.dv(V("")));d(this,"_excavateId",this.dv(dt([])))}updateEditing(){var t;(t=this.activeViewer)==null||t.startEditing(this,[et.Translation,et.Rotation],{callSource:"inner"})}get refreshTilesetEvent(){return this._refreshTilesetEvent}refreshTileset(){this._refreshTilesetEvent.emit()}get tilesetReady(){return this._tilesetReadyEvent}get supportEdit(){return this._supportEdit.value}set supportEdit(t){this._supportEdit.value=t}get supportEditChanged(){return this._supportEdit.changed}get highlightFeatureEvent(){return this._highlightFeatureEvent}highlightFeature(t,n){this._highlightFeatureEvent.emit(t,n)}get highlightFeatureAndFlyToEvent(){return this._highlightFeatureAndFlyToEvent}highlightFeatureAndFlyTo(t,n,i,s){this._highlightFeatureAndFlyToEvent.emit(t,n,i,s)}get strokeFeatureEvent(){return this._strokeFeatureEvent}strokeFeature(t,n=[1,0,0,1]){this._strokeFeatureEvent.emit(t,n)}get getFeatureTableEvent(){return this._getFeatureTableEvent}getFeatureTable(){return Promise.race([new Promise(t=>{const n=this.d(this._featureTableResultEvent.donce(t));this._getFeatureTableEvent.emit(),setTimeout(()=>{n(),t(void 0)},2e3)})])}get getMaterialNameListEvent(){return this._getMaterialNameListEvent}getMaterialNameList(){return new Promise(t=>{const n=new B;n.d(this.getMaterialNameListEvent.don(i=>{i!=="start"&&(n.destroy(),t(i))})),this.getMaterialNameListEvent.emit("start"),setTimeout(()=>{n.isDestroyed()||(n.destroy(),t(void 0))},2e3)})}get setFeatureStyleEvent(){return this._setFeatureStyleEvent}setFeatureStyle(t){this._setFeatureStyleEvent.emit(t)}get setFeatureColorEvent(){return this._setFeatureColorEvent}setFeatureColor(t,n){this._setFeatureColorEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}get setFeatureVisableEvent(){return this._setFeatureVisableEvent}setFeatureVisable(t,n){this._setFeatureVisableEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}get resetFeatureStyleEvent(){return this._resetFeatureStyleEvent}resetFeatureStyle(){this._resetFeatureStyleEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(t){return new Promise(n=>{const i=new B;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),n(s)})),this._setMaterialEvent.emit(t)})}get clippingPlanesId(){return this._clippingPlanesId.value}set clippingPlanesId(t){this._clippingPlanesId.value=t}get clippingPlanesIdChanged(){return this._clippingPlanesId.changed}get clippingPlaneIds(){return this._clippingPlaneIds.value}set clippingPlaneIds(t){this._clippingPlaneIds.value=t}get clippingPlaneIdsChanged(){return this._clippingPlaneIds.changed}get flattenedPlaneId(){return this._flattenedPlaneId.value}set flattenedPlaneId(t){this._flattenedPlaneId.value=t}get flattenedPlaneIdChanged(){return this._flattenedPlaneId.changed}get flattenedPlaneEnabled(){return this._flattenedPlaneEnabled.value}set flattenedPlaneEnabled(t){this._flattenedPlaneEnabled.value=t}get flattenedPlaneEnabledChanged(){return this._flattenedPlaneEnabled.changed}get clippingPlaneId(){return this._clippingPlaneId.value}set clippingPlaneId(t){this._clippingPlaneId.value=t}get clippingPlaneIdChanged(){return this._clippingPlaneId.changed}get excavateId(){return this._excavateId.value}set excavateId(t){this._excavateId.value=t}get excavateIdChanged(){return this._excavateId.changed}setLight122(){this.czmEnvironmentMapManager={...Hd}}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new ze([this,"maximumScreenSpaceError"],1,[0,256],"精度",16),new bt([this,"materialMode"],[["常规","normal"],["科技感","technology"]],"材质模式","normal",!0),new bt([this,"colorBlendMode"],[["默认","HIGHLIGHT"],["替换","REPLACE"],["混合","MIX"]],"颜色模式","HIGHLIGHT"),new it([this,"materialOverrideMap"],"材质替换",Ni.defaults.materialOverrideMap)],dataSource:[...t.dataSource,new it([this,"url"],"服务地址",Ni.defaults.url,void 0,!0)],coordinate:[...t.coordinate,new X([this,"editing"],"编辑",!1,!0),new un([this,"offset"],"偏移",[0,0,0],!0),new jh([this,"rotation"],"旋转",[0,0,0])],more:[...t.more,new it([this,"materialParams"],"materialParams",Ni.defaults.materialParams),new lt(["string","string"],(n,i)=>this.highlightFeature(n,i),["","rgba(255,0,0,1)"],"highlightFeature"),new lt(["string","string"],(n,i)=>this.setFeatureColor(n,i),["",""],"setFeatureColor"),new lt(["string","string"],(n,i)=>this.setFeatureVisable(n,i),["",""],"setFeatureVisable"),new lt([],()=>this.resetFeatureStyle(),[],"resetFeatureStyle"),new ut([],"ue"),new lt([],()=>this.refreshTileset(),[],"refreshTileset"),new pt([this,"actorTag"]),new X([this,"highlight"],"是否高亮"),new Dt([this,"highlightColor"]),new M([this,"highlightID"]),new ut([],"czm"),new ut([],"可视化"),new Fe([this,"czmImageBasedLightingFactor"],"反射强度"),new M([this,"czmAtmosphereScatteringIntensity"],"大气散射强度"),new it([this,"czmEnvironmentMapManager"],"动态环境贴图管理器"),new M([this,"czmMaximumMemoryUsage"],"最大内存"),new ut([],"常用"),new bt([this,"czmClassificationType"],[["NONE","NONE"],["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]],"czmClassificationType","NONE",!0),new it([this,"czmStyleJson"],"czmStyle"),new X([this,"czmBackFaceCulling"]),new X([this,"czmSkipLevelOfDetail"]),new M([this,"cacheBytes"],"最大缓存",512*1024*1024),new ut([],"调试信息"),new X([this,"czmDebugShowBoundingVolume"]),new X([this,"czmDebugShowContentBoundingVolume"]),new ut([],"clippingPlanes"),new X([this,"clippingPlaneEnabled"]),new X([this,"unionClippingRegions"]),new Dt([this,"clippingPlaneEdgeColor"]),new M([this,"clippingPlaneEdgeWidth"])]}}};d(Ni,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"",actorTag:"",materialMode:"normal",highlight:!1,maximumScreenSpaceError:16,highlightID:0,highlightColor:dt([1,0,0,1]),offset:ne([0,0,0]),rotation:dt([0,0,0]),czmImageBasedLightingFactor:dt([1,1]),czmEnvironmentMapManager:Zt(void 0),czmLuminanceAtZenith:2,czmAtmosphereScatteringIntensity:2,czmMaximumMemoryUsage:512,czmClassificationType:"NONE",czmStyleJson:_t({}),czmBackFaceCulling:!0,czmDebugShowBoundingVolume:!1,czmDebugShowContentBoundingVolume:!1,czmSkipLevelOfDetail:!1,cacheBytes:512*1024*1024,colorBlendMode:"HIGHLIGHT",clippingPlaneEnabled:!0,unionClippingRegions:!0,clippingPlaneEdgeColor:dt([1,1,1,1]),clippingPlaneEdgeWidth:2,materialParams:{baseColor:[0,.5,1]},allowPicking:!0,materialOverrideMap:Zt({}),featureIdLabel:0,splitDirection:"NONE"})),d(Ni,"type",Ni.register("ES3DTileset",Ni,{chsName:"3DTileset",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),d(Ni,"supportEditingModes",[...Wt.supportEditingModes,et.Translation,et.Rotation]);let Pr=Ni;const Wa=class Wa extends st{constructor(t){super(t);d(this,"_isFlyInCreated",this.dv(V(!1)));d(this,"_readyEvent",this.dv(new N));this.collision=!1,this.d(this.createdEvent.don(()=>{setTimeout(()=>{if((this.editing??!1)||!this.position)this.d(Bi([this.positionChanged,this.editingChanged],()=>{this.editing||!this.position||this.isFlyInCreated&&this.flyTo()},{time:"donce"}));else{if(!this.isFlyInCreated)return;this.flyTo()}},1e3)}))}get isFlyInCreated(){return this._isFlyInCreated.value}set isFlyInCreated(t){this._isFlyInCreated.value=t}get isFlyInCreatedChanged(){return this._isFlyInCreated.changed}get readyEvent(){return this._readyEvent}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"mode"],[["柱状警告","cylinder"],["圆形警告","circle"]],"模式","cylinder"),new M([this,"radius"],"半径",10)]}}};d(Wa,"createDefaultProps",()=>({...st.createDefaultProps(),mode:"cylinder",radius:10})),d(Wa,"type",Wa.register("ESAlarm",Wa,{chsName:"报警",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警告类"}));let Xd=Wa;const _S=[["扫描","scan"],["扩散","diffuse"]],js=class js extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"radius"],"半径",1),new bt([this,"mode"],_S,"模式",js.defaults.mode),new Dt([this,"color"],"颜色",js.defaults.color)]}}};d(js,"createDefaultProps",()=>({...st.createDefaultProps(),radius:1,mode:"scan",color:[0,.7,1,1],collision:!1})),d(js,"type",js.register("ESApertureEffect",js,{chsName:"光圈特效",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"光圈特效"}));let Yd=js;const Io=class Io extends Pt{constructor(t){super(t);d(this,"editingBindMode","circular")}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new M([this,"area"],"面积",0,!1,!0),new M([this,"perimeter"],"周长",0,!1,!0)]}}};d(Io,"createDefaultProps",()=>({...Pt.createDefaultProps(),fillStyle:_t({color:[1,1,1,.5],material:"",materialParams:{},ground:!1}),strokeStyle:_t({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!0,stroked:!1,collision:!1})),d(Io,"type",Io.register("ESGeoPolygon",Io,{chsName:"地理多边形",tags:["ESObjects"],description:"地理多边形"})),d(Io,"supportEditingModes",[...Pt.supportEditingModes,et.CircularAppend,et.CircularInsert]);let qt=Io;const os=class os extends qt{get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialParams(){return this.fillStyle?this.fillStyle.materialParams:os.defaults.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle??os.defaults.fillStyle,materialParams:e??os.defaults.fillStyle.materialParams}}constructor(e){super(e)}};d(os,"createDefaultProps",()=>({...qt.createDefaultProps(),stroked:!0,filled:!0,units:dt(["SquareMeter_SquareKilometer","MU_Hectare","PerimeterMeter_PerimeterKilometer"]),fillStyle:_t({color:[1,1,1,1],material:"Material'/EarthSDKForUE/M_ES_Material.M_ES_Material'",materialParams:{Opacity:.4},ground:!0}),strokeStyle:_t({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(os,"type",os.register("ESAreaMeasurement",os,{chsName:"面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"面积测量"}));let Jd=os;const Ha=class Ha extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"general",more:[...e.more,new ut([],"czm"),new Mu([this,"image"],"图片"),new un([this,"translation"],"偏移")]}}};d(Ha,"createDefaultProps",()=>({...st.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:dt([0,0,0])})),d(Ha,"type",Ha.register("ESBlastParticleSystem",Ha,{chsName:"粒子爆炸",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子爆炸"}));let $d=Ha;const ri=class ri extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new X([this,"reverse"],"反转",ri.defaults.reverse),new un([this,"size"],"尺寸",ri.defaults.size),new Dt([this,"edgeColor"],"边框颜色",ri.defaults.edgeColor),new M([this,"edgeWidth"],"边框宽度",ri.defaults.edgeWidth),new pt([this,"targetID"],"瓦片图层",ri.defaults.targetID)]}}};d(ri,"createDefaultProps",()=>({...st.createDefaultProps(),reverse:!1,edgeColor:dt([1,1,1,1]),edgeWidth:2,size:dt([10,10,10]),targetID:""})),d(ri,"type",ri.register("ESBoxClipping",ri,{chsName:"体剖切",tags:["ESObjects","_ES_Impl_Cesium"],description:"体剖切,体裁剪,体裁切,盒裁切"}));let Kd=ri;const El=class El extends st{constructor(){super(...arguments);d(this,"_thumbnail",this.dv(V("")));d(this,"_duration",this.dv(V(1)));d(this,"_resetWithCurrentCameraEvent",this.dv(new N));d(this,"_captureEvent",this.dv(new N))}get thumbnail(){return this._thumbnail.value}set thumbnail(t){this._thumbnail.value=t}get thumbnailChanged(){return this._thumbnail.changed}get duration(){return this._duration.value}set duration(t){this._duration.value=t}get durationChanged(){return this._duration.changed}flyIn(t=1,n="default"){this.flyInEvent.emit(t,-1,n)}get resetWithCurrentCameraEvent(){return this._resetWithCurrentCameraEvent}resetWithCurrentCamera(){this._resetWithCurrentCameraEvent.emit()}get captureEvent(){return this._captureEvent}capture(t,n){this._captureEvent.emit(t,n)}execOnCreating(){this.resetWithCurrentCamera()}async initByCurrent(){this.resetWithCurrentCamera()}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"ESCameraView"),new lt([],()=>this.resetWithCurrentCamera(),[],"设置为当前视角"),new lt(["number","number"],(n,i)=>this.capture(n,i),[64,64],"获取缩略图"),new pt([this,"thumbnail"],"缩略图","",!0),new M([this,"duration"],"飞行时间",1,!0)]}}};d(El,"type",El.register("ESCameraView",El,{chsName:"视角",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角"}));let Mc=El;class Rc extends B{constructor(t,n,i){super();d(this,"_view",this.dv(new Mc));if(this.d(t.components.disposableAdd(this._view)),this._view.name=(i==null?void 0:i.name)??`视角${t.views.length+1}`,n){const a=this._view,u=n;a.duration=u.duration??1,a.position=u.position,a.rotation=u.rotation??[0,0,0],a.thumbnail=u.thumbnail??"",a.name=u.name}else{const a=(i==null?void 0:i.size)??[64,64];this.d(Xo(()=>{this._view.resetWithCurrentCamera(),this._view.capture(a[0],a[1])}))}const s=this._view,o=this.dv(Pe(s.durationChanged,s.positionChanged,s.rotationChanged,s.thumbnailChanged,s.nameChanged));this.d(o.don(()=>t.emitViewsWarpper()))}get view(){return this._view}get viewInfo(){const t=this._view;return{duration:t.duration,position:t.position,rotation:t.rotation,thumbnail:t.thumbnail,name:t.name}}}const Ir=class Ir extends rt{constructor(t){super(t);d(this,"_currentViewIndex",this.dv(V(-1)));d(this,"_viewWrappers",this.dv(new bu));d(this,"_currentViewWrapper",this.dv(V(void 0)));d(this,"_container",this.dv(V(void 0)));this.initProcessing();{const n=()=>{if(!this._currentViewWrapper.value)return;this._viewWrappers.indexOf(this._currentViewWrapper.value)===-1&&(this._currentViewWrapper.value=void 0)};n(),this.d(this._viewWrappers.changedEvent.don(n))}{const n=()=>{const i=this._currentViewWrapper.value;this._currentViewIndex.value=i?this._getIndex(i):-1};n(),this.d(this._viewWrappers.changedEvent.don(n)),this.d(this._currentViewWrapper.changed.don(n))}this.d(()=>{this.clearAllViews()})}get json(){return{...this._innerGetJson(),views:this.views}}set json(t){this._innerSetJson(t),this.views=t.views}get currentViewIndex(){return this._currentViewIndex.value}get currentViewIndexChanged(){return this._currentViewIndex.changed}emitViewsWarpper(){this._viewWrappers.changedEvent.emit(this._viewWrappers)}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(t){this._container.value=t}get views(){return ty(this._viewWrappers,t=>t.viewInfo)}get viewsChanged(){return this._viewWrappers.changedEvent}set views(t){if(t.length===this._viewWrappers.length){const n=this._viewWrappers;if(t.every((i,s)=>{const o=n.get(s).view;return i.duration===o.duration&&Gd(i.position,o.position)&&Gd(i.rotation,o.rotation)&&i.thumbnail===o.thumbnail&&i.name===o.name}))return}this.clearAllViews();for(let n of t)this._viewWrappers.push(new Rc(this,n))}_getIndex(t){return this._viewWrappers.indexOf(t)}clearAllViews(){for(let t of this._viewWrappers)t.destroy();this._viewWrappers.length=0}add(t=`视角${this.views.length+1}`,n=[64,64]){this._viewWrappers.push(new Rc(this,void 0,{name:t,size:n}))}update(t,n,i=[64,64]){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const s=this._viewWrappers.get(t);return n&&(s.view.name=n),s.view.resetWithCurrentCamera(),s.view.capture(i[0],i[1]),!0}addView(){this._viewWrappers.push(new Rc(this))}insertView(t){if(this._viewWrappers.length+1<=t||t<0){console.error("this._views.length <= index || index < 0");return}this._viewWrappers.splice(t,0,new Rc(this))}setCurrentView(t){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const n=this._viewWrappers.get(t);return this._currentViewWrapper.value=n,!0}resetView(t){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const n=this._viewWrappers.get(t);n.view.resetWithCurrentCamera(),n.view.capture()}resetViewName(t,n){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const i=this._viewWrappers.get(t);i.view.name=n}updateView(t,n){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const i=this._viewWrappers.get(t);return i.view.position=n.position,i.view.rotation=n.rotation??[0,0,0],i.view.duration=n.duration??1,i.view.thumbnail=n.thumbnail??"",i.view.name=n.name??"",!0}flyToView(t){if(this.setCurrentView(t)){if(!this._currentViewWrapper.value)throw new Error("this._currentViewWrapper.value");const n=this._currentViewWrapper.value.view.duration;this._currentViewWrapper.value.view.flyIn(n,this.flyMode??Ir.defaults.flyMode)}}flyToPrevView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const n=this._getIndex(t);return this.loop??Ir.defaults.loop?(this.flyToView((this._viewWrappers.length+n-1)%this._viewWrappers.length),!0):n-1<0?!1:(this.flyToView(n-1),!0)}moveToPreView(){const t=this._currentViewWrapper.value;if(!t)return;const n=this._getIndex(t);if(n===0)return;const i=this._viewWrappers.splice(n-1,1,t)[0];this._viewWrappers.set(n,i)}moveToNextView(){const t=this._currentViewWrapper.value;if(!t)return;const n=this._getIndex(t);if(n===this._viewWrappers.length-1)return;const i=this._viewWrappers.splice(n+1,1,t)[0];this._viewWrappers.set(n,i)}flyToNextView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const n=this._getIndex(t);return this.loop??Ir.defaults.loop?(this.flyToView((n+1)%this._viewWrappers.length),!0):n+1>this._viewWrappers.length-1?!1:(this.flyToView(n+1),!0)}stop(){this._currentViewWrapper.value=void 0,this.playing=!1}deleteView(t){if(t<0||t>=this._viewWrappers.length){console.warn("index < 0 || index >= this._viewWrappers.length");return}this._viewWrappers.get(t).destroy(),this._viewWrappers.splice(t,1)}deleteCurrentView(){const t=this._currentViewWrapper.value;if(!t){console.warn("!this._currentViewWrapper.value");return}const n=this._getIndex(t);if(n===-1){console.warn("index === -1");return}this.deleteView(n)}transitionImageUrl(t){return rt.context.getStrFromEnv(t)}_flyStep(t){var o;if(!this.flyToNextView())return this.playing=!1,Promise.resolve();const n=this.intervalTime??Ir.defaults.intervalTime,s=((((o=this._currentViewWrapper.value)==null?void 0:o.viewInfo.duration)??0)+n)*1e3;return t.promise(xu(s)).then(()=>this._flyStep(t))}initProcessing(){const t=this.dv(Hn(async i=>this._flyStep(i))),n=()=>{this.playing?t.restart():t.cancel()};n(),this.d(this.playingChanged.don(n))}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new bt([this,"flyMode"],[["默认","default"],["直线飞行","uniform"]],"飞行模式",Ir.defaults.flyMode),new lt([],()=>this.addView(),[],"添加视角"),new lt(["number"],n=>this.insertView(n),[0],"插入视角"),new lt([],()=>this.clearAllViews(),[],"清空所有视角"),new lt([],()=>this.insertView(this.currentViewIndex+1),[],"当前位置插入视角"),new lt([],()=>this.flyToPrevView(),[],"上一个视角"),new lt([],()=>this.flyToNextView(),[],"下一个视角"),new lt([],()=>this.moveToPreView(),[],"当前视角移动到上一个视角"),new lt([],()=>this.moveToNextView(),[],"当前视角移动到下一个视角"),new lt(["number"],n=>this.flyToView(n),[0],"飞入指定视角"),new lt(["number"],n=>this.setCurrentView(n),[0],"设置当前视角"),new lt([],()=>this.deleteCurrentView(),[],"删除当前视角"),new lt(["number"],n=>this.deleteView(n),[0],"删除指定视角"),new lt(["number"],n=>this.resetView(n),[0],"重置视角"),new M([this,"currentViewIndex"],"当前序号",-1,!1,!0),new Og([this,"playing"],()=>this.stop(),[this,"loop"],"播放",Ir.defaults),new X([this,"playing"],"是否播放"),new lt([],()=>this.stop(),[],"停止"),new X([this,"loop"],"是否循环"),new M([this,"intervalTime"],"间隔时间"),new it([this,"views"],"视角集合",[],void 0,!0)]}}};d(Ir,"createDefaultProps",()=>({...rt.createDefaultProps(),playing:!1,loop:!0,intervalTime:5,flyMode:"default"})),d(Ir,"type",Ir.register("ESCameraViewCollection",Ir,{chsName:"视角集合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角集合"}));let Lc=Ir;const qa=class qa extends st{constructor(t){super(t);d(this,"editingBindMode","doublePoints")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new M([this,"aspectRatio"],"宽高比",1.77778),new M([this,"fov"],"横向夹角",90),new M([this,"far"],"视野长度",100),new M([this,"near"],"近面距离",5)]}}};d(qa,"createDefaultProps",()=>({...st.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1})),d(qa,"type",qa.register("ESCameraVisibleRange",qa,{chsName:"摄像头可视域",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"摄像头可视域"}));let Zd=qa;const Xa=class Xa extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"mode"],[["警车","policeCar"]],"模式","policeCar")]}}};d(Xa,"createDefaultProps",()=>({...st.createDefaultProps(),mode:"policeCar",allowPicking:!0})),d(Xa,"type",Xa.register("ESCar",Xa,{chsName:"车辆",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警车等基础车辆模型"}));let Fc=Xa;const xo=class xo extends Pt{constructor(t){super(t);d(this,"editingBindMode","circular")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new M([this,"height"],"高度",10)],coordinate:[...t.coordinate,new M([this,"area"],"面积",0,!1,!0),new M([this,"perimeter"],"周长",0,!1,!0)]}}};d(xo,"createDefaultProps",()=>({...Pt.createDefaultProps(),height:10,filled:!0,fillStyle:_t({material:"",materialParams:{},ground:!0,color:[1,1,1,1]})})),d(xo,"type",xo.register("ESClassification",xo,{chsName:"倾斜单体化",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"平尾箭头"})),d(xo,"supportEditingModes",[...Pt.supportEditingModes,et.CircularAppend,et.CircularInsert,et.HeightModify]);let Ac=xo;const Ya=class Ya extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new X([this,"showArrow"],"显示箭头",!0),new Dt([this,"edgeColor"],"线框颜色",[1,1,1,1]),new M([this,"edgetWidth"],"线框宽度",2),new M([this,"width"],"裁剪宽度",200),new M([this,"height"],"裁剪高度",200),new pt([this,"targetID"],"瓦片图层","")]}}};d(Ya,"createDefaultProps",()=>({...st.createDefaultProps(),showArrow:!0,edgeColor:dt([1,1,1,1]),edgetWidth:2,width:200,height:200,targetID:""})),d(Ya,"type",Ya.register("ESClippingPlane",Ya,{chsName:"裁切",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESClippingPlane"}));let Qd=Ya;class wS extends B{constructor(e,t,n){super();const i=document.createElement("div");i.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${n.id}) container`);{const u=()=>{const c=` ${t.cssText}
64
+ ***************************************************************************** */function NC(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(l){return function(c){return u([l,c])}}function u(l){if(n)throw new TypeError("Generator is already executing.");for(;t;)try{if(n=1,i&&(s=l[0]&2?i.return:l[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,l[1])).done)return s;switch(i=0,s&&(l=[l[0]&2,s.value]),l[0]){case 0:case 1:s=l;break;case 4:return t.label++,{value:l[1],done:!1};case 5:t.label++,i=l[1],l=[0];continue;case 7:l=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!s||l[1]>s[0]&&l[1]<s[3])){t.label=l[1];break}if(l[0]===6&&t.label<s[1]){t.label=s[1],s=l;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(l);break}s[2]&&t.ops.pop(),t.trys.pop();continue}l=e.call(r,t)}catch(c){l=[6,c],i=0}finally{n=s=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}var Ls=function(){function r(e,t){this.next=null,this.key=e,this.data=t,this.left=null,this.right=null}return r}();function OC(r,e){return r>e?1:r<e?-1:0}function Fs(r,e,t){for(var n=new Ls(null,null),i=n,s=n;;){var o=t(r,e.key);if(o<0){if(e.left===null)break;if(t(r,e.left.key)<0){var a=e.left;if(e.left=a.right,a.right=e,e=a,e.left===null)break}s.left=e,s=e,e=e.left}else if(o>0){if(e.right===null)break;if(t(r,e.right.key)>0){var a=e.right;if(e.right=a.left,a.left=e,e=a,e.right===null)break}i.right=e,i=e,e=e.right}else break}return i.right=e.left,s.left=e.right,e.left=n.right,e.right=n.left,e}function Td(r,e,t,n){var i=new Ls(r,e);if(t===null)return i.left=i.right=null,i;t=Fs(r,t,n);var s=n(r,t.key);return s<0?(i.left=t.left,i.right=t,t.left=null):s>=0&&(i.right=t.right,i.left=t,t.right=null),i}function Nv(r,e,t){var n=null,i=null;if(e){e=Fs(r,e,t);var s=t(e.key,r);s===0?(n=e.left,i=e.right):s<0?(i=e.right,e.right=null,n=e):(n=e.left,e.left=null,i=e)}return{left:n,right:i}}function DC(r,e,t){return e===null?r:(r===null||(e=Fs(r.key,e,t),e.left=r),e)}function Nd(r,e,t,n,i){if(r){n(""+e+(t?"└── ":"├── ")+i(r)+`
65
+ `);var s=e+(t?" ":"│ ");r.left&&Nd(r.left,s,!1,n,i),r.right&&Nd(r.right,s,!0,n,i)}}var Od=function(){function r(e){e===void 0&&(e=OC),this._root=null,this._size=0,this._comparator=e}return r.prototype.insert=function(e,t){return this._size++,this._root=Td(e,t,this._root,this._comparator)},r.prototype.add=function(e,t){var n=new Ls(e,t);this._root===null&&(n.left=n.right=null,this._size++,this._root=n);var i=this._comparator,s=Fs(e,this._root,i),o=i(e,s.key);return o===0?this._root=s:(o<0?(n.left=s.left,n.right=s,s.left=null):o>0&&(n.right=s.right,n.left=s,s.right=null),this._size++,this._root=n),this._root},r.prototype.remove=function(e){this._root=this._remove(e,this._root,this._comparator)},r.prototype._remove=function(e,t,n){var i;if(t===null)return null;t=Fs(e,t,n);var s=n(e,t.key);return s===0?(t.left===null?i=t.right:(i=Fs(e,t.left,n),i.right=t.right),this._size--,i):t},r.prototype.pop=function(){var e=this._root;if(e){for(;e.left;)e=e.left;return this._root=Fs(e.key,this._root,this._comparator),this._root=this._remove(e.key,this._root,this._comparator),{key:e.key,data:e.data}}return null},r.prototype.findStatic=function(e){for(var t=this._root,n=this._comparator;t;){var i=n(e,t.key);if(i===0)return t;i<0?t=t.left:t=t.right}return null},r.prototype.find=function(e){return this._root&&(this._root=Fs(e,this._root,this._comparator),this._comparator(e,this._root.key)!==0)?null:this._root},r.prototype.contains=function(e){for(var t=this._root,n=this._comparator;t;){var i=n(e,t.key);if(i===0)return!0;i<0?t=t.left:t=t.right}return!1},r.prototype.forEach=function(e,t){for(var n=this._root,i=[],s=!1;!s;)n!==null?(i.push(n),n=n.left):i.length!==0?(n=i.pop(),e.call(t,n),n=n.right):s=!0;return this},r.prototype.range=function(e,t,n,i){for(var s=[],o=this._comparator,a=this._root,u;s.length!==0||a;)if(a)s.push(a),a=a.left;else{if(a=s.pop(),u=o(a.key,t),u>0)break;if(o(a.key,e)>=0&&n.call(i,a))return this;a=a.right}return this},r.prototype.keys=function(){var e=[];return this.forEach(function(t){var n=t.key;return e.push(n)}),e},r.prototype.values=function(){var e=[];return this.forEach(function(t){var n=t.data;return e.push(n)}),e},r.prototype.min=function(){return this._root?this.minNode(this._root).key:null},r.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},r.prototype.minNode=function(e){if(e===void 0&&(e=this._root),e)for(;e.left;)e=e.left;return e},r.prototype.maxNode=function(e){if(e===void 0&&(e=this._root),e)for(;e.right;)e=e.right;return e},r.prototype.at=function(e){for(var t=this._root,n=!1,i=0,s=[];!n;)if(t)s.push(t),t=t.left;else if(s.length>0){if(t=s.pop(),i===e)return t;i++,t=t.right}else n=!0;return null},r.prototype.next=function(e){var t=this._root,n=null;if(e.right){for(n=e.right;n.left;)n=n.left;return n}for(var i=this._comparator;t;){var s=i(e.key,t.key);if(s===0)break;s<0?(n=t,t=t.left):t=t.right}return n},r.prototype.prev=function(e){var t=this._root,n=null;if(e.left!==null){for(n=e.left;n.right;)n=n.right;return n}for(var i=this._comparator;t;){var s=i(e.key,t.key);if(s===0)break;s<0?t=t.left:(n=t,t=t.right)}return n},r.prototype.clear=function(){return this._root=null,this._size=0,this},r.prototype.toList=function(){return RC(this._root)},r.prototype.load=function(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!1);var i=e.length,s=this._comparator;if(n&&Rd(e,t,0,i-1,s),this._root===null)this._root=Dd(e,t,0,i),this._size=i;else{var o=LC(this.toList(),MC(e,t),s);i=this._size+i,this._root=Md({head:o},0,i)}return this},r.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(r.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),r.prototype.toString=function(e){e===void 0&&(e=function(n){return String(n.key)});var t=[];return Nd(this._root,"",!0,function(n){return t.push(n)},e),t.join("")},r.prototype.update=function(e,t,n){var i=this._comparator,s=Nv(e,this._root,i),o=s.left,a=s.right;i(e,t)<0?a=Td(t,n,a,i):o=Td(t,n,o,i),this._root=DC(o,a,i)},r.prototype.split=function(e){return Nv(e,this._root,this._comparator)},r.prototype[Symbol.iterator]=function(){var e,t,n;return NC(this,function(i){switch(i.label){case 0:e=this._root,t=[],n=!1,i.label=1;case 1:return n?[3,6]:e===null?[3,2]:(t.push(e),e=e.left,[3,5]);case 2:return t.length===0?[3,4]:(e=t.pop(),[4,e]);case 3:return i.sent(),e=e.right,[3,5];case 4:n=!0,i.label=5;case 5:return[3,1];case 6:return[2]}})},r}();function Dd(r,e,t,n){var i=n-t;if(i>0){var s=t+Math.floor(i/2),o=r[s],a=e[s],u=new Ls(o,a);return u.left=Dd(r,e,t,s),u.right=Dd(r,e,s+1,n),u}return null}function MC(r,e){for(var t=new Ls(null,null),n=t,i=0;i<r.length;i++)n=n.next=new Ls(r[i],e[i]);return n.next=null,t.next}function RC(r){for(var e=r,t=[],n=!1,i=new Ls(null,null),s=i;!n;)e?(t.push(e),e=e.left):t.length>0?(e=s=s.next=t.pop(),e=e.right):n=!0;return s.next=null,i.next}function Md(r,e,t){var n=t-e;if(n>0){var i=e+Math.floor(n/2),s=Md(r,e,i),o=r.head;return o.left=s,r.head=r.head.next,o.right=Md(r,i+1,t),o}return null}function LC(r,e,t){for(var n=new Ls(null,null),i=n,s=r,o=e;s!==null&&o!==null;)t(s.key,o.key)<0?(i.next=s,s=s.next):(i.next=o,o=o.next),i=i.next;return s!==null?i.next=s:o!==null&&(i.next=o),n.next}function Rd(r,e,t,n,i){if(!(t>=n)){for(var s=r[t+n>>1],o=t-1,a=n+1;;){do o++;while(i(r[o],s)<0);do a--;while(i(r[a],s)>0);if(o>=a)break;var u=r[o];r[o]=r[a],r[a]=u,u=e[o],e[o]=e[a],e[a]=u}Rd(r,e,t,a,i),Rd(r,e,a+1,n,i)}}const is=11102230246251565e-32,gn=134217729,FC=(3+8*is)*is;function Ld(r,e,t,n,i){let s,o,a,u,l=e[0],c=n[0],h=0,f=0;c>l==c>-l?(s=l,l=e[++h]):(s=c,c=n[++f]);let p=0;if(h<r&&f<t)for(c>l==c>-l?(o=l+s,a=s-(o-l),l=e[++h]):(o=c+s,a=s-(o-c),c=n[++f]),s=o,a!==0&&(i[p++]=a);h<r&&f<t;)c>l==c>-l?(o=s+l,u=o-s,a=s-(o-u)+(l-u),l=e[++h]):(o=s+c,u=o-s,a=s-(o-u)+(c-u),c=n[++f]),s=o,a!==0&&(i[p++]=a);for(;h<r;)o=s+l,u=o-s,a=s-(o-u)+(l-u),l=e[++h],s=o,a!==0&&(i[p++]=a);for(;f<t;)o=s+c,u=o-s,a=s-(o-u)+(c-u),c=n[++f],s=o,a!==0&&(i[p++]=a);return(s!==0||p===0)&&(i[p++]=s),p}function AC(r,e){let t=e[0];for(let n=1;n<r;n++)t+=e[n];return t}function al(r){return new Float64Array(r)}const kC=(3+16*is)*is,VC=(2+12*is)*is,BC=(9+64*is)*is*is,Ra=al(4),Ov=al(8),Dv=al(12),Mv=al(16),Mn=al(4);function jC(r,e,t,n,i,s,o){let a,u,l,c,h,f,p,v,C,S,P,y,_,m,w,E,b,I;const T=r-i,D=t-i,x=e-s,O=n-s;m=T*O,f=gn*T,p=f-(f-T),v=T-p,f=gn*O,C=f-(f-O),S=O-C,w=v*S-(m-p*C-v*C-p*S),E=x*D,f=gn*x,p=f-(f-x),v=x-p,f=gn*D,C=f-(f-D),S=D-C,b=v*S-(E-p*C-v*C-p*S),P=w-b,h=w-P,Ra[0]=w-(P+h)+(h-b),y=m+P,h=y-m,_=m-(y-h)+(P-h),P=_-E,h=_-P,Ra[1]=_-(P+h)+(h-E),I=y+P,h=I-y,Ra[2]=y-(I-h)+(P-h),Ra[3]=I;let L=AC(4,Ra),A=VC*o;if(L>=A||-L>=A||(h=r-T,a=r-(T+h)+(h-i),h=t-D,l=t-(D+h)+(h-i),h=e-x,u=e-(x+h)+(h-s),h=n-O,c=n-(O+h)+(h-s),a===0&&u===0&&l===0&&c===0)||(A=BC*o+FC*Math.abs(L),L+=T*c+O*a-(x*l+D*u),L>=A||-L>=A))return L;m=a*O,f=gn*a,p=f-(f-a),v=a-p,f=gn*O,C=f-(f-O),S=O-C,w=v*S-(m-p*C-v*C-p*S),E=u*D,f=gn*u,p=f-(f-u),v=u-p,f=gn*D,C=f-(f-D),S=D-C,b=v*S-(E-p*C-v*C-p*S),P=w-b,h=w-P,Mn[0]=w-(P+h)+(h-b),y=m+P,h=y-m,_=m-(y-h)+(P-h),P=_-E,h=_-P,Mn[1]=_-(P+h)+(h-E),I=y+P,h=I-y,Mn[2]=y-(I-h)+(P-h),Mn[3]=I;const J=Ld(4,Ra,4,Mn,Ov);m=T*c,f=gn*T,p=f-(f-T),v=T-p,f=gn*c,C=f-(f-c),S=c-C,w=v*S-(m-p*C-v*C-p*S),E=x*l,f=gn*x,p=f-(f-x),v=x-p,f=gn*l,C=f-(f-l),S=l-C,b=v*S-(E-p*C-v*C-p*S),P=w-b,h=w-P,Mn[0]=w-(P+h)+(h-b),y=m+P,h=y-m,_=m-(y-h)+(P-h),P=_-E,h=_-P,Mn[1]=_-(P+h)+(h-E),I=y+P,h=I-y,Mn[2]=y-(I-h)+(P-h),Mn[3]=I;const H=Ld(J,Ov,4,Mn,Dv);m=a*c,f=gn*a,p=f-(f-a),v=a-p,f=gn*c,C=f-(f-c),S=c-C,w=v*S-(m-p*C-v*C-p*S),E=u*l,f=gn*u,p=f-(f-u),v=u-p,f=gn*l,C=f-(f-l),S=l-C,b=v*S-(E-p*C-v*C-p*S),P=w-b,h=w-P,Mn[0]=w-(P+h)+(h-b),y=m+P,h=y-m,_=m-(y-h)+(P-h),P=_-E,h=_-P,Mn[1]=_-(P+h)+(h-E),I=y+P,h=I-y,Mn[2]=y-(I-h)+(P-h),Mn[3]=I;const Z=Ld(H,Dv,4,Mn,Mv);return Mv[Z-1]}function zC(r,e,t,n,i,s){const o=(e-s)*(t-i),a=(r-i)*(n-s),u=o-a,l=Math.abs(o+a);return Math.abs(u)>=kC*l?u:-jC(r,e,t,n,i,s,l)}const ul=(r,e)=>r.ll.x<=e.x&&e.x<=r.ur.x&&r.ll.y<=e.y&&e.y<=r.ur.y,Fd=(r,e)=>{if(e.ur.x<r.ll.x||r.ur.x<e.ll.x||e.ur.y<r.ll.y||r.ur.y<e.ll.y)return null;const t=r.ll.x<e.ll.x?e.ll.x:r.ll.x,n=r.ur.x<e.ur.x?r.ur.x:e.ur.x,i=r.ll.y<e.ll.y?e.ll.y:r.ll.y,s=r.ur.y<e.ur.y?r.ur.y:e.ur.y;return{ll:{x:t,y:i},ur:{x:n,y:s}}};let As=Number.EPSILON;As===void 0&&(As=Math.pow(2,-52));const UC=As*As,Rv=(r,e)=>{if(-As<r&&r<As&&-As<e&&e<As)return 0;const t=r-e;return t*t<UC*r*e?0:r<e?-1:1};class GC{constructor(){this.reset()}reset(){this.xRounder=new Lv,this.yRounder=new Lv}round(e,t){return{x:this.xRounder.round(e),y:this.yRounder.round(t)}}}class Lv{constructor(){this.tree=new Od,this.round(0)}round(e){const t=this.tree.add(e),n=this.tree.prev(t);if(n!==null&&Rv(t.key,n.key)===0)return this.tree.remove(e),n.key;const i=this.tree.next(t);return i!==null&&Rv(t.key,i.key)===0?(this.tree.remove(e),i.key):e}}const ll=new GC,Nc=(r,e)=>r.x*e.y-r.y*e.x,Fv=(r,e)=>r.x*e.x+r.y*e.y,Av=(r,e,t)=>{const n=zC(r.x,r.y,e.x,e.y,t.x,t.y);return n>0?-1:n<0?1:0},Oc=r=>Math.sqrt(Fv(r,r)),WC=(r,e,t)=>{const n={x:e.x-r.x,y:e.y-r.y},i={x:t.x-r.x,y:t.y-r.y};return Nc(i,n)/Oc(i)/Oc(n)},HC=(r,e,t)=>{const n={x:e.x-r.x,y:e.y-r.y},i={x:t.x-r.x,y:t.y-r.y};return Fv(i,n)/Oc(i)/Oc(n)},kv=(r,e,t)=>e.y===0?null:{x:r.x+e.x/e.y*(t-r.y),y:t},Vv=(r,e,t)=>e.x===0?null:{x:t,y:r.y+e.y/e.x*(t-r.x)},qC=(r,e,t,n)=>{if(e.x===0)return Vv(t,n,r.x);if(n.x===0)return Vv(r,e,t.x);if(e.y===0)return kv(t,n,r.y);if(n.y===0)return kv(r,e,t.y);const i=Nc(e,n);if(i==0)return null;const s={x:t.x-r.x,y:t.y-r.y},o=Nc(s,e)/i,a=Nc(s,n)/i,u=r.x+a*e.x,l=t.x+o*n.x,c=r.y+a*e.y,h=t.y+o*n.y,f=(u+l)/2,p=(c+h)/2;return{x:f,y:p}};class br{static compare(e,t){const n=br.comparePoints(e.point,t.point);return n!==0?n:(e.point!==t.point&&e.link(t),e.isLeft!==t.isLeft?e.isLeft?1:-1:ks.compare(e.segment,t.segment))}static comparePoints(e,t){return e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0}constructor(e,t){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=t}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const t=e.point.events;for(let n=0,i=t.length;n<i;n++){const s=t[n];this.point.events.push(s),s.point=this.point}this.checkForConsuming()}checkForConsuming(){const e=this.point.events.length;for(let t=0;t<e;t++){const n=this.point.events[t];if(n.segment.consumedBy===void 0)for(let i=t+1;i<e;i++){const s=this.point.events[i];s.consumedBy===void 0&&n.otherSE.point.events===s.otherSE.point.events&&n.segment.consume(s.segment)}}}getAvailableLinkedEvents(){const e=[];for(let t=0,n=this.point.events.length;t<n;t++){const i=this.point.events[t];i!==this&&!i.segment.ringOut&&i.segment.isInResult()&&e.push(i)}return e}getLeftmostComparator(e){const t=new Map,n=i=>{const s=i.otherSE;t.set(i,{sine:WC(this.point,e.point,s.point),cosine:HC(this.point,e.point,s.point)})};return(i,s)=>{t.has(i)||n(i),t.has(s)||n(s);const{sine:o,cosine:a}=t.get(i),{sine:u,cosine:l}=t.get(s);return o>=0&&u>=0?a<l?1:a>l?-1:0:o<0&&u<0?a<l?-1:a>l?1:0:u<o?-1:u>o?1:0}}}let XC=0;class ks{static compare(e,t){const n=e.leftSE.point.x,i=t.leftSE.point.x,s=e.rightSE.point.x,o=t.rightSE.point.x;if(o<n)return 1;if(s<i)return-1;const a=e.leftSE.point.y,u=t.leftSE.point.y,l=e.rightSE.point.y,c=t.rightSE.point.y;if(n<i){if(u<a&&u<l)return 1;if(u>a&&u>l)return-1;const h=e.comparePoint(t.leftSE.point);if(h<0)return 1;if(h>0)return-1;const f=t.comparePoint(e.rightSE.point);return f!==0?f:-1}if(n>i){if(a<u&&a<c)return-1;if(a>u&&a>c)return 1;const h=t.comparePoint(e.leftSE.point);if(h!==0)return h;const f=e.comparePoint(t.rightSE.point);return f<0?1:f>0?-1:1}if(a<u)return-1;if(a>u)return 1;if(s<o){const h=t.comparePoint(e.rightSE.point);if(h!==0)return h}if(s>o){const h=e.comparePoint(t.rightSE.point);if(h<0)return 1;if(h>0)return-1}if(s!==o){const h=l-a,f=s-n,p=c-u,v=o-i;if(h>f&&p<v)return 1;if(h<f&&p>v)return-1}return s>o?1:s<o||l<c?-1:l>c?1:e.id<t.id?-1:e.id>t.id?1:0}constructor(e,t,n,i){this.id=++XC,this.leftSE=e,e.segment=this,e.otherSE=t,this.rightSE=t,t.segment=this,t.otherSE=e,this.rings=n,this.windings=i}static fromRing(e,t,n){let i,s,o;const a=br.comparePoints(e,t);if(a<0)i=e,s=t,o=1;else if(a>0)i=t,s=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const u=new br(i,!0),l=new br(s,!1);return new ks(u,l,[n],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e<t?e:t},ur:{x:this.rightSE.point.x,y:e>t?e:t}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(e){return e.x===this.leftSE.point.x&&e.y===this.leftSE.point.y||e.x===this.rightSE.point.x&&e.y===this.rightSE.point.y}comparePoint(e){if(this.isAnEndpoint(e))return 0;const t=this.leftSE.point,n=this.rightSE.point,i=this.vector();if(t.x===n.x)return e.x===t.x?0:e.x<t.x?1:-1;const s=(e.y-t.y)/i.y,o=t.x+s*i.x;if(e.x===o)return 0;const a=(e.x-t.x)/i.x,u=t.y+a*i.y;return e.y===u?0:e.y<u?-1:1}getIntersection(e){const t=this.bbox(),n=e.bbox(),i=Fd(t,n);if(i===null)return null;const s=this.leftSE.point,o=this.rightSE.point,a=e.leftSE.point,u=e.rightSE.point,l=ul(t,a)&&this.comparePoint(a)===0,c=ul(n,s)&&e.comparePoint(s)===0,h=ul(t,u)&&this.comparePoint(u)===0,f=ul(n,o)&&e.comparePoint(o)===0;if(c&&l)return f&&!h?o:!f&&h?u:null;if(c)return h&&s.x===u.x&&s.y===u.y?null:s;if(l)return f&&o.x===a.x&&o.y===a.y?null:a;if(f&&h)return null;if(f)return o;if(h)return u;const p=qC(s,this.vector(),a,e.vector());return p===null||!ul(i,p)?null:ll.round(p.x,p.y)}split(e){const t=[],n=e.events!==void 0,i=new br(e,!0),s=new br(e,!1),o=this.rightSE;this.replaceRightSE(s),t.push(s),t.push(i);const a=new ks(i,o,this.rings.slice(),this.windings.slice());return br.comparePoints(a.leftSE.point,a.rightSE.point)>0&&a.swapEvents(),br.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),n&&(i.checkForConsuming(),s.checkForConsuming()),t}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let t=0,n=this.windings.length;t<n;t++)this.windings[t]*=-1}consume(e){let t=this,n=e;for(;t.consumedBy;)t=t.consumedBy;for(;n.consumedBy;)n=n.consumedBy;const i=ks.compare(t,n);if(i!==0){if(i>0){const s=t;t=n,n=s}if(t.prev===n){const s=t;t=n,n=s}for(let s=0,o=n.rings.length;s<o;s++){const a=n.rings[s],u=n.windings[s],l=t.rings.indexOf(a);l===-1?(t.rings.push(a),t.windings.push(u)):t.windings[l]+=u}n.rings=null,n.windings=null,n.consumedBy=t,n.leftSE.consumedBy=t.leftSE,n.rightSE.consumedBy=t.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const e=this.prev.consumedBy||this.prev;this._beforeState=e.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const e=this.beforeState();this._afterState={rings:e.rings.slice(0),windings:e.windings.slice(0),multiPolys:[]};const t=this._afterState.rings,n=this._afterState.windings,i=this._afterState.multiPolys;for(let a=0,u=this.rings.length;a<u;a++){const l=this.rings[a],c=this.windings[a],h=t.indexOf(l);h===-1?(t.push(l),n.push(c)):n[h]+=c}const s=[],o=[];for(let a=0,u=t.length;a<u;a++){if(n[a]===0)continue;const l=t[a],c=l.poly;if(o.indexOf(c)===-1)if(l.isExterior)s.push(c);else{o.indexOf(c)===-1&&o.push(c);const h=s.indexOf(l.poly);h!==-1&&s.splice(h,1)}}for(let a=0,u=s.length;a<u;a++){const l=s[a].multiPoly;i.indexOf(l)===-1&&i.push(l)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const e=this.beforeState().multiPolys,t=this.afterState().multiPolys;switch(Qr.type){case"union":{const n=e.length===0,i=t.length===0;this._isInResult=n!==i;break}case"intersection":{let n,i;e.length<t.length?(n=e.length,i=t.length):(n=t.length,i=e.length),this._isInResult=i===Qr.numMultiPolys&&n<i;break}case"xor":{const n=Math.abs(e.length-t.length);this._isInResult=n%2===1;break}case"difference":{const n=i=>i.length===1&&i[0].isSubject;this._isInResult=n(e)!==n(t);break}default:throw new Error(`Unrecognized operation type found ${Qr.type}`)}return this._isInResult}}class Bv{constructor(e,t,n){if(!Array.isArray(e)||e.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=t,this.isExterior=n,this.segments=[],typeof e[0][0]!="number"||typeof e[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const i=ll.round(e[0][0],e[0][1]);this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};let s=i;for(let o=1,a=e.length;o<a;o++){if(typeof e[o][0]!="number"||typeof e[o][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let u=ll.round(e[o][0],e[o][1]);u.x===s.x&&u.y===s.y||(this.segments.push(ks.fromRing(s,u,this)),u.x<this.bbox.ll.x&&(this.bbox.ll.x=u.x),u.y<this.bbox.ll.y&&(this.bbox.ll.y=u.y),u.x>this.bbox.ur.x&&(this.bbox.ur.x=u.x),u.y>this.bbox.ur.y&&(this.bbox.ur.y=u.y),s=u)}(i.x!==s.x||i.y!==s.y)&&this.segments.push(ks.fromRing(s,i,this))}getSweepEvents(){const e=[];for(let t=0,n=this.segments.length;t<n;t++){const i=this.segments[t];e.push(i.leftSE),e.push(i.rightSE)}return e}}class YC{constructor(e,t){if(!Array.isArray(e))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new Bv(e[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let n=1,i=e.length;n<i;n++){const s=new Bv(e[n],this,!1);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=t}getSweepEvents(){const e=this.exteriorRing.getSweepEvents();for(let t=0,n=this.interiorRings.length;t<n;t++){const i=this.interiorRings[t].getSweepEvents();for(let s=0,o=i.length;s<o;s++)e.push(i[s])}return e}}class jv{constructor(e,t){if(!Array.isArray(e))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof e[0][0][0]=="number"&&(e=[e])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let n=0,i=e.length;n<i;n++){const s=new YC(e[n],this);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=t}getSweepEvents(){const e=[];for(let t=0,n=this.polys.length;t<n;t++){const i=this.polys[t].getSweepEvents();for(let s=0,o=i.length;s<o;s++)e.push(i[s])}return e}}class Dc{static factory(e){const t=[];for(let n=0,i=e.length;n<i;n++){const s=e[n];if(!s.isInResult()||s.ringOut)continue;let o=null,a=s.leftSE,u=s.rightSE;const l=[a],c=a.point,h=[];for(;o=a,a=u,l.push(a),a.point!==c;)for(;;){const f=a.getAvailableLinkedEvents();if(f.length===0){const C=l[0].point,S=l[l.length-1].point;throw new Error(`Unable to complete output ring starting at [${C.x}, ${C.y}]. Last matching segment found ends at [${S.x}, ${S.y}].`)}if(f.length===1){u=f[0].otherSE;break}let p=null;for(let C=0,S=h.length;C<S;C++)if(h[C].point===a.point){p=C;break}if(p!==null){const C=h.splice(p)[0],S=l.splice(C.index);S.unshift(S[0].otherSE),t.push(new Dc(S.reverse()));continue}h.push({index:l.length,point:a.point});const v=a.getLeftmostComparator(o);u=f.sort(v)[0].otherSE;break}t.push(new Dc(l))}return t}constructor(e){this.events=e;for(let t=0,n=e.length;t<n;t++)e[t].segment.ringOut=this;this.poly=null}getGeom(){let e=this.events[0].point;const t=[e];for(let l=1,c=this.events.length-1;l<c;l++){const h=this.events[l].point,f=this.events[l+1].point;Av(h,e,f)!==0&&(t.push(h),e=h)}if(t.length===1)return null;const n=t[0],i=t[1];Av(n,e,i)===0&&t.shift(),t.push(t[0]);const s=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:t.length-1,a=this.isExteriorRing()?t.length:-1,u=[];for(let l=o;l!=a;l+=s)u.push([t[l].x,t[l].y]);return u}isExteriorRing(){if(this._isExteriorRing===void 0){const e=this.enclosingRing();this._isExteriorRing=e?!e.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let e=this.events[0];for(let i=1,s=this.events.length;i<s;i++){const o=this.events[i];br.compare(e,o)>0&&(e=o)}let t=e.segment.prevInResult(),n=t?t.prevInResult():null;for(;;){if(!t)return null;if(!n)return t.ringOut;if(n.ringOut!==t.ringOut)return n.ringOut.enclosingRing()!==t.ringOut?t.ringOut:t.ringOut.enclosingRing();t=n.prevInResult(),n=t?t.prevInResult():null}}}class zv{constructor(e){this.exteriorRing=e,e.poly=this,this.interiorRings=[]}addInterior(e){this.interiorRings.push(e),e.poly=this}getGeom(){const e=[this.exteriorRing.getGeom()];if(e[0]===null)return null;for(let t=0,n=this.interiorRings.length;t<n;t++){const i=this.interiorRings[t].getGeom();i!==null&&e.push(i)}return e}}class JC{constructor(e){this.rings=e,this.polys=this._composePolys(e)}getGeom(){const e=[];for(let t=0,n=this.polys.length;t<n;t++){const i=this.polys[t].getGeom();i!==null&&e.push(i)}return e}_composePolys(e){const t=[];for(let n=0,i=e.length;n<i;n++){const s=e[n];if(!s.poly)if(s.isExteriorRing())t.push(new zv(s));else{const o=s.enclosingRing();o.poly||t.push(new zv(o)),o.poly.addInterior(s)}}return t}}class $C{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ks.compare;this.queue=e,this.tree=new Od(t),this.segments=[]}process(e){const t=e.segment,n=[];if(e.consumedBy)return e.isLeft?this.queue.remove(e.otherSE):this.tree.remove(t),n;const i=e.isLeft?this.tree.add(t):this.tree.find(t);if(!i)throw new Error(`Unable to find segment #${t.id} [${t.leftSE.point.x}, ${t.leftSE.point.y}] -> [${t.rightSE.point.x}, ${t.rightSE.point.y}] in SweepLine tree.`);let s=i,o=i,a,u;for(;a===void 0;)s=this.tree.prev(s),s===null?a=null:s.key.consumedBy===void 0&&(a=s.key);for(;u===void 0;)o=this.tree.next(o),o===null?u=null:o.key.consumedBy===void 0&&(u=o.key);if(e.isLeft){let l=null;if(a){const h=a.getIntersection(t);if(h!==null&&(t.isAnEndpoint(h)||(l=h),!a.isAnEndpoint(h))){const f=this._splitSafely(a,h);for(let p=0,v=f.length;p<v;p++)n.push(f[p])}}let c=null;if(u){const h=u.getIntersection(t);if(h!==null&&(t.isAnEndpoint(h)||(c=h),!u.isAnEndpoint(h))){const f=this._splitSafely(u,h);for(let p=0,v=f.length;p<v;p++)n.push(f[p])}}if(l!==null||c!==null){let h=null;l===null?h=c:c===null?h=l:h=br.comparePoints(l,c)<=0?l:c,this.queue.remove(t.rightSE),n.push(t.rightSE);const f=t.split(h);for(let p=0,v=f.length;p<v;p++)n.push(f[p])}n.length>0?(this.tree.remove(t),n.push(e)):(this.segments.push(t),t.prev=a)}else{if(a&&u){const l=a.getIntersection(u);if(l!==null){if(!a.isAnEndpoint(l)){const c=this._splitSafely(a,l);for(let h=0,f=c.length;h<f;h++)n.push(c[h])}if(!u.isAnEndpoint(l)){const c=this._splitSafely(u,l);for(let h=0,f=c.length;h<f;h++)n.push(c[h])}}}this.tree.remove(t)}return n}_splitSafely(e,t){this.tree.remove(e);const n=e.rightSE;this.queue.remove(n);const i=e.split(t);return i.push(n),e.consumedBy===void 0&&this.tree.add(e),i}}const Uv=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,KC=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class ZC{run(e,t,n){Qr.type=e,ll.reset();const i=[new jv(t,!0)];for(let h=0,f=n.length;h<f;h++)i.push(new jv(n[h],!1));if(Qr.numMultiPolys=i.length,Qr.type==="difference"){const h=i[0];let f=1;for(;f<i.length;)Fd(i[f].bbox,h.bbox)!==null?f++:i.splice(f,1)}if(Qr.type==="intersection")for(let h=0,f=i.length;h<f;h++){const p=i[h];for(let v=h+1,C=i.length;v<C;v++)if(Fd(p.bbox,i[v].bbox)===null)return[]}const s=new Od(br.compare);for(let h=0,f=i.length;h<f;h++){const p=i[h].getSweepEvents();for(let v=0,C=p.length;v<C;v++)if(s.insert(p[v]),s.size>Uv)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}const o=new $C(s);let a=s.size,u=s.pop();for(;u;){const h=u.key;if(s.size===a){const p=h.segment;throw new Error(`Unable to pop() ${h.isLeft?"left":"right"} SweepEvent [${h.point.x}, ${h.point.y}] from segment #${p.id} [${p.leftSE.point.x}, ${p.leftSE.point.y}] -> [${p.rightSE.point.x}, ${p.rightSE.point.y}] from queue.`)}if(s.size>Uv)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(o.segments.length>KC)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");const f=o.process(h);for(let p=0,v=f.length;p<v;p++){const C=f[p];C.consumedBy===void 0&&s.insert(C)}a=s.size,u=s.pop()}ll.reset();const l=Dc.factory(o.segments);return new JC(l).getGeom()}}const Qr=new ZC;var Ad={union:function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Qr.run("union",r,t)},intersection:function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Qr.run("intersection",r,t)},xor:function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Qr.run("xor",r,t)},difference:function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Qr.run("difference",r,t)}};function QC(r,e){var t=qn(r),n=qn(e),i=r.properties||{},s=Ad.difference(t.coordinates,n.coordinates);return s.length===0?null:s.length===1?Sn(s[0],i):Hh(s,i)}function tS(r,e,t){t===void 0&&(t={});var n=qn(r),i=qn(e),s=Ad.intersection(n.coordinates,i.coordinates);return s.length===0?null:s.length===1?Sn(s[0],t.properties):Hh(s,t.properties)}function eS(r,e,t){t===void 0&&(t={});var n=qn(r),i=qn(e),s=Ad.union(n.coordinates,i.coordinates);return s.length===0?null:s.length===1?Sn(s[0],t.properties):Hh(s,t.properties)}function Gv(r,e){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=tS(Sn([r]),Sn([e]));if(t)return t.geometry.coordinates}function Wv(r,e){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=eS(Sn([r]),Sn([e]));if(t)return t.geometry.coordinates}function Hv(r,e=500,t="meters"){const n=IC(kr(r),e,{units:t});if(n)return n.geometry.coordinates}function qv(r,e){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=QC(Sn([r]),Sn([e]));if(t)return t.geometry.coordinates}function Xv(r,e,t=10,n="meters"){return TC(r,e,{steps:t,units:n}).geometry.coordinates}function kd(r,e){(r[0][0]!==r[r.length-1][0]||r[0][1]!==r[r.length-1][1]||r[0][2]!==r[r.length-1][2])&&r.push(r[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=Sn([r]),n=Sn([e]);return _E(t,n)?"oneBig":TE(t,n)?"twoBig":!1}function Yv(r){const e=gs($s(r,["0"])),t=gs($s(r,["1"])),n=gs($s(r,["2"])),i=zi($s(r,["0"])),s=zi($s(r,["1"])),o=zi($s(r,["2"]));return{minPos:[e,t,n],maxPos:[i,s,o],center:[(e+i)*.5,(t+s)*.5,(n+o)*.5]}}function Jv(r){const{minPos:e,maxPos:t,center:n}=Yv(r);if(e.some(a=>!Number.isFinite(a)||t.some(u=>!Number.isFinite(u))||n.some(u=>!Number.isFinite(u)))){console.warn("geoCenterAndRadiusFromPositions error: minPos.some(e => !Number.isFinite(e) || maxPos.some(e => !Number.isFinite(e)) || center.some(e => !Number.isFinite(e))");return}const i=$l(e,t);let s=i*.5;const o=Math.abs(e[2]-t[2]);return o!=0&&(s=Math.sqrt(i*i+o*o)*.5),{center:n,radius:s}}function $v(r,e){const t=Fr(r),n=Fr(e);return g.Vector.distance(t,n)}function cl(r,e){const t=[],n=r.length;let i=0;for(let s=0;s<n-1;++s){if(e===void 0||e==="GEODESIC"){const o=$l(r[s],r[s+1]),a=Math.abs(r[s][2]-r[s+1][2]);if(a===0)i+=o;else{const u=Math.sqrt(o*o+a*a);i+=u}}else if(e==="RHUMB"){const o=gm(r[s],r[s+1]),a=Math.abs(r[s][2]-r[s+1][2]);if(a===0)i+=o;else{const u=Math.sqrt(o*o+a*a);i+=u}}else if(e==="NONE"){const o=$v(r[s],r[s+1]);i+=o}else console.warn(`未知的arcType: ${e},导致距离无法计算!`);t.push(i)}return t}function Vd(r){const e="__getXyzFromPostion";let t=Wn(r,e);return(!t||!g.Vector.equals(t[0],r))&&(t=[[...r],Fr(r)],ci(r,e,t)),t[1]}class nS{constructor(e){this.points=e.points||[],this.duration=e.duration||1e4,this.sharpness=e.sharpness||.85,this.centers=[],this.controls=[],this.stepLength=e.stepLength||60,this.length=this.points.length,this.delay=0;for(let t=0;t<this.length;t++)this.points[t].z=this.points[t].z||0;for(let t=0;t<this.length-1;t++){const n=this.points[t],i=this.points[t+1];this.centers.push({x:(n.x+i.x)/2,y:(n.y+i.y)/2,z:(n.z+i.z)/2})}this.controls.push([this.points[0],this.points[0]]);for(let t=0;t<this.centers.length-1;t++){const n=this.points[t+1].x-(this.centers[t].x+this.centers[t+1].x)/2,i=this.points[t+1].y-(this.centers[t].y+this.centers[t+1].y)/2,s=this.points[t+1].z-(this.centers[t].z+this.centers[t+1].z)/2;this.controls.push([{x:(1-this.sharpness)*this.points[t+1].x+this.sharpness*(this.centers[t].x+n),y:(1-this.sharpness)*this.points[t+1].y+this.sharpness*(this.centers[t].y+i),z:(1-this.sharpness)*this.points[t+1].z+this.sharpness*(this.centers[t].z+s)},{x:(1-this.sharpness)*this.points[t+1].x+this.sharpness*(this.centers[t+1].x+n),y:(1-this.sharpness)*this.points[t+1].y+this.sharpness*(this.centers[t+1].y+i),z:(1-this.sharpness)*this.points[t+1].z+this.sharpness*(this.centers[t+1].z+s)}])}return this.controls.push([this.points[this.length-1],this.points[this.length-1]]),this.steps=this.cacheSteps(this.stepLength),this}cacheSteps(e){const t=[];let n=this.pos(0);t.push(0);for(let i=0;i<this.duration;i+=10){const s=this.pos(i);Math.sqrt((s.x-n.x)*(s.x-n.x)+(s.y-n.y)*(s.y-n.y)+(s.z-n.z)*(s.z-n.z))>e&&(t.push(i),n=s)}return t}vector(e){const t=this.pos(e+10),n=this.pos(e-10);return{angle:180*Math.atan2(t.y-n.y,t.x-n.x)/3.14,speed:Math.sqrt((n.x-t.x)*(n.x-t.x)+(n.y-t.y)*(n.y-t.y)+(n.z-t.z)*(n.z-t.z))}}pos(e){let t=e-this.delay;t<0&&(t=0),t>this.duration&&(t=this.duration-1);const n=t/this.duration;if(n>=1)return this.points[this.length-1];const i=Math.floor((this.points.length-1)*n),s=(this.length-1)*n-i;return rS(s,this.points[i],this.controls[i][1],this.controls[i+1][0],this.points[i+1])}}function rS(r,e,t,n,i){const s=iS(r);return{x:i.x*s[0]+n.x*s[1]+t.x*s[2]+e.x*s[3],y:i.y*s[0]+n.y*s[1]+t.y*s[2]+e.y*s[3],z:i.z*s[0]+n.z*s[1]+t.z*s[2]+e.z*s[3]}}function iS(r){const e=r*r;return[e*r,3*e*(1-r),3*r*(1-r)*(1-r),(1-r)*(1-r)*(1-r)]}function sS(r,e){e===void 0&&(e={});var t=e.resolution||1e3,n=e.sharpness||.85;const i=[],s=r.map(l=>{const[c,h,f]=Fr(l);return{x:c,y:h,z:f}});for(var o=new nS({duration:t,points:s,sharpness:n}),a=function(l){var c=o.pos(l);const h=Wh([c.x,c.y,c.z]);i.push(h)},u=0;u<o.duration;u+=10)a(u);return a(o.duration),i}function Kv(r,e,t){return sS(r,{resolution:e,sharpness:t})}class Zv extends ta{constructor(e){super(e)}get propUiTree(){return this.uiTree}}class Bd extends Qo{constructor(e,t,n){super(e,t),this._property=n}get property(){return this._property}}class jd extends Bd{constructor(e,t){super(e,!1,t)}}class zd extends Bd{constructor(e,t){super(e,!0,t)}get groupChildren(){return this.children}}function Qv(r,e){const t=new Zv(e),n=r.getProperties("chinese"),i=[];for(let s of n)if(s instanceof ut){const o=new zd(t,s);o.d(()=>s.destroy()),t.children.push(o),i.push(o)}else{const o=new jd(t,s);t.children.push(o),o.d(()=>s.destroy())}for(;i.length>0;){const s=i.pop();if(!s)throw new Error("should not be here!");const o=s;if(!(o.property instanceof ut))throw new Error("!(treeItem.property instanceof GroupProperty)");for(let a of o.property.children)if(a instanceof ut){const u=new zd(t,a);u.d(()=>a.destroy()),o.groupChildren.push(u),i.push(u)}else{const u=new jd(t,a);o.groupChildren.push(u),u.d(()=>a.destroy())}}return t.d(()=>{t.itemChildrenChanged.reset(),t.itemChildrenToChange.reset();const s=[...t.getDescendants()];s.forEach(o=>{o.children&&(o.children.length=0),o.destroy()}),s.length=0}),t}class La extends V{constructor(t){super();d(this,"_propTreeReact",this.dv(B(void 0)));this.d(()=>this._propTreeReact.value=void 0),this.dv(new we(this.sceneObjectChanged,n=>{if(!n)return;const i=new V;return i.d(n.toDestroyEvent.don(()=>{this.sceneObject=void 0})),i})),this.d(this.sceneObjectChanged.don(n=>{this._propTreeReact.value=void 0,!(!n||!(n instanceof rt))&&(this._propTreeReact.value=Qv(n,t))}))}get propTree(){return this._propTreeReact.value}get propTreeChanged(){return this._propTreeReact.changed}}(r=>{r.createDefaultProps=()=>({sceneObject:void 0})})(La||(La={})),ji(La.prototype,La.createDefaultProps);function Ud(r){return ps(r,(e,t)=>e[0]===t[0]&&e[1]===t[1],e=>[...e])}function ty(r,e){const t=new Array;for(let n of r)t.push(e(n));return t}function Gd(r,e){return r===void 0&&e===void 0?!0:!r||!e?!1:r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]}function oS(r,e,t){var i;((i=e.attachedViewers.values().toArray()[0])==null?void 0:i.getEngineObject(e))?t.call(r):(r.dispose(e.viewerAttached.don(()=>{t.call(r)})),r.dispose(e.createdEvent.don(()=>t.call(r))))}function aS(r,e,t,n=!0){n&&t(),r.dispose(e.disposableOn(t))}function uS(r,e){const{type:t,id:n}=r;if(t){const i=rt.create(t,n);if(i)return i.json=r,i;console.warn(`cannot create sceneObject from type(${t})`)}else console.warn(`cannot create sceneObject from type(${t})`)}function ey(r){const e=r.children&&ch(r.children,n=>{if(!(n instanceof mn))throw new Error("!(treeItem instanceof SceneTreeItem)");return!n.show})||!1,t=r.sceneTree.getSceneObjectShowFunc(r.sceneObject);return!e||t}class mn extends Qo{constructor(t,n=!1,i,s,o=!0){super(t,n,i);d(this,"_dragDrop");d(this,"_showChangedNotAffectChildren",!1);d(this,"_showChangedNotAffectParent",!1);d(this,"_type",this.dv(B("Unknown")));d(this,"_isExport",this.dv(B(!0)));const a=()=>this.tree&&this.tree.itemsChanged.emit([this]);this.dispose(this.nameChanged.disposableOn(a)),this.name=`未命名条目(${this.id})`,this.extras=s,this._isExport.value=o;let u;const l=()=>{u&&(u(),u=void 0)};this.dispose(l),this.dispose(this.sceneObjectChanged.disposableOn(c=>{l(),c&&(u=nt([this,"name"],[c,"name"]))})),this.dispose(this.showChanged.disposableOn(c=>{if(t.setSceneObjectShowFunc(this.sceneObject,c),this.tree&&this.tree.forceRedraw(),this.children&&!this._showChangedNotAffectChildren)for(let h of this.children)h instanceof mn&&(h._showChangedNotAffectParent=!0,h.show=c,h._showChangedNotAffectParent=!1);this.parent&&this.parent instanceof mn&&!this._showChangedNotAffectParent&&(this.parent._showChangedNotAffectChildren=!0,this.parent.show=ey(this.parent),this.parent._showChangedNotAffectChildren=!1)})),this.dv(new we(this.sceneObjectChanged,()=>{if(!this.sceneObject)return;const c=new V;if("show"in this.sceneObject&&"showChanged"in this.sceneObject&&this.sceneObject.showChanged instanceof N){const h=()=>{this.show=t.getSceneObjectShowFunc(this.sceneObject)};h(),c.dispose(this.sceneObject.showChanged.disposableOn(h))}else if("enabled"in this.sceneObject&&"enabledChanged"in this.sceneObject&&this.sceneObject.enabledChanged instanceof N){const h=()=>{this.show=t.getSceneObjectShowFunc(this.sceneObject)};h(),c.dispose(this.sceneObject.enabledChanged.disposableOn(h))}return c})),this.childrenChangedEvent.disposableOn(()=>{const c=ey(this);this._showChangedNotAffectChildren=!0,this.show=c,this._showChangedNotAffectChildren=!1});{const c=()=>{let h="Unknown";this.sceneObject?h=this.sceneObject.typeName:this.children&&(h="Folder"),this._type.value=h};this.dispose(this.sceneObjectChanged.disposableOn(c)),this.dispose(this.childrenResetedEvent.disposableOn(c)),c()}}get dragDrop(){return this._dragDrop||(this._dragDrop=this.dv(this.sceneTree.createTreeItemDragDropFunc(this))),this._dragDrop}get type(){return this._type.value}get typeChanged(){return this._type.changed}get isExport(){return this._isExport.value}get isExportChanged(){return this._isExport.changed}set isExport(t){this._isExport.value=t}get sceneTree(){return this.tree}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(t){try{this.json=JSON.parse(t)}catch(n){console.error(`sceneTreeItem.jsonStr error ${n}`,n)}}get completeJson(){const t=this.children&&[...this.children].filter(n=>n.isExport).map(n=>n.completeJson);return{name:this.name,show:this.show?void 0:!1,collapsed:this.uiTreeObject.collapsed?!0:void 0,sceneObj:this.sceneObject&&this.sceneObject.completeJson,children:t,extras:this.extras}}get json(){const t=this.children&&[...this.children].filter(n=>n.isExport).map(n=>n.json);return{name:this.name,show:this.show?void 0:!1,collapsed:this.uiTreeObject.collapsed?!0:void 0,sceneObj:this.sceneObject&&this.sceneObject.json,children:t,extras:this.extras}}set json(t){if(t.name!==void 0&&(this.name=t.name),this.extras=t.extras,this._showChangedNotAffectChildren=!0,this._showChangedNotAffectParent=!0,this.show=t.show??!0,this._showChangedNotAffectChildren=!1,this._showChangedNotAffectParent=!1,this.uiTreeObject.collapsed=t.collapsed??!1,this.sceneObject=void 0,t.sceneObj&&(this.sceneObject=this.sceneTree.createSceneObjectFunc(t.sceneObj,this)),!!t.children){if(this.resetChildren(!0),!this.children)throw new Error("resetChildren(true) cannot get children!");for(let n of t.children){const i=new mn(this.tree,!0);i.json=n,this.children.push(i)}}}clone(){try{const t=new mn(this.sceneTree,!!this.children,void 0,this.extras,this.isExport);return t.json=this.json,t.name=this.sceneTree.getSceneTreeItemCloneNameFunc(this),t}catch(t){console.error(`SceneTreeItem.clone error: ${t}`,t)}}insertNewTreeItem(t,n){if(t==="FolderInnerOrAfter"||t==="FolderInnerOrBefore"||t==="FolderInner"){if(n&&n.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&!(t.includes("Or")&&this.sceneObject))return n&&this.children.push(n),!0;if(t==="FolderInner")return!1;if(t==="FolderInnerOrAfter")return super.insertNewTreeItem("After",n);if(t==="FolderInnerOrBefore")return super.insertNewTreeItem("Before",n);throw new Error("should not be here!")}else return super.insertNewTreeItem(t,n)}}(r=>{r.createDefaultProps=()=>({name:"未命名条目",nameEditing:!1,sceneObject:void 0,show:!0,extras:Zt(void 0)})})(mn||(mn={})),ji(mn.prototype,mn.createDefaultProps);function ny(r,e,t){let{offsetY:n}=e;if(!e.target||!("clientTop"in e.target))return"none";n+=2,n+=e.target.clientTop;let i="none";return r.children?n<=t*.3?i="before":n>=t*.7?!r.uiTreeObject.collapsed&&r.children.length>0?i="inner":i="after":i="inner":n<=t*.5?i="before":i="after",i}class ry extends Lg{constructor(e){super(),this._treeItem=e;const{dragStartDataManager:t}=this._treeItem.sceneTree;let n="none";const i=this.disposeVar(Fp(()=>{this._treeItem.uiTreeObject.moveToPositionMode=n,console.log(`uiTreeObject.moveToPositionMode = lastDragMode(${n});`)},200));function s(o){n!==o&&(n=o,i.restart())}this.dispose(this._dragStartEvent.disposableOn(o=>{t.data={type:"UITreeA",value:this._treeItem}})),this.dispose(this._dragOverEvent.disposableOn(o=>{if(!o.dataTransfer)return;o.preventDefault();const a=t;if(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0){const u=a.data.value,l=this._treeItem,{tree:c}=l;if(c){const h=[...c.selectedItems];~h.indexOf(u)||h.push(u);const f=ny(l,o,c.itemDivHeight);if(f!=="none"&&ta.canMoveToTreeItems(h,l,f)){o.dataTransfer.dropEffect="move",s(f);return}}}o.dataTransfer.dropEffect="none",s("none")})),this.dispose(this._dropEvent.disposableOn(o=>{const a=t;if(!(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0))return;const u=a.data.value,l=this._treeItem,{tree:c}=l;if(!c)return;const h=[...c.selectedItems];~h.indexOf(u)||h.push(u);const f=ny(l,o,c.itemDivHeight);f!=="none"&&ta.canMoveToTreeItems(h,l,f)&&(ta.moveToTreeItems(h,l,f),a.data=void 0,s("none"))})),this.dispose(this._dragLeaveEvent.disposableOn(()=>{n="none",i.restart()}))}}function lS(r){if(!(r instanceof mn))throw new Error("defaultCreateTreeItemDragDrop !(treeItem instanceof SceneTreeItem)");return new ry(r)}function cS(r){let e=!1;return r&&("show"in r?e=r.show??!0:"enabled"in r&&(e=r.enabled??!0)),e}function hS(r,e){r&&("show"in r?r.show=e:"enabled"in r&&(r.enabled=e))}const dS=["EnvironmentVariables","ScriptsLoader","SceneScript","ScriptLoader"];function fS(r){const e=[],{root:t={}}=r,n=[t];for(;n.length>0;){const i=n.pop();if(!i)throw new Error("!todo");if(i.children){for(let s of i.children)if(s.children&&n.unshift(s),s.sceneObj){const{type:o=void 0}=s.sceneObj;o||(console.warn("sceneObjJson has no type! treeItem.sceneObj: "),console.warn(s.sceneObj)),o&&dS.includes(o)&&e.push(s.sceneObj)}}}return e}async function pS(r,e){const t=fS(r);let n=0;const i=t.length;for(let s of t)if(++n,e){const o=n/i;e(o,n,i)}}class iy extends V{constructor(t,n){super();d(this,"treeItemContexMenuCallback");this._sceneTree=t,this._projectManager=n}get sceneTree(){return this._sceneTree}}class gS extends V{constructor(t){super();d(this,"_jsonLoadingEvent",this.disposeVar(new N));d(this,"_setJsonProcessing",this.disposeVar(Hn(async(t,n)=>{this._jsonLoadingEvent.emit({type:"init"}),this._jsonLoadingEvent.emit({type:"loading"}),n&&await t.promise(this._sceneTree.preloadFunc(n)),this._setJson(n),this._jsonLoadingEvent.emit({type:"loaded"})})));this._sceneTree=t,this._setJsonProcessing.errorFunc=n=>{this._jsonLoadingEvent.emit({type:"error",error:n})}}get jsonLoadingEvent(){return this._jsonLoadingEvent}_setJson(t){try{this._sceneTree.setJson(t||{})}catch(n){console.error(`json数据装配时发生错误!error: ${n}`)}}get json(){return this._sceneTree.getJson()}set json(t){this._setJsonProcessing.restart(new Mr("JSON重新赋值!"),t)}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(t){this.json=JSON.parse(t)}}function mS(r){return r.name+"_clone"}function Wd(r,e,t){if(r instanceof mn)return r.insertNewTreeItem(e,t);{const n={FolderInnerOrAfter:"InnerOrAfter",FolderInnerOrBefore:"InnerOrBefore",FolderInner:"Inner",InnerOrAfter:"InnerOrAfter",InnerOrBefore:"InnerOrBefore",Inner:"Inner",After:"After",Before:"Before"};return r.insertNewTreeItem(n[e],t)}}function vS(r){[r,...r.getDescendants()].forEach(e=>e.destroy())}const Un=class Un extends ta{constructor(t,n,i,s){super(i);d(this,"_jsonLoading",this.disposeVar(new gS(this)));d(this,"createSceneObjectFunc",Un.defaultCreateSceneObjectFunc);d(this,"createTreeItemDragDropFunc",Un.defaultCreateTreeItemDragDropFunc);d(this,"preloadFunc",Un.defaultPreload);d(this,"getSceneObjectShowFunc",Un.defaultGetSceneObjectShow);d(this,"setSceneObjectShowFunc",Un.defaultSetSceneObjectShow);d(this,"getSceneTreeItemCloneNameFunc",Un.defaultGetSceneTreeItemCloneNameFunc);d(this,"debug",!1);d(this,"_contextMenu",this.disposeVar(new iy(this,this.projectManager)));d(this,"_showPropUiOnSelecting",this.disposeVar(B(!0)));this._name=t,this._dragStartDataManager=n,this._projectManager=s,this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{var a,u;globalThis.lssn=this.lastSelectedItem,globalThis.lsso=(a=this.lastSelectedItem)==null?void 0:a.sceneObject,this.debug&&console.log(((u=this.lastSelectedItem)==null?void 0:u.sceneObject)??"select null")}));const{sceneObjectsManager:o}=this._projectManager;this.dispose(this.itemsDeleted.disposableOn(a=>{for(let u of a){const l=u,{sceneObject:c}=l;c&&o.deleteSceneObject(c)&&c.destroy()&&Gl(c,void 0);for(let h of l.getDescendants()){const{sceneObject:f}=h;f&&o.deleteSceneObject(f)&&f.destroy()&&Gl(f,void 0)}vS(u)}})),this.dispose(this.itemsAdded.disposableOn(a=>{for(let u of a){const l=u;l.sceneObject&&o.addSceneObject(l.sceneObject)&&Gl(l.sceneObject,l)}})),this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{if(!this.showPropUiOnSelecting)return;this._projectManager.propUiTreeManager.sceneObject=void 0;const{lastSelectedItem:a}=this;a&&(this._projectManager.propUiTreeManager.sceneObject=a.sceneObject)}))}get json(){return this._jsonLoading.json}set json(t){this._jsonLoading.json=t}get jsonStr(){return this._jsonLoading.jsonStr}set jsonStr(t){this._jsonLoading.jsonStr=t}get jsonLoadingEvent(){return this._jsonLoading.jsonLoadingEvent}get name(){return this._name}get projectManager(){return this._projectManager}get contextMenu(){return this._contextMenu}get showPropUiOnSelecting(){return this._showPropUiOnSelecting.value}set showPropUiOnSelecting(t){this._showPropUiOnSelecting.value=t}get showPropUiOnSelectingChanged(){return this._showPropUiOnSelecting.changed}get sceneUiTree(){return this.uiTree}getTreeItemFromSceneObjId(t){const n=this.getDescendants();let i;for(let s of n)if(s.sceneObject&&s.sceneObject.id===t){i=s;break}return i}getTreeItemsFromSceneObjType(t){const n=this.getDescendants(),i=[],s=Array.isArray(t)?t:[t];for(let o of n)o.sceneObject&&s.includes(o.sceneObject.typeName)&&i.push(o);return i}getTreeItemsFromSceneObjName(t){var s;const n=this.getDescendants(),i=[];for(let o of n)(s=o.sceneObject)!=null&&s.name.includes(t)&&i.push(o);return i}get dragStartDataManager(){return this._dragStartDataManager}get completeJson(){return{root:{children:[...this.children].filter(t=>t.isExport).map(t=>t.completeJson)}}}getJson(){return{root:{children:[...this.children].filter(t=>t.isExport).map(t=>t.json)}}}setJson(t){var i;t.root=t.root||{};const n=t.root.children??[];this.root.resetChildren(!0);for(let s of n){const o=new mn(this,!0);o.json=s,(i=this.root.children)==null||i.push(o)}}testAddNewTreeItem(t,n){const i=t||this.lastSelectedItem||this.root;return i?Wd(i,n):!1}addNewTreeItem(t,n,i,s){const o=t||this.lastSelectedItem||this.root;if(o&&Wd(o,n)){const a=new mn(this,i);if(a.sceneObject=s,!Wd(o,n,a))throw new Error("currentTreeItem.insertNewTreeItem return false!");return a}}createSceneObjectTreeItem(t,n,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=rt.create(t,n);return a?this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0,a):void 0}createGroupTreeItem(t,n,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0);if(!a){console.warn("addNewTreeItem error!");return}return a.name=t??"未命名组节点",a}createSceneObjectTreeItemFromClass(t,n,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o))return;const a=rt.createFromClass(t,n);return a?this.addNewTreeItem(i,o,!0,a):void 0}createSceneObjectTreeItemFromJson(t,n,i){const s=i??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(n,s))return;const o=rt.createFromJson(t);return console.log(o),o?this.addNewTreeItem(n,i??"FolderInnerOrAfter",!0,o):void 0}destroySceneObjectTreeItem(t){if(t===this.root){console.warn("cannot destroy root! please use function destroyAllSceneObjectTreeItems!");return}t.detachFromParent()}destroyAllSceneObjectTreeItems(){if(!this.root.children)return;const t=[...this.root.children];for(let n of t)this.destroySceneObjectTreeItem(n)}};d(Un,"defaultCreateSceneObjectFunc",uS),d(Un,"defaultCreateTreeItemDragDropFunc",lS),d(Un,"defaultPreload",pS),d(Un,"defaultGetSceneObjectShow",cS),d(Un,"defaultSetSceneObjectShow",hS),d(Un,"defaultGetSceneTreeItemCloneNameFunc",mS);let hl=Un;const Hd={saturation:.35,brightness:1.4,gamma:.8,atmosphereScatteringIntensity:5,groundColor:[0,.09411764705882353,.3137254901960784,1]};class yS extends V{constructor(t){super();d(this,"_currentPosition",this.disposeVar(ne(void 0)));d(this,"_currentRotation",this.disposeVar(ne(void 0)));d(this,"_currentHeading",this.disposeVar(B(void 0)));d(this,"_isRotating",this.disposeVar(B(!1)));d(this,"_isGround",this.disposeVar(B(!1)));d(this,"_startPosition",[0,0,0]);d(this,"_startRotation",[0,0,0]);d(this,"_processing",this.disposeVar(Hn(async(t,n,i,s)=>{const{currentPosition:o,currentRotation:a}=this;if(!o||s<=0||!a){this._currentPosition.value=n,this._currentRotation.value=i;return}const u=this._startPosition;u.splice(0,3,...o);const l=this._startRotation;l.splice(0,3,...a);let c=Date.now();const h=ku(u,n);this._currentHeading.value=h;const p=$l(u,n)/s,v=[i[0]-l[0],i[1]-l[1],i[2]-l[2]],C=n[2]-u[2];await t.promise(new Promise(S=>{t.disposer.dispose(Ol(async()=>{let P=Date.now()-c;P=P<0?0:P,P=P>s?s:P;const y=P*p,_=rm(u,y,h);if(this.isGround&&_){const m=await this._esviewer.getTerrainHeight([_[0],_[1]]);this._currentPosition.value=[_[0],_[1],m??0]}else _&&(_[2]+=C*(P/s)),this._currentPosition.value=_;if(this.isRotating){const[m,w,E]=v,b=P/s;this._currentRotation.value=[l[0]+m*b,l[1]+w*b,l[2]+E*b]}P===s&&(this._currentPosition.value=n,this.isRotating&&(this._currentRotation.value=i),this.isRotating=!1,this.isGround=!1,S())}))}))})));this._esviewer=t}get currentPosition(){return this._currentPosition.value}get currentPositionChanged(){return this._currentPosition.changed}get currentRotation(){return this._currentRotation.value}get currentRotationChanged(){return this._currentRotation.changed}get currentHeading(){return this._currentHeading.value}get currentHeadingChanged(){return this._currentHeading.changed}get isRotating(){return this._isRotating.value}set isRotating(t){this._isRotating.value=t}get isRotatingChanged(){return this._isRotating.changed}get isGround(){return this._isGround.value}set isGround(t){this._isGround.value=t}get isGroundChanged(){return this._isGround.changed}get processing(){return this._processing}restart(t,n,i){this._processing.restart(void 0,t,n,i)}cancel(){this._processing.cancel()}}function sy(r){let e=0;function t(n,i){i++,e=Math.max(i,e),n.forEach(s=>{Array.isArray(s)&&t(s,i)})}return t(r,0),e}const Ti=class Ti extends Wt{constructor(t){super(t);d(this,"editingBindMode","lineString");d(this,"_area",this.dv(B(0)));d(this,"_perimeter",this.dv(B(0)));this.d(Bi(this.pointsChanged,()=>{this._updateArea(),this._updatePerimeter()},{immediate:!0}))}updateEditing(){var n;const t=[];this.editingBindMode=="doublePoints"?t.push(et.DoublePointsAppend,et.DoublePointsModify):this.editingBindMode=="lineString"?t.push(et.LineStringAppend,et.LineStringInsert,et.Translation):this.editingBindMode=="circular"?(t.push(et.CircularAppend,et.CircularInsert,et.Translation),this.supportEditingModes().includes(et.HeightModify)&&t.push(et.HeightModify)):this.editingBindMode=="visibility"?t.push(et.VisibilityAppend,et.VisibilityModify):this.editingBindMode=="scatter"&&t.push(et.ScatterAppend,et.ScatterModify),(n=this.activeViewer)==null||n.startEditing(this,t,{callSource:"inner"})}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}_updateArea(){this._area.value=this.getArea()??0}_updatePerimeter(){this._perimeter.value=this.getPerimeter()??0}getArea(){if(this.points&&this.points.length>=3)return Kh([...this.points])}getDistance(){if(this.points&&this.points.length>=2){const t=cl(this.points,"GEODESIC");return t[t.length-1]}else return}getPerimeter(){if(this.points&&this.points.length>=3){const t=[...this.points,this.points[0]],n=cl(t,"GEODESIC");return n[n.length-1]}else return}getIntersect(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=Gv(this.points,t);if(!n)return;const i=n[0][0][0];if(Array.isArray(i)){const s=[...n],o=[];return s.forEach(a=>{const u=a[0].map(l=>[...l,0]);o.push(u)}),o}else return[[...n][0].map(a=>[...a,0])]}else return}getUnion(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=Wv(this.points,t);if(!n)return;const i=n[0][0][0];if(Array.isArray(i)){const s=[...n],o=[];return s.forEach(a=>{const u=a[0].map(l=>[...l,0]);o.push(u)}),o}else return[[...n][0].map(a=>[...a,0])]}else return}getDifference(t){if(this.points&&this.points.length>=3&&t.length>=3){let n=[...t];const i=t[0],s=t[t.length-1];i[0]===s[0]&&i[1]===s[1]&&i[2]===s[2]||n.push(i);const o=qv([...this.points,this.points[0]],[...n]);if(!o)return{status:"undefined",positions:void 0};const a=[...o];if(sy(a)===3){const u=a.map(f=>f.map(p=>[...p,0]));if(u.length<=1)return{status:"notIncluded",positions:u};const l=u[0],c=u[1];return kd([...l],[...c])==="oneBig"?{status:"included",positions:u}:{status:"notIncluded",positions:u}}else if(sy(a)===4){const l=[...a.map(h=>h.map(f=>f.map(p=>[...p,0])))],c=[];return l.forEach(h=>{c.push(h[0])}),{status:"notIncluded",positions:c}}else return{status:"undefined",positions:void 0}}else return{status:"undefined",positions:void 0}}getBuffer(t=500,n){if(this.points&&this.points.length>=2){const i=Hv(this.points,t,n);return i?[i[0].map(s=>[...s,0])]:void 0}else return}geoPolygonOverlap(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=kd(this.points,t);return n==="oneBig"?!0:n==="twoBig"?!1:void 0}else return}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",coordinate:[...t.coordinate,new X([this,"editing"],"编辑",!1),new it([this,"points"],"位置数组",Ti.defaults.points,void 0,!0)],style:[...t.style,new ut([],"点样式"),new X([this,"pointed"],"开启",!1),new M([this,"pointSize"],"点大小",1),new bt([this,"pointSizeType"],[["screen","screen"],["world","world"]],"点类型","screen"),new Dt([this,"pointColor"],"点颜色",[1,1,1,1]),new Dt([this,"pointOutlineColor"],"轮廓颜色",Ti.defaults.pointStyle.outlineColor),new M([this,"pointOutlineWidth"],"轮廓宽度",Ti.defaults.pointStyle.outlineWidth),new ut([],"线样式"),new X([this,"stroked"],"开启线样式",!0),new X([this,"strokeGround"],"贴地",!1),new M([this,"strokeWidth"],"线宽",1),new bt([this,"strokeWidthType"],[["screen","screen"],["world","world"]],"线类型","screen"),new Dt([this,"strokeColor"],"线颜色",[1,1,1,1]),new ut([],"面样式"),new X([this,"filled"],"开启",!1),new X([this,"fillGround"],"贴地",!1),new Dt([this,"fillColor"],"填充颜色",[1,1,1,1])],more:[...t.more,new ut([],"点样式集合"),new pt([this,"pointMaterial"],"点材质"),new it([this,"pointMaterialParams"],"点材质参数"),new ut([],"线样式集合"),new pt([this,"strokeMaterial"],"线材质"),new it([this,"strokeMaterialParams"],"线材质参数"),new ut([],"面样式集合"),new pt([this,"fillMaterial"],"面材质"),new it([this,"fillMaterialParams"],"面材质参数")]}}get pointSize(){return this.pointStyle.size}set pointSize(t){this.pointStyle={...this.pointStyle,size:t}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(t){this.pointStyle={...this.pointStyle,sizeType:t}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(t){this.pointStyle={...this.pointStyle,color:[...t]}}get pointColorChanged(){return this.pointStyleChanged}get pointOutlineColor(){return this.pointStyle.outlineColor}set pointOutlineColor(t){this.pointStyle={...this.pointStyle,outlineColor:[...t]}}get pointOutlineColorChanged(){return this.pointStyleChanged}get pointOutlineWidth(){return this.pointStyle.outlineWidth}set pointOutlineWidth(t){this.pointStyle={...this.pointStyle,outlineWidth:t}}get pointOutlineWidthChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(t){this.pointStyle={...this.pointStyle,material:t}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(t){this.pointStyle={...this.pointStyle,materialParams:t}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}};d(Ti,"createDefaultProps",()=>({...Wt.createDefaultProps(),pointed:!1,pointStyle:_t({size:10,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:2}),stroked:!1,strokeStyle:_t({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!1,fillStyle:_t({color:[1,1,1,1],material:"",materialParams:{},ground:!1}),points:xl([])})),d(Ti,"type",Ti.register("ESGeoVector",Ti,{chsName:"地理矢量",tags:["ESObjects"],description:"地理矢量"})),d(Ti,"supportEditingModes",[...Wt.supportEditingModes,et.Translation]);let Pt=Ti;const Po=class Po extends Wt{constructor(){super(...arguments);d(this,"_statusDis",this.dv(B(!0)));d(this,"_smoothMoveEvent",this.dv(new N));d(this,"_smoothMoveWithRotationEvent",this.dv(new N));d(this,"_smoothMoveOnGroundEvent",this.dv(new N));d(this,"_smoothMoveWithRotationOnGroundEvent",this.dv(new N));d(this,"_automaticLandingEvent",this.dv(new N));d(this,"_smoothMoveKeepPitchEvent",this.dv(new N));d(this,"_smoothMoveRelativelyEvent",this.dv(new N));d(this,"_smoothMoveRelativelyWithRotationEvent",this.dv(new N));d(this,"useCalcFlyToParamInESObjectWithLocation",!0)}updateEditing(){var n;const t=[];this.editingBindMode=="singlePoint"?(t.push(et.Place,et.Translation),["ESLocationMeasurement"].includes(this.typeName)||t.push(et.Rotation),["ESClippingPlane","ESLocationMeasurement","ESLocalRectangle","ESBoxClipping"].includes(this.typeName)||t.push(et.Scale)):this.editingBindMode=="doublePoints"&&t.push(et.DoublePointsAppend,et.DoublePointsModify),(n=this.activeViewer)==null||n.startEditing(this,t,{callSource:"inner"})}get statusDis(){return this._statusDis.value}get statusDisChanged(){return this._statusDis.changed}get smoothMoveEvent(){return this._smoothMoveEvent}smoothMove(t,n){this._smoothMoveEvent.emit(t,n)}get smoothMoveWithRotationEvent(){return this._smoothMoveWithRotationEvent}smoothMoveWithRotation(t,n,i){this._smoothMoveWithRotationEvent.emit(t,n,i)}get smoothMoveOnGroundEvent(){return this._smoothMoveOnGroundEvent}smoothMoveOnGround(t,n,i,s){this._smoothMoveOnGroundEvent.emit(t,n,i,s)}get smoothMoveWithRotationOnGroundEvent(){return this._smoothMoveWithRotationOnGroundEvent}smoothMoveWithRotationOnGround(t,n,i,s,o){this._smoothMoveWithRotationOnGroundEvent.emit(t,n,i,s,o)}get automaticLandingEvent(){return this._automaticLandingEvent}automaticLanding(){const t=this.collision;this.collision=!1,setTimeout(()=>{this._automaticLandingEvent.emit(t)},100)}get smoothMoveKeepPitchEvent(){return this._smoothMoveKeepPitchEvent}smoothMoveKeepPitch(t,n){this._smoothMoveKeepPitchEvent.emit(t,n)}get smoothMoveRelativelyEvent(){return this._smoothMoveRelativelyEvent}smoothMoveRelatively(t,n){this._smoothMoveRelativelyEvent.emit(t,n)}get smoothMoveRelativelyWithRotationEvent(){return this._smoothMoveRelativelyWithRotationEvent}smoothMoveRelativelyWithRotation(t,n,i){this._smoothMoveRelativelyWithRotationEvent.emit(t,n,i)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",location:[...t.location,new X([this,"editing"],"是否编辑"),new lt([],()=>this.automaticLanding(),[],"自动落地"),new ea([this,"position"],"位置数组",[0,0,0]),new jh([this,"rotation"],"姿态数组",[0,0,0]),new un([this,"scale"],"缩放",[1,1,1]),new M([this,"minVisibleDistance"],"最小可见距离",0),new M([this,"maxVisibleDistance"],"最大可见距离",0)],more:[...t.more,new lt(["numbers","number"],(n,i)=>this.smoothMove(n,i),[[0,0,0],0],"平滑移动","smoothMove"),new lt(["numbers","number"],(n,i)=>this.smoothMoveKeepPitch(n,i),[[0,0,0],0],"固定方向平滑移动","smoothMoveKeepPitch"),new lt(["numbers","numbers","number"],(n,i,s)=>this.smoothMoveWithRotation(n,i,s),[[0,0,0],[0,0,0],0],"平滑偏移","smoothMoveWithRotation"),new lt(["number","number","number","string"],(n,i,s,o)=>this.smoothMoveOnGround(n,i,s,o),[0,0,0,""],"贴地平滑移动","smoothMoveOnGround"),new lt(["numbers","number","number","number","string"],(n,i,s,o,a)=>this.smoothMoveWithRotationOnGround(n,i,s,o,a),[[0,0,0],0,0,0,""],"贴地平滑偏移","smoothMoveWithRotationOnGround"),new lt(["numbers","number"],(n,i)=>this.smoothMoveRelatively(n,i),[[0,0,0],0],"smoothMoveRelatively","smoothMoveRelatively"),new lt(["numbers","numbers","number"],(n,i,s)=>this.smoothMoveRelativelyWithRotation(n,i,s),[[0,0,0],[0,0,0],0],"smoothMoveRelativelyWithRotation","smoothMoveRelativelyWithRotation"),new X([this,"enableVisibleDistance"],"是否应用距离显隐")]}}get pointSize(){return this.pointStyle.size}set pointSize(t){this.pointStyle={...this.pointStyle,size:t}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(t){this.pointStyle={...this.pointStyle,sizeType:t}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(t){this.pointStyle={...this.pointStyle,color:[...t]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(t){this.pointStyle={...this.pointStyle,material:t}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(t){this.pointStyle={...this.pointStyle,materialParams:t}}get pointMaterialParamsChanged(){return this.pointStyleChanged}};d(Po,"createDefaultProps",()=>({...Wt.createDefaultProps(),pointed:!1,pointStyle:_t({size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:2}),position:dt([0,0,0]),rotation:dt([0,0,0]),scale:dt([1,1,1]),minVisibleDistance:B(0),maxVisibleDistance:B(0)})),d(Po,"type",Po.register("ESObjectWithLocation",Po,{chsName:"对象位置",tags:["ESObjects"],description:"对象位置"})),d(Po,"supportEditingModes",[...Wt.supportEditingModes,et.Place,et.Translation,et.Rotation,et.Scale,et.DoublePointsAppend,et.DoublePointsModify]);let st=Po;const za=class za extends st{getESProperties(){const e={...super.getESProperties()};return{...e,style:[...e.style,new ut([],"点样式集合"),new X([this,"pointed"],"开启点样式",!1),new M([this,"pointSize"],"点大小",1),new bt([this,"pointSizeType"],[["screen","screen"],["world","world"]],"点类型","screen"),new Dt([this,"pointColor"],"点颜色",[1,1,1,1]),new ut([],"线样式集合"),new X([this,"stroked"],"开启线样式",!1),new X([this,"strokeGround"],"是否贴地(线)",!1),new M([this,"strokeWidth"],"线宽",1),new bt([this,"strokeWidthType"],[["screen","screen"],["world","world"]],"线类型","screen"),new Dt([this,"strokeColor"],"线颜色",[1,1,1,1]),new ut([],"面样式集合"),new X([this,"filled"],"开启填充样式",!1),new X([this,"fillGround"],"是否贴地",!1),new Dt([this,"fillColor"],"填充颜色",[1,1,1,1])],more:[...e.more,new ut([],"点样式"),new pt([this,"pointMaterial"],"点材质",""),new it([this,"pointMaterialParams"],"点材质参数",{}),new ut([],"线样式"),new pt([this,"strokeMaterial"],"线材质",""),new it([this,"strokeMaterialParams"],"线材质参数",{}),new ut([],"填充样式"),new pt([this,"fillMaterial"],"面材质",""),new it([this,"fillMaterialParams"],"面材质参数",{})]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}};d(za,"createDefaultProps",()=>({...st.createDefaultProps(),pointed:!1,pointStyle:_t({size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:1}),stroked:!1,strokeStyle:_t({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!1,fillStyle:_t({color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(za,"type",za.register("ESLocalVector",za,{chsName:"本地矢量",tags:["ESObjects"],description:"本地矢量对象"}));let Fa=za;const wl=class wl extends Fa{};d(wl,"type",wl.register("ESLocalVector2D",wl,{chsName:"本地矢量2D",tags:["ESObjects"],description:"本地矢量2D对象"}));let ss=wl;const _S=[["固定朝向",0],["面向屏幕旋转",1],["绕自身Z轴旋转",2]],wS=[["单面不透明",0],["双面不透明",1],["单面遮罩",2],["双面遮罩",3],["单面透明",4],["双面透明",5],["单面未遮挡透明",6],["双面未遮挡透明",7]],Ua=class Ua extends st{constructor(){super(...arguments);d(this,"_widgetEvent",this.dv(new N))}get widgetEvent(){return this._widgetEvent}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new X([this,"screenRender"],"屏幕渲染",!0),new X([this,"sizeByContent"],"尺寸自适应",!0),new Fe([this,"size"],"尺寸大小",[100,100]),new Fe([this,"anchor"],"偏移比例",[.5,1]),new Fe([this,"offset"],"像素偏移",[0,0]),new bt([this,"renderMode"],wS,"渲染模式",0),new bt([this,"rotationType"],_S,"漫游旋转类型",1),new pt([this,"actorTag"],"绑定对象"),new pt([this,"socketName"],"插槽名称"),new un([this,"positionOffset"],"位置偏移"),new un([this,"rotationOffset"],"相对姿态")],more:[...t.more,new M([this,"zOrder"],"排序",0)]}}};d(Ua,"createDefaultProps",()=>({...st.createDefaultProps(),screenRender:!0,size:dt([100,100]),anchor:dt([.5,1]),offset:dt([0,0]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,actorTag:"",socketName:"",positionOffset:dt([0,0,0]),rotationOffset:dt([0,0,0])})),d(Ua,"type",Ua.register("ESLabel",Ua,{chsName:"标签",tags:["ESObjects"],description:"标签对象"}));let ir=Ua;const Ga=class Ga extends rt{constructor(e){super(e)}};d(Ga,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,fillStyle:_t({color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Ga,"type",Ga.register("ESTestObject",Ga,{chsName:"测试",tags:["ESObjects"],description:""}));let qd=Ga;const Ni=class Ni extends Wt{constructor(t){super(t);d(this,"_refreshTilesetEvent",this.dv(new N));d(this,"_tilesetReadyEvent",this.dv(new N));d(this,"_supportEdit",this.dv(B(!0)));d(this,"_highlightFeatureEvent",this.dv(new N));d(this,"_highlightFeatureAndFlyToEvent",this.dv(new N));d(this,"_strokeFeatureEvent",this.disposeVar(new N));d(this,"_getFeatureTableEvent",this.dv(new N));d(this,"_featureTableResultEvent",this.dv(new N));d(this,"_getMaterialNameListEvent",this.disposeVar(new N));d(this,"_setFeatureStyleEvent",this.dv(new N));d(this,"_setFeatureColorEvent",this.dv(new N));d(this,"_setFeatureVisableEvent",this.dv(new N));d(this,"_resetFeatureStyleEvent",this.dv(new N));d(this,"setMaterialInfoEvent",this.ad(new N));d(this,"_setMaterialEvent",this.disposeVar(new N));d(this,"_clippingPlanesId",this.dv(B("")));d(this,"_clippingPlaneIds",this.dv(B([])));d(this,"_flattenedPlaneId",this.dv(B("")));d(this,"_flattenedPlaneEnabled",this.dv(B(!1)));d(this,"_clippingPlaneId",this.dv(B("")));d(this,"_excavateId",this.dv(dt([])))}updateEditing(){var t;(t=this.activeViewer)==null||t.startEditing(this,[et.Translation,et.Rotation],{callSource:"inner"})}get refreshTilesetEvent(){return this._refreshTilesetEvent}refreshTileset(){this._refreshTilesetEvent.emit()}get tilesetReady(){return this._tilesetReadyEvent}get supportEdit(){return this._supportEdit.value}set supportEdit(t){this._supportEdit.value=t}get supportEditChanged(){return this._supportEdit.changed}get highlightFeatureEvent(){return this._highlightFeatureEvent}highlightFeature(t,n){this._highlightFeatureEvent.emit(t,n)}get highlightFeatureAndFlyToEvent(){return this._highlightFeatureAndFlyToEvent}highlightFeatureAndFlyTo(t,n,i,s){this._highlightFeatureAndFlyToEvent.emit(t,n,i,s)}get strokeFeatureEvent(){return this._strokeFeatureEvent}strokeFeature(t,n=[1,0,0,1]){this._strokeFeatureEvent.emit(t,n)}get getFeatureTableEvent(){return this._getFeatureTableEvent}getFeatureTable(){return Promise.race([new Promise(t=>{const n=this.d(this._featureTableResultEvent.donce(t));this._getFeatureTableEvent.emit(),setTimeout(()=>{n(),t(void 0)},2e3)})])}get getMaterialNameListEvent(){return this._getMaterialNameListEvent}getMaterialNameList(){return new Promise(t=>{const n=new V;n.d(this.getMaterialNameListEvent.don(i=>{i!=="start"&&(n.destroy(),t(i))})),this.getMaterialNameListEvent.emit("start"),setTimeout(()=>{n.isDestroyed()||(n.destroy(),t(void 0))},2e3)})}get setFeatureStyleEvent(){return this._setFeatureStyleEvent}setFeatureStyle(t){this._setFeatureStyleEvent.emit(t)}get setFeatureColorEvent(){return this._setFeatureColorEvent}setFeatureColor(t,n){this._setFeatureColorEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}get setFeatureVisableEvent(){return this._setFeatureVisableEvent}setFeatureVisable(t,n){this._setFeatureVisableEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}get resetFeatureStyleEvent(){return this._resetFeatureStyleEvent}resetFeatureStyle(){this._resetFeatureStyleEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(t){return new Promise(n=>{const i=new V;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),n(s)})),this._setMaterialEvent.emit(t)})}get clippingPlanesId(){return this._clippingPlanesId.value}set clippingPlanesId(t){this._clippingPlanesId.value=t}get clippingPlanesIdChanged(){return this._clippingPlanesId.changed}get clippingPlaneIds(){return this._clippingPlaneIds.value}set clippingPlaneIds(t){this._clippingPlaneIds.value=t}get clippingPlaneIdsChanged(){return this._clippingPlaneIds.changed}get flattenedPlaneId(){return this._flattenedPlaneId.value}set flattenedPlaneId(t){this._flattenedPlaneId.value=t}get flattenedPlaneIdChanged(){return this._flattenedPlaneId.changed}get flattenedPlaneEnabled(){return this._flattenedPlaneEnabled.value}set flattenedPlaneEnabled(t){this._flattenedPlaneEnabled.value=t}get flattenedPlaneEnabledChanged(){return this._flattenedPlaneEnabled.changed}get clippingPlaneId(){return this._clippingPlaneId.value}set clippingPlaneId(t){this._clippingPlaneId.value=t}get clippingPlaneIdChanged(){return this._clippingPlaneId.changed}get excavateId(){return this._excavateId.value}set excavateId(t){this._excavateId.value=t}get excavateIdChanged(){return this._excavateId.changed}setLight122(){this.czmEnvironmentMapManager={...Hd}}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new ze([this,"maximumScreenSpaceError"],1,[0,256],"精度",16),new bt([this,"materialMode"],[["常规","normal"],["科技感","technology"]],"材质模式","normal",!0),new bt([this,"colorBlendMode"],[["默认","HIGHLIGHT"],["替换","REPLACE"],["混合","MIX"]],"颜色模式","HIGHLIGHT"),new it([this,"materialOverrideMap"],"材质替换",Ni.defaults.materialOverrideMap)],dataSource:[...t.dataSource,new it([this,"url"],"服务地址",Ni.defaults.url,void 0,!0)],coordinate:[...t.coordinate,new X([this,"editing"],"编辑",!1,!0),new un([this,"offset"],"偏移",[0,0,0],!0),new jh([this,"rotation"],"旋转",[0,0,0])],more:[...t.more,new it([this,"materialParams"],"materialParams",Ni.defaults.materialParams),new lt(["string","string"],(n,i)=>this.highlightFeature(n,i),["","rgba(255,0,0,1)"],"highlightFeature"),new lt(["string","string"],(n,i)=>this.setFeatureColor(n,i),["",""],"setFeatureColor"),new lt(["string","string"],(n,i)=>this.setFeatureVisable(n,i),["",""],"setFeatureVisable"),new lt([],()=>this.resetFeatureStyle(),[],"resetFeatureStyle"),new ut([],"ue"),new lt([],()=>this.refreshTileset(),[],"refreshTileset"),new pt([this,"actorTag"]),new X([this,"highlight"],"是否高亮"),new Dt([this,"highlightColor"]),new M([this,"highlightID"]),new ut([],"czm"),new ut([],"可视化"),new Fe([this,"czmImageBasedLightingFactor"],"反射强度"),new M([this,"czmAtmosphereScatteringIntensity"],"大气散射强度"),new it([this,"czmEnvironmentMapManager"],"动态环境贴图管理器"),new M([this,"czmMaximumMemoryUsage"],"最大内存"),new ut([],"常用"),new bt([this,"czmClassificationType"],[["NONE","NONE"],["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]],"czmClassificationType","NONE",!0),new it([this,"czmStyleJson"],"czmStyle"),new X([this,"czmBackFaceCulling"]),new X([this,"czmSkipLevelOfDetail"]),new M([this,"cacheBytes"],"最大缓存",512*1024*1024),new ut([],"调试信息"),new X([this,"czmDebugShowBoundingVolume"]),new X([this,"czmDebugShowContentBoundingVolume"]),new ut([],"clippingPlanes"),new X([this,"clippingPlaneEnabled"]),new X([this,"unionClippingRegions"]),new Dt([this,"clippingPlaneEdgeColor"]),new M([this,"clippingPlaneEdgeWidth"])]}}};d(Ni,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"",actorTag:"",materialMode:"normal",highlight:!1,maximumScreenSpaceError:16,highlightID:0,highlightColor:dt([1,0,0,1]),offset:ne([0,0,0]),rotation:dt([0,0,0]),czmImageBasedLightingFactor:dt([1,1]),czmEnvironmentMapManager:Zt(void 0),czmLuminanceAtZenith:2,czmAtmosphereScatteringIntensity:2,czmMaximumMemoryUsage:512,czmClassificationType:"NONE",czmStyleJson:_t({}),czmBackFaceCulling:!0,czmDebugShowBoundingVolume:!1,czmDebugShowContentBoundingVolume:!1,czmSkipLevelOfDetail:!1,cacheBytes:512*1024*1024,colorBlendMode:"HIGHLIGHT",clippingPlaneEnabled:!0,unionClippingRegions:!0,clippingPlaneEdgeColor:dt([1,1,1,1]),clippingPlaneEdgeWidth:2,materialParams:{baseColor:[0,.5,1]},allowPicking:!0,materialOverrideMap:Zt({}),featureIdLabel:0,splitDirection:"NONE"})),d(Ni,"type",Ni.register("ES3DTileset",Ni,{chsName:"3DTileset",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),d(Ni,"supportEditingModes",[...Wt.supportEditingModes,et.Translation,et.Rotation]);let Pr=Ni;const Wa=class Wa extends st{constructor(t){super(t);d(this,"_isFlyInCreated",this.dv(B(!1)));d(this,"_readyEvent",this.dv(new N));this.collision=!1,this.d(this.createdEvent.don(()=>{setTimeout(()=>{if((this.editing??!1)||!this.position)this.d(Bi([this.positionChanged,this.editingChanged],()=>{this.editing||!this.position||this.isFlyInCreated&&this.flyTo()},{time:"donce"}));else{if(!this.isFlyInCreated)return;this.flyTo()}},1e3)}))}get isFlyInCreated(){return this._isFlyInCreated.value}set isFlyInCreated(t){this._isFlyInCreated.value=t}get isFlyInCreatedChanged(){return this._isFlyInCreated.changed}get readyEvent(){return this._readyEvent}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"mode"],[["柱状警告","cylinder"],["圆形警告","circle"]],"模式","cylinder"),new M([this,"radius"],"半径",10)]}}};d(Wa,"createDefaultProps",()=>({...st.createDefaultProps(),mode:"cylinder",radius:10})),d(Wa,"type",Wa.register("ESAlarm",Wa,{chsName:"报警",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警告类"}));let Xd=Wa;const ES=[["扫描","scan"],["扩散","diffuse"]],js=class js extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"radius"],"半径",1),new bt([this,"mode"],ES,"模式",js.defaults.mode),new Dt([this,"color"],"颜色",js.defaults.color)]}}};d(js,"createDefaultProps",()=>({...st.createDefaultProps(),radius:1,mode:"scan",color:[0,.7,1,1],collision:!1})),d(js,"type",js.register("ESApertureEffect",js,{chsName:"光圈特效",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"光圈特效"}));let Yd=js;const Io=class Io extends Pt{constructor(t){super(t);d(this,"editingBindMode","circular")}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new M([this,"area"],"面积",0,!1,!0),new M([this,"perimeter"],"周长",0,!1,!0)]}}};d(Io,"createDefaultProps",()=>({...Pt.createDefaultProps(),fillStyle:_t({color:[1,1,1,.5],material:"",materialParams:{},ground:!1}),strokeStyle:_t({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!0,stroked:!1,collision:!1})),d(Io,"type",Io.register("ESGeoPolygon",Io,{chsName:"地理多边形",tags:["ESObjects"],description:"地理多边形"})),d(Io,"supportEditingModes",[...Pt.supportEditingModes,et.CircularAppend,et.CircularInsert]);let qt=Io;const os=class os extends qt{get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialParams(){return this.fillStyle?this.fillStyle.materialParams:os.defaults.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle??os.defaults.fillStyle,materialParams:e??os.defaults.fillStyle.materialParams}}constructor(e){super(e)}};d(os,"createDefaultProps",()=>({...qt.createDefaultProps(),stroked:!0,filled:!0,units:dt(["SquareMeter_SquareKilometer","MU_Hectare","PerimeterMeter_PerimeterKilometer"]),fillStyle:_t({color:[1,1,1,1],material:"Material'/EarthSDKForUE/M_ES_Material.M_ES_Material'",materialParams:{Opacity:.4},ground:!0}),strokeStyle:_t({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(os,"type",os.register("ESAreaMeasurement",os,{chsName:"面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"面积测量"}));let Jd=os;const Ha=class Ha extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"general",more:[...e.more,new ut([],"czm"),new Mu([this,"image"],"图片"),new un([this,"translation"],"偏移")]}}};d(Ha,"createDefaultProps",()=>({...st.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:dt([0,0,0])})),d(Ha,"type",Ha.register("ESBlastParticleSystem",Ha,{chsName:"粒子爆炸",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子爆炸"}));let $d=Ha;const ri=class ri extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new X([this,"reverse"],"反转",ri.defaults.reverse),new un([this,"size"],"尺寸",ri.defaults.size),new Dt([this,"edgeColor"],"边框颜色",ri.defaults.edgeColor),new M([this,"edgeWidth"],"边框宽度",ri.defaults.edgeWidth),new pt([this,"targetID"],"瓦片图层",ri.defaults.targetID)]}}};d(ri,"createDefaultProps",()=>({...st.createDefaultProps(),reverse:!1,edgeColor:dt([1,1,1,1]),edgeWidth:2,size:dt([10,10,10]),targetID:""})),d(ri,"type",ri.register("ESBoxClipping",ri,{chsName:"体剖切",tags:["ESObjects","_ES_Impl_Cesium"],description:"体剖切,体裁剪,体裁切,盒裁切"}));let Kd=ri;const El=class El extends st{constructor(){super(...arguments);d(this,"_thumbnail",this.dv(B("")));d(this,"_duration",this.dv(B(1)));d(this,"_resetWithCurrentCameraEvent",this.dv(new N));d(this,"_captureEvent",this.dv(new N))}get thumbnail(){return this._thumbnail.value}set thumbnail(t){this._thumbnail.value=t}get thumbnailChanged(){return this._thumbnail.changed}get duration(){return this._duration.value}set duration(t){this._duration.value=t}get durationChanged(){return this._duration.changed}flyIn(t=1,n="default"){this.flyInEvent.emit(t,-1,n)}get resetWithCurrentCameraEvent(){return this._resetWithCurrentCameraEvent}resetWithCurrentCamera(){this._resetWithCurrentCameraEvent.emit()}get captureEvent(){return this._captureEvent}capture(t,n){this._captureEvent.emit(t,n)}execOnCreating(){this.resetWithCurrentCamera()}async initByCurrent(){this.resetWithCurrentCamera()}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"ESCameraView"),new lt([],()=>this.resetWithCurrentCamera(),[],"设置为当前视角"),new lt(["number","number"],(n,i)=>this.capture(n,i),[64,64],"获取缩略图"),new pt([this,"thumbnail"],"缩略图","",!0),new M([this,"duration"],"飞行时间",1,!0)]}}};d(El,"type",El.register("ESCameraView",El,{chsName:"视角",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角"}));let Mc=El;class Rc extends V{constructor(t,n,i){super();d(this,"_view",this.dv(new Mc));if(this.d(t.components.disposableAdd(this._view)),this._view.name=(i==null?void 0:i.name)??`视角${t.views.length+1}`,n){const a=this._view,u=n;a.duration=u.duration??1,a.position=u.position,a.rotation=u.rotation??[0,0,0],a.thumbnail=u.thumbnail??"",a.name=u.name}else{const a=(i==null?void 0:i.size)??[64,64];this.d(Xo(()=>{this._view.resetWithCurrentCamera(),this._view.capture(a[0],a[1])}))}const s=this._view,o=this.dv(Pe(s.durationChanged,s.positionChanged,s.rotationChanged,s.thumbnailChanged,s.nameChanged));this.d(o.don(()=>t.emitViewsWarpper()))}get view(){return this._view}get viewInfo(){const t=this._view;return{duration:t.duration,position:t.position,rotation:t.rotation,thumbnail:t.thumbnail,name:t.name}}}const Ir=class Ir extends rt{constructor(t){super(t);d(this,"_currentViewIndex",this.dv(B(-1)));d(this,"_viewWrappers",this.dv(new bu));d(this,"_currentViewWrapper",this.dv(B(void 0)));d(this,"_container",this.dv(B(void 0)));this.initProcessing();{const n=()=>{if(!this._currentViewWrapper.value)return;this._viewWrappers.indexOf(this._currentViewWrapper.value)===-1&&(this._currentViewWrapper.value=void 0)};n(),this.d(this._viewWrappers.changedEvent.don(n))}{const n=()=>{const i=this._currentViewWrapper.value;this._currentViewIndex.value=i?this._getIndex(i):-1};n(),this.d(this._viewWrappers.changedEvent.don(n)),this.d(this._currentViewWrapper.changed.don(n))}this.d(()=>{this.clearAllViews()})}get json(){return{...this._innerGetJson(),views:this.views}}set json(t){this._innerSetJson(t),this.views=t.views}get currentViewIndex(){return this._currentViewIndex.value}get currentViewIndexChanged(){return this._currentViewIndex.changed}emitViewsWarpper(){this._viewWrappers.changedEvent.emit(this._viewWrappers)}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(t){this._container.value=t}get views(){return ty(this._viewWrappers,t=>t.viewInfo)}get viewsChanged(){return this._viewWrappers.changedEvent}set views(t){if(t.length===this._viewWrappers.length){const n=this._viewWrappers;if(t.every((i,s)=>{const o=n.get(s).view;return i.duration===o.duration&&Gd(i.position,o.position)&&Gd(i.rotation,o.rotation)&&i.thumbnail===o.thumbnail&&i.name===o.name}))return}this.clearAllViews();for(let n of t)this._viewWrappers.push(new Rc(this,n))}_getIndex(t){return this._viewWrappers.indexOf(t)}clearAllViews(){for(let t of this._viewWrappers)t.destroy();this._viewWrappers.length=0}add(t=`视角${this.views.length+1}`,n=[64,64]){this._viewWrappers.push(new Rc(this,void 0,{name:t,size:n}))}update(t,n,i=[64,64]){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const s=this._viewWrappers.get(t);return n&&(s.view.name=n),s.view.resetWithCurrentCamera(),s.view.capture(i[0],i[1]),!0}addView(){this._viewWrappers.push(new Rc(this))}insertView(t){if(this._viewWrappers.length+1<=t||t<0){console.error("this._views.length <= index || index < 0");return}this._viewWrappers.splice(t,0,new Rc(this))}setCurrentView(t){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const n=this._viewWrappers.get(t);return this._currentViewWrapper.value=n,!0}resetView(t){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const n=this._viewWrappers.get(t);n.view.resetWithCurrentCamera(),n.view.capture()}resetViewName(t,n){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const i=this._viewWrappers.get(t);i.view.name=n}updateView(t,n){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const i=this._viewWrappers.get(t);return i.view.position=n.position,i.view.rotation=n.rotation??[0,0,0],i.view.duration=n.duration??1,i.view.thumbnail=n.thumbnail??"",i.view.name=n.name??"",!0}flyToView(t){if(this.setCurrentView(t)){if(!this._currentViewWrapper.value)throw new Error("this._currentViewWrapper.value");const n=this._currentViewWrapper.value.view.duration;this._currentViewWrapper.value.view.flyIn(n,this.flyMode??Ir.defaults.flyMode)}}flyToPrevView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const n=this._getIndex(t);return this.loop??Ir.defaults.loop?(this.flyToView((this._viewWrappers.length+n-1)%this._viewWrappers.length),!0):n-1<0?!1:(this.flyToView(n-1),!0)}moveToPreView(){const t=this._currentViewWrapper.value;if(!t)return;const n=this._getIndex(t);if(n===0)return;const i=this._viewWrappers.splice(n-1,1,t)[0];this._viewWrappers.set(n,i)}moveToNextView(){const t=this._currentViewWrapper.value;if(!t)return;const n=this._getIndex(t);if(n===this._viewWrappers.length-1)return;const i=this._viewWrappers.splice(n+1,1,t)[0];this._viewWrappers.set(n,i)}flyToNextView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const n=this._getIndex(t);return this.loop??Ir.defaults.loop?(this.flyToView((n+1)%this._viewWrappers.length),!0):n+1>this._viewWrappers.length-1?!1:(this.flyToView(n+1),!0)}stop(){this._currentViewWrapper.value=void 0,this.playing=!1}deleteView(t){if(t<0||t>=this._viewWrappers.length){console.warn("index < 0 || index >= this._viewWrappers.length");return}this._viewWrappers.get(t).destroy(),this._viewWrappers.splice(t,1)}deleteCurrentView(){const t=this._currentViewWrapper.value;if(!t){console.warn("!this._currentViewWrapper.value");return}const n=this._getIndex(t);if(n===-1){console.warn("index === -1");return}this.deleteView(n)}transitionImageUrl(t){return rt.context.getStrFromEnv(t)}_flyStep(t){var o;if(!this.flyToNextView())return this.playing=!1,Promise.resolve();const n=this.intervalTime??Ir.defaults.intervalTime,s=((((o=this._currentViewWrapper.value)==null?void 0:o.viewInfo.duration)??0)+n)*1e3;return t.promise(xu(s)).then(()=>this._flyStep(t))}initProcessing(){const t=this.dv(Hn(async i=>this._flyStep(i))),n=()=>{this.playing?t.restart():t.cancel()};n(),this.d(this.playingChanged.don(n))}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new bt([this,"flyMode"],[["默认","default"],["直线飞行","uniform"]],"飞行模式",Ir.defaults.flyMode),new lt([],()=>this.addView(),[],"添加视角"),new lt(["number"],n=>this.insertView(n),[0],"插入视角"),new lt([],()=>this.clearAllViews(),[],"清空所有视角"),new lt([],()=>this.insertView(this.currentViewIndex+1),[],"当前位置插入视角"),new lt([],()=>this.flyToPrevView(),[],"上一个视角"),new lt([],()=>this.flyToNextView(),[],"下一个视角"),new lt([],()=>this.moveToPreView(),[],"当前视角移动到上一个视角"),new lt([],()=>this.moveToNextView(),[],"当前视角移动到下一个视角"),new lt(["number"],n=>this.flyToView(n),[0],"飞入指定视角"),new lt(["number"],n=>this.setCurrentView(n),[0],"设置当前视角"),new lt([],()=>this.deleteCurrentView(),[],"删除当前视角"),new lt(["number"],n=>this.deleteView(n),[0],"删除指定视角"),new lt(["number"],n=>this.resetView(n),[0],"重置视角"),new M([this,"currentViewIndex"],"当前序号",-1,!1,!0),new Og([this,"playing"],()=>this.stop(),[this,"loop"],"播放",Ir.defaults),new X([this,"playing"],"是否播放"),new lt([],()=>this.stop(),[],"停止"),new X([this,"loop"],"是否循环"),new M([this,"intervalTime"],"间隔时间"),new it([this,"views"],"视角集合",[],void 0,!0)]}}};d(Ir,"createDefaultProps",()=>({...rt.createDefaultProps(),playing:!1,loop:!0,intervalTime:5,flyMode:"default"})),d(Ir,"type",Ir.register("ESCameraViewCollection",Ir,{chsName:"视角集合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角集合"}));let Lc=Ir;const qa=class qa extends st{constructor(t){super(t);d(this,"editingBindMode","doublePoints")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new M([this,"aspectRatio"],"宽高比",1.77778),new M([this,"fov"],"横向夹角",90),new M([this,"far"],"视野长度",100),new M([this,"near"],"近面距离",5)]}}};d(qa,"createDefaultProps",()=>({...st.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1})),d(qa,"type",qa.register("ESCameraVisibleRange",qa,{chsName:"摄像头可视域",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"摄像头可视域"}));let Zd=qa;const Xa=class Xa extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"mode"],[["警车","policeCar"]],"模式","policeCar")]}}};d(Xa,"createDefaultProps",()=>({...st.createDefaultProps(),mode:"policeCar",allowPicking:!0})),d(Xa,"type",Xa.register("ESCar",Xa,{chsName:"车辆",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警车等基础车辆模型"}));let Fc=Xa;const xo=class xo extends Pt{constructor(t){super(t);d(this,"editingBindMode","circular")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new M([this,"height"],"高度",10)],coordinate:[...t.coordinate,new M([this,"area"],"面积",0,!1,!0),new M([this,"perimeter"],"周长",0,!1,!0)]}}};d(xo,"createDefaultProps",()=>({...Pt.createDefaultProps(),height:10,filled:!0,fillStyle:_t({material:"",materialParams:{},ground:!0,color:[1,1,1,1]})})),d(xo,"type",xo.register("ESClassification",xo,{chsName:"倾斜单体化",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"平尾箭头"})),d(xo,"supportEditingModes",[...Pt.supportEditingModes,et.CircularAppend,et.CircularInsert,et.HeightModify]);let Ac=xo;const Ya=class Ya extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new X([this,"showArrow"],"显示箭头",!0),new Dt([this,"edgeColor"],"线框颜色",[1,1,1,1]),new M([this,"edgetWidth"],"线框宽度",2),new M([this,"width"],"裁剪宽度",200),new M([this,"height"],"裁剪高度",200),new pt([this,"targetID"],"瓦片图层","")]}}};d(Ya,"createDefaultProps",()=>({...st.createDefaultProps(),showArrow:!0,edgeColor:dt([1,1,1,1]),edgetWidth:2,width:200,height:200,targetID:""})),d(Ya,"type",Ya.register("ESClippingPlane",Ya,{chsName:"裁切",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESClippingPlane"}));let Qd=Ya;class CS extends V{constructor(e,t,n){super();const i=document.createElement("div");i.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${n.id}) container`);{const u=()=>{const c=` ${t.cssText}
66
66
  ${t.cssAllInitial?"all: initial;":""}
67
67
  ${t.show?"":"display: none"}
68
68
  `;i.style.cssText=c};u();const l=this.dv(Pe(t.cssAllInitialChanged,t.cssTextChanged,t.showChanged));this.d(l.don(u))}e.appendChild(i),this.d(()=>e.removeChild(i));const s=this.dv(Pe(t.instanceClassChanged,t.containerChanged,t.shadowDomChanged)),o=this.dv(new we(s,()=>{const{instanceClass:u,container:l}=t;if(!u||l)return;let c=i;if(i.firstElementChild&&i.removeChild(i.firstElementChild),t.shadowDom){const h=i.appendChild(document.createElement("div"));h.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${n.id}) container shadowDiv`),c=h.attachShadow({mode:"open"}).appendChild(document.createElement("div")),c.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${n.id}) container shadowDiv div`)}return new u(c,t,n)})),{_updateEvent:a}=t;this.d(a.don(u=>{if(o.obj)try{u(o.obj,t,n)}catch(l){console.error(`ESCustomDiv update error! ${l}`)}}))}}const oy=`class MyDiv {
@@ -103,11 +103,11 @@ ${u.map(c=>`${c.id} ${c.typeName}
103
103
  destroy() {
104
104
  this._container.removeChild(this._div);
105
105
  }
106
- }`,ES=`示例代码:
106
+ }`,SS=`示例代码:
107
107
  \`\`\`
108
108
  ${oy}
109
109
  \`\`\`
110
- `,xr=class xr extends rt{constructor(t){super(t);d(this,"_updateEvent",this.dv(new N));d(this,"_instanceClassReact",this.dv(V(void 0)));d(this,"_innerHtmlMounted",this.dv(new N));d(this,"_container",this.dv(V(void 0)));this.registerAttachedObjectForContainer((i,s)=>new wS(s,this,i));{const i=()=>{try{this.instanceClass=this.instanceClassStr&&Function(`"use strict";return (${this.instanceClassStr})`)()}catch{this.instanceClass=void 0}};i(),this.d(this.instanceClassStrChanged.don(i))}{const i=()=>{if(this.innerHTML===void 0){this.instanceClassStr=void 0;return}const s=`class MyDiv {
110
+ `,xr=class xr extends rt{constructor(t){super(t);d(this,"_updateEvent",this.dv(new N));d(this,"_instanceClassReact",this.dv(B(void 0)));d(this,"_innerHtmlMounted",this.dv(new N));d(this,"_container",this.dv(B(void 0)));this.registerAttachedObjectForContainer((i,s)=>new CS(s,this,i));{const i=()=>{try{this.instanceClass=this.instanceClassStr&&Function(`"use strict";return (${this.instanceClassStr})`)()}catch{this.instanceClass=void 0}};i(),this.d(this.instanceClassStrChanged.don(i))}{const i=()=>{if(this.innerHTML===void 0){this.instanceClassStr=void 0;return}const s=`class MyDiv {
111
111
  // subContainer是外部视口的div容器,可以在这里创建自己需要的DOM元素
112
112
  // customDiv指向当前的CustomDiv场景对象
113
113
  // viewer指定当前的视口
@@ -128,13 +128,13 @@ ${oy}
128
128
  }`;this.instanceClassStr=s};i(),this.d(this.innerHTMLChanged.don(i))}const n=document.createElement("div");n.setAttribute("xe2-div",`ESCustomDiv(${this.id}) container`);{const i=()=>{const o=` ${this.cssText};
129
129
  ${this.cssAllInitial?"all: initial;":""}
130
130
  ${this.show?"":"display: none;"}
131
- `;n.style.cssText=o};i();const s=this.dv(Pe(this.cssAllInitialChanged,this.cssTextChanged,this.showChanged));this.d(s.don(i))}{const i=()=>{if(this.containerId===void 0||this.containerId==="")this.container=void 0;else{const s=document.getElementById(this.containerId);s instanceof HTMLElement?this.container=s:(this.container=void 0,console.warn(`Div from containerId(${this.containerId}) is not HTMLDivElement!`))}};i(),this.d(this.containerIdChanged.don(i))}{class i extends B{constructor(o){super(),o.appendChild(n),this.d(()=>o.removeChild(n))}}this.dv(new we(this.containerChanged,()=>{if(this.container)return new i(this.container)}))}{const i=this.dv(Pe(this.containerChanged,this.instanceClassChanged,this.shadowDomChanged));this.dv(new we(i,()=>{if(!this.container||!this.instanceClass)return;let s=n;if(n.firstElementChild&&n.removeChild(n.firstElementChild),this.shadowDom){const o=n.appendChild(document.createElement("div"));o.setAttribute("xe2-div","ESCustomDiv container shadowDiv"),s=o.attachShadow({mode:"open"}).appendChild(document.createElement("div")),s.setAttribute("xe2-div","ESCustomDiv container shadowDiv div")}return new this.instanceClass(s,this,void 0)}))}}update(t){this._updateEvent.emit(t)}get instanceClass(){return this._instanceClassReact.value}set instanceClass(t){this._instanceClassReact.value=t}get instanceClassChanged(){return this._instanceClassReact.changed}get innerHtmlMounted(){return this._innerHtmlMounted}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(t){this._container.value=t}getESProperties(){const t={...super.getESProperties()},n=i=>{i||alert("evalFuncStr为空,无法执行!");try{const s=i&&Function(`"use strict";return (${i})`)();this.update(s)}catch(s){alert(`updateDivFunc error: ${s}`)}};return{...t,more:[...t.more,new ut([new X([this,"show"],"显示"),new ys([this,"instanceClassStr"],"实例类",oy,ES,!0),new ys([this,"innerHTML"],"innerHTML",xr.defaultInnerHTML,xr.innerHTMLReadMe,!0),new lt(["string"],n,["(divClass, dom, viewer) => divClass.update && divClass.update()"],"强制更新"),new X([this,"allowPicking"],"允许拾取",!0),new pt([this,"containerId"],"容器ID",xr.defaults.containerId,!0),new X([this,"shadowDom"],"shadowDom"),new X([this,"cssAllInitial"],"cssAllInitial"),new pt([this,"cssText"],"cssText")],"ESCustomDiv")]}}};d(xr,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,instanceClassStr:void 0,innerHTML:void 0,allowPicking:void 0,containerId:"",shadowDom:!1,cssAllInitial:!1,cssText:""})),d(xr,"type",xr.register("ESCustomDiv",xr,{chsName:"ESCustomDiv",tags:["ESObjects"],description:"自定义div"})),d(xr,"defaultInnerHTML",` <!-- z-index样式需要设置,否则可能导致看不到!-->
131
+ `;n.style.cssText=o};i();const s=this.dv(Pe(this.cssAllInitialChanged,this.cssTextChanged,this.showChanged));this.d(s.don(i))}{const i=()=>{if(this.containerId===void 0||this.containerId==="")this.container=void 0;else{const s=document.getElementById(this.containerId);s instanceof HTMLElement?this.container=s:(this.container=void 0,console.warn(`Div from containerId(${this.containerId}) is not HTMLDivElement!`))}};i(),this.d(this.containerIdChanged.don(i))}{class i extends V{constructor(o){super(),o.appendChild(n),this.d(()=>o.removeChild(n))}}this.dv(new we(this.containerChanged,()=>{if(this.container)return new i(this.container)}))}{const i=this.dv(Pe(this.containerChanged,this.instanceClassChanged,this.shadowDomChanged));this.dv(new we(i,()=>{if(!this.container||!this.instanceClass)return;let s=n;if(n.firstElementChild&&n.removeChild(n.firstElementChild),this.shadowDom){const o=n.appendChild(document.createElement("div"));o.setAttribute("xe2-div","ESCustomDiv container shadowDiv"),s=o.attachShadow({mode:"open"}).appendChild(document.createElement("div")),s.setAttribute("xe2-div","ESCustomDiv container shadowDiv div")}return new this.instanceClass(s,this,void 0)}))}}update(t){this._updateEvent.emit(t)}get instanceClass(){return this._instanceClassReact.value}set instanceClass(t){this._instanceClassReact.value=t}get instanceClassChanged(){return this._instanceClassReact.changed}get innerHtmlMounted(){return this._innerHtmlMounted}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(t){this._container.value=t}getESProperties(){const t={...super.getESProperties()},n=i=>{i||alert("evalFuncStr为空,无法执行!");try{const s=i&&Function(`"use strict";return (${i})`)();this.update(s)}catch(s){alert(`updateDivFunc error: ${s}`)}};return{...t,more:[...t.more,new ut([new X([this,"show"],"显示"),new ys([this,"instanceClassStr"],"实例类",oy,SS,!0),new ys([this,"innerHTML"],"innerHTML",xr.defaultInnerHTML,xr.innerHTMLReadMe,!0),new lt(["string"],n,["(divClass, dom, viewer) => divClass.update && divClass.update()"],"强制更新"),new X([this,"allowPicking"],"允许拾取",!0),new pt([this,"containerId"],"容器ID",xr.defaults.containerId,!0),new X([this,"shadowDom"],"shadowDom"),new X([this,"cssAllInitial"],"cssAllInitial"),new pt([this,"cssText"],"cssText")],"ESCustomDiv")]}}};d(xr,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,instanceClassStr:void 0,innerHTML:void 0,allowPicking:void 0,containerId:"",shadowDom:!1,cssAllInitial:!1,cssText:""})),d(xr,"type",xr.register("ESCustomDiv",xr,{chsName:"ESCustomDiv",tags:["ESObjects"],description:"自定义div"})),d(xr,"defaultInnerHTML",` <!-- z-index样式需要设置,否则可能导致看不到!-->
132
132
  <div style="width: 300px; height: 50px; z-index: 100; position: absolute; left: 10px; top: 10px; background: rgba(120, 120, 0, 0.7); color: white; font-size: 30px; line-height: 50px; border: 1px solid white;">Hello world!</div>
133
133
  `),d(xr,"innerHTMLReadMe",` 示例代码:
134
134
  \`\`\`
135
135
  ${xr.defaultInnerHTML}
136
136
  \`\`\`
137
- `);let kc=xr;const To=class To extends st{constructor(t){super(t);d(this,"_maxTime",this.dv(V(23)))}get maxTime(){return this._maxTime.value}get maxTimeChanged(){return this._maxTime.changed}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new it([this,"url"]),new M([this,"maxTime"],"maxTime",23,!0,!0),new M([this,"currentTime"]),new M([this,"minPropValue"]),new M([this,"maxPropValue"]),new it([this,"colorStops"],"colorStops",To.defaults.colorStops,void 0,!0)]}}};d(To,"createDefaultProps",()=>({...st.createDefaultProps(),url:"http://114.242.26.126:6003/ESDataMesh/water-assets2/",currentTime:0,minPropValue:0,maxPropValue:1,colorStops:Zt([{ratio:0,rgba:[0,0,1,1]},{ratio:.2,rgba:[0,1,0,1]},{ratio:.8,rgba:[1,1,0,1]},{ratio:1,rgba:[1,0,0,1]}])})),d(To,"type",To.register("ESDataMesh",To,{chsName:"数值面着色",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"数值面着色"}));let tf=To;const No=class No extends Pt{constructor(t){super(t);d(this,"_distance",this.dv(V(0)));d(this,"editingBindMode","lineString");const n=()=>{this._distance.value=this.getDistance()??0};n(),this.d(this.pointsChanged.don(n))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new M([this,"distance"],"长度",0,!1,!0)]}}};d(No,"createDefaultProps",()=>({...Pt.createDefaultProps(),stroked:!0,strokeStyle:_t({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(No,"type",No.register("ESGeoLineString",No,{chsName:"地理折线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理折线"})),d(No,"supportEditingModes",[...Pt.supportEditingModes,et.LineStringAppend,et.LineStringInsert]);let xi=No;const Ja=class Ja extends xi{constructor(e){super(e)}};d(Ja,"createDefaultProps",()=>({...xi.createDefaultProps(),strokeStyle:_t({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Ja,"type",Ja.register("ESDistanceMeasurement",Ja,{chsName:"距离测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"距离测量"}));let ef=Ja;const zs=class zs extends qt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"mode"],zs.modes,"模式","in"),new pt([this,"targetID"],"瓦片图层","")]}}};d(zs,"createDefaultProps",()=>({...qt.createDefaultProps(),mode:"in",targetID:"",filled:!1})),d(zs,"type",zs.register("ESExcavate",zs,{chsName:"挖坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"挖坑"})),d(zs,"modes",[["向内","in"],["向外","out"]]);let dl=zs;const $a=class $a extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"general",more:[...e.more,new Mu([this,"image"],"图片"),new un([this,"translation"],"偏移")]}}};d($a,"createDefaultProps",()=>({...st.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:dt([0,0,0])})),d($a,"type",$a.register("ESFireParticleSystem",$a,{chsName:"粒子烟火",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子烟火"}));let nf=$a;const CS=`
137
+ `);let kc=xr;const To=class To extends st{constructor(t){super(t);d(this,"_maxTime",this.dv(B(23)))}get maxTime(){return this._maxTime.value}get maxTimeChanged(){return this._maxTime.changed}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new it([this,"url"]),new M([this,"maxTime"],"maxTime",23,!0,!0),new M([this,"currentTime"]),new M([this,"minPropValue"]),new M([this,"maxPropValue"]),new it([this,"colorStops"],"colorStops",To.defaults.colorStops,void 0,!0)]}}};d(To,"createDefaultProps",()=>({...st.createDefaultProps(),url:"http://114.242.26.126:6003/ESDataMesh/water-assets2/",currentTime:0,minPropValue:0,maxPropValue:1,colorStops:Zt([{ratio:0,rgba:[0,0,1,1]},{ratio:.2,rgba:[0,1,0,1]},{ratio:.8,rgba:[1,1,0,1]},{ratio:1,rgba:[1,0,0,1]}])})),d(To,"type",To.register("ESDataMesh",To,{chsName:"数值面着色",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"数值面着色"}));let tf=To;const No=class No extends Pt{constructor(t){super(t);d(this,"_distance",this.dv(B(0)));d(this,"editingBindMode","lineString");const n=()=>{this._distance.value=this.getDistance()??0};n(),this.d(this.pointsChanged.don(n))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new M([this,"distance"],"长度",0,!1,!0)]}}};d(No,"createDefaultProps",()=>({...Pt.createDefaultProps(),stroked:!0,strokeStyle:_t({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(No,"type",No.register("ESGeoLineString",No,{chsName:"地理折线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理折线"})),d(No,"supportEditingModes",[...Pt.supportEditingModes,et.LineStringAppend,et.LineStringInsert]);let xi=No;const Ja=class Ja extends xi{constructor(e){super(e)}};d(Ja,"createDefaultProps",()=>({...xi.createDefaultProps(),strokeStyle:_t({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Ja,"type",Ja.register("ESDistanceMeasurement",Ja,{chsName:"距离测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"距离测量"}));let ef=Ja;const zs=class zs extends qt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"mode"],zs.modes,"模式","in"),new pt([this,"targetID"],"瓦片图层","")]}}};d(zs,"createDefaultProps",()=>({...qt.createDefaultProps(),mode:"in",targetID:"",filled:!1})),d(zs,"type",zs.register("ESExcavate",zs,{chsName:"挖坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"挖坑"})),d(zs,"modes",[["向内","in"],["向外","out"]]);let dl=zs;const $a=class $a extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"general",more:[...e.more,new Mu([this,"image"],"图片"),new un([this,"translation"],"偏移")]}}};d($a,"createDefaultProps",()=>({...st.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:dt([0,0,0])})),d($a,"type",$a.register("ESFireParticleSystem",$a,{chsName:"粒子烟火",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子烟火"}));let nf=$a;const bS=`
138
138
  ## 参数类型为 ESTreeType
139
139
  \`\`\`js
140
140
  type ESJVector2D = [number, number]
@@ -144,7 +144,7 @@ ${oy}
144
144
  space: number
145
145
  }
146
146
  \`\`\`
147
- `,Oo=class Oo extends Wt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new it([this,"url"],"路径",!0),new it([this,"treeTypes"],"treeTypes",[],void 0,!0),new it([this,"xiaoBanWidget"],"xiaoBanWidget",Oo.defaults.xiaoBanWidget,CS,!0),new pt([this,"youShiSZ"]),new pt([this,"diLei"]),new pt([this,"senLinLB"]),new pt([this,"labelMaterial"]),new M([this,"heightOffset"])]}}};d(Oo,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"",treeTypes:Zt([]),xiaoBanWidget:Zt({class:"WidgetBlueprint'/ESFoliage/ESDefaultXiaoBan.ESDefaultXiaoBan",pivot:[.5,1],space:1}),youShiSZ:"StringTable'/ESFoliage/You_Shi_SZ.You_Shi_SZ'",diLei:"StringTable'/ESFoliage/Di_Lei.Di_Lei'",senLinLB:"StringTable'/ESFoliage/Sen_Lin_LB.Sen_Lin_LB'",labelMaterial:"Material'/ESFoliage/ES3DWidgetMaterial.ES3DWidgetMaterial'",heightOffset:40})),d(Oo,"type",Oo.register("ESForestTileset",Oo,{chsName:"森林切片图层",tags:["ESObjects","_ES_Impl_UE"],description:"ESForestTileset"}));let rf=Oo;const ay=`class MyDiv {
147
+ `,Oo=class Oo extends Wt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new it([this,"url"],"路径",!0),new it([this,"treeTypes"],"treeTypes",[],void 0,!0),new it([this,"xiaoBanWidget"],"xiaoBanWidget",Oo.defaults.xiaoBanWidget,bS,!0),new pt([this,"youShiSZ"]),new pt([this,"diLei"]),new pt([this,"senLinLB"]),new pt([this,"labelMaterial"]),new M([this,"heightOffset"])]}}};d(Oo,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"",treeTypes:Zt([]),xiaoBanWidget:Zt({class:"WidgetBlueprint'/ESFoliage/ESDefaultXiaoBan.ESDefaultXiaoBan",pivot:[.5,1],space:1}),youShiSZ:"StringTable'/ESFoliage/You_Shi_SZ.You_Shi_SZ'",diLei:"StringTable'/ESFoliage/Di_Lei.Di_Lei'",senLinLB:"StringTable'/ESFoliage/Sen_Lin_LB.Sen_Lin_LB'",labelMaterial:"Material'/ESFoliage/ES3DWidgetMaterial.ES3DWidgetMaterial'",heightOffset:40})),d(Oo,"type",Oo.register("ESForestTileset",Oo,{chsName:"森林切片图层",tags:["ESObjects","_ES_Impl_UE"],description:"ESForestTileset"}));let rf=Oo;const ay=`class MyDiv {
148
148
  // container是Poi的div
149
149
  // geoCustomDivPoi指向当前的GeoCustomDivPoi场景对象
150
150
  // viewer指定当前的视口
@@ -175,16 +175,16 @@ ${oy}
175
175
  destroy() {
176
176
  this._container.removeChild(this._div);
177
177
  }
178
- }`,SS=`示例代码:
178
+ }`,PS=`示例代码:
179
179
  \`\`\`
180
180
  ${ay}
181
181
  \`\`\`
182
182
  `,uy=`<div style="width: 300px; height: 50px; background: rgba(120, 120, 0, 0.7); color: white; font-size: 30px; line-height: 50px; border: 1px solid white;">Hello world!</div>
183
- `,bS=`示例代码:
183
+ `,IS=`示例代码:
184
184
  \`\`\`
185
185
  ${uy}
186
186
  \`\`\`
187
- `,ii=class ii extends st{constructor(t){super(t);d(this,"_widgetEvent",this.dv(new N));d(this,"_echartsFunReact",this.dv(V(void 0)));d(this,"_instanceClassReact",this.dv(V(void 0)));const n=()=>{try{this.instanceClass=this.instanceClassStr&&Function(`"use strict";return (${this.instanceClassStr})`)()}catch{this.instanceClass=void 0}};n(),this.d(this.instanceClassStrChanged.don(n));{const i=()=>{if(this.innerHTML===void 0){this.instanceClassStr=void 0;return}const s=`class MyDiv {
187
+ `,ii=class ii extends st{constructor(t){super(t);d(this,"_widgetEvent",this.dv(new N));d(this,"_echartsFunReact",this.dv(B(void 0)));d(this,"_instanceClassReact",this.dv(B(void 0)));const n=()=>{try{this.instanceClass=this.instanceClassStr&&Function(`"use strict";return (${this.instanceClassStr})`)()}catch{this.instanceClass=void 0}};n(),this.d(this.instanceClassStrChanged.don(n));{const i=()=>{if(this.innerHTML===void 0){this.instanceClassStr=void 0;return}const s=`class MyDiv {
188
188
  // container是Poi的div
189
189
  // geoCustomDivPoi指向当前的GeoCustomDivPoi场景对象
190
190
  // viewer指定当前的视口
@@ -200,7 +200,7 @@ ${uy}
200
200
  destroy() {
201
201
  this._container.removeChild(this._div);
202
202
  }
203
- }`;this.instanceClassStr=s};i(),this.d(this.innerHTMLChanged.don(i))}}get widgetEvent(){return this._widgetEvent}get echartsFun(){return this._echartsFunReact.value}set echartsFun(t){this._echartsFunReact.value=t}get echartsFunChanged(){return this._echartsFunReact.changed}get instanceClass(){return this._instanceClassReact.value}set instanceClass(t){this._instanceClassReact.value=t}get instanceClassChanged(){return this._instanceClassReact.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new M([this,"opacity"],"透明度",ii.defaults.opacity,!0),new M([this,"zOrder"],"zOrder",ii.defaults.zOrder,!0),new Fe([this,"anchor"],"偏移比例",ii.defaults.anchor,!0),new ys([this,"innerHTML"],"innerHTML",ii.defaults.innerHTML,bS,!0),new ys([this,"instanceClassStr"],"实例类",ii.defaults.instanceClassStr,SS,!0),new X([this,"renderInUE"],"是否在UE中渲染",!0,!1)]}}};d(ii,"createDefaultProps",()=>({...st.createDefaultProps(),opacity:1,anchor:dt([.5,1]),instanceClassStr:ay,innerHTML:uy,zOrder:0,renderInUE:!1})),d(ii,"type",ii.register("ESGeoDiv",ii,{chsName:"ESGeoDiv",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESGeoDiv"}));let sf=ii;const Do=class Do extends Pt{constructor(t){super(t);d(this,"editingBindMode","doublePoints")}toPolygon(){if(this.points&&this.points.length>=2){const t=[...this.points][0],n=[...this.points][1];return[t,[t[0],n[1],t[2]],n,[n[0],t[1],n[2]]]}else return}_updateArea(){if(this.points&&this.points.length>=2){const t=[...this.points],n=t[0],i=t[1],s=[n,[n[0],i[1],n[2]],i,[i[0],n[1],i[2]]];this._area.value=Kh(s)}else this._area.value=0}_updatePerimeter(){if(this.points&&this.points.length>=2){const t=[...this.points],n=t[0],i=t[1],s=[n,[n[0],i[1],n[2]],i,[i[0],n[1],i[2]]],o=[...s,s[0]],a=cl(o,"GEODESIC"),u=a[a.length-1];this._perimeter.value=u}else this._perimeter.value=0}getESProperties(){const t=super.getESProperties();return{...t,coordinate:[...t.coordinate,new M([this,"area"],"面积",0,!1,!0),new M([this,"perimeter"],"周长",0,!1,!0)]}}};d(Do,"createDefaultProps",()=>({...Pt.createDefaultProps(),collision:!1,stroked:!0,filled:!0,fillStyle:_t({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),d(Do,"type",Do.register("ESGeoRectangle",Do,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),d(Do,"supportEditingModes",[...Pt.supportEditingModes,et.DoublePointsAppend,et.DoublePointsModify]);let of=Do;const af={translationX:0,translationY:0,translationZ:0,rotationHeading:0,rotationPitch:0,rotationRoll:0,scaleX:1,scaleY:1,scaleZ:1},Us=class Us extends st{constructor(t){super(t);d(this,"_nodeTransformations",this.dv(V(void 0)));d(this,"_czmModelReadyEvent",this.dv(new N));d(this,"_setNodePositionEvent",this.dv(new N));d(this,"_setNodeRotationEvent",this.dv(new N));d(this,"_setNodeScaleEvent",this.dv(new N));d(this,"_printDebugInfoEvent",this.dv(new N));d(this,"setMaterialInfoEvent",this.ad(new N));d(this,"_setMaterialEvent",this.disposeVar(new N))}get nodeTransformations(){return this._nodeTransformations.value}set nodeTransformations(t){this._nodeTransformations.value=t}get nodeTransformationsChanged(){return this._nodeTransformations.changed}get czmModelReadyEvent(){return this._czmModelReadyEvent}get readyEvent(){return this._czmModelReadyEvent}deleteNodeTransformation(t){if(!this.nodeTransformations||!this.nodeTransformations[t])return;const n={...this.nodeTransformations};delete n[t],this.nodeTransformations=n}get setNodePositionEvent(){return this._setNodePositionEvent}setNodePosition(t,n){this._setNodePositionEvent.emit(t,n),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...af};if(n.some(s=>!Number.isFinite(s))){console.error(`setNodePosition error: ${t} ${n}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,translationX:n[0],translationY:n[1],translationZ:n[2]}}}get setNodeRotationEvent(){return this._setNodeRotationEvent}setNodeRotation(t,n){this._setNodeRotationEvent.emit(t,n),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...af};if(n.some(s=>!Number.isFinite(s))){console.error(`setNodeRotation error: ${t} ${n}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,rotationHeading:n[0],rotationPitch:n[1],rotationRoll:n[2]}}}get setNodeScaleEvent(){return this._setNodeScaleEvent}setNodeScale(t,n){this._setNodeScaleEvent.emit(t,n),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...af};if(n.some(s=>!Number.isFinite(s)||s<0)){console.error(`setNodeScale error: !Number.isFinite(e) || e < 0 ${t} ${n}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,scaleX:n[0],scaleY:n[1],scaleZ:n[2]}}}getNodePosition(t){if(!this.nodeTransformations)return;const n=this.nodeTransformations[t];if(n)return[n.translationX,n.translationY,n.translationZ]}getNodeRotation(t){if(!this.nodeTransformations)return;const n=this.nodeTransformations[t];if(n)return[n.rotationHeading,n.rotationPitch,n.rotationRoll]}getNodeScale(t){if(!this.nodeTransformations)return;const n=this.nodeTransformations[t];if(n)return[n.scaleX,n.scaleY,n.scaleZ]}get printDebugInfoEvent(){return this._printDebugInfoEvent}printDebugInfo(){this._printDebugInfoEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(t){return new Promise(n=>{const i=new B;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),n(s)})),this._setMaterialEvent.emit(t)})}setLight122(){this.czmEnvironmentMapManager={...Hd}}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",dataSource:[...t.dataSource,new it([this,"url"],"模型路径",Us.defaults.url,void 0,!0),new it([this,"instances"],"实例化矩阵",Us.defaults.instances,void 0,!0)],more:[...t.more,new Fe([this,"czmImageBasedLightingFactor"]),new M([this,"czmAtmosphereScatteringIntensity"]),new it([this,"czmEnvironmentMapManager"]),new lt([],()=>this.printDebugInfo(),[],"控制台输出模型信息"),new M([this,"czmMaximumScale"],"最大缩放比例",void 0,!0),new M([this,"czmNativeScale"],"统一缩放值"),new M([this,"czmMinimumPixelSize"],"最小像素尺寸"),new Dt([this,"czmColor"],"颜色")]}}};d(Us,"createDefaultProps",()=>({...st.createDefaultProps(),url:"${earthsdk3-assets-script-dir}/assets/glb/building.glb",czmMaximumScale:void 0,czmMinimumPixelSize:0,czmNativeScale:1,czmColor:dt([1,1,1,1]),allowPicking:!0,instances:ne([]),czmImageBasedLightingFactor:dt([1,1]),czmAtmosphereScatteringIntensity:2,czmEnvironmentMapManager:Zt(void 0)})),d(Us,"type",Us.register("ESGltfModel",Us,{chsName:"模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"gltf模型"}));let Vs=Us;const Tr=class Tr extends st{constructor(t){super(t);d(this,"_aiMoveToEvent",this.dv(new N));d(this,"_stopAIMoveEvent",this.dv(new N));d(this,"_readyEvent",this.dv(new N))}get aiMoveToEvent(){return this._aiMoveToEvent}aiMoveTo(t,n){this._aiMoveToEvent.emit(t,n)}get stopAIMoveEvent(){return this._stopAIMoveEvent}stopAIMove(){this._stopAIMoveEvent.emit()}get readyEvent(){return this._readyEvent}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"mode"],Tr.modes,"模式",Tr.defaults.mode,!0),new bt([this,"animation"],Tr.animations,"动画",Tr.defaults.animation,!0)],more:[...t.more,new lt(["numbers","number"],(n,i)=>this.aiMoveTo(n,i),[[0,0,0],0],"自动寻路"),new lt([],()=>this.stopAIMove(),[],"停止自动寻路")]}}};d(Tr,"createDefaultProps",()=>({...st.createDefaultProps(),mode:"worker",animation:"standing",allowPicking:!0})),d(Tr,"type",Tr.register("ESHuman",Tr,{chsName:"人员",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"工人 警察 路人"})),d(Tr,"modes",[["工人","worker"],["警察","police"],["路人","pedestrian"],["陌生人","stranger"],["男士","suitMan"],["女士","suitWoman"]]),d(Tr,"animations",[["站立","standing"],["行走","walking"],["奔跑","running"]]);let Co=Tr;const Mo=class Mo extends ir{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new it([this,"url"],"图片路径",Mo.defaults.url),new X([this,"isHoverZoom"],"悬浮放大"),new X([this,"hoverHighlight"],"悬浮高亮")]}}};d(Mo,"createDefaultProps",()=>({...ir.createDefaultProps(),url:"inner://CameraBlue.png",isHoverZoom:!1,hoverHighlight:!1,renderMode:4})),d(Mo,"type",Mo.register("ESImageLabel",Mo,{chsName:"图片标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"基础图片标签。"}));let Vc=Mo;const Oi=class Oi extends Wt{constructor(e){super(e),this.ad(nt([this,"czmSplitDirection"],[this,"splitDirection"])),this.ad(nt([this,"czmAlpha"],[this,"opacity"]))}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new M([this,"zIndex"],"层级序号",Oi.defaults.zIndex)],dataSource:[...e.dataSource,new it([this,"url"],"影像服务地址"),new Rr([this,"rectangle"],"矩形范围",Oi.defaults.rectangle,!0),new ze([this,"maximumLevel"],1,[1,24],"最大级别",Oi.defaults.maximumLevel,!0),new it([this,"options"],"options",Oi.defaults.options,void 0,!0),new pt([this,"targetID"],"targetID"),new ze([this,"opacity"],.01,[0,1],"opacity",1)],more:[...e.more,new ut([],"通用"),new M([this,"height"],"高度"),new pt([this,"actorTag"]),new pt([this,"componentTag"]),new M([this,"minimumLevel"]),new ut([],"图像"),new M([this,"czmAlpha"],"透明度"),new M([this,"czmBrightness"],"亮度"),new M([this,"czmContrast"],"对比度"),new M([this,"czmHue"],"色相"),new M([this,"czmSaturation"],"饱和度"),new M([this,"czmGamma"],"伽马值")]}}};d(Oi,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"",rectangle:Zt([-180,-90,180,90]),options:Zt(void 0),zIndex:0,actorTag:"",componentTag:"",maximumLevel:22,minimumLevel:0,targetID:"",czmSplitDirection:"NONE",czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1,opacity:1,splitDirection:"NONE"})),d(Oi,"type",Oi.register("ESImageryLayer",Oi,{chsName:"影像图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"影像图层"}));let uf=Oi;const PS=`
203
+ }`;this.instanceClassStr=s};i(),this.d(this.innerHTMLChanged.don(i))}}get widgetEvent(){return this._widgetEvent}get echartsFun(){return this._echartsFunReact.value}set echartsFun(t){this._echartsFunReact.value=t}get echartsFunChanged(){return this._echartsFunReact.changed}get instanceClass(){return this._instanceClassReact.value}set instanceClass(t){this._instanceClassReact.value=t}get instanceClassChanged(){return this._instanceClassReact.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new M([this,"opacity"],"透明度",ii.defaults.opacity,!0),new M([this,"zOrder"],"zOrder",ii.defaults.zOrder,!0),new Fe([this,"anchor"],"偏移比例",ii.defaults.anchor,!0),new ys([this,"innerHTML"],"innerHTML",ii.defaults.innerHTML,IS,!0),new ys([this,"instanceClassStr"],"实例类",ii.defaults.instanceClassStr,PS,!0),new X([this,"renderInUE"],"是否在UE中渲染",!0,!1)]}}};d(ii,"createDefaultProps",()=>({...st.createDefaultProps(),opacity:1,anchor:dt([.5,1]),instanceClassStr:ay,innerHTML:uy,zOrder:0,renderInUE:!1})),d(ii,"type",ii.register("ESGeoDiv",ii,{chsName:"ESGeoDiv",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESGeoDiv"}));let sf=ii;const Do=class Do extends Pt{constructor(t){super(t);d(this,"editingBindMode","doublePoints")}toPolygon(){if(this.points&&this.points.length>=2){const t=[...this.points][0],n=[...this.points][1];return[t,[t[0],n[1],t[2]],n,[n[0],t[1],n[2]]]}else return}_updateArea(){if(this.points&&this.points.length>=2){const t=[...this.points],n=t[0],i=t[1],s=[n,[n[0],i[1],n[2]],i,[i[0],n[1],i[2]]];this._area.value=Kh(s)}else this._area.value=0}_updatePerimeter(){if(this.points&&this.points.length>=2){const t=[...this.points],n=t[0],i=t[1],s=[n,[n[0],i[1],n[2]],i,[i[0],n[1],i[2]]],o=[...s,s[0]],a=cl(o,"GEODESIC"),u=a[a.length-1];this._perimeter.value=u}else this._perimeter.value=0}getESProperties(){const t=super.getESProperties();return{...t,coordinate:[...t.coordinate,new M([this,"area"],"面积",0,!1,!0),new M([this,"perimeter"],"周长",0,!1,!0)]}}};d(Do,"createDefaultProps",()=>({...Pt.createDefaultProps(),collision:!1,stroked:!0,filled:!0,fillStyle:_t({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),d(Do,"type",Do.register("ESGeoRectangle",Do,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),d(Do,"supportEditingModes",[...Pt.supportEditingModes,et.DoublePointsAppend,et.DoublePointsModify]);let of=Do;const af={translationX:0,translationY:0,translationZ:0,rotationHeading:0,rotationPitch:0,rotationRoll:0,scaleX:1,scaleY:1,scaleZ:1},Us=class Us extends st{constructor(t){super(t);d(this,"_nodeTransformations",this.dv(B(void 0)));d(this,"_czmModelReadyEvent",this.dv(new N));d(this,"_setNodePositionEvent",this.dv(new N));d(this,"_setNodeRotationEvent",this.dv(new N));d(this,"_setNodeScaleEvent",this.dv(new N));d(this,"_printDebugInfoEvent",this.dv(new N));d(this,"setMaterialInfoEvent",this.ad(new N));d(this,"_setMaterialEvent",this.disposeVar(new N))}get nodeTransformations(){return this._nodeTransformations.value}set nodeTransformations(t){this._nodeTransformations.value=t}get nodeTransformationsChanged(){return this._nodeTransformations.changed}get czmModelReadyEvent(){return this._czmModelReadyEvent}get readyEvent(){return this._czmModelReadyEvent}deleteNodeTransformation(t){if(!this.nodeTransformations||!this.nodeTransformations[t])return;const n={...this.nodeTransformations};delete n[t],this.nodeTransformations=n}get setNodePositionEvent(){return this._setNodePositionEvent}setNodePosition(t,n){this._setNodePositionEvent.emit(t,n),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...af};if(n.some(s=>!Number.isFinite(s))){console.error(`setNodePosition error: ${t} ${n}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,translationX:n[0],translationY:n[1],translationZ:n[2]}}}get setNodeRotationEvent(){return this._setNodeRotationEvent}setNodeRotation(t,n){this._setNodeRotationEvent.emit(t,n),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...af};if(n.some(s=>!Number.isFinite(s))){console.error(`setNodeRotation error: ${t} ${n}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,rotationHeading:n[0],rotationPitch:n[1],rotationRoll:n[2]}}}get setNodeScaleEvent(){return this._setNodeScaleEvent}setNodeScale(t,n){this._setNodeScaleEvent.emit(t,n),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...af};if(n.some(s=>!Number.isFinite(s)||s<0)){console.error(`setNodeScale error: !Number.isFinite(e) || e < 0 ${t} ${n}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,scaleX:n[0],scaleY:n[1],scaleZ:n[2]}}}getNodePosition(t){if(!this.nodeTransformations)return;const n=this.nodeTransformations[t];if(n)return[n.translationX,n.translationY,n.translationZ]}getNodeRotation(t){if(!this.nodeTransformations)return;const n=this.nodeTransformations[t];if(n)return[n.rotationHeading,n.rotationPitch,n.rotationRoll]}getNodeScale(t){if(!this.nodeTransformations)return;const n=this.nodeTransformations[t];if(n)return[n.scaleX,n.scaleY,n.scaleZ]}get printDebugInfoEvent(){return this._printDebugInfoEvent}printDebugInfo(){this._printDebugInfoEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(t){return new Promise(n=>{const i=new V;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),n(s)})),this._setMaterialEvent.emit(t)})}setLight122(){this.czmEnvironmentMapManager={...Hd}}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",dataSource:[...t.dataSource,new it([this,"url"],"模型路径",Us.defaults.url,void 0,!0),new it([this,"instances"],"实例化矩阵",Us.defaults.instances,void 0,!0)],more:[...t.more,new Fe([this,"czmImageBasedLightingFactor"]),new M([this,"czmAtmosphereScatteringIntensity"]),new it([this,"czmEnvironmentMapManager"]),new lt([],()=>this.printDebugInfo(),[],"控制台输出模型信息"),new M([this,"czmMaximumScale"],"最大缩放比例",void 0,!0),new M([this,"czmNativeScale"],"统一缩放值"),new M([this,"czmMinimumPixelSize"],"最小像素尺寸"),new Dt([this,"czmColor"],"颜色")]}}};d(Us,"createDefaultProps",()=>({...st.createDefaultProps(),url:"${earthsdk3-assets-script-dir}/assets/glb/building.glb",czmMaximumScale:void 0,czmMinimumPixelSize:0,czmNativeScale:1,czmColor:dt([1,1,1,1]),allowPicking:!0,instances:ne([]),czmImageBasedLightingFactor:dt([1,1]),czmAtmosphereScatteringIntensity:2,czmEnvironmentMapManager:Zt(void 0)})),d(Us,"type",Us.register("ESGltfModel",Us,{chsName:"模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"gltf模型"}));let Vs=Us;const Tr=class Tr extends st{constructor(t){super(t);d(this,"_aiMoveToEvent",this.dv(new N));d(this,"_stopAIMoveEvent",this.dv(new N));d(this,"_readyEvent",this.dv(new N))}get aiMoveToEvent(){return this._aiMoveToEvent}aiMoveTo(t,n){this._aiMoveToEvent.emit(t,n)}get stopAIMoveEvent(){return this._stopAIMoveEvent}stopAIMove(){this._stopAIMoveEvent.emit()}get readyEvent(){return this._readyEvent}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"mode"],Tr.modes,"模式",Tr.defaults.mode,!0),new bt([this,"animation"],Tr.animations,"动画",Tr.defaults.animation,!0)],more:[...t.more,new lt(["numbers","number"],(n,i)=>this.aiMoveTo(n,i),[[0,0,0],0],"自动寻路"),new lt([],()=>this.stopAIMove(),[],"停止自动寻路")]}}};d(Tr,"createDefaultProps",()=>({...st.createDefaultProps(),mode:"worker",animation:"standing",allowPicking:!0})),d(Tr,"type",Tr.register("ESHuman",Tr,{chsName:"人员",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"工人 警察 路人"})),d(Tr,"modes",[["工人","worker"],["警察","police"],["路人","pedestrian"],["陌生人","stranger"],["男士","suitMan"],["女士","suitWoman"]]),d(Tr,"animations",[["站立","standing"],["行走","walking"],["奔跑","running"]]);let Co=Tr;const Mo=class Mo extends ir{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new it([this,"url"],"图片路径",Mo.defaults.url),new X([this,"isHoverZoom"],"悬浮放大"),new X([this,"hoverHighlight"],"悬浮高亮")]}}};d(Mo,"createDefaultProps",()=>({...ir.createDefaultProps(),url:"inner://CameraBlue.png",isHoverZoom:!1,hoverHighlight:!1,renderMode:4})),d(Mo,"type",Mo.register("ESImageLabel",Mo,{chsName:"图片标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"基础图片标签。"}));let Vc=Mo;const Oi=class Oi extends Wt{constructor(e){super(e),this.ad(nt([this,"czmSplitDirection"],[this,"splitDirection"])),this.ad(nt([this,"czmAlpha"],[this,"opacity"]))}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new M([this,"zIndex"],"层级序号",Oi.defaults.zIndex)],dataSource:[...e.dataSource,new it([this,"url"],"影像服务地址"),new Rr([this,"rectangle"],"矩形范围",Oi.defaults.rectangle,!0),new ze([this,"maximumLevel"],1,[1,24],"最大级别",Oi.defaults.maximumLevel,!0),new it([this,"options"],"options",Oi.defaults.options,void 0,!0),new pt([this,"targetID"],"targetID"),new ze([this,"opacity"],.01,[0,1],"opacity",1)],more:[...e.more,new ut([],"通用"),new M([this,"height"],"高度"),new pt([this,"actorTag"]),new pt([this,"componentTag"]),new M([this,"minimumLevel"]),new ut([],"图像"),new M([this,"czmAlpha"],"透明度"),new M([this,"czmBrightness"],"亮度"),new M([this,"czmContrast"],"对比度"),new M([this,"czmHue"],"色相"),new M([this,"czmSaturation"],"饱和度"),new M([this,"czmGamma"],"伽马值")]}}};d(Oi,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"",rectangle:Zt([-180,-90,180,90]),options:Zt(void 0),zIndex:0,actorTag:"",componentTag:"",maximumLevel:22,minimumLevel:0,targetID:"",czmSplitDirection:"NONE",czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1,opacity:1,splitDirection:"NONE"})),d(Oi,"type",Oi.register("ESImageryLayer",Oi,{chsName:"影像图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"影像图层"}));let uf=Oi;const xS=`
204
204
  # 声明文件
205
205
  ### options 类型
206
206
  \`\`\`javascript
@@ -306,14 +306,14 @@ export type ESJTimeIntervalCollectionJsonType = {
306
306
  };
307
307
 
308
308
  \`\`\`
309
- `,si=class si extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"size"],"尺寸",si.defaults.size),new X([this,"autoFollow"],"自动跟随",si.defaults.autoFollow),new bt([this,"mode"],si.modes,"模式","blueSky")],more:[...e.more,new M([this,"autoOpacityFactor"],"自动消失系数",si.defaults.autoOpacityFactor)]}}};d(si,"createDefaultProps",()=>({...st.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky",collision:!1,allowPicking:!1})),d(si,"type",si.register("ESLocalSkyBox",si,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),d(si,"modes",[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]);let lf=si;const Cl=class Cl extends st{constructor(t){super(t);d(this,"_location",this.disposeVar(V(void 0)));{const n=()=>{this.location=this.position};n(),this.ad(this.positionChanged.don(n))}}get location(){return this._location.value}set location(t){this._location.value=t}get locationChanged(){return this._location.changed}};d(Cl,"type",Cl.register("ESLocationMeasurement",Cl,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"位置测量点"}));let cf=Cl;const on=class on extends st{constructor(t){super(t);d(this,"_player",this.dv(new Lr));{const n=on.defaults;this.d(nt([this._player,"loop"],[this,"playingLoop"],i=>i??n.playingLoop,i=>i??n.playingLoop)),this.d(nt([this._player,"currentTime"],[this,"currentTime"],i=>i??n.currentTime,i=>i??n.currentTime)),this.d(nt([this._player,"duration"],[this,"duration"],i=>i??n.duration,i=>i??n.duration)),this.d(nt([this._player,"playing"],[this,"playing"],i=>i??n.playing,i=>i??n.playing)),this.d(nt([this._player,"speed"],[this,"playingSpeed"],i=>i??n.playingSpeed,i=>i??n.playingSpeed))}}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(t){this._player.ratio=t}get ratioChanged(){return this._player.ratioChanged}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"通用","通用"),new lt(["number"],n=>this.flyTo(n),[1e3],"飞入"),new ys([this,"updateCallback"],"更新回调函数",void 0,void 0,!0),new M([this,"emissionRate"],"发射率",5,!0),new X([this,"loop"],"是否循环",!0,!0),new M([this,"particleScale"],"等级",1,!0),new M([this,"startScale"],"初始等级",void 0,!0),new M([this,"endScale"],"结束等级",on.defaults.endScale,!0),new Dt([this,"color"],"颜色",void 0,!0),new Dt([this,"startColor"],"初始颜色",void 0,!0),new Dt([this,"endColor"],"结束颜色",void 0,!0),new X([this,"sizeInMeters"],"尺寸单位为米",void 0,!0),new M([this,"speed"],"速度",1,!0),new M([this,"minimumSpeed"],"最小速度",void 0,!0),new M([this,"maximumSpeed"],"最大速度",void 0,!0),new M([this,"lifetime"],"生命周期",Number.MAX_VALUE,!0),new M([this,"particleLife"],"粒子生命周期",on.defaults.particleLife,!0),new M([this,"minimumParticleLife"],"最小粒子生命周期",void 0,!0),new M([this,"maximumParticleLife"],"最大粒子生命周期",void 0,!0),new M([this,"mass"],"块数量",1,!0),new M([this,"minimumMass"],"最小块数量",void 0,!0),new M([this,"maximumMass"],"最大块数量",void 0,!0),new Fe([this,"imageSize"],"图片尺寸",on.defaults.imageSize,!0),new Fe([this,"minimumImageSize"],"最小图片尺寸",void 0,!0),new Fe([this,"maximumImageSize"],"最大图片尺寸",void 0,!0),new Mu([this,"image"],"图片",on.defaults.image,!0),new un([this,"translation"],"偏移",[0,0,0],!0),new Vh([this,"bursts"],"bursts",void 0,!0),new it([this,"emitter"],"emitter",on.defaults.emitter),new ut([],"播放器","播放器"),new M([this,"ratio"],"播放比率",0,!0),new Ul([this,"playing"],[this,"ratio"],[this,"playingLoop"],"播放器"),new X([this,"playingLoop"],"是否循环",on.defaults.playingLoop,!0),new M([this,"currentTime"],"当前时间",on.defaults.currentTime,!0),new M([this,"duration"],"过渡时间",on.defaults.duration,!0),new X([this,"playing"],"是否播放",on.defaults.playing,!0),new M([this,"playingSpeed"],"播放速度",on.defaults.playingSpeed,!0)]}}};d(on,"createDefaultProps",()=>({...st.createDefaultProps(),emitter:Zt({type:"CircleEmitter",radius:.5}),bursts:ih(void 0),translation:ne(void 0),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",imageSize:ne([20,20]),minimumImageSize:ne(void 0),maximumImageSize:ne(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:4,color:ne(void 0),startColor:ne(void 0),endColor:ne(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:.5,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:!0,currentTime:0,duration:6e3,playingSpeed:1,playing:!0})),d(on,"type",on.register("ESParticleSystemPrimitive",on,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"}));let Bc=on;const oi=class oi extends ir{constructor(t){super(t);d(this,"initialStyle",this.ad(Zt(void 0)));d(this,"_getInitialStyleEvent",this.disposeVar(new N))}get getInitialStyleEvent(){return this._getInitialStyleEvent}getInitialStyle(){return Promise.race([new Promise(t=>{const n=this.d(this.initialStyle.changed.disposableOnce(t));this.getInitialStyleEvent.emit(),setTimeout(()=>{n(),t(void 0)},2e3)})])}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"mode"],oi.modes,"模式",oi.defaults.mode),new it([this,"style"],"样式",oi.defaults.style),new X([this,"autoAnchor"],"自动锚点对齐",oi.defaults.autoAnchor)]}}};d(oi,"createDefaultProps",()=>({...ir.createDefaultProps(),mode:"SquareH01",style:_t({fontSize:16,imageSize:[60,60],textBackgroundColor:[1,1,1,0],textBackgroundSize:[120,30],textColor:[1,1,1,1],textOffset:[10,2],textBoxOffset:[40,0],textBoxAlign:"start",textBoxShow:!0,textBoxMode:"default"}),autoAnchor:!0})),d(oi,"type",oi.register("ESPoi2D",oi,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(oi,"modes",[["自定义","Custom"],["SquareH01","SquareH01"],["SquareH02","SquareH02"],["SquareV01","SquareV01"],["SquareV02","SquareV02"],["SquareV03","SquareV03"],["SquareV04","SquareV04"],["Flag01","Flag01"],["Flag02","Flag02"],["Linear01","Linear01"],["Linear02","Linear02"],["Linear03","Linear03"],["CircularH01","CircularH01"],["CircularH02","CircularH02"],["CircularV01","CircularV01"],["CircularV02","CircularV02"],["CircularV03","CircularV03"],["CircularV04","CircularV04"],["CircularV05","CircularV05"],["P3D01","P3D01"],["P3D02","P3D02"],["P3D03","P3D03"],["P3D04","P3D04"],["P3D05","P3D05"],["P3D06","P3D06"],["P3D07","P3D07"],["Diamond01","Diamond01"],["Diamond02","Diamond02"],["Stranger","Stranger"],["ManNormal","ManNormal"],["ManAbnormal","ManAbnormal"],["WomanNormal","WomanNormal"],["WomanAbnormal","WomanAbnormal"],["Camera","Camera"]]);let fl=oi;const Di=class Di extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"mode"],Di.modes,"模式",Di.defaults.mode),new it([this,"style"],"样式",Di.defaults.style)]}}};d(Di,"createDefaultProps",()=>({...st.createDefaultProps(),mode:"triangle",style:_t({UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]})})),d(Di,"type",Di.register("ESPoi3D",Di,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(Di,"modes",[["三角形","triangle"],["菱形","diamond"],["制(存)梁场","BridgePrefabricationSite"],["汽车运输便道","ExportRoad"],["拌合站","MixingStation"],["小型预制构件厂","PrefabricatedComponentsSite"],["项目部","ProjectDepartment"],["铁路岔线","RailwayFork"],["钢筋加工厂","RebarMachining"],["临时电力干线","TempElectricMain"],["铺轨基地","TrackLayingBase"],["汽车运梁通道","TransportationBridge"]]);let hf=Di;const Ka=class Ka extends qt{constructor(t){super(t);d(this,"_czmFlattenedPlaneId",this.dv(V("")))}get czmFlattenedPlaneId(){return this._czmFlattenedPlaneId.value}set czmFlattenedPlaneId(t){this._czmFlattenedPlaneId.value=t}get czmFlattenedPlaneIdChanged(){return this._czmFlattenedPlaneId.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new pt([this,"targetID"],"瓦片图层","")]}}};d(Ka,"createDefaultProps",()=>({...qt.createDefaultProps(),targetID:"",filled:!1})),d(Ka,"type",Ka.register("ESPolygonFlattenedPlane",Ka,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"}));let df=Ka;const ly=async(r,e,t)=>{const{viewer:n}=r;if(!n){console.error("AddTrees: ueViewer.viewer is undefined");return}const i=await n.callUeFunc({f:"AddTrees",p:{id:e,TreeParams:t}});return i.error&&console.error("AddTrees:",i.error),i},cy=async(r,e)=>{const{viewer:t}=r;if(!t){console.error("RemoveAllTrees: ueViewer.viewer is undefined");return}const n=await t.callUeFunc({f:"RemoveAllTrees",p:{id:e}});return n.error&&console.error("RemoveAllTrees:",n.error),n},hy=async(r,e,t)=>{const{viewer:n}=r;if(!n){console.error("UpdateTreeParams: ueViewer.viewer is undefined");return}const i=await n.callUeFunc({f:"UpdateTreeParams",p:{id:e,TreeParams:t}});return i.error&&console.error("UpdateTreeParams:",i.error),i},dy=async(r,e,t,n)=>{const{viewer:i}=r;if(!i){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const s=await i.callUeFunc({f:"CutDownTrees",p:{id:e,TreeIds:t,TimeLength:n}});return s.error&&console.error("CutDownTrees:",s.error),s},fy=async(r,e,t,n,i)=>{const{viewer:s}=r;if(!s){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const o=await s.callUeFunc({f:"GrowthSimulation",p:{id:e,ToParams:t,SwitchTime:i,TimeLength:n}});return o.error&&console.error("GrowthSimulation:",o.error),o},Za=class Za extends Wt{constructor(t){super(t);d(this,"_addTreesEvent",this.dv(new N));d(this,"_removeAllTreesEvent",this.dv(new N));d(this,"_updateTreeParamsEvent",this.dv(new N));d(this,"_cutDownTreesEvent",this.dv(new N));d(this,"_growthSimulationEvent",this.dv(new N))}async addTreesCallFunc(t,n){return await ly(t,this.id,n)}async updateTreeParamsCallFunc(t,n){return await hy(t,this.id,n)}async cutDownTreesCallFunc(t,n,i){return await dy(t,this.id,n,i)}async removeAllTreesCallFunc(t){return await cy(t,this.id)}async growthSimulationCallFunc(t,n,i,s){return await fy(t,this.id,n,i,s)}async getIdByComponentNameAndHitItem(t,n,i){return await t.getIdByComponentNameAndHitItem(this.id,n,i)}get addTreesEvent(){return this._addTreesEvent}addTrees(t){this._addTreesEvent.emit(t)}get removeAllTreesEvent(){return this._removeAllTreesEvent}removeAllTrees(){this._removeAllTreesEvent.emit()}get updateTreeParamsEvent(){return this._updateTreeParamsEvent}updateTreeParams(t){this._updateTreeParamsEvent.emit(t)}get cutDownTreesEvent(){return this._cutDownTreesEvent}cutDownTrees(t,n){this._cutDownTreesEvent.emit(t,n)}get growthSimulationEvent(){return this._growthSimulationEvent}growthSimulation(t,n,i){this._growthSimulationEvent.emit(t,n,i)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"通用"),new it([this,"treeTypes"],"treeTypes",[],"{ name: string, meshPath: string }[]",!0),new M([this,"stumpId"],"树桩id"),new M([this,"intervalTime"],"动画间隔时间"),new M([this,"switchIntervalTime"],"切换间隔时间")]}}};d(Za,"createDefaultProps",()=>({...Wt.createDefaultProps(),treeTypes:Zt([]),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})),d(Za,"type",Za.register("ESSeparateFoliage",Za,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"}));let ff=Za;function jc(r,e,t){const n="buffer"in r,i=n?r.buffer:r;n&&(e+=r.byteOffset);const s=new Array(t),o=new DataView(i);for(let a=0;a<t;++a){const u=o.getUint8(e+a);s[a]=String.fromCharCode(u)}return s.join("")}function zc(r,e){const t="buffer"in r,n=t?r.buffer:r;return t&&(e+=r.byteOffset),new DataView(n).getUint32(e,!0)}function py(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t>i.byteLength){console.error("byteOffset + length > buffer.byteLength");return}return new Uint8Array(i,e,t)}function IS(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*2>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint16Array(i,e,t)}function xS(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint32Array(i,e,t)}function TS(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Float32Array(i,e,t)}function gy(r){if(jc(r,0,4)!=="glTF"){console.error("Not a glTF file");return}const t=zc(r,4);if(t!==2){console.error("Unsupported glTF version");return}const n=zc(r,8);if(n!==r.byteLength){console.error("Invalid glTF length");return}const i=zc(r,12);if(i+12+4>n){console.error("Invalid glTF chunk length");return}if(jc(r,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const o=jc(r,20,i),a={version:t,length:n,gltfJson:o};if(20+i<r.byteLength){const u=zc(r,20+i);if(jc(r,20+i+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const c=py(r,20+i+8,u);a.gltfBinary=c}return a}globalThis.parseGlb=gy;function my(r){const e=gy(r);if(e===void 0||!e.gltfBinary)return;const t=JSON.parse(e.gltfJson);return t.nodes.map(n=>{var i=t.meshes[n.mesh],s=i.primitives[0].attributes.POSITION,o=i.primitives[0].indices,a=t.accessors[s],u=t.bufferViews[a.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const l=TS(e.gltfBinary,u.byteOffset??0,u.byteLength/4);var c=t.accessors[o],h=t.bufferViews[c.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let f;return c.componentType===5121?f=py(e.gltfBinary,h.byteOffset??0,h.byteLength/1):c.componentType===5123?f=IS(e.gltfBinary,h.byteOffset??0,h.byteLength/2):c.componentType===5125&&(f=xS(e.gltfBinary,h.byteOffset??0,h.byteLength/4)),{name:n.name,posBuffer:l,indicesBuffer:f}})}globalThis.parseWaterGlb=my;const vn=class vn extends st{constructor(t){super(t);d(this,"_submergingData");d(this,"_allMoments",[]);d(this,"readyEvent",this.dv(new N));{const n=()=>{this.url!=""&&fetch(this.url).then(i=>{i.status==200&&i.ok&&i.arrayBuffer().then(s=>{this._submergingData=my(s);const o=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=o,this.currentTime==0&&(this.currentTime=o[0]),this.readyEvent.emit()})}).catch(i=>{console.log(i)})};n(),this.d(this.urlChanged.don(()=>{n()}))}}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new pt([this,"url"],"Url地址",vn.defaults.url),new ze([this,"amplitude"],.01,[0,1],"振幅",vn.defaults.amplitude),new M([this,"frequency"],"频率",vn.defaults.frequency),new M([this,"currentTime"],"当前时间",vn.defaults.currentTime),new it([this,"materialParams"],"材质参数",vn.defaults.materialParams),new bt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型","river"),new Dt([this,"waterColor"],"水的底色",vn.defaults.waterColor),new ze([this,"waveVelocity"],.01,[0,1],"波动频率",vn.defaults.waveVelocity),new M([this,"flowSpeed"],"水流速度",vn.defaults.flowSpeed),new ze([this,"specularIntensity"],.01,[0,1],"镜面反射强度",vn.defaults.specularIntensity),new ze([this,"murkiness"],.01,[0,10],"水体浑浊度",vn.defaults.murkiness)]}}};d(vn,"createDefaultProps",()=>({...st.createDefaultProps(),allowPicking:!0,url:"",currentTime:0,materialParams:_t({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,murkiness:5})),d(vn,"type",vn.register("ESSubmergingAnalysis",vn,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"}));let pf=vn;const Ro=class Ro extends qt{constructor(t){super(t);d(this,"_groundHeight",this.disposeVar(V(0)));d(this,"_startEvent",this.dv(new N));d(this,"_stopEvent",this.dv(new N));this.ad(Bi(this.pointsChanged,()=>{var n,i;this.groundHeight=((i=(n=this.points)==null?void 0:n[0])==null?void 0:i[2])??0},{immediate:!0}))}get groundHeight(){return this._groundHeight.value}set groundHeight(t){this._groundHeight.value=t}get groundHeightChanged(){return this._groundHeight.changed}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new Dt([this,"startColor"],"起始颜色"),new Dt([this,"endColor"],"结束颜色"),new M([this,"progress"],"计算进度(%)",0,!0),new M([this,"height"],"分析区域高度(m)"),new M([this,"groundHeight"],"地面高度(m)",0,!1,!0),new M([this,"sampleDistance"],"采样间距(m)"),new M([this,"startTime"],"起始时间(ms)"),new M([this,"endTime"],"结束时间(ms)"),new M([this,"spanTime"],"时间跨度(h)"),new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.stop(),[],"结束分析")]}}};d(Ro,"createDefaultProps",()=>({...qt.createDefaultProps(),height:30,sampleDistance:10,startColor:dt([1,1,0,1]),endColor:dt([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0,filled:!1,stroked:!1})),d(Ro,"type",Ro.register("ESSunshineAnalysis",Ro,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),d(Ro,"supportEditingModes",[...qt.supportEditingModes,et.HeightModify]);let gf=Ro;const as=class as extends Wt{constructor(t){super(t);d(this,"_activateEvent",this.disposeVar(new N));d(this,"activate",!1)}get activateEvent(){return this._activateEvent}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new M([this,"zIndex"],"层级序号",as.defaults.zIndex)],dataSource:[...t.dataSource,new it([this,"url"],"地形服务地址",as.defaults.url),new Rr([this,"rectangle"],"矩形范围",as.defaults.rectangle)],more:[...t.more,new M([this,"czmMinzoom"],"czmMinzoom",void 0,!0),new M([this,"czmMaxzoom"],"czmMaxzoom",void 0,!0)]}}};d(as,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:dt([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0})),d(as,"type",as.register("ESTerrainLayer",as,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"}));let mf=as;const ai=class ai extends ir{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Dt([this,"color"],"文本颜色",[1,1,1,1]),new M([this,"fontSize"],"文字大小",14),new Bh([this,"text"],"内容",ai.defaults.text,void 0,!0),new Dt([this,"backgroundColor"],"背景颜色",ai.defaults.backgroundColor),new Rr([this,"padding"],"内边距",ai.defaults.padding),new Dt([this,"borderColor"],"边界颜色"),new Rr([this,"borderRadius"],"边界圆角"),new M([this,"borderWidth"],"边界宽度"),new M([this,"rotate"],"旋转角度",ai.defaults.rotate)],more:[...e.more,new ut([],"czm","czm"),new X([this,"textEditingInteraction"],"文本编辑交互"),new X([this,"textEditing"],"文本编辑"),new M([this,"width"],"宽度",ai.defaults.width,!0),new M([this,"opacity"],"透明度"),new bt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置","left"),new bt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};d(ai,"createDefaultProps",()=>({...ir.createDefaultProps(),text:"请输入文字",width:80,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:dt([1,1,1,1]),backgroundColor:dt([0,0,0,.8]),padding:dt([5,5,5,5]),borderRadius:dt([6,6,6,6]),borderWidth:0,borderColor:dt([1,1,1,1]),borderStyle:"solid",rotate:0})),d(ai,"type",ai.register("ESTextLabel",ai,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"}));let Aa=ai;const NS=`
309
+ `,si=class si extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"size"],"尺寸",si.defaults.size),new X([this,"autoFollow"],"自动跟随",si.defaults.autoFollow),new bt([this,"mode"],si.modes,"模式","blueSky")],more:[...e.more,new M([this,"autoOpacityFactor"],"自动消失系数",si.defaults.autoOpacityFactor)]}}};d(si,"createDefaultProps",()=>({...st.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky",collision:!1,allowPicking:!1})),d(si,"type",si.register("ESLocalSkyBox",si,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),d(si,"modes",[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]);let lf=si;const Cl=class Cl extends st{constructor(t){super(t);d(this,"_location",this.disposeVar(B(void 0)));{const n=()=>{this.location=this.position};n(),this.ad(this.positionChanged.don(n))}}get location(){return this._location.value}set location(t){this._location.value=t}get locationChanged(){return this._location.changed}};d(Cl,"type",Cl.register("ESLocationMeasurement",Cl,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"位置测量点"}));let cf=Cl;const on=class on extends st{constructor(t){super(t);d(this,"_player",this.dv(new Lr));{const n=on.defaults;this.d(nt([this._player,"loop"],[this,"playingLoop"],i=>i??n.playingLoop,i=>i??n.playingLoop)),this.d(nt([this._player,"currentTime"],[this,"currentTime"],i=>i??n.currentTime,i=>i??n.currentTime)),this.d(nt([this._player,"duration"],[this,"duration"],i=>i??n.duration,i=>i??n.duration)),this.d(nt([this._player,"playing"],[this,"playing"],i=>i??n.playing,i=>i??n.playing)),this.d(nt([this._player,"speed"],[this,"playingSpeed"],i=>i??n.playingSpeed,i=>i??n.playingSpeed))}}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(t){this._player.ratio=t}get ratioChanged(){return this._player.ratioChanged}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"通用","通用"),new lt(["number"],n=>this.flyTo(n),[1e3],"飞入"),new ys([this,"updateCallback"],"更新回调函数",void 0,void 0,!0),new M([this,"emissionRate"],"发射率",5,!0),new X([this,"loop"],"是否循环",!0,!0),new M([this,"particleScale"],"等级",1,!0),new M([this,"startScale"],"初始等级",void 0,!0),new M([this,"endScale"],"结束等级",on.defaults.endScale,!0),new Dt([this,"color"],"颜色",void 0,!0),new Dt([this,"startColor"],"初始颜色",void 0,!0),new Dt([this,"endColor"],"结束颜色",void 0,!0),new X([this,"sizeInMeters"],"尺寸单位为米",void 0,!0),new M([this,"speed"],"速度",1,!0),new M([this,"minimumSpeed"],"最小速度",void 0,!0),new M([this,"maximumSpeed"],"最大速度",void 0,!0),new M([this,"lifetime"],"生命周期",Number.MAX_VALUE,!0),new M([this,"particleLife"],"粒子生命周期",on.defaults.particleLife,!0),new M([this,"minimumParticleLife"],"最小粒子生命周期",void 0,!0),new M([this,"maximumParticleLife"],"最大粒子生命周期",void 0,!0),new M([this,"mass"],"块数量",1,!0),new M([this,"minimumMass"],"最小块数量",void 0,!0),new M([this,"maximumMass"],"最大块数量",void 0,!0),new Fe([this,"imageSize"],"图片尺寸",on.defaults.imageSize,!0),new Fe([this,"minimumImageSize"],"最小图片尺寸",void 0,!0),new Fe([this,"maximumImageSize"],"最大图片尺寸",void 0,!0),new Mu([this,"image"],"图片",on.defaults.image,!0),new un([this,"translation"],"偏移",[0,0,0],!0),new Vh([this,"bursts"],"bursts",void 0,!0),new it([this,"emitter"],"emitter",on.defaults.emitter),new ut([],"播放器","播放器"),new M([this,"ratio"],"播放比率",0,!0),new Ul([this,"playing"],[this,"ratio"],[this,"playingLoop"],"播放器"),new X([this,"playingLoop"],"是否循环",on.defaults.playingLoop,!0),new M([this,"currentTime"],"当前时间",on.defaults.currentTime,!0),new M([this,"duration"],"过渡时间",on.defaults.duration,!0),new X([this,"playing"],"是否播放",on.defaults.playing,!0),new M([this,"playingSpeed"],"播放速度",on.defaults.playingSpeed,!0)]}}};d(on,"createDefaultProps",()=>({...st.createDefaultProps(),emitter:Zt({type:"CircleEmitter",radius:.5}),bursts:ih(void 0),translation:ne(void 0),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",imageSize:ne([20,20]),minimumImageSize:ne(void 0),maximumImageSize:ne(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:4,color:ne(void 0),startColor:ne(void 0),endColor:ne(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:.5,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:!0,currentTime:0,duration:6e3,playingSpeed:1,playing:!0})),d(on,"type",on.register("ESParticleSystemPrimitive",on,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"}));let Bc=on;const oi=class oi extends ir{constructor(t){super(t);d(this,"initialStyle",this.ad(Zt(void 0)));d(this,"_getInitialStyleEvent",this.disposeVar(new N))}get getInitialStyleEvent(){return this._getInitialStyleEvent}getInitialStyle(){return Promise.race([new Promise(t=>{const n=this.d(this.initialStyle.changed.disposableOnce(t));this.getInitialStyleEvent.emit(),setTimeout(()=>{n(),t(void 0)},2e3)})])}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"mode"],oi.modes,"模式",oi.defaults.mode),new it([this,"style"],"样式",oi.defaults.style),new X([this,"autoAnchor"],"自动锚点对齐",oi.defaults.autoAnchor)]}}};d(oi,"createDefaultProps",()=>({...ir.createDefaultProps(),mode:"SquareH01",style:_t({fontSize:16,imageSize:[60,60],textBackgroundColor:[1,1,1,0],textBackgroundSize:[120,30],textColor:[1,1,1,1],textOffset:[10,2],textBoxOffset:[40,0],textBoxAlign:"start",textBoxShow:!0,textBoxMode:"default"}),autoAnchor:!0})),d(oi,"type",oi.register("ESPoi2D",oi,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(oi,"modes",[["自定义","Custom"],["SquareH01","SquareH01"],["SquareH02","SquareH02"],["SquareV01","SquareV01"],["SquareV02","SquareV02"],["SquareV03","SquareV03"],["SquareV04","SquareV04"],["Flag01","Flag01"],["Flag02","Flag02"],["Linear01","Linear01"],["Linear02","Linear02"],["Linear03","Linear03"],["CircularH01","CircularH01"],["CircularH02","CircularH02"],["CircularV01","CircularV01"],["CircularV02","CircularV02"],["CircularV03","CircularV03"],["CircularV04","CircularV04"],["CircularV05","CircularV05"],["P3D01","P3D01"],["P3D02","P3D02"],["P3D03","P3D03"],["P3D04","P3D04"],["P3D05","P3D05"],["P3D06","P3D06"],["P3D07","P3D07"],["Diamond01","Diamond01"],["Diamond02","Diamond02"],["Stranger","Stranger"],["ManNormal","ManNormal"],["ManAbnormal","ManAbnormal"],["WomanNormal","WomanNormal"],["WomanAbnormal","WomanAbnormal"],["Camera","Camera"]]);let fl=oi;const Di=class Di extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"mode"],Di.modes,"模式",Di.defaults.mode),new it([this,"style"],"样式",Di.defaults.style)]}}};d(Di,"createDefaultProps",()=>({...st.createDefaultProps(),mode:"triangle",style:_t({UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]})})),d(Di,"type",Di.register("ESPoi3D",Di,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(Di,"modes",[["三角形","triangle"],["菱形","diamond"],["制(存)梁场","BridgePrefabricationSite"],["汽车运输便道","ExportRoad"],["拌合站","MixingStation"],["小型预制构件厂","PrefabricatedComponentsSite"],["项目部","ProjectDepartment"],["铁路岔线","RailwayFork"],["钢筋加工厂","RebarMachining"],["临时电力干线","TempElectricMain"],["铺轨基地","TrackLayingBase"],["汽车运梁通道","TransportationBridge"]]);let hf=Di;const Ka=class Ka extends qt{constructor(t){super(t);d(this,"_czmFlattenedPlaneId",this.dv(B("")))}get czmFlattenedPlaneId(){return this._czmFlattenedPlaneId.value}set czmFlattenedPlaneId(t){this._czmFlattenedPlaneId.value=t}get czmFlattenedPlaneIdChanged(){return this._czmFlattenedPlaneId.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new pt([this,"targetID"],"瓦片图层","")]}}};d(Ka,"createDefaultProps",()=>({...qt.createDefaultProps(),targetID:"",filled:!1})),d(Ka,"type",Ka.register("ESPolygonFlattenedPlane",Ka,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"}));let df=Ka;const ly=async(r,e,t)=>{const{viewer:n}=r;if(!n){console.error("AddTrees: ueViewer.viewer is undefined");return}const i=await n.callUeFunc({f:"AddTrees",p:{id:e,TreeParams:t}});return i.error&&console.error("AddTrees:",i.error),i},cy=async(r,e)=>{const{viewer:t}=r;if(!t){console.error("RemoveAllTrees: ueViewer.viewer is undefined");return}const n=await t.callUeFunc({f:"RemoveAllTrees",p:{id:e}});return n.error&&console.error("RemoveAllTrees:",n.error),n},hy=async(r,e,t)=>{const{viewer:n}=r;if(!n){console.error("UpdateTreeParams: ueViewer.viewer is undefined");return}const i=await n.callUeFunc({f:"UpdateTreeParams",p:{id:e,TreeParams:t}});return i.error&&console.error("UpdateTreeParams:",i.error),i},dy=async(r,e,t,n)=>{const{viewer:i}=r;if(!i){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const s=await i.callUeFunc({f:"CutDownTrees",p:{id:e,TreeIds:t,TimeLength:n}});return s.error&&console.error("CutDownTrees:",s.error),s},fy=async(r,e,t,n,i)=>{const{viewer:s}=r;if(!s){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const o=await s.callUeFunc({f:"GrowthSimulation",p:{id:e,ToParams:t,SwitchTime:i,TimeLength:n}});return o.error&&console.error("GrowthSimulation:",o.error),o},Za=class Za extends Wt{constructor(t){super(t);d(this,"_addTreesEvent",this.dv(new N));d(this,"_removeAllTreesEvent",this.dv(new N));d(this,"_updateTreeParamsEvent",this.dv(new N));d(this,"_cutDownTreesEvent",this.dv(new N));d(this,"_growthSimulationEvent",this.dv(new N))}async addTreesCallFunc(t,n){return await ly(t,this.id,n)}async updateTreeParamsCallFunc(t,n){return await hy(t,this.id,n)}async cutDownTreesCallFunc(t,n,i){return await dy(t,this.id,n,i)}async removeAllTreesCallFunc(t){return await cy(t,this.id)}async growthSimulationCallFunc(t,n,i,s){return await fy(t,this.id,n,i,s)}async getIdByComponentNameAndHitItem(t,n,i){return await t.getIdByComponentNameAndHitItem(this.id,n,i)}get addTreesEvent(){return this._addTreesEvent}addTrees(t){this._addTreesEvent.emit(t)}get removeAllTreesEvent(){return this._removeAllTreesEvent}removeAllTrees(){this._removeAllTreesEvent.emit()}get updateTreeParamsEvent(){return this._updateTreeParamsEvent}updateTreeParams(t){this._updateTreeParamsEvent.emit(t)}get cutDownTreesEvent(){return this._cutDownTreesEvent}cutDownTrees(t,n){this._cutDownTreesEvent.emit(t,n)}get growthSimulationEvent(){return this._growthSimulationEvent}growthSimulation(t,n,i){this._growthSimulationEvent.emit(t,n,i)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"通用"),new it([this,"treeTypes"],"treeTypes",[],"{ name: string, meshPath: string }[]",!0),new M([this,"stumpId"],"树桩id"),new M([this,"intervalTime"],"动画间隔时间"),new M([this,"switchIntervalTime"],"切换间隔时间")]}}};d(Za,"createDefaultProps",()=>({...Wt.createDefaultProps(),treeTypes:Zt([]),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})),d(Za,"type",Za.register("ESSeparateFoliage",Za,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"}));let ff=Za;function jc(r,e,t){const n="buffer"in r,i=n?r.buffer:r;n&&(e+=r.byteOffset);const s=new Array(t),o=new DataView(i);for(let a=0;a<t;++a){const u=o.getUint8(e+a);s[a]=String.fromCharCode(u)}return s.join("")}function zc(r,e){const t="buffer"in r,n=t?r.buffer:r;return t&&(e+=r.byteOffset),new DataView(n).getUint32(e,!0)}function py(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t>i.byteLength){console.error("byteOffset + length > buffer.byteLength");return}return new Uint8Array(i,e,t)}function TS(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*2>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint16Array(i,e,t)}function NS(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint32Array(i,e,t)}function OS(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Float32Array(i,e,t)}function gy(r){if(jc(r,0,4)!=="glTF"){console.error("Not a glTF file");return}const t=zc(r,4);if(t!==2){console.error("Unsupported glTF version");return}const n=zc(r,8);if(n!==r.byteLength){console.error("Invalid glTF length");return}const i=zc(r,12);if(i+12+4>n){console.error("Invalid glTF chunk length");return}if(jc(r,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const o=jc(r,20,i),a={version:t,length:n,gltfJson:o};if(20+i<r.byteLength){const u=zc(r,20+i);if(jc(r,20+i+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const c=py(r,20+i+8,u);a.gltfBinary=c}return a}globalThis.parseGlb=gy;function my(r){const e=gy(r);if(e===void 0||!e.gltfBinary)return;const t=JSON.parse(e.gltfJson);return t.nodes.map(n=>{var i=t.meshes[n.mesh],s=i.primitives[0].attributes.POSITION,o=i.primitives[0].indices,a=t.accessors[s],u=t.bufferViews[a.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const l=OS(e.gltfBinary,u.byteOffset??0,u.byteLength/4);var c=t.accessors[o],h=t.bufferViews[c.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let f;return c.componentType===5121?f=py(e.gltfBinary,h.byteOffset??0,h.byteLength/1):c.componentType===5123?f=TS(e.gltfBinary,h.byteOffset??0,h.byteLength/2):c.componentType===5125&&(f=NS(e.gltfBinary,h.byteOffset??0,h.byteLength/4)),{name:n.name,posBuffer:l,indicesBuffer:f}})}globalThis.parseWaterGlb=my;const vn=class vn extends st{constructor(t){super(t);d(this,"_submergingData");d(this,"_allMoments",[]);d(this,"readyEvent",this.dv(new N));{const n=()=>{this.url!=""&&fetch(this.url).then(i=>{i.status==200&&i.ok&&i.arrayBuffer().then(s=>{this._submergingData=my(s);const o=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=o,this.currentTime==0&&(this.currentTime=o[0]),this.readyEvent.emit()})}).catch(i=>{console.log(i)})};n(),this.d(this.urlChanged.don(()=>{n()}))}}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new pt([this,"url"],"Url地址",vn.defaults.url),new ze([this,"amplitude"],.01,[0,1],"振幅",vn.defaults.amplitude),new M([this,"frequency"],"频率",vn.defaults.frequency),new M([this,"currentTime"],"当前时间",vn.defaults.currentTime),new it([this,"materialParams"],"材质参数",vn.defaults.materialParams),new bt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型","river"),new Dt([this,"waterColor"],"水的底色",vn.defaults.waterColor),new ze([this,"waveVelocity"],.01,[0,1],"波动频率",vn.defaults.waveVelocity),new M([this,"flowSpeed"],"水流速度",vn.defaults.flowSpeed),new ze([this,"specularIntensity"],.01,[0,1],"镜面反射强度",vn.defaults.specularIntensity),new ze([this,"murkiness"],.01,[0,10],"水体浑浊度",vn.defaults.murkiness)]}}};d(vn,"createDefaultProps",()=>({...st.createDefaultProps(),allowPicking:!0,url:"",currentTime:0,materialParams:_t({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,murkiness:5})),d(vn,"type",vn.register("ESSubmergingAnalysis",vn,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"}));let pf=vn;const Ro=class Ro extends qt{constructor(t){super(t);d(this,"_groundHeight",this.disposeVar(B(0)));d(this,"_startEvent",this.dv(new N));d(this,"_stopEvent",this.dv(new N));this.ad(Bi(this.pointsChanged,()=>{var n,i;this.groundHeight=((i=(n=this.points)==null?void 0:n[0])==null?void 0:i[2])??0},{immediate:!0}))}get groundHeight(){return this._groundHeight.value}set groundHeight(t){this._groundHeight.value=t}get groundHeightChanged(){return this._groundHeight.changed}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new Dt([this,"startColor"],"起始颜色"),new Dt([this,"endColor"],"结束颜色"),new M([this,"progress"],"计算进度(%)",0,!0),new M([this,"height"],"分析区域高度(m)"),new M([this,"groundHeight"],"地面高度(m)",0,!1,!0),new M([this,"sampleDistance"],"采样间距(m)"),new M([this,"startTime"],"起始时间(ms)"),new M([this,"endTime"],"结束时间(ms)"),new M([this,"spanTime"],"时间跨度(h)"),new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.stop(),[],"结束分析")]}}};d(Ro,"createDefaultProps",()=>({...qt.createDefaultProps(),height:30,sampleDistance:10,startColor:dt([1,1,0,1]),endColor:dt([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0,filled:!1,stroked:!1})),d(Ro,"type",Ro.register("ESSunshineAnalysis",Ro,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),d(Ro,"supportEditingModes",[...qt.supportEditingModes,et.HeightModify]);let gf=Ro;const as=class as extends Wt{constructor(t){super(t);d(this,"_activateEvent",this.disposeVar(new N));d(this,"activate",!1)}get activateEvent(){return this._activateEvent}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new M([this,"zIndex"],"层级序号",as.defaults.zIndex)],dataSource:[...t.dataSource,new it([this,"url"],"地形服务地址",as.defaults.url),new Rr([this,"rectangle"],"矩形范围",as.defaults.rectangle)],more:[...t.more,new M([this,"czmMinzoom"],"czmMinzoom",void 0,!0),new M([this,"czmMaxzoom"],"czmMaxzoom",void 0,!0)]}}};d(as,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:dt([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0})),d(as,"type",as.register("ESTerrainLayer",as,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"}));let mf=as;const ai=class ai extends ir{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Dt([this,"color"],"文本颜色",[1,1,1,1]),new M([this,"fontSize"],"文字大小",14),new Bh([this,"text"],"内容",ai.defaults.text,void 0,!0),new Dt([this,"backgroundColor"],"背景颜色",ai.defaults.backgroundColor),new Rr([this,"padding"],"内边距",ai.defaults.padding),new Dt([this,"borderColor"],"边界颜色"),new Rr([this,"borderRadius"],"边界圆角"),new M([this,"borderWidth"],"边界宽度"),new M([this,"rotate"],"旋转角度",ai.defaults.rotate)],more:[...e.more,new ut([],"czm","czm"),new X([this,"textEditingInteraction"],"文本编辑交互"),new X([this,"textEditing"],"文本编辑"),new M([this,"width"],"宽度",ai.defaults.width,!0),new M([this,"opacity"],"透明度"),new bt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置","left"),new bt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};d(ai,"createDefaultProps",()=>({...ir.createDefaultProps(),text:"请输入文字",width:80,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:dt([1,1,1,1]),backgroundColor:dt([0,0,0,.8]),padding:dt([5,5,5,5]),borderRadius:dt([6,6,6,6]),borderWidth:0,borderColor:dt([1,1,1,1]),borderStyle:"solid",rotate:0})),d(ai,"type",ai.register("ESTextLabel",ai,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"}));let Aa=ai;const DS=`
310
310
  #### 默认值如下
311
311
  \`\`\`js
312
312
  {
313
313
  "Title": "示例",
314
314
  "Content": "这是一个示例\\n帮助你理解info的数据形式\\nnum:1\\nkey:'value'\\n"
315
315
  }
316
- \`\`\``,Nr=class Nr extends ir{constructor(t){super(t);d(this,"_callFunctionEvent",this.disposeVar(new N));d(this,"_callFunctionResultEvent",this.dv(new N))}get __callFunctionResultEvent(){return this._callFunctionResultEvent}get callFunctionEvent(){return this._callFunctionEvent}callFunction(t,n){return new Promise(i=>{const s=new B,o=setTimeout(()=>{s.isDestroyed()||(s.destroy(),i(void 0))},1e4);s.d(this._callFunctionResultEvent.donce(a=>{s.isDestroyed()||(s.destroy(),i(a),clearTimeout(o))})),this._callFunctionEvent.emit(t,n)})}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new un([this,"positionOffset"],"positionOffset",Nr.defaults.positionOffset),new un([this,"rotationOffset"],"rotationOffset",Nr.defaults.rotationOffset),new pt([this,"actorTag"],"actorTag",Nr.defaults.actorTag),new pt([this,"widgetClass"],"widgetClass",Nr.defaults.widgetClass),new pt([this,"socketName"],"socketName",Nr.defaults.socketName),new it([this,"info"],"info",Nr.defaults.info,NS,!0)],more:[...t.more,new lt(["string","string"],(n,i)=>this.callFunction(n,JSON.parse(i)),["",""],"callFunction")]}}};d(Nr,"createDefaultProps",()=>({...ir.createDefaultProps(),widgetClass:"",info:Zt({Title:"标题示例",Content:"内容示例"})})),d(Nr,"type",Nr.register("ESUEWidget",Nr,{chsName:"部件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"}));let vf=Nr;const Qa=class Qa extends st{constructor(){super(...arguments);d(this,"_callFunctionEvent",this.dv(new N));d(this,"_callFunctionResultEvent",this.dv(new N));d(this,"_actorEvent",this.dv(new N));d(this,"_lastActorStatus",this.dv(V("null")))}get __callFunctionResultEvent(){return this._callFunctionResultEvent}get callFunctionEvent(){return this._callFunctionEvent}callFunction(t,n){return new Promise(i=>{const s=new B,o=setTimeout(()=>{s.isDestroyed()||(s.destroy(),i(void 0))},1e4);s.d(this._callFunctionResultEvent.donce(a=>{s.isDestroyed()||(s.destroy(),i(a),clearTimeout(o))})),this._callFunctionEvent.emit(t,n)})}getBoundSphereWithChildren(t){return new Promise((n,i)=>{n(void 0)})}get actorEvent(){return this._actorEvent}get lastActorStatus(){return this._lastActorStatus.value}set lastActorStatus(t){this._lastActorStatus.value=t}get lastActorStatusChanged(){return this._lastActorStatus.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new pt([this,"actorTag"],"actorTag",""),new pt([this,"actorClass"],"actorClass",""),new X([this,"highlight"],"是否高亮",!1)],more:[...t.more,new lt(["string","string"],(n,i)=>this.callFunction(n,JSON.parse(i)),["",""],"callFunction")]}}};d(Qa,"createDefaultProps",()=>({...st.createDefaultProps(),actorTag:"",actorClass:"",highlight:!1,allowPicking:!0})),d(Qa,"type",Qa.register("ESUnrealActor",Qa,{chsName:"UnrealActor",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"UnrealActor"}));let yf=Qa;const yn=class yn extends st{constructor(t){super(t);d(this,"editingBindMode","doublePoints");d(this,"_resetWithCameraInfoEvent",this.dv(new N));this.collision=!1}get resetWithCameraInfoEvent(){return this._resetWithCameraInfoEvent}resetWithCameraInfo(){this._resetWithCameraInfoEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new X([this,"looping"],"循环",yn.defaults.looping),new X([this,"showFrustum"],"视椎体",yn.defaults.showFrustum),new M([this,"aspectRatio"],"宽高比",yn.defaults.aspectRatio),new M([this,"fov"],"横向夹角",yn.defaults.fov),new M([this,"far"],"视野长度",yn.defaults.far),new M([this,"near"],"近面距离",yn.defaults.near),new it([this,"videoStreamUrl"],"视频路径",yn.defaults.videoStreamUrl),new M([this,"zIndex"],"显示优先级",yn.defaults.zIndex),new bt([this,"videoStreamType"],yn.videoStreamTypes,"视频类型","video")],more:[...t.more,new lt([],()=>this.resetWithCameraInfo(),[],"以当前相机状态重置")]}}};d(yn,"createDefaultProps",()=>({...st.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,videoStreamUrl:"",zIndex:1,showFrustum:!0,looping:!0,videoStreamType:"video"})),d(yn,"type",yn.register("ESVideoFusion",yn,{chsName:"视频融合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视频融合"})),d(yn,"videoStreamTypes",[["video","video"],["hls","hls"],["flv","flv"],["img","img"],["gif","gif"]]);let _f=yn;const Or=class Or extends st{constructor(t){super(t);d(this,"editingBindMode","doublePoints")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new X([this,"showFrustum"],"视椎体",Or.defaults.showFrustum),new M([this,"aspectRatio"],"宽高比",Or.defaults.aspectRatio),new M([this,"fov"],"横向夹角",Or.defaults.fov),new M([this,"near"],"近面距离",Or.defaults.near),new M([this,"far"],"视野长度",Or.defaults.far),new M([this,"zIndex"],"显示优先级",Or.defaults.zIndex)]}}};d(Or,"createDefaultProps",()=>({...st.createDefaultProps(),fov:90,aspectRatio:1.77778,near:10,far:100,zIndex:1,showFrustum:!0,collision:!1})),d(Or,"type",Or.register("ESViewShed",Or,{chsName:"视域分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"信号传输器"}));let wf=Or;const OS=`
316
+ \`\`\``,Nr=class Nr extends ir{constructor(t){super(t);d(this,"_callFunctionEvent",this.disposeVar(new N));d(this,"_callFunctionResultEvent",this.dv(new N))}get __callFunctionResultEvent(){return this._callFunctionResultEvent}get callFunctionEvent(){return this._callFunctionEvent}callFunction(t,n){return new Promise(i=>{const s=new V,o=setTimeout(()=>{s.isDestroyed()||(s.destroy(),i(void 0))},1e4);s.d(this._callFunctionResultEvent.donce(a=>{s.isDestroyed()||(s.destroy(),i(a),clearTimeout(o))})),this._callFunctionEvent.emit(t,n)})}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new un([this,"positionOffset"],"positionOffset",Nr.defaults.positionOffset),new un([this,"rotationOffset"],"rotationOffset",Nr.defaults.rotationOffset),new pt([this,"actorTag"],"actorTag",Nr.defaults.actorTag),new pt([this,"widgetClass"],"widgetClass",Nr.defaults.widgetClass),new pt([this,"socketName"],"socketName",Nr.defaults.socketName),new it([this,"info"],"info",Nr.defaults.info,DS,!0)],more:[...t.more,new lt(["string","string"],(n,i)=>this.callFunction(n,JSON.parse(i)),["",""],"callFunction")]}}};d(Nr,"createDefaultProps",()=>({...ir.createDefaultProps(),widgetClass:"",info:Zt({Title:"标题示例",Content:"内容示例"})})),d(Nr,"type",Nr.register("ESUEWidget",Nr,{chsName:"部件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"}));let vf=Nr;const Qa=class Qa extends st{constructor(){super(...arguments);d(this,"_callFunctionEvent",this.dv(new N));d(this,"_callFunctionResultEvent",this.dv(new N));d(this,"_actorEvent",this.dv(new N));d(this,"_lastActorStatus",this.dv(B("null")))}get __callFunctionResultEvent(){return this._callFunctionResultEvent}get callFunctionEvent(){return this._callFunctionEvent}callFunction(t,n){return new Promise(i=>{const s=new V,o=setTimeout(()=>{s.isDestroyed()||(s.destroy(),i(void 0))},1e4);s.d(this._callFunctionResultEvent.donce(a=>{s.isDestroyed()||(s.destroy(),i(a),clearTimeout(o))})),this._callFunctionEvent.emit(t,n)})}getBoundSphereWithChildren(t){return new Promise((n,i)=>{n(void 0)})}get actorEvent(){return this._actorEvent}get lastActorStatus(){return this._lastActorStatus.value}set lastActorStatus(t){this._lastActorStatus.value=t}get lastActorStatusChanged(){return this._lastActorStatus.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new pt([this,"actorTag"],"actorTag",""),new pt([this,"actorClass"],"actorClass",""),new X([this,"highlight"],"是否高亮",!1)],more:[...t.more,new lt(["string","string"],(n,i)=>this.callFunction(n,JSON.parse(i)),["",""],"callFunction")]}}};d(Qa,"createDefaultProps",()=>({...st.createDefaultProps(),actorTag:"",actorClass:"",highlight:!1,allowPicking:!0})),d(Qa,"type",Qa.register("ESUnrealActor",Qa,{chsName:"UnrealActor",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"UnrealActor"}));let yf=Qa;const yn=class yn extends st{constructor(t){super(t);d(this,"editingBindMode","doublePoints");d(this,"_resetWithCameraInfoEvent",this.dv(new N));this.collision=!1}get resetWithCameraInfoEvent(){return this._resetWithCameraInfoEvent}resetWithCameraInfo(){this._resetWithCameraInfoEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new X([this,"looping"],"循环",yn.defaults.looping),new X([this,"showFrustum"],"视椎体",yn.defaults.showFrustum),new M([this,"aspectRatio"],"宽高比",yn.defaults.aspectRatio),new M([this,"fov"],"横向夹角",yn.defaults.fov),new M([this,"far"],"视野长度",yn.defaults.far),new M([this,"near"],"近面距离",yn.defaults.near),new it([this,"videoStreamUrl"],"视频路径",yn.defaults.videoStreamUrl),new M([this,"zIndex"],"显示优先级",yn.defaults.zIndex),new bt([this,"videoStreamType"],yn.videoStreamTypes,"视频类型","video")],more:[...t.more,new lt([],()=>this.resetWithCameraInfo(),[],"以当前相机状态重置")]}}};d(yn,"createDefaultProps",()=>({...st.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,videoStreamUrl:"",zIndex:1,showFrustum:!0,looping:!0,videoStreamType:"video"})),d(yn,"type",yn.register("ESVideoFusion",yn,{chsName:"视频融合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视频融合"})),d(yn,"videoStreamTypes",[["video","video"],["hls","hls"],["flv","flv"],["img","img"],["gif","gif"]]);let _f=yn;const Or=class Or extends st{constructor(t){super(t);d(this,"editingBindMode","doublePoints")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new X([this,"showFrustum"],"视椎体",Or.defaults.showFrustum),new M([this,"aspectRatio"],"宽高比",Or.defaults.aspectRatio),new M([this,"fov"],"横向夹角",Or.defaults.fov),new M([this,"near"],"近面距离",Or.defaults.near),new M([this,"far"],"视野长度",Or.defaults.far),new M([this,"zIndex"],"显示优先级",Or.defaults.zIndex)]}}};d(Or,"createDefaultProps",()=>({...st.createDefaultProps(),fov:90,aspectRatio:1.77778,near:10,far:100,zIndex:1,showFrustum:!0,collision:!1})),d(Or,"type",Or.register("ESViewShed",Or,{chsName:"视域分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"信号传输器"}));let wf=Or;const MS=`
317
317
  #### 默认值如下
318
318
  \`\`\`js
319
319
  {
@@ -321,7 +321,7 @@ export type ESJTimeIntervalCollectionJsonType = {
321
321
  "Key":"Value",
322
322
  "内容": "这是一个示例\\n帮助你理解info的数据形式\\nnum:1\\nkey:'value'\\n"
323
323
  }
324
- \`\`\``,Gs=class Gs extends ir{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new it([this,"info"],"信息",Gs.defaults.info,OS,!0)],more:[...e.more,new ut([],"通用","通用"),new ut([],"ue","ue"),new ea([this,"positionOffset"],"坐标偏移"),new ea([this,"rotationOffset"],"旋转偏移"),new pt([this,"actorTag"]),new pt([this,"widgetClass"]),new pt([this,"socketName"]),new ut([],"czm","czm"),new M([this,"opacity"],"透明度",Gs.defaults.opacity,!0)]}}};d(Gs,"createDefaultProps",()=>({...ir.createDefaultProps(),info:_t({title:"标题示例",内容:"内容示例"}),widgetClass:"WidgetBlueprint'/EarthSDKForUE/Widget/WBP_ES_DefaultInfo.WBP_ES_DefaultInfo'",actorTag:"",socketName:"",positionOffset:dt([0,0,0]),rotationOffset:dt([0,0,0]),opacity:1})),d(Gs,"type",Gs.register("ESWidget",Gs,{chsName:"部件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ES组件"}));let Ef=Gs;const Lo=class Lo extends Pt{constructor(t){super(t);d(this,"_direction",this.disposeVar(V(0)));d(this,"editingBindMode","doublePoints");{const n=()=>{this.direction=this.points&&this.points.length>=2?na(ku(this.points[0],this.points[1])):0};n(),this.ad(this.pointsChanged.don(n))}}get direction(){return this._direction.value}set direction(t){this._direction.value=t}get directionChanged(){return this._direction.changed}};d(Lo,"createDefaultProps",()=>({...Pt.createDefaultProps(),stroked:!0,strokeStyle:_t({width:10,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Lo,"type",Lo.register("ESDirectionMeasurement",Lo,{chsName:"方位角测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"方位角测量"})),d(Lo,"supportEditingModes",[...Pt.supportEditingModes,et.Rotation,et.Scale,et.DoublePointsAppend,et.DoublePointsModify]);let Cf=Lo;const vy=`// dataSource
324
+ \`\`\``,Gs=class Gs extends ir{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new it([this,"info"],"信息",Gs.defaults.info,MS,!0)],more:[...e.more,new ut([],"通用","通用"),new ut([],"ue","ue"),new ea([this,"positionOffset"],"坐标偏移"),new ea([this,"rotationOffset"],"旋转偏移"),new pt([this,"actorTag"]),new pt([this,"widgetClass"]),new pt([this,"socketName"]),new ut([],"czm","czm"),new M([this,"opacity"],"透明度",Gs.defaults.opacity,!0)]}}};d(Gs,"createDefaultProps",()=>({...ir.createDefaultProps(),info:_t({title:"标题示例",内容:"内容示例"}),widgetClass:"WidgetBlueprint'/EarthSDKForUE/Widget/WBP_ES_DefaultInfo.WBP_ES_DefaultInfo'",actorTag:"",socketName:"",positionOffset:dt([0,0,0]),rotationOffset:dt([0,0,0]),opacity:1})),d(Gs,"type",Gs.register("ESWidget",Gs,{chsName:"部件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ES组件"}));let Ef=Gs;const Lo=class Lo extends Pt{constructor(t){super(t);d(this,"_direction",this.disposeVar(B(0)));d(this,"editingBindMode","doublePoints");{const n=()=>{this.direction=this.points&&this.points.length>=2?na(ku(this.points[0],this.points[1])):0};n(),this.ad(this.pointsChanged.don(n))}}get direction(){return this._direction.value}set direction(t){this._direction.value=t}get directionChanged(){return this._direction.changed}};d(Lo,"createDefaultProps",()=>({...Pt.createDefaultProps(),stroked:!0,strokeStyle:_t({width:10,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Lo,"type",Lo.register("ESDirectionMeasurement",Lo,{chsName:"方位角测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"方位角测量"})),d(Lo,"supportEditingModes",[...Pt.supportEditingModes,et.Rotation,et.Scale,et.DoublePointsAppend,et.DoublePointsModify]);let Cf=Lo;const vy=`// dataSource
325
325
  (dataSource) => {
326
326
  if (dataSource) {
327
327
  dataSource.show = true;
@@ -347,11 +347,11 @@ export type ESJTimeIntervalCollectionJsonType = {
347
347
  }
348
348
  }
349
349
  }
350
- `,DS=`示例代码
350
+ `,RS=`示例代码
351
351
  \`\`\`
352
352
  ${vy}
353
353
  \`\`\`
354
- `,MS="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",St=class St extends Wt{constructor(t){super(t);d(this,"_flyToFeatureEvent",this.dv(new N));d(this,"_flyToFeatureIndexEvent",this.dv(new N));d(this,"_features",this.disposeVar(Zt(void 0)));d(this,"pickedInfoType","FeatureCollection");d(this,"abortController");this._updateUrl(),this.ad(this.urlChanged.don(()=>{this._updateUrl()})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(t,n,i){this._flyToFeatureEvent.emit(t,n,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(t,n){this._flyToFeatureIndexEvent.emit(t,n)}get features(){return this._features.value}set features(t){this._features.value=t}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}async _updateUrl(){var n;this.abortController&&this.abortController.abort(),this.abortController=new AbortController;const t=this.abortController.signal;if(!this.url){this.features=void 0;return}typeof this.url=="object"?this.features=this.url:zh(this.url)?this.features=JSON.parse(this.url):await fetch(rt.context.getStrFromEnv(this.url),{signal:t}).then(i=>i.json()).then(i=>{this.features=i}).catch(i=>{i.name!="AbortError"&&console.warn("ESGeoJson数据加载失败",i)}),this.pickedInfoType=((n=this.features)==null?void 0:n.type)??"FeatureCollection"}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",dataSource:[...t.dataSource,new it([this,"url"],"服务地址",St.defaults.url),new M([this,"minFeatureVisibleDistance"],"要素最小可视距离",St.defaults.minFeatureVisibleDistance),new M([this,"maxFeatureVisibleDistance"],"要素最大可视距离",St.defaults.maxFeatureVisibleDistance),new bt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考"),new bt([this,"classificationType"],St.classificationTypes,"贴地附着目标",St.defaults.classificationType),new M([this,"zIndex"],"层级排序",St.defaults.zIndex)],style:[...t.style,new ut([],"点样式集合"),new X([this,"textShow"],"是否显示",St.defaults.textShow),new Fe([this,"textAnchor"],"锚点",St.defaults.anchor),new pt([this,"textProperty"],"标注显示属性",St.defaults.textStyle.textProperty),new pt([this,"textDefaultText"],"默认文本",St.defaults.textStyle.defaultText),new Dt([this,"textColor"],"文本颜色",St.defaults.textStyle.color),new Dt([this,"textBackgroundColor"],"文本背景颜色",St.defaults.textStyle.backgroundColor),new pt([this,"textFontStyle"],"字体样式",St.defaults.textStyle.fontStyle),new pt([this,"textFontWeight"],"字体粗细",St.defaults.textStyle.fontWeight),new M([this,"textFontSize"],"字体大小",St.defaults.textStyle.fontSize),new Fe([this,"textOffset"],"像素偏移",St.defaults.textStyle.offset),new ut([],"点图片样式集合"),new X([this,"imageShow"],"是否显示",St.defaults.imageShow),new Fe([this,"imageAnchor"],"锚点",St.defaults.imageStyle.anchor),new it([this,"imageUrl"],"图片地址",St.defaults.imageStyle.url),new Fe([this,"imageSize"],"图片大小",St.defaults.imageStyle.size),new Fe([this,"imageOffset"],"像素偏移",St.defaults.imageStyle.offset),new ut([],"线样式集合"),new X([this,"stroked"],"是否显示",St.defaults.stroked),new X([this,"strokeGround"],"贴地",St.defaults.strokeStyle.ground),new M([this,"strokeWidth"],"线宽",St.defaults.strokeStyle.width),new bt([this,"strokeWidthType"],St.strokeStyleWidthTypes,"线宽类型"),new Dt([this,"strokeColor"],"线颜色",St.defaults.strokeStyle.color),new pt([this,"strokeMaterial"],"线材质",St.defaults.strokeStyle.material),new it([this,"strokeMaterialParams"],"线材质参数",St.defaults.strokeStyle.materialParams),new ut([],"面样式集合"),new X([this,"filled"],"是否显示",St.defaults.filled),new X([this,"fillGround"],"贴地",St.defaults.fillStyle.ground),new Dt([this,"fillColor"],"填充颜色",St.defaults.fillStyle.color),new pt([this,"fillMaterial"],"填充材质",St.defaults.fillStyle.material),new it([this,"fillMaterialParams"],"填充材质参数",St.defaults.fillStyle.materialParams)],more:[...t.more,new ut([],"标注文本样式"),new pt([this,"textFontFamily"],"字体",St.defaults.textStyle.fontFamily),new M([this,"zOrder"],"点排序优先级",St.defaults.zOrder),new ut([],"通用"),new ys([this,"loadFuncStr"],"loadFnStr",vy,DS,!0)]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(t){this.textStyle={...this.textStyle,textProperty:t}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(t){this.textStyle={...this.textStyle,defaultText:t}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(t){this.textStyle={...this.textStyle,color:t}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(t){this.textStyle={...this.textStyle,backgroundColor:t}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(t){this.textStyle={...this.textStyle,fontFamily:t}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(t){this.textStyle={...this.textStyle,fontStyle:t}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(t){this.textStyle={...this.textStyle,fontWeight:t}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(t){this.textStyle={...this.textStyle,fontSize:t}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(t){this.textStyle={...this.textStyle,anchor:t}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(t){this.textStyle={...this.textStyle,offset:t}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(t){this.imageStyle={...this.imageStyle,url:t}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(t){this.imageStyle={...this.imageStyle,size:t}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(t){this.imageStyle={...this.imageStyle,anchor:t}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(t){this.imageStyle={...this.imageStyle,offset:t}}get imageOffsetChanged(){return this.imageStyleChanged}};d(St,"createDefaultProps",()=>({...Wt.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:MS,stroked:!0,strokeStyle:_t({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:_t({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:_t({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:_t({textProperty:"",defaultText:"默认标注",color:[1,1,1,1],backgroundColor:void 0,fontFamily:"Arial",fontSize:16,fontStyle:"normal",fontWeight:"normal",anchor:[0,1],offset:[16,-8]}),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE",classificationType:"TERRAIN",zIndex:0})),d(St,"type",St.register("ESGeoJson",St,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),d(St,"strokeStyleWidthTypes",[["screen","screen"],["world","world"]]),d(St,"classificationTypes",[["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]]);let pl=St;const Fo=class Fo extends Pt{constructor(t){super(t);d(this,"editingBindMode","doublePoints");d(this,"_height",this.disposeVar(V(0)));{const n=()=>{this.height=this.points&&this.points.length>=2?this.points[1][2]-this.points[0][2]:0};n(),this.ad(this.pointsChanged.don(n))}}get height(){return this._height.value}set height(t){this._height.value=t}get heightChanged(){return this._height.changed}};d(Fo,"createDefaultProps",()=>({...Pt.createDefaultProps(),stroked:!0,strokeStyle:_t({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Fo,"type",Fo.register("ESHeightMeasurement",Fo,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),d(Fo,"supportEditingModes",[...Pt.supportEditingModes,et.DoublePointsAppend,et.DoublePointsModify]);let Sf=Fo;const tu=class tu extends ss{constructor(t){super(t);d(this,"_area",this.dv(V(0)));d(this,"_perimeter",this.dv(V(0)));d(this,"editingBindMode","doublePoints");const n=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};n(),this.d(this.radiusChanged.don(n))}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}toPolygon(t=10,n){return Xv([...this.position],this.radius,t,n)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",basic:[...t.basic,new M([this,"radius"],"圆半径",1,!0)],coordinate:[...t.coordinate,new X([this,"editing"],"是否编辑"),new ea([this,"position"],"三维坐标",[0,0,0],!0),new M([this,"area"],"面积",0,!1,!0),new M([this,"perimeter"],"周长",0,!1,!0)]}}};d(tu,"createDefaultProps",()=>({...ss.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:_t({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),d(tu,"type",tu.register("ESLocalCircle",tu,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let bf=tu;const eu=class eu extends ss{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new Ig([this,"points"],"坐标",[])]}}};d(eu,"createDefaultProps",()=>({...ss.createDefaultProps(),points:Ud([]),filled:!0})),d(eu,"type",eu.register("ESLocalPolygon",eu,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let gl=eu;const nu=class nu extends Fa{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new Vh([this,"points"],"本地位置数组")]}}};d(nu,"createDefaultProps",()=>({...Fa.createDefaultProps(),points:xl(void 0),filled:!0})),d(nu,"type",nu.register("ESLocalPolygonZ",nu,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let Pf=nu;const ru=class ru extends ss{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"width"],"宽度"),new M([this,"height"],"高度")]}}};d(ru,"createDefaultProps",()=>({...ss.createDefaultProps(),width:5e5,height:3e5,filled:!0})),d(ru,"type",ru.register("ESLocalRectangle",ru,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let If=ru;const Mi=class Mi extends Pt{constructor(t){super(t);d(this,"editingBindMode","lineString");d(this,"_distance",this.dv(V(0)));d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());const n=()=>{if(this.points&&this.points.length>=2){const i=cl(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};n(),this.d(this.pointsChanged.don(n))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new M([this,"height"],"高度",10),new M([this,"width"],"宽度",10),new bt([this,"materialMode"],Mi.materialModes,"模式",Mi.defaults.materialMode)],coordinate:[...t.coordinate,new M([this,"distance"],"距离",0,!1,!0)]}}};d(Mi,"createDefaultProps",()=>({...Pt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:_t({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),d(Mi,"type",Mi.register("ESPipeFence",Mi,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),d(Mi,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","color"]]),d(Mi,"supportEditingModes",[...Pt.supportEditingModes,et.LineStringAppend,et.LineStringInsert]);let Uc=Mi;const us=class us extends Pr{constructor(t){super(t);d(this,"_setLayerVisibleEvent",this.dv(new N));d(this,"_setLayerColorEvent",this.dv(new N))}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(t,n){this._setLayerVisibleEvent.emit(t,n)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(t,n){this._setLayerColorEvent.emit(t,n)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"ESPipeserTileset"),new lt(["string","string"],(n,i)=>this.setLayerVisible(n,i),["",""],"setLayerVisible"),new lt(["string","string"],(n,i)=>this.setLayerColor(n,i),["",""],"setLayerColor"),new bt([this,"colorMode"],us.colorModes,"colorMode",us.defaults.colorMode,!0)]}}};d(us,"createDefaultProps",()=>({...Pr.createDefaultProps(),colorMode:"default"})),d(us,"type",us.register("ESPipeserTileset",us,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),d(us,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let xf=us;const ls=class ls extends Pt{constructor(t){super(t);d(this,"editingBindMode","circular")}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",coordinate:[...t.coordinate,new M([this,"area"],"面积",0,!1,!0),new M([this,"perimeter"],"周长",0,!1,!0)],basic:[...t.basic,new M([this,"height"],"高度",10),new bt([this,"materialMode"],ls.materialModes,"模式","danger")]}}};d(ls,"createDefaultProps",()=>({...Pt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),d(ls,"type",ls.register("ESPolygonFence",ls,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),d(ls,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),d(ls,"supportEditingModes",[...Pt.supportEditingModes,et.CircularAppend,et.CircularInsert,et.HeightModify]);let Gc=ls;const Ws=class Ws extends Pt{constructor(t){super(t);d(this,"_deprecated",["ground"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());d(this,"editingBindMode","doublePoints")}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"通用","通用"),new X([this,"ground"],"是否贴地"),new X([this,"outlineTranslucent"],"轮廓线半透明"),new M([this,"height"],"高度"),new M([this,"extrudedHeight"],"拉伸高度"),new Rr([this,"rectangle"],"范围",Ws.defaults.rectangle,!0),new M([this,"stRotation"],"纹理旋转角度"),new M([this,"rotation"],"旋转角度"),new X([this,"pointEditing"],"是否单点编辑")]}}};d(Ws,"createDefaultProps",()=>({...Pt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:ne(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),d(Ws,"type",Ws.register("ESRectangle",Ws,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),d(Ws,"supportEditingModes",[...Pt.supportEditingModes,et.DoublePointsAppend,et.DoublePointsModify]);let Tf=Ws;const iu=class iu extends qt{getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new it([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};d(iu,"createDefaultProps",()=>({...qt.createDefaultProps(),innerRings:Ep([])})),d(iu,"type",iu.register("ESPolygonWithHole",iu,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let Nf=iu;const Hs=class Hs extends qt{constructor(t){super(t);d(this,"_startEvent",this.disposeVar(new N));d(this,"_stopEvent",this.dv(new N));d(this,"_surfaceArea",this.disposeVar(V(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}get surfaceArea(){return this._surfaceArea.value}set surfaceArea(t){this._surfaceArea.value=t}get surfaceChanged(){return this._surfaceArea.changed}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"表面积测量","表面积测量"),new lt([],()=>this.start(),[],"开始计算"),new M([this,"interpolation"],"插值距离",Hs.defaults.interpolation),new M([this,"offsetHeight"],"偏移高度",Hs.defaults.offsetHeight)]}}};d(Hs,"createDefaultProps",()=>({...qt.createDefaultProps(),interpolation:.5,offsetHeight:0,units:dt(["SquareMeter_SquareKilometer","MU_Hectare"]),fillStyle:_t({color:[1,1,1,.5],material:"",materialParams:{},ground:!0})})),d(Hs,"type",Hs.register("ESSurfaceAreaMeasurement",Hs,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let Of=Hs;const qs=class qs extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"downloadProgress"],"下载进度",qs.defaults.downloadProgress,!0,!0),new it([this,"importOptions"],"导入参数",qs.defaults.importOptions,void 0,!0)],dataSource:[...e.dataSource,new it([this,"url"],"路径")]}}};d(qs,"createDefaultProps",()=>({...st.createDefaultProps(),url:"",importOptions:Zt({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),d(qs,"type",qs.register("ESDatasmithRuntimeModel",qs,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let Df=qs;const _n=class _n extends gl{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",_n.defaults.waterType),new M([this,"frequency"],"频率",_n.defaults.frequency),new ze([this,"amplitude"],.01,[0,1],"振幅",_n.defaults.amplitude),new ze([this,"flowDirection"],1,[0,360],"流向",_n.defaults.flowDirection),new ze([this,"waveVelocity"],.01,[0,1],"波动频率",_n.defaults.waveVelocity),new ze([this,"specularIntensity"],.01,[0,1],"镜面反射强度",_n.defaults.specularIntensity),new ze([this,"murkiness"],.1,[0,10],"水体浑浊度",_n.defaults.murkiness),new M([this,"flowSpeed"],"水流速度",_n.defaults.flowSpeed),new Dt([this,"waterColor"],"水的底色",_n.defaults.waterColor),new it([this,"waterImage"],"水的图片",_n.defaults.waterImage)]}}};d(_n,"createDefaultProps",()=>({...gl.createDefaultProps(),allowPicking:!0,waterImage:Zt(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5,stroked:!1,filled:!0})),d(_n,"type",_n.register("ESDynamicWater",_n,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let Mf=_n;const wn=class wn extends qt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new bt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",wn.defaults.waterType),new M([this,"frequency"],"频率",wn.defaults.frequency),new ze([this,"amplitude"],.01,[0,1],"振幅",wn.defaults.amplitude),new ze([this,"flowDirection"],1,[0,360],"流向",wn.defaults.flowDirection),new ze([this,"waveVelocity"],.01,[0,1],"波动频率",wn.defaults.waveVelocity),new ze([this,"specularIntensity"],.01,[0,1],"镜面反射强度",wn.defaults.specularIntensity),new ze([this,"murkiness"],.1,[0,10],"水体浑浊度",wn.defaults.murkiness),new M([this,"flowSpeed"],"水流速度",wn.defaults.flowSpeed),new Dt([this,"waterColor"],"水的底色",wn.defaults.waterColor),new it([this,"waterImage"],"水的图片",wn.defaults.waterImage)]}}};d(wn,"createDefaultProps",()=>({...qt.createDefaultProps(),allowPicking:!0,waterImage:Zt({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})),d(wn,"type",wn.register("ESGeoWater",wn,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let Rf=wn;const Ao=class Ao extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"downloadProgress"],"下载进度",Ao.defaults.downloadProgress,!0,!0),new pt([this,"levelName"],"levelName",""),new M([this,"levelLoadDistance"],"levelLoadDistance",1e3),new un([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...e.dataSource,new it([this,"url"],"url","")]}}};d(Ao,"createDefaultProps",()=>({...st.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:dt([0,0,0]),levelLoadDistance:1e3})),d(Ao,"type",Ao.register("ESLevelRuntimeModel",Ao,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let Lf=Ao;const sr=class sr extends xi{constructor(t){super(t);d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})())}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new M([this,"radius"],"半径",sr.defaults.radius),new M([this,"sides"],"圆边数",sr.defaults.sides),new M([this,"speed"],"材质速度",sr.defaults.speed),new bt([this,"materialMode"],sr.materialModes,"材质模式",sr.defaults.materialMode),new it([this,"materialImage"],"材质图片和重复度",sr.defaults.materialImage)]}}};d(sr,"createDefaultProps",()=>({...xi.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:_t({url:"",uDis:50,vDis:10}),speed:1,filled:!0,stroked:!1,fillStyle:_t({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),d(sr,"type",sr.register("ESPipeline",sr,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),d(sr,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let Ff=sr;const Ri=class Ri extends Pt{constructor(t){super(t);d(this,"editingBindMode","visibility")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Dt([this,"visibleColor"],"可视区域颜色",Ri.defaults.visibleColor),new Dt([this,"invisibleColor"],"遮挡区域颜色",Ri.defaults.invisibleColor),new M([this,"heightOffset"],"视点高度偏移",Ri.defaults.heightOffset)]}}};d(Ri,"createDefaultProps",()=>({...Pt.createDefaultProps(),visibleColor:dt([0,1,0,1]),invisibleColor:dt([1,0,0,1]),heightOffset:0})),d(Ri,"type",Ri.register("ESVisibilityAnalysis",Ri,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),d(Ri,"supportEditingModes",[...Pt.supportEditingModes,et.VisibilityAppend,et.VisibilityModify]);let Af=Ri;const su=class su extends qt{constructor(t){super(t);d(this,"_startEvent",this.dv(new N));d(this,"_clearEvent",this.dv(new N));d(this,"_volume",this.disposeVar(V(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get volume(){return this._volume.value}set volume(t){this._volume.value=t}get volumeChanged(){return this._volume.changed}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"通用","通用"),new M([this,"planeHeight"],"基准面高程",void 0,!0),new M([this,"gridWidth"],"采样间距 m"),new M([this,"cutVolume"],"挖方",0,!1,!0),new M([this,"fillVolume"],"填方",0,!1,!0),new M([this,"cutAndFillVolume"],"挖填方",0,!1,!0),new M([this,"progress"],"计算进度",0,!1,!0),new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.clear(),[],"清空分析结果"),new X([this,"depthTest"],"是否开启深度检测")]}}};d(su,"createDefaultProps",()=>({...qt.createDefaultProps(),planeHeight:V(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,filled:!1,stroked:!0,strokeStyle:_t({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(su,"type",su.register("ESVolumeMeasurement",su,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let kf=su;const ou=class ou extends Co{constructor(t){super(t);d(this,"_human",this.dv(new Co));d(this,"_poi",this.dv(new fl));this.d(this.components.disposableAdd(this._human,!0)),this.d(this.components.disposableAdd(this._poi));{const{_human:n,_poi:i}=this;this.d(j([n,"show"],[this,"show"])),this.d(j([i,"show"],[this,"show"])),this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([i,"allowPicking"],[this,"allowPicking"])),this.d(nt([n,"scale"],[this,"scale"])),this.d(nt([i,"scale"],[this,"scale"])),this.d(j([n,"collision"],[this,"collision"])),this.d(j([i,"collision"],[this,"collision"])),this.d(nt([n,"flyInParam"],[this,"flyInParam"])),this.d(nt([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"animation"],[this,"animation"])),this.d(j([n,"mode"],[this,"mode"])),this.d(j([n,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(j([n,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(j([i,"name"],[this,"name"])),this.d(j([i,"mode"],[this,"poiMode"])),this.d(j([i,"autoAnchor"],[this,"autoAnchor"])),this.d(j([i,"screenRender"],[this,"screenRender"])),this.d(j([i,"size"],[this,"size"])),this.d(j([i,"anchor"],[this,"anchor"])),this.d(j([i,"sizeByContent"],[this,"sizeByContent"])),this.d(j([i,"renderMode"],[this,"renderMode"])),this.d(j([i,"rotationType"],[this,"rotationType"])),this.d(j([i,"zOrder"],[this,"zOrder"])),this.d(j([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(j([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(nt([n,"position"],[this,"position"])),this.d(nt([n,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{n.flyIn(s)})),this.d(this.flyToEvent.don(s=>{n.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{n.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{n.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{n.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{n.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,u)=>{n.smoothMoveOnGround(s,o,a,u)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,u,l)=>{n.smoothMoveWithRotationOnGround(s,o,a,u,l)})),this.d(this.automaticLandingEvent.don(()=>{n.automaticLanding()})),this.d(this._human.readyEvent.don(s=>{this.readyEvent.emit(s)}))}}get human(){return this._human}get poi(){return this._poi}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"poiMode"],fl.modes,"poi模式","SquareH01"),new M([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};d(ou,"createDefaultProps",()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:_t({}),autoAnchor:!0,screenRender:!0,size:dt([100,100]),anchor:dt([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...Co.createDefaultProps()})),d(ou,"type",ou.register("ESHumanPoi",ou,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let Vf=ou;const ui=class ui extends qt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"depth"],"深度",ui.defaults.depth),new M([this,"interpolation"],"插值",ui.defaults.interpolation),new M([this,"opacity"],"透明度",ui.defaults.opacity),new it([this,"sideImage"],"侧面图片",ui.defaults.sideImage),new it([this,"bottomImage"],"底面图片",ui.defaults.bottomImage)]}}};d(ui,"createDefaultProps",()=>({...qt.createDefaultProps(),depth:100,sideImage:_t({url:rt.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:_t({url:rt.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50}),opacity:1,interpolation:50,collision:!1,allowPicking:!1,filled:!0})),d(ui,"type",ui.register("ESPit",ui,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let ka=ui;const au=class au extends ka{constructor(t){super(t);d(this,"_excavate",this.dv(new dl));d(this,"_pit",this.dv(new ka));this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit,!0));{const{_excavate:n,_pit:i}=this;this.d(j([n,"show"],[this,"show"])),this.d(j([i,"show"],[this,"show"])),this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([i,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d(j([i,"collision"],[this,"collision"])),this.d(nt([i,"points"],[this,"points"])),this.d(j([n,"points"],[this,"points"])),this.d(j([i,"pointed"],[this,"pointed"])),this.d(j([n,"pointed"],[this,"pointed"])),this.d(j([i,"pointStyle"],[this,"pointStyle"])),this.d(j([n,"pointStyle"],[this,"pointStyle"])),this.d(j([i,"stroked"],[this,"stroked"])),this.d(j([n,"stroked"],[this,"stroked"])),this.d(j([i,"strokeStyle"],[this,"strokeStyle"])),this.d(j([n,"strokeStyle"],[this,"strokeStyle"])),this.d(j([i,"filled"],[this,"filled"])),this.d(j([i,"fillStyle"],[this,"fillStyle"])),this.d(j([n,"fillStyle"],[this,"fillStyle"])),this.d(j([n,"mode"],[this,"mode"])),this.d(j([n,"targetID"],[this,"targetID"])),this.d(j([i,"depth"],[this,"depth"])),this.d(j([i,"sideImage"],[this,"sideImage"])),this.d(j([i,"bottomImage"],[this,"bottomImage"])),this.d(j([i,"opacity"],[this,"opacity"])),this.d(j([i,"interpolation"],[this,"interpolation"])),this.d(nt([i,"flyInParam"],[this,"flyInParam"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get excavate(){return this._excavate}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"mode"],dl.modes,"模式","in"),new pt([this,"targetID"],"瓦片图层","")]}}};d(au,"createDefaultProps",()=>({...ka.createDefaultProps(),mode:"in",targetID:""})),d(au,"type",au.register("ESHole",au,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let Bf=au;const jf={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},RS=async(r,e,t,n)=>{try{const i=globalThis.localStorage.getItem("Authorization");let s=r+`${jf.layerconfigfind}?tileServiceName=${e}`;t&&(s+=`&earthdstoken=${encodeURIComponent(n)}`);const o={headers:{...!t&&i?{Authorization:i}:{}},mode:"cors"},u=await(await fetch(s,o)).text();return JSON.parse(u)}catch(i){console.error(i)}},LS=async(r,e,t,n,i)=>{try{const s=globalThis.localStorage.getItem("Authorization");let o=r+jf.layerconfigsave;const a=i??{};t&&(o+=`?earthdstoken=${encodeURIComponent(n)}`);const u={method:"POST",headers:{"Content-Type":"application/json",...!t&&s?{Authorization:s}:{}},mode:"cors",body:JSON.stringify({tileServiceName:e,layerConfig:JSON.stringify(a)})},c=await(await fetch(o,u)).text();return JSON.parse(c)}catch(s){console.error(s)}},FS=async(r,e,t)=>{try{const n=globalThis.localStorage.getItem("Authorization");let i=r;e&&(i+=`?earthdstoken=${encodeURIComponent(t)}`);const s={headers:{...!e&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},AS=async(r,e,t,n,i)=>{try{const s={tileServiceName:e,featureId:t},o=globalThis.localStorage.getItem("Authorization");let a=r+jf.featureproperty;n&&(a+=`?earthdstoken=${encodeURIComponent(i)}`);const l=await(await fetch(a,{method:"post",headers:{"Content-Type":"application/json",...!n&&o?{Authorization:o}:{}},body:JSON.stringify(s),mode:"cors"})).text(),c=JSON.parse(l);if(c.status=="ok")return c.data;console.error(c.data.status);return}catch(s){console.error(s)}},uu=class uu extends Pr{constructor(t){super(t);d(this,"_es3DTileset",this.dv(new Pr));d(this,"_ids",this.dv(_t([])));d(this,"_useEarthDSToken",this.dv(V(!1)));d(this,"_earthdstoken",this.dv(V("")));d(this,"_visJson",this.disposeVar(V({})));d(this,"_highlightInner3DtilesetEvent",this.dv(new N));d(this,"_removeHighlightInner3DtilesetEvent",this.dv(new N));d(this,"_tilesetServePort",this.dv(V("")));{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ts01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const n=this._es3DTileset;this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d(nt([n,"flyToParam"],[this,"flyToParam"])),this.d(nt([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"actorTag"],[this,"actorTag"])),this.d(j([n,"materialMode"],[this,"materialMode"])),this.d(j([n,"highlight"],[this,"highlight"])),this.d(j([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(j([n,"highlightID"],[this,"highlightID"])),this.d(j([n,"highlightColor"],[this,"highlightColor"])),this.d(nt([n,"offset"],[this,"offset"])),this.d(nt([n,"rotation"],[this,"rotation"])),this.d(j([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(j([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(j([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(j([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(j([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(j([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(j([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(j([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(j([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(j([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(j([n,"cacheBytes"],[this,"cacheBytes"])),this.d(j([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(j([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(j([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(j([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(j([n,"materialParams"],[this,"materialParams"])),this.d(nt([n,"supportEdit"],[this,"supportEdit"])),this.d(nt([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(nt([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(nt([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(nt([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(nt([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(nt([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.setFeatureStyleEvent.don((...i)=>{n.setFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(t){this._ids.value=t}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(t){this._useEarthDSToken.value=t}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(t){this._earthdstoken.value=t}get visJson(){return this._visJson.value}set visJson(t){this._visJson.value=t}get visJsonChanged(){return this._visJson.changed}setFeatureVisable(t,n){var i;if((i=this.layerConfig)!=null&&i.length){const s={};s[n[0].value]=n[0].visable,this.visJson={...this.visJson,...s}}else this.setFeatureVisableEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}async getFeatureProperty(t){return await AS(this.baseUrl,this.tileServiceName,t,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const t=await RS(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken);return!t||!Array.isArray(t)?this.layerConfig=[]:this.layerConfig=t,this.layerConfig}async saveLayerConfig(){const t=this.layerConfig;return await LS(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken,t)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(t){this._highlightInner3DtilesetEvent.emit(t)}async highlightDSFeature(t){this._highlightInner3Dtileset(t)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(t){this._removeHighlightInner3DtilesetEvent.emit(t)}async removeHighlightDSFeature(t){this._removeHighlightInner3Dtileset(t)}async pickFeature(t,n){var a,u,l;const i=await t.pick(n),s=i.sceneObject;return!s||s.id!==this.id&&s.typeName!="ESRtsFeatureEditing"?void 0:s.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=i==null?void 0:i.tilesetPickInfo)==null?void 0:a.id],{featureId:(u=i==null?void 0:i.tilesetPickInfo)==null?void 0:u.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}):{featureId:(l=i==null?void 0:i.sceneObject)==null?void 0:l.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await FS(this.url,this.useEarthDSToken,this.earthdstoken);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var n;if(!this.url||typeof this.url!="string")return;const t=+new Date;if(this.isSameIP){const i=(n=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:n[0];this._es3DTileset.url=`${i}/ts/tiles/${this.tileServiceName}/tileset.json?t=${t}`}else{const i=this.tileServiceIp,s=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${i}:${s}/tiles/tileset.json?t=${t}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new it([this,"layerConfig"],"图层配置",[],void 0,!0)]}}};d(uu,"createDefaultProps",()=>({...Pr.createDefaultProps(),layerConfig:Zt([]),isSameIP:!1})),d(uu,"type",uu.register("ESRtsTileset",uu,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let zf=uu;function kS(r){return typeof r=="number"&&!isNaN(r)}const lu=class lu extends Pr{get json(){return{...this._innerGetJson(),show:this.show,materials:this.materials,changeMaterial:this.changeMaterial,props:this.props,rotation:this.rotation,offset:this.offset}}set json(e){this._innerSetJson(e)}async init(e,t){var i;this.featureId=t;const n=await e.getFeatureProperty(t);if(this.uiShowprops=n.allFields.map(s=>({featureClassName:s.featureClassName,fields:s.fields.map(o=>({key:o.name,type:o.type,value:o.type!="Double"?o.value:kS(o.value)?Number(o.value.toFixed(3)):""}))})),this.datasetName=n.datasetName,e.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{e.setFeatureVisable("id",[{value:this.featureId,visable:!0}])}),e.isSameIP){const s=(i=e.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:i[0],o=e.tileServiceName;this.url=`${s}/ts/featuretiles/${o}/${this.featureId}/tileset.json`}else{const s=e.tileServiceIp,o=e.tilesetServePort;if(!o)throw new Error("ESRtsFeatureEditing2: port is not defined");this.url=`${s}:${o}/featuretiles/${this.featureId}/tileset.json`}this.allowPicking=!0,this.d(this.pickedEvent.don(s=>{s.assign({sceneObject:e}),e.pickedEvent.emit(s)})),this.d(()=>{this.editing=!1,e.removeHighlightDSFeature(this)})}constructor(e){super(e)}};d(lu,"createDefaultProps",()=>({...Pr.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:_t({}),changeMaterial:Zt(void 0),uiShowprops:_t({}),props:_t({})})),d(lu,"type",lu.register("ESRtsFeatureEditing",lu,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Uf=lu;const VS=async(r,e,t)=>{try{const n=globalThis.localStorage.getItem("Authorization");let i=r;e&&(i+=`?earthdstoken=${encodeURIComponent(t)}`);const s={headers:{...!e&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},Sl=class Sl extends Pr{constructor(t){super(t);d(this,"_es3DTileset",this.dv(new Pr));d(this,"_tilesetServePort",this.dv(V("")));d(this,"_useEarthDSToken",this.dv(V(!1)));d(this,"_earthdstoken",this.dv(V("")));{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ms01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const n=this._es3DTileset;this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d(nt([n,"flyToParam"],[this,"flyToParam"])),this.d(nt([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"actorTag"],[this,"actorTag"])),this.d(j([n,"materialMode"],[this,"materialMode"])),this.d(j([n,"highlight"],[this,"highlight"])),this.d(j([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(j([n,"highlightID"],[this,"highlightID"])),this.d(j([n,"highlightColor"],[this,"highlightColor"])),this.d(nt([n,"offset"],[this,"offset"])),this.d(nt([n,"rotation"],[this,"rotation"])),this.d(j([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(j([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(j([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(j([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(j([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(j([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(j([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(j([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(j([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(j([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(j([n,"cacheBytes"],[this,"cacheBytes"])),this.d(j([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(j([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(j([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(j([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(j([n,"materialParams"],[this,"materialParams"])),this.d(nt([n,"supportEdit"],[this,"supportEdit"])),this.d(nt([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(nt([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(nt([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(nt([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(nt([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(nt([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(t){this._useEarthDSToken.value=t}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(t){this._earthdstoken.value=t}async getport(){const t=await VS(this.url,this.useEarthDSToken,this.earthdstoken);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(t){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}};d(Sl,"type",Sl.register("ESMsTileset",Sl,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Gf=Sl;const yy={defaultValue:[{type:"2",widget:"WidgetBlueprint'/ESFoliage/PoiSheng.PoiSheng'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"3",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"4",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"5",widget:"WidgetBlueprint'/ESFoliage/PoiXiang.PoiXiang'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"6",widget:"WidgetBlueprint'/ESFoliage/PoiCun.PoiCun'",povit:[.5,1],worldScale:.1,hiddenDistance:40}],sampleValue:`
354
+ `,LS="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",St=class St extends Wt{constructor(t){super(t);d(this,"_flyToFeatureEvent",this.dv(new N));d(this,"_flyToFeatureIndexEvent",this.dv(new N));d(this,"_features",this.disposeVar(Zt(void 0)));d(this,"pickedInfoType","FeatureCollection");d(this,"abortController");this._updateUrl(),this.ad(this.urlChanged.don(()=>{this._updateUrl()})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(t,n,i){this._flyToFeatureEvent.emit(t,n,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(t,n){this._flyToFeatureIndexEvent.emit(t,n)}get features(){return this._features.value}set features(t){this._features.value=t}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}async _updateUrl(){var n;this.abortController&&this.abortController.abort(),this.abortController=new AbortController;const t=this.abortController.signal;if(!this.url){this.features=void 0;return}typeof this.url=="object"?this.features=this.url:zh(this.url)?this.features=JSON.parse(this.url):await fetch(rt.context.getStrFromEnv(this.url),{signal:t}).then(i=>i.json()).then(i=>{this.features=i}).catch(i=>{i.name!="AbortError"&&console.warn("ESGeoJson数据加载失败",i)}),this.pickedInfoType=((n=this.features)==null?void 0:n.type)??"FeatureCollection"}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",dataSource:[...t.dataSource,new it([this,"url"],"服务地址",St.defaults.url),new M([this,"minFeatureVisibleDistance"],"要素最小可视距离",St.defaults.minFeatureVisibleDistance),new M([this,"maxFeatureVisibleDistance"],"要素最大可视距离",St.defaults.maxFeatureVisibleDistance),new bt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考"),new bt([this,"classificationType"],St.classificationTypes,"贴地附着目标",St.defaults.classificationType),new M([this,"zIndex"],"层级排序",St.defaults.zIndex)],style:[...t.style,new ut([],"点样式集合"),new X([this,"textShow"],"是否显示",St.defaults.textShow),new Fe([this,"textAnchor"],"锚点",St.defaults.anchor),new pt([this,"textProperty"],"标注显示属性",St.defaults.textStyle.textProperty),new pt([this,"textDefaultText"],"默认文本",St.defaults.textStyle.defaultText),new Dt([this,"textColor"],"文本颜色",St.defaults.textStyle.color),new Dt([this,"textBackgroundColor"],"文本背景颜色",St.defaults.textStyle.backgroundColor),new pt([this,"textFontStyle"],"字体样式",St.defaults.textStyle.fontStyle),new pt([this,"textFontWeight"],"字体粗细",St.defaults.textStyle.fontWeight),new M([this,"textFontSize"],"字体大小",St.defaults.textStyle.fontSize),new Fe([this,"textOffset"],"像素偏移",St.defaults.textStyle.offset),new ut([],"点图片样式集合"),new X([this,"imageShow"],"是否显示",St.defaults.imageShow),new Fe([this,"imageAnchor"],"锚点",St.defaults.imageStyle.anchor),new it([this,"imageUrl"],"图片地址",St.defaults.imageStyle.url),new Fe([this,"imageSize"],"图片大小",St.defaults.imageStyle.size),new Fe([this,"imageOffset"],"像素偏移",St.defaults.imageStyle.offset),new ut([],"线样式集合"),new X([this,"stroked"],"是否显示",St.defaults.stroked),new X([this,"strokeGround"],"贴地",St.defaults.strokeStyle.ground),new M([this,"strokeWidth"],"线宽",St.defaults.strokeStyle.width),new bt([this,"strokeWidthType"],St.strokeStyleWidthTypes,"线宽类型"),new Dt([this,"strokeColor"],"线颜色",St.defaults.strokeStyle.color),new pt([this,"strokeMaterial"],"线材质",St.defaults.strokeStyle.material),new it([this,"strokeMaterialParams"],"线材质参数",St.defaults.strokeStyle.materialParams),new ut([],"面样式集合"),new X([this,"filled"],"是否显示",St.defaults.filled),new X([this,"fillGround"],"贴地",St.defaults.fillStyle.ground),new Dt([this,"fillColor"],"填充颜色",St.defaults.fillStyle.color),new pt([this,"fillMaterial"],"填充材质",St.defaults.fillStyle.material),new it([this,"fillMaterialParams"],"填充材质参数",St.defaults.fillStyle.materialParams)],more:[...t.more,new ut([],"标注文本样式"),new pt([this,"textFontFamily"],"字体",St.defaults.textStyle.fontFamily),new M([this,"zOrder"],"点排序优先级",St.defaults.zOrder),new ut([],"通用"),new ys([this,"loadFuncStr"],"loadFnStr",vy,RS,!0)]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(t){this.textStyle={...this.textStyle,textProperty:t}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(t){this.textStyle={...this.textStyle,defaultText:t}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(t){this.textStyle={...this.textStyle,color:t}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(t){this.textStyle={...this.textStyle,backgroundColor:t}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(t){this.textStyle={...this.textStyle,fontFamily:t}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(t){this.textStyle={...this.textStyle,fontStyle:t}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(t){this.textStyle={...this.textStyle,fontWeight:t}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(t){this.textStyle={...this.textStyle,fontSize:t}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(t){this.textStyle={...this.textStyle,anchor:t}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(t){this.textStyle={...this.textStyle,offset:t}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(t){this.imageStyle={...this.imageStyle,url:t}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(t){this.imageStyle={...this.imageStyle,size:t}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(t){this.imageStyle={...this.imageStyle,anchor:t}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(t){this.imageStyle={...this.imageStyle,offset:t}}get imageOffsetChanged(){return this.imageStyleChanged}};d(St,"createDefaultProps",()=>({...Wt.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:LS,stroked:!0,strokeStyle:_t({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:_t({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:_t({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:_t({textProperty:"",defaultText:"默认标注",color:[1,1,1,1],backgroundColor:void 0,fontFamily:"Arial",fontSize:16,fontStyle:"normal",fontWeight:"normal",anchor:[0,1],offset:[16,-8]}),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE",classificationType:"TERRAIN",zIndex:0})),d(St,"type",St.register("ESGeoJson",St,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),d(St,"strokeStyleWidthTypes",[["screen","screen"],["world","world"]]),d(St,"classificationTypes",[["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]]);let pl=St;const Fo=class Fo extends Pt{constructor(t){super(t);d(this,"editingBindMode","doublePoints");d(this,"_height",this.disposeVar(B(0)));{const n=()=>{this.height=this.points&&this.points.length>=2?this.points[1][2]-this.points[0][2]:0};n(),this.ad(this.pointsChanged.don(n))}}get height(){return this._height.value}set height(t){this._height.value=t}get heightChanged(){return this._height.changed}};d(Fo,"createDefaultProps",()=>({...Pt.createDefaultProps(),stroked:!0,strokeStyle:_t({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Fo,"type",Fo.register("ESHeightMeasurement",Fo,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),d(Fo,"supportEditingModes",[...Pt.supportEditingModes,et.DoublePointsAppend,et.DoublePointsModify]);let Sf=Fo;const tu=class tu extends ss{constructor(t){super(t);d(this,"_area",this.dv(B(0)));d(this,"_perimeter",this.dv(B(0)));d(this,"editingBindMode","doublePoints");const n=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};n(),this.d(this.radiusChanged.don(n))}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}toPolygon(t=10,n){return Xv([...this.position],this.radius,t,n)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",basic:[...t.basic,new M([this,"radius"],"圆半径",1,!0)],coordinate:[...t.coordinate,new X([this,"editing"],"是否编辑"),new ea([this,"position"],"三维坐标",[0,0,0],!0),new M([this,"area"],"面积",0,!1,!0),new M([this,"perimeter"],"周长",0,!1,!0)]}}};d(tu,"createDefaultProps",()=>({...ss.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:_t({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),d(tu,"type",tu.register("ESLocalCircle",tu,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let bf=tu;const eu=class eu extends ss{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new Ig([this,"points"],"坐标",[])]}}};d(eu,"createDefaultProps",()=>({...ss.createDefaultProps(),points:Ud([]),filled:!0})),d(eu,"type",eu.register("ESLocalPolygon",eu,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let gl=eu;const nu=class nu extends Fa{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new Vh([this,"points"],"本地位置数组")]}}};d(nu,"createDefaultProps",()=>({...Fa.createDefaultProps(),points:xl(void 0),filled:!0})),d(nu,"type",nu.register("ESLocalPolygonZ",nu,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let Pf=nu;const ru=class ru extends ss{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"width"],"宽度"),new M([this,"height"],"高度")]}}};d(ru,"createDefaultProps",()=>({...ss.createDefaultProps(),width:5e5,height:3e5,filled:!0})),d(ru,"type",ru.register("ESLocalRectangle",ru,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let If=ru;const Mi=class Mi extends Pt{constructor(t){super(t);d(this,"editingBindMode","lineString");d(this,"_distance",this.dv(B(0)));d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());const n=()=>{if(this.points&&this.points.length>=2){const i=cl(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};n(),this.d(this.pointsChanged.don(n))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new M([this,"height"],"高度",10),new M([this,"width"],"宽度",10),new bt([this,"materialMode"],Mi.materialModes,"模式",Mi.defaults.materialMode)],coordinate:[...t.coordinate,new M([this,"distance"],"距离",0,!1,!0)]}}};d(Mi,"createDefaultProps",()=>({...Pt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:_t({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),d(Mi,"type",Mi.register("ESPipeFence",Mi,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),d(Mi,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","color"]]),d(Mi,"supportEditingModes",[...Pt.supportEditingModes,et.LineStringAppend,et.LineStringInsert]);let Uc=Mi;const us=class us extends Pr{constructor(t){super(t);d(this,"_setLayerVisibleEvent",this.dv(new N));d(this,"_setLayerColorEvent",this.dv(new N))}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(t,n){this._setLayerVisibleEvent.emit(t,n)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(t,n){this._setLayerColorEvent.emit(t,n)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"ESPipeserTileset"),new lt(["string","string"],(n,i)=>this.setLayerVisible(n,i),["",""],"setLayerVisible"),new lt(["string","string"],(n,i)=>this.setLayerColor(n,i),["",""],"setLayerColor"),new bt([this,"colorMode"],us.colorModes,"colorMode",us.defaults.colorMode,!0)]}}};d(us,"createDefaultProps",()=>({...Pr.createDefaultProps(),colorMode:"default"})),d(us,"type",us.register("ESPipeserTileset",us,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),d(us,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let xf=us;const ls=class ls extends Pt{constructor(t){super(t);d(this,"editingBindMode","circular")}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",coordinate:[...t.coordinate,new M([this,"area"],"面积",0,!1,!0),new M([this,"perimeter"],"周长",0,!1,!0)],basic:[...t.basic,new M([this,"height"],"高度",10),new bt([this,"materialMode"],ls.materialModes,"模式","danger")]}}};d(ls,"createDefaultProps",()=>({...Pt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),d(ls,"type",ls.register("ESPolygonFence",ls,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),d(ls,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),d(ls,"supportEditingModes",[...Pt.supportEditingModes,et.CircularAppend,et.CircularInsert,et.HeightModify]);let Gc=ls;const Ws=class Ws extends Pt{constructor(t){super(t);d(this,"_deprecated",["ground"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());d(this,"editingBindMode","doublePoints")}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"通用","通用"),new X([this,"ground"],"是否贴地"),new X([this,"outlineTranslucent"],"轮廓线半透明"),new M([this,"height"],"高度"),new M([this,"extrudedHeight"],"拉伸高度"),new Rr([this,"rectangle"],"范围",Ws.defaults.rectangle,!0),new M([this,"stRotation"],"纹理旋转角度"),new M([this,"rotation"],"旋转角度"),new X([this,"pointEditing"],"是否单点编辑")]}}};d(Ws,"createDefaultProps",()=>({...Pt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:ne(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),d(Ws,"type",Ws.register("ESRectangle",Ws,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),d(Ws,"supportEditingModes",[...Pt.supportEditingModes,et.DoublePointsAppend,et.DoublePointsModify]);let Tf=Ws;const iu=class iu extends qt{getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new it([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};d(iu,"createDefaultProps",()=>({...qt.createDefaultProps(),innerRings:Ep([])})),d(iu,"type",iu.register("ESPolygonWithHole",iu,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let Nf=iu;const Hs=class Hs extends qt{constructor(t){super(t);d(this,"_startEvent",this.disposeVar(new N));d(this,"_stopEvent",this.dv(new N));d(this,"_surfaceArea",this.disposeVar(B(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}get surfaceArea(){return this._surfaceArea.value}set surfaceArea(t){this._surfaceArea.value=t}get surfaceChanged(){return this._surfaceArea.changed}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"表面积测量","表面积测量"),new lt([],()=>this.start(),[],"开始计算"),new M([this,"interpolation"],"插值距离",Hs.defaults.interpolation),new M([this,"offsetHeight"],"偏移高度",Hs.defaults.offsetHeight)]}}};d(Hs,"createDefaultProps",()=>({...qt.createDefaultProps(),interpolation:.5,offsetHeight:0,units:dt(["SquareMeter_SquareKilometer","MU_Hectare"]),fillStyle:_t({color:[1,1,1,.5],material:"",materialParams:{},ground:!0})})),d(Hs,"type",Hs.register("ESSurfaceAreaMeasurement",Hs,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let Of=Hs;const qs=class qs extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"downloadProgress"],"下载进度",qs.defaults.downloadProgress,!0,!0),new it([this,"importOptions"],"导入参数",qs.defaults.importOptions,void 0,!0)],dataSource:[...e.dataSource,new it([this,"url"],"路径")]}}};d(qs,"createDefaultProps",()=>({...st.createDefaultProps(),url:"",importOptions:Zt({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),d(qs,"type",qs.register("ESDatasmithRuntimeModel",qs,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let Df=qs;const _n=class _n extends gl{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",_n.defaults.waterType),new M([this,"frequency"],"频率",_n.defaults.frequency),new ze([this,"amplitude"],.01,[0,1],"振幅",_n.defaults.amplitude),new ze([this,"flowDirection"],1,[0,360],"流向",_n.defaults.flowDirection),new ze([this,"waveVelocity"],.01,[0,1],"波动频率",_n.defaults.waveVelocity),new ze([this,"specularIntensity"],.01,[0,1],"镜面反射强度",_n.defaults.specularIntensity),new ze([this,"murkiness"],.1,[0,10],"水体浑浊度",_n.defaults.murkiness),new M([this,"flowSpeed"],"水流速度",_n.defaults.flowSpeed),new Dt([this,"waterColor"],"水的底色",_n.defaults.waterColor),new it([this,"waterImage"],"水的图片",_n.defaults.waterImage)]}}};d(_n,"createDefaultProps",()=>({...gl.createDefaultProps(),allowPicking:!0,waterImage:Zt(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5,stroked:!1,filled:!0})),d(_n,"type",_n.register("ESDynamicWater",_n,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let Mf=_n;const wn=class wn extends qt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new bt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",wn.defaults.waterType),new M([this,"frequency"],"频率",wn.defaults.frequency),new ze([this,"amplitude"],.01,[0,1],"振幅",wn.defaults.amplitude),new ze([this,"flowDirection"],1,[0,360],"流向",wn.defaults.flowDirection),new ze([this,"waveVelocity"],.01,[0,1],"波动频率",wn.defaults.waveVelocity),new ze([this,"specularIntensity"],.01,[0,1],"镜面反射强度",wn.defaults.specularIntensity),new ze([this,"murkiness"],.1,[0,10],"水体浑浊度",wn.defaults.murkiness),new M([this,"flowSpeed"],"水流速度",wn.defaults.flowSpeed),new Dt([this,"waterColor"],"水的底色",wn.defaults.waterColor),new it([this,"waterImage"],"水的图片",wn.defaults.waterImage)]}}};d(wn,"createDefaultProps",()=>({...qt.createDefaultProps(),allowPicking:!0,waterImage:Zt({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})),d(wn,"type",wn.register("ESGeoWater",wn,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let Rf=wn;const Ao=class Ao extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"downloadProgress"],"下载进度",Ao.defaults.downloadProgress,!0,!0),new pt([this,"levelName"],"levelName",""),new M([this,"levelLoadDistance"],"levelLoadDistance",1e3),new un([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...e.dataSource,new it([this,"url"],"url","")]}}};d(Ao,"createDefaultProps",()=>({...st.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:dt([0,0,0]),levelLoadDistance:1e3})),d(Ao,"type",Ao.register("ESLevelRuntimeModel",Ao,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let Lf=Ao;const sr=class sr extends xi{constructor(t){super(t);d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})())}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new M([this,"radius"],"半径",sr.defaults.radius),new M([this,"sides"],"圆边数",sr.defaults.sides),new M([this,"speed"],"材质速度",sr.defaults.speed),new bt([this,"materialMode"],sr.materialModes,"材质模式",sr.defaults.materialMode),new it([this,"materialImage"],"材质图片和重复度",sr.defaults.materialImage)]}}};d(sr,"createDefaultProps",()=>({...xi.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:_t({url:"",uDis:50,vDis:10}),speed:1,filled:!0,stroked:!1,fillStyle:_t({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),d(sr,"type",sr.register("ESPipeline",sr,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),d(sr,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let Ff=sr;const Ri=class Ri extends Pt{constructor(t){super(t);d(this,"editingBindMode","visibility")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Dt([this,"visibleColor"],"可视区域颜色",Ri.defaults.visibleColor),new Dt([this,"invisibleColor"],"遮挡区域颜色",Ri.defaults.invisibleColor),new M([this,"heightOffset"],"视点高度偏移",Ri.defaults.heightOffset)]}}};d(Ri,"createDefaultProps",()=>({...Pt.createDefaultProps(),visibleColor:dt([0,1,0,1]),invisibleColor:dt([1,0,0,1]),heightOffset:0})),d(Ri,"type",Ri.register("ESVisibilityAnalysis",Ri,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),d(Ri,"supportEditingModes",[...Pt.supportEditingModes,et.VisibilityAppend,et.VisibilityModify]);let Af=Ri;const su=class su extends qt{constructor(t){super(t);d(this,"_startEvent",this.dv(new N));d(this,"_clearEvent",this.dv(new N));d(this,"_volume",this.disposeVar(B(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get volume(){return this._volume.value}set volume(t){this._volume.value=t}get volumeChanged(){return this._volume.changed}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new ut([],"通用","通用"),new M([this,"planeHeight"],"基准面高程",void 0,!0),new M([this,"gridWidth"],"采样间距 m"),new M([this,"cutVolume"],"挖方",0,!1,!0),new M([this,"fillVolume"],"填方",0,!1,!0),new M([this,"cutAndFillVolume"],"挖填方",0,!1,!0),new M([this,"progress"],"计算进度",0,!1,!0),new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.clear(),[],"清空分析结果"),new X([this,"depthTest"],"是否开启深度检测")]}}};d(su,"createDefaultProps",()=>({...qt.createDefaultProps(),planeHeight:B(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,filled:!1,stroked:!0,strokeStyle:_t({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(su,"type",su.register("ESVolumeMeasurement",su,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let kf=su;const ou=class ou extends Co{constructor(t){super(t);d(this,"_human",this.dv(new Co));d(this,"_poi",this.dv(new fl));this.d(this.components.disposableAdd(this._human,!0)),this.d(this.components.disposableAdd(this._poi));{const{_human:n,_poi:i}=this;this.d(j([n,"show"],[this,"show"])),this.d(j([i,"show"],[this,"show"])),this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([i,"allowPicking"],[this,"allowPicking"])),this.d(nt([n,"scale"],[this,"scale"])),this.d(nt([i,"scale"],[this,"scale"])),this.d(j([n,"collision"],[this,"collision"])),this.d(j([i,"collision"],[this,"collision"])),this.d(nt([n,"flyInParam"],[this,"flyInParam"])),this.d(nt([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"animation"],[this,"animation"])),this.d(j([n,"mode"],[this,"mode"])),this.d(j([n,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(j([n,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(j([i,"name"],[this,"name"])),this.d(j([i,"mode"],[this,"poiMode"])),this.d(j([i,"autoAnchor"],[this,"autoAnchor"])),this.d(j([i,"screenRender"],[this,"screenRender"])),this.d(j([i,"size"],[this,"size"])),this.d(j([i,"anchor"],[this,"anchor"])),this.d(j([i,"sizeByContent"],[this,"sizeByContent"])),this.d(j([i,"renderMode"],[this,"renderMode"])),this.d(j([i,"rotationType"],[this,"rotationType"])),this.d(j([i,"zOrder"],[this,"zOrder"])),this.d(j([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(j([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(nt([n,"position"],[this,"position"])),this.d(nt([n,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{n.flyIn(s)})),this.d(this.flyToEvent.don(s=>{n.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{n.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{n.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{n.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{n.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,u)=>{n.smoothMoveOnGround(s,o,a,u)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,u,l)=>{n.smoothMoveWithRotationOnGround(s,o,a,u,l)})),this.d(this.automaticLandingEvent.don(()=>{n.automaticLanding()})),this.d(this._human.readyEvent.don(s=>{this.readyEvent.emit(s)}))}}get human(){return this._human}get poi(){return this._poi}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"poiMode"],fl.modes,"poi模式","SquareH01"),new M([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};d(ou,"createDefaultProps",()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:_t({}),autoAnchor:!0,screenRender:!0,size:dt([100,100]),anchor:dt([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...Co.createDefaultProps()})),d(ou,"type",ou.register("ESHumanPoi",ou,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let Vf=ou;const ui=class ui extends qt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new M([this,"depth"],"深度",ui.defaults.depth),new M([this,"interpolation"],"插值",ui.defaults.interpolation),new M([this,"opacity"],"透明度",ui.defaults.opacity),new it([this,"sideImage"],"侧面图片",ui.defaults.sideImage),new it([this,"bottomImage"],"底面图片",ui.defaults.bottomImage)]}}};d(ui,"createDefaultProps",()=>({...qt.createDefaultProps(),depth:100,sideImage:_t({url:rt.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:_t({url:rt.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50}),opacity:1,interpolation:50,collision:!1,allowPicking:!1,filled:!0})),d(ui,"type",ui.register("ESPit",ui,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let ka=ui;const au=class au extends ka{constructor(t){super(t);d(this,"_excavate",this.dv(new dl));d(this,"_pit",this.dv(new ka));this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit,!0));{const{_excavate:n,_pit:i}=this;this.d(j([n,"show"],[this,"show"])),this.d(j([i,"show"],[this,"show"])),this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([i,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d(j([i,"collision"],[this,"collision"])),this.d(nt([i,"points"],[this,"points"])),this.d(j([n,"points"],[this,"points"])),this.d(j([i,"pointed"],[this,"pointed"])),this.d(j([n,"pointed"],[this,"pointed"])),this.d(j([i,"pointStyle"],[this,"pointStyle"])),this.d(j([n,"pointStyle"],[this,"pointStyle"])),this.d(j([i,"stroked"],[this,"stroked"])),this.d(j([n,"stroked"],[this,"stroked"])),this.d(j([i,"strokeStyle"],[this,"strokeStyle"])),this.d(j([n,"strokeStyle"],[this,"strokeStyle"])),this.d(j([i,"filled"],[this,"filled"])),this.d(j([i,"fillStyle"],[this,"fillStyle"])),this.d(j([n,"fillStyle"],[this,"fillStyle"])),this.d(j([n,"mode"],[this,"mode"])),this.d(j([n,"targetID"],[this,"targetID"])),this.d(j([i,"depth"],[this,"depth"])),this.d(j([i,"sideImage"],[this,"sideImage"])),this.d(j([i,"bottomImage"],[this,"bottomImage"])),this.d(j([i,"opacity"],[this,"opacity"])),this.d(j([i,"interpolation"],[this,"interpolation"])),this.d(nt([i,"flyInParam"],[this,"flyInParam"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get excavate(){return this._excavate}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"mode"],dl.modes,"模式","in"),new pt([this,"targetID"],"瓦片图层","")]}}};d(au,"createDefaultProps",()=>({...ka.createDefaultProps(),mode:"in",targetID:""})),d(au,"type",au.register("ESHole",au,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let Bf=au;const jf={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},FS=async(r,e,t,n)=>{try{const i=globalThis.localStorage.getItem("Authorization");let s=r+`${jf.layerconfigfind}?tileServiceName=${e}`;t&&(s+=`&earthdstoken=${encodeURIComponent(n)}`);const o={headers:{...!t&&i?{Authorization:i}:{}},mode:"cors"},u=await(await fetch(s,o)).text();return JSON.parse(u)}catch(i){console.error(i)}},AS=async(r,e,t,n,i)=>{try{const s=globalThis.localStorage.getItem("Authorization");let o=r+jf.layerconfigsave;const a=i??{};t&&(o+=`?earthdstoken=${encodeURIComponent(n)}`);const u={method:"POST",headers:{"Content-Type":"application/json",...!t&&s?{Authorization:s}:{}},mode:"cors",body:JSON.stringify({tileServiceName:e,layerConfig:JSON.stringify(a)})},c=await(await fetch(o,u)).text();return JSON.parse(c)}catch(s){console.error(s)}},kS=async(r,e,t)=>{try{const n=globalThis.localStorage.getItem("Authorization");let i=r;e&&(i+=`?earthdstoken=${encodeURIComponent(t)}`);const s={headers:{...!e&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},VS=async(r,e,t,n,i)=>{try{const s={tileServiceName:e,featureId:t},o=globalThis.localStorage.getItem("Authorization");let a=r+jf.featureproperty;n&&(a+=`?earthdstoken=${encodeURIComponent(i)}`);const l=await(await fetch(a,{method:"post",headers:{"Content-Type":"application/json",...!n&&o?{Authorization:o}:{}},body:JSON.stringify(s),mode:"cors"})).text(),c=JSON.parse(l);if(c.status=="ok")return c.data;console.error(c.data.status);return}catch(s){console.error(s)}},uu=class uu extends Pr{constructor(t){super(t);d(this,"_es3DTileset",this.dv(new Pr));d(this,"_ids",this.dv(_t([])));d(this,"_useEarthDSToken",this.dv(B(!1)));d(this,"_earthdstoken",this.dv(B("")));d(this,"_visJson",this.disposeVar(B({})));d(this,"_highlightInner3DtilesetEvent",this.dv(new N));d(this,"_removeHighlightInner3DtilesetEvent",this.dv(new N));d(this,"_tilesetServePort",this.dv(B("")));{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ts01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const n=this._es3DTileset;this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d(nt([n,"flyToParam"],[this,"flyToParam"])),this.d(nt([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"actorTag"],[this,"actorTag"])),this.d(j([n,"materialMode"],[this,"materialMode"])),this.d(j([n,"highlight"],[this,"highlight"])),this.d(j([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(j([n,"highlightID"],[this,"highlightID"])),this.d(j([n,"highlightColor"],[this,"highlightColor"])),this.d(nt([n,"offset"],[this,"offset"])),this.d(nt([n,"rotation"],[this,"rotation"])),this.d(j([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(j([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(j([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(j([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(j([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(j([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(j([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(j([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(j([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(j([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(j([n,"cacheBytes"],[this,"cacheBytes"])),this.d(j([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(j([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(j([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(j([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(j([n,"materialParams"],[this,"materialParams"])),this.d(nt([n,"supportEdit"],[this,"supportEdit"])),this.d(nt([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(nt([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(nt([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(nt([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(nt([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(nt([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.setFeatureStyleEvent.don((...i)=>{n.setFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(t){this._ids.value=t}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(t){this._useEarthDSToken.value=t}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(t){this._earthdstoken.value=t}get visJson(){return this._visJson.value}set visJson(t){this._visJson.value=t}get visJsonChanged(){return this._visJson.changed}setFeatureVisable(t,n){var i;if((i=this.layerConfig)!=null&&i.length){const s={};s[n[0].value]=n[0].visable,this.visJson={...this.visJson,...s}}else this.setFeatureVisableEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}async getFeatureProperty(t){return await VS(this.baseUrl,this.tileServiceName,t,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const t=await FS(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken);return!t||!Array.isArray(t)?this.layerConfig=[]:this.layerConfig=t,this.layerConfig}async saveLayerConfig(){const t=this.layerConfig;return await AS(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken,t)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(t){this._highlightInner3DtilesetEvent.emit(t)}async highlightDSFeature(t){this._highlightInner3Dtileset(t)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(t){this._removeHighlightInner3DtilesetEvent.emit(t)}async removeHighlightDSFeature(t){this._removeHighlightInner3Dtileset(t)}async pickFeature(t,n){var a,u,l;const i=await t.pick(n),s=i.sceneObject;return!s||s.id!==this.id&&s.typeName!="ESRtsFeatureEditing"?void 0:s.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=i==null?void 0:i.tilesetPickInfo)==null?void 0:a.id],{featureId:(u=i==null?void 0:i.tilesetPickInfo)==null?void 0:u.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}):{featureId:(l=i==null?void 0:i.sceneObject)==null?void 0:l.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await kS(this.url,this.useEarthDSToken,this.earthdstoken);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var n;if(!this.url||typeof this.url!="string")return;const t=+new Date;if(this.isSameIP){const i=(n=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:n[0];this._es3DTileset.url=`${i}/ts/tiles/${this.tileServiceName}/tileset.json?t=${t}`}else{const i=this.tileServiceIp,s=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${i}:${s}/tiles/tileset.json?t=${t}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new it([this,"layerConfig"],"图层配置",[],void 0,!0)]}}};d(uu,"createDefaultProps",()=>({...Pr.createDefaultProps(),layerConfig:Zt([]),isSameIP:!1})),d(uu,"type",uu.register("ESRtsTileset",uu,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let zf=uu;function BS(r){return typeof r=="number"&&!isNaN(r)}const lu=class lu extends Pr{get json(){return{...this._innerGetJson(),show:this.show,materials:this.materials,changeMaterial:this.changeMaterial,props:this.props,rotation:this.rotation,offset:this.offset}}set json(e){this._innerSetJson(e)}async init(e,t){var i;this.featureId=t;const n=await e.getFeatureProperty(t);if(this.uiShowprops=n.allFields.map(s=>({featureClassName:s.featureClassName,fields:s.fields.map(o=>({key:o.name,type:o.type,value:o.type!="Double"?o.value:BS(o.value)?Number(o.value.toFixed(3)):""}))})),this.datasetName=n.datasetName,e.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{e.setFeatureVisable("id",[{value:this.featureId,visable:!0}])}),e.isSameIP){const s=(i=e.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:i[0],o=e.tileServiceName;this.url=`${s}/ts/featuretiles/${o}/${this.featureId}/tileset.json`}else{const s=e.tileServiceIp,o=e.tilesetServePort;if(!o)throw new Error("ESRtsFeatureEditing2: port is not defined");this.url=`${s}:${o}/featuretiles/${this.featureId}/tileset.json`}this.allowPicking=!0,this.d(this.pickedEvent.don(s=>{s.assign({sceneObject:e}),e.pickedEvent.emit(s)})),this.d(()=>{this.editing=!1,e.removeHighlightDSFeature(this)})}constructor(e){super(e)}};d(lu,"createDefaultProps",()=>({...Pr.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:_t({}),changeMaterial:Zt(void 0),uiShowprops:_t({}),props:_t({})})),d(lu,"type",lu.register("ESRtsFeatureEditing",lu,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Uf=lu;const jS=async(r,e,t)=>{try{const n=globalThis.localStorage.getItem("Authorization");let i=r;e&&(i+=`?earthdstoken=${encodeURIComponent(t)}`);const s={headers:{...!e&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},Sl=class Sl extends Pr{constructor(t){super(t);d(this,"_es3DTileset",this.dv(new Pr));d(this,"_tilesetServePort",this.dv(B("")));d(this,"_useEarthDSToken",this.dv(B(!1)));d(this,"_earthdstoken",this.dv(B("")));{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ms01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const n=this._es3DTileset;this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d(nt([n,"flyToParam"],[this,"flyToParam"])),this.d(nt([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"actorTag"],[this,"actorTag"])),this.d(j([n,"materialMode"],[this,"materialMode"])),this.d(j([n,"highlight"],[this,"highlight"])),this.d(j([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(j([n,"highlightID"],[this,"highlightID"])),this.d(j([n,"highlightColor"],[this,"highlightColor"])),this.d(nt([n,"offset"],[this,"offset"])),this.d(nt([n,"rotation"],[this,"rotation"])),this.d(j([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(j([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(j([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(j([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(j([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(j([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(j([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(j([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(j([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(j([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(j([n,"cacheBytes"],[this,"cacheBytes"])),this.d(j([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(j([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(j([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(j([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(j([n,"materialParams"],[this,"materialParams"])),this.d(nt([n,"supportEdit"],[this,"supportEdit"])),this.d(nt([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(nt([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(nt([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(nt([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(nt([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(nt([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(t){this._useEarthDSToken.value=t}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(t){this._earthdstoken.value=t}async getport(){const t=await jS(this.url,this.useEarthDSToken,this.earthdstoken);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(t){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}};d(Sl,"type",Sl.register("ESMsTileset",Sl,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Gf=Sl;const yy={defaultValue:[{type:"2",widget:"WidgetBlueprint'/ESFoliage/PoiSheng.PoiSheng'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"3",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"4",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"5",widget:"WidgetBlueprint'/ESFoliage/PoiXiang.PoiXiang'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"6",widget:"WidgetBlueprint'/ESFoliage/PoiCun.PoiCun'",povit:[.5,1],worldScale:.1,hiddenDistance:40}],sampleValue:`
355
355
  ## 参数类型为 ESPoiType[]
356
356
  \`\`\`js
357
357
  type Vector2D = [number, number]
@@ -364,7 +364,7 @@ ${vy}
364
364
  hiddenDistance: number
365
365
  }
366
366
  \`\`\`
367
- `},ko=class ko extends Wt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([],"通用"),new it([this,"url"],"路径"),new it([this,"poiTypes"],ko.defaults.poiTypes,yy.sampleValue),new M([this,"heightOffset"])]}}};d(ko,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"",poiTypes:Zt(yy.defaultValue),heightOffset:40})),d(ko,"type",ko.register("ESPoiTileset",ko,{chsName:"ESPoiTileset",tags:["ESObjects","_ES_Impl_UE"],description:"ESPoiTileset"}));let Wf=ko;const cu=class cu extends rt{getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([],"通用","通用"),new X([this,"show"],"是否显示"),new bt([this,"screenPosition"],[["left","left"],["right","right"]],"定位","right"),new Fe([this,"cssPosition"],"位置")]}}};d(cu,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,screenPosition:"right",cssPosition:[40,30]})),d(cu,"type",cu.register("ESScale",cu,{chsName:"比例尺",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"比例尺"}));let Hf=cu;const Li=class Li extends qt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new M([this,"height"],"高度",Li.defaults.height,!0),new M([this,"extrudedHeight"],"拉伸高度",Li.defaults.extrudedHeight,!0),new X([this,"perPositionHeight"],"应用每个位置高度",Li.defaults.perPositionHeight,!0)]}}};d(Li,"createDefaultProps",()=>({...qt.createDefaultProps(),height:0,extrudedHeight:10,perPositionHeight:!1,collision:!1})),d(Li,"type",Li.register("ESGeoExtrudedPolygon",Li,{chsName:"拉升多边形体",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"拉升多边形体"})),d(Li,"supportEditingModes",[...qt.supportEditingModes,et.HeightModify]);let So=Li;const Vo=class Vo extends qt{constructor(t){super(t);d(this,"_classification",this.dv(new Ac));d(this,"_geoExtrudedPolygon",this.dv(new So));this.d(this.components.disposableAdd(this._classification)),this.d(this.components.disposableAdd(this._geoExtrudedPolygon,!0));{const{_classification:n,_geoExtrudedPolygon:i}=this;i.perPositionHeight=!0,this.d(j([n,"collision"],[this,"collision"])),this.d(j([i,"collision"],[this,"collision"])),this.d(nt([i,"flyInParam"],[this,"flyInParam"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(nt([i,"points"],[this,"points"])),this.d(nt([i,"extrudedHeight"],[this,"height"])),this.d(nt([n,"fillColor"],[this,"overheightColor"])),this.d(nt([i,"fillColor"],[this,"standardColor"]));{const s=()=>{const{height:o,points:a,maxHeight:u}=this;if(!a)return;const l=a.map(c=>[c[0],c[1],o]);n.points=l,n.height=u-o,u-o<=0?n.show=!1:n.show=this.show&&this.filled};s(),this.d(Bi([this.heightChanged,this.pointsChanged,this.maxHeightChanged],s))}{const s=()=>{const{show:o,filled:a}=this;n.show=o&&a,i.show=o&&a};s(),this.d(Bi([this.showChanged,this.filledChanged],s))}this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get classification(){return this._classification}get geoExtrudedPolygon(){return this._geoExtrudedPolygon}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new M([this,"height"],"高度",10),new M([this,"maxHeight"],"最高高度",200),new Dt([this,"overheightColor"],"超高颜色",[1,0,0,.5]),new Dt([this,"standardColor"],"标准颜色",[0,1,0,.5])]}}};d(Vo,"createDefaultProps",()=>({...qt.createDefaultProps(),height:10,maxHeight:200,overheightColor:[1,0,0,.5],standardColor:[0,1,0,.5]})),d(Vo,"type",Vo.register("ESHeightLimitAnalysis",Vo,{chsName:"控高分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"控高分析对象"})),d(Vo,"supportEditingModes",[...qt.supportEditingModes,et.HeightModify]);let qf=Vo;const li=class li extends Wt{constructor(t){super(t);d(this,"_widgetEvent",this.dv(new N));d(this,"_data",this.dv(V(void 0)));{const n=()=>{this.url&&(typeof this.url=="object"?this.data=this.url:zh(this.url)?this.data=JSON.parse(this.url):fetch(rt.context.getStrFromEnv(this.url)).then(i=>i.json()).then(i=>{this.data=i}).catch(i=>{console.warn("ESEntityCluster数据加载失败",i)}))};n(),this.d(this.urlChanged.don(n))}}get widgetEvent(){return this._widgetEvent}get data(){return this._data.value}set data(t){this._data.value=t}get dataChanged(){return this._data.changed}getFeatures(){if(this._data)return this._data;console.log("数据未加载完成,请稍后重试")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new it([this,"url"],"地址",li.defaults.url),new M([this,"pixelRange"],"集合范围",li.defaults.pixelRange),new M([this,"minimumClusterSize"],"最小数量",li.defaults.minimumClusterSize),new bt([this,"heightReference"],[["None","None"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["CLAMP_TO_TERRAIN","CLAMP_TO_TERRAIN"]],"高度模式","None")],more:[...t.more,new it([this,"style"],"style",li.defaults.style),new X([this,"perspective"],"透视效果",li.defaults.perspective)]}}};d(li,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"",pixelRange:200,minimumClusterSize:2,style:Zt({cluster:[{minValue:2,mode:"SquareV02",style:{}}],nonCluster:{mode:"SquareV03",style:{}}}),heightReference:"None",perspective:!1})),d(li,"type",li.register("ESEntityCluster",li,{chsName:"Poi聚合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于聚合POI标注,提高性能。"}));let Xf=li;class ml extends B{constructor(){super();d(this,"_player",this.disposeVar(new Lr));const t=this._player;{const n=()=>{const i=(this.stopTime??0)-(this.startTime??0);t.duration=i>0?i:0};n(),this.d(this.startTimeChanged.don(n)),this.d(this.stopTimeChanged.don(n))}this.d(nt([t,"playing"],[this,"playing"])),this.d(nt([t,"loop"],[this,"loop"])),this.d(nt([t,"speed"],[this,"speed"])),this.d(t.currentTimeChanged.don(()=>{this.startTime!==void 0&&t.currentTime!==void 0&&(this.currentTime=t.currentTime+this.startTime)})),this.d(this.currentTimeChanged.don(()=>{if(this.currentTime===void 0||this.startTime===void 0)return;const n=this.currentTime-this.startTime;t.currentTime=Al(n,0,t.duration)}))}get player(){return this._player}get ratio(){return this._player.ratio}get ratioChanged(){return this._player.ratioChanged}set ratio(t){this._player.ratio=t}}(r=>{r.createDefaultProps=()=>({...rt.createDefaultProps(),currentTime:void 0,startTime:void 0,stopTime:void 0,playing:void 0,loop:void 0,speed:void 0})})(ml||(ml={})),ji(ml.prototype,ml.createDefaultProps);const hu=class hu extends rt{constructor(t){super(t);d(this,"_absolutePlayer",this.dv(new ml));const n=this.absolutePlayer;this.d(nt([n,"currentTime"],[this,"currentTime"])),this.d(nt([n,"startTime"],[this,"startTime"])),this.d(nt([n,"stopTime"],[this,"stopTime"])),this.d(nt([n,"playing"],[this,"playing"])),this.d(nt([n,"loop"],[this,"loop"])),this.d(nt([n,"speed"],[this,"speed"]))}get absolutePlayer(){return this._absolutePlayer}get ratio(){return this._absolutePlayer.ratio}get ratioChanged(){return this._absolutePlayer.ratioChanged}set ratio(t){this._absolutePlayer.ratio=t}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new Ul([this,"playing"],[this,"ratio"],[this,"loop"],"播放器"),new eo([this,"currentTime"],"currentTime"),new eo([this,"startTime"]),new eo([this,"stopTime"]),new X([this,"playing"]),new X([this,"loop"]),new M([this,"speed"])]}}};d(hu,"createDefaultProps",()=>({...rt.createDefaultProps(),currentTime:0,startTime:0,stopTime:0,playing:!1,loop:!1,speed:1})),d(hu,"type",hu.register("ESPlayer",hu,{chsName:"ESPlayer",tags:["ESObjects","_ES_Impl_UE"],description:"ESPlayer"}));let Va=hu;function _y(r,e=!1){const t=r.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),n=t.length;if(n===0)return t;if(n===1)return(!t[0][2]===void 0||e)&&(t[0][2]=void 0),t;for(let i=1;i<n;++i){if(t[i][2]!==void 0&&!e)continue;const s=t[i-1][1],o=t[i][1],a=Fr(s),u=Fr(o),l=g.Vector.distance(a,u);if(l===0){t[i][2]=t[i-1][2];continue}const c=ku(s,o),h=o[2]-s[2],f=Math.asin(h/l)*180/Math.PI,p=Number.isFinite(c)?c:0,v=Number.isFinite(f)?f:0;t[i][2]=[p,v,0]}return(t[0][2]===void 0||e)&&(t[0][2]=n>1?t[1][2]:void 0),t}function wy(r,e=!1){const t=r.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),n=t.length;if(n===0)return t;if(n===1)return(!t[0][2]===void 0||e)&&(t[0][2]=void 0),t;for(let i=n-2;i>=0;--i){if(t[i][2]!==void 0&&!e)continue;const s=t[i][1],o=t[i+1][1],a=Fr(s),u=Fr(o),l=g.Vector.distance(a,u);if(l===0){t[i][2]=t[i+1][2];continue}const c=ku(s,o),h=o[2]-s[2],f=Math.asin(h/l)*180/Math.PI,p=Number.isFinite(c)?c:0,v=Number.isFinite(f)?f:0;t[i][2]=[p,v,0]}return(t[n-1][2]===void 0||e)&&(t[n-1][2]=n>1?t[n-2][2]:[0,0,0]),t}function BS(r,e=!1){const t=_y(r,e),n=wy(r,e);if(t.length!==n.length)throw new Error("p.length !== n.length");const i=t.length;for(let s=0;s<i;s++){const o=t[s][2],a=n[s][2];o===void 0&&a===void 0?t[s][2]=void 0:o===void 0?t[s][2]=a:a===void 0?t[s][2]=o:t[s][2]=Uh(o,a,.5)}return t}function jS(r,e,t){let i;if(!r.timePosRots)return;const s=[],o=r.timePosRots.length;if(!(o<=2)){s.push(r.timePosRots[0]);for(let a=1;a<o-1;++a){const u=r.timePosRots[a-1][0],l=r.timePosRots[a][0],c=r.timePosRots[a+1][0],h=r.accumDistances[a-1],f=r.accumDistances[a],p=r.accumDistances[a+1],v=f-h;if(v!==0){const S=v-(i??(e.length==1?e[0]:e[a-1]||e[e.length-1])*.5);let P=(S<0?0:S)/v;Number.isNaN(P)&&(P=0);const y=(1-P)*u+P*l,_=r.getCurrent(y);_&&s.push([y,_.position,_.rotation])}t&&s.push(r.timePosRots[a]);const C=p-f;if(C!==0){let S=(e.length==1?e[0]:e[a-1]||e[e.length-1])*.5;const P=(e.length==1?e[0]:e[a]||e[e.length-1])*.5||0;S+P>C?(S=C*(S/(S+P)),i=C-S):i=void 0;let y=(S<0?0:S)/C;Number.isNaN(y)&&(y=0);const _=(1-y)*l+y*c,m=r.getCurrent(_);m&&s.push([_,m.position,m.rotation])}}s.push(r.timePosRots[o-1]),r.timePosRots=s}}function Ey(r,e){if(e<0)return[void 0,0];if(e>r.length-1)return[void 0,r.length-1];const t=[...r].slice(0,e+1).reverse().findIndex(i=>!!(i!=null&&i[2]));if(t===-1)return[void 0,0];const n=e-t;return[r[n][2],n]}function Cy(r,e){if(e<0)return[void 0,0];if(e>=r.length)return[void 0,r.length-1];const t=r.slice(e).findIndex(([,,i])=>i!==void 0),n=t===-1?r.length-1:e+t;return[r[n][2],n]}function zS(r,e,t="Lerp"){let n,i,s,o;if(r.length!==0){if(e<=r[0][0])n=r[0][1],i=r[0][2],s=0,o=0;else if(e>=r[r.length-1][0]){const[u,l,c]=r[r.length-1];n=l,i=c,s=r.length-2,o=1}else{const u=r.findIndex(([l])=>e<=l);if(u===-1)throw new Error("nextIndex === -1");s=u-1;{const[l,c]=r[s],[h,f]=r[u],p=(e-l)/(h-l),v=Vd(c),C=Vd(f),S=g.Vector.lerp(v,C,p);n=Wh(S),o=p}{let[l,c]=Ey(r,s),[h,f]=Cy(r,u);if(t==="Lerp")if(l&&h){if(c<0||f>=r.length)throw new Error("Invalid rotation index");const p=(e-r[c][0])/(r[f][0]-r[c][0]);i=Uh(l,h,p)}else l?i=l:h?i=h:i=void 0;else t==="Prev"?l&&(i=l):t==="Next"&&h&&(i=h)}}return{position:n,rotation:i,index:s,ratio:o}}}function US(r){try{const e=JSON.parse(r);if(Array.isArray(e)&&e.length>0){const t=typeof e[0][0]=="number",n=Array.isArray(e[0][1])&&e[0][1].length===3;return t&&n?e:void 0}throw new Error("解析有问题")}catch{const t=r.split(/\n|\r\n/),n=[],i=t.length;for(let s=0;s<i;++s){const o=t[s],a=o.split(/[^0-9e\.\+\-]+/).filter(u=>u!=="").map(u=>+u);a.length<4?console.warn(`第${s+1}行数据无法解析成路径的数据, 原内容为: ${o}`):a.length<7?n.push([a[0],[a[1],a[2],a[3]],void 0]):n.push([a[0],[a[1],a[2],a[3]],[a[4],a[5],a[6]]])}return n}}function GS(r,e,t){const{timePosRots:n}=r;if(!n)throw new Error("!timePosRots");if(n.length===0)throw new Error("timePosRots.length === 0");e=Math.max(e,n[0][0]),t=Math.min(t,n[n.length-1][0]);const i=r.getCurrent(e),s=r.getCurrent(t);if(!i||!s)return;const o=[];i.ratio<1&&o.push([e,i.position,i.rotation]);for(let a=i.index+1;a<=s.index;++a)o.push(n[a]);return s.ratio>0&&o.push([t,s.position,s.rotation]),o}const WS=`
367
+ `},ko=class ko extends Wt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([],"通用"),new it([this,"url"],"路径"),new it([this,"poiTypes"],ko.defaults.poiTypes,yy.sampleValue),new M([this,"heightOffset"])]}}};d(ko,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"",poiTypes:Zt(yy.defaultValue),heightOffset:40})),d(ko,"type",ko.register("ESPoiTileset",ko,{chsName:"ESPoiTileset",tags:["ESObjects","_ES_Impl_UE"],description:"ESPoiTileset"}));let Wf=ko;const cu=class cu extends rt{getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([],"通用","通用"),new X([this,"show"],"是否显示"),new bt([this,"screenPosition"],[["left","left"],["right","right"]],"定位","right"),new Fe([this,"cssPosition"],"位置")]}}};d(cu,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,screenPosition:"right",cssPosition:[40,30]})),d(cu,"type",cu.register("ESScale",cu,{chsName:"比例尺",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"比例尺"}));let Hf=cu;const Li=class Li extends qt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new M([this,"height"],"高度",Li.defaults.height,!0),new M([this,"extrudedHeight"],"拉伸高度",Li.defaults.extrudedHeight,!0),new X([this,"perPositionHeight"],"应用每个位置高度",Li.defaults.perPositionHeight,!0)]}}};d(Li,"createDefaultProps",()=>({...qt.createDefaultProps(),height:0,extrudedHeight:10,perPositionHeight:!1,collision:!1})),d(Li,"type",Li.register("ESGeoExtrudedPolygon",Li,{chsName:"拉升多边形体",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"拉升多边形体"})),d(Li,"supportEditingModes",[...qt.supportEditingModes,et.HeightModify]);let So=Li;const Vo=class Vo extends qt{constructor(t){super(t);d(this,"_classification",this.dv(new Ac));d(this,"_geoExtrudedPolygon",this.dv(new So));this.d(this.components.disposableAdd(this._classification)),this.d(this.components.disposableAdd(this._geoExtrudedPolygon,!0));{const{_classification:n,_geoExtrudedPolygon:i}=this;i.perPositionHeight=!0,this.d(j([n,"collision"],[this,"collision"])),this.d(j([i,"collision"],[this,"collision"])),this.d(nt([i,"flyInParam"],[this,"flyInParam"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(nt([i,"points"],[this,"points"])),this.d(nt([i,"extrudedHeight"],[this,"height"])),this.d(nt([n,"fillColor"],[this,"overheightColor"])),this.d(nt([i,"fillColor"],[this,"standardColor"]));{const s=()=>{const{height:o,points:a,maxHeight:u}=this;if(!a)return;const l=a.map(c=>[c[0],c[1],o]);n.points=l,n.height=u-o,u-o<=0?n.show=!1:n.show=this.show&&this.filled};s(),this.d(Bi([this.heightChanged,this.pointsChanged,this.maxHeightChanged],s))}{const s=()=>{const{show:o,filled:a}=this;n.show=o&&a,i.show=o&&a};s(),this.d(Bi([this.showChanged,this.filledChanged],s))}this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get classification(){return this._classification}get geoExtrudedPolygon(){return this._geoExtrudedPolygon}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new M([this,"height"],"高度",10),new M([this,"maxHeight"],"最高高度",200),new Dt([this,"overheightColor"],"超高颜色",[1,0,0,.5]),new Dt([this,"standardColor"],"标准颜色",[0,1,0,.5])]}}};d(Vo,"createDefaultProps",()=>({...qt.createDefaultProps(),height:10,maxHeight:200,overheightColor:[1,0,0,.5],standardColor:[0,1,0,.5]})),d(Vo,"type",Vo.register("ESHeightLimitAnalysis",Vo,{chsName:"控高分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"控高分析对象"})),d(Vo,"supportEditingModes",[...qt.supportEditingModes,et.HeightModify]);let qf=Vo;const li=class li extends Wt{constructor(t){super(t);d(this,"_widgetEvent",this.dv(new N));d(this,"_data",this.dv(B(void 0)));{const n=()=>{this.url&&(typeof this.url=="object"?this.data=this.url:zh(this.url)?this.data=JSON.parse(this.url):fetch(rt.context.getStrFromEnv(this.url)).then(i=>i.json()).then(i=>{this.data=i}).catch(i=>{console.warn("ESEntityCluster数据加载失败",i)}))};n(),this.d(this.urlChanged.don(n))}}get widgetEvent(){return this._widgetEvent}get data(){return this._data.value}set data(t){this._data.value=t}get dataChanged(){return this._data.changed}getFeatures(){if(this._data)return this._data;console.log("数据未加载完成,请稍后重试")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new it([this,"url"],"地址",li.defaults.url),new M([this,"pixelRange"],"集合范围",li.defaults.pixelRange),new M([this,"minimumClusterSize"],"最小数量",li.defaults.minimumClusterSize),new bt([this,"heightReference"],[["None","None"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["CLAMP_TO_TERRAIN","CLAMP_TO_TERRAIN"]],"高度模式","None")],more:[...t.more,new it([this,"style"],"style",li.defaults.style),new X([this,"perspective"],"透视效果",li.defaults.perspective)]}}};d(li,"createDefaultProps",()=>({...Wt.createDefaultProps(),url:"",pixelRange:200,minimumClusterSize:2,style:Zt({cluster:[{minValue:2,mode:"SquareV02",style:{}}],nonCluster:{mode:"SquareV03",style:{}}}),heightReference:"None",perspective:!1})),d(li,"type",li.register("ESEntityCluster",li,{chsName:"Poi聚合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于聚合POI标注,提高性能。"}));let Xf=li;class ml extends V{constructor(){super();d(this,"_player",this.disposeVar(new Lr));const t=this._player;{const n=()=>{const i=(this.stopTime??0)-(this.startTime??0);t.duration=i>0?i:0};n(),this.d(this.startTimeChanged.don(n)),this.d(this.stopTimeChanged.don(n))}this.d(nt([t,"playing"],[this,"playing"])),this.d(nt([t,"loop"],[this,"loop"])),this.d(nt([t,"speed"],[this,"speed"])),this.d(t.currentTimeChanged.don(()=>{this.startTime!==void 0&&t.currentTime!==void 0&&(this.currentTime=t.currentTime+this.startTime)})),this.d(this.currentTimeChanged.don(()=>{if(this.currentTime===void 0||this.startTime===void 0)return;const n=this.currentTime-this.startTime;t.currentTime=Al(n,0,t.duration)}))}get player(){return this._player}get ratio(){return this._player.ratio}get ratioChanged(){return this._player.ratioChanged}set ratio(t){this._player.ratio=t}}(r=>{r.createDefaultProps=()=>({...rt.createDefaultProps(),currentTime:void 0,startTime:void 0,stopTime:void 0,playing:void 0,loop:void 0,speed:void 0})})(ml||(ml={})),ji(ml.prototype,ml.createDefaultProps);const hu=class hu extends rt{constructor(t){super(t);d(this,"_absolutePlayer",this.dv(new ml));const n=this.absolutePlayer;this.d(nt([n,"currentTime"],[this,"currentTime"])),this.d(nt([n,"startTime"],[this,"startTime"])),this.d(nt([n,"stopTime"],[this,"stopTime"])),this.d(nt([n,"playing"],[this,"playing"])),this.d(nt([n,"loop"],[this,"loop"])),this.d(nt([n,"speed"],[this,"speed"]))}get absolutePlayer(){return this._absolutePlayer}get ratio(){return this._absolutePlayer.ratio}get ratioChanged(){return this._absolutePlayer.ratioChanged}set ratio(t){this._absolutePlayer.ratio=t}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new Ul([this,"playing"],[this,"ratio"],[this,"loop"],"播放器"),new eo([this,"currentTime"],"currentTime"),new eo([this,"startTime"]),new eo([this,"stopTime"]),new X([this,"playing"]),new X([this,"loop"]),new M([this,"speed"])]}}};d(hu,"createDefaultProps",()=>({...rt.createDefaultProps(),currentTime:0,startTime:0,stopTime:0,playing:!1,loop:!1,speed:1})),d(hu,"type",hu.register("ESPlayer",hu,{chsName:"ESPlayer",tags:["ESObjects","_ES_Impl_UE"],description:"ESPlayer"}));let Va=hu;function _y(r,e=!1){const t=r.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),n=t.length;if(n===0)return t;if(n===1)return(!t[0][2]===void 0||e)&&(t[0][2]=void 0),t;for(let i=1;i<n;++i){if(t[i][2]!==void 0&&!e)continue;const s=t[i-1][1],o=t[i][1],a=Fr(s),u=Fr(o),l=g.Vector.distance(a,u);if(l===0){t[i][2]=t[i-1][2];continue}const c=ku(s,o),h=o[2]-s[2],f=Math.asin(h/l)*180/Math.PI,p=Number.isFinite(c)?c:0,v=Number.isFinite(f)?f:0;t[i][2]=[p,v,0]}return(t[0][2]===void 0||e)&&(t[0][2]=n>1?t[1][2]:void 0),t}function wy(r,e=!1){const t=r.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),n=t.length;if(n===0)return t;if(n===1)return(!t[0][2]===void 0||e)&&(t[0][2]=void 0),t;for(let i=n-2;i>=0;--i){if(t[i][2]!==void 0&&!e)continue;const s=t[i][1],o=t[i+1][1],a=Fr(s),u=Fr(o),l=g.Vector.distance(a,u);if(l===0){t[i][2]=t[i+1][2];continue}const c=ku(s,o),h=o[2]-s[2],f=Math.asin(h/l)*180/Math.PI,p=Number.isFinite(c)?c:0,v=Number.isFinite(f)?f:0;t[i][2]=[p,v,0]}return(t[n-1][2]===void 0||e)&&(t[n-1][2]=n>1?t[n-2][2]:[0,0,0]),t}function zS(r,e=!1){const t=_y(r,e),n=wy(r,e);if(t.length!==n.length)throw new Error("p.length !== n.length");const i=t.length;for(let s=0;s<i;s++){const o=t[s][2],a=n[s][2];o===void 0&&a===void 0?t[s][2]=void 0:o===void 0?t[s][2]=a:a===void 0?t[s][2]=o:t[s][2]=Uh(o,a,.5)}return t}function US(r,e,t){let i;if(!r.timePosRots)return;const s=[],o=r.timePosRots.length;if(!(o<=2)){s.push(r.timePosRots[0]);for(let a=1;a<o-1;++a){const u=r.timePosRots[a-1][0],l=r.timePosRots[a][0],c=r.timePosRots[a+1][0],h=r.accumDistances[a-1],f=r.accumDistances[a],p=r.accumDistances[a+1],v=f-h;if(v!==0){const S=v-(i??(e.length==1?e[0]:e[a-1]||e[e.length-1])*.5);let P=(S<0?0:S)/v;Number.isNaN(P)&&(P=0);const y=(1-P)*u+P*l,_=r.getCurrent(y);_&&s.push([y,_.position,_.rotation])}t&&s.push(r.timePosRots[a]);const C=p-f;if(C!==0){let S=(e.length==1?e[0]:e[a-1]||e[e.length-1])*.5;const P=(e.length==1?e[0]:e[a]||e[e.length-1])*.5||0;S+P>C?(S=C*(S/(S+P)),i=C-S):i=void 0;let y=(S<0?0:S)/C;Number.isNaN(y)&&(y=0);const _=(1-y)*l+y*c,m=r.getCurrent(_);m&&s.push([_,m.position,m.rotation])}}s.push(r.timePosRots[o-1]),r.timePosRots=s}}function Ey(r,e){if(e<0)return[void 0,0];if(e>r.length-1)return[void 0,r.length-1];const t=[...r].slice(0,e+1).reverse().findIndex(i=>!!(i!=null&&i[2]));if(t===-1)return[void 0,0];const n=e-t;return[r[n][2],n]}function Cy(r,e){if(e<0)return[void 0,0];if(e>=r.length)return[void 0,r.length-1];const t=r.slice(e).findIndex(([,,i])=>i!==void 0),n=t===-1?r.length-1:e+t;return[r[n][2],n]}function GS(r,e,t="Lerp"){let n,i,s,o;if(r.length!==0){if(e<=r[0][0])n=r[0][1],i=r[0][2],s=0,o=0;else if(e>=r[r.length-1][0]){const[u,l,c]=r[r.length-1];n=l,i=c,s=r.length-2,o=1}else{const u=r.findIndex(([l])=>e<=l);if(u===-1)throw new Error("nextIndex === -1");s=u-1;{const[l,c]=r[s],[h,f]=r[u],p=(e-l)/(h-l),v=Vd(c),C=Vd(f),S=g.Vector.lerp(v,C,p);n=Wh(S),o=p}{let[l,c]=Ey(r,s),[h,f]=Cy(r,u);if(t==="Lerp")if(l&&h){if(c<0||f>=r.length)throw new Error("Invalid rotation index");const p=(e-r[c][0])/(r[f][0]-r[c][0]);i=Uh(l,h,p)}else l?i=l:h?i=h:i=void 0;else t==="Prev"?l&&(i=l):t==="Next"&&h&&(i=h)}}return{position:n,rotation:i,index:s,ratio:o}}}function WS(r){try{const e=JSON.parse(r);if(Array.isArray(e)&&e.length>0){const t=typeof e[0][0]=="number",n=Array.isArray(e[0][1])&&e[0][1].length===3;return t&&n?e:void 0}throw new Error("解析有问题")}catch{const t=r.split(/\n|\r\n/),n=[],i=t.length;for(let s=0;s<i;++s){const o=t[s],a=o.split(/[^0-9e\.\+\-]+/).filter(u=>u!=="").map(u=>+u);a.length<4?console.warn(`第${s+1}行数据无法解析成路径的数据, 原内容为: ${o}`):a.length<7?n.push([a[0],[a[1],a[2],a[3]],void 0]):n.push([a[0],[a[1],a[2],a[3]],[a[4],a[5],a[6]]])}return n}}function HS(r,e,t){const{timePosRots:n}=r;if(!n)throw new Error("!timePosRots");if(n.length===0)throw new Error("timePosRots.length === 0");e=Math.max(e,n[0][0]),t=Math.min(t,n[n.length-1][0]);const i=r.getCurrent(e),s=r.getCurrent(t);if(!i||!s)return;const o=[];i.ratio<1&&o.push([e,i.position,i.rotation]);for(let a=i.index+1;a<=s.index;++a)o.push(n[a]);return s.ratio>0&&o.push([t,s.position,s.rotation]),o}const qS=`
368
368
  timePosRots是一个内部包含三个元素的数组,第一个表示时间戳,单位毫秒,第二个表示经纬度,第三个表示姿态(偏航、俯仰、翻转)。示例代码如下:
369
369
  \`\`\`
370
370
  [
@@ -409,7 +409,7 @@ timePosRots是一个内部包含三个元素的数组,第一个表示时间戳
409
409
  ]
410
410
  ]
411
411
  \`\`\`
412
- `,Rn=class Rn extends B{constructor(t,n){super();d(this,"_scratchCurrentInfo",{position:[0,0,0],rotation:[0,0,0],index:0});d(this,"_currentInfo",this.disposeVar(V(void 0,(t,n)=>!1)));d(this,"_player");d(this,"_flyToEvent",this.disposeVar(new N));d(this,"_accumDistancesChanged",this.disposeVar(new N));d(this,"_accumDistancesChangedInit",this.dispose(this.timePosRotsChanged.disposableOn(()=>(this._accumDistancesDirty=!0,this._accumDistancesChanged.emit()))));d(this,"_accumDistancesDirty",!1);d(this,"_accumDistances",[]);d(this,"_getCurrentFunc",this.disposeVar(V(void 0)));this._player=this.disposeVar(new Lr);const i=()=>{const s=this.getCurrent(this.currentTime??0);if(s===void 0)this._currentInfo.value=void 0;else{const{index:o,position:a,rotation:u,ratio:l}=s;this._scratchCurrentInfo.index=o,this._scratchCurrentInfo.position=a,this._scratchCurrentInfo.rotation=u,this._scratchCurrentInfo.ratio=l,this._currentInfo.value=this._scratchCurrentInfo}};i(),this.currentTimeChanged.disposableOn(i),this.timePosRotsChanged.disposableOn(i),this.rotLerpModeChanged.disposableOn(i),this.dispose(nt([this._player,"loop"],[this,"loop"]));{const s=()=>{if(this.startTime===void 0||this.currentTime===void 0)return;const o=this.currentTime-this.startTime;(this._player.currentTime===void 0||Math.abs(o-this._player.currentTime)>.01)&&(this._player.currentTime=o)};s(),this.dispose(this.currentTimeChanged.disposableOn(s))}{const s=()=>{if(this.startTime===void 0||this._player.currentTime===void 0)return;const o=this._player.currentTime+this.startTime;(this.currentTime===void 0||Math.abs(o-this.currentTime)>.01)&&(this.currentTime=o)};s(),this.dispose(this._player.currentTimeChanged.disposableOn(s))}this.dispose(nt([this._player,"duration"],[this,"duration"])),this.dispose(nt([this._player,"playing"],[this,"playing"])),this.dispose(nt([this._player,"speed"],[this,"speed"]));{const s=()=>{(this.autoComputeTimeFromTimePosRots??!0)&&this.computeTimeFromTimePosRots()};s();const o=this.disposeVar(Pe(this.autoComputeTimeFromTimePosRotsChanged,this.timePosRotsChanged));this.dispose(o.disposableOn(s))}{const s=()=>{const o=this.timePosRots;if(!o)return;let a=0;const u=o.length;for(let l=0;l<u;++l){const c=o[l][0];if(c<0)console.warn("地理路径的时间戳不能小于0!");else if(c<a){console.warn(`地理路径的时间戳需要满足从小到大的数据,元素越靠后,时间越靠后!当前不满足条件的元素是index: ${l} time: ${c}`);break}}};s(),this.dispose(this.timePosRotsChanged.disposableOn(s))}{const s=this.disposeVar(Hn(async o=>{if(!this.dataUri)return;await o.promise(xu(1e3));const a=await o.promise(fetch(this.dataUri)),u=await o.promise(a.text());this.timePosRots=Rn.parseData(u)}));this.dispose(this.dataUriChanged.disposableOn(()=>{s.restart()})),this.dispose(this.dataTextChanged.disposableOn(()=>{this.dataText&&(this.timePosRots=Rn.parseData(this.dataText))}))}}get currentInfo(){return this._currentInfo.value}get currentInfoChanged(){return this._currentInfo.changed}get currentIndex(){return this._currentInfo.value&&this._currentInfo.value.index}get currentIndexChanged(){return this._currentInfo.changed}get currentPosition(){return this._currentInfo.value&&this._currentInfo.value.position}get currentPositionChanged(){return this._currentInfo.changed}get currentRotation(){return this._currentInfo.value&&this._currentInfo.value.rotation}get currentRotationChanged(){return this._currentInfo.changed}get player(){return this._player}get flyToEvent(){return this._flyToEvent}flyTo(t){this._flyToEvent.emit(t)}get accumDistancesChanged(){return this._accumDistancesChanged}get accumDistances(){if(!this._accumDistancesDirty)return this._accumDistances;if(!this.timePosRots||this.timePosRots.length<2)this._accumDistances=[];else{const t=this.timePosRots.length;let n=0;const i=[];let s=Fr(this.timePosRots[0][1]);i.push(n);for(let o=1;o<t;++o){const a=Fr(this.timePosRots[o][1]),u=g.Vector.distance(a,s);s=a,n+=u,i.push(n)}this._accumDistances=i}return this._accumDistances}get totalDistanceChanged(){return this._accumDistancesChanged}get totalDistance(){return this.accumDistances.length>0?this.accumDistances[this.accumDistances.length-1]:0}getCurrent(t){return this.getCurrentFunc?this.getCurrentFunc(t,this):this.timePosRots&&zS(this.timePosRots,t,this.rotLerpMode)}subPath(t,n){return this.timePosRots&&GS(this,t,n)}computeRotIfUndefinedUsingPrevLine(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Rn.computeRotIfUndefinedUsingPrevLine(this.timePosRots,t)}computeRotIfUndefinedUsingNextLine(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Rn.computeRotIfUndefinedUsingNextLine(this.timePosRots,t)}computeRotIfUndefinedUsingLerp(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Rn.computeRotIfUndefinedUsingLerp(this.timePosRots,t)}computeRotIfUndefined(t=!1){this.computeRotIfUndefinedUsingPrevLine(t)}addAroundPoints(t,n){jS(this,t,n)}get getCurrentFunc(){return this._getCurrentFunc.value}set getCurrentFunc(t){this._getCurrentFunc.value=t}get getCurrentFuncChanged(){return this._getCurrentFunc.changed}computeTimeFromTimePosRots(){const t=this.timePosRots;if(!t||t.length<=1){this.startTime=void 0,this.stopTime=void 0,this.duration=void 0;return}this.startTime=t[0][0],this.stopTime=t[t.length-1][0],this.duration=this.stopTime-this.startTime}get ratio(){return this.player.ratio}set ratio(t){this.player.ratio=t}get ratioChanged(){return this.player.ratioChanged}};d(Rn,"computeRotIfUndefinedUsingPrevLine",_y),d(Rn,"computeRotIfUndefinedUsingNextLine",wy),d(Rn,"computeRotIfUndefinedUsingLerp",BS),d(Rn,"getLeftRotation",Ey),d(Rn,"getRightRotation",Cy),d(Rn,"parseData",US),d(Rn,"defaults",{timePosRots:[],startTime:0,stopTime:3e3,loop:!1,duration:3e3,playing:!1,dataText:""}),d(Rn,"timePosRotsMd",WS);let Bs=Rn;(r=>{r.createDefaultProps=()=>({show:!1,currentPoiShow:!0,timePosRots:ps(void 0,(e,t)=>e[0]===t[0]&&e[1].every((n,i)=>n===t[1][i])&&e[2]===t[2]===void 0||e[2]!==void 0&&t[2]!==void 0&&e[2].every((n,i)=>t[2][i]),e=>[e[0],[...e[1]],e[2]&&[...e[2]]||void 0]),autoComputeTimeFromTimePosRots:!0,leadTime:0,trailTime:0,startTime:void 0,stopTime:void 0,loop:!1,currentTime:0,duration:void 0,speed:1,playing:!1,polylineShow:!0,width:1,ground:!1,color:dt([1,1,1,1]),hasDash:!1,gapColor:dt([0,0,0,0]),dashLength:16,dashPattern:255,depthTest:!1,arcType:"GEODESIC",allowPicking:!1,dataUri:"",dataText:void 0,rotLerpMode:"Lerp",debug:!1})})(Bs||(Bs={})),ji(Bs.prototype,Bs.createDefaultProps);const du=class du extends xi{constructor(t){super(t);d(this,"_path");d(this,"_currentPositionChanged",this.dv(new N));d(this,"_currentRotationChanged",this.dv(new N));d(this,"_currentChanged",this.dv(new N));d(this,"_deprecated",[]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this._path=this.dv(new Bs),this.d(this._path.currentInfoChanged.don(()=>this._currentPositionChanged.emit(this._path.currentPosition))),this.d(this._path.currentInfoChanged.don(()=>this._currentRotationChanged.emit(this.currentRotation))),this.d(this._path.currentInfoChanged.don(()=>this._currentChanged.emit(this.current))),this._path.show=!0,this._path.polylineShow=!1,this._path.currentPoiShow=!1;{const n=()=>{if(!this.timeStamps||!this.points){this._path.timePosRots=void 0;return}const s=this.timeStamps.length,o=this.points.length,a=Math.min(s,o),u=[];for(let l=0;l<a;++l)u.push([this.timeStamps[l],this.points[l]]);this._path.timePosRots=u,this.rotationRadius.some(l=>l>0)?(this._path.addAroundPoints(this.rotationRadius,!0),this._path.computeRotIfUndefinedUsingLerp(!0),this._path.rotLerpMode="Lerp"):(this._path.computeRotIfUndefinedUsingPrevLine(!0),this._path.rotLerpMode="Next")},i=this.dv(Pe(this.timeStampsChanged,this.pointsChanged,this.rotationRadiusChanged));n(),this.d(i.don(n))}}get path(){return this._path}get currentPosition(){return this._path.currentPosition}get currentPositionChanged(){return this._currentPositionChanged}get currentRotation(){const t=this._path.currentRotation;if(t)return[na(t[0]-90),t[1],t[2]]}get currentRotationChanged(){return this._currentRotationChanged}get current(){return{position:this.currentPosition,rotation:this.currentRotation}}get currentChanged(){return this._currentChanged}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Dg([this,"timeStamps"],"时间序列",[],!0),new M([this,"speed"],"线条流速",1),new bt([this,"materialMode"],[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","pureColor"]],"模式","singleArrow"),new it([this,"rotationRadius"],"拐弯半径")],more:[...t.more,new un([this,"currentPosition"],"当前位置",void 0,!0,!0)]}}};d(du,"createDefaultProps",()=>({...Pt.createDefaultProps(),timeStamps:ne(void 0),speed:1,materialMode:"singleArrow",stroked:!0,strokeStyle:_t({width:10,widthType:"world",color:[1,0,.73,1],material:"",materialParams:{arrowColor:[1,1,1,1]},ground:!1}),rotationRadius:[5]})),d(du,"type",du.register("ESPath",du,{chsName:"ESPath",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPath"}));let Ba=du;const Bo=class Bo extends Pt{constructor(t){super(t);d(this,"_lineString",this.dv(new xi));this.components.disposableAdd(this._lineString,!1),this.stroked=!0,this.d(Bi([this.pointsChanged,this.resolutionChanged,this.sharpnessChanged],()=>{try{if(this.points&&this.points.length>=2){const n=Kv(this.points,this.resolution,this.sharpness);this._lineString.points=n}else this._lineString.points=void 0}catch(n){console.error(n),this._lineString.points=void 0}},{immediate:!0})),this.d(j([this._lineString,"show"],[this,"show"])),this.d(j([this._lineString,"allowPicking"],[this,"allowPicking"])),this.d(j([this._lineString,"collision"],[this,"collision"])),this.d(j([this._lineString,"stroked"],[this,"stroked"])),this.d(j([this._lineString,"strokeStyle"],[this,"strokeStyle"])),this.d(nt([this._lineString,"flyInParam"],[this,"flyInParam"])),this.d(nt([this._lineString,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(n=>{this._lineString.flyIn(n)})),this.d(this.flyToEvent.don(n=>{this._lineString.flyTo(n)})),this.d(this.calcFlyToParamEvent.don(()=>{this._lineString.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{this._lineString.calcFlyInParam()}))}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new M([this,"resolution"],"解析度",1e3),new M([this,"sharpness"],"锐利度",.85)]}}get lineString(){return this._lineString}};d(Bo,"createDefaultProps",()=>({...Pt.createDefaultProps(),resolution:1e3,sharpness:.85})),d(Bo,"type",Bo.register("ESGeoBezierSpline",Bo,{chsName:"贝塞尔曲线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"贝塞尔曲线"})),d(Bo,"supportEditingModes",[...Pt.supportEditingModes,et.LineStringAppend,et.LineStringInsert]);let Yf=Bo;const Xs=class Xs extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([]),new X([this,"textEditingInteraction"],"文本编辑交互"),new X([this,"textEditing"],"文本编辑"),new M([this,"width"],"宽度",Xs.defaults.width,!0),new Bh([this,"text"],"内容",Xs.defaults.text,void 0,!0),new Rr([this,"originRatioAndOffset"],"原点比例和偏移"),new M([this,"opacity"],"透明度"),new M([this,"fontSize"],"字体大小"),new Dt([this,"color"],"字体颜色"),new Dt([this,"backgroundColor"],"背景颜色"),new Rr([this,"padding"],"内边距"),new Rr([this,"borderRadius"],"边框圆角"),new Dt([this,"borderColor"],"边框颜色"),new M([this,"borderWidth"],"边框宽度"),new bt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置"),new bt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};d(Xs,"createDefaultProps",()=>({...st.createDefaultProps(),text:"请输入文字",width:80,textEditingInteraction:!1,textEditing:!1,originRatioAndOffset:dt([.5,1,0,0]),opacity:1,fontSize:14,textAlign:"left",color:dt([1,1,1,1]),backgroundColor:dt([0,0,0,.8]),padding:dt([5,5,5,5]),borderRadius:dt([6,6,6,6]),borderWidth:0,borderColor:dt([1,1,1,1]),borderStyle:"solid"})),d(Xs,"type",Xs.register("ESGeoDivTextPoi",Xs,{chsName:"图标点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"图标点"}));let Jf=Xs;const fu=class fu extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Dt([this,"color"],"颜色",[1,1,0,1])]}}};d(fu,"createDefaultProps",()=>({...st.createDefaultProps(),color:dt([1,1,0,1])})),d(fu,"type",fu.register("ESCityBasePoint",fu,{chsName:"城市基点(Czm)",tags:["ESObjects","CityObjects","_ES_Impl_Cesium"],description:"城市基点(Czm)"}));let $f=fu;const Sy=`(dataSource) => {
412
+ `,Rn=class Rn extends V{constructor(t,n){super();d(this,"_scratchCurrentInfo",{position:[0,0,0],rotation:[0,0,0],index:0});d(this,"_currentInfo",this.disposeVar(B(void 0,(t,n)=>!1)));d(this,"_player");d(this,"_flyToEvent",this.disposeVar(new N));d(this,"_accumDistancesChanged",this.disposeVar(new N));d(this,"_accumDistancesChangedInit",this.dispose(this.timePosRotsChanged.disposableOn(()=>(this._accumDistancesDirty=!0,this._accumDistancesChanged.emit()))));d(this,"_accumDistancesDirty",!1);d(this,"_accumDistances",[]);d(this,"_getCurrentFunc",this.disposeVar(B(void 0)));this._player=this.disposeVar(new Lr);const i=()=>{const s=this.getCurrent(this.currentTime??0);if(s===void 0)this._currentInfo.value=void 0;else{const{index:o,position:a,rotation:u,ratio:l}=s;this._scratchCurrentInfo.index=o,this._scratchCurrentInfo.position=a,this._scratchCurrentInfo.rotation=u,this._scratchCurrentInfo.ratio=l,this._currentInfo.value=this._scratchCurrentInfo}};i(),this.currentTimeChanged.disposableOn(i),this.timePosRotsChanged.disposableOn(i),this.rotLerpModeChanged.disposableOn(i),this.dispose(nt([this._player,"loop"],[this,"loop"]));{const s=()=>{if(this.startTime===void 0||this.currentTime===void 0)return;const o=this.currentTime-this.startTime;(this._player.currentTime===void 0||Math.abs(o-this._player.currentTime)>.01)&&(this._player.currentTime=o)};s(),this.dispose(this.currentTimeChanged.disposableOn(s))}{const s=()=>{if(this.startTime===void 0||this._player.currentTime===void 0)return;const o=this._player.currentTime+this.startTime;(this.currentTime===void 0||Math.abs(o-this.currentTime)>.01)&&(this.currentTime=o)};s(),this.dispose(this._player.currentTimeChanged.disposableOn(s))}this.dispose(nt([this._player,"duration"],[this,"duration"])),this.dispose(nt([this._player,"playing"],[this,"playing"])),this.dispose(nt([this._player,"speed"],[this,"speed"]));{const s=()=>{(this.autoComputeTimeFromTimePosRots??!0)&&this.computeTimeFromTimePosRots()};s();const o=this.disposeVar(Pe(this.autoComputeTimeFromTimePosRotsChanged,this.timePosRotsChanged));this.dispose(o.disposableOn(s))}{const s=()=>{const o=this.timePosRots;if(!o)return;let a=0;const u=o.length;for(let l=0;l<u;++l){const c=o[l][0];if(c<0)console.warn("地理路径的时间戳不能小于0!");else if(c<a){console.warn(`地理路径的时间戳需要满足从小到大的数据,元素越靠后,时间越靠后!当前不满足条件的元素是index: ${l} time: ${c}`);break}}};s(),this.dispose(this.timePosRotsChanged.disposableOn(s))}{const s=this.disposeVar(Hn(async o=>{if(!this.dataUri)return;await o.promise(xu(1e3));const a=await o.promise(fetch(this.dataUri)),u=await o.promise(a.text());this.timePosRots=Rn.parseData(u)}));this.dispose(this.dataUriChanged.disposableOn(()=>{s.restart()})),this.dispose(this.dataTextChanged.disposableOn(()=>{this.dataText&&(this.timePosRots=Rn.parseData(this.dataText))}))}}get currentInfo(){return this._currentInfo.value}get currentInfoChanged(){return this._currentInfo.changed}get currentIndex(){return this._currentInfo.value&&this._currentInfo.value.index}get currentIndexChanged(){return this._currentInfo.changed}get currentPosition(){return this._currentInfo.value&&this._currentInfo.value.position}get currentPositionChanged(){return this._currentInfo.changed}get currentRotation(){return this._currentInfo.value&&this._currentInfo.value.rotation}get currentRotationChanged(){return this._currentInfo.changed}get player(){return this._player}get flyToEvent(){return this._flyToEvent}flyTo(t){this._flyToEvent.emit(t)}get accumDistancesChanged(){return this._accumDistancesChanged}get accumDistances(){if(!this._accumDistancesDirty)return this._accumDistances;if(!this.timePosRots||this.timePosRots.length<2)this._accumDistances=[];else{const t=this.timePosRots.length;let n=0;const i=[];let s=Fr(this.timePosRots[0][1]);i.push(n);for(let o=1;o<t;++o){const a=Fr(this.timePosRots[o][1]),u=g.Vector.distance(a,s);s=a,n+=u,i.push(n)}this._accumDistances=i}return this._accumDistances}get totalDistanceChanged(){return this._accumDistancesChanged}get totalDistance(){return this.accumDistances.length>0?this.accumDistances[this.accumDistances.length-1]:0}getCurrent(t){return this.getCurrentFunc?this.getCurrentFunc(t,this):this.timePosRots&&GS(this.timePosRots,t,this.rotLerpMode)}subPath(t,n){return this.timePosRots&&HS(this,t,n)}computeRotIfUndefinedUsingPrevLine(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Rn.computeRotIfUndefinedUsingPrevLine(this.timePosRots,t)}computeRotIfUndefinedUsingNextLine(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Rn.computeRotIfUndefinedUsingNextLine(this.timePosRots,t)}computeRotIfUndefinedUsingLerp(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Rn.computeRotIfUndefinedUsingLerp(this.timePosRots,t)}computeRotIfUndefined(t=!1){this.computeRotIfUndefinedUsingPrevLine(t)}addAroundPoints(t,n){US(this,t,n)}get getCurrentFunc(){return this._getCurrentFunc.value}set getCurrentFunc(t){this._getCurrentFunc.value=t}get getCurrentFuncChanged(){return this._getCurrentFunc.changed}computeTimeFromTimePosRots(){const t=this.timePosRots;if(!t||t.length<=1){this.startTime=void 0,this.stopTime=void 0,this.duration=void 0;return}this.startTime=t[0][0],this.stopTime=t[t.length-1][0],this.duration=this.stopTime-this.startTime}get ratio(){return this.player.ratio}set ratio(t){this.player.ratio=t}get ratioChanged(){return this.player.ratioChanged}};d(Rn,"computeRotIfUndefinedUsingPrevLine",_y),d(Rn,"computeRotIfUndefinedUsingNextLine",wy),d(Rn,"computeRotIfUndefinedUsingLerp",zS),d(Rn,"getLeftRotation",Ey),d(Rn,"getRightRotation",Cy),d(Rn,"parseData",WS),d(Rn,"defaults",{timePosRots:[],startTime:0,stopTime:3e3,loop:!1,duration:3e3,playing:!1,dataText:""}),d(Rn,"timePosRotsMd",qS);let Bs=Rn;(r=>{r.createDefaultProps=()=>({show:!1,currentPoiShow:!0,timePosRots:ps(void 0,(e,t)=>e[0]===t[0]&&e[1].every((n,i)=>n===t[1][i])&&e[2]===t[2]===void 0||e[2]!==void 0&&t[2]!==void 0&&e[2].every((n,i)=>t[2][i]),e=>[e[0],[...e[1]],e[2]&&[...e[2]]||void 0]),autoComputeTimeFromTimePosRots:!0,leadTime:0,trailTime:0,startTime:void 0,stopTime:void 0,loop:!1,currentTime:0,duration:void 0,speed:1,playing:!1,polylineShow:!0,width:1,ground:!1,color:dt([1,1,1,1]),hasDash:!1,gapColor:dt([0,0,0,0]),dashLength:16,dashPattern:255,depthTest:!1,arcType:"GEODESIC",allowPicking:!1,dataUri:"",dataText:void 0,rotLerpMode:"Lerp",debug:!1})})(Bs||(Bs={})),ji(Bs.prototype,Bs.createDefaultProps);const du=class du extends xi{constructor(t){super(t);d(this,"_path");d(this,"_currentPositionChanged",this.dv(new N));d(this,"_currentRotationChanged",this.dv(new N));d(this,"_currentChanged",this.dv(new N));d(this,"_deprecated",[]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this._path=this.dv(new Bs),this.d(this._path.currentInfoChanged.don(()=>this._currentPositionChanged.emit(this._path.currentPosition))),this.d(this._path.currentInfoChanged.don(()=>this._currentRotationChanged.emit(this.currentRotation))),this.d(this._path.currentInfoChanged.don(()=>this._currentChanged.emit(this.current))),this._path.show=!0,this._path.polylineShow=!1,this._path.currentPoiShow=!1;{const n=()=>{if(!this.timeStamps||!this.points){this._path.timePosRots=void 0;return}const s=this.timeStamps.length,o=this.points.length,a=Math.min(s,o),u=[];for(let l=0;l<a;++l)u.push([this.timeStamps[l],this.points[l]]);this._path.timePosRots=u,this.rotationRadius.some(l=>l>0)?(this._path.addAroundPoints(this.rotationRadius,!0),this._path.computeRotIfUndefinedUsingLerp(!0),this._path.rotLerpMode="Lerp"):(this._path.computeRotIfUndefinedUsingPrevLine(!0),this._path.rotLerpMode="Next")},i=this.dv(Pe(this.timeStampsChanged,this.pointsChanged,this.rotationRadiusChanged));n(),this.d(i.don(n))}}get path(){return this._path}get currentPosition(){return this._path.currentPosition}get currentPositionChanged(){return this._currentPositionChanged}get currentRotation(){const t=this._path.currentRotation;if(t)return[na(t[0]-90),t[1],t[2]]}get currentRotationChanged(){return this._currentRotationChanged}get current(){return{position:this.currentPosition,rotation:this.currentRotation}}get currentChanged(){return this._currentChanged}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Dg([this,"timeStamps"],"时间序列",[],!0),new M([this,"speed"],"线条流速",1),new bt([this,"materialMode"],[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","pureColor"]],"模式","singleArrow"),new it([this,"rotationRadius"],"拐弯半径")],more:[...t.more,new un([this,"currentPosition"],"当前位置",void 0,!0,!0)]}}};d(du,"createDefaultProps",()=>({...Pt.createDefaultProps(),timeStamps:ne(void 0),speed:1,materialMode:"singleArrow",stroked:!0,strokeStyle:_t({width:10,widthType:"world",color:[1,0,.73,1],material:"",materialParams:{arrowColor:[1,1,1,1]},ground:!1}),rotationRadius:[5]})),d(du,"type",du.register("ESPath",du,{chsName:"ESPath",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPath"}));let Ba=du;const Bo=class Bo extends Pt{constructor(t){super(t);d(this,"_lineString",this.dv(new xi));this.components.disposableAdd(this._lineString,!1),this.stroked=!0,this.d(Bi([this.pointsChanged,this.resolutionChanged,this.sharpnessChanged],()=>{try{if(this.points&&this.points.length>=2){const n=Kv(this.points,this.resolution,this.sharpness);this._lineString.points=n}else this._lineString.points=void 0}catch(n){console.error(n),this._lineString.points=void 0}},{immediate:!0})),this.d(j([this._lineString,"show"],[this,"show"])),this.d(j([this._lineString,"allowPicking"],[this,"allowPicking"])),this.d(j([this._lineString,"collision"],[this,"collision"])),this.d(j([this._lineString,"stroked"],[this,"stroked"])),this.d(j([this._lineString,"strokeStyle"],[this,"strokeStyle"])),this.d(nt([this._lineString,"flyInParam"],[this,"flyInParam"])),this.d(nt([this._lineString,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(n=>{this._lineString.flyIn(n)})),this.d(this.flyToEvent.don(n=>{this._lineString.flyTo(n)})),this.d(this.calcFlyToParamEvent.don(()=>{this._lineString.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{this._lineString.calcFlyInParam()}))}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new M([this,"resolution"],"解析度",1e3),new M([this,"sharpness"],"锐利度",.85)]}}get lineString(){return this._lineString}};d(Bo,"createDefaultProps",()=>({...Pt.createDefaultProps(),resolution:1e3,sharpness:.85})),d(Bo,"type",Bo.register("ESGeoBezierSpline",Bo,{chsName:"贝塞尔曲线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"贝塞尔曲线"})),d(Bo,"supportEditingModes",[...Pt.supportEditingModes,et.LineStringAppend,et.LineStringInsert]);let Yf=Bo;const Xs=class Xs extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([]),new X([this,"textEditingInteraction"],"文本编辑交互"),new X([this,"textEditing"],"文本编辑"),new M([this,"width"],"宽度",Xs.defaults.width,!0),new Bh([this,"text"],"内容",Xs.defaults.text,void 0,!0),new Rr([this,"originRatioAndOffset"],"原点比例和偏移"),new M([this,"opacity"],"透明度"),new M([this,"fontSize"],"字体大小"),new Dt([this,"color"],"字体颜色"),new Dt([this,"backgroundColor"],"背景颜色"),new Rr([this,"padding"],"内边距"),new Rr([this,"borderRadius"],"边框圆角"),new Dt([this,"borderColor"],"边框颜色"),new M([this,"borderWidth"],"边框宽度"),new bt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置"),new bt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};d(Xs,"createDefaultProps",()=>({...st.createDefaultProps(),text:"请输入文字",width:80,textEditingInteraction:!1,textEditing:!1,originRatioAndOffset:dt([.5,1,0,0]),opacity:1,fontSize:14,textAlign:"left",color:dt([1,1,1,1]),backgroundColor:dt([0,0,0,.8]),padding:dt([5,5,5,5]),borderRadius:dt([6,6,6,6]),borderWidth:0,borderColor:dt([1,1,1,1]),borderStyle:"solid"})),d(Xs,"type",Xs.register("ESGeoDivTextPoi",Xs,{chsName:"图标点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"图标点"}));let Jf=Xs;const fu=class fu extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Dt([this,"color"],"颜色",[1,1,0,1])]}}};d(fu,"createDefaultProps",()=>({...st.createDefaultProps(),color:dt([1,1,0,1])})),d(fu,"type",fu.register("ESCityBasePoint",fu,{chsName:"城市基点(Czm)",tags:["ESObjects","CityObjects","_ES_Impl_Cesium"],description:"城市基点(Czm)"}));let $f=fu;const Sy=`(dataSource) => {
413
413
  var entities = dataSource.entities.values;
414
414
 
415
415
  for (var i = 0; i < entities.length; i++) {
@@ -424,12 +424,12 @@ timePosRots是一个内部包含三个元素的数组,第一个表示时间戳
424
424
  }
425
425
  }
426
426
  }
427
- `,HS=`data 路径都可以使用下面回调函数
427
+ `,XS=`data 路径都可以使用下面回调函数
428
428
  \`\`\`
429
429
  ${Sy}
430
430
  \`\`\`
431
431
 
432
- `,vl=Date.now();new Date(vl).toISOString(),new Date(vl+24*60*60*1e3).toISOString();const Fi=class Fi extends rt{constructor(t){super(t);d(this,"_flyToEvent",this.disposeVar(new N));d(this,"_resetClockEvent",this.disposeVar(new N));this.ad(nt([this,"uri"],[this,"url"]))}get flyToEvent(){return this._flyToEvent}flyTo(t){this._flyToEvent.emit(t)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new it([this,"url"],"路径","${earthsdk3-assets-script-dir}/assets/misc/simple.czml",void 0,!0),new X([this,"clockEnabled"],"启用",!1),new M([this,"multiplier"],"倍速",Fi.defaults.multiplier),new X([this,"autoResetClock"],"自动设置时钟",!0),new eo([this,"startTime"],"开始时间",Fi.defaults.startTime,!0),new eo([this,"stopTime"],"结束时间",Fi.defaults.stopTime,!0),new eo([this,"currentTime"],"当前时间",Fi.defaults.currentTime,!0),new bt([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep","SYSTEM_CLOCK_MULTIPLIER"),new bt([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange","UNBOUNDED"),new X([this,"shouldAnimate"],"是否启用动画",!1)],general:[...t.general,new X([this,"show"],"是否显示",!0),new X([this,"collision"],"开启碰撞",!1),new X([this,"allowPicking"],"允许拾取",!1)],more:[...t.more,new lt(["number"],n=>this.flyTo(n),[1e3],"飞入"),new lt([],()=>this.resetClock(),[],"重设时钟"),new ys([this,"loadFuncStr"],"loadFnStr",Sy,HS,!0)]}}};d(Fi,"createDefaultProps",()=>({show:!0,uri:void 0,url:void 0,allowPicking:!1,autoResetClock:!0,clockEnabled:!1,startTime:vl,stopTime:vl+24*60*60*1e3,currentTime:vl,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...rt.createDefaultProps()})),d(Fi,"type",Fi.register("ESCzml",Fi,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"}));let Kf=Fi;const pu=class pu extends rt{getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([]),new X([this,"show"],"是否显示"),new M([this,"cssSize"],"尺寸"),new Fe([this,"cssPosition"],"位置"),new Mu([this,"imgUrl"],"图片地址")]}}};d(pu,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:rt.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")})),d(pu,"type",pu.register("ESNavigator",pu,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"}));let Zf=pu;const Ai=class Ai extends rt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([],"通用","通用"),new X([this,"show"],"是否显示",Ai.defaults.show),new M([this,"height"],"高度",Ai.defaults.height,!0),new M([this,"fontSize"],"文字大小",Ai.defaults.fontSize,!0),new Dt([this,"bgColor"],"背景颜色",Ai.defaults.bgColor,!0)]}}};d(Ai,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:dt([71/255,71/255,71/255,.8])})),d(Ai,"type",Ai.register("ESViewerStatusBar",Ai,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Qf=Ai;const ki=class ki extends rt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([],"通用","通用"),new X([this,"show"],"是否显示",ki.defaults.show),new M([this,"height"],"高度",ki.defaults.height,!0),new M([this,"fontSize"],"文字大小",ki.defaults.fontSize,!0),new Dt([this,"bgColor"],"背景颜色",ki.defaults.bgColor,!0)]}}};d(ki,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:dt([71/255,71/255,71/255,.8])})),d(ki,"type",ki.register("ESViewerStatusBarScale",ki,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let tp=ki;const gu=class gu extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new pt([this,"url"],"路径","",!0),new M([this,"progress"],"进度",0,!1,!0)]}}};d(gu,"createDefaultProps",()=>({...st.createDefaultProps(),url:"",progress:0})),d(gu,"type",gu.register("ESGaussianSplatting",gu,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"}));let ep=gu;const jo=class jo extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new pt([this,"mesh"],"mesh地址",jo.defaults.mesh)]}}};d(jo,"createDefaultProps",()=>({...st.createDefaultProps(),mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"})),d(jo,"type",jo.register("ESStaticMesh",jo,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"}));let np=jo;const mu=class mu extends Pt{constructor(t){super(t);d(this,"_startEvent",this.dv(new N));d(this,"_clearEvent",this.dv(new N));d(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new So),this.ad(this.components.disposableAdd(this._eSGeoExtrudedPolygon)),this.eSGeoExtrudedPolygon.perPositionHeight=!0,this.eSGeoExtrudedPolygon.extrudedHeight=0,this.stroked=!0,this.strokeWidth=2,this.strokeColor=[1,0,0,1],this.ad(j([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(j([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(j([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(j([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(j([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(j([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(j([this.eSGeoExtrudedPolygon,"points"],[this,"points"])),this.ad(this.clearEvent.don(()=>{this.points=void 0,this.depths=void 0,this.windowPositions=void 0}))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get eSGeoExtrudedPolygon(){return this._eSGeoExtrudedPolygon}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.clear(),[],"清除分析"),new it([this,"windowPositions"],"屏幕坐标",[],void 0,!1,!0),new it([this,"depths"],"深度值",[],void 0,!1,!0),new M([this,"radius"],"半径",1e4,!0)]}}};d(mu,"createDefaultProps",()=>({...Pt.createDefaultProps(),windowPositions:Ud([]),depths:ne([]),radius:V(1e4)})),d(mu,"type",mu.register("ESSkylineAnalysis",mu,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let rp=mu;const cs=class cs extends Wt{constructor(e){super(e)}getESProperties(){const e=super.getESProperties();return{...e,basic:[...e.basic,new it([this,"data"],"数据",[],void 0,!0),new it([this,"gradient"],"渐变",cs.defaults.gradient,void 0,!0),new M([this,"radius"],"半径",cs.defaults.radius,void 0,!0),new M([this,"blur"],"模糊",cs.defaults.blur,!0),new X([this,"is3D"],"is3D",!1,!0)]}}};d(cs,"createDefaultProps",()=>({...Wt.createDefaultProps(),is3D:V(!1),data:xl([]),gradient:Zt({".5":"green",".7":"yellow",".95":"red"}),radius:V(10),blur:V(.85)})),d(cs,"type",cs.register("ESHeatMap",cs,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"}));let Wc=cs;const zo=class zo extends Pt{constructor(t){super(t);d(this,"editingBindMode","scatter")}};d(zo,"createDefaultProps",()=>({...Pt.createDefaultProps(),pointed:!0})),d(zo,"type",zo.register("ESGeoPoints",zo,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),d(zo,"supportEditingModes",[...Pt.supportEditingModes,et.ScatterAppend,et.ScatterModify]);let yl=zo;const by=async(r,e=[],t)=>{const n=[];for(const i of e){const{coordinates:s}=i.geometry;for(const o of s){const a=await Promise.all(o.map(async u=>{let l=u[2]??0;if(t)if(t.type==="absolute")l=t.height??l;else if(t.type==="relative"){const c=await r.getTerrainHeight([u[0],u[1]])??0;l=(t.height??l)+c}else t.type==="terrain"&&(l=await r.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));n.push({...i,points:a})}}return n},Py=async(r,e=[],t)=>await Promise.all(e.map(async n=>{var u,l,c,h,f,p,v,C,S;const i=((u=n.geometry)==null?void 0:u.x)??((c=(l=n.geometry)==null?void 0:l.coordinates)==null?void 0:c[0]),s=((h=n.geometry)==null?void 0:h.y)??((p=(f=n.geometry)==null?void 0:f.coordinates)==null?void 0:p[1]);let a=((v=n.geometry)==null?void 0:v.z)??((S=(C=n.geometry)==null?void 0:C.coordinates)==null?void 0:S[2])??0;if(t)if(t.type==="absolute")a=t.height??a;else if(t.type==="relative"){const P=await r.getTerrainHeight([i,s])??0;a=(t.height??a)+P}else t.type==="terrain"&&(a=await r.getTerrainHeight([i,s])??0);return{...n,points:[i,s,a]}})),Iy=async(r,e=[],t)=>{const n=[];return await Promise.all(e.map(async i=>{const{coordinates:s}=i.geometry;await Promise.all(s.map(async o=>{const a=await Promise.all(o.map(async u=>{let l=u[2]??0;if(t)if(t.type==="absolute")l=t.height??l;else if(t.type==="relative"){const c=await r.getTerrainHeight([u[0],u[1]])??0;l=(t.height??l)+c}else t.type==="terrain"&&(l=await r.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));n.push({...i,points:a})}))})),n};function qS(r){const e=Ke.lineString(r),t=Ke.length(e),n=Ke.along(e,t/2);return[n.geometry.coordinates[0],n.geometry.coordinates[1],n.geometry.coordinates[2]||0]}function XS(r,e){const t=Ke.lineString(r),n=Ke.length(t),i=Math.floor(n/e),s=[];if(s.push(r[0]),i<1)return[r[0]];for(let o=1;o<i;o+=1){const a=Ke.along(t,n*(o/i));s.push([a.geometry.coordinates[0],a.geometry.coordinates[1],a.geometry.coordinates[2]||0])}return s}function YS(r){const e=[...r];JSON.stringify(r[0])!==JSON.stringify(r[r.length-1])&&e.push(r[0]);const t=Ke.polygon([e]),n=Ke.center(t);return[n.geometry.coordinates[0],n.geometry.coordinates[1],n.geometry.coordinates[2]||0]}function xy(r,e,t){const n=r.dv(new Aa);for(const i in t)i!=="type"&&(n[i]=t[i]);n.position=e,r.d(r.components.disposableAdd(n))}function ip(r,e,t,n){let i=n.textTemplate||n.symbol.text||"";const s=/{{(.*?)}}/;for(;s.test(i);){const c=i.match(s);if(c){const h=c[1].trim(),f=t[`${h}`]||"-";i=i.replace(c[0],f)}}let o=n.symbol;const{minVisibleDistance:a,maxVisibleDistance:u}=n;a&&u&&(o={...o,minVisibleDistance:a,maxVisibleDistance:u});const l={...o,text:i};xy(r,e,l)}function ja(r,e){const t={width:null,height:null,color:null,opacity:null,rotation:null};return e.forEach(n=>{n.type==="size"?n.axis==="width"?t.width=r[n.field]||null:n.axis==="height"&&(t.height=r[n.field]||null):n.type==="color"?t.color=r[n.field]||null:n.type==="opacity"?t.opacity=r[n.field]||null:n.type==="rotation"&&(t.rotation=r[n.field]||null)}),t}function sp(r,e,t){const i={...e.symbol};if(t&&t.length>0){const s=ja(r,t);for(let o in s)i[o]!==void 0&&s[o]!==null&&(i[o]=s[o])}return i}function op(r,e,t){var l,c;const n=e,{uniqueValueInfos:i,field:s,fieldDelimiter:o,defaultSymbol:a}=n;let u={...a};if(Array.isArray(s)){const f=s.map(p=>r[p]??"").join(o);u=((l=i.find(p=>p.value==f))==null?void 0:l.symbol)||a}else u=((c=i.find(h=>h.value==r[s]))==null?void 0:c.symbol)||a;if(t&&t.length>0){const h=ja(r,t);for(let f in h)u[f]!==void 0&&h[f]!==null&&(u[f]=h[f])}return u}function ap(r,e,t){const n=e,{classBreakInfos:i,field:s,defaultSymbol:o}=n;let a=o;const u=r[s];if(u===void 0||typeof u!="number")a=o;else{const l=i.find(c=>u<=c.maxValue&&u>=c.minValue);l?a=l.symbol:a=o}if(t&&t.length>0){const l=ja(r,t);for(let c in l)a[c]!==void 0&&l[c]!==null&&(a[c]=l[c])}return a}function JS(r,e){function t(l,c,h,f){const p=w=>w*Math.PI/180,v=w=>w*180/Math.PI,C=p(l),S=p(h),P=p(f-c),y=Math.sin(P)*Math.cos(S),_=Math.cos(C)*Math.sin(S)-Math.sin(C)*Math.cos(S)*Math.cos(P),m=Math.atan2(y,_);return(v(m)+360)%360}function n(l,c,h,f,p){const C=b=>b*Math.PI/180,S=b=>b*180/Math.PI,P=f/6371e3,y=C(p),_=C(l),m=C(c),w=Math.asin(Math.sin(_)*Math.cos(P)+Math.cos(_)*Math.sin(P)*Math.cos(y)),E=m+Math.atan2(Math.sin(y)*Math.sin(P)*Math.cos(_),Math.cos(P)-Math.sin(_)*Math.sin(w));return{lat:S(w),lng:S(E),alt:h}}function i(l){const c=[];l.length>1&&c.push(t(l[0].lat,l[0].lng,l[1].lat,l[1].lng));for(let h=1;h<l.length-1;h++){const f=t(l[h-1].lat,l[h-1].lng,l[h].lat,l[h].lng),p=t(l[h].lat,l[h].lng,l[h+1].lat,l[h+1].lng);let v=(f+p)/2;Math.abs(f-p)>180&&(v=(v+180)%360),c.push(v)}return l.length>1&&c.push(t(l[l.length-2].lat,l[l.length-2].lng,l[l.length-1].lat,l[l.length-1].lng)),l.length===1&&c.push(0),c}if(!r||r.length<2)throw new Error("至少需要两个点才能生成路径");if(e<=0)throw new Error("宽度必须大于0");const s=e/2,o=i(r),a=[],u=[];for(let l=0;l<r.length;l++){const c=(o[l]+90)%360,h=(o[l]+270)%360,f=r[l].alt!==void 0?r[l].alt:0;a.push(n(r[l].lat,r[l].lng,f,s,c)),u.push(n(r[l].lat,r[l].lng,f,s,h))}return a.concat(u.reverse())}function $S(r,e,t,n){function i(C){return C*(Math.PI/180)}const s=6378137,o=i(r),a=i(e),u=i(t),l=i(n),c=u-o,h=l-a,f=Math.sin(c/2)**2+Math.cos(o)*Math.cos(u)*Math.sin(h/2)**2,p=2*Math.atan2(Math.sqrt(f),Math.sqrt(1-f));return s*p}const Ty=(r,e,t)=>Array.isArray(e)?e.map(s=>r[s]??"").join(t):r[e]??"";function Ny(r,e){const n={...e.symbol};return{points:r.map(i=>i.points),symbol:n}}function Oy(r,e){const t=e,{uniqueValueInfos:n,field:i,fieldDelimiter:s,defaultSymbol:o}=t,a=[],u=n.reduce((c,h)=>{const f=h.value.toString();return c[f]={points:[],value:h.value,symbol:h.symbol},c},{});for(let c=0;c<r.length;c++){const h=r[c],f=Ty(h,i,s);if(f!==void 0&&f!==""){const p=u[f.toString()];p?p.points.push(h.points):a.push(h.points)}else a.push(h.points)}const l=[];for(let c in u){const{points:h,symbol:f}=u[c];h.length>0&&l.push({points:h,symbol:f})}return a.length>0&&l.push({points:a,symbol:o}),l}function Dy(r,e){const t=e,{classBreakInfos:n,field:i,defaultSymbol:s}=t,o=[],a=n.map(l=>({...l,points:[]}));for(let l=0;l<r.length;l++){const c=r[l],h=c[i];if(h===void 0||typeof h!="number")o.push(c.points);else{const f=a.findIndex(p=>h<=p.maxValue&&h>=p.minValue);f!==-1?a[f].points.push(c.points):o.push(c.points)}}const u=[];return a.forEach(l=>{l.points.length>0&&u.push({points:l.points,symbol:l.symbol})}),o.length>0&&u.push({points:o,symbol:s}),u}function KS(r,e,t=[]){const i={...e.symbol},s=r.map(o=>{const a=ja(o,t);return{position:o.points,rotation:a.rotation||i.rotation||[0,0,0],scale:i.scale||[1,1,1]}});return{url:i.url,locations:s}}function ZS(r,e,t=[]){const n=e,{uniqueValueInfos:i,field:s,fieldDelimiter:o}=n,a=n.defaultSymbol,u=[],l=i.reduce((h,f)=>{const p=f.value.toString();return h[p]={locations:[],value:f.value,symbol:f.symbol},h},{});for(let h=0;h<r.length;h++){const f=r[h],p=Ty(f,s,o);if(p){const v=l[p.toString()];if(v){const C=ja(f,t);v.locations.push({position:f.points,rotation:C.rotation||a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:f.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:f.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}const c=[];for(let h in l){const{locations:f,symbol:p}=l[h];f.length>0&&c.push({url:p.url,locations:f})}return u.length>0&&c.push({url:a.url,locations:u}),c}function QS(r,e,t=[]){const n=e,{classBreakInfos:i,field:s}=n,o=n.defaultSymbol,a=[],u=i.map(c=>({...c,locations:[]}));for(let c=0;c<r.length;c++){const h=r[c],f=h[s];if(f===void 0||typeof f!="number")a.push({position:h.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]});else{const p=u.findIndex(v=>f<=v.maxValue&&f>=v.minValue);if(p!==-1){const v=ja(h,t);u[p].locations.push({position:h.points,rotation:v.rotation||o.rotation||[0,0,0],scale:u[p].symbol.scale||[1,1,1]})}else a.push({position:h.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]})}}const l=[];return u.forEach(c=>{c.locations.length>0&&l.push({url:c.symbol.url,locations:c.locations})}),a.length>0&&l.push({url:o.url,locations:a}),l}class tb extends B{constructor(t,n,i,s){super();d(this,"labelingInfo");this.sceneObject=t;const o=n;if(s&&hi(o,a=>{this.renderLabel(a,s)}),i)if(i.type==="simple"){const{visualVariables:a}=i;if(i.symbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!");const u=Ny(o,i);this._simplePointAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!");const u=Ny(o,i);this._imageAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!");const{url:u,locations:l}=KS(o,i,a);this._modelAllRender(u,l);return}for(let u=0;u<o.length;u++){const l=sp(o[u],i,a);this.render(o[u],l)}}else if(i.type==="unique-value"){const{visualVariables:a}=i;if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="simple-point")===-1&&i.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),Oy(o,i).forEach(({points:f,symbol:p})=>{this._simplePointAllRender(f,p)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),Oy(o,i).forEach(({points:f,symbol:p})=>{this._imageAllRender(f,p)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),ZS(o,i,a).forEach(({url:f,locations:p})=>{this._modelAllRender(f,p)});return}for(let h=0;h<o.length;h++){const f=op(o[h],i,a);this.render(o[h],f)}}else if(i.type==="class-breaks"){const{visualVariables:a}=i;if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="simple-point")===-1&&i.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),Dy(o,i).forEach(({points:f,symbol:p})=>{this._simplePointAllRender(f,p)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),Dy(o,i).forEach(({points:f,symbol:p})=>{this._imageAllRender(f,p)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),QS(o,i,a).forEach(({url:f,locations:p})=>{this._modelAllRender(f,p)});return}for(let h=0;h<o.length;h++){const f=ap(o[h],i,a);this.render(o[h],f)}}else if(i.type==="heatmap"){const{field:a,fieldValueMax:u,fieldValueMin:l}=i;console.time();const c=o.map(h=>{const{points:f}=h;if(a&&typeof a=="string"){let p=h[a];typeof p=="number"&&(typeof u=="number"&&p>u&&(p=u),typeof l=="number"&&p<l&&(p=l),f[2]=p)}return f});this.renderHeatmap(c,i)}else console.error("PointLayer: renderer type is not supported")}renderLabel(t,n){const{points:i}=t;ip(this.sceneObject,i,t,n)}renderHeatmap(t,n){const{is3D:i,radius:s,blur:o,gradient:a}=n,u=this.dv(new Wc);this.d(this.sceneObject.components.disposableAdd(u)),u.is3D=i,u.radius=s,u.blur=o,a&&(u.gradient={...a}),u.data=t}render(t,n){n.type==="simple-point"?this._simplePointRender(t,n):n.type==="ESImageLabel"?this._simpleImageRender(t,n):n.type==="ESGltfModel"?this._simpleModelRender(t,n):n.type==="ESTextLabel"?xy(this.sceneObject,t.points,n):n.type==="ESParticleSystemPrimitive"?this._simpleParticleRender(t,n):console.error(" PointLayer: symbol type is not supported")}_simplePointRender(t,n){const{points:i}=t,{size:s,color:o,outlineColor:a,outlineWidth:u}=n,l=this.dv(new yl);this.d(this.sceneObject.components.disposableAdd(l)),l.pointed=!0,l.pointOutlineColor=a,l.pointOutlineWidth=u,l.pointSize=s,l.pointColor=o,l.allowPicking=(n==null?void 0:n.allowPicking)??!0,l.extras={selected:!1},l.points=[i]}_simplePointAllRender(t,n){const{size:i,color:s,outlineColor:o,outlineWidth:a}=n,u=this.dv(new yl);this.d(this.sceneObject.components.disposableAdd(u)),u.pointed=!0,u.pointOutlineColor=o,u.pointOutlineWidth=a,u.pointSize=i,u.pointColor=s,u.allowPicking=(n==null?void 0:n.allowPicking)??!0,u.points=[...t]}_simpleImageRender(t,n){const{points:i}=t,{rotation:s,offset:o,size:a,url:u,screenRender:l,anchor:c,renderMode:h,rotationType:f}=n,p=this.dv(new Vc),v=this.dv(new Aa);this.d(this.sceneObject.components.disposableAdd(p)),this.d(this.sceneObject.components.disposableAdd(v)),p.url=u,p.renderMode=h??0,s&&(p.rotation=s),o&&(p.offset=o),p.size=a||[32,32],c&&(p.anchor=c),f&&(p.rotationType=f),p.screenRender=l??!0,p.allowPicking=(n==null?void 0:n.allowPicking)??!0,p.extras={selected:!1},p.position=[...i],p.sizeByContent=!1,v.allowPicking=(n==null?void 0:n.allowPicking)??!0;const C=a?Math.max(...a)+10:Math.max(...p.size)+10;v.sizeByContent=!1,v.screenRender=!0,v.size=[C,C],v.borderRadius=[C,C,C,C],v.padding=[C/2,C/2,C/2,C/2],v.borderWidth=C/10,v.offset=[0,C/10+5],v.text="",v.backgroundColor=[0,0,0,0],v.borderColor=[0,0,0,0]}_imageAllRender(t,n){const i={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:t}}]},s=this.dv(new pl);this.d(this.sceneObject.components.disposableAdd(s));const o=this.dv(new Aa);this.d(this.sceneObject.components.disposableAdd(o)),s.textDefaultText="";const{offset:a,size:u,url:l,anchor:c}=n;s.imageUrl=l,c&&(s.imageAnchor=c),a&&(s.imageOffset=a),s.imageSize=u||[32,32],s.url=i,s.allowPicking=(n==null?void 0:n.allowPicking)??!0,s.extras={selected:!1},o.allowPicking=!0;const h=u?Math.max(...u)+10:Math.max(...s.imageSize)+10;o.sizeByContent=!1,o.size=[h,h],o.borderRadius=[h,h,h,h],o.padding=[h/2,h/2,h/2,h/2],o.borderWidth=h/10,o.offset=[0,h/10+5],o.text="",o.backgroundColor=[0,0,0,0],o.borderColor=[0,0,0,0]}_simpleModelRender(t,n){const{points:i}=t,{rotation:s,scale:o,url:a}=n,u=this.dv(new Vs);this.d(this.sceneObject.components.disposableAdd(u)),u.url=a,s&&(u.rotation=s),o&&(u.scale=o),u.position=[...i]}_modelAllRender(t,n){const i=this.dv(new Vs);this.d(this.sceneObject.components.disposableAdd(i)),i.url=t,i.instances=n}_simpleParticleRender(t,n){const{points:i}=t,s=this.dv(new Bc);this.d(this.sceneObject.components.disposableAdd(s)),s.position=[...i],Object.keys(n).forEach(o=>{s[o]=n[o]})}}class eb extends B{constructor(e,t,n,i){super(),this.sceneObject=e;const s=t;if(i&&hi(s,o=>{this.renderLabel(o,i)}),n)if(n.type==="simple"){const{visualVariables:o}=n;hi(s,a=>{const u=sp(a,n,o);this.render(a,u)})}else if(n.type==="unique-value"){const{visualVariables:o}=n;hi(s,a=>{const u=op(a,n,o);this.render(a,u)})}else if(n.type==="class-breaks"){const{visualVariables:o}=n;hi(s,a=>{const u=ap(a,n,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}render(e,t){console.log("PolyLineLayer: render",e,t),t.type==="simple-line"?this._simpleLineRender(e,t):t.type==="ESPolygonFence"?this._esPolygonFenceRender(e,t):t.type==="ESPipeFence"?this._esPipeFenceRender(e,t):t.type==="ESPath"?this._esPathRender(e,t):t.type==="ESlineInterpolationModel"?this._eslineInterpolationModelRender(e,t):t.type==="ESlineWall"?this._eslineWallRender(e,t):console.error("PolyLineLayer: symbol type is not supported")}_simpleLineRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new xi);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.stroked=!0,i.strokeColor=t.color,i.strokeWidth=t.width||1,i.allowPicking=(t==null?void 0:t.allowPicking)??!0,i.extras={selected:!1}}_esPolygonFenceRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Gc);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.height=t.height,i.materialMode=t.materialMode}_esPipeFenceRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Uc);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.height=t.height,i.width=t.width,i.materialMode=t.materialMode}_esPathRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Ba),s=this.dv(new Va);if(this.d(this.sceneObject.components.disposableAdd(i)),this.d(this.sceneObject.components.disposableAdd(s)),i.points=[...n],i.speed=t.speed,i.strokeColor=t.color,i.materialMode=t.materialMode,i.strokeWidth=t.width||1,t!=null&&t.runModel){const a=t==null?void 0:t.runSpeed,u=t==null?void 0:t.modelSymbol;let l;switch(t==null?void 0:t.runModel){case"ESHuman":l=this.dv(new Co);break;case"ESCar":l=this.dv(new Fc);break;case"ESGltfModel":l=this.dv(new Vs)}if(this.d(this.sceneObject.components.disposableAdd(l)),u)for(let h in u)l[h]=u[h];const c=[0];for(var o=0;o<n.length-1;o+=1){const h=n[o],f=n[o+1],p=$S(h[1],h[0],f[1],f[0]);c.push(c[o]+Math.ceil(p/a)*1e3)}i.timeStamps=c,t!=null&&t.runSpeed&&(i.currentPositionChanged.don(h=>{i.currentPosition&&(l.position=i.currentPosition,i.currentRotation&&(l.rotation=i.currentRotation))}),s.startTime=0,s.stopTime=c[c.length-1],s.playing=!0,s.loop=(t==null?void 0:t.runLoop)??!0,s.currentTimeChanged.don(h=>{i.path.currentTime=h}))}}_eslineInterpolationModelRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=(t==null?void 0:t.interpolationDistance)??0;if(!i)return;const s=XS(n,i/1e3),o=this.dv(new Vs);this.d(this.sceneObject.components.disposableAdd(o)),o.url=t.url,o.instances=s.map(a=>({position:a,rotation:t.rotation,scale:t.scale}))}_eslineWallRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=t.height??0,s=t.width??0,o=t.extrudedHeight??0,a=n.map(c=>({lng:(c==null?void 0:c[0])??0,lat:(c==null?void 0:c[1])??0,alt:(c==null?void 0:c[2])??0})),u=JS(a,s).map(c=>[(c==null?void 0:c.lng)??0,(c==null?void 0:c.lat)??0,(c==null?void 0:c.alt)??0]),l=this.dv(new So);this.d(this.sceneObject.components.disposableAdd(l)),l.height=i,l.extrudedHeight=o,l.filled=t.filled??!0,l.fillColor=t.fillColor,l.allowPicking=(t==null?void 0:t.allowPicking)??!0,l.extras={selected:!1},l.points=u}renderLabel(e,t){const{points:n}=e,i=qS(n);ip(this.sceneObject,i,e,t)}}function My(r,e){try{JSON.stringify(r[r.length-1])!==JSON.stringify(r[0])&&r.push(r[0]);const t=Ke.featureCollection(r.map(u=>Ke.point(u))),n=Ke.polygon([r]),i={gridType:"point",units:"meters"};return Ke.interpolate(t,e,i).features.map(u=>u.geometry.coordinates)[0][0].filter(u=>Ke.booleanPointInPolygon(Ke.point(u),n))}catch(t){return console.error(t),[]}}class nb extends B{constructor(e,t,n,i){super(),this.sceneObject=e;const s=t;if(i&&hi(s,o=>{this.renderLabel(o,i)}),n)if(n.type==="simple"){const{visualVariables:o}=n;hi(s,a=>{const u=sp(a,n,o);this.render(a,u)})}else if(n.type==="unique-value"){const{visualVariables:o}=n;hi(s,a=>{const u=op(a,n,o);this.render(a,u)})}else if(n.type==="class-breaks"){const{visualVariables:o}=n;hi(s,a=>{const u=ap(a,n,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}renderLabel(e,t){const{points:n}=e;console.log("PolygonLayer: renderLabel",n);const i=YS(n);ip(this.sceneObject,i,e,t)}render(e,t){t.type==="simple-fill"?this._simplePolygonRender(e,t):t.type==="ESGeoExtrudedPolygon"?this._esGeoExtrudedPolygonRender(e,t):t.type==="PolygonInterpolateESGltfModel"?this._polygonInterpolateESGltfModelRender(e,t):t.type==="PolygonInterpolateESImageLabel"?this._polygonInterpolateESImageLabelRender(e,t):console.error("PolyLineLayer: symbol type is not supported")}_simplePolygonRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{color:i,outline:s,filled:o,ground:a}=t,{width:u,color:l,stroked:c}=s,h=this.dv(new qt);this.d(this.sceneObject.components.disposableAdd(h)),h.stroked=c??!1,h.strokeColor=l??[1,1,1,1],h.strokeWidth=u??1,h.filled=o??!0,h.fillGround=a??!1,h.fillColor=i??[1,1,1,1],h.allowPicking=(t==null?void 0:t.allowPicking)??!0,h.extras={selected:!1},h.points=[...n]}_esGeoExtrudedPolygonRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,extrudedHeight:s,color:o}=t,a=this.dv(new So);this.d(this.sceneObject.components.disposableAdd(a)),a.height=i,a.extrudedHeight=s,a.filled=!0,a.fillColor=o,a.allowPicking=(t==null?void 0:t.allowPicking)??!0,a.extras={selected:!1},a.points=[...n]}_polygonInterpolateESGltfModelRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,interpolateDistance:s,url:o,rotation:a,scale:u}=t,l=My(n,s??10),c=this.dv(new Vs);this.d(this.sceneObject.components.disposableAdd(c)),c.url=o,c.instances=l.map(h=>({position:[...h,i??0],rotation:a??[0,0,0],scale:u??[1,1,1]}))}_polygonInterpolateESImageLabelRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,interpolateDistance:s,offset:o,size:a,url:u,anchor:l}=t,h={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:[...My(n,s??10).map(p=>[...p,i??0])]}}]},f=this.dv(new pl);this.d(this.sceneObject.components.disposableAdd(f)),f.textDefaultText="",f.imageUrl=u,l&&(f.imageAnchor=l),o&&(f.imageOffset=o),a&&(f.imageSize=a),f.url=h}}class rb extends B{constructor(t,n){super();d(this,"_initEvent",this.dv(new N));const i=this,s=async()=>{try{const a=t.featureProps;if(!a)return;const{heightMode:u,features:l,layerType:c,url:h}=a;let f=[];if(!l&&h){let p=await fetch(h).then(v=>v.json());return p=(p==null?void 0:p.features)??p,c==="polylineVector"?f=await by(n,p,u):c==="polygonVector"?f=await Iy(n,p,u):c==="pointVector"&&(f=await Py(n,p,u)),f}else c==="polylineVector"?f=await by(n,l,u):c==="polygonVector"?f=await Iy(n,l,u):c==="pointVector"&&(f=await Py(n,l,u));return f}catch(a){console.error(a);return}},o=this.dv(Pe(this._initEvent,t.featurePropsChanged));i.dv(new we(o,()=>{if(!t.featureProps)return;const a=t.featureProps;let u;return(async()=>{const{layerType:c,renderer:h,labelingInfo:f}=a,p=await s();!p||p.length===0||(c==="pointVector"?u=new tb(t,p,h,f):c==="polylineVector"?u=new eb(t,p,h,f):c==="polygonVector"&&(u=new nb(t,p,h,f)),console.log("polygonVectorLayer","createLayer",u))})().catch(console.error),{destroy:()=>{var c;(c=u==null?void 0:u.destroy)==null||c.call(u),u=void 0}}}));{const a=(u,l=1)=>{const c=Jv(u);if(!c)return;const{center:h,radius:f}=c;n.flyTo({distance:f*4,heading:0,pitch:-90,flyDuration:l??1,hDelta:0,pDelta:0},h)};i.d(t.flyToEvent.don(async u=>{const{featureProps:l}=t;if(!l)return;const c=await s();if(!c)return;let h=[];l.layerType==="polylineVector"?h=c.map(f=>f.points).flat():l.layerType==="polygonVector"?h=c.map(f=>f.points).flat():l.layerType==="pointVector"&&(h=c.map(f=>f.points)),h.length!==0&&a(h,u)}))}}init(){this._initEvent.emit()}}const vu=class vu extends Wt{constructor(t){super(t);d(this,"featureLayerMap",new Map);const n=this;n.d(n.viewerAttached.don(i=>{if(console.log("ESFeatureLayer","viewerAttached",i.id),n.featureLayerMap.has(i.id))return;const s=new rb(n,i);s.init(),n.featureLayerMap.set(i.id,s)})),n.d(n.viewerDetached.don(i=>{var s;console.log("ESFeatureLayer","viewerDetached",i.id),n.featureLayerMap.has(i.id)&&((s=n.featureLayerMap.get(i.id))==null||s.destroy(),n.featureLayerMap.delete(i.id))})),n.d(()=>{for(const i of n.featureLayerMap.values())i.destroy();n.featureLayerMap.clear()}),n.d(Bi(n.showChanged,()=>{for(const i of n.components.values())Reflect.has(i,"show")&&(i.show=n.show)},{immediate:!0}))}};d(vu,"createDefaultProps",()=>({...Wt.createDefaultProps(),featureProps:Zt(void 0)})),d(vu,"type",vu.register("ESFeatureLayer",vu,{chsName:"矢量图层",tags:["ESObjects"],description:"ESFeatureLayer"}));let up=vu;const hs=class hs extends B{constructor(){super();d(this,"_loading",!1);d(this,"_loadedEvent",this.disposeVar(new N));d(this,"_loaded",!1);d(this,"_loadedPromiseResolve");d(this,"_loadedPromise",new Promise(t=>{this._loadedPromiseResolve=t}));d(this,"_processing",this.disposeVar(Hn(async t=>{if(this._loading=!0,globalThis.Hls)console.info("可能系统已经加载hlsjs,此处不再加载!");else{const n=rt.context.getStrFromEnv(hs.path);await t.promise(ph(n))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));this._processing.start()}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return hs._instance=hs._instance||new hs,hs._instance}};d(hs,"path","${xr-utils-script-dir}/xr-static/xr-utils/hlsjs/1.4.12/hls.min.js"),d(hs,"_instance");let Hc=hs,ib=class extends B{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}};class sb extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_processing",this.disposeVar(Hn(async t=>{const{videoSrc:n}=this,i=Hc.instance();await t.promise(i.loadedPromise);const s=globalThis.Hls,o=new s,a=this.element;await Ks(t,()=>new Promise((u,l)=>{a.xbsjHLS=o,o.attachMedia(a),o.on(s.Events.MEDIA_ATTACHED,()=>{o.loadSource(n),o.on(s.Events.MANIFEST_PARSED,(c,h)=>{a.play(),u()})}),o.on(s.Events.ERROR,(c,h)=>{const{type:f,details:p,fatal:v}=h;v&&(o.destroy(),l(p))})}))})));d(this,"_processingStartup",this._processing.start());this._complexImage=t,this._videoSrc=n,this._videoDom=this.disposeVar(new ib(this._complexImage,""))}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class Ry extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Zo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new sb(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}const ds=class ds extends B{constructor(){super();d(this,"_loading",!1);d(this,"_loadedEvent",this.disposeVar(new N));d(this,"_loaded",!1);d(this,"_loadedPromiseResolve");d(this,"_loadedPromise",new Promise(t=>{this._loadedPromiseResolve=t}));d(this,"_processing",this.disposeVar(Hn(async t=>{if(this._loading=!0,globalThis.flvjs)console.info("可能系统已经加载flvjs,此处不再加载!");else{const n=rt.context.getStrFromEnv(ds.path);await t.promise(ph(n))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));this._processing.start()}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return ds._instance=ds._instance||new ds,ds._instance}};d(ds,"path","${xr-utils-script-dir}/xr-static/xr-utils/flvjs/1.6.2/flv.min.js"),d(ds,"_instance");let qc=ds;class ob extends B{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}}class ab extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_processing",this.disposeVar(Hn(async t=>{const{videoSrc:n}=this,i=qc.instance();await t.promise(i.loadedPromise);const s=globalThis.flvjs,o=this.element;await Ks(t,()=>new Promise((a,u)=>{if(!s.isSupported()){u("flvjs不支持!");return}var l=s.createPlayer({type:"flv",url:n});l.attachMediaElement(o),l.load(),l.play(),o.xbsjFlvPlayer=l}))})));this._complexImage=t,this._videoSrc=n,this._videoDom=this.disposeVar(new ob(this._complexImage,"")),this._processing.start()}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class Ly extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Zo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new ab(t,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}function Fy(r){const e=r.substring(r.lastIndexOf(".")+1);return _l.suffixTypes[e]}class _l extends B{constructor(){super();d(this,"_enabled",this.disposeVar(V(!1)));d(this,"_uri",this.disposeVar(V("")));d(this,"_type",this.disposeVar(V(void 0)));d(this,"_size",this.disposeVar(ne(void 0)));d(this,"_pixelFormat",this.disposeVar(V("RGBA")));d(this,"_flipY",this.disposeVar(V(!0)));d(this,"_crossOriginReact",this.disposeVar(V("")));d(this,"_autoplayReact",this.disposeVar(V(!0)));d(this,"_loopReact",this.disposeVar(V(!0)));d(this,"_copyTextureEvent",this.disposeVar(new N));d(this,"_imageProcessingResettingEvent",this.disposeVar(Pe(this.enabledChanged,this.uriChanged,this.typeChanged)));d(this,"_imageProcessingResetting",this.disposeVar(new we(this._imageProcessingResettingEvent,()=>{do{if(!this.enabled||!this.uri)break;let{type:t}=this;if(t||(t=Fy(this.uri)),!t)break;if(t==="img")return new lg(this,this.uri);if(t==="video")return new dg(this,this.uri);if(t==="gif")return new Eg(this,this.uri);if(t==="hls")return new Ry(this,this.uri);if(t==="flv")return new Ly(this,this.uri)}while(!1)})));d(this,"_createNativeTextureEvent",this.disposeVar(Pe(this.enabledChanged,this.sizeChanged,this.pixelFormatChanged,this.flipYChanged)))}get enabled(){return this._enabled.value}set enabled(t){this._enabled.value=t}get enabledChanged(){return this._enabled.changed}get uri(){return this._uri.value}set uri(t){this._uri.value=t}get uriChanged(){return this._uri.changed}get type(){return this._type.value}set type(t){this._type.value=t}get typeChanged(){return this._type.changed}get size(){return this._size.value}set size(t){this._size.value=t}get sizeChanged(){return this._size.changed}get pixelFormat(){return this._pixelFormat.value}set pixelFormat(t){this._pixelFormat.value=t}get pixelFormatChanged(){return this._pixelFormat.changed}get flipY(){return this._flipY.value}set flipY(t){this._flipY.value=t}get flipYChanged(){return this._flipY.changed}get crossOrigin(){return this._crossOriginReact.value}set crossOrigin(t){this._crossOriginReact.value=t}get crossOriginChanged(){return this._crossOriginReact.changed}get autoplay(){return this._autoplayReact.value}set autoplay(t){this._autoplayReact.value=t}get autoplayChanged(){return this._autoplayReact.changed}get loop(){return this._loopReact.value}set loop(t){this._loopReact.value=t}get loopChanged(){return this._loopReact.changed}get copyTextureEvent(){return this._copyTextureEvent}copyTexture(t){this._createNativeTextureEvent.flush(),this._copyTextureEvent.emit(t)}get imageProcessingResetting(){return this._imageProcessingResetting}get createNativeTextureEvent(){return this._createNativeTextureEvent}copyFromCanvas(t){if(t.width<=0||t.height<=0){console.warn("canvas.width <= 0 || canvas.height <= 0");return}this.size=[t.width,t.height],this.pixelFormat="RGBA",this.copyTexture({source:t})}}d(_l,"types",hg),d(_l,"czmPixelFormats",cg),d(_l,"suffixTypes",{png:"img",jpg:"img",svg:"img",webp:"img",gif:"gif",mp4:"video",mov:"video",webm:"video",flv:"flv",m3u8:"hls"});const ub=[0,0,0,0];class lb{constructor(){d(this,"_value",[]);d(this,"_valueStr","[]");d(this,"_valueChanged");this.value=[{ratio:0,rgba:[0,0,1,1]},{ratio:.2,rgba:[0,1,0,1]},{ratio:.8,rgba:[1,1,0,1]},{ratio:1,rgba:[1,0,0,1]}]}get valueChanged(){return this._valueChanged||(this._valueChanged=new N),this._valueChanged}set value(e){if(e.length===0){console.error("value.length === 0");return}let t;if(this._value.length===e.length){const i=[...e].sort((s,o)=>s.ratio-o.ratio);if(t=JSON.stringify(i),this._valueStr===t)return}t=t||JSON.stringify([...e].sort((i,s)=>i.ratio-s.ratio));const n=this._value;if(this._value=JSON.parse(t),this._value.length===0)throw console.error("this._colorStops.length === 0"),new Error("this._colorStops.length === 0");this._valueChanged&&this._valueChanged.emit(this._value,n)}get value(){return JSON.parse(JSON.stringify(this._value))}get valueStr(){return this._valueStr}get minRatio(){return this._value[0].ratio}get maxRatio(){return this._value[this._value.length-1].ratio}_getRatioIndex(e){if(e<this._value[0].ratio||e>this._value[this._value.length-1].ratio)throw console.error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio"),new Error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio");let t=this._value.length;for(let n=0;n<t-1;++n)if(e>=this._value[n].ratio&&e<=this._value[n+1].ratio)return n;throw console.error("shoud not be here!"),new Error("shoud not be here!")}getRatioColor(e,t){e=Al(e,this.minRatio,this.maxRatio);const n=this._getRatioIndex(e),i=this._value[n],s=this._value[n+1],o=(e-i.ratio)/(s.ratio-i.ratio);for(let a=0;a<4;++a)t[a]=i.rgba[a]*(1-o)+s.rgba[a]*o;if(t.some(Number.isNaN)){console.error("result NaN");return}return t}getColorsInUint8(e){if(e.length%4!==0)throw console.error("result.length % 4 !== 0"),new Error("result.length % 4 !== 0");const t=e.length/4,n=1/t;for(let i=0;i<t;++i){const s=ub;this.getRatioColor((i+.5)*n,s)||s.splice(0,4,0,0,0,0);for(let o=0;o<4;++o)e[i*4+o]=255*s[o]|0}return e}}class cb extends B{constructor(){super(...arguments);d(this,"registerEngines",{})}register(t,n,i){const s=this.registerEngines[t]||new Map;return s.has(n)&&console.warn(`register warn:${t}中${n}的实现类已经被注册,再次注册会覆盖。`),s.set(n,i),this.registerEngines[t]=s,n}getEngineObjConstructor(t,n){const i=this.registerEngines[n];if(!i)return;let s=t.constructor,o=t.typeName,a=i.get(o);if(a)return a;if(t.components.main)return;const u=o;for(;o!=="ESSceneObject"&&(s=s.getParentClass(),!!s);)if(o=s.type,a=i.get(o),a)return console.warn(`未找到${u}在${n}中对应的实现类! 使用父类${o}的实现类!`),a}createEngineObject(t,n){const i=this.getEngineObjConstructor(t,n.typeName);if(i){const s=new i(t,n);return s.createdEvent.emit(),s}else{const s=new bo(t,n);return s.createdEvent.emit(),s}}}class hb extends B{constructor(){super(...arguments);d(this,"registerEngines",{})}register(t,n,i){const s=this.registerEngines[t]||new Map;s.has(n)&&console.warn(`register warn:${t}中${n}的实现类已经被注册,再次注册会覆盖。`),s.set(n,i),this.registerEngines[t]=s}getEngineObjConstructor(t,n){const s=(this.registerEngines[n]||new Map).get(t);if(s)return s;console.warn(`未找到${t}在${n}中对应的实现类!`)}createEngineObject(t,n){const i=this.getEngineObjConstructor(t.typeName,n.typeName);if(i){const s=new i(t,n);return s.createdEvent.emit(),s}else{const s=new bo(t,n);return s.createdEvent.emit(),s}}}const Dr=class Dr extends B{constructor(t,n,i=!1){super();d(this,"_createdEvent",this.dv(new N));d(this,"_id",++Dr._accumId);this._sceneObject=t,this._viewer=n;{if(i)return;const s=(o,a)=>{for(let u of o)this._viewer.delete(u);for(let u of a)u.parentID=this.sceneObject.id,this._viewer.add(u)};s([],this._sceneObject.components.values()),this.d(this._sceneObject.components.toChange.don(s)),this.d(()=>s(this._sceneObject.components.values(),[]))}}get createdEvent(){return this._createdEvent}get sceneObject(){return this._sceneObject}get viewer(){return this._viewer}get id(){return this._id}};d(Dr,"context",new cb),d(Dr,"contextEditing",new hb),d(Dr,"register",Dr.context.register.bind(Dr.context)),d(Dr,"registerEditing",Dr.contextEditing.register.bind(Dr.contextEditing)),d(Dr,"_accumId",-1);let bo=Dr;function Ay(r){return typeof r=="string"?document.getElementById(r):r}function lp(r){if(!r)throw new Error("container is not defined");r.innerHTML="";const e=document.createElement("div");return e.style.cssText="width: 100%; height: 100%; margin: 0px; padding: 0px; border: none; overflow: hidden; position: relative; z-index: 0; background: rgba(0,0,0,0);",r.appendChild(e),e}class ky extends B{constructor(t,n){super();d(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=t,this._createSceneObjectListeningFunc=n;const i=this._listeningSceneObjects,s=(o,a)=>{if(o)for(let u of o){const l=i.get(u);l&&(l.destroy(),i.delete(u))}if(a)for(let u of a){if(i.get(u)){console.warn(`listeningSceneObjects已存在某对象:${u.name}`,u);debugger}const c=this.createSceneObjectListeningFunc(u);c&&i.set(u,c)}};s(void 0,this._sceneObjectsMananger.sceneObjects),this.dispose(this._sceneObjectsMananger.sceneObjectsToChange.disposableOn(s)),this.dispose(()=>{for(let o of this._listeningSceneObjects.values())o.destroy();this._listeningSceneObjects.clear()})}get listeningSceneObjects(){return this._listeningSceneObjects}get createSceneObjectListeningFunc(){return this._createSceneObjectListeningFunc}}class db extends B{constructor(e){super(),this._esObjectsManager=e;{const t=this._esObjectsManager;class n extends B{constructor(s){super(),this._esPath=s,this.dv(new we(t.activeViewerChanged,()=>{const o=t.activeViewer;if(!o)return;class a extends B{constructor(l){if(super(),this._esPath=l,!o)throw new Error("!viewer");const c=()=>{const h=t.activeViewer;h&&(this._esPath.path.currentTime=h.simulationTime)};c(),this.d(o.simulationTimeChanged.don(c))}}return new a(this._esPath)}))}}this.dv(new ky(t.sceneObjectsManager,i=>{if(i instanceof Ba)return new n(i)}))}{const t=this._esObjectsManager;class n extends B{constructor(s){super();const o=()=>{const a=t.activeViewer;a&&(a.simulationTime=s.currentTime??0)};o(),this.d(s.currentTimeChanged.don(o))}}this.dv(new ky(t.sceneObjectsManager,i=>{if(i instanceof Va)return new n(i)}))}}}class fb extends B{constructor(e){super(),e.forEach(t=>{this.d(t.path.currentPositionChanged.don(n=>{n&&t.sceneObjects.forEach(i=>{Reflect.has(i,"position")&&(i.position=[...n])})})),this.d(t.path.currentRotationChanged.don(n=>{n&&t.sceneObjects.forEach(i=>{Reflect.has(i,"rotation")&&(i.rotation=[...n])})}))})}}class pb extends B{constructor(t){super();d(this,"_player");d(this,"_channels",this.dv(dt([])));this._objectManager=t,this._player=this._objectManager.player,this.dv(new we(this.channelsChanged,()=>{if(this.channels.length===0)return;const n=[];for(let i=0;i<this.channels.length;i++){const s=this.channels[i],o=rt.getSceneObjById(s.pathId);if(!o||!(o instanceof Ba))continue;const u=s.sceneObjectIds.map(l=>rt.getSceneObjById(l)).filter(l=>l!==void 0);u.length!==0&&n.push({path:o,sceneObjects:u})}if(n.length!==0)return new fb(n)}))}get player(){return this._player}get channels(){return this._channels.value}get channelsChanged(){return this._channels.changed}set channels(t){this._channels.value=t}}function Xc(r){if(r.data){const{type:e,value:t}=r.data;if(e==="UITreeA"&&t instanceof mn){const{sceneObject:n}=t;if(n)return n.id}}}function gb(r,e){const{property:t,customEventName:n,otherParams:i}=e,{dragstartDataMananger:s}=r;if(!(t instanceof ea)){if(!(t instanceof Ng)){if(t instanceof pt){const[o,a]=Vi(t.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;Xc(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const l=Xc(s);l!==void 0&&a(l)}}else if(t instanceof bg){const[o,a]=Vi(t.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;Xc(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");const u=i[0].$event,l=i[0].strinsPropDom,c=i[0].index;u.preventDefault();const h=Xc(s);if(h!==void 0){l[c].firstChild.value=h;const f=new Event("input",{bubbles:!0,cancelable:!0});l[c].firstChild.dispatchEvent(f)}}}else if(t instanceof Pg){const[o,a]=Vi(t.reactVar)}}}}function Vy(r,e,t,n){if(t)n.currentActiveEditing=[r,e];else if(n.currentActiveEditing){const[i,s]=n.currentActiveEditing;i===r&&s===e&&(t||(n.currentActiveEditing=void 0))}}const mb=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class vb extends B{constructor(e,t){super(),this._sceneObject=e;const n=this._sceneObject;for(let i of mb){const s=i+"Changed",o=n[s];if(o){{const a=n[i];Vy(n,i,a,t)}this.dispose(o.disposableOn(a=>Vy(n,i,a,t)))}}}get sceneObject(){return this._sceneObject}}class yb extends B{constructor(){super();d(this,"_currentActiveEditing",this.disposeVar(ne(void 0)));d(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((t,n)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),n){const[i,s]=n;i[s]===!0&&(i[s]=!1)}if(t){const[i,s]=t;i[s]=!0}})),rt.context.sceneObjCreatedEvent.don(t=>{t.dv(new vb(t,this))})}get currentActiveEditing(){return this._currentActiveEditing.value}set currentActiveEditing(t){this._currentActiveEditing.value=t}get currentActiveEditingChanged(){return this._currentActiveEditing.changed}get currentActiveEditingLastChangedTime(){return this._currentActiveEditingLastChangedTime}}class _b extends B{constructor(){super();d(this,"_sceneObjects",new Set);d(this,"_sceneObjectsToChange",this.dv(new N));this.d(()=>{const t=hh(this._sceneObjects);t!==0&&console.warn(`场景对象管理器销毁时仍然管理着${t}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(t){return this._sceneObjects.has(t)?(console.warn(`创建失败:对象${t.typeName+":"+t.id}已经存在于场景对象管理器中!}`),!1):(this._sceneObjectsToChange.emit([],[t]),this._sceneObjects.add(t),!0)}deleteSceneObject(t){return this._sceneObjects.has(t)?(this._sceneObjectsToChange.emit([t],[]),this._sceneObjects.delete(t),!0):(console.warn(`删除失败:对象${t.typeName+":"+t.id}不存在于场景对象管理器中!}`),!1)}createSceneObject(t,n){const i=rt.context.createSceneObject(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromUrl(t,n){const i=rt.context.createSceneObjectFromUrl(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(t,n){const i=rt.context.createSceneObjectFromClass(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(t){const n=rt.context.createSceneObjectFromJson(t);return n&&this.addSceneObject(n),n}}class wb extends B{constructor(t){super();d(this,"_enabled",this.dv(V(!1)));d(this,"_cursorPosition",V(void 0));d(this,"quickPickPosition",!0);let n=new B;const i=()=>{n&&(n.destroy(),n=void 0)};this.d(i);const s=()=>{if(i(),!t||!this._enabled.value)return;n=new B;const o=n.dv(V(void 0)),a=n.dv(Pe(o.changed));n.d(t.pointerMoveEvent.don(l=>{l.pointerEvent&&(o.value=an(l.pointerEvent))}));const u=n.dv(Hn(async l=>{if(o.value)if(this.quickPickPosition){const c=await l.promise(Ko(t.quickPickPosition(o.value)));this._cursorPosition.value=c}else{const c=await l.promise(Ko(t.pickPosition(o.value)));this._cursorPosition.value=c}}));n.d(a.don(()=>{u.restart()}))};s(),this.d(this._enabled.changed.don(s))}get enabled(){return this._enabled.value}set enabled(t){this._enabled.value=t}get enabledChanged(){return this._enabled.changed}get cursorPosition(){return this._cursorPosition.value}get cursorPositionChanged(){return this._cursorPosition.changed}}class Eb extends B{constructor(t){super();d(this,"cursorPositionInfo");this.viewer=t,this.cursorPositionInfo=this.dv(new wb(this.viewer))}}class Cb extends B{constructor(t){super();d(this,"viewer");const n=this.viewer=t;this.ad(new we(n.rollerShutterChanged,()=>{const i=n.container;if(!i||!n.rollerShutter)return;const s=new B;this.viewer.splitPosition=.5;let o=this.getRollerShutterDIV();return i.appendChild(o),s.d(()=>{this.viewer.splitPosition=0,i.removeChild(o)}),s}))}getRollerShutterDIV(){let t=document.createElement("div");t.style.position="absolute",t.style.left="50%",t.style.top="0",t.style.backgroundColor="#d3d3d3",t.style.width="5px",t.style.height="100%",t.style.zIndex="9999";const n=i=>{if(!t.parentElement)return;i.preventDefault?i.preventDefault():i.returnValue=!1;const o=i.x/t.parentElement.offsetWidth;t.style.left=`${100*o}%`,this.viewer.splitPosition=o};return t.addEventListener("mouseenter",i=>{t.style.cursor="ew-resize"}),t.addEventListener("mouseleave",i=>{t.style.cursor="default"}),t.addEventListener("mousedown",i=>{t.style.cursor="ew-resize",document.addEventListener("mousemove",n)}),document.addEventListener("mouseup",i=>{t.style.cursor="default",document.removeEventListener("mousemove",n)}),t}}class Sb extends B{constructor(t){super();d(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new Cb(t))}}function By(r,e){return r.length===e.length&&r.every((t,n)=>t===e[n])}class bb extends B{constructor(e){super(),this._viewer=e,this.d(j([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class Pb extends B{constructor(e,t){super(),this._viewer=e,this._activeViewer=t;const n=ti.createCommonProps(),i=[];Object.keys(n).forEach(u=>{const l=this._activeViewer[u+"Changed"];i.push(l)});const s=this.dv(Pe(...i)),o=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(n).forEach(u=>{this._viewer[u]=this._activeViewer[u]})};this.d(s.don(o));const a=this.dv(Iu());a.restart(void 0,async()=>{if(this._viewer.status!=="Created"||this._activeViewer.status!=="Created")return;const u=this._activeViewer.getCurrentCameraInfo(),l=this._viewer.getCurrentCameraInfo();if(!u)return;const{position:c,rotation:h}=u;l&&By(c,l.position)&&By(h,l.rotation)||this._viewer.flyIn(c,h,0)}),this.d(()=>a.cancel())}}const Ib=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="40" height="40" style="shape-rendering: auto; display: block; background: rgba(255, 255, 255, 0);" xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle stroke-linecap="round" fill="none" stroke-dasharray="50.26548245743669 50.26548245743669" stroke="#ffffff" stroke-width="8" r="32" cy="50" cx="50">
432
+ `,vl=Date.now();new Date(vl).toISOString(),new Date(vl+24*60*60*1e3).toISOString();const Fi=class Fi extends rt{constructor(t){super(t);d(this,"_flyToEvent",this.disposeVar(new N));d(this,"_resetClockEvent",this.disposeVar(new N));this.ad(nt([this,"uri"],[this,"url"]))}get flyToEvent(){return this._flyToEvent}flyTo(t){this._flyToEvent.emit(t)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new it([this,"url"],"路径","${earthsdk3-assets-script-dir}/assets/misc/simple.czml",void 0,!0),new X([this,"clockEnabled"],"启用",!1),new M([this,"multiplier"],"倍速",Fi.defaults.multiplier),new X([this,"autoResetClock"],"自动设置时钟",!0),new eo([this,"startTime"],"开始时间",Fi.defaults.startTime,!0),new eo([this,"stopTime"],"结束时间",Fi.defaults.stopTime,!0),new eo([this,"currentTime"],"当前时间",Fi.defaults.currentTime,!0),new bt([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep","SYSTEM_CLOCK_MULTIPLIER"),new bt([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange","UNBOUNDED"),new X([this,"shouldAnimate"],"是否启用动画",!1)],general:[...t.general,new X([this,"show"],"是否显示",!0),new X([this,"collision"],"开启碰撞",!1),new X([this,"allowPicking"],"允许拾取",!1)],more:[...t.more,new lt(["number"],n=>this.flyTo(n),[1e3],"飞入"),new lt([],()=>this.resetClock(),[],"重设时钟"),new ys([this,"loadFuncStr"],"loadFnStr",Sy,XS,!0)]}}};d(Fi,"createDefaultProps",()=>({show:!0,uri:void 0,url:void 0,allowPicking:!1,autoResetClock:!0,clockEnabled:!1,startTime:vl,stopTime:vl+24*60*60*1e3,currentTime:vl,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...rt.createDefaultProps()})),d(Fi,"type",Fi.register("ESCzml",Fi,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"}));let Kf=Fi;const pu=class pu extends rt{getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([]),new X([this,"show"],"是否显示"),new M([this,"cssSize"],"尺寸"),new Fe([this,"cssPosition"],"位置"),new Mu([this,"imgUrl"],"图片地址")]}}};d(pu,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:rt.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")})),d(pu,"type",pu.register("ESNavigator",pu,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"}));let Zf=pu;const Ai=class Ai extends rt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([],"通用","通用"),new X([this,"show"],"是否显示",Ai.defaults.show),new M([this,"height"],"高度",Ai.defaults.height,!0),new M([this,"fontSize"],"文字大小",Ai.defaults.fontSize,!0),new Dt([this,"bgColor"],"背景颜色",Ai.defaults.bgColor,!0)]}}};d(Ai,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:dt([71/255,71/255,71/255,.8])})),d(Ai,"type",Ai.register("ESViewerStatusBar",Ai,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Qf=Ai;const ki=class ki extends rt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ut([],"通用","通用"),new X([this,"show"],"是否显示",ki.defaults.show),new M([this,"height"],"高度",ki.defaults.height,!0),new M([this,"fontSize"],"文字大小",ki.defaults.fontSize,!0),new Dt([this,"bgColor"],"背景颜色",ki.defaults.bgColor,!0)]}}};d(ki,"createDefaultProps",()=>({...rt.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:dt([71/255,71/255,71/255,.8])})),d(ki,"type",ki.register("ESViewerStatusBarScale",ki,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let tp=ki;const gu=class gu extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new pt([this,"url"],"路径","",!0),new M([this,"progress"],"进度",0,!1,!0)]}}};d(gu,"createDefaultProps",()=>({...st.createDefaultProps(),url:"",progress:0})),d(gu,"type",gu.register("ESGaussianSplatting",gu,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"}));let ep=gu;const jo=class jo extends st{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new pt([this,"mesh"],"mesh地址",jo.defaults.mesh)]}}};d(jo,"createDefaultProps",()=>({...st.createDefaultProps(),mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"})),d(jo,"type",jo.register("ESStaticMesh",jo,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"}));let np=jo;const mu=class mu extends Pt{constructor(t){super(t);d(this,"_startEvent",this.dv(new N));d(this,"_clearEvent",this.dv(new N));d(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new So),this.ad(this.components.disposableAdd(this._eSGeoExtrudedPolygon)),this.eSGeoExtrudedPolygon.perPositionHeight=!0,this.eSGeoExtrudedPolygon.extrudedHeight=0,this.stroked=!0,this.strokeWidth=2,this.strokeColor=[1,0,0,1],this.ad(j([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(j([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(j([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(j([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(j([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(j([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(j([this.eSGeoExtrudedPolygon,"points"],[this,"points"])),this.ad(this.clearEvent.don(()=>{this.points=void 0,this.depths=void 0,this.windowPositions=void 0}))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get eSGeoExtrudedPolygon(){return this._eSGeoExtrudedPolygon}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.clear(),[],"清除分析"),new it([this,"windowPositions"],"屏幕坐标",[],void 0,!1,!0),new it([this,"depths"],"深度值",[],void 0,!1,!0),new M([this,"radius"],"半径",1e4,!0)]}}};d(mu,"createDefaultProps",()=>({...Pt.createDefaultProps(),windowPositions:Ud([]),depths:ne([]),radius:B(1e4)})),d(mu,"type",mu.register("ESSkylineAnalysis",mu,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let rp=mu;const cs=class cs extends Wt{constructor(e){super(e)}getESProperties(){const e=super.getESProperties();return{...e,basic:[...e.basic,new it([this,"data"],"数据",[],void 0,!0),new it([this,"gradient"],"渐变",cs.defaults.gradient,void 0,!0),new M([this,"radius"],"半径",cs.defaults.radius,void 0,!0),new M([this,"blur"],"模糊",cs.defaults.blur,!0),new X([this,"is3D"],"is3D",!1,!0)]}}};d(cs,"createDefaultProps",()=>({...Wt.createDefaultProps(),is3D:B(!1),data:xl([]),gradient:Zt({".5":"green",".7":"yellow",".95":"red"}),radius:B(10),blur:B(.85)})),d(cs,"type",cs.register("ESHeatMap",cs,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"}));let Wc=cs;const zo=class zo extends Pt{constructor(t){super(t);d(this,"editingBindMode","scatter")}};d(zo,"createDefaultProps",()=>({...Pt.createDefaultProps(),pointed:!0})),d(zo,"type",zo.register("ESGeoPoints",zo,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),d(zo,"supportEditingModes",[...Pt.supportEditingModes,et.ScatterAppend,et.ScatterModify]);let yl=zo;const by=async(r,e=[],t)=>{const n=[];for(const i of e){const{coordinates:s}=i.geometry;for(const o of s){const a=await Promise.all(o.map(async u=>{let l=u[2]??0;if(t)if(t.type==="absolute")l=t.height??l;else if(t.type==="relative"){const c=await r.getTerrainHeight([u[0],u[1]])??0;l=(t.height??l)+c}else t.type==="terrain"&&(l=await r.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));n.push({...i,points:a})}}return n},Py=async(r,e=[],t)=>await Promise.all(e.map(async n=>{var u,l,c,h,f,p,v,C,S;const i=((u=n.geometry)==null?void 0:u.x)??((c=(l=n.geometry)==null?void 0:l.coordinates)==null?void 0:c[0]),s=((h=n.geometry)==null?void 0:h.y)??((p=(f=n.geometry)==null?void 0:f.coordinates)==null?void 0:p[1]);let a=((v=n.geometry)==null?void 0:v.z)??((S=(C=n.geometry)==null?void 0:C.coordinates)==null?void 0:S[2])??0;if(t)if(t.type==="absolute")a=t.height??a;else if(t.type==="relative"){const P=await r.getTerrainHeight([i,s])??0;a=(t.height??a)+P}else t.type==="terrain"&&(a=await r.getTerrainHeight([i,s])??0);return{...n,points:[i,s,a]}})),Iy=async(r,e=[],t)=>{const n=[];return await Promise.all(e.map(async i=>{const{coordinates:s}=i.geometry;await Promise.all(s.map(async o=>{const a=await Promise.all(o.map(async u=>{let l=u[2]??0;if(t)if(t.type==="absolute")l=t.height??l;else if(t.type==="relative"){const c=await r.getTerrainHeight([u[0],u[1]])??0;l=(t.height??l)+c}else t.type==="terrain"&&(l=await r.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));n.push({...i,points:a})}))})),n};function YS(r){const e=Ke.lineString(r),t=Ke.length(e),n=Ke.along(e,t/2);return[n.geometry.coordinates[0],n.geometry.coordinates[1],n.geometry.coordinates[2]||0]}function JS(r,e){const t=Ke.lineString(r),n=Ke.length(t),i=Math.floor(n/e),s=[];if(s.push(r[0]),i<1)return[r[0]];for(let o=1;o<i;o+=1){const a=Ke.along(t,n*(o/i));s.push([a.geometry.coordinates[0],a.geometry.coordinates[1],a.geometry.coordinates[2]||0])}return s}function $S(r){const e=[...r];JSON.stringify(r[0])!==JSON.stringify(r[r.length-1])&&e.push(r[0]);const t=Ke.polygon([e]),n=Ke.center(t);return[n.geometry.coordinates[0],n.geometry.coordinates[1],n.geometry.coordinates[2]||0]}function xy(r,e,t){const n=r.dv(new Aa);for(const i in t)i!=="type"&&(n[i]=t[i]);n.position=e,r.d(r.components.disposableAdd(n))}function ip(r,e,t,n){let i=n.textTemplate||n.symbol.text||"";const s=/{{(.*?)}}/;for(;s.test(i);){const c=i.match(s);if(c){const h=c[1].trim(),f=t[`${h}`]||"-";i=i.replace(c[0],f)}}let o=n.symbol;const{minVisibleDistance:a,maxVisibleDistance:u}=n;a&&u&&(o={...o,minVisibleDistance:a,maxVisibleDistance:u});const l={...o,text:i};xy(r,e,l)}function ja(r,e){const t={width:null,height:null,color:null,opacity:null,rotation:null};return e.forEach(n=>{n.type==="size"?n.axis==="width"?t.width=r[n.field]||null:n.axis==="height"&&(t.height=r[n.field]||null):n.type==="color"?t.color=r[n.field]||null:n.type==="opacity"?t.opacity=r[n.field]||null:n.type==="rotation"&&(t.rotation=r[n.field]||null)}),t}function sp(r,e,t){const i={...e.symbol};if(t&&t.length>0){const s=ja(r,t);for(let o in s)i[o]!==void 0&&s[o]!==null&&(i[o]=s[o])}return i}function op(r,e,t){var l,c;const n=e,{uniqueValueInfos:i,field:s,fieldDelimiter:o,defaultSymbol:a}=n;let u={...a};if(Array.isArray(s)){const f=s.map(p=>r[p]??"").join(o);u=((l=i.find(p=>p.value==f))==null?void 0:l.symbol)||a}else u=((c=i.find(h=>h.value==r[s]))==null?void 0:c.symbol)||a;if(t&&t.length>0){const h=ja(r,t);for(let f in h)u[f]!==void 0&&h[f]!==null&&(u[f]=h[f])}return u}function ap(r,e,t){const n=e,{classBreakInfos:i,field:s,defaultSymbol:o}=n;let a=o;const u=r[s];if(u===void 0||typeof u!="number")a=o;else{const l=i.find(c=>u<=c.maxValue&&u>=c.minValue);l?a=l.symbol:a=o}if(t&&t.length>0){const l=ja(r,t);for(let c in l)a[c]!==void 0&&l[c]!==null&&(a[c]=l[c])}return a}function KS(r,e){function t(l,c,h,f){const p=w=>w*Math.PI/180,v=w=>w*180/Math.PI,C=p(l),S=p(h),P=p(f-c),y=Math.sin(P)*Math.cos(S),_=Math.cos(C)*Math.sin(S)-Math.sin(C)*Math.cos(S)*Math.cos(P),m=Math.atan2(y,_);return(v(m)+360)%360}function n(l,c,h,f,p){const C=b=>b*Math.PI/180,S=b=>b*180/Math.PI,P=f/6371e3,y=C(p),_=C(l),m=C(c),w=Math.asin(Math.sin(_)*Math.cos(P)+Math.cos(_)*Math.sin(P)*Math.cos(y)),E=m+Math.atan2(Math.sin(y)*Math.sin(P)*Math.cos(_),Math.cos(P)-Math.sin(_)*Math.sin(w));return{lat:S(w),lng:S(E),alt:h}}function i(l){const c=[];l.length>1&&c.push(t(l[0].lat,l[0].lng,l[1].lat,l[1].lng));for(let h=1;h<l.length-1;h++){const f=t(l[h-1].lat,l[h-1].lng,l[h].lat,l[h].lng),p=t(l[h].lat,l[h].lng,l[h+1].lat,l[h+1].lng);let v=(f+p)/2;Math.abs(f-p)>180&&(v=(v+180)%360),c.push(v)}return l.length>1&&c.push(t(l[l.length-2].lat,l[l.length-2].lng,l[l.length-1].lat,l[l.length-1].lng)),l.length===1&&c.push(0),c}if(!r||r.length<2)throw new Error("至少需要两个点才能生成路径");if(e<=0)throw new Error("宽度必须大于0");const s=e/2,o=i(r),a=[],u=[];for(let l=0;l<r.length;l++){const c=(o[l]+90)%360,h=(o[l]+270)%360,f=r[l].alt!==void 0?r[l].alt:0;a.push(n(r[l].lat,r[l].lng,f,s,c)),u.push(n(r[l].lat,r[l].lng,f,s,h))}return a.concat(u.reverse())}function ZS(r,e,t,n){function i(C){return C*(Math.PI/180)}const s=6378137,o=i(r),a=i(e),u=i(t),l=i(n),c=u-o,h=l-a,f=Math.sin(c/2)**2+Math.cos(o)*Math.cos(u)*Math.sin(h/2)**2,p=2*Math.atan2(Math.sqrt(f),Math.sqrt(1-f));return s*p}const Ty=(r,e,t)=>Array.isArray(e)?e.map(s=>r[s]??"").join(t):r[e]??"";function Ny(r,e){const n={...e.symbol};return{points:r.map(i=>i.points),symbol:n}}function Oy(r,e){const t=e,{uniqueValueInfos:n,field:i,fieldDelimiter:s,defaultSymbol:o}=t,a=[],u=n.reduce((c,h)=>{const f=h.value.toString();return c[f]={points:[],value:h.value,symbol:h.symbol},c},{});for(let c=0;c<r.length;c++){const h=r[c],f=Ty(h,i,s);if(f!==void 0&&f!==""){const p=u[f.toString()];p?p.points.push(h.points):a.push(h.points)}else a.push(h.points)}const l=[];for(let c in u){const{points:h,symbol:f}=u[c];h.length>0&&l.push({points:h,symbol:f})}return a.length>0&&l.push({points:a,symbol:o}),l}function Dy(r,e){const t=e,{classBreakInfos:n,field:i,defaultSymbol:s}=t,o=[],a=n.map(l=>({...l,points:[]}));for(let l=0;l<r.length;l++){const c=r[l],h=c[i];if(h===void 0||typeof h!="number")o.push(c.points);else{const f=a.findIndex(p=>h<=p.maxValue&&h>=p.minValue);f!==-1?a[f].points.push(c.points):o.push(c.points)}}const u=[];return a.forEach(l=>{l.points.length>0&&u.push({points:l.points,symbol:l.symbol})}),o.length>0&&u.push({points:o,symbol:s}),u}function QS(r,e,t=[]){const i={...e.symbol},s=r.map(o=>{const a=ja(o,t);return{position:o.points,rotation:a.rotation||i.rotation||[0,0,0],scale:i.scale||[1,1,1]}});return{url:i.url,locations:s}}function tb(r,e,t=[]){const n=e,{uniqueValueInfos:i,field:s,fieldDelimiter:o}=n,a=n.defaultSymbol,u=[],l=i.reduce((h,f)=>{const p=f.value.toString();return h[p]={locations:[],value:f.value,symbol:f.symbol},h},{});for(let h=0;h<r.length;h++){const f=r[h],p=Ty(f,s,o);if(p){const v=l[p.toString()];if(v){const C=ja(f,t);v.locations.push({position:f.points,rotation:C.rotation||a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:f.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:f.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}const c=[];for(let h in l){const{locations:f,symbol:p}=l[h];f.length>0&&c.push({url:p.url,locations:f})}return u.length>0&&c.push({url:a.url,locations:u}),c}function eb(r,e,t=[]){const n=e,{classBreakInfos:i,field:s}=n,o=n.defaultSymbol,a=[],u=i.map(c=>({...c,locations:[]}));for(let c=0;c<r.length;c++){const h=r[c],f=h[s];if(f===void 0||typeof f!="number")a.push({position:h.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]});else{const p=u.findIndex(v=>f<=v.maxValue&&f>=v.minValue);if(p!==-1){const v=ja(h,t);u[p].locations.push({position:h.points,rotation:v.rotation||o.rotation||[0,0,0],scale:u[p].symbol.scale||[1,1,1]})}else a.push({position:h.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]})}}const l=[];return u.forEach(c=>{c.locations.length>0&&l.push({url:c.symbol.url,locations:c.locations})}),a.length>0&&l.push({url:o.url,locations:a}),l}class nb extends V{constructor(t,n,i,s){super();d(this,"labelingInfo");this.sceneObject=t;const o=n;if(s&&hi(o,a=>{this.renderLabel(a,s)}),i)if(i.type==="simple"){const{visualVariables:a}=i;if(i.symbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!");const u=Ny(o,i);this._simplePointAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!");const u=Ny(o,i);this._imageAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!");const{url:u,locations:l}=QS(o,i,a);this._modelAllRender(u,l);return}for(let u=0;u<o.length;u++){const l=sp(o[u],i,a);this.render(o[u],l)}}else if(i.type==="unique-value"){const{visualVariables:a}=i;if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="simple-point")===-1&&i.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),Oy(o,i).forEach(({points:f,symbol:p})=>{this._simplePointAllRender(f,p)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),Oy(o,i).forEach(({points:f,symbol:p})=>{this._imageAllRender(f,p)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),tb(o,i,a).forEach(({url:f,locations:p})=>{this._modelAllRender(f,p)});return}for(let h=0;h<o.length;h++){const f=op(o[h],i,a);this.render(o[h],f)}}else if(i.type==="class-breaks"){const{visualVariables:a}=i;if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="simple-point")===-1&&i.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),Dy(o,i).forEach(({points:f,symbol:p})=>{this._simplePointAllRender(f,p)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),Dy(o,i).forEach(({points:f,symbol:p})=>{this._imageAllRender(f,p)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),eb(o,i,a).forEach(({url:f,locations:p})=>{this._modelAllRender(f,p)});return}for(let h=0;h<o.length;h++){const f=ap(o[h],i,a);this.render(o[h],f)}}else if(i.type==="heatmap"){const{field:a,fieldValueMax:u,fieldValueMin:l}=i;console.time();const c=o.map(h=>{const{points:f}=h;if(a&&typeof a=="string"){let p=h[a];typeof p=="number"&&(typeof u=="number"&&p>u&&(p=u),typeof l=="number"&&p<l&&(p=l),f[2]=p)}return f});this.renderHeatmap(c,i)}else console.error("PointLayer: renderer type is not supported")}renderLabel(t,n){const{points:i}=t;ip(this.sceneObject,i,t,n)}renderHeatmap(t,n){const{is3D:i,radius:s,blur:o,gradient:a}=n,u=this.dv(new Wc);this.d(this.sceneObject.components.disposableAdd(u)),u.is3D=i,u.radius=s,u.blur=o,a&&(u.gradient={...a}),u.data=t}render(t,n){n.type==="simple-point"?this._simplePointRender(t,n):n.type==="ESImageLabel"?this._simpleImageRender(t,n):n.type==="ESGltfModel"?this._simpleModelRender(t,n):n.type==="ESTextLabel"?xy(this.sceneObject,t.points,n):n.type==="ESParticleSystemPrimitive"?this._simpleParticleRender(t,n):console.error(" PointLayer: symbol type is not supported")}_simplePointRender(t,n){const{points:i}=t,{size:s,color:o,outlineColor:a,outlineWidth:u}=n,l=this.dv(new yl);this.d(this.sceneObject.components.disposableAdd(l)),l.pointed=!0,l.pointOutlineColor=a,l.pointOutlineWidth=u,l.pointSize=s,l.pointColor=o,l.allowPicking=(n==null?void 0:n.allowPicking)??!0,l.extras={selected:!1},l.points=[i]}_simplePointAllRender(t,n){const{size:i,color:s,outlineColor:o,outlineWidth:a}=n,u=this.dv(new yl);this.d(this.sceneObject.components.disposableAdd(u)),u.pointed=!0,u.pointOutlineColor=o,u.pointOutlineWidth=a,u.pointSize=i,u.pointColor=s,u.allowPicking=(n==null?void 0:n.allowPicking)??!0,u.points=[...t]}_simpleImageRender(t,n){const{points:i}=t,{rotation:s,offset:o,size:a,url:u,screenRender:l,anchor:c,renderMode:h,rotationType:f}=n,p=this.dv(new Vc),v=this.dv(new Aa);this.d(this.sceneObject.components.disposableAdd(p)),this.d(this.sceneObject.components.disposableAdd(v)),p.url=u,p.renderMode=h??0,s&&(p.rotation=s),o&&(p.offset=o),p.size=a||[32,32],c&&(p.anchor=c),f&&(p.rotationType=f),p.screenRender=l??!0,p.allowPicking=(n==null?void 0:n.allowPicking)??!0,p.extras={selected:!1},p.position=[...i],p.sizeByContent=!1,v.allowPicking=(n==null?void 0:n.allowPicking)??!0;const C=a?Math.max(...a)+10:Math.max(...p.size)+10;v.sizeByContent=!1,v.screenRender=!0,v.size=[C,C],v.borderRadius=[C,C,C,C],v.padding=[C/2,C/2,C/2,C/2],v.borderWidth=C/10,v.offset=[0,C/10+5],v.text="",v.backgroundColor=[0,0,0,0],v.borderColor=[0,0,0,0]}_imageAllRender(t,n){const i={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:t}}]},s=this.dv(new pl);this.d(this.sceneObject.components.disposableAdd(s));const o=this.dv(new Aa);this.d(this.sceneObject.components.disposableAdd(o)),s.textDefaultText="";const{offset:a,size:u,url:l,anchor:c}=n;s.imageUrl=l,c&&(s.imageAnchor=c),a&&(s.imageOffset=a),s.imageSize=u||[32,32],s.url=i,s.allowPicking=(n==null?void 0:n.allowPicking)??!0,s.extras={selected:!1},o.allowPicking=!0;const h=u?Math.max(...u)+10:Math.max(...s.imageSize)+10;o.sizeByContent=!1,o.size=[h,h],o.borderRadius=[h,h,h,h],o.padding=[h/2,h/2,h/2,h/2],o.borderWidth=h/10,o.offset=[0,h/10+5],o.text="",o.backgroundColor=[0,0,0,0],o.borderColor=[0,0,0,0]}_simpleModelRender(t,n){const{points:i}=t,{rotation:s,scale:o,url:a}=n,u=this.dv(new Vs);this.d(this.sceneObject.components.disposableAdd(u)),u.url=a,s&&(u.rotation=s),o&&(u.scale=o),u.position=[...i]}_modelAllRender(t,n){const i=this.dv(new Vs);this.d(this.sceneObject.components.disposableAdd(i)),i.url=t,i.instances=n}_simpleParticleRender(t,n){const{points:i}=t,s=this.dv(new Bc);this.d(this.sceneObject.components.disposableAdd(s)),s.position=[...i],Object.keys(n).forEach(o=>{s[o]=n[o]})}}class rb extends V{constructor(e,t,n,i){super(),this.sceneObject=e;const s=t;if(i&&hi(s,o=>{this.renderLabel(o,i)}),n)if(n.type==="simple"){const{visualVariables:o}=n;hi(s,a=>{const u=sp(a,n,o);this.render(a,u)})}else if(n.type==="unique-value"){const{visualVariables:o}=n;hi(s,a=>{const u=op(a,n,o);this.render(a,u)})}else if(n.type==="class-breaks"){const{visualVariables:o}=n;hi(s,a=>{const u=ap(a,n,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}render(e,t){console.log("PolyLineLayer: render",e,t),t.type==="simple-line"?this._simpleLineRender(e,t):t.type==="ESPolygonFence"?this._esPolygonFenceRender(e,t):t.type==="ESPipeFence"?this._esPipeFenceRender(e,t):t.type==="ESPath"?this._esPathRender(e,t):t.type==="ESlineInterpolationModel"?this._eslineInterpolationModelRender(e,t):t.type==="ESlineWall"?this._eslineWallRender(e,t):console.error("PolyLineLayer: symbol type is not supported")}_simpleLineRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new xi);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.stroked=!0,i.strokeColor=t.color,i.strokeWidth=t.width||1,i.allowPicking=(t==null?void 0:t.allowPicking)??!0,i.extras={selected:!1}}_esPolygonFenceRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Gc);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.height=t.height,i.materialMode=t.materialMode}_esPipeFenceRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Uc);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.height=t.height,i.width=t.width,i.materialMode=t.materialMode}_esPathRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Ba),s=this.dv(new Va);if(this.d(this.sceneObject.components.disposableAdd(i)),this.d(this.sceneObject.components.disposableAdd(s)),i.points=[...n],i.speed=t.speed,i.strokeColor=t.color,i.materialMode=t.materialMode,i.strokeWidth=t.width||1,t!=null&&t.runModel){const a=t==null?void 0:t.runSpeed,u=t==null?void 0:t.modelSymbol;let l;switch(t==null?void 0:t.runModel){case"ESHuman":l=this.dv(new Co);break;case"ESCar":l=this.dv(new Fc);break;case"ESGltfModel":l=this.dv(new Vs)}if(this.d(this.sceneObject.components.disposableAdd(l)),u)for(let h in u)l[h]=u[h];const c=[0];for(var o=0;o<n.length-1;o+=1){const h=n[o],f=n[o+1],p=ZS(h[1],h[0],f[1],f[0]);c.push(c[o]+Math.ceil(p/a)*1e3)}i.timeStamps=c,t!=null&&t.runSpeed&&(i.currentPositionChanged.don(h=>{i.currentPosition&&(l.position=i.currentPosition,i.currentRotation&&(l.rotation=i.currentRotation))}),s.startTime=0,s.stopTime=c[c.length-1],s.playing=!0,s.loop=(t==null?void 0:t.runLoop)??!0,s.currentTimeChanged.don(h=>{i.path.currentTime=h}))}}_eslineInterpolationModelRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=(t==null?void 0:t.interpolationDistance)??0;if(!i)return;const s=JS(n,i/1e3),o=this.dv(new Vs);this.d(this.sceneObject.components.disposableAdd(o)),o.url=t.url,o.instances=s.map(a=>({position:a,rotation:t.rotation,scale:t.scale}))}_eslineWallRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=t.height??0,s=t.width??0,o=t.extrudedHeight??0,a=n.map(c=>({lng:(c==null?void 0:c[0])??0,lat:(c==null?void 0:c[1])??0,alt:(c==null?void 0:c[2])??0})),u=KS(a,s).map(c=>[(c==null?void 0:c.lng)??0,(c==null?void 0:c.lat)??0,(c==null?void 0:c.alt)??0]),l=this.dv(new So);this.d(this.sceneObject.components.disposableAdd(l)),l.height=i,l.extrudedHeight=o,l.filled=t.filled??!0,l.fillColor=t.fillColor,l.allowPicking=(t==null?void 0:t.allowPicking)??!0,l.extras={selected:!1},l.points=u}renderLabel(e,t){const{points:n}=e,i=YS(n);ip(this.sceneObject,i,e,t)}}function My(r,e){try{JSON.stringify(r[r.length-1])!==JSON.stringify(r[0])&&r.push(r[0]);const t=Ke.featureCollection(r.map(u=>Ke.point(u))),n=Ke.polygon([r]),i={gridType:"point",units:"meters"};return Ke.interpolate(t,e,i).features.map(u=>u.geometry.coordinates)[0][0].filter(u=>Ke.booleanPointInPolygon(Ke.point(u),n))}catch(t){return console.error(t),[]}}class ib extends V{constructor(e,t,n,i){super(),this.sceneObject=e;const s=t;if(i&&hi(s,o=>{this.renderLabel(o,i)}),n)if(n.type==="simple"){const{visualVariables:o}=n;hi(s,a=>{const u=sp(a,n,o);this.render(a,u)})}else if(n.type==="unique-value"){const{visualVariables:o}=n;hi(s,a=>{const u=op(a,n,o);this.render(a,u)})}else if(n.type==="class-breaks"){const{visualVariables:o}=n;hi(s,a=>{const u=ap(a,n,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}renderLabel(e,t){const{points:n}=e;console.log("PolygonLayer: renderLabel",n);const i=$S(n);ip(this.sceneObject,i,e,t)}render(e,t){t.type==="simple-fill"?this._simplePolygonRender(e,t):t.type==="ESGeoExtrudedPolygon"?this._esGeoExtrudedPolygonRender(e,t):t.type==="PolygonInterpolateESGltfModel"?this._polygonInterpolateESGltfModelRender(e,t):t.type==="PolygonInterpolateESImageLabel"?this._polygonInterpolateESImageLabelRender(e,t):console.error("PolyLineLayer: symbol type is not supported")}_simplePolygonRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{color:i,outline:s,filled:o,ground:a}=t,{width:u,color:l,stroked:c}=s,h=this.dv(new qt);this.d(this.sceneObject.components.disposableAdd(h)),h.stroked=c??!1,h.strokeColor=l??[1,1,1,1],h.strokeWidth=u??1,h.filled=o??!0,h.fillGround=a??!1,h.fillColor=i??[1,1,1,1],h.allowPicking=(t==null?void 0:t.allowPicking)??!0,h.extras={selected:!1},h.points=[...n]}_esGeoExtrudedPolygonRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,extrudedHeight:s,color:o}=t,a=this.dv(new So);this.d(this.sceneObject.components.disposableAdd(a)),a.height=i,a.extrudedHeight=s,a.filled=!0,a.fillColor=o,a.allowPicking=(t==null?void 0:t.allowPicking)??!0,a.extras={selected:!1},a.points=[...n]}_polygonInterpolateESGltfModelRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,interpolateDistance:s,url:o,rotation:a,scale:u}=t,l=My(n,s??10),c=this.dv(new Vs);this.d(this.sceneObject.components.disposableAdd(c)),c.url=o,c.instances=l.map(h=>({position:[...h,i??0],rotation:a??[0,0,0],scale:u??[1,1,1]}))}_polygonInterpolateESImageLabelRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,interpolateDistance:s,offset:o,size:a,url:u,anchor:l}=t,h={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:[...My(n,s??10).map(p=>[...p,i??0])]}}]},f=this.dv(new pl);this.d(this.sceneObject.components.disposableAdd(f)),f.textDefaultText="",f.imageUrl=u,l&&(f.imageAnchor=l),o&&(f.imageOffset=o),a&&(f.imageSize=a),f.url=h}}class sb extends V{constructor(t,n){super();d(this,"_initEvent",this.dv(new N));const i=this,s=async()=>{try{const a=t.featureProps;if(!a)return;const{heightMode:u,features:l,layerType:c,url:h}=a;let f=[];if(!l&&h){let p=await fetch(h).then(v=>v.json());return p=(p==null?void 0:p.features)??p,c==="polylineVector"?f=await by(n,p,u):c==="polygonVector"?f=await Iy(n,p,u):c==="pointVector"&&(f=await Py(n,p,u)),f}else c==="polylineVector"?f=await by(n,l,u):c==="polygonVector"?f=await Iy(n,l,u):c==="pointVector"&&(f=await Py(n,l,u));return f}catch(a){console.error(a);return}},o=this.dv(Pe(this._initEvent,t.featurePropsChanged));i.dv(new we(o,()=>{if(!t.featureProps)return;const a=t.featureProps;let u;return(async()=>{const{layerType:c,renderer:h,labelingInfo:f}=a,p=await s();!p||p.length===0||(c==="pointVector"?u=new nb(t,p,h,f):c==="polylineVector"?u=new rb(t,p,h,f):c==="polygonVector"&&(u=new ib(t,p,h,f)),console.log("polygonVectorLayer","createLayer",u))})().catch(console.error),{destroy:()=>{var c;(c=u==null?void 0:u.destroy)==null||c.call(u),u=void 0}}}));{const a=(u,l=1)=>{const c=Jv(u);if(!c)return;const{center:h,radius:f}=c;n.flyTo({distance:f*4,heading:0,pitch:-90,flyDuration:l??1,hDelta:0,pDelta:0},h)};i.d(t.flyToEvent.don(async u=>{const{featureProps:l}=t;if(!l)return;const c=await s();if(!c)return;let h=[];l.layerType==="polylineVector"?h=c.map(f=>f.points).flat():l.layerType==="polygonVector"?h=c.map(f=>f.points).flat():l.layerType==="pointVector"&&(h=c.map(f=>f.points)),h.length!==0&&a(h,u)}))}}init(){this._initEvent.emit()}}const vu=class vu extends Wt{constructor(t){super(t);d(this,"featureLayerMap",new Map);const n=this;n.d(n.viewerAttached.don(i=>{if(console.log("ESFeatureLayer","viewerAttached",i.id),n.featureLayerMap.has(i.id))return;const s=new sb(n,i);s.init(),n.featureLayerMap.set(i.id,s)})),n.d(n.viewerDetached.don(i=>{var s;console.log("ESFeatureLayer","viewerDetached",i.id),n.featureLayerMap.has(i.id)&&((s=n.featureLayerMap.get(i.id))==null||s.destroy(),n.featureLayerMap.delete(i.id))})),n.d(()=>{for(const i of n.featureLayerMap.values())i.destroy();n.featureLayerMap.clear()}),n.d(Bi(n.showChanged,()=>{for(const i of n.components.values())Reflect.has(i,"show")&&(i.show=n.show)},{immediate:!0}))}};d(vu,"createDefaultProps",()=>({...Wt.createDefaultProps(),featureProps:Zt(void 0)})),d(vu,"type",vu.register("ESFeatureLayer",vu,{chsName:"矢量图层",tags:["ESObjects"],description:"ESFeatureLayer"}));let up=vu;const hs=class hs extends V{constructor(){super();d(this,"_loading",!1);d(this,"_loadedEvent",this.disposeVar(new N));d(this,"_loaded",!1);d(this,"_loadedPromiseResolve");d(this,"_loadedPromise",new Promise(t=>{this._loadedPromiseResolve=t}));d(this,"_processing",this.disposeVar(Hn(async t=>{if(this._loading=!0,globalThis.Hls)console.info("可能系统已经加载hlsjs,此处不再加载!");else{const n=rt.context.getStrFromEnv(hs.path);await t.promise(ph(n))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));this._processing.start()}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return hs._instance=hs._instance||new hs,hs._instance}};d(hs,"path","${xr-utils-script-dir}/xr-static/xr-utils/hlsjs/1.4.12/hls.min.js"),d(hs,"_instance");let Hc=hs,ob=class extends V{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}};class ab extends V{constructor(t,n){super();d(this,"_videoDom");d(this,"_processing",this.disposeVar(Hn(async t=>{const{videoSrc:n}=this,i=Hc.instance();await t.promise(i.loadedPromise);const s=globalThis.Hls,o=new s,a=this.element;await Ks(t,()=>new Promise((u,l)=>{a.xbsjHLS=o,o.attachMedia(a),o.on(s.Events.MEDIA_ATTACHED,()=>{o.loadSource(n),o.on(s.Events.MANIFEST_PARSED,(c,h)=>{a.play(),u()})}),o.on(s.Events.ERROR,(c,h)=>{const{type:f,details:p,fatal:v}=h;v&&(o.destroy(),l(p))})}))})));d(this,"_processingStartup",this._processing.start());this._complexImage=t,this._videoSrc=n,this._videoDom=this.disposeVar(new ob(this._complexImage,""))}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class Ry extends V{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Zo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new ab(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}const ds=class ds extends V{constructor(){super();d(this,"_loading",!1);d(this,"_loadedEvent",this.disposeVar(new N));d(this,"_loaded",!1);d(this,"_loadedPromiseResolve");d(this,"_loadedPromise",new Promise(t=>{this._loadedPromiseResolve=t}));d(this,"_processing",this.disposeVar(Hn(async t=>{if(this._loading=!0,globalThis.flvjs)console.info("可能系统已经加载flvjs,此处不再加载!");else{const n=rt.context.getStrFromEnv(ds.path);await t.promise(ph(n))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));this._processing.start()}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return ds._instance=ds._instance||new ds,ds._instance}};d(ds,"path","${xr-utils-script-dir}/xr-static/xr-utils/flvjs/1.6.2/flv.min.js"),d(ds,"_instance");let qc=ds;class ub extends V{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}}class lb extends V{constructor(t,n){super();d(this,"_videoDom");d(this,"_processing",this.disposeVar(Hn(async t=>{const{videoSrc:n}=this,i=qc.instance();await t.promise(i.loadedPromise);const s=globalThis.flvjs,o=this.element;await Ks(t,()=>new Promise((a,u)=>{if(!s.isSupported()){u("flvjs不支持!");return}var l=s.createPlayer({type:"flv",url:n});l.attachMediaElement(o),l.load(),l.play(),o.xbsjFlvPlayer=l}))})));this._complexImage=t,this._videoSrc=n,this._videoDom=this.disposeVar(new ub(this._complexImage,"")),this._processing.start()}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class Ly extends V{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Zo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new lb(t,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}function Fy(r){const e=r.substring(r.lastIndexOf(".")+1);return _l.suffixTypes[e]}class _l extends V{constructor(){super();d(this,"_enabled",this.disposeVar(B(!1)));d(this,"_uri",this.disposeVar(B("")));d(this,"_type",this.disposeVar(B(void 0)));d(this,"_size",this.disposeVar(ne(void 0)));d(this,"_pixelFormat",this.disposeVar(B("RGBA")));d(this,"_flipY",this.disposeVar(B(!0)));d(this,"_crossOriginReact",this.disposeVar(B("")));d(this,"_autoplayReact",this.disposeVar(B(!0)));d(this,"_loopReact",this.disposeVar(B(!0)));d(this,"_copyTextureEvent",this.disposeVar(new N));d(this,"_imageProcessingResettingEvent",this.disposeVar(Pe(this.enabledChanged,this.uriChanged,this.typeChanged)));d(this,"_imageProcessingResetting",this.disposeVar(new we(this._imageProcessingResettingEvent,()=>{do{if(!this.enabled||!this.uri)break;let{type:t}=this;if(t||(t=Fy(this.uri)),!t)break;if(t==="img")return new lg(this,this.uri);if(t==="video")return new dg(this,this.uri);if(t==="gif")return new Eg(this,this.uri);if(t==="hls")return new Ry(this,this.uri);if(t==="flv")return new Ly(this,this.uri)}while(!1)})));d(this,"_createNativeTextureEvent",this.disposeVar(Pe(this.enabledChanged,this.sizeChanged,this.pixelFormatChanged,this.flipYChanged)))}get enabled(){return this._enabled.value}set enabled(t){this._enabled.value=t}get enabledChanged(){return this._enabled.changed}get uri(){return this._uri.value}set uri(t){this._uri.value=t}get uriChanged(){return this._uri.changed}get type(){return this._type.value}set type(t){this._type.value=t}get typeChanged(){return this._type.changed}get size(){return this._size.value}set size(t){this._size.value=t}get sizeChanged(){return this._size.changed}get pixelFormat(){return this._pixelFormat.value}set pixelFormat(t){this._pixelFormat.value=t}get pixelFormatChanged(){return this._pixelFormat.changed}get flipY(){return this._flipY.value}set flipY(t){this._flipY.value=t}get flipYChanged(){return this._flipY.changed}get crossOrigin(){return this._crossOriginReact.value}set crossOrigin(t){this._crossOriginReact.value=t}get crossOriginChanged(){return this._crossOriginReact.changed}get autoplay(){return this._autoplayReact.value}set autoplay(t){this._autoplayReact.value=t}get autoplayChanged(){return this._autoplayReact.changed}get loop(){return this._loopReact.value}set loop(t){this._loopReact.value=t}get loopChanged(){return this._loopReact.changed}get copyTextureEvent(){return this._copyTextureEvent}copyTexture(t){this._createNativeTextureEvent.flush(),this._copyTextureEvent.emit(t)}get imageProcessingResetting(){return this._imageProcessingResetting}get createNativeTextureEvent(){return this._createNativeTextureEvent}copyFromCanvas(t){if(t.width<=0||t.height<=0){console.warn("canvas.width <= 0 || canvas.height <= 0");return}this.size=[t.width,t.height],this.pixelFormat="RGBA",this.copyTexture({source:t})}}d(_l,"types",hg),d(_l,"czmPixelFormats",cg),d(_l,"suffixTypes",{png:"img",jpg:"img",svg:"img",webp:"img",gif:"gif",mp4:"video",mov:"video",webm:"video",flv:"flv",m3u8:"hls"});const cb=[0,0,0,0];class hb{constructor(){d(this,"_value",[]);d(this,"_valueStr","[]");d(this,"_valueChanged");this.value=[{ratio:0,rgba:[0,0,1,1]},{ratio:.2,rgba:[0,1,0,1]},{ratio:.8,rgba:[1,1,0,1]},{ratio:1,rgba:[1,0,0,1]}]}get valueChanged(){return this._valueChanged||(this._valueChanged=new N),this._valueChanged}set value(e){if(e.length===0){console.error("value.length === 0");return}let t;if(this._value.length===e.length){const i=[...e].sort((s,o)=>s.ratio-o.ratio);if(t=JSON.stringify(i),this._valueStr===t)return}t=t||JSON.stringify([...e].sort((i,s)=>i.ratio-s.ratio));const n=this._value;if(this._value=JSON.parse(t),this._value.length===0)throw console.error("this._colorStops.length === 0"),new Error("this._colorStops.length === 0");this._valueChanged&&this._valueChanged.emit(this._value,n)}get value(){return JSON.parse(JSON.stringify(this._value))}get valueStr(){return this._valueStr}get minRatio(){return this._value[0].ratio}get maxRatio(){return this._value[this._value.length-1].ratio}_getRatioIndex(e){if(e<this._value[0].ratio||e>this._value[this._value.length-1].ratio)throw console.error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio"),new Error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio");let t=this._value.length;for(let n=0;n<t-1;++n)if(e>=this._value[n].ratio&&e<=this._value[n+1].ratio)return n;throw console.error("shoud not be here!"),new Error("shoud not be here!")}getRatioColor(e,t){e=Al(e,this.minRatio,this.maxRatio);const n=this._getRatioIndex(e),i=this._value[n],s=this._value[n+1],o=(e-i.ratio)/(s.ratio-i.ratio);for(let a=0;a<4;++a)t[a]=i.rgba[a]*(1-o)+s.rgba[a]*o;if(t.some(Number.isNaN)){console.error("result NaN");return}return t}getColorsInUint8(e){if(e.length%4!==0)throw console.error("result.length % 4 !== 0"),new Error("result.length % 4 !== 0");const t=e.length/4,n=1/t;for(let i=0;i<t;++i){const s=cb;this.getRatioColor((i+.5)*n,s)||s.splice(0,4,0,0,0,0);for(let o=0;o<4;++o)e[i*4+o]=255*s[o]|0}return e}}class db extends V{constructor(){super(...arguments);d(this,"registerEngines",{})}register(t,n,i){const s=this.registerEngines[t]||new Map;return s.has(n)&&console.warn(`register warn:${t}中${n}的实现类已经被注册,再次注册会覆盖。`),s.set(n,i),this.registerEngines[t]=s,n}getEngineObjConstructor(t,n){const i=this.registerEngines[n];if(!i)return;let s=t.constructor,o=t.typeName,a=i.get(o);if(a)return a;if(t.components.main)return;const u=o;for(;o!=="ESSceneObject"&&(s=s.getParentClass(),!!s);)if(o=s.type,a=i.get(o),a)return console.warn(`未找到${u}在${n}中对应的实现类! 使用父类${o}的实现类!`),a}createEngineObject(t,n){const i=this.getEngineObjConstructor(t,n.typeName);if(i){const s=new i(t,n);return s.createdEvent.emit(),s}else{const s=new bo(t,n);return s.createdEvent.emit(),s}}}class fb extends V{constructor(){super(...arguments);d(this,"registerEngines",{})}register(t,n,i){const s=this.registerEngines[t]||new Map;s.has(n)&&console.warn(`register warn:${t}中${n}的实现类已经被注册,再次注册会覆盖。`),s.set(n,i),this.registerEngines[t]=s}getEngineObjConstructor(t,n){const s=(this.registerEngines[n]||new Map).get(t);if(s)return s;console.warn(`未找到${t}在${n}中对应的实现类!`)}createEngineObject(t,n){const i=this.getEngineObjConstructor(t.typeName,n.typeName);if(i){const s=new i(t,n);return s.createdEvent.emit(),s}else{const s=new bo(t,n);return s.createdEvent.emit(),s}}}const Dr=class Dr extends V{constructor(t,n,i=!1){super();d(this,"_createdEvent",this.dv(new N));d(this,"_id",++Dr._accumId);this._sceneObject=t,this._viewer=n;{if(i)return;const s=(o,a)=>{for(let u of o)this._viewer.delete(u);for(let u of a)u.parentID=this.sceneObject.id,this._viewer.add(u)};s([],this._sceneObject.components.values()),this.d(this._sceneObject.components.toChange.don(s)),this.d(()=>s(this._sceneObject.components.values(),[]))}}get createdEvent(){return this._createdEvent}get sceneObject(){return this._sceneObject}get viewer(){return this._viewer}get id(){return this._id}};d(Dr,"context",new db),d(Dr,"contextEditing",new fb),d(Dr,"register",Dr.context.register.bind(Dr.context)),d(Dr,"registerEditing",Dr.contextEditing.register.bind(Dr.contextEditing)),d(Dr,"_accumId",-1);let bo=Dr;class pb extends V{constructor(){super();d(this,"_tools",new Map);this._tools.set("default",new Map)}_getMcpTool(t){const{description:n,inputSchema:i}=t.params,s=qy.object(i),o=Xy(s);return{name:t.name,description:n,inputSchema:o}}listTools(){return this.groupTools().flatMap(({tools:n})=>n)}groupTools(){return Array.from(this._tools.entries()).map(([n,i])=>({group:n,tools:Array.from(i.values()).map(this._getMcpTool,this)}))}_getGroup(t){return this._tools.has(t)||(console.warn(`group "${t}" does not exist.`),this._tools.set(t,new Map)),this._tools.get(t)}_getTool(t){for(const n of this._tools.values())if(n.has(t))return n.get(t)}_registerTool(t,n="default"){const i=this._getGroup(n);for(const[s,o]of this._tools.entries())if(o.has(t.name)&&s!==n){console.warn(`Tool "${t.name}" is already registered in group "${s}". Tool names must be unique across all groups.`);return}i.has(t.name)&&console.warn(`Tool "${t.name}" is already registered in group "${n}". Now replacing it.`),i.set(t.name,t)}_registerTools(t,n="default"){t.forEach(i=>this._registerTool(i,n))}async callTool(t){try{const{name:n,arguments:i}=t;console.log(`调用工具 ${n},参数:`,i);const s=this._getTool(n);if(!s||!s.func)throw new Error(`Tool "${n}" does not exist.`);const o=await s.func(i);return console.log(`调用工具 ${n} 结果:`,o),o}catch(n){throw console.error(`调用工具 ${t.name} 失败:`,n),n}}}function Ay(r){return typeof r=="string"?document.getElementById(r):r}function lp(r){if(!r)throw new Error("container is not defined");r.innerHTML="";const e=document.createElement("div");return e.style.cssText="width: 100%; height: 100%; margin: 0px; padding: 0px; border: none; overflow: hidden; position: relative; z-index: 0; background: rgba(0,0,0,0);",r.appendChild(e),e}class ky extends V{constructor(t,n){super();d(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=t,this._createSceneObjectListeningFunc=n;const i=this._listeningSceneObjects,s=(o,a)=>{if(o)for(let u of o){const l=i.get(u);l&&(l.destroy(),i.delete(u))}if(a)for(let u of a){if(i.get(u)){console.warn(`listeningSceneObjects已存在某对象:${u.name}`,u);debugger}const c=this.createSceneObjectListeningFunc(u);c&&i.set(u,c)}};s(void 0,this._sceneObjectsMananger.sceneObjects),this.dispose(this._sceneObjectsMananger.sceneObjectsToChange.disposableOn(s)),this.dispose(()=>{for(let o of this._listeningSceneObjects.values())o.destroy();this._listeningSceneObjects.clear()})}get listeningSceneObjects(){return this._listeningSceneObjects}get createSceneObjectListeningFunc(){return this._createSceneObjectListeningFunc}}class gb extends V{constructor(e){super(),this._esObjectsManager=e;{const t=this._esObjectsManager;class n extends V{constructor(s){super(),this._esPath=s,this.dv(new we(t.activeViewerChanged,()=>{const o=t.activeViewer;if(!o)return;class a extends V{constructor(l){if(super(),this._esPath=l,!o)throw new Error("!viewer");const c=()=>{const h=t.activeViewer;h&&(this._esPath.path.currentTime=h.simulationTime)};c(),this.d(o.simulationTimeChanged.don(c))}}return new a(this._esPath)}))}}this.dv(new ky(t.sceneObjectsManager,i=>{if(i instanceof Ba)return new n(i)}))}{const t=this._esObjectsManager;class n extends V{constructor(s){super();const o=()=>{const a=t.activeViewer;a&&(a.simulationTime=s.currentTime??0)};o(),this.d(s.currentTimeChanged.don(o))}}this.dv(new ky(t.sceneObjectsManager,i=>{if(i instanceof Va)return new n(i)}))}}}class mb extends V{constructor(e){super(),e.forEach(t=>{this.d(t.path.currentPositionChanged.don(n=>{n&&t.sceneObjects.forEach(i=>{Reflect.has(i,"position")&&(i.position=[...n])})})),this.d(t.path.currentRotationChanged.don(n=>{n&&t.sceneObjects.forEach(i=>{Reflect.has(i,"rotation")&&(i.rotation=[...n])})}))})}}class vb extends V{constructor(t){super();d(this,"_player");d(this,"_channels",this.dv(dt([])));this._objectManager=t,this._player=this._objectManager.player,this.dv(new we(this.channelsChanged,()=>{if(this.channels.length===0)return;const n=[];for(let i=0;i<this.channels.length;i++){const s=this.channels[i],o=rt.getSceneObjById(s.pathId);if(!o||!(o instanceof Ba))continue;const u=s.sceneObjectIds.map(l=>rt.getSceneObjById(l)).filter(l=>l!==void 0);u.length!==0&&n.push({path:o,sceneObjects:u})}if(n.length!==0)return new mb(n)}))}get player(){return this._player}get channels(){return this._channels.value}get channelsChanged(){return this._channels.changed}set channels(t){this._channels.value=t}}function Xc(r){if(r.data){const{type:e,value:t}=r.data;if(e==="UITreeA"&&t instanceof mn){const{sceneObject:n}=t;if(n)return n.id}}}function yb(r,e){const{property:t,customEventName:n,otherParams:i}=e,{dragstartDataMananger:s}=r;if(!(t instanceof ea)){if(!(t instanceof Ng)){if(t instanceof pt){const[o,a]=Vi(t.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;Xc(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const l=Xc(s);l!==void 0&&a(l)}}else if(t instanceof bg){const[o,a]=Vi(t.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;Xc(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");const u=i[0].$event,l=i[0].strinsPropDom,c=i[0].index;u.preventDefault();const h=Xc(s);if(h!==void 0){l[c].firstChild.value=h;const f=new Event("input",{bubbles:!0,cancelable:!0});l[c].firstChild.dispatchEvent(f)}}}else if(t instanceof Pg){const[o,a]=Vi(t.reactVar)}}}}function Vy(r,e,t,n){if(t)n.currentActiveEditing=[r,e];else if(n.currentActiveEditing){const[i,s]=n.currentActiveEditing;i===r&&s===e&&(t||(n.currentActiveEditing=void 0))}}const _b=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class wb extends V{constructor(e,t){super(),this._sceneObject=e;const n=this._sceneObject;for(let i of _b){const s=i+"Changed",o=n[s];if(o){{const a=n[i];Vy(n,i,a,t)}this.dispose(o.disposableOn(a=>Vy(n,i,a,t)))}}}get sceneObject(){return this._sceneObject}}class Eb extends V{constructor(){super();d(this,"_currentActiveEditing",this.disposeVar(ne(void 0)));d(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((t,n)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),n){const[i,s]=n;i[s]===!0&&(i[s]=!1)}if(t){const[i,s]=t;i[s]=!0}})),rt.context.sceneObjCreatedEvent.don(t=>{t.dv(new wb(t,this))})}get currentActiveEditing(){return this._currentActiveEditing.value}set currentActiveEditing(t){this._currentActiveEditing.value=t}get currentActiveEditingChanged(){return this._currentActiveEditing.changed}get currentActiveEditingLastChangedTime(){return this._currentActiveEditingLastChangedTime}}class Cb extends V{constructor(){super();d(this,"_sceneObjects",new Set);d(this,"_sceneObjectsToChange",this.dv(new N));this.d(()=>{const t=hh(this._sceneObjects);t!==0&&console.warn(`场景对象管理器销毁时仍然管理着${t}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(t){return this._sceneObjects.has(t)?(console.warn(`创建失败:对象${t.typeName+":"+t.id}已经存在于场景对象管理器中!}`),!1):(this._sceneObjectsToChange.emit([],[t]),this._sceneObjects.add(t),!0)}deleteSceneObject(t){return this._sceneObjects.has(t)?(this._sceneObjectsToChange.emit([t],[]),this._sceneObjects.delete(t),!0):(console.warn(`删除失败:对象${t.typeName+":"+t.id}不存在于场景对象管理器中!}`),!1)}createSceneObject(t,n){const i=rt.context.createSceneObject(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromUrl(t,n){const i=rt.context.createSceneObjectFromUrl(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(t,n){const i=rt.context.createSceneObjectFromClass(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(t){const n=rt.context.createSceneObjectFromJson(t);return n&&this.addSceneObject(n),n}}class Sb extends V{constructor(t){super();d(this,"_enabled",this.dv(B(!1)));d(this,"_cursorPosition",B(void 0));d(this,"quickPickPosition",!0);let n=new V;const i=()=>{n&&(n.destroy(),n=void 0)};this.d(i);const s=()=>{if(i(),!t||!this._enabled.value)return;n=new V;const o=n.dv(B(void 0)),a=n.dv(Pe(o.changed));n.d(t.pointerMoveEvent.don(l=>{l.pointerEvent&&(o.value=an(l.pointerEvent))}));const u=n.dv(Hn(async l=>{if(o.value)if(this.quickPickPosition){const c=await l.promise(Ko(t.quickPickPosition(o.value)));this._cursorPosition.value=c}else{const c=await l.promise(Ko(t.pickPosition(o.value)));this._cursorPosition.value=c}}));n.d(a.don(()=>{u.restart()}))};s(),this.d(this._enabled.changed.don(s))}get enabled(){return this._enabled.value}set enabled(t){this._enabled.value=t}get enabledChanged(){return this._enabled.changed}get cursorPosition(){return this._cursorPosition.value}get cursorPositionChanged(){return this._cursorPosition.changed}}class bb extends V{constructor(t){super();d(this,"cursorPositionInfo");this.viewer=t,this.cursorPositionInfo=this.dv(new Sb(this.viewer))}}class Pb extends V{constructor(t){super();d(this,"viewer");const n=this.viewer=t;this.ad(new we(n.rollerShutterChanged,()=>{const i=n.container;if(!i||!n.rollerShutter)return;const s=new V;this.viewer.splitPosition=.5;let o=this.getRollerShutterDIV();return i.appendChild(o),s.d(()=>{this.viewer.splitPosition=0,i.removeChild(o)}),s}))}getRollerShutterDIV(){let t=document.createElement("div");t.style.position="absolute",t.style.left="50%",t.style.top="0",t.style.backgroundColor="#d3d3d3",t.style.width="5px",t.style.height="100%",t.style.zIndex="9999";const n=i=>{if(!t.parentElement)return;i.preventDefault?i.preventDefault():i.returnValue=!1;const o=i.x/t.parentElement.offsetWidth;t.style.left=`${100*o}%`,this.viewer.splitPosition=o};return t.addEventListener("mouseenter",i=>{t.style.cursor="ew-resize"}),t.addEventListener("mouseleave",i=>{t.style.cursor="default"}),t.addEventListener("mousedown",i=>{t.style.cursor="ew-resize",document.addEventListener("mousemove",n)}),document.addEventListener("mouseup",i=>{t.style.cursor="default",document.removeEventListener("mousemove",n)}),t}}class Ib extends V{constructor(t){super();d(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new Pb(t))}}function By(r,e){return r.length===e.length&&r.every((t,n)=>t===e[n])}class xb extends V{constructor(e){super(),this._viewer=e,this.d(j([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class Tb extends V{constructor(e,t){super(),this._viewer=e,this._activeViewer=t;const n=ti.createCommonProps(),i=[];Object.keys(n).forEach(u=>{const l=this._activeViewer[u+"Changed"];i.push(l)});const s=this.dv(Pe(...i)),o=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(n).forEach(u=>{this._viewer[u]=this._activeViewer[u]})};this.d(s.don(o));const a=this.dv(Iu());a.restart(void 0,async()=>{if(this._viewer.status!=="Created"||this._activeViewer.status!=="Created")return;const u=this._activeViewer.getCurrentCameraInfo(),l=this._viewer.getCurrentCameraInfo();if(!u)return;const{position:c,rotation:h}=u;l&&By(c,l.position)&&By(h,l.rotation)||this._viewer.flyIn(c,h,0)}),this.d(()=>a.cancel())}}const Nb=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="40" height="40" style="shape-rendering: auto; display: block; background: rgba(255, 255, 255, 0);" xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle stroke-linecap="round" fill="none" stroke-dasharray="50.26548245743669 50.26548245743669" stroke="#ffffff" stroke-width="8" r="32" cy="50" cx="50">
433
433
  <animateTransform values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform>
434
434
  </circle><g></g></g></svg>
435
- `,xb='<svg t="1747028305766" class="icon" viewBox="0 0 1032 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3881" width="40" height="40"><path d="M0.1536 547.700736c-0.205824-0.187392-0.205824-0.49152 0.008192-0.68608l80.672768-73.590784a0.63488 0.63488 0 0 1 0.7936-0.029696l263.043072 203.0336c0.667648 0.515072 1.738752 0.498688 2.393088-0.038912l609.191936-500.133888a0.605184 0.605184 0 0 1 0.768 0.022528l74.84928 67.229696a0.454656 0.454656 0 0 1-0.002048 0.685056l-685.234176 618.19904a1.14688 1.14688 0 0 1-1.518592-0.012288L0.1536 547.700736z" fill="#ffffff" p-id="3882"></path></svg>',Tb='<svg t="1747028398107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1146" width="40" height="40"><path d="M415.744006 1.033277A0.992256 0.992256 0 0 1 416.747526 0.000061h189.5045c0.569344 0 1.017856 0.45056 1.001472 1.033216l-21.227518 754.803667a1.062912 1.062912 0 0 1-1.05984 1.032192h-146.933752c-0.569344 0-1.04448-0.45056-1.059839-1.032192L415.744006 1.033277zM511.510528 1024c-52.595709 0-95.231994-39.866366-95.231994-89.043963 0-49.176573 42.636285-89.042939 95.231994-89.042938 52.594685 0 95.231994 39.866366 95.231994 89.042938 0 49.177597-42.637309 89.043963-95.231994 89.043963z" fill="#ffffff" p-id="1147"></path></svg>',Uo=class Uo extends B{constructor(e){super();const t=()=>{const n=this.dv(new kc);this.d(j([n,"show"],[e,"useDefaultStatusDiv"]));{const i=()=>{n.show=(e.useDefaultStatusDiv??!0)&&e.status!=="Created"};i(),this.d(e.useDefaultStatusDivChanged.don(i)),this.d(e.statusChanged.don(i)),n.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}e.add(n),this.d(()=>e.delete(n)),n.instanceClass=class extends B{constructor(o,a,u){super();d(this,"_div",document.createElement("div"));if(this._subContainer=o,!u)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const v=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};v(),this.d(a.showChanged.don(v))}let l,c,h,f,p;this._div.style.pointerEvents="none",this._div.style.position="absolute",this._div.style.width="100%",this._div.style.height="100%",this._div.style.backgroundColor="rgba(0, 0, 0, 0.4)",this._div.style.zIndex="100",this._div.style.transition="opacity 2s",l=document.createElement("div"),this._div.appendChild(l),l.style.width="auto",l.style.position="absolute",l.style.left="50%",l.style.top="50%",l.style.transform="translate(-50%,-50%)",l.style.background="rgba(120, 120, 0, 0.7)",l.style.color="white",l.style.fontSize="10px",l.style.background="none",l.style.display="flex",l.style.justifyContent="center",l.style.alignItems="center",c=document.createElement("div"),l.appendChild(c),c.style.pointerEvents="none",c.style.display="block",c.style.width="40px",c.innerHTML=Uo.defaultsSvg.loadingSvg,c.style.filter="drop-shadow(0px 0px 1px black)",h=document.createElement("div"),l.appendChild(h),h.style.pointerEvents="none",h.style.marginLeft="10px",h.style.display="flex",h.style.flexFlow="column",h.style.maxWidth="300px",f=document.createElement("div"),h.appendChild(f),f.style.fontSize="14px",f.style.fontWeight="800",f.style.marginBottom="5px",f.style.textShadow="0 0 2px black",p=document.createElement("div"),h.appendChild(p),p.style.fontWeight="400",p.style.textShadow="0 0 2px black";{const v=()=>{let S="Raw";u.status==="Raw"?S="初始状态":u.status==="Creating"?S="正在创建":u.status==="Created"?S="创建完成":u.status==="Error"?S="创建失败":u.status==="Reconnecting"&&(S="重新连接"),f.innerText=`${S}(${u.status})`,p.innerText=`${u.statusLog}`,(u.status==="Creating"||u.status==="Reconnecting")&&(c.innerHTML=Uo.defaultsSvg.loadingSvg),u.status==="Created"&&(c.innerHTML=Uo.defaultsSvg.successSvg),u.status==="Error"&&(c.innerHTML=Uo.defaultsSvg.warnSvg)};v();const C=this.dv(Pe(u.statusLogChanged,u.statusChanged));this.d(C.don(v))}}update(){const o=255*Math.random()|0,a=255*Math.random()|0,u=255*Math.random()|0;this._div.style.background=`rgba(${o}, ${a}, ${u}, 0.8)`}}};this.d(e.containerChanged.don(()=>{t()}))}};d(Uo,"defaultsSvg",{loadingSvg:Ib,successSvg:xb,warnSvg:Tb});let cp=Uo;class Nb extends B{constructor(e,t,n){super(),this._subContainer=e,this._overlayContainer=t,this._viewer=n;const i=this._subContainer,s=this._overlayContainer,o=this._viewer,a=()=>{const c=o.zIndex??"";i.style.zIndex=c,s.style.zIndex=c};a(),this.d(o.zIndexChanged.don(a));const u=()=>{i.style.display=o.show??!0?"block":"none"};u(),this.d(o.showChanged.don(u));const l=()=>{i.style.opacity=`${o.opacity??1}`};l(),this.d(o.opacityChanged.don(l))}}function Yc(r){let e=Wn(r,"_relativeContainer");return e||(e=document.createElement("div"),e.style.position="relative",e.style.width="100%",e.style.height="100%",e.style.padding="0",e.style.margin="0",r.appendChild(e),ci(r,"_relativeContainer",e)),e}class Ob extends B{constructor(t,n){super();d(this,"_subContainer",document.createElement("div"));d(this,"_overlayContainer",document.createElement("div"));d(this,"_containerStyleController");this._container=t,this._viewer=n,this._containerStyleController=this.dv(new Nb(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:i,overlayContainer:s}=this;i.tabIndex=-1,i.style.outline="none",i.style.width="100%",i.style.height="100%",i.onpointerdown=()=>i.focus(),s.style.position="relative",s.setAttribute("earthsdk3","earthsdk3-overlayContainer"),i.setAttribute("earthsdk3","earthsdk3-subContainer"),Yc(this._container).appendChild(i),this.d(()=>Yc(this._container).removeChild(i)),Yc(this._container).appendChild(s),this.d(()=>Yc(this._container).removeChild(s))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class Db extends B{constructor(){super(...arguments);d(this,"registerObjsMap",new Map)}register(t,n){return this.registerObjsMap.has(t)&&console.warn(`register warn:${t}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(t,n),t}getViewerConstructor(t){const n=this.registerObjsMap.get(t);if(!n){console.warn(`未找到${t}类!`);return}return n}createViewer(t){const n=t.type;console.log(t);const i=this.getViewerConstructor(n);if(!i)throw new Error(`没有找到类型为${n}的Viewer构造器!`);return new i(t)}}class jy extends B{constructor(e,t,n=!1,i=!1){if(super(),this._viewer=e,!t)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(ae.create(t,"pointerdown")),o=this.dv(ae.create(t,"pointermove")),a=this.dv(ae.create(t,"pointerup")),u=this.dv(ae.create(t,"pointerout")),l=this.dv(ae.create(t,"pointerover")),c=this.dv(new Ih),h=this.dv(new kp),f=()=>{const m=this._viewer.hoverTime*1e3;h.delayTime=m};this.d(this._viewer.hoverTimeChanged.don(()=>{f()})),this.d(s.don(m=>c.pointerDown(m))),this.d(o.don(m=>c.pointerMove(m))),this.d(a.don(m=>c.pointerUp(m))),this.d(u.don(m=>c.pointerOut(m))),this.d(s.don(m=>h.pointerDown(m))),this.d(o.don(m=>h.pointerMove(m))),this.d(a.don(m=>h.pointerUp(m))),this.d(u.don(m=>h.pointerOut(m)));const{x:p,y:v}=t.getBoundingClientRect(),C=i?p:0,S=i?v:0;this.d(h.hoverEvent.don(m=>{const[w,E]=Yo(m,n);this._viewer.hoverEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(c.clickEvent.don(m=>{const[w,E]=Yo(m,n);this._viewer.clickEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(c.dbclickEvent.don(m=>{const[w,E]=Yo(m,n);m.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(s.don(m=>{const[w,E]=Yo(m,n);m.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(a.don(m=>{const[w,E]=Yo(m,n);m.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(o.don(m=>{const[w,E]=an(m,n);this._viewer.pointerMoveEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(l.don(m=>{const[w,E]=an(m,n);this._viewer.pointerOverEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(u.don(m=>{const[w,E]=an(m,n);this._viewer.pointerOutEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})}));const P=this.dv(ae.create(t,"keydown"));this.d(P.don(m=>this._viewer.keyDownEvent.emit(m)));const y=this.dv(ae.create(t,"keyup"));this.d(y.don(m=>this._viewer.keyUpEvent.emit(m)));const _=this.dv(ae.create(t,"wheel"));this.d(_.don(m=>this._viewer.wheelEvent.emit(m)))}}const fs=class fs extends B{constructor(t){super();d(this,"_forceRecreateEvent",this.dv(new N));d(this,"_container",this.dv(V(void 0)));d(this,"_containerSize",this.dv(V(void 0)));d(this,"_editingEvent",this.disposeVar(new N));d(this,"_esViewerExtensions",this.dv(new Eb(this)));d(this,"_status",this.dv(V("Raw")));d(this,"_statusLog",this.dv(V("")));d(this,"_statusContainer",this.dv(new cp(this)));d(this,"_useCustomInteraction",this.dv(V(!0)));d(this,"_resetInteractionEvent",this.dv(Pe(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));d(this,"_interactionResetting",this.dv(new we(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new jy(this,this.container)})));d(this,"_viewerChanged",this.dv(new N));d(this,"_cameraChanged",this.dv(new N));d(this,"_containerResetEvent",this.dv(Pe(this.containerChanged,this._forceRecreateEvent)));d(this,"_containerResetting",this.dv(new we(this._containerResetEvent,()=>{if(this.container)return new Ob(this.container,this)})));d(this,"_sceneObjectsMap",new Map);d(this,"_id");d(this,"_typeName");d(this,"_updateFuncReact",this.dv(V(void 0)));d(this,"_toDestroyFuncReact",this.dv(V(void 0)));d(this,"_statusInfo",fs.defaults.statusInfo);d(this,"_navigationMode",this.dv(V("Map")));d(this,"_syncViewer",this.dv(V(void 0)));d(this,"_syncEventDon",this.dv(new we(this.syncViewerChanged,()=>{const t=this.syncViewer;if(t)return new Pb(this,t)})));d(this,"_timeSyncdon",this.dv(new we(this.timeSyncChanged,()=>{if(this.timeSync)return new bb(this)})));d(this,"_hoverEvent",this.dv(new N));d(this,"_pointerOverEvent",this.dv(new N));d(this,"_pointerMoveEvent",this.dv(new N));d(this,"_pointerDownEvent",this.dv(new N));d(this,"_pointerUpEvent",this.dv(new N));d(this,"_pointerOutEvent",this.dv(new N));d(this,"_clickEvent",this.dv(new N));d(this,"_dblclickEvent",this.dv(new N));d(this,"_keyDownEvent",this.dv(new N));d(this,"_keyUpEvent",this.dv(new N));d(this,"_wheelEvent",this.dv(new N));d(this,"_actived",this.dv(V(!1)));this._id=t.id??qo();const n=Ay(t.container);if(n)this._container.value=lp(n),this._typeName=t.type,this._initName();else throw new Error("container is not defined");{const i=()=>{n&&(this.show??!0?n.style.display="block":n.style.display="none")};i(),this.d(this.showChanged.don(i))}{const i=this._sceneObjectsMap,s=()=>{for(let[a,u]of i.entries())if(!u&&a){const l=bo.context.createEngineObject(a,this);l&&i.set(a,l)}},o=()=>{for(let[a,u]of i.entries())u&&!u.isDestroyed()&&u.destroy(),i.set(a,void 0)};this.d(o),this.d(this.viewerChanged.don(a=>{o(),a&&s()}))}{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(s){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(o){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let s;this.d(()=>s&&s.destroy()),this.d(this.updateFuncChanged.don(()=>{s&&s.cancel(),this.updateFunc&&(s=s||Iu(),s.restart(void 0,o=>{this.updateFunc&&this.updateFunc(this,o)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(s){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}this.ad(new Sb(this))}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(t){this._container.value=t}set containerOrId(t){if(typeof t=="string"){const n=document.getElementById(t);n&&n instanceof HTMLDivElement?this._container.value=lp(n):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else t instanceof HTMLDivElement?this._container.value=lp(t):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(t){this._containerSize.value=t}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get esViewerExtensions(){return this._esViewerExtensions}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(t){this._status.value=t}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(t){this._statusLog.value=t}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(t){this._useCustomInteraction.value=t}get viewerChanged(){return this._viewerChanged}get cameraChanged(){return this._cameraChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(t){return this.sceneObjectsMap.get(t)}add(...t){for(let n of t)if(!this.has(n)){rt.context.addSceneObject(n);const i=bo.context.createEngineObject(n,this);i&&this._sceneObjectsMap.set(n,i),n.viewerAttached.emit(this)}}delete(...t){for(let n of t)if(this.has(n)){const i=this._sceneObjectsMap.get(n);i&&i.destroy(),rt.context.deleteSceneObject(n),this._sceneObjectsMap.delete(n),n.viewerDetached.emit(this)}}disposableAdd(...t){return this.add(...t),()=>this.delete(...t)}disAdd(...t){return this.disposableAdd(...t)}has(t){return this._sceneObjectsMap.has(t)}clearAllSceneObjects(){for(let t of this.sceneObjects)this.delete(t)}get id(){return this._id}set id(t){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return fs.createDefaultProps()}_getJson(t=!0){const n={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let s,o=this.defaultProps[i];o instanceof je?s=o.equals(this[i]):s=o===this[i],s||(n[i]=this[i])}else n[i]=this[i];return n}_setJson(t,n,i){if(!(t instanceof Object)||t.type&&t.type!==this.typeName){console.error(`value.type && value.type${t.type} !== this.typeName${this.typeName}`);return}t.id&&t.id!==this.id&&console.warn(`value.id === undefined || value.id${t.id} !== this.id(${this.id})`);const s=n||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof je&&(u=u.value),this[a]=u}}get json(){return this._getJson()}set json(t){this._setJson(t,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(t){this._updateFuncReact.value=t}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(t){this._toDestroyFuncReact.value=t}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get navigationMode(){return this._navigationMode.value}get navigationModeChanged(){return this._navigationMode.changed}getNavigationMode(){return this._navigationMode.value}getEngineType(){return this._typeName}get syncViewer(){return this._syncViewer.value}set syncViewer(t){this._syncViewer.value=t}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(t){t&&t.syncViewer&&(t.syncViewer=void 0),t===this?this._syncViewer.value=void 0:this._syncViewer.value=t}setCurrentTime(t){try{this.currentTime=typeof t=="string"?Date.parse(t):t}catch(n){console.warn(`时间格式不正确! value: ${t} error: ${n}`)}}async getVersion(){return globalThis.g_XE3CopyRights??{}}get hoverEvent(){return this._hoverEvent}get pointerOverEvent(){return this._pointerOverEvent}get pointerMoveEvent(){return this._pointerMoveEvent}get pointerDownEvent(){return this._pointerDownEvent}get pointerUpEvent(){return this._pointerUpEvent}get pointerOutEvent(){return this._pointerOutEvent}get clickEvent(){return this._clickEvent}get dblclickEvent(){return this._dblclickEvent}get keyDownEvent(){return this._keyDownEvent}get keyUpEvent(){return this._keyUpEvent}get wheelEvent(){return this._wheelEvent}get actived(){return this._actived.value}set actived(t){this._actived.value=t}get activedChanged(){return this._actived.changed}getESProperties(){return{defaultMenu:"general",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[],more:[]}}getProperties(t){const n={...this.getESProperties()},i=[];return n.general.length>0&&i.push(new ut(n.general,"general")),Object.keys(n).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&n[s].length>0&&i.push(new ut(n[s],s))}),i}};d(fs,"context",new Db),d(fs,"register",fs.context.register.bind(fs.context)),d(fs,"defaults",{show:!0,debug:!1,statusInfo:{fps:0,position:[0,0,0],rotation:[0,0,0],length:0},terrainShader:{slope:{show:!1},aspect:{show:!1},elevationRamp:{show:!1,minHeight:-414,maxHeight:8777,color:[]},elevationContour:{show:!1,color:[1,0,0,1],spacing:150,width:2}},globeShow:!0,splitPosition:0,cameraMovableRegion:[0,0,0,0,0,0],depthTestAgainstTerrain:!0,terrainOpacity:1});let ti=fs;(r=>{r.createBaseProps=()=>({name:"未命名场景对象",extras:_t(void 0),devTags:ne(void 0),debug:void 0,show:void 0,opacity:void 0,zIndex:void 0,useDefaultStatusDiv:!0,execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0}),r.createCommonProps=()=>({globeShow:!0,ionAccessToken:"",lonLatFormat:"DECIMAL_DEGREE",fov:60,textAvoidance:!1,flyToBoundingSize:256,hoverTime:2,currentTime:Date.now(),simulationTime:Date.now(),timeSync:!1,rain:0,snow:0,cloud:0,fog:0,depthOfField:0,atmosphere:!0,editingPointSize:void 0,editingPointColor:ne(void 0),editingAuxiliaryPointColor:ne(void 0),editingLineWidth:void 0,editingLineColor:ne(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:r.defaults.terrainShader,splitPosition:V(void 0),rollerShutter:!1,cameraMovableRegion:ne(void 0),depthTestAgainstTerrain:!0,terrainOpacity:1}),r.createDefaultProps=()=>({...(0,r.createBaseProps)(),...(0,r.createCommonProps)()})})(ti||(ti={})),ji(ti.prototype,ti.createDefaultProps);function zy(r,e){const t=r._lastCameraInfo;if(t){const n=e.viewerChanged.don(i=>{if(!i||!t)return;const{position:s,rotation:o}=t;e.flyIn(s,o,0),r._lastCameraInfo=void 0,n()})}}const Mb=r=>{const e=ti.createCommonProps(),t={};try{Object.keys(e).forEach(n=>{t[n]=r[n]})}catch(n){console.warn(n)}return t},Uy=(r,e)=>{const t=ti.createCommonProps();try{Object.keys(t).forEach(n=>{r[n]=e[n]})}catch(n){console.warn(n)}};class Rb extends B{constructor(t){super();d(this,"_viewersChanged",this.disposeVar(new N));d(this,"_viewers",new Set);d(this,"_viewersToChange",this.dv(new N));this._sceneObjectsManager=t,this.d(()=>{for(const n of this._viewers)this.destroyViewer(n);this._viewers.clear()}),this.viewers.forEach(n=>{const i=this._sceneObjectsManager.sceneObjects;n.add(...i)}),this.d(()=>{const n=this._sceneObjectsManager.sceneObjects;this.viewers.forEach(i=>{i.delete(...n)})}),this.d(this._sceneObjectsManager.sceneObjectsToChange.don((n,i)=>{this.viewers.forEach(s=>{i.forEach(o=>{Gi(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))}),n.forEach(o=>{Gi(s.devTags,o.devTags)&&(s.has(o)?s.delete(o):console.warn(`${s.typeName}中不存在${o.typeName},检查逻辑是否有问题!`))})}),i.length>0&&i.forEach(s=>{s.d(s.devTagsChanged.don(()=>{this.viewers.forEach(o=>{o.has(s)&&o.delete(s),console.log("sceneObjectsToChange",o.devTags,s.devTags,Gi(o.devTags,s.devTags))}),this.viewers.forEach(o=>{Gi(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))})}))})})),this.d(this.viewersChanged.don((n,i)=>{const s=this._sceneObjectsManager.sceneObjects;i.forEach(o=>{for(let a of s)Gi(o.devTags,a.devTags)&&(o.has(a)?console.warn(`${o.typeName}中已存${a.typeName},检查逻辑是否有问题!`):o.add(a))}),n.forEach(o=>{for(let a of s)Gi(o.devTags,a.devTags)&&(o.has(a)?o.delete(a):console.warn(`${o.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))}),i.length>0&&i.forEach(o=>{o.d(o.devTagsChanged.don(()=>{o.clearAllSceneObjects();const a=this._sceneObjectsManager.sceneObjects;for(let u of a)console.log("viewersChanged",o.devTags,u.devTags,Gi(o.devTags,u.devTags)),Gi(o.devTags,u.devTags)&&(o.has(u)?console.warn(`${o.typeName}中已存${u.typeName},检查逻辑是否有问题!`):o.add(u))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(t){const n=ti.context.createViewer(t);return this._viewers.add(n),this._viewersChanged.emit([],[n]),n}destroyViewer(t){return t.isDestroyed()?!0:(this._viewers.delete(t),this._viewersChanged.emit([t],[]),t.destroy(),t.isDestroyed())}}class Jc extends B{constructor(...t){super();d(this,"_drgm",this.dv(new Rg));d(this,"_sobjm",this.dv(new _b));d(this,"_vrm",this.dv(new Rb(this._sobjm)));d(this,"_sceneObjectEditingManager",this.disposeVar(new yb));d(this,"_activeViewer",this.dv(V(void 0)));d(this,"_syncOtherViewersToActived",this.dv(V(!1)));d(this,"_cmrvm",this.createSceneObjectFromClass(Lc));d(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));d(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});d(this,"_sceneTree",this.dv(new hl("default",this.dragstartDataMananger,24,this)));d(this,"_propUiTreeManager",this.dv(new La(24)));d(this,"_sceneTreeMap",new Map);d(this,"_viewerCreatedEvent",this.dv(new N));d(this,"_lastCameraInfo");d(this,"_lastActiveViewerJson");d(this,"_syncEventDonFunc",this.d(Bi([this.activeViewerChanged,this.syncOtherViewersToActivedChanged],()=>{const t=this.syncOtherViewersToActived;this.viewers.forEach(n=>{t?n.syncOtherViewer(this.activeViewer):n.syncOtherViewer(void 0)})})));d(this,"_player",this.createSceneObjectFromClass(Va));d(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));d(this,"_esPlyarAndPathTime",this.dv(new db(this)));d(this,"_pathAnimationManager",this.dv(new pb(this)))}static get envs(){return rt.context.environmentVariables}getSceneObjectById(t){return rt.getSceneObjectById(t)}getSceneObject(t){return rt.getSceneObject(t)}get $refs(){return rt.$refs}get dragstartDataMananger(){return this._drgm}get sceneObjectsManager(){return this._sobjm}get viewers(){return this._vrm.viewers}getViewers(){return this._vrm.getViewers()}get sceneObjectEditingManager(){return this._sceneObjectEditingManager}get activeViewer(){return this._activeViewer.value}set activeViewer(t){this._activeViewer.value=t,this.viewers.values().forEach(n=>n.actived=n===t)}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(t){this._syncOtherViewersToActived.value=t}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var h;const t=this._asset.createdTime||new Date().toISOString(),n=new Date().toISOString(),i=this._asset.name||"未命名项目",o={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:t,modifiedTime:n,name:i},a=this.sceneTree.json,u=this._cmrvm.views,l=[...this._vrm.viewers].map(f=>f.json),c=(h=this.activeViewer)==null?void 0:h.getCurrentCameraInfo();return{asset:o,viewers:l,sceneTree:a,viewCollection:u,lastView:c}}set json(t){try{if(!t.asset)return;if(!t.asset.type||t.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=t.asset&&t.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=t.asset&&t.asset.modifiedTime||"",this._asset.name=t.asset&&t.asset.name||"未命名项目",this._asset.version=t.asset&&t.asset.version||"0.1.0",t.sceneTree&&(this.sceneTree.json=t.sceneTree),t.viewCollection&&(this._cmrvm.views=t.viewCollection),!t.viewers||!Array.isArray(t.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||t.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(n=>{const i=t.viewers.find(s=>s.id===n.id);i&&(n.json=i)})}catch(n){console.error(`ESObjectsManager解析json数据时发生错误! error: ${n}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(t){return gb(this,t)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(t="default"){if(t==="default")return this._sceneTree;if(!this._sceneTreeMap.has(t)){console.warn(`id为${t}的SceneTree不存在!`);return}return this._sceneTreeMap.get(t)}createSceneTree(t,n=24){if(this._sceneTreeMap.has(t)||t==="default")console.warn(`id为${t}的SceneTree已存在!`);else{const i=this.dv(new hl(t,this.dragstartDataMananger,n,this));this._sceneTreeMap.set(t,i)}return this.getSceneTree(t)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(t){const n=this._vrm.createViewer(t);this.activeViewer||(this.activeViewer=n);const i=this.d(n.viewerChanged.don(s=>{s&&(this._viewerCreatedEvent.emit(n),i())}));return n}destroyViewer(t){return this._activeViewer.value===t&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(t)}switchViewer(t,n=!0,i=!0,s=!0){var l;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&n&&(this._lastCameraInfo=(l=this.activeViewer)==null?void 0:l.getCurrentCameraInfo()),!this._lastActiveViewerJson&&i&&(this._lastActiveViewerJson=this.activeViewer?Mb(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const o=t.id,a=o?[...this.getViewers()].find(c=>c.id===o):[...this.getViewers()].find(c=>c.typeName===t.type&&!c.container);if(a)if(o&&a.typeName!==t.type)console.warn(`id为${o}的viewer的typeName和option.type${t.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),n&&zy(this,a),i&&this._lastActiveViewerJson&&(Uy(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===Ay(t.container)?(a.containerOrId=t.container,a.forceRecreate()):a.containerOrId=t.container,this.activeViewer=a,a;console.log("No ESViewer exists, will be created");const u=this.createViewer(t);return console.log(t),console.log(this),n&&zy(this,u),i&&this._lastActiveViewerJson&&(Uy(u,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=u,u}switchToCesiumViewer(...t){if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)){const{container:n,viewSync:i,attributeSync:s,destroy:o,id:a}=t[0];return this.switchViewer({type:"ESCesiumViewer",container:n,id:a},i??!0,s??!0,o??!0)}else if(typeof t[0]=="string"||t[0]instanceof HTMLDivElement){const n={container:t[0],viewSync:t[1]??!0,attributeSync:t[2]??!0,destroy:t[3]??!0,id:t[4]},{container:i,viewSync:s,attributeSync:o,destroy:a,id:u}=n;return this.switchViewer({type:"ESCesiumViewer",container:i,id:u},s,o,a)}}switchToUEViewer(...t){let n,i={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("uri")){const{container:u,uri:l,app:c,token:h,viewSync:f,attributeSync:p,destroy:v,id:C}=t[0];n={type:"ESUeViewer",container:u,id:C,options:{uri:l,app:c,token:h}},i={viewSync:f??!0,attributeSync:p??!0,destroy:v??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("ws")){const{container:u,ws:l,esmsg:c,viewSync:h,attributeSync:f,id:p,destroy:v}=t[0];n={type:"ESUeViewer",container:u,id:p,options:{ws:l,esmsg:c}},i={viewSync:h??!0,attributeSync:f??!0,destroy:v??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("project")){const{container:u,project:l,baseUrl:c,viewSync:h,attributeSync:f,id:p,destroy:v}=t[0];n={type:"ESUeViewer",container:u,id:p,options:{project:l,baseUrl:c}},i={viewSync:h??!0,attributeSync:f??!0,destroy:v??!0}}else(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?(n={type:"ESUeViewer",container:t[0],id:t[6],options:{ws:t[1],esmsg:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}):typeof t[1]=="string"&&t[1].startsWith("http")?(n={type:"ESUeViewer",container:t[0],id:t[7],options:{uri:t[1],app:t[2],token:t[3]??void 0}},i={viewSync:t[4]??!0,attributeSync:t[5]??!0,destroy:t[6]??!0}):(n={type:"ESUeViewer",container:t[0],id:t[6],options:{project:t[1],baseUrl:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}));if(!n)throw new Error("参数错误");const{viewSync:s,attributeSync:o,destroy:a}=i;return this.switchViewer(n,s,o,a)}createCesiumViewer(...t){let n;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?n={...t[0],type:"ESCesiumViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(n={container:t[0],options:t[1]??void 0,id:t[2]??void 0,type:"ESCesiumViewer"}),!n)throw new Error("参数错误");return this.createViewer(n)}createOpenLayersViewer(...t){let n;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?n={...t[0],type:"ESOlViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(n={container:t[0],options:t[1]??void 0,id:t[2]??void 0,type:"ESOlViewer"}),!n)throw new Error("参数错误");return this.createViewer(n)}createUeViewer(...t){let n;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?n={...t[0],type:"ESUeViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?n={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{ws:t[1],esmsg:t[2]??void 0}}:typeof t[1]=="string"&&t[1].startsWith("http")?n={type:"ESUeViewer",container:t[0],id:t[4]??void 0,options:{uri:t[1],app:t[2],token:t[3]??void 0}}:n={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{project:t[1],baseUrl:t[2]??void 0}}),!n)throw new Error("参数错误");return this.createViewer(n)}createSceneObject(t,n){return this._sobjm.createSceneObject(t,n)}createSceneObjectFromUrl(t,n){return this._sobjm.createSceneObjectFromUrl(t,n)}createSceneObjectFromClass(t,n){return this._sobjm.createSceneObjectFromClass(t,n)}createSceneObjectFromJson(t){return this._sobjm.createSceneObjectFromJson(t)}destroySceneObject(t){const n=this._sobjm.deleteSceneObject(t);return t.destroy(),n}destroyAllSceneObjects(){const t=[...this._sobjm.sceneObjects];for(let n of t)n!=this._player&&n!=this._cmrvm&&this.destroySceneObject(n)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}d(Jc,"getSceneObjById",rt.context.getSceneObjectById.bind(rt.context)),d(Jc,"getEnv",rt.context.getEnv.bind(rt.context)),d(Jc,"setEnv",rt.context.setEnv.bind(rt.context)),g.BasePropTreeItem=Bd,g.Boolean2Property=W0,g.Boolean2sProperty=X0,g.Boolean3Property=H0,g.Boolean3sProperty=Y0,g.Boolean4Property=q0,g.Boolean4sProperty=J0,g.BooleanProperty=X,g.BooleansProperty=A0,g.BorderedPosFloatDiv=Zp,g.BoxPicker=_h,g.CancelError=Mr,g.CancelsManager=Ch,g.CanvasImagePoi=s0,g.CanvasPoi=xh,g.CanvasPointPoi=o0,g.CanvasPrimitive=Vp,g.CanvasPrimitivesContext=a0,g.ColorProperty=Dt,g.ColorRgbProperty=Z0,g.ColorStops=lb,g.ComplexImage=_l,g.CursorFloatDiv=d0,g.CursorInfo=f0,g.DashPatternProperty=Q0,g.DateProperty=eo,g.DatesProperty=Dg,g.Debouncing=A_,g.DebouncingDeprecated=mh,g.DebouncingWithStartValues=k_,g.Destroyable=B,g.DivBoxPicker=R_,g.DivPoi=Jp,g.DivPointerClick=r0,g.DomElementEvent=ae,g.DoublyLinkedList=wp,g.DragStartDataManager=Rg,g.ES3DTileset=Pr,g.ESAlarm=Xd,g.ESApertureEffect=Yd,g.ESAreaMeasurement=Jd,g.ESBlastParticleSystem=$d,g.ESBoxClipping=Kd,g.ESCameraView=Mc,g.ESCameraViewCollection=Lc,g.ESCameraVisibleRange=Zd,g.ESCar=Fc,g.ESCityBasePoint=$f,g.ESClassification=Ac,g.ESClippingPlane=Qd,g.ESCustomDiv=kc,g.ESCzml=Kf,g.ESDataMesh=tf,g.ESDatasmithRuntimeModel=Df,g.ESDirectionMeasurement=Cf,g.ESDistanceMeasurement=ef,g.ESDynamicWater=Mf,g.ESEntityCluster=Xf,g.ESExcavate=dl,g.ESFeatureLayer=up,g.ESFireParticleSystem=nf,g.ESForestTileset=rf,g.ESGaussianSplatting=ep,g.ESGeoBezierSpline=Yf,g.ESGeoDiv=sf,g.ESGeoDivTextPoi=Jf,g.ESGeoExtrudedPolygon=So,g.ESGeoJson=pl,g.ESGeoLineString=xi,g.ESGeoPoints=yl,g.ESGeoPolygon=qt,g.ESGeoRectangle=of,g.ESGeoVector=Pt,g.ESGeoWater=Rf,g.ESGltfModel=Vs,g.ESHeatMap=Wc,g.ESHeightLimitAnalysis=qf,g.ESHeightMeasurement=Sf,g.ESHole=Bf,g.ESHuman=Co,g.ESHumanPoi=Vf,g.ESImageLabel=Vc,g.ESImageryLayer=uf,g.ESJEditingMode=et,g.ESJLonLatFormat=Mg,g.ESJPickedResult=aw,g.ESLabel=ir,g.ESLevelRuntimeModel=Lf,g.ESLocalCircle=bf,g.ESLocalPolygon=gl,g.ESLocalPolygonZ=Pf,g.ESLocalRectangle=If,g.ESLocalSkyBox=lf,g.ESLocalVector=Fa,g.ESLocalVector2D=ss,g.ESLocationMeasurement=cf,g.ESMsTileset=Gf,g.ESNavigator=Zf,g.ESObjectWithLocation=st,g.ESObjectsManager=Jc,g.ESParticleSystemPrimitive=Bc,g.ESPath=Ba,g.ESPathImpl=Bs,g.ESPipeFence=Uc,g.ESPipeline=Ff,g.ESPipeserTileset=xf,g.ESPit=ka,g.ESPlayer=Va,g.ESPoi2D=fl,g.ESPoi3D=hf,g.ESPoiTileset=Wf,g.ESPolygonFence=Gc,g.ESPolygonFlattenedPlane=df,g.ESPolygonWithHole=Nf,g.ESRectangle=Tf,g.ESRtsFeatureEditing=Uf,g.ESRtsTileset=zf,g.ESScale=Hf,g.ESSceneObject=rt,g.ESSceneObjectWithId=Vg,g.ESSeparateFoliage=ff,g.ESSkylineAnalysis=rp,g.ESStaticMesh=np,g.ESSubmergingAnalysis=pf,g.ESSunshineAnalysis=gf,g.ESSurfaceAreaMeasurement=Of,g.ESTerrainLayer=mf,g.ESTestObject=qd,g.ESTextLabel=Aa,g.ESUEWidget=vf,g.ESUnrealActor=yf,g.ESVideoFusion=_f,g.ESViewShed=wf,g.ESViewer=ti,g.ESViewerStatusBar=Qf,g.ESViewerStatusBarScale=tp,g.ESVisibilityAnalysis=Af,g.ESVisualObject=Wt,g.ESVolumeMeasurement=kf,g.ESWidget=Ef,g.EngineObject=bo,g.EnumProperty=bt,g.EnumStringsProperty=tw,g.EvalStringProperty=ys,g.Event=N,g.EventListenerHandler=rh,g.Fetching=T_,g.FloatDiv=Oh,g.FlvJsLoading=qc,g.FlvProcessing=Ly,g.FunctionProperty=lt,g.Gif=wg,g.GifPlayer=_g,g.GifProcessing=Eg,g.GroupPropTreeItem=zd,g.GroupProperty=ut,g.HasOwner=w_,g.HlsJsLoading=Hc,g.HlsProcessing=Ry,g.IFrameBorderedPosFloatDiv=c0,g.ImageProcessing=lg,g.IntervalDeprecated=yh,g.JsonProperty=it,g.LeafPropTreeItem=jd,g.ListenerPipe=nh,g.LocalFileServer=ag,g.LocalRootDir=og,g.LongStringProperty=Bh,g.MaximumScreenSpaceErrorProperty=L0,g.MinmaxProperty=ew,g.NearFarScalerProperty=nw,g.NextAnimateFrameEvent=Ml,g.NextAnimateFrameWeakEvent=Cp,g.NextMicroTaskEvent=uh,g.NextMicroTaskWeakEvent=h_,g.NonreactiveJsonStringProperty=Tg,g.Number2Property=Fe,g.Number2sProperty=Ig,g.Number3Property=un,g.Number3sProperty=Vh,g.Number4Property=Rr,g.Number4WithUndefinedProperty=U0,g.Number4sProperty=G0,g.NumberProperty=M,g.NumberRangeProperty=rw,g.NumberSliderProperty=ze,g.NumbersProperty=F0,g.ObjPool=Pl,g.ObjResetting=m0,g.ObjResettingWithEvent=we,g.ObservableArray=bu,g.ObservableSet=zl,g.ParamsProperty=xg,g.PickColorMananger=Xp,g.PickedInfo=ow,g.Player=Lr,g.PlayerProperty=Ul,g.PointerClick=Ih,g.PointerClickDeprecated=Mp,g.PointerHover=kp,g.PointerHoverDeprecated=i0,g.PosFloatDiv=Rh,g.PositionProperty=ea,g.PositionsProperty=Ng,g.PositionsSetPropety=sw,g.Processing=Le,g.PropTree=Zv,g.PropUiTreeManager=La,g.Property=vs,g.ReactVarProperty=xt,g.ReactiveVariable=je,g.RotationProperty=jh,g.SceneObjectFromId=Gh,g.SceneTree=hl,g.SceneTreeContextMenu=iy,g.SceneTreeItem=mn,g.SceneTreeItemDragDrop=ry,g.SmartListenerHandler=yu,g.SmartListenerPipe=e_,g.SmoothMoveController=mS,g.String2Property=k0,g.String2sProperty=Pg,g.String3Property=V0,g.String3sProperty=j0,g.String4Property=B0,g.String4sProperty=z0,g.StringNumberProperty=$0,g.StringNumbersProperty=K0,g.StringProperty=pt,g.StringsProperty=bg,g.Throttling=e0,g.ThrottlingWithStartValues=n0,g.TimingDeprecated=Op,g.ToolTipDiv=h0,g.Transition=Tu,g.TransitionDeprecated=D_,g.Tree=ta,g.TreeItem=Qo,g.TreeItemDragDrop=Lg,g.UiTree=ng,g.UiTreeObject=eg,g.UriProperty=Mu,g.VideoProcessing=dg,g.ViewPlayerProperty=Og,g.ViewerCustomInteraction=jy,g.Watcher=Ru,g.WatcherTools=Bg,g.WithUndefinedProperty=kh,g.XrPlayer=Bl,g.Xyzw2Ns=Fl,g.addTreesCallFunc=ly,g.animateFrame=Ol,g.ary2Ns=x_,g.asyncFuncToCancelablePromise=z_,g.bind=nt,g.bindCustomEditing=kg,g.bindu=l_,g.booleanPointInPolygon=Pw,g.canMoveToTreeItem=Du,g.canMoveToTreeItems=Qp,g.cancelFuncToCancelablePromise=j_,g.cancelPromise=wh,g.cancelableFetch=bh,g.cancelableFetchDeprecated=Np,g.cancelableFetchWithProgress=G_,g.cartesianDistance=$v,g.clamp=Al,g.clamp0_360=na,g.clampN180_180=Ag,g.complexImageTypes=hg,g.createAnimateFrame=Iu,g.createAnimateFrameWithStartValues=Zo,g.createBottomTriangleElement=Kp,g.createCancelablePromise=Ko,g.createCloseDiv=$p,g.createEventsCallFunc=Bi,g.createFetching=W_,g.createFetchingWithStartValues=H_,g.createGuid=qo,g.createInterval=$_,g.createIntervalWithStartValues=K_,g.createNextAnimateFrame=q_,g.createNextAnimateFrameEvent=Pe,g.createNextAnimateFrameEventCallFunc=f_,g.createNextAnimateFrameWeakEvent=p_,g.createNextAnimateFrameWithStartValues=X_,g.createNextMicroTask=Y_,g.createNextMicroTaskEvent=c_,g.createNextMicroTaskWeakEvent=d_,g.createNextMicroTaskWithStartValues=J_,g.createNumbers=Ll,g.createProcessingFromAsyncFunc=Hn,g.createProcessingFromAsyncFuncWithStartValues=U_,g.createProcessingFromPromiseCreateFunc=Vl,g.createProcessingFromPromiseCreateFuncWithStartValues=Sh,g.createPropTreeFromSceneObject=Qv,g.createSleeping=Z_,g.createSleepingWithStartValues=Q_,g.createStartFuncFromAsyncFunc=Pu,g.createTimeout=Lp,g.createTimeoutWithStartValues=Fp,g.cutDownTreesCallFunc=dy,g.czmPixelFormats=cg,g.debounce=Nl,g.defaultGetLocalFilePath=v0,g.defaultInitSceneObjectOnCreatingFunc=lw,g.defaultLight122FromEnvironmentMapManager=Hd,g.defaultLocalFileServer=ug,g.defaultStartUpdateFunc=Rl,g.defaultUpdateSceneObjectOnPickingFunc=uw,g.defineReactiveProp=vh,g.destroyObject=mp,g.downloadLink=y_,g.drawPoint=Qs,g.drawRoundRectPath=Bp,g.drawText=jp,g.drawTextBlock=Th,g.equalsN3=Gd,g.every=ch,g.extendClassProps=ji,g.fetchArrayBuffer=C_,g.fetchImage=Ip,g.forEach=hi,g.forEachWithBreak=lh,g.geoAlong=Nw,g.geoArea=Kh,g.geoBuffer=Hv,g.geoCenterOfMass=Xw,g.geoDestination=rm,g.geoDifference=qv,g.geoDistance=$l,g.geoHeading=ku,g.geoIntersect=Gv,g.geoLineIntersect=eE,g.geoNearestPointOnLine=sE,g.geoPointToLineDistance=lE,g.geoPolygonFromCircle=Xv,g.geoPolygonOverlap=kd,g.geoPolylineToBezierSpline=Kv,g.geoRhumbDestination=dE,g.geoRhumbDistance=gm,g.geoRhumbHeading=pE,g.geoUnion=Wv,g.getColorHexStr=Ou,g.getCompleteReactParams=Tl,g.getDefaultValue=fw,g.getDistancesFromPositions=cl,g.getDomEventCurrentTargetPos=an,g.getDrawRect=Zs,g.getElementBounds=vw,g.getEventFromPromise=F_,g.getEventPosInCurrentTarget=Yo,g.getExtProp=Wn,g.getFileArrayBuffer=sg,g.getFileJson=ig,g.getFileText=Lh,g.getFloatDivPool=Mh,g.getGeoBoundingSphereFromPositions=Jv,g.getIterator=wu,g.getMidpoint=rE,g.getMinMaxCorner=Yv,g.getMinMaxPosition=E_,g.getPromiseCancel=Jo,g.getPromiseFromEvent=L_,g.getPromiseFromProcessing=Ph,g.getReactFuncs=Vi,g.getSceneObjectTreeItem=cw,g.getSubEntriesFromDir=rg,g.getTypeFromImageUri=Fy,g.getValueFromProps=Sp,g.getXyzFromPostion=Vd,g.growthSimulationCallFunc=fy,g.hasSameTags=Fg,g.hasSameViewerTags=Gi,g.imageToCanvas=zp,g.inOrderRunning=pw,g.interval=oh,g.isJSON=zh,g.isPromiseCancelable=$o,g.isXML=dw,g.lbhToWebMerc=Sw,g.lbhToXyz=Fr,g.length=hh,g.lerpAngle=Wl,g.lerpRotation=Uh,g.loadGifFrames=vg,g.loadJs=ph,g.map=ty,g.max=zi,g.min=gs,g.moveToTreeItem=jl,g.moveToTreeItems=tg,g.nextAnimateFrame=Xo,g.nextMicroTask=_u,g.objsIterator=$s,g.oneTimeWarning=Wo,g.optionsStr=PS,g.pairToPromise=Eh,g.pluckProperty=dh,g.react=V,g.reactArray=dt,g.reactArrayCollection=i_,g.reactArrayCollectionWithUndefined=ih,g.reactArrayWithUndefined=ne,g.reactDeepArray=Il,g.reactDeepArrayWithUndefined=ps,g.reactJson=_t,g.reactJsonCollection=s_,g.reactJsonCollectionWithUndefined=o_,g.reactJsonWithUndefined=Zt,g.reactPlainObject=n_,g.reactPlainObjectWithUndefined=r_,g.reactPosition2Ds=Ud,g.reactPosition2DsSet=a_,g.reactPositions=xl,g.reactPositionsSet=Ep,g.reduce=Su,g.registerCreatedEventUpdate=iS,g.registerEventCtor=vp,g.registerEventUpdate=sS,g.removeAllTreesCallFunc=cy,g.requestAnimationFrameTimeStampTest=__,g.rpToap=hw,g.saveOnBrowser=v_,g.setCanvasUniformColor=Up,g.setExtProp=ci,g.setPromiseCancel=ms,g.setSceneObjectTreeItem=Gl,g.setValueFromProps=m_,g.sleep=xu,g.sleepDeprecated=N_,g.step=Ks,g.stepProcessing=t0,g.throttle=fh,g.timeout=ah,g.toGeoJson=gw,g.track=j,g.uint32ToUint8s=Hp,g.uint8ToHexStr=Nu,g.uint8sToUint32=qp,g.updateTreeParamsCallFunc=hy,g.webMercToLbh=bw,g.xyz2N2=S_,g.xyz2N3=b_,g.xyzToLbh=Wh,g.xyzw2N4=P_,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});
435
+ `,Ob='<svg t="1747028305766" class="icon" viewBox="0 0 1032 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3881" width="40" height="40"><path d="M0.1536 547.700736c-0.205824-0.187392-0.205824-0.49152 0.008192-0.68608l80.672768-73.590784a0.63488 0.63488 0 0 1 0.7936-0.029696l263.043072 203.0336c0.667648 0.515072 1.738752 0.498688 2.393088-0.038912l609.191936-500.133888a0.605184 0.605184 0 0 1 0.768 0.022528l74.84928 67.229696a0.454656 0.454656 0 0 1-0.002048 0.685056l-685.234176 618.19904a1.14688 1.14688 0 0 1-1.518592-0.012288L0.1536 547.700736z" fill="#ffffff" p-id="3882"></path></svg>',Db='<svg t="1747028398107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1146" width="40" height="40"><path d="M415.744006 1.033277A0.992256 0.992256 0 0 1 416.747526 0.000061h189.5045c0.569344 0 1.017856 0.45056 1.001472 1.033216l-21.227518 754.803667a1.062912 1.062912 0 0 1-1.05984 1.032192h-146.933752c-0.569344 0-1.04448-0.45056-1.059839-1.032192L415.744006 1.033277zM511.510528 1024c-52.595709 0-95.231994-39.866366-95.231994-89.043963 0-49.176573 42.636285-89.042939 95.231994-89.042938 52.594685 0 95.231994 39.866366 95.231994 89.042938 0 49.177597-42.637309 89.043963-95.231994 89.043963z" fill="#ffffff" p-id="1147"></path></svg>',Uo=class Uo extends V{constructor(e){super();const t=()=>{const n=this.dv(new kc);this.d(j([n,"show"],[e,"useDefaultStatusDiv"]));{const i=()=>{n.show=(e.useDefaultStatusDiv??!0)&&e.status!=="Created"};i(),this.d(e.useDefaultStatusDivChanged.don(i)),this.d(e.statusChanged.don(i)),n.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}e.add(n),this.d(()=>e.delete(n)),n.instanceClass=class extends V{constructor(o,a,u){super();d(this,"_div",document.createElement("div"));if(this._subContainer=o,!u)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const v=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};v(),this.d(a.showChanged.don(v))}let l,c,h,f,p;this._div.style.pointerEvents="none",this._div.style.position="absolute",this._div.style.width="100%",this._div.style.height="100%",this._div.style.backgroundColor="rgba(0, 0, 0, 0.4)",this._div.style.zIndex="100",this._div.style.transition="opacity 2s",l=document.createElement("div"),this._div.appendChild(l),l.style.width="auto",l.style.position="absolute",l.style.left="50%",l.style.top="50%",l.style.transform="translate(-50%,-50%)",l.style.background="rgba(120, 120, 0, 0.7)",l.style.color="white",l.style.fontSize="10px",l.style.background="none",l.style.display="flex",l.style.justifyContent="center",l.style.alignItems="center",c=document.createElement("div"),l.appendChild(c),c.style.pointerEvents="none",c.style.display="block",c.style.width="40px",c.innerHTML=Uo.defaultsSvg.loadingSvg,c.style.filter="drop-shadow(0px 0px 1px black)",h=document.createElement("div"),l.appendChild(h),h.style.pointerEvents="none",h.style.marginLeft="10px",h.style.display="flex",h.style.flexFlow="column",h.style.maxWidth="300px",f=document.createElement("div"),h.appendChild(f),f.style.fontSize="14px",f.style.fontWeight="800",f.style.marginBottom="5px",f.style.textShadow="0 0 2px black",p=document.createElement("div"),h.appendChild(p),p.style.fontWeight="400",p.style.textShadow="0 0 2px black";{const v=()=>{let S="Raw";u.status==="Raw"?S="初始状态":u.status==="Creating"?S="正在创建":u.status==="Created"?S="创建完成":u.status==="Error"?S="创建失败":u.status==="Reconnecting"&&(S="重新连接"),f.innerText=`${S}(${u.status})`,p.innerText=`${u.statusLog}`,(u.status==="Creating"||u.status==="Reconnecting")&&(c.innerHTML=Uo.defaultsSvg.loadingSvg),u.status==="Created"&&(c.innerHTML=Uo.defaultsSvg.successSvg),u.status==="Error"&&(c.innerHTML=Uo.defaultsSvg.warnSvg)};v();const C=this.dv(Pe(u.statusLogChanged,u.statusChanged));this.d(C.don(v))}}update(){const o=255*Math.random()|0,a=255*Math.random()|0,u=255*Math.random()|0;this._div.style.background=`rgba(${o}, ${a}, ${u}, 0.8)`}}};this.d(e.containerChanged.don(()=>{t()}))}};d(Uo,"defaultsSvg",{loadingSvg:Nb,successSvg:Ob,warnSvg:Db});let cp=Uo;class Mb extends V{constructor(e,t,n){super(),this._subContainer=e,this._overlayContainer=t,this._viewer=n;const i=this._subContainer,s=this._overlayContainer,o=this._viewer,a=()=>{const c=o.zIndex??"";i.style.zIndex=c,s.style.zIndex=c};a(),this.d(o.zIndexChanged.don(a));const u=()=>{i.style.display=o.show??!0?"block":"none"};u(),this.d(o.showChanged.don(u));const l=()=>{i.style.opacity=`${o.opacity??1}`};l(),this.d(o.opacityChanged.don(l))}}function Yc(r){let e=Wn(r,"_relativeContainer");return e||(e=document.createElement("div"),e.style.position="relative",e.style.width="100%",e.style.height="100%",e.style.padding="0",e.style.margin="0",r.appendChild(e),ci(r,"_relativeContainer",e)),e}class Rb extends V{constructor(t,n){super();d(this,"_subContainer",document.createElement("div"));d(this,"_overlayContainer",document.createElement("div"));d(this,"_containerStyleController");this._container=t,this._viewer=n,this._containerStyleController=this.dv(new Mb(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:i,overlayContainer:s}=this;i.tabIndex=-1,i.style.outline="none",i.style.width="100%",i.style.height="100%",i.onpointerdown=()=>i.focus(),s.style.position="relative",s.setAttribute("earthsdk3","earthsdk3-overlayContainer"),i.setAttribute("earthsdk3","earthsdk3-subContainer"),Yc(this._container).appendChild(i),this.d(()=>Yc(this._container).removeChild(i)),Yc(this._container).appendChild(s),this.d(()=>Yc(this._container).removeChild(s))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class Lb extends V{constructor(){super(...arguments);d(this,"registerObjsMap",new Map)}register(t,n){return this.registerObjsMap.has(t)&&console.warn(`register warn:${t}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(t,n),t}getViewerConstructor(t){const n=this.registerObjsMap.get(t);if(!n){console.warn(`未找到${t}类!`);return}return n}createViewer(t){const n=t.type;console.log(t);const i=this.getViewerConstructor(n);if(!i)throw new Error(`没有找到类型为${n}的Viewer构造器!`);return new i(t)}}class jy extends V{constructor(e,t,n=!1,i=!1){if(super(),this._viewer=e,!t)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(ae.create(t,"pointerdown")),o=this.dv(ae.create(t,"pointermove")),a=this.dv(ae.create(t,"pointerup")),u=this.dv(ae.create(t,"pointerout")),l=this.dv(ae.create(t,"pointerover")),c=this.dv(new Ih),h=this.dv(new kp),f=()=>{const m=this._viewer.hoverTime*1e3;h.delayTime=m};this.d(this._viewer.hoverTimeChanged.don(()=>{f()})),this.d(s.don(m=>c.pointerDown(m))),this.d(o.don(m=>c.pointerMove(m))),this.d(a.don(m=>c.pointerUp(m))),this.d(u.don(m=>c.pointerOut(m))),this.d(s.don(m=>h.pointerDown(m))),this.d(o.don(m=>h.pointerMove(m))),this.d(a.don(m=>h.pointerUp(m))),this.d(u.don(m=>h.pointerOut(m)));const{x:p,y:v}=t.getBoundingClientRect(),C=i?p:0,S=i?v:0;this.d(h.hoverEvent.don(m=>{const[w,E]=Yo(m,n);this._viewer.hoverEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(c.clickEvent.don(m=>{const[w,E]=Yo(m,n);this._viewer.clickEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(c.dbclickEvent.don(m=>{const[w,E]=Yo(m,n);m.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(s.don(m=>{const[w,E]=Yo(m,n);m.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(a.don(m=>{const[w,E]=Yo(m,n);m.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(o.don(m=>{const[w,E]=an(m,n);this._viewer.pointerMoveEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(l.don(m=>{const[w,E]=an(m,n);this._viewer.pointerOverEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})})),this.d(u.don(m=>{const[w,E]=an(m,n);this._viewer.pointerOutEvent.emit({screenPosition:[w+C,E+S],pointerEvent:m})}));const P=this.dv(ae.create(t,"keydown"));this.d(P.don(m=>this._viewer.keyDownEvent.emit(m)));const y=this.dv(ae.create(t,"keyup"));this.d(y.don(m=>this._viewer.keyUpEvent.emit(m)));const _=this.dv(ae.create(t,"wheel"));this.d(_.don(m=>this._viewer.wheelEvent.emit(m)))}}const fs=class fs extends V{constructor(t){super();d(this,"_forceRecreateEvent",this.dv(new N));d(this,"_container",this.dv(B(void 0)));d(this,"_containerSize",this.dv(B(void 0)));d(this,"_editingEvent",this.disposeVar(new N));d(this,"_esViewerExtensions",this.dv(new bb(this)));d(this,"_status",this.dv(B("Raw")));d(this,"_statusLog",this.dv(B("")));d(this,"_statusContainer",this.dv(new cp(this)));d(this,"_useCustomInteraction",this.dv(B(!0)));d(this,"_resetInteractionEvent",this.dv(Pe(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));d(this,"_interactionResetting",this.dv(new we(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new jy(this,this.container)})));d(this,"_viewerChanged",this.dv(new N));d(this,"_cameraChanged",this.dv(new N));d(this,"_containerResetEvent",this.dv(Pe(this.containerChanged,this._forceRecreateEvent)));d(this,"_containerResetting",this.dv(new we(this._containerResetEvent,()=>{if(this.container)return new Rb(this.container,this)})));d(this,"_sceneObjectsMap",new Map);d(this,"_id");d(this,"_typeName");d(this,"_updateFuncReact",this.dv(B(void 0)));d(this,"_toDestroyFuncReact",this.dv(B(void 0)));d(this,"_statusInfo",fs.defaults.statusInfo);d(this,"_navigationMode",this.dv(B("Map")));d(this,"_syncViewer",this.dv(B(void 0)));d(this,"_syncEventDon",this.dv(new we(this.syncViewerChanged,()=>{const t=this.syncViewer;if(t)return new Tb(this,t)})));d(this,"_timeSyncdon",this.dv(new we(this.timeSyncChanged,()=>{if(this.timeSync)return new xb(this)})));d(this,"_hoverEvent",this.dv(new N));d(this,"_pointerOverEvent",this.dv(new N));d(this,"_pointerMoveEvent",this.dv(new N));d(this,"_pointerDownEvent",this.dv(new N));d(this,"_pointerUpEvent",this.dv(new N));d(this,"_pointerOutEvent",this.dv(new N));d(this,"_clickEvent",this.dv(new N));d(this,"_dblclickEvent",this.dv(new N));d(this,"_keyDownEvent",this.dv(new N));d(this,"_keyUpEvent",this.dv(new N));d(this,"_wheelEvent",this.dv(new N));d(this,"_actived",this.dv(B(!1)));this._id=t.id??qo();const n=Ay(t.container);if(n)this._container.value=lp(n),this._typeName=t.type,this._initName();else throw new Error("container is not defined");{const i=()=>{n&&(this.show??!0?n.style.display="block":n.style.display="none")};i(),this.d(this.showChanged.don(i))}{const i=this._sceneObjectsMap,s=()=>{for(let[a,u]of i.entries())if(!u&&a){const l=bo.context.createEngineObject(a,this);l&&i.set(a,l)}},o=()=>{for(let[a,u]of i.entries())u&&!u.isDestroyed()&&u.destroy(),i.set(a,void 0)};this.d(o),this.d(this.viewerChanged.don(a=>{o(),a&&s()}))}{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(s){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(o){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let s;this.d(()=>s&&s.destroy()),this.d(this.updateFuncChanged.don(()=>{s&&s.cancel(),this.updateFunc&&(s=s||Iu(),s.restart(void 0,o=>{this.updateFunc&&this.updateFunc(this,o)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(s){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}this.ad(new Ib(this))}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(t){this._container.value=t}set containerOrId(t){if(typeof t=="string"){const n=document.getElementById(t);n&&n instanceof HTMLDivElement?this._container.value=lp(n):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else t instanceof HTMLDivElement?this._container.value=lp(t):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(t){this._containerSize.value=t}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get esViewerExtensions(){return this._esViewerExtensions}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(t){this._status.value=t}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(t){this._statusLog.value=t}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(t){this._useCustomInteraction.value=t}get viewerChanged(){return this._viewerChanged}get cameraChanged(){return this._cameraChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(t){return this.sceneObjectsMap.get(t)}add(...t){for(let n of t)if(!this.has(n)){rt.context.addSceneObject(n);const i=bo.context.createEngineObject(n,this);i&&this._sceneObjectsMap.set(n,i),n.viewerAttached.emit(this)}}delete(...t){for(let n of t)if(this.has(n)){const i=this._sceneObjectsMap.get(n);i&&i.destroy(),rt.context.deleteSceneObject(n),this._sceneObjectsMap.delete(n),n.viewerDetached.emit(this)}}disposableAdd(...t){return this.add(...t),()=>this.delete(...t)}disAdd(...t){return this.disposableAdd(...t)}has(t){return this._sceneObjectsMap.has(t)}clearAllSceneObjects(){for(let t of this.sceneObjects)this.delete(t)}get id(){return this._id}set id(t){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return fs.createDefaultProps()}get completeJson(){return this._getJson(!1)}_getJson(t=!0){const n={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let s,o=this.defaultProps[i];o instanceof je?s=o.equals(this[i]):s=o===this[i],s||(n[i]=this[i])}else n[i]=this[i];return n}_setJson(t,n,i){if(!(t instanceof Object)||t.type&&t.type!==this.typeName){console.error(`value.type && value.type${t.type} !== this.typeName${this.typeName}`);return}t.id&&t.id!==this.id&&console.warn(`value.id === undefined || value.id${t.id} !== this.id(${this.id})`);const s=n||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof je&&(u=u.value),this[a]=u}}get json(){return this._getJson()}set json(t){this._setJson(t,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(t){this._updateFuncReact.value=t}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(t){this._toDestroyFuncReact.value=t}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get navigationMode(){return this._navigationMode.value}get navigationModeChanged(){return this._navigationMode.changed}getNavigationMode(){return this._navigationMode.value}getEngineType(){return this._typeName}get syncViewer(){return this._syncViewer.value}set syncViewer(t){this._syncViewer.value=t}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(t){t&&t.syncViewer&&(t.syncViewer=void 0),t===this?this._syncViewer.value=void 0:this._syncViewer.value=t}setCurrentTime(t){try{this.currentTime=typeof t=="string"?Date.parse(t):t}catch(n){console.warn(`时间格式不正确! value: ${t} error: ${n}`)}}async getVersion(){return globalThis.g_XE3CopyRights??{}}get hoverEvent(){return this._hoverEvent}get pointerOverEvent(){return this._pointerOverEvent}get pointerMoveEvent(){return this._pointerMoveEvent}get pointerDownEvent(){return this._pointerDownEvent}get pointerUpEvent(){return this._pointerUpEvent}get pointerOutEvent(){return this._pointerOutEvent}get clickEvent(){return this._clickEvent}get dblclickEvent(){return this._dblclickEvent}get keyDownEvent(){return this._keyDownEvent}get keyUpEvent(){return this._keyUpEvent}get wheelEvent(){return this._wheelEvent}get actived(){return this._actived.value}set actived(t){this._actived.value=t}get activedChanged(){return this._actived.changed}getESProperties(){return{defaultMenu:"general",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[],more:[]}}getProperties(t){const n={...this.getESProperties()},i=[];return n.general.length>0&&i.push(new ut(n.general,"general")),Object.keys(n).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&n[s].length>0&&i.push(new ut(n[s],s))}),i}};d(fs,"context",new Lb),d(fs,"register",fs.context.register.bind(fs.context)),d(fs,"defaults",{show:!0,debug:!1,statusInfo:{fps:0,position:[0,0,0],rotation:[0,0,0],length:0},terrainShader:{slope:{show:!1},aspect:{show:!1},elevationRamp:{show:!1,minHeight:-414,maxHeight:8777,color:[]},elevationContour:{show:!1,color:[1,0,0,1],spacing:150,width:2}},globeShow:!0,splitPosition:0,cameraMovableRegion:[0,0,0,0,0,0],depthTestAgainstTerrain:!0,terrainOpacity:1});let ti=fs;(r=>{r.createBaseProps=()=>({name:"未命名场景对象",extras:_t(void 0),devTags:ne(void 0),debug:void 0,show:void 0,opacity:void 0,zIndex:void 0,useDefaultStatusDiv:!0,execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0}),r.createCommonProps=()=>({globeShow:!0,ionAccessToken:"",lonLatFormat:"DECIMAL_DEGREE",fov:60,textAvoidance:!1,flyToBoundingSize:256,hoverTime:2,currentTime:Date.now(),simulationTime:Date.now(),timeSync:!1,rain:0,snow:0,cloud:0,fog:0,depthOfField:0,atmosphere:!0,editingPointSize:void 0,editingPointColor:ne(void 0),editingAuxiliaryPointColor:ne(void 0),editingLineWidth:void 0,editingLineColor:ne(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:r.defaults.terrainShader,splitPosition:B(void 0),rollerShutter:!1,cameraMovableRegion:ne(void 0),depthTestAgainstTerrain:!0,terrainOpacity:1}),r.createDefaultProps=()=>({...(0,r.createBaseProps)(),...(0,r.createCommonProps)()})})(ti||(ti={})),ji(ti.prototype,ti.createDefaultProps);function zy(r,e){const t=r._lastCameraInfo;if(t){const n=e.viewerChanged.don(i=>{if(!i||!t)return;const{position:s,rotation:o}=t;e.flyIn(s,o,0),r._lastCameraInfo=void 0,n()})}}const Fb=r=>{const e=ti.createCommonProps(),t={};try{Object.keys(e).forEach(n=>{t[n]=r[n]})}catch(n){console.warn(n)}return t},Uy=(r,e)=>{const t=ti.createCommonProps();try{Object.keys(t).forEach(n=>{r[n]=e[n]})}catch(n){console.warn(n)}};class Ab extends V{constructor(t){super();d(this,"_viewersChanged",this.disposeVar(new N));d(this,"_viewers",new Set);d(this,"_viewersToChange",this.dv(new N));this._sceneObjectsManager=t,this.d(()=>{for(const n of this._viewers)this.destroyViewer(n);this._viewers.clear()}),this.viewers.forEach(n=>{const i=this._sceneObjectsManager.sceneObjects;n.add(...i)}),this.d(()=>{const n=this._sceneObjectsManager.sceneObjects;this.viewers.forEach(i=>{i.delete(...n)})}),this.d(this._sceneObjectsManager.sceneObjectsToChange.don((n,i)=>{this.viewers.forEach(s=>{i.forEach(o=>{Gi(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))}),n.forEach(o=>{Gi(s.devTags,o.devTags)&&(s.has(o)?s.delete(o):console.warn(`${s.typeName}中不存在${o.typeName},检查逻辑是否有问题!`))})}),i.length>0&&i.forEach(s=>{s.d(s.devTagsChanged.don(()=>{this.viewers.forEach(o=>{o.has(s)&&o.delete(s),console.log("sceneObjectsToChange",o.devTags,s.devTags,Gi(o.devTags,s.devTags))}),this.viewers.forEach(o=>{Gi(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))})}))})})),this.d(this.viewersChanged.don((n,i)=>{const s=this._sceneObjectsManager.sceneObjects;i.forEach(o=>{for(let a of s)Gi(o.devTags,a.devTags)&&(o.has(a)?console.warn(`${o.typeName}中已存${a.typeName},检查逻辑是否有问题!`):o.add(a))}),n.forEach(o=>{for(let a of s)Gi(o.devTags,a.devTags)&&(o.has(a)?o.delete(a):console.warn(`${o.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))}),i.length>0&&i.forEach(o=>{o.d(o.devTagsChanged.don(()=>{o.clearAllSceneObjects();const a=this._sceneObjectsManager.sceneObjects;for(let u of a)console.log("viewersChanged",o.devTags,u.devTags,Gi(o.devTags,u.devTags)),Gi(o.devTags,u.devTags)&&(o.has(u)?console.warn(`${o.typeName}中已存${u.typeName},检查逻辑是否有问题!`):o.add(u))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(t){const n=ti.context.createViewer(t);return this._viewers.add(n),this._viewersChanged.emit([],[n]),n}destroyViewer(t){return t.isDestroyed()?!0:(this._viewers.delete(t),this._viewersChanged.emit([t],[]),t.destroy(),t.isDestroyed())}}class Jc extends V{constructor(...t){super();d(this,"_drgm",this.dv(new Rg));d(this,"_sobjm",this.dv(new Cb));d(this,"_vrm",this.dv(new Ab(this._sobjm)));d(this,"_sceneObjectEditingManager",this.disposeVar(new Eb));d(this,"_activeViewer",this.dv(B(void 0)));d(this,"_syncOtherViewersToActived",this.dv(B(!1)));d(this,"_cmrvm",this.createSceneObjectFromClass(Lc));d(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));d(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});d(this,"_sceneTree",this.dv(new hl("default",this.dragstartDataMananger,24,this)));d(this,"_propUiTreeManager",this.dv(new La(24)));d(this,"_sceneTreeMap",new Map);d(this,"_viewerCreatedEvent",this.dv(new N));d(this,"_lastCameraInfo");d(this,"_lastActiveViewerJson");d(this,"_syncEventDonFunc",this.d(Bi([this.activeViewerChanged,this.syncOtherViewersToActivedChanged],()=>{const t=this.syncOtherViewersToActived;this.viewers.forEach(n=>{t?n.syncOtherViewer(this.activeViewer):n.syncOtherViewer(void 0)})})));d(this,"_player",this.createSceneObjectFromClass(Va));d(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));d(this,"_esPlyarAndPathTime",this.dv(new gb(this)));d(this,"_pathAnimationManager",this.dv(new vb(this)))}static get envs(){return rt.context.environmentVariables}getSceneObjectById(t){return rt.getSceneObjectById(t)}getSceneObject(t){return rt.getSceneObject(t)}get $refs(){return rt.$refs}get dragstartDataMananger(){return this._drgm}get sceneObjectsManager(){return this._sobjm}get viewers(){return this._vrm.viewers}getViewers(){return this._vrm.getViewers()}get sceneObjectEditingManager(){return this._sceneObjectEditingManager}get activeViewer(){return this._activeViewer.value}set activeViewer(t){this._activeViewer.value=t,this.viewers.values().forEach(n=>n.actived=n===t)}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(t){this._syncOtherViewersToActived.value=t}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get completeJson(){var h;const t=this._asset.createdTime||new Date().toISOString(),n=new Date().toISOString(),i=this._asset.name||"未命名项目",o={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:t,modifiedTime:n,name:i},a=this.sceneTree.completeJson,u=this._cmrvm.views,l=[...this._vrm.viewers].map(f=>f.completeJson),c=(h=this.activeViewer)==null?void 0:h.getCurrentCameraInfo();return{asset:o,viewers:l,sceneTree:a,viewCollection:u,lastView:c}}get json(){var h;const t=this._asset.createdTime||new Date().toISOString(),n=new Date().toISOString(),i=this._asset.name||"未命名项目",o={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:t,modifiedTime:n,name:i},a=this.sceneTree.json,u=this._cmrvm.views,l=[...this._vrm.viewers].map(f=>f.json),c=(h=this.activeViewer)==null?void 0:h.getCurrentCameraInfo();return{asset:o,viewers:l,sceneTree:a,viewCollection:u,lastView:c}}set json(t){try{if(!t.asset)return;if(!t.asset.type||t.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=t.asset&&t.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=t.asset&&t.asset.modifiedTime||"",this._asset.name=t.asset&&t.asset.name||"未命名项目",this._asset.version=t.asset&&t.asset.version||"0.1.0",t.sceneTree&&(this.sceneTree.json=t.sceneTree),t.viewCollection&&(this._cmrvm.views=t.viewCollection),!t.viewers||!Array.isArray(t.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||t.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(n=>{const i=t.viewers.find(s=>s.id===n.id);i&&(n.json=i)})}catch(n){console.error(`ESObjectsManager解析json数据时发生错误! error: ${n}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(t){return yb(this,t)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(t="default"){if(t==="default")return this._sceneTree;if(!this._sceneTreeMap.has(t)){console.warn(`id为${t}的SceneTree不存在!`);return}return this._sceneTreeMap.get(t)}createSceneTree(t,n=24){if(this._sceneTreeMap.has(t)||t==="default")console.warn(`id为${t}的SceneTree已存在!`);else{const i=this.dv(new hl(t,this.dragstartDataMananger,n,this));this._sceneTreeMap.set(t,i)}return this.getSceneTree(t)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(t){const n=this._vrm.createViewer(t);this.activeViewer||(this.activeViewer=n);const i=this.d(n.viewerChanged.don(s=>{s&&(this._viewerCreatedEvent.emit(n),i())}));return n}destroyViewer(t){return this._activeViewer.value===t&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(t)}switchViewer(t,n=!0,i=!0,s=!0){var l;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&n&&(this._lastCameraInfo=(l=this.activeViewer)==null?void 0:l.getCurrentCameraInfo()),!this._lastActiveViewerJson&&i&&(this._lastActiveViewerJson=this.activeViewer?Fb(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const o=t.id,a=o?[...this.getViewers()].find(c=>c.id===o):[...this.getViewers()].find(c=>c.typeName===t.type&&!c.container);if(a)if(o&&a.typeName!==t.type)console.warn(`id为${o}的viewer的typeName和option.type${t.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),n&&zy(this,a),i&&this._lastActiveViewerJson&&(Uy(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===Ay(t.container)?(a.containerOrId=t.container,a.forceRecreate()):a.containerOrId=t.container,this.activeViewer=a,a;console.log("No ESViewer exists, will be created");const u=this.createViewer(t);return console.log(t),console.log(this),n&&zy(this,u),i&&this._lastActiveViewerJson&&(Uy(u,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=u,u}switchToCesiumViewer(...t){if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)){const{container:n,viewSync:i,attributeSync:s,destroy:o,id:a}=t[0];return this.switchViewer({type:"ESCesiumViewer",container:n,id:a},i??!0,s??!0,o??!0)}else if(typeof t[0]=="string"||t[0]instanceof HTMLDivElement){const n={container:t[0],viewSync:t[1]??!0,attributeSync:t[2]??!0,destroy:t[3]??!0,id:t[4]},{container:i,viewSync:s,attributeSync:o,destroy:a,id:u}=n;return this.switchViewer({type:"ESCesiumViewer",container:i,id:u},s,o,a)}}switchToUEViewer(...t){let n,i={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("uri")){const{container:u,uri:l,app:c,token:h,viewSync:f,attributeSync:p,destroy:v,id:C}=t[0];n={type:"ESUeViewer",container:u,id:C,options:{uri:l,app:c,token:h}},i={viewSync:f??!0,attributeSync:p??!0,destroy:v??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("ws")){const{container:u,ws:l,esmsg:c,viewSync:h,attributeSync:f,id:p,destroy:v}=t[0];n={type:"ESUeViewer",container:u,id:p,options:{ws:l,esmsg:c}},i={viewSync:h??!0,attributeSync:f??!0,destroy:v??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("project")){const{container:u,project:l,baseUrl:c,viewSync:h,attributeSync:f,id:p,destroy:v}=t[0];n={type:"ESUeViewer",container:u,id:p,options:{project:l,baseUrl:c}},i={viewSync:h??!0,attributeSync:f??!0,destroy:v??!0}}else(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?(n={type:"ESUeViewer",container:t[0],id:t[6],options:{ws:t[1],esmsg:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}):typeof t[1]=="string"&&t[1].startsWith("http")?(n={type:"ESUeViewer",container:t[0],id:t[7],options:{uri:t[1],app:t[2],token:t[3]??void 0}},i={viewSync:t[4]??!0,attributeSync:t[5]??!0,destroy:t[6]??!0}):(n={type:"ESUeViewer",container:t[0],id:t[6],options:{project:t[1],baseUrl:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}));if(!n)throw new Error("参数错误");const{viewSync:s,attributeSync:o,destroy:a}=i;return this.switchViewer(n,s,o,a)}createCesiumViewer(...t){let n;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?n={...t[0],type:"ESCesiumViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(n={container:t[0],options:t[1]??void 0,id:t[2]??void 0,type:"ESCesiumViewer"}),!n)throw new Error("参数错误");return this.createViewer(n)}createOpenLayersViewer(...t){let n;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?n={...t[0],type:"ESOlViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(n={container:t[0],options:t[1]??void 0,id:t[2]??void 0,type:"ESOlViewer"}),!n)throw new Error("参数错误");return this.createViewer(n)}createUeViewer(...t){let n;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?n={...t[0],type:"ESUeViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?n={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{ws:t[1],esmsg:t[2]??void 0}}:typeof t[1]=="string"&&t[1].startsWith("http")?n={type:"ESUeViewer",container:t[0],id:t[4]??void 0,options:{uri:t[1],app:t[2],token:t[3]??void 0}}:n={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{project:t[1],baseUrl:t[2]??void 0}}),!n)throw new Error("参数错误");return this.createViewer(n)}createSceneObject(t,n){return this._sobjm.createSceneObject(t,n)}createSceneObjectFromUrl(t,n){return this._sobjm.createSceneObjectFromUrl(t,n)}createSceneObjectFromClass(t,n){return this._sobjm.createSceneObjectFromClass(t,n)}createSceneObjectFromJson(t){return this._sobjm.createSceneObjectFromJson(t)}destroySceneObject(t){const n=this._sobjm.deleteSceneObject(t);return t.destroy(),n}destroyAllSceneObjects(){const t=[...this._sobjm.sceneObjects];for(let n of t)n!=this._player&&n!=this._cmrvm&&this.destroySceneObject(n)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}d(Jc,"getSceneObjById",rt.context.getSceneObjectById.bind(rt.context)),d(Jc,"getEnv",rt.context.getEnv.bind(rt.context)),d(Jc,"setEnv",rt.context.setEnv.bind(rt.context)),g.BasePropTreeItem=Bd,g.Boolean2Property=q0,g.Boolean2sProperty=J0,g.Boolean3Property=X0,g.Boolean3sProperty=$0,g.Boolean4Property=Y0,g.Boolean4sProperty=K0,g.BooleanProperty=X,g.BooleansProperty=V0,g.BorderedPosFloatDiv=Zp,g.BoxPicker=_h,g.CancelError=Mr,g.CancelsManager=Ch,g.CanvasImagePoi=a0,g.CanvasPoi=xh,g.CanvasPointPoi=u0,g.CanvasPrimitive=Vp,g.CanvasPrimitivesContext=l0,g.ColorProperty=Dt,g.ColorRgbProperty=tw,g.ColorStops=hb,g.ComplexImage=_l,g.CursorFloatDiv=p0,g.CursorInfo=g0,g.DashPatternProperty=ew,g.DateProperty=eo,g.DatesProperty=Dg,g.Debouncing=V_,g.DebouncingDeprecated=mh,g.DebouncingWithStartValues=B_,g.Destroyable=V,g.DivBoxPicker=F_,g.DivPoi=Jp,g.DivPointerClick=s0,g.DomElementEvent=ae,g.DoublyLinkedList=wp,g.DragStartDataManager=Rg,g.ES3DTileset=Pr,g.ESAlarm=Xd,g.ESApertureEffect=Yd,g.ESAreaMeasurement=Jd,g.ESBlastParticleSystem=$d,g.ESBoxClipping=Kd,g.ESCameraView=Mc,g.ESCameraViewCollection=Lc,g.ESCameraVisibleRange=Zd,g.ESCar=Fc,g.ESCityBasePoint=$f,g.ESClassification=Ac,g.ESClippingPlane=Qd,g.ESCustomDiv=kc,g.ESCzml=Kf,g.ESDataMesh=tf,g.ESDatasmithRuntimeModel=Df,g.ESDirectionMeasurement=Cf,g.ESDistanceMeasurement=ef,g.ESDynamicWater=Mf,g.ESEntityCluster=Xf,g.ESExcavate=dl,g.ESFeatureLayer=up,g.ESFireParticleSystem=nf,g.ESForestTileset=rf,g.ESGaussianSplatting=ep,g.ESGeoBezierSpline=Yf,g.ESGeoDiv=sf,g.ESGeoDivTextPoi=Jf,g.ESGeoExtrudedPolygon=So,g.ESGeoJson=pl,g.ESGeoLineString=xi,g.ESGeoPoints=yl,g.ESGeoPolygon=qt,g.ESGeoRectangle=of,g.ESGeoVector=Pt,g.ESGeoWater=Rf,g.ESGltfModel=Vs,g.ESHeatMap=Wc,g.ESHeightLimitAnalysis=qf,g.ESHeightMeasurement=Sf,g.ESHole=Bf,g.ESHuman=Co,g.ESHumanPoi=Vf,g.ESImageLabel=Vc,g.ESImageryLayer=uf,g.ESJEditingMode=et,g.ESJLonLatFormat=Mg,g.ESJPickedResult=lw,g.ESLabel=ir,g.ESLevelRuntimeModel=Lf,g.ESLocalCircle=bf,g.ESLocalPolygon=gl,g.ESLocalPolygonZ=Pf,g.ESLocalRectangle=If,g.ESLocalSkyBox=lf,g.ESLocalVector=Fa,g.ESLocalVector2D=ss,g.ESLocationMeasurement=cf,g.ESMCPClient=pb,g.ESMsTileset=Gf,g.ESNavigator=Zf,g.ESObjectWithLocation=st,g.ESObjectsManager=Jc,g.ESParticleSystemPrimitive=Bc,g.ESPath=Ba,g.ESPathImpl=Bs,g.ESPipeFence=Uc,g.ESPipeline=Ff,g.ESPipeserTileset=xf,g.ESPit=ka,g.ESPlayer=Va,g.ESPoi2D=fl,g.ESPoi3D=hf,g.ESPoiTileset=Wf,g.ESPolygonFence=Gc,g.ESPolygonFlattenedPlane=df,g.ESPolygonWithHole=Nf,g.ESRectangle=Tf,g.ESRtsFeatureEditing=Uf,g.ESRtsTileset=zf,g.ESScale=Hf,g.ESSceneObject=rt,g.ESSceneObjectWithId=Vg,g.ESSeparateFoliage=ff,g.ESSkylineAnalysis=rp,g.ESStaticMesh=np,g.ESSubmergingAnalysis=pf,g.ESSunshineAnalysis=gf,g.ESSurfaceAreaMeasurement=Of,g.ESTerrainLayer=mf,g.ESTestObject=qd,g.ESTextLabel=Aa,g.ESUEWidget=vf,g.ESUnrealActor=yf,g.ESVideoFusion=_f,g.ESViewShed=wf,g.ESViewer=ti,g.ESViewerStatusBar=Qf,g.ESViewerStatusBarScale=tp,g.ESVisibilityAnalysis=Af,g.ESVisualObject=Wt,g.ESVolumeMeasurement=kf,g.ESWidget=Ef,g.EngineObject=bo,g.EnumProperty=bt,g.EnumStringsProperty=nw,g.EvalStringProperty=ys,g.Event=N,g.EventListenerHandler=rh,g.Fetching=O_,g.FloatDiv=Oh,g.FlvJsLoading=qc,g.FlvProcessing=Ly,g.FunctionProperty=lt,g.Gif=wg,g.GifPlayer=_g,g.GifProcessing=Eg,g.GroupPropTreeItem=zd,g.GroupProperty=ut,g.HasOwner=C_,g.HlsJsLoading=Hc,g.HlsProcessing=Ry,g.IFrameBorderedPosFloatDiv=d0,g.ImageProcessing=lg,g.IntervalDeprecated=yh,g.JsonProperty=it,g.LeafPropTreeItem=jd,g.ListenerPipe=nh,g.LocalFileServer=ag,g.LocalRootDir=og,g.LongStringProperty=Bh,g.MaximumScreenSpaceErrorProperty=A0,g.MinmaxProperty=rw,g.NearFarScalerProperty=iw,g.NextAnimateFrameEvent=Ml,g.NextAnimateFrameWeakEvent=Cp,g.NextMicroTaskEvent=uh,g.NextMicroTaskWeakEvent=f_,g.NonreactiveJsonStringProperty=Tg,g.Number2Property=Fe,g.Number2sProperty=Ig,g.Number3Property=un,g.Number3sProperty=Vh,g.Number4Property=Rr,g.Number4WithUndefinedProperty=W0,g.Number4sProperty=H0,g.NumberProperty=M,g.NumberRangeProperty=sw,g.NumberSliderProperty=ze,g.NumbersProperty=k0,g.ObjPool=Pl,g.ObjResetting=y0,g.ObjResettingWithEvent=we,g.ObservableArray=bu,g.ObservableSet=zl,g.ParamsProperty=xg,g.PickColorMananger=Xp,g.PickedInfo=uw,g.Player=Lr,g.PlayerProperty=Ul,g.PointerClick=Ih,g.PointerClickDeprecated=Mp,g.PointerHover=kp,g.PointerHoverDeprecated=o0,g.PosFloatDiv=Rh,g.PositionProperty=ea,g.PositionsProperty=Ng,g.PositionsSetPropety=aw,g.Processing=Le,g.PropTree=Zv,g.PropUiTreeManager=La,g.Property=vs,g.ReactVarProperty=xt,g.ReactiveVariable=je,g.RotationProperty=jh,g.SceneObjectFromId=Gh,g.SceneTree=hl,g.SceneTreeContextMenu=iy,g.SceneTreeItem=mn,g.SceneTreeItemDragDrop=ry,g.SmartListenerHandler=yu,g.SmartListenerPipe=r_,g.SmoothMoveController=yS,g.String2Property=B0,g.String2sProperty=Pg,g.String3Property=j0,g.String3sProperty=U0,g.String4Property=z0,g.String4sProperty=G0,g.StringNumberProperty=Z0,g.StringNumbersProperty=Q0,g.StringProperty=pt,g.StringsProperty=bg,g.Throttling=r0,g.ThrottlingWithStartValues=i0,g.TimingDeprecated=Op,g.ToolTipDiv=f0,g.Transition=Tu,g.TransitionDeprecated=R_,g.Tree=ta,g.TreeItem=Qo,g.TreeItemDragDrop=Lg,g.UiTree=ng,g.UiTreeObject=eg,g.UriProperty=Mu,g.VideoProcessing=dg,g.ViewPlayerProperty=Og,g.ViewerCustomInteraction=jy,g.Watcher=Ru,g.WatcherTools=Bg,g.WithUndefinedProperty=kh,g.XrPlayer=Bl,g.Xyzw2Ns=Fl,g.addTreesCallFunc=ly,g.animateFrame=Ol,g.ary2Ns=N_,g.asyncFuncToCancelablePromise=G_,g.bind=nt,g.bindCustomEditing=kg,g.bindu=h_,g.booleanPointInPolygon=xw,g.canMoveToTreeItem=Du,g.canMoveToTreeItems=Qp,g.cancelFuncToCancelablePromise=U_,g.cancelPromise=wh,g.cancelableFetch=bh,g.cancelableFetchDeprecated=Np,g.cancelableFetchWithProgress=H_,g.cartesianDistance=$v,g.clamp=Al,g.clamp0_360=na,g.clampN180_180=Ag,g.complexImageTypes=hg,g.createAnimateFrame=Iu,g.createAnimateFrameWithStartValues=Zo,g.createBottomTriangleElement=Kp,g.createCancelablePromise=Ko,g.createCloseDiv=$p,g.createEventsCallFunc=Bi,g.createFetching=q_,g.createFetchingWithStartValues=X_,g.createGuid=qo,g.createInterval=Z_,g.createIntervalWithStartValues=Q_,g.createNextAnimateFrame=Y_,g.createNextAnimateFrameEvent=Pe,g.createNextAnimateFrameEventCallFunc=g_,g.createNextAnimateFrameWeakEvent=m_,g.createNextAnimateFrameWithStartValues=J_,g.createNextMicroTask=$_,g.createNextMicroTaskEvent=d_,g.createNextMicroTaskWeakEvent=p_,g.createNextMicroTaskWithStartValues=K_,g.createNumbers=Ll,g.createProcessingFromAsyncFunc=Hn,g.createProcessingFromAsyncFuncWithStartValues=W_,g.createProcessingFromPromiseCreateFunc=Vl,g.createProcessingFromPromiseCreateFuncWithStartValues=Sh,g.createPropTreeFromSceneObject=Qv,g.createSleeping=t0,g.createSleepingWithStartValues=e0,g.createStartFuncFromAsyncFunc=Pu,g.createTimeout=Lp,g.createTimeoutWithStartValues=Fp,g.cutDownTreesCallFunc=dy,g.czmPixelFormats=cg,g.debounce=Nl,g.defaultGetLocalFilePath=_0,g.defaultInitSceneObjectOnCreatingFunc=hw,g.defaultLight122FromEnvironmentMapManager=Hd,g.defaultLocalFileServer=ug,g.defaultStartUpdateFunc=Rl,g.defaultUpdateSceneObjectOnPickingFunc=cw,g.defineReactiveProp=vh,g.destroyObject=mp,g.downloadLink=w_,g.drawPoint=Qs,g.drawRoundRectPath=Bp,g.drawText=jp,g.drawTextBlock=Th,g.equalsN3=Gd,g.every=ch,g.extendClassProps=ji,g.fetchArrayBuffer=b_,g.fetchImage=Ip,g.forEach=hi,g.forEachWithBreak=lh,g.geoAlong=Dw,g.geoArea=Kh,g.geoBuffer=Hv,g.geoCenterOfMass=Jw,g.geoDestination=rm,g.geoDifference=qv,g.geoDistance=$l,g.geoHeading=ku,g.geoIntersect=Gv,g.geoLineIntersect=rE,g.geoNearestPointOnLine=aE,g.geoPointToLineDistance=hE,g.geoPolygonFromCircle=Xv,g.geoPolygonOverlap=kd,g.geoPolylineToBezierSpline=Kv,g.geoRhumbDestination=pE,g.geoRhumbDistance=gm,g.geoRhumbHeading=mE,g.geoUnion=Wv,g.getColorHexStr=Ou,g.getCompleteReactParams=Tl,g.getDefaultValue=gw,g.getDistancesFromPositions=cl,g.getDomEventCurrentTargetPos=an,g.getDrawRect=Zs,g.getElementBounds=_w,g.getEventFromPromise=k_,g.getEventPosInCurrentTarget=Yo,g.getExtProp=Wn,g.getFileArrayBuffer=sg,g.getFileJson=ig,g.getFileText=Lh,g.getFloatDivPool=Mh,g.getGeoBoundingSphereFromPositions=Jv,g.getIterator=wu,g.getMidpoint=sE,g.getMinMaxCorner=Yv,g.getMinMaxPosition=S_,g.getPromiseCancel=Jo,g.getPromiseFromEvent=A_,g.getPromiseFromProcessing=Ph,g.getReactFuncs=Vi,g.getSceneObjectTreeItem=dw,g.getSubEntriesFromDir=rg,g.getTypeFromImageUri=Fy,g.getValueFromProps=Sp,g.getXyzFromPostion=Vd,g.growthSimulationCallFunc=fy,g.hasSameTags=Fg,g.hasSameViewerTags=Gi,g.imageToCanvas=zp,g.inOrderRunning=mw,g.interval=oh,g.isJSON=zh,g.isPromiseCancelable=$o,g.isXML=pw,g.lbhToWebMerc=Pw,g.lbhToXyz=Fr,g.length=hh,g.lerpAngle=Wl,g.lerpRotation=Uh,g.loadGifFrames=vg,g.loadJs=ph,g.map=ty,g.max=zi,g.min=gs,g.moveToTreeItem=jl,g.moveToTreeItems=tg,g.nextAnimateFrame=Xo,g.nextMicroTask=_u,g.objsIterator=$s,g.oneTimeWarning=Wo,g.optionsStr=xS,g.pairToPromise=Eh,g.pluckProperty=dh,g.react=B,g.reactArray=dt,g.reactArrayCollection=o_,g.reactArrayCollectionWithUndefined=ih,g.reactArrayWithUndefined=ne,g.reactDeepArray=Il,g.reactDeepArrayWithUndefined=ps,g.reactJson=_t,g.reactJsonCollection=a_,g.reactJsonCollectionWithUndefined=u_,g.reactJsonWithUndefined=Zt,g.reactPlainObject=i_,g.reactPlainObjectWithUndefined=s_,g.reactPosition2Ds=Ud,g.reactPosition2DsSet=l_,g.reactPositions=xl,g.reactPositionsSet=Ep,g.reduce=Su,g.registerCreatedEventUpdate=oS,g.registerEventCtor=vp,g.registerEventUpdate=aS,g.removeAllTreesCallFunc=cy,g.requestAnimationFrameTimeStampTest=E_,g.rpToap=fw,g.saveOnBrowser=__,g.setCanvasUniformColor=Up,g.setExtProp=ci,g.setPromiseCancel=ms,g.setSceneObjectTreeItem=Gl,g.setValueFromProps=y_,g.sleep=xu,g.sleepDeprecated=D_,g.step=Ks,g.stepProcessing=n0,g.throttle=fh,g.timeout=ah,g.toGeoJson=vw,g.track=j,g.uint32ToUint8s=Hp,g.uint8ToHexStr=Nu,g.uint8sToUint32=qp,g.updateTreeParamsCallFunc=hy,g.webMercToLbh=Iw,g.xyz2N2=P_,g.xyz2N3=I_,g.xyzToLbh=Wh,g.xyzw2N4=x_,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});