earthsdk3 3.4.0-beta.22 → 3.4.0-beta.23
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.
- package/dist/earthsdk3.iife.js +7 -7
- package/dist/earthsdk3.js +778 -736
- package/dist/earthsdk3.umd.cjs +8 -8
- package/dist/types/ESObjectManager/SceneObjectsManager.d.ts +7 -0
- package/dist/types/ESObjectManager/SceneObjectsManager.d.ts.map +1 -1
- package/dist/types/ESObjectManager/index.d.ts +7 -0
- package/dist/types/ESObjectManager/index.d.ts.map +1 -1
- package/dist/types/ESObjects/base/ESSceneObject/ESObjectsContext.d.ts +1 -0
- package/dist/types/ESObjects/base/ESSceneObject/ESObjectsContext.d.ts.map +1 -1
- package/dist/types/ESObjects/base/ESSceneObject/index.d.ts +4 -0
- package/dist/types/ESObjects/base/ESSceneObject/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESGeoJson/index.d.ts +1 -0
- package/dist/types/ESObjects/general/ESGeoJson/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/earthsdk3.umd.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
(function(S,p){typeof exports=="object"&&typeof module<"u"?p(exports,require("xbsj-base"),require("proj4"),require("@turf/turf")):typeof define=="function"&&define.amd?define(["exports","xbsj-base","proj4","@turf/turf"],p):(S=typeof globalThis<"u"?globalThis:S||self,p(S.EarthSDK3={},S.xbsj_base,S.proj4,S.turf))})(this,function(S,p,vs,kg){"use strict";var Z0=Object.defineProperty;var K0=(S,p,vs)=>p in S?Z0(S,p,{enumerable:!0,configurable:!0,writable:!0,value:vs}):S[p]=vs;var f=(S,p,vs)=>K0(S,typeof p!="symbol"?p+"":p,vs);function Vg(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,r.get?r:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const Le=Vg(kg);function zg(){const n=navigator.userAgent;let t="Unknown";/Windows/.test(n)?t="Windows":/Macintosh/.test(n)?t="MacOS":/Linux/.test(n)?t="Linux":/Android/.test(n)?t="Android":/iOS|iPhone|iPad|iPod/.test(n)&&(t="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(n)?e="x64":/x86|i686|Win32/.test(n)?e="x86":/arm64|aarch64/.test(n)?e="arm64":/arm/.test(n)&&(e="arm"),{os:t.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const Ug=Date.now();function af(n){const{os:t,arch:e}=zg(),r={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-Ug)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:t,arch:e},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(r));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}S.copyright=void 0;try{const n="earthsdk3",t="3.4.0-beta.
|
|
1
|
+
(function(S,p){typeof exports=="object"&&typeof module<"u"?p(exports,require("xbsj-base"),require("proj4"),require("@turf/turf")):typeof define=="function"&&define.amd?define(["exports","xbsj-base","proj4","@turf/turf"],p):(S=typeof globalThis<"u"?globalThis:S||self,p(S.EarthSDK3={},S.xbsj_base,S.proj4,S.turf))})(this,function(S,p,vs,kg){"use strict";var Z0=Object.defineProperty;var K0=(S,p,vs)=>p in S?Z0(S,p,{enumerable:!0,configurable:!0,writable:!0,value:vs}):S[p]=vs;var f=(S,p,vs)=>K0(S,typeof p!="symbol"?p+"":p,vs);function Vg(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,r.get?r:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const Le=Vg(kg);function zg(){const n=navigator.userAgent;let t="Unknown";/Windows/.test(n)?t="Windows":/Macintosh/.test(n)?t="MacOS":/Linux/.test(n)?t="Linux":/Android/.test(n)?t="Android":/iOS|iPhone|iPad|iPod/.test(n)&&(t="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(n)?e="x64":/x86|i686|Win32/.test(n)?e="x86":/arm64|aarch64/.test(n)?e="arm64":/arm/.test(n)&&(e="arm"),{os:t.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const Ug=Date.now();function af(n){const{os:t,arch:e}=zg(),r={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-Ug)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:t,arch:e},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(r));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}S.copyright=void 0;try{const n="earthsdk3",t="3.4.0-beta.23",e="2025-09-12T03:50:09.000Z",r="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="feca93890b3042c1cb64b9d07335c6a13715edb1",a=((Date.now()-1757649009e3)/36e5).toFixed(1),u=`%c🌏 ${n}%c ${t}.${s.slice(0,8)}.${e} (距今${a}个小时)
|
|
2
2
|
%c${i?i+`
|
|
3
3
|
`:""}当前网站正在使用${n},此软件版权归${r}所有
|
|
4
|
-
`;S.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
4
|
+
`;S.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","feca93890b3042c1cb64b9d07335c6a13715edb1")},get info(){return u},get date(){return"2025-09-12T03:50:09.000Z"},get author(){return"suplyang"},get version(){return"3.4.0-beta.23"},get name(){return"earthsdk3"},get commitId(){return"feca93890b3042c1cb64b9d07335c6a13715edb1"},print(){console.info(this.info,`
|
|
5
5
|
font-size: 18px;
|
|
6
6
|
font-weight: 1000;
|
|
7
7
|
line-height: 1;
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
padding-left: 35px;
|
|
21
21
|
`)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[n]=S.copyright,window.g_XE3SendProductUsageInfo=window.g_XE3SendProductUsageInfo||!0,window.g_XE3SendProductUsageInfo&&(setTimeout(()=>af(S.copyright),1e3*60),setInterval(()=>af(S.copyright),24*60*60*1e3)),window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&S.copyright.print()}catch{console.warn("版本信息有误!")}function Gg(){return!0}function Wg(){throw new Error("throwOnDestroyed")}function uf(n){for(var t in n)typeof n[t]=="function"&&(n[t]=Wg);n.isDestroyed=Gg}const Pl=class Pl{constructor(){f(this,"_memId",++Pl._lastMemId);f(this,"_disposers")}get __v_skip(){return!0}get memId(){return this._memId}get disposers(){return this._disposers||(this._disposers=[]),this._disposers}dispose(t){return this.disposers.push(t),t}d(t){return this.dispose(t)}disposeVar(t){return this.disposers.push(()=>t.destroy()),t}dv(t){return this.disposeVar(t)}tryDisposeVar(t){return this.disposers.push(()=>t.tryDestroy()),t}tdv(t){return this.tryDisposeVar(t)}autoDispose(t){return typeof t=="function"?this.dispose(t):this.disposeVar(t)}ad(t){return typeof t=="function"?this.dispose(t):this.disposeVar(t)}isDestroyed(){return!1}destroyImp(){}destroy(){if(this._toDestroyEvent&&this._toDestroyEvent.emit(),this.destroyImp(),this._disposers)try{const t=this._disposers,e=t.length;for(let r=e-1;r>=0;--r)t[r]();t.length=0,this._disposers=void 0}catch(t){console.error(`destroy get error! ${t}`)}return uf(this)}tryDestory(){if(!this.isDestroyed())return this.destroy()}};f(Pl,"_lastMemId",-1);let H=Pl,Tl;function lf(n){Tl=n}Object.defineProperties(H.prototype,{toDestroyEvent:{get(){if(this._toDestroyEvent===void 0){if(!Tl)throw new Error("Destroyable EventCtor not registered yet!");this._toDestroyEvent=this.disposeVar(new Tl)}return this._toDestroyEvent}}});class Ol{constructor(t,e,r=!1){f(this,"_freeElements");f(this,"_usedElementsCount");f(this,"_usedElements");f(this,"_nextCreateID");f(this,"_scratchObjs");this._createDefaultFunc=t,this._destroyFunc=e,this._freeElements=[],this._usedElementsCount=0,this._nextCreateID=1,this._scratchObjs=[],r&&(this._usedElements=[])}get usedElementsCount(){return this._usedElementsCount}get freeElementsCount(){return this._freeElements.length}_getCreateID(){return this._nextCreateID++}_create(){let t;return this._freeElements.length>0?t=this._freeElements.pop():t=this._createDefaultFunc&&this._createDefaultFunc()||{},t._cid=this._getCreateID(),t}create(){return this._create()}multiCreate(t){this._scratchObjs.length=0;for(let e=0;e<t;++e)this._scratchObjs.push(this._create());return this._scratchObjs}_destroy(t){this._destroyFunc&&this._destroyFunc(t),t._cid=void 0}destroy(...t){const e=t.length;for(let r=0;r<e;++r)this._destroy(t[r])}}function qg(){return{item:void 0,previous:void 0,next:void 0}}function Xg(n){n.item=void 0,n.previous=void 0,n.next=void 0}const cf=new Ol(qg,Xg,!0);function xl(n,t,e){const r=cf.create();return r.item=n,r.previous=t,r.next=e,r}function hf(n){if(!n)throw new Error("node is undefined!");cf.destroy(n)}function Dl(n,t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=void 0,n.tail=t.previous):t.next?(t.next.previous=void 0,n.head=t.next):(n.head=void 0,n.tail=void 0),t.next=void 0,t.previous=void 0}class ff{constructor(t){f(this,"head");f(this,"tail");f(this,"_length");const{needLength:e}=t||{needLength:!0};this.head=void 0,this.tail=void 0,e&&(this._length=0)}_incrementLength(){typeof this._length=="number"&&++this._length}_decrementLength(){typeof this._length=="number"&&--this._length}_setLength(t){typeof this._length=="number"&&(this._length=t)}get length(){return this._length}get empty(){return!this.head}*[Symbol.iterator](){let t=this.head;for(;t;)yield t,t=t.next}remove(t){if(!t)throw new Error("node is undefined!");Dl(this,t),this._decrementLength(),hf(t)}getNode(t){let e=this.head;for(;e!==null;){if(!e)throw new Error("current is undefined!");if(e.item===t)return e;e=e.next}}moveAfter(t,e){if(t!==e){Dl(this,e);var r=t.next;t.next=e,this.tail===t?this.tail=e:r&&(r.previous=e),e.next=r,e.previous=t}}moveBefore(t,e){if(t!==e){Dl(this,e);var r=t.previous;t.previous=e,this.head===t?this.head=e:r&&(r.next=e),e.previous=r,e.next=t}}insertBefore(t,e){const r=xl(e,t.previous,t);return t.previous&&(t.previous.next=r),t.previous=r,this.head===t&&(this.head=r),this._incrementLength(),r}insertAfter(t,e){const r=xl(e,t,t.next);return t.next&&(t.next.previous=r),t.next=r,this.tail===t&&(this.tail=r),this._incrementLength(),r}_setFirstNode(t){if(this.head||this.tail)throw new Error("_setFirstNode error!");const e=xl(t,void 0,void 0);if(this.head=e,this.tail=e,this._incrementLength(),this._length!==1)throw new Error("_setFirstNode error! this._length !== 1");return e}push(t){return this.tail?this.insertAfter(this.tail,t):this._setFirstNode(t)}pop(){if(!this.tail)throw new Error("DoublyLinkedList is empty!");const t=this.tail.item;return this.remove(this.tail),t}shift(){if(!this.head)throw new Error("DoublyLinkedList is empty!");const t=this.head.item;return this.remove(this.head),t}unshift(t){return this.head?this.insertBefore(this.head,t):this._setFirstNode(t)}removeAll(){let t=this.head;for(;t;){const e=t.next;hf(t),t=e}this.head=void 0,this.tail=void 0,this._setLength(0)}}const df=new Set;function pf(n,t=n){df.has(t)||(df.add(t),console.warn(n))}function Hg(){return{func:void 0,scope:void 0,_hasRemoved:!1,_once:!1}}function Yg(n){n.func=void 0,n.scope=void 0,n._hasRemoved=!1,n._once=!1}const ys=new Ol(Hg,Yg,!0);class Ml{constructor(){f(this,"__dll");f(this,"__currentListenerStack")}get _dll(){return this.__dll=this.__dll??new ff({needLength:!0}),this.__dll}_pushCurrentListener(t){this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.push(t):this.__currentListenerStack=[this.__currentListenerStack,t]:this.__currentListenerStack=t}_popCurrentListener(){if(this.__currentListenerStack)Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.pop():this.__currentListenerStack=void 0;else throw new Error("cannot pop!")}_hasCurrentListener(t){return this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.indexOf(t)!==-1:this.__currentListenerStack===t:!1}do(...t){if(this.__dll&&!this._dll.empty){let e=this._dll.head;for(;e;){const r=e.item;r._hasRemoved||(this._pushCurrentListener(r),r.func.call(r.scope,...t),this._popCurrentListener());const i=e.next;r._once&&!r._hasRemoved&&(this.remove(e),e=void 0),e&&this._clearHasRemoved(e),e=i}}}get empty(){if(!this.__dll||this._dll.empty)return!0;let t=!0,e=this._dll.head;for(;e;){if(!e.item._hasRemoved){t=!1;break}e=e.next}return t}isHandlerValid(t){return!t.item._hasRemoved}nextHandler(t){if(!t.item._hasRemoved)throw new Error("handler has removed!");let e=t.next;for(;e&&e.item._hasRemoved;)e=e.next;return e}prevHandler(t){if(!t.item._hasRemoved)throw new Error("handler has removed!");let e=t.previous;for(;e&&e.item._hasRemoved;)e=e.previous;return e}moveAfter(t,e){if(t.item._hasRemoved||e.item._hasRemoved)throw new Error("handler or nextHandler has removed!");return this._dll.moveAfter(t,e)}moveBefore(t,e){if(t.item._hasRemoved||e.item._hasRemoved)throw new Error("handler or prevHandler has removed!");return this._dll.moveBefore(t,e)}insertBefore(t,e,r,i=!1){if(t.item._hasRemoved)throw new Error("handler has removed!");const s=ys.create();return s.func=e,s.scope=r,s._once=i,this._dll.insertBefore(t,s)}insertAfter(t,e,r,i=!1){if(t.item._hasRemoved)throw new Error("handler has removed!");const s=ys.create();return s.func=e,s.scope=r,s._once=i,this._dll.insertAfter(t,s)}_clearHasRemoved(t){t.item._hasRemoved&&!this._hasCurrentListener(t.item)&&(ys.destroy(t.item),this._dll.remove(t))}remove(t){if(!t.item||t.item._hasRemoved)throw new Error("handler has removed!");this._hasCurrentListener(t.item)?t.item._hasRemoved=!0:(ys.destroy(t.item),this._dll.remove(t))}removeAll(){if(this.__dll&&!this._dll.empty){let t=this._dll.head;for(;t;){const e=t.next;t.item._hasRemoved||this.remove(t),t=e}}}destroy(){if(!this.__dll)return;let t=this._dll.head;for(;t;){const e=t.next,r=t;this._hasCurrentListener(r.item)||(console.warn("Event has remove item that on current stack!"),console.warn(`${r.item.func.toString()}`)),ys.destroy(r.item),this._dll.remove(r),t=e}this.__dll=void 0,this.__currentListenerStack=void 0}push(t,e,r=!1){const i=ys.create();return i.func=t,i.scope=e,i._once=r,this._dll.push(i)}pop(){const t=this.tail;if(!t)throw new Error("pop error!");this.remove(t)}shift(){const t=this.head;if(!t)throw new Error("shift error!");this.remove(t)}unshift(t,e,r=!1){const i=ys.create();return i.func=t,i.scope=e,i._once=r,this._dll.unshift(i)}get tail(){let t=this._dll.tail;for(;t&&t.item._hasRemoved;)t=t.previous;return t}get head(){let t=this._dll.head;for(;t&&t.item._hasRemoved;)t=t.previous;return t}}class ba{constructor(){f(this,"_listenerHandler");f(this,"_cid")}_reset(t,e){this._listenerHandler=t,this._cid=e}clone(t){return t=t??new ba,t._reset(this._listenerHandler,this._cid),t}get valid(){if(typeof this._listenerHandler<"u"&&typeof this._cid=="number"){const t=this._listenerHandler._cid;if(typeof t<"u"&&this._cid===t)return!0}return!1}}class Ll extends ba{}let V=class extends H{constructor(){super(...arguments);f(this,"__pipe");f(this,"beforeCallback");f(this,"afterCallback")}get _pipe(){return this.__pipe=this.__pipe??new Ml,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}emit(...e){!this.isDestroyed()&&this.beforeCallback&&this.beforeCallback(...e),!this.isDestroyed()&&this._pipe.do(...e),!this.isDestroyed()&&this.afterCallback&&this.afterCallback(...e)}on(e,r,i=!1,s){const o=i?this._pipe.unshift(e,r,!1):this._pipe.push(e,r,!1);return s=s??new Ll,s._reset(o,o._cid),s}disposableOn(e,r,i=!1,s){const o=this.on(e,r,i,s);return()=>{o.valid&&this.off(o)}}don(e,r,i=!1,s){return this.disposableOn(e,r,i,s)}disposableWeakOn(e,r,i=!1,s){const o=new H,a=()=>{!o.isDestroyed()&&o.destroy()};return o.dispose(this.disposableOn(e,r,i,s)),o.dispose(this.toDestroyEvent.disposableOn(a)),a}dwon(e,r,i=!1,s){return this.disposableWeakOn(e,r,i,s)}once(e,r,i=!1,s){const o=i?this._pipe.unshift(e,r,!0):this._pipe.push(e,r,!0);return s=s??new Ll,s._reset(o,o._cid),s}disposableOnce(e,r,i=!1,s){const o=this.once(e,r,i,s);return()=>o.valid&&this.off(o)}donce(e,r,i=!1,s){const o=this.once(e,r,i,s);return()=>o.valid&&this.off(o)}off(e){if(!e.valid)throw new Error("handler is not valid!");this._pipe.remove(e._listenerHandler),e._reset()}reset(){this._pipe.removeAll()}destroyImp(){this.empty||(pf("The event is destroying with listeners!"),this._pipe.removeAll())}};lf(V);function oo(n,t){return t=t??new ba,t._reset(n,n._cid),t}class Jg{constructor(){f(this,"__pipe")}get _pipe(){return this.__pipe=this.__pipe??new Ml,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}do(...t){return this._pipe.do(...t)}isHandlerValid(t){return t.valid?this._pipe.isHandlerValid(t._listenerHandler):!1}moveAfter(t,e){if(!t.valid||!e.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(t._listenerHandler,e._listenerHandler)}moveBefore(t,e){if(!t.valid||!e.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(t._listenerHandler,e._listenerHandler)}insertBefore(t,e,r,i=!1,s){if(!t.valid)throw new Error("handler is not valid!");const o=this._pipe.insertBefore(t._listenerHandler,e,r,i);return oo(o,s)}insertAfter(t,e,r,i=!1,s){if(!t.valid)throw new Error("handler is not valid!");const o=this._pipe.insertAfter(t._listenerHandler,e,r,i);return oo(o,s)}remove(t){if(!t.valid)throw new Error("handler is not valid!");return this._pipe.remove(t._listenerHandler)}removeAll(){return this._pipe.removeAll()}push(t,e,r=!1,i){const s=this._pipe.push(t,e,r);return oo(s,i)}pop(){return this._pipe.pop()}shift(){return this._pipe.shift()}unshift(t,e,r=!1,i){const s=this._pipe.unshift(t,e,r);return oo(s,i)}getTail(t){const e=this._pipe.tail;if(e)return oo(e,t)}getHead(t){const e=this._pipe.head;if(e)return oo(e,t)}}function Bg(n,t,...e){const r=setInterval(n,t,...e);return()=>clearInterval(r)}function jg(n,t,...e){const r=setTimeout(n,t,...e);return()=>clearTimeout(r)}function Zg(n,...t){let e;const r=()=>{const i=performance.now();n(i,...t),e=requestAnimationFrame(r)};return r(),()=>typeof e<"u"&&(cancelAnimationFrame(e),e=void 0)}function gf(n,...t){let e;return e=requestAnimationFrame(()=>{const i=performance.now();n(i,...t)}),()=>typeof e<"u"&&(cancelAnimationFrame(e),e=void 0)}function Kg(n,...t){let e=!1,r;return new Promise((i,s)=>{r=s,i()}).then(()=>{!e&&n(...t)}).catch(i=>{console.error(i)}),()=>(e=!0)&&r&&(r("nextMicroTask cancelled!"),r=void 0)}class Qg extends V{constructor(e,r,...i){super();f(this,"_cancellFunc");this._nextFunc=e,this.dispose(()=>{this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0)}),i.forEach(s=>this.dispose(s[r?"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 mf extends Qg{constructor(...t){super(gf,!1,...t)}}function ao(n,t,e={time:"don",immediate:!1}){const r=new mf(...Array.isArray(n)?n:[n]),i=r[e.time??"don"](t);return(e.immediate??!1)&&t(),()=>{i(),r.destroy()}}function $g(n,t,e){typeof e>"u"&&(t.endsWith(".gltf")?e="model/gltf+json":t.endsWith(".bin")?e="application/octet-stream":t.endsWith(".glb")?e="model/gltf-binary":t.endsWith(".jpg")||t.endsWith(".jpeg")?e="image/jpeg":t.endsWith(".png")?e="image/png":t.endsWith(".glsl")?e="text/plain":t.endsWith(".json")?e="application/json":t.endsWith(".b3dm")||t.endsWith(".i3dm")||t.endsWith("pnts")||t.endsWith("cmpt")?e="application/octet-stream":console.warn(`save ${t}: MimeType无法确定!`));const r=new Blob([n],{type:e||""});let i=URL.createObjectURL(r);var s=document.createElement("a"),o=new MouseEvent("click");s.download=t,s.href=i,s.dispatchEvent(o),URL.revokeObjectURL(i)}function tm(n,t){const e=document.createElement("a"),r=new MouseEvent("click");e.download=t||"下载",e.href=n,e.dispatchEvent(r)}const bl=class bl extends H{constructor(){super();f(this,"_set",new Set);f(this,"_toChangeEvent",this.disposeVar(new V));f(this,"_changedEvent",this.disposeVar(new V));f(this,"main");this.dispose(()=>{this._set.size!==0&&(bl.warnOnDestroying&&console.warn("this._set.size > 0"),this.clear())})}get toChange(){return this._toChangeEvent}get changed(){return this._changedEvent}add(...e){if(e.length==2&&typeof e[1]=="boolean")e[1]&&(this.main=e[0]);else for(let r of e)this._toChangeEvent.emit([],[r]),this._set.add(r),this._changedEvent.emit([],[r])}delete(...e){for(let r of e)this.main&&this.main==r&&(this.main=void 0),this._toChangeEvent.emit([r],[]),this._set.delete(r),this._changedEvent.emit([r],[])}disposableAdd(...e){return e.length==2&&typeof e[1]=="boolean"?(e[1]&&(this.main=e[0]),this.add(e[0]),()=>this.delete(e[0])):(this.add(...e),()=>this.delete(...e))}get size(){return this._set.size}clear(){const e=[...this._set];this._toChangeEvent.emit([],e),this._set.clear(),this._changedEvent.emit([],e)}values(){return this._set.values()}};f(bl,"warnOnDestroying",!0);let _u=bl;class em extends H{constructor(){super(...arguments);f(this,"registerEngines",{})}register(e,r,i){const s=this.registerEngines[e]||new Map;return s.has(r)&&console.warn(`register warn:${e}中${r}的实现类已经被注册,再次注册会覆盖。`),s.set(r,i),this.registerEngines[e]=s,r}getEngineObjConstructor(e,r){const i=this.registerEngines[r];if(!i)return;let s=e.constructor,o=e.typeName,a=i.get(o);if(a)return a;if(e.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}在${r}中对应的实现类! 使用父类${o}的实现类!`),a}createEngineObject(e,r){const i=this.getEngineObjConstructor(e,r.typeName);if(i){const s=new i(e,r);return s.createdEvent.emit(),s}else{const s=new _s(e,r);return s.createdEvent.emit(),s}}}class rm extends H{constructor(){super(...arguments);f(this,"registerEngines",{})}register(e,r,i){const s=this.registerEngines[e]||new Map;s.has(r)&&console.warn(`register warn:${e}中${r}的实现类已经被注册,再次注册会覆盖。`),s.set(r,i),this.registerEngines[e]=s}getEngineObjConstructor(e,r){const s=(this.registerEngines[r]||new Map).get(e);if(s)return s;console.warn(`未找到${e}在${r}中对应的实现类!`)}createEngineObject(e,r){const i=this.getEngineObjConstructor(e.typeName,r.typeName);if(i){const s=new i(e,r);return s.createdEvent.emit(),s}else{const s=new _s(e,r);return s.createdEvent.emit(),s}}}const an=class an extends H{constructor(e,r,i=!1){super();f(this,"_createdEvent",this.dv(new V));f(this,"_id",++an._accumId);this._sceneObject=e,this._viewer=r;{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}};f(an,"context",new em),f(an,"contextEditing",new rm),f(an,"register",an.context.register.bind(an.context)),f(an,"registerEditing",an.contextEditing.register.bind(an.contextEditing)),f(an,"_accumId",-1);let _s=an;const Nl=class Nl extends H{constructor(e,r){super();f(this,"_id",++Nl._accumId);this._name=e,this._description=r}get id(){return this._id}get name(){return this._name}get description(){return this._description}};f(Nl,"_accumId",-1);let zi=Nl;class Al extends zi{constructor(t,e,r,i,s){super(t,e),this._withUndefined=r,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 yt extends Al{constructor(t,e,r,i,s,o){const a=t instanceof p.ReactiveVariable?"未获取到属性名":t[1].toString();super(e??a,o??a,i??!1,s??!1,r),this._reactVar=t}get reactVar(){return this._reactVar}}class q extends yt{get type(){return"BooleanProperty"}}class ut extends yt{get type(){return"StringProperty"}}class L extends yt{get type(){return"NumberProperty"}}class nm extends yt{get type(){return"MaximumScreenSpaceErrorProperty"}}class vf extends yt{get type(){return"StringsProperty"}}class im extends yt{get type(){return"NumbersProperty"}}class sm extends yt{get type(){return"BooleansProperty"}}class om extends yt{get type(){return"String2Property"}}class am extends yt{get type(){return"String3Property"}}class um extends yt{get type(){return"String4Property"}}class yf extends yt{get type(){return"String2sProperty"}}class lm extends yt{get type(){return"String3sProperty"}}class cm extends yt{get type(){return"String4sProperty"}}class ye extends yt{get type(){return"Number2Property"}}class We extends yt{get type(){return"Number3Property"}}class pn extends yt{get type(){return"Number4Property"}}class hm extends yt{get type(){return"Number4WithUndefinedProperty"}}class _f extends yt{get type(){return"Number2sProperty"}}class Rl extends yt{get type(){return"Number3sProperty"}}class fm extends yt{get type(){return"Number4sProperty"}}class dm extends yt{get type(){return"Boolean2Property"}}class pm extends yt{get type(){return"Boolean3Property"}}class gm extends yt{get type(){return"Boolean4Property"}}class mm extends yt{get type(){return"Boolean2sProperty"}}class vm extends yt{get type(){return"Boolean3sProperty"}}class ym extends yt{get type(){return"Boolean4sProperty"}}class _m extends yt{get type(){return"StringNumberProperty"}}class wm extends yt{get type(){return"StringNumbersProperty"}}class Et extends pn{get type(){return"ColorProperty"}}class Em extends We{get type(){return"ColorRgbProperty"}}class Sm extends L{get type(){return"DashPatternProperty"}}class mt extends yt{constructor(t,e,r,i,s,o,a){super(t,r,i,s,o,a),this._enums=e}get type(){return"EnumProperty"}get enums(){return this._enums}}class Cm extends yt{constructor(t,e,r,i,s,o,a){super(t,r,i,s,o,a),this._enums=e}get type(){return"EnumStringsProperty"}get enums(){return this._enums}}class Ui extends yt{constructor(t,e,r,i,s,o,a){super(t,e,r,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"EvalStringProperty"}}class wf extends yt{constructor(t,e,r,i,s){super(t,e,i,!1,!1,s),this._paramTypes=r}get type(){return"ParamsProperty"}get paramTypes(){return this._paramTypes}}class st extends zi{constructor(e,r,i,s,o){const a=s??"Unnamed Function";super(a,o??a);f(this,"_paramsProperty");f(this,"_getValueFunc");this._func=r;const u=this.disposeVar(p.reactJson(i));this._paramsProperty=this.disposeVar(new wf(u,a+"_params",e,i));const[l]=p.getReactFuncs(this._paramsProperty.reactVar);this._getValueFunc=l}get paramsProperty(){return this._paramsProperty}exec(){this._func(...this._getValueFunc())}get type(){return"FunctionProperty"}}class it extends zi{constructor(t,e,r){const i=e??"分组";super(i,r??i),this._children=t}get type(){return"GroupProperty"}get children(){return this._children}}class Q extends yt{constructor(t,e,r,i,s,o,a){super(t,e,r,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"JsonProperty"}}class Fl extends yt{constructor(t,e,r,i,s,o,a){super(t,e,r,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"LongStringProperty"}}class Im extends ye{get type(){return"MinmaxProperty"}}class Pm extends pn{get type(){return"NearFarScalerProperty"}}class Ef extends Al{constructor(t,e,r,i,s,o,a){const u=r??"非响应式Json";super(u,a??u,s??!1,o??!1,i),this._getJsonStringFunc=t,this._setJsonStringFunc=e}get type(){return"NonreactiveJsonStringProperty"}get getJsonStringFunc(){return this._getJsonStringFunc}get setJsonStringFunc(){return this._setJsonStringFunc}}class bm extends ye{get type(){return"NumberRangeProperty"}}class Ce extends yt{constructor(t,e,r,i,s,o,a,u){super(t,i,s,o,a,u),this._step=e,this._minMax=r}get type(){return"NumberSliderProperty"}get minMax(){return this._minMax}get step(){return this._step}}function Nm(n,t){const[e,r,i]=p.getReactFuncs(n),[s,o,a]=p.getReactFuncs(t),u=p.react((e()??0)/(s()??3e3)),l=()=>{const c=u.value,h=s()??3e3,d=e()??0;if(!Number.isFinite(h)||!Number.isFinite(d)){console.warn(`duration || currentTime error: duration: ${h} currentTime: ${d}`);return}Math.abs(c*h-d)<.001||(h<=0?u.value=0:u.value=d/h)};return u.dispose(i.disposableOn(l)),u.dispose(a.disposableOn(l)),u.dispose(u.changed.disposableOn(()=>{const c=u.value,h=s()??3e3,d=e()??0;if(!Number.isFinite(h)||!Number.isFinite(d)){console.warn(`duration || currentTime error: duration: ${h} currentTime: ${d}`);return}Math.abs(c*h-d)<.001||r(c*h)})),u}class wu extends zi{constructor(e,r,i,s,o,a){super(s??"播放器",a??"播放器");f(this,"_defaults",{playing:!1,ratio:0,loop:!1});this._playingReact=e,this._ratioReact=r,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}}f(wu,"createPlayingRatio",Nm);class uo extends We{get type(){return"PositionProperty"}}class Sf extends yt{get type(){return"PositionsProperty"}}class Tm extends yt{get type(){return"PositionsSetPropety"}}class kl extends We{get type(){return"RotationProperty"}}class Na extends ut{get type(){return"UriProperty"}}class Cf extends zi{constructor(e,r,i,s,o,a){const u=s??"视角播放器";super(u,a??u);f(this,"_defaults",{playing:!1,loop:!1});this._playingReact=e,this._stopFn=r,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 If extends yt{get type(){return"DatesProperty"}}class ws extends yt{get type(){return"DateProperty"}}var $=(n=>(n.Place="place",n.Translation="translation",n.Rotation="rotation",n.Scale="scale",n.DoublePointsAppend="doublePointsAppend",n.DoublePointsModify="doublePointsModify",n.CircularAppend="circularAppend",n.CircularInsert="circularInsert",n.LineStringAppend="lineStringAppend",n.LineStringInsert="lineStringInsert",n.ScatterAppend="scatterAppend",n.ScatterModify="scatterModify",n.VisibilityAppend="visibilityAppend",n.VisibilityModify="visibilityModify",n.HeightModify="heightModify",n))($||{}),Pf=(n=>(n.DECIMAL_DEGREE="DECIMAL_DEGREE",n.DEGREES_DECIMAL_MINUTES="DEGREES_DECIMAL_MINUTES",n.SEXAGESIMAL_DEGREE="SEXAGESIMAL_DEGREE",n))(Pf||{});class Om{constructor(t){this.childPickedInfo=t}}class xm{constructor(t,e,r,i,s,o){this.pickResult=t,this.sceneObject=e,this.tilesetPickInfo=r,this.geojsonPickInfo=i,this.attachedInfo=s,this.screenPosition=o}assign(t){t!=null&&t.pickedResult&&(this.pickResult=t.pickedResult),t!=null&&t.sceneObject&&(this.sceneObject=t.sceneObject),t!=null&&t.tilesetPickInfo&&(this.tilesetPickInfo=t.tilesetPickInfo),t!=null&&t.geojsonPickInfo&&(this.geojsonPickInfo=t.geojsonPickInfo),t!=null&&t.attachedInfo&&(this.attachedInfo=t.attachedInfo),t!=null&&t.screenPosition&&(this.screenPosition=t.screenPosition)}}class Dm extends H{constructor(e){super();f(this,"_sceneObjRefs",new Map);f(this,"_refs",{});f(this,"_refsChanged",this.dv(new V));const r=(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(e.sceneObjCreatedEvent.don(i=>{const s=(o,a)=>r(i,o,a);i.ref&&s(i.ref,void 0),i.refChanged.don(s)})),this.d(e.sceneObjToDestroyEvent.don(i=>{i.ref&&r(i,void 0,i.ref)}))}get sceneObjRefs(){return this._sceneObjRefs}get refs(){return this._refs}get refsChanged(){return this._refsChanged}getLastSceneObject(e){const r=this.getSceneObjects(e);if(r)return r[r.length-1]}getSceneObjects(e){const r=this._sceneObjRefs.get(e);if(!(!r||r.length===0))return r}}function bf(n,t){const[e,r,i]=p.getReactFuncs(n),s=p.react(void 0),o=()=>{const a=e()??t;s.value=a&&tt.context.getStrFromEnv(a)};return o(),i&&s.d(i.don(o)),s.d(tt.context.environmentVariablesChanged.don(o)),s}function Nf(n){const t=/\${(.*?)\}/g;if(!t.test(n))return n;const e=n.replace(t,(r,i)=>{const s=tt.context.getEnv(i);return s===void 0?(console.warn(`环境变量(${i})不存在,无法进行转换`),"{env-error}"):s});return Nf(e)}class Mm extends H{constructor(){super();f(this,"_esObjConstructors",new Map);f(this,"_sceneObjs",new Map);f(this,"_sceneObjCreatedEvent",new V);f(this,"_sceneObjToDestroyEvent",new V);f(this,"_refsManager",this.dv(new Dm(this)));f(this,"_environmentVariables",window.ESSDK_ENV||{});f(this,"_environmentVariablesChanged",this.dv(new V))}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(e,r,i){return this._esObjConstructors.has(e)&&console.warn(`register warn: ${e} has registered ! will be override!`),this._esObjConstructors.set(e,r),i&&p.setExtProp(r,"__sceneObjExtraInfo",i),e}_addSceneObject(e){this._sceneObjs.set(e.id,e),this._sceneObjCreatedEvent.emit(e),e.d(()=>this._deleteSceneObject(e))}addSceneObject(e){this._addSceneObject(e)}_deleteSceneObject(e){this._sceneObjToDestroyEvent.emit(e),this._sceneObjs.delete(e.id)}deleteSceneObject(e){this._deleteSceneObject(e)}createSceneObjectFromClass(e,r){if(!r||this._sceneObjs.has(r)){const s=p.createGuid();r&&console.warn(`已存在相同id的对象!id自动变更!${r} -> ${s} 请注意:id变更可能导致引用失效!`),r=s}if(!r)throw new Error("id不能为空!");const i=new e(r);return i.id!==r&&(console.warn(`sceneObj.id(${i.id}) !== id(${r}) sceneObjectType: ${i.typeName}`),console.warn("出现这种问题有可能是自定义的场景对象,没有在构造函数中传递id参数!示例如下:"),console.warn("class XXX extends XXX { constructor(id) { super(id); } }")),this._addSceneObject(i),i}createSceneObject(e,r){if(typeof e=="string"){const i=this._getSceneObjConstructor(e);if(!i){console.warn(`Cannot find SceneObjectType: ${e}`);return}return this.createSceneObjectFromClass(i,r)}else return this.createSceneObjectFromClass(e,r)}createSceneObjectFromJson(e){const r=this.createSceneObject(e.type,e.id);return r&&(r.json=e),r}destroySceneObject(e){return this._deleteSceneObject(e),e.destroy(),e.isDestroyed()}getSceneObjectById(e){return this._sceneObjs.get(e)}getSceneObject(e){if(!e&&e!="")return Array.from(this._sceneObjs.values());if(e.startsWith("ES")){const r=[];for(const i of this._sceneObjs.values())i.typeName===e&&r.push(i);return r}else return this._sceneObjs.get(e)}_getSceneObjConstructor(e){const r=this._esObjConstructors.get(e);if(r)return r}getProps(e){const r=this._getSceneObjConstructor(e);if(!r){console.warn(`cannot get constructor from type: ${e}`);return}return p.getExtProp(r,"__sceneObjExtraInfo")}setProps(e,r){const i=this._getSceneObjConstructor(e);if(!i){console.warn(`cannot get constructor from type: ${e}`);return}let s=p.getExtProp(i,"__sceneObjExtraInfo");s||(s={},p.setExtProp(i,"__sceneObjExtraInfo",s)),Object.assign(s,r)}getProp(e,r){const i=this.getProps(e);return i&&i[r]}setProp(e,r,i){this.setProps(e,{[r]:i})}get environmentVariables(){return this._environmentVariables}set environmentVariables(e){for(let[r,i]of Object.entries(e))this.setEnv(r,i)}get environmentVariablesChanged(){return this._environmentVariablesChanged}setEnv(e,r){if(this._environmentVariables[e]!==r){const i=this._environmentVariables[e];this._environmentVariables[e]=r,this._environmentVariablesChanged.emit(e,r,i)}window.ESSDK_ENV={...this._environmentVariables}}getEnv(e){return this._environmentVariables[e]}getStrFromEnv(e){return Nf(e)}createEnvStrReact(e,r){return bf(e,r)}createEvnStrReact(e,r){return bf(e,r)}}const ft=class ft extends H{constructor(e){super();f(this,"_components",this.dv(new _u));f(this,"_viewerAttached",this.dv(new V));f(this,"_viewerDetached",this.dv(new V));f(this,"_attachedViewers",(()=>{const e=new Set;return this.d(this._viewerAttached.don(r=>{r.actived&&(this.activeViewer=r),r.ad(r.activedChanged.don(i=>{i&&e.has(r)&&(this.activeViewer=r)})),e.add(r)})),this.d(this._viewerDetached.don(r=>{e.delete(r),this.activeViewer==r&&(this.activeViewer=void 0)})),e})());f(this,"_activeViewer",this.disposeVar(p.react(void 0)));f(this,"_createdEvent",this.dv(new V));f(this,"_flushEvent",this.dv(new V));f(this,"_id");f(this,"_updateFuncReact",this.dv(p.react(void 0)));f(this,"_toDestroyFuncReact",this.dv(p.react(void 0)));f(this,"_parentID");e!==void 0&&(typeof e!="string"?console.warn(`对象id必须是字符串类型,当前id的类型是${typeof e},值为${e}`):e.trim()===""?console.warn("场景对象创建时的id不能是空字符串!"):e.trim()!==e&&console.warn(`id前后有空字符串!id: ${e}`)),this._id=e??p.createGuid(),this._initName();{const r=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(i){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`)}};r(),this.d(this.execOnceFuncStrChanged.don(r))}{const r=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};r(),this.d(this.updateFuncStrChanged.don(r));let i;this.d(()=>i&&i.destroy()),this.d(this.updateFuncChanged.don(()=>{i&&i.cancel(),this.updateFunc&&(i=i||p.createAnimateFrame(),i.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const r=()=>{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}};r(),this.d(this.toDestroyFuncStrChanged.don(r)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}static getParentClass(){return Object.getPrototypeOf(this)}static register(e,r,i){p.extendClassProps(r.prototype,r.createDefaultProps);const s=r.createDefaultProps();r.defaults&&(r.defaults={});for(const o of Object.keys(s))r.defaults[o]=s[o]instanceof p.ReactiveVariable?s[o].value:s[o];return this.innerRegister(e,r,i),e}static get envs(){return ft.context.environmentVariables}static get $refs(){return ft.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(e){this._activeViewer.value=e}get activeViewerChanged(){return this._activeViewer.changed}removefromViewer(e){this.attachedViewers.has(e)&&e.delete(this)}addToViewer(e){this.attachedViewers.has(e)||e.add(this)}registerAttachedObject(e){const r=new Map;this.d(()=>{r.size>0&&console.warn("viewerPropSceneObjects.size > 0")}),this.d(this._viewerAttached.don(i=>{const s=e(i);s&&r.set(i,s)})),this.d(this._viewerDetached.don(i=>{if(!r.has(i))return;const s=r.get(i);s&&(s.destroy(),r.delete(i))}))}createAttachedObject(e){const r=new Map,i=()=>{for(let[u,l]of r.entries())l.destroy();r.clear()},s=u=>{const l=e(u);l&&r.set(u,l)};for(let u of this.attachedViewers)s(u);const o=this._viewerAttached.don(s),a=this._viewerDetached.don(u=>{if(!r.has(u))return;const l=r.get(u);l&&(l.destroy(),r.delete(u))});return()=>{a(),o(),i()}}registerAttachedObjectForContainer(e){this.registerAttachedObject(r=>new Lm(r,e))}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(e=!0){const r={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(e){let s,o=this.defaultProps[i];o instanceof p.ReactiveVariable?s=o.equals(this[i]):s=o===this[i],s||(r[i]=this[i])}else r[i]=this[i];return r}_innerSetJson(e,r,i){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=r||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in e)this[a]=e[a]===null?void 0:e[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof p.ReactiveVariable&&(u=u.value),this[a]=u}}get json(){return this._innerGetJson()}set json(e){this._innerSetJson(e)}get _jsonStr(){return JSON.stringify(this.json,null,4)}set _jsonStr(e){this._innerSetJson(JSON.parse(e))}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get parentID(){return this._parentID??this.id}set parentID(e){this._parentID=e}getProperties(e){const r={...this.getESProperties()},i=[];return r.general.length>0&&i.push(new it(r.general,"general")),Object.keys(r).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&r[s].length>0&&i.push(new it(r[s],s))}),i}getESProperties(){return{defaultMenu:"general",basic:[],general:[new ut([this,"typeName"],"类型",void 0,!1,!0),new ut([this,"id"],"唯一标识",void 0,!1,!0),new ut([this,"name"],"名称")],dataSource:[],location:[],coordinate:[],style:[],more:[new ut([this,"ref"],"ref",void 0,!0),new Q([this,"extras"],"extras",void 0,void 0,!0),new Ef(()=>this._jsonStr,e=>e&&(this._jsonStr=e),"JSON")]}}};f(ft,"context",new Mm),f(ft,"innerRegister",ft.context.register.bind(ft.context)),f(ft,"defaults",{}),f(ft,"createDefaultProps",()=>({name:"未命名场景对象",ref:void 0,extras:p.reactJson(void 0),devTags:p.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})),f(ft,"type",ft.register("ESSceneObject",ft,{chsName:"场景类",tags:["ESObjects"],description:""})),f(ft,"create",ft.context.createSceneObject.bind(ft.context)),f(ft,"createFromClass",ft.context.createSceneObjectFromClass.bind(ft.context)),f(ft,"createFromJson",ft.context.createSceneObjectFromJson.bind(ft.context)),f(ft,"destroySceneObject",ft.context.destroySceneObject.bind(ft.context)),f(ft,"getSceneObjById",ft.context.getSceneObjectById.bind(ft.context)),f(ft,"getSceneObj",ft.context.getSceneObject.bind(ft.context)),f(ft,"getEnv",ft.context.getEnv.bind(ft.context)),f(ft,"setEnv",ft.context.setEnv.bind(ft.context)),f(ft,"getStrFromEnv",ft.context.getStrFromEnv.bind(ft.context)),f(ft,"getSceneObjectById",ft.context.getSceneObjectById.bind(ft.context)),f(ft,"getSceneObject",ft.context.getSceneObject.bind(ft.context));let tt=ft;class Lm extends H{constructor(t,e){super(),this.dv(new p.ObjResettingWithEvent(t.subContainerChanged,()=>{if(t.subContainer)return e(t,t.subContainer)}))}}const se=class se extends tt{constructor(e){super(e);f(this,"_editing",this.dv(p.react(!1)));f(this,"editingID");f(this,"editingBindMode","singlePoint");f(this,"_deprecated",[]);f(this,"_flyInEvent",this.dv(new V));f(this,"_flyToEvent",this.dv(new V));f(this,"_flyOverEvent",this.disposeVar(new V));f(this,"_pickedEvent",this.dv(new V));f(this,"_calcFlyToParamEvent",this.dv(new V));f(this,"_calcFlyInParamEvent",this.dv(new V));f(this,"useCalcFlyToParamInESObjectWithLocation",!1);Mf(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(e){this._editing.value=e}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const e=this._deprecated;for(let r=0;r<e.length;r++){const i=e[r];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(e=1){this._flyInEvent.emit(e,se._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(e=1){this._flyToEvent.emit(e,se._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(e){return await e.getBoundSphere(this.id)}getESProperties(){const e={...super.getESProperties()};return{...e,general:[...e.general,new q([this,"show"],"是否显示",se.defaults.show),new q([this,"collision"],"开启碰撞",se.defaults.collision),new q([this,"allowPicking"],"允许拾取",se.defaults.allowPicking),new st([],()=>this.calcFlyToParam(),[],"保存观察视角","保存当前flyToParam"),new st([],()=>this.emptyFlyToParam(),[],"清空飞向参数","清空飞向参数"),new st([],()=>this.emptyFlyInParam(),[],"清空飞入参数","清空飞入参数"),new st([],()=>this.calcFlyInParam(),[],"保存飞入参数","保存飞入参数flyInParam")],more:[...e.more,new it([],"飞行定位","飞向参数"),new st(["number"],r=>this.flyTo(r),[1],"飞向"),new Q([this,"flyToParam"],"flyToParam",void 0,void 0,!0),new L([this,"flyToDistance"],"flyToDistance",void 0,!0),new L([this,"flyToHeading"],"flyToHeading",void 0,!0),new L([this,"flyToPitch"],"flyToPitch",void 0,!0),new L([this,"flyToFlyDuration"],"flyToFlyDuration",void 0,!0),new L([this,"flyToHDelta"],"flyToHDelta",void 0,!0),new L([this,"flyToPDelta"],"flyToPDelta",void 0,!0),new it([],"飞入参数"),new st(["number"],r=>this.flyIn(r),[1],"飞入"),new Q([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(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,distance:e}:void 0}set flyToHeading(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,heading:e}:void 0}set flyToPitch(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,pitch:e}:void 0}set flyToFlyDuration(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,flyDuration:e}:void 0}set flyToHDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,hDelta:e}:void 0}set flyToPDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,pDelta:e}:void 0}};f(se,"createDefaultProps",()=>({...tt.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:p.reactJsonWithUndefined(void 0),flyInParam:p.reactJsonWithUndefined(void 0)})),f(se,"type",se.register("ESVisualObject",se,{chsName:"可视化对象",tags:["ESObjects"],description:"可视化对象"})),f(se,"supportEditingModes",[]),f(se,"defaultFlyToParam",{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0}),f(se,"defaultFlyInParam",{position:[0,0,0],rotation:[0,0,0],flyDuration:1}),f(se,"_lastFlyInId",0),f(se,"_lastFlyToId",0);let Ft=se;class Tf extends H{constructor(){super();f(this,"_data",this.dv(p.react(void 0)))}set data(e){this._data.value=e}get data(){return this._data.value}get dataChanged(){return this._data.changed}}class Of extends H{constructor(){super(...arguments);f(this,"_dragStartEvent",this.dv(new V));f(this,"_dragOverEvent",this.dv(new V));f(this,"_dragLeaveEvent",this.dv(new V));f(this,"_dropEvent",this.dv(new V))}dragStart(e){this._dragStartEvent.emit(e)}dragOver(e){this._dragOverEvent.emit(e)}dragLeave(e){this._dragLeaveEvent.emit(e)}drop(e){this._dropEvent.emit(e)}}function Am(n,t){t&&(Reflect.has(t,"editing")?t.editing=!0:Reflect.has(t,"positionEditing")&&(t.positionEditing=!0))}function Rm(n){["Czm3DTiles","View","ESCameraView","OlView","GeoCameraController"].includes(n.typeName)||(Reflect.has(n,"editing")?n.editing=!0:Reflect.has(n,"positionEditing")&&(n.positionEditing=!0)),typeof n.execOnCreating=="function"&&n.execOnCreating()}function Eu(n,t){p.getExtProp(n,"__treeItem")&&console.error("setSceneObjectTreeItem error!"),p.setExtProp(n,"__treeItem",t)}function Fm(n){return p.getExtProp(n,"__treeItem")}function km(n){if(!(n.startsWith("./")||n.startsWith("../")||n.startsWith("/")))return n;const t=document.createElement("a");t.href=n;const e=t.href;return t.remove(),e}function Vl(n){if(typeof n!="string")return!1;try{const t=JSON.parse(n);return typeof t=="object"&&t!==null}catch{return!1}}function Vm(n){try{return new DOMParser().parseFromString(n,"application/xml").getElementsByTagName("parsererror").length===0}catch{return!1}}function zm(n){return n instanceof Function?n():n}function xf(n,t){for(let e of n)if(t.includes(e))return!0;return!1}function gi(n,t){const e=n,r=t;return e===void 0||e.length===0||r===void 0||r.length===0?!0:xf(e,r)}function Um(n){const t=setTimeout(()=>{n(),clearTimeout(t)})}function lo(n){let t=n%360;return t=t<0?360+t:t,t}function Df(n){return lo(n+180)-180}function Su(n,t,e){let r=lo(n),i=lo(t);Math.abs(r-i)>180&&(r<i?r+=360:i+=360);const s=r*(1-e)+i*e;return Df(s)}function zl(n,t,e,r){return r=r||[0,0,0],r[0]=Su(n[0],t[0],e),r[1]=Su(n[1],t[1],e),r[2]=Su(n[2],t[2],e),r}function Mf(n,t,e="editing"){const r=new H;n.ad(r);const i=t.bind(n);return r.ad(new p.ObjResettingWithEvent(n.activeViewerChanged,()=>{const s=new H;let o=n.activeViewer;return o?(s.ad(n[`${e}Changed`].don(()=>{var a;n[`${e}`]?i():(a=(n.components.main??n).editingID)!=null&&a.includes("inner")&&n.activeViewer&&n.activeViewer.stopEditing()})),s.ad(o.editingEvent.don(a=>{if(a.objectIDs.includes(n.id)&&a.type==="end"){const u=n.components.main??n;u.editingID&&a.editingID.includes(u.editingID)?n[`${e}`]=!1:n[`${e}`]=!u.editingID.includes("outer")}}))):s.ad(n[`${e}Changed`].don(()=>{n[`${e}`]=!1})),s})),n[`${e}`]&&i(),r}class Gm extends H{constructor(e,r,i,s){super();f(this,"_sceneObjectId",this.dv(new p.SceneObjectWithId));this._id=e,this._startTimeStamp=r,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=p.clamp(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 gn?this._sceneObjectId.sceneObject:void 0}get playerChanged(){return this._sceneObjectId.sceneObjectChanged}}const Wm=`
|
|
23
|
+
`).join(" ")}`)):this._sceneObjRefs.set(s,[i]);const l=this.getLastSceneObject(s);this._refs[s]=l,this._refsChanged.emit(l,a)}};this.d(e.sceneObjCreatedEvent.don(i=>{const s=(o,a)=>r(i,o,a);i.ref&&s(i.ref,void 0),i.refChanged.don(s)})),this.d(e.sceneObjToDestroyEvent.don(i=>{i.ref&&r(i,void 0,i.ref)}))}get sceneObjRefs(){return this._sceneObjRefs}get refs(){return this._refs}get refsChanged(){return this._refsChanged}getLastSceneObject(e){const r=this.getSceneObjects(e);if(r)return r[r.length-1]}getSceneObjects(e){const r=this._sceneObjRefs.get(e);if(!(!r||r.length===0))return r}}function bf(n,t){const[e,r,i]=p.getReactFuncs(n),s=p.react(void 0),o=()=>{const a=e()??t;s.value=a&&tt.context.getStrFromEnv(a)};return o(),i&&s.d(i.don(o)),s.d(tt.context.environmentVariablesChanged.don(o)),s}function Nf(n){const t=/\${(.*?)\}/g;if(!t.test(n))return n;const e=n.replace(t,(r,i)=>{const s=tt.context.getEnv(i);return s===void 0?(console.warn(`环境变量(${i})不存在,无法进行转换`),"{env-error}"):s});return Nf(e)}class Mm extends H{constructor(){super();f(this,"_esObjConstructors",new Map);f(this,"_sceneObjs",new Map);f(this,"_sceneObjCreatedEvent",new V);f(this,"_sceneObjToDestroyEvent",new V);f(this,"_refsManager",this.dv(new Dm(this)));f(this,"_environmentVariables",window.ESSDK_ENV||{});f(this,"_environmentVariablesChanged",this.dv(new V))}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(e,r,i){return this._esObjConstructors.has(e)&&console.warn(`register warn: ${e} has registered ! will be override!`),this._esObjConstructors.set(e,r),i&&p.setExtProp(r,"__sceneObjExtraInfo",i),e}_addSceneObject(e){this._sceneObjs.set(e.id,e),this._sceneObjCreatedEvent.emit(e),e.d(()=>this._deleteSceneObject(e))}addSceneObject(e){this._addSceneObject(e)}_deleteSceneObject(e){this._sceneObjToDestroyEvent.emit(e),this._sceneObjs.delete(e.id)}deleteSceneObject(e){this._deleteSceneObject(e)}createSceneObjectFromClass(e,r){if(!r||this._sceneObjs.has(r)){const s=p.createGuid();r&&console.warn(`已存在相同id的对象!id自动变更!${r} -> ${s} 请注意:id变更可能导致引用失效!`),r=s}if(!r)throw new Error("id不能为空!");const i=new e(r);return i.id!==r&&(console.warn(`sceneObj.id(${i.id}) !== id(${r}) sceneObjectType: ${i.typeName}`),console.warn("出现这种问题有可能是自定义的场景对象,没有在构造函数中传递id参数!示例如下:"),console.warn("class XXX extends XXX { constructor(id) { super(id); } }")),this._addSceneObject(i),i}createSceneObject(e,r){if(typeof e=="string"){const i=this._getSceneObjConstructor(e);if(!i){console.warn(`Cannot find SceneObjectType: ${e}`);return}return this.createSceneObjectFromClass(i,r)}else return this.createSceneObjectFromClass(e,r)}createSceneObjectFromUrl(e,r){let i;const s=e.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:r,url:e})}createSceneObjectFromJson(e){const r=this.createSceneObject(e.type,e.id);return r&&(r.json=e),r}destroySceneObject(e){return this._deleteSceneObject(e),e.destroy(),e.isDestroyed()}getSceneObjectById(e){return this._sceneObjs.get(e)}getSceneObject(e){if(!e&&e!="")return Array.from(this._sceneObjs.values());if(e.startsWith("ES")){const r=[];for(const i of this._sceneObjs.values())i.typeName===e&&r.push(i);return r}else return this._sceneObjs.get(e)}_getSceneObjConstructor(e){const r=this._esObjConstructors.get(e);if(r)return r}getProps(e){const r=this._getSceneObjConstructor(e);if(!r){console.warn(`cannot get constructor from type: ${e}`);return}return p.getExtProp(r,"__sceneObjExtraInfo")}setProps(e,r){const i=this._getSceneObjConstructor(e);if(!i){console.warn(`cannot get constructor from type: ${e}`);return}let s=p.getExtProp(i,"__sceneObjExtraInfo");s||(s={},p.setExtProp(i,"__sceneObjExtraInfo",s)),Object.assign(s,r)}getProp(e,r){const i=this.getProps(e);return i&&i[r]}setProp(e,r,i){this.setProps(e,{[r]:i})}get environmentVariables(){return this._environmentVariables}set environmentVariables(e){for(let[r,i]of Object.entries(e))this.setEnv(r,i)}get environmentVariablesChanged(){return this._environmentVariablesChanged}setEnv(e,r){if(this._environmentVariables[e]!==r){const i=this._environmentVariables[e];this._environmentVariables[e]=r,this._environmentVariablesChanged.emit(e,r,i)}window.ESSDK_ENV={...this._environmentVariables}}getEnv(e){return this._environmentVariables[e]}getStrFromEnv(e){return Nf(e)}createEnvStrReact(e,r){return bf(e,r)}createEvnStrReact(e,r){return bf(e,r)}}const ht=class ht extends H{constructor(e){super();f(this,"_components",this.dv(new _u));f(this,"_viewerAttached",this.dv(new V));f(this,"_viewerDetached",this.dv(new V));f(this,"_attachedViewers",(()=>{const e=new Set;return this.d(this._viewerAttached.don(r=>{r.actived&&(this.activeViewer=r),r.ad(r.activedChanged.don(i=>{i&&e.has(r)&&(this.activeViewer=r)})),e.add(r)})),this.d(this._viewerDetached.don(r=>{e.delete(r),this.activeViewer==r&&(this.activeViewer=void 0)})),e})());f(this,"_activeViewer",this.disposeVar(p.react(void 0)));f(this,"_createdEvent",this.dv(new V));f(this,"_flushEvent",this.dv(new V));f(this,"_id");f(this,"_updateFuncReact",this.dv(p.react(void 0)));f(this,"_toDestroyFuncReact",this.dv(p.react(void 0)));f(this,"_parentID");e!==void 0&&(typeof e!="string"?console.warn(`对象id必须是字符串类型,当前id的类型是${typeof e},值为${e}`):e.trim()===""?console.warn("场景对象创建时的id不能是空字符串!"):e.trim()!==e&&console.warn(`id前后有空字符串!id: ${e}`)),this._id=e??p.createGuid(),this._initName();{const r=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(i){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`)}};r(),this.d(this.execOnceFuncStrChanged.don(r))}{const r=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};r(),this.d(this.updateFuncStrChanged.don(r));let i;this.d(()=>i&&i.destroy()),this.d(this.updateFuncChanged.don(()=>{i&&i.cancel(),this.updateFunc&&(i=i||p.createAnimateFrame(),i.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const r=()=>{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}};r(),this.d(this.toDestroyFuncStrChanged.don(r)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}static getParentClass(){return Object.getPrototypeOf(this)}static register(e,r,i){p.extendClassProps(r.prototype,r.createDefaultProps);const s=r.createDefaultProps();r.defaults&&(r.defaults={});for(const o of Object.keys(s))r.defaults[o]=s[o]instanceof p.ReactiveVariable?s[o].value:s[o];return this.innerRegister(e,r,i),e}static get envs(){return ht.context.environmentVariables}static get $refs(){return ht.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(e){this._activeViewer.value=e}get activeViewerChanged(){return this._activeViewer.changed}removefromViewer(e){this.attachedViewers.has(e)&&e.delete(this)}addToViewer(e){this.attachedViewers.has(e)||e.add(this)}registerAttachedObject(e){const r=new Map;this.d(()=>{r.size>0&&console.warn("viewerPropSceneObjects.size > 0")}),this.d(this._viewerAttached.don(i=>{const s=e(i);s&&r.set(i,s)})),this.d(this._viewerDetached.don(i=>{if(!r.has(i))return;const s=r.get(i);s&&(s.destroy(),r.delete(i))}))}createAttachedObject(e){const r=new Map,i=()=>{for(let[u,l]of r.entries())l.destroy();r.clear()},s=u=>{const l=e(u);l&&r.set(u,l)};for(let u of this.attachedViewers)s(u);const o=this._viewerAttached.don(s),a=this._viewerDetached.don(u=>{if(!r.has(u))return;const l=r.get(u);l&&(l.destroy(),r.delete(u))});return()=>{a(),o(),i()}}registerAttachedObjectForContainer(e){this.registerAttachedObject(r=>new Lm(r,e))}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(e=!0){const r={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(e){let s,o=this.defaultProps[i];o instanceof p.ReactiveVariable?s=o.equals(this[i]):s=o===this[i],s||(r[i]=this[i])}else r[i]=this[i];return r}_innerSetJson(e,r,i){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=r||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in e)this[a]=e[a]===null?void 0:e[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof p.ReactiveVariable&&(u=u.value),this[a]=u}}get json(){return this._innerGetJson()}set json(e){this._innerSetJson(e)}get _jsonStr(){return JSON.stringify(this.json,null,4)}set _jsonStr(e){this._innerSetJson(JSON.parse(e))}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get parentID(){return this._parentID??this.id}set parentID(e){this._parentID=e}getProperties(e){const r={...this.getESProperties()},i=[];return r.general.length>0&&i.push(new it(r.general,"general")),Object.keys(r).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&r[s].length>0&&i.push(new it(r[s],s))}),i}getESProperties(){return{defaultMenu:"general",basic:[],general:[new ut([this,"typeName"],"类型",void 0,!1,!0),new ut([this,"id"],"唯一标识",void 0,!1,!0),new ut([this,"name"],"名称")],dataSource:[],location:[],coordinate:[],style:[],more:[new ut([this,"ref"],"ref",void 0,!0),new Q([this,"extras"],"extras",void 0,void 0,!0),new Ef(()=>this._jsonStr,e=>e&&(this._jsonStr=e),"JSON")]}}};f(ht,"context",new Mm),f(ht,"innerRegister",ht.context.register.bind(ht.context)),f(ht,"defaults",{}),f(ht,"createDefaultProps",()=>({name:"未命名场景对象",ref:void 0,extras:p.reactJson(void 0),devTags:p.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})),f(ht,"type",ht.register("ESSceneObject",ht,{chsName:"场景类",tags:["ESObjects"],description:""})),f(ht,"create",ht.context.createSceneObject.bind(ht.context)),f(ht,"createFromUrl",ht.context.createSceneObjectFromUrl.bind(ht.context)),f(ht,"createFromClass",ht.context.createSceneObjectFromClass.bind(ht.context)),f(ht,"createFromJson",ht.context.createSceneObjectFromJson.bind(ht.context)),f(ht,"destroySceneObject",ht.context.destroySceneObject.bind(ht.context)),f(ht,"getSceneObjById",ht.context.getSceneObjectById.bind(ht.context)),f(ht,"getSceneObj",ht.context.getSceneObject.bind(ht.context)),f(ht,"getEnv",ht.context.getEnv.bind(ht.context)),f(ht,"setEnv",ht.context.setEnv.bind(ht.context)),f(ht,"getStrFromEnv",ht.context.getStrFromEnv.bind(ht.context)),f(ht,"getSceneObjectById",ht.context.getSceneObjectById.bind(ht.context)),f(ht,"getSceneObject",ht.context.getSceneObject.bind(ht.context));let tt=ht;class Lm extends H{constructor(t,e){super(),this.dv(new p.ObjResettingWithEvent(t.subContainerChanged,()=>{if(t.subContainer)return e(t,t.subContainer)}))}}const se=class se extends tt{constructor(e){super(e);f(this,"_editing",this.dv(p.react(!1)));f(this,"editingID");f(this,"editingBindMode","singlePoint");f(this,"_deprecated",[]);f(this,"_flyInEvent",this.dv(new V));f(this,"_flyToEvent",this.dv(new V));f(this,"_flyOverEvent",this.disposeVar(new V));f(this,"_pickedEvent",this.dv(new V));f(this,"_calcFlyToParamEvent",this.dv(new V));f(this,"_calcFlyInParamEvent",this.dv(new V));f(this,"useCalcFlyToParamInESObjectWithLocation",!1);Mf(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(e){this._editing.value=e}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const e=this._deprecated;for(let r=0;r<e.length;r++){const i=e[r];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(e=1){this._flyInEvent.emit(e,se._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(e=1){this._flyToEvent.emit(e,se._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(e){return await e.getBoundSphere(this.id)}getESProperties(){const e={...super.getESProperties()};return{...e,general:[...e.general,new q([this,"show"],"是否显示",se.defaults.show),new q([this,"collision"],"开启碰撞",se.defaults.collision),new q([this,"allowPicking"],"允许拾取",se.defaults.allowPicking),new st([],()=>this.calcFlyToParam(),[],"保存观察视角","保存当前flyToParam"),new st([],()=>this.emptyFlyToParam(),[],"清空飞向参数","清空飞向参数"),new st([],()=>this.emptyFlyInParam(),[],"清空飞入参数","清空飞入参数"),new st([],()=>this.calcFlyInParam(),[],"保存飞入参数","保存飞入参数flyInParam")],more:[...e.more,new it([],"飞行定位","飞向参数"),new st(["number"],r=>this.flyTo(r),[1],"飞向"),new Q([this,"flyToParam"],"flyToParam",void 0,void 0,!0),new L([this,"flyToDistance"],"flyToDistance",void 0,!0),new L([this,"flyToHeading"],"flyToHeading",void 0,!0),new L([this,"flyToPitch"],"flyToPitch",void 0,!0),new L([this,"flyToFlyDuration"],"flyToFlyDuration",void 0,!0),new L([this,"flyToHDelta"],"flyToHDelta",void 0,!0),new L([this,"flyToPDelta"],"flyToPDelta",void 0,!0),new it([],"飞入参数"),new st(["number"],r=>this.flyIn(r),[1],"飞入"),new Q([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(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,distance:e}:void 0}set flyToHeading(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,heading:e}:void 0}set flyToPitch(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,pitch:e}:void 0}set flyToFlyDuration(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,flyDuration:e}:void 0}set flyToHDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,hDelta:e}:void 0}set flyToPDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??se.defaultFlyToParam,pDelta:e}:void 0}};f(se,"createDefaultProps",()=>({...tt.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:p.reactJsonWithUndefined(void 0),flyInParam:p.reactJsonWithUndefined(void 0)})),f(se,"type",se.register("ESVisualObject",se,{chsName:"可视化对象",tags:["ESObjects"],description:"可视化对象"})),f(se,"supportEditingModes",[]),f(se,"defaultFlyToParam",{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0}),f(se,"defaultFlyInParam",{position:[0,0,0],rotation:[0,0,0],flyDuration:1}),f(se,"_lastFlyInId",0),f(se,"_lastFlyToId",0);let Ft=se;class Tf extends H{constructor(){super();f(this,"_data",this.dv(p.react(void 0)))}set data(e){this._data.value=e}get data(){return this._data.value}get dataChanged(){return this._data.changed}}class Of extends H{constructor(){super(...arguments);f(this,"_dragStartEvent",this.dv(new V));f(this,"_dragOverEvent",this.dv(new V));f(this,"_dragLeaveEvent",this.dv(new V));f(this,"_dropEvent",this.dv(new V))}dragStart(e){this._dragStartEvent.emit(e)}dragOver(e){this._dragOverEvent.emit(e)}dragLeave(e){this._dragLeaveEvent.emit(e)}drop(e){this._dropEvent.emit(e)}}function Am(n,t){t&&(Reflect.has(t,"editing")?t.editing=!0:Reflect.has(t,"positionEditing")&&(t.positionEditing=!0))}function Rm(n){["Czm3DTiles","View","ESCameraView","OlView","GeoCameraController"].includes(n.typeName)||(Reflect.has(n,"editing")?n.editing=!0:Reflect.has(n,"positionEditing")&&(n.positionEditing=!0)),typeof n.execOnCreating=="function"&&n.execOnCreating()}function Eu(n,t){p.getExtProp(n,"__treeItem")&&console.error("setSceneObjectTreeItem error!"),p.setExtProp(n,"__treeItem",t)}function Fm(n){return p.getExtProp(n,"__treeItem")}function km(n){if(!(n.startsWith("./")||n.startsWith("../")||n.startsWith("/")))return n;const t=document.createElement("a");t.href=n;const e=t.href;return t.remove(),e}function Vl(n){if(typeof n!="string")return!1;try{const t=JSON.parse(n);return typeof t=="object"&&t!==null}catch{return!1}}function Vm(n){try{return new DOMParser().parseFromString(n,"application/xml").getElementsByTagName("parsererror").length===0}catch{return!1}}function zm(n){return n instanceof Function?n():n}function xf(n,t){for(let e of n)if(t.includes(e))return!0;return!1}function gi(n,t){const e=n,r=t;return e===void 0||e.length===0||r===void 0||r.length===0?!0:xf(e,r)}function Um(n){const t=setTimeout(()=>{n(),clearTimeout(t)})}function lo(n){let t=n%360;return t=t<0?360+t:t,t}function Df(n){return lo(n+180)-180}function Su(n,t,e){let r=lo(n),i=lo(t);Math.abs(r-i)>180&&(r<i?r+=360:i+=360);const s=r*(1-e)+i*e;return Df(s)}function zl(n,t,e,r){return r=r||[0,0,0],r[0]=Su(n[0],t[0],e),r[1]=Su(n[1],t[1],e),r[2]=Su(n[2],t[2],e),r}function Mf(n,t,e="editing"){const r=new H;n.ad(r);const i=t.bind(n);return r.ad(new p.ObjResettingWithEvent(n.activeViewerChanged,()=>{const s=new H;let o=n.activeViewer;return o?(s.ad(n[`${e}Changed`].don(()=>{var a;n[`${e}`]?i():(a=(n.components.main??n).editingID)!=null&&a.includes("inner")&&n.activeViewer&&n.activeViewer.stopEditing()})),s.ad(o.editingEvent.don(a=>{if(a.objectIDs.includes(n.id)&&a.type==="end"){const u=n.components.main??n;u.editingID&&a.editingID.includes(u.editingID)?n[`${e}`]=!1:n[`${e}`]=!u.editingID.includes("outer")}}))):s.ad(n[`${e}Changed`].don(()=>{n[`${e}`]=!1})),s})),n[`${e}`]&&i(),r}class Gm extends H{constructor(e,r,i,s){super();f(this,"_sceneObjectId",this.dv(new p.SceneObjectWithId));this._id=e,this._startTimeStamp=r,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=p.clamp(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 gn?this._sceneObjectId.sceneObject:void 0}get playerChanged(){return this._sceneObjectId.sceneObjectChanged}}const Wm=`
|
|
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
|
-
`,Ue=class Ue extends H{constructor(){super();f(this,"_ratio",this.dv(p.react(0)));f(this,"_subPlayers",this.dv(new p.ObservableArray));const e=this.dv(new p.Player);{const o=()=>{e.loop=this.loop??Ue.defaults.loop};o(),this.d(this.loopChanged.don(o))}{const o=()=>{(this.loop??Ue.defaults.loop)!==e.loop&&(this.loop=e.loop)};o(),this.d(e.loopChangedEvent.don(o))}{const o=()=>{e.currentTime=this.currentTime??Ue.defaults.currentTime};o(),this.d(this.currentTimeChanged.don(o))}{const o=()=>{(this.currentTime??Ue.defaults.currentTime)!==e.currentTime&&(this.currentTime=e.currentTime)};o(),this.d(e.currentTimeChangedEvent.don(o))}{const o=()=>{e.duration=this.duration??Ue.defaults.duration};o(),this.d(this.durationChanged.don(o))}{const o=()=>{(this.duration??Ue.defaults.duration)!==e.duration&&(this.duration=e.duration)};o(),this.d(e.durationChangedEvent.don(o))}{const o=()=>{e.speed=this.speed??Ue.defaults.speed};o(),this.d(this.speedChanged.don(o))}{const o=()=>{(this.speed??Ue.defaults.speed)!==e.speed&&(this.speed=e.speed)};o(),this.d(e.speedChangedEvent.don(o))}{const o=()=>{e.playing=this.playing??Ue.defaults.playing};o(),this.d(this.playingChanged.don(o))}{const o=()=>{(this.playing??Ue.defaults.playing)!==e.playing&&(this.playing=e.playing)};o(),this.d(e.playingChangedEvent.don(o))}const r=()=>{const o=this.duration??Ue.defaults.duration;o>0&&(this._ratio.value=(this.currentTime??Ue.defaults.currentTime)/o)};r();const i=this.dv(p.createNextAnimateFrameEvent(this.currentTimeChanged,this.durationChanged));this.d(i.don(r)),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 Gm(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(e){Math.abs(this._ratio.value-e)<.001||(this.currentTime=(this.duration??Ue.defaults.duration)*e)}get ratioChanged(){return this._ratio.changed}};f(Ue,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),f(Ue,"channelsReadMe",Wm);let gn=Ue;(n=>{n.createDefaultProps=()=>({loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:p.reactDeepArrayWithUndefined(void 0,(t,e)=>t==null?void 0:t.every((r,i)=>r===e[i]),t=>[...t])})})(gn||(gn={})),p.extendClassProps(gn.prototype,gn.createDefaultProps);class Ul extends H{constructor(e){super();f(this,"_sceneObject",this.dv(p.react(void 0)));this._id=e,this.d(()=>{this._sceneObject.value=void 0});const r=tt.getSceneObjById(this._id);r&&(this._sceneObject.value=r),this.d(tt.context.sceneObjCreatedEvent.don(i=>{i.id===this._id&&(this._sceneObject.value=i)})),this.d(tt.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 qm extends H{constructor(e,r){super();f(this,"_sofi");this._id=e,this._sofi=this.dv(new Ul(this._id));{const i=()=>{r.sceneObject=this._sofi.sceneObject};i(),this.d(this._sofi.sceneObjectChanged.don(i))}}}class Xm extends H{constructor(){super();f(this,"_id",this.dv(p.react(void 0)));f(this,"_sceneObject",this.dv(p.react(void 0)));f(this,"_resetting",this.dv(new p.ObjResettingWithEvent(this.idChanged,()=>{const{id:e}=this;if(e===void 0||e===""){this.sceneObject=void 0;return}return new qm(e,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(e){this._id.value=e}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(e){this._sceneObject.value=e}get resetting(){return this._resetting}}class Hm extends H{constructor(t,e,r,i){super(),this.disposeVar(new p.ObjResettingWithEvent(t.sceneObjectChanged,()=>{let s;i.debug&&console.log("正在获取Event事件...");const o=t.sceneObject;if(o&&e){const a=e.split(".");if(a.length===0)i.debug&&console.warn("propNames.length === 0");else{let u=p.pluckProperty(o,!1,...a);(!u||!(u instanceof V))&&(a[a.length-1]=a[a.length-1]+"Changed",i.debug&&console.warn(`event未能获取,那么将属性名的最后一项加上Changed(${a[a.length-1]})再试试!`),u=p.pluckProperty(o,!1,...a),i.debug&&u&&console.warn("event仍然获取不到!")),u?u instanceof V?(s=u,i.debug&&console.log(`Event获取成功 propChangedName: ${e}`,s)):i.debug&&console.warn(`the prop is not event from ${o.id}-${o.name}-${o.ref}-${e}`):i.debug&&console.warn(`cannot get changed from ${o.id}-${o.name}-${o.ref}-${e}`)}}if(s){const a=new H;return a.d(s.dwon(()=>r.emit())),a}else{i.debug&&console.log(`未获取到Event!propChangedName: ${e}`);return}}))}}const Lf=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:class extends H{constructor(e,r,i){super();f(this,"_doEvalEvent",this.dv(new V));const s=this._doEvalEvent,o=this.disposeVar(p.createNextAnimateFrameEvent(s)),a=e.map(([u,l])=>{const c=new Ul(u),h=l&&new Hm(c,l,s,r)||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}=r;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}=r;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:Ym}=Lf;class Ta extends H{constructor(){super();f(this,"_evalFunc");f(this,"_forceExecute",new V);const e=this.dv(p.react(void 0)),r=()=>{try{e.value=this.evalFuncStr&&Function('"use strict";return ('+this.evalFuncStr+")")(),this.debug&&console.log("evalFunc成功构建",e.value)}catch(o){console.error(`evalFunc get error! ${o}`),e.value=void 0}};r(),this.dispose(this.evalFuncStrChanged.disposableOn(r));const i=o=>{this.enabled&&(this.debug&&console.log("执行evalFunc..."),this._evalFunc&&this._evalFunc(o),e.value&&e.value(o))},s=this.disposeVar(new p.ObjResettingWithEvent(this.objIdAndPropChangedNamesChanged,()=>{if(this.objIdAndPropChangedNames.length>0)return this.debug&&console.log("监视对象发生变化,重新创建WatcherObjects"),new Ym(this.objIdAndPropChangedNames,this,i)}));this.dispose(this._forceExecute.disposableOn(()=>{var o;(o=s.obj)==null||o.forceExecute()}))}get evalFunc(){return this._evalFunc}set evalFunc(e){this._evalFunc=e}forceExecute(){this._forceExecute.emit()}}(n=>{n.createDefaultProps=()=>({enabled:!1,objIdAndPropChangedNames:p.reactDeepArray([],(t,e)=>t[0]===e[0]&&t[1]===e[1],t=>[t[0],t[1]]),evalFuncStr:"",evalMode:"NextAnimateFrame",evalOnlyWhenObjsAllExist:!0,debug:!1,name:"未命名场景对象",ref:void 0,extras:p.reactJson(void 0),devTags:p.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(Ta||(Ta={})),p.extendClassProps(Ta.prototype,Ta.createDefaultProps);const Af=vs("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=geocent +datum=WGS84");function Xn(n){return Af.forward(n)}function Rf(n){return Af.inverse(n)}const Ff=vs("+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 Jm(n){const t=Ff.forward([n[0],n[1]]);return[t[0],t[1],n[2]]}function Bm(n){const t=Ff.inverse([n[0],n[1]]);return[t[0],t[1],n[2]]}function jm(n,t){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1])&&n.push(n[0]);const e=Le.point(t),r=Le.polygon([n]);return Le.booleanPointInPolygon(e,r)}var Ae=63710088e-1,kf={centimeters:Ae*100,centimetres:Ae*100,degrees:Ae/111325,feet:Ae*3.28084,inches:Ae*39.37,kilometers:Ae/1e3,kilometres:Ae/1e3,meters:Ae,metres:Ae,miles:Ae/1609.344,millimeters:Ae*1e3,millimetres:Ae*1e3,nauticalmiles:Ae/1852,radians:1,yards:Ae*1.0936};function mn(n,t,e){e===void 0&&(e={});var r={type:"Feature"};return(e.id===0||e.id)&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.properties=t||{},r.geometry=n,r}function Ut(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("coordinates is required");if(!Array.isArray(n))throw new Error("coordinates must be an Array");if(n.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Vf(n[0])||!Vf(n[1]))throw new Error("coordinates must contain numbers");var r={type:"Point",coordinates:n};return mn(r,t,e)}function er(n,t,e){e===void 0&&(e={});for(var r=0,i=n;r<i.length;r++){var s=i[r];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:n};return mn(a,t,e)}function vn(n,t,e){if(e===void 0&&(e={}),n.length<2)throw new Error("coordinates must be an array of two or more positions");var r={type:"LineString",coordinates:n};return mn(r,t,e)}function co(n,t){t===void 0&&(t={});var e={type:"FeatureCollection"};return t.id&&(e.id=t.id),t.bbox&&(e.bbox=t.bbox),e.features=n,e}function Gl(n,t,e){e===void 0&&(e={});var r={type:"MultiPolygon",coordinates:n};return mn(r,t,e)}function Wl(n,t){t===void 0&&(t="kilometers");var e=kf[t];if(!e)throw new Error(t+" units is invalid");return n*e}function ql(n,t){t===void 0&&(t="kilometers");var e=kf[t];if(!e)throw new Error(t+" units is invalid");return n/e}function Cu(n){var t=n%(2*Math.PI);return t*180/Math.PI}function qe(n){var t=n%360;return t*Math.PI/180}function Xl(n,t,e){if(t===void 0&&(t="kilometers"),e===void 0&&(e="kilometers"),!(n>=0))throw new Error("length must be a positive number");return Wl(ql(n,t),e)}function Vf(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}function rr(n){if(!n)throw new Error("coord is required");if(!Array.isArray(n)){if(n.type==="Feature"&&n.geometry!==null&&n.geometry.type==="Point")return n.geometry.coordinates;if(n.type==="Point")return n.coordinates}if(Array.isArray(n)&&n.length>=2&&!Array.isArray(n[0])&&!Array.isArray(n[1]))return n;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function Es(n){if(Array.isArray(n))return n;if(n.type==="Feature"){if(n.geometry!==null)return n.geometry.coordinates}else if(n.coordinates)return n.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function zf(n,t,e){if(!n)throw new Error("No feature passed");if(!e)throw new Error(".featureOf() requires a name");if(!n||n.type!=="Feature"||!n.geometry)throw new Error("Invalid input to "+e+", Feature with geometry required");if(!n.geometry||n.geometry.type!==t)throw new Error("Invalid input to "+e+": must be a "+t+", given "+n.geometry.type)}function br(n){return n.type==="Feature"?n.geometry:n}function Zm(n,t){return n.type==="FeatureCollection"?"FeatureCollection":n.type==="GeometryCollection"?"GeometryCollection":n.type==="Feature"&&n.geometry!==null?n.geometry.type:n.type}function Oa(n,t,e){if(e===void 0&&(e={}),e.final===!0)return Km(n,t);var r=rr(n),i=rr(t),s=qe(r[0]),o=qe(i[0]),a=qe(r[1]),u=qe(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 Cu(Math.atan2(l,c))}function Km(n,t){var e=Oa(t,n);return e=(e+180)%360,e}function ho(n,t,e,r){r===void 0&&(r={});var i=rr(n),s=qe(i[0]),o=qe(i[1]),a=qe(e),u=ql(t,r.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=Cu(c),d=Cu(l);return Ut([h,d],r.properties)}function mi(n,t,e){e===void 0&&(e={});var r=rr(n),i=rr(t),s=qe(i[1]-r[1]),o=qe(i[0]-r[0]),a=qe(r[1]),u=qe(i[1]),l=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(o/2),2)*Math.cos(a)*Math.cos(u);return Wl(2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)),e.units)}function Qm(n,t,e){e===void 0&&(e={});for(var r=br(n),i=r.coordinates,s=0,o=0;o<i.length&&!(t>=s&&o===i.length-1);o++)if(s>=t){var a=t-s;if(a){var u=Oa(i[o],i[o-1])-180,l=ho(i[o],a,u,e);return l}else return Ut(i[o])}else s+=mi(i[o],i[o+1],e);return Ut(i[i.length-1])}function $m(n,t){const e=vn(n);return Qm(e,t,{units:"meters"}).geometry.coordinates}function fo(n,t,e){if(n!==null)for(var r,i,s,o,a,u,l,c=0,h=0,d,g=n.type,y=g==="FeatureCollection",C=g==="Feature",P=y?n.features.length:1,T=0;T<P;T++){l=y?n.features[T].geometry:C?n.geometry:n,d=l?l.type==="GeometryCollection":!1,a=d?l.geometries.length:1;for(var v=0;v<a;v++){var w=0,m=0;if(o=d?l.geometries[v]:l,o!==null){u=o.coordinates;var _=o.type;switch(c=e&&(_==="Polygon"||_==="MultiPolygon")?1:0,_){case null:break;case"Point":if(t(u,h,T,w,m)===!1)return!1;h++,w++;break;case"LineString":case"MultiPoint":for(r=0;r<u.length;r++){if(t(u[r],h,T,w,m)===!1)return!1;h++,_==="MultiPoint"&&w++}_==="LineString"&&w++;break;case"Polygon":case"MultiLineString":for(r=0;r<u.length;r++){for(i=0;i<u[r].length-c;i++){if(t(u[r][i],h,T,w,m)===!1)return!1;h++}_==="MultiLineString"&&w++,_==="Polygon"&&m++}_==="Polygon"&&w++;break;case"MultiPolygon":for(r=0;r<u.length;r++){for(m=0,i=0;i<u[r].length;i++){for(s=0;s<u[r][i].length-c;s++){if(t(u[r][i][s],h,T,w,m)===!1)return!1;h++}m++}w++}break;case"GeometryCollection":for(r=0;r<o.geometries.length;r++)if(fo(o.geometries[r],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function Iu(n,t){if(n.type==="Feature")t(n,0);else if(n.type==="FeatureCollection")for(var e=0;e<n.features.length&&t(n.features[e],e)!==!1;e++);}function Pu(n,t){var e,r,i,s,o,a,u,l,c,h,d=0,g=n.type==="FeatureCollection",y=n.type==="Feature",C=g?n.features.length:1;for(e=0;e<C;e++){for(a=g?n.features[e].geometry:y?n.geometry:n,l=g?n.features[e].properties:y?n.properties:{},c=g?n.features[e].bbox:y?n.bbox:void 0,h=g?n.features[e].id:y?n.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(t(null,d,l,c,h)===!1)return!1;continue}switch(s.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(t(s,d,l,c,h)===!1)return!1;break}case"GeometryCollection":{for(r=0;r<s.geometries.length;r++)if(t(s.geometries[r],d,l,c,h)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}d++}}function tv(n,t,e){var r=e;return Pu(n,function(i,s,o,a,u){r=t(r,i,s,o,a,u)}),r}function Hl(n,t){Pu(n,function(e,r,i,s,o){var a=e===null?null:e.type;switch(a){case null:case"Point":case"LineString":case"Polygon":return t(mn(e,i,{bbox:s,id:o}),r,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<e.coordinates.length;l++){var c=e.coordinates[l],h={type:u,coordinates:c};if(t(mn(h,i),r,l)===!1)return!1}})}function ev(n,t){Hl(n,function(e,r,i){var s=0;if(e.geometry){var o=e.geometry.type;if(!(o==="Point"||o==="MultiPoint")){var a,u=0,l=0,c=0;if(fo(e,function(h,d,g,y,C){if(a===void 0||r>u||y>l||C>c){a=h,u=r,l=y,c=C,s=0;return}var P=vn([a,h],e.properties);if(t(P,r,i,C,s)===!1)return!1;s++,a=h})===!1)return!1}}})}var Uf=6378137;function rv(n){return tv(n,function(t,e){return t+nv(e)},0)}function nv(n){var t=0,e;switch(n.type){case"Polygon":return Gf(n.coordinates);case"MultiPolygon":for(e=0;e<n.coordinates.length;e++)t+=Gf(n.coordinates[e]);return t;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function Gf(n){var t=0;if(n&&n.length>0){t+=Math.abs(Wf(n[0]));for(var e=1;e<n.length;e++)t-=Math.abs(Wf(n[e]))}return t}function Wf(n){var t,e,r,i,s,o,a,u=0,l=n.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),t=n[i],e=n[s],r=n[o],u+=(Yl(r[0])-Yl(t[0]))*Math.sin(Yl(e[1]));u=u*Uf*Uf/2}return u}function Yl(n){return n*Math.PI/180}function Jl(n){if((n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),n.length<=3)return 0;const t=er([n]);return rv(t)}function qf(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function iv(n){if(Object.prototype.hasOwnProperty.call(n,"__esModule"))return n;var t=n.default;if(typeof t=="function"){var e=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(n).forEach(function(r){var i=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return n[r]}})}),e}var bu={exports:{}},Nu={exports:{}},sv=Nu.exports,Xf;function Hf(){return Xf||(Xf=1,function(n,t){(function(e,r){n.exports=r()})(sv,function(){function e(v,w,m,_,E){(function I(b,O,M,N,x){for(;N>M;){if(N-M>600){var A=N-M+1,F=O-M+1,Y=Math.log(A),G=.5*Math.exp(2*Y/3),K=.5*Math.sqrt(Y*G*(A-G)/A)*(F-A/2<0?-1:1),at=Math.max(M,Math.floor(O-F*G/A+K)),ht=Math.min(N,Math.floor(O+(A-F)*G/A+K));I(b,O,at,ht,x)}var X=b[O],J=M,B=N;for(r(b,M,O),x(b[N],X)>0&&r(b,M,N);J<B;){for(r(b,J,B),J++,B--;x(b[J],X)<0;)J++;for(;x(b[B],X)>0;)B--}x(b[M],X)===0?r(b,M,B):r(b,++B,N),B<=O&&(M=B+1),O<=B&&(N=B-1)}})(v,w,m||0,_||v.length-1,E||i)}function r(v,w,m){var _=v[w];v[w]=v[m],v[m]=_}function i(v,w){return v<w?-1:v>w?1:0}var s=function(v){v===void 0&&(v=9),this._maxEntries=Math.max(4,v),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(v,w,m){if(!m)return w.indexOf(v);for(var _=0;_<w.length;_++)if(m(v,w[_]))return _;return-1}function a(v,w){u(v,0,v.children.length,w,v)}function u(v,w,m,_,E){E||(E=P(null)),E.minX=1/0,E.minY=1/0,E.maxX=-1/0,E.maxY=-1/0;for(var I=w;I<m;I++){var b=v.children[I];l(E,v.leaf?_(b):b)}return E}function l(v,w){return v.minX=Math.min(v.minX,w.minX),v.minY=Math.min(v.minY,w.minY),v.maxX=Math.max(v.maxX,w.maxX),v.maxY=Math.max(v.maxY,w.maxY),v}function c(v,w){return v.minX-w.minX}function h(v,w){return v.minY-w.minY}function d(v){return(v.maxX-v.minX)*(v.maxY-v.minY)}function g(v){return v.maxX-v.minX+(v.maxY-v.minY)}function y(v,w){return v.minX<=w.minX&&v.minY<=w.minY&&w.maxX<=v.maxX&&w.maxY<=v.maxY}function C(v,w){return w.minX<=v.maxX&&w.minY<=v.maxY&&w.maxX>=v.minX&&w.maxY>=v.minY}function P(v){return{children:v,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function T(v,w,m,_,E){for(var I=[w,m];I.length;)if(!((m=I.pop())-(w=I.pop())<=_)){var b=w+Math.ceil((m-w)/_/2)*_;e(v,b,w,m,E),I.push(w,b,b,m)}}return s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(v){var w=this.data,m=[];if(!C(v,w))return m;for(var _=this.toBBox,E=[];w;){for(var I=0;I<w.children.length;I++){var b=w.children[I],O=w.leaf?_(b):b;C(v,O)&&(w.leaf?m.push(b):y(v,O)?this._all(b,m):E.push(b))}w=E.pop()}return m},s.prototype.collides=function(v){var w=this.data;if(!C(v,w))return!1;for(var m=[];w;){for(var _=0;_<w.children.length;_++){var E=w.children[_],I=w.leaf?this.toBBox(E):E;if(C(v,I)){if(w.leaf||y(v,I))return!0;m.push(E)}}w=m.pop()}return!1},s.prototype.load=function(v){if(!v||!v.length)return this;if(v.length<this._minEntries){for(var w=0;w<v.length;w++)this.insert(v[w]);return this}var m=this._build(v.slice(),0,v.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 _=this.data;this.data=m,m=_}this._insert(m,this.data.height-m.height-1,!0)}else this.data=m;return this},s.prototype.insert=function(v){return v&&this._insert(v,this.data.height-1),this},s.prototype.clear=function(){return this.data=P([]),this},s.prototype.remove=function(v,w){if(!v)return this;for(var m,_,E,I=this.data,b=this.toBBox(v),O=[],M=[];I||O.length;){if(I||(I=O.pop(),_=O[O.length-1],m=M.pop(),E=!0),I.leaf){var N=o(v,I.children,w);if(N!==-1)return I.children.splice(N,1),O.push(I),this._condense(O),this}E||I.leaf||!y(I,b)?_?(m++,I=_.children[m],E=!1):I=null:(O.push(I),M.push(m),m=0,_=I,I=I.children[0])}return this},s.prototype.toBBox=function(v){return v},s.prototype.compareMinX=function(v,w){return v.minX-w.minX},s.prototype.compareMinY=function(v,w){return v.minY-w.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(v){return this.data=v,this},s.prototype._all=function(v,w){for(var m=[];v;)v.leaf?w.push.apply(w,v.children):m.push.apply(m,v.children),v=m.pop();return w},s.prototype._build=function(v,w,m,_){var E,I=m-w+1,b=this._maxEntries;if(I<=b)return a(E=P(v.slice(w,m+1)),this.toBBox),E;_||(_=Math.ceil(Math.log(I)/Math.log(b)),b=Math.ceil(I/Math.pow(b,_-1))),(E=P([])).leaf=!1,E.height=_;var O=Math.ceil(I/b),M=O*Math.ceil(Math.sqrt(b));T(v,w,m,M,this.compareMinX);for(var N=w;N<=m;N+=M){var x=Math.min(N+M-1,m);T(v,N,x,O,this.compareMinY);for(var A=N;A<=x;A+=O){var F=Math.min(A+O-1,x);E.children.push(this._build(v,A,F,_-1))}}return a(E,this.toBBox),E},s.prototype._chooseSubtree=function(v,w,m,_){for(;_.push(w),!w.leaf&&_.length-1!==m;){for(var E=1/0,I=1/0,b=void 0,O=0;O<w.children.length;O++){var M=w.children[O],N=d(M),x=(A=v,F=M,(Math.max(F.maxX,A.maxX)-Math.min(F.minX,A.minX))*(Math.max(F.maxY,A.maxY)-Math.min(F.minY,A.minY))-N);x<I?(I=x,E=N<E?N:E,b=M):x===I&&N<E&&(E=N,b=M)}w=b||w.children[0]}var A,F;return w},s.prototype._insert=function(v,w,m){var _=m?v:this.toBBox(v),E=[],I=this._chooseSubtree(_,this.data,w,E);for(I.children.push(v),l(I,_);w>=0&&E[w].children.length>this._maxEntries;)this._split(E,w),w--;this._adjustParentBBoxes(_,E,w)},s.prototype._split=function(v,w){var m=v[w],_=m.children.length,E=this._minEntries;this._chooseSplitAxis(m,E,_);var I=this._chooseSplitIndex(m,E,_),b=P(m.children.splice(I,m.children.length-I));b.height=m.height,b.leaf=m.leaf,a(m,this.toBBox),a(b,this.toBBox),w?v[w-1].children.push(b):this._splitRoot(m,b)},s.prototype._splitRoot=function(v,w){this.data=P([v,w]),this.data.height=v.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(v,w,m){for(var _,E,I,b,O,M,N,x=1/0,A=1/0,F=w;F<=m-w;F++){var Y=u(v,0,F,this.toBBox),G=u(v,F,m,this.toBBox),K=(E=Y,I=G,b=void 0,O=void 0,M=void 0,N=void 0,b=Math.max(E.minX,I.minX),O=Math.max(E.minY,I.minY),M=Math.min(E.maxX,I.maxX),N=Math.min(E.maxY,I.maxY),Math.max(0,M-b)*Math.max(0,N-O)),at=d(Y)+d(G);K<x?(x=K,_=F,A=at<A?at:A):K===x&&at<A&&(A=at,_=F)}return _||m-w},s.prototype._chooseSplitAxis=function(v,w,m){var _=v.leaf?this.compareMinX:c,E=v.leaf?this.compareMinY:h;this._allDistMargin(v,w,m,_)<this._allDistMargin(v,w,m,E)&&v.children.sort(_)},s.prototype._allDistMargin=function(v,w,m,_){v.children.sort(_);for(var E=this.toBBox,I=u(v,0,w,E),b=u(v,m-w,m,E),O=g(I)+g(b),M=w;M<m-w;M++){var N=v.children[M];l(I,v.leaf?E(N):N),O+=g(I)}for(var x=m-w-1;x>=w;x--){var A=v.children[x];l(b,v.leaf?E(A):A),O+=g(b)}return O},s.prototype._adjustParentBBoxes=function(v,w,m){for(var _=m;_>=0;_--)l(w[_],v)},s.prototype._condense=function(v){for(var w=v.length-1,m=void 0;w>=0;w--)v[w].children.length===0?w>0?(m=v[w-1].children).splice(m.indexOf(v[w]),1):this.clear():a(v[w],this.toBBox)},s})}(Nu)),Nu.exports}class ov{constructor(t=[],e=av){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,i=e[t];for(;t>0;){const s=t-1>>1,o=e[s];if(r(i,o)>=0)break;e[t]=o,t=s}e[t]=i}_down(t){const{data:e,compare:r}=this,i=this.length>>1,s=e[t];for(;t<i;){let o=(t<<1)+1,a=e[o];const u=o+1;if(u<this.length&&r(e[u],a)<0&&(o=u,a=e[u]),r(a,s)>=0)break;e[t]=a,t=o}e[t]=s}}function av(n,t){return n<t?-1:n>t?1:0}const uv=iv(Object.freeze(Object.defineProperty({__proto__:null,default:ov},Symbol.toStringTag,{value:"Module"})));var xa={exports:{}},Bl,Yf;function lv(){return Yf||(Yf=1,Bl=function(t,e,r,i){var s=t[0],o=t[1],a=!1;r===void 0&&(r=0),i===void 0&&(i=e.length);for(var u=(i-r)/2,l=0,c=u-1;l<u;c=l++){var h=e[r+l*2+0],d=e[r+l*2+1],g=e[r+c*2+0],y=e[r+c*2+1],C=d>o!=y>o&&s<(g-h)*(o-d)/(y-d)+h;C&&(a=!a)}return a}),Bl}var jl,Jf;function cv(){return Jf||(Jf=1,jl=function(t,e,r,i){var s=t[0],o=t[1],a=!1;r===void 0&&(r=0),i===void 0&&(i=e.length);for(var u=i-r,l=0,c=u-1;l<u;c=l++){var h=e[l+r][0],d=e[l+r][1],g=e[c+r][0],y=e[c+r][1],C=d>o!=y>o&&s<(g-h)*(o-d)/(y-d)+h;C&&(a=!a)}return a}),jl}var Bf;function hv(){if(Bf)return xa.exports;Bf=1;var n=lv(),t=cv();return xa.exports=function(r,i,s,o){return i.length>0&&Array.isArray(i[0])?t(r,i,s,o):n(r,i,s,o)},xa.exports.nested=t,xa.exports.flat=n,xa.exports}var Da={exports:{}},fv=Da.exports,jf;function dv(){return jf||(jf=1,function(n,t){(function(e,r){r(t)})(fv,function(e){const i=33306690738754706e-32;function s(C,P,T,v,w){let m,_,E,I,b=P[0],O=v[0],M=0,N=0;O>b==O>-b?(m=b,b=P[++M]):(m=O,O=v[++N]);let x=0;if(M<C&&N<T)for(O>b==O>-b?(E=m-((_=b+m)-b),b=P[++M]):(E=m-((_=O+m)-O),O=v[++N]),m=_,E!==0&&(w[x++]=E);M<C&&N<T;)O>b==O>-b?(E=m-((_=m+b)-(I=_-m))+(b-I),b=P[++M]):(E=m-((_=m+O)-(I=_-m))+(O-I),O=v[++N]),m=_,E!==0&&(w[x++]=E);for(;M<C;)E=m-((_=m+b)-(I=_-m))+(b-I),b=P[++M],m=_,E!==0&&(w[x++]=E);for(;N<T;)E=m-((_=m+O)-(I=_-m))+(O-I),O=v[++N],m=_,E!==0&&(w[x++]=E);return m===0&&x!==0||(w[x++]=m),x}function o(C){return new Float64Array(C)}const a=33306690738754716e-32,u=22204460492503146e-32,l=11093356479670487e-47,c=o(4),h=o(8),d=o(12),g=o(16),y=o(4);e.orient2d=function(C,P,T,v,w,m){const _=(P-m)*(T-w),E=(C-w)*(v-m),I=_-E;if(_===0||E===0||_>0!=E>0)return I;const b=Math.abs(_+E);return Math.abs(I)>=a*b?I:-function(O,M,N,x,A,F,Y){let G,K,at,ht,X,J,B,gt,xt,Ct,It,Rt,le,ie,Er,Sr,pi,Cr;const Ir=O-A,Pr=N-A,Wn=M-F,qn=x-F;X=(Er=(gt=Ir-(B=(J=134217729*Ir)-(J-Ir)))*(Ct=qn-(xt=(J=134217729*qn)-(J-qn)))-((ie=Ir*qn)-B*xt-gt*xt-B*Ct))-(It=Er-(pi=(gt=Wn-(B=(J=134217729*Wn)-(J-Wn)))*(Ct=Pr-(xt=(J=134217729*Pr)-(J-Pr)))-((Sr=Wn*Pr)-B*xt-gt*xt-B*Ct))),c[0]=Er-(It+X)+(X-pi),X=(le=ie-((Rt=ie+It)-(X=Rt-ie))+(It-X))-(It=le-Sr),c[1]=le-(It+X)+(X-Sr),X=(Cr=Rt+It)-Rt,c[2]=Rt-(Cr-X)+(It-X),c[3]=Cr;let ms=function(j0,Rg){let Fg=Rg[0];for(let of=1;of<j0;of++)Fg+=Rg[of];return Fg}(4,c),yu=u*Y;if(ms>=yu||-ms>=yu||(G=O-(Ir+(X=O-Ir))+(X-A),at=N-(Pr+(X=N-Pr))+(X-A),K=M-(Wn+(X=M-Wn))+(X-F),ht=x-(qn+(X=x-qn))+(X-F),G===0&&K===0&&at===0&&ht===0)||(yu=l*Y+i*Math.abs(ms),(ms+=Ir*ht+qn*G-(Wn*at+Pr*K))>=yu||-ms>=yu))return ms;X=(Er=(gt=G-(B=(J=134217729*G)-(J-G)))*(Ct=qn-(xt=(J=134217729*qn)-(J-qn)))-((ie=G*qn)-B*xt-gt*xt-B*Ct))-(It=Er-(pi=(gt=K-(B=(J=134217729*K)-(J-K)))*(Ct=Pr-(xt=(J=134217729*Pr)-(J-Pr)))-((Sr=K*Pr)-B*xt-gt*xt-B*Ct))),y[0]=Er-(It+X)+(X-pi),X=(le=ie-((Rt=ie+It)-(X=Rt-ie))+(It-X))-(It=le-Sr),y[1]=le-(It+X)+(X-Sr),X=(Cr=Rt+It)-Rt,y[2]=Rt-(Cr-X)+(It-X),y[3]=Cr;const Y0=s(4,c,4,y,h);X=(Er=(gt=Ir-(B=(J=134217729*Ir)-(J-Ir)))*(Ct=ht-(xt=(J=134217729*ht)-(J-ht)))-((ie=Ir*ht)-B*xt-gt*xt-B*Ct))-(It=Er-(pi=(gt=Wn-(B=(J=134217729*Wn)-(J-Wn)))*(Ct=at-(xt=(J=134217729*at)-(J-at)))-((Sr=Wn*at)-B*xt-gt*xt-B*Ct))),y[0]=Er-(It+X)+(X-pi),X=(le=ie-((Rt=ie+It)-(X=Rt-ie))+(It-X))-(It=le-Sr),y[1]=le-(It+X)+(X-Sr),X=(Cr=Rt+It)-Rt,y[2]=Rt-(Cr-X)+(It-X),y[3]=Cr;const J0=s(Y0,h,4,y,d);X=(Er=(gt=G-(B=(J=134217729*G)-(J-G)))*(Ct=ht-(xt=(J=134217729*ht)-(J-ht)))-((ie=G*ht)-B*xt-gt*xt-B*Ct))-(It=Er-(pi=(gt=K-(B=(J=134217729*K)-(J-K)))*(Ct=at-(xt=(J=134217729*at)-(J-at)))-((Sr=K*at)-B*xt-gt*xt-B*Ct))),y[0]=Er-(It+X)+(X-pi),X=(le=ie-((Rt=ie+It)-(X=Rt-ie))+(It-X))-(It=le-Sr),y[1]=le-(It+X)+(X-Sr),X=(Cr=Rt+It)-Rt,y[2]=Rt-(Cr-X)+(It-X),y[3]=Cr;const B0=s(J0,d,4,y,g);return g[B0-1]}(C,P,T,v,w,m,b)},e.orient2dfast=function(C,P,T,v,w,m){return(P-m)*(T-w)-(C-w)*(v-m)},Object.defineProperty(e,"__esModule",{value:!0})})}(Da,Da.exports)),Da.exports}var Zf;function pv(){if(Zf)return bu.exports;Zf=1;var n=Hf(),t=uv,e=hv(),r=dv().orient2d;t.default&&(t=t.default),bu.exports=i,bu.exports.default=i;function i(m,_,E){_=Math.max(0,_===void 0?2:_),E=E||0;var I=g(m),b=new n(16);b.toBBox=function(B){return{minX:B[0],minY:B[1],maxX:B[0],maxY:B[1]}},b.compareMinX=function(B,gt){return B[0]-gt[0]},b.compareMinY=function(B,gt){return B[1]-gt[1]},b.load(m);for(var O=[],M=0,N;M<I.length;M++){var x=I[M];b.remove(x),N=y(x,N),O.push(N)}var A=new n(16);for(M=0;M<O.length;M++)A.insert(d(O[M]));for(var F=_*_,Y=E*E;O.length;){var G=O.shift(),K=G.p,at=G.next.p,ht=C(K,at);if(!(ht<Y)){var X=ht/F;x=s(b,G.prev.p,K,at,G.next.next.p,X,A),x&&Math.min(C(x,K),C(x,at))<=X&&(O.push(G),O.push(y(x,G)),b.remove(x),A.remove(G),A.insert(d(G)),A.insert(d(G.next)))}}G=N;var J=[];do J.push(G.p),G=G.next;while(G!==N);return J.push(G.p),J}function s(m,_,E,I,b,O,M){for(var N=new t([],o),x=m.data;x;){for(var A=0;A<x.children.length;A++){var F=x.children[A],Y=x.leaf?P(F,E,I):a(E,I,F);Y>O||N.push({node:F,dist:Y})}for(;N.length&&!N.peek().node.children;){var G=N.pop(),K=G.node,at=P(K,_,E),ht=P(K,I,b);if(G.dist<at&&G.dist<ht&&l(E,K,M)&&l(I,K,M))return K}x=N.pop(),x&&(x=x.node)}return null}function o(m,_){return m.dist-_.dist}function a(m,_,E){if(u(m,E)||u(_,E))return 0;var I=T(m[0],m[1],_[0],_[1],E.minX,E.minY,E.maxX,E.minY);if(I===0)return 0;var b=T(m[0],m[1],_[0],_[1],E.minX,E.minY,E.minX,E.maxY);if(b===0)return 0;var O=T(m[0],m[1],_[0],_[1],E.maxX,E.minY,E.maxX,E.maxY);if(O===0)return 0;var M=T(m[0],m[1],_[0],_[1],E.minX,E.maxY,E.maxX,E.maxY);return M===0?0:Math.min(I,b,O,M)}function u(m,_){return m[0]>=_.minX&&m[0]<=_.maxX&&m[1]>=_.minY&&m[1]<=_.maxY}function l(m,_,E){for(var I=Math.min(m[0],_[0]),b=Math.min(m[1],_[1]),O=Math.max(m[0],_[0]),M=Math.max(m[1],_[1]),N=E.search({minX:I,minY:b,maxX:O,maxY:M}),x=0;x<N.length;x++)if(h(N[x].p,N[x].next.p,m,_))return!1;return!0}function c(m,_,E){return r(m[0],m[1],_[0],_[1],E[0],E[1])}function h(m,_,E,I){return m!==I&&_!==E&&c(m,_,E)>0!=c(m,_,I)>0&&c(E,I,m)>0!=c(E,I,_)>0}function d(m){var _=m.p,E=m.next.p;return m.minX=Math.min(_[0],E[0]),m.minY=Math.min(_[1],E[1]),m.maxX=Math.max(_[0],E[0]),m.maxY=Math.max(_[1],E[1]),m}function g(m){for(var _=m[0],E=m[0],I=m[0],b=m[0],O=0;O<m.length;O++){var M=m[O];M[0]<_[0]&&(_=M),M[0]>I[0]&&(I=M),M[1]<E[1]&&(E=M),M[1]>b[1]&&(b=M)}var N=[_,E,I,b],x=N.slice();for(O=0;O<m.length;O++)e(m[O],N)||x.push(m[O]);return w(x)}function y(m,_){var E={p:m,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return _?(E.next=_.next,E.prev=_,_.next.prev=E,_.next=E):(E.prev=E,E.next=E),E}function C(m,_){var E=m[0]-_[0],I=m[1]-_[1];return E*E+I*I}function P(m,_,E){var I=_[0],b=_[1],O=E[0]-I,M=E[1]-b;if(O!==0||M!==0){var N=((m[0]-I)*O+(m[1]-b)*M)/(O*O+M*M);N>1?(I=E[0],b=E[1]):N>0&&(I+=O*N,b+=M*N)}return O=m[0]-I,M=m[1]-b,O*O+M*M}function T(m,_,E,I,b,O,M,N){var x=E-m,A=I-_,F=M-b,Y=N-O,G=m-b,K=_-O,at=x*x+A*A,ht=x*F+A*Y,X=F*F+Y*Y,J=x*G+A*K,B=F*G+Y*K,gt=at*X-ht*ht,xt,Ct,It,Rt,le=gt,ie=gt;gt===0?(Ct=0,le=1,Rt=B,ie=X):(Ct=ht*B-X*J,Rt=at*B-ht*J,Ct<0?(Ct=0,Rt=B,ie=X):Ct>le&&(Ct=le,Rt=B+ht,ie=X)),Rt<0?(Rt=0,-J<0?Ct=0:-J>at?Ct=le:(Ct=-J,le=at)):Rt>ie&&(Rt=ie,-J+ht<0?Ct=0:-J+ht>at?Ct=le:(Ct=-J+ht,le=at)),xt=Ct===0?0:Ct/le,It=Rt===0?0:Rt/ie;var Er=(1-xt)*m+xt*E,Sr=(1-xt)*_+xt*I,pi=(1-It)*b+It*M,Cr=(1-It)*O+It*N,Ir=pi-Er,Pr=Cr-Sr;return Ir*Ir+Pr*Pr}function v(m,_){return m[0]===_[0]?m[1]-_[1]:m[0]-_[0]}function w(m){m.sort(v);for(var _=[],E=0;E<m.length;E++){for(;_.length>=2&&c(_[_.length-2],_[_.length-1],m[E])<=0;)_.pop();_.push(m[E])}for(var I=[],b=m.length-1;b>=0;b--){for(;I.length>=2&&c(I[I.length-2],I[I.length-1],m[b])<=0;)I.pop();I.push(m[b])}return I.pop(),_.pop(),_.concat(I)}return bu.exports}var gv=pv();const mv=qf(gv);function vv(n,t){t===void 0&&(t={}),t.concavity=t.concavity||1/0;var e=[];if(fo(n,function(i){e.push([i[0],i[1]])}),!e.length)return null;var r=mv(e,t.concavity);return r.length>3?er([r]):null}function Kf(n,t){t===void 0&&(t={});var e=0,r=0,i=0;return fo(n,function(s){e+=s[0],r+=s[1],i++},!0),Ut([e/i,r/i],t.properties)}function Qf(n,t){switch(t===void 0&&(t={}),Zm(n)){case"Point":return Ut(rr(n),t.properties);case"Polygon":var e=[];fo(n,function(m){e.push(m)});var r=Kf(n,{properties:t.properties}),i=r.geometry.coordinates,s=0,o=0,a=0,u,l,c,h,d,g,y,C,P=e.map(function(m){return[m[0]-i[0],m[1]-i[1]]});for(u=0;u<e.length-1;u++)l=P[u],h=l[0],g=l[1],c=P[u+1],d=c[0],y=c[1],C=h*y-d*g,a+=C,s+=(h+d)*C,o+=(g+y)*C;if(a===0)return r;var T=a*.5,v=1/(6*T);return Ut([i[0]+v*s,i[1]+v*o],t.properties);default:var w=vv(n);return w?Qf(w,{properties:t.properties}):Kf(n,{properties:t.properties})}}function yv(n){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]);const t=er([n]),r=Qf(t).geometry.coordinates;return[r[0],r[1],r[2]??n[0][2]??0]}function $f(n,t,e,r){const[i,s,o]=n,a=ho(Ut([i,s]),t,e,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return r=r||[0,0,0],r[0]=a.geometry.coordinates[0],r[1]=a.geometry.coordinates[1],r[2]=o,r}function Tu(n,t){return mi(Ut(n),Ut(t),{units:"meters"})}function Ma(n,t){return Oa(Ut(n),Ut(t))}function td(n){if(!n)throw new Error("geojson is required");var t=[];return Hl(n,function(e){_v(e,t)}),co(t)}function _v(n,t){var e=[],r=n.geometry;if(r!==null){switch(r.type){case"Polygon":e=Es(r);break;case"LineString":e=[Es(r)]}e.forEach(function(i){var s=wv(i,n.properties);s.forEach(function(o){o.id=t.length,t.push(o)})})}}function wv(n,t){var e=[];return n.reduce(function(r,i){var s=vn([r,i],t);return s.bbox=Ev(r,i),e.push(s),i}),e}function Ev(n,t){var e=n[0],r=n[1],i=t[0],s=t[1],o=e<i?e:i,a=r<s?r:s,u=e>i?e:i,l=r>s?r:s;return[o,a,u,l]}var Ou={exports:{}},Zl={},ed;function rd(){return ed||(ed=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.earthRadius=63710088e-1,n.factors={centimeters:n.earthRadius*100,centimetres:n.earthRadius*100,degrees:n.earthRadius/111325,feet:n.earthRadius*3.28084,inches:n.earthRadius*39.37,kilometers:n.earthRadius/1e3,kilometres:n.earthRadius/1e3,meters:n.earthRadius,metres:n.earthRadius,miles:n.earthRadius/1609.344,millimeters:n.earthRadius*1e3,millimetres:n.earthRadius*1e3,nauticalmiles:n.earthRadius/1852,radians:1,yards:n.earthRadius*1.0936},n.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/n.earthRadius,yards:1.0936133},n.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 t(N,x,A){A===void 0&&(A={});var F={type:"Feature"};return(A.id===0||A.id)&&(F.id=A.id),A.bbox&&(F.bbox=A.bbox),F.properties=x||{},F.geometry=N,F}n.feature=t;function e(N,x,A){switch(N){case"Point":return r(x).geometry;case"LineString":return a(x).geometry;case"Polygon":return s(x).geometry;case"MultiPoint":return h(x).geometry;case"MultiLineString":return c(x).geometry;case"MultiPolygon":return d(x).geometry;default:throw new Error(N+" is invalid")}}n.geometry=e;function r(N,x,A){if(A===void 0&&(A={}),!N)throw new Error("coordinates is required");if(!Array.isArray(N))throw new Error("coordinates must be an Array");if(N.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!I(N[0])||!I(N[1]))throw new Error("coordinates must contain numbers");var F={type:"Point",coordinates:N};return t(F,x,A)}n.point=r;function i(N,x,A){return A===void 0&&(A={}),l(N.map(function(F){return r(F,x)}),A)}n.points=i;function s(N,x,A){A===void 0&&(A={});for(var F=0,Y=N;F<Y.length;F++){var G=Y[F];if(G.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var K=0;K<G[G.length-1].length;K++)if(G[G.length-1][K]!==G[0][K])throw new Error("First and last Position are not equivalent.")}var at={type:"Polygon",coordinates:N};return t(at,x,A)}n.polygon=s;function o(N,x,A){return A===void 0&&(A={}),l(N.map(function(F){return s(F,x)}),A)}n.polygons=o;function a(N,x,A){if(A===void 0&&(A={}),N.length<2)throw new Error("coordinates must be an array of two or more positions");var F={type:"LineString",coordinates:N};return t(F,x,A)}n.lineString=a;function u(N,x,A){return A===void 0&&(A={}),l(N.map(function(F){return a(F,x)}),A)}n.lineStrings=u;function l(N,x){x===void 0&&(x={});var A={type:"FeatureCollection"};return x.id&&(A.id=x.id),x.bbox&&(A.bbox=x.bbox),A.features=N,A}n.featureCollection=l;function c(N,x,A){A===void 0&&(A={});var F={type:"MultiLineString",coordinates:N};return t(F,x,A)}n.multiLineString=c;function h(N,x,A){A===void 0&&(A={});var F={type:"MultiPoint",coordinates:N};return t(F,x,A)}n.multiPoint=h;function d(N,x,A){A===void 0&&(A={});var F={type:"MultiPolygon",coordinates:N};return t(F,x,A)}n.multiPolygon=d;function g(N,x,A){A===void 0&&(A={});var F={type:"GeometryCollection",geometries:N};return t(F,x,A)}n.geometryCollection=g;function y(N,x){if(x===void 0&&(x=0),x&&!(x>=0))throw new Error("precision must be a positive number");var A=Math.pow(10,x||0);return Math.round(N*A)/A}n.round=y;function C(N,x){x===void 0&&(x="kilometers");var A=n.factors[x];if(!A)throw new Error(x+" units is invalid");return N*A}n.radiansToLength=C;function P(N,x){x===void 0&&(x="kilometers");var A=n.factors[x];if(!A)throw new Error(x+" units is invalid");return N/A}n.lengthToRadians=P;function T(N,x){return w(P(N,x))}n.lengthToDegrees=T;function v(N){var x=N%360;return x<0&&(x+=360),x}n.bearingToAzimuth=v;function w(N){var x=N%(2*Math.PI);return x*180/Math.PI}n.radiansToDegrees=w;function m(N){var x=N%360;return x*Math.PI/180}n.degreesToRadians=m;function _(N,x,A){if(x===void 0&&(x="kilometers"),A===void 0&&(A="kilometers"),!(N>=0))throw new Error("length must be a positive number");return C(P(N,x),A)}n.convertLength=_;function E(N,x,A){if(x===void 0&&(x="meters"),A===void 0&&(A="kilometers"),!(N>=0))throw new Error("area must be a positive number");var F=n.areaFactors[x];if(!F)throw new Error("invalid original units");var Y=n.areaFactors[A];if(!Y)throw new Error("invalid final units");return N/F*Y}n.convertArea=E;function I(N){return!isNaN(N)&&N!==null&&!Array.isArray(N)}n.isNumber=I;function b(N){return!!N&&N.constructor===Object}n.isObject=b;function O(N){if(!N)throw new Error("bbox is required");if(!Array.isArray(N))throw new Error("bbox must be an Array");if(N.length!==4&&N.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");N.forEach(function(x){if(!I(x))throw new Error("bbox must only contain numbers")})}n.validateBBox=O;function M(N){if(!N)throw new Error("id is required");if(["string","number"].indexOf(typeof N)===-1)throw new Error("id must be a number or a string")}n.validateId=M}(Zl)),Zl}var ce={},nd;function id(){if(nd)return ce;nd=1,Object.defineProperty(ce,"__esModule",{value:!0});var n=rd();function t(v,w,m){if(v!==null)for(var _,E,I,b,O,M,N,x=0,A=0,F,Y=v.type,G=Y==="FeatureCollection",K=Y==="Feature",at=G?v.features.length:1,ht=0;ht<at;ht++){N=G?v.features[ht].geometry:K?v.geometry:v,F=N?N.type==="GeometryCollection":!1,O=F?N.geometries.length:1;for(var X=0;X<O;X++){var J=0,B=0;if(b=F?N.geometries[X]:N,b!==null){M=b.coordinates;var gt=b.type;switch(x=m&&(gt==="Polygon"||gt==="MultiPolygon")?1:0,gt){case null:break;case"Point":if(w(M,A,ht,J,B)===!1)return!1;A++,J++;break;case"LineString":case"MultiPoint":for(_=0;_<M.length;_++){if(w(M[_],A,ht,J,B)===!1)return!1;A++,gt==="MultiPoint"&&J++}gt==="LineString"&&J++;break;case"Polygon":case"MultiLineString":for(_=0;_<M.length;_++){for(E=0;E<M[_].length-x;E++){if(w(M[_][E],A,ht,J,B)===!1)return!1;A++}gt==="MultiLineString"&&J++,gt==="Polygon"&&B++}gt==="Polygon"&&J++;break;case"MultiPolygon":for(_=0;_<M.length;_++){for(B=0,E=0;E<M[_].length;E++){for(I=0;I<M[_][E].length-x;I++){if(w(M[_][E][I],A,ht,J,B)===!1)return!1;A++}B++}J++}break;case"GeometryCollection":for(_=0;_<b.geometries.length;_++)if(t(b.geometries[_],w,m)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function e(v,w,m,_){var E=m;return t(v,function(I,b,O,M,N){b===0&&m===void 0?E=I:E=w(E,I,b,O,M,N)},_),E}function r(v,w){var m;switch(v.type){case"FeatureCollection":for(m=0;m<v.features.length&&w(v.features[m].properties,m)!==!1;m++);break;case"Feature":w(v.properties,0);break}}function i(v,w,m){var _=m;return r(v,function(E,I){I===0&&m===void 0?_=E:_=w(_,E,I)}),_}function s(v,w){if(v.type==="Feature")w(v,0);else if(v.type==="FeatureCollection")for(var m=0;m<v.features.length&&w(v.features[m],m)!==!1;m++);}function o(v,w,m){var _=m;return s(v,function(E,I){I===0&&m===void 0?_=E:_=w(_,E,I)}),_}function a(v){var w=[];return t(v,function(m){w.push(m)}),w}function u(v,w){var m,_,E,I,b,O,M,N,x,A,F=0,Y=v.type==="FeatureCollection",G=v.type==="Feature",K=Y?v.features.length:1;for(m=0;m<K;m++){for(O=Y?v.features[m].geometry:G?v.geometry:v,N=Y?v.features[m].properties:G?v.properties:{},x=Y?v.features[m].bbox:G?v.bbox:void 0,A=Y?v.features[m].id:G?v.id:void 0,M=O?O.type==="GeometryCollection":!1,b=M?O.geometries.length:1,E=0;E<b;E++){if(I=M?O.geometries[E]:O,I===null){if(w(null,F,N,x,A)===!1)return!1;continue}switch(I.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(w(I,F,N,x,A)===!1)return!1;break}case"GeometryCollection":{for(_=0;_<I.geometries.length;_++)if(w(I.geometries[_],F,N,x,A)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}F++}}function l(v,w,m){var _=m;return u(v,function(E,I,b,O,M){I===0&&m===void 0?_=E:_=w(_,E,I,b,O,M)}),_}function c(v,w){u(v,function(m,_,E,I,b){var O=m===null?null:m.type;switch(O){case null:case"Point":case"LineString":case"Polygon":return w(n.feature(m,E,{bbox:I,id:b}),_,0)===!1?!1:void 0}var M;switch(O){case"MultiPoint":M="Point";break;case"MultiLineString":M="LineString";break;case"MultiPolygon":M="Polygon";break}for(var N=0;N<m.coordinates.length;N++){var x=m.coordinates[N],A={type:M,coordinates:x};if(w(n.feature(A,E),_,N)===!1)return!1}})}function h(v,w,m){var _=m;return c(v,function(E,I,b){I===0&&b===0&&m===void 0?_=E:_=w(_,E,I,b)}),_}function d(v,w){c(v,function(m,_,E){var I=0;if(m.geometry){var b=m.geometry.type;if(!(b==="Point"||b==="MultiPoint")){var O,M=0,N=0,x=0;if(t(m,function(A,F,Y,G,K){if(O===void 0||_>M||G>N||K>x){O=A,M=_,N=G,x=K,I=0;return}var at=n.lineString([O,A],m.properties);if(w(at,_,E,K,I)===!1)return!1;I++,O=A})===!1)return!1}}})}function g(v,w,m){var _=m,E=!1;return d(v,function(I,b,O,M,N){E===!1&&m===void 0?_=I:_=w(_,I,b,O,M,N),E=!0}),_}function y(v,w){if(!v)throw new Error("geojson is required");c(v,function(m,_,E){if(m.geometry!==null){var I=m.geometry.type,b=m.geometry.coordinates;switch(I){case"LineString":if(w(m,_,E,0,0)===!1)return!1;break;case"Polygon":for(var O=0;O<b.length;O++)if(w(n.lineString(b[O],m.properties),_,E,O)===!1)return!1;break}}})}function C(v,w,m){var _=m;return y(v,function(E,I,b,O){I===0&&m===void 0?_=E:_=w(_,E,I,b,O)}),_}function P(v,w){if(w=w||{},!n.isObject(w))throw new Error("options is invalid");var m=w.featureIndex||0,_=w.multiFeatureIndex||0,E=w.geometryIndex||0,I=w.segmentIndex||0,b=w.properties,O;switch(v.type){case"FeatureCollection":m<0&&(m=v.features.length+m),b=b||v.features[m].properties,O=v.features[m].geometry;break;case"Feature":b=b||v.properties,O=v.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":O=v;break;default:throw new Error("geojson is invalid")}if(O===null)return null;var M=O.coordinates;switch(O.type){case"Point":case"MultiPoint":return null;case"LineString":return I<0&&(I=M.length+I-1),n.lineString([M[I],M[I+1]],b,w);case"Polygon":return E<0&&(E=M.length+E),I<0&&(I=M[E].length+I-1),n.lineString([M[E][I],M[E][I+1]],b,w);case"MultiLineString":return _<0&&(_=M.length+_),I<0&&(I=M[_].length+I-1),n.lineString([M[_][I],M[_][I+1]],b,w);case"MultiPolygon":return _<0&&(_=M.length+_),E<0&&(E=M[_].length+E),I<0&&(I=M[_][E].length-I-1),n.lineString([M[_][E][I],M[_][E][I+1]],b,w)}throw new Error("geojson is invalid")}function T(v,w){if(w=w||{},!n.isObject(w))throw new Error("options is invalid");var m=w.featureIndex||0,_=w.multiFeatureIndex||0,E=w.geometryIndex||0,I=w.coordIndex||0,b=w.properties,O;switch(v.type){case"FeatureCollection":m<0&&(m=v.features.length+m),b=b||v.features[m].properties,O=v.features[m].geometry;break;case"Feature":b=b||v.properties,O=v.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":O=v;break;default:throw new Error("geojson is invalid")}if(O===null)return null;var M=O.coordinates;switch(O.type){case"Point":return n.point(M,b,w);case"MultiPoint":return _<0&&(_=M.length+_),n.point(M[_],b,w);case"LineString":return I<0&&(I=M.length+I),n.point(M[I],b,w);case"Polygon":return E<0&&(E=M.length+E),I<0&&(I=M[E].length+I),n.point(M[E][I],b,w);case"MultiLineString":return _<0&&(_=M.length+_),I<0&&(I=M[_].length+I),n.point(M[_][I],b,w);case"MultiPolygon":return _<0&&(_=M.length+_),E<0&&(E=M[_].length+E),I<0&&(I=M[_][E].length-I),n.point(M[_][E][I],b,w)}throw new Error("geojson is invalid")}return ce.coordAll=a,ce.coordEach=t,ce.coordReduce=e,ce.featureEach=s,ce.featureReduce=o,ce.findPoint=T,ce.findSegment=P,ce.flattenEach=c,ce.flattenReduce=h,ce.geomEach=u,ce.geomReduce=l,ce.lineEach=y,ce.lineReduce=C,ce.propEach=r,ce.propReduce=i,ce.segmentEach=d,ce.segmentReduce=g,ce}var xu={},sd;function Sv(){if(sd)return xu;sd=1,Object.defineProperty(xu,"__esModule",{value:!0});var n=id();function t(e){var r=[1/0,1/0,-1/0,-1/0];return n.coordEach(e,function(i){r[0]>i[0]&&(r[0]=i[0]),r[1]>i[1]&&(r[1]=i[1]),r[2]<i[0]&&(r[2]=i[0]),r[3]<i[1]&&(r[3]=i[1])}),r}return t.default=t,xu.default=t,xu}var od;function Cv(){if(od)return Ou.exports;od=1;var n=Hf(),t=rd(),e=id(),r=Sv().default,i=e.featureEach;e.coordEach,t.polygon;var s=t.featureCollection;function o(a){var u=new n(a);return u.insert=function(l){if(l.type!=="Feature")throw new Error("invalid feature");return l.bbox=l.bbox?l.bbox:r(l),n.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:r(h),c.push(h)}):i(l,function(h){if(h.type!=="Feature")throw new Error("invalid features");h.bbox=h.bbox?h.bbox:r(h),c.push(h)}),n.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:r(l),n.prototype.remove.call(this,l,c)},u.clear=function(){return n.prototype.clear.call(this)},u.search=function(l){var c=n.prototype.search.call(this,this.toBBox(l));return s(c)},u.collides=function(l){return n.prototype.collides.call(this,this.toBBox(l))},u.all=function(){var l=n.prototype.all.call(this);return s(l)},u.toJSON=function(){return n.prototype.toJSON.call(this)},u.fromJSON=function(l){return n.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=r(l);else if(l.type==="FeatureCollection")c=r(l);else throw new Error("invalid geojson");return{minX:c[0],minY:c[1],maxX:c[2],maxY:c[3]}},u}return Ou.exports=o,Ou.exports.default=o,Ou.exports}var Iv=Cv();const Pv=qf(Iv);function ad(n,t){var e={},r=[];if(n.type==="LineString"&&(n=mn(n)),t.type==="LineString"&&(t=mn(t)),n.type==="Feature"&&t.type==="Feature"&&n.geometry!==null&&t.geometry!==null&&n.geometry.type==="LineString"&&t.geometry.type==="LineString"&&n.geometry.coordinates.length===2&&t.geometry.coordinates.length===2){var i=ud(n,t);return i&&r.push(i),co(r)}var s=Pv();return s.load(td(t)),Iu(td(n),function(o){Iu(s.search(o),function(a){var u=ud(o,a);if(u){var l=Es(u).join(",");e[l]||(e[l]=!0,r.push(u))}})}),co(r)}function ud(n,t){var e=Es(n),r=Es(t);if(e.length!==2)throw new Error("<intersects> line1 must only contain 2 coordinates");if(r.length!==2)throw new Error("<intersects> line2 must only contain 2 coordinates");var i=e[0][0],s=e[0][1],o=e[1][0],a=e[1][1],u=r[0][0],l=r[0][1],c=r[1][0],h=r[1][1],d=(h-l)*(o-i)-(c-u)*(a-s),g=(c-u)*(s-l)-(h-l)*(i-u),y=(o-i)*(s-l)-(a-s)*(i-u);if(d===0)return null;var C=g/d,P=y/d;if(C>=0&&C<=1&&P>=0&&P<=1){var T=i+C*(o-i),v=s+C*(a-s);return Ut([T,v])}return null}function bv(n,t){return ad(vn(n),vn(t))}function Nv(n,t){var e=mi(n,t),r=Oa(n,t),i=ho(n,e/2,r);return i}function Tv(n,t){const e=Ut(n),r=Ut(t),i=Nv(e,r),s=(n[2]+t[2])/2;return[...i.geometry.coordinates,s]}function Ov(n,t,e){e===void 0&&(e={});var r=Ut([1/0,1/0],{dist:1/0}),i=0;return Hl(n,function(s){for(var o=Es(s),a=0;a<o.length-1;a++){var u=Ut(o[a]);u.properties.dist=mi(t,u,e);var l=Ut(o[a+1]);l.properties.dist=mi(t,l,e);var c=mi(u,l,e),h=Math.max(u.properties.dist,l.properties.dist),d=Oa(u,l),g=ho(t,h,d+90,e),y=ho(t,h,d-90,e),C=ad(vn([g.geometry.coordinates,y.geometry.coordinates]),vn([u.geometry.coordinates,l.geometry.coordinates])),P=null;C.features.length>0&&(P=C.features[0],P.properties.dist=mi(t,P,e),P.properties.location=i+mi(u,P,e)),u.properties.dist<r.properties.dist&&(r=u,r.properties.index=a,r.properties.location=i),l.properties.dist<r.properties.dist&&(r=l,r.properties.index=a+1,r.properties.location=i+c),P&&P.properties.dist<r.properties.dist&&(r=P,r.properties.index=a),i+=c}}),r}function xv(n,t){const e=Ut(t),r=vn(n);return Ov(r,e,{units:"meters"})}function ld(n,t,e){e===void 0&&(e={});var r=rr(n),i=rr(t);i[0]+=i[0]-r[0]>180?-360:r[0]-i[0]>180?360:0;var s=Dv(r,i),o=Xl(s,"meters",e.units);return o}function Dv(n,t,e){e=e===void 0?Ae:Number(e);var r=e,i=n[1]*Math.PI/180,s=t[1]*Math.PI/180,o=s-i,a=Math.abs(t[0]-n[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*r;return h}function Mv(n,t,e){if(e===void 0&&(e={}),e.method||(e.method="geodesic"),e.units||(e.units="kilometers"),!n)throw new Error("pt is required");if(Array.isArray(n)?n=Ut(n):n.type==="Point"?n=mn(n):zf(n,"Point","point"),!t)throw new Error("line is required");Array.isArray(t)?t=vn(t):t.type==="LineString"?t=mn(t):zf(t,"LineString","line");var r=1/0,i=n.geometry.coordinates;return ev(t,function(s){var o=s.geometry.coordinates[0],a=s.geometry.coordinates[1],u=Lv(i,o,a,e);u<r&&(r=u)}),Xl(r,"degrees",e.units)}function Lv(n,t,e,r){var i=[e[0]-t[0],e[1]-t[1]],s=[n[0]-t[0],n[1]-t[1]],o=cd(s,i);if(o<=0)return Kl(n,t,{method:r.method,units:"degrees"});var a=cd(i,i);if(a<=o)return Kl(n,e,{method:r.method,units:"degrees"});var u=o/a,l=[t[0]+u*i[0],t[1]+u*i[1]];return Kl(n,l,{method:r.method,units:"degrees"})}function cd(n,t){return n[0]*t[0]+n[1]*t[1]}function Kl(n,t,e){return e.method==="planar"?ld(n,t,e):mi(n,t,e)}function Av(n,t){const e=Ut(n),r=vn(t);return Mv(e,r,{units:"meters"})}function Rv(n,t,e,r){r===void 0&&(r={});var i=t<0,s=Xl(Math.abs(t),r.units,"meters");i&&(s=-Math.abs(s));var o=rr(n),a=Fv(o,s,e);return a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0,Ut(a,r.properties)}function Fv(n,t,e,r){r=r===void 0?Ae:Number(r);var i=t/r,s=n[0]*Math.PI/180,o=qe(n[1]),a=qe(e),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),d=i*Math.sin(a)/h,g=s+d;return[(g*180/Math.PI+540)%360-180,l*180/Math.PI]}function kv(n,t,e,r){const[i,s,o]=n,a=Rv(Ut([i,s]),t,e,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return r=r||[0,0,0],r[0]=a.geometry.coordinates[0],r[1]=a.geometry.coordinates[1],r[2]=o,r}function hd(n,t){return ld(Ut(n),Ut(t),{units:"meters"})}function Vv(n,t,e){e===void 0&&(e={});var r;e.final?r=fd(rr(t),rr(n)):r=fd(rr(n),rr(t));var i=r>180?-(360-r):r;return i}function fd(n,t){var e=qe(n[1]),r=qe(t[1]),i=qe(t[0]-n[0]);i>Math.PI&&(i-=2*Math.PI),i<-Math.PI&&(i+=2*Math.PI);var s=Math.log(Math.tan(r/2+Math.PI/4)/Math.tan(e/2+Math.PI/4)),o=Math.atan2(i,s);return(Cu(o)+360)%360}function zv(n,t){return Vv(Ut(n),Ut(t))}function yn(n){var t=[1/0,1/0,-1/0,-1/0];return fo(n,function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])}),t}yn.default=yn;function _n(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("point is required");if(!t)throw new Error("polygon is required");var r=rr(n),i=br(t),s=i.type,o=t.bbox,a=i.coordinates;if(o&&Uv(r,o)===!1)return!1;s==="Polygon"&&(a=[a]);for(var u=!1,l=0;l<a.length&&!u;l++)if(dd(r,a[l][0],e.ignoreBoundary)){for(var c=!1,h=1;h<a[l].length&&!c;)dd(r,a[l][h],!e.ignoreBoundary)&&(c=!0),h++;c||(u=!0)}return u}function dd(n,t,e){var r=!1;t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]&&(t=t.slice(0,t.length-1));for(var i=0,s=t.length-1;i<t.length;s=i++){var o=t[i][0],a=t[i][1],u=t[s][0],l=t[s][1],c=n[1]*(o-u)+a*(u-n[0])+l*(n[0]-o)===0&&(o-n[0])*(u-n[0])<=0&&(a-n[1])*(l-n[1])<=0;if(c)return!e;var h=a>n[1]!=l>n[1]&&n[0]<(u-o)*(n[1]-a)/(l-a)+o;h&&(r=!r)}return r}function Uv(n,t){return t[0]<=n[0]&&t[1]<=n[1]&&t[2]>=n[0]&&t[3]>=n[1]}function vi(n,t,e){e===void 0&&(e={});for(var r=rr(n),i=Es(t),s=0;s<i.length-1;s++){var o=!1;if(e.ignoreEndVertices&&(s===0&&(o="start"),s===i.length-2&&(o="end"),s===0&&s+1===i.length-1&&(o="both")),Gv(i[s],i[s+1],r,o,typeof e.epsilon>"u"?null:e.epsilon))return!0}return!1}function Gv(n,t,e,r,i){var s=e[0],o=e[1],a=n[0],u=n[1],l=t[0],c=t[1],h=e[0]-a,d=e[1]-u,g=l-a,y=c-u,C=h*y-d*g;if(i!==null){if(Math.abs(C)>i)return!1}else if(C!==0)return!1;if(r){if(r==="start")return Math.abs(g)>=Math.abs(y)?g>0?a<s&&s<=l:l<=s&&s<a:y>0?u<o&&o<=c:c<=o&&o<u;if(r==="end")return Math.abs(g)>=Math.abs(y)?g>0?a<=s&&s<l:l<s&&s<=a:y>0?u<=o&&o<c:c<o&&o<=u;if(r==="both")return Math.abs(g)>=Math.abs(y)?g>0?a<s&&s<l:l<s&&s<a:y>0?u<o&&o<c:c<o&&o<u}else return Math.abs(g)>=Math.abs(y)?g>0?a<=s&&s<=l:l<=s&&s<=a:y>0?u<=o&&o<=c:c<=o&&o<=u;return!1}function Wv(n,t){var e=br(n),r=br(t),i=e.type,s=r.type,o=e.coordinates,a=r.coordinates;switch(i){case"Point":switch(s){case"Point":return Ql(o,a);default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"Point":return qv(e,r);case"MultiPoint":return Xv(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"Point":return vi(r,e,{ignoreEndVertices:!0});case"LineString":return Jv(e,r);case"MultiPoint":return Hv(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Point":return _n(r,e,{ignoreBoundary:!0});case"LineString":return Bv(e,r);case"Polygon":return jv(e,r);case"MultiPoint":return Yv(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function qv(n,t){var e,r=!1;for(e=0;e<n.coordinates.length;e++)if(Ql(n.coordinates[e],t.coordinates)){r=!0;break}return r}function Xv(n,t){for(var e=0,r=t.coordinates;e<r.length;e++){for(var i=r[e],s=!1,o=0,a=n.coordinates;o<a.length;o++){var u=a[o];if(Ql(i,u)){s=!0;break}}if(!s)return!1}return!0}function Hv(n,t){for(var e=!1,r=0,i=t.coordinates;r<i.length;r++){var s=i[r];if(vi(s,n,{ignoreEndVertices:!0})&&(e=!0),!vi(s,n))return!1}return!!e}function Yv(n,t){for(var e=0,r=t.coordinates;e<r.length;e++){var i=r[e];if(!_n(i,n,{ignoreBoundary:!0}))return!1}return!0}function Jv(n,t){for(var e=!1,r=0,i=t.coordinates;r<i.length;r++){var s=i[r];if(vi({type:"Point",coordinates:s},n,{ignoreEndVertices:!0})&&(e=!0),!vi({type:"Point",coordinates:s},n,{ignoreEndVertices:!1}))return!1}return e}function Bv(n,t){var e=!1,r=0,i=yn(n),s=yn(t);if(!pd(i,s))return!1;for(r;r<t.coordinates.length-1;r++){var o=Zv(t.coordinates[r],t.coordinates[r+1]);if(_n({type:"Point",coordinates:o},n,{ignoreBoundary:!0})){e=!0;break}}return e}function jv(n,t){if(n.type==="Feature"&&n.geometry===null||t.type==="Feature"&&t.geometry===null)return!1;var e=yn(n),r=yn(t);if(!pd(e,r))return!1;for(var i=br(t).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(!_n(c,n))return!1}return!0}function pd(n,t){return!(n[0]>t[0]||n[2]<t[2]||n[1]>t[1]||n[3]<t[3])}function Ql(n,t){return n[0]===t[0]&&n[1]===t[1]}function Zv(n,t){return[(n[0]+t[0])/2,(n[1]+t[1])/2]}function Kv(n,t){var e=br(n),r=br(t),i=e.type,s=r.type;switch(i){case"Point":switch(s){case"MultiPoint":return Qv(e,r);case"LineString":return vi(e,r,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return _n(e,r,{ignoreBoundary:!0});default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"MultiPoint":return $v(e,r);case"LineString":return ty(e,r);case"Polygon":case"MultiPolygon":return ey(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"LineString":return ry(e,r);case"Polygon":case"MultiPolygon":return ny(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Polygon":case"MultiPolygon":return iy(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function Qv(n,t){var e,r=!1;for(e=0;e<t.coordinates.length;e++)if(md(t.coordinates[e],n.coordinates)){r=!0;break}return r}function $v(n,t){for(var e=0;e<n.coordinates.length;e++){for(var r=!1,i=0;i<t.coordinates.length;i++)md(n.coordinates[e],t.coordinates[i])&&(r=!0);if(!r)return!1}return!0}function ty(n,t){for(var e=!1,r=0;r<n.coordinates.length;r++){if(!vi(n.coordinates[r],t))return!1;e||(e=vi(n.coordinates[r],t,{ignoreEndVertices:!0}))}return e}function ey(n,t){for(var e=!0,r=!1,i=0;i<n.coordinates.length;i++){if(r=_n(n.coordinates[1],t),!r){e=!1;break}r=_n(n.coordinates[1],t,{ignoreBoundary:!0})}return e&&r}function ry(n,t){for(var e=0;e<n.coordinates.length;e++)if(!vi(n.coordinates[e],t))return!1;return!0}function ny(n,t){var e=yn(t),r=yn(n);if(!gd(e,r))return!1;for(var i=!1,s=0;s<n.coordinates.length-1;s++){if(!_n(n.coordinates[s],t))return!1;if(i||(i=_n(n.coordinates[s],t,{ignoreBoundary:!0})),!i){var o=sy(n.coordinates[s],n.coordinates[s+1]);i=_n(o,t,{ignoreBoundary:!0})}}return i}function iy(n,t){var e=yn(n),r=yn(t);if(!gd(r,e))return!1;for(var i=0;i<n.coordinates[0].length;i++)if(!_n(n.coordinates[0][i],t))return!1;return!0}function gd(n,t){return!(n[0]>t[0]||n[2]<t[2]||n[1]>t[1]||n[3]<t[3])}function md(n,t){return n[0]===t[0]&&n[1]===t[1]}function sy(n,t){return[(n[0]+t[0])/2,(n[1]+t[1])/2]}function oy(n,t){t===void 0&&(t={});var e=yn(n),r=(e[0]+e[2])/2,i=(e[1]+e[3])/2;return Ut([r,i],t.properties,t)}"fill"in Array.prototype||Object.defineProperty(Array.prototype,"fill",{configurable:!0,value:function(t){if(this===void 0||this===null)throw new TypeError(this+" is not an object");var e=Object(this),r=Math.max(Math.min(e.length,9007199254740991),0)||0,i=1 in arguments&&parseInt(Number(arguments[1]),10)||0;i=i<0?Math.max(r+i,0):Math.min(i,r);var s=2 in arguments&&arguments[2]!==void 0?parseInt(Number(arguments[2]),10)||0:r;for(s=s<0?Math.max(r+arguments[2],0):Math.min(s,r);i<s;)e[i]=t,++i;return e},writable:!0}),Number.isFinite=Number.isFinite||function(n){return typeof n=="number"&&isFinite(n)},Number.isInteger=Number.isInteger||function(n){return typeof n=="number"&&isFinite(n)&&Math.floor(n)===n},Number.parseFloat=Number.parseFloat||parseFloat,Number.isNaN=Number.isNaN||function(n){return n!==n},Math.trunc=Math.trunc||function(n){return n<0?Math.ceil(n):Math.floor(n)};var Ss=function(){};Ss.prototype.interfaces_=function(){return[]},Ss.prototype.getClass=function(){return Ss},Ss.prototype.equalsWithTolerance=function(t,e,r){return Math.abs(t-e)<=r};var zt=function(n){function t(e){n.call(this,e),this.name="IllegalArgumentException",this.message=e,this.stack=new n().stack}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t}(Error),ot=function(){},vd={MAX_VALUE:{configurable:!0}};ot.isNaN=function(t){return Number.isNaN(t)},ot.doubleToLongBits=function(t){return t},ot.longBitsToDouble=function(t){return t},ot.isInfinite=function(t){return!Number.isFinite(t)},vd.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(ot,vd);var fr=function(){},Du=function(){},po=function(){};function dr(){}var D=function n(){if(this.x=null,this.y=null,this.z=null,arguments.length===0)this.x=0,this.y=0,this.z=n.NULL_ORDINATE;else if(arguments.length===1){var t=arguments[0];this.x=t.x,this.y=t.y,this.z=t.z}else arguments.length===2?(this.x=arguments[0],this.y=arguments[1],this.z=n.NULL_ORDINATE):arguments.length===3&&(this.x=arguments[0],this.y=arguments[1],this.z=arguments[2])},Cs={DimensionalComparator:{configurable:!0},serialVersionUID:{configurable:!0},NULL_ORDINATE:{configurable:!0},X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0}};D.prototype.setOrdinate=function(t,e){switch(t){case D.X:this.x=e;break;case D.Y:this.y=e;break;case D.Z:this.z=e;break;default:throw new zt("Invalid ordinate index: "+t)}},D.prototype.equals2D=function(){if(arguments.length===1){var t=arguments[0];return!(this.x!==t.x||this.y!==t.y)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return!(!Ss.equalsWithTolerance(this.x,e.x,r)||!Ss.equalsWithTolerance(this.y,e.y,r))}},D.prototype.getOrdinate=function(t){switch(t){case D.X:return this.x;case D.Y:return this.y;case D.Z:return this.z}throw new zt("Invalid ordinate index: "+t)},D.prototype.equals3D=function(t){return this.x===t.x&&this.y===t.y&&(this.z===t.z||ot.isNaN(this.z))&&ot.isNaN(t.z)},D.prototype.equals=function(t){return t instanceof D?this.equals2D(t):!1},D.prototype.equalInZ=function(t,e){return Ss.equalsWithTolerance(this.z,t.z,e)},D.prototype.compareTo=function(t){var e=t;return this.x<e.x?-1:this.x>e.x?1:this.y<e.y?-1:this.y>e.y?1:0},D.prototype.clone=function(){},D.prototype.copy=function(){return new D(this)},D.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},D.prototype.distance3D=function(t){var e=this.x-t.x,r=this.y-t.y,i=this.z-t.z;return Math.sqrt(e*e+r*r+i*i)},D.prototype.distance=function(t){var e=this.x-t.x,r=this.y-t.y;return Math.sqrt(e*e+r*r)},D.prototype.hashCode=function(){var t=17;return t=37*t+D.hashCode(this.x),t=37*t+D.hashCode(this.y),t},D.prototype.setCoordinate=function(t){this.x=t.x,this.y=t.y,this.z=t.z},D.prototype.interfaces_=function(){return[fr,Du,dr]},D.prototype.getClass=function(){return D},D.hashCode=function(){if(arguments.length===1){var t=arguments[0],e=ot.doubleToLongBits(t);return Math.trunc((e^e)>>>32)}},Cs.DimensionalComparator.get=function(){return yi},Cs.serialVersionUID.get=function(){return 6683108902428367e3},Cs.NULL_ORDINATE.get=function(){return ot.NaN},Cs.X.get=function(){return 0},Cs.Y.get=function(){return 1},Cs.Z.get=function(){return 2},Object.defineProperties(D,Cs);var yi=function(t){if(this._dimensionsToTest=2,arguments.length!==0){if(arguments.length===1){var e=arguments[0];if(e!==2&&e!==3)throw new zt("only 2 or 3 dimensions may be specified");this._dimensionsToTest=e}}};yi.prototype.compare=function(t,e){var r=t,i=e,s=yi.compare(r.x,i.x);if(s!==0)return s;var o=yi.compare(r.y,i.y);if(o!==0)return o;if(this._dimensionsToTest<=2)return 0;var a=yi.compare(r.z,i.z);return a},yi.prototype.interfaces_=function(){return[po]},yi.prototype.getClass=function(){return yi},yi.compare=function(t,e){return t<e?-1:t>e?1:ot.isNaN(t)?ot.isNaN(e)?0:-1:ot.isNaN(e)?1:0};var go=function(){};go.prototype.create=function(){},go.prototype.interfaces_=function(){return[]},go.prototype.getClass=function(){return go};var R=function(){},La={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};R.prototype.interfaces_=function(){return[]},R.prototype.getClass=function(){return R},R.toLocationSymbol=function(t){switch(t){case R.EXTERIOR:return"e";case R.BOUNDARY:return"b";case R.INTERIOR:return"i";case R.NONE:return"-"}throw new zt("Unknown location value: "+t)},La.INTERIOR.get=function(){return 0},La.BOUNDARY.get=function(){return 1},La.EXTERIOR.get=function(){return 2},La.NONE.get=function(){return-1},Object.defineProperties(R,La);var nt=function(n,t){return n.interfaces_&&n.interfaces_().indexOf(t)>-1},nr=function(){},yd={LOG_10:{configurable:!0}};nr.prototype.interfaces_=function(){return[]},nr.prototype.getClass=function(){return nr},nr.log10=function(t){var e=Math.log(t);return ot.isInfinite(e)||ot.isNaN(e)?e:e/nr.LOG_10},nr.min=function(t,e,r,i){var s=t;return e<s&&(s=e),r<s&&(s=r),i<s&&(s=i),s},nr.clamp=function(){if(typeof arguments[2]=="number"&&typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var t=arguments[0],e=arguments[1],r=arguments[2];return t<e?e:t>r?r:t}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}},nr.wrap=function(t,e){return t<0?e- -t%e:t%e},nr.max=function(){if(arguments.length===3){var t=arguments[0],e=arguments[1],r=arguments[2],i=t;return e>i&&(i=e),r>i&&(i=r),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}},nr.average=function(t,e){return(t+e)/2},yd.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(nr,yd);var Ur=function(t){this.str=t};Ur.prototype.append=function(t){this.str+=t},Ur.prototype.setCharAt=function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)},Ur.prototype.toString=function(t){return this.str};var Gr=function(t){this.value=t};Gr.prototype.intValue=function(){return this.value},Gr.prototype.compareTo=function(t){return this.value<t?-1:this.value>t?1:0},Gr.isNaN=function(t){return Number.isNaN(t)};var Aa=function(){};Aa.isWhitespace=function(t){return t<=32&&t>=0||t===127},Aa.toUpperCase=function(t){return t.toUpperCase()};var k=function n(){if(this._hi=0,this._lo=0,arguments.length===0)this.init(0);else if(arguments.length===1){if(typeof arguments[0]=="number"){var t=arguments[0];this.init(t)}else if(arguments[0]instanceof n){var e=arguments[0];this.init(e)}else if(typeof arguments[0]=="string"){var r=arguments[0];n.call(this,n.parse(r))}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];this.init(i,s)}},Nr={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(t){return(this._hi<t._hi||this._hi===t._hi)&&this._lo<=t._lo},k.prototype.extractSignificantDigits=function(t,e){var r=this.abs(),i=k.magnitude(r._hi),s=k.TEN.pow(i);r=r.divide(s),r.gt(k.TEN)?(r=r.divide(k.TEN),i+=1):r.lt(k.ONE)&&(r=r.multiply(k.TEN),i-=1);for(var o=i+1,a=new Ur,u=k.MAX_PRINT_DIGITS-1,l=0;l<=u;l++){t&&l===o&&a.append(".");var c=Math.trunc(r._hi);if(c<0)break;var h=!1,d=0;c>9?(h=!0,d="9"):d="0"+c,a.append(d),r=r.subtract(k.valueOf(c)).multiply(k.TEN),h&&r.selfAdd(k.TEN);var g=!0,y=k.magnitude(r._hi);if(y<0&&Math.abs(y)>=u-l&&(g=!1),!g)break}return e[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 t=arguments[0];return this.add(t.negate())}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.add(-e)}},k.prototype.equals=function(){if(arguments.length===1){var t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}},k.prototype.isZero=function(){return this._hi===0&&this._lo===0},k.prototype.selfSubtract=function(){if(arguments[0]instanceof k){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.isNaN()?this:this.selfAdd(-e,0)}},k.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},k.prototype.min=function(t){return this.le(t)?this:t},k.prototype.selfDivide=function(){if(arguments.length===1){if(arguments[0]instanceof k){var t=arguments[0];return this.selfDivide(t._hi,t._lo)}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.selfDivide(e,0)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=null,o=null,a=null,u=null,l=null,c=null,h=null,d=null;return l=this._hi/r,c=k.SPLIT*l,s=c-l,d=k.SPLIT*r,s=c-s,o=l-s,a=d-r,h=l*r,a=d-a,u=r-a,d=s*a-h+s*u+o*a+o*u,c=(this._hi-h-d+this._lo-l*i)/r,d=l+c,this._hi=d,this._lo=l-d+c,this}},k.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},k.prototype.divide=function(){if(arguments[0]instanceof k){var t=arguments[0],e=null,r=null,i=null,s=null,o=null,a=null,u=null,l=null;o=this._hi/t._hi,a=k.SPLIT*o,e=a-o,l=k.SPLIT*t._hi,e=a-e,r=o-e,i=l-t._hi,u=o*t._hi,i=l-i,s=t._hi-i,l=e*i-u+e*s+r*i+r*s,a=(this._hi-u-l+this._lo-o*t._lo)/t._hi,l=o+a;var c=l,h=o-l+a;return new k(c,h)}else if(typeof arguments[0]=="number"){var d=arguments[0];return ot.isNaN(d)?k.createNaN():k.copy(this).selfDivide(d,0)}},k.prototype.ge=function(t){return(this._hi>t._hi||this._hi===t._hi)&&this._lo>=t._lo},k.prototype.pow=function(t){if(t===0)return k.valueOf(1);var e=new k(this),r=k.valueOf(1),i=Math.abs(t);if(i>1)for(;i>0;)i%2===1&&r.selfMultiply(e),i/=2,i>0&&(e=e.sqr());else r=e;return t<0?r.reciprocal():r},k.prototype.ceil=function(){if(this.isNaN())return k.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new k(t,e)},k.prototype.compareTo=function(t){var e=t;return this._hi<e._hi?-1:this._hi>e._hi?1:this._lo<e._lo?-1:this._lo>e._lo?1:0},k.prototype.rint=function(){if(this.isNaN())return this;var t=this.add(.5);return t.floor()},k.prototype.setValue=function(){if(arguments[0]instanceof k){var t=arguments[0];return this.init(t),this}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.init(e),this}},k.prototype.max=function(t){return this.ge(t)?this:t},k.prototype.sqrt=function(){if(this.isZero())return k.valueOf(0);if(this.isNegative())return k.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,r=k.valueOf(e),i=this.subtract(r.sqr()),s=i._hi*(t*.5);return r.add(s)},k.prototype.selfAdd=function(){if(arguments.length===1){if(arguments[0]instanceof k){var t=arguments[0];return this.selfAdd(t._hi,t._lo)}else if(typeof arguments[0]=="number"){var e=arguments[0],r=null,i=null,s=null,o=null,a=null,u=null;return s=this._hi+e,a=s-this._hi,o=s-a,o=e-a+(this._hi-o),u=o+this._lo,r=s+u,i=u+(s-r),this._hi=r+i,this._lo=i+(r-this._hi),this}}else if(arguments.length===2){var l=arguments[0],c=arguments[1],h=null,d=null,g=null,y=null,C=null,P=null,T=null,v=null;C=this._hi+l,g=this._lo+c,T=C-this._hi,v=g-this._lo,P=C-T,y=g-v,P=l-T+(this._hi-P),y=c-v+(this._lo-y),T=P+g,h=C+T,d=T+(C-h),T=y+d;var w=h+T,m=T+(h-w);return this._hi=w,this._lo=m,this}},k.prototype.selfMultiply=function(){if(arguments.length===1){if(arguments[0]instanceof k){var t=arguments[0];return this.selfMultiply(t._hi,t._lo)}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.selfMultiply(e,0)}}else if(arguments.length===2){var r=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*r,s=l-s,o=this._hi-s,a=c-r,l=this._hi*r,a=c-a,u=r-a,c=s*a-l+s*u+o*a+o*u+(this._hi*i+this._lo*r);var h=l+c;s=l-h;var d=c+s;return this._hi=h,this._lo=d,this}},k.prototype.selfSqr=function(){return this.selfMultiply(this)},k.prototype.floor=function(){if(this.isNaN())return k.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new k(t,e)},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 t=arguments[0];return t.isNaN()?k.createNaN():k.copy(this).selfMultiply(t)}else if(typeof arguments[0]=="number"){var e=arguments[0];return ot.isNaN(e)?k.createNaN():k.copy(this).selfMultiply(e,0)}},k.prototype.isNaN=function(){return ot.isNaN(this._hi)},k.prototype.intValue=function(){return Math.trunc(this._hi)},k.prototype.toString=function(){var t=k.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()},k.prototype.toStandardNotation=function(){var t=this.getSpecialNumberString();if(t!==null)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!0,e),i=e[0]+1,s=r;if(r.charAt(0)===".")s="0"+r;else if(i<0)s="0."+k.stringOfChar("0",-i)+r;else if(r.indexOf(".")===-1){var o=i-r.length,a=k.stringOfChar("0",o);s=r+a+".0"}return this.isNegative()?"-"+s:s},k.prototype.reciprocal=function(){var t=null,e=null,r=null,i=null,s=null,o=null,a=null,u=null;s=1/this._hi,o=k.SPLIT*s,t=o-s,u=k.SPLIT*this._hi,t=o-t,e=s-t,r=u-this._hi,a=s*this._hi,r=u-r,i=this._hi-r,u=t*r-a+t*i+e*r+e*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 t=this.getSpecialNumberString();if(t!==null)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!1,e),i=k.SCI_NOT_EXPONENT_CHAR+e[0];if(r.charAt(0)==="0")throw new Error("Found leading zero: "+r);var s="";r.length>1&&(s=r.substring(1));var o=r.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(t){return(this._hi<t._hi||this._hi===t._hi)&&this._lo<t._lo},k.prototype.add=function(){if(arguments[0]instanceof k){var t=arguments[0];return k.copy(this).selfAdd(t)}else if(typeof arguments[0]=="number"){var e=arguments[0];return k.copy(this).selfAdd(e)}},k.prototype.init=function(){if(arguments.length===1){if(typeof arguments[0]=="number"){var t=arguments[0];this._hi=t,this._lo=0}else if(arguments[0]instanceof k){var e=arguments[0];this._hi=e._hi,this._lo=e._lo}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this._hi=r,this._lo=i}},k.prototype.gt=function(t){return(this._hi>t._hi||this._hi===t._hi)&&this._lo>t._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[dr,fr,Du]},k.prototype.getClass=function(){return k},k.sqr=function(t){return k.valueOf(t).selfMultiply(t)},k.valueOf=function(){if(typeof arguments[0]=="string"){var t=arguments[0];return k.parse(t)}else if(typeof arguments[0]=="number"){var e=arguments[0];return new k(e)}},k.sqrt=function(t){return k.valueOf(t).sqrt()},k.parse=function(t){for(var e=0,r=t.length;Aa.isWhitespace(t.charAt(e));)e++;var i=!1;if(e<r){var s=t.charAt(e);(s==="-"||s==="+")&&(e++,s==="-"&&(i=!0))}for(var o=new k,a=0,u=0,l=0;!(e>=r);){var c=t.charAt(e);if(e++,Aa.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 d=t.substring(e);try{l=Gr.parseInt(d)}catch(T){throw T instanceof Error?new Error("Invalid exponent "+d+" in string "+t):T}finally{}break}throw new Error("Unexpected character '"+c+"' at position "+e+" in string "+t)}var g=o,y=a-u-l;if(y===0)g=o;else if(y>0){var C=k.TEN.pow(y);g=o.divide(C)}else if(y<0){var P=k.TEN.pow(-y);g=o.multiply(P)}return i?g.negate():g},k.createNaN=function(){return new k(ot.NaN,ot.NaN)},k.copy=function(t){return new k(t)},k.magnitude=function(t){var e=Math.abs(t),r=Math.log(e)/Math.log(10),i=Math.trunc(Math.floor(r)),s=Math.pow(10,i);return s*10<=e&&(i+=1),i},k.stringOfChar=function(t,e){for(var r=new Ur,i=0;i<e;i++)r.append(t);return r.toString()},Nr.PI.get=function(){return new k(3.141592653589793,12246467991473532e-32)},Nr.TWO_PI.get=function(){return new k(6.283185307179586,24492935982947064e-32)},Nr.PI_2.get=function(){return new k(1.5707963267948966,6123233995736766e-32)},Nr.E.get=function(){return new k(2.718281828459045,14456468917292502e-32)},Nr.NaN.get=function(){return new k(ot.NaN,ot.NaN)},Nr.EPS.get=function(){return 123259516440783e-46},Nr.SPLIT.get=function(){return 134217729},Nr.MAX_PRINT_DIGITS.get=function(){return 32},Nr.TEN.get=function(){return k.valueOf(10)},Nr.ONE.get=function(){return k.valueOf(1)},Nr.SCI_NOT_EXPONENT_CHAR.get=function(){return"E"},Nr.SCI_NOT_ZERO.get=function(){return"0.0E0"},Object.defineProperties(k,Nr);var Re=function(){},_d={DP_SAFE_EPSILON:{configurable:!0}};Re.prototype.interfaces_=function(){return[]},Re.prototype.getClass=function(){return Re},Re.orientationIndex=function(t,e,r){var i=Re.orientationIndexFilter(t,e,r);if(i<=1)return i;var s=k.valueOf(e.x).selfAdd(-t.x),o=k.valueOf(e.y).selfAdd(-t.y),a=k.valueOf(r.x).selfAdd(-e.x),u=k.valueOf(r.y).selfAdd(-e.y);return s.selfMultiply(u).selfSubtract(o.selfMultiply(a)).signum()},Re.signOfDet2x2=function(t,e,r,i){var s=t.multiply(i).selfSubtract(e.multiply(r));return s.signum()},Re.intersection=function(t,e,r,i){var s=k.valueOf(i.y).selfSubtract(r.y).selfMultiply(k.valueOf(e.x).selfSubtract(t.x)),o=k.valueOf(i.x).selfSubtract(r.x).selfMultiply(k.valueOf(e.y).selfSubtract(t.y)),a=s.subtract(o),u=k.valueOf(i.x).selfSubtract(r.x).selfMultiply(k.valueOf(t.y).selfSubtract(r.y)),l=k.valueOf(i.y).selfSubtract(r.y).selfMultiply(k.valueOf(t.x).selfSubtract(r.x)),c=u.subtract(l),h=c.selfDivide(a).doubleValue(),d=k.valueOf(t.x).selfAdd(k.valueOf(e.x).selfSubtract(t.x).selfMultiply(h)).doubleValue(),g=k.valueOf(e.x).selfSubtract(t.x).selfMultiply(k.valueOf(t.y).selfSubtract(r.y)),y=k.valueOf(e.y).selfSubtract(t.y).selfMultiply(k.valueOf(t.x).selfSubtract(r.x)),C=g.subtract(y),P=C.selfDivide(a).doubleValue(),T=k.valueOf(r.y).selfAdd(k.valueOf(i.y).selfSubtract(r.y).selfMultiply(P)).doubleValue();return new D(d,T)},Re.orientationIndexFilter=function(t,e,r){var i=null,s=(t.x-r.x)*(e.y-r.y),o=(t.y-r.y)*(e.x-r.x),a=s-o;if(s>0){if(o<=0)return Re.signum(a);i=s+o}else if(s<0){if(o>=0)return Re.signum(a);i=-s-o}else return Re.signum(a);var u=Re.DP_SAFE_EPSILON*i;return a>=u||-a>=u?Re.signum(a):2},Re.signum=function(t){return t>0?1:t<0?-1:0},_d.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(Re,_d);var _t=function(){},Ra={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};Ra.X.get=function(){return 0},Ra.Y.get=function(){return 1},Ra.Z.get=function(){return 2},Ra.M.get=function(){return 3},_t.prototype.setOrdinate=function(t,e,r){},_t.prototype.size=function(){},_t.prototype.getOrdinate=function(t,e){},_t.prototype.getCoordinate=function(){},_t.prototype.getCoordinateCopy=function(t){},_t.prototype.getDimension=function(){},_t.prototype.getX=function(t){},_t.prototype.clone=function(){},_t.prototype.expandEnvelope=function(t){},_t.prototype.copy=function(){},_t.prototype.getY=function(t){},_t.prototype.toCoordinateArray=function(){},_t.prototype.interfaces_=function(){return[Du]},_t.prototype.getClass=function(){return _t},Object.defineProperties(_t,Ra);var wd=function(){},mo=function(n){function t(){n.call(this,"Projective point not representable on the Cartesian plane.")}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(wd),he=function(){};he.arraycopy=function(t,e,r,i,s){for(var o=0,a=e;a<e+s;a++)r[i+o]=t[a],o++},he.getProperty=function(t){return{"line.separator":`
|
|
41
|
+
`,Ue=class Ue extends H{constructor(){super();f(this,"_ratio",this.dv(p.react(0)));f(this,"_subPlayers",this.dv(new p.ObservableArray));const e=this.dv(new p.Player);{const o=()=>{e.loop=this.loop??Ue.defaults.loop};o(),this.d(this.loopChanged.don(o))}{const o=()=>{(this.loop??Ue.defaults.loop)!==e.loop&&(this.loop=e.loop)};o(),this.d(e.loopChangedEvent.don(o))}{const o=()=>{e.currentTime=this.currentTime??Ue.defaults.currentTime};o(),this.d(this.currentTimeChanged.don(o))}{const o=()=>{(this.currentTime??Ue.defaults.currentTime)!==e.currentTime&&(this.currentTime=e.currentTime)};o(),this.d(e.currentTimeChangedEvent.don(o))}{const o=()=>{e.duration=this.duration??Ue.defaults.duration};o(),this.d(this.durationChanged.don(o))}{const o=()=>{(this.duration??Ue.defaults.duration)!==e.duration&&(this.duration=e.duration)};o(),this.d(e.durationChangedEvent.don(o))}{const o=()=>{e.speed=this.speed??Ue.defaults.speed};o(),this.d(this.speedChanged.don(o))}{const o=()=>{(this.speed??Ue.defaults.speed)!==e.speed&&(this.speed=e.speed)};o(),this.d(e.speedChangedEvent.don(o))}{const o=()=>{e.playing=this.playing??Ue.defaults.playing};o(),this.d(this.playingChanged.don(o))}{const o=()=>{(this.playing??Ue.defaults.playing)!==e.playing&&(this.playing=e.playing)};o(),this.d(e.playingChangedEvent.don(o))}const r=()=>{const o=this.duration??Ue.defaults.duration;o>0&&(this._ratio.value=(this.currentTime??Ue.defaults.currentTime)/o)};r();const i=this.dv(p.createNextAnimateFrameEvent(this.currentTimeChanged,this.durationChanged));this.d(i.don(r)),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 Gm(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(e){Math.abs(this._ratio.value-e)<.001||(this.currentTime=(this.duration??Ue.defaults.duration)*e)}get ratioChanged(){return this._ratio.changed}};f(Ue,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),f(Ue,"channelsReadMe",Wm);let gn=Ue;(n=>{n.createDefaultProps=()=>({loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:p.reactDeepArrayWithUndefined(void 0,(t,e)=>t==null?void 0:t.every((r,i)=>r===e[i]),t=>[...t])})})(gn||(gn={})),p.extendClassProps(gn.prototype,gn.createDefaultProps);class Ul extends H{constructor(e){super();f(this,"_sceneObject",this.dv(p.react(void 0)));this._id=e,this.d(()=>{this._sceneObject.value=void 0});const r=tt.getSceneObjById(this._id);r&&(this._sceneObject.value=r),this.d(tt.context.sceneObjCreatedEvent.don(i=>{i.id===this._id&&(this._sceneObject.value=i)})),this.d(tt.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 qm extends H{constructor(e,r){super();f(this,"_sofi");this._id=e,this._sofi=this.dv(new Ul(this._id));{const i=()=>{r.sceneObject=this._sofi.sceneObject};i(),this.d(this._sofi.sceneObjectChanged.don(i))}}}class Xm extends H{constructor(){super();f(this,"_id",this.dv(p.react(void 0)));f(this,"_sceneObject",this.dv(p.react(void 0)));f(this,"_resetting",this.dv(new p.ObjResettingWithEvent(this.idChanged,()=>{const{id:e}=this;if(e===void 0||e===""){this.sceneObject=void 0;return}return new qm(e,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(e){this._id.value=e}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(e){this._sceneObject.value=e}get resetting(){return this._resetting}}class Hm extends H{constructor(t,e,r,i){super(),this.disposeVar(new p.ObjResettingWithEvent(t.sceneObjectChanged,()=>{let s;i.debug&&console.log("正在获取Event事件...");const o=t.sceneObject;if(o&&e){const a=e.split(".");if(a.length===0)i.debug&&console.warn("propNames.length === 0");else{let u=p.pluckProperty(o,!1,...a);(!u||!(u instanceof V))&&(a[a.length-1]=a[a.length-1]+"Changed",i.debug&&console.warn(`event未能获取,那么将属性名的最后一项加上Changed(${a[a.length-1]})再试试!`),u=p.pluckProperty(o,!1,...a),i.debug&&u&&console.warn("event仍然获取不到!")),u?u instanceof V?(s=u,i.debug&&console.log(`Event获取成功 propChangedName: ${e}`,s)):i.debug&&console.warn(`the prop is not event from ${o.id}-${o.name}-${o.ref}-${e}`):i.debug&&console.warn(`cannot get changed from ${o.id}-${o.name}-${o.ref}-${e}`)}}if(s){const a=new H;return a.d(s.dwon(()=>r.emit())),a}else{i.debug&&console.log(`未获取到Event!propChangedName: ${e}`);return}}))}}const Lf=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:class extends H{constructor(e,r,i){super();f(this,"_doEvalEvent",this.dv(new V));const s=this._doEvalEvent,o=this.disposeVar(p.createNextAnimateFrameEvent(s)),a=e.map(([u,l])=>{const c=new Ul(u),h=l&&new Hm(c,l,s,r)||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}=r;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}=r;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:Ym}=Lf;class Ta extends H{constructor(){super();f(this,"_evalFunc");f(this,"_forceExecute",new V);const e=this.dv(p.react(void 0)),r=()=>{try{e.value=this.evalFuncStr&&Function('"use strict";return ('+this.evalFuncStr+")")(),this.debug&&console.log("evalFunc成功构建",e.value)}catch(o){console.error(`evalFunc get error! ${o}`),e.value=void 0}};r(),this.dispose(this.evalFuncStrChanged.disposableOn(r));const i=o=>{this.enabled&&(this.debug&&console.log("执行evalFunc..."),this._evalFunc&&this._evalFunc(o),e.value&&e.value(o))},s=this.disposeVar(new p.ObjResettingWithEvent(this.objIdAndPropChangedNamesChanged,()=>{if(this.objIdAndPropChangedNames.length>0)return this.debug&&console.log("监视对象发生变化,重新创建WatcherObjects"),new Ym(this.objIdAndPropChangedNames,this,i)}));this.dispose(this._forceExecute.disposableOn(()=>{var o;(o=s.obj)==null||o.forceExecute()}))}get evalFunc(){return this._evalFunc}set evalFunc(e){this._evalFunc=e}forceExecute(){this._forceExecute.emit()}}(n=>{n.createDefaultProps=()=>({enabled:!1,objIdAndPropChangedNames:p.reactDeepArray([],(t,e)=>t[0]===e[0]&&t[1]===e[1],t=>[t[0],t[1]]),evalFuncStr:"",evalMode:"NextAnimateFrame",evalOnlyWhenObjsAllExist:!0,debug:!1,name:"未命名场景对象",ref:void 0,extras:p.reactJson(void 0),devTags:p.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(Ta||(Ta={})),p.extendClassProps(Ta.prototype,Ta.createDefaultProps);const Af=vs("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=geocent +datum=WGS84");function Xn(n){return Af.forward(n)}function Rf(n){return Af.inverse(n)}const Ff=vs("+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 Jm(n){const t=Ff.forward([n[0],n[1]]);return[t[0],t[1],n[2]]}function Bm(n){const t=Ff.inverse([n[0],n[1]]);return[t[0],t[1],n[2]]}function jm(n,t){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1])&&n.push(n[0]);const e=Le.point(t),r=Le.polygon([n]);return Le.booleanPointInPolygon(e,r)}var Ae=63710088e-1,kf={centimeters:Ae*100,centimetres:Ae*100,degrees:Ae/111325,feet:Ae*3.28084,inches:Ae*39.37,kilometers:Ae/1e3,kilometres:Ae/1e3,meters:Ae,metres:Ae,miles:Ae/1609.344,millimeters:Ae*1e3,millimetres:Ae*1e3,nauticalmiles:Ae/1852,radians:1,yards:Ae*1.0936};function mn(n,t,e){e===void 0&&(e={});var r={type:"Feature"};return(e.id===0||e.id)&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.properties=t||{},r.geometry=n,r}function Ut(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("coordinates is required");if(!Array.isArray(n))throw new Error("coordinates must be an Array");if(n.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Vf(n[0])||!Vf(n[1]))throw new Error("coordinates must contain numbers");var r={type:"Point",coordinates:n};return mn(r,t,e)}function er(n,t,e){e===void 0&&(e={});for(var r=0,i=n;r<i.length;r++){var s=i[r];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:n};return mn(a,t,e)}function vn(n,t,e){if(e===void 0&&(e={}),n.length<2)throw new Error("coordinates must be an array of two or more positions");var r={type:"LineString",coordinates:n};return mn(r,t,e)}function co(n,t){t===void 0&&(t={});var e={type:"FeatureCollection"};return t.id&&(e.id=t.id),t.bbox&&(e.bbox=t.bbox),e.features=n,e}function Gl(n,t,e){e===void 0&&(e={});var r={type:"MultiPolygon",coordinates:n};return mn(r,t,e)}function Wl(n,t){t===void 0&&(t="kilometers");var e=kf[t];if(!e)throw new Error(t+" units is invalid");return n*e}function ql(n,t){t===void 0&&(t="kilometers");var e=kf[t];if(!e)throw new Error(t+" units is invalid");return n/e}function Cu(n){var t=n%(2*Math.PI);return t*180/Math.PI}function qe(n){var t=n%360;return t*Math.PI/180}function Xl(n,t,e){if(t===void 0&&(t="kilometers"),e===void 0&&(e="kilometers"),!(n>=0))throw new Error("length must be a positive number");return Wl(ql(n,t),e)}function Vf(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}function rr(n){if(!n)throw new Error("coord is required");if(!Array.isArray(n)){if(n.type==="Feature"&&n.geometry!==null&&n.geometry.type==="Point")return n.geometry.coordinates;if(n.type==="Point")return n.coordinates}if(Array.isArray(n)&&n.length>=2&&!Array.isArray(n[0])&&!Array.isArray(n[1]))return n;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function Es(n){if(Array.isArray(n))return n;if(n.type==="Feature"){if(n.geometry!==null)return n.geometry.coordinates}else if(n.coordinates)return n.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function zf(n,t,e){if(!n)throw new Error("No feature passed");if(!e)throw new Error(".featureOf() requires a name");if(!n||n.type!=="Feature"||!n.geometry)throw new Error("Invalid input to "+e+", Feature with geometry required");if(!n.geometry||n.geometry.type!==t)throw new Error("Invalid input to "+e+": must be a "+t+", given "+n.geometry.type)}function br(n){return n.type==="Feature"?n.geometry:n}function Zm(n,t){return n.type==="FeatureCollection"?"FeatureCollection":n.type==="GeometryCollection"?"GeometryCollection":n.type==="Feature"&&n.geometry!==null?n.geometry.type:n.type}function Oa(n,t,e){if(e===void 0&&(e={}),e.final===!0)return Km(n,t);var r=rr(n),i=rr(t),s=qe(r[0]),o=qe(i[0]),a=qe(r[1]),u=qe(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 Cu(Math.atan2(l,c))}function Km(n,t){var e=Oa(t,n);return e=(e+180)%360,e}function ho(n,t,e,r){r===void 0&&(r={});var i=rr(n),s=qe(i[0]),o=qe(i[1]),a=qe(e),u=ql(t,r.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=Cu(c),d=Cu(l);return Ut([h,d],r.properties)}function mi(n,t,e){e===void 0&&(e={});var r=rr(n),i=rr(t),s=qe(i[1]-r[1]),o=qe(i[0]-r[0]),a=qe(r[1]),u=qe(i[1]),l=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(o/2),2)*Math.cos(a)*Math.cos(u);return Wl(2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)),e.units)}function Qm(n,t,e){e===void 0&&(e={});for(var r=br(n),i=r.coordinates,s=0,o=0;o<i.length&&!(t>=s&&o===i.length-1);o++)if(s>=t){var a=t-s;if(a){var u=Oa(i[o],i[o-1])-180,l=ho(i[o],a,u,e);return l}else return Ut(i[o])}else s+=mi(i[o],i[o+1],e);return Ut(i[i.length-1])}function $m(n,t){const e=vn(n);return Qm(e,t,{units:"meters"}).geometry.coordinates}function fo(n,t,e){if(n!==null)for(var r,i,s,o,a,u,l,c=0,h=0,d,g=n.type,y=g==="FeatureCollection",C=g==="Feature",P=y?n.features.length:1,T=0;T<P;T++){l=y?n.features[T].geometry:C?n.geometry:n,d=l?l.type==="GeometryCollection":!1,a=d?l.geometries.length:1;for(var v=0;v<a;v++){var w=0,m=0;if(o=d?l.geometries[v]:l,o!==null){u=o.coordinates;var _=o.type;switch(c=e&&(_==="Polygon"||_==="MultiPolygon")?1:0,_){case null:break;case"Point":if(t(u,h,T,w,m)===!1)return!1;h++,w++;break;case"LineString":case"MultiPoint":for(r=0;r<u.length;r++){if(t(u[r],h,T,w,m)===!1)return!1;h++,_==="MultiPoint"&&w++}_==="LineString"&&w++;break;case"Polygon":case"MultiLineString":for(r=0;r<u.length;r++){for(i=0;i<u[r].length-c;i++){if(t(u[r][i],h,T,w,m)===!1)return!1;h++}_==="MultiLineString"&&w++,_==="Polygon"&&m++}_==="Polygon"&&w++;break;case"MultiPolygon":for(r=0;r<u.length;r++){for(m=0,i=0;i<u[r].length;i++){for(s=0;s<u[r][i].length-c;s++){if(t(u[r][i][s],h,T,w,m)===!1)return!1;h++}m++}w++}break;case"GeometryCollection":for(r=0;r<o.geometries.length;r++)if(fo(o.geometries[r],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function Iu(n,t){if(n.type==="Feature")t(n,0);else if(n.type==="FeatureCollection")for(var e=0;e<n.features.length&&t(n.features[e],e)!==!1;e++);}function Pu(n,t){var e,r,i,s,o,a,u,l,c,h,d=0,g=n.type==="FeatureCollection",y=n.type==="Feature",C=g?n.features.length:1;for(e=0;e<C;e++){for(a=g?n.features[e].geometry:y?n.geometry:n,l=g?n.features[e].properties:y?n.properties:{},c=g?n.features[e].bbox:y?n.bbox:void 0,h=g?n.features[e].id:y?n.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(t(null,d,l,c,h)===!1)return!1;continue}switch(s.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(t(s,d,l,c,h)===!1)return!1;break}case"GeometryCollection":{for(r=0;r<s.geometries.length;r++)if(t(s.geometries[r],d,l,c,h)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}d++}}function tv(n,t,e){var r=e;return Pu(n,function(i,s,o,a,u){r=t(r,i,s,o,a,u)}),r}function Hl(n,t){Pu(n,function(e,r,i,s,o){var a=e===null?null:e.type;switch(a){case null:case"Point":case"LineString":case"Polygon":return t(mn(e,i,{bbox:s,id:o}),r,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<e.coordinates.length;l++){var c=e.coordinates[l],h={type:u,coordinates:c};if(t(mn(h,i),r,l)===!1)return!1}})}function ev(n,t){Hl(n,function(e,r,i){var s=0;if(e.geometry){var o=e.geometry.type;if(!(o==="Point"||o==="MultiPoint")){var a,u=0,l=0,c=0;if(fo(e,function(h,d,g,y,C){if(a===void 0||r>u||y>l||C>c){a=h,u=r,l=y,c=C,s=0;return}var P=vn([a,h],e.properties);if(t(P,r,i,C,s)===!1)return!1;s++,a=h})===!1)return!1}}})}var Uf=6378137;function rv(n){return tv(n,function(t,e){return t+nv(e)},0)}function nv(n){var t=0,e;switch(n.type){case"Polygon":return Gf(n.coordinates);case"MultiPolygon":for(e=0;e<n.coordinates.length;e++)t+=Gf(n.coordinates[e]);return t;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function Gf(n){var t=0;if(n&&n.length>0){t+=Math.abs(Wf(n[0]));for(var e=1;e<n.length;e++)t-=Math.abs(Wf(n[e]))}return t}function Wf(n){var t,e,r,i,s,o,a,u=0,l=n.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),t=n[i],e=n[s],r=n[o],u+=(Yl(r[0])-Yl(t[0]))*Math.sin(Yl(e[1]));u=u*Uf*Uf/2}return u}function Yl(n){return n*Math.PI/180}function Jl(n){if((n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),n.length<=3)return 0;const t=er([n]);return rv(t)}function qf(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function iv(n){if(Object.prototype.hasOwnProperty.call(n,"__esModule"))return n;var t=n.default;if(typeof t=="function"){var e=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(n).forEach(function(r){var i=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return n[r]}})}),e}var bu={exports:{}},Nu={exports:{}},sv=Nu.exports,Xf;function Hf(){return Xf||(Xf=1,function(n,t){(function(e,r){n.exports=r()})(sv,function(){function e(v,w,m,_,E){(function I(b,O,M,N,x){for(;N>M;){if(N-M>600){var A=N-M+1,F=O-M+1,Y=Math.log(A),G=.5*Math.exp(2*Y/3),K=.5*Math.sqrt(Y*G*(A-G)/A)*(F-A/2<0?-1:1),at=Math.max(M,Math.floor(O-F*G/A+K)),ft=Math.min(N,Math.floor(O+(A-F)*G/A+K));I(b,O,at,ft,x)}var X=b[O],J=M,B=N;for(r(b,M,O),x(b[N],X)>0&&r(b,M,N);J<B;){for(r(b,J,B),J++,B--;x(b[J],X)<0;)J++;for(;x(b[B],X)>0;)B--}x(b[M],X)===0?r(b,M,B):r(b,++B,N),B<=O&&(M=B+1),O<=B&&(N=B-1)}})(v,w,m||0,_||v.length-1,E||i)}function r(v,w,m){var _=v[w];v[w]=v[m],v[m]=_}function i(v,w){return v<w?-1:v>w?1:0}var s=function(v){v===void 0&&(v=9),this._maxEntries=Math.max(4,v),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(v,w,m){if(!m)return w.indexOf(v);for(var _=0;_<w.length;_++)if(m(v,w[_]))return _;return-1}function a(v,w){u(v,0,v.children.length,w,v)}function u(v,w,m,_,E){E||(E=P(null)),E.minX=1/0,E.minY=1/0,E.maxX=-1/0,E.maxY=-1/0;for(var I=w;I<m;I++){var b=v.children[I];l(E,v.leaf?_(b):b)}return E}function l(v,w){return v.minX=Math.min(v.minX,w.minX),v.minY=Math.min(v.minY,w.minY),v.maxX=Math.max(v.maxX,w.maxX),v.maxY=Math.max(v.maxY,w.maxY),v}function c(v,w){return v.minX-w.minX}function h(v,w){return v.minY-w.minY}function d(v){return(v.maxX-v.minX)*(v.maxY-v.minY)}function g(v){return v.maxX-v.minX+(v.maxY-v.minY)}function y(v,w){return v.minX<=w.minX&&v.minY<=w.minY&&w.maxX<=v.maxX&&w.maxY<=v.maxY}function C(v,w){return w.minX<=v.maxX&&w.minY<=v.maxY&&w.maxX>=v.minX&&w.maxY>=v.minY}function P(v){return{children:v,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function T(v,w,m,_,E){for(var I=[w,m];I.length;)if(!((m=I.pop())-(w=I.pop())<=_)){var b=w+Math.ceil((m-w)/_/2)*_;e(v,b,w,m,E),I.push(w,b,b,m)}}return s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(v){var w=this.data,m=[];if(!C(v,w))return m;for(var _=this.toBBox,E=[];w;){for(var I=0;I<w.children.length;I++){var b=w.children[I],O=w.leaf?_(b):b;C(v,O)&&(w.leaf?m.push(b):y(v,O)?this._all(b,m):E.push(b))}w=E.pop()}return m},s.prototype.collides=function(v){var w=this.data;if(!C(v,w))return!1;for(var m=[];w;){for(var _=0;_<w.children.length;_++){var E=w.children[_],I=w.leaf?this.toBBox(E):E;if(C(v,I)){if(w.leaf||y(v,I))return!0;m.push(E)}}w=m.pop()}return!1},s.prototype.load=function(v){if(!v||!v.length)return this;if(v.length<this._minEntries){for(var w=0;w<v.length;w++)this.insert(v[w]);return this}var m=this._build(v.slice(),0,v.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 _=this.data;this.data=m,m=_}this._insert(m,this.data.height-m.height-1,!0)}else this.data=m;return this},s.prototype.insert=function(v){return v&&this._insert(v,this.data.height-1),this},s.prototype.clear=function(){return this.data=P([]),this},s.prototype.remove=function(v,w){if(!v)return this;for(var m,_,E,I=this.data,b=this.toBBox(v),O=[],M=[];I||O.length;){if(I||(I=O.pop(),_=O[O.length-1],m=M.pop(),E=!0),I.leaf){var N=o(v,I.children,w);if(N!==-1)return I.children.splice(N,1),O.push(I),this._condense(O),this}E||I.leaf||!y(I,b)?_?(m++,I=_.children[m],E=!1):I=null:(O.push(I),M.push(m),m=0,_=I,I=I.children[0])}return this},s.prototype.toBBox=function(v){return v},s.prototype.compareMinX=function(v,w){return v.minX-w.minX},s.prototype.compareMinY=function(v,w){return v.minY-w.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(v){return this.data=v,this},s.prototype._all=function(v,w){for(var m=[];v;)v.leaf?w.push.apply(w,v.children):m.push.apply(m,v.children),v=m.pop();return w},s.prototype._build=function(v,w,m,_){var E,I=m-w+1,b=this._maxEntries;if(I<=b)return a(E=P(v.slice(w,m+1)),this.toBBox),E;_||(_=Math.ceil(Math.log(I)/Math.log(b)),b=Math.ceil(I/Math.pow(b,_-1))),(E=P([])).leaf=!1,E.height=_;var O=Math.ceil(I/b),M=O*Math.ceil(Math.sqrt(b));T(v,w,m,M,this.compareMinX);for(var N=w;N<=m;N+=M){var x=Math.min(N+M-1,m);T(v,N,x,O,this.compareMinY);for(var A=N;A<=x;A+=O){var F=Math.min(A+O-1,x);E.children.push(this._build(v,A,F,_-1))}}return a(E,this.toBBox),E},s.prototype._chooseSubtree=function(v,w,m,_){for(;_.push(w),!w.leaf&&_.length-1!==m;){for(var E=1/0,I=1/0,b=void 0,O=0;O<w.children.length;O++){var M=w.children[O],N=d(M),x=(A=v,F=M,(Math.max(F.maxX,A.maxX)-Math.min(F.minX,A.minX))*(Math.max(F.maxY,A.maxY)-Math.min(F.minY,A.minY))-N);x<I?(I=x,E=N<E?N:E,b=M):x===I&&N<E&&(E=N,b=M)}w=b||w.children[0]}var A,F;return w},s.prototype._insert=function(v,w,m){var _=m?v:this.toBBox(v),E=[],I=this._chooseSubtree(_,this.data,w,E);for(I.children.push(v),l(I,_);w>=0&&E[w].children.length>this._maxEntries;)this._split(E,w),w--;this._adjustParentBBoxes(_,E,w)},s.prototype._split=function(v,w){var m=v[w],_=m.children.length,E=this._minEntries;this._chooseSplitAxis(m,E,_);var I=this._chooseSplitIndex(m,E,_),b=P(m.children.splice(I,m.children.length-I));b.height=m.height,b.leaf=m.leaf,a(m,this.toBBox),a(b,this.toBBox),w?v[w-1].children.push(b):this._splitRoot(m,b)},s.prototype._splitRoot=function(v,w){this.data=P([v,w]),this.data.height=v.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(v,w,m){for(var _,E,I,b,O,M,N,x=1/0,A=1/0,F=w;F<=m-w;F++){var Y=u(v,0,F,this.toBBox),G=u(v,F,m,this.toBBox),K=(E=Y,I=G,b=void 0,O=void 0,M=void 0,N=void 0,b=Math.max(E.minX,I.minX),O=Math.max(E.minY,I.minY),M=Math.min(E.maxX,I.maxX),N=Math.min(E.maxY,I.maxY),Math.max(0,M-b)*Math.max(0,N-O)),at=d(Y)+d(G);K<x?(x=K,_=F,A=at<A?at:A):K===x&&at<A&&(A=at,_=F)}return _||m-w},s.prototype._chooseSplitAxis=function(v,w,m){var _=v.leaf?this.compareMinX:c,E=v.leaf?this.compareMinY:h;this._allDistMargin(v,w,m,_)<this._allDistMargin(v,w,m,E)&&v.children.sort(_)},s.prototype._allDistMargin=function(v,w,m,_){v.children.sort(_);for(var E=this.toBBox,I=u(v,0,w,E),b=u(v,m-w,m,E),O=g(I)+g(b),M=w;M<m-w;M++){var N=v.children[M];l(I,v.leaf?E(N):N),O+=g(I)}for(var x=m-w-1;x>=w;x--){var A=v.children[x];l(b,v.leaf?E(A):A),O+=g(b)}return O},s.prototype._adjustParentBBoxes=function(v,w,m){for(var _=m;_>=0;_--)l(w[_],v)},s.prototype._condense=function(v){for(var w=v.length-1,m=void 0;w>=0;w--)v[w].children.length===0?w>0?(m=v[w-1].children).splice(m.indexOf(v[w]),1):this.clear():a(v[w],this.toBBox)},s})}(Nu)),Nu.exports}class ov{constructor(t=[],e=av){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,i=e[t];for(;t>0;){const s=t-1>>1,o=e[s];if(r(i,o)>=0)break;e[t]=o,t=s}e[t]=i}_down(t){const{data:e,compare:r}=this,i=this.length>>1,s=e[t];for(;t<i;){let o=(t<<1)+1,a=e[o];const u=o+1;if(u<this.length&&r(e[u],a)<0&&(o=u,a=e[u]),r(a,s)>=0)break;e[t]=a,t=o}e[t]=s}}function av(n,t){return n<t?-1:n>t?1:0}const uv=iv(Object.freeze(Object.defineProperty({__proto__:null,default:ov},Symbol.toStringTag,{value:"Module"})));var xa={exports:{}},Bl,Yf;function lv(){return Yf||(Yf=1,Bl=function(t,e,r,i){var s=t[0],o=t[1],a=!1;r===void 0&&(r=0),i===void 0&&(i=e.length);for(var u=(i-r)/2,l=0,c=u-1;l<u;c=l++){var h=e[r+l*2+0],d=e[r+l*2+1],g=e[r+c*2+0],y=e[r+c*2+1],C=d>o!=y>o&&s<(g-h)*(o-d)/(y-d)+h;C&&(a=!a)}return a}),Bl}var jl,Jf;function cv(){return Jf||(Jf=1,jl=function(t,e,r,i){var s=t[0],o=t[1],a=!1;r===void 0&&(r=0),i===void 0&&(i=e.length);for(var u=i-r,l=0,c=u-1;l<u;c=l++){var h=e[l+r][0],d=e[l+r][1],g=e[c+r][0],y=e[c+r][1],C=d>o!=y>o&&s<(g-h)*(o-d)/(y-d)+h;C&&(a=!a)}return a}),jl}var Bf;function hv(){if(Bf)return xa.exports;Bf=1;var n=lv(),t=cv();return xa.exports=function(r,i,s,o){return i.length>0&&Array.isArray(i[0])?t(r,i,s,o):n(r,i,s,o)},xa.exports.nested=t,xa.exports.flat=n,xa.exports}var Da={exports:{}},fv=Da.exports,jf;function dv(){return jf||(jf=1,function(n,t){(function(e,r){r(t)})(fv,function(e){const i=33306690738754706e-32;function s(C,P,T,v,w){let m,_,E,I,b=P[0],O=v[0],M=0,N=0;O>b==O>-b?(m=b,b=P[++M]):(m=O,O=v[++N]);let x=0;if(M<C&&N<T)for(O>b==O>-b?(E=m-((_=b+m)-b),b=P[++M]):(E=m-((_=O+m)-O),O=v[++N]),m=_,E!==0&&(w[x++]=E);M<C&&N<T;)O>b==O>-b?(E=m-((_=m+b)-(I=_-m))+(b-I),b=P[++M]):(E=m-((_=m+O)-(I=_-m))+(O-I),O=v[++N]),m=_,E!==0&&(w[x++]=E);for(;M<C;)E=m-((_=m+b)-(I=_-m))+(b-I),b=P[++M],m=_,E!==0&&(w[x++]=E);for(;N<T;)E=m-((_=m+O)-(I=_-m))+(O-I),O=v[++N],m=_,E!==0&&(w[x++]=E);return m===0&&x!==0||(w[x++]=m),x}function o(C){return new Float64Array(C)}const a=33306690738754716e-32,u=22204460492503146e-32,l=11093356479670487e-47,c=o(4),h=o(8),d=o(12),g=o(16),y=o(4);e.orient2d=function(C,P,T,v,w,m){const _=(P-m)*(T-w),E=(C-w)*(v-m),I=_-E;if(_===0||E===0||_>0!=E>0)return I;const b=Math.abs(_+E);return Math.abs(I)>=a*b?I:-function(O,M,N,x,A,F,Y){let G,K,at,ft,X,J,B,gt,xt,Ct,It,Rt,le,ie,Er,Sr,pi,Cr;const Ir=O-A,Pr=N-A,Wn=M-F,qn=x-F;X=(Er=(gt=Ir-(B=(J=134217729*Ir)-(J-Ir)))*(Ct=qn-(xt=(J=134217729*qn)-(J-qn)))-((ie=Ir*qn)-B*xt-gt*xt-B*Ct))-(It=Er-(pi=(gt=Wn-(B=(J=134217729*Wn)-(J-Wn)))*(Ct=Pr-(xt=(J=134217729*Pr)-(J-Pr)))-((Sr=Wn*Pr)-B*xt-gt*xt-B*Ct))),c[0]=Er-(It+X)+(X-pi),X=(le=ie-((Rt=ie+It)-(X=Rt-ie))+(It-X))-(It=le-Sr),c[1]=le-(It+X)+(X-Sr),X=(Cr=Rt+It)-Rt,c[2]=Rt-(Cr-X)+(It-X),c[3]=Cr;let ms=function(j0,Rg){let Fg=Rg[0];for(let of=1;of<j0;of++)Fg+=Rg[of];return Fg}(4,c),yu=u*Y;if(ms>=yu||-ms>=yu||(G=O-(Ir+(X=O-Ir))+(X-A),at=N-(Pr+(X=N-Pr))+(X-A),K=M-(Wn+(X=M-Wn))+(X-F),ft=x-(qn+(X=x-qn))+(X-F),G===0&&K===0&&at===0&&ft===0)||(yu=l*Y+i*Math.abs(ms),(ms+=Ir*ft+qn*G-(Wn*at+Pr*K))>=yu||-ms>=yu))return ms;X=(Er=(gt=G-(B=(J=134217729*G)-(J-G)))*(Ct=qn-(xt=(J=134217729*qn)-(J-qn)))-((ie=G*qn)-B*xt-gt*xt-B*Ct))-(It=Er-(pi=(gt=K-(B=(J=134217729*K)-(J-K)))*(Ct=Pr-(xt=(J=134217729*Pr)-(J-Pr)))-((Sr=K*Pr)-B*xt-gt*xt-B*Ct))),y[0]=Er-(It+X)+(X-pi),X=(le=ie-((Rt=ie+It)-(X=Rt-ie))+(It-X))-(It=le-Sr),y[1]=le-(It+X)+(X-Sr),X=(Cr=Rt+It)-Rt,y[2]=Rt-(Cr-X)+(It-X),y[3]=Cr;const Y0=s(4,c,4,y,h);X=(Er=(gt=Ir-(B=(J=134217729*Ir)-(J-Ir)))*(Ct=ft-(xt=(J=134217729*ft)-(J-ft)))-((ie=Ir*ft)-B*xt-gt*xt-B*Ct))-(It=Er-(pi=(gt=Wn-(B=(J=134217729*Wn)-(J-Wn)))*(Ct=at-(xt=(J=134217729*at)-(J-at)))-((Sr=Wn*at)-B*xt-gt*xt-B*Ct))),y[0]=Er-(It+X)+(X-pi),X=(le=ie-((Rt=ie+It)-(X=Rt-ie))+(It-X))-(It=le-Sr),y[1]=le-(It+X)+(X-Sr),X=(Cr=Rt+It)-Rt,y[2]=Rt-(Cr-X)+(It-X),y[3]=Cr;const J0=s(Y0,h,4,y,d);X=(Er=(gt=G-(B=(J=134217729*G)-(J-G)))*(Ct=ft-(xt=(J=134217729*ft)-(J-ft)))-((ie=G*ft)-B*xt-gt*xt-B*Ct))-(It=Er-(pi=(gt=K-(B=(J=134217729*K)-(J-K)))*(Ct=at-(xt=(J=134217729*at)-(J-at)))-((Sr=K*at)-B*xt-gt*xt-B*Ct))),y[0]=Er-(It+X)+(X-pi),X=(le=ie-((Rt=ie+It)-(X=Rt-ie))+(It-X))-(It=le-Sr),y[1]=le-(It+X)+(X-Sr),X=(Cr=Rt+It)-Rt,y[2]=Rt-(Cr-X)+(It-X),y[3]=Cr;const B0=s(J0,d,4,y,g);return g[B0-1]}(C,P,T,v,w,m,b)},e.orient2dfast=function(C,P,T,v,w,m){return(P-m)*(T-w)-(C-w)*(v-m)},Object.defineProperty(e,"__esModule",{value:!0})})}(Da,Da.exports)),Da.exports}var Zf;function pv(){if(Zf)return bu.exports;Zf=1;var n=Hf(),t=uv,e=hv(),r=dv().orient2d;t.default&&(t=t.default),bu.exports=i,bu.exports.default=i;function i(m,_,E){_=Math.max(0,_===void 0?2:_),E=E||0;var I=g(m),b=new n(16);b.toBBox=function(B){return{minX:B[0],minY:B[1],maxX:B[0],maxY:B[1]}},b.compareMinX=function(B,gt){return B[0]-gt[0]},b.compareMinY=function(B,gt){return B[1]-gt[1]},b.load(m);for(var O=[],M=0,N;M<I.length;M++){var x=I[M];b.remove(x),N=y(x,N),O.push(N)}var A=new n(16);for(M=0;M<O.length;M++)A.insert(d(O[M]));for(var F=_*_,Y=E*E;O.length;){var G=O.shift(),K=G.p,at=G.next.p,ft=C(K,at);if(!(ft<Y)){var X=ft/F;x=s(b,G.prev.p,K,at,G.next.next.p,X,A),x&&Math.min(C(x,K),C(x,at))<=X&&(O.push(G),O.push(y(x,G)),b.remove(x),A.remove(G),A.insert(d(G)),A.insert(d(G.next)))}}G=N;var J=[];do J.push(G.p),G=G.next;while(G!==N);return J.push(G.p),J}function s(m,_,E,I,b,O,M){for(var N=new t([],o),x=m.data;x;){for(var A=0;A<x.children.length;A++){var F=x.children[A],Y=x.leaf?P(F,E,I):a(E,I,F);Y>O||N.push({node:F,dist:Y})}for(;N.length&&!N.peek().node.children;){var G=N.pop(),K=G.node,at=P(K,_,E),ft=P(K,I,b);if(G.dist<at&&G.dist<ft&&l(E,K,M)&&l(I,K,M))return K}x=N.pop(),x&&(x=x.node)}return null}function o(m,_){return m.dist-_.dist}function a(m,_,E){if(u(m,E)||u(_,E))return 0;var I=T(m[0],m[1],_[0],_[1],E.minX,E.minY,E.maxX,E.minY);if(I===0)return 0;var b=T(m[0],m[1],_[0],_[1],E.minX,E.minY,E.minX,E.maxY);if(b===0)return 0;var O=T(m[0],m[1],_[0],_[1],E.maxX,E.minY,E.maxX,E.maxY);if(O===0)return 0;var M=T(m[0],m[1],_[0],_[1],E.minX,E.maxY,E.maxX,E.maxY);return M===0?0:Math.min(I,b,O,M)}function u(m,_){return m[0]>=_.minX&&m[0]<=_.maxX&&m[1]>=_.minY&&m[1]<=_.maxY}function l(m,_,E){for(var I=Math.min(m[0],_[0]),b=Math.min(m[1],_[1]),O=Math.max(m[0],_[0]),M=Math.max(m[1],_[1]),N=E.search({minX:I,minY:b,maxX:O,maxY:M}),x=0;x<N.length;x++)if(h(N[x].p,N[x].next.p,m,_))return!1;return!0}function c(m,_,E){return r(m[0],m[1],_[0],_[1],E[0],E[1])}function h(m,_,E,I){return m!==I&&_!==E&&c(m,_,E)>0!=c(m,_,I)>0&&c(E,I,m)>0!=c(E,I,_)>0}function d(m){var _=m.p,E=m.next.p;return m.minX=Math.min(_[0],E[0]),m.minY=Math.min(_[1],E[1]),m.maxX=Math.max(_[0],E[0]),m.maxY=Math.max(_[1],E[1]),m}function g(m){for(var _=m[0],E=m[0],I=m[0],b=m[0],O=0;O<m.length;O++){var M=m[O];M[0]<_[0]&&(_=M),M[0]>I[0]&&(I=M),M[1]<E[1]&&(E=M),M[1]>b[1]&&(b=M)}var N=[_,E,I,b],x=N.slice();for(O=0;O<m.length;O++)e(m[O],N)||x.push(m[O]);return w(x)}function y(m,_){var E={p:m,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return _?(E.next=_.next,E.prev=_,_.next.prev=E,_.next=E):(E.prev=E,E.next=E),E}function C(m,_){var E=m[0]-_[0],I=m[1]-_[1];return E*E+I*I}function P(m,_,E){var I=_[0],b=_[1],O=E[0]-I,M=E[1]-b;if(O!==0||M!==0){var N=((m[0]-I)*O+(m[1]-b)*M)/(O*O+M*M);N>1?(I=E[0],b=E[1]):N>0&&(I+=O*N,b+=M*N)}return O=m[0]-I,M=m[1]-b,O*O+M*M}function T(m,_,E,I,b,O,M,N){var x=E-m,A=I-_,F=M-b,Y=N-O,G=m-b,K=_-O,at=x*x+A*A,ft=x*F+A*Y,X=F*F+Y*Y,J=x*G+A*K,B=F*G+Y*K,gt=at*X-ft*ft,xt,Ct,It,Rt,le=gt,ie=gt;gt===0?(Ct=0,le=1,Rt=B,ie=X):(Ct=ft*B-X*J,Rt=at*B-ft*J,Ct<0?(Ct=0,Rt=B,ie=X):Ct>le&&(Ct=le,Rt=B+ft,ie=X)),Rt<0?(Rt=0,-J<0?Ct=0:-J>at?Ct=le:(Ct=-J,le=at)):Rt>ie&&(Rt=ie,-J+ft<0?Ct=0:-J+ft>at?Ct=le:(Ct=-J+ft,le=at)),xt=Ct===0?0:Ct/le,It=Rt===0?0:Rt/ie;var Er=(1-xt)*m+xt*E,Sr=(1-xt)*_+xt*I,pi=(1-It)*b+It*M,Cr=(1-It)*O+It*N,Ir=pi-Er,Pr=Cr-Sr;return Ir*Ir+Pr*Pr}function v(m,_){return m[0]===_[0]?m[1]-_[1]:m[0]-_[0]}function w(m){m.sort(v);for(var _=[],E=0;E<m.length;E++){for(;_.length>=2&&c(_[_.length-2],_[_.length-1],m[E])<=0;)_.pop();_.push(m[E])}for(var I=[],b=m.length-1;b>=0;b--){for(;I.length>=2&&c(I[I.length-2],I[I.length-1],m[b])<=0;)I.pop();I.push(m[b])}return I.pop(),_.pop(),_.concat(I)}return bu.exports}var gv=pv();const mv=qf(gv);function vv(n,t){t===void 0&&(t={}),t.concavity=t.concavity||1/0;var e=[];if(fo(n,function(i){e.push([i[0],i[1]])}),!e.length)return null;var r=mv(e,t.concavity);return r.length>3?er([r]):null}function Kf(n,t){t===void 0&&(t={});var e=0,r=0,i=0;return fo(n,function(s){e+=s[0],r+=s[1],i++},!0),Ut([e/i,r/i],t.properties)}function Qf(n,t){switch(t===void 0&&(t={}),Zm(n)){case"Point":return Ut(rr(n),t.properties);case"Polygon":var e=[];fo(n,function(m){e.push(m)});var r=Kf(n,{properties:t.properties}),i=r.geometry.coordinates,s=0,o=0,a=0,u,l,c,h,d,g,y,C,P=e.map(function(m){return[m[0]-i[0],m[1]-i[1]]});for(u=0;u<e.length-1;u++)l=P[u],h=l[0],g=l[1],c=P[u+1],d=c[0],y=c[1],C=h*y-d*g,a+=C,s+=(h+d)*C,o+=(g+y)*C;if(a===0)return r;var T=a*.5,v=1/(6*T);return Ut([i[0]+v*s,i[1]+v*o],t.properties);default:var w=vv(n);return w?Qf(w,{properties:t.properties}):Kf(n,{properties:t.properties})}}function yv(n){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]);const t=er([n]),r=Qf(t).geometry.coordinates;return[r[0],r[1],r[2]??n[0][2]??0]}function $f(n,t,e,r){const[i,s,o]=n,a=ho(Ut([i,s]),t,e,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return r=r||[0,0,0],r[0]=a.geometry.coordinates[0],r[1]=a.geometry.coordinates[1],r[2]=o,r}function Tu(n,t){return mi(Ut(n),Ut(t),{units:"meters"})}function Ma(n,t){return Oa(Ut(n),Ut(t))}function td(n){if(!n)throw new Error("geojson is required");var t=[];return Hl(n,function(e){_v(e,t)}),co(t)}function _v(n,t){var e=[],r=n.geometry;if(r!==null){switch(r.type){case"Polygon":e=Es(r);break;case"LineString":e=[Es(r)]}e.forEach(function(i){var s=wv(i,n.properties);s.forEach(function(o){o.id=t.length,t.push(o)})})}}function wv(n,t){var e=[];return n.reduce(function(r,i){var s=vn([r,i],t);return s.bbox=Ev(r,i),e.push(s),i}),e}function Ev(n,t){var e=n[0],r=n[1],i=t[0],s=t[1],o=e<i?e:i,a=r<s?r:s,u=e>i?e:i,l=r>s?r:s;return[o,a,u,l]}var Ou={exports:{}},Zl={},ed;function rd(){return ed||(ed=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.earthRadius=63710088e-1,n.factors={centimeters:n.earthRadius*100,centimetres:n.earthRadius*100,degrees:n.earthRadius/111325,feet:n.earthRadius*3.28084,inches:n.earthRadius*39.37,kilometers:n.earthRadius/1e3,kilometres:n.earthRadius/1e3,meters:n.earthRadius,metres:n.earthRadius,miles:n.earthRadius/1609.344,millimeters:n.earthRadius*1e3,millimetres:n.earthRadius*1e3,nauticalmiles:n.earthRadius/1852,radians:1,yards:n.earthRadius*1.0936},n.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/n.earthRadius,yards:1.0936133},n.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 t(N,x,A){A===void 0&&(A={});var F={type:"Feature"};return(A.id===0||A.id)&&(F.id=A.id),A.bbox&&(F.bbox=A.bbox),F.properties=x||{},F.geometry=N,F}n.feature=t;function e(N,x,A){switch(N){case"Point":return r(x).geometry;case"LineString":return a(x).geometry;case"Polygon":return s(x).geometry;case"MultiPoint":return h(x).geometry;case"MultiLineString":return c(x).geometry;case"MultiPolygon":return d(x).geometry;default:throw new Error(N+" is invalid")}}n.geometry=e;function r(N,x,A){if(A===void 0&&(A={}),!N)throw new Error("coordinates is required");if(!Array.isArray(N))throw new Error("coordinates must be an Array");if(N.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!I(N[0])||!I(N[1]))throw new Error("coordinates must contain numbers");var F={type:"Point",coordinates:N};return t(F,x,A)}n.point=r;function i(N,x,A){return A===void 0&&(A={}),l(N.map(function(F){return r(F,x)}),A)}n.points=i;function s(N,x,A){A===void 0&&(A={});for(var F=0,Y=N;F<Y.length;F++){var G=Y[F];if(G.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var K=0;K<G[G.length-1].length;K++)if(G[G.length-1][K]!==G[0][K])throw new Error("First and last Position are not equivalent.")}var at={type:"Polygon",coordinates:N};return t(at,x,A)}n.polygon=s;function o(N,x,A){return A===void 0&&(A={}),l(N.map(function(F){return s(F,x)}),A)}n.polygons=o;function a(N,x,A){if(A===void 0&&(A={}),N.length<2)throw new Error("coordinates must be an array of two or more positions");var F={type:"LineString",coordinates:N};return t(F,x,A)}n.lineString=a;function u(N,x,A){return A===void 0&&(A={}),l(N.map(function(F){return a(F,x)}),A)}n.lineStrings=u;function l(N,x){x===void 0&&(x={});var A={type:"FeatureCollection"};return x.id&&(A.id=x.id),x.bbox&&(A.bbox=x.bbox),A.features=N,A}n.featureCollection=l;function c(N,x,A){A===void 0&&(A={});var F={type:"MultiLineString",coordinates:N};return t(F,x,A)}n.multiLineString=c;function h(N,x,A){A===void 0&&(A={});var F={type:"MultiPoint",coordinates:N};return t(F,x,A)}n.multiPoint=h;function d(N,x,A){A===void 0&&(A={});var F={type:"MultiPolygon",coordinates:N};return t(F,x,A)}n.multiPolygon=d;function g(N,x,A){A===void 0&&(A={});var F={type:"GeometryCollection",geometries:N};return t(F,x,A)}n.geometryCollection=g;function y(N,x){if(x===void 0&&(x=0),x&&!(x>=0))throw new Error("precision must be a positive number");var A=Math.pow(10,x||0);return Math.round(N*A)/A}n.round=y;function C(N,x){x===void 0&&(x="kilometers");var A=n.factors[x];if(!A)throw new Error(x+" units is invalid");return N*A}n.radiansToLength=C;function P(N,x){x===void 0&&(x="kilometers");var A=n.factors[x];if(!A)throw new Error(x+" units is invalid");return N/A}n.lengthToRadians=P;function T(N,x){return w(P(N,x))}n.lengthToDegrees=T;function v(N){var x=N%360;return x<0&&(x+=360),x}n.bearingToAzimuth=v;function w(N){var x=N%(2*Math.PI);return x*180/Math.PI}n.radiansToDegrees=w;function m(N){var x=N%360;return x*Math.PI/180}n.degreesToRadians=m;function _(N,x,A){if(x===void 0&&(x="kilometers"),A===void 0&&(A="kilometers"),!(N>=0))throw new Error("length must be a positive number");return C(P(N,x),A)}n.convertLength=_;function E(N,x,A){if(x===void 0&&(x="meters"),A===void 0&&(A="kilometers"),!(N>=0))throw new Error("area must be a positive number");var F=n.areaFactors[x];if(!F)throw new Error("invalid original units");var Y=n.areaFactors[A];if(!Y)throw new Error("invalid final units");return N/F*Y}n.convertArea=E;function I(N){return!isNaN(N)&&N!==null&&!Array.isArray(N)}n.isNumber=I;function b(N){return!!N&&N.constructor===Object}n.isObject=b;function O(N){if(!N)throw new Error("bbox is required");if(!Array.isArray(N))throw new Error("bbox must be an Array");if(N.length!==4&&N.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");N.forEach(function(x){if(!I(x))throw new Error("bbox must only contain numbers")})}n.validateBBox=O;function M(N){if(!N)throw new Error("id is required");if(["string","number"].indexOf(typeof N)===-1)throw new Error("id must be a number or a string")}n.validateId=M}(Zl)),Zl}var ce={},nd;function id(){if(nd)return ce;nd=1,Object.defineProperty(ce,"__esModule",{value:!0});var n=rd();function t(v,w,m){if(v!==null)for(var _,E,I,b,O,M,N,x=0,A=0,F,Y=v.type,G=Y==="FeatureCollection",K=Y==="Feature",at=G?v.features.length:1,ft=0;ft<at;ft++){N=G?v.features[ft].geometry:K?v.geometry:v,F=N?N.type==="GeometryCollection":!1,O=F?N.geometries.length:1;for(var X=0;X<O;X++){var J=0,B=0;if(b=F?N.geometries[X]:N,b!==null){M=b.coordinates;var gt=b.type;switch(x=m&&(gt==="Polygon"||gt==="MultiPolygon")?1:0,gt){case null:break;case"Point":if(w(M,A,ft,J,B)===!1)return!1;A++,J++;break;case"LineString":case"MultiPoint":for(_=0;_<M.length;_++){if(w(M[_],A,ft,J,B)===!1)return!1;A++,gt==="MultiPoint"&&J++}gt==="LineString"&&J++;break;case"Polygon":case"MultiLineString":for(_=0;_<M.length;_++){for(E=0;E<M[_].length-x;E++){if(w(M[_][E],A,ft,J,B)===!1)return!1;A++}gt==="MultiLineString"&&J++,gt==="Polygon"&&B++}gt==="Polygon"&&J++;break;case"MultiPolygon":for(_=0;_<M.length;_++){for(B=0,E=0;E<M[_].length;E++){for(I=0;I<M[_][E].length-x;I++){if(w(M[_][E][I],A,ft,J,B)===!1)return!1;A++}B++}J++}break;case"GeometryCollection":for(_=0;_<b.geometries.length;_++)if(t(b.geometries[_],w,m)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function e(v,w,m,_){var E=m;return t(v,function(I,b,O,M,N){b===0&&m===void 0?E=I:E=w(E,I,b,O,M,N)},_),E}function r(v,w){var m;switch(v.type){case"FeatureCollection":for(m=0;m<v.features.length&&w(v.features[m].properties,m)!==!1;m++);break;case"Feature":w(v.properties,0);break}}function i(v,w,m){var _=m;return r(v,function(E,I){I===0&&m===void 0?_=E:_=w(_,E,I)}),_}function s(v,w){if(v.type==="Feature")w(v,0);else if(v.type==="FeatureCollection")for(var m=0;m<v.features.length&&w(v.features[m],m)!==!1;m++);}function o(v,w,m){var _=m;return s(v,function(E,I){I===0&&m===void 0?_=E:_=w(_,E,I)}),_}function a(v){var w=[];return t(v,function(m){w.push(m)}),w}function u(v,w){var m,_,E,I,b,O,M,N,x,A,F=0,Y=v.type==="FeatureCollection",G=v.type==="Feature",K=Y?v.features.length:1;for(m=0;m<K;m++){for(O=Y?v.features[m].geometry:G?v.geometry:v,N=Y?v.features[m].properties:G?v.properties:{},x=Y?v.features[m].bbox:G?v.bbox:void 0,A=Y?v.features[m].id:G?v.id:void 0,M=O?O.type==="GeometryCollection":!1,b=M?O.geometries.length:1,E=0;E<b;E++){if(I=M?O.geometries[E]:O,I===null){if(w(null,F,N,x,A)===!1)return!1;continue}switch(I.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(w(I,F,N,x,A)===!1)return!1;break}case"GeometryCollection":{for(_=0;_<I.geometries.length;_++)if(w(I.geometries[_],F,N,x,A)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}F++}}function l(v,w,m){var _=m;return u(v,function(E,I,b,O,M){I===0&&m===void 0?_=E:_=w(_,E,I,b,O,M)}),_}function c(v,w){u(v,function(m,_,E,I,b){var O=m===null?null:m.type;switch(O){case null:case"Point":case"LineString":case"Polygon":return w(n.feature(m,E,{bbox:I,id:b}),_,0)===!1?!1:void 0}var M;switch(O){case"MultiPoint":M="Point";break;case"MultiLineString":M="LineString";break;case"MultiPolygon":M="Polygon";break}for(var N=0;N<m.coordinates.length;N++){var x=m.coordinates[N],A={type:M,coordinates:x};if(w(n.feature(A,E),_,N)===!1)return!1}})}function h(v,w,m){var _=m;return c(v,function(E,I,b){I===0&&b===0&&m===void 0?_=E:_=w(_,E,I,b)}),_}function d(v,w){c(v,function(m,_,E){var I=0;if(m.geometry){var b=m.geometry.type;if(!(b==="Point"||b==="MultiPoint")){var O,M=0,N=0,x=0;if(t(m,function(A,F,Y,G,K){if(O===void 0||_>M||G>N||K>x){O=A,M=_,N=G,x=K,I=0;return}var at=n.lineString([O,A],m.properties);if(w(at,_,E,K,I)===!1)return!1;I++,O=A})===!1)return!1}}})}function g(v,w,m){var _=m,E=!1;return d(v,function(I,b,O,M,N){E===!1&&m===void 0?_=I:_=w(_,I,b,O,M,N),E=!0}),_}function y(v,w){if(!v)throw new Error("geojson is required");c(v,function(m,_,E){if(m.geometry!==null){var I=m.geometry.type,b=m.geometry.coordinates;switch(I){case"LineString":if(w(m,_,E,0,0)===!1)return!1;break;case"Polygon":for(var O=0;O<b.length;O++)if(w(n.lineString(b[O],m.properties),_,E,O)===!1)return!1;break}}})}function C(v,w,m){var _=m;return y(v,function(E,I,b,O){I===0&&m===void 0?_=E:_=w(_,E,I,b,O)}),_}function P(v,w){if(w=w||{},!n.isObject(w))throw new Error("options is invalid");var m=w.featureIndex||0,_=w.multiFeatureIndex||0,E=w.geometryIndex||0,I=w.segmentIndex||0,b=w.properties,O;switch(v.type){case"FeatureCollection":m<0&&(m=v.features.length+m),b=b||v.features[m].properties,O=v.features[m].geometry;break;case"Feature":b=b||v.properties,O=v.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":O=v;break;default:throw new Error("geojson is invalid")}if(O===null)return null;var M=O.coordinates;switch(O.type){case"Point":case"MultiPoint":return null;case"LineString":return I<0&&(I=M.length+I-1),n.lineString([M[I],M[I+1]],b,w);case"Polygon":return E<0&&(E=M.length+E),I<0&&(I=M[E].length+I-1),n.lineString([M[E][I],M[E][I+1]],b,w);case"MultiLineString":return _<0&&(_=M.length+_),I<0&&(I=M[_].length+I-1),n.lineString([M[_][I],M[_][I+1]],b,w);case"MultiPolygon":return _<0&&(_=M.length+_),E<0&&(E=M[_].length+E),I<0&&(I=M[_][E].length-I-1),n.lineString([M[_][E][I],M[_][E][I+1]],b,w)}throw new Error("geojson is invalid")}function T(v,w){if(w=w||{},!n.isObject(w))throw new Error("options is invalid");var m=w.featureIndex||0,_=w.multiFeatureIndex||0,E=w.geometryIndex||0,I=w.coordIndex||0,b=w.properties,O;switch(v.type){case"FeatureCollection":m<0&&(m=v.features.length+m),b=b||v.features[m].properties,O=v.features[m].geometry;break;case"Feature":b=b||v.properties,O=v.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":O=v;break;default:throw new Error("geojson is invalid")}if(O===null)return null;var M=O.coordinates;switch(O.type){case"Point":return n.point(M,b,w);case"MultiPoint":return _<0&&(_=M.length+_),n.point(M[_],b,w);case"LineString":return I<0&&(I=M.length+I),n.point(M[I],b,w);case"Polygon":return E<0&&(E=M.length+E),I<0&&(I=M[E].length+I),n.point(M[E][I],b,w);case"MultiLineString":return _<0&&(_=M.length+_),I<0&&(I=M[_].length+I),n.point(M[_][I],b,w);case"MultiPolygon":return _<0&&(_=M.length+_),E<0&&(E=M[_].length+E),I<0&&(I=M[_][E].length-I),n.point(M[_][E][I],b,w)}throw new Error("geojson is invalid")}return ce.coordAll=a,ce.coordEach=t,ce.coordReduce=e,ce.featureEach=s,ce.featureReduce=o,ce.findPoint=T,ce.findSegment=P,ce.flattenEach=c,ce.flattenReduce=h,ce.geomEach=u,ce.geomReduce=l,ce.lineEach=y,ce.lineReduce=C,ce.propEach=r,ce.propReduce=i,ce.segmentEach=d,ce.segmentReduce=g,ce}var xu={},sd;function Sv(){if(sd)return xu;sd=1,Object.defineProperty(xu,"__esModule",{value:!0});var n=id();function t(e){var r=[1/0,1/0,-1/0,-1/0];return n.coordEach(e,function(i){r[0]>i[0]&&(r[0]=i[0]),r[1]>i[1]&&(r[1]=i[1]),r[2]<i[0]&&(r[2]=i[0]),r[3]<i[1]&&(r[3]=i[1])}),r}return t.default=t,xu.default=t,xu}var od;function Cv(){if(od)return Ou.exports;od=1;var n=Hf(),t=rd(),e=id(),r=Sv().default,i=e.featureEach;e.coordEach,t.polygon;var s=t.featureCollection;function o(a){var u=new n(a);return u.insert=function(l){if(l.type!=="Feature")throw new Error("invalid feature");return l.bbox=l.bbox?l.bbox:r(l),n.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:r(h),c.push(h)}):i(l,function(h){if(h.type!=="Feature")throw new Error("invalid features");h.bbox=h.bbox?h.bbox:r(h),c.push(h)}),n.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:r(l),n.prototype.remove.call(this,l,c)},u.clear=function(){return n.prototype.clear.call(this)},u.search=function(l){var c=n.prototype.search.call(this,this.toBBox(l));return s(c)},u.collides=function(l){return n.prototype.collides.call(this,this.toBBox(l))},u.all=function(){var l=n.prototype.all.call(this);return s(l)},u.toJSON=function(){return n.prototype.toJSON.call(this)},u.fromJSON=function(l){return n.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=r(l);else if(l.type==="FeatureCollection")c=r(l);else throw new Error("invalid geojson");return{minX:c[0],minY:c[1],maxX:c[2],maxY:c[3]}},u}return Ou.exports=o,Ou.exports.default=o,Ou.exports}var Iv=Cv();const Pv=qf(Iv);function ad(n,t){var e={},r=[];if(n.type==="LineString"&&(n=mn(n)),t.type==="LineString"&&(t=mn(t)),n.type==="Feature"&&t.type==="Feature"&&n.geometry!==null&&t.geometry!==null&&n.geometry.type==="LineString"&&t.geometry.type==="LineString"&&n.geometry.coordinates.length===2&&t.geometry.coordinates.length===2){var i=ud(n,t);return i&&r.push(i),co(r)}var s=Pv();return s.load(td(t)),Iu(td(n),function(o){Iu(s.search(o),function(a){var u=ud(o,a);if(u){var l=Es(u).join(",");e[l]||(e[l]=!0,r.push(u))}})}),co(r)}function ud(n,t){var e=Es(n),r=Es(t);if(e.length!==2)throw new Error("<intersects> line1 must only contain 2 coordinates");if(r.length!==2)throw new Error("<intersects> line2 must only contain 2 coordinates");var i=e[0][0],s=e[0][1],o=e[1][0],a=e[1][1],u=r[0][0],l=r[0][1],c=r[1][0],h=r[1][1],d=(h-l)*(o-i)-(c-u)*(a-s),g=(c-u)*(s-l)-(h-l)*(i-u),y=(o-i)*(s-l)-(a-s)*(i-u);if(d===0)return null;var C=g/d,P=y/d;if(C>=0&&C<=1&&P>=0&&P<=1){var T=i+C*(o-i),v=s+C*(a-s);return Ut([T,v])}return null}function bv(n,t){return ad(vn(n),vn(t))}function Nv(n,t){var e=mi(n,t),r=Oa(n,t),i=ho(n,e/2,r);return i}function Tv(n,t){const e=Ut(n),r=Ut(t),i=Nv(e,r),s=(n[2]+t[2])/2;return[...i.geometry.coordinates,s]}function Ov(n,t,e){e===void 0&&(e={});var r=Ut([1/0,1/0],{dist:1/0}),i=0;return Hl(n,function(s){for(var o=Es(s),a=0;a<o.length-1;a++){var u=Ut(o[a]);u.properties.dist=mi(t,u,e);var l=Ut(o[a+1]);l.properties.dist=mi(t,l,e);var c=mi(u,l,e),h=Math.max(u.properties.dist,l.properties.dist),d=Oa(u,l),g=ho(t,h,d+90,e),y=ho(t,h,d-90,e),C=ad(vn([g.geometry.coordinates,y.geometry.coordinates]),vn([u.geometry.coordinates,l.geometry.coordinates])),P=null;C.features.length>0&&(P=C.features[0],P.properties.dist=mi(t,P,e),P.properties.location=i+mi(u,P,e)),u.properties.dist<r.properties.dist&&(r=u,r.properties.index=a,r.properties.location=i),l.properties.dist<r.properties.dist&&(r=l,r.properties.index=a+1,r.properties.location=i+c),P&&P.properties.dist<r.properties.dist&&(r=P,r.properties.index=a),i+=c}}),r}function xv(n,t){const e=Ut(t),r=vn(n);return Ov(r,e,{units:"meters"})}function ld(n,t,e){e===void 0&&(e={});var r=rr(n),i=rr(t);i[0]+=i[0]-r[0]>180?-360:r[0]-i[0]>180?360:0;var s=Dv(r,i),o=Xl(s,"meters",e.units);return o}function Dv(n,t,e){e=e===void 0?Ae:Number(e);var r=e,i=n[1]*Math.PI/180,s=t[1]*Math.PI/180,o=s-i,a=Math.abs(t[0]-n[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*r;return h}function Mv(n,t,e){if(e===void 0&&(e={}),e.method||(e.method="geodesic"),e.units||(e.units="kilometers"),!n)throw new Error("pt is required");if(Array.isArray(n)?n=Ut(n):n.type==="Point"?n=mn(n):zf(n,"Point","point"),!t)throw new Error("line is required");Array.isArray(t)?t=vn(t):t.type==="LineString"?t=mn(t):zf(t,"LineString","line");var r=1/0,i=n.geometry.coordinates;return ev(t,function(s){var o=s.geometry.coordinates[0],a=s.geometry.coordinates[1],u=Lv(i,o,a,e);u<r&&(r=u)}),Xl(r,"degrees",e.units)}function Lv(n,t,e,r){var i=[e[0]-t[0],e[1]-t[1]],s=[n[0]-t[0],n[1]-t[1]],o=cd(s,i);if(o<=0)return Kl(n,t,{method:r.method,units:"degrees"});var a=cd(i,i);if(a<=o)return Kl(n,e,{method:r.method,units:"degrees"});var u=o/a,l=[t[0]+u*i[0],t[1]+u*i[1]];return Kl(n,l,{method:r.method,units:"degrees"})}function cd(n,t){return n[0]*t[0]+n[1]*t[1]}function Kl(n,t,e){return e.method==="planar"?ld(n,t,e):mi(n,t,e)}function Av(n,t){const e=Ut(n),r=vn(t);return Mv(e,r,{units:"meters"})}function Rv(n,t,e,r){r===void 0&&(r={});var i=t<0,s=Xl(Math.abs(t),r.units,"meters");i&&(s=-Math.abs(s));var o=rr(n),a=Fv(o,s,e);return a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0,Ut(a,r.properties)}function Fv(n,t,e,r){r=r===void 0?Ae:Number(r);var i=t/r,s=n[0]*Math.PI/180,o=qe(n[1]),a=qe(e),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),d=i*Math.sin(a)/h,g=s+d;return[(g*180/Math.PI+540)%360-180,l*180/Math.PI]}function kv(n,t,e,r){const[i,s,o]=n,a=Rv(Ut([i,s]),t,e,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return r=r||[0,0,0],r[0]=a.geometry.coordinates[0],r[1]=a.geometry.coordinates[1],r[2]=o,r}function hd(n,t){return ld(Ut(n),Ut(t),{units:"meters"})}function Vv(n,t,e){e===void 0&&(e={});var r;e.final?r=fd(rr(t),rr(n)):r=fd(rr(n),rr(t));var i=r>180?-(360-r):r;return i}function fd(n,t){var e=qe(n[1]),r=qe(t[1]),i=qe(t[0]-n[0]);i>Math.PI&&(i-=2*Math.PI),i<-Math.PI&&(i+=2*Math.PI);var s=Math.log(Math.tan(r/2+Math.PI/4)/Math.tan(e/2+Math.PI/4)),o=Math.atan2(i,s);return(Cu(o)+360)%360}function zv(n,t){return Vv(Ut(n),Ut(t))}function yn(n){var t=[1/0,1/0,-1/0,-1/0];return fo(n,function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])}),t}yn.default=yn;function _n(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("point is required");if(!t)throw new Error("polygon is required");var r=rr(n),i=br(t),s=i.type,o=t.bbox,a=i.coordinates;if(o&&Uv(r,o)===!1)return!1;s==="Polygon"&&(a=[a]);for(var u=!1,l=0;l<a.length&&!u;l++)if(dd(r,a[l][0],e.ignoreBoundary)){for(var c=!1,h=1;h<a[l].length&&!c;)dd(r,a[l][h],!e.ignoreBoundary)&&(c=!0),h++;c||(u=!0)}return u}function dd(n,t,e){var r=!1;t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]&&(t=t.slice(0,t.length-1));for(var i=0,s=t.length-1;i<t.length;s=i++){var o=t[i][0],a=t[i][1],u=t[s][0],l=t[s][1],c=n[1]*(o-u)+a*(u-n[0])+l*(n[0]-o)===0&&(o-n[0])*(u-n[0])<=0&&(a-n[1])*(l-n[1])<=0;if(c)return!e;var h=a>n[1]!=l>n[1]&&n[0]<(u-o)*(n[1]-a)/(l-a)+o;h&&(r=!r)}return r}function Uv(n,t){return t[0]<=n[0]&&t[1]<=n[1]&&t[2]>=n[0]&&t[3]>=n[1]}function vi(n,t,e){e===void 0&&(e={});for(var r=rr(n),i=Es(t),s=0;s<i.length-1;s++){var o=!1;if(e.ignoreEndVertices&&(s===0&&(o="start"),s===i.length-2&&(o="end"),s===0&&s+1===i.length-1&&(o="both")),Gv(i[s],i[s+1],r,o,typeof e.epsilon>"u"?null:e.epsilon))return!0}return!1}function Gv(n,t,e,r,i){var s=e[0],o=e[1],a=n[0],u=n[1],l=t[0],c=t[1],h=e[0]-a,d=e[1]-u,g=l-a,y=c-u,C=h*y-d*g;if(i!==null){if(Math.abs(C)>i)return!1}else if(C!==0)return!1;if(r){if(r==="start")return Math.abs(g)>=Math.abs(y)?g>0?a<s&&s<=l:l<=s&&s<a:y>0?u<o&&o<=c:c<=o&&o<u;if(r==="end")return Math.abs(g)>=Math.abs(y)?g>0?a<=s&&s<l:l<s&&s<=a:y>0?u<=o&&o<c:c<o&&o<=u;if(r==="both")return Math.abs(g)>=Math.abs(y)?g>0?a<s&&s<l:l<s&&s<a:y>0?u<o&&o<c:c<o&&o<u}else return Math.abs(g)>=Math.abs(y)?g>0?a<=s&&s<=l:l<=s&&s<=a:y>0?u<=o&&o<=c:c<=o&&o<=u;return!1}function Wv(n,t){var e=br(n),r=br(t),i=e.type,s=r.type,o=e.coordinates,a=r.coordinates;switch(i){case"Point":switch(s){case"Point":return Ql(o,a);default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"Point":return qv(e,r);case"MultiPoint":return Xv(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"Point":return vi(r,e,{ignoreEndVertices:!0});case"LineString":return Jv(e,r);case"MultiPoint":return Hv(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Point":return _n(r,e,{ignoreBoundary:!0});case"LineString":return Bv(e,r);case"Polygon":return jv(e,r);case"MultiPoint":return Yv(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function qv(n,t){var e,r=!1;for(e=0;e<n.coordinates.length;e++)if(Ql(n.coordinates[e],t.coordinates)){r=!0;break}return r}function Xv(n,t){for(var e=0,r=t.coordinates;e<r.length;e++){for(var i=r[e],s=!1,o=0,a=n.coordinates;o<a.length;o++){var u=a[o];if(Ql(i,u)){s=!0;break}}if(!s)return!1}return!0}function Hv(n,t){for(var e=!1,r=0,i=t.coordinates;r<i.length;r++){var s=i[r];if(vi(s,n,{ignoreEndVertices:!0})&&(e=!0),!vi(s,n))return!1}return!!e}function Yv(n,t){for(var e=0,r=t.coordinates;e<r.length;e++){var i=r[e];if(!_n(i,n,{ignoreBoundary:!0}))return!1}return!0}function Jv(n,t){for(var e=!1,r=0,i=t.coordinates;r<i.length;r++){var s=i[r];if(vi({type:"Point",coordinates:s},n,{ignoreEndVertices:!0})&&(e=!0),!vi({type:"Point",coordinates:s},n,{ignoreEndVertices:!1}))return!1}return e}function Bv(n,t){var e=!1,r=0,i=yn(n),s=yn(t);if(!pd(i,s))return!1;for(r;r<t.coordinates.length-1;r++){var o=Zv(t.coordinates[r],t.coordinates[r+1]);if(_n({type:"Point",coordinates:o},n,{ignoreBoundary:!0})){e=!0;break}}return e}function jv(n,t){if(n.type==="Feature"&&n.geometry===null||t.type==="Feature"&&t.geometry===null)return!1;var e=yn(n),r=yn(t);if(!pd(e,r))return!1;for(var i=br(t).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(!_n(c,n))return!1}return!0}function pd(n,t){return!(n[0]>t[0]||n[2]<t[2]||n[1]>t[1]||n[3]<t[3])}function Ql(n,t){return n[0]===t[0]&&n[1]===t[1]}function Zv(n,t){return[(n[0]+t[0])/2,(n[1]+t[1])/2]}function Kv(n,t){var e=br(n),r=br(t),i=e.type,s=r.type;switch(i){case"Point":switch(s){case"MultiPoint":return Qv(e,r);case"LineString":return vi(e,r,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return _n(e,r,{ignoreBoundary:!0});default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"MultiPoint":return $v(e,r);case"LineString":return ty(e,r);case"Polygon":case"MultiPolygon":return ey(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"LineString":return ry(e,r);case"Polygon":case"MultiPolygon":return ny(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Polygon":case"MultiPolygon":return iy(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function Qv(n,t){var e,r=!1;for(e=0;e<t.coordinates.length;e++)if(md(t.coordinates[e],n.coordinates)){r=!0;break}return r}function $v(n,t){for(var e=0;e<n.coordinates.length;e++){for(var r=!1,i=0;i<t.coordinates.length;i++)md(n.coordinates[e],t.coordinates[i])&&(r=!0);if(!r)return!1}return!0}function ty(n,t){for(var e=!1,r=0;r<n.coordinates.length;r++){if(!vi(n.coordinates[r],t))return!1;e||(e=vi(n.coordinates[r],t,{ignoreEndVertices:!0}))}return e}function ey(n,t){for(var e=!0,r=!1,i=0;i<n.coordinates.length;i++){if(r=_n(n.coordinates[1],t),!r){e=!1;break}r=_n(n.coordinates[1],t,{ignoreBoundary:!0})}return e&&r}function ry(n,t){for(var e=0;e<n.coordinates.length;e++)if(!vi(n.coordinates[e],t))return!1;return!0}function ny(n,t){var e=yn(t),r=yn(n);if(!gd(e,r))return!1;for(var i=!1,s=0;s<n.coordinates.length-1;s++){if(!_n(n.coordinates[s],t))return!1;if(i||(i=_n(n.coordinates[s],t,{ignoreBoundary:!0})),!i){var o=sy(n.coordinates[s],n.coordinates[s+1]);i=_n(o,t,{ignoreBoundary:!0})}}return i}function iy(n,t){var e=yn(n),r=yn(t);if(!gd(r,e))return!1;for(var i=0;i<n.coordinates[0].length;i++)if(!_n(n.coordinates[0][i],t))return!1;return!0}function gd(n,t){return!(n[0]>t[0]||n[2]<t[2]||n[1]>t[1]||n[3]<t[3])}function md(n,t){return n[0]===t[0]&&n[1]===t[1]}function sy(n,t){return[(n[0]+t[0])/2,(n[1]+t[1])/2]}function oy(n,t){t===void 0&&(t={});var e=yn(n),r=(e[0]+e[2])/2,i=(e[1]+e[3])/2;return Ut([r,i],t.properties,t)}"fill"in Array.prototype||Object.defineProperty(Array.prototype,"fill",{configurable:!0,value:function(t){if(this===void 0||this===null)throw new TypeError(this+" is not an object");var e=Object(this),r=Math.max(Math.min(e.length,9007199254740991),0)||0,i=1 in arguments&&parseInt(Number(arguments[1]),10)||0;i=i<0?Math.max(r+i,0):Math.min(i,r);var s=2 in arguments&&arguments[2]!==void 0?parseInt(Number(arguments[2]),10)||0:r;for(s=s<0?Math.max(r+arguments[2],0):Math.min(s,r);i<s;)e[i]=t,++i;return e},writable:!0}),Number.isFinite=Number.isFinite||function(n){return typeof n=="number"&&isFinite(n)},Number.isInteger=Number.isInteger||function(n){return typeof n=="number"&&isFinite(n)&&Math.floor(n)===n},Number.parseFloat=Number.parseFloat||parseFloat,Number.isNaN=Number.isNaN||function(n){return n!==n},Math.trunc=Math.trunc||function(n){return n<0?Math.ceil(n):Math.floor(n)};var Ss=function(){};Ss.prototype.interfaces_=function(){return[]},Ss.prototype.getClass=function(){return Ss},Ss.prototype.equalsWithTolerance=function(t,e,r){return Math.abs(t-e)<=r};var zt=function(n){function t(e){n.call(this,e),this.name="IllegalArgumentException",this.message=e,this.stack=new n().stack}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t}(Error),ot=function(){},vd={MAX_VALUE:{configurable:!0}};ot.isNaN=function(t){return Number.isNaN(t)},ot.doubleToLongBits=function(t){return t},ot.longBitsToDouble=function(t){return t},ot.isInfinite=function(t){return!Number.isFinite(t)},vd.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(ot,vd);var fr=function(){},Du=function(){},po=function(){};function dr(){}var D=function n(){if(this.x=null,this.y=null,this.z=null,arguments.length===0)this.x=0,this.y=0,this.z=n.NULL_ORDINATE;else if(arguments.length===1){var t=arguments[0];this.x=t.x,this.y=t.y,this.z=t.z}else arguments.length===2?(this.x=arguments[0],this.y=arguments[1],this.z=n.NULL_ORDINATE):arguments.length===3&&(this.x=arguments[0],this.y=arguments[1],this.z=arguments[2])},Cs={DimensionalComparator:{configurable:!0},serialVersionUID:{configurable:!0},NULL_ORDINATE:{configurable:!0},X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0}};D.prototype.setOrdinate=function(t,e){switch(t){case D.X:this.x=e;break;case D.Y:this.y=e;break;case D.Z:this.z=e;break;default:throw new zt("Invalid ordinate index: "+t)}},D.prototype.equals2D=function(){if(arguments.length===1){var t=arguments[0];return!(this.x!==t.x||this.y!==t.y)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return!(!Ss.equalsWithTolerance(this.x,e.x,r)||!Ss.equalsWithTolerance(this.y,e.y,r))}},D.prototype.getOrdinate=function(t){switch(t){case D.X:return this.x;case D.Y:return this.y;case D.Z:return this.z}throw new zt("Invalid ordinate index: "+t)},D.prototype.equals3D=function(t){return this.x===t.x&&this.y===t.y&&(this.z===t.z||ot.isNaN(this.z))&&ot.isNaN(t.z)},D.prototype.equals=function(t){return t instanceof D?this.equals2D(t):!1},D.prototype.equalInZ=function(t,e){return Ss.equalsWithTolerance(this.z,t.z,e)},D.prototype.compareTo=function(t){var e=t;return this.x<e.x?-1:this.x>e.x?1:this.y<e.y?-1:this.y>e.y?1:0},D.prototype.clone=function(){},D.prototype.copy=function(){return new D(this)},D.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},D.prototype.distance3D=function(t){var e=this.x-t.x,r=this.y-t.y,i=this.z-t.z;return Math.sqrt(e*e+r*r+i*i)},D.prototype.distance=function(t){var e=this.x-t.x,r=this.y-t.y;return Math.sqrt(e*e+r*r)},D.prototype.hashCode=function(){var t=17;return t=37*t+D.hashCode(this.x),t=37*t+D.hashCode(this.y),t},D.prototype.setCoordinate=function(t){this.x=t.x,this.y=t.y,this.z=t.z},D.prototype.interfaces_=function(){return[fr,Du,dr]},D.prototype.getClass=function(){return D},D.hashCode=function(){if(arguments.length===1){var t=arguments[0],e=ot.doubleToLongBits(t);return Math.trunc((e^e)>>>32)}},Cs.DimensionalComparator.get=function(){return yi},Cs.serialVersionUID.get=function(){return 6683108902428367e3},Cs.NULL_ORDINATE.get=function(){return ot.NaN},Cs.X.get=function(){return 0},Cs.Y.get=function(){return 1},Cs.Z.get=function(){return 2},Object.defineProperties(D,Cs);var yi=function(t){if(this._dimensionsToTest=2,arguments.length!==0){if(arguments.length===1){var e=arguments[0];if(e!==2&&e!==3)throw new zt("only 2 or 3 dimensions may be specified");this._dimensionsToTest=e}}};yi.prototype.compare=function(t,e){var r=t,i=e,s=yi.compare(r.x,i.x);if(s!==0)return s;var o=yi.compare(r.y,i.y);if(o!==0)return o;if(this._dimensionsToTest<=2)return 0;var a=yi.compare(r.z,i.z);return a},yi.prototype.interfaces_=function(){return[po]},yi.prototype.getClass=function(){return yi},yi.compare=function(t,e){return t<e?-1:t>e?1:ot.isNaN(t)?ot.isNaN(e)?0:-1:ot.isNaN(e)?1:0};var go=function(){};go.prototype.create=function(){},go.prototype.interfaces_=function(){return[]},go.prototype.getClass=function(){return go};var R=function(){},La={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};R.prototype.interfaces_=function(){return[]},R.prototype.getClass=function(){return R},R.toLocationSymbol=function(t){switch(t){case R.EXTERIOR:return"e";case R.BOUNDARY:return"b";case R.INTERIOR:return"i";case R.NONE:return"-"}throw new zt("Unknown location value: "+t)},La.INTERIOR.get=function(){return 0},La.BOUNDARY.get=function(){return 1},La.EXTERIOR.get=function(){return 2},La.NONE.get=function(){return-1},Object.defineProperties(R,La);var nt=function(n,t){return n.interfaces_&&n.interfaces_().indexOf(t)>-1},nr=function(){},yd={LOG_10:{configurable:!0}};nr.prototype.interfaces_=function(){return[]},nr.prototype.getClass=function(){return nr},nr.log10=function(t){var e=Math.log(t);return ot.isInfinite(e)||ot.isNaN(e)?e:e/nr.LOG_10},nr.min=function(t,e,r,i){var s=t;return e<s&&(s=e),r<s&&(s=r),i<s&&(s=i),s},nr.clamp=function(){if(typeof arguments[2]=="number"&&typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var t=arguments[0],e=arguments[1],r=arguments[2];return t<e?e:t>r?r:t}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}},nr.wrap=function(t,e){return t<0?e- -t%e:t%e},nr.max=function(){if(arguments.length===3){var t=arguments[0],e=arguments[1],r=arguments[2],i=t;return e>i&&(i=e),r>i&&(i=r),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}},nr.average=function(t,e){return(t+e)/2},yd.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(nr,yd);var Ur=function(t){this.str=t};Ur.prototype.append=function(t){this.str+=t},Ur.prototype.setCharAt=function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)},Ur.prototype.toString=function(t){return this.str};var Gr=function(t){this.value=t};Gr.prototype.intValue=function(){return this.value},Gr.prototype.compareTo=function(t){return this.value<t?-1:this.value>t?1:0},Gr.isNaN=function(t){return Number.isNaN(t)};var Aa=function(){};Aa.isWhitespace=function(t){return t<=32&&t>=0||t===127},Aa.toUpperCase=function(t){return t.toUpperCase()};var k=function n(){if(this._hi=0,this._lo=0,arguments.length===0)this.init(0);else if(arguments.length===1){if(typeof arguments[0]=="number"){var t=arguments[0];this.init(t)}else if(arguments[0]instanceof n){var e=arguments[0];this.init(e)}else if(typeof arguments[0]=="string"){var r=arguments[0];n.call(this,n.parse(r))}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];this.init(i,s)}},Nr={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(t){return(this._hi<t._hi||this._hi===t._hi)&&this._lo<=t._lo},k.prototype.extractSignificantDigits=function(t,e){var r=this.abs(),i=k.magnitude(r._hi),s=k.TEN.pow(i);r=r.divide(s),r.gt(k.TEN)?(r=r.divide(k.TEN),i+=1):r.lt(k.ONE)&&(r=r.multiply(k.TEN),i-=1);for(var o=i+1,a=new Ur,u=k.MAX_PRINT_DIGITS-1,l=0;l<=u;l++){t&&l===o&&a.append(".");var c=Math.trunc(r._hi);if(c<0)break;var h=!1,d=0;c>9?(h=!0,d="9"):d="0"+c,a.append(d),r=r.subtract(k.valueOf(c)).multiply(k.TEN),h&&r.selfAdd(k.TEN);var g=!0,y=k.magnitude(r._hi);if(y<0&&Math.abs(y)>=u-l&&(g=!1),!g)break}return e[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 t=arguments[0];return this.add(t.negate())}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.add(-e)}},k.prototype.equals=function(){if(arguments.length===1){var t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}},k.prototype.isZero=function(){return this._hi===0&&this._lo===0},k.prototype.selfSubtract=function(){if(arguments[0]instanceof k){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.isNaN()?this:this.selfAdd(-e,0)}},k.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},k.prototype.min=function(t){return this.le(t)?this:t},k.prototype.selfDivide=function(){if(arguments.length===1){if(arguments[0]instanceof k){var t=arguments[0];return this.selfDivide(t._hi,t._lo)}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.selfDivide(e,0)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=null,o=null,a=null,u=null,l=null,c=null,h=null,d=null;return l=this._hi/r,c=k.SPLIT*l,s=c-l,d=k.SPLIT*r,s=c-s,o=l-s,a=d-r,h=l*r,a=d-a,u=r-a,d=s*a-h+s*u+o*a+o*u,c=(this._hi-h-d+this._lo-l*i)/r,d=l+c,this._hi=d,this._lo=l-d+c,this}},k.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},k.prototype.divide=function(){if(arguments[0]instanceof k){var t=arguments[0],e=null,r=null,i=null,s=null,o=null,a=null,u=null,l=null;o=this._hi/t._hi,a=k.SPLIT*o,e=a-o,l=k.SPLIT*t._hi,e=a-e,r=o-e,i=l-t._hi,u=o*t._hi,i=l-i,s=t._hi-i,l=e*i-u+e*s+r*i+r*s,a=(this._hi-u-l+this._lo-o*t._lo)/t._hi,l=o+a;var c=l,h=o-l+a;return new k(c,h)}else if(typeof arguments[0]=="number"){var d=arguments[0];return ot.isNaN(d)?k.createNaN():k.copy(this).selfDivide(d,0)}},k.prototype.ge=function(t){return(this._hi>t._hi||this._hi===t._hi)&&this._lo>=t._lo},k.prototype.pow=function(t){if(t===0)return k.valueOf(1);var e=new k(this),r=k.valueOf(1),i=Math.abs(t);if(i>1)for(;i>0;)i%2===1&&r.selfMultiply(e),i/=2,i>0&&(e=e.sqr());else r=e;return t<0?r.reciprocal():r},k.prototype.ceil=function(){if(this.isNaN())return k.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new k(t,e)},k.prototype.compareTo=function(t){var e=t;return this._hi<e._hi?-1:this._hi>e._hi?1:this._lo<e._lo?-1:this._lo>e._lo?1:0},k.prototype.rint=function(){if(this.isNaN())return this;var t=this.add(.5);return t.floor()},k.prototype.setValue=function(){if(arguments[0]instanceof k){var t=arguments[0];return this.init(t),this}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.init(e),this}},k.prototype.max=function(t){return this.ge(t)?this:t},k.prototype.sqrt=function(){if(this.isZero())return k.valueOf(0);if(this.isNegative())return k.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,r=k.valueOf(e),i=this.subtract(r.sqr()),s=i._hi*(t*.5);return r.add(s)},k.prototype.selfAdd=function(){if(arguments.length===1){if(arguments[0]instanceof k){var t=arguments[0];return this.selfAdd(t._hi,t._lo)}else if(typeof arguments[0]=="number"){var e=arguments[0],r=null,i=null,s=null,o=null,a=null,u=null;return s=this._hi+e,a=s-this._hi,o=s-a,o=e-a+(this._hi-o),u=o+this._lo,r=s+u,i=u+(s-r),this._hi=r+i,this._lo=i+(r-this._hi),this}}else if(arguments.length===2){var l=arguments[0],c=arguments[1],h=null,d=null,g=null,y=null,C=null,P=null,T=null,v=null;C=this._hi+l,g=this._lo+c,T=C-this._hi,v=g-this._lo,P=C-T,y=g-v,P=l-T+(this._hi-P),y=c-v+(this._lo-y),T=P+g,h=C+T,d=T+(C-h),T=y+d;var w=h+T,m=T+(h-w);return this._hi=w,this._lo=m,this}},k.prototype.selfMultiply=function(){if(arguments.length===1){if(arguments[0]instanceof k){var t=arguments[0];return this.selfMultiply(t._hi,t._lo)}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.selfMultiply(e,0)}}else if(arguments.length===2){var r=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*r,s=l-s,o=this._hi-s,a=c-r,l=this._hi*r,a=c-a,u=r-a,c=s*a-l+s*u+o*a+o*u+(this._hi*i+this._lo*r);var h=l+c;s=l-h;var d=c+s;return this._hi=h,this._lo=d,this}},k.prototype.selfSqr=function(){return this.selfMultiply(this)},k.prototype.floor=function(){if(this.isNaN())return k.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new k(t,e)},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 t=arguments[0];return t.isNaN()?k.createNaN():k.copy(this).selfMultiply(t)}else if(typeof arguments[0]=="number"){var e=arguments[0];return ot.isNaN(e)?k.createNaN():k.copy(this).selfMultiply(e,0)}},k.prototype.isNaN=function(){return ot.isNaN(this._hi)},k.prototype.intValue=function(){return Math.trunc(this._hi)},k.prototype.toString=function(){var t=k.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()},k.prototype.toStandardNotation=function(){var t=this.getSpecialNumberString();if(t!==null)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!0,e),i=e[0]+1,s=r;if(r.charAt(0)===".")s="0"+r;else if(i<0)s="0."+k.stringOfChar("0",-i)+r;else if(r.indexOf(".")===-1){var o=i-r.length,a=k.stringOfChar("0",o);s=r+a+".0"}return this.isNegative()?"-"+s:s},k.prototype.reciprocal=function(){var t=null,e=null,r=null,i=null,s=null,o=null,a=null,u=null;s=1/this._hi,o=k.SPLIT*s,t=o-s,u=k.SPLIT*this._hi,t=o-t,e=s-t,r=u-this._hi,a=s*this._hi,r=u-r,i=this._hi-r,u=t*r-a+t*i+e*r+e*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 t=this.getSpecialNumberString();if(t!==null)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!1,e),i=k.SCI_NOT_EXPONENT_CHAR+e[0];if(r.charAt(0)==="0")throw new Error("Found leading zero: "+r);var s="";r.length>1&&(s=r.substring(1));var o=r.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(t){return(this._hi<t._hi||this._hi===t._hi)&&this._lo<t._lo},k.prototype.add=function(){if(arguments[0]instanceof k){var t=arguments[0];return k.copy(this).selfAdd(t)}else if(typeof arguments[0]=="number"){var e=arguments[0];return k.copy(this).selfAdd(e)}},k.prototype.init=function(){if(arguments.length===1){if(typeof arguments[0]=="number"){var t=arguments[0];this._hi=t,this._lo=0}else if(arguments[0]instanceof k){var e=arguments[0];this._hi=e._hi,this._lo=e._lo}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this._hi=r,this._lo=i}},k.prototype.gt=function(t){return(this._hi>t._hi||this._hi===t._hi)&&this._lo>t._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[dr,fr,Du]},k.prototype.getClass=function(){return k},k.sqr=function(t){return k.valueOf(t).selfMultiply(t)},k.valueOf=function(){if(typeof arguments[0]=="string"){var t=arguments[0];return k.parse(t)}else if(typeof arguments[0]=="number"){var e=arguments[0];return new k(e)}},k.sqrt=function(t){return k.valueOf(t).sqrt()},k.parse=function(t){for(var e=0,r=t.length;Aa.isWhitespace(t.charAt(e));)e++;var i=!1;if(e<r){var s=t.charAt(e);(s==="-"||s==="+")&&(e++,s==="-"&&(i=!0))}for(var o=new k,a=0,u=0,l=0;!(e>=r);){var c=t.charAt(e);if(e++,Aa.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 d=t.substring(e);try{l=Gr.parseInt(d)}catch(T){throw T instanceof Error?new Error("Invalid exponent "+d+" in string "+t):T}finally{}break}throw new Error("Unexpected character '"+c+"' at position "+e+" in string "+t)}var g=o,y=a-u-l;if(y===0)g=o;else if(y>0){var C=k.TEN.pow(y);g=o.divide(C)}else if(y<0){var P=k.TEN.pow(-y);g=o.multiply(P)}return i?g.negate():g},k.createNaN=function(){return new k(ot.NaN,ot.NaN)},k.copy=function(t){return new k(t)},k.magnitude=function(t){var e=Math.abs(t),r=Math.log(e)/Math.log(10),i=Math.trunc(Math.floor(r)),s=Math.pow(10,i);return s*10<=e&&(i+=1),i},k.stringOfChar=function(t,e){for(var r=new Ur,i=0;i<e;i++)r.append(t);return r.toString()},Nr.PI.get=function(){return new k(3.141592653589793,12246467991473532e-32)},Nr.TWO_PI.get=function(){return new k(6.283185307179586,24492935982947064e-32)},Nr.PI_2.get=function(){return new k(1.5707963267948966,6123233995736766e-32)},Nr.E.get=function(){return new k(2.718281828459045,14456468917292502e-32)},Nr.NaN.get=function(){return new k(ot.NaN,ot.NaN)},Nr.EPS.get=function(){return 123259516440783e-46},Nr.SPLIT.get=function(){return 134217729},Nr.MAX_PRINT_DIGITS.get=function(){return 32},Nr.TEN.get=function(){return k.valueOf(10)},Nr.ONE.get=function(){return k.valueOf(1)},Nr.SCI_NOT_EXPONENT_CHAR.get=function(){return"E"},Nr.SCI_NOT_ZERO.get=function(){return"0.0E0"},Object.defineProperties(k,Nr);var Re=function(){},_d={DP_SAFE_EPSILON:{configurable:!0}};Re.prototype.interfaces_=function(){return[]},Re.prototype.getClass=function(){return Re},Re.orientationIndex=function(t,e,r){var i=Re.orientationIndexFilter(t,e,r);if(i<=1)return i;var s=k.valueOf(e.x).selfAdd(-t.x),o=k.valueOf(e.y).selfAdd(-t.y),a=k.valueOf(r.x).selfAdd(-e.x),u=k.valueOf(r.y).selfAdd(-e.y);return s.selfMultiply(u).selfSubtract(o.selfMultiply(a)).signum()},Re.signOfDet2x2=function(t,e,r,i){var s=t.multiply(i).selfSubtract(e.multiply(r));return s.signum()},Re.intersection=function(t,e,r,i){var s=k.valueOf(i.y).selfSubtract(r.y).selfMultiply(k.valueOf(e.x).selfSubtract(t.x)),o=k.valueOf(i.x).selfSubtract(r.x).selfMultiply(k.valueOf(e.y).selfSubtract(t.y)),a=s.subtract(o),u=k.valueOf(i.x).selfSubtract(r.x).selfMultiply(k.valueOf(t.y).selfSubtract(r.y)),l=k.valueOf(i.y).selfSubtract(r.y).selfMultiply(k.valueOf(t.x).selfSubtract(r.x)),c=u.subtract(l),h=c.selfDivide(a).doubleValue(),d=k.valueOf(t.x).selfAdd(k.valueOf(e.x).selfSubtract(t.x).selfMultiply(h)).doubleValue(),g=k.valueOf(e.x).selfSubtract(t.x).selfMultiply(k.valueOf(t.y).selfSubtract(r.y)),y=k.valueOf(e.y).selfSubtract(t.y).selfMultiply(k.valueOf(t.x).selfSubtract(r.x)),C=g.subtract(y),P=C.selfDivide(a).doubleValue(),T=k.valueOf(r.y).selfAdd(k.valueOf(i.y).selfSubtract(r.y).selfMultiply(P)).doubleValue();return new D(d,T)},Re.orientationIndexFilter=function(t,e,r){var i=null,s=(t.x-r.x)*(e.y-r.y),o=(t.y-r.y)*(e.x-r.x),a=s-o;if(s>0){if(o<=0)return Re.signum(a);i=s+o}else if(s<0){if(o>=0)return Re.signum(a);i=-s-o}else return Re.signum(a);var u=Re.DP_SAFE_EPSILON*i;return a>=u||-a>=u?Re.signum(a):2},Re.signum=function(t){return t>0?1:t<0?-1:0},_d.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(Re,_d);var _t=function(){},Ra={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};Ra.X.get=function(){return 0},Ra.Y.get=function(){return 1},Ra.Z.get=function(){return 2},Ra.M.get=function(){return 3},_t.prototype.setOrdinate=function(t,e,r){},_t.prototype.size=function(){},_t.prototype.getOrdinate=function(t,e){},_t.prototype.getCoordinate=function(){},_t.prototype.getCoordinateCopy=function(t){},_t.prototype.getDimension=function(){},_t.prototype.getX=function(t){},_t.prototype.clone=function(){},_t.prototype.expandEnvelope=function(t){},_t.prototype.copy=function(){},_t.prototype.getY=function(t){},_t.prototype.toCoordinateArray=function(){},_t.prototype.interfaces_=function(){return[Du]},_t.prototype.getClass=function(){return _t},Object.defineProperties(_t,Ra);var wd=function(){},mo=function(n){function t(){n.call(this,"Projective point not representable on the Cartesian plane.")}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(wd),he=function(){};he.arraycopy=function(t,e,r,i,s){for(var o=0,a=e;a<e+s;a++)r[i+o]=t[a],o++},he.getProperty=function(t){return{"line.separator":`
|
|
42
42
|
`}[t]};var Tr=function n(){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 t=arguments[0];this.x=t.x,this.y=t.y,this.w=1}else if(arguments.length===2){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],r=arguments[1];this.x=e,this.y=r,this.w=1}else if(arguments[0]instanceof n&&arguments[1]instanceof n){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 D&&arguments[1]instanceof D){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],d=arguments[1],g=arguments[2],y=arguments[3],C=h.y-d.y,P=d.x-h.x,T=h.x*d.y-d.x*h.y,v=g.y-y.y,w=y.x-g.x,m=g.x*y.y-y.x*g.y;this.x=P*m-w*T,this.y=v*T-C*m,this.w=C*w-v*P}};Tr.prototype.getY=function(){var t=this.y/this.w;if(ot.isNaN(t)||ot.isInfinite(t))throw new mo;return t},Tr.prototype.getX=function(){var t=this.x/this.w;if(ot.isNaN(t)||ot.isInfinite(t))throw new mo;return t},Tr.prototype.getCoordinate=function(){var t=new D;return t.x=this.getX(),t.y=this.getY(),t},Tr.prototype.interfaces_=function(){return[]},Tr.prototype.getClass=function(){return Tr},Tr.intersection=function(t,e,r,i){var s=t.y-e.y,o=e.x-t.x,a=t.x*e.y-e.x*t.y,u=r.y-i.y,l=i.x-r.x,c=r.x*i.y-i.x*r.y,h=o*c-l*a,d=u*a-s*c,g=s*l-u*o,y=h/g,C=d/g;if(ot.isNaN(y)||ot.isInfinite(y)||ot.isNaN(C)||ot.isInfinite(C))throw new mo;return new D(y,C)};var j=function n(){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 D){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof n){var e=arguments[0];this.init(e)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.init(r.x,i.x,r.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)}},Ed={serialVersionUID:{configurable:!0}};j.prototype.getArea=function(){return this.getWidth()*this.getHeight()},j.prototype.equals=function(t){if(!(t instanceof j))return!1;var e=t;return this.isNull()?e.isNull():this._maxx===e.getMaxX()&&this._maxy===e.getMaxY()&&this._minx===e.getMinX()&&this._miny===e.getMinY()},j.prototype.intersection=function(t){if(this.isNull()||t.isNull()||!this.intersects(t))return new j;var e=this._minx>t._minx?this._minx:t._minx,r=this._miny>t._miny?this._miny:t._miny,i=this._maxx<t._maxx?this._maxx:t._maxx,s=this._maxy<t._maxy?this._maxy:t._maxy;return new j(e,i,r,s)},j.prototype.isNull=function(){return this._maxx<this._minx},j.prototype.getMaxX=function(){return this._maxx},j.prototype.covers=function(){if(arguments.length===1){if(arguments[0]instanceof D){var t=arguments[0];return this.covers(t.x,t.y)}else if(arguments[0]instanceof j){var e=arguments[0];return this.isNull()||e.isNull()?!1:e.getMinX()>=this._minx&&e.getMaxX()<=this._maxx&&e.getMinY()>=this._miny&&e.getMaxY()<=this._maxy}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.isNull()?!1:r>=this._minx&&r<=this._maxx&&i>=this._miny&&i<=this._maxy}},j.prototype.intersects=function(){if(arguments.length===1){if(arguments[0]instanceof j){var t=arguments[0];return this.isNull()||t.isNull()?!1:!(t._minx>this._maxx||t._maxx<this._minx||t._miny>this._maxy||t._maxy<this._miny)}else if(arguments[0]instanceof D){var e=arguments[0];return this.intersects(e.x,e.y)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.isNull()?!1:!(r>this._maxx||r<this._minx||i>this._maxy||i<this._miny)}},j.prototype.getMinY=function(){return this._miny},j.prototype.getMinX=function(){return this._minx},j.prototype.expandToInclude=function(){if(arguments.length===1){if(arguments[0]instanceof D){var t=arguments[0];this.expandToInclude(t.x,t.y)}else if(arguments[0]instanceof j){var e=arguments[0];if(e.isNull())return null;this.isNull()?(this._minx=e.getMinX(),this._maxx=e.getMaxX(),this._miny=e.getMinY(),this._maxy=e.getMaxY()):(e._minx<this._minx&&(this._minx=e._minx),e._maxx>this._maxx&&(this._maxx=e._maxx),e._miny<this._miny&&(this._miny=e._miny),e._maxy>this._maxy&&(this._maxy=e._maxy))}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.isNull()?(this._minx=r,this._maxx=r,this._miny=i,this._maxy=i):(r<this._minx&&(this._minx=r),r>this._maxx&&(this._maxx=r),i<this._miny&&(this._miny=i),i>this._maxy&&(this._maxy=i))}},j.prototype.minExtent=function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t<e?t:e},j.prototype.getWidth=function(){return this.isNull()?0:this._maxx-this._minx},j.prototype.compareTo=function(t){var e=t;return this.isNull()?e.isNull()?0:-1:e.isNull()?1:this._minx<e._minx?-1:this._minx>e._minx?1:this._miny<e._miny?-1:this._miny>e._miny?1:this._maxx<e._maxx?-1:this._maxx>e._maxx?1:this._maxy<e._maxy?-1:this._maxy>e._maxy?1:0},j.prototype.translate=function(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)},j.prototype.toString=function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"},j.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},j.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},j.prototype.maxExtent=function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e},j.prototype.expandBy=function(){if(arguments.length===1){var t=arguments[0];this.expandBy(t,t)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];if(this.isNull())return null;this._minx-=e,this._maxx+=e,this._miny-=r,this._maxy+=r,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}},j.prototype.contains=function(){if(arguments.length===1){if(arguments[0]instanceof j){var t=arguments[0];return this.covers(t)}else if(arguments[0]instanceof D){var e=arguments[0];return this.covers(e)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.covers(r,i)}},j.prototype.centre=function(){return this.isNull()?null:new D((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},j.prototype.init=function(){if(arguments.length===0)this.setToNull();else if(arguments.length===1){if(arguments[0]instanceof D){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof j){var e=arguments[0];this._minx=e._minx,this._maxx=e._maxx,this._miny=e._miny,this._maxy=e._maxy}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.init(r.x,i.x,r.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)}},j.prototype.getMaxY=function(){return this._maxy},j.prototype.distance=function(t){if(this.intersects(t))return 0;var e=0;this._maxx<t._minx?e=t._minx-this._maxx:this._minx>t._maxx&&(e=this._minx-t._maxx);var r=0;return this._maxy<t._miny?r=t._miny-this._maxy:this._miny>t._maxy&&(r=this._miny-t._maxy),e===0?r:r===0?e:Math.sqrt(e*e+r*r)},j.prototype.hashCode=function(){var t=17;return t=37*t+D.hashCode(this._minx),t=37*t+D.hashCode(this._maxx),t=37*t+D.hashCode(this._miny),t=37*t+D.hashCode(this._maxy),t},j.prototype.interfaces_=function(){return[fr,dr]},j.prototype.getClass=function(){return j},j.intersects=function(){if(arguments.length===3){var t=arguments[0],e=arguments[1],r=arguments[2];return r.x>=(t.x<e.x?t.x:e.x)&&r.x<=(t.x>e.x?t.x:e.x)&&r.y>=(t.y<e.y?t.y:e.y)&&r.y<=(t.y>e.y?t.y:e.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)}},Ed.serialVersionUID.get=function(){return 5873921885273102e3},Object.defineProperties(j,Ed);var Wr={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*$/},Mu=function(t){this.geometryFactory=t||new pt};Mu.prototype.read=function(t){var e,r,i;t=t.replace(/[\n\r]/g," ");var s=Wr.typeStr.exec(t);if(t.search("EMPTY")!==-1&&(s=Wr.emptyTypeStr.exec(t),s[2]=void 0),s&&(r=s[1].toLowerCase(),i=s[2],vo[r]&&(e=vo[r].apply(this,[i]))),e===void 0)throw new Error("Could not parse WKT "+t);return e},Mu.prototype.write=function(t){return this.extractGeometry(t)},Mu.prototype.extractGeometry=function(t){var e=t.getGeometryType().toLowerCase();if(!Hn[e])return null;var r=e.toUpperCase(),i;return t.isEmpty()?i=r+" EMPTY":i=r+"("+Hn[e].apply(this,[t])+")",i};var Hn={coordinate:function(t){return t.x+" "+t.y},point:function(t){return Hn.coordinate.call(this,t._coordinates._coordinates[0])},multipoint:function(t){for(var e=this,r=[],i=0,s=t._geometries.length;i<s;++i)r.push("("+Hn.point.apply(e,[t._geometries[i]])+")");return r.join(",")},linestring:function(t){for(var e=this,r=[],i=0,s=t._points._coordinates.length;i<s;++i)r.push(Hn.coordinate.apply(e,[t._points._coordinates[i]]));return r.join(",")},linearring:function(t){for(var e=this,r=[],i=0,s=t._points._coordinates.length;i<s;++i)r.push(Hn.coordinate.apply(e,[t._points._coordinates[i]]));return r.join(",")},multilinestring:function(t){for(var e=this,r=[],i=0,s=t._geometries.length;i<s;++i)r.push("("+Hn.linestring.apply(e,[t._geometries[i]])+")");return r.join(",")},polygon:function(t){var e=this,r=[];r.push("("+Hn.linestring.apply(this,[t._shell])+")");for(var i=0,s=t._holes.length;i<s;++i)r.push("("+Hn.linestring.apply(e,[t._holes[i]])+")");return r.join(",")},multipolygon:function(t){for(var e=this,r=[],i=0,s=t._geometries.length;i<s;++i)r.push("("+Hn.polygon.apply(e,[t._geometries[i]])+")");return r.join(",")},geometrycollection:function(t){for(var e=this,r=[],i=0,s=t._geometries.length;i<s;++i)r.push(e.extractGeometry(t._geometries[i]));return r.join(",")}},vo={point:function(t){if(t===void 0)return this.geometryFactory.createPoint();var e=t.trim().split(Wr.spaces);return this.geometryFactory.createPoint(new D(Number.parseFloat(e[0]),Number.parseFloat(e[1])))},multipoint:function(t){var e=this;if(t===void 0)return this.geometryFactory.createMultiPoint();for(var r,i=t.trim().split(","),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(Wr.trimParens,"$1"),s.push(vo.point.apply(e,[r]));return this.geometryFactory.createMultiPoint(s)},linestring:function(t){if(t===void 0)return this.geometryFactory.createLineString();for(var e=t.trim().split(","),r=[],i,s=0,o=e.length;s<o;++s)i=e[s].trim().split(Wr.spaces),r.push(new D(Number.parseFloat(i[0]),Number.parseFloat(i[1])));return this.geometryFactory.createLineString(r)},linearring:function(t){if(t===void 0)return this.geometryFactory.createLinearRing();for(var e=t.trim().split(","),r=[],i,s=0,o=e.length;s<o;++s)i=e[s].trim().split(Wr.spaces),r.push(new D(Number.parseFloat(i[0]),Number.parseFloat(i[1])));return this.geometryFactory.createLinearRing(r)},multilinestring:function(t){var e=this;if(t===void 0)return this.geometryFactory.createMultiLineString();for(var r,i=t.trim().split(Wr.parenComma),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(Wr.trimParens,"$1"),s.push(vo.linestring.apply(e,[r]));return this.geometryFactory.createMultiLineString(s)},polygon:function(t){var e=this;if(t===void 0)return this.geometryFactory.createPolygon();for(var r,i,s,o=t.trim().split(Wr.parenComma),a,u=[],l=0,c=o.length;l<c;++l)r=o[l].replace(Wr.trimParens,"$1"),i=vo.linestring.apply(e,[r]),s=e.geometryFactory.createLinearRing(i._points),l===0?a=s:u.push(s);return this.geometryFactory.createPolygon(a,u)},multipolygon:function(t){var e=this;if(t===void 0)return this.geometryFactory.createMultiPolygon();for(var r,i=t.trim().split(Wr.doubleParenComma),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(Wr.trimParens,"$1"),s.push(vo.polygon.apply(e,[r]));return this.geometryFactory.createMultiPolygon(s)},geometrycollection:function(t){var e=this;if(t===void 0)return this.geometryFactory.createGeometryCollection();t=t.replace(/,\s*([A-Za-z])/g,"|$1");for(var r=t.trim().split("|"),i=[],s=0,o=r.length;s<o;++s)i.push(e.read(r[s]));return this.geometryFactory.createGeometryCollection(i)}},Or=function(t){this.parser=new Mu(t)};Or.prototype.write=function(t){return this.parser.write(t)},Or.toLineString=function(t,e){if(arguments.length!==2)throw new Error("Not implemented");return"LINESTRING ( "+t.x+" "+t.y+", "+e.x+" "+e.y+" )"};var Yn=function(n){function t(e){n.call(this,e),this.name="RuntimeException",this.message=e,this.stack=new n().stack}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t}(Error),Lu=function(n){function t(){if(n.call(this),arguments.length===0)n.call(this);else if(arguments.length===1){var e=arguments[0];n.call(this,e)}}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Yn),ct=function(){};ct.prototype.interfaces_=function(){return[]},ct.prototype.getClass=function(){return ct},ct.shouldNeverReachHere=function(){if(arguments.length===0)ct.shouldNeverReachHere(null);else if(arguments.length===1){var t=arguments[0];throw new Lu("Should never reach here"+(t!==null?": "+t:""))}},ct.isTrue=function(){var t,e;if(arguments.length===1)t=arguments[0],ct.isTrue(t,null);else if(arguments.length===2&&(t=arguments[0],e=arguments[1],!t))throw e===null?new Lu:new Lu(e)},ct.equals=function(){var t,e,r;if(arguments.length===2)t=arguments[0],e=arguments[1],ct.equals(t,e,null);else if(arguments.length===3&&(t=arguments[0],e=arguments[1],r=arguments[2],!e.equals(t)))throw new Lu("Expected "+t+" but encountered "+e+(r!==null?": "+r:""))};var Gt=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 D,this._intPt[1]=new D,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},Is={DONT_INTERSECT:{configurable:!0},DO_INTERSECT:{configurable:!0},COLLINEAR:{configurable:!0},NO_INTERSECTION:{configurable:!0},POINT_INTERSECTION:{configurable:!0},COLLINEAR_INTERSECTION:{configurable:!0}};Gt.prototype.getIndexAlongSegment=function(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]},Gt.prototype.getTopologySummary=function(){var t=new Ur;return this.isEndPoint()&&t.append(" endpoint"),this._isProper&&t.append(" proper"),this.isCollinear()&&t.append(" collinear"),t.toString()},Gt.prototype.computeIntersection=function(t,e,r,i){this._inputLines[0][0]=t,this._inputLines[0][1]=e,this._inputLines[1][0]=r,this._inputLines[1][1]=i,this._result=this.computeIntersect(t,e,r,i)},Gt.prototype.getIntersectionNum=function(){return this._result},Gt.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 t=arguments[0],e=this.getEdgeDistance(t,0),r=this.getEdgeDistance(t,1);e>r?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}},Gt.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},Gt.prototype.setPrecisionModel=function(t){this._precisionModel=t},Gt.prototype.isInteriorIntersection=function(){var t=this;if(arguments.length===0)return!!(this.isInteriorIntersection(0)||this.isInteriorIntersection(1));if(arguments.length===1){for(var e=arguments[0],r=0;r<this._result;r++)if(!(t._intPt[r].equals2D(t._inputLines[e][0])||t._intPt[r].equals2D(t._inputLines[e][1])))return!0;return!1}},Gt.prototype.getIntersection=function(t){return this._intPt[t]},Gt.prototype.isEndPoint=function(){return this.hasIntersection()&&!this._isProper},Gt.prototype.hasIntersection=function(){return this._result!==Gt.NO_INTERSECTION},Gt.prototype.getEdgeDistance=function(t,e){var r=Gt.computeEdgeDistance(this._intPt[e],this._inputLines[t][0],this._inputLines[t][1]);return r},Gt.prototype.isCollinear=function(){return this._result===Gt.COLLINEAR_INTERSECTION},Gt.prototype.toString=function(){return Or.toLineString(this._inputLines[0][0],this._inputLines[0][1])+" - "+Or.toLineString(this._inputLines[1][0],this._inputLines[1][1])+this.getTopologySummary()},Gt.prototype.getEndpoint=function(t,e){return this._inputLines[t][e]},Gt.prototype.isIntersection=function(t){for(var e=this,r=0;r<this._result;r++)if(e._intPt[r].equals2D(t))return!0;return!1},Gt.prototype.getIntersectionAlongSegment=function(t,e){return this.computeIntLineIndex(),this._intPt[this._intLineIndex[t][e]]},Gt.prototype.interfaces_=function(){return[]},Gt.prototype.getClass=function(){return Gt},Gt.computeEdgeDistance=function(t,e,r){var i=Math.abs(r.x-e.x),s=Math.abs(r.y-e.y),o=-1;if(t.equals(e))o=0;else if(t.equals(r))i>s?o=i:o=s;else{var a=Math.abs(t.x-e.x),u=Math.abs(t.y-e.y);i>s?o=a:o=u,o===0&&!t.equals(e)&&(o=Math.max(a,u))}return ct.isTrue(!(o===0&&!t.equals(e)),"Bad distance calculation"),o},Gt.nonRobustComputeEdgeDistance=function(t,e,r){var i=t.x-e.x,s=t.y-e.y,o=Math.sqrt(i*i+s*s);return ct.isTrue(!(o===0&&!t.equals(e)),"Invalid distance calculation"),o},Is.DONT_INTERSECT.get=function(){return 0},Is.DO_INTERSECT.get=function(){return 1},Is.COLLINEAR.get=function(){return 2},Is.NO_INTERSECTION.get=function(){return 0},Is.POINT_INTERSECTION.get=function(){return 1},Is.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(Gt,Is);var Gi=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.isInSegmentEnvelopes=function(r){var i=new j(this._inputLines[0][0],this._inputLines[0][1]),s=new j(this._inputLines[1][0],this._inputLines[1][1]);return i.contains(r)&&s.contains(r)},t.prototype.computeIntersection=function(){if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];if(this._isProper=!1,j.intersects(i,s,r)&&W.orientationIndex(i,s,r)===0&&W.orientationIndex(s,i,r)===0)return this._isProper=!0,(r.equals(i)||r.equals(s))&&(this._isProper=!1),this._result=n.POINT_INTERSECTION,null;this._result=n.NO_INTERSECTION}else return n.prototype.computeIntersection.apply(this,arguments)},t.prototype.normalizeToMinimum=function(r,i,s,o,a){a.x=this.smallestInAbsValue(r.x,i.x,s.x,o.x),a.y=this.smallestInAbsValue(r.y,i.y,s.y,o.y),r.x-=a.x,r.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},t.prototype.safeHCoordinateIntersection=function(r,i,s,o){var a=null;try{a=Tr.intersection(r,i,s,o)}catch(u){if(u instanceof mo)a=t.nearestEndpoint(r,i,s,o);else throw u}finally{}return a},t.prototype.intersection=function(r,i,s,o){var a=this.intersectionWithNormalization(r,i,s,o);return this.isInSegmentEnvelopes(a)||(a=new D(t.nearestEndpoint(r,i,s,o))),this._precisionModel!==null&&this._precisionModel.makePrecise(a),a},t.prototype.smallestInAbsValue=function(r,i,s,o){var a=r,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},t.prototype.checkDD=function(r,i,s,o,a){var u=Re.intersection(r,i,s,o),l=this.isInSegmentEnvelopes(u);he.out.println("DD in env = "+l+" --------------------- "+u),a.distance(u)>1e-4&&he.out.println("Distance = "+a.distance(u))},t.prototype.intersectionWithNormalization=function(r,i,s,o){var a=new D(r),u=new D(i),l=new D(s),c=new D(o),h=new D;this.normalizeToEnvCentre(a,u,l,c,h);var d=this.safeHCoordinateIntersection(a,u,l,c);return d.x+=h.x,d.y+=h.y,d},t.prototype.computeCollinearIntersection=function(r,i,s,o){var a=j.intersects(r,i,s),u=j.intersects(r,i,o),l=j.intersects(s,o,r),c=j.intersects(s,o,i);return a&&u?(this._intPt[0]=s,this._intPt[1]=o,n.COLLINEAR_INTERSECTION):l&&c?(this._intPt[0]=r,this._intPt[1]=i,n.COLLINEAR_INTERSECTION):a&&l?(this._intPt[0]=s,this._intPt[1]=r,s.equals(r)&&!u&&!c?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):a&&c?(this._intPt[0]=s,this._intPt[1]=i,s.equals(i)&&!u&&!l?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):u&&l?(this._intPt[0]=o,this._intPt[1]=r,o.equals(r)&&!a&&!c?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):u&&c?(this._intPt[0]=o,this._intPt[1]=i,o.equals(i)&&!a&&!l?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):n.NO_INTERSECTION},t.prototype.normalizeToEnvCentre=function(r,i,s,o,a){var u=r.x<i.x?r.x:i.x,l=r.y<i.y?r.y:i.y,c=r.x>i.x?r.x:i.x,h=r.y>i.y?r.y:i.y,d=s.x<o.x?s.x:o.x,g=s.y<o.y?s.y:o.y,y=s.x>o.x?s.x:o.x,C=s.y>o.y?s.y:o.y,P=u>d?u:d,T=c<y?c:y,v=l>g?l:g,w=h<C?h:C,m=(P+T)/2,_=(v+w)/2;a.x=m,a.y=_,r.x-=a.x,r.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},t.prototype.computeIntersect=function(r,i,s,o){if(this._isProper=!1,!j.intersects(r,i,s,o))return n.NO_INTERSECTION;var a=W.orientationIndex(r,i,s),u=W.orientationIndex(r,i,o);if(a>0&&u>0||a<0&&u<0)return n.NO_INTERSECTION;var l=W.orientationIndex(s,o,r),c=W.orientationIndex(s,o,i);if(l>0&&c>0||l<0&&c<0)return n.NO_INTERSECTION;var h=a===0&&u===0&&l===0&&c===0;return h?this.computeCollinearIntersection(r,i,s,o):(a===0||u===0||l===0||c===0?(this._isProper=!1,r.equals2D(s)||r.equals2D(o)?this._intPt[0]=r:i.equals2D(s)||i.equals2D(o)?this._intPt[0]=i:a===0?this._intPt[0]=new D(s):u===0?this._intPt[0]=new D(o):l===0?this._intPt[0]=new D(r):c===0&&(this._intPt[0]=new D(i))):(this._isProper=!0,this._intPt[0]=this.intersection(r,i,s,o)),n.POINT_INTERSECTION)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.nearestEndpoint=function(r,i,s,o){var a=r,u=W.distancePointLine(r,s,o),l=W.distancePointLine(i,s,o);return l<u&&(u=l,a=i),l=W.distancePointLine(s,r,i),l<u&&(u=l,a=s),l=W.distancePointLine(o,r,i),l<u&&(u=l,a=o),a},t}(Gt),Ps=function(){};Ps.prototype.interfaces_=function(){return[]},Ps.prototype.getClass=function(){return Ps},Ps.orientationIndex=function(t,e,r){var i=e.x-t.x,s=e.y-t.y,o=r.x-e.x,a=r.y-e.y;return Ps.signOfDet2x2(i,s,o,a)},Ps.signOfDet2x2=function(t,e,r,i){var s=null,o=null,a=null;if(s=1,t===0||i===0)return e===0||r===0?0:e>0?r>0?-s:s:r>0?s:-s;if(e===0||r===0)return i>0?t>0?s:-s:t>0?-s:s;if(e>0?i>0?e<=i||(s=-s,o=t,t=r,r=o,o=e,e=i,i=o):e<=-i?(s=-s,r=-r,i=-i):(o=t,t=-r,r=o,o=e,e=-i,i=o):i>0?-e<=i?(s=-s,t=-t,e=-e):(o=-t,t=r,r=o,o=-e,e=i,i=o):e>=i?(t=-t,e=-e,r=-r,i=-i):(s=-s,o=-t,t=-r,r=o,o=-e,e=-i,i=o),t>0)if(r>0){if(!(t<=r))return s}else return s;else{if(r>0)return-s;if(t>=r)s=-s,t=-t,r=-r;else return-s}for(;;){if(a=Math.floor(r/t),r=r-a*t,i=i-a*e,i<0)return-s;if(i>e)return s;if(t>r+r){if(e<i+i)return s}else{if(e>i+i)return-s;r=t-r,i=e-i,s=-s}if(i===0)return r===0?0:-s;if(r===0||(a=Math.floor(t/r),t=t-a*r,e=e-a*i,e<0))return s;if(e>i)return-s;if(r>t+t){if(i<e+e)return-s}else{if(i>e+e)return s;t=r-t,e=i-e,s=-s}if(e===0)return t===0?0:s;if(t===0)return-s}};var qr=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var t=arguments[0];this._p=t};qr.prototype.countSegment=function(t,e){if(t.x<this._p.x&&e.x<this._p.x)return null;if(this._p.x===e.x&&this._p.y===e.y)return this._isPointOnSegment=!0,null;if(t.y===this._p.y&&e.y===this._p.y){var r=t.x,i=e.x;return r>i&&(r=e.x,i=t.x),this._p.x>=r&&this._p.x<=i&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var s=t.x-this._p.x,o=t.y-this._p.y,a=e.x-this._p.x,u=e.y-this._p.y,l=Ps.signOfDet2x2(s,o,a,u);if(l===0)return this._isPointOnSegment=!0,null;u<o&&(l=-l),l>0&&this._crossingCount++}},qr.prototype.isPointInPolygon=function(){return this.getLocation()!==R.EXTERIOR},qr.prototype.getLocation=function(){return this._isPointOnSegment?R.BOUNDARY:this._crossingCount%2===1?R.INTERIOR:R.EXTERIOR},qr.prototype.isOnSegment=function(){return this._isPointOnSegment},qr.prototype.interfaces_=function(){return[]},qr.prototype.getClass=function(){return qr},qr.locatePointInRing=function(){if(arguments[0]instanceof D&&nt(arguments[1],_t)){for(var t=arguments[0],e=arguments[1],r=new qr(t),i=new D,s=new D,o=1;o<e.size();o++)if(e.getCoordinate(o,i),e.getCoordinate(o-1,s),r.countSegment(i,s),r.isOnSegment())return r.getLocation();return r.getLocation()}else if(arguments[0]instanceof D&&arguments[1]instanceof Array){for(var a=arguments[0],u=arguments[1],l=new qr(a),c=1;c<u.length;c++){var h=u[c],d=u[c-1];if(l.countSegment(h,d),l.isOnSegment())return l.getLocation()}return l.getLocation()}};var W=function(){},bs={CLOCKWISE:{configurable:!0},RIGHT:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},LEFT:{configurable:!0},COLLINEAR:{configurable:!0},STRAIGHT:{configurable:!0}};W.prototype.interfaces_=function(){return[]},W.prototype.getClass=function(){return W},W.orientationIndex=function(t,e,r){return Re.orientationIndex(t,e,r)},W.signedArea=function(){if(arguments[0]instanceof Array){var t=arguments[0];if(t.length<3)return 0;for(var e=0,r=t[0].x,i=1;i<t.length-1;i++){var s=t[i].x-r,o=t[i+1].y,a=t[i-1].y;e+=s*(a-o)}return e/2}else if(nt(arguments[0],_t)){var u=arguments[0],l=u.size();if(l<3)return 0;var c=new D,h=new D,d=new D;u.getCoordinate(0,h),u.getCoordinate(1,d);var g=h.x;d.x-=g;for(var y=0,C=1;C<l-1;C++)c.y=h.y,h.x=d.x,h.y=d.y,u.getCoordinate(C+1,d),d.x-=g,y+=h.x*(c.y-d.y);return y/2}},W.distanceLineLine=function(t,e,r,i){if(t.equals(e))return W.distancePointLine(t,r,i);if(r.equals(i))return W.distancePointLine(i,t,e);var s=!1;if(!j.intersects(t,e,r,i))s=!0;else{var o=(e.x-t.x)*(i.y-r.y)-(e.y-t.y)*(i.x-r.x);if(o===0)s=!0;else{var a=(t.y-r.y)*(i.x-r.x)-(t.x-r.x)*(i.y-r.y),u=(t.y-r.y)*(e.x-t.x)-(t.x-r.x)*(e.y-t.y),l=u/o,c=a/o;(c<0||c>1||l<0||l>1)&&(s=!0)}}return s?nr.min(W.distancePointLine(t,r,i),W.distancePointLine(e,r,i),W.distancePointLine(r,t,e),W.distancePointLine(i,t,e)):0},W.isPointInRing=function(t,e){return W.locatePointInRing(t,e)!==R.EXTERIOR},W.computeLength=function(t){var e=t.size();if(e<=1)return 0;var r=0,i=new D;t.getCoordinate(0,i);for(var s=i.x,o=i.y,a=1;a<e;a++){t.getCoordinate(a,i);var u=i.x,l=i.y,c=u-s,h=l-o;r+=Math.sqrt(c*c+h*h),s=u,o=l}return r},W.isCCW=function(t){var e=t.length-1;if(e<3)throw new zt("Ring has fewer than 4 points, so orientation cannot be determined");for(var r=t[0],i=0,s=1;s<=e;s++){var o=t[s];o.y>r.y&&(r=o,i=s)}var a=i;do a=a-1,a<0&&(a=e);while(t[a].equals2D(r)&&a!==i);var u=i;do u=(u+1)%e;while(t[u].equals2D(r)&&u!==i);var l=t[a],c=t[u];if(l.equals2D(r)||c.equals2D(r)||l.equals2D(c))return!1;var h=W.computeOrientation(l,r,c),d=!1;return h===0?d=l.x>c.x:d=h>0,d},W.locatePointInRing=function(t,e){return qr.locatePointInRing(t,e)},W.distancePointLinePerpendicular=function(t,e,r){var i=(r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y),s=((e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y))/i;return Math.abs(s)*Math.sqrt(i)},W.computeOrientation=function(t,e,r){return W.orientationIndex(t,e,r)},W.distancePointLine=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1];if(e.length===0)throw new zt("Line array must contain at least one vertex");for(var r=t.distance(e[0]),i=0;i<e.length-1;i++){var s=W.distancePointLine(t,e[i],e[i+1]);s<r&&(r=s)}return r}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)}},W.isOnLine=function(t,e){for(var r=new Gi,i=1;i<e.length;i++){var s=e[i-1],o=e[i];if(r.computeIntersection(t,s,o),r.hasIntersection())return!0}return!1},bs.CLOCKWISE.get=function(){return-1},bs.RIGHT.get=function(){return W.CLOCKWISE},bs.COUNTERCLOCKWISE.get=function(){return 1},bs.LEFT.get=function(){return W.COUNTERCLOCKWISE},bs.COLLINEAR.get=function(){return 0},bs.STRAIGHT.get=function(){return W.COLLINEAR},Object.defineProperties(W,bs);var Jn=function(){};Jn.prototype.filter=function(t){},Jn.prototype.interfaces_=function(){return[]},Jn.prototype.getClass=function(){return Jn};var rt=function(){var t=arguments[0];this._envelope=null,this._factory=null,this._SRID=null,this._userData=null,this._factory=t,this._SRID=t.getSRID()},wn={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}};rt.prototype.isGeometryCollection=function(){return this.getSortIndex()===rt.SORTINDEX_GEOMETRYCOLLECTION},rt.prototype.getFactory=function(){return this._factory},rt.prototype.getGeometryN=function(t){return this},rt.prototype.getArea=function(){return 0},rt.prototype.isRectangle=function(){return!1},rt.prototype.equals=function(){if(arguments[0]instanceof rt){var t=arguments[0];return t===null?!1:this.equalsTopo(t)}else if(arguments[0]instanceof Object){var e=arguments[0];if(!(e instanceof rt))return!1;var r=e;return this.equalsExact(r)}},rt.prototype.equalsExact=function(t){return this===t||this.equalsExact(t,0)},rt.prototype.geometryChanged=function(){this.apply(rt.geometryChangedFilter)},rt.prototype.geometryChangedAction=function(){this._envelope=null},rt.prototype.equalsNorm=function(t){return t===null?!1:this.norm().equalsExact(t.norm())},rt.prototype.getLength=function(){return 0},rt.prototype.getNumGeometries=function(){return 1},rt.prototype.compareTo=function(){if(arguments.length===1){var t=arguments[0],e=t;return this.getSortIndex()!==e.getSortIndex()?this.getSortIndex()-e.getSortIndex():this.isEmpty()&&e.isEmpty()?0:this.isEmpty()?-1:e.isEmpty()?1:this.compareToSameClass(t)}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.getSortIndex()!==r.getSortIndex()?this.getSortIndex()-r.getSortIndex():this.isEmpty()&&r.isEmpty()?0:this.isEmpty()?-1:r.isEmpty()?1:this.compareToSameClass(r,i)}},rt.prototype.getUserData=function(){return this._userData},rt.prototype.getSRID=function(){return this._SRID},rt.prototype.getEnvelope=function(){return this.getFactory().toGeometry(this.getEnvelopeInternal())},rt.prototype.checkNotGeometryCollection=function(t){if(t.getSortIndex()===rt.SORTINDEX_GEOMETRYCOLLECTION)throw new zt("This method does not support GeometryCollection arguments")},rt.prototype.equal=function(t,e,r){return r===0?t.equals(e):t.distance(e)<=r},rt.prototype.norm=function(){var t=this.copy();return t.normalize(),t},rt.prototype.getPrecisionModel=function(){return this._factory.getPrecisionModel()},rt.prototype.getEnvelopeInternal=function(){return this._envelope===null&&(this._envelope=this.computeEnvelopeInternal()),new j(this._envelope)},rt.prototype.setSRID=function(t){this._SRID=t},rt.prototype.setUserData=function(t){this._userData=t},rt.prototype.compare=function(t,e){for(var r=t.iterator(),i=e.iterator();r.hasNext()&&i.hasNext();){var s=r.next(),o=i.next(),a=s.compareTo(o);if(a!==0)return a}return r.hasNext()?1:i.hasNext()?-1:0},rt.prototype.hashCode=function(){return this.getEnvelopeInternal().hashCode()},rt.prototype.isGeometryCollectionOrDerived=function(){return this.getSortIndex()===rt.SORTINDEX_GEOMETRYCOLLECTION||this.getSortIndex()===rt.SORTINDEX_MULTIPOINT||this.getSortIndex()===rt.SORTINDEX_MULTILINESTRING||this.getSortIndex()===rt.SORTINDEX_MULTIPOLYGON},rt.prototype.interfaces_=function(){return[Du,fr,dr]},rt.prototype.getClass=function(){return rt},rt.hasNonEmptyElements=function(t){for(var e=0;e<t.length;e++)if(!t[e].isEmpty())return!0;return!1},rt.hasNullElements=function(t){for(var e=0;e<t.length;e++)if(t[e]===null)return!0;return!1},wn.serialVersionUID.get=function(){return 8763622679187377e3},wn.SORTINDEX_POINT.get=function(){return 0},wn.SORTINDEX_MULTIPOINT.get=function(){return 1},wn.SORTINDEX_LINESTRING.get=function(){return 2},wn.SORTINDEX_LINEARRING.get=function(){return 3},wn.SORTINDEX_MULTILINESTRING.get=function(){return 4},wn.SORTINDEX_POLYGON.get=function(){return 5},wn.SORTINDEX_MULTIPOLYGON.get=function(){return 6},wn.SORTINDEX_GEOMETRYCOLLECTION.get=function(){return 7},wn.geometryChangedFilter.get=function(){return $l},Object.defineProperties(rt,wn);var $l=function(){};$l.interfaces_=function(){return[Jn]},$l.filter=function(t){t.geometryChangedAction()};var En=function(){};En.prototype.filter=function(t){},En.prototype.interfaces_=function(){return[]},En.prototype.getClass=function(){return En};var pr=function(){},Bn={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}};pr.prototype.isInBoundary=function(t){},pr.prototype.interfaces_=function(){return[]},pr.prototype.getClass=function(){return pr},Bn.Mod2BoundaryNodeRule.get=function(){return yo},Bn.EndPointBoundaryNodeRule.get=function(){return _o},Bn.MultiValentEndPointBoundaryNodeRule.get=function(){return wo},Bn.MonoValentEndPointBoundaryNodeRule.get=function(){return Eo},Bn.MOD2_BOUNDARY_RULE.get=function(){return new yo},Bn.ENDPOINT_BOUNDARY_RULE.get=function(){return new _o},Bn.MULTIVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new wo},Bn.MONOVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new Eo},Bn.OGC_SFS_BOUNDARY_RULE.get=function(){return pr.MOD2_BOUNDARY_RULE},Object.defineProperties(pr,Bn);var yo=function(){};yo.prototype.isInBoundary=function(t){return t%2===1},yo.prototype.interfaces_=function(){return[pr]},yo.prototype.getClass=function(){return yo};var _o=function(){};_o.prototype.isInBoundary=function(t){return t>0},_o.prototype.interfaces_=function(){return[pr]},_o.prototype.getClass=function(){return _o};var wo=function(){};wo.prototype.isInBoundary=function(t){return t>1},wo.prototype.interfaces_=function(){return[pr]},wo.prototype.getClass=function(){return wo};var Eo=function(){};Eo.prototype.isInBoundary=function(t){return t===1},Eo.prototype.interfaces_=function(){return[pr]},Eo.prototype.getClass=function(){return Eo};var $t=function(){};$t.prototype.add=function(){},$t.prototype.addAll=function(){},$t.prototype.isEmpty=function(){},$t.prototype.iterator=function(){},$t.prototype.size=function(){},$t.prototype.toArray=function(){},$t.prototype.remove=function(){};function tc(n){this.message=n||""}tc.prototype=new Error,tc.prototype.name="IndexOutOfBoundsException";var So=function(){};So.prototype.hasNext=function(){},So.prototype.next=function(){},So.prototype.remove=function(){};var xr=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.get=function(){},t.prototype.set=function(){},t.prototype.isEmpty=function(){},t}($t);function Co(n){this.message=n||""}Co.prototype=new Error,Co.prototype.name="NoSuchElementException";var U=function(n){function t(){n.call(this),this.array_=[],arguments[0]instanceof $t&&this.addAll(arguments[0])}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.ensureCapacity=function(){},t.prototype.interfaces_=function(){return[n,$t]},t.prototype.add=function(r){return arguments.length===1?this.array_.push(r):this.array_.splice(arguments[0],arguments[1]),!0},t.prototype.clear=function(){this.array_=[]},t.prototype.addAll=function(r){for(var i=this,s=r.iterator();s.hasNext();)i.add(s.next());return!0},t.prototype.set=function(r,i){var s=this.array_[r];return this.array_[r]=i,s},t.prototype.iterator=function(){return new ay(this)},t.prototype.get=function(r){if(r<0||r>=this.size())throw new tc;return this.array_[r]},t.prototype.isEmpty=function(){return this.array_.length===0},t.prototype.size=function(){return this.array_.length},t.prototype.toArray=function(){for(var r=this,i=[],s=0,o=this.array_.length;s<o;s++)i.push(r.array_[s]);return i},t.prototype.remove=function(r){for(var i=this,s=!1,o=0,a=this.array_.length;o<a;o++)if(i.array_[o]===r){i.array_.splice(o,1),s=!0;break}return s},t}(xr),ay=function(n){function t(e){n.call(this),this.arrayList_=e,this.position_=0}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.next=function(){if(this.position_===this.arrayList_.size())throw new Co;return this.arrayList_.get(this.position_++)},t.prototype.hasNext=function(){return this.position_<this.arrayList_.size()},t.prototype.set=function(r){return this.arrayList_.set(this.position_-1,r)},t.prototype.remove=function(){this.arrayList_.remove(this.arrayList_.get(this.position_))},t}(So),Fa=function(n){function t(){if(n.call(this),arguments.length!==0){if(arguments.length===1){var r=arguments[0];this.ensureCapacity(r.length),this.add(r,!0)}else if(arguments.length===2){var i=arguments[0],s=arguments[1];this.ensureCapacity(i.length),this.add(i,s)}}}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var e={coordArrayType:{configurable:!0}};return e.coordArrayType.get=function(){return new Array(0).fill(null)},t.prototype.getCoordinate=function(i){return this.get(i)},t.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 n.prototype.addAll.apply(this,arguments)},t.prototype.clone=function(){for(var i=this,s=n.prototype.clone.call(this),o=0;o<this.size();o++)s.add(o,i.get(o).copy());return s},t.prototype.toCoordinateArray=function(){return this.toArray(t.coordArrayType)},t.prototype.add=function(){var i=this;if(arguments.length===1){var s=arguments[0];n.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 D&&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}n.prototype.add.call(this,u)}else if(arguments[0]instanceof Object&&typeof arguments[1]=="boolean"){var h=arguments[0],d=arguments[1];return this.add(h,d),!0}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var g=arguments[0],y=arguments[1],C=arguments[2];if(C)for(var P=0;P<g.length;P++)i.add(g[P],y);else for(var T=g.length-1;T>=0;T--)i.add(g[T],y);return!0}else if(typeof arguments[2]=="boolean"&&Number.isInteger(arguments[0])&&arguments[1]instanceof D){var v=arguments[0],w=arguments[1],m=arguments[2];if(!m){var _=this.size();if(_>0){if(v>0){var E=this.get(v-1);if(E.equals2D(w))return null}if(v<_){var I=this.get(v);if(I.equals2D(w))return null}}}n.prototype.add.call(this,v,w)}}else if(arguments.length===4){var b=arguments[0],O=arguments[1],M=arguments[2],N=arguments[3],x=1;M>N&&(x=-1);for(var A=M;A!==N;A+=x)i.add(b[A],O);return!0}},t.prototype.closeRing=function(){this.size()>0&&this.add(new D(this.get(0)),!1)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},Object.defineProperties(t,e),t}(U),dt=function(){},Au={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};Au.ForwardComparator.get=function(){return ka},Au.BidirectionalComparator.get=function(){return Io},Au.coordArrayType.get=function(){return new Array(0).fill(null)},dt.prototype.interfaces_=function(){return[]},dt.prototype.getClass=function(){return dt},dt.isRing=function(t){return!(t.length<4||!t[0].equals2D(t[t.length-1]))},dt.ptNotInList=function(t,e){for(var r=0;r<t.length;r++){var i=t[r];if(dt.indexOf(i,e)<0)return i}return null},dt.scroll=function(t,e){var r=dt.indexOf(e,t);if(r<0)return null;var i=new Array(t.length).fill(null);he.arraycopy(t,r,i,0,t.length-r),he.arraycopy(t,0,i,t.length-r,r),he.arraycopy(i,0,t,0,t.length)},dt.equals=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1];if(t===e)return!0;if(t===null||e===null||t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(!t[r].equals(e[r]))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}},dt.intersection=function(t,e){for(var r=new Fa,i=0;i<t.length;i++)e.intersects(t[i])&&r.add(t[i],!0);return r.toCoordinateArray()},dt.hasRepeatedPoints=function(t){for(var e=1;e<t.length;e++)if(t[e-1].equals(t[e]))return!0;return!1},dt.removeRepeatedPoints=function(t){if(!dt.hasRepeatedPoints(t))return t;var e=new Fa(t,!1);return e.toCoordinateArray()},dt.reverse=function(t){for(var e=t.length-1,r=Math.trunc(e/2),i=0;i<=r;i++){var s=t[i];t[i]=t[e-i],t[e-i]=s}},dt.removeNull=function(t){for(var e=0,r=0;r<t.length;r++)t[r]!==null&&e++;var i=new Array(e).fill(null);if(e===0)return i;for(var s=0,o=0;o<t.length;o++)t[o]!==null&&(i[s++]=t[o]);return i},dt.copyDeep=function(){if(arguments.length===1){for(var t=arguments[0],e=new Array(t.length).fill(null),r=0;r<t.length;r++)e[r]=new D(t[r]);return e}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 D(i[s+l])},dt.isEqualReversed=function(t,e){for(var r=0;r<t.length;r++){var i=t[r],s=e[t.length-r-1];if(i.compareTo(s)!==0)return!1}return!0},dt.envelope=function(t){for(var e=new j,r=0;r<t.length;r++)e.expandToInclude(t[r]);return e},dt.toCoordinateArray=function(t){return t.toArray(dt.coordArrayType)},dt.atLeastNCoordinatesOrNothing=function(t,e){return e.length>=t?e:[]},dt.indexOf=function(t,e){for(var r=0;r<e.length;r++)if(t.equals(e[r]))return r;return-1},dt.increasingDirection=function(t){for(var e=0;e<Math.trunc(t.length/2);e++){var r=t.length-1-e,i=t[e].compareTo(t[r]);if(i!==0)return i}return 1},dt.compare=function(t,e){for(var r=0;r<t.length&&r<e.length;){var i=t[r].compareTo(e[r]);if(i!==0)return i;r++}return r<e.length?-1:r<t.length?1:0},dt.minCoordinate=function(t){for(var e=null,r=0;r<t.length;r++)(e===null||e.compareTo(t[r])>0)&&(e=t[r]);return e},dt.extract=function(t,e,r){e=nr.clamp(e,0,t.length),r=nr.clamp(r,-1,t.length);var i=r-e+1;r<0&&(i=0),e>=t.length&&(i=0),r<e&&(i=0);var s=new Array(i).fill(null);if(i===0)return s;for(var o=0,a=e;a<=r;a++)s[o++]=t[a];return s},Object.defineProperties(dt,Au);var ka=function(){};ka.prototype.compare=function(t,e){var r=t,i=e;return dt.compare(r,i)},ka.prototype.interfaces_=function(){return[po]},ka.prototype.getClass=function(){return ka};var Io=function(){};Io.prototype.compare=function(t,e){var r=t,i=e;if(r.length<i.length)return-1;if(r.length>i.length)return 1;if(r.length===0)return 0;var s=dt.compare(r,i),o=dt.isEqualReversed(r,i);return o?0:s},Io.prototype.OLDcompare=function(t,e){var r=t,i=e;if(r.length<i.length)return-1;if(r.length>i.length)return 1;if(r.length===0)return 0;for(var s=dt.increasingDirection(r),o=dt.increasingDirection(i),a=s>0?0:r.length-1,u=o>0?0:r.length-1,l=0;l<r.length;l++){var c=r[a].compareTo(i[u]);if(c!==0)return c;a+=s,u+=o}return 0},Io.prototype.interfaces_=function(){return[po]},Io.prototype.getClass=function(){return Io};var Ns=function(){};Ns.prototype.get=function(){},Ns.prototype.put=function(){},Ns.prototype.size=function(){},Ns.prototype.values=function(){},Ns.prototype.entrySet=function(){};var uy=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t}(Ns);function Va(n){this.message=n||""}Va.prototype=new Error,Va.prototype.name="OperationNotSupported";function Ru(){}Ru.prototype=new $t,Ru.prototype.contains=function(){};var ec=function(n){function t(){n.call(this),this.array_=[],arguments[0]instanceof $t&&this.addAll(arguments[0])}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.contains=function(r){for(var i=this,s=0,o=this.array_.length;s<o;s++){var a=i.array_[s];if(a===r)return!0}return!1},t.prototype.add=function(r){return this.contains(r)?!1:(this.array_.push(r),!0)},t.prototype.addAll=function(r){for(var i=this,s=r.iterator();s.hasNext();)i.add(s.next());return!0},t.prototype.remove=function(r){throw new Error},t.prototype.size=function(){return this.array_.length},t.prototype.isEmpty=function(){return this.array_.length===0},t.prototype.toArray=function(){for(var r=this,i=[],s=0,o=this.array_.length;s<o;s++)i.push(r.array_[s]);return i},t.prototype.iterator=function(){return new ly(this)},t}(Ru),ly=function(n){function t(e){n.call(this),this.hashSet_=e,this.position_=0}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.next=function(){if(this.position_===this.hashSet_.size())throw new Co;return this.hashSet_.array_[this.position_++]},t.prototype.hasNext=function(){return this.position_<this.hashSet_.size()},t.prototype.remove=function(){throw new Va},t}(So),jn=0,Wi=1;function Sd(n){return n===null?jn:n.color}function Lt(n){return n===null?null:n.parent}function Zn(n,t){n!==null&&(n.color=t)}function rc(n){return n===null?null:n.left}function Cd(n){return n===null?null:n.right}function _e(){this.root_=null,this.size_=0}_e.prototype=new uy,_e.prototype.get=function(n){for(var t=this.root_;t!==null;){var e=n.compareTo(t.key);if(e<0)t=t.left;else if(e>0)t=t.right;else return t.value}return null},_e.prototype.put=function(n,t){if(this.root_===null)return this.root_={key:n,value:t,left:null,right:null,parent:null,color:jn,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var e=this.root_,r,i;do if(r=e,i=n.compareTo(e.key),i<0)e=e.left;else if(i>0)e=e.right;else{var s=e.value;return e.value=t,s}while(e!==null);var o={key:n,left:null,right:null,value:t,parent:r,color:jn,getValue:function(){return this.value},getKey:function(){return this.key}};return i<0?r.left=o:r.right=o,this.fixAfterInsertion(o),this.size_++,null},_e.prototype.fixAfterInsertion=function(n){var t=this;for(n.color=Wi;n!=null&&n!==this.root_&&n.parent.color===Wi;)if(Lt(n)===rc(Lt(Lt(n)))){var e=Cd(Lt(Lt(n)));Sd(e)===Wi?(Zn(Lt(n),jn),Zn(e,jn),Zn(Lt(Lt(n)),Wi),n=Lt(Lt(n))):(n===Cd(Lt(n))&&(n=Lt(n),t.rotateLeft(n)),Zn(Lt(n),jn),Zn(Lt(Lt(n)),Wi),t.rotateRight(Lt(Lt(n))))}else{var r=rc(Lt(Lt(n)));Sd(r)===Wi?(Zn(Lt(n),jn),Zn(r,jn),Zn(Lt(Lt(n)),Wi),n=Lt(Lt(n))):(n===rc(Lt(n))&&(n=Lt(n),t.rotateRight(n)),Zn(Lt(n),jn),Zn(Lt(Lt(n)),Wi),t.rotateLeft(Lt(Lt(n))))}this.root_.color=jn},_e.prototype.values=function(){var n=new U,t=this.getFirstEntry();if(t!==null)for(n.add(t.value);(t=_e.successor(t))!==null;)n.add(t.value);return n},_e.prototype.entrySet=function(){var n=new ec,t=this.getFirstEntry();if(t!==null)for(n.add(t);(t=_e.successor(t))!==null;)n.add(t);return n},_e.prototype.rotateLeft=function(n){if(n!=null){var t=n.right;n.right=t.left,t.left!=null&&(t.left.parent=n),t.parent=n.parent,n.parent===null?this.root_=t:n.parent.left===n?n.parent.left=t:n.parent.right=t,t.left=n,n.parent=t}},_e.prototype.rotateRight=function(n){if(n!=null){var t=n.left;n.left=t.right,t.right!=null&&(t.right.parent=n),t.parent=n.parent,n.parent===null?this.root_=t:n.parent.right===n?n.parent.right=t:n.parent.left=t,t.right=n,n.parent=t}},_e.prototype.getFirstEntry=function(){var n=this.root_;if(n!=null)for(;n.left!=null;)n=n.left;return n},_e.successor=function(n){if(n===null)return null;if(n.right!==null){for(var t=n.right;t.left!==null;)t=t.left;return t}else{for(var e=n.parent,r=n;e!==null&&r===e.right;)r=e,e=e.parent;return e}},_e.prototype.size=function(){return this.size_};var za=function(){};za.prototype.interfaces_=function(){return[]},za.prototype.getClass=function(){return za};function Id(){}Id.prototype=new Ru;function Xr(){this.array_=[],arguments[0]instanceof $t&&this.addAll(arguments[0])}Xr.prototype=new Id,Xr.prototype.contains=function(n){for(var t=this,e=0,r=this.array_.length;e<r;e++){var i=t.array_[e];if(i.compareTo(n)===0)return!0}return!1},Xr.prototype.add=function(n){var t=this;if(this.contains(n))return!1;for(var e=0,r=this.array_.length;e<r;e++){var i=t.array_[e];if(i.compareTo(n)===1)return t.array_.splice(e,0,n),!0}return this.array_.push(n),!0},Xr.prototype.addAll=function(n){for(var t=this,e=n.iterator();e.hasNext();)t.add(e.next());return!0},Xr.prototype.remove=function(n){throw new Va},Xr.prototype.size=function(){return this.array_.length},Xr.prototype.isEmpty=function(){return this.array_.length===0},Xr.prototype.toArray=function(){for(var n=this,t=[],e=0,r=this.array_.length;e<r;e++)t.push(n.array_[e]);return t},Xr.prototype.iterator=function(){return new Fu(this)};var Fu=function(n){this.treeSet_=n,this.position_=0};Fu.prototype.next=function(){if(this.position_===this.treeSet_.size())throw new Co;return this.treeSet_.array_[this.position_++]},Fu.prototype.hasNext=function(){return this.position_<this.treeSet_.size()},Fu.prototype.remove=function(){throw new Va};var qi=function(){};qi.sort=function(){var t=arguments[0],e,r,i,s;if(arguments.length===1)s=function(a,u){return a.compareTo(u)},t.sort(s);else if(arguments.length===2)i=arguments[1],s=function(a,u){return i.compare(a,u)},t.sort(s);else if(arguments.length===3){r=t.slice(arguments[1],arguments[2]),r.sort();var o=t.slice(0,arguments[1]).concat(r,t.slice(arguments[2],t.length));for(t.splice(0,t.length),e=0;e<o.length;e++)t.push(o[e])}else if(arguments.length===4)for(r=t.slice(arguments[1],arguments[2]),i=arguments[3],s=function(a,u){return i.compare(a,u)},r.sort(s),o=t.slice(0,arguments[1]).concat(r,t.slice(arguments[2],t.length)),t.splice(0,t.length),e=0;e<o.length;e++)t.push(o[e])},qi.asList=function(t){for(var e=new U,r=0,i=t.length;r<i;r++)e.add(t[r]);return e};var Pt=function(){},Dr={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}};Dr.P.get=function(){return 0},Dr.L.get=function(){return 1},Dr.A.get=function(){return 2},Dr.FALSE.get=function(){return-1},Dr.TRUE.get=function(){return-2},Dr.DONTCARE.get=function(){return-3},Dr.SYM_FALSE.get=function(){return"F"},Dr.SYM_TRUE.get=function(){return"T"},Dr.SYM_DONTCARE.get=function(){return"*"},Dr.SYM_P.get=function(){return"0"},Dr.SYM_L.get=function(){return"1"},Dr.SYM_A.get=function(){return"2"},Pt.prototype.interfaces_=function(){return[]},Pt.prototype.getClass=function(){return Pt},Pt.toDimensionSymbol=function(t){switch(t){case Pt.FALSE:return Pt.SYM_FALSE;case Pt.TRUE:return Pt.SYM_TRUE;case Pt.DONTCARE:return Pt.SYM_DONTCARE;case Pt.P:return Pt.SYM_P;case Pt.L:return Pt.SYM_L;case Pt.A:return Pt.SYM_A}throw new zt("Unknown dimension value: "+t)},Pt.toDimensionValue=function(t){switch(Aa.toUpperCase(t)){case Pt.SYM_FALSE:return Pt.FALSE;case Pt.SYM_TRUE:return Pt.TRUE;case Pt.SYM_DONTCARE:return Pt.DONTCARE;case Pt.SYM_P:return Pt.P;case Pt.SYM_L:return Pt.L;case Pt.SYM_A:return Pt.A}throw new zt("Unknown dimension symbol: "+t)},Object.defineProperties(Pt,Dr);var Hr=function(){};Hr.prototype.filter=function(t){},Hr.prototype.interfaces_=function(){return[]},Hr.prototype.getClass=function(){return Hr};var Mr=function(){};Mr.prototype.filter=function(t,e){},Mr.prototype.isDone=function(){},Mr.prototype.isGeometryChanged=function(){},Mr.prototype.interfaces_=function(){return[]},Mr.prototype.getClass=function(){return Mr};var Ie=function(n){function t(r,i){if(n.call(this,i),this._geometries=r||[],n.hasNullElements(this._geometries))throw new zt("geometries must not contain null elements")}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var e={serialVersionUID:{configurable:!0}};return t.prototype.computeEnvelopeInternal=function(){for(var i=this,s=new j,o=0;o<this._geometries.length;o++)s.expandToInclude(i._geometries[o].getEnvelopeInternal());return s},t.prototype.getGeometryN=function(i){return this._geometries[i]},t.prototype.getSortIndex=function(){return n.SORTINDEX_GEOMETRYCOLLECTION},t.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},t.prototype.getArea=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getArea();return s},t.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 n.prototype.equalsExact.apply(this,arguments)},t.prototype.normalize=function(){for(var i=this,s=0;s<this._geometries.length;s++)i._geometries[s].normalize();qi.sort(this._geometries)},t.prototype.getCoordinate=function(){return this.isEmpty()?null:this._geometries[0].getCoordinate()},t.prototype.getBoundaryDimension=function(){for(var i=this,s=Pt.FALSE,o=0;o<this._geometries.length;o++)s=Math.max(s,i._geometries[o].getBoundaryDimension());return s},t.prototype.getDimension=function(){for(var i=this,s=Pt.FALSE,o=0;o<this._geometries.length;o++)s=Math.max(s,i._geometries[o].getDimension());return s},t.prototype.getLength=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getLength();return s},t.prototype.getNumPoints=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getNumPoints();return s},t.prototype.getNumGeometries=function(){return this._geometries.length},t.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)},t.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){var s=arguments[0],o=new Xr(qi.asList(this._geometries)),a=new Xr(qi.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(),d=c.getNumGeometries(),g=0;g<h&&g<d;){var y=i.getGeometryN(g),C=c.getGeometryN(g),P=y.compareToSameClass(C,l);if(P!==0)return P;g++}return g<h?1:g<d?-1:0}},t.prototype.apply=function(){var i=this;if(nt(arguments[0],En))for(var s=arguments[0],o=0;o<this._geometries.length;o++)i._geometries[o].apply(s);else if(nt(arguments[0],Mr)){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(nt(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(nt(arguments[0],Jn)){var h=arguments[0];h.filter(this);for(var d=0;d<this._geometries.length;d++)i._geometries[d].apply(h)}},t.prototype.getBoundary=function(){return this.checkNotGeometryCollection(this),ct.shouldNeverReachHere(),null},t.prototype.clone=function(){var i=this,s=n.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},t.prototype.getGeometryType=function(){return"GeometryCollection"},t.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 t(s,this._factory)},t.prototype.isEmpty=function(){for(var i=this,s=0;s<this._geometries.length;s++)if(!i._geometries[s].isEmpty())return!1;return!0},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return-5694727726395021e3},Object.defineProperties(t,e),t}(rt),Xi=function(n){function t(){n.apply(this,arguments)}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var e={serialVersionUID:{configurable:!0}};return t.prototype.getSortIndex=function(){return rt.SORTINDEX_MULTILINESTRING},t.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?n.prototype.equalsExact.call(this,i,s):!1}else return n.prototype.equalsExact.apply(this,arguments)},t.prototype.getBoundaryDimension=function(){return this.isClosed()?Pt.FALSE:0},t.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},t.prototype.getDimension=function(){return 1},t.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)},t.prototype.getBoundary=function(){return new gr(this).getBoundary()},t.prototype.getGeometryType=function(){return"MultiLineString"},t.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 t(s,this._factory)},t.prototype.interfaces_=function(){return[za]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return 8166665132445434e3},Object.defineProperties(t,e),t}(Ie),gr=function(){if(this._geom=null,this._geomFact=null,this._bnRule=null,this._endpointMap=null,arguments.length===1){var t=arguments[0],e=pr.MOD2_BOUNDARY_RULE;this._geom=t,this._geomFact=t.getFactory(),this._bnRule=e}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this._geom=r,this._geomFact=r.getFactory(),this._bnRule=i}};gr.prototype.boundaryMultiLineString=function(t){if(this._geom.isEmpty())return this.getEmptyMultiPoint();var e=this.computeBoundaryCoordinates(t);return e.length===1?this._geomFact.createPoint(e[0]):this._geomFact.createMultiPointFromCoords(e)},gr.prototype.getBoundary=function(){return this._geom instanceof qt?this.boundaryLineString(this._geom):this._geom instanceof Xi?this.boundaryMultiLineString(this._geom):this._geom.getBoundary()},gr.prototype.boundaryLineString=function(t){if(this._geom.isEmpty())return this.getEmptyMultiPoint();if(t.isClosed()){var e=this._bnRule.isInBoundary(2);return e?t.getStartPoint():this._geomFact.createMultiPoint()}return this._geomFact.createMultiPoint([t.getStartPoint(),t.getEndPoint()])},gr.prototype.getEmptyMultiPoint=function(){return this._geomFact.createMultiPoint()},gr.prototype.computeBoundaryCoordinates=function(t){var e=this,r=new U;this._endpointMap=new _e;for(var i=0;i<t.getNumGeometries();i++){var s=t.getGeometryN(i);s.getNumPoints()!==0&&(e.addEndpoint(s.getCoordinateN(0)),e.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;e._bnRule.isInBoundary(l)&&r.add(a.getKey())}return dt.toCoordinateArray(r)},gr.prototype.addEndpoint=function(t){var e=this._endpointMap.get(t);e===null&&(e=new ku,this._endpointMap.put(t,e)),e.count++},gr.prototype.interfaces_=function(){return[]},gr.prototype.getClass=function(){return gr},gr.getBoundary=function(){if(arguments.length===1){var t=arguments[0],e=new gr(t);return e.getBoundary()}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=new gr(r,i);return s.getBoundary()}};var ku=function(){this.count=null};ku.prototype.interfaces_=function(){return[]},ku.prototype.getClass=function(){return ku};function cy(){}function hy(){}var fy=function(){};function dy(){}function py(){}function gy(){}var mr=function(){},nc={NEWLINE:{configurable:!0},SIMPLE_ORDINATE_FORMAT:{configurable:!0}};mr.prototype.interfaces_=function(){return[]},mr.prototype.getClass=function(){return mr},mr.chars=function(t,e){for(var r=new Array(e).fill(null),i=0;i<e;i++)r[i]=t;return String(r)},mr.getStackTrace=function(){if(arguments.length===1){var t=arguments[0],e=new dy,r=new cy;return t.printStackTrace(r),e.toString()}else if(arguments.length===2){var i=arguments[0],s=arguments[1],o="";new hy(mr.getStackTrace(i));for(var a=new gy,u=0;u<s;u++)try{o+=a.readLine()+mr.NEWLINE}catch(l){if(l instanceof py)ct.shouldNeverReachHere();else throw l}finally{}return o}},mr.split=function(t,e){for(var r=e.length,i=new U,s=""+t,o=s.indexOf(e);o>=0;){var a=s.substring(0,o);i.add(a),s=s.substring(o+r),o=s.indexOf(e)}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},mr.toString=function(){if(arguments.length===1){var t=arguments[0];return mr.SIMPLE_ORDINATE_FORMAT.format(t)}},mr.spaces=function(t){return mr.chars(" ",t)},nc.NEWLINE.get=function(){return he.getProperty("line.separator")},nc.SIMPLE_ORDINATE_FORMAT.get=function(){return new fy},Object.defineProperties(mr,nc);var Ht=function(){};Ht.prototype.interfaces_=function(){return[]},Ht.prototype.getClass=function(){return Ht},Ht.copyCoord=function(t,e,r,i){for(var s=Math.min(t.getDimension(),r.getDimension()),o=0;o<s;o++)r.setOrdinate(i,o,t.getOrdinate(e,o))},Ht.isRing=function(t){var e=t.size();return e===0?!0:e<=3?!1:t.getOrdinate(0,_t.X)===t.getOrdinate(e-1,_t.X)&&t.getOrdinate(0,_t.Y)===t.getOrdinate(e-1,_t.Y)},Ht.isEqual=function(t,e){var r=t.size(),i=e.size();if(r!==i)return!1;for(var s=Math.min(t.getDimension(),e.getDimension()),o=0;o<r;o++)for(var a=0;a<s;a++){var u=t.getOrdinate(o,a),l=e.getOrdinate(o,a);if(t.getOrdinate(o,a)!==e.getOrdinate(o,a)&&!(ot.isNaN(u)&&ot.isNaN(l)))return!1}return!0},Ht.extend=function(t,e,r){var i=t.create(r,e.getDimension()),s=e.size();if(Ht.copy(e,0,i,0,s),s>0)for(var o=s;o<r;o++)Ht.copy(e,s-1,i,o,1);return i},Ht.reverse=function(t){for(var e=t.size()-1,r=Math.trunc(e/2),i=0;i<=r;i++)Ht.swap(t,i,e-i)},Ht.swap=function(t,e,r){if(e===r)return null;for(var i=0;i<t.getDimension();i++){var s=t.getOrdinate(e,i);t.setOrdinate(e,i,t.getOrdinate(r,i)),t.setOrdinate(r,i,s)}},Ht.copy=function(t,e,r,i,s){for(var o=0;o<s;o++)Ht.copyCoord(t,e+o,r,i+o)},Ht.toString=function(){if(arguments.length===1){var t=arguments[0],e=t.size();if(e===0)return"()";var r=t.getDimension(),i=new Ur;i.append("(");for(var s=0;s<e;s++){s>0&&i.append(" ");for(var o=0;o<r;o++)o>0&&i.append(","),i.append(mr.toString(t.getOrdinate(s,o)))}return i.append(")"),i.toString()}},Ht.ensureValidRing=function(t,e){var r=e.size();if(r===0)return e;if(r<=3)return Ht.createClosedRing(t,e,4);var i=e.getOrdinate(0,_t.X)===e.getOrdinate(r-1,_t.X)&&e.getOrdinate(0,_t.Y)===e.getOrdinate(r-1,_t.Y);return i?e:Ht.createClosedRing(t,e,r+1)},Ht.createClosedRing=function(t,e,r){var i=t.create(r,e.getDimension()),s=e.size();Ht.copy(e,0,i,0,s);for(var o=s;o<r;o++)Ht.copy(e,0,i,o,1);return i};var qt=function(n){function t(r,i){n.call(this,i),this._points=null,this.init(r)}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var e={serialVersionUID:{configurable:!0}};return t.prototype.computeEnvelopeInternal=function(){return this.isEmpty()?new j:this._points.expandEnvelope(new j)},t.prototype.isRing=function(){return this.isClosed()&&this.isSimple()},t.prototype.getSortIndex=function(){return n.SORTINDEX_LINESTRING},t.prototype.getCoordinates=function(){return this._points.toCoordinateArray()},t.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 n.prototype.equalsExact.apply(this,arguments)},t.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&&Ht.reverse(i._points),null}},t.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},t.prototype.getBoundaryDimension=function(){return this.isClosed()?Pt.FALSE:0},t.prototype.isClosed=function(){return this.isEmpty()?!1:this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},t.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},t.prototype.getDimension=function(){return 1},t.prototype.getLength=function(){return W.computeLength(this._points)},t.prototype.getNumPoints=function(){return this._points.size()},t.prototype.reverse=function(){var i=this._points.copy();Ht.reverse(i);var s=this.getFactory().createLineString(i);return s},t.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],d=c;return h.compare(this._points,d._points)}},t.prototype.apply=function(){var i=this;if(nt(arguments[0],En))for(var s=arguments[0],o=0;o<this._points.size();o++)s.filter(i._points.getCoordinate(o));else if(nt(arguments[0],Mr)){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(nt(arguments[0],Hr)){var l=arguments[0];l.filter(this)}else if(nt(arguments[0],Jn)){var c=arguments[0];c.filter(this)}},t.prototype.getBoundary=function(){return new gr(this).getBoundary()},t.prototype.isEquivalentClass=function(i){return i instanceof t},t.prototype.clone=function(){var i=n.prototype.clone.call(this);return i._points=this._points.clone(),i},t.prototype.getCoordinateN=function(i){return this._points.getCoordinate(i)},t.prototype.getGeometryType=function(){return"LineString"},t.prototype.copy=function(){return new t(this._points.copy(),this._factory)},t.prototype.getCoordinateSequence=function(){return this._points},t.prototype.isEmpty=function(){return this._points.size()===0},t.prototype.init=function(i){if(i===null&&(i=this.getFactory().getCoordinateSequenceFactory().create([])),i.size()===1)throw new zt("Invalid number of points in LineString (found "+i.size()+" - must be 0 or >= 2)");this._points=i},t.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},t.prototype.getStartPoint=function(){return this.isEmpty()?null:this.getPointN(0)},t.prototype.getPointN=function(i){return this.getFactory().createPoint(this._points.getCoordinate(i))},t.prototype.interfaces_=function(){return[za]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return 0x2b2b51ba435c8e00},Object.defineProperties(t,e),t}(rt),Ua=function(){};Ua.prototype.interfaces_=function(){return[]},Ua.prototype.getClass=function(){return Ua};var Xe=function(n){function t(r,i){n.call(this,i),this._coordinates=r||null,this.init(this._coordinates)}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var e={serialVersionUID:{configurable:!0}};return t.prototype.computeEnvelopeInternal=function(){if(this.isEmpty())return new j;var i=new j;return i.expandToInclude(this._coordinates.getX(0),this._coordinates.getY(0)),i},t.prototype.getSortIndex=function(){return n.SORTINDEX_POINT},t.prototype.getCoordinates=function(){return this.isEmpty()?[]:[this.getCoordinate()]},t.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 n.prototype.equalsExact.apply(this,arguments)},t.prototype.normalize=function(){},t.prototype.getCoordinate=function(){return this._coordinates.size()!==0?this._coordinates.getCoordinate(0):null},t.prototype.getBoundaryDimension=function(){return Pt.FALSE},t.prototype.getDimension=function(){return 0},t.prototype.getNumPoints=function(){return this.isEmpty()?0:1},t.prototype.reverse=function(){return this.copy()},t.prototype.getX=function(){if(this.getCoordinate()===null)throw new Error("getX called on empty Point");return this.getCoordinate().x},t.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)}},t.prototype.apply=function(){if(nt(arguments[0],En)){var i=arguments[0];if(this.isEmpty())return null;i.filter(this.getCoordinate())}else if(nt(arguments[0],Mr)){var s=arguments[0];if(this.isEmpty())return null;s.filter(this._coordinates,0),s.isGeometryChanged()&&this.geometryChanged()}else if(nt(arguments[0],Hr)){var o=arguments[0];o.filter(this)}else if(nt(arguments[0],Jn)){var a=arguments[0];a.filter(this)}},t.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},t.prototype.clone=function(){var i=n.prototype.clone.call(this);return i._coordinates=this._coordinates.clone(),i},t.prototype.getGeometryType=function(){return"Point"},t.prototype.copy=function(){return new t(this._coordinates.copy(),this._factory)},t.prototype.getCoordinateSequence=function(){return this._coordinates},t.prototype.getY=function(){if(this.getCoordinate()===null)throw new Error("getY called on empty Point");return this.getCoordinate().y},t.prototype.isEmpty=function(){return this._coordinates.size()===0},t.prototype.init=function(i){i===null&&(i=this.getFactory().getCoordinateSequenceFactory().create([])),ct.isTrue(i.size()<=1),this._coordinates=i},t.prototype.isSimple=function(){return!0},t.prototype.interfaces_=function(){return[Ua]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return 4902022702746615e3},Object.defineProperties(t,e),t}(rt),_i=function(){};_i.prototype.interfaces_=function(){return[]},_i.prototype.getClass=function(){return _i};var te=function(n){function t(r,i,s){if(n.call(this,s),this._shell=null,this._holes=null,r===null&&(r=this.getFactory().createLinearRing()),i===null&&(i=[]),n.hasNullElements(i))throw new zt("holes must not contain null elements");if(r.isEmpty()&&n.hasNonEmptyElements(i))throw new zt("shell is empty but holes are not");this._shell=r,this._holes=i}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var e={serialVersionUID:{configurable:!0}};return t.prototype.computeEnvelopeInternal=function(){return this._shell.getEnvelopeInternal()},t.prototype.getSortIndex=function(){return n.SORTINDEX_POLYGON},t.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},t.prototype.getArea=function(){var i=this,s=0;s+=Math.abs(W.signedArea(this._shell.getCoordinateSequence()));for(var o=0;o<this._holes.length;o++)s-=Math.abs(W.signedArea(i._holes[o].getCoordinateSequence()));return s},t.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 d=i.getX(h),g=i.getY(h),y=d!==l,C=g!==c;if(y===C)return!1;l=d,c=g}return!0},t.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 n.prototype.equalsExact.apply(this,arguments)},t.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);qi.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);he.arraycopy(o.getCoordinates(),0,u,0,u.length);var l=dt.minCoordinate(o.getCoordinates());dt.scroll(u,l),he.arraycopy(u,0,o.getCoordinates(),0,u.length),o.getCoordinates()[u.length]=u[0],W.isCCW(o.getCoordinates())===a&&dt.reverse(o.getCoordinates())}},t.prototype.getCoordinate=function(){return this._shell.getCoordinate()},t.prototype.getNumInteriorRing=function(){return this._holes.length},t.prototype.getBoundaryDimension=function(){return 1},t.prototype.getDimension=function(){return 2},t.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},t.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},t.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},t.prototype.convexHull=function(){return this.getExteriorRing().convexHull()},t.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,d=c._shell,g=h.compareToSameClass(d,l);if(g!==0)return g;for(var y=this.getNumInteriorRing(),C=c.getNumInteriorRing(),P=0;P<y&&P<C;){var T=i.getInteriorRingN(P),v=c.getInteriorRingN(P),w=T.compareToSameClass(v,l);if(w!==0)return w;P++}return P<y?1:P<C?-1:0}},t.prototype.apply=function(i){var s=this;if(nt(i,En)){this._shell.apply(i);for(var o=0;o<this._holes.length;o++)s._holes[o].apply(i)}else if(nt(i,Mr)){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(nt(i,Hr))i.filter(this);else if(nt(i,Jn)){i.filter(this),this._shell.apply(i);for(var u=0;u<this._holes.length;u++)s._holes[u].apply(i)}},t.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)},t.prototype.clone=function(){var i=this,s=n.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},t.prototype.getGeometryType=function(){return"Polygon"},t.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 t(s,o,this._factory)},t.prototype.getExteriorRing=function(){return this._shell},t.prototype.isEmpty=function(){return this._shell.isEmpty()},t.prototype.getInteriorRingN=function(i){return this._holes[i]},t.prototype.interfaces_=function(){return[_i]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return-0x307ffefd8dc97200},Object.defineProperties(t,e),t}(rt),Po=function(n){function t(){n.apply(this,arguments)}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var e={serialVersionUID:{configurable:!0}};return t.prototype.getSortIndex=function(){return rt.SORTINDEX_MULTIPOINT},t.prototype.isValid=function(){return!0},t.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?n.prototype.equalsExact.call(this,i,s):!1}else return n.prototype.equalsExact.apply(this,arguments)},t.prototype.getCoordinate=function(){if(arguments.length===1){var i=arguments[0];return this._geometries[i].getCoordinate()}else return n.prototype.getCoordinate.apply(this,arguments)},t.prototype.getBoundaryDimension=function(){return Pt.FALSE},t.prototype.getDimension=function(){return 0},t.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},t.prototype.getGeometryType=function(){return"MultiPoint"},t.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 t(s,this._factory)},t.prototype.interfaces_=function(){return[Ua]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return-8048474874175356e3},Object.defineProperties(t,e),t}(Ie),Sn=function(n){function t(r,i){r instanceof D&&i instanceof pt&&(r=i.getCoordinateSequenceFactory().create(r)),n.call(this,r,i),this.validateConstruction()}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var e={MINIMUM_VALID_SIZE:{configurable:!0},serialVersionUID:{configurable:!0}};return t.prototype.getSortIndex=function(){return rt.SORTINDEX_LINEARRING},t.prototype.getBoundaryDimension=function(){return Pt.FALSE},t.prototype.isClosed=function(){return this.isEmpty()?!0:n.prototype.isClosed.call(this)},t.prototype.reverse=function(){var i=this._points.copy();Ht.reverse(i);var s=this.getFactory().createLinearRing(i);return s},t.prototype.validateConstruction=function(){if(!this.isEmpty()&&!n.prototype.isClosed.call(this))throw new zt("Points of LinearRing do not form a closed linestring");if(this.getCoordinateSequence().size()>=1&&this.getCoordinateSequence().size()<t.MINIMUM_VALID_SIZE)throw new zt("Invalid number of points in LinearRing (found "+this.getCoordinateSequence().size()+" - must be 0 or >= 4)")},t.prototype.getGeometryType=function(){return"LinearRing"},t.prototype.copy=function(){return new t(this._points.copy(),this._factory)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},e.MINIMUM_VALID_SIZE.get=function(){return 4},e.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(t,e),t}(qt),Cn=function(n){function t(){n.apply(this,arguments)}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var e={serialVersionUID:{configurable:!0}};return t.prototype.getSortIndex=function(){return rt.SORTINDEX_MULTIPOLYGON},t.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?n.prototype.equalsExact.call(this,i,s):!1}else return n.prototype.equalsExact.apply(this,arguments)},t.prototype.getBoundaryDimension=function(){return 1},t.prototype.getDimension=function(){return 2},t.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)},t.prototype.getBoundary=function(){var i=this;if(this.isEmpty())return this.getFactory().createMultiLineString();for(var s=new U,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))},t.prototype.getGeometryType=function(){return"MultiPolygon"},t.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 t(s,this._factory)},t.prototype.interfaces_=function(){return[_i]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return-0x7a5aa1369171980},Object.defineProperties(t,e),t}(Ie),vr=function(t){this._factory=t||null,this._isUserDataCopied=!1},Vu={NoOpGeometryOperation:{configurable:!0},CoordinateOperation:{configurable:!0},CoordinateSequenceOperation:{configurable:!0}};vr.prototype.setCopyUserData=function(t){this._isUserDataCopied=t},vr.prototype.edit=function(t,e){if(t===null)return null;var r=this.editInternal(t,e);return this._isUserDataCopied&&r.setUserData(t.getUserData()),r},vr.prototype.editInternal=function(t,e){return this._factory===null&&(this._factory=t.getFactory()),t instanceof Ie?this.editGeometryCollection(t,e):t instanceof te?this.editPolygon(t,e):t instanceof Xe?e.edit(t,this._factory):t instanceof qt?e.edit(t,this._factory):(ct.shouldNeverReachHere("Unsupported Geometry class: "+t.getClass().getName()),null)},vr.prototype.editGeometryCollection=function(t,e){for(var r=this,i=e.edit(t,this._factory),s=new U,o=0;o<i.getNumGeometries();o++){var a=r.edit(i.getGeometryN(o),e);a===null||a.isEmpty()||s.add(a)}return i.getClass()===Po?this._factory.createMultiPoint(s.toArray([])):i.getClass()===Xi?this._factory.createMultiLineString(s.toArray([])):i.getClass()===Cn?this._factory.createMultiPolygon(s.toArray([])):this._factory.createGeometryCollection(s.toArray([]))},vr.prototype.editPolygon=function(t,e){var r=this,i=e.edit(t,this._factory);if(i===null&&(i=this._factory.createPolygon(null)),i.isEmpty())return i;var s=this.edit(i.getExteriorRing(),e);if(s===null||s.isEmpty())return this._factory.createPolygon();for(var o=new U,a=0;a<i.getNumInteriorRing();a++){var u=r.edit(i.getInteriorRingN(a),e);u===null||u.isEmpty()||o.add(u)}return this._factory.createPolygon(s,o.toArray([]))},vr.prototype.interfaces_=function(){return[]},vr.prototype.getClass=function(){return vr},vr.GeometryEditorOperation=function(){},Vu.NoOpGeometryOperation.get=function(){return Ga},Vu.CoordinateOperation.get=function(){return Wa},Vu.CoordinateSequenceOperation.get=function(){return qa},Object.defineProperties(vr,Vu);var Ga=function(){};Ga.prototype.edit=function(t,e){return t},Ga.prototype.interfaces_=function(){return[vr.GeometryEditorOperation]},Ga.prototype.getClass=function(){return Ga};var Wa=function(){};Wa.prototype.edit=function(t,e){var r=this.editCoordinates(t.getCoordinates(),t);return r===null?t:t instanceof Sn?e.createLinearRing(r):t instanceof qt?e.createLineString(r):t instanceof Xe?r.length>0?e.createPoint(r[0]):e.createPoint():t},Wa.prototype.interfaces_=function(){return[vr.GeometryEditorOperation]},Wa.prototype.getClass=function(){return Wa};var qa=function(){};qa.prototype.edit=function(t,e){return t instanceof Sn?e.createLinearRing(this.edit(t.getCoordinateSequence(),t)):t instanceof qt?e.createLineString(this.edit(t.getCoordinateSequence(),t)):t instanceof Xe?e.createPoint(this.edit(t.getCoordinateSequence(),t)):t},qa.prototype.interfaces_=function(){return[vr.GeometryEditorOperation]},qa.prototype.getClass=function(){return qa};var Yt=function(){var t=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 e=arguments[0];this._coordinates=new Array(e).fill(null);for(var r=0;r<e;r++)t._coordinates[r]=new D}else if(nt(arguments[0],_t)){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++)t._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++)t._coordinates[c]=new D}}},Pd={serialVersionUID:{configurable:!0}};Yt.prototype.setOrdinate=function(t,e,r){switch(e){case _t.X:this._coordinates[t].x=r;break;case _t.Y:this._coordinates[t].y=r;break;case _t.Z:this._coordinates[t].z=r;break;default:throw new zt("invalid ordinateIndex")}},Yt.prototype.size=function(){return this._coordinates.length},Yt.prototype.getOrdinate=function(t,e){switch(e){case _t.X:return this._coordinates[t].x;case _t.Y:return this._coordinates[t].y;case _t.Z:return this._coordinates[t].z}return ot.NaN},Yt.prototype.getCoordinate=function(){if(arguments.length===1){var t=arguments[0];return this._coordinates[t]}else if(arguments.length===2){var e=arguments[0],r=arguments[1];r.x=this._coordinates[e].x,r.y=this._coordinates[e].y,r.z=this._coordinates[e].z}},Yt.prototype.getCoordinateCopy=function(t){return new D(this._coordinates[t])},Yt.prototype.getDimension=function(){return this._dimension},Yt.prototype.getX=function(t){return this._coordinates[t].x},Yt.prototype.clone=function(){for(var t=this,e=new Array(this.size()).fill(null),r=0;r<this._coordinates.length;r++)e[r]=t._coordinates[r].clone();return new Yt(e,this._dimension)},Yt.prototype.expandEnvelope=function(t){for(var e=this,r=0;r<this._coordinates.length;r++)t.expandToInclude(e._coordinates[r]);return t},Yt.prototype.copy=function(){for(var t=this,e=new Array(this.size()).fill(null),r=0;r<this._coordinates.length;r++)e[r]=t._coordinates[r].copy();return new Yt(e,this._dimension)},Yt.prototype.toString=function(){var t=this;if(this._coordinates.length>0){var e=new Ur(17*this._coordinates.length);e.append("("),e.append(this._coordinates[0]);for(var r=1;r<this._coordinates.length;r++)e.append(", "),e.append(t._coordinates[r]);return e.append(")"),e.toString()}else return"()"},Yt.prototype.getY=function(t){return this._coordinates[t].y},Yt.prototype.toCoordinateArray=function(){return this._coordinates},Yt.prototype.interfaces_=function(){return[_t,dr]},Yt.prototype.getClass=function(){return Yt},Pd.serialVersionUID.get=function(){return-0xcb44a778db18e00},Object.defineProperties(Yt,Pd);var In=function(){},ic={serialVersionUID:{configurable:!0},instanceObject:{configurable:!0}};In.prototype.readResolve=function(){return In.instance()},In.prototype.create=function(){if(arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];return new Yt(t)}else if(nt(arguments[0],_t)){var e=arguments[0];return new Yt(e)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return i>3&&(i=3),i<2?new Yt(r):new Yt(r,i)}},In.prototype.interfaces_=function(){return[go,dr]},In.prototype.getClass=function(){return In},In.instance=function(){return In.instanceObject},ic.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},ic.instanceObject.get=function(){return new In},Object.defineProperties(In,ic);var bd=function(n){function t(){n.call(this),this.map_=new Map}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.get=function(r){return this.map_.get(r)||null},t.prototype.put=function(r,i){return this.map_.set(r,i),i},t.prototype.values=function(){for(var r=new U,i=this.map_.values(),s=i.next();!s.done;)r.add(s.value),s=i.next();return r},t.prototype.entrySet=function(){var r=new ec;return this.map_.entries().forEach(function(i){return r.add(i)}),r},t.prototype.size=function(){return this.map_.size()},t}(Ns),bt=function n(){if(this._modelType=null,this._scale=null,arguments.length===0)this._modelType=n.FLOATING;else if(arguments.length===1){if(arguments[0]instanceof Yr){var t=arguments[0];this._modelType=t,t===n.FIXED&&this.setScale(1)}else if(typeof arguments[0]=="number"){var e=arguments[0];this._modelType=n.FIXED,this.setScale(e)}else if(arguments[0]instanceof n){var r=arguments[0];this._modelType=r._modelType,this._scale=r._scale}}},sc={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};bt.prototype.equals=function(t){if(!(t instanceof bt))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale},bt.prototype.compareTo=function(t){var e=t,r=this.getMaximumSignificantDigits(),i=e.getMaximumSignificantDigits();return new Gr(r).compareTo(new Gr(i))},bt.prototype.getScale=function(){return this._scale},bt.prototype.isFloating=function(){return this._modelType===bt.FLOATING||this._modelType===bt.FLOATING_SINGLE},bt.prototype.getType=function(){return this._modelType},bt.prototype.toString=function(){var t="UNKNOWN";return this._modelType===bt.FLOATING?t="Floating":this._modelType===bt.FLOATING_SINGLE?t="Floating-Single":this._modelType===bt.FIXED&&(t="Fixed (Scale="+this.getScale()+")"),t},bt.prototype.makePrecise=function(){if(typeof arguments[0]=="number"){var t=arguments[0];if(ot.isNaN(t))return t;if(this._modelType===bt.FLOATING_SINGLE){var e=t;return e}return this._modelType===bt.FIXED?Math.round(t*this._scale)/this._scale:t}else if(arguments[0]instanceof D){var r=arguments[0];if(this._modelType===bt.FLOATING)return null;r.x=this.makePrecise(r.x),r.y=this.makePrecise(r.y)}},bt.prototype.getMaximumSignificantDigits=function(){var t=16;return this._modelType===bt.FLOATING?t=16:this._modelType===bt.FLOATING_SINGLE?t=6:this._modelType===bt.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t},bt.prototype.setScale=function(t){this._scale=Math.abs(t)},bt.prototype.interfaces_=function(){return[dr,fr]},bt.prototype.getClass=function(){return bt},bt.mostPrecise=function(t,e){return t.compareTo(e)>=0?t:e},sc.serialVersionUID.get=function(){return 7777263578777804e3},sc.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(bt,sc);var Yr=function n(t){this._name=t||null,n.nameToTypeMap.put(t,this)},oc={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};Yr.prototype.readResolve=function(){return Yr.nameToTypeMap.get(this._name)},Yr.prototype.toString=function(){return this._name},Yr.prototype.interfaces_=function(){return[dr]},Yr.prototype.getClass=function(){return Yr},oc.serialVersionUID.get=function(){return-552860263173159e4},oc.nameToTypeMap.get=function(){return new bd},Object.defineProperties(Yr,oc),bt.Type=Yr,bt.FIXED=new Yr("FIXED"),bt.FLOATING=new Yr("FLOATING"),bt.FLOATING_SINGLE=new Yr("FLOATING SINGLE");var pt=function n(){this._precisionModel=new bt,this._SRID=0,this._coordinateSequenceFactory=n.getDefaultCoordinateSequenceFactory(),arguments.length===0||(arguments.length===1?nt(arguments[0],go)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof bt&&(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]))},Nd={serialVersionUID:{configurable:!0}};pt.prototype.toGeometry=function(t){return t.isNull()?this.createPoint(null):t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new D(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new D(t.getMinX(),t.getMinY()),new D(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new D(t.getMinX(),t.getMinY()),new D(t.getMinX(),t.getMaxY()),new D(t.getMaxX(),t.getMaxY()),new D(t.getMaxX(),t.getMinY()),new D(t.getMinX(),t.getMinY())]),null)},pt.prototype.createLineString=function(t){if(t){if(t instanceof Array)return new qt(this.getCoordinateSequenceFactory().create(t),this);if(nt(t,_t))return new qt(t,this)}else return new qt(this.getCoordinateSequenceFactory().create([]),this)},pt.prototype.createMultiLineString=function(){if(arguments.length===0)return new Xi(null,this);if(arguments.length===1){var t=arguments[0];return new Xi(t,this)}},pt.prototype.buildGeometry=function(t){for(var e=null,r=!1,i=!1,s=t.iterator();s.hasNext();){var o=s.next(),a=o.getClass();e===null&&(e=a),a!==e&&(r=!0),o.isGeometryCollectionOrDerived()&&(i=!0)}if(e===null)return this.createGeometryCollection();if(r||i)return this.createGeometryCollection(pt.toGeometryArray(t));var u=t.iterator().next(),l=t.size()>1;if(l){if(u instanceof te)return this.createMultiPolygon(pt.toPolygonArray(t));if(u instanceof qt)return this.createMultiLineString(pt.toLineStringArray(t));if(u instanceof Xe)return this.createMultiPoint(pt.toPointArray(t));ct.shouldNeverReachHere("Unhandled class: "+u.getClass().getName())}return u},pt.prototype.createMultiPointFromCoords=function(t){return this.createMultiPoint(t!==null?this.getCoordinateSequenceFactory().create(t):null)},pt.prototype.createPoint=function(){if(arguments.length===0)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof D){var t=arguments[0];return this.createPoint(t!==null?this.getCoordinateSequenceFactory().create([t]):null)}else if(nt(arguments[0],_t)){var e=arguments[0];return new Xe(e,this)}}},pt.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},pt.prototype.createPolygon=function(){if(arguments.length===0)return new te(null,null,this);if(arguments.length===1){if(nt(arguments[0],_t)){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}else if(arguments[0]instanceof Array){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}else if(arguments[0]instanceof Sn){var r=arguments[0];return this.createPolygon(r,null)}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];return new te(i,s,this)}},pt.prototype.getSRID=function(){return this._SRID},pt.prototype.createGeometryCollection=function(){if(arguments.length===0)return new Ie(null,this);if(arguments.length===1){var t=arguments[0];return new Ie(t,this)}},pt.prototype.createGeometry=function(t){var e=new vr(this);return e.edit(t,{edit:function(){if(arguments.length===2){var r=arguments[0];return this._coordinateSequenceFactory.create(r)}}})},pt.prototype.getPrecisionModel=function(){return this._precisionModel},pt.prototype.createLinearRing=function(){if(arguments.length===0)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];return this.createLinearRing(t!==null?this.getCoordinateSequenceFactory().create(t):null)}else if(nt(arguments[0],_t)){var e=arguments[0];return new Sn(e,this)}}},pt.prototype.createMultiPolygon=function(){if(arguments.length===0)return new Cn(null,this);if(arguments.length===1){var t=arguments[0];return new Cn(t,this)}},pt.prototype.createMultiPoint=function(){var t=this;if(arguments.length===0)return new Po(null,this);if(arguments.length===1){if(arguments[0]instanceof Array){var e=arguments[0];return new Po(e,this)}else if(arguments[0]instanceof Array){var r=arguments[0];return this.createMultiPoint(r!==null?this.getCoordinateSequenceFactory().create(r):null)}else if(nt(arguments[0],_t)){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=t.getCoordinateSequenceFactory().create(1,i.getDimension());Ht.copy(i,o,a,0,1),s[o]=t.createPoint(a)}return this.createMultiPoint(s)}}},pt.prototype.interfaces_=function(){return[dr]},pt.prototype.getClass=function(){return pt},pt.toMultiPolygonArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},pt.toGeometryArray=function(t){if(t===null)return null;var e=new Array(t.size()).fill(null);return t.toArray(e)},pt.getDefaultCoordinateSequenceFactory=function(){return In.instance()},pt.toMultiLineStringArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},pt.toLineStringArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},pt.toMultiPointArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},pt.toLinearRingArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},pt.toPointArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},pt.toPolygonArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},pt.createPointFromInternalCoord=function(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)},Nd.serialVersionUID.get=function(){return-6820524753094096e3},Object.defineProperties(pt,Nd);var my=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],zu=function(t){this.geometryFactory=t||new pt};zu.prototype.read=function(t){var e;typeof t=="string"?e=JSON.parse(t):e=t;var r=e.type;if(!Jr[r])throw new Error("Unknown GeoJSON type: "+e.type);return my.indexOf(r)!==-1?Jr[r].apply(this,[e.coordinates]):r==="GeometryCollection"?Jr[r].apply(this,[e.geometries]):Jr[r].apply(this,[e])},zu.prototype.write=function(t){var e=t.getGeometryType();if(!Kn[e])throw new Error("Geometry is not supported");return Kn[e].apply(this,[t])};var Jr={Feature:function(n){var t={};for(var e in n)t[e]=n[e];if(n.geometry){var r=n.geometry.type;if(!Jr[r])throw new Error("Unknown GeoJSON type: "+n.type);t.geometry=this.read(n.geometry)}return n.bbox&&(t.bbox=Jr.bbox.apply(this,[n.bbox])),t},FeatureCollection:function(n){var t=this,e={};if(n.features){e.features=[];for(var r=0;r<n.features.length;++r)e.features.push(t.read(n.features[r]))}return n.bbox&&(e.bbox=this.parse.bbox.apply(this,[n.bbox])),e},coordinates:function(n){for(var t=[],e=0;e<n.length;++e){var r=n[e];t.push(new D(r[0],r[1]))}return t},bbox:function(n){return this.geometryFactory.createLinearRing([new D(n[0],n[1]),new D(n[2],n[1]),new D(n[2],n[3]),new D(n[0],n[3]),new D(n[0],n[1])])},Point:function(n){var t=new D(n[0],n[1]);return this.geometryFactory.createPoint(t)},MultiPoint:function(n){for(var t=this,e=[],r=0;r<n.length;++r)e.push(Jr.Point.apply(t,[n[r]]));return this.geometryFactory.createMultiPoint(e)},LineString:function(n){var t=Jr.coordinates.apply(this,[n]);return this.geometryFactory.createLineString(t)},MultiLineString:function(n){for(var t=this,e=[],r=0;r<n.length;++r)e.push(Jr.LineString.apply(t,[n[r]]));return this.geometryFactory.createMultiLineString(e)},Polygon:function(n){for(var t=this,e=Jr.coordinates.apply(this,[n[0]]),r=this.geometryFactory.createLinearRing(e),i=[],s=1;s<n.length;++s){var o=n[s],a=Jr.coordinates.apply(t,[o]),u=t.geometryFactory.createLinearRing(a);i.push(u)}return this.geometryFactory.createPolygon(r,i)},MultiPolygon:function(n){for(var t=this,e=[],r=0;r<n.length;++r){var i=n[r];e.push(Jr.Polygon.apply(t,[i]))}return this.geometryFactory.createMultiPolygon(e)},GeometryCollection:function(n){for(var t=this,e=[],r=0;r<n.length;++r){var i=n[r];e.push(t.read(i))}return this.geometryFactory.createGeometryCollection(e)}},Kn={coordinate:function(n){return[n.x,n.y]},Point:function(n){var t=Kn.coordinate.apply(this,[n.getCoordinate()]);return{type:"Point",coordinates:t}},MultiPoint:function(n){for(var t=this,e=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=Kn.Point.apply(t,[i]);e.push(s.coordinates)}return{type:"MultiPoint",coordinates:e}},LineString:function(n){for(var t=this,e=[],r=n.getCoordinates(),i=0;i<r.length;++i){var s=r[i];e.push(Kn.coordinate.apply(t,[s]))}return{type:"LineString",coordinates:e}},MultiLineString:function(n){for(var t=this,e=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=Kn.LineString.apply(t,[i]);e.push(s.coordinates)}return{type:"MultiLineString",coordinates:e}},Polygon:function(n){var t=this,e=[],r=Kn.LineString.apply(this,[n._shell]);e.push(r.coordinates);for(var i=0;i<n._holes.length;++i){var s=n._holes[i],o=Kn.LineString.apply(t,[s]);e.push(o.coordinates)}return{type:"Polygon",coordinates:e}},MultiPolygon:function(n){for(var t=this,e=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=Kn.Polygon.apply(t,[i]);e.push(s.coordinates)}return{type:"MultiPolygon",coordinates:e}},GeometryCollection:function(n){for(var t=this,e=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=i.getGeometryType();e.push(Kn[s].apply(t,[i]))}return{type:"GeometryCollection",geometries:e}}},ac=function(t){this.geometryFactory=t||new pt,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new zu(this.geometryFactory)};ac.prototype.read=function(t){var e=this.parser.read(t);return this.precisionModel.getType()===bt.FIXED&&this.reducePrecision(e),e},ac.prototype.reducePrecision=function(t){var e=this,r,i;if(t.coordinate)this.precisionModel.makePrecise(t.coordinate);else if(t.points)for(r=0,i=t.points.length;r<i;r++)e.precisionModel.makePrecise(t.points[r]);else if(t.geometries)for(r=0,i=t.geometries.length;r<i;r++)e.reducePrecision(t.geometries[r])};var Td=function(){this.parser=new zu(this.geometryFactory)};Td.prototype.write=function(t){return this.parser.write(t)};var z=function(){},Uu={ON:{configurable:!0},LEFT:{configurable:!0},RIGHT:{configurable:!0}};z.prototype.interfaces_=function(){return[]},z.prototype.getClass=function(){return z},z.opposite=function(t){return t===z.LEFT?z.RIGHT:t===z.RIGHT?z.LEFT:t},Uu.ON.get=function(){return 0},Uu.LEFT.get=function(){return 1},Uu.RIGHT.get=function(){return 2},Object.defineProperties(z,Uu);function Gu(n){this.message=n||""}Gu.prototype=new Error,Gu.prototype.name="EmptyStackException";function Br(){this.array_=[]}Br.prototype=new xr,Br.prototype.add=function(n){return this.array_.push(n),!0},Br.prototype.get=function(n){if(n<0||n>=this.size())throw new Error;return this.array_[n]},Br.prototype.push=function(n){return this.array_.push(n),n},Br.prototype.pop=function(n){if(this.array_.length===0)throw new Gu;return this.array_.pop()},Br.prototype.peek=function(){if(this.array_.length===0)throw new Gu;return this.array_[this.array_.length-1]},Br.prototype.empty=function(){return this.array_.length===0},Br.prototype.isEmpty=function(){return this.empty()},Br.prototype.search=function(n){return this.array_.indexOf(n)},Br.prototype.size=function(){return this.array_.length},Br.prototype.toArray=function(){for(var n=this,t=[],e=0,r=this.array_.length;e<r;e++)t.push(n.array_[e]);return t};var jr=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null};jr.prototype.getCoordinate=function(){return this._minCoord},jr.prototype.getRightmostSide=function(t,e){var r=this.getRightmostSideOfSegment(t,e);return r<0&&(r=this.getRightmostSideOfSegment(t,e-1)),r<0&&(this._minCoord=null,this.checkForRightmostCoordinate(t)),r},jr.prototype.findRightmostEdgeAtVertex=function(){var t=this._minDe.getEdge().getCoordinates();ct.isTrue(this._minIndex>0&&this._minIndex<t.length,"rightmost point expected to be interior vertex of edge");var e=t[this._minIndex-1],r=t[this._minIndex+1],i=W.computeOrientation(this._minCoord,r,e),s=!1;(e.y<this._minCoord.y&&r.y<this._minCoord.y&&i===W.COUNTERCLOCKWISE||e.y>this._minCoord.y&&r.y>this._minCoord.y&&i===W.CLOCKWISE)&&(s=!0),s&&(this._minIndex=this._minIndex-1)},jr.prototype.getRightmostSideOfSegment=function(t,e){var r=t.getEdge(),i=r.getCoordinates();if(e<0||e+1>=i.length||i[e].y===i[e+1].y)return-1;var s=z.LEFT;return i[e].y<i[e+1].y&&(s=z.RIGHT),s},jr.prototype.getEdge=function(){return this._orientedDe},jr.prototype.checkForRightmostCoordinate=function(t){for(var e=this,r=t.getEdge().getCoordinates(),i=0;i<r.length-1;i++)(e._minCoord===null||r[i].x>e._minCoord.x)&&(e._minDe=t,e._minIndex=i,e._minCoord=r[i])},jr.prototype.findRightmostEdgeAtNode=function(){var t=this._minDe.getNode(),e=t.getEdges();this._minDe=e.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},jr.prototype.findEdge=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next();i.isForward()&&e.checkForRightmostCoordinate(i)}ct.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===z.LEFT&&(this._orientedDe=this._minDe.getSym())},jr.prototype.interfaces_=function(){return[]},jr.prototype.getClass=function(){return jr};var Qn=function(n){function t(e,r){n.call(this,t.msgWithCoord(e,r)),this.pt=r?new D(r):null,this.name="TopologyException"}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.getCoordinate=function(){return this.pt},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.msgWithCoord=function(r,i){return i?r:r+" [ "+i+" ]"},t}(Yn),Wu=function(){this.array_=[]};Wu.prototype.addLast=function(t){this.array_.push(t)},Wu.prototype.removeFirst=function(){return this.array_.shift()},Wu.prototype.isEmpty=function(){return this.array_.length===0};var Pe=function(){this._finder=null,this._dirEdgeList=new U,this._nodes=new U,this._rightMostCoord=null,this._env=null,this._finder=new jr};Pe.prototype.clearVisitedEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.setVisited(!1)}},Pe.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},Pe.prototype.computeNodeDepth=function(t){for(var e=this,r=null,i=t.getEdges().iterator();i.hasNext();){var s=i.next();if(s.isVisited()||s.getSym().isVisited()){r=s;break}}if(r===null)throw new Qn("unable to find edge to compute depths at "+t.getCoordinate());t.getEdges().computeDepths(r);for(var o=t.getEdges().iterator();o.hasNext();){var a=o.next();a.setVisited(!0),e.copySymDepths(a)}},Pe.prototype.computeDepth=function(t){this.clearVisitedEdges();var e=this._finder.getEdge();e.setEdgeDepths(z.RIGHT,t),this.copySymDepths(e),this.computeDepths(e)},Pe.prototype.create=function(t){this.addReachable(t),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},Pe.prototype.findResultEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.getDepth(z.RIGHT)>=1&&e.getDepth(z.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}},Pe.prototype.computeDepths=function(t){var e=this,r=new ec,i=new Wu,s=t.getNode();for(i.addLast(s),r.add(s),t.setVisited(!0);!i.isEmpty();){var o=i.removeFirst();r.add(o),e.computeNodeDepth(o);for(var a=o.getEdges().iterator();a.hasNext();){var u=a.next(),l=u.getSym();if(!l.isVisited()){var c=l.getNode();r.contains(c)||(i.addLast(c),r.add(c))}}}},Pe.prototype.compareTo=function(t){var e=t;return this._rightMostCoord.x<e._rightMostCoord.x?-1:this._rightMostCoord.x>e._rightMostCoord.x?1:0},Pe.prototype.getEnvelope=function(){if(this._env===null){for(var t=new j,e=this._dirEdgeList.iterator();e.hasNext();)for(var r=e.next(),i=r.getEdge().getCoordinates(),s=0;s<i.length-1;s++)t.expandToInclude(i[s]);this._env=t}return this._env},Pe.prototype.addReachable=function(t){var e=this,r=new Br;for(r.add(t);!r.empty();){var i=r.pop();e.add(i,r)}},Pe.prototype.copySymDepths=function(t){var e=t.getSym();e.setDepth(z.LEFT,t.getDepth(z.RIGHT)),e.setDepth(z.RIGHT,t.getDepth(z.LEFT))},Pe.prototype.add=function(t,e){var r=this;t.setVisited(!0),this._nodes.add(t);for(var i=t.getEdges().iterator();i.hasNext();){var s=i.next();r._dirEdgeList.add(s);var o=s.getSym(),a=o.getNode();a.isVisited()||e.push(a)}},Pe.prototype.getNodes=function(){return this._nodes},Pe.prototype.getDirectedEdges=function(){return this._dirEdgeList},Pe.prototype.interfaces_=function(){return[fr]},Pe.prototype.getClass=function(){return Pe};var At=function n(){var t=this;if(this.location=null,arguments.length===1){if(arguments[0]instanceof Array){var e=arguments[0];this.init(e.length)}else if(Number.isInteger(arguments[0])){var r=arguments[0];this.init(1),this.location[z.ON]=r}else if(arguments[0]instanceof n){var i=arguments[0];if(this.init(i.location.length),i!==null)for(var s=0;s<this.location.length;s++)t.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[z.ON]=o,this.location[z.LEFT]=a,this.location[z.RIGHT]=u}};At.prototype.setAllLocations=function(t){for(var e=this,r=0;r<this.location.length;r++)e.location[r]=t},At.prototype.isNull=function(){for(var t=this,e=0;e<this.location.length;e++)if(t.location[e]!==R.NONE)return!1;return!0},At.prototype.setAllLocationsIfNull=function(t){for(var e=this,r=0;r<this.location.length;r++)e.location[r]===R.NONE&&(e.location[r]=t)},At.prototype.isLine=function(){return this.location.length===1},At.prototype.merge=function(t){var e=this;if(t.location.length>this.location.length){var r=new Array(3).fill(null);r[z.ON]=this.location[z.ON],r[z.LEFT]=R.NONE,r[z.RIGHT]=R.NONE,this.location=r}for(var i=0;i<this.location.length;i++)e.location[i]===R.NONE&&i<t.location.length&&(e.location[i]=t.location[i])},At.prototype.getLocations=function(){return this.location},At.prototype.flip=function(){if(this.location.length<=1)return null;var t=this.location[z.LEFT];this.location[z.LEFT]=this.location[z.RIGHT],this.location[z.RIGHT]=t},At.prototype.toString=function(){var t=new Ur;return this.location.length>1&&t.append(R.toLocationSymbol(this.location[z.LEFT])),t.append(R.toLocationSymbol(this.location[z.ON])),this.location.length>1&&t.append(R.toLocationSymbol(this.location[z.RIGHT])),t.toString()},At.prototype.setLocations=function(t,e,r){this.location[z.ON]=t,this.location[z.LEFT]=e,this.location[z.RIGHT]=r},At.prototype.get=function(t){return t<this.location.length?this.location[t]:R.NONE},At.prototype.isArea=function(){return this.location.length>1},At.prototype.isAnyNull=function(){for(var t=this,e=0;e<this.location.length;e++)if(t.location[e]===R.NONE)return!0;return!1},At.prototype.setLocation=function(){if(arguments.length===1){var t=arguments[0];this.setLocation(z.ON,t)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];this.location[e]=r}},At.prototype.init=function(t){this.location=new Array(t).fill(null),this.setAllLocations(R.NONE)},At.prototype.isEqualOnSide=function(t,e){return this.location[e]===t.location[e]},At.prototype.allPositionsEqual=function(t){for(var e=this,r=0;r<this.location.length;r++)if(e.location[r]!==t)return!1;return!0},At.prototype.interfaces_=function(){return[]},At.prototype.getClass=function(){return At};var Ot=function n(){if(this.elt=new Array(2).fill(null),arguments.length===1){if(Number.isInteger(arguments[0])){var t=arguments[0];this.elt[0]=new At(t),this.elt[1]=new At(t)}else if(arguments[0]instanceof n){var e=arguments[0];this.elt[0]=new At(e.elt[0]),this.elt[1]=new At(e.elt[1])}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.elt[0]=new At(R.NONE),this.elt[1]=new At(R.NONE),this.elt[r].setLocation(i)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];this.elt[0]=new At(s,o,a),this.elt[1]=new At(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 At(R.NONE,R.NONE,R.NONE),this.elt[1]=new At(R.NONE,R.NONE,R.NONE),this.elt[u].setLocations(l,c,h)}};Ot.prototype.getGeometryCount=function(){var t=0;return this.elt[0].isNull()||t++,this.elt[1].isNull()||t++,t},Ot.prototype.setAllLocations=function(t,e){this.elt[t].setAllLocations(e)},Ot.prototype.isNull=function(t){return this.elt[t].isNull()},Ot.prototype.setAllLocationsIfNull=function(){if(arguments.length===1){var t=arguments[0];this.setAllLocationsIfNull(0,t),this.setAllLocationsIfNull(1,t)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];this.elt[e].setAllLocationsIfNull(r)}},Ot.prototype.isLine=function(t){return this.elt[t].isLine()},Ot.prototype.merge=function(t){for(var e=this,r=0;r<2;r++)e.elt[r]===null&&t.elt[r]!==null?e.elt[r]=new At(t.elt[r]):e.elt[r].merge(t.elt[r])},Ot.prototype.flip=function(){this.elt[0].flip(),this.elt[1].flip()},Ot.prototype.getLocation=function(){if(arguments.length===1){var t=arguments[0];return this.elt[t].get(z.ON)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return this.elt[e].get(r)}},Ot.prototype.toString=function(){var t=new Ur;return this.elt[0]!==null&&(t.append("A:"),t.append(this.elt[0].toString())),this.elt[1]!==null&&(t.append(" B:"),t.append(this.elt[1].toString())),t.toString()},Ot.prototype.isArea=function(){if(arguments.length===0)return this.elt[0].isArea()||this.elt[1].isArea();if(arguments.length===1){var t=arguments[0];return this.elt[t].isArea()}},Ot.prototype.isAnyNull=function(t){return this.elt[t].isAnyNull()},Ot.prototype.setLocation=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1];this.elt[t].setLocation(z.ON,e)}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this.elt[r].setLocation(i,s)}},Ot.prototype.isEqualOnSide=function(t,e){return this.elt[0].isEqualOnSide(t.elt[0],e)&&this.elt[1].isEqualOnSide(t.elt[1],e)},Ot.prototype.allPositionsEqual=function(t,e){return this.elt[t].allPositionsEqual(e)},Ot.prototype.toLine=function(t){this.elt[t].isArea()&&(this.elt[t]=new At(this.elt[t].location[0]))},Ot.prototype.interfaces_=function(){return[]},Ot.prototype.getClass=function(){return Ot},Ot.toLineLabel=function(t){for(var e=new Ot(R.NONE),r=0;r<2;r++)e.setLocation(r,t.getLocation(r));return e};var jt=function(){this._startDe=null,this._maxNodeDegree=-1,this._edges=new U,this._pts=new U,this._label=new Ot(R.NONE),this._ring=null,this._isHole=null,this._shell=null,this._holes=new U,this._geometryFactory=null;var t=arguments[0],e=arguments[1];this._geometryFactory=e,this.computePoints(t),this.computeRing()};jt.prototype.computeRing=function(){var t=this;if(this._ring!==null)return null;for(var e=new Array(this._pts.size()).fill(null),r=0;r<this._pts.size();r++)e[r]=t._pts.get(r);this._ring=this._geometryFactory.createLinearRing(e),this._isHole=W.isCCW(this._ring.getCoordinates())},jt.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},jt.prototype.computePoints=function(t){var e=this;this._startDe=t;var r=t,i=!0;do{if(r===null)throw new Qn("Found null DirectedEdge");if(r.getEdgeRing()===e)throw new Qn("Directed Edge visited twice during ring-building at "+r.getCoordinate());e._edges.add(r);var s=r.getLabel();ct.isTrue(s.isArea()),e.mergeLabel(s),e.addPoints(r.getEdge(),r.isForward(),i),i=!1,e.setEdgeRing(r,e),r=e.getNext(r)}while(r!==this._startDe)},jt.prototype.getLinearRing=function(){return this._ring},jt.prototype.getCoordinate=function(t){return this._pts.get(t)},jt.prototype.computeMaxNodeDegree=function(){var t=this;this._maxNodeDegree=0;var e=this._startDe;do{var r=e.getNode(),i=r.getEdges().getOutgoingDegree(t);i>t._maxNodeDegree&&(t._maxNodeDegree=i),e=t.getNext(e)}while(e!==this._startDe);this._maxNodeDegree*=2},jt.prototype.addPoints=function(t,e,r){var i=this,s=t.getCoordinates();if(e){var o=1;r&&(o=0);for(var a=o;a<s.length;a++)i._pts.add(s[a])}else{var u=s.length-2;r&&(u=s.length-1);for(var l=u;l>=0;l--)i._pts.add(s[l])}},jt.prototype.isHole=function(){return this._isHole},jt.prototype.setInResult=function(){var t=this._startDe;do t.getEdge().setInResult(!0),t=t.getNext();while(t!==this._startDe)},jt.prototype.containsPoint=function(t){var e=this.getLinearRing(),r=e.getEnvelopeInternal();if(!r.contains(t)||!W.isPointInRing(t,e.getCoordinates()))return!1;for(var i=this._holes.iterator();i.hasNext();){var s=i.next();if(s.containsPoint(t))return!1}return!0},jt.prototype.addHole=function(t){this._holes.add(t)},jt.prototype.isShell=function(){return this._shell===null},jt.prototype.getLabel=function(){return this._label},jt.prototype.getEdges=function(){return this._edges},jt.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},jt.prototype.getShell=function(){return this._shell},jt.prototype.mergeLabel=function(){if(arguments.length===1){var t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(arguments.length===2){var e=arguments[0],r=arguments[1],i=e.getLocation(r,z.RIGHT);if(i===R.NONE)return null;if(this._label.getLocation(r)===R.NONE)return this._label.setLocation(r,i),null}},jt.prototype.setShell=function(t){this._shell=t,t!==null&&t.addHole(this)},jt.prototype.toPolygon=function(t){for(var e=this,r=new Array(this._holes.size()).fill(null),i=0;i<this._holes.size();i++)r[i]=e._holes.get(i).getLinearRing();var s=t.createPolygon(this.getLinearRing(),r);return s},jt.prototype.interfaces_=function(){return[]},jt.prototype.getClass=function(){return jt};var vy=function(n){function t(){var e=arguments[0],r=arguments[1];n.call(this,e,r)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.setEdgeRing=function(r,i){r.setMinEdgeRing(i)},t.prototype.getNext=function(r){return r.getNextMin()},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(jt),yy=function(n){function t(){var e=arguments[0],r=arguments[1];n.call(this,e,r)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.buildMinimalRings=function(){var r=this,i=new U,s=this._startDe;do{if(s.getMinEdgeRing()===null){var o=new vy(s,r._geometryFactory);i.add(o)}s=s.getNext()}while(s!==this._startDe);return i},t.prototype.setEdgeRing=function(r,i){r.setEdgeRing(i)},t.prototype.linkDirectedEdgesForMinimalEdgeRings=function(){var r=this,i=this._startDe;do{var s=i.getNode();s.getEdges().linkMinimalDirectedEdges(r),i=i.getNext()}while(i!==this._startDe)},t.prototype.getNext=function(r){return r.getNext()},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(jt),ir=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 t=arguments[0];this._label=t}}};ir.prototype.setVisited=function(t){this._isVisited=t},ir.prototype.setInResult=function(t){this._isInResult=t},ir.prototype.isCovered=function(){return this._isCovered},ir.prototype.isCoveredSet=function(){return this._isCoveredSet},ir.prototype.setLabel=function(t){this._label=t},ir.prototype.getLabel=function(){return this._label},ir.prototype.setCovered=function(t){this._isCovered=t,this._isCoveredSet=!0},ir.prototype.updateIM=function(t){ct.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(t)},ir.prototype.isInResult=function(){return this._isInResult},ir.prototype.isVisited=function(){return this._isVisited},ir.prototype.interfaces_=function(){return[]},ir.prototype.getClass=function(){return ir};var qu=function(n){function t(){n.call(this),this._coord=null,this._edges=null;var e=arguments[0],r=arguments[1];this._coord=e,this._edges=r,this._label=new Ot(0,R.NONE)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.isIncidentEdgeInResult=function(){for(var r=this.getEdges().getEdges().iterator();r.hasNext();){var i=r.next();if(i.getEdge().isInResult())return!0}return!1},t.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},t.prototype.getCoordinate=function(){return this._coord},t.prototype.print=function(r){r.println("node "+this._coord+" lbl: "+this._label)},t.prototype.computeIM=function(r){},t.prototype.computeMergedLocation=function(r,i){var s=R.NONE;if(s=this._label.getLocation(i),!r.isNull(i)){var o=r.getLocation(i);s!==R.BOUNDARY&&(s=o)}return s},t.prototype.setLabel=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1];this._label===null?this._label=new Ot(r,i):this._label.setLocation(r,i)}else return n.prototype.setLabel.apply(this,arguments)},t.prototype.getEdges=function(){return this._edges},t.prototype.mergeLabel=function(){var r=this;if(arguments[0]instanceof t){var i=arguments[0];this.mergeLabel(i._label)}else if(arguments[0]instanceof Ot)for(var s=arguments[0],o=0;o<2;o++){var a=r.computeMergedLocation(s,o),u=r._label.getLocation(o);u===R.NONE&&r._label.setLocation(o,a)}},t.prototype.add=function(r){this._edges.insert(r),r.setNode(this)},t.prototype.setLabelBoundary=function(r){if(this._label===null)return null;var i=R.NONE;this._label!==null&&(i=this._label.getLocation(r));var s=null;switch(i){case R.BOUNDARY:s=R.INTERIOR;break;case R.INTERIOR:s=R.BOUNDARY;break;default:s=R.BOUNDARY;break}this._label.setLocation(r,s)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(ir),Zr=function(){this.nodeMap=new _e,this.nodeFact=null;var t=arguments[0];this.nodeFact=t};Zr.prototype.find=function(t){return this.nodeMap.get(t)},Zr.prototype.addNode=function(){if(arguments[0]instanceof D){var t=arguments[0],e=this.nodeMap.get(t);return e===null&&(e=this.nodeFact.createNode(t),this.nodeMap.put(t,e)),e}else if(arguments[0]instanceof qu){var r=arguments[0],i=this.nodeMap.get(r.getCoordinate());return i===null?(this.nodeMap.put(r.getCoordinate(),r),r):(i.mergeLabel(r),i)}},Zr.prototype.print=function(t){for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},Zr.prototype.iterator=function(){return this.nodeMap.values().iterator()},Zr.prototype.values=function(){return this.nodeMap.values()},Zr.prototype.getBoundaryNodes=function(t){for(var e=new U,r=this.iterator();r.hasNext();){var i=r.next();i.getLabel().getLocation(t)===R.BOUNDARY&&e.add(i)}return e},Zr.prototype.add=function(t){var e=t.getCoordinate(),r=this.addNode(e);r.add(t)},Zr.prototype.interfaces_=function(){return[]},Zr.prototype.getClass=function(){return Zr};var Dt=function(){},Xa={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};Dt.prototype.interfaces_=function(){return[]},Dt.prototype.getClass=function(){return Dt},Dt.isNorthern=function(t){return t===Dt.NE||t===Dt.NW},Dt.isOpposite=function(t,e){if(t===e)return!1;var r=(t-e+4)%4;return r===2},Dt.commonHalfPlane=function(t,e){if(t===e)return t;var r=(t-e+4)%4;if(r===2)return-1;var i=t<e?t:e,s=t>e?t:e;return i===0&&s===3?3:i},Dt.isInHalfPlane=function(t,e){return e===Dt.SE?t===Dt.SE||t===Dt.SW:t===e||t===e+1},Dt.quadrant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var t=arguments[0],e=arguments[1];if(t===0&&e===0)throw new zt("Cannot compute the quadrant for point ( "+t+", "+e+" )");return t>=0?e>=0?Dt.NE:Dt.SE:e>=0?Dt.NW:Dt.SW}else if(arguments[0]instanceof D&&arguments[1]instanceof D){var r=arguments[0],i=arguments[1];if(i.x===r.x&&i.y===r.y)throw new zt("Cannot compute the quadrant for two identical points "+r);return i.x>=r.x?i.y>=r.y?Dt.NE:Dt.SE:i.y>=r.y?Dt.NW:Dt.SW}},Xa.NE.get=function(){return 0},Xa.NW.get=function(){return 1},Xa.SW.get=function(){return 2},Xa.SE.get=function(){return 3},Object.defineProperties(Dt,Xa);var we=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 t=arguments[0];this._edge=t}else if(arguments.length===3){var e=arguments[0],r=arguments[1],i=arguments[2],s=null;this._edge=e,this.init(r,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}};we.prototype.compareDirection=function(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrant<t._quadrant?-1:W.computeOrientation(t._p0,t._p1,this._p1)},we.prototype.getDy=function(){return this._dy},we.prototype.getCoordinate=function(){return this._p0},we.prototype.setNode=function(t){this._node=t},we.prototype.print=function(t){var e=Math.atan2(this._dy,this._dx),r=this.getClass().getName(),i=r.lastIndexOf("."),s=r.substring(i+1);t.print(" "+s+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+e+" "+this._label)},we.prototype.compareTo=function(t){var e=t;return this.compareDirection(e)},we.prototype.getDirectedCoordinate=function(){return this._p1},we.prototype.getDx=function(){return this._dx},we.prototype.getLabel=function(){return this._label},we.prototype.getEdge=function(){return this._edge},we.prototype.getQuadrant=function(){return this._quadrant},we.prototype.getNode=function(){return this._node},we.prototype.toString=function(){var t=Math.atan2(this._dy,this._dx),e=this.getClass().getName(),r=e.lastIndexOf("."),i=e.substring(r+1);return" "+i+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+t+" "+this._label},we.prototype.computeLabel=function(t){},we.prototype.init=function(t,e){this._p0=t,this._p1=e,this._dx=e.x-t.x,this._dy=e.y-t.y,this._quadrant=Dt.quadrant(this._dx,this._dy),ct.isTrue(!(this._dx===0&&this._dy===0),"EdgeEnd with identical endpoints found")},we.prototype.interfaces_=function(){return[fr]},we.prototype.getClass=function(){return we};var uc=function(n){function t(){var e=arguments[0],r=arguments[1];if(n.call(this,e),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=r,r)this.init(e.getCoordinate(0),e.getCoordinate(1));else{var i=e.getNumPoints()-1;this.init(e.getCoordinate(i),e.getCoordinate(i-1))}this.computeDirectedLabel()}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.getNextMin=function(){return this._nextMin},t.prototype.getDepth=function(r){return this._depth[r]},t.prototype.setVisited=function(r){this._isVisited=r},t.prototype.computeDirectedLabel=function(){this._label=new Ot(this._edge.getLabel()),this._isForward||this._label.flip()},t.prototype.getNext=function(){return this._next},t.prototype.setDepth=function(r,i){if(this._depth[r]!==-999&&this._depth[r]!==i)throw new Qn("assigned depths do not match",this.getCoordinate());this._depth[r]=i},t.prototype.isInteriorAreaEdge=function(){for(var r=this,i=!0,s=0;s<2;s++)r._label.isArea(s)&&r._label.getLocation(s,z.LEFT)===R.INTERIOR&&r._label.getLocation(s,z.RIGHT)===R.INTERIOR||(i=!1);return i},t.prototype.setNextMin=function(r){this._nextMin=r},t.prototype.print=function(r){n.prototype.print.call(this,r),r.print(" "+this._depth[z.LEFT]+"/"+this._depth[z.RIGHT]),r.print(" ("+this.getDepthDelta()+")"),this._isInResult&&r.print(" inResult")},t.prototype.setMinEdgeRing=function(r){this._minEdgeRing=r},t.prototype.isLineEdge=function(){var r=this._label.isLine(0)||this._label.isLine(1),i=!this._label.isArea(0)||this._label.allPositionsEqual(0,R.EXTERIOR),s=!this._label.isArea(1)||this._label.allPositionsEqual(1,R.EXTERIOR);return r&&i&&s},t.prototype.setEdgeRing=function(r){this._edgeRing=r},t.prototype.getMinEdgeRing=function(){return this._minEdgeRing},t.prototype.getDepthDelta=function(){var r=this._edge.getDepthDelta();return this._isForward||(r=-r),r},t.prototype.setInResult=function(r){this._isInResult=r},t.prototype.getSym=function(){return this._sym},t.prototype.isForward=function(){return this._isForward},t.prototype.getEdge=function(){return this._edge},t.prototype.printEdge=function(r){this.print(r),r.print(" "),this._isForward?this._edge.print(r):this._edge.printReverse(r)},t.prototype.setSym=function(r){this._sym=r},t.prototype.setVisitedEdge=function(r){this.setVisited(r),this._sym.setVisited(r)},t.prototype.setEdgeDepths=function(r,i){var s=this.getEdge().getDepthDelta();this._isForward||(s=-s);var o=1;r===z.LEFT&&(o=-1);var a=z.opposite(r),u=s*o,l=i+u;this.setDepth(r,i),this.setDepth(a,l)},t.prototype.getEdgeRing=function(){return this._edgeRing},t.prototype.isInResult=function(){return this._isInResult},t.prototype.setNext=function(r){this._next=r},t.prototype.isVisited=function(){return this._isVisited},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.depthFactor=function(r,i){return r===R.EXTERIOR&&i===R.INTERIOR?1:r===R.INTERIOR&&i===R.EXTERIOR?-1:0},t}(we),bo=function(){};bo.prototype.createNode=function(t){return new qu(t,null)},bo.prototype.interfaces_=function(){return[]},bo.prototype.getClass=function(){return bo};var Wt=function(){if(this._edges=new U,this._nodes=null,this._edgeEndList=new U,arguments.length===0)this._nodes=new Zr(new bo);else if(arguments.length===1){var t=arguments[0];this._nodes=new Zr(t)}};Wt.prototype.printEdges=function(t){var e=this;t.println("Edges:");for(var r=0;r<this._edges.size();r++){t.println("edge "+r+":");var i=e._edges.get(r);i.print(t),i.eiList.print(t)}},Wt.prototype.find=function(t){return this._nodes.find(t)},Wt.prototype.addNode=function(){if(arguments[0]instanceof qu){var t=arguments[0];return this._nodes.addNode(t)}else if(arguments[0]instanceof D){var e=arguments[0];return this._nodes.addNode(e)}},Wt.prototype.getNodeIterator=function(){return this._nodes.iterator()},Wt.prototype.linkResultDirectedEdges=function(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next();e.getEdges().linkResultDirectedEdges()}},Wt.prototype.debugPrintln=function(t){he.out.println(t)},Wt.prototype.isBoundaryNode=function(t,e){var r=this._nodes.find(e);if(r===null)return!1;var i=r.getLabel();return i!==null&&i.getLocation(t)===R.BOUNDARY},Wt.prototype.linkAllDirectedEdges=function(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next();e.getEdges().linkAllDirectedEdges()}},Wt.prototype.matchInSameDirection=function(t,e,r,i){return t.equals(r)?W.computeOrientation(t,e,i)===W.COLLINEAR&&Dt.quadrant(t,e)===Dt.quadrant(r,i):!1},Wt.prototype.getEdgeEnds=function(){return this._edgeEndList},Wt.prototype.debugPrint=function(t){he.out.print(t)},Wt.prototype.getEdgeIterator=function(){return this._edges.iterator()},Wt.prototype.findEdgeInSameDirection=function(t,e){for(var r=this,i=0;i<this._edges.size();i++){var s=r._edges.get(i),o=s.getCoordinates();if(r.matchInSameDirection(t,e,o[0],o[1])||r.matchInSameDirection(t,e,o[o.length-1],o[o.length-2]))return s}return null},Wt.prototype.insertEdge=function(t){this._edges.add(t)},Wt.prototype.findEdgeEnd=function(t){for(var e=this.getEdgeEnds().iterator();e.hasNext();){var r=e.next();if(r.getEdge()===t)return r}return null},Wt.prototype.addEdges=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next();e._edges.add(i);var s=new uc(i,!0),o=new uc(i,!1);s.setSym(o),o.setSym(s),e.add(s),e.add(o)}},Wt.prototype.add=function(t){this._nodes.add(t),this._edgeEndList.add(t)},Wt.prototype.getNodes=function(){return this._nodes.values()},Wt.prototype.findEdge=function(t,e){for(var r=this,i=0;i<this._edges.size();i++){var s=r._edges.get(i),o=s.getCoordinates();if(t.equals(o[0])&&e.equals(o[1]))return s}return null},Wt.prototype.interfaces_=function(){return[]},Wt.prototype.getClass=function(){return Wt},Wt.linkResultDirectedEdges=function(t){for(var e=t.iterator();e.hasNext();){var r=e.next();r.getEdges().linkResultDirectedEdges()}};var He=function(){this._geometryFactory=null,this._shellList=new U;var t=arguments[0];this._geometryFactory=t};He.prototype.sortShellsAndHoles=function(t,e,r){for(var i=t.iterator();i.hasNext();){var s=i.next();s.isHole()?r.add(s):e.add(s)}},He.prototype.computePolygons=function(t){for(var e=this,r=new U,i=t.iterator();i.hasNext();){var s=i.next(),o=s.toPolygon(e._geometryFactory);r.add(o)}return r},He.prototype.placeFreeHoles=function(t,e){for(var r=this,i=e.iterator();i.hasNext();){var s=i.next();if(s.getShell()===null){var o=r.findEdgeRingContaining(s,t);if(o===null)throw new Qn("unable to assign hole to a shell",s.getCoordinate(0));s.setShell(o)}}},He.prototype.buildMinimalEdgeRings=function(t,e,r){for(var i=this,s=new U,o=t.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),e.add(l)):r.addAll(u)}else s.add(a)}return s},He.prototype.containsPoint=function(t){for(var e=this._shellList.iterator();e.hasNext();){var r=e.next();if(r.containsPoint(t))return!0}return!1},He.prototype.buildMaximalEdgeRings=function(t){for(var e=this,r=new U,i=t.iterator();i.hasNext();){var s=i.next();if(s.isInResult()&&s.getLabel().isArea()&&s.getEdgeRing()===null){var o=new yy(s,e._geometryFactory);r.add(o),o.setInResult()}}return r},He.prototype.placePolygonHoles=function(t,e){for(var r=e.iterator();r.hasNext();){var i=r.next();i.isHole()&&i.setShell(t)}},He.prototype.getPolygons=function(){var t=this.computePolygons(this._shellList);return t},He.prototype.findEdgeRingContaining=function(t,e){for(var r=t.getLinearRing(),i=r.getEnvelopeInternal(),s=r.getCoordinateN(0),o=null,a=null,u=e.iterator();u.hasNext();){var l=u.next(),c=l.getLinearRing(),h=c.getEnvelopeInternal();o!==null&&(a=o.getLinearRing().getEnvelopeInternal());var d=!1;h.contains(i)&&W.isPointInRing(s,c.getCoordinates())&&(d=!0),d&&(o===null||a.contains(h))&&(o=l)}return o},He.prototype.findShell=function(t){for(var e=0,r=null,i=t.iterator();i.hasNext();){var s=i.next();s.isHole()||(r=s,e++)}return ct.isTrue(e<=1,"found two shells in MinimalEdgeRing list"),r},He.prototype.add=function(){if(arguments.length===1){var t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(arguments.length===2){var e=arguments[0],r=arguments[1];Wt.linkResultDirectedEdges(r);var i=this.buildMaximalEdgeRings(e),s=new U,o=this.buildMinimalEdgeRings(i,this._shellList,s);this.sortShellsAndHoles(o,this._shellList,s),this.placeFreeHoles(this._shellList,s)}},He.prototype.interfaces_=function(){return[]},He.prototype.getClass=function(){return He};var No=function(){};No.prototype.getBounds=function(){},No.prototype.interfaces_=function(){return[]},No.prototype.getClass=function(){return No};var Lr=function(){this._bounds=null,this._item=null;var t=arguments[0],e=arguments[1];this._bounds=t,this._item=e};Lr.prototype.getItem=function(){return this._item},Lr.prototype.getBounds=function(){return this._bounds},Lr.prototype.interfaces_=function(){return[No,dr]},Lr.prototype.getClass=function(){return Lr};var $n=function(){this._size=null,this._items=null,this._size=0,this._items=new U,this._items.add(null)};$n.prototype.poll=function(){if(this.isEmpty())return null;var t=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),t},$n.prototype.size=function(){return this._size},$n.prototype.reorder=function(t){for(var e=this,r=null,i=this._items.get(t);t*2<=this._size&&(r=t*2,r!==e._size&&e._items.get(r+1).compareTo(e._items.get(r))<0&&r++,e._items.get(r).compareTo(i)<0);t=r)e._items.set(t,e._items.get(r));this._items.set(t,i)},$n.prototype.clear=function(){this._size=0,this._items.clear()},$n.prototype.isEmpty=function(){return this._size===0},$n.prototype.add=function(t){var e=this;this._items.add(null),this._size+=1;var r=this._size;for(this._items.set(0,t);t.compareTo(this._items.get(Math.trunc(r/2)))<0;r/=2)e._items.set(r,e._items.get(Math.trunc(r/2)));this._items.set(r,t)},$n.prototype.interfaces_=function(){return[]},$n.prototype.getClass=function(){return $n};var wi=function(){};wi.prototype.visitItem=function(t){},wi.prototype.interfaces_=function(){return[]},wi.prototype.getClass=function(){return wi};var Ts=function(){};Ts.prototype.insert=function(t,e){},Ts.prototype.remove=function(t,e){},Ts.prototype.query=function(){},Ts.prototype.interfaces_=function(){return[]},Ts.prototype.getClass=function(){return Ts};var ee=function(){if(this._childBoundables=new U,this._bounds=null,this._level=null,arguments.length!==0){if(arguments.length===1){var t=arguments[0];this._level=t}}},Od={serialVersionUID:{configurable:!0}};ee.prototype.getLevel=function(){return this._level},ee.prototype.size=function(){return this._childBoundables.size()},ee.prototype.getChildBoundables=function(){return this._childBoundables},ee.prototype.addChildBoundable=function(t){ct.isTrue(this._bounds===null),this._childBoundables.add(t)},ee.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},ee.prototype.getBounds=function(){return this._bounds===null&&(this._bounds=this.computeBounds()),this._bounds},ee.prototype.interfaces_=function(){return[No,dr]},ee.prototype.getClass=function(){return ee},Od.serialVersionUID.get=function(){return 6493722185909574e3},Object.defineProperties(ee,Od);var Ar=function(){};Ar.reverseOrder=function(){return{compare:function(e,r){return r.compareTo(e)}}},Ar.min=function(t){return Ar.sort(t),t.get(0)},Ar.sort=function(t,e){var r=t.toArray();e?qi.sort(r,e):qi.sort(r);for(var i=t.iterator(),s=0,o=r.length;s<o;s++)i.next(),i.set(r[s])},Ar.singletonList=function(t){var e=new U;return e.add(t),e};var Zt=function(){this._boundable1=null,this._boundable2=null,this._distance=null,this._itemDistance=null;var t=arguments[0],e=arguments[1],r=arguments[2];this._boundable1=t,this._boundable2=e,this._itemDistance=r,this._distance=this.distance()};Zt.prototype.expandToQueue=function(t,e){var r=Zt.isComposite(this._boundable1),i=Zt.isComposite(this._boundable2);if(r&&i)return Zt.area(this._boundable1)>Zt.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,t,e),null):(this.expand(this._boundable2,this._boundable1,t,e),null);if(r)return this.expand(this._boundable1,this._boundable2,t,e),null;if(i)return this.expand(this._boundable2,this._boundable1,t,e),null;throw new zt("neither boundable is composite")},Zt.prototype.isLeaves=function(){return!(Zt.isComposite(this._boundable1)||Zt.isComposite(this._boundable2))},Zt.prototype.compareTo=function(t){var e=t;return this._distance<e._distance?-1:this._distance>e._distance?1:0},Zt.prototype.expand=function(t,e,r,i){for(var s=this,o=t.getChildBoundables(),a=o.iterator();a.hasNext();){var u=a.next(),l=new Zt(u,e,s._itemDistance);l.getDistance()<i&&r.add(l)}},Zt.prototype.getBoundable=function(t){return t===0?this._boundable1:this._boundable2},Zt.prototype.getDistance=function(){return this._distance},Zt.prototype.distance=function(){return this.isLeaves()?this._itemDistance.distance(this._boundable1,this._boundable2):this._boundable1.getBounds().distance(this._boundable2.getBounds())},Zt.prototype.interfaces_=function(){return[fr]},Zt.prototype.getClass=function(){return Zt},Zt.area=function(t){return t.getBounds().getArea()},Zt.isComposite=function(t){return t instanceof ee};var oe=function n(){if(this._root=null,this._built=!1,this._itemBoundables=new U,this._nodeCapacity=null,arguments.length===0){var t=n.DEFAULT_NODE_CAPACITY;this._nodeCapacity=t}else if(arguments.length===1){var e=arguments[0];ct.isTrue(e>1,"Node capacity must be greater than 1"),this._nodeCapacity=e}},Xu={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};oe.prototype.getNodeCapacity=function(){return this._nodeCapacity},oe.prototype.lastNode=function(t){return t.get(t.size()-1)},oe.prototype.size=function(){var t=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.size(this._root));if(arguments.length===1){for(var e=arguments[0],r=0,i=e.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof ee?r+=t.size(s):s instanceof Lr&&(r+=1)}return r}},oe.prototype.removeItem=function(t,e){for(var r=null,i=t.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof Lr&&s.getItem()===e&&(r=s)}return r!==null?(t.getChildBoundables().remove(r),!0):!1},oe.prototype.itemsTree=function(){var t=this;if(arguments.length===0){this.build();var e=this.itemsTree(this._root);return e===null?new U:e}else if(arguments.length===1){for(var r=arguments[0],i=new U,s=r.getChildBoundables().iterator();s.hasNext();){var o=s.next();if(o instanceof ee){var a=t.itemsTree(o);a!==null&&i.add(a)}else o instanceof Lr?i.add(o.getItem()):ct.shouldNeverReachHere()}return i.size()<=0?null:i}},oe.prototype.insert=function(t,e){ct.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new Lr(t,e))},oe.prototype.boundablesAtLevel=function(){var t=this;if(arguments.length===1){var e=arguments[0],r=new U;return this.boundablesAtLevel(e,this._root,r),r}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];if(ct.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 ee?t.boundablesAtLevel(i,u,o):(ct.isTrue(u instanceof Lr),i===-1&&o.add(u))}return null}},oe.prototype.query=function(){var t=this;if(arguments.length===1){var e=arguments[0];this.build();var r=new U;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),e)&&this.query(e,this._root,r),r}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(nt(arguments[2],wi)&&arguments[0]instanceof Object&&arguments[1]instanceof ee)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);t.getIntersectsOp().intersects(h.getBounds(),o)&&(h instanceof ee?t.query(o,h,u):h instanceof Lr?u.visitItem(h.getItem()):ct.shouldNeverReachHere())}else if(nt(arguments[2],xr)&&arguments[0]instanceof Object&&arguments[1]instanceof ee)for(var d=arguments[0],g=arguments[1],y=arguments[2],C=g.getChildBoundables(),P=0;P<C.size();P++){var T=C.get(P);t.getIntersectsOp().intersects(T.getBounds(),d)&&(T instanceof ee?t.query(d,T,y):T instanceof Lr?y.add(T.getItem()):ct.shouldNeverReachHere())}}},oe.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},oe.prototype.getRoot=function(){return this.build(),this._root},oe.prototype.remove=function(){var t=this;if(arguments.length===2){var e=arguments[0],r=arguments[1];return this.build(),this.getIntersectsOp().intersects(this._root.getBounds(),e)?this.remove(e,this._root,r):!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(t.getIntersectsOp().intersects(c.getBounds(),i)&&c instanceof ee&&(a=t.remove(i,c,o),a)){u=c;break}}return u!==null&&u.getChildBoundables().isEmpty()&&s.getChildBoundables().remove(u),a}},oe.prototype.createHigherLevels=function(t,e){ct.isTrue(!t.isEmpty());var r=this.createParentBoundables(t,e+1);return r.size()===1?r.get(0):this.createHigherLevels(r,e+1)},oe.prototype.depth=function(){var t=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(arguments.length===1){for(var e=arguments[0],r=0,i=e.getChildBoundables().iterator();i.hasNext();){var s=i.next();if(s instanceof ee){var o=t.depth(s);o>r&&(r=o)}}return r+1}},oe.prototype.createParentBoundables=function(t,e){var r=this;ct.isTrue(!t.isEmpty());var i=new U;i.add(this.createNode(e));var s=new U(t);Ar.sort(s,this.getComparator());for(var o=s.iterator();o.hasNext();){var a=o.next();r.lastNode(i).getChildBoundables().size()===r.getNodeCapacity()&&i.add(r.createNode(e)),r.lastNode(i).addChildBoundable(a)}return i},oe.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},oe.prototype.interfaces_=function(){return[dr]},oe.prototype.getClass=function(){return oe},oe.compareDoubles=function(t,e){return t>e?1:t<e?-1:0},Xu.IntersectsOp.get=function(){return _y},Xu.serialVersionUID.get=function(){return-3886435814360241e3},Xu.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(oe,Xu);var _y=function(){},To=function(){};To.prototype.distance=function(t,e){},To.prototype.interfaces_=function(){return[]},To.prototype.getClass=function(){return To};var xd=function(n){function t(r){r=r||t.DEFAULT_NODE_CAPACITY,n.call(this,r)}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var e={STRtreeNode:{configurable:!0},serialVersionUID:{configurable:!0},xComparator:{configurable:!0},yComparator:{configurable:!0},intersectsOp:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};return t.prototype.createParentBoundablesFromVerticalSlices=function(i,s){var o=this;ct.isTrue(i.length>0);for(var a=new U,u=0;u<i.length;u++)a.addAll(o.createParentBoundablesFromVerticalSlice(i[u],s));return a},t.prototype.createNode=function(i){return new Dd(i)},t.prototype.size=function(){return arguments.length===0?n.prototype.size.call(this):n.prototype.size.apply(this,arguments)},t.prototype.insert=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];if(i.isNull())return null;n.prototype.insert.call(this,i,s)}else return n.prototype.insert.apply(this,arguments)},t.prototype.getIntersectsOp=function(){return t.intersectsOp},t.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 U;for(var c=0;u.hasNext()&&c<o;){var h=u.next();a[l].add(h),c++}}return a},t.prototype.query=function(){if(arguments.length===1){var i=arguments[0];return n.prototype.query.call(this,i)}else if(arguments.length===2){var s=arguments[0],o=arguments[1];n.prototype.query.call(this,s,o)}else if(arguments.length===3){if(nt(arguments[2],wi)&&arguments[0]instanceof Object&&arguments[1]instanceof ee){var a=arguments[0],u=arguments[1],l=arguments[2];n.prototype.query.call(this,a,u,l)}else if(nt(arguments[2],xr)&&arguments[0]instanceof Object&&arguments[1]instanceof ee){var c=arguments[0],h=arguments[1],d=arguments[2];n.prototype.query.call(this,c,h,d)}}},t.prototype.getComparator=function(){return t.yComparator},t.prototype.createParentBoundablesFromVerticalSlice=function(i,s){return n.prototype.createParentBoundables.call(this,i,s)},t.prototype.remove=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return n.prototype.remove.call(this,i,s)}else return n.prototype.remove.apply(this,arguments)},t.prototype.depth=function(){return arguments.length===0?n.prototype.depth.call(this):n.prototype.depth.apply(this,arguments)},t.prototype.createParentBoundables=function(i,s){ct.isTrue(!i.isEmpty());var o=Math.trunc(Math.ceil(i.size()/this.getNodeCapacity())),a=new U(i);Ar.sort(a,t.xComparator);var u=this.verticalSlices(a,Math.trunc(Math.ceil(Math.sqrt(o))));return this.createParentBoundablesFromVerticalSlices(u,s)},t.prototype.nearestNeighbour=function(){if(arguments.length===1){if(nt(arguments[0],To)){var i=arguments[0],s=new Zt(this.getRoot(),this.getRoot(),i);return this.nearestNeighbour(s)}else if(arguments[0]instanceof Zt){var o=arguments[0];return this.nearestNeighbour(o,ot.POSITIVE_INFINITY)}}else if(arguments.length===2){if(arguments[0]instanceof t&&nt(arguments[1],To)){var a=arguments[0],u=arguments[1],l=new Zt(this.getRoot(),a.getRoot(),u);return this.nearestNeighbour(l)}else if(arguments[0]instanceof Zt&&typeof arguments[1]=="number"){var c=arguments[0],h=arguments[1],d=h,g=null,y=new $n;for(y.add(c);!y.isEmpty()&&d>0;){var C=y.poll(),P=C.getDistance();if(P>=d)break;C.isLeaves()?(d=P,g=C):C.expandToQueue(y,d)}return[g.getBoundable(0).getItem(),g.getBoundable(1).getItem()]}}else if(arguments.length===3){var T=arguments[0],v=arguments[1],w=arguments[2],m=new Lr(T,v),_=new Zt(this.getRoot(),m,w);return this.nearestNeighbour(_)[0]}},t.prototype.interfaces_=function(){return[Ts,dr]},t.prototype.getClass=function(){return t},t.centreX=function(i){return t.avg(i.getMinX(),i.getMaxX())},t.avg=function(i,s){return(i+s)/2},t.centreY=function(i){return t.avg(i.getMinY(),i.getMaxY())},e.STRtreeNode.get=function(){return Dd},e.serialVersionUID.get=function(){return 0x39920f7d5f261e0},e.xComparator.get=function(){return{interfaces_:function(){return[po]},compare:function(r,i){return n.compareDoubles(t.centreX(r.getBounds()),t.centreX(i.getBounds()))}}},e.yComparator.get=function(){return{interfaces_:function(){return[po]},compare:function(r,i){return n.compareDoubles(t.centreY(r.getBounds()),t.centreY(i.getBounds()))}}},e.intersectsOp.get=function(){return{interfaces_:function(){return[n.IntersectsOp]},intersects:function(r,i){return r.intersects(i)}}},e.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(t,e),t}(oe),Dd=function(n){function t(){var e=arguments[0];n.call(this,e)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.computeBounds=function(){for(var r=null,i=this.getChildBoundables().iterator();i.hasNext();){var s=i.next();r===null?r=new j(s.getBounds()):r.expandToInclude(s.getBounds())}return r},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(ee),Fe=function(){};Fe.prototype.interfaces_=function(){return[]},Fe.prototype.getClass=function(){return Fe},Fe.relativeSign=function(t,e){return t<e?-1:t>e?1:0},Fe.compare=function(t,e,r){if(e.equals2D(r))return 0;var i=Fe.relativeSign(e.x,r.x),s=Fe.relativeSign(e.y,r.y);switch(t){case 0:return Fe.compareValue(i,s);case 1:return Fe.compareValue(s,i);case 2:return Fe.compareValue(s,-i);case 3:return Fe.compareValue(-i,s);case 4:return Fe.compareValue(-i,-s);case 5:return Fe.compareValue(-s,-i);case 6:return Fe.compareValue(-s,i);case 7:return Fe.compareValue(i,-s)}return ct.shouldNeverReachHere("invalid octant value"),0},Fe.compareValue=function(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0};var Ei=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var t=arguments[0],e=arguments[1],r=arguments[2],i=arguments[3];this._segString=t,this.coord=new D(e),this.segmentIndex=r,this._segmentOctant=i,this._isInterior=!e.equals2D(t.getCoordinate(r))};Ei.prototype.getCoordinate=function(){return this.coord},Ei.prototype.print=function(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex)},Ei.prototype.compareTo=function(t){var e=t;return this.segmentIndex<e.segmentIndex?-1:this.segmentIndex>e.segmentIndex?1:this.coord.equals2D(e.coord)?0:Fe.compare(this._segmentOctant,this.coord,e.coord)},Ei.prototype.isEndPoint=function(t){return this.segmentIndex===0&&!this._isInterior||this.segmentIndex===t},Ei.prototype.isInterior=function(){return this._isInterior},Ei.prototype.interfaces_=function(){return[fr]},Ei.prototype.getClass=function(){return Ei};var be=function(){this._nodeMap=new _e,this._edge=null;var t=arguments[0];this._edge=t};be.prototype.getSplitCoordinates=function(){var t=this,e=new Fa;this.addEndpoints();for(var r=this.iterator(),i=r.next();r.hasNext();){var s=r.next();t.addEdgeCoordinates(i,s,e),i=s}return e.toCoordinateArray()},be.prototype.addCollapsedNodes=function(){var t=this,e=new U;this.findCollapsesFromInsertedNodes(e),this.findCollapsesFromExistingVertices(e);for(var r=e.iterator();r.hasNext();){var i=r.next().intValue();t.add(t._edge.getCoordinate(i),i)}},be.prototype.print=function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},be.prototype.findCollapsesFromExistingVertices=function(t){for(var e=this,r=0;r<this._edge.size()-2;r++){var i=e._edge.getCoordinate(r),s=e._edge.getCoordinate(r+2);i.equals2D(s)&&t.add(new Gr(r+1))}},be.prototype.addEdgeCoordinates=function(t,e,r){var i=this,s=this._edge.getCoordinate(e.segmentIndex),o=e.isInterior()||!e.coord.equals2D(s);r.add(new D(t.coord),!1);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)r.add(i._edge.getCoordinate(a));o&&r.add(new D(e.coord))},be.prototype.iterator=function(){return this._nodeMap.values().iterator()},be.prototype.addSplitEdges=function(t){var e=this;this.addEndpoints(),this.addCollapsedNodes();for(var r=this.iterator(),i=r.next();r.hasNext();){var s=r.next(),o=e.createSplitEdge(i,s);t.add(o),i=s}},be.prototype.findCollapseIndex=function(t,e,r){if(!t.coord.equals2D(e.coord))return!1;var i=e.segmentIndex-t.segmentIndex;return e.isInterior()||i--,i===1?(r[0]=t.segmentIndex+1,!0):!1},be.prototype.findCollapsesFromInsertedNodes=function(t){for(var e=this,r=new Array(1).fill(null),i=this.iterator(),s=i.next();i.hasNext();){var o=i.next(),a=e.findCollapseIndex(s,o,r);a&&t.add(new Gr(r[0])),s=o}},be.prototype.getEdge=function(){return this._edge},be.prototype.addEndpoints=function(){var t=this._edge.size()-1;this.add(this._edge.getCoordinate(0),0),this.add(this._edge.getCoordinate(t),t)},be.prototype.createSplitEdge=function(t,e){var r=this,i=e.segmentIndex-t.segmentIndex+2,s=this._edge.getCoordinate(e.segmentIndex),o=e.isInterior()||!e.coord.equals2D(s);o||i--;var a=new Array(i).fill(null),u=0;a[u++]=new D(t.coord);for(var l=t.segmentIndex+1;l<=e.segmentIndex;l++)a[u++]=r._edge.getCoordinate(l);return o&&(a[u]=new D(e.coord)),new Jt(a,this._edge.getData())},be.prototype.add=function(t,e){var r=new Ei(this._edge,t,e,this._edge.getSegmentOctant(e)),i=this._nodeMap.get(r);return i!==null?(ct.isTrue(i.coord.equals2D(t),"Found equal nodes with different coordinates"),i):(this._nodeMap.put(r,r),r)},be.prototype.checkSplitEdgesCorrectness=function(t){var e=this._edge.getCoordinates(),r=t.get(0),i=r.getCoordinate(0);if(!i.equals2D(e[0]))throw new Yn("bad split edge start point at "+i);var s=t.get(t.size()-1),o=s.getCoordinates(),a=o[o.length-1];if(!a.equals2D(e[e.length-1]))throw new Yn("bad split edge end point at "+a)},be.prototype.interfaces_=function(){return[]},be.prototype.getClass=function(){return be};var Os=function(){};Os.prototype.interfaces_=function(){return[]},Os.prototype.getClass=function(){return Os},Os.octant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var t=arguments[0],e=arguments[1];if(t===0&&e===0)throw new zt("Cannot compute the octant for point ( "+t+", "+e+" )");var r=Math.abs(t),i=Math.abs(e);return t>=0?e>=0?r>=i?0:1:r>=i?7:6:e>=0?r>=i?3:2:r>=i?4:5}else if(arguments[0]instanceof D&&arguments[1]instanceof D){var s=arguments[0],o=arguments[1],a=o.x-s.x,u=o.y-s.y;if(a===0&&u===0)throw new zt("Cannot compute the octant for two identical points "+s);return Os.octant(a,u)}};var Pn=function(){};Pn.prototype.getCoordinates=function(){},Pn.prototype.size=function(){},Pn.prototype.getCoordinate=function(t){},Pn.prototype.isClosed=function(){},Pn.prototype.setData=function(t){},Pn.prototype.getData=function(){},Pn.prototype.interfaces_=function(){return[]},Pn.prototype.getClass=function(){return Pn};var Ha=function(){};Ha.prototype.addIntersection=function(t,e){},Ha.prototype.interfaces_=function(){return[Pn]},Ha.prototype.getClass=function(){return Ha};var Jt=function(){this._nodeList=new be(this),this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};Jt.prototype.getCoordinates=function(){return this._pts},Jt.prototype.size=function(){return this._pts.length},Jt.prototype.getCoordinate=function(t){return this._pts[t]},Jt.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Jt.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))},Jt.prototype.setData=function(t){this._data=t},Jt.prototype.safeOctant=function(t,e){return t.equals2D(e)?0:Os.octant(t,e)},Jt.prototype.getData=function(){return this._data},Jt.prototype.addIntersection=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(arguments.length===4){var r=arguments[0],i=arguments[1],s=arguments[3],o=new D(r.getIntersection(s));this.addIntersection(o,i)}},Jt.prototype.toString=function(){return Or.toLineString(new Yt(this._pts))},Jt.prototype.getNodeList=function(){return this._nodeList},Jt.prototype.addIntersectionNode=function(t,e){var r=e,i=r+1;if(i<this._pts.length){var s=this._pts[i];t.equals2D(s)&&(r=i)}var o=this._nodeList.add(t,r);return o},Jt.prototype.addIntersections=function(t,e,r){for(var i=this,s=0;s<t.getIntersectionNum();s++)i.addIntersection(t,e,r,s)},Jt.prototype.interfaces_=function(){return[Ha]},Jt.prototype.getClass=function(){return Jt},Jt.getNodedSubstrings=function(){if(arguments.length===1){var t=arguments[0],e=new U;return Jt.getNodedSubstrings(t,e),e}else if(arguments.length===2)for(var r=arguments[0],i=arguments[1],s=r.iterator();s.hasNext();){var o=s.next();o.getNodeList().addSplitEdges(i)}};var Z=function(){if(this.p0=null,this.p1=null,arguments.length===0)this.p0=new D,this.p1=new D;else if(arguments.length===1){var t=arguments[0];this.p0=new D(t.p0),this.p1=new D(t.p1)}else if(arguments.length===2)this.p0=arguments[0],this.p1=arguments[1];else if(arguments.length===4){var e=arguments[0],r=arguments[1],i=arguments[2],s=arguments[3];this.p0=new D(e,r),this.p1=new D(i,s)}},Md={serialVersionUID:{configurable:!0}};Z.prototype.minX=function(){return Math.min(this.p0.x,this.p1.x)},Z.prototype.orientationIndex=function(){if(arguments[0]instanceof Z){var t=arguments[0],e=W.orientationIndex(this.p0,this.p1,t.p0),r=W.orientationIndex(this.p0,this.p1,t.p1);return e>=0&&r>=0||e<=0&&r<=0?Math.max(e,r):0}else if(arguments[0]instanceof D){var i=arguments[0];return W.orientationIndex(this.p0,this.p1,i)}},Z.prototype.toGeometry=function(t){return t.createLineString([this.p0,this.p1])},Z.prototype.isVertical=function(){return this.p0.x===this.p1.x},Z.prototype.equals=function(t){if(!(t instanceof Z))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)},Z.prototype.intersection=function(t){var e=new Gi;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null},Z.prototype.project=function(){if(arguments[0]instanceof D){var t=arguments[0];if(t.equals(this.p0)||t.equals(this.p1))return new D(t);var e=this.projectionFactor(t),r=new D;return r.x=this.p0.x+e*(this.p1.x-this.p0.x),r.y=this.p0.y+e*(this.p1.y-this.p0.y),r}else if(arguments[0]instanceof Z){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 Z(a,u)}},Z.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},Z.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},Z.prototype.getCoordinate=function(t){return t===0?this.p0:this.p1},Z.prototype.distancePerpendicular=function(t){return W.distancePointLinePerpendicular(t,this.p0,this.p1)},Z.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},Z.prototype.midPoint=function(){return Z.midPoint(this.p0,this.p1)},Z.prototype.projectionFactor=function(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,r=this.p1.y-this.p0.y,i=e*e+r*r;if(i<=0)return ot.NaN;var s=((t.x-this.p0.x)*e+(t.y-this.p0.y)*r)/i;return s},Z.prototype.closestPoints=function(t){var e=this.intersection(t);if(e!==null)return[e,e];var r=new Array(2).fill(null),i=ot.MAX_VALUE,s=null,o=this.closestPoint(t.p0);i=o.distance(t.p0),r[0]=o,r[1]=t.p0;var a=this.closestPoint(t.p1);s=a.distance(t.p1),s<i&&(i=s,r[0]=a,r[1]=t.p1);var u=t.closestPoint(this.p0);s=u.distance(this.p0),s<i&&(i=s,r[0]=this.p0,r[1]=u);var l=t.closestPoint(this.p1);return s=l.distance(this.p1),s<i&&(i=s,r[0]=this.p1,r[1]=l),r},Z.prototype.closestPoint=function(t){var e=this.projectionFactor(t);if(e>0&&e<1)return this.project(t);var r=this.p0.distance(t),i=this.p1.distance(t);return r<i?this.p0:this.p1},Z.prototype.maxX=function(){return Math.max(this.p0.x,this.p1.x)},Z.prototype.getLength=function(){return this.p0.distance(this.p1)},Z.prototype.compareTo=function(t){var e=t,r=this.p0.compareTo(e.p0);return r!==0?r:this.p1.compareTo(e.p1)},Z.prototype.reverse=function(){var t=this.p0;this.p0=this.p1,this.p1=t},Z.prototype.equalsTopo=function(t){return this.p0.equals(t.p0)&&(this.p1.equals(t.p1)||this.p0.equals(t.p1))&&this.p1.equals(t.p0)},Z.prototype.lineIntersection=function(t){try{var e=Tr.intersection(this.p0,this.p1,t.p0,t.p1);return e}catch(r){if(!(r instanceof mo))throw r}finally{}return null},Z.prototype.maxY=function(){return Math.max(this.p0.y,this.p1.y)},Z.prototype.pointAlongOffset=function(t,e){var r=this.p0.x+t*(this.p1.x-this.p0.x),i=this.p0.y+t*(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(e!==0){if(a<=0)throw new Error("Cannot compute offset from zero-length line segment");u=e*s/a,l=e*o/a}var c=r-l,h=i+u,d=new D(c,h);return d},Z.prototype.setCoordinates=function(){if(arguments.length===1){var t=arguments[0];this.setCoordinates(t.p0,t.p1)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];this.p0.x=e.x,this.p0.y=e.y,this.p1.x=r.x,this.p1.y=r.y}},Z.prototype.segmentFraction=function(t){var e=this.projectionFactor(t);return e<0?e=0:(e>1||ot.isNaN(e))&&(e=1),e},Z.prototype.toString=function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},Z.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},Z.prototype.distance=function(){if(arguments[0]instanceof Z){var t=arguments[0];return W.distanceLineLine(this.p0,this.p1,t.p0,t.p1)}else if(arguments[0]instanceof D){var e=arguments[0];return W.distancePointLine(e,this.p0,this.p1)}},Z.prototype.pointAlong=function(t){var e=new D;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e},Z.prototype.hashCode=function(){var t=ot.doubleToLongBits(this.p0.x);t^=ot.doubleToLongBits(this.p0.y)*31;var e=Math.trunc(t)^Math.trunc(t>>32),r=ot.doubleToLongBits(this.p1.x);r^=ot.doubleToLongBits(this.p1.y)*31;var i=Math.trunc(r)^Math.trunc(r>>32);return e^i},Z.prototype.interfaces_=function(){return[fr,dr]},Z.prototype.getClass=function(){return Z},Z.midPoint=function(t,e){return new D((t.x+e.x)/2,(t.y+e.y)/2)},Md.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(Z,Md);var Ya=function(){this.tempEnv1=new j,this.tempEnv2=new j,this._overlapSeg1=new Z,this._overlapSeg2=new Z};Ya.prototype.overlap=function(){if(arguments.length!==2){if(arguments.length===4){var t=arguments[0],e=arguments[1],r=arguments[2],i=arguments[3];t.getLineSegment(e,this._overlapSeg1),r.getLineSegment(i,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}}},Ya.prototype.interfaces_=function(){return[]},Ya.prototype.getClass=function(){return Ya};var Ye=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var t=arguments[0],e=arguments[1],r=arguments[2],i=arguments[3];this._pts=t,this._start=e,this._end=r,this._context=i};Ye.prototype.getLineSegment=function(t,e){e.p0=this._pts[t],e.p1=this._pts[t+1]},Ye.prototype.computeSelect=function(t,e,r,i){var s=this._pts[e],o=this._pts[r];if(i.tempEnv1.init(s,o),r-e===1)return i.select(this,e),null;if(!t.intersects(i.tempEnv1))return null;var a=Math.trunc((e+r)/2);e<a&&this.computeSelect(t,e,a,i),a<r&&this.computeSelect(t,a,r,i)},Ye.prototype.getCoordinates=function(){for(var t=this,e=new Array(this._end-this._start+1).fill(null),r=0,i=this._start;i<=this._end;i++)e[r++]=t._pts[i];return e},Ye.prototype.computeOverlaps=function(t,e){this.computeOverlapsInternal(this._start,this._end,t,t._start,t._end,e)},Ye.prototype.setId=function(t){this._id=t},Ye.prototype.select=function(t,e){this.computeSelect(t,this._start,this._end,e)},Ye.prototype.getEnvelope=function(){if(this._env===null){var t=this._pts[this._start],e=this._pts[this._end];this._env=new j(t,e)}return this._env},Ye.prototype.getEndIndex=function(){return this._end},Ye.prototype.getStartIndex=function(){return this._start},Ye.prototype.getContext=function(){return this._context},Ye.prototype.getId=function(){return this._id},Ye.prototype.computeOverlapsInternal=function(t,e,r,i,s,o){var a=this._pts[t],u=this._pts[e],l=r._pts[i],c=r._pts[s];if(e-t===1&&s-i===1)return o.overlap(this,t,r,i),null;if(o.tempEnv1.init(a,u),o.tempEnv2.init(l,c),!o.tempEnv1.intersects(o.tempEnv2))return null;var h=Math.trunc((t+e)/2),d=Math.trunc((i+s)/2);t<h&&(i<d&&this.computeOverlapsInternal(t,h,r,i,d,o),d<s&&this.computeOverlapsInternal(t,h,r,d,s,o)),h<e&&(i<d&&this.computeOverlapsInternal(h,e,r,i,d,o),d<s&&this.computeOverlapsInternal(h,e,r,d,s,o))},Ye.prototype.interfaces_=function(){return[]},Ye.prototype.getClass=function(){return Ye};var Kr=function(){};Kr.prototype.interfaces_=function(){return[]},Kr.prototype.getClass=function(){return Kr},Kr.getChainStartIndices=function(t){var e=0,r=new U;r.add(new Gr(e));do{var i=Kr.findChainEnd(t,e);r.add(new Gr(i)),e=i}while(e<t.length-1);var s=Kr.toIntArray(r);return s},Kr.findChainEnd=function(t,e){for(var r=e;r<t.length-1&&t[r].equals2D(t[r+1]);)r++;if(r>=t.length-1)return t.length-1;for(var i=Dt.quadrant(t[r],t[r+1]),s=e+1;s<t.length;){if(!t[s-1].equals2D(t[s])){var o=Dt.quadrant(t[s-1],t[s]);if(o!==i)break}s++}return s-1},Kr.getChains=function(){if(arguments.length===1){var t=arguments[0];return Kr.getChains(t,null)}else if(arguments.length===2){for(var e=arguments[0],r=arguments[1],i=new U,s=Kr.getChainStartIndices(e),o=0;o<s.length-1;o++){var a=new Ye(e,s[o],s[o+1],r);i.add(a)}return i}},Kr.toIntArray=function(t){for(var e=new Array(t.size()).fill(null),r=0;r<e.length;r++)e[r]=t.get(r).intValue();return e};var Hi=function(){};Hi.prototype.computeNodes=function(t){},Hi.prototype.getNodedSubstrings=function(){},Hi.prototype.interfaces_=function(){return[]},Hi.prototype.getClass=function(){return Hi};var Ja=function(){if(this._segInt=null,arguments.length!==0){if(arguments.length===1){var t=arguments[0];this.setSegmentIntersector(t)}}};Ja.prototype.setSegmentIntersector=function(t){this._segInt=t},Ja.prototype.interfaces_=function(){return[Hi]},Ja.prototype.getClass=function(){return Ja};var lc=function(n){function t(r){r?n.call(this,r):n.call(this),this._monoChains=new U,this._index=new xd,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var e={SegmentOverlapAction:{configurable:!0}};return t.prototype.getMonotoneChains=function(){return this._monoChains},t.prototype.getNodedSubstrings=function(){return Jt.getNodedSubstrings(this._nodedSegStrings)},t.prototype.getIndex=function(){return this._index},t.prototype.add=function(i){for(var s=this,o=Kr.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)}},t.prototype.computeNodes=function(i){var s=this;this._nodedSegStrings=i;for(var o=i.iterator();o.hasNext();)s.add(o.next());this.intersectChains()},t.prototype.intersectChains=function(){for(var i=this,s=new Ld(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}},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},e.SegmentOverlapAction.get=function(){return Ld},Object.defineProperties(t,e),t}(Ja),Ld=function(n){function t(){n.call(this),this._si=null;var e=arguments[0];this._si=e}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.overlap=function(){if(arguments.length===4){var r=arguments[0],i=arguments[1],s=arguments[2],o=arguments[3],a=r.getContext(),u=s.getContext();this._si.processIntersections(a,i,u,o)}else return n.prototype.overlap.apply(this,arguments)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Ya),Nt=function n(){if(this._quadrantSegments=n.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=n.CAP_ROUND,this._joinStyle=n.JOIN_ROUND,this._mitreLimit=n.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=n.DEFAULT_SIMPLIFY_FACTOR,arguments.length!==0){if(arguments.length===1){var t=arguments[0];this.setQuadrantSegments(t)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];this.setQuadrantSegments(e),this.setEndCapStyle(r)}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)}}},ti={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}};Nt.prototype.getEndCapStyle=function(){return this._endCapStyle},Nt.prototype.isSingleSided=function(){return this._isSingleSided},Nt.prototype.setQuadrantSegments=function(t){this._quadrantSegments=t,this._quadrantSegments===0&&(this._joinStyle=Nt.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=Nt.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),t<=0&&(this._quadrantSegments=1),this._joinStyle!==Nt.JOIN_ROUND&&(this._quadrantSegments=Nt.DEFAULT_QUADRANT_SEGMENTS)},Nt.prototype.getJoinStyle=function(){return this._joinStyle},Nt.prototype.setJoinStyle=function(t){this._joinStyle=t},Nt.prototype.setSimplifyFactor=function(t){this._simplifyFactor=t<0?0:t},Nt.prototype.getSimplifyFactor=function(){return this._simplifyFactor},Nt.prototype.getQuadrantSegments=function(){return this._quadrantSegments},Nt.prototype.setEndCapStyle=function(t){this._endCapStyle=t},Nt.prototype.getMitreLimit=function(){return this._mitreLimit},Nt.prototype.setMitreLimit=function(t){this._mitreLimit=t},Nt.prototype.setSingleSided=function(t){this._isSingleSided=t},Nt.prototype.interfaces_=function(){return[]},Nt.prototype.getClass=function(){return Nt},Nt.bufferDistanceError=function(t){var e=Math.PI/2/t;return 1-Math.cos(e/2)},ti.CAP_ROUND.get=function(){return 1},ti.CAP_FLAT.get=function(){return 2},ti.CAP_SQUARE.get=function(){return 3},ti.JOIN_ROUND.get=function(){return 1},ti.JOIN_MITRE.get=function(){return 2},ti.JOIN_BEVEL.get=function(){return 3},ti.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},ti.DEFAULT_MITRE_LIMIT.get=function(){return 5},ti.DEFAULT_SIMPLIFY_FACTOR.get=function(){return .01},Object.defineProperties(Nt,ti);var Xt=function(t){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=W.COUNTERCLOCKWISE,this._inputLine=t||null},Ba={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};Xt.prototype.isDeletable=function(t,e,r,i){var s=this._inputLine[t],o=this._inputLine[e],a=this._inputLine[r];return!this.isConcave(s,o,a)||!this.isShallow(s,o,a,i)?!1:this.isShallowSampled(s,o,t,r,i)},Xt.prototype.deleteShallowConcavities=function(){for(var t=this,e=1,r=this.findNextNonDeletedIndex(e),i=this.findNextNonDeletedIndex(r),s=!1;i<this._inputLine.length;){var o=!1;t.isDeletable(e,r,i,t._distanceTol)&&(t._isDeleted[r]=Xt.DELETE,o=!0,s=!0),o?e=i:e=r,r=t.findNextNonDeletedIndex(e),i=t.findNextNonDeletedIndex(r)}return s},Xt.prototype.isShallowConcavity=function(t,e,r,i){var s=W.computeOrientation(t,e,r),o=s===this._angleOrientation;if(!o)return!1;var a=W.distancePointLine(e,t,r);return a<i},Xt.prototype.isShallowSampled=function(t,e,r,i,s){var o=this,a=Math.trunc((i-r)/Xt.NUM_PTS_TO_CHECK);a<=0&&(a=1);for(var u=r;u<i;u+=a)if(!o.isShallow(t,e,o._inputLine[u],s))return!1;return!0},Xt.prototype.isConcave=function(t,e,r){var i=W.computeOrientation(t,e,r),s=i===this._angleOrientation;return s},Xt.prototype.simplify=function(t){var e=this;this._distanceTol=Math.abs(t),t<0&&(this._angleOrientation=W.CLOCKWISE),this._isDeleted=new Array(this._inputLine.length).fill(null);var r=!1;do r=e.deleteShallowConcavities();while(r);return this.collapseLine()},Xt.prototype.findNextNonDeletedIndex=function(t){for(var e=t+1;e<this._inputLine.length&&this._isDeleted[e]===Xt.DELETE;)e++;return e},Xt.prototype.isShallow=function(t,e,r,i){var s=W.distancePointLine(e,t,r);return s<i},Xt.prototype.collapseLine=function(){for(var t=this,e=new Fa,r=0;r<this._inputLine.length;r++)t._isDeleted[r]!==Xt.DELETE&&e.add(t._inputLine[r]);return e.toCoordinateArray()},Xt.prototype.interfaces_=function(){return[]},Xt.prototype.getClass=function(){return Xt},Xt.simplify=function(t,e){var r=new Xt(t);return r.simplify(e)},Ba.INIT.get=function(){return 0},Ba.DELETE.get=function(){return 1},Ba.KEEP.get=function(){return 1},Ba.NUM_PTS_TO_CHECK.get=function(){return 10},Object.defineProperties(Xt,Ba);var sr=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new U},Ad={COORDINATE_ARRAY_TYPE:{configurable:!0}};sr.prototype.getCoordinates=function(){var t=this._ptList.toArray(sr.COORDINATE_ARRAY_TYPE);return t},sr.prototype.setPrecisionModel=function(t){this._precisionModel=t},sr.prototype.addPt=function(t){var e=new D(t);if(this._precisionModel.makePrecise(e),this.isRedundant(e))return null;this._ptList.add(e)},sr.prototype.revere=function(){},sr.prototype.addPts=function(t,e){var r=this;if(e)for(var i=0;i<t.length;i++)r.addPt(t[i]);else for(var s=t.length-1;s>=0;s--)r.addPt(t[s])},sr.prototype.isRedundant=function(t){if(this._ptList.size()<1)return!1;var e=this._ptList.get(this._ptList.size()-1),r=t.distance(e);return r<this._minimimVertexDistance},sr.prototype.toString=function(){var t=new pt,e=t.createLineString(this.getCoordinates());return e.toString()},sr.prototype.closeRing=function(){if(this._ptList.size()<1)return null;var t=new D(this._ptList.get(0)),e=this._ptList.get(this._ptList.size()-1);if(t.equals(e))return null;this._ptList.add(t)},sr.prototype.setMinimumVertexDistance=function(t){this._minimimVertexDistance=t},sr.prototype.interfaces_=function(){return[]},sr.prototype.getClass=function(){return sr},Ad.COORDINATE_ARRAY_TYPE.get=function(){return new Array(0).fill(null)},Object.defineProperties(sr,Ad);var vt=function(){},xs={PI_TIMES_2:{configurable:!0},PI_OVER_2:{configurable:!0},PI_OVER_4:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},CLOCKWISE:{configurable:!0},NONE:{configurable:!0}};vt.prototype.interfaces_=function(){return[]},vt.prototype.getClass=function(){return vt},vt.toDegrees=function(t){return t*180/Math.PI},vt.normalize=function(t){for(;t>Math.PI;)t-=vt.PI_TIMES_2;for(;t<=-Math.PI;)t+=vt.PI_TIMES_2;return t},vt.angle=function(){if(arguments.length===1){var t=arguments[0];return Math.atan2(t.y,t.x)}else if(arguments.length===2){var e=arguments[0],r=arguments[1],i=r.x-e.x,s=r.y-e.y;return Math.atan2(s,i)}},vt.isAcute=function(t,e,r){var i=t.x-e.x,s=t.y-e.y,o=r.x-e.x,a=r.y-e.y,u=i*o+s*a;return u>0},vt.isObtuse=function(t,e,r){var i=t.x-e.x,s=t.y-e.y,o=r.x-e.x,a=r.y-e.y,u=i*o+s*a;return u<0},vt.interiorAngle=function(t,e,r){var i=vt.angle(e,t),s=vt.angle(e,r);return Math.abs(s-i)},vt.normalizePositive=function(t){if(t<0){for(;t<0;)t+=vt.PI_TIMES_2;t>=vt.PI_TIMES_2&&(t=0)}else{for(;t>=vt.PI_TIMES_2;)t-=vt.PI_TIMES_2;t<0&&(t=0)}return t},vt.angleBetween=function(t,e,r){var i=vt.angle(e,t),s=vt.angle(e,r);return vt.diff(i,s)},vt.diff=function(t,e){var r=null;return t<e?r=e-t:r=t-e,r>Math.PI&&(r=2*Math.PI-r),r},vt.toRadians=function(t){return t*Math.PI/180},vt.getTurn=function(t,e){var r=Math.sin(e-t);return r>0?vt.COUNTERCLOCKWISE:r<0?vt.CLOCKWISE:vt.NONE},vt.angleBetweenOriented=function(t,e,r){var i=vt.angle(e,t),s=vt.angle(e,r),o=s-i;return o<=-Math.PI?o+vt.PI_TIMES_2:o>Math.PI?o-vt.PI_TIMES_2:o},xs.PI_TIMES_2.get=function(){return 2*Math.PI},xs.PI_OVER_2.get=function(){return Math.PI/2},xs.PI_OVER_4.get=function(){return Math.PI/4},xs.COUNTERCLOCKWISE.get=function(){return W.COUNTERCLOCKWISE},xs.CLOCKWISE.get=function(){return W.CLOCKWISE},xs.NONE.get=function(){return W.COLLINEAR},Object.defineProperties(vt,xs);var kt=function n(){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 Z,this._seg1=new Z,this._offset0=new Z,this._offset1=new Z,this._side=0,this._hasNarrowConcaveAngle=!1;var t=arguments[0],e=arguments[1],r=arguments[2];this._precisionModel=t,this._bufParams=e,this._li=new Gi,this._filletAngleQuantum=Math.PI/2/e.getQuadrantSegments(),e.getQuadrantSegments()>=8&&e.getJoinStyle()===Nt.JOIN_ROUND&&(this._closingSegLengthFactor=n.MAX_CLOSING_SEG_LEN_FACTOR),this.init(r)},ja={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}};kt.prototype.addNextSegment=function(t,e){if(this._s0=this._s1,this._s1=this._s2,this._s2=t,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 r=W.computeOrientation(this._s0,this._s1,this._s2),i=r===W.CLOCKWISE&&this._side===z.LEFT||r===W.COUNTERCLOCKWISE&&this._side===z.RIGHT;r===0?this.addCollinear(e):i?this.addOutsideTurn(r,e):this.addInsideTurn(r,e)},kt.prototype.addLineEndCap=function(t,e){var r=new Z(t,e),i=new Z;this.computeOffsetSegment(r,z.LEFT,this._distance,i);var s=new Z;this.computeOffsetSegment(r,z.RIGHT,this._distance,s);var o=e.x-t.x,a=e.y-t.y,u=Math.atan2(a,o);switch(this._bufParams.getEndCapStyle()){case Nt.CAP_ROUND:this._segList.addPt(i.p1),this.addFilletArc(e,u+Math.PI/2,u-Math.PI/2,W.CLOCKWISE,this._distance),this._segList.addPt(s.p1);break;case Nt.CAP_FLAT:this._segList.addPt(i.p1),this._segList.addPt(s.p1);break;case Nt.CAP_SQUARE:var l=new D;l.x=Math.abs(this._distance)*Math.cos(u),l.y=Math.abs(this._distance)*Math.sin(u);var c=new D(i.p1.x+l.x,i.p1.y+l.y),h=new D(s.p1.x+l.x,s.p1.y+l.y);this._segList.addPt(c),this._segList.addPt(h);break}},kt.prototype.getCoordinates=function(){var t=this._segList.getCoordinates();return t},kt.prototype.addMitreJoin=function(t,e,r,i){var s=!0,o=null;try{o=Tr.intersection(e.p0,e.p1,r.p0,r.p1);var a=i<=0?1:o.distance(t)/Math.abs(i);a>this._bufParams.getMitreLimit()&&(s=!1)}catch(u){if(u instanceof mo)o=new D(0,0),s=!1;else throw u}finally{}s?this._segList.addPt(o):this.addLimitedMitreJoin(e,r,i,this._bufParams.getMitreLimit())},kt.prototype.addFilletCorner=function(t,e,r,i,s){var o=e.x-t.x,a=e.y-t.y,u=Math.atan2(a,o),l=r.x-t.x,c=r.y-t.y,h=Math.atan2(c,l);i===W.CLOCKWISE?u<=h&&(u+=2*Math.PI):u>=h&&(u-=2*Math.PI),this._segList.addPt(e),this.addFilletArc(t,u,h,i,s),this._segList.addPt(r)},kt.prototype.addOutsideTurn=function(t,e){if(this._offset0.p1.distance(this._offset1.p0)<this._distance*kt.OFFSET_SEGMENT_SEPARATION_FACTOR)return this._segList.addPt(this._offset0.p1),null;this._bufParams.getJoinStyle()===Nt.JOIN_MITRE?this.addMitreJoin(this._s1,this._offset0,this._offset1,this._distance):this._bufParams.getJoinStyle()===Nt.JOIN_BEVEL?this.addBevelJoin(this._offset0,this._offset1):(e&&this._segList.addPt(this._offset0.p1),this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,t,this._distance),this._segList.addPt(this._offset1.p0))},kt.prototype.createSquare=function(t){this._segList.addPt(new D(t.x+this._distance,t.y+this._distance)),this._segList.addPt(new D(t.x+this._distance,t.y-this._distance)),this._segList.addPt(new D(t.x-this._distance,t.y-this._distance)),this._segList.addPt(new D(t.x-this._distance,t.y+this._distance)),this._segList.closeRing()},kt.prototype.addSegments=function(t,e){this._segList.addPts(t,e)},kt.prototype.addFirstSegment=function(){this._segList.addPt(this._offset1.p0)},kt.prototype.addLastSegment=function(){this._segList.addPt(this._offset1.p1)},kt.prototype.initSideSegments=function(t,e,r){this._s1=t,this._s2=e,this._side=r,this._seg1.setCoordinates(t,e),this.computeOffsetSegment(this._seg1,r,this._distance,this._offset1)},kt.prototype.addLimitedMitreJoin=function(t,e,r,i){var s=this._seg0.p1,o=vt.angle(s,this._seg0.p0),a=vt.angleBetweenOriented(this._seg0.p0,s,this._seg1.p1),u=a/2,l=vt.normalize(o+u),c=vt.normalize(l+Math.PI),h=i*r,d=h*Math.abs(Math.sin(u)),g=r-d,y=s.x+h*Math.cos(c),C=s.y+h*Math.sin(c),P=new D(y,C),T=new Z(s,P),v=T.pointAlongOffset(1,g),w=T.pointAlongOffset(1,-g);this._side===z.LEFT?(this._segList.addPt(v),this._segList.addPt(w)):(this._segList.addPt(w),this._segList.addPt(v))},kt.prototype.computeOffsetSegment=function(t,e,r,i){var s=e===z.LEFT?1:-1,o=t.p1.x-t.p0.x,a=t.p1.y-t.p0.y,u=Math.sqrt(o*o+a*a),l=s*r*o/u,c=s*r*a/u;i.p0.x=t.p0.x-c,i.p0.y=t.p0.y+l,i.p1.x=t.p1.x-c,i.p1.y=t.p1.y+l},kt.prototype.addFilletArc=function(t,e,r,i,s){var o=this,a=i===W.CLOCKWISE?-1:1,u=Math.abs(e-r),l=Math.trunc(u/this._filletAngleQuantum+.5);if(l<1)return null;for(var c=0,h=u/l,d=c,g=new D;d<u;){var y=e+a*d;g.x=t.x+s*Math.cos(y),g.y=t.y+s*Math.sin(y),o._segList.addPt(g),d+=h}},kt.prototype.addInsideTurn=function(t,e){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*kt.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR)this._segList.addPt(this._offset0.p1);else{if(this._segList.addPt(this._offset0.p1),this._closingSegLengthFactor>0){var r=new D((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(r);var i=new D((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)}},kt.prototype.createCircle=function(t){var e=new D(t.x+this._distance,t.y);this._segList.addPt(e),this.addFilletArc(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},kt.prototype.addBevelJoin=function(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)},kt.prototype.init=function(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new sr,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*kt.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},kt.prototype.addCollinear=function(t){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2);var e=this._li.getIntersectionNum();e>=2&&(this._bufParams.getJoinStyle()===Nt.JOIN_BEVEL||this._bufParams.getJoinStyle()===Nt.JOIN_MITRE?(t&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,W.CLOCKWISE,this._distance))},kt.prototype.closeRing=function(){this._segList.closeRing()},kt.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},kt.prototype.interfaces_=function(){return[]},kt.prototype.getClass=function(){return kt},ja.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return .001},ja.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return .001},ja.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},ja.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(kt,ja);var ke=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e};ke.prototype.getOffsetCurve=function(t,e){if(this._distance=e,e===0)return null;var r=e<0,i=Math.abs(e),s=this.getSegGen(i);t.length<=1?this.computePointCurve(t[0],s):this.computeOffsetCurve(t,r,s);var o=s.getCoordinates();return r&&dt.reverse(o),o},ke.prototype.computeSingleSidedBufferCurve=function(t,e,r){var i=this.simplifyTolerance(this._distance);if(e){r.addSegments(t,!0);var s=Xt.simplify(t,-i),o=s.length-1;r.initSideSegments(s[o],s[o-1],z.LEFT),r.addFirstSegment();for(var a=o-2;a>=0;a--)r.addNextSegment(s[a],!0)}else{r.addSegments(t,!1);var u=Xt.simplify(t,i),l=u.length-1;r.initSideSegments(u[0],u[1],z.LEFT),r.addFirstSegment();for(var c=2;c<=l;c++)r.addNextSegment(u[c],!0)}r.addLastSegment(),r.closeRing()},ke.prototype.computeRingBufferCurve=function(t,e,r){var i=this.simplifyTolerance(this._distance);e===z.RIGHT&&(i=-i);var s=Xt.simplify(t,i),o=s.length-1;r.initSideSegments(s[o-1],s[0],e);for(var a=1;a<=o;a++){var u=a!==1;r.addNextSegment(s[a],u)}r.closeRing()},ke.prototype.computeLineBufferCurve=function(t,e){var r=this.simplifyTolerance(this._distance),i=Xt.simplify(t,r),s=i.length-1;e.initSideSegments(i[0],i[1],z.LEFT);for(var o=2;o<=s;o++)e.addNextSegment(i[o],!0);e.addLastSegment(),e.addLineEndCap(i[s-1],i[s]);var a=Xt.simplify(t,-r),u=a.length-1;e.initSideSegments(a[u],a[u-1],z.LEFT);for(var l=u-2;l>=0;l--)e.addNextSegment(a[l],!0);e.addLastSegment(),e.addLineEndCap(a[1],a[0]),e.closeRing()},ke.prototype.computePointCurve=function(t,e){switch(this._bufParams.getEndCapStyle()){case Nt.CAP_ROUND:e.createCircle(t);break;case Nt.CAP_SQUARE:e.createSquare(t);break}},ke.prototype.getLineCurve=function(t,e){if(this._distance=e,e<0&&!this._bufParams.isSingleSided()||e===0)return null;var r=Math.abs(e),i=this.getSegGen(r);if(t.length<=1)this.computePointCurve(t[0],i);else if(this._bufParams.isSingleSided()){var s=e<0;this.computeSingleSidedBufferCurve(t,s,i)}else this.computeLineBufferCurve(t,i);var o=i.getCoordinates();return o},ke.prototype.getBufferParameters=function(){return this._bufParams},ke.prototype.simplifyTolerance=function(t){return t*this._bufParams.getSimplifyFactor()},ke.prototype.getRingCurve=function(t,e,r){if(this._distance=r,t.length<=2)return this.getLineCurve(t,r);if(r===0)return ke.copyCoordinates(t);var i=this.getSegGen(r);return this.computeRingBufferCurve(t,e,i),i.getCoordinates()},ke.prototype.computeOffsetCurve=function(t,e,r){var i=this.simplifyTolerance(this._distance);if(e){var s=Xt.simplify(t,-i),o=s.length-1;r.initSideSegments(s[o],s[o-1],z.LEFT),r.addFirstSegment();for(var a=o-2;a>=0;a--)r.addNextSegment(s[a],!0)}else{var u=Xt.simplify(t,i),l=u.length-1;r.initSideSegments(u[0],u[1],z.LEFT),r.addFirstSegment();for(var c=2;c<=l;c++)r.addNextSegment(u[c],!0)}r.addLastSegment()},ke.prototype.getSegGen=function(t){return new kt(this._precisionModel,this._bufParams,t)},ke.prototype.interfaces_=function(){return[]},ke.prototype.getClass=function(){return ke},ke.copyCoordinates=function(t){for(var e=new Array(t.length).fill(null),r=0;r<e.length;r++)e[r]=new D(t[r]);return e};var Ds=function(){this._subgraphs=null,this._seg=new Z,this._cga=new W;var t=arguments[0];this._subgraphs=t},Rd={DepthSegment:{configurable:!0}};Ds.prototype.findStabbedSegments=function(){var t=this;if(arguments.length===1){for(var e=arguments[0],r=new U,i=this._subgraphs.iterator();i.hasNext();){var s=i.next(),o=s.getEnvelope();e.y<o.getMinY()||e.y>o.getMaxY()||t.findStabbedSegments(e,s.getDirectedEdges(),r)}return r}else if(arguments.length===3){if(nt(arguments[2],xr)&&arguments[0]instanceof D&&arguments[1]instanceof uc)for(var a=arguments[0],u=arguments[1],l=arguments[2],c=u.getEdge().getCoordinates(),h=0;h<c.length-1;h++){t._seg.p0=c[h],t._seg.p1=c[h+1],t._seg.p0.y>t._seg.p1.y&&t._seg.reverse();var d=Math.max(t._seg.p0.x,t._seg.p1.x);if(!(d<a.x)&&!t._seg.isHorizontal()&&!(a.y<t._seg.p0.y||a.y>t._seg.p1.y)&&W.computeOrientation(t._seg.p0,t._seg.p1,a)!==W.RIGHT){var g=u.getDepth(z.LEFT);t._seg.p0.equals(c[h])||(g=u.getDepth(z.RIGHT));var y=new Yi(t._seg,g);l.add(y)}}else if(nt(arguments[2],xr)&&arguments[0]instanceof D&&nt(arguments[1],xr))for(var C=arguments[0],P=arguments[1],T=arguments[2],v=P.iterator();v.hasNext();){var w=v.next();w.isForward()&&t.findStabbedSegments(C,w,T)}}},Ds.prototype.getDepth=function(t){var e=this.findStabbedSegments(t);if(e.size()===0)return 0;var r=Ar.min(e);return r._leftDepth},Ds.prototype.interfaces_=function(){return[]},Ds.prototype.getClass=function(){return Ds},Rd.DepthSegment.get=function(){return Yi},Object.defineProperties(Ds,Rd);var Yi=function(){this._upwardSeg=null,this._leftDepth=null;var t=arguments[0],e=arguments[1];this._upwardSeg=new Z(t),this._leftDepth=e};Yi.prototype.compareTo=function(t){var e=t;if(this._upwardSeg.minX()>=e._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=e._upwardSeg.minX())return-1;var r=this._upwardSeg.orientationIndex(e._upwardSeg);return r!==0||(r=-1*e._upwardSeg.orientationIndex(this._upwardSeg),r!==0)?r:this._upwardSeg.compareTo(e._upwardSeg)},Yi.prototype.compareX=function(t,e){var r=t.p0.compareTo(e.p0);return r!==0?r:t.p1.compareTo(e.p1)},Yi.prototype.toString=function(){return this._upwardSeg.toString()},Yi.prototype.interfaces_=function(){return[fr]},Yi.prototype.getClass=function(){return Yi};var Tt=function(t,e,r){this.p0=t||null,this.p1=e||null,this.p2=r||null};Tt.prototype.area=function(){return Tt.area(this.p0,this.p1,this.p2)},Tt.prototype.signedArea=function(){return Tt.signedArea(this.p0,this.p1,this.p2)},Tt.prototype.interpolateZ=function(t){if(t===null)throw new zt("Supplied point is null.");return Tt.interpolateZ(t,this.p0,this.p1,this.p2)},Tt.prototype.longestSideLength=function(){return Tt.longestSideLength(this.p0,this.p1,this.p2)},Tt.prototype.isAcute=function(){return Tt.isAcute(this.p0,this.p1,this.p2)},Tt.prototype.circumcentre=function(){return Tt.circumcentre(this.p0,this.p1,this.p2)},Tt.prototype.area3D=function(){return Tt.area3D(this.p0,this.p1,this.p2)},Tt.prototype.centroid=function(){return Tt.centroid(this.p0,this.p1,this.p2)},Tt.prototype.inCentre=function(){return Tt.inCentre(this.p0,this.p1,this.p2)},Tt.prototype.interfaces_=function(){return[]},Tt.prototype.getClass=function(){return Tt},Tt.area=function(t,e,r){return Math.abs(((r.x-t.x)*(e.y-t.y)-(e.x-t.x)*(r.y-t.y))/2)},Tt.signedArea=function(t,e,r){return((r.x-t.x)*(e.y-t.y)-(e.x-t.x)*(r.y-t.y))/2},Tt.det=function(t,e,r,i){return t*i-e*r},Tt.interpolateZ=function(t,e,r,i){var s=e.x,o=e.y,a=r.x-s,u=i.x-s,l=r.y-o,c=i.y-o,h=a*c-u*l,d=t.x-s,g=t.y-o,y=(c*d-u*g)/h,C=(-l*d+a*g)/h,P=e.z+y*(r.z-e.z)+C*(i.z-e.z);return P},Tt.longestSideLength=function(t,e,r){var i=t.distance(e),s=e.distance(r),o=r.distance(t),a=i;return s>a&&(a=s),o>a&&(a=o),a},Tt.isAcute=function(t,e,r){return!(!vt.isAcute(t,e,r)||!vt.isAcute(e,r,t)||!vt.isAcute(r,t,e))},Tt.circumcentre=function(t,e,r){var i=r.x,s=r.y,o=t.x-i,a=t.y-s,u=e.x-i,l=e.y-s,c=2*Tt.det(o,a,u,l),h=Tt.det(a,o*o+a*a,l,u*u+l*l),d=Tt.det(o,o*o+a*a,u,u*u+l*l),g=i-h/c,y=s+d/c;return new D(g,y)},Tt.perpendicularBisector=function(t,e){var r=e.x-t.x,i=e.y-t.y,s=new Tr(t.x+r/2,t.y+i/2,1),o=new Tr(t.x-i+r/2,t.y+r+i/2,1);return new Tr(s,o)},Tt.angleBisector=function(t,e,r){var i=e.distance(t),s=e.distance(r),o=i/(i+s),a=r.x-t.x,u=r.y-t.y,l=new D(t.x+o*a,t.y+o*u);return l},Tt.area3D=function(t,e,r){var i=e.x-t.x,s=e.y-t.y,o=e.z-t.z,a=r.x-t.x,u=r.y-t.y,l=r.z-t.z,c=s*l-o*u,h=o*a-i*l,d=i*u-s*a,g=c*c+h*h+d*d,y=Math.sqrt(g)/2;return y},Tt.centroid=function(t,e,r){var i=(t.x+e.x+r.x)/3,s=(t.y+e.y+r.y)/3;return new D(i,s)},Tt.inCentre=function(t,e,r){var i=e.distance(r),s=t.distance(r),o=t.distance(e),a=i+s+o,u=(i*t.x+s*e.x+o*r.x)/a,l=(i*t.y+s*e.y+o*r.y)/a;return new D(u,l)};var yr=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new U;var t=arguments[0],e=arguments[1],r=arguments[2];this._inputGeom=t,this._distance=e,this._curveBuilder=r};yr.prototype.addPoint=function(t){if(this._distance<=0)return null;var e=t.getCoordinates(),r=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(r,R.EXTERIOR,R.INTERIOR)},yr.prototype.addPolygon=function(t){var e=this,r=this._distance,i=z.LEFT;this._distance<0&&(r=-this._distance,i=z.RIGHT);var s=t.getExteriorRing(),o=dt.removeRepeatedPoints(s.getCoordinates());if(this._distance<0&&this.isErodedCompletely(s,this._distance)||this._distance<=0&&o.length<3)return null;this.addPolygonRing(o,r,i,R.EXTERIOR,R.INTERIOR);for(var a=0;a<t.getNumInteriorRing();a++){var u=t.getInteriorRingN(a),l=dt.removeRepeatedPoints(u.getCoordinates());e._distance>0&&e.isErodedCompletely(u,-e._distance)||e.addPolygonRing(l,r,z.opposite(i),R.INTERIOR,R.EXTERIOR)}},yr.prototype.isTriangleErodedCompletely=function(t,e){var r=new Tt(t[0],t[1],t[2]),i=r.inCentre(),s=W.distancePointLine(i,r.p0,r.p1);return s<Math.abs(e)},yr.prototype.addLineString=function(t){if(this._distance<=0&&!this._curveBuilder.getBufferParameters().isSingleSided())return null;var e=dt.removeRepeatedPoints(t.getCoordinates()),r=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(r,R.EXTERIOR,R.INTERIOR)},yr.prototype.addCurve=function(t,e,r){if(t===null||t.length<2)return null;var i=new Jt(t,new Ot(0,R.BOUNDARY,e,r));this._curveList.add(i)},yr.prototype.getCurves=function(){return this.add(this._inputGeom),this._curveList},yr.prototype.addPolygonRing=function(t,e,r,i,s){if(e===0&&t.length<Sn.MINIMUM_VALID_SIZE)return null;var o=i,a=s;t.length>=Sn.MINIMUM_VALID_SIZE&&W.isCCW(t)&&(o=s,a=i,r=z.opposite(r));var u=this._curveBuilder.getRingCurve(t,r,e);this.addCurve(u,o,a)},yr.prototype.add=function(t){if(t.isEmpty())return null;t instanceof te?this.addPolygon(t):t instanceof qt?this.addLineString(t):t instanceof Xe?this.addPoint(t):t instanceof Po?this.addCollection(t):t instanceof Xi?this.addCollection(t):t instanceof Cn?this.addCollection(t):t instanceof Ie&&this.addCollection(t)},yr.prototype.isErodedCompletely=function(t,e){var r=t.getCoordinates();if(r.length<4)return e<0;if(r.length===4)return this.isTriangleErodedCompletely(r,e);var i=t.getEnvelopeInternal(),s=Math.min(i.getHeight(),i.getWidth());return e<0&&2*Math.abs(e)>s},yr.prototype.addCollection=function(t){for(var e=this,r=0;r<t.getNumGeometries();r++){var i=t.getGeometryN(r);e.add(i)}},yr.prototype.interfaces_=function(){return[]},yr.prototype.getClass=function(){return yr};var Oo=function(){};Oo.prototype.locate=function(t){},Oo.prototype.interfaces_=function(){return[]},Oo.prototype.getClass=function(){return Oo};var bn=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;var t=arguments[0];this._parent=t,this._atStart=!0,this._index=0,this._max=t.getNumGeometries()};bn.prototype.next=function(){if(this._atStart)return this._atStart=!1,bn.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 Co;var t=this._parent.getGeometryN(this._index++);return t instanceof Ie?(this._subcollectionIterator=new bn(t),this._subcollectionIterator.next()):t},bn.prototype.remove=function(){throw new Error(this.getClass().getName())},bn.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)},bn.prototype.interfaces_=function(){return[So]},bn.prototype.getClass=function(){return bn},bn.isAtomic=function(t){return!(t instanceof Ie)};var or=function(){this._geom=null;var t=arguments[0];this._geom=t};or.prototype.locate=function(t){return or.locate(t,this._geom)},or.prototype.interfaces_=function(){return[Oo]},or.prototype.getClass=function(){return or},or.isPointInRing=function(t,e){return e.getEnvelopeInternal().intersects(t)?W.isPointInRing(t,e.getCoordinates()):!1},or.containsPointInPolygon=function(t,e){if(e.isEmpty())return!1;var r=e.getExteriorRing();if(!or.isPointInRing(t,r))return!1;for(var i=0;i<e.getNumInteriorRing();i++){var s=e.getInteriorRingN(i);if(or.isPointInRing(t,s))return!1}return!0},or.containsPoint=function(t,e){if(e instanceof te)return or.containsPointInPolygon(t,e);if(e instanceof Ie)for(var r=new bn(e);r.hasNext();){var i=r.next();if(i!==e&&or.containsPoint(t,i))return!0}return!1},or.locate=function(t,e){return e.isEmpty()?R.EXTERIOR:or.containsPoint(t,e)?R.INTERIOR:R.EXTERIOR};var Ee=function(){this._edgeMap=new _e,this._edgeList=null,this._ptInAreaLocation=[R.NONE,R.NONE]};Ee.prototype.getNextCW=function(t){this.getEdges();var e=this._edgeList.indexOf(t),r=e-1;return e===0&&(r=this._edgeList.size()-1),this._edgeList.get(r)},Ee.prototype.propagateSideLabels=function(t){for(var e=R.NONE,r=this.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();s.isArea(t)&&s.getLocation(t,z.LEFT)!==R.NONE&&(e=s.getLocation(t,z.LEFT))}if(e===R.NONE)return null;for(var o=e,a=this.iterator();a.hasNext();){var u=a.next(),l=u.getLabel();if(l.getLocation(t,z.ON)===R.NONE&&l.setLocation(t,z.ON,o),l.isArea(t)){var c=l.getLocation(t,z.LEFT),h=l.getLocation(t,z.RIGHT);if(h!==R.NONE){if(h!==o)throw new Qn("side location conflict",u.getCoordinate());c===R.NONE&&ct.shouldNeverReachHere("found single null side (at "+u.getCoordinate()+")"),o=c}else ct.isTrue(l.getLocation(t,z.LEFT)===R.NONE,"found single null side"),l.setLocation(t,z.RIGHT,o),l.setLocation(t,z.LEFT,o)}}},Ee.prototype.getCoordinate=function(){var t=this.iterator();if(!t.hasNext())return null;var e=t.next();return e.getCoordinate()},Ee.prototype.print=function(t){he.out.println("EdgeEndStar: "+this.getCoordinate());for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},Ee.prototype.isAreaLabelsConsistent=function(t){return this.computeEdgeEndLabels(t.getBoundaryNodeRule()),this.checkAreaLabelsConsistent(0)},Ee.prototype.checkAreaLabelsConsistent=function(t){var e=this.getEdges();if(e.size()<=0)return!0;var r=e.size()-1,i=e.get(r).getLabel(),s=i.getLocation(t,z.LEFT);ct.isTrue(s!==R.NONE,"Found unlabelled area edge");for(var o=s,a=this.iterator();a.hasNext();){var u=a.next(),l=u.getLabel();ct.isTrue(l.isArea(t),"Found non-area edge");var c=l.getLocation(t,z.LEFT),h=l.getLocation(t,z.RIGHT);if(c===h||h!==o)return!1;o=c}return!0},Ee.prototype.findIndex=function(t){var e=this;this.iterator();for(var r=0;r<this._edgeList.size();r++){var i=e._edgeList.get(r);if(i===t)return r}return-1},Ee.prototype.iterator=function(){return this.getEdges().iterator()},Ee.prototype.getEdges=function(){return this._edgeList===null&&(this._edgeList=new U(this._edgeMap.values())),this._edgeList},Ee.prototype.getLocation=function(t,e,r){return this._ptInAreaLocation[t]===R.NONE&&(this._ptInAreaLocation[t]=or.locate(e,r[t].getGeometry())),this._ptInAreaLocation[t]},Ee.prototype.toString=function(){var t=new Ur;t.append("EdgeEndStar: "+this.getCoordinate()),t.append(`
|
|
43
43
|
`);for(var e=this.iterator();e.hasNext();){var r=e.next();t.append(r),t.append(`
|
|
44
|
-
`)}return t.toString()},Ee.prototype.computeEdgeEndLabels=function(t){for(var e=this.iterator();e.hasNext();){var r=e.next();r.computeLabel(t)}},Ee.prototype.computeLabelling=function(t){var e=this;this.computeEdgeEndLabels(t[0].getBoundaryNodeRule()),this.propagateSideLabels(0),this.propagateSideLabels(1);for(var r=[!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)===R.BOUNDARY&&(r[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 d=R.NONE;if(r[h])d=R.EXTERIOR;else{var g=l.getCoordinate();d=e.getLocation(h,g,t)}c.setAllLocationsIfNull(h,d)}},Ee.prototype.getDegree=function(){return this._edgeMap.size()},Ee.prototype.insertEdgeEnd=function(t,e){this._edgeMap.put(t,e),this._edgeList=null},Ee.prototype.interfaces_=function(){return[]},Ee.prototype.getClass=function(){return Ee};var wy=function(n){function t(){n.call(this),this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.linkResultDirectedEdges=function(){var r=this;this.getResultAreaEdges();for(var i=null,s=null,o=this._SCANNING_FOR_INCOMING,a=0;a<this._resultAreaEdgeList.size();a++){var u=r._resultAreaEdgeList.get(a),l=u.getSym();if(u.getLabel().isArea())switch(i===null&&u.isInResult()&&(i=u),o){case r._SCANNING_FOR_INCOMING:if(!l.isInResult())continue;s=l,o=r._LINKING_TO_OUTGOING;break;case r._LINKING_TO_OUTGOING:if(!u.isInResult())continue;s.setNext(u),o=r._SCANNING_FOR_INCOMING;break}}if(o===this._LINKING_TO_OUTGOING){if(i===null)throw new Qn("no outgoing dirEdge found",this.getCoordinate());ct.isTrue(i.isInResult(),"unable to link last incoming dirEdge"),s.setNext(i)}},t.prototype.insert=function(r){var i=r;this.insertEdgeEnd(i,i)},t.prototype.getRightmostEdge=function(){var r=this.getEdges(),i=r.size();if(i<1)return null;var s=r.get(0);if(i===1)return s;var o=r.get(i-1),a=s.getQuadrant(),u=o.getQuadrant();return Dt.isNorthern(a)&&Dt.isNorthern(u)?s:!Dt.isNorthern(a)&&!Dt.isNorthern(u)?o:s.getDy()!==0?s:o.getDy()!==0?o:(ct.shouldNeverReachHere("found two horizontal edges incident on node"),null)},t.prototype.print=function(r){he.out.println("DirectedEdgeStar: "+this.getCoordinate());for(var i=this.iterator();i.hasNext();){var s=i.next();r.print("out "),s.print(r),r.println(),r.print("in "),s.getSym().print(r),r.println()}},t.prototype.getResultAreaEdges=function(){var r=this;if(this._resultAreaEdgeList!==null)return this._resultAreaEdgeList;this._resultAreaEdgeList=new U;for(var i=this.iterator();i.hasNext();){var s=i.next();(s.isInResult()||s.getSym().isInResult())&&r._resultAreaEdgeList.add(s)}return this._resultAreaEdgeList},t.prototype.updateLabelling=function(r){for(var i=this.iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.setAllLocationsIfNull(0,r.getLocation(0)),o.setAllLocationsIfNull(1,r.getLocation(1))}},t.prototype.linkAllDirectedEdges=function(){var r=this;this.getEdges();for(var i=null,s=null,o=this._edgeList.size()-1;o>=0;o--){var a=r._edgeList.get(o),u=a.getSym();s===null&&(s=u),i!==null&&u.setNext(i),i=a}s.setNext(i)},t.prototype.computeDepths=function(){var r=this;if(arguments.length===1){var i=arguments[0],s=this.findIndex(i),o=i.getDepth(z.LEFT),a=i.getDepth(z.RIGHT),u=this.computeDepths(s+1,this._edgeList.size(),o),l=this.computeDepths(0,s,u);if(l!==a)throw new Qn("depth mismatch at "+i.getCoordinate())}else if(arguments.length===3){for(var c=arguments[0],h=arguments[1],d=arguments[2],g=d,y=c;y<h;y++){var C=r._edgeList.get(y);C.setEdgeDepths(z.RIGHT,g),g=C.getDepth(z.LEFT)}return g}},t.prototype.mergeSymLabels=function(){for(var r=this.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();s.merge(i.getSym().getLabel())}},t.prototype.linkMinimalDirectedEdges=function(r){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()===r&&(s=l),a){case i._SCANNING_FOR_INCOMING:if(c.getEdgeRing()!==r)continue;o=c,a=i._LINKING_TO_OUTGOING;break;case i._LINKING_TO_OUTGOING:if(l.getEdgeRing()!==r)continue;o.setNextMin(l),a=i._SCANNING_FOR_INCOMING;break}}a===this._LINKING_TO_OUTGOING&&(ct.isTrue(s!==null,"found null for first outgoing dirEdge"),ct.isTrue(s.getEdgeRing()===r,"unable to link last incoming dirEdge"),o.setNextMin(s))},t.prototype.getOutgoingDegree=function(){if(arguments.length===0){for(var r=0,i=this.iterator();i.hasNext();){var s=i.next();s.isInResult()&&r++}return r}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}},t.prototype.getLabel=function(){return this._label},t.prototype.findCoveredLineEdges=function(){for(var r=R.NONE,i=this.iterator();i.hasNext();){var s=i.next(),o=s.getSym();if(!s.isLineEdge()){if(s.isInResult()){r=R.INTERIOR;break}if(o.isInResult()){r=R.EXTERIOR;break}}}if(r===R.NONE)return null;for(var a=r,u=this.iterator();u.hasNext();){var l=u.next(),c=l.getSym();l.isLineEdge()?l.getEdge().setCovered(a===R.INTERIOR):(l.isInResult()&&(a=R.EXTERIOR),c.isInResult()&&(a=R.INTERIOR))}},t.prototype.computeLabelling=function(r){var i=this;n.prototype.computeLabelling.call(this,r),this._label=new Ot(R.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===R.INTERIOR||c===R.BOUNDARY)&&i._label.setLocation(l,R.INTERIOR)}},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Ee),Fd=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.createNode=function(r){return new qu(r,new wy)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(bo),Si=function n(){this._pts=null,this._orientation=null;var t=arguments[0];this._pts=t,this._orientation=n.orientation(t)};Si.prototype.compareTo=function(t){var e=t,r=Si.compareOriented(this._pts,this._orientation,e._pts,e._orientation);return r},Si.prototype.interfaces_=function(){return[fr]},Si.prototype.getClass=function(){return Si},Si.orientation=function(t){return dt.increasingDirection(t)===1},Si.compareOriented=function(t,e,r,i){for(var s=e?1:-1,o=i?1:-1,a=e?t.length:-1,u=i?r.length:-1,l=e?0:t.length-1,c=i?0:r.length-1;;){var h=t[l].compareTo(r[c]);if(h!==0)return h;l+=s,c+=o;var d=l===a,g=c===u;if(d&&!g)return-1;if(!d&&g)return 1;if(d&&g)return 0}};var Rr=function(){this._edges=new U,this._ocaMap=new _e};Rr.prototype.print=function(t){var e=this;t.print("MULTILINESTRING ( ");for(var r=0;r<this._edges.size();r++){var i=e._edges.get(r);r>0&&t.print(","),t.print("(");for(var s=i.getCoordinates(),o=0;o<s.length;o++)o>0&&t.print(","),t.print(s[o].x+" "+s[o].y);t.println(")")}t.print(") ")},Rr.prototype.addAll=function(t){for(var e=this,r=t.iterator();r.hasNext();)e.add(r.next())},Rr.prototype.findEdgeIndex=function(t){for(var e=this,r=0;r<this._edges.size();r++)if(e._edges.get(r).equals(t))return r;return-1},Rr.prototype.iterator=function(){return this._edges.iterator()},Rr.prototype.getEdges=function(){return this._edges},Rr.prototype.get=function(t){return this._edges.get(t)},Rr.prototype.findEqualEdge=function(t){var e=new Si(t.getCoordinates()),r=this._ocaMap.get(e);return r},Rr.prototype.add=function(t){this._edges.add(t);var e=new Si(t.getCoordinates());this._ocaMap.put(e,t)},Rr.prototype.interfaces_=function(){return[]},Rr.prototype.getClass=function(){return Rr};var Ji=function(){};Ji.prototype.processIntersections=function(t,e,r,i){},Ji.prototype.isDone=function(){},Ji.prototype.interfaces_=function(){return[]},Ji.prototype.getClass=function(){return Ji};var ar=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 t=arguments[0];this._li=t};ar.prototype.isTrivialIntersection=function(t,e,r,i){if(t===r&&this._li.getIntersectionNum()===1){if(ar.isAdjacentSegments(e,i))return!0;if(t.isClosed()){var s=t.size()-1;if(e===0&&i===s||i===0&&e===s)return!0}}return!1},ar.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},ar.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},ar.prototype.getLineIntersector=function(){return this._li},ar.prototype.hasProperIntersection=function(){return this._hasProper},ar.prototype.processIntersections=function(t,e,r,i){if(t===r&&e===i)return null;this.numTests++;var s=t.getCoordinates()[e],o=t.getCoordinates()[e+1],a=r.getCoordinates()[i],u=r.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(t,e,r,i)||(this._hasIntersection=!0,t.addIntersections(this._li,e,0),r.addIntersections(this._li,i,1),this._li.isProper()&&(this.numProperIntersections++,this._hasProper=!0,this._hasProperInterior=!0)))},ar.prototype.hasIntersection=function(){return this._hasIntersection},ar.prototype.isDone=function(){return!1},ar.prototype.hasInteriorIntersection=function(){return this._hasInterior},ar.prototype.interfaces_=function(){return[Ji]},ar.prototype.getClass=function(){return ar},ar.isAdjacentSegments=function(t,e){return Math.abs(t-e)===1};var Qr=function(){this.coord=null,this.segmentIndex=null,this.dist=null;var t=arguments[0],e=arguments[1],r=arguments[2];this.coord=new D(t),this.segmentIndex=e,this.dist=r};Qr.prototype.getSegmentIndex=function(){return this.segmentIndex},Qr.prototype.getCoordinate=function(){return this.coord},Qr.prototype.print=function(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex),t.println(" dist = "+this.dist)},Qr.prototype.compareTo=function(t){var e=t;return this.compare(e.segmentIndex,e.dist)},Qr.prototype.isEndPoint=function(t){return this.segmentIndex===0&&this.dist===0||this.segmentIndex===t},Qr.prototype.toString=function(){return this.coord+" seg # = "+this.segmentIndex+" dist = "+this.dist},Qr.prototype.getDistance=function(){return this.dist},Qr.prototype.compare=function(t,e){return this.segmentIndex<t?-1:this.segmentIndex>t?1:this.dist<e?-1:this.dist>e?1:0},Qr.prototype.interfaces_=function(){return[fr]},Qr.prototype.getClass=function(){return Qr};var Nn=function(){this._nodeMap=new _e,this.edge=null;var t=arguments[0];this.edge=t};Nn.prototype.print=function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},Nn.prototype.iterator=function(){return this._nodeMap.values().iterator()},Nn.prototype.addSplitEdges=function(t){var e=this;this.addEndpoints();for(var r=this.iterator(),i=r.next();r.hasNext();){var s=r.next(),o=e.createSplitEdge(i,s);t.add(o),i=s}},Nn.prototype.addEndpoints=function(){var t=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[t],t,0)},Nn.prototype.createSplitEdge=function(t,e){var r=this,i=e.segmentIndex-t.segmentIndex+2,s=this.edge.pts[e.segmentIndex],o=e.dist>0||!e.coord.equals2D(s);o||i--;var a=new Array(i).fill(null),u=0;a[u++]=new D(t.coord);for(var l=t.segmentIndex+1;l<=e.segmentIndex;l++)a[u++]=r.edge.pts[l];return o&&(a[u]=e.coord),new Hu(a,new Ot(this.edge._label))},Nn.prototype.add=function(t,e,r){var i=new Qr(t,e,r),s=this._nodeMap.get(i);return s!==null?s:(this._nodeMap.put(i,i),i)},Nn.prototype.isIntersection=function(t){for(var e=this.iterator();e.hasNext();){var r=e.next();if(r.coord.equals(t))return!0}return!1},Nn.prototype.interfaces_=function(){return[]},Nn.prototype.getClass=function(){return Nn};var Bi=function(){};Bi.prototype.getChainStartIndices=function(t){var e=this,r=0,i=new U;i.add(new Gr(r));do{var s=e.findChainEnd(t,r);i.add(new Gr(s)),r=s}while(r<t.length-1);var o=Bi.toIntArray(i);return o},Bi.prototype.findChainEnd=function(t,e){for(var r=Dt.quadrant(t[e],t[e+1]),i=e+1;i<t.length;){var s=Dt.quadrant(t[i-1],t[i]);if(s!==r)break;i++}return i-1},Bi.prototype.interfaces_=function(){return[]},Bi.prototype.getClass=function(){return Bi},Bi.toIntArray=function(t){for(var e=new Array(t.size()).fill(null),r=0;r<e.length;r++)e[r]=t.get(r).intValue();return e};var ei=function(){this.e=null,this.pts=null,this.startIndex=null,this.env1=new j,this.env2=new j;var t=arguments[0];this.e=t,this.pts=t.getCoordinates();var e=new Bi;this.startIndex=e.getChainStartIndices(this.pts)};ei.prototype.getCoordinates=function(){return this.pts},ei.prototype.getMaxX=function(t){var e=this.pts[this.startIndex[t]].x,r=this.pts[this.startIndex[t+1]].x;return e>r?e:r},ei.prototype.getMinX=function(t){var e=this.pts[this.startIndex[t]].x,r=this.pts[this.startIndex[t+1]].x;return e<r?e:r},ei.prototype.computeIntersectsForChain=function(){if(arguments.length===4){var t=arguments[0],e=arguments[1],r=arguments[2],i=arguments[3];this.computeIntersectsForChain(this.startIndex[t],this.startIndex[t+1],e,e.startIndex[r],e.startIndex[r+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],d=this.pts[o],g=a.pts[u],y=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,d),this.env2.init(g,y),!this.env1.intersects(this.env2))return null;var C=Math.trunc((s+o)/2),P=Math.trunc((u+l)/2);s<C&&(u<P&&this.computeIntersectsForChain(s,C,a,u,P,c),P<l&&this.computeIntersectsForChain(s,C,a,P,l,c)),C<o&&(u<P&&this.computeIntersectsForChain(C,o,a,u,P,c),P<l&&this.computeIntersectsForChain(C,o,a,P,l,c))}},ei.prototype.getStartIndexes=function(){return this.startIndex},ei.prototype.computeIntersects=function(t,e){for(var r=this,i=0;i<this.startIndex.length-1;i++)for(var s=0;s<t.startIndex.length-1;s++)r.computeIntersectsForChain(i,t,s,e)},ei.prototype.interfaces_=function(){return[]},ei.prototype.getClass=function(){return ei};var fe=function n(){var t=this;this._depth=Array(2).fill().map(function(){return Array(3)});for(var e=0;e<2;e++)for(var r=0;r<3;r++)t._depth[e][r]=n.NULL_VALUE},kd={NULL_VALUE:{configurable:!0}};fe.prototype.getDepth=function(t,e){return this._depth[t][e]},fe.prototype.setDepth=function(t,e,r){this._depth[t][e]=r},fe.prototype.isNull=function(){var t=this;if(arguments.length===0){for(var e=0;e<2;e++)for(var r=0;r<3;r++)if(t._depth[e][r]!==fe.NULL_VALUE)return!1;return!0}else if(arguments.length===1){var i=arguments[0];return this._depth[i][1]===fe.NULL_VALUE}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._depth[s][o]===fe.NULL_VALUE}},fe.prototype.normalize=function(){for(var t=this,e=0;e<2;e++)if(!t.isNull(e)){var r=t._depth[e][1];t._depth[e][2]<r&&(r=t._depth[e][2]),r<0&&(r=0);for(var i=1;i<3;i++){var s=0;t._depth[e][i]>r&&(s=1),t._depth[e][i]=s}}},fe.prototype.getDelta=function(t){return this._depth[t][z.RIGHT]-this._depth[t][z.LEFT]},fe.prototype.getLocation=function(t,e){return this._depth[t][e]<=0?R.EXTERIOR:R.INTERIOR},fe.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},fe.prototype.add=function(){var t=this;if(arguments.length===1)for(var e=arguments[0],r=0;r<2;r++)for(var i=1;i<3;i++){var s=e.getLocation(r,i);(s===R.EXTERIOR||s===R.INTERIOR)&&(t.isNull(r,i)?t._depth[r][i]=fe.depthAtLocation(s):t._depth[r][i]+=fe.depthAtLocation(s))}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2];u===R.INTERIOR&&this._depth[o][a]++}},fe.prototype.interfaces_=function(){return[]},fe.prototype.getClass=function(){return fe},fe.depthAtLocation=function(t){return t===R.EXTERIOR?0:t===R.INTERIOR?1:fe.NULL_VALUE},kd.NULL_VALUE.get=function(){return-1},Object.defineProperties(fe,kd);var Hu=function(n){function t(){if(n.call(this),this.pts=null,this._env=null,this.eiList=new Nn(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new fe,this._depthDelta=0,arguments.length===1){var e=arguments[0];t.call(this,e,null)}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.pts=r,this._label=i}}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.getDepth=function(){return this._depth},t.prototype.getCollapsedEdge=function(){var r=new Array(2).fill(null);r[0]=this.pts[0],r[1]=this.pts[1];var i=new t(r,Ot.toLineLabel(this._label));return i},t.prototype.isIsolated=function(){return this._isIsolated},t.prototype.getCoordinates=function(){return this.pts},t.prototype.setIsolated=function(r){this._isIsolated=r},t.prototype.setName=function(r){this._name=r},t.prototype.equals=function(r){var i=this;if(!(r instanceof t))return!1;var s=r;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},t.prototype.getCoordinate=function(){if(arguments.length===0)return this.pts.length>0?this.pts[0]:null;if(arguments.length===1){var r=arguments[0];return this.pts[r]}},t.prototype.print=function(r){var i=this;r.print("edge "+this._name+": "),r.print("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&r.print(","),r.print(i.pts[s].x+" "+i.pts[s].y);r.print(") "+this._label+" "+this._depthDelta)},t.prototype.computeIM=function(r){t.updateIM(this._label,r)},t.prototype.isCollapsed=function(){return!this._label.isArea()||this.pts.length!==3?!1:!!this.pts[0].equals(this.pts[2])},t.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},t.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},t.prototype.getDepthDelta=function(){return this._depthDelta},t.prototype.getNumPoints=function(){return this.pts.length},t.prototype.printReverse=function(r){var i=this;r.print("edge "+this._name+": ");for(var s=this.pts.length-1;s>=0;s--)r.print(i.pts[s]+" ");r.println("")},t.prototype.getMonotoneChainEdge=function(){return this._mce===null&&(this._mce=new ei(this)),this._mce},t.prototype.getEnvelope=function(){var r=this;if(this._env===null){this._env=new j;for(var i=0;i<this.pts.length;i++)r._env.expandToInclude(r.pts[i])}return this._env},t.prototype.addIntersection=function(r,i,s,o){var a=new D(r.getIntersection(o)),u=i,l=r.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)},t.prototype.toString=function(){var r=this,i=new Ur;i.append("edge "+this._name+": "),i.append("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&i.append(","),i.append(r.pts[s].x+" "+r.pts[s].y);return i.append(") "+this._label+" "+this._depthDelta),i.toString()},t.prototype.isPointwiseEqual=function(r){var i=this;if(this.pts.length!==r.pts.length)return!1;for(var s=0;s<this.pts.length;s++)if(!i.pts[s].equals2D(r.pts[s]))return!1;return!0},t.prototype.setDepthDelta=function(r){this._depthDelta=r},t.prototype.getEdgeIntersectionList=function(){return this.eiList},t.prototype.addIntersections=function(r,i,s){for(var o=this,a=0;a<r.getIntersectionNum();a++)o.addIntersection(r,i,s,a)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.updateIM=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1];i.setAtLeastIfValid(r.getLocation(0,z.ON),r.getLocation(1,z.ON),1),r.isArea()&&(i.setAtLeastIfValid(r.getLocation(0,z.LEFT),r.getLocation(1,z.LEFT),2),i.setAtLeastIfValid(r.getLocation(0,z.RIGHT),r.getLocation(1,z.RIGHT),2))}else return n.prototype.updateIM.apply(this,arguments)},t}(ir),Ne=function(t){this._workingPrecisionModel=null,this._workingNoder=null,this._geomFact=null,this._graph=null,this._edgeList=new Rr,this._bufParams=t||null};Ne.prototype.setWorkingPrecisionModel=function(t){this._workingPrecisionModel=t},Ne.prototype.insertUniqueEdge=function(t){var e=this._edgeList.findEqualEdge(t);if(e!==null){var r=e.getLabel(),i=t.getLabel();e.isPointwiseEqual(t)||(i=new Ot(t.getLabel()),i.flip()),r.merge(i);var s=Ne.depthDelta(i),o=e.getDepthDelta(),a=o+s;e.setDepthDelta(a)}else this._edgeList.add(t),t.setDepthDelta(Ne.depthDelta(t.getLabel()))},Ne.prototype.buildSubgraphs=function(t,e){for(var r=new U,i=t.iterator();i.hasNext();){var s=i.next(),o=s.getRightmostCoordinate(),a=new Ds(r),u=a.getDepth(o);s.computeDepth(u),s.findResultEdges(),r.add(s),e.add(s.getDirectedEdges(),s.getNodes())}},Ne.prototype.createSubgraphs=function(t){for(var e=new U,r=t.getNodes().iterator();r.hasNext();){var i=r.next();if(!i.isVisited()){var s=new Pe;s.create(i),e.add(s)}}return Ar.sort(e,Ar.reverseOrder()),e},Ne.prototype.createEmptyResultGeometry=function(){var t=this._geomFact.createPolygon();return t},Ne.prototype.getNoder=function(t){if(this._workingNoder!==null)return this._workingNoder;var e=new lc,r=new Gi;return r.setPrecisionModel(t),e.setSegmentIntersector(new ar(r)),e},Ne.prototype.buffer=function(t,e){var r=this._workingPrecisionModel;r===null&&(r=t.getPrecisionModel()),this._geomFact=t.getFactory();var i=new ke(r,this._bufParams),s=new yr(t,e,i),o=s.getCurves();if(o.size()<=0)return this.createEmptyResultGeometry();this.computeNodedEdges(o,r),this._graph=new Wt(new Fd),this._graph.addEdges(this._edgeList.getEdges());var a=this.createSubgraphs(this._graph),u=new He(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},Ne.prototype.computeNodedEdges=function(t,e){var r=this,i=this.getNoder(e);i.computeNodes(t);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 Hu(a.getCoordinates(),new Ot(l));r.insertUniqueEdge(c)}}},Ne.prototype.setNoder=function(t){this._workingNoder=t},Ne.prototype.interfaces_=function(){return[]},Ne.prototype.getClass=function(){return Ne},Ne.depthDelta=function(t){var e=t.getLocation(0,z.LEFT),r=t.getLocation(0,z.RIGHT);return e===R.INTERIOR&&r===R.EXTERIOR?1:e===R.EXTERIOR&&r===R.INTERIOR?-1:0},Ne.convertSegStrings=function(t){for(var e=new pt,r=new U;t.hasNext();){var i=t.next(),s=e.createLineString(i.getCoordinates());r.add(s)}return e.buildGeometry(r)};var Ci=function(){if(this._noder=null,this._scaleFactor=null,this._offsetX=null,this._offsetY=null,this._isScaled=!1,arguments.length===2){var t=arguments[0],e=arguments[1];this._noder=t,this._scaleFactor=e,this._offsetX=0,this._offsetY=0,this._isScaled=!this.isIntegerPrecision()}else if(arguments.length===4){var r=arguments[0],i=arguments[1],s=arguments[2],o=arguments[3];this._noder=r,this._scaleFactor=i,this._offsetX=s,this._offsetY=o,this._isScaled=!this.isIntegerPrecision()}};Ci.prototype.rescale=function(){var t=this;if(nt(arguments[0],$t))for(var e=arguments[0],r=e.iterator();r.hasNext();){var i=r.next();t.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/t._scaleFactor+t._offsetX,s[o].y=s[o].y/t._scaleFactor+t._offsetY;s.length===2&&s[0].equals2D(s[1])&&he.out.println(s)}},Ci.prototype.scale=function(){var t=this;if(nt(arguments[0],$t)){for(var e=arguments[0],r=new U,i=e.iterator();i.hasNext();){var s=i.next();r.add(new Jt(t.scale(s.getCoordinates()),s.getData()))}return r}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 D(Math.round((o[u].x-t._offsetX)*t._scaleFactor),Math.round((o[u].y-t._offsetY)*t._scaleFactor),o[u].z);var l=dt.removeRepeatedPoints(a);return l}},Ci.prototype.isIntegerPrecision=function(){return this._scaleFactor===1},Ci.prototype.getNodedSubstrings=function(){var t=this._noder.getNodedSubstrings();return this._isScaled&&this.rescale(t),t},Ci.prototype.computeNodes=function(t){var e=t;this._isScaled&&(e=this.scale(t)),this._noder.computeNodes(e)},Ci.prototype.interfaces_=function(){return[Hi]},Ci.prototype.getClass=function(){return Ci};var $r=function(){this._li=new Gi,this._segStrings=null;var t=arguments[0];this._segStrings=t},Vd={fact:{configurable:!0}};$r.prototype.checkEndPtVertexIntersections=function(){var t=this;if(arguments.length===0)for(var e=this._segStrings.iterator();e.hasNext();){var r=e.next(),i=r.getCoordinates();t.checkEndPtVertexIntersections(i[0],t._segStrings),t.checkEndPtVertexIntersections(i[i.length-1],t._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 Yn("found endpt/interior pt intersection at index "+c+" :pt "+s)}},$r.prototype.checkInteriorIntersections=function(){var t=this;if(arguments.length===0)for(var e=this._segStrings.iterator();e.hasNext();)for(var r=e.next(),i=this._segStrings.iterator();i.hasNext();){var s=i.next();t.checkInteriorIntersections(r,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++)t.checkInteriorIntersections(o,c,a,h);else if(arguments.length===4){var d=arguments[0],g=arguments[1],y=arguments[2],C=arguments[3];if(d===y&&g===C)return null;var P=d.getCoordinates()[g],T=d.getCoordinates()[g+1],v=y.getCoordinates()[C],w=y.getCoordinates()[C+1];if(this._li.computeIntersection(P,T,v,w),this._li.hasIntersection()&&(this._li.isProper()||this.hasInteriorIntersection(this._li,P,T)||this.hasInteriorIntersection(this._li,v,w)))throw new Yn("found non-noded intersection at "+P+"-"+T+" and "+v+"-"+w)}},$r.prototype.checkValid=function(){this.checkEndPtVertexIntersections(),this.checkInteriorIntersections(),this.checkCollapses()},$r.prototype.checkCollapses=function(){var t=this;if(arguments.length===0)for(var e=this._segStrings.iterator();e.hasNext();){var r=e.next();t.checkCollapses(r)}else if(arguments.length===1)for(var i=arguments[0],s=i.getCoordinates(),o=0;o<s.length-2;o++)t.checkCollapse(s[o],s[o+1],s[o+2])},$r.prototype.hasInteriorIntersection=function(t,e,r){for(var i=0;i<t.getIntersectionNum();i++){var s=t.getIntersection(i);if(!(s.equals(e)||s.equals(r)))return!0}return!1},$r.prototype.checkCollapse=function(t,e,r){if(t.equals(r))throw new Yn("found non-noded collapse at "+$r.fact.createLineString([t,e,r]))},$r.prototype.interfaces_=function(){return[]},$r.prototype.getClass=function(){return $r},Vd.fact.get=function(){return new pt},Object.defineProperties($r,Vd);var Ve=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 t=arguments[0],e=arguments[1],r=arguments[2];if(this._originalPt=t,this._pt=t,this._scaleFactor=e,this._li=r,e<=0)throw new zt("Scale factor must be non-zero");e!==1&&(this._pt=new D(this.scale(t.x),this.scale(t.y)),this._p0Scaled=new D,this._p1Scaled=new D),this.initCorners(this._pt)},zd={SAFE_ENV_EXPANSION_FACTOR:{configurable:!0}};Ve.prototype.intersectsScaled=function(t,e){var r=Math.min(t.x,e.x),i=Math.max(t.x,e.x),s=Math.min(t.y,e.y),o=Math.max(t.y,e.y),a=this._maxx<r||this._minx>i||this._maxy<s||this._miny>o;if(a)return!1;var u=this.intersectsToleranceSquare(t,e);return ct.isTrue(!(a&&u),"Found bad envelope test"),u},Ve.prototype.initCorners=function(t){var e=.5;this._minx=t.x-e,this._maxx=t.x+e,this._miny=t.y-e,this._maxy=t.y+e,this._corner[0]=new D(this._maxx,this._maxy),this._corner[1]=new D(this._minx,this._maxy),this._corner[2]=new D(this._minx,this._miny),this._corner[3]=new D(this._maxx,this._miny)},Ve.prototype.intersects=function(t,e){return this._scaleFactor===1?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},Ve.prototype.scale=function(t){return Math.round(t*this._scaleFactor)},Ve.prototype.getCoordinate=function(){return this._originalPt},Ve.prototype.copyScaled=function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)},Ve.prototype.getSafeEnvelope=function(){if(this._safeEnv===null){var t=Ve.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new j(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv},Ve.prototype.intersectsPixelClosure=function(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.hasIntersection())||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.hasIntersection())||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.hasIntersection()))},Ve.prototype.intersectsToleranceSquare=function(t,e){var r=!1,i=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.isProper())||(this._li.hasIntersection()&&(r=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.isProper())||(this._li.hasIntersection()&&(i=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.isProper())||r&&i||t.equals(this._pt)||e.equals(this._pt))},Ve.prototype.addSnappedNode=function(t,e){var r=t.getCoordinate(e),i=t.getCoordinate(e+1);return this.intersects(r,i)?(t.addIntersection(this.getCoordinate(),e),!0):!1},Ve.prototype.interfaces_=function(){return[]},Ve.prototype.getClass=function(){return Ve},zd.SAFE_ENV_EXPANSION_FACTOR.get=function(){return .75},Object.defineProperties(Ve,zd);var Za=function(){this.tempEnv1=new j,this.selectedSegment=new Z};Za.prototype.select=function(){if(arguments.length!==1){if(arguments.length===2){var t=arguments[0],e=arguments[1];t.getLineSegment(e,this.selectedSegment),this.select(this.selectedSegment)}}},Za.prototype.interfaces_=function(){return[]},Za.prototype.getClass=function(){return Za};var xo=function(){this._index=null;var t=arguments[0];this._index=t},Ud={HotPixelSnapAction:{configurable:!0}};xo.prototype.snap=function(){if(arguments.length===1){var t=arguments[0];return this.snap(t,null,-1)}else if(arguments.length===3){var e=arguments[0],r=arguments[1],i=arguments[2],s=e.getSafeEnvelope(),o=new Gd(e,r,i);return this._index.query(s,{interfaces_:function(){return[wi]},visitItem:function(a){var u=a;u.select(s,o)}}),o.isNodeAdded()}},xo.prototype.interfaces_=function(){return[]},xo.prototype.getClass=function(){return xo},Ud.HotPixelSnapAction.get=function(){return Gd},Object.defineProperties(xo,Ud);var Gd=function(n){function t(){n.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var e=arguments[0],r=arguments[1],i=arguments[2];this._hotPixel=e,this._parentEdge=r,this._hotPixelVertexIndex=i}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.isNodeAdded=function(){return this._isNodeAdded},t.prototype.select=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1],s=r.getContext();if(this._parentEdge!==null&&s===this._parentEdge&&i===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(s,i)}else return n.prototype.select.apply(this,arguments)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Za),Ms=function(){this._li=null,this._interiorIntersections=null;var t=arguments[0];this._li=t,this._interiorIntersections=new U};Ms.prototype.processIntersections=function(t,e,r,i){var s=this;if(t===r&&e===i)return null;var o=t.getCoordinates()[e],a=t.getCoordinates()[e+1],u=r.getCoordinates()[i],l=r.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));t.addIntersections(this._li,e,0),r.addIntersections(this._li,i,1)}},Ms.prototype.isDone=function(){return!1},Ms.prototype.getInteriorIntersections=function(){return this._interiorIntersections},Ms.prototype.interfaces_=function(){return[Ji]},Ms.prototype.getClass=function(){return Ms};var Tn=function(){this._pm=null,this._li=null,this._scaleFactor=null,this._noder=null,this._pointSnapper=null,this._nodedSegStrings=null;var t=arguments[0];this._pm=t,this._li=new Gi,this._li.setPrecisionModel(t),this._scaleFactor=t.getScale()};Tn.prototype.checkCorrectness=function(t){var e=Jt.getNodedSubstrings(t),r=new $r(e);try{r.checkValid()}catch(i){if(i instanceof wd)i.printStackTrace();else throw i}finally{}},Tn.prototype.getNodedSubstrings=function(){return Jt.getNodedSubstrings(this._nodedSegStrings)},Tn.prototype.snapRound=function(t,e){var r=this.findInteriorIntersections(t,e);this.computeIntersectionSnaps(r),this.computeVertexSnaps(t)},Tn.prototype.findInteriorIntersections=function(t,e){var r=new Ms(e);return this._noder.setSegmentIntersector(r),this._noder.computeNodes(t),r.getInteriorIntersections()},Tn.prototype.computeVertexSnaps=function(){var t=this;if(nt(arguments[0],$t))for(var e=arguments[0],r=e.iterator();r.hasNext();){var i=r.next();t.computeVertexSnaps(i)}else if(arguments[0]instanceof Jt)for(var s=arguments[0],o=s.getCoordinates(),a=0;a<o.length;a++){var u=new Ve(o[a],t._scaleFactor,t._li),l=t._pointSnapper.snap(u,s,a);l&&s.addIntersection(o[a],a)}},Tn.prototype.computeNodes=function(t){this._nodedSegStrings=t,this._noder=new lc,this._pointSnapper=new xo(this._noder.getIndex()),this.snapRound(t,this._li)},Tn.prototype.computeIntersectionSnaps=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next(),s=new Ve(i,e._scaleFactor,e._li);e._pointSnapper.snap(s)}},Tn.prototype.interfaces_=function(){return[Hi]},Tn.prototype.getClass=function(){return Tn};var de=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new Nt,this._resultGeometry=null,this._saveException=null,arguments.length===1){var t=arguments[0];this._argGeom=t}else if(arguments.length===2){var e=arguments[0],r=arguments[1];this._argGeom=e,this._bufParams=r}},Do={CAP_ROUND:{configurable:!0},CAP_BUTT:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},MAX_PRECISION_DIGITS:{configurable:!0}};de.prototype.bufferFixedPrecision=function(t){var e=new Ci(new Tn(new bt(1)),t.getScale()),r=new Ne(this._bufParams);r.setWorkingPrecisionModel(t),r.setNoder(e),this._resultGeometry=r.buffer(this._argGeom,this._distance)},de.prototype.bufferReducedPrecision=function(){var t=this;if(arguments.length===0){for(var e=de.MAX_PRECISION_DIGITS;e>=0;e--){try{t.bufferReducedPrecision(e)}catch(o){if(o instanceof Qn)t._saveException=o;else throw o}finally{}if(t._resultGeometry!==null)return null}throw this._saveException}else if(arguments.length===1){var r=arguments[0],i=de.precisionScaleFactor(this._argGeom,this._distance,r),s=new bt(i);this.bufferFixedPrecision(s)}},de.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),this._resultGeometry!==null)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===bt.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()},de.prototype.setQuadrantSegments=function(t){this._bufParams.setQuadrantSegments(t)},de.prototype.bufferOriginalPrecision=function(){try{var t=new Ne(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(e){if(e instanceof Yn)this._saveException=e;else throw e}finally{}},de.prototype.getResultGeometry=function(t){return this._distance=t,this.computeGeometry(),this._resultGeometry},de.prototype.setEndCapStyle=function(t){this._bufParams.setEndCapStyle(t)},de.prototype.interfaces_=function(){return[]},de.prototype.getClass=function(){return de},de.bufferOp=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new de(t),i=r.getResultGeometry(e);return i}else if(arguments.length===3){if(Number.isInteger(arguments[2])&&arguments[0]instanceof rt&&typeof arguments[1]=="number"){var s=arguments[0],o=arguments[1],a=arguments[2],u=new de(s);u.setQuadrantSegments(a);var l=u.getResultGeometry(o);return l}else if(arguments[2]instanceof Nt&&arguments[0]instanceof rt&&typeof arguments[1]=="number"){var c=arguments[0],h=arguments[1],d=arguments[2],g=new de(c,d),y=g.getResultGeometry(h);return y}}else if(arguments.length===4){var C=arguments[0],P=arguments[1],T=arguments[2],v=arguments[3],w=new de(C);w.setQuadrantSegments(T),w.setEndCapStyle(v);var m=w.getResultGeometry(P);return m}},de.precisionScaleFactor=function(t,e,r){var i=t.getEnvelopeInternal(),s=nr.max(Math.abs(i.getMaxX()),Math.abs(i.getMaxY()),Math.abs(i.getMinX()),Math.abs(i.getMinY())),o=e>0?e:0,a=s+2*o,u=Math.trunc(Math.log(a)/Math.log(10)+1),l=r-u,c=Math.pow(10,l);return c},Do.CAP_ROUND.get=function(){return Nt.CAP_ROUND},Do.CAP_BUTT.get=function(){return Nt.CAP_FLAT},Do.CAP_FLAT.get=function(){return Nt.CAP_FLAT},Do.CAP_SQUARE.get=function(){return Nt.CAP_SQUARE},Do.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(de,Do);var Te=function(){this._pt=[new D,new D],this._distance=ot.NaN,this._isNull=!0};Te.prototype.getCoordinates=function(){return this._pt},Te.prototype.getCoordinate=function(t){return this._pt[t]},Te.prototype.setMinimum=function(){if(arguments.length===1){var t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(arguments.length===2){var e=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(e,r),null;var i=e.distance(r);i<this._distance&&this.initialize(e,r,i)}},Te.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var t=arguments[0],e=arguments[1];this._pt[0].setCoordinate(t),this._pt[1].setCoordinate(e),this._distance=t.distance(e),this._isNull=!1}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(r),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},Te.prototype.getDistance=function(){return this._distance},Te.prototype.setMaximum=function(){if(arguments.length===1){var t=arguments[0];this.setMaximum(t._pt[0],t._pt[1])}else if(arguments.length===2){var e=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(e,r),null;var i=e.distance(r);i>this._distance&&this.initialize(e,r,i)}},Te.prototype.interfaces_=function(){return[]},Te.prototype.getClass=function(){return Te};var On=function(){};On.prototype.interfaces_=function(){return[]},On.prototype.getClass=function(){return On},On.computeDistance=function(){if(arguments[2]instanceof Te&&arguments[0]instanceof qt&&arguments[1]instanceof D)for(var t=arguments[0],e=arguments[1],r=arguments[2],i=t.getCoordinates(),s=new Z,o=0;o<i.length-1;o++){s.setCoordinates(i[o],i[o+1]);var a=s.closestPoint(e);r.setMinimum(a,e)}else if(arguments[2]instanceof Te&&arguments[0]instanceof te&&arguments[1]instanceof D){var u=arguments[0],l=arguments[1],c=arguments[2];On.computeDistance(u.getExteriorRing(),l,c);for(var h=0;h<u.getNumInteriorRing();h++)On.computeDistance(u.getInteriorRingN(h),l,c)}else if(arguments[2]instanceof Te&&arguments[0]instanceof rt&&arguments[1]instanceof D){var d=arguments[0],g=arguments[1],y=arguments[2];if(d instanceof qt)On.computeDistance(d,g,y);else if(d instanceof te)On.computeDistance(d,g,y);else if(d instanceof Ie)for(var C=d,P=0;P<C.getNumGeometries();P++){var T=C.getGeometryN(P);On.computeDistance(T,g,y)}else y.setMinimum(d.getCoordinate(),g)}else if(arguments[2]instanceof Te&&arguments[0]instanceof Z&&arguments[1]instanceof D){var v=arguments[0],w=arguments[1],m=arguments[2],_=v.closestPoint(w);m.setMinimum(_,w)}};var ji=function(t){this._maxPtDist=new Te,this._inputGeom=t||null},cc={MaxPointDistanceFilter:{configurable:!0},MaxMidpointDistanceFilter:{configurable:!0}};ji.prototype.computeMaxMidpointDistance=function(t){var e=new Ii(this._inputGeom);t.apply(e),this._maxPtDist.setMaximum(e.getMaxPointDistance())},ji.prototype.computeMaxVertexDistance=function(t){var e=new Ls(this._inputGeom);t.apply(e),this._maxPtDist.setMaximum(e.getMaxPointDistance())},ji.prototype.findDistance=function(t){return this.computeMaxVertexDistance(t),this.computeMaxMidpointDistance(t),this._maxPtDist.getDistance()},ji.prototype.getDistancePoints=function(){return this._maxPtDist},ji.prototype.interfaces_=function(){return[]},ji.prototype.getClass=function(){return ji},cc.MaxPointDistanceFilter.get=function(){return Ls},cc.MaxMidpointDistanceFilter.get=function(){return Ii},Object.defineProperties(ji,cc);var Ls=function(t){this._maxPtDist=new Te,this._minPtDist=new Te,this._geom=t||null};Ls.prototype.filter=function(t){this._minPtDist.initialize(),On.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Ls.prototype.getMaxPointDistance=function(){return this._maxPtDist},Ls.prototype.interfaces_=function(){return[En]},Ls.prototype.getClass=function(){return Ls};var Ii=function(t){this._maxPtDist=new Te,this._minPtDist=new Te,this._geom=t||null};Ii.prototype.filter=function(t,e){if(e===0)return null;var r=t.getCoordinate(e-1),i=t.getCoordinate(e),s=new D((r.x+i.x)/2,(r.y+i.y)/2);this._minPtDist.initialize(),On.computeDistance(this._geom,s,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Ii.prototype.isDone=function(){return!1},Ii.prototype.isGeometryChanged=function(){return!1},Ii.prototype.getMaxPointDistance=function(){return this._maxPtDist},Ii.prototype.interfaces_=function(){return[Mr]},Ii.prototype.getClass=function(){return Ii};var ri=function(t){this._comps=t||null};ri.prototype.filter=function(t){t instanceof te&&this._comps.add(t)},ri.prototype.interfaces_=function(){return[Hr]},ri.prototype.getClass=function(){return ri},ri.getPolygons=function(){if(arguments.length===1){var t=arguments[0];return ri.getPolygons(t,new U)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e instanceof te?r.add(e):e instanceof Ie&&e.apply(new ri(r)),r}};var pe=function(){if(this._lines=null,this._isForcedToLineString=!1,arguments.length===1){var t=arguments[0];this._lines=t}else if(arguments.length===2){var e=arguments[0],r=arguments[1];this._lines=e,this._isForcedToLineString=r}};pe.prototype.filter=function(t){if(this._isForcedToLineString&&t instanceof Sn){var e=t.getFactory().createLineString(t.getCoordinateSequence());return this._lines.add(e),null}t instanceof qt&&this._lines.add(t)},pe.prototype.setForceToLineString=function(t){this._isForcedToLineString=t},pe.prototype.interfaces_=function(){return[Jn]},pe.prototype.getClass=function(){return pe},pe.getGeometry=function(){if(arguments.length===1){var t=arguments[0];return t.getFactory().buildGeometry(pe.getLines(t))}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e.getFactory().buildGeometry(pe.getLines(e,r))}},pe.getLines=function(){if(arguments.length===1){var t=arguments[0];return pe.getLines(t,!1)}else if(arguments.length===2){if(nt(arguments[0],$t)&&nt(arguments[1],$t)){for(var e=arguments[0],r=arguments[1],i=e.iterator();i.hasNext();){var s=i.next();pe.getLines(s,r)}return r}else if(arguments[0]instanceof rt&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1],u=new U;return o.apply(new pe(u,a)),u}else if(arguments[0]instanceof rt&&nt(arguments[1],$t)){var l=arguments[0],c=arguments[1];return l instanceof qt?c.add(l):l.apply(new pe(c)),c}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&nt(arguments[0],$t)&&nt(arguments[1],$t)){for(var h=arguments[0],d=arguments[1],g=arguments[2],y=h.iterator();y.hasNext();){var C=y.next();pe.getLines(C,d,g)}return d}else if(typeof arguments[2]=="boolean"&&arguments[0]instanceof rt&&nt(arguments[1],$t)){var P=arguments[0],T=arguments[1],v=arguments[2];return P.apply(new pe(T,v)),T}}};var Fr=function(){if(this._boundaryRule=pr.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,arguments.length!==0){if(arguments.length===1){var t=arguments[0];if(t===null)throw new zt("Rule must be non-null");this._boundaryRule=t}}};Fr.prototype.locateInternal=function(){var t=this;if(arguments[0]instanceof D&&arguments[1]instanceof te){var e=arguments[0],r=arguments[1];if(r.isEmpty())return R.EXTERIOR;var i=r.getExteriorRing(),s=this.locateInPolygonRing(e,i);if(s===R.EXTERIOR)return R.EXTERIOR;if(s===R.BOUNDARY)return R.BOUNDARY;for(var o=0;o<r.getNumInteriorRing();o++){var a=r.getInteriorRingN(o),u=t.locateInPolygonRing(e,a);if(u===R.INTERIOR)return R.EXTERIOR;if(u===R.BOUNDARY)return R.BOUNDARY}return R.INTERIOR}else if(arguments[0]instanceof D&&arguments[1]instanceof qt){var l=arguments[0],c=arguments[1];if(!c.getEnvelopeInternal().intersects(l))return R.EXTERIOR;var h=c.getCoordinates();return!c.isClosed()&&(l.equals(h[0])||l.equals(h[h.length-1]))?R.BOUNDARY:W.isOnLine(l,h)?R.INTERIOR:R.EXTERIOR}else if(arguments[0]instanceof D&&arguments[1]instanceof Xe){var d=arguments[0],g=arguments[1],y=g.getCoordinate();return y.equals2D(d)?R.INTERIOR:R.EXTERIOR}},Fr.prototype.locateInPolygonRing=function(t,e){return e.getEnvelopeInternal().intersects(t)?W.locatePointInRing(t,e.getCoordinates()):R.EXTERIOR},Fr.prototype.intersects=function(t,e){return this.locate(t,e)!==R.EXTERIOR},Fr.prototype.updateLocationInfo=function(t){t===R.INTERIOR&&(this._isIn=!0),t===R.BOUNDARY&&this._numBoundaries++},Fr.prototype.computeLocation=function(t,e){var r=this;if(e instanceof Xe&&this.updateLocationInfo(this.locateInternal(t,e)),e instanceof qt)this.updateLocationInfo(this.locateInternal(t,e));else if(e instanceof te)this.updateLocationInfo(this.locateInternal(t,e));else if(e instanceof Xi)for(var i=e,s=0;s<i.getNumGeometries();s++){var o=i.getGeometryN(s);r.updateLocationInfo(r.locateInternal(t,o))}else if(e instanceof Cn)for(var a=e,u=0;u<a.getNumGeometries();u++){var l=a.getGeometryN(u);r.updateLocationInfo(r.locateInternal(t,l))}else if(e instanceof Ie)for(var c=new bn(e);c.hasNext();){var h=c.next();h!==e&&r.computeLocation(t,h)}},Fr.prototype.locate=function(t,e){return e.isEmpty()?R.EXTERIOR:e instanceof qt?this.locateInternal(t,e):e instanceof te?this.locateInternal(t,e):(this._isIn=!1,this._numBoundaries=0,this.computeLocation(t,e),this._boundaryRule.isInBoundary(this._numBoundaries)?R.BOUNDARY:this._numBoundaries>0||this._isIn?R.INTERIOR:R.EXTERIOR)},Fr.prototype.interfaces_=function(){return[]},Fr.prototype.getClass=function(){return Fr};var Oe=function n(){if(this._component=null,this._segIndex=null,this._pt=null,arguments.length===2){var t=arguments[0],e=arguments[1];n.call(this,t,n.INSIDE_AREA,e)}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._component=r,this._segIndex=i,this._pt=s}},Wd={INSIDE_AREA:{configurable:!0}};Oe.prototype.isInsideArea=function(){return this._segIndex===Oe.INSIDE_AREA},Oe.prototype.getCoordinate=function(){return this._pt},Oe.prototype.getGeometryComponent=function(){return this._component},Oe.prototype.getSegmentIndex=function(){return this._segIndex},Oe.prototype.interfaces_=function(){return[]},Oe.prototype.getClass=function(){return Oe},Wd.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Oe,Wd);var Pi=function(t){this._pts=t||null};Pi.prototype.filter=function(t){t instanceof Xe&&this._pts.add(t)},Pi.prototype.interfaces_=function(){return[Hr]},Pi.prototype.getClass=function(){return Pi},Pi.getPoints=function(){if(arguments.length===1){var t=arguments[0];return t instanceof Xe?Ar.singletonList(t):Pi.getPoints(t,new U)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e instanceof Xe?r.add(e):e instanceof Ie&&e.apply(new Pi(r)),r}};var As=function(){this._locations=null;var t=arguments[0];this._locations=t};As.prototype.filter=function(t){(t instanceof Xe||t instanceof qt||t instanceof te)&&this._locations.add(new Oe(t,0,t.getCoordinate()))},As.prototype.interfaces_=function(){return[Hr]},As.prototype.getClass=function(){return As},As.getLocations=function(t){var e=new U;return t.apply(new As(e)),e};var ge=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new Fr,this._minDistanceLocation=null,this._minDistance=ot.MAX_VALUE,arguments.length===2){var t=arguments[0],e=arguments[1];this._geom=[t,e],this._terminateDistance=0}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=r,this._geom[1]=i,this._terminateDistance=s}};ge.prototype.computeContainmentDistance=function(){var t=this;if(arguments.length===0){var e=new Array(2).fill(null);if(this.computeContainmentDistance(0,e),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,e)}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=1-r,o=ri.getPolygons(this._geom[r]);if(o.size()>0){var a=As.getLocations(this._geom[s]);if(this.computeContainmentDistance(a,o,i),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[s]=i[0],this._minDistanceLocation[r]=i[1],null}}else if(arguments.length===3){if(arguments[2]instanceof Array&&nt(arguments[0],xr)&&nt(arguments[1],xr)){for(var u=arguments[0],l=arguments[1],c=arguments[2],h=0;h<u.size();h++)for(var d=u.get(h),g=0;g<l.size();g++)if(t.computeContainmentDistance(d,l.get(g),c),t._minDistance<=t._terminateDistance)return null}else if(arguments[2]instanceof Array&&arguments[0]instanceof Oe&&arguments[1]instanceof te){var y=arguments[0],C=arguments[1],P=arguments[2],T=y.getCoordinate();if(R.EXTERIOR!==this._ptLocator.locate(T,C))return this._minDistance=0,P[0]=y,P[1]=new Oe(C,T),null}}},ge.prototype.computeMinDistanceLinesPoints=function(t,e,r){for(var i=this,s=0;s<t.size();s++)for(var o=t.get(s),a=0;a<e.size();a++){var u=e.get(a);if(i.computeMinDistance(o,u,r),i._minDistance<=i._terminateDistance)return null}},ge.prototype.computeFacetDistance=function(){var t=new Array(2).fill(null),e=pe.getLines(this._geom[0]),r=pe.getLines(this._geom[1]),i=Pi.getPoints(this._geom[0]),s=Pi.getPoints(this._geom[1]);if(this.computeMinDistanceLines(e,r,t),this.updateMinDistance(t,!1),this._minDistance<=this._terminateDistance||(t[0]=null,t[1]=null,this.computeMinDistanceLinesPoints(e,s,t),this.updateMinDistance(t,!1),this._minDistance<=this._terminateDistance)||(t[0]=null,t[1]=null,this.computeMinDistanceLinesPoints(r,i,t),this.updateMinDistance(t,!0),this._minDistance<=this._terminateDistance))return null;t[0]=null,t[1]=null,this.computeMinDistancePoints(i,s,t),this.updateMinDistance(t,!1)},ge.prototype.nearestLocations=function(){return this.computeMinDistance(),this._minDistanceLocation},ge.prototype.updateMinDistance=function(t,e){if(t[0]===null)return null;e?(this._minDistanceLocation[0]=t[1],this._minDistanceLocation[1]=t[0]):(this._minDistanceLocation[0]=t[0],this._minDistanceLocation[1]=t[1])},ge.prototype.nearestPoints=function(){this.computeMinDistance();var t=[this._minDistanceLocation[0].getCoordinate(),this._minDistanceLocation[1].getCoordinate()];return t},ge.prototype.computeMinDistance=function(){var t=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 Xe){var e=arguments[0],r=arguments[1],i=arguments[2];if(e.getEnvelopeInternal().distance(r.getEnvelopeInternal())>this._minDistance)return null;for(var s=e.getCoordinates(),o=r.getCoordinate(),a=0;a<s.length-1;a++){var u=W.distancePointLine(o,s[a],s[a+1]);if(u<t._minDistance){t._minDistance=u;var l=new Z(s[a],s[a+1]),c=l.closestPoint(o);i[0]=new Oe(e,a,c),i[1]=new Oe(r,0,o)}if(t._minDistance<=t._terminateDistance)return null}}else if(arguments[2]instanceof Array&&arguments[0]instanceof qt&&arguments[1]instanceof qt){var h=arguments[0],d=arguments[1],g=arguments[2];if(h.getEnvelopeInternal().distance(d.getEnvelopeInternal())>this._minDistance)return null;for(var y=h.getCoordinates(),C=d.getCoordinates(),P=0;P<y.length-1;P++)for(var T=0;T<C.length-1;T++){var v=W.distanceLineLine(y[P],y[P+1],C[T],C[T+1]);if(v<t._minDistance){t._minDistance=v;var w=new Z(y[P],y[P+1]),m=new Z(C[T],C[T+1]),_=w.closestPoints(m);g[0]=new Oe(h,P,_[0]),g[1]=new Oe(d,T,_[1])}if(t._minDistance<=t._terminateDistance)return null}}}},ge.prototype.computeMinDistancePoints=function(t,e,r){for(var i=this,s=0;s<t.size();s++)for(var o=t.get(s),a=0;a<e.size();a++){var u=e.get(a),l=o.getCoordinate().distance(u.getCoordinate());if(l<i._minDistance&&(i._minDistance=l,r[0]=new Oe(o,0,o.getCoordinate()),r[1]=new Oe(u,0,u.getCoordinate())),i._minDistance<=i._terminateDistance)return null}},ge.prototype.distance=function(){if(this._geom[0]===null||this._geom[1]===null)throw new zt("null geometries are not supported");return this._geom[0].isEmpty()||this._geom[1].isEmpty()?0:(this.computeMinDistance(),this._minDistance)},ge.prototype.computeMinDistanceLines=function(t,e,r){for(var i=this,s=0;s<t.size();s++)for(var o=t.get(s),a=0;a<e.size();a++){var u=e.get(a);if(i.computeMinDistance(o,u,r),i._minDistance<=i._terminateDistance)return null}},ge.prototype.interfaces_=function(){return[]},ge.prototype.getClass=function(){return ge},ge.distance=function(t,e){var r=new ge(t,e);return r.distance()},ge.isWithinDistance=function(t,e,r){var i=new ge(t,e,r);return i.distance()<=r},ge.nearestPoints=function(t,e){var r=new ge(t,e);return r.nearestPoints()};var Se=function(){this._pt=[new D,new D],this._distance=ot.NaN,this._isNull=!0};Se.prototype.getCoordinates=function(){return this._pt},Se.prototype.getCoordinate=function(t){return this._pt[t]},Se.prototype.setMinimum=function(){if(arguments.length===1){var t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(arguments.length===2){var e=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(e,r),null;var i=e.distance(r);i<this._distance&&this.initialize(e,r,i)}},Se.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var t=arguments[0],e=arguments[1];this._pt[0].setCoordinate(t),this._pt[1].setCoordinate(e),this._distance=t.distance(e),this._isNull=!1}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(r),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},Se.prototype.toString=function(){return Or.toLineString(this._pt[0],this._pt[1])},Se.prototype.getDistance=function(){return this._distance},Se.prototype.setMaximum=function(){if(arguments.length===1){var t=arguments[0];this.setMaximum(t._pt[0],t._pt[1])}else if(arguments.length===2){var e=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(e,r),null;var i=e.distance(r);i>this._distance&&this.initialize(e,r,i)}},Se.prototype.interfaces_=function(){return[]},Se.prototype.getClass=function(){return Se};var tn=function(){};tn.prototype.interfaces_=function(){return[]},tn.prototype.getClass=function(){return tn},tn.computeDistance=function(){if(arguments[2]instanceof Se&&arguments[0]instanceof qt&&arguments[1]instanceof D)for(var t=arguments[0],e=arguments[1],r=arguments[2],i=new Z,s=t.getCoordinates(),o=0;o<s.length-1;o++){i.setCoordinates(s[o],s[o+1]);var a=i.closestPoint(e);r.setMinimum(a,e)}else if(arguments[2]instanceof Se&&arguments[0]instanceof te&&arguments[1]instanceof D){var u=arguments[0],l=arguments[1],c=arguments[2];tn.computeDistance(u.getExteriorRing(),l,c);for(var h=0;h<u.getNumInteriorRing();h++)tn.computeDistance(u.getInteriorRingN(h),l,c)}else if(arguments[2]instanceof Se&&arguments[0]instanceof rt&&arguments[1]instanceof D){var d=arguments[0],g=arguments[1],y=arguments[2];if(d instanceof qt)tn.computeDistance(d,g,y);else if(d instanceof te)tn.computeDistance(d,g,y);else if(d instanceof Ie)for(var C=d,P=0;P<C.getNumGeometries();P++){var T=C.getGeometryN(P);tn.computeDistance(T,g,y)}else y.setMinimum(d.getCoordinate(),g)}else if(arguments[2]instanceof Se&&arguments[0]instanceof Z&&arguments[1]instanceof D){var v=arguments[0],w=arguments[1],m=arguments[2],_=v.closestPoint(w);m.setMinimum(_,w)}};var _r=function(){this._g0=null,this._g1=null,this._ptDist=new Se,this._densifyFrac=0;var t=arguments[0],e=arguments[1];this._g0=t,this._g1=e},hc={MaxPointDistanceFilter:{configurable:!0},MaxDensifiedByFractionDistanceFilter:{configurable:!0}};_r.prototype.getCoordinates=function(){return this._ptDist.getCoordinates()},_r.prototype.setDensifyFraction=function(t){if(t>1||t<=0)throw new zt("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=t},_r.prototype.compute=function(t,e){this.computeOrientedDistance(t,e,this._ptDist),this.computeOrientedDistance(e,t,this._ptDist)},_r.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},_r.prototype.computeOrientedDistance=function(t,e,r){var i=new Rs(e);if(t.apply(i),r.setMaximum(i.getMaxPointDistance()),this._densifyFrac>0){var s=new bi(e,this._densifyFrac);t.apply(s),r.setMaximum(s.getMaxPointDistance())}},_r.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},_r.prototype.interfaces_=function(){return[]},_r.prototype.getClass=function(){return _r},_r.distance=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new _r(t,e);return r.distance()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new _r(i,s);return a.setDensifyFraction(o),a.distance()}},hc.MaxPointDistanceFilter.get=function(){return Rs},hc.MaxDensifiedByFractionDistanceFilter.get=function(){return bi},Object.defineProperties(_r,hc);var Rs=function(){this._maxPtDist=new Se,this._minPtDist=new Se,this._euclideanDist=new tn,this._geom=null;var t=arguments[0];this._geom=t};Rs.prototype.filter=function(t){this._minPtDist.initialize(),tn.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Rs.prototype.getMaxPointDistance=function(){return this._maxPtDist},Rs.prototype.interfaces_=function(){return[En]},Rs.prototype.getClass=function(){return Rs};var bi=function(){this._maxPtDist=new Se,this._minPtDist=new Se,this._geom=null,this._numSubSegs=0;var t=arguments[0],e=arguments[1];this._geom=t,this._numSubSegs=Math.trunc(Math.round(1/e))};bi.prototype.filter=function(t,e){var r=this;if(e===0)return null;for(var i=t.getCoordinate(e-1),s=t.getCoordinate(e),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 D(l,c);r._minPtDist.initialize(),tn.computeDistance(r._geom,h,r._minPtDist),r._maxPtDist.setMaximum(r._minPtDist)}},bi.prototype.isDone=function(){return!1},bi.prototype.isGeometryChanged=function(){return!1},bi.prototype.getMaxPointDistance=function(){return this._maxPtDist},bi.prototype.interfaces_=function(){return[Mr]},bi.prototype.getClass=function(){return bi};var Je=function(t,e,r){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=t||null,this._bufDistance=e||null,this._result=r||null},fc={VERBOSE:{configurable:!0},MAX_DISTANCE_DIFF_FRAC:{configurable:!0}};Je.prototype.checkMaximumDistance=function(t,e,r){var i=new _r(e,t);if(i.setDensifyFraction(.25),this._maxDistanceFound=i.orientedDistance(),this._maxDistanceFound>r){this._isValid=!1;var s=i.getCoordinates();this._errorLocation=s[1],this._errorIndicator=t.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too large ("+this._maxDistanceFound+" at "+Or.toLineString(s[0],s[1])+")"}},Je.prototype.isValid=function(){var t=Math.abs(this._bufDistance),e=Je.MAX_DISTANCE_DIFF_FRAC*t;return this._minValidDistance=t-e,this._maxValidDistance=t+e,this._input.isEmpty()||this._result.isEmpty()?!0:(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),Je.VERBOSE&&he.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},Je.prototype.checkNegativeValid=function(){if(!(this._input instanceof te||this._input instanceof Cn||this._input instanceof Ie))return null;var t=this.getPolygonLines(this._input);if(this.checkMinimumDistance(t,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(t,this._result,this._maxValidDistance)},Je.prototype.getErrorIndicator=function(){return this._errorIndicator},Je.prototype.checkMinimumDistance=function(t,e,r){var i=new ge(t,e,r);if(this._minDistanceFound=i.distance(),this._minDistanceFound<r){this._isValid=!1;var s=i.nearestPoints();this._errorLocation=i.nearestPoints()[1],this._errorIndicator=t.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too small ("+this._minDistanceFound+" at "+Or.toLineString(s[0],s[1])+" )"}},Je.prototype.checkPositiveValid=function(){var t=this._result.getBoundary();if(this.checkMinimumDistance(this._input,t,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(this._input,t,this._maxValidDistance)},Je.prototype.getErrorLocation=function(){return this._errorLocation},Je.prototype.getPolygonLines=function(t){for(var e=new U,r=new pe(e),i=ri.getPolygons(t),s=i.iterator();s.hasNext();){var o=s.next();o.apply(r)}return t.getFactory().buildGeometry(e)},Je.prototype.getErrorMessage=function(){return this._errMsg},Je.prototype.interfaces_=function(){return[]},Je.prototype.getClass=function(){return Je},fc.VERBOSE.get=function(){return!1},fc.MAX_DISTANCE_DIFF_FRAC.get=function(){return .012},Object.defineProperties(Je,fc);var me=function(t,e,r){this._isValid=!0,this._errorMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=t||null,this._distance=e||null,this._result=r||null},dc={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 t=this._distance*me.MAX_ENV_DIFF_FRAC;t===0&&(t=.001);var e=new j(this._input.getEnvelopeInternal());e.expandBy(this._distance);var r=new j(this._result.getEnvelopeInternal());r.expandBy(t),r.contains(e)||(this._isValid=!1,this._errorMsg="Buffer envelope is incorrect",this._errorIndicator=this._input.getFactory().toGeometry(r)),this.report("Envelope")},me.prototype.checkDistance=function(){var t=new Je(this._input,this._distance,this._result);t.isValid()||(this._isValid=!1,this._errorMsg=t.getErrorMessage(),this._errorLocation=t.getErrorLocation(),this._errorIndicator=t.getErrorIndicator()),this.report("Distance")},me.prototype.checkArea=function(){var t=this._input.getArea(),e=this._result.getArea();this._distance>0&&t>e&&(this._isValid=!1,this._errorMsg="Area of positive buffer is smaller than input",this._errorIndicator=this._result),this._distance<0&&t<e&&(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 te||this._result instanceof Cn||(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(t){if(!me.VERBOSE)return null;he.out.println("Check "+t+": "+(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(t,e,r){var i=new me(t,e,r);return i.isValid()?null:i.getErrorMessage()},me.isValid=function(t,e,r){var i=new me(t,e,r);return!!i.isValid()},dc.VERBOSE.get=function(){return!1},dc.MAX_ENV_DIFF_FRAC.get=function(){return .012},Object.defineProperties(me,dc);var en=function(){this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};en.prototype.getCoordinates=function(){return this._pts},en.prototype.size=function(){return this._pts.length},en.prototype.getCoordinate=function(t){return this._pts[t]},en.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},en.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:Os.octant(this.getCoordinate(t),this.getCoordinate(t+1))},en.prototype.setData=function(t){this._data=t},en.prototype.getData=function(){return this._data},en.prototype.toString=function(){return Or.toLineString(new Yt(this._pts))},en.prototype.interfaces_=function(){return[Pn]},en.prototype.getClass=function(){return en};var ae=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new U,this._intersectionCount=0,this._keepIntersections=!0;var t=arguments[0];this._li=t,this._interiorIntersection=null};ae.prototype.getInteriorIntersection=function(){return this._interiorIntersection},ae.prototype.setCheckEndSegmentsOnly=function(t){this._isCheckEndSegmentsOnly=t},ae.prototype.getIntersectionSegments=function(){return this._intSegments},ae.prototype.count=function(){return this._intersectionCount},ae.prototype.getIntersections=function(){return this._intersections},ae.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},ae.prototype.setKeepIntersections=function(t){this._keepIntersections=t},ae.prototype.processIntersections=function(t,e,r,i){if(!this._findAllIntersections&&this.hasIntersection()||t===r&&e===i)return null;if(this._isCheckEndSegmentsOnly){var s=this.isEndSegment(t,e)||this.isEndSegment(r,i);if(!s)return null}var o=t.getCoordinates()[e],a=t.getCoordinates()[e+1],u=r.getCoordinates()[i],l=r.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++)},ae.prototype.isEndSegment=function(t,e){return e===0||e>=t.size()-2},ae.prototype.hasIntersection=function(){return this._interiorIntersection!==null},ae.prototype.isDone=function(){return this._findAllIntersections?!1:this._interiorIntersection!==null},ae.prototype.interfaces_=function(){return[Ji]},ae.prototype.getClass=function(){return ae},ae.createAllIntersectionsFinder=function(t){var e=new ae(t);return e.setFindAllIntersections(!0),e},ae.createAnyIntersectionFinder=function(t){return new ae(t)},ae.createIntersectionCounter=function(t){var e=new ae(t);return e.setFindAllIntersections(!0),e.setKeepIntersections(!1),e};var kr=function(){this._li=new Gi,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var t=arguments[0];this._segStrings=t};kr.prototype.execute=function(){if(this._segInt!==null)return null;this.checkInteriorIntersections()},kr.prototype.getIntersections=function(){return this._segInt.getIntersections()},kr.prototype.isValid=function(){return this.execute(),this._isValid},kr.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},kr.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new ae(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var t=new lc;if(t.setSegmentIntersector(this._segInt),t.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},kr.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new Qn(this.getErrorMessage(),this._segInt.getInteriorIntersection())},kr.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var t=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+Or.toLineString(t[0],t[1])+" and "+Or.toLineString(t[2],t[3])},kr.prototype.interfaces_=function(){return[]},kr.prototype.getClass=function(){return kr},kr.computeIntersections=function(t){var e=new kr(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()};var Zi=function n(){this._nv=null;var t=arguments[0];this._nv=new kr(n.toSegmentStrings(t))};Zi.prototype.checkValid=function(){this._nv.checkValid()},Zi.prototype.interfaces_=function(){return[]},Zi.prototype.getClass=function(){return Zi},Zi.toSegmentStrings=function(t){for(var e=new U,r=t.iterator();r.hasNext();){var i=r.next();e.add(new en(i.getCoordinates(),i))}return e},Zi.checkValid=function(t){var e=new Zi(t);e.checkValid()};var Fs=function(t){this._mapOp=t};Fs.prototype.map=function(t){for(var e=this,r=new U,i=0;i<t.getNumGeometries();i++){var s=e._mapOp.map(t.getGeometryN(i));s.isEmpty()||r.add(s)}return t.getFactory().createGeometryCollection(pt.toGeometryArray(r))},Fs.prototype.interfaces_=function(){return[]},Fs.prototype.getClass=function(){return Fs},Fs.map=function(t,e){var r=new Fs(e);return r.map(t)};var rn=function(){this._op=null,this._geometryFactory=null,this._ptLocator=null,this._lineEdgesList=new U,this._resultLineList=new U;var t=arguments[0],e=arguments[1],r=arguments[2];this._op=t,this._geometryFactory=e,this._ptLocator=r};rn.prototype.collectLines=function(t){for(var e=this,r=this._op.getGraph().getEdgeEnds().iterator();r.hasNext();){var i=r.next();e.collectLineEdge(i,t,e._lineEdgesList),e.collectBoundaryTouchEdge(i,t,e._lineEdgesList)}},rn.prototype.labelIsolatedLine=function(t,e){var r=this._ptLocator.locate(t.getCoordinate(),this._op.getArgGeometry(e));t.getLabel().setLocation(e,r)},rn.prototype.build=function(t){return this.findCoveredLineEdges(),this.collectLines(t),this.buildLines(t),this._resultLineList},rn.prototype.collectLineEdge=function(t,e,r){var i=t.getLabel(),s=t.getEdge();t.isLineEdge()&&!t.isVisited()&<.isResultOfOp(i,e)&&!s.isCovered()&&(r.add(s),t.setVisitedEdge(!0))},rn.prototype.findCoveredLineEdges=function(){for(var t=this,e=this._op.getGraph().getNodes().iterator();e.hasNext();){var r=e.next();r.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=t._op.isCoveredByA(s.getCoordinate());o.setCovered(a)}}},rn.prototype.labelIsolatedLines=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();i.isIsolated()&&(s.isNull(0)?e.labelIsolatedLine(i,0):e.labelIsolatedLine(i,1))}},rn.prototype.buildLines=function(t){for(var e=this,r=this._lineEdgesList.iterator();r.hasNext();){var i=r.next(),s=e._geometryFactory.createLineString(i.getCoordinates());e._resultLineList.add(s),i.setInResult(!0)}},rn.prototype.collectBoundaryTouchEdge=function(t,e,r){var i=t.getLabel();if(t.isLineEdge()||t.isVisited()||t.isInteriorAreaEdge()||t.getEdge().isInResult())return null;ct.isTrue(!(t.isInResult()||t.getSym().isInResult())||!t.getEdge().isInResult()),lt.isResultOfOp(i,e)&&e===lt.INTERSECTION&&(r.add(t.getEdge()),t.setVisitedEdge(!0))},rn.prototype.interfaces_=function(){return[]},rn.prototype.getClass=function(){return rn};var ks=function(){this._op=null,this._geometryFactory=null,this._resultPointList=new U;var t=arguments[0],e=arguments[1];this._op=t,this._geometryFactory=e};ks.prototype.filterCoveredNodeToPoint=function(t){var e=t.getCoordinate();if(!this._op.isCoveredByLA(e)){var r=this._geometryFactory.createPoint(e);this._resultPointList.add(r)}},ks.prototype.extractNonCoveredResultNodes=function(t){for(var e=this,r=this._op.getGraph().getNodes().iterator();r.hasNext();){var i=r.next();if(!i.isInResult()&&!i.isIncidentEdgeInResult()&&(i.getEdges().getDegree()===0||t===lt.INTERSECTION)){var s=i.getLabel();lt.isResultOfOp(s,t)&&e.filterCoveredNodeToPoint(i)}}},ks.prototype.build=function(t){return this.extractNonCoveredResultNodes(t),this._resultPointList},ks.prototype.interfaces_=function(){return[]},ks.prototype.getClass=function(){return ks};var ze=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};ze.prototype.transformPoint=function(t,e){return this._factory.createPoint(this.transformCoordinates(t.getCoordinateSequence(),t))},ze.prototype.transformPolygon=function(t,e){var r=this,i=!0,s=this.transformLinearRing(t.getExteriorRing(),t);(s===null||!(s instanceof Sn)||s.isEmpty())&&(i=!1);for(var o=new U,a=0;a<t.getNumInteriorRing();a++){var u=r.transformLinearRing(t.getInteriorRingN(a),t);u===null||u.isEmpty()||(u instanceof Sn||(i=!1),o.add(u))}if(i)return this._factory.createPolygon(s,o.toArray([]));var l=new U;return s!==null&&l.add(s),l.addAll(o),this._factory.buildGeometry(l)},ze.prototype.createCoordinateSequence=function(t){return this._factory.getCoordinateSequenceFactory().create(t)},ze.prototype.getInputGeometry=function(){return this._inputGeom},ze.prototype.transformMultiLineString=function(t,e){for(var r=this,i=new U,s=0;s<t.getNumGeometries();s++){var o=r.transformLineString(t.getGeometryN(s),t);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},ze.prototype.transformCoordinates=function(t,e){return this.copy(t)},ze.prototype.transformLineString=function(t,e){return this._factory.createLineString(this.transformCoordinates(t.getCoordinateSequence(),t))},ze.prototype.transformMultiPoint=function(t,e){for(var r=this,i=new U,s=0;s<t.getNumGeometries();s++){var o=r.transformPoint(t.getGeometryN(s),t);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},ze.prototype.transformMultiPolygon=function(t,e){for(var r=this,i=new U,s=0;s<t.getNumGeometries();s++){var o=r.transformPolygon(t.getGeometryN(s),t);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},ze.prototype.copy=function(t){return t.copy()},ze.prototype.transformGeometryCollection=function(t,e){for(var r=this,i=new U,s=0;s<t.getNumGeometries();s++){var o=r.transform(t.getGeometryN(s));o!==null&&(r._pruneEmptyGeometry&&o.isEmpty()||i.add(o))}return this._preserveGeometryCollectionType?this._factory.createGeometryCollection(pt.toGeometryArray(i)):this._factory.buildGeometry(i)},ze.prototype.transform=function(t){if(this._inputGeom=t,this._factory=t.getFactory(),t instanceof Xe)return this.transformPoint(t,null);if(t instanceof Po)return this.transformMultiPoint(t,null);if(t instanceof Sn)return this.transformLinearRing(t,null);if(t instanceof qt)return this.transformLineString(t,null);if(t instanceof Xi)return this.transformMultiLineString(t,null);if(t instanceof te)return this.transformPolygon(t,null);if(t instanceof Cn)return this.transformMultiPolygon(t,null);if(t instanceof Ie)return this.transformGeometryCollection(t,null);throw new zt("Unknown Geometry subtype: "+t.getClass().getName())},ze.prototype.transformLinearRing=function(t,e){var r=this.transformCoordinates(t.getCoordinateSequence(),t);if(r===null)return this._factory.createLinearRing(null);var i=r.size();return i>0&&i<4&&!this._preserveType?this._factory.createLineString(r):this._factory.createLinearRing(r)},ze.prototype.interfaces_=function(){return[]},ze.prototype.getClass=function(){return ze};var xn=function n(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new Z,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof qt&&typeof arguments[1]=="number"){var t=arguments[0],e=arguments[1];n.call(this,t.getCoordinates(),e)}else if(arguments[0]instanceof Array&&typeof arguments[1]=="number"){var r=arguments[0],i=arguments[1];this._srcPts=r,this._isClosed=n.isClosed(r),this._snapTolerance=i}};xn.prototype.snapVertices=function(t,e){for(var r=this,i=this._isClosed?t.size()-1:t.size(),s=0;s<i;s++){var o=t.get(s),a=r.findSnapForVertex(o,e);a!==null&&(t.set(s,new D(a)),s===0&&r._isClosed&&t.set(t.size()-1,new D(a)))}},xn.prototype.findSnapForVertex=function(t,e){for(var r=this,i=0;i<e.length;i++){if(t.equals2D(e[i]))return null;if(t.distance(e[i])<r._snapTolerance)return e[i]}return null},xn.prototype.snapTo=function(t){var e=new Fa(this._srcPts);this.snapVertices(e,t),this.snapSegments(e,t);var r=e.toCoordinateArray();return r},xn.prototype.snapSegments=function(t,e){var r=this;if(e.length===0)return null;var i=e.length;e[0].equals2D(e[e.length-1])&&(i=e.length-1);for(var s=0;s<i;s++){var o=e[s],a=r.findSegmentIndexToSnap(o,t);a>=0&&t.add(a+1,new D(o),!1)}},xn.prototype.findSegmentIndexToSnap=function(t,e){for(var r=this,i=ot.MAX_VALUE,s=-1,o=0;o<e.size()-1;o++){if(r._seg.p0=e.get(o),r._seg.p1=e.get(o+1),r._seg.p0.equals2D(t)||r._seg.p1.equals2D(t)){if(r._allowSnappingToSourceVertices)continue;return-1}var a=r._seg.distance(t);a<r._snapTolerance&&a<i&&(i=a,s=o)}return s},xn.prototype.setAllowSnappingToSourceVertices=function(t){this._allowSnappingToSourceVertices=t},xn.prototype.interfaces_=function(){return[]},xn.prototype.getClass=function(){return xn},xn.isClosed=function(t){return t.length<=1?!1:t[0].equals2D(t[t.length-1])};var Bt=function(t){this._srcGeom=t||null},qd={SNAP_PRECISION_FACTOR:{configurable:!0}};Bt.prototype.snapTo=function(t,e){var r=this.extractTargetCoordinates(t),i=new Xd(e,r);return i.transform(this._srcGeom)},Bt.prototype.snapToSelf=function(t,e){var r=this.extractTargetCoordinates(this._srcGeom),i=new Xd(t,r,!0),s=i.transform(this._srcGeom),o=s;return e&&nt(o,_i)&&(o=s.buffer(0)),o},Bt.prototype.computeSnapTolerance=function(t){var e=this.computeMinimumSegmentLength(t),r=e/10;return r},Bt.prototype.extractTargetCoordinates=function(t){for(var e=new Xr,r=t.getCoordinates(),i=0;i<r.length;i++)e.add(r[i]);return e.toArray(new Array(0).fill(null))},Bt.prototype.computeMinimumSegmentLength=function(t){for(var e=ot.MAX_VALUE,r=0;r<t.length-1;r++){var i=t[r].distance(t[r+1]);i<e&&(e=i)}return e},Bt.prototype.interfaces_=function(){return[]},Bt.prototype.getClass=function(){return Bt},Bt.snap=function(t,e,r){var i=new Array(2).fill(null),s=new Bt(t);i[0]=s.snapTo(e,r);var o=new Bt(e);return i[1]=o.snapTo(i[0],r),i},Bt.computeOverlaySnapTolerance=function(){if(arguments.length===1){var t=arguments[0],e=Bt.computeSizeBasedSnapTolerance(t),r=t.getPrecisionModel();if(r.getType()===bt.FIXED){var i=1/r.getScale()*2/1.415;i>e&&(e=i)}return e}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return Math.min(Bt.computeOverlaySnapTolerance(s),Bt.computeOverlaySnapTolerance(o))}},Bt.computeSizeBasedSnapTolerance=function(t){var e=t.getEnvelopeInternal(),r=Math.min(e.getHeight(),e.getWidth()),i=r*Bt.SNAP_PRECISION_FACTOR;return i},Bt.snapToSelf=function(t,e,r){var i=new Bt(t);return i.snapToSelf(e,r)},qd.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(Bt,qd);var Xd=function(n){function t(e,r,i){n.call(this),this._snapTolerance=e||null,this._snapPts=r||null,this._isSelfSnap=i!==void 0?i:!1}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.snapLine=function(r,i){var s=new xn(r,this._snapTolerance);return s.setAllowSnappingToSourceVertices(this._isSelfSnap),s.snapTo(i)},t.prototype.transformCoordinates=function(r,i){var s=r.toCoordinateArray(),o=this.snapLine(s,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(o)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(ze),xe=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};xe.prototype.getCommon=function(){return ot.longBitsToDouble(this._commonBits)},xe.prototype.add=function(t){var e=ot.doubleToLongBits(t);if(this._isFirst)return this._commonBits=e,this._commonSignExp=xe.signExpBits(this._commonBits),this._isFirst=!1,null;var r=xe.signExpBits(e);if(r!==this._commonSignExp)return this._commonBits=0,null;this._commonMantissaBitsCount=xe.numCommonMostSigMantissaBits(this._commonBits,e),this._commonBits=xe.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))},xe.prototype.toString=function(){if(arguments.length===1){var t=arguments[0],e=ot.longBitsToDouble(t),r=ot.toBinaryString(t),i="0000000000000000000000000000000000000000000000000000000000000000"+r,s=i.substring(i.length-64),o=s.substring(0,1)+" "+s.substring(1,12)+"(exp) "+s.substring(12)+" [ "+e+" ]";return o}},xe.prototype.interfaces_=function(){return[]},xe.prototype.getClass=function(){return xe},xe.getBit=function(t,e){var r=1<<e;return(t&r)!==0?1:0},xe.signExpBits=function(t){return t>>52},xe.zeroLowerBits=function(t,e){var r=(1<<e)-1,i=~r,s=t&i;return s},xe.numCommonMostSigMantissaBits=function(t,e){for(var r=0,i=52;i>=0;i--){if(xe.getBit(t,i)!==xe.getBit(e,i))return r;r++}return 52};var Ni=function(){this._commonCoord=null,this._ccFilter=new Vs},pc={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};Ni.prototype.addCommonBits=function(t){var e=new Ti(this._commonCoord);t.apply(e),t.geometryChanged()},Ni.prototype.removeCommonBits=function(t){if(this._commonCoord.x===0&&this._commonCoord.y===0)return t;var e=new D(this._commonCoord);e.x=-e.x,e.y=-e.y;var r=new Ti(e);return t.apply(r),t.geometryChanged(),t},Ni.prototype.getCommonCoordinate=function(){return this._commonCoord},Ni.prototype.add=function(t){t.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},Ni.prototype.interfaces_=function(){return[]},Ni.prototype.getClass=function(){return Ni},pc.CommonCoordinateFilter.get=function(){return Vs},pc.Translater.get=function(){return Ti},Object.defineProperties(Ni,pc);var Vs=function(){this._commonBitsX=new xe,this._commonBitsY=new xe};Vs.prototype.filter=function(t){this._commonBitsX.add(t.x),this._commonBitsY.add(t.y)},Vs.prototype.getCommonCoordinate=function(){return new D(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},Vs.prototype.interfaces_=function(){return[En]},Vs.prototype.getClass=function(){return Vs};var Ti=function(){this.trans=null;var t=arguments[0];this.trans=t};Ti.prototype.filter=function(t,e){var r=t.getOrdinate(e,0)+this.trans.x,i=t.getOrdinate(e,1)+this.trans.y;t.setOrdinate(e,0,r),t.setOrdinate(e,1,i)},Ti.prototype.isDone=function(){return!1},Ti.prototype.isGeometryChanged=function(){return!0},Ti.prototype.interfaces_=function(){return[Mr]},Ti.prototype.getClass=function(){return Ti};var ue=function(t,e){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=t,this._geom[1]=e,this.computeSnapTolerance()};ue.prototype.selfSnap=function(t){var e=new Bt(t),r=e.snapTo(t,this._snapTolerance);return r},ue.prototype.removeCommonBits=function(t){this._cbr=new Ni,this._cbr.add(t[0]),this._cbr.add(t[1]);var e=new Array(2).fill(null);return e[0]=this._cbr.removeCommonBits(t[0].copy()),e[1]=this._cbr.removeCommonBits(t[1].copy()),e},ue.prototype.prepareResult=function(t){return this._cbr.addCommonBits(t),t},ue.prototype.getResultGeometry=function(t){var e=this.snap(this._geom),r=lt.overlayOp(e[0],e[1],t);return this.prepareResult(r)},ue.prototype.checkValid=function(t){t.isValid()||he.out.println("Snapped geometry is invalid")},ue.prototype.computeSnapTolerance=function(){this._snapTolerance=Bt.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},ue.prototype.snap=function(t){var e=this.removeCommonBits(t),r=Bt.snap(e[0],e[1],this._snapTolerance);return r},ue.prototype.interfaces_=function(){return[]},ue.prototype.getClass=function(){return ue},ue.overlayOp=function(t,e,r){var i=new ue(t,e);return i.getResultGeometry(r)},ue.union=function(t,e){return ue.overlayOp(t,e,lt.UNION)},ue.intersection=function(t,e){return ue.overlayOp(t,e,lt.INTERSECTION)},ue.symDifference=function(t,e){return ue.overlayOp(t,e,lt.SYMDIFFERENCE)},ue.difference=function(t,e){return ue.overlayOp(t,e,lt.DIFFERENCE)};var De=function(t,e){this._geom=new Array(2).fill(null),this._geom[0]=t,this._geom[1]=e};De.prototype.getResultGeometry=function(t){var e=null,r=!1,i=null;try{e=lt.overlayOp(this._geom[0],this._geom[1],t);var s=!0;s&&(r=!0)}catch(o){if(o instanceof Yn)i=o;else throw o}finally{}if(!r)try{e=ue.overlayOp(this._geom[0],this._geom[1],t)}catch(o){throw o instanceof Yn?i:o}finally{}return e},De.prototype.interfaces_=function(){return[]},De.prototype.getClass=function(){return De},De.overlayOp=function(t,e,r){var i=new De(t,e);return i.getResultGeometry(r)},De.union=function(t,e){return De.overlayOp(t,e,lt.UNION)},De.intersection=function(t,e){return De.overlayOp(t,e,lt.INTERSECTION)},De.symDifference=function(t,e){return De.overlayOp(t,e,lt.SYMDIFFERENCE)},De.difference=function(t,e){return De.overlayOp(t,e,lt.DIFFERENCE)};var Ka=function(){this.mce=null,this.chainIndex=null;var t=arguments[0],e=arguments[1];this.mce=t,this.chainIndex=e};Ka.prototype.computeIntersections=function(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)},Ka.prototype.interfaces_=function(){return[]},Ka.prototype.getClass=function(){return Ka};var Be=function n(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,arguments.length===2){var t=arguments[0],e=arguments[1];this._eventType=n.DELETE,this._xValue=t,this._insertEvent=e}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._eventType=n.INSERT,this._label=r,this._xValue=i,this._obj=s}},gc={INSERT:{configurable:!0},DELETE:{configurable:!0}};Be.prototype.isDelete=function(){return this._eventType===Be.DELETE},Be.prototype.setDeleteEventIndex=function(t){this._deleteEventIndex=t},Be.prototype.getObject=function(){return this._obj},Be.prototype.compareTo=function(t){var e=t;return this._xValue<e._xValue?-1:this._xValue>e._xValue?1:this._eventType<e._eventType?-1:this._eventType>e._eventType?1:0},Be.prototype.getInsertEvent=function(){return this._insertEvent},Be.prototype.isInsert=function(){return this._eventType===Be.INSERT},Be.prototype.isSameLabel=function(t){return this._label===null?!1:this._label===t._label},Be.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},Be.prototype.interfaces_=function(){return[fr]},Be.prototype.getClass=function(){return Be},gc.INSERT.get=function(){return 1},gc.DELETE.get=function(){return 2},Object.defineProperties(Be,gc);var Yu=function(){};Yu.prototype.interfaces_=function(){return[]},Yu.prototype.getClass=function(){return Yu};var ve=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 t=arguments[0],e=arguments[1],r=arguments[2];this._li=t,this._includeProper=e,this._recordIsolated=r};ve.prototype.isTrivialIntersection=function(t,e,r,i){if(t===r&&this._li.getIntersectionNum()===1){if(ve.isAdjacentSegments(e,i))return!0;if(t.isClosed()){var s=t.getNumPoints()-1;if(e===0&&i===s||i===0&&e===s)return!0}}return!1},ve.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},ve.prototype.setIsDoneIfProperInt=function(t){this._isDoneWhenProperInt=t},ve.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},ve.prototype.isBoundaryPointInternal=function(t,e){for(var r=e.iterator();r.hasNext();){var i=r.next(),s=i.getCoordinate();if(t.isIntersection(s))return!0}return!1},ve.prototype.hasProperIntersection=function(){return this._hasProper},ve.prototype.hasIntersection=function(){return this._hasIntersection},ve.prototype.isDone=function(){return this._isDone},ve.prototype.isBoundaryPoint=function(t,e){return e===null?!1:!!(this.isBoundaryPointInternal(t,e[0])||this.isBoundaryPointInternal(t,e[1]))},ve.prototype.setBoundaryNodes=function(t,e){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=t,this._bdyNodes[1]=e},ve.prototype.addIntersections=function(t,e,r,i){if(t===r&&e===i)return null;this.numTests++;var s=t.getCoordinates()[e],o=t.getCoordinates()[e+1],a=r.getCoordinates()[i],u=r.getCoordinates()[i+1];this._li.computeIntersection(s,o,a,u),this._li.hasIntersection()&&(this._recordIsolated&&(t.setIsolated(!1),r.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(t,e,r,i)||(this._hasIntersection=!0,(this._includeProper||!this._li.isProper())&&(t.addIntersections(this._li,e,0),r.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))))},ve.prototype.interfaces_=function(){return[]},ve.prototype.getClass=function(){return ve},ve.isAdjacentSegments=function(t,e){return Math.abs(t-e)===1};var Ey=function(n){function t(){n.call(this),this.events=new U,this.nOverlaps=null}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.prepareEvents=function(){var r=this;Ar.sort(this.events);for(var i=0;i<this.events.size();i++){var s=r.events.get(i);s.isDelete()&&s.getInsertEvent().setDeleteEventIndex(i)}},t.prototype.computeIntersections=function(){var r=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=r.events.get(s);if(o.isInsert()&&r.processOverlaps(s,o.getDeleteEventIndex(),o,i),i.isDone())break}}else if(arguments.length===3){if(arguments[2]instanceof ve&&nt(arguments[0],xr)&&nt(arguments[1],xr)){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"&&nt(arguments[0],xr)&&arguments[1]instanceof ve){var c=arguments[0],h=arguments[1],d=arguments[2];d?this.addEdges(c,null):this.addEdges(c),this.computeIntersections(h)}}},t.prototype.addEdge=function(r,i){for(var s=this,o=r.getMonotoneChainEdge(),a=o.getStartIndexes(),u=0;u<a.length-1;u++){var l=new Ka(o,u),c=new Be(i,o.getMinX(u),l);s.events.add(c),s.events.add(new Be(o.getMaxX(u),c))}},t.prototype.processOverlaps=function(r,i,s,o){for(var a=this,u=s.getObject(),l=r;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++)}}},t.prototype.addEdges=function(){var r=this;if(arguments.length===1)for(var i=arguments[0],s=i.iterator();s.hasNext();){var o=s.next();r.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();r.addEdge(c,u)}},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Yu),Dn=function(){this._min=ot.POSITIVE_INFINITY,this._max=ot.NEGATIVE_INFINITY},Hd={NodeComparator:{configurable:!0}};Dn.prototype.getMin=function(){return this._min},Dn.prototype.intersects=function(t,e){return!(this._min>e||this._max<t)},Dn.prototype.getMax=function(){return this._max},Dn.prototype.toString=function(){return Or.toLineString(new D(this._min,0),new D(this._max,0))},Dn.prototype.interfaces_=function(){return[]},Dn.prototype.getClass=function(){return Dn},Hd.NodeComparator.get=function(){return Qa},Object.defineProperties(Dn,Hd);var Qa=function(){};Qa.prototype.compare=function(t,e){var r=t,i=e,s=(r._min+r._max)/2,o=(i._min+i._max)/2;return s<o?-1:s>o?1:0},Qa.prototype.interfaces_=function(){return[po]},Qa.prototype.getClass=function(){return Qa};var Sy=function(n){function t(){n.call(this),this._item=null;var e=arguments[0],r=arguments[1],i=arguments[2];this._min=e,this._max=r,this._item=i}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.query=function(r,i,s){if(!this.intersects(r,i))return null;s.visitItem(this._item)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Dn),Cy=function(n){function t(){n.call(this),this._node1=null,this._node2=null;var e=arguments[0],r=arguments[1];this._node1=e,this._node2=r,this.buildExtent(this._node1,this._node2)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.buildExtent=function(r,i){this._min=Math.min(r._min,i._min),this._max=Math.max(r._max,i._max)},t.prototype.query=function(r,i,s){if(!this.intersects(r,i))return null;this._node1!==null&&this._node1.query(r,i,s),this._node2!==null&&this._node2.query(r,i,s)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Dn),Mn=function(){this._leaves=new U,this._root=null,this._level=0};Mn.prototype.buildTree=function(){var t=this;Ar.sort(this._leaves,new Dn.NodeComparator);for(var e=this._leaves,r=null,i=new U;;){if(t.buildLevel(e,i),i.size()===1)return i.get(0);r=e,e=i,i=r}},Mn.prototype.insert=function(t,e,r){if(this._root!==null)throw new Error("Index cannot be added to once it has been queried");this._leaves.add(new Sy(t,e,r))},Mn.prototype.query=function(t,e,r){this.init(),this._root.query(t,e,r)},Mn.prototype.buildRoot=function(){if(this._root!==null)return null;this._root=this.buildTree()},Mn.prototype.printNode=function(t){he.out.println(Or.toLineString(new D(t._min,this._level),new D(t._max,this._level)))},Mn.prototype.init=function(){if(this._root!==null)return null;this.buildRoot()},Mn.prototype.buildLevel=function(t,e){this._level++,e.clear();for(var r=0;r<t.size();r+=2){var i=t.get(r),s=r+1<t.size()?t.get(r):null;if(s===null)e.add(i);else{var o=new Cy(t.get(r),t.get(r+1));e.add(o)}}},Mn.prototype.interfaces_=function(){return[]},Mn.prototype.getClass=function(){return Mn};var Mo=function(){this._items=new U};Mo.prototype.visitItem=function(t){this._items.add(t)},Mo.prototype.getItems=function(){return this._items},Mo.prototype.interfaces_=function(){return[wi]},Mo.prototype.getClass=function(){return Mo};var Lo=function(){this._index=null;var t=arguments[0];if(!nt(t,_i))throw new zt("Argument must be Polygonal");this._index=new Ki(t)},mc={SegmentVisitor:{configurable:!0},IntervalIndexedGeometry:{configurable:!0}};Lo.prototype.locate=function(t){var e=new qr(t),r=new Ao(e);return this._index.query(t.y,t.y,r),e.getLocation()},Lo.prototype.interfaces_=function(){return[Oo]},Lo.prototype.getClass=function(){return Lo},mc.SegmentVisitor.get=function(){return Ao},mc.IntervalIndexedGeometry.get=function(){return Ki},Object.defineProperties(Lo,mc);var Ao=function(){this._counter=null;var t=arguments[0];this._counter=t};Ao.prototype.visitItem=function(t){var e=t;this._counter.countSegment(e.getCoordinate(0),e.getCoordinate(1))},Ao.prototype.interfaces_=function(){return[wi]},Ao.prototype.getClass=function(){return Ao};var Ki=function(){this._index=new Mn;var t=arguments[0];this.init(t)};Ki.prototype.init=function(t){for(var e=this,r=pe.getLines(t),i=r.iterator();i.hasNext();){var s=i.next(),o=s.getCoordinates();e.addLine(o)}},Ki.prototype.addLine=function(t){for(var e=this,r=1;r<t.length;r++){var i=new Z(t[r-1],t[r]),s=Math.min(i.p0.y,i.p1.y),o=Math.max(i.p0.y,i.p1.y);e._index.insert(s,o,i)}},Ki.prototype.query=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new Mo;return this._index.query(t,e,r),r.getItems()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];this._index.query(i,s,o)}},Ki.prototype.interfaces_=function(){return[]},Ki.prototype.getClass=function(){return Ki};var $a=function(n){function t(){if(n.call(this),this._parentGeom=null,this._lineEdgeMap=new bd,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new Fr,arguments.length===2){var e=arguments[0],r=arguments[1],i=pr.OGC_SFS_BOUNDARY_RULE;this._argIndex=e,this._parentGeom=r,this._boundaryNodeRule=i,r!==null&&this.add(r)}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 n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.insertBoundaryPoint=function(r,i){var s=this._nodes.addNode(i),o=s.getLabel(),a=1,u=R.NONE;u=o.getLocation(r,z.ON),u===R.BOUNDARY&&a++;var l=t.determineBoundary(this._boundaryNodeRule,a);o.setLocation(r,l)},t.prototype.computeSelfNodes=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.computeSelfNodes(r,i,!1)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2],u=new ve(s,!0,!1);u.setIsDoneIfProperInt(a);var l=this.createEdgeSetIntersector(),c=this._parentGeom instanceof Sn||this._parentGeom instanceof te||this._parentGeom instanceof Cn,h=o||!c;return l.computeIntersections(this._edges,u,h),this.addSelfIntersectionNodes(this._argIndex),u}},t.prototype.computeSplitEdges=function(r){for(var i=this._edges.iterator();i.hasNext();){var s=i.next();s.eiList.addSplitEdges(r)}},t.prototype.computeEdgeIntersections=function(r,i,s){var o=new ve(i,s,!0);o.setBoundaryNodes(this.getBoundaryNodes(),r.getBoundaryNodes());var a=this.createEdgeSetIntersector();return a.computeIntersections(this._edges,r._edges,o),o},t.prototype.getGeometry=function(){return this._parentGeom},t.prototype.getBoundaryNodeRule=function(){return this._boundaryNodeRule},t.prototype.hasTooFewPoints=function(){return this._hasTooFewPoints},t.prototype.addPoint=function(){if(arguments[0]instanceof Xe){var r=arguments[0],i=r.getCoordinate();this.insertPoint(this._argIndex,i,R.INTERIOR)}else if(arguments[0]instanceof D){var s=arguments[0];this.insertPoint(this._argIndex,s,R.INTERIOR)}},t.prototype.addPolygon=function(r){var i=this;this.addPolygonRing(r.getExteriorRing(),R.EXTERIOR,R.INTERIOR);for(var s=0;s<r.getNumInteriorRing();s++){var o=r.getInteriorRingN(s);i.addPolygonRing(o,R.INTERIOR,R.EXTERIOR)}},t.prototype.addEdge=function(r){this.insertEdge(r);var i=r.getCoordinates();this.insertPoint(this._argIndex,i[0],R.BOUNDARY),this.insertPoint(this._argIndex,i[i.length-1],R.BOUNDARY)},t.prototype.addLineString=function(r){var i=dt.removeRepeatedPoints(r.getCoordinates());if(i.length<2)return this._hasTooFewPoints=!0,this._invalidPoint=i[0],null;var s=new Hu(i,new Ot(this._argIndex,R.INTERIOR));this._lineEdgeMap.put(r,s),this.insertEdge(s),ct.isTrue(i.length>=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,i[0]),this.insertBoundaryPoint(this._argIndex,i[i.length-1])},t.prototype.getInvalidPoint=function(){return this._invalidPoint},t.prototype.getBoundaryPoints=function(){for(var r=this.getBoundaryNodes(),i=new Array(r.size()).fill(null),s=0,o=r.iterator();o.hasNext();){var a=o.next();i[s++]=a.getCoordinate().copy()}return i},t.prototype.getBoundaryNodes=function(){return this._boundaryNodes===null&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},t.prototype.addSelfIntersectionNode=function(r,i,s){if(this.isBoundaryNode(r,i))return null;s===R.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(r,i):this.insertPoint(r,i,s)},t.prototype.addPolygonRing=function(r,i,s){if(r.isEmpty())return null;var o=dt.removeRepeatedPoints(r.getCoordinates());if(o.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=o[0],null;var a=i,u=s;W.isCCW(o)&&(a=s,u=i);var l=new Hu(o,new Ot(this._argIndex,R.BOUNDARY,a,u));this._lineEdgeMap.put(r,l),this.insertEdge(l),this.insertPoint(this._argIndex,o[0],R.BOUNDARY)},t.prototype.insertPoint=function(r,i,s){var o=this._nodes.addNode(i),a=o.getLabel();a===null?o._label=new Ot(r,s):a.setLocation(r,s)},t.prototype.createEdgeSetIntersector=function(){return new Ey},t.prototype.addSelfIntersectionNodes=function(r){for(var i=this,s=this._edges.iterator();s.hasNext();)for(var o=s.next(),a=o.getLabel().getLocation(r),u=o.eiList.iterator();u.hasNext();){var l=u.next();i.addSelfIntersectionNode(r,l.coord,a)}},t.prototype.add=function(){if(arguments.length===1){var r=arguments[0];if(r.isEmpty())return null;if(r instanceof Cn&&(this._useBoundaryDeterminationRule=!1),r instanceof te)this.addPolygon(r);else if(r instanceof qt)this.addLineString(r);else if(r instanceof Xe)this.addPoint(r);else if(r instanceof Po)this.addCollection(r);else if(r instanceof Xi)this.addCollection(r);else if(r instanceof Cn)this.addCollection(r);else if(r instanceof Ie)this.addCollection(r);else throw new Error(r.getClass().getName())}else return n.prototype.add.apply(this,arguments)},t.prototype.addCollection=function(r){for(var i=this,s=0;s<r.getNumGeometries();s++){var o=r.getGeometryN(s);i.add(o)}},t.prototype.locate=function(r){return nt(this._parentGeom,_i)&&this._parentGeom.getNumGeometries()>50?(this._areaPtLocator===null&&(this._areaPtLocator=new Lo(this._parentGeom)),this._areaPtLocator.locate(r)):this._ptLocator.locate(r,this._parentGeom)},t.prototype.findEdge=function(){if(arguments.length===1){var r=arguments[0];return this._lineEdgeMap.get(r)}else return n.prototype.findEdge.apply(this,arguments)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.determineBoundary=function(r,i){return r.isInBoundary(i)?R.BOUNDARY:R.INTERIOR},t}(Wt),Ro=function(){if(this._li=new Gi,this._resultPrecisionModel=null,this._arg=null,arguments.length===1){var t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new $a(0,t)}else if(arguments.length===2){var e=arguments[0],r=arguments[1],i=pr.OGC_SFS_BOUNDARY_RULE;e.getPrecisionModel().compareTo(r.getPrecisionModel())>=0?this.setComputationPrecision(e.getPrecisionModel()):this.setComputationPrecision(r.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new $a(0,e,i),this._arg[1]=new $a(1,r,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 $a(0,s,a),this._arg[1]=new $a(1,o,a)}};Ro.prototype.getArgGeometry=function(t){return this._arg[t].getGeometry()},Ro.prototype.setComputationPrecision=function(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)},Ro.prototype.interfaces_=function(){return[]},Ro.prototype.getClass=function(){return Ro};var Qi=function(){};Qi.prototype.interfaces_=function(){return[]},Qi.prototype.getClass=function(){return Qi},Qi.map=function(){if(arguments[0]instanceof rt&&nt(arguments[1],Qi.MapOp)){for(var t=arguments[0],e=arguments[1],r=new U,i=0;i<t.getNumGeometries();i++){var s=e.map(t.getGeometryN(i));s!==null&&r.add(s)}return t.getFactory().buildGeometry(r)}else if(nt(arguments[0],$t)&&nt(arguments[1],Qi.MapOp)){for(var o=arguments[0],a=arguments[1],u=new U,l=o.iterator();l.hasNext();){var c=l.next(),h=a.map(c);h!==null&&u.add(h)}return u}},Qi.MapOp=function(){};var lt=function(n){function t(){var e=arguments[0],r=arguments[1];n.call(this,e,r),this._ptLocator=new Fr,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new Rr,this._resultPolyList=new U,this._resultLineList=new U,this._resultPointList=new U,this._graph=new Wt(new Fd),this._geomFact=e.getFactory()}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.insertUniqueEdge=function(r){var i=this._edgeList.findEqualEdge(r);if(i!==null){var s=i.getLabel(),o=r.getLabel();i.isPointwiseEqual(r)||(o=new Ot(r.getLabel()),o.flip());var a=i.getDepth();a.isNull()&&a.add(s),a.add(o),s.merge(o)}else this._edgeList.add(r)},t.prototype.getGraph=function(){return this._graph},t.prototype.cancelDuplicateResultEdges=function(){for(var r=this._graph.getEdgeEnds().iterator();r.hasNext();){var i=r.next(),s=i.getSym();i.isInResult()&&s.isInResult()&&(i.setInResult(!1),s.setInResult(!1))}},t.prototype.isCoveredByLA=function(r){return!!(this.isCovered(r,this._resultLineList)||this.isCovered(r,this._resultPolyList))},t.prototype.computeGeometry=function(r,i,s,o){var a=new U;return a.addAll(r),a.addAll(i),a.addAll(s),a.isEmpty()?t.createEmptyResult(o,this._arg[0].getGeometry(),this._arg[1].getGeometry(),this._geomFact):this._geomFact.buildGeometry(a)},t.prototype.mergeSymLabels=function(){for(var r=this._graph.getNodes().iterator();r.hasNext();){var i=r.next();i.getEdges().mergeSymLabels()}},t.prototype.isCovered=function(r,i){for(var s=this,o=i.iterator();o.hasNext();){var a=o.next(),u=s._ptLocator.locate(r,a);if(u!==R.EXTERIOR)return!0}return!1},t.prototype.replaceCollapsedEdges=function(){for(var r=new U,i=this._edgeList.iterator();i.hasNext();){var s=i.next();s.isCollapsed()&&(i.remove(),r.add(s.getCollapsedEdge()))}this._edgeList.addAll(r)},t.prototype.updateNodeLabelling=function(){for(var r=this._graph.getNodes().iterator();r.hasNext();){var i=r.next(),s=i.getEdges().getLabel();i.getLabel().merge(s)}},t.prototype.getResultGeometry=function(r){return this.computeOverlay(r),this._resultGeom},t.prototype.insertUniqueEdges=function(r){for(var i=this,s=r.iterator();s.hasNext();){var o=s.next();i.insertUniqueEdge(o)}},t.prototype.computeOverlay=function(r){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 U;this._arg[0].computeSplitEdges(i),this._arg[1].computeSplitEdges(i),this.insertUniqueEdges(i),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),Zi.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(r),this.cancelDuplicateResultEdges();var s=new He(this._geomFact);s.add(this._graph),this._resultPolyList=s.getPolygons();var o=new rn(this,this._geomFact,this._ptLocator);this._resultLineList=o.build(r);var a=new ks(this,this._geomFact,this._ptLocator);this._resultPointList=a.build(r),this._resultGeom=this.computeGeometry(this._resultPointList,this._resultLineList,this._resultPolyList,r)},t.prototype.labelIncompleteNode=function(r,i){var s=this._ptLocator.locate(r.getCoordinate(),this._arg[i].getGeometry());r.getLabel().setLocation(i,s)},t.prototype.copyPoints=function(r){for(var i=this,s=this._arg[r].getNodeIterator();s.hasNext();){var o=s.next(),a=i._graph.addNode(o.getCoordinate());a.setLabel(r,o.getLabel().getLocation(r))}},t.prototype.findResultAreaEdges=function(r){for(var i=this._graph.getEdgeEnds().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.isArea()&&!s.isInteriorAreaEdge()&&t.isResultOfOp(o.getLocation(0,z.RIGHT),o.getLocation(1,z.RIGHT),r)&&s.setInResult(!0)}},t.prototype.computeLabelsFromDepths=function(){for(var r=this._edgeList.iterator();r.hasNext();){var i=r.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):(ct.isTrue(!o.isNull(a,z.LEFT),"depth of LEFT side has not been initialized"),s.setLocation(a,z.LEFT,o.getLocation(a,z.LEFT)),ct.isTrue(!o.isNull(a,z.RIGHT),"depth of RIGHT side has not been initialized"),s.setLocation(a,z.RIGHT,o.getLocation(a,z.RIGHT))))}}},t.prototype.computeLabelling=function(){for(var r=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next();s.getEdges().computeLabelling(r._arg)}this.mergeSymLabels(),this.updateNodeLabelling()},t.prototype.labelIncompleteNodes=function(){for(var r=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();s.isIsolated()&&(o.isNull(0)?r.labelIncompleteNode(s,0):r.labelIncompleteNode(s,1)),s.getEdges().updateLabelling(o)}},t.prototype.isCoveredByA=function(r){return!!this.isCovered(r,this._resultPolyList)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Ro);lt.overlayOp=function(n,t,e){var r=new lt(n,t),i=r.getResultGeometry(e);return i},lt.intersection=function(n,t){if(n.isEmpty()||t.isEmpty())return lt.createEmptyResult(lt.INTERSECTION,n,t,n.getFactory());if(n.isGeometryCollection()){var e=t;return Fs.map(n,{interfaces_:function(){return[Qi.MapOp]},map:function(r){return r.intersection(e)}})}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),De.overlayOp(n,t,lt.INTERSECTION)},lt.symDifference=function(n,t){if(n.isEmpty()||t.isEmpty()){if(n.isEmpty()&&t.isEmpty())return lt.createEmptyResult(lt.SYMDIFFERENCE,n,t,n.getFactory());if(n.isEmpty())return t.copy();if(t.isEmpty())return n.copy()}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),De.overlayOp(n,t,lt.SYMDIFFERENCE)},lt.resultDimension=function(n,t,e){var r=t.getDimension(),i=e.getDimension(),s=-1;switch(n){case lt.INTERSECTION:s=Math.min(r,i);break;case lt.UNION:s=Math.max(r,i);break;case lt.DIFFERENCE:s=r;break;case lt.SYMDIFFERENCE:s=Math.max(r,i);break}return s},lt.createEmptyResult=function(n,t,e,r){var i=null;switch(lt.resultDimension(n,t,e)){case-1:i=r.createGeometryCollection(new Array(0).fill(null));break;case 0:i=r.createPoint();break;case 1:i=r.createLineString();break;case 2:i=r.createPolygon();break}return i},lt.difference=function(n,t){return n.isEmpty()?lt.createEmptyResult(lt.DIFFERENCE,n,t,n.getFactory()):t.isEmpty()?n.copy():(n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),De.overlayOp(n,t,lt.DIFFERENCE))},lt.isResultOfOp=function(){if(arguments.length===2){var n=arguments[0],t=arguments[1],e=n.getLocation(0),r=n.getLocation(1);return lt.isResultOfOp(e,r,t)}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];switch(i===R.BOUNDARY&&(i=R.INTERIOR),s===R.BOUNDARY&&(s=R.INTERIOR),o){case lt.INTERSECTION:return i===R.INTERIOR&&s===R.INTERIOR;case lt.UNION:return i===R.INTERIOR||s===R.INTERIOR;case lt.DIFFERENCE:return i===R.INTERIOR&&s!==R.INTERIOR;case lt.SYMDIFFERENCE:return i===R.INTERIOR&&s!==R.INTERIOR||i!==R.INTERIOR&&s===R.INTERIOR}return!1}},lt.INTERSECTION=1,lt.UNION=2,lt.DIFFERENCE=3,lt.SYMDIFFERENCE=4;var Oi=function(){this._g=null,this._boundaryDistanceTolerance=null,this._linework=null,this._ptLocator=new Fr,this._seg=new Z;var t=arguments[0],e=arguments[1];this._g=t,this._boundaryDistanceTolerance=e,this._linework=this.extractLinework(t)};Oi.prototype.isWithinToleranceOfBoundary=function(t){for(var e=this,r=0;r<this._linework.getNumGeometries();r++)for(var i=e._linework.getGeometryN(r),s=i.getCoordinateSequence(),o=0;o<s.size()-1;o++){s.getCoordinate(o,e._seg.p0),s.getCoordinate(o+1,e._seg.p1);var a=e._seg.distance(t);if(a<=e._boundaryDistanceTolerance)return!0}return!1},Oi.prototype.getLocation=function(t){return this.isWithinToleranceOfBoundary(t)?R.BOUNDARY:this._ptLocator.locate(t,this._g)},Oi.prototype.extractLinework=function(t){var e=new Fo;t.apply(e);var r=e.getLinework(),i=pt.toLineStringArray(r);return t.getFactory().createMultiLineString(i)},Oi.prototype.interfaces_=function(){return[]},Oi.prototype.getClass=function(){return Oi};var Fo=function(){this._linework=null,this._linework=new U};Fo.prototype.getLinework=function(){return this._linework},Fo.prototype.filter=function(t){var e=this;if(t instanceof te){var r=t;this._linework.add(r.getExteriorRing());for(var i=0;i<r.getNumInteriorRing();i++)e._linework.add(r.getInteriorRingN(i))}},Fo.prototype.interfaces_=function(){return[Hr]},Fo.prototype.getClass=function(){return Fo};var $i=function(){this._g=null,this._doLeft=!0,this._doRight=!0;var t=arguments[0];this._g=t};$i.prototype.extractPoints=function(t,e,r){for(var i=this,s=t.getCoordinates(),o=0;o<s.length-1;o++)i.computeOffsetPoints(s[o],s[o+1],e,r)},$i.prototype.setSidesToGenerate=function(t,e){this._doLeft=t,this._doRight=e},$i.prototype.getPoints=function(t){for(var e=this,r=new U,i=pe.getLines(this._g),s=i.iterator();s.hasNext();){var o=s.next();e.extractPoints(o,t,r)}return r},$i.prototype.computeOffsetPoints=function(t,e,r,i){var s=e.x-t.x,o=e.y-t.y,a=Math.sqrt(s*s+o*o),u=r*s/a,l=r*o/a,c=(e.x+t.x)/2,h=(e.y+t.y)/2;if(this._doLeft){var d=new D(c-l,h+u);i.add(d)}if(this._doRight){var g=new D(c+l,h-u);i.add(g)}},$i.prototype.interfaces_=function(){return[]},$i.prototype.getClass=function(){return $i};var ur=function n(){this._geom=null,this._locFinder=null,this._location=new Array(3).fill(null),this._invalidLocation=null,this._boundaryDistanceTolerance=n.TOLERANCE,this._testCoords=new U;var t=arguments[0],e=arguments[1],r=arguments[2];this._boundaryDistanceTolerance=n.computeBoundaryDistanceTolerance(t,e),this._geom=[t,e,r],this._locFinder=[new Oi(this._geom[0],this._boundaryDistanceTolerance),new Oi(this._geom[1],this._boundaryDistanceTolerance),new Oi(this._geom[2],this._boundaryDistanceTolerance)]},Yd={TOLERANCE:{configurable:!0}};ur.prototype.reportResult=function(t,e,r){he.out.println("Overlay result invalid - A:"+R.toLocationSymbol(e[0])+" B:"+R.toLocationSymbol(e[1])+" expected:"+(r?"i":"e")+" actual:"+R.toLocationSymbol(e[2]))},ur.prototype.isValid=function(t){this.addTestPts(this._geom[0]),this.addTestPts(this._geom[1]);var e=this.checkValid(t);return e},ur.prototype.checkValid=function(){var t=this;if(arguments.length===1){for(var e=arguments[0],r=0;r<this._testCoords.size();r++){var i=t._testCoords.get(r);if(!t.checkValid(e,i))return t._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),ur.hasLocation(this._location,R.BOUNDARY)?!0:this.isValidResult(s,this._location)}},ur.prototype.addTestPts=function(t){var e=new $i(t);this._testCoords.addAll(e.getPoints(5*this._boundaryDistanceTolerance))},ur.prototype.isValidResult=function(t,e){var r=lt.isResultOfOp(e[0],e[1],t),i=e[2]===R.INTERIOR,s=!(r^i);return s||this.reportResult(t,e,r),s},ur.prototype.getInvalidLocation=function(){return this._invalidLocation},ur.prototype.interfaces_=function(){return[]},ur.prototype.getClass=function(){return ur},ur.hasLocation=function(t,e){for(var r=0;r<3;r++)if(t[r]===e)return!0;return!1},ur.computeBoundaryDistanceTolerance=function(t,e){return Math.min(Bt.computeSizeBasedSnapTolerance(t),Bt.computeSizeBasedSnapTolerance(e))},ur.isValid=function(t,e,r,i){var s=new ur(t,e,i);return s.isValid(r)},Yd.TOLERANCE.get=function(){return 1e-6},Object.defineProperties(ur,Yd);var lr=function n(t){this._geomFactory=null,this._skipEmpty=!1,this._inputGeoms=null,this._geomFactory=n.extractFactory(t),this._inputGeoms=t};lr.prototype.extractElements=function(t,e){var r=this;if(t===null)return null;for(var i=0;i<t.getNumGeometries();i++){var s=t.getGeometryN(i);r._skipEmpty&&s.isEmpty()||e.add(s)}},lr.prototype.combine=function(){for(var t=this,e=new U,r=this._inputGeoms.iterator();r.hasNext();){var i=r.next();t.extractElements(i,e)}return e.size()===0?this._geomFactory!==null?this._geomFactory.createGeometryCollection(null):null:this._geomFactory.buildGeometry(e)},lr.prototype.interfaces_=function(){return[]},lr.prototype.getClass=function(){return lr},lr.combine=function(){if(arguments.length===1){var t=arguments[0],e=new lr(t);return e.combine()}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=new lr(lr.createList(r,i));return s.combine()}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2],l=new lr(lr.createList(o,a,u));return l.combine()}},lr.extractFactory=function(t){return t.isEmpty()?null:t.iterator().next().getFactory()},lr.createList=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new U;return r.add(t),r.add(e),r}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new U;return a.add(i),a.add(s),a.add(o),a}};var Kt=function(){this._inputPolys=null,this._geomFactory=null;var t=arguments[0];this._inputPolys=t,this._inputPolys===null&&(this._inputPolys=new U)},Jd={STRTREE_NODE_CAPACITY:{configurable:!0}};Kt.prototype.reduceToGeometries=function(t){for(var e=this,r=new U,i=t.iterator();i.hasNext();){var s=i.next(),o=null;nt(s,xr)?o=e.unionTree(s):s instanceof rt&&(o=s),r.add(o)}return r},Kt.prototype.extractByEnvelope=function(t,e,r){for(var i=new U,s=0;s<e.getNumGeometries();s++){var o=e.getGeometryN(s);o.getEnvelopeInternal().intersects(t)?i.add(o):r.add(o)}return this._geomFactory.buildGeometry(i)},Kt.prototype.unionOptimized=function(t,e){var r=t.getEnvelopeInternal(),i=e.getEnvelopeInternal();if(!r.intersects(i)){var s=lr.combine(t,e);return s}if(t.getNumGeometries()<=1&&e.getNumGeometries()<=1)return this.unionActual(t,e);var o=r.intersection(i);return this.unionUsingEnvelopeIntersection(t,e,o)},Kt.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 t=new xd(Kt.STRTREE_NODE_CAPACITY),e=this._inputPolys.iterator();e.hasNext();){var r=e.next();t.insert(r.getEnvelopeInternal(),r)}this._inputPolys=null;var i=t.itemsTree(),s=this.unionTree(i);return s},Kt.prototype.binaryUnion=function(){if(arguments.length===1){var t=arguments[0];return this.binaryUnion(t,0,t.size())}else if(arguments.length===3){var e=arguments[0],r=arguments[1],i=arguments[2];if(i-r<=1){var s=Kt.getGeometry(e,r);return this.unionSafe(s,null)}else{if(i-r===2)return this.unionSafe(Kt.getGeometry(e,r),Kt.getGeometry(e,r+1));var o=Math.trunc((i+r)/2),a=this.binaryUnion(e,r,o),u=this.binaryUnion(e,o,i);return this.unionSafe(a,u)}}},Kt.prototype.repeatedUnion=function(t){for(var e=null,r=t.iterator();r.hasNext();){var i=r.next();e===null?e=i.copy():e=e.union(i)}return e},Kt.prototype.unionSafe=function(t,e){return t===null&&e===null?null:t===null?e.copy():e===null?t.copy():this.unionOptimized(t,e)},Kt.prototype.unionActual=function(t,e){return Kt.restrictToPolygons(t.union(e))},Kt.prototype.unionTree=function(t){var e=this.reduceToGeometries(t),r=this.binaryUnion(e);return r},Kt.prototype.unionUsingEnvelopeIntersection=function(t,e,r){var i=new U,s=this.extractByEnvelope(r,t,i),o=this.extractByEnvelope(r,e,i),a=this.unionActual(s,o);i.add(a);var u=lr.combine(i);return u},Kt.prototype.bufferUnion=function(){if(arguments.length===1){var t=arguments[0],e=t.get(0).getFactory(),r=e.buildGeometry(t),i=r.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}},Kt.prototype.interfaces_=function(){return[]},Kt.prototype.getClass=function(){return Kt},Kt.restrictToPolygons=function(t){if(nt(t,_i))return t;var e=ri.getPolygons(t);return e.size()===1?e.get(0):t.getFactory().createMultiPolygon(pt.toPolygonArray(e))},Kt.getGeometry=function(t,e){return e>=t.size()?null:t.get(e)},Kt.union=function(t){var e=new Kt(t);return e.union()},Jd.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(Kt,Jd);var Ju=function(){};Ju.prototype.interfaces_=function(){return[]},Ju.prototype.getClass=function(){return Ju},Ju.union=function(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return lt.createEmptyResult(lt.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),De.overlayOp(t,e,lt.UNION)};function ts(){return new Bu}function Bu(){this.reset()}Bu.prototype={constructor:Bu,reset:function(){this.s=this.t=0},add:function(n){Bd(ju,n,this.t),Bd(this,ju.s,this.s),this.s?this.t+=ju.t:this.s=ju.t},valueOf:function(){return this.s}};var ju=new Bu;function Bd(n,t,e){var r=n.s=t+e,i=r-t,s=r-i;n.t=t-s+(e-i)}var Qt=1e-6,Mt=Math.PI,ni=Mt/2,jd=Mt/4,ii=Mt*2,es=180/Mt,nn=Mt/180,Me=Math.abs,Iy=Math.atan,ko=Math.atan2,re=Math.cos,ne=Math.sin,Vo=Math.sqrt;function Zd(n){return n>1?0:n<-1?Mt:Math.acos(n)}function zs(n){return n>1?ni:n<-1?-ni:Math.asin(n)}function tu(){}function Zu(n,t){n&&Qd.hasOwnProperty(n.type)&&Qd[n.type](n,t)}var Kd={Feature:function(n,t){Zu(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,i=e.length;++r<i;)Zu(e[r].geometry,t)}},Qd={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){vc(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)vc(e[r],t,0)},Polygon:function(n,t){$d(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)$d(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,i=e.length;++r<i;)Zu(e[r],t)}};function vc(n,t,e){var r=-1,i=n.length-e,s;for(t.lineStart();++r<i;)s=n[r],t.point(s[0],s[1],s[2]);t.lineEnd()}function $d(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)vc(n[e],t,1);t.polygonEnd()}function Py(n,t){n&&Kd.hasOwnProperty(n.type)?Kd[n.type](n,t):Zu(n,t)}ts(),ts();function yc(n){return[ko(n[1],n[0]),zs(n[2])]}function zo(n){var t=n[0],e=n[1],r=re(e);return[r*re(t),r*ne(t),ne(e)]}function Ku(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function Qu(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function _c(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function $u(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function wc(n){var t=Vo(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}ts();function tp(n,t){function e(r,i){return r=n(r,i),t(r[0],r[1])}return n.invert&&t.invert&&(e.invert=function(r,i){return r=t.invert(r,i),r&&n.invert(r[0],r[1])}),e}function Ec(n,t){return[n>Mt?n-ii:n<-Mt?n+ii:n,t]}Ec.invert=Ec;function by(n,t,e){return(n%=ii)?t||e?tp(rp(n),np(t,e)):rp(n):t||e?np(t,e):Ec}function ep(n){return function(t,e){return t+=n,[t>Mt?t-ii:t<-Mt?t+ii:t,e]}}function rp(n){var t=ep(n);return t.invert=ep(-n),t}function np(n,t){var e=re(n),r=ne(n),i=re(t),s=ne(t);function o(a,u){var l=re(u),c=re(a)*l,h=ne(a)*l,d=ne(u),g=d*e+c*r;return[ko(h*i-g*s,c*e-d*r),zs(g*i+h*s)]}return o.invert=function(a,u){var l=re(u),c=re(a)*l,h=ne(a)*l,d=ne(u),g=d*i-h*s;return[ko(h*i+d*s,c*e+g*r),zs(g*e-c*r)]},o}function Ny(n,t,e,r,i,s){if(e){var o=re(t),a=ne(t),u=r*e;i==null?(i=t+r*ii,s=t-u/2):(i=ip(o,i),s=ip(o,s),(r>0?i<s:i>s)&&(i+=r*ii));for(var l,c=i;r>0?c>s:c<s;c-=u)l=yc([o,-a*re(c),-a*ne(c)]),n.point(l[0],l[1])}}function ip(n,t){t=zo(t),t[0]-=n,wc(t);var e=Zd(-t[1]);return((-t[2]<0?-e:e)+ii-Qt)%ii}function sp(){var n=[],t;return{point:function(e,r){t.push([e,r])},lineStart:function(){n.push(t=[])},lineEnd:tu,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Ty(n,t,e,r,i,s){var o=n[0],a=n[1],u=t[0],l=t[1],c=0,h=1,d=u-o,g=l-a,y;if(y=e-o,!(!d&&y>0)){if(y/=d,d<0){if(y<c)return;y<h&&(h=y)}else if(d>0){if(y>h)return;y>c&&(c=y)}if(y=i-o,!(!d&&y<0)){if(y/=d,d<0){if(y>h)return;y>c&&(c=y)}else if(d>0){if(y<c)return;y<h&&(h=y)}if(y=r-a,!(!g&&y>0)){if(y/=g,g<0){if(y<c)return;y<h&&(h=y)}else if(g>0){if(y>h)return;y>c&&(c=y)}if(y=s-a,!(!g&&y<0)){if(y/=g,g<0){if(y>h)return;y>c&&(c=y)}else if(g>0){if(y<c)return;y<h&&(h=y)}return c>0&&(n[0]=o+c*d,n[1]=a+c*g),h<1&&(t[0]=o+h*d,t[1]=a+h*g),!0}}}}}function tl(n,t){return Me(n[0]-t[0])<Qt&&Me(n[1]-t[1])<Qt}function el(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function op(n,t,e,r,i){var s=[],o=[],a,u;if(n.forEach(function(y){if(!((C=y.length-1)<=0)){var C,P=y[0],T=y[C],v;if(tl(P,T)){for(i.lineStart(),a=0;a<C;++a)i.point((P=y[a])[0],P[1]);i.lineEnd();return}s.push(v=new el(P,y,null,!0)),o.push(v.o=new el(P,null,v,!1)),s.push(v=new el(T,y,null,!1)),o.push(v.o=new el(T,null,v,!0))}}),!!s.length){for(o.sort(t),ap(s),ap(o),a=0,u=o.length;a<u;++a)o[a].e=e=!e;for(var l=s[0],c,h;;){for(var d=l,g=!0;d.v;)if((d=d.n)===l)return;c=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(g)for(a=0,u=c.length;a<u;++a)i.point((h=c[a])[0],h[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(g)for(c=d.p.z,a=c.length-1;a>=0;--a)i.point((h=c[a])[0],h[1]);else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,c=d.z,g=!g}while(!d.v);i.lineEnd()}}}function ap(n){if(t=n.length){for(var t,e=0,r=n[0],i;++e<t;)r.n=i=n[e],i.p=r,r=i;r.n=i=n[0],i.p=r}}function up(n,t){return n<t?-1:n>t?1:n>=t?0:NaN}function Oy(n){return n.length===1&&(n=xy(n)),{left:function(t,e,r,i){for(r==null&&(r=0),i==null&&(i=t.length);r<i;){var s=r+i>>>1;n(t[s],e)<0?r=s+1:i=s}return r},right:function(t,e,r,i){for(r==null&&(r=0),i==null&&(i=t.length);r<i;){var s=r+i>>>1;n(t[s],e)>0?i=s:r=s+1}return r}}}function xy(n){return function(t,e){return up(n(t),e)}}Oy(up);function lp(n){for(var t=n.length,e,r=-1,i=0,s,o;++r<t;)i+=n[r].length;for(s=new Array(i);--t>=0;)for(o=n[t],e=o.length;--e>=0;)s[--i]=o[e];return s}var rl=1e9,nl=-1e9;function Dy(n,t,e,r){function i(l,c){return n<=l&&l<=e&&t<=c&&c<=r}function s(l,c,h,d){var g=0,y=0;if(l==null||(g=o(l,h))!==(y=o(c,h))||u(l,c)<0^h>0)do d.point(g===0||g===3?n:e,g>1?r:t);while((g=(g+h+4)%4)!==y);else d.point(c[0],c[1])}function o(l,c){return Me(l[0]-n)<Qt?c>0?0:3:Me(l[0]-e)<Qt?c>0?2:1:Me(l[1]-t)<Qt?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),d=o(c,1);return h!==d?h-d: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=sp(),d,g,y,C,P,T,v,w,m,_,E,I={point:b,lineStart:x,lineEnd:A,polygonStart:M,polygonEnd:N};function b(Y,G){i(Y,G)&&c.point(Y,G)}function O(){for(var Y=0,G=0,K=g.length;G<K;++G)for(var at=g[G],ht=1,X=at.length,J=at[0],B,gt,xt=J[0],Ct=J[1];ht<X;++ht)B=xt,gt=Ct,J=at[ht],xt=J[0],Ct=J[1],gt<=r?Ct>r&&(xt-B)*(r-gt)>(Ct-gt)*(n-B)&&++Y:Ct<=r&&(xt-B)*(r-gt)<(Ct-gt)*(n-B)&&--Y;return Y}function M(){c=h,d=[],g=[],E=!0}function N(){var Y=O(),G=E&&Y,K=(d=lp(d)).length;(G||K)&&(l.polygonStart(),G&&(l.lineStart(),s(null,null,1,l),l.lineEnd()),K&&op(d,a,Y,s,l),l.polygonEnd()),c=l,d=g=y=null}function x(){I.point=F,g&&g.push(y=[]),_=!0,m=!1,v=w=NaN}function A(){d&&(F(C,P),T&&m&&h.rejoin(),d.push(h.result())),I.point=b,m&&c.lineEnd()}function F(Y,G){var K=i(Y,G);if(g&&y.push([Y,G]),_)C=Y,P=G,T=K,_=!1,K&&(c.lineStart(),c.point(Y,G));else if(K&&m)c.point(Y,G);else{var at=[v=Math.max(nl,Math.min(rl,v)),w=Math.max(nl,Math.min(rl,w))],ht=[Y=Math.max(nl,Math.min(rl,Y)),G=Math.max(nl,Math.min(rl,G))];Ty(at,ht,n,t,e,r)?(m||(c.lineStart(),c.point(at[0],at[1])),c.point(ht[0],ht[1]),K||c.lineEnd(),E=!1):K&&(c.lineStart(),c.point(Y,G),E=!1)}v=Y,w=G,m=K}return I}}var Sc=ts();function My(n,t){var e=t[0],r=t[1],i=[ne(e),-re(e),0],s=0,o=0;Sc.reset();for(var a=0,u=n.length;a<u;++a)if(c=(l=n[a]).length)for(var l,c,h=l[c-1],d=h[0],g=h[1]/2+jd,y=ne(g),C=re(g),P=0;P<c;++P,d=v,y=m,C=_,h=T){var T=l[P],v=T[0],w=T[1]/2+jd,m=ne(w),_=re(w),E=v-d,I=E>=0?1:-1,b=I*E,O=b>Mt,M=y*m;if(Sc.add(ko(M*I*ne(b),C*_+M*re(b))),s+=O?E+I*ii:E,O^d>=e^v>=e){var N=Qu(zo(h),zo(T));wc(N);var x=Qu(i,N);wc(x);var A=(O^E>=0?-1:1)*zs(x[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=O^E>=0?1:-1)}}return(s<-1e-6||s<Qt&&Sc<-1e-6)^o&1}ts();function cp(n){return n}ts(),ts();var Uo=1/0,il=Uo,eu=-Uo,sl=eu,hp={point:Ly,lineStart:tu,lineEnd:tu,polygonStart:tu,polygonEnd:tu,result:function(){var n=[[Uo,il],[eu,sl]];return eu=sl=-(il=Uo=1/0),n}};function Ly(n,t){n<Uo&&(Uo=n),n>eu&&(eu=n),t<il&&(il=t),t>sl&&(sl=t)}ts();function fp(n,t,e,r){return function(i,s){var o=t(s),a=i.invert(r[0],r[1]),u=sp(),l=t(u),c=!1,h,d,g,y={point:C,lineStart:T,lineEnd:v,polygonStart:function(){y.point=w,y.lineStart=m,y.lineEnd=_,d=[],h=[]},polygonEnd:function(){y.point=C,y.lineStart=T,y.lineEnd=v,d=lp(d);var E=My(h,a);d.length?(c||(s.polygonStart(),c=!0),op(d,Ry,E,e,s)):E&&(c||(s.polygonStart(),c=!0),s.lineStart(),e(null,null,1,s),s.lineEnd()),c&&(s.polygonEnd(),c=!1),d=h=null},sphere:function(){s.polygonStart(),s.lineStart(),e(null,null,1,s),s.lineEnd(),s.polygonEnd()}};function C(E,I){var b=i(E,I);n(E=b[0],I=b[1])&&s.point(E,I)}function P(E,I){var b=i(E,I);o.point(b[0],b[1])}function T(){y.point=P,o.lineStart()}function v(){y.point=C,o.lineEnd()}function w(E,I){g.push([E,I]);var b=i(E,I);l.point(b[0],b[1])}function m(){l.lineStart(),g=[]}function _(){w(g[0][0],g[0][1]),l.lineEnd();var E=l.clean(),I=u.result(),b,O=I.length,M,N,x;if(g.pop(),h.push(g),g=null,!!O){if(E&1){if(N=I[0],(M=N.length-1)>0){for(c||(s.polygonStart(),c=!0),s.lineStart(),b=0;b<M;++b)s.point((x=N[b])[0],x[1]);s.lineEnd()}return}O>1&&E&2&&I.push(I.pop().concat(I.shift())),d.push(I.filter(Ay))}}return y}}function Ay(n){return n.length>1}function Ry(n,t){return((n=n.x)[0]<0?n[1]-ni-Qt:ni-n[1])-((t=t.x)[0]<0?t[1]-ni-Qt:ni-t[1])}const dp=fp(function(){return!0},Fy,Vy,[-Mt,-ni]);function Fy(n){var t=NaN,e=NaN,r=NaN,i;return{lineStart:function(){n.lineStart(),i=1},point:function(s,o){var a=s>0?Mt:-Mt,u=Me(s-t);Me(u-Mt)<Qt?(n.point(t,e=(e+o)/2>0?ni:-ni),n.point(r,e),n.lineEnd(),n.lineStart(),n.point(a,e),n.point(s,e),i=0):r!==a&&u>=Mt&&(Me(t-r)<Qt&&(t-=r*Qt),Me(s-a)<Qt&&(s-=a*Qt),e=ky(t,e,s,o),n.point(r,e),n.lineEnd(),n.lineStart(),n.point(a,e),i=0),n.point(t=s,e=o),r=a},lineEnd:function(){n.lineEnd(),t=e=NaN},clean:function(){return 2-i}}}function ky(n,t,e,r){var i,s,o=ne(n-e);return Me(o)>Qt?Iy((ne(t)*(s=re(r))*ne(e)-ne(r)*(i=re(t))*ne(n))/(i*s*o)):(t+r)/2}function Vy(n,t,e,r){var i;if(n==null)i=e*ni,r.point(-Mt,i),r.point(0,i),r.point(Mt,i),r.point(Mt,0),r.point(Mt,-i),r.point(0,-i),r.point(-Mt,-i),r.point(-Mt,0),r.point(-Mt,i);else if(Me(n[0]-t[0])>Qt){var s=n[0]<t[0]?Mt:-Mt;i=e*s/2,r.point(-s,i),r.point(0,i),r.point(s,i)}else r.point(t[0],t[1])}function zy(n,t){var e=re(n),r=e>0,i=Me(e)>Qt;function s(c,h,d,g){Ny(g,n,t,d,c,h)}function o(c,h){return re(c)*re(h)>e}function a(c){var h,d,g,y,C;return{lineStart:function(){y=g=!1,C=1},point:function(P,T){var v=[P,T],w,m=o(P,T),_=r?m?0:l(P,T):m?l(P+(P<0?Mt:-Mt),T):0;if(!h&&(y=g=m)&&c.lineStart(),m!==g&&(w=u(h,v),(!w||tl(h,w)||tl(v,w))&&(v[0]+=Qt,v[1]+=Qt,m=o(v[0],v[1]))),m!==g)C=0,m?(c.lineStart(),w=u(v,h),c.point(w[0],w[1])):(w=u(h,v),c.point(w[0],w[1]),c.lineEnd()),h=w;else if(i&&h&&r^m){var E;!(_&d)&&(E=u(v,h,!0))&&(C=0,r?(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||!tl(h,v))&&c.point(v[0],v[1]),h=v,g=m,d=_},lineEnd:function(){g&&c.lineEnd(),h=null},clean:function(){return C|(y&&g)<<1}}}function u(c,h,d){var g=zo(c),y=zo(h),C=[1,0,0],P=Qu(g,y),T=Ku(P,P),v=P[0],w=T-v*v;if(!w)return!d&&c;var m=e*T/w,_=-e*v/w,E=Qu(C,P),I=$u(C,m),b=$u(P,_);_c(I,b);var O=E,M=Ku(I,O),N=Ku(O,O),x=M*M-N*(Ku(I,I)-1);if(!(x<0)){var A=Vo(x),F=$u(O,(-M-A)/N);if(_c(F,I),F=yc(F),!d)return F;var Y=c[0],G=h[0],K=c[1],at=h[1],ht;G<Y&&(ht=Y,Y=G,G=ht);var X=G-Y,J=Me(X-Mt)<Qt,B=J||X<Qt;if(!J&&at<K&&(ht=K,K=at,at=ht),B?J?K+at>0^F[1]<(Me(F[0]-Y)<Qt?K:at):K<=F[1]&&F[1]<=at:X>Mt^(Y<=F[0]&&F[0]<=G)){var gt=$u(O,(-M+A)/N);return _c(gt,I),[F,yc(gt)]}}}function l(c,h){var d=r?n:Mt-n,g=0;return c<-d?g|=1:c>d&&(g|=2),h<-d?g|=4:h>d&&(g|=8),g}return fp(o,a,s,r?[0,-n]:[-Mt,n-Mt])}function pp(n){return function(t){var e=new Cc;for(var r in n)e[r]=n[r];return e.stream=t,e}}function Cc(){}Cc.prototype={constructor:Cc,point:function(n,t){this.stream.point(n,t)},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 gp(n,t,e){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],s=n.clipExtent&&n.clipExtent();n.scale(150).translate([0,0]),s!=null&&n.clipExtent(null),Py(e,n.stream(hp));var o=hp.result(),a=Math.min(r/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),u=+t[0][0]+(r-a*(o[1][0]+o[0][0]))/2,l=+t[0][1]+(i-a*(o[1][1]+o[0][1]))/2;return s!=null&&n.clipExtent(s),n.scale(a*150).translate([u,l])}function Uy(n,t,e){return gp(n,[[0,0],t],e)}var mp=16,Gy=re(30*nn);function vp(n,t){return+t?qy(n,t):Wy(n)}function Wy(n){return pp({point:function(t,e){t=n(t,e),this.stream.point(t[0],t[1])}})}function qy(n,t){function e(r,i,s,o,a,u,l,c,h,d,g,y,C,P){var T=l-r,v=c-i,w=T*T+v*v;if(w>4*t&&C--){var m=o+d,_=a+g,E=u+y,I=Vo(m*m+_*_+E*E),b=zs(E/=I),O=Me(Me(E)-1)<Qt||Me(s-h)<Qt?(s+h)/2:ko(_,m),M=n(O,b),N=M[0],x=M[1],A=N-r,F=x-i,Y=v*A-T*F;(Y*Y/w>t||Me((T*A+v*F)/w-.5)>.3||o*d+a*g+u*y<Gy)&&(e(r,i,s,o,a,u,N,x,O,m/=I,_/=I,E,C,P),P.point(N,x),e(N,x,O,m,_,E,l,c,h,d,g,y,C,P))}}return function(r){var i,s,o,a,u,l,c,h,d,g,y,C,P={point:T,lineStart:v,lineEnd:m,polygonStart:function(){r.polygonStart(),P.lineStart=_},polygonEnd:function(){r.polygonEnd(),P.lineStart=v}};function T(b,O){b=n(b,O),r.point(b[0],b[1])}function v(){h=NaN,P.point=w,r.lineStart()}function w(b,O){var M=zo([b,O]),N=n(b,O);e(h,d,c,g,y,C,h=N[0],d=N[1],c=b,g=M[0],y=M[1],C=M[2],mp,r),r.point(h,d)}function m(){P.point=T,r.lineEnd()}function _(){v(),P.point=E,P.lineEnd=I}function E(b,O){w(i=b,O),s=h,o=d,a=g,u=y,l=C,P.point=w}function I(){e(h,d,c,g,y,C,s,o,i,a,u,l,mp,r),P.lineEnd=m,m()}return P}}var Xy=pp({point:function(n,t){this.stream.point(n*nn,t*nn)}});function Hy(n){return Yy(function(){return n})()}function Yy(n){var t,e=150,r=480,i=250,s,o,a=0,u=0,l=0,c=0,h=0,d,g,y=null,C=dp,P=null,T,v,w,m=cp,_=.5,E=vp(N,_),I,b;function O(F){return F=g(F[0]*nn,F[1]*nn),[F[0]*e+s,o-F[1]*e]}function M(F){return F=g.invert((F[0]-s)/e,(o-F[1])/e),F&&[F[0]*es,F[1]*es]}function N(F,Y){return F=t(F,Y),[F[0]*e+s,o-F[1]*e]}O.stream=function(F){return I&&b===F?I:I=Xy(C(d,E(m(b=F))))},O.clipAngle=function(F){return arguments.length?(C=+F?zy(y=F*nn,6*nn):(y=null,dp),A()):y*es},O.clipExtent=function(F){return arguments.length?(m=F==null?(P=T=v=w=null,cp):Dy(P=+F[0][0],T=+F[0][1],v=+F[1][0],w=+F[1][1]),A()):P==null?null:[[P,T],[v,w]]},O.scale=function(F){return arguments.length?(e=+F,x()):e},O.translate=function(F){return arguments.length?(r=+F[0],i=+F[1],x()):[r,i]},O.center=function(F){return arguments.length?(a=F[0]%360*nn,u=F[1]%360*nn,x()):[a*es,u*es]},O.rotate=function(F){return arguments.length?(l=F[0]%360*nn,c=F[1]%360*nn,h=F.length>2?F[2]%360*nn:0,x()):[l*es,c*es,h*es]},O.precision=function(F){return arguments.length?(E=vp(N,_=F*F),A()):Vo(_)},O.fitExtent=function(F,Y){return gp(O,F,Y)},O.fitSize=function(F,Y){return Uy(O,F,Y)};function x(){g=tp(d=by(l,c,h),t);var F=t(a,u);return s=r-F[0]*e,o=i+F[1]*e,A()}function A(){return I=b=null,O}return function(){return t=n.apply(this,arguments),O.invert=t.invert&&M,x()}}function yp(n){return function(t,e){var r=re(t),i=re(e),s=n(r*i);return[s*i*ne(t),s*ne(e)]}}function _p(n){return function(t,e){var r=Vo(t*t+e*e),i=n(r),s=ne(i),o=re(i);return[ko(t*s,r*o),zs(r&&e*s/r)]}}var Jy=yp(function(n){return Vo(2/(1+n))});Jy.invert=_p(function(n){return 2*zs(n/2)});var wp=yp(function(n){return(n=Zd(n))&&n/ne(n)});wp.invert=_p(function(n){return n});function By(){return Hy(wp).scale(79.4188).clipAngle(180-.001)}function Ep(n,t){return[n,t]}Ep.invert=Ep;function jy(n,t,e){e=e||{};var r=e.units||"kilometers",i=e.steps||8;if(!n)throw new Error("geojson is required");if(typeof e!="object")throw new Error("options must be an object");if(typeof i!="number")throw new Error("steps must be an number");if(t===void 0)throw new Error("radius is required");if(i<=0)throw new Error("steps must be greater than 0");var s=[];switch(n.type){case"GeometryCollection":return Pu(n,function(o){var a=ol(o,t,r,i);a&&s.push(a)}),co(s);case"FeatureCollection":return Iu(n,function(o){var a=ol(o,t,r,i);a&&Iu(a,function(u){u&&s.push(u)})}),co(s)}return ol(n,t,r,i)}function ol(n,t,e,r){var i=n.properties||{},s=n.type==="Feature"?n.geometry:n;if(s.type==="GeometryCollection"){var o=[];return Pu(n,function(C){var P=ol(C,t,e,r);P&&o.push(P)}),co(o)}var a=Zy(s),u={type:s.type,coordinates:Cp(s.coordinates,a)},l=new ac,c=l.read(u),h=Wl(ql(t,e),"meters"),d=de.bufferOp(c,h,r),g=new Td;if(d=g.write(d),!Sp(d.coordinates)){var y={type:d.type,coordinates:Ip(d.coordinates,a)};return mn(y,i)}}function Sp(n){return Array.isArray(n[0])?Sp(n[0]):isNaN(n[0])}function Cp(n,t){return typeof n[0]!="object"?t(n):n.map(function(e){return Cp(e,t)})}function Ip(n,t){return typeof n[0]!="object"?t.invert(n):n.map(function(e){return Ip(e,t)})}function Zy(n){var t=oy(n).geometry.coordinates,e=[-t[0],-t[1]];return By().rotate(e).scale(Ae)}function Ky(n,t,e){e===void 0&&(e={});for(var r=e.steps||64,i=e.properties?e.properties:!Array.isArray(n)&&n.type==="Feature"&&n.properties?n.properties:{},s=[],o=0;o<r;o++)s.push(ho(n,t,o*-360/r,e).geometry.coordinates);return s.push(s[0]),er([s],i)}/**
|
|
44
|
+
`)}return t.toString()},Ee.prototype.computeEdgeEndLabels=function(t){for(var e=this.iterator();e.hasNext();){var r=e.next();r.computeLabel(t)}},Ee.prototype.computeLabelling=function(t){var e=this;this.computeEdgeEndLabels(t[0].getBoundaryNodeRule()),this.propagateSideLabels(0),this.propagateSideLabels(1);for(var r=[!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)===R.BOUNDARY&&(r[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 d=R.NONE;if(r[h])d=R.EXTERIOR;else{var g=l.getCoordinate();d=e.getLocation(h,g,t)}c.setAllLocationsIfNull(h,d)}},Ee.prototype.getDegree=function(){return this._edgeMap.size()},Ee.prototype.insertEdgeEnd=function(t,e){this._edgeMap.put(t,e),this._edgeList=null},Ee.prototype.interfaces_=function(){return[]},Ee.prototype.getClass=function(){return Ee};var wy=function(n){function t(){n.call(this),this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.linkResultDirectedEdges=function(){var r=this;this.getResultAreaEdges();for(var i=null,s=null,o=this._SCANNING_FOR_INCOMING,a=0;a<this._resultAreaEdgeList.size();a++){var u=r._resultAreaEdgeList.get(a),l=u.getSym();if(u.getLabel().isArea())switch(i===null&&u.isInResult()&&(i=u),o){case r._SCANNING_FOR_INCOMING:if(!l.isInResult())continue;s=l,o=r._LINKING_TO_OUTGOING;break;case r._LINKING_TO_OUTGOING:if(!u.isInResult())continue;s.setNext(u),o=r._SCANNING_FOR_INCOMING;break}}if(o===this._LINKING_TO_OUTGOING){if(i===null)throw new Qn("no outgoing dirEdge found",this.getCoordinate());ct.isTrue(i.isInResult(),"unable to link last incoming dirEdge"),s.setNext(i)}},t.prototype.insert=function(r){var i=r;this.insertEdgeEnd(i,i)},t.prototype.getRightmostEdge=function(){var r=this.getEdges(),i=r.size();if(i<1)return null;var s=r.get(0);if(i===1)return s;var o=r.get(i-1),a=s.getQuadrant(),u=o.getQuadrant();return Dt.isNorthern(a)&&Dt.isNorthern(u)?s:!Dt.isNorthern(a)&&!Dt.isNorthern(u)?o:s.getDy()!==0?s:o.getDy()!==0?o:(ct.shouldNeverReachHere("found two horizontal edges incident on node"),null)},t.prototype.print=function(r){he.out.println("DirectedEdgeStar: "+this.getCoordinate());for(var i=this.iterator();i.hasNext();){var s=i.next();r.print("out "),s.print(r),r.println(),r.print("in "),s.getSym().print(r),r.println()}},t.prototype.getResultAreaEdges=function(){var r=this;if(this._resultAreaEdgeList!==null)return this._resultAreaEdgeList;this._resultAreaEdgeList=new U;for(var i=this.iterator();i.hasNext();){var s=i.next();(s.isInResult()||s.getSym().isInResult())&&r._resultAreaEdgeList.add(s)}return this._resultAreaEdgeList},t.prototype.updateLabelling=function(r){for(var i=this.iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.setAllLocationsIfNull(0,r.getLocation(0)),o.setAllLocationsIfNull(1,r.getLocation(1))}},t.prototype.linkAllDirectedEdges=function(){var r=this;this.getEdges();for(var i=null,s=null,o=this._edgeList.size()-1;o>=0;o--){var a=r._edgeList.get(o),u=a.getSym();s===null&&(s=u),i!==null&&u.setNext(i),i=a}s.setNext(i)},t.prototype.computeDepths=function(){var r=this;if(arguments.length===1){var i=arguments[0],s=this.findIndex(i),o=i.getDepth(z.LEFT),a=i.getDepth(z.RIGHT),u=this.computeDepths(s+1,this._edgeList.size(),o),l=this.computeDepths(0,s,u);if(l!==a)throw new Qn("depth mismatch at "+i.getCoordinate())}else if(arguments.length===3){for(var c=arguments[0],h=arguments[1],d=arguments[2],g=d,y=c;y<h;y++){var C=r._edgeList.get(y);C.setEdgeDepths(z.RIGHT,g),g=C.getDepth(z.LEFT)}return g}},t.prototype.mergeSymLabels=function(){for(var r=this.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();s.merge(i.getSym().getLabel())}},t.prototype.linkMinimalDirectedEdges=function(r){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()===r&&(s=l),a){case i._SCANNING_FOR_INCOMING:if(c.getEdgeRing()!==r)continue;o=c,a=i._LINKING_TO_OUTGOING;break;case i._LINKING_TO_OUTGOING:if(l.getEdgeRing()!==r)continue;o.setNextMin(l),a=i._SCANNING_FOR_INCOMING;break}}a===this._LINKING_TO_OUTGOING&&(ct.isTrue(s!==null,"found null for first outgoing dirEdge"),ct.isTrue(s.getEdgeRing()===r,"unable to link last incoming dirEdge"),o.setNextMin(s))},t.prototype.getOutgoingDegree=function(){if(arguments.length===0){for(var r=0,i=this.iterator();i.hasNext();){var s=i.next();s.isInResult()&&r++}return r}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}},t.prototype.getLabel=function(){return this._label},t.prototype.findCoveredLineEdges=function(){for(var r=R.NONE,i=this.iterator();i.hasNext();){var s=i.next(),o=s.getSym();if(!s.isLineEdge()){if(s.isInResult()){r=R.INTERIOR;break}if(o.isInResult()){r=R.EXTERIOR;break}}}if(r===R.NONE)return null;for(var a=r,u=this.iterator();u.hasNext();){var l=u.next(),c=l.getSym();l.isLineEdge()?l.getEdge().setCovered(a===R.INTERIOR):(l.isInResult()&&(a=R.EXTERIOR),c.isInResult()&&(a=R.INTERIOR))}},t.prototype.computeLabelling=function(r){var i=this;n.prototype.computeLabelling.call(this,r),this._label=new Ot(R.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===R.INTERIOR||c===R.BOUNDARY)&&i._label.setLocation(l,R.INTERIOR)}},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Ee),Fd=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.createNode=function(r){return new qu(r,new wy)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(bo),Si=function n(){this._pts=null,this._orientation=null;var t=arguments[0];this._pts=t,this._orientation=n.orientation(t)};Si.prototype.compareTo=function(t){var e=t,r=Si.compareOriented(this._pts,this._orientation,e._pts,e._orientation);return r},Si.prototype.interfaces_=function(){return[fr]},Si.prototype.getClass=function(){return Si},Si.orientation=function(t){return dt.increasingDirection(t)===1},Si.compareOriented=function(t,e,r,i){for(var s=e?1:-1,o=i?1:-1,a=e?t.length:-1,u=i?r.length:-1,l=e?0:t.length-1,c=i?0:r.length-1;;){var h=t[l].compareTo(r[c]);if(h!==0)return h;l+=s,c+=o;var d=l===a,g=c===u;if(d&&!g)return-1;if(!d&&g)return 1;if(d&&g)return 0}};var Rr=function(){this._edges=new U,this._ocaMap=new _e};Rr.prototype.print=function(t){var e=this;t.print("MULTILINESTRING ( ");for(var r=0;r<this._edges.size();r++){var i=e._edges.get(r);r>0&&t.print(","),t.print("(");for(var s=i.getCoordinates(),o=0;o<s.length;o++)o>0&&t.print(","),t.print(s[o].x+" "+s[o].y);t.println(")")}t.print(") ")},Rr.prototype.addAll=function(t){for(var e=this,r=t.iterator();r.hasNext();)e.add(r.next())},Rr.prototype.findEdgeIndex=function(t){for(var e=this,r=0;r<this._edges.size();r++)if(e._edges.get(r).equals(t))return r;return-1},Rr.prototype.iterator=function(){return this._edges.iterator()},Rr.prototype.getEdges=function(){return this._edges},Rr.prototype.get=function(t){return this._edges.get(t)},Rr.prototype.findEqualEdge=function(t){var e=new Si(t.getCoordinates()),r=this._ocaMap.get(e);return r},Rr.prototype.add=function(t){this._edges.add(t);var e=new Si(t.getCoordinates());this._ocaMap.put(e,t)},Rr.prototype.interfaces_=function(){return[]},Rr.prototype.getClass=function(){return Rr};var Ji=function(){};Ji.prototype.processIntersections=function(t,e,r,i){},Ji.prototype.isDone=function(){},Ji.prototype.interfaces_=function(){return[]},Ji.prototype.getClass=function(){return Ji};var ar=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 t=arguments[0];this._li=t};ar.prototype.isTrivialIntersection=function(t,e,r,i){if(t===r&&this._li.getIntersectionNum()===1){if(ar.isAdjacentSegments(e,i))return!0;if(t.isClosed()){var s=t.size()-1;if(e===0&&i===s||i===0&&e===s)return!0}}return!1},ar.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},ar.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},ar.prototype.getLineIntersector=function(){return this._li},ar.prototype.hasProperIntersection=function(){return this._hasProper},ar.prototype.processIntersections=function(t,e,r,i){if(t===r&&e===i)return null;this.numTests++;var s=t.getCoordinates()[e],o=t.getCoordinates()[e+1],a=r.getCoordinates()[i],u=r.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(t,e,r,i)||(this._hasIntersection=!0,t.addIntersections(this._li,e,0),r.addIntersections(this._li,i,1),this._li.isProper()&&(this.numProperIntersections++,this._hasProper=!0,this._hasProperInterior=!0)))},ar.prototype.hasIntersection=function(){return this._hasIntersection},ar.prototype.isDone=function(){return!1},ar.prototype.hasInteriorIntersection=function(){return this._hasInterior},ar.prototype.interfaces_=function(){return[Ji]},ar.prototype.getClass=function(){return ar},ar.isAdjacentSegments=function(t,e){return Math.abs(t-e)===1};var Qr=function(){this.coord=null,this.segmentIndex=null,this.dist=null;var t=arguments[0],e=arguments[1],r=arguments[2];this.coord=new D(t),this.segmentIndex=e,this.dist=r};Qr.prototype.getSegmentIndex=function(){return this.segmentIndex},Qr.prototype.getCoordinate=function(){return this.coord},Qr.prototype.print=function(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex),t.println(" dist = "+this.dist)},Qr.prototype.compareTo=function(t){var e=t;return this.compare(e.segmentIndex,e.dist)},Qr.prototype.isEndPoint=function(t){return this.segmentIndex===0&&this.dist===0||this.segmentIndex===t},Qr.prototype.toString=function(){return this.coord+" seg # = "+this.segmentIndex+" dist = "+this.dist},Qr.prototype.getDistance=function(){return this.dist},Qr.prototype.compare=function(t,e){return this.segmentIndex<t?-1:this.segmentIndex>t?1:this.dist<e?-1:this.dist>e?1:0},Qr.prototype.interfaces_=function(){return[fr]},Qr.prototype.getClass=function(){return Qr};var Nn=function(){this._nodeMap=new _e,this.edge=null;var t=arguments[0];this.edge=t};Nn.prototype.print=function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},Nn.prototype.iterator=function(){return this._nodeMap.values().iterator()},Nn.prototype.addSplitEdges=function(t){var e=this;this.addEndpoints();for(var r=this.iterator(),i=r.next();r.hasNext();){var s=r.next(),o=e.createSplitEdge(i,s);t.add(o),i=s}},Nn.prototype.addEndpoints=function(){var t=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[t],t,0)},Nn.prototype.createSplitEdge=function(t,e){var r=this,i=e.segmentIndex-t.segmentIndex+2,s=this.edge.pts[e.segmentIndex],o=e.dist>0||!e.coord.equals2D(s);o||i--;var a=new Array(i).fill(null),u=0;a[u++]=new D(t.coord);for(var l=t.segmentIndex+1;l<=e.segmentIndex;l++)a[u++]=r.edge.pts[l];return o&&(a[u]=e.coord),new Hu(a,new Ot(this.edge._label))},Nn.prototype.add=function(t,e,r){var i=new Qr(t,e,r),s=this._nodeMap.get(i);return s!==null?s:(this._nodeMap.put(i,i),i)},Nn.prototype.isIntersection=function(t){for(var e=this.iterator();e.hasNext();){var r=e.next();if(r.coord.equals(t))return!0}return!1},Nn.prototype.interfaces_=function(){return[]},Nn.prototype.getClass=function(){return Nn};var Bi=function(){};Bi.prototype.getChainStartIndices=function(t){var e=this,r=0,i=new U;i.add(new Gr(r));do{var s=e.findChainEnd(t,r);i.add(new Gr(s)),r=s}while(r<t.length-1);var o=Bi.toIntArray(i);return o},Bi.prototype.findChainEnd=function(t,e){for(var r=Dt.quadrant(t[e],t[e+1]),i=e+1;i<t.length;){var s=Dt.quadrant(t[i-1],t[i]);if(s!==r)break;i++}return i-1},Bi.prototype.interfaces_=function(){return[]},Bi.prototype.getClass=function(){return Bi},Bi.toIntArray=function(t){for(var e=new Array(t.size()).fill(null),r=0;r<e.length;r++)e[r]=t.get(r).intValue();return e};var ei=function(){this.e=null,this.pts=null,this.startIndex=null,this.env1=new j,this.env2=new j;var t=arguments[0];this.e=t,this.pts=t.getCoordinates();var e=new Bi;this.startIndex=e.getChainStartIndices(this.pts)};ei.prototype.getCoordinates=function(){return this.pts},ei.prototype.getMaxX=function(t){var e=this.pts[this.startIndex[t]].x,r=this.pts[this.startIndex[t+1]].x;return e>r?e:r},ei.prototype.getMinX=function(t){var e=this.pts[this.startIndex[t]].x,r=this.pts[this.startIndex[t+1]].x;return e<r?e:r},ei.prototype.computeIntersectsForChain=function(){if(arguments.length===4){var t=arguments[0],e=arguments[1],r=arguments[2],i=arguments[3];this.computeIntersectsForChain(this.startIndex[t],this.startIndex[t+1],e,e.startIndex[r],e.startIndex[r+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],d=this.pts[o],g=a.pts[u],y=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,d),this.env2.init(g,y),!this.env1.intersects(this.env2))return null;var C=Math.trunc((s+o)/2),P=Math.trunc((u+l)/2);s<C&&(u<P&&this.computeIntersectsForChain(s,C,a,u,P,c),P<l&&this.computeIntersectsForChain(s,C,a,P,l,c)),C<o&&(u<P&&this.computeIntersectsForChain(C,o,a,u,P,c),P<l&&this.computeIntersectsForChain(C,o,a,P,l,c))}},ei.prototype.getStartIndexes=function(){return this.startIndex},ei.prototype.computeIntersects=function(t,e){for(var r=this,i=0;i<this.startIndex.length-1;i++)for(var s=0;s<t.startIndex.length-1;s++)r.computeIntersectsForChain(i,t,s,e)},ei.prototype.interfaces_=function(){return[]},ei.prototype.getClass=function(){return ei};var fe=function n(){var t=this;this._depth=Array(2).fill().map(function(){return Array(3)});for(var e=0;e<2;e++)for(var r=0;r<3;r++)t._depth[e][r]=n.NULL_VALUE},kd={NULL_VALUE:{configurable:!0}};fe.prototype.getDepth=function(t,e){return this._depth[t][e]},fe.prototype.setDepth=function(t,e,r){this._depth[t][e]=r},fe.prototype.isNull=function(){var t=this;if(arguments.length===0){for(var e=0;e<2;e++)for(var r=0;r<3;r++)if(t._depth[e][r]!==fe.NULL_VALUE)return!1;return!0}else if(arguments.length===1){var i=arguments[0];return this._depth[i][1]===fe.NULL_VALUE}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._depth[s][o]===fe.NULL_VALUE}},fe.prototype.normalize=function(){for(var t=this,e=0;e<2;e++)if(!t.isNull(e)){var r=t._depth[e][1];t._depth[e][2]<r&&(r=t._depth[e][2]),r<0&&(r=0);for(var i=1;i<3;i++){var s=0;t._depth[e][i]>r&&(s=1),t._depth[e][i]=s}}},fe.prototype.getDelta=function(t){return this._depth[t][z.RIGHT]-this._depth[t][z.LEFT]},fe.prototype.getLocation=function(t,e){return this._depth[t][e]<=0?R.EXTERIOR:R.INTERIOR},fe.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},fe.prototype.add=function(){var t=this;if(arguments.length===1)for(var e=arguments[0],r=0;r<2;r++)for(var i=1;i<3;i++){var s=e.getLocation(r,i);(s===R.EXTERIOR||s===R.INTERIOR)&&(t.isNull(r,i)?t._depth[r][i]=fe.depthAtLocation(s):t._depth[r][i]+=fe.depthAtLocation(s))}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2];u===R.INTERIOR&&this._depth[o][a]++}},fe.prototype.interfaces_=function(){return[]},fe.prototype.getClass=function(){return fe},fe.depthAtLocation=function(t){return t===R.EXTERIOR?0:t===R.INTERIOR?1:fe.NULL_VALUE},kd.NULL_VALUE.get=function(){return-1},Object.defineProperties(fe,kd);var Hu=function(n){function t(){if(n.call(this),this.pts=null,this._env=null,this.eiList=new Nn(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new fe,this._depthDelta=0,arguments.length===1){var e=arguments[0];t.call(this,e,null)}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.pts=r,this._label=i}}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.getDepth=function(){return this._depth},t.prototype.getCollapsedEdge=function(){var r=new Array(2).fill(null);r[0]=this.pts[0],r[1]=this.pts[1];var i=new t(r,Ot.toLineLabel(this._label));return i},t.prototype.isIsolated=function(){return this._isIsolated},t.prototype.getCoordinates=function(){return this.pts},t.prototype.setIsolated=function(r){this._isIsolated=r},t.prototype.setName=function(r){this._name=r},t.prototype.equals=function(r){var i=this;if(!(r instanceof t))return!1;var s=r;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},t.prototype.getCoordinate=function(){if(arguments.length===0)return this.pts.length>0?this.pts[0]:null;if(arguments.length===1){var r=arguments[0];return this.pts[r]}},t.prototype.print=function(r){var i=this;r.print("edge "+this._name+": "),r.print("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&r.print(","),r.print(i.pts[s].x+" "+i.pts[s].y);r.print(") "+this._label+" "+this._depthDelta)},t.prototype.computeIM=function(r){t.updateIM(this._label,r)},t.prototype.isCollapsed=function(){return!this._label.isArea()||this.pts.length!==3?!1:!!this.pts[0].equals(this.pts[2])},t.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},t.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},t.prototype.getDepthDelta=function(){return this._depthDelta},t.prototype.getNumPoints=function(){return this.pts.length},t.prototype.printReverse=function(r){var i=this;r.print("edge "+this._name+": ");for(var s=this.pts.length-1;s>=0;s--)r.print(i.pts[s]+" ");r.println("")},t.prototype.getMonotoneChainEdge=function(){return this._mce===null&&(this._mce=new ei(this)),this._mce},t.prototype.getEnvelope=function(){var r=this;if(this._env===null){this._env=new j;for(var i=0;i<this.pts.length;i++)r._env.expandToInclude(r.pts[i])}return this._env},t.prototype.addIntersection=function(r,i,s,o){var a=new D(r.getIntersection(o)),u=i,l=r.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)},t.prototype.toString=function(){var r=this,i=new Ur;i.append("edge "+this._name+": "),i.append("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&i.append(","),i.append(r.pts[s].x+" "+r.pts[s].y);return i.append(") "+this._label+" "+this._depthDelta),i.toString()},t.prototype.isPointwiseEqual=function(r){var i=this;if(this.pts.length!==r.pts.length)return!1;for(var s=0;s<this.pts.length;s++)if(!i.pts[s].equals2D(r.pts[s]))return!1;return!0},t.prototype.setDepthDelta=function(r){this._depthDelta=r},t.prototype.getEdgeIntersectionList=function(){return this.eiList},t.prototype.addIntersections=function(r,i,s){for(var o=this,a=0;a<r.getIntersectionNum();a++)o.addIntersection(r,i,s,a)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.updateIM=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1];i.setAtLeastIfValid(r.getLocation(0,z.ON),r.getLocation(1,z.ON),1),r.isArea()&&(i.setAtLeastIfValid(r.getLocation(0,z.LEFT),r.getLocation(1,z.LEFT),2),i.setAtLeastIfValid(r.getLocation(0,z.RIGHT),r.getLocation(1,z.RIGHT),2))}else return n.prototype.updateIM.apply(this,arguments)},t}(ir),Ne=function(t){this._workingPrecisionModel=null,this._workingNoder=null,this._geomFact=null,this._graph=null,this._edgeList=new Rr,this._bufParams=t||null};Ne.prototype.setWorkingPrecisionModel=function(t){this._workingPrecisionModel=t},Ne.prototype.insertUniqueEdge=function(t){var e=this._edgeList.findEqualEdge(t);if(e!==null){var r=e.getLabel(),i=t.getLabel();e.isPointwiseEqual(t)||(i=new Ot(t.getLabel()),i.flip()),r.merge(i);var s=Ne.depthDelta(i),o=e.getDepthDelta(),a=o+s;e.setDepthDelta(a)}else this._edgeList.add(t),t.setDepthDelta(Ne.depthDelta(t.getLabel()))},Ne.prototype.buildSubgraphs=function(t,e){for(var r=new U,i=t.iterator();i.hasNext();){var s=i.next(),o=s.getRightmostCoordinate(),a=new Ds(r),u=a.getDepth(o);s.computeDepth(u),s.findResultEdges(),r.add(s),e.add(s.getDirectedEdges(),s.getNodes())}},Ne.prototype.createSubgraphs=function(t){for(var e=new U,r=t.getNodes().iterator();r.hasNext();){var i=r.next();if(!i.isVisited()){var s=new Pe;s.create(i),e.add(s)}}return Ar.sort(e,Ar.reverseOrder()),e},Ne.prototype.createEmptyResultGeometry=function(){var t=this._geomFact.createPolygon();return t},Ne.prototype.getNoder=function(t){if(this._workingNoder!==null)return this._workingNoder;var e=new lc,r=new Gi;return r.setPrecisionModel(t),e.setSegmentIntersector(new ar(r)),e},Ne.prototype.buffer=function(t,e){var r=this._workingPrecisionModel;r===null&&(r=t.getPrecisionModel()),this._geomFact=t.getFactory();var i=new ke(r,this._bufParams),s=new yr(t,e,i),o=s.getCurves();if(o.size()<=0)return this.createEmptyResultGeometry();this.computeNodedEdges(o,r),this._graph=new Wt(new Fd),this._graph.addEdges(this._edgeList.getEdges());var a=this.createSubgraphs(this._graph),u=new He(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},Ne.prototype.computeNodedEdges=function(t,e){var r=this,i=this.getNoder(e);i.computeNodes(t);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 Hu(a.getCoordinates(),new Ot(l));r.insertUniqueEdge(c)}}},Ne.prototype.setNoder=function(t){this._workingNoder=t},Ne.prototype.interfaces_=function(){return[]},Ne.prototype.getClass=function(){return Ne},Ne.depthDelta=function(t){var e=t.getLocation(0,z.LEFT),r=t.getLocation(0,z.RIGHT);return e===R.INTERIOR&&r===R.EXTERIOR?1:e===R.EXTERIOR&&r===R.INTERIOR?-1:0},Ne.convertSegStrings=function(t){for(var e=new pt,r=new U;t.hasNext();){var i=t.next(),s=e.createLineString(i.getCoordinates());r.add(s)}return e.buildGeometry(r)};var Ci=function(){if(this._noder=null,this._scaleFactor=null,this._offsetX=null,this._offsetY=null,this._isScaled=!1,arguments.length===2){var t=arguments[0],e=arguments[1];this._noder=t,this._scaleFactor=e,this._offsetX=0,this._offsetY=0,this._isScaled=!this.isIntegerPrecision()}else if(arguments.length===4){var r=arguments[0],i=arguments[1],s=arguments[2],o=arguments[3];this._noder=r,this._scaleFactor=i,this._offsetX=s,this._offsetY=o,this._isScaled=!this.isIntegerPrecision()}};Ci.prototype.rescale=function(){var t=this;if(nt(arguments[0],$t))for(var e=arguments[0],r=e.iterator();r.hasNext();){var i=r.next();t.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/t._scaleFactor+t._offsetX,s[o].y=s[o].y/t._scaleFactor+t._offsetY;s.length===2&&s[0].equals2D(s[1])&&he.out.println(s)}},Ci.prototype.scale=function(){var t=this;if(nt(arguments[0],$t)){for(var e=arguments[0],r=new U,i=e.iterator();i.hasNext();){var s=i.next();r.add(new Jt(t.scale(s.getCoordinates()),s.getData()))}return r}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 D(Math.round((o[u].x-t._offsetX)*t._scaleFactor),Math.round((o[u].y-t._offsetY)*t._scaleFactor),o[u].z);var l=dt.removeRepeatedPoints(a);return l}},Ci.prototype.isIntegerPrecision=function(){return this._scaleFactor===1},Ci.prototype.getNodedSubstrings=function(){var t=this._noder.getNodedSubstrings();return this._isScaled&&this.rescale(t),t},Ci.prototype.computeNodes=function(t){var e=t;this._isScaled&&(e=this.scale(t)),this._noder.computeNodes(e)},Ci.prototype.interfaces_=function(){return[Hi]},Ci.prototype.getClass=function(){return Ci};var $r=function(){this._li=new Gi,this._segStrings=null;var t=arguments[0];this._segStrings=t},Vd={fact:{configurable:!0}};$r.prototype.checkEndPtVertexIntersections=function(){var t=this;if(arguments.length===0)for(var e=this._segStrings.iterator();e.hasNext();){var r=e.next(),i=r.getCoordinates();t.checkEndPtVertexIntersections(i[0],t._segStrings),t.checkEndPtVertexIntersections(i[i.length-1],t._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 Yn("found endpt/interior pt intersection at index "+c+" :pt "+s)}},$r.prototype.checkInteriorIntersections=function(){var t=this;if(arguments.length===0)for(var e=this._segStrings.iterator();e.hasNext();)for(var r=e.next(),i=this._segStrings.iterator();i.hasNext();){var s=i.next();t.checkInteriorIntersections(r,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++)t.checkInteriorIntersections(o,c,a,h);else if(arguments.length===4){var d=arguments[0],g=arguments[1],y=arguments[2],C=arguments[3];if(d===y&&g===C)return null;var P=d.getCoordinates()[g],T=d.getCoordinates()[g+1],v=y.getCoordinates()[C],w=y.getCoordinates()[C+1];if(this._li.computeIntersection(P,T,v,w),this._li.hasIntersection()&&(this._li.isProper()||this.hasInteriorIntersection(this._li,P,T)||this.hasInteriorIntersection(this._li,v,w)))throw new Yn("found non-noded intersection at "+P+"-"+T+" and "+v+"-"+w)}},$r.prototype.checkValid=function(){this.checkEndPtVertexIntersections(),this.checkInteriorIntersections(),this.checkCollapses()},$r.prototype.checkCollapses=function(){var t=this;if(arguments.length===0)for(var e=this._segStrings.iterator();e.hasNext();){var r=e.next();t.checkCollapses(r)}else if(arguments.length===1)for(var i=arguments[0],s=i.getCoordinates(),o=0;o<s.length-2;o++)t.checkCollapse(s[o],s[o+1],s[o+2])},$r.prototype.hasInteriorIntersection=function(t,e,r){for(var i=0;i<t.getIntersectionNum();i++){var s=t.getIntersection(i);if(!(s.equals(e)||s.equals(r)))return!0}return!1},$r.prototype.checkCollapse=function(t,e,r){if(t.equals(r))throw new Yn("found non-noded collapse at "+$r.fact.createLineString([t,e,r]))},$r.prototype.interfaces_=function(){return[]},$r.prototype.getClass=function(){return $r},Vd.fact.get=function(){return new pt},Object.defineProperties($r,Vd);var Ve=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 t=arguments[0],e=arguments[1],r=arguments[2];if(this._originalPt=t,this._pt=t,this._scaleFactor=e,this._li=r,e<=0)throw new zt("Scale factor must be non-zero");e!==1&&(this._pt=new D(this.scale(t.x),this.scale(t.y)),this._p0Scaled=new D,this._p1Scaled=new D),this.initCorners(this._pt)},zd={SAFE_ENV_EXPANSION_FACTOR:{configurable:!0}};Ve.prototype.intersectsScaled=function(t,e){var r=Math.min(t.x,e.x),i=Math.max(t.x,e.x),s=Math.min(t.y,e.y),o=Math.max(t.y,e.y),a=this._maxx<r||this._minx>i||this._maxy<s||this._miny>o;if(a)return!1;var u=this.intersectsToleranceSquare(t,e);return ct.isTrue(!(a&&u),"Found bad envelope test"),u},Ve.prototype.initCorners=function(t){var e=.5;this._minx=t.x-e,this._maxx=t.x+e,this._miny=t.y-e,this._maxy=t.y+e,this._corner[0]=new D(this._maxx,this._maxy),this._corner[1]=new D(this._minx,this._maxy),this._corner[2]=new D(this._minx,this._miny),this._corner[3]=new D(this._maxx,this._miny)},Ve.prototype.intersects=function(t,e){return this._scaleFactor===1?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},Ve.prototype.scale=function(t){return Math.round(t*this._scaleFactor)},Ve.prototype.getCoordinate=function(){return this._originalPt},Ve.prototype.copyScaled=function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)},Ve.prototype.getSafeEnvelope=function(){if(this._safeEnv===null){var t=Ve.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new j(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv},Ve.prototype.intersectsPixelClosure=function(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.hasIntersection())||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.hasIntersection())||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.hasIntersection()))},Ve.prototype.intersectsToleranceSquare=function(t,e){var r=!1,i=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.isProper())||(this._li.hasIntersection()&&(r=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.isProper())||(this._li.hasIntersection()&&(i=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.isProper())||r&&i||t.equals(this._pt)||e.equals(this._pt))},Ve.prototype.addSnappedNode=function(t,e){var r=t.getCoordinate(e),i=t.getCoordinate(e+1);return this.intersects(r,i)?(t.addIntersection(this.getCoordinate(),e),!0):!1},Ve.prototype.interfaces_=function(){return[]},Ve.prototype.getClass=function(){return Ve},zd.SAFE_ENV_EXPANSION_FACTOR.get=function(){return .75},Object.defineProperties(Ve,zd);var Za=function(){this.tempEnv1=new j,this.selectedSegment=new Z};Za.prototype.select=function(){if(arguments.length!==1){if(arguments.length===2){var t=arguments[0],e=arguments[1];t.getLineSegment(e,this.selectedSegment),this.select(this.selectedSegment)}}},Za.prototype.interfaces_=function(){return[]},Za.prototype.getClass=function(){return Za};var xo=function(){this._index=null;var t=arguments[0];this._index=t},Ud={HotPixelSnapAction:{configurable:!0}};xo.prototype.snap=function(){if(arguments.length===1){var t=arguments[0];return this.snap(t,null,-1)}else if(arguments.length===3){var e=arguments[0],r=arguments[1],i=arguments[2],s=e.getSafeEnvelope(),o=new Gd(e,r,i);return this._index.query(s,{interfaces_:function(){return[wi]},visitItem:function(a){var u=a;u.select(s,o)}}),o.isNodeAdded()}},xo.prototype.interfaces_=function(){return[]},xo.prototype.getClass=function(){return xo},Ud.HotPixelSnapAction.get=function(){return Gd},Object.defineProperties(xo,Ud);var Gd=function(n){function t(){n.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var e=arguments[0],r=arguments[1],i=arguments[2];this._hotPixel=e,this._parentEdge=r,this._hotPixelVertexIndex=i}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.isNodeAdded=function(){return this._isNodeAdded},t.prototype.select=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1],s=r.getContext();if(this._parentEdge!==null&&s===this._parentEdge&&i===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(s,i)}else return n.prototype.select.apply(this,arguments)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Za),Ms=function(){this._li=null,this._interiorIntersections=null;var t=arguments[0];this._li=t,this._interiorIntersections=new U};Ms.prototype.processIntersections=function(t,e,r,i){var s=this;if(t===r&&e===i)return null;var o=t.getCoordinates()[e],a=t.getCoordinates()[e+1],u=r.getCoordinates()[i],l=r.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));t.addIntersections(this._li,e,0),r.addIntersections(this._li,i,1)}},Ms.prototype.isDone=function(){return!1},Ms.prototype.getInteriorIntersections=function(){return this._interiorIntersections},Ms.prototype.interfaces_=function(){return[Ji]},Ms.prototype.getClass=function(){return Ms};var Tn=function(){this._pm=null,this._li=null,this._scaleFactor=null,this._noder=null,this._pointSnapper=null,this._nodedSegStrings=null;var t=arguments[0];this._pm=t,this._li=new Gi,this._li.setPrecisionModel(t),this._scaleFactor=t.getScale()};Tn.prototype.checkCorrectness=function(t){var e=Jt.getNodedSubstrings(t),r=new $r(e);try{r.checkValid()}catch(i){if(i instanceof wd)i.printStackTrace();else throw i}finally{}},Tn.prototype.getNodedSubstrings=function(){return Jt.getNodedSubstrings(this._nodedSegStrings)},Tn.prototype.snapRound=function(t,e){var r=this.findInteriorIntersections(t,e);this.computeIntersectionSnaps(r),this.computeVertexSnaps(t)},Tn.prototype.findInteriorIntersections=function(t,e){var r=new Ms(e);return this._noder.setSegmentIntersector(r),this._noder.computeNodes(t),r.getInteriorIntersections()},Tn.prototype.computeVertexSnaps=function(){var t=this;if(nt(arguments[0],$t))for(var e=arguments[0],r=e.iterator();r.hasNext();){var i=r.next();t.computeVertexSnaps(i)}else if(arguments[0]instanceof Jt)for(var s=arguments[0],o=s.getCoordinates(),a=0;a<o.length;a++){var u=new Ve(o[a],t._scaleFactor,t._li),l=t._pointSnapper.snap(u,s,a);l&&s.addIntersection(o[a],a)}},Tn.prototype.computeNodes=function(t){this._nodedSegStrings=t,this._noder=new lc,this._pointSnapper=new xo(this._noder.getIndex()),this.snapRound(t,this._li)},Tn.prototype.computeIntersectionSnaps=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next(),s=new Ve(i,e._scaleFactor,e._li);e._pointSnapper.snap(s)}},Tn.prototype.interfaces_=function(){return[Hi]},Tn.prototype.getClass=function(){return Tn};var de=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new Nt,this._resultGeometry=null,this._saveException=null,arguments.length===1){var t=arguments[0];this._argGeom=t}else if(arguments.length===2){var e=arguments[0],r=arguments[1];this._argGeom=e,this._bufParams=r}},Do={CAP_ROUND:{configurable:!0},CAP_BUTT:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},MAX_PRECISION_DIGITS:{configurable:!0}};de.prototype.bufferFixedPrecision=function(t){var e=new Ci(new Tn(new bt(1)),t.getScale()),r=new Ne(this._bufParams);r.setWorkingPrecisionModel(t),r.setNoder(e),this._resultGeometry=r.buffer(this._argGeom,this._distance)},de.prototype.bufferReducedPrecision=function(){var t=this;if(arguments.length===0){for(var e=de.MAX_PRECISION_DIGITS;e>=0;e--){try{t.bufferReducedPrecision(e)}catch(o){if(o instanceof Qn)t._saveException=o;else throw o}finally{}if(t._resultGeometry!==null)return null}throw this._saveException}else if(arguments.length===1){var r=arguments[0],i=de.precisionScaleFactor(this._argGeom,this._distance,r),s=new bt(i);this.bufferFixedPrecision(s)}},de.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),this._resultGeometry!==null)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===bt.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()},de.prototype.setQuadrantSegments=function(t){this._bufParams.setQuadrantSegments(t)},de.prototype.bufferOriginalPrecision=function(){try{var t=new Ne(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(e){if(e instanceof Yn)this._saveException=e;else throw e}finally{}},de.prototype.getResultGeometry=function(t){return this._distance=t,this.computeGeometry(),this._resultGeometry},de.prototype.setEndCapStyle=function(t){this._bufParams.setEndCapStyle(t)},de.prototype.interfaces_=function(){return[]},de.prototype.getClass=function(){return de},de.bufferOp=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new de(t),i=r.getResultGeometry(e);return i}else if(arguments.length===3){if(Number.isInteger(arguments[2])&&arguments[0]instanceof rt&&typeof arguments[1]=="number"){var s=arguments[0],o=arguments[1],a=arguments[2],u=new de(s);u.setQuadrantSegments(a);var l=u.getResultGeometry(o);return l}else if(arguments[2]instanceof Nt&&arguments[0]instanceof rt&&typeof arguments[1]=="number"){var c=arguments[0],h=arguments[1],d=arguments[2],g=new de(c,d),y=g.getResultGeometry(h);return y}}else if(arguments.length===4){var C=arguments[0],P=arguments[1],T=arguments[2],v=arguments[3],w=new de(C);w.setQuadrantSegments(T),w.setEndCapStyle(v);var m=w.getResultGeometry(P);return m}},de.precisionScaleFactor=function(t,e,r){var i=t.getEnvelopeInternal(),s=nr.max(Math.abs(i.getMaxX()),Math.abs(i.getMaxY()),Math.abs(i.getMinX()),Math.abs(i.getMinY())),o=e>0?e:0,a=s+2*o,u=Math.trunc(Math.log(a)/Math.log(10)+1),l=r-u,c=Math.pow(10,l);return c},Do.CAP_ROUND.get=function(){return Nt.CAP_ROUND},Do.CAP_BUTT.get=function(){return Nt.CAP_FLAT},Do.CAP_FLAT.get=function(){return Nt.CAP_FLAT},Do.CAP_SQUARE.get=function(){return Nt.CAP_SQUARE},Do.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(de,Do);var Te=function(){this._pt=[new D,new D],this._distance=ot.NaN,this._isNull=!0};Te.prototype.getCoordinates=function(){return this._pt},Te.prototype.getCoordinate=function(t){return this._pt[t]},Te.prototype.setMinimum=function(){if(arguments.length===1){var t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(arguments.length===2){var e=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(e,r),null;var i=e.distance(r);i<this._distance&&this.initialize(e,r,i)}},Te.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var t=arguments[0],e=arguments[1];this._pt[0].setCoordinate(t),this._pt[1].setCoordinate(e),this._distance=t.distance(e),this._isNull=!1}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(r),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},Te.prototype.getDistance=function(){return this._distance},Te.prototype.setMaximum=function(){if(arguments.length===1){var t=arguments[0];this.setMaximum(t._pt[0],t._pt[1])}else if(arguments.length===2){var e=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(e,r),null;var i=e.distance(r);i>this._distance&&this.initialize(e,r,i)}},Te.prototype.interfaces_=function(){return[]},Te.prototype.getClass=function(){return Te};var On=function(){};On.prototype.interfaces_=function(){return[]},On.prototype.getClass=function(){return On},On.computeDistance=function(){if(arguments[2]instanceof Te&&arguments[0]instanceof qt&&arguments[1]instanceof D)for(var t=arguments[0],e=arguments[1],r=arguments[2],i=t.getCoordinates(),s=new Z,o=0;o<i.length-1;o++){s.setCoordinates(i[o],i[o+1]);var a=s.closestPoint(e);r.setMinimum(a,e)}else if(arguments[2]instanceof Te&&arguments[0]instanceof te&&arguments[1]instanceof D){var u=arguments[0],l=arguments[1],c=arguments[2];On.computeDistance(u.getExteriorRing(),l,c);for(var h=0;h<u.getNumInteriorRing();h++)On.computeDistance(u.getInteriorRingN(h),l,c)}else if(arguments[2]instanceof Te&&arguments[0]instanceof rt&&arguments[1]instanceof D){var d=arguments[0],g=arguments[1],y=arguments[2];if(d instanceof qt)On.computeDistance(d,g,y);else if(d instanceof te)On.computeDistance(d,g,y);else if(d instanceof Ie)for(var C=d,P=0;P<C.getNumGeometries();P++){var T=C.getGeometryN(P);On.computeDistance(T,g,y)}else y.setMinimum(d.getCoordinate(),g)}else if(arguments[2]instanceof Te&&arguments[0]instanceof Z&&arguments[1]instanceof D){var v=arguments[0],w=arguments[1],m=arguments[2],_=v.closestPoint(w);m.setMinimum(_,w)}};var ji=function(t){this._maxPtDist=new Te,this._inputGeom=t||null},cc={MaxPointDistanceFilter:{configurable:!0},MaxMidpointDistanceFilter:{configurable:!0}};ji.prototype.computeMaxMidpointDistance=function(t){var e=new Ii(this._inputGeom);t.apply(e),this._maxPtDist.setMaximum(e.getMaxPointDistance())},ji.prototype.computeMaxVertexDistance=function(t){var e=new Ls(this._inputGeom);t.apply(e),this._maxPtDist.setMaximum(e.getMaxPointDistance())},ji.prototype.findDistance=function(t){return this.computeMaxVertexDistance(t),this.computeMaxMidpointDistance(t),this._maxPtDist.getDistance()},ji.prototype.getDistancePoints=function(){return this._maxPtDist},ji.prototype.interfaces_=function(){return[]},ji.prototype.getClass=function(){return ji},cc.MaxPointDistanceFilter.get=function(){return Ls},cc.MaxMidpointDistanceFilter.get=function(){return Ii},Object.defineProperties(ji,cc);var Ls=function(t){this._maxPtDist=new Te,this._minPtDist=new Te,this._geom=t||null};Ls.prototype.filter=function(t){this._minPtDist.initialize(),On.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Ls.prototype.getMaxPointDistance=function(){return this._maxPtDist},Ls.prototype.interfaces_=function(){return[En]},Ls.prototype.getClass=function(){return Ls};var Ii=function(t){this._maxPtDist=new Te,this._minPtDist=new Te,this._geom=t||null};Ii.prototype.filter=function(t,e){if(e===0)return null;var r=t.getCoordinate(e-1),i=t.getCoordinate(e),s=new D((r.x+i.x)/2,(r.y+i.y)/2);this._minPtDist.initialize(),On.computeDistance(this._geom,s,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Ii.prototype.isDone=function(){return!1},Ii.prototype.isGeometryChanged=function(){return!1},Ii.prototype.getMaxPointDistance=function(){return this._maxPtDist},Ii.prototype.interfaces_=function(){return[Mr]},Ii.prototype.getClass=function(){return Ii};var ri=function(t){this._comps=t||null};ri.prototype.filter=function(t){t instanceof te&&this._comps.add(t)},ri.prototype.interfaces_=function(){return[Hr]},ri.prototype.getClass=function(){return ri},ri.getPolygons=function(){if(arguments.length===1){var t=arguments[0];return ri.getPolygons(t,new U)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e instanceof te?r.add(e):e instanceof Ie&&e.apply(new ri(r)),r}};var pe=function(){if(this._lines=null,this._isForcedToLineString=!1,arguments.length===1){var t=arguments[0];this._lines=t}else if(arguments.length===2){var e=arguments[0],r=arguments[1];this._lines=e,this._isForcedToLineString=r}};pe.prototype.filter=function(t){if(this._isForcedToLineString&&t instanceof Sn){var e=t.getFactory().createLineString(t.getCoordinateSequence());return this._lines.add(e),null}t instanceof qt&&this._lines.add(t)},pe.prototype.setForceToLineString=function(t){this._isForcedToLineString=t},pe.prototype.interfaces_=function(){return[Jn]},pe.prototype.getClass=function(){return pe},pe.getGeometry=function(){if(arguments.length===1){var t=arguments[0];return t.getFactory().buildGeometry(pe.getLines(t))}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e.getFactory().buildGeometry(pe.getLines(e,r))}},pe.getLines=function(){if(arguments.length===1){var t=arguments[0];return pe.getLines(t,!1)}else if(arguments.length===2){if(nt(arguments[0],$t)&&nt(arguments[1],$t)){for(var e=arguments[0],r=arguments[1],i=e.iterator();i.hasNext();){var s=i.next();pe.getLines(s,r)}return r}else if(arguments[0]instanceof rt&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1],u=new U;return o.apply(new pe(u,a)),u}else if(arguments[0]instanceof rt&&nt(arguments[1],$t)){var l=arguments[0],c=arguments[1];return l instanceof qt?c.add(l):l.apply(new pe(c)),c}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&nt(arguments[0],$t)&&nt(arguments[1],$t)){for(var h=arguments[0],d=arguments[1],g=arguments[2],y=h.iterator();y.hasNext();){var C=y.next();pe.getLines(C,d,g)}return d}else if(typeof arguments[2]=="boolean"&&arguments[0]instanceof rt&&nt(arguments[1],$t)){var P=arguments[0],T=arguments[1],v=arguments[2];return P.apply(new pe(T,v)),T}}};var Fr=function(){if(this._boundaryRule=pr.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,arguments.length!==0){if(arguments.length===1){var t=arguments[0];if(t===null)throw new zt("Rule must be non-null");this._boundaryRule=t}}};Fr.prototype.locateInternal=function(){var t=this;if(arguments[0]instanceof D&&arguments[1]instanceof te){var e=arguments[0],r=arguments[1];if(r.isEmpty())return R.EXTERIOR;var i=r.getExteriorRing(),s=this.locateInPolygonRing(e,i);if(s===R.EXTERIOR)return R.EXTERIOR;if(s===R.BOUNDARY)return R.BOUNDARY;for(var o=0;o<r.getNumInteriorRing();o++){var a=r.getInteriorRingN(o),u=t.locateInPolygonRing(e,a);if(u===R.INTERIOR)return R.EXTERIOR;if(u===R.BOUNDARY)return R.BOUNDARY}return R.INTERIOR}else if(arguments[0]instanceof D&&arguments[1]instanceof qt){var l=arguments[0],c=arguments[1];if(!c.getEnvelopeInternal().intersects(l))return R.EXTERIOR;var h=c.getCoordinates();return!c.isClosed()&&(l.equals(h[0])||l.equals(h[h.length-1]))?R.BOUNDARY:W.isOnLine(l,h)?R.INTERIOR:R.EXTERIOR}else if(arguments[0]instanceof D&&arguments[1]instanceof Xe){var d=arguments[0],g=arguments[1],y=g.getCoordinate();return y.equals2D(d)?R.INTERIOR:R.EXTERIOR}},Fr.prototype.locateInPolygonRing=function(t,e){return e.getEnvelopeInternal().intersects(t)?W.locatePointInRing(t,e.getCoordinates()):R.EXTERIOR},Fr.prototype.intersects=function(t,e){return this.locate(t,e)!==R.EXTERIOR},Fr.prototype.updateLocationInfo=function(t){t===R.INTERIOR&&(this._isIn=!0),t===R.BOUNDARY&&this._numBoundaries++},Fr.prototype.computeLocation=function(t,e){var r=this;if(e instanceof Xe&&this.updateLocationInfo(this.locateInternal(t,e)),e instanceof qt)this.updateLocationInfo(this.locateInternal(t,e));else if(e instanceof te)this.updateLocationInfo(this.locateInternal(t,e));else if(e instanceof Xi)for(var i=e,s=0;s<i.getNumGeometries();s++){var o=i.getGeometryN(s);r.updateLocationInfo(r.locateInternal(t,o))}else if(e instanceof Cn)for(var a=e,u=0;u<a.getNumGeometries();u++){var l=a.getGeometryN(u);r.updateLocationInfo(r.locateInternal(t,l))}else if(e instanceof Ie)for(var c=new bn(e);c.hasNext();){var h=c.next();h!==e&&r.computeLocation(t,h)}},Fr.prototype.locate=function(t,e){return e.isEmpty()?R.EXTERIOR:e instanceof qt?this.locateInternal(t,e):e instanceof te?this.locateInternal(t,e):(this._isIn=!1,this._numBoundaries=0,this.computeLocation(t,e),this._boundaryRule.isInBoundary(this._numBoundaries)?R.BOUNDARY:this._numBoundaries>0||this._isIn?R.INTERIOR:R.EXTERIOR)},Fr.prototype.interfaces_=function(){return[]},Fr.prototype.getClass=function(){return Fr};var Oe=function n(){if(this._component=null,this._segIndex=null,this._pt=null,arguments.length===2){var t=arguments[0],e=arguments[1];n.call(this,t,n.INSIDE_AREA,e)}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._component=r,this._segIndex=i,this._pt=s}},Wd={INSIDE_AREA:{configurable:!0}};Oe.prototype.isInsideArea=function(){return this._segIndex===Oe.INSIDE_AREA},Oe.prototype.getCoordinate=function(){return this._pt},Oe.prototype.getGeometryComponent=function(){return this._component},Oe.prototype.getSegmentIndex=function(){return this._segIndex},Oe.prototype.interfaces_=function(){return[]},Oe.prototype.getClass=function(){return Oe},Wd.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Oe,Wd);var Pi=function(t){this._pts=t||null};Pi.prototype.filter=function(t){t instanceof Xe&&this._pts.add(t)},Pi.prototype.interfaces_=function(){return[Hr]},Pi.prototype.getClass=function(){return Pi},Pi.getPoints=function(){if(arguments.length===1){var t=arguments[0];return t instanceof Xe?Ar.singletonList(t):Pi.getPoints(t,new U)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e instanceof Xe?r.add(e):e instanceof Ie&&e.apply(new Pi(r)),r}};var As=function(){this._locations=null;var t=arguments[0];this._locations=t};As.prototype.filter=function(t){(t instanceof Xe||t instanceof qt||t instanceof te)&&this._locations.add(new Oe(t,0,t.getCoordinate()))},As.prototype.interfaces_=function(){return[Hr]},As.prototype.getClass=function(){return As},As.getLocations=function(t){var e=new U;return t.apply(new As(e)),e};var ge=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new Fr,this._minDistanceLocation=null,this._minDistance=ot.MAX_VALUE,arguments.length===2){var t=arguments[0],e=arguments[1];this._geom=[t,e],this._terminateDistance=0}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=r,this._geom[1]=i,this._terminateDistance=s}};ge.prototype.computeContainmentDistance=function(){var t=this;if(arguments.length===0){var e=new Array(2).fill(null);if(this.computeContainmentDistance(0,e),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,e)}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=1-r,o=ri.getPolygons(this._geom[r]);if(o.size()>0){var a=As.getLocations(this._geom[s]);if(this.computeContainmentDistance(a,o,i),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[s]=i[0],this._minDistanceLocation[r]=i[1],null}}else if(arguments.length===3){if(arguments[2]instanceof Array&&nt(arguments[0],xr)&&nt(arguments[1],xr)){for(var u=arguments[0],l=arguments[1],c=arguments[2],h=0;h<u.size();h++)for(var d=u.get(h),g=0;g<l.size();g++)if(t.computeContainmentDistance(d,l.get(g),c),t._minDistance<=t._terminateDistance)return null}else if(arguments[2]instanceof Array&&arguments[0]instanceof Oe&&arguments[1]instanceof te){var y=arguments[0],C=arguments[1],P=arguments[2],T=y.getCoordinate();if(R.EXTERIOR!==this._ptLocator.locate(T,C))return this._minDistance=0,P[0]=y,P[1]=new Oe(C,T),null}}},ge.prototype.computeMinDistanceLinesPoints=function(t,e,r){for(var i=this,s=0;s<t.size();s++)for(var o=t.get(s),a=0;a<e.size();a++){var u=e.get(a);if(i.computeMinDistance(o,u,r),i._minDistance<=i._terminateDistance)return null}},ge.prototype.computeFacetDistance=function(){var t=new Array(2).fill(null),e=pe.getLines(this._geom[0]),r=pe.getLines(this._geom[1]),i=Pi.getPoints(this._geom[0]),s=Pi.getPoints(this._geom[1]);if(this.computeMinDistanceLines(e,r,t),this.updateMinDistance(t,!1),this._minDistance<=this._terminateDistance||(t[0]=null,t[1]=null,this.computeMinDistanceLinesPoints(e,s,t),this.updateMinDistance(t,!1),this._minDistance<=this._terminateDistance)||(t[0]=null,t[1]=null,this.computeMinDistanceLinesPoints(r,i,t),this.updateMinDistance(t,!0),this._minDistance<=this._terminateDistance))return null;t[0]=null,t[1]=null,this.computeMinDistancePoints(i,s,t),this.updateMinDistance(t,!1)},ge.prototype.nearestLocations=function(){return this.computeMinDistance(),this._minDistanceLocation},ge.prototype.updateMinDistance=function(t,e){if(t[0]===null)return null;e?(this._minDistanceLocation[0]=t[1],this._minDistanceLocation[1]=t[0]):(this._minDistanceLocation[0]=t[0],this._minDistanceLocation[1]=t[1])},ge.prototype.nearestPoints=function(){this.computeMinDistance();var t=[this._minDistanceLocation[0].getCoordinate(),this._minDistanceLocation[1].getCoordinate()];return t},ge.prototype.computeMinDistance=function(){var t=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 Xe){var e=arguments[0],r=arguments[1],i=arguments[2];if(e.getEnvelopeInternal().distance(r.getEnvelopeInternal())>this._minDistance)return null;for(var s=e.getCoordinates(),o=r.getCoordinate(),a=0;a<s.length-1;a++){var u=W.distancePointLine(o,s[a],s[a+1]);if(u<t._minDistance){t._minDistance=u;var l=new Z(s[a],s[a+1]),c=l.closestPoint(o);i[0]=new Oe(e,a,c),i[1]=new Oe(r,0,o)}if(t._minDistance<=t._terminateDistance)return null}}else if(arguments[2]instanceof Array&&arguments[0]instanceof qt&&arguments[1]instanceof qt){var h=arguments[0],d=arguments[1],g=arguments[2];if(h.getEnvelopeInternal().distance(d.getEnvelopeInternal())>this._minDistance)return null;for(var y=h.getCoordinates(),C=d.getCoordinates(),P=0;P<y.length-1;P++)for(var T=0;T<C.length-1;T++){var v=W.distanceLineLine(y[P],y[P+1],C[T],C[T+1]);if(v<t._minDistance){t._minDistance=v;var w=new Z(y[P],y[P+1]),m=new Z(C[T],C[T+1]),_=w.closestPoints(m);g[0]=new Oe(h,P,_[0]),g[1]=new Oe(d,T,_[1])}if(t._minDistance<=t._terminateDistance)return null}}}},ge.prototype.computeMinDistancePoints=function(t,e,r){for(var i=this,s=0;s<t.size();s++)for(var o=t.get(s),a=0;a<e.size();a++){var u=e.get(a),l=o.getCoordinate().distance(u.getCoordinate());if(l<i._minDistance&&(i._minDistance=l,r[0]=new Oe(o,0,o.getCoordinate()),r[1]=new Oe(u,0,u.getCoordinate())),i._minDistance<=i._terminateDistance)return null}},ge.prototype.distance=function(){if(this._geom[0]===null||this._geom[1]===null)throw new zt("null geometries are not supported");return this._geom[0].isEmpty()||this._geom[1].isEmpty()?0:(this.computeMinDistance(),this._minDistance)},ge.prototype.computeMinDistanceLines=function(t,e,r){for(var i=this,s=0;s<t.size();s++)for(var o=t.get(s),a=0;a<e.size();a++){var u=e.get(a);if(i.computeMinDistance(o,u,r),i._minDistance<=i._terminateDistance)return null}},ge.prototype.interfaces_=function(){return[]},ge.prototype.getClass=function(){return ge},ge.distance=function(t,e){var r=new ge(t,e);return r.distance()},ge.isWithinDistance=function(t,e,r){var i=new ge(t,e,r);return i.distance()<=r},ge.nearestPoints=function(t,e){var r=new ge(t,e);return r.nearestPoints()};var Se=function(){this._pt=[new D,new D],this._distance=ot.NaN,this._isNull=!0};Se.prototype.getCoordinates=function(){return this._pt},Se.prototype.getCoordinate=function(t){return this._pt[t]},Se.prototype.setMinimum=function(){if(arguments.length===1){var t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(arguments.length===2){var e=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(e,r),null;var i=e.distance(r);i<this._distance&&this.initialize(e,r,i)}},Se.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var t=arguments[0],e=arguments[1];this._pt[0].setCoordinate(t),this._pt[1].setCoordinate(e),this._distance=t.distance(e),this._isNull=!1}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(r),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},Se.prototype.toString=function(){return Or.toLineString(this._pt[0],this._pt[1])},Se.prototype.getDistance=function(){return this._distance},Se.prototype.setMaximum=function(){if(arguments.length===1){var t=arguments[0];this.setMaximum(t._pt[0],t._pt[1])}else if(arguments.length===2){var e=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(e,r),null;var i=e.distance(r);i>this._distance&&this.initialize(e,r,i)}},Se.prototype.interfaces_=function(){return[]},Se.prototype.getClass=function(){return Se};var tn=function(){};tn.prototype.interfaces_=function(){return[]},tn.prototype.getClass=function(){return tn},tn.computeDistance=function(){if(arguments[2]instanceof Se&&arguments[0]instanceof qt&&arguments[1]instanceof D)for(var t=arguments[0],e=arguments[1],r=arguments[2],i=new Z,s=t.getCoordinates(),o=0;o<s.length-1;o++){i.setCoordinates(s[o],s[o+1]);var a=i.closestPoint(e);r.setMinimum(a,e)}else if(arguments[2]instanceof Se&&arguments[0]instanceof te&&arguments[1]instanceof D){var u=arguments[0],l=arguments[1],c=arguments[2];tn.computeDistance(u.getExteriorRing(),l,c);for(var h=0;h<u.getNumInteriorRing();h++)tn.computeDistance(u.getInteriorRingN(h),l,c)}else if(arguments[2]instanceof Se&&arguments[0]instanceof rt&&arguments[1]instanceof D){var d=arguments[0],g=arguments[1],y=arguments[2];if(d instanceof qt)tn.computeDistance(d,g,y);else if(d instanceof te)tn.computeDistance(d,g,y);else if(d instanceof Ie)for(var C=d,P=0;P<C.getNumGeometries();P++){var T=C.getGeometryN(P);tn.computeDistance(T,g,y)}else y.setMinimum(d.getCoordinate(),g)}else if(arguments[2]instanceof Se&&arguments[0]instanceof Z&&arguments[1]instanceof D){var v=arguments[0],w=arguments[1],m=arguments[2],_=v.closestPoint(w);m.setMinimum(_,w)}};var _r=function(){this._g0=null,this._g1=null,this._ptDist=new Se,this._densifyFrac=0;var t=arguments[0],e=arguments[1];this._g0=t,this._g1=e},hc={MaxPointDistanceFilter:{configurable:!0},MaxDensifiedByFractionDistanceFilter:{configurable:!0}};_r.prototype.getCoordinates=function(){return this._ptDist.getCoordinates()},_r.prototype.setDensifyFraction=function(t){if(t>1||t<=0)throw new zt("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=t},_r.prototype.compute=function(t,e){this.computeOrientedDistance(t,e,this._ptDist),this.computeOrientedDistance(e,t,this._ptDist)},_r.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},_r.prototype.computeOrientedDistance=function(t,e,r){var i=new Rs(e);if(t.apply(i),r.setMaximum(i.getMaxPointDistance()),this._densifyFrac>0){var s=new bi(e,this._densifyFrac);t.apply(s),r.setMaximum(s.getMaxPointDistance())}},_r.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},_r.prototype.interfaces_=function(){return[]},_r.prototype.getClass=function(){return _r},_r.distance=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new _r(t,e);return r.distance()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new _r(i,s);return a.setDensifyFraction(o),a.distance()}},hc.MaxPointDistanceFilter.get=function(){return Rs},hc.MaxDensifiedByFractionDistanceFilter.get=function(){return bi},Object.defineProperties(_r,hc);var Rs=function(){this._maxPtDist=new Se,this._minPtDist=new Se,this._euclideanDist=new tn,this._geom=null;var t=arguments[0];this._geom=t};Rs.prototype.filter=function(t){this._minPtDist.initialize(),tn.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Rs.prototype.getMaxPointDistance=function(){return this._maxPtDist},Rs.prototype.interfaces_=function(){return[En]},Rs.prototype.getClass=function(){return Rs};var bi=function(){this._maxPtDist=new Se,this._minPtDist=new Se,this._geom=null,this._numSubSegs=0;var t=arguments[0],e=arguments[1];this._geom=t,this._numSubSegs=Math.trunc(Math.round(1/e))};bi.prototype.filter=function(t,e){var r=this;if(e===0)return null;for(var i=t.getCoordinate(e-1),s=t.getCoordinate(e),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 D(l,c);r._minPtDist.initialize(),tn.computeDistance(r._geom,h,r._minPtDist),r._maxPtDist.setMaximum(r._minPtDist)}},bi.prototype.isDone=function(){return!1},bi.prototype.isGeometryChanged=function(){return!1},bi.prototype.getMaxPointDistance=function(){return this._maxPtDist},bi.prototype.interfaces_=function(){return[Mr]},bi.prototype.getClass=function(){return bi};var Je=function(t,e,r){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=t||null,this._bufDistance=e||null,this._result=r||null},fc={VERBOSE:{configurable:!0},MAX_DISTANCE_DIFF_FRAC:{configurable:!0}};Je.prototype.checkMaximumDistance=function(t,e,r){var i=new _r(e,t);if(i.setDensifyFraction(.25),this._maxDistanceFound=i.orientedDistance(),this._maxDistanceFound>r){this._isValid=!1;var s=i.getCoordinates();this._errorLocation=s[1],this._errorIndicator=t.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too large ("+this._maxDistanceFound+" at "+Or.toLineString(s[0],s[1])+")"}},Je.prototype.isValid=function(){var t=Math.abs(this._bufDistance),e=Je.MAX_DISTANCE_DIFF_FRAC*t;return this._minValidDistance=t-e,this._maxValidDistance=t+e,this._input.isEmpty()||this._result.isEmpty()?!0:(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),Je.VERBOSE&&he.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},Je.prototype.checkNegativeValid=function(){if(!(this._input instanceof te||this._input instanceof Cn||this._input instanceof Ie))return null;var t=this.getPolygonLines(this._input);if(this.checkMinimumDistance(t,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(t,this._result,this._maxValidDistance)},Je.prototype.getErrorIndicator=function(){return this._errorIndicator},Je.prototype.checkMinimumDistance=function(t,e,r){var i=new ge(t,e,r);if(this._minDistanceFound=i.distance(),this._minDistanceFound<r){this._isValid=!1;var s=i.nearestPoints();this._errorLocation=i.nearestPoints()[1],this._errorIndicator=t.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too small ("+this._minDistanceFound+" at "+Or.toLineString(s[0],s[1])+" )"}},Je.prototype.checkPositiveValid=function(){var t=this._result.getBoundary();if(this.checkMinimumDistance(this._input,t,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(this._input,t,this._maxValidDistance)},Je.prototype.getErrorLocation=function(){return this._errorLocation},Je.prototype.getPolygonLines=function(t){for(var e=new U,r=new pe(e),i=ri.getPolygons(t),s=i.iterator();s.hasNext();){var o=s.next();o.apply(r)}return t.getFactory().buildGeometry(e)},Je.prototype.getErrorMessage=function(){return this._errMsg},Je.prototype.interfaces_=function(){return[]},Je.prototype.getClass=function(){return Je},fc.VERBOSE.get=function(){return!1},fc.MAX_DISTANCE_DIFF_FRAC.get=function(){return .012},Object.defineProperties(Je,fc);var me=function(t,e,r){this._isValid=!0,this._errorMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=t||null,this._distance=e||null,this._result=r||null},dc={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 t=this._distance*me.MAX_ENV_DIFF_FRAC;t===0&&(t=.001);var e=new j(this._input.getEnvelopeInternal());e.expandBy(this._distance);var r=new j(this._result.getEnvelopeInternal());r.expandBy(t),r.contains(e)||(this._isValid=!1,this._errorMsg="Buffer envelope is incorrect",this._errorIndicator=this._input.getFactory().toGeometry(r)),this.report("Envelope")},me.prototype.checkDistance=function(){var t=new Je(this._input,this._distance,this._result);t.isValid()||(this._isValid=!1,this._errorMsg=t.getErrorMessage(),this._errorLocation=t.getErrorLocation(),this._errorIndicator=t.getErrorIndicator()),this.report("Distance")},me.prototype.checkArea=function(){var t=this._input.getArea(),e=this._result.getArea();this._distance>0&&t>e&&(this._isValid=!1,this._errorMsg="Area of positive buffer is smaller than input",this._errorIndicator=this._result),this._distance<0&&t<e&&(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 te||this._result instanceof Cn||(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(t){if(!me.VERBOSE)return null;he.out.println("Check "+t+": "+(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(t,e,r){var i=new me(t,e,r);return i.isValid()?null:i.getErrorMessage()},me.isValid=function(t,e,r){var i=new me(t,e,r);return!!i.isValid()},dc.VERBOSE.get=function(){return!1},dc.MAX_ENV_DIFF_FRAC.get=function(){return .012},Object.defineProperties(me,dc);var en=function(){this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};en.prototype.getCoordinates=function(){return this._pts},en.prototype.size=function(){return this._pts.length},en.prototype.getCoordinate=function(t){return this._pts[t]},en.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},en.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:Os.octant(this.getCoordinate(t),this.getCoordinate(t+1))},en.prototype.setData=function(t){this._data=t},en.prototype.getData=function(){return this._data},en.prototype.toString=function(){return Or.toLineString(new Yt(this._pts))},en.prototype.interfaces_=function(){return[Pn]},en.prototype.getClass=function(){return en};var ae=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new U,this._intersectionCount=0,this._keepIntersections=!0;var t=arguments[0];this._li=t,this._interiorIntersection=null};ae.prototype.getInteriorIntersection=function(){return this._interiorIntersection},ae.prototype.setCheckEndSegmentsOnly=function(t){this._isCheckEndSegmentsOnly=t},ae.prototype.getIntersectionSegments=function(){return this._intSegments},ae.prototype.count=function(){return this._intersectionCount},ae.prototype.getIntersections=function(){return this._intersections},ae.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},ae.prototype.setKeepIntersections=function(t){this._keepIntersections=t},ae.prototype.processIntersections=function(t,e,r,i){if(!this._findAllIntersections&&this.hasIntersection()||t===r&&e===i)return null;if(this._isCheckEndSegmentsOnly){var s=this.isEndSegment(t,e)||this.isEndSegment(r,i);if(!s)return null}var o=t.getCoordinates()[e],a=t.getCoordinates()[e+1],u=r.getCoordinates()[i],l=r.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++)},ae.prototype.isEndSegment=function(t,e){return e===0||e>=t.size()-2},ae.prototype.hasIntersection=function(){return this._interiorIntersection!==null},ae.prototype.isDone=function(){return this._findAllIntersections?!1:this._interiorIntersection!==null},ae.prototype.interfaces_=function(){return[Ji]},ae.prototype.getClass=function(){return ae},ae.createAllIntersectionsFinder=function(t){var e=new ae(t);return e.setFindAllIntersections(!0),e},ae.createAnyIntersectionFinder=function(t){return new ae(t)},ae.createIntersectionCounter=function(t){var e=new ae(t);return e.setFindAllIntersections(!0),e.setKeepIntersections(!1),e};var kr=function(){this._li=new Gi,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var t=arguments[0];this._segStrings=t};kr.prototype.execute=function(){if(this._segInt!==null)return null;this.checkInteriorIntersections()},kr.prototype.getIntersections=function(){return this._segInt.getIntersections()},kr.prototype.isValid=function(){return this.execute(),this._isValid},kr.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},kr.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new ae(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var t=new lc;if(t.setSegmentIntersector(this._segInt),t.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},kr.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new Qn(this.getErrorMessage(),this._segInt.getInteriorIntersection())},kr.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var t=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+Or.toLineString(t[0],t[1])+" and "+Or.toLineString(t[2],t[3])},kr.prototype.interfaces_=function(){return[]},kr.prototype.getClass=function(){return kr},kr.computeIntersections=function(t){var e=new kr(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()};var Zi=function n(){this._nv=null;var t=arguments[0];this._nv=new kr(n.toSegmentStrings(t))};Zi.prototype.checkValid=function(){this._nv.checkValid()},Zi.prototype.interfaces_=function(){return[]},Zi.prototype.getClass=function(){return Zi},Zi.toSegmentStrings=function(t){for(var e=new U,r=t.iterator();r.hasNext();){var i=r.next();e.add(new en(i.getCoordinates(),i))}return e},Zi.checkValid=function(t){var e=new Zi(t);e.checkValid()};var Fs=function(t){this._mapOp=t};Fs.prototype.map=function(t){for(var e=this,r=new U,i=0;i<t.getNumGeometries();i++){var s=e._mapOp.map(t.getGeometryN(i));s.isEmpty()||r.add(s)}return t.getFactory().createGeometryCollection(pt.toGeometryArray(r))},Fs.prototype.interfaces_=function(){return[]},Fs.prototype.getClass=function(){return Fs},Fs.map=function(t,e){var r=new Fs(e);return r.map(t)};var rn=function(){this._op=null,this._geometryFactory=null,this._ptLocator=null,this._lineEdgesList=new U,this._resultLineList=new U;var t=arguments[0],e=arguments[1],r=arguments[2];this._op=t,this._geometryFactory=e,this._ptLocator=r};rn.prototype.collectLines=function(t){for(var e=this,r=this._op.getGraph().getEdgeEnds().iterator();r.hasNext();){var i=r.next();e.collectLineEdge(i,t,e._lineEdgesList),e.collectBoundaryTouchEdge(i,t,e._lineEdgesList)}},rn.prototype.labelIsolatedLine=function(t,e){var r=this._ptLocator.locate(t.getCoordinate(),this._op.getArgGeometry(e));t.getLabel().setLocation(e,r)},rn.prototype.build=function(t){return this.findCoveredLineEdges(),this.collectLines(t),this.buildLines(t),this._resultLineList},rn.prototype.collectLineEdge=function(t,e,r){var i=t.getLabel(),s=t.getEdge();t.isLineEdge()&&!t.isVisited()&<.isResultOfOp(i,e)&&!s.isCovered()&&(r.add(s),t.setVisitedEdge(!0))},rn.prototype.findCoveredLineEdges=function(){for(var t=this,e=this._op.getGraph().getNodes().iterator();e.hasNext();){var r=e.next();r.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=t._op.isCoveredByA(s.getCoordinate());o.setCovered(a)}}},rn.prototype.labelIsolatedLines=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();i.isIsolated()&&(s.isNull(0)?e.labelIsolatedLine(i,0):e.labelIsolatedLine(i,1))}},rn.prototype.buildLines=function(t){for(var e=this,r=this._lineEdgesList.iterator();r.hasNext();){var i=r.next(),s=e._geometryFactory.createLineString(i.getCoordinates());e._resultLineList.add(s),i.setInResult(!0)}},rn.prototype.collectBoundaryTouchEdge=function(t,e,r){var i=t.getLabel();if(t.isLineEdge()||t.isVisited()||t.isInteriorAreaEdge()||t.getEdge().isInResult())return null;ct.isTrue(!(t.isInResult()||t.getSym().isInResult())||!t.getEdge().isInResult()),lt.isResultOfOp(i,e)&&e===lt.INTERSECTION&&(r.add(t.getEdge()),t.setVisitedEdge(!0))},rn.prototype.interfaces_=function(){return[]},rn.prototype.getClass=function(){return rn};var ks=function(){this._op=null,this._geometryFactory=null,this._resultPointList=new U;var t=arguments[0],e=arguments[1];this._op=t,this._geometryFactory=e};ks.prototype.filterCoveredNodeToPoint=function(t){var e=t.getCoordinate();if(!this._op.isCoveredByLA(e)){var r=this._geometryFactory.createPoint(e);this._resultPointList.add(r)}},ks.prototype.extractNonCoveredResultNodes=function(t){for(var e=this,r=this._op.getGraph().getNodes().iterator();r.hasNext();){var i=r.next();if(!i.isInResult()&&!i.isIncidentEdgeInResult()&&(i.getEdges().getDegree()===0||t===lt.INTERSECTION)){var s=i.getLabel();lt.isResultOfOp(s,t)&&e.filterCoveredNodeToPoint(i)}}},ks.prototype.build=function(t){return this.extractNonCoveredResultNodes(t),this._resultPointList},ks.prototype.interfaces_=function(){return[]},ks.prototype.getClass=function(){return ks};var ze=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};ze.prototype.transformPoint=function(t,e){return this._factory.createPoint(this.transformCoordinates(t.getCoordinateSequence(),t))},ze.prototype.transformPolygon=function(t,e){var r=this,i=!0,s=this.transformLinearRing(t.getExteriorRing(),t);(s===null||!(s instanceof Sn)||s.isEmpty())&&(i=!1);for(var o=new U,a=0;a<t.getNumInteriorRing();a++){var u=r.transformLinearRing(t.getInteriorRingN(a),t);u===null||u.isEmpty()||(u instanceof Sn||(i=!1),o.add(u))}if(i)return this._factory.createPolygon(s,o.toArray([]));var l=new U;return s!==null&&l.add(s),l.addAll(o),this._factory.buildGeometry(l)},ze.prototype.createCoordinateSequence=function(t){return this._factory.getCoordinateSequenceFactory().create(t)},ze.prototype.getInputGeometry=function(){return this._inputGeom},ze.prototype.transformMultiLineString=function(t,e){for(var r=this,i=new U,s=0;s<t.getNumGeometries();s++){var o=r.transformLineString(t.getGeometryN(s),t);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},ze.prototype.transformCoordinates=function(t,e){return this.copy(t)},ze.prototype.transformLineString=function(t,e){return this._factory.createLineString(this.transformCoordinates(t.getCoordinateSequence(),t))},ze.prototype.transformMultiPoint=function(t,e){for(var r=this,i=new U,s=0;s<t.getNumGeometries();s++){var o=r.transformPoint(t.getGeometryN(s),t);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},ze.prototype.transformMultiPolygon=function(t,e){for(var r=this,i=new U,s=0;s<t.getNumGeometries();s++){var o=r.transformPolygon(t.getGeometryN(s),t);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},ze.prototype.copy=function(t){return t.copy()},ze.prototype.transformGeometryCollection=function(t,e){for(var r=this,i=new U,s=0;s<t.getNumGeometries();s++){var o=r.transform(t.getGeometryN(s));o!==null&&(r._pruneEmptyGeometry&&o.isEmpty()||i.add(o))}return this._preserveGeometryCollectionType?this._factory.createGeometryCollection(pt.toGeometryArray(i)):this._factory.buildGeometry(i)},ze.prototype.transform=function(t){if(this._inputGeom=t,this._factory=t.getFactory(),t instanceof Xe)return this.transformPoint(t,null);if(t instanceof Po)return this.transformMultiPoint(t,null);if(t instanceof Sn)return this.transformLinearRing(t,null);if(t instanceof qt)return this.transformLineString(t,null);if(t instanceof Xi)return this.transformMultiLineString(t,null);if(t instanceof te)return this.transformPolygon(t,null);if(t instanceof Cn)return this.transformMultiPolygon(t,null);if(t instanceof Ie)return this.transformGeometryCollection(t,null);throw new zt("Unknown Geometry subtype: "+t.getClass().getName())},ze.prototype.transformLinearRing=function(t,e){var r=this.transformCoordinates(t.getCoordinateSequence(),t);if(r===null)return this._factory.createLinearRing(null);var i=r.size();return i>0&&i<4&&!this._preserveType?this._factory.createLineString(r):this._factory.createLinearRing(r)},ze.prototype.interfaces_=function(){return[]},ze.prototype.getClass=function(){return ze};var xn=function n(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new Z,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof qt&&typeof arguments[1]=="number"){var t=arguments[0],e=arguments[1];n.call(this,t.getCoordinates(),e)}else if(arguments[0]instanceof Array&&typeof arguments[1]=="number"){var r=arguments[0],i=arguments[1];this._srcPts=r,this._isClosed=n.isClosed(r),this._snapTolerance=i}};xn.prototype.snapVertices=function(t,e){for(var r=this,i=this._isClosed?t.size()-1:t.size(),s=0;s<i;s++){var o=t.get(s),a=r.findSnapForVertex(o,e);a!==null&&(t.set(s,new D(a)),s===0&&r._isClosed&&t.set(t.size()-1,new D(a)))}},xn.prototype.findSnapForVertex=function(t,e){for(var r=this,i=0;i<e.length;i++){if(t.equals2D(e[i]))return null;if(t.distance(e[i])<r._snapTolerance)return e[i]}return null},xn.prototype.snapTo=function(t){var e=new Fa(this._srcPts);this.snapVertices(e,t),this.snapSegments(e,t);var r=e.toCoordinateArray();return r},xn.prototype.snapSegments=function(t,e){var r=this;if(e.length===0)return null;var i=e.length;e[0].equals2D(e[e.length-1])&&(i=e.length-1);for(var s=0;s<i;s++){var o=e[s],a=r.findSegmentIndexToSnap(o,t);a>=0&&t.add(a+1,new D(o),!1)}},xn.prototype.findSegmentIndexToSnap=function(t,e){for(var r=this,i=ot.MAX_VALUE,s=-1,o=0;o<e.size()-1;o++){if(r._seg.p0=e.get(o),r._seg.p1=e.get(o+1),r._seg.p0.equals2D(t)||r._seg.p1.equals2D(t)){if(r._allowSnappingToSourceVertices)continue;return-1}var a=r._seg.distance(t);a<r._snapTolerance&&a<i&&(i=a,s=o)}return s},xn.prototype.setAllowSnappingToSourceVertices=function(t){this._allowSnappingToSourceVertices=t},xn.prototype.interfaces_=function(){return[]},xn.prototype.getClass=function(){return xn},xn.isClosed=function(t){return t.length<=1?!1:t[0].equals2D(t[t.length-1])};var Bt=function(t){this._srcGeom=t||null},qd={SNAP_PRECISION_FACTOR:{configurable:!0}};Bt.prototype.snapTo=function(t,e){var r=this.extractTargetCoordinates(t),i=new Xd(e,r);return i.transform(this._srcGeom)},Bt.prototype.snapToSelf=function(t,e){var r=this.extractTargetCoordinates(this._srcGeom),i=new Xd(t,r,!0),s=i.transform(this._srcGeom),o=s;return e&&nt(o,_i)&&(o=s.buffer(0)),o},Bt.prototype.computeSnapTolerance=function(t){var e=this.computeMinimumSegmentLength(t),r=e/10;return r},Bt.prototype.extractTargetCoordinates=function(t){for(var e=new Xr,r=t.getCoordinates(),i=0;i<r.length;i++)e.add(r[i]);return e.toArray(new Array(0).fill(null))},Bt.prototype.computeMinimumSegmentLength=function(t){for(var e=ot.MAX_VALUE,r=0;r<t.length-1;r++){var i=t[r].distance(t[r+1]);i<e&&(e=i)}return e},Bt.prototype.interfaces_=function(){return[]},Bt.prototype.getClass=function(){return Bt},Bt.snap=function(t,e,r){var i=new Array(2).fill(null),s=new Bt(t);i[0]=s.snapTo(e,r);var o=new Bt(e);return i[1]=o.snapTo(i[0],r),i},Bt.computeOverlaySnapTolerance=function(){if(arguments.length===1){var t=arguments[0],e=Bt.computeSizeBasedSnapTolerance(t),r=t.getPrecisionModel();if(r.getType()===bt.FIXED){var i=1/r.getScale()*2/1.415;i>e&&(e=i)}return e}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return Math.min(Bt.computeOverlaySnapTolerance(s),Bt.computeOverlaySnapTolerance(o))}},Bt.computeSizeBasedSnapTolerance=function(t){var e=t.getEnvelopeInternal(),r=Math.min(e.getHeight(),e.getWidth()),i=r*Bt.SNAP_PRECISION_FACTOR;return i},Bt.snapToSelf=function(t,e,r){var i=new Bt(t);return i.snapToSelf(e,r)},qd.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(Bt,qd);var Xd=function(n){function t(e,r,i){n.call(this),this._snapTolerance=e||null,this._snapPts=r||null,this._isSelfSnap=i!==void 0?i:!1}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.snapLine=function(r,i){var s=new xn(r,this._snapTolerance);return s.setAllowSnappingToSourceVertices(this._isSelfSnap),s.snapTo(i)},t.prototype.transformCoordinates=function(r,i){var s=r.toCoordinateArray(),o=this.snapLine(s,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(o)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(ze),xe=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};xe.prototype.getCommon=function(){return ot.longBitsToDouble(this._commonBits)},xe.prototype.add=function(t){var e=ot.doubleToLongBits(t);if(this._isFirst)return this._commonBits=e,this._commonSignExp=xe.signExpBits(this._commonBits),this._isFirst=!1,null;var r=xe.signExpBits(e);if(r!==this._commonSignExp)return this._commonBits=0,null;this._commonMantissaBitsCount=xe.numCommonMostSigMantissaBits(this._commonBits,e),this._commonBits=xe.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))},xe.prototype.toString=function(){if(arguments.length===1){var t=arguments[0],e=ot.longBitsToDouble(t),r=ot.toBinaryString(t),i="0000000000000000000000000000000000000000000000000000000000000000"+r,s=i.substring(i.length-64),o=s.substring(0,1)+" "+s.substring(1,12)+"(exp) "+s.substring(12)+" [ "+e+" ]";return o}},xe.prototype.interfaces_=function(){return[]},xe.prototype.getClass=function(){return xe},xe.getBit=function(t,e){var r=1<<e;return(t&r)!==0?1:0},xe.signExpBits=function(t){return t>>52},xe.zeroLowerBits=function(t,e){var r=(1<<e)-1,i=~r,s=t&i;return s},xe.numCommonMostSigMantissaBits=function(t,e){for(var r=0,i=52;i>=0;i--){if(xe.getBit(t,i)!==xe.getBit(e,i))return r;r++}return 52};var Ni=function(){this._commonCoord=null,this._ccFilter=new Vs},pc={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};Ni.prototype.addCommonBits=function(t){var e=new Ti(this._commonCoord);t.apply(e),t.geometryChanged()},Ni.prototype.removeCommonBits=function(t){if(this._commonCoord.x===0&&this._commonCoord.y===0)return t;var e=new D(this._commonCoord);e.x=-e.x,e.y=-e.y;var r=new Ti(e);return t.apply(r),t.geometryChanged(),t},Ni.prototype.getCommonCoordinate=function(){return this._commonCoord},Ni.prototype.add=function(t){t.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},Ni.prototype.interfaces_=function(){return[]},Ni.prototype.getClass=function(){return Ni},pc.CommonCoordinateFilter.get=function(){return Vs},pc.Translater.get=function(){return Ti},Object.defineProperties(Ni,pc);var Vs=function(){this._commonBitsX=new xe,this._commonBitsY=new xe};Vs.prototype.filter=function(t){this._commonBitsX.add(t.x),this._commonBitsY.add(t.y)},Vs.prototype.getCommonCoordinate=function(){return new D(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},Vs.prototype.interfaces_=function(){return[En]},Vs.prototype.getClass=function(){return Vs};var Ti=function(){this.trans=null;var t=arguments[0];this.trans=t};Ti.prototype.filter=function(t,e){var r=t.getOrdinate(e,0)+this.trans.x,i=t.getOrdinate(e,1)+this.trans.y;t.setOrdinate(e,0,r),t.setOrdinate(e,1,i)},Ti.prototype.isDone=function(){return!1},Ti.prototype.isGeometryChanged=function(){return!0},Ti.prototype.interfaces_=function(){return[Mr]},Ti.prototype.getClass=function(){return Ti};var ue=function(t,e){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=t,this._geom[1]=e,this.computeSnapTolerance()};ue.prototype.selfSnap=function(t){var e=new Bt(t),r=e.snapTo(t,this._snapTolerance);return r},ue.prototype.removeCommonBits=function(t){this._cbr=new Ni,this._cbr.add(t[0]),this._cbr.add(t[1]);var e=new Array(2).fill(null);return e[0]=this._cbr.removeCommonBits(t[0].copy()),e[1]=this._cbr.removeCommonBits(t[1].copy()),e},ue.prototype.prepareResult=function(t){return this._cbr.addCommonBits(t),t},ue.prototype.getResultGeometry=function(t){var e=this.snap(this._geom),r=lt.overlayOp(e[0],e[1],t);return this.prepareResult(r)},ue.prototype.checkValid=function(t){t.isValid()||he.out.println("Snapped geometry is invalid")},ue.prototype.computeSnapTolerance=function(){this._snapTolerance=Bt.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},ue.prototype.snap=function(t){var e=this.removeCommonBits(t),r=Bt.snap(e[0],e[1],this._snapTolerance);return r},ue.prototype.interfaces_=function(){return[]},ue.prototype.getClass=function(){return ue},ue.overlayOp=function(t,e,r){var i=new ue(t,e);return i.getResultGeometry(r)},ue.union=function(t,e){return ue.overlayOp(t,e,lt.UNION)},ue.intersection=function(t,e){return ue.overlayOp(t,e,lt.INTERSECTION)},ue.symDifference=function(t,e){return ue.overlayOp(t,e,lt.SYMDIFFERENCE)},ue.difference=function(t,e){return ue.overlayOp(t,e,lt.DIFFERENCE)};var De=function(t,e){this._geom=new Array(2).fill(null),this._geom[0]=t,this._geom[1]=e};De.prototype.getResultGeometry=function(t){var e=null,r=!1,i=null;try{e=lt.overlayOp(this._geom[0],this._geom[1],t);var s=!0;s&&(r=!0)}catch(o){if(o instanceof Yn)i=o;else throw o}finally{}if(!r)try{e=ue.overlayOp(this._geom[0],this._geom[1],t)}catch(o){throw o instanceof Yn?i:o}finally{}return e},De.prototype.interfaces_=function(){return[]},De.prototype.getClass=function(){return De},De.overlayOp=function(t,e,r){var i=new De(t,e);return i.getResultGeometry(r)},De.union=function(t,e){return De.overlayOp(t,e,lt.UNION)},De.intersection=function(t,e){return De.overlayOp(t,e,lt.INTERSECTION)},De.symDifference=function(t,e){return De.overlayOp(t,e,lt.SYMDIFFERENCE)},De.difference=function(t,e){return De.overlayOp(t,e,lt.DIFFERENCE)};var Ka=function(){this.mce=null,this.chainIndex=null;var t=arguments[0],e=arguments[1];this.mce=t,this.chainIndex=e};Ka.prototype.computeIntersections=function(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)},Ka.prototype.interfaces_=function(){return[]},Ka.prototype.getClass=function(){return Ka};var Be=function n(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,arguments.length===2){var t=arguments[0],e=arguments[1];this._eventType=n.DELETE,this._xValue=t,this._insertEvent=e}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._eventType=n.INSERT,this._label=r,this._xValue=i,this._obj=s}},gc={INSERT:{configurable:!0},DELETE:{configurable:!0}};Be.prototype.isDelete=function(){return this._eventType===Be.DELETE},Be.prototype.setDeleteEventIndex=function(t){this._deleteEventIndex=t},Be.prototype.getObject=function(){return this._obj},Be.prototype.compareTo=function(t){var e=t;return this._xValue<e._xValue?-1:this._xValue>e._xValue?1:this._eventType<e._eventType?-1:this._eventType>e._eventType?1:0},Be.prototype.getInsertEvent=function(){return this._insertEvent},Be.prototype.isInsert=function(){return this._eventType===Be.INSERT},Be.prototype.isSameLabel=function(t){return this._label===null?!1:this._label===t._label},Be.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},Be.prototype.interfaces_=function(){return[fr]},Be.prototype.getClass=function(){return Be},gc.INSERT.get=function(){return 1},gc.DELETE.get=function(){return 2},Object.defineProperties(Be,gc);var Yu=function(){};Yu.prototype.interfaces_=function(){return[]},Yu.prototype.getClass=function(){return Yu};var ve=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 t=arguments[0],e=arguments[1],r=arguments[2];this._li=t,this._includeProper=e,this._recordIsolated=r};ve.prototype.isTrivialIntersection=function(t,e,r,i){if(t===r&&this._li.getIntersectionNum()===1){if(ve.isAdjacentSegments(e,i))return!0;if(t.isClosed()){var s=t.getNumPoints()-1;if(e===0&&i===s||i===0&&e===s)return!0}}return!1},ve.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},ve.prototype.setIsDoneIfProperInt=function(t){this._isDoneWhenProperInt=t},ve.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},ve.prototype.isBoundaryPointInternal=function(t,e){for(var r=e.iterator();r.hasNext();){var i=r.next(),s=i.getCoordinate();if(t.isIntersection(s))return!0}return!1},ve.prototype.hasProperIntersection=function(){return this._hasProper},ve.prototype.hasIntersection=function(){return this._hasIntersection},ve.prototype.isDone=function(){return this._isDone},ve.prototype.isBoundaryPoint=function(t,e){return e===null?!1:!!(this.isBoundaryPointInternal(t,e[0])||this.isBoundaryPointInternal(t,e[1]))},ve.prototype.setBoundaryNodes=function(t,e){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=t,this._bdyNodes[1]=e},ve.prototype.addIntersections=function(t,e,r,i){if(t===r&&e===i)return null;this.numTests++;var s=t.getCoordinates()[e],o=t.getCoordinates()[e+1],a=r.getCoordinates()[i],u=r.getCoordinates()[i+1];this._li.computeIntersection(s,o,a,u),this._li.hasIntersection()&&(this._recordIsolated&&(t.setIsolated(!1),r.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(t,e,r,i)||(this._hasIntersection=!0,(this._includeProper||!this._li.isProper())&&(t.addIntersections(this._li,e,0),r.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))))},ve.prototype.interfaces_=function(){return[]},ve.prototype.getClass=function(){return ve},ve.isAdjacentSegments=function(t,e){return Math.abs(t-e)===1};var Ey=function(n){function t(){n.call(this),this.events=new U,this.nOverlaps=null}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.prepareEvents=function(){var r=this;Ar.sort(this.events);for(var i=0;i<this.events.size();i++){var s=r.events.get(i);s.isDelete()&&s.getInsertEvent().setDeleteEventIndex(i)}},t.prototype.computeIntersections=function(){var r=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=r.events.get(s);if(o.isInsert()&&r.processOverlaps(s,o.getDeleteEventIndex(),o,i),i.isDone())break}}else if(arguments.length===3){if(arguments[2]instanceof ve&&nt(arguments[0],xr)&&nt(arguments[1],xr)){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"&&nt(arguments[0],xr)&&arguments[1]instanceof ve){var c=arguments[0],h=arguments[1],d=arguments[2];d?this.addEdges(c,null):this.addEdges(c),this.computeIntersections(h)}}},t.prototype.addEdge=function(r,i){for(var s=this,o=r.getMonotoneChainEdge(),a=o.getStartIndexes(),u=0;u<a.length-1;u++){var l=new Ka(o,u),c=new Be(i,o.getMinX(u),l);s.events.add(c),s.events.add(new Be(o.getMaxX(u),c))}},t.prototype.processOverlaps=function(r,i,s,o){for(var a=this,u=s.getObject(),l=r;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++)}}},t.prototype.addEdges=function(){var r=this;if(arguments.length===1)for(var i=arguments[0],s=i.iterator();s.hasNext();){var o=s.next();r.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();r.addEdge(c,u)}},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Yu),Dn=function(){this._min=ot.POSITIVE_INFINITY,this._max=ot.NEGATIVE_INFINITY},Hd={NodeComparator:{configurable:!0}};Dn.prototype.getMin=function(){return this._min},Dn.prototype.intersects=function(t,e){return!(this._min>e||this._max<t)},Dn.prototype.getMax=function(){return this._max},Dn.prototype.toString=function(){return Or.toLineString(new D(this._min,0),new D(this._max,0))},Dn.prototype.interfaces_=function(){return[]},Dn.prototype.getClass=function(){return Dn},Hd.NodeComparator.get=function(){return Qa},Object.defineProperties(Dn,Hd);var Qa=function(){};Qa.prototype.compare=function(t,e){var r=t,i=e,s=(r._min+r._max)/2,o=(i._min+i._max)/2;return s<o?-1:s>o?1:0},Qa.prototype.interfaces_=function(){return[po]},Qa.prototype.getClass=function(){return Qa};var Sy=function(n){function t(){n.call(this),this._item=null;var e=arguments[0],r=arguments[1],i=arguments[2];this._min=e,this._max=r,this._item=i}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.query=function(r,i,s){if(!this.intersects(r,i))return null;s.visitItem(this._item)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Dn),Cy=function(n){function t(){n.call(this),this._node1=null,this._node2=null;var e=arguments[0],r=arguments[1];this._node1=e,this._node2=r,this.buildExtent(this._node1,this._node2)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.buildExtent=function(r,i){this._min=Math.min(r._min,i._min),this._max=Math.max(r._max,i._max)},t.prototype.query=function(r,i,s){if(!this.intersects(r,i))return null;this._node1!==null&&this._node1.query(r,i,s),this._node2!==null&&this._node2.query(r,i,s)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Dn),Mn=function(){this._leaves=new U,this._root=null,this._level=0};Mn.prototype.buildTree=function(){var t=this;Ar.sort(this._leaves,new Dn.NodeComparator);for(var e=this._leaves,r=null,i=new U;;){if(t.buildLevel(e,i),i.size()===1)return i.get(0);r=e,e=i,i=r}},Mn.prototype.insert=function(t,e,r){if(this._root!==null)throw new Error("Index cannot be added to once it has been queried");this._leaves.add(new Sy(t,e,r))},Mn.prototype.query=function(t,e,r){this.init(),this._root.query(t,e,r)},Mn.prototype.buildRoot=function(){if(this._root!==null)return null;this._root=this.buildTree()},Mn.prototype.printNode=function(t){he.out.println(Or.toLineString(new D(t._min,this._level),new D(t._max,this._level)))},Mn.prototype.init=function(){if(this._root!==null)return null;this.buildRoot()},Mn.prototype.buildLevel=function(t,e){this._level++,e.clear();for(var r=0;r<t.size();r+=2){var i=t.get(r),s=r+1<t.size()?t.get(r):null;if(s===null)e.add(i);else{var o=new Cy(t.get(r),t.get(r+1));e.add(o)}}},Mn.prototype.interfaces_=function(){return[]},Mn.prototype.getClass=function(){return Mn};var Mo=function(){this._items=new U};Mo.prototype.visitItem=function(t){this._items.add(t)},Mo.prototype.getItems=function(){return this._items},Mo.prototype.interfaces_=function(){return[wi]},Mo.prototype.getClass=function(){return Mo};var Lo=function(){this._index=null;var t=arguments[0];if(!nt(t,_i))throw new zt("Argument must be Polygonal");this._index=new Ki(t)},mc={SegmentVisitor:{configurable:!0},IntervalIndexedGeometry:{configurable:!0}};Lo.prototype.locate=function(t){var e=new qr(t),r=new Ao(e);return this._index.query(t.y,t.y,r),e.getLocation()},Lo.prototype.interfaces_=function(){return[Oo]},Lo.prototype.getClass=function(){return Lo},mc.SegmentVisitor.get=function(){return Ao},mc.IntervalIndexedGeometry.get=function(){return Ki},Object.defineProperties(Lo,mc);var Ao=function(){this._counter=null;var t=arguments[0];this._counter=t};Ao.prototype.visitItem=function(t){var e=t;this._counter.countSegment(e.getCoordinate(0),e.getCoordinate(1))},Ao.prototype.interfaces_=function(){return[wi]},Ao.prototype.getClass=function(){return Ao};var Ki=function(){this._index=new Mn;var t=arguments[0];this.init(t)};Ki.prototype.init=function(t){for(var e=this,r=pe.getLines(t),i=r.iterator();i.hasNext();){var s=i.next(),o=s.getCoordinates();e.addLine(o)}},Ki.prototype.addLine=function(t){for(var e=this,r=1;r<t.length;r++){var i=new Z(t[r-1],t[r]),s=Math.min(i.p0.y,i.p1.y),o=Math.max(i.p0.y,i.p1.y);e._index.insert(s,o,i)}},Ki.prototype.query=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new Mo;return this._index.query(t,e,r),r.getItems()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];this._index.query(i,s,o)}},Ki.prototype.interfaces_=function(){return[]},Ki.prototype.getClass=function(){return Ki};var $a=function(n){function t(){if(n.call(this),this._parentGeom=null,this._lineEdgeMap=new bd,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new Fr,arguments.length===2){var e=arguments[0],r=arguments[1],i=pr.OGC_SFS_BOUNDARY_RULE;this._argIndex=e,this._parentGeom=r,this._boundaryNodeRule=i,r!==null&&this.add(r)}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 n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.insertBoundaryPoint=function(r,i){var s=this._nodes.addNode(i),o=s.getLabel(),a=1,u=R.NONE;u=o.getLocation(r,z.ON),u===R.BOUNDARY&&a++;var l=t.determineBoundary(this._boundaryNodeRule,a);o.setLocation(r,l)},t.prototype.computeSelfNodes=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.computeSelfNodes(r,i,!1)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2],u=new ve(s,!0,!1);u.setIsDoneIfProperInt(a);var l=this.createEdgeSetIntersector(),c=this._parentGeom instanceof Sn||this._parentGeom instanceof te||this._parentGeom instanceof Cn,h=o||!c;return l.computeIntersections(this._edges,u,h),this.addSelfIntersectionNodes(this._argIndex),u}},t.prototype.computeSplitEdges=function(r){for(var i=this._edges.iterator();i.hasNext();){var s=i.next();s.eiList.addSplitEdges(r)}},t.prototype.computeEdgeIntersections=function(r,i,s){var o=new ve(i,s,!0);o.setBoundaryNodes(this.getBoundaryNodes(),r.getBoundaryNodes());var a=this.createEdgeSetIntersector();return a.computeIntersections(this._edges,r._edges,o),o},t.prototype.getGeometry=function(){return this._parentGeom},t.prototype.getBoundaryNodeRule=function(){return this._boundaryNodeRule},t.prototype.hasTooFewPoints=function(){return this._hasTooFewPoints},t.prototype.addPoint=function(){if(arguments[0]instanceof Xe){var r=arguments[0],i=r.getCoordinate();this.insertPoint(this._argIndex,i,R.INTERIOR)}else if(arguments[0]instanceof D){var s=arguments[0];this.insertPoint(this._argIndex,s,R.INTERIOR)}},t.prototype.addPolygon=function(r){var i=this;this.addPolygonRing(r.getExteriorRing(),R.EXTERIOR,R.INTERIOR);for(var s=0;s<r.getNumInteriorRing();s++){var o=r.getInteriorRingN(s);i.addPolygonRing(o,R.INTERIOR,R.EXTERIOR)}},t.prototype.addEdge=function(r){this.insertEdge(r);var i=r.getCoordinates();this.insertPoint(this._argIndex,i[0],R.BOUNDARY),this.insertPoint(this._argIndex,i[i.length-1],R.BOUNDARY)},t.prototype.addLineString=function(r){var i=dt.removeRepeatedPoints(r.getCoordinates());if(i.length<2)return this._hasTooFewPoints=!0,this._invalidPoint=i[0],null;var s=new Hu(i,new Ot(this._argIndex,R.INTERIOR));this._lineEdgeMap.put(r,s),this.insertEdge(s),ct.isTrue(i.length>=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,i[0]),this.insertBoundaryPoint(this._argIndex,i[i.length-1])},t.prototype.getInvalidPoint=function(){return this._invalidPoint},t.prototype.getBoundaryPoints=function(){for(var r=this.getBoundaryNodes(),i=new Array(r.size()).fill(null),s=0,o=r.iterator();o.hasNext();){var a=o.next();i[s++]=a.getCoordinate().copy()}return i},t.prototype.getBoundaryNodes=function(){return this._boundaryNodes===null&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},t.prototype.addSelfIntersectionNode=function(r,i,s){if(this.isBoundaryNode(r,i))return null;s===R.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(r,i):this.insertPoint(r,i,s)},t.prototype.addPolygonRing=function(r,i,s){if(r.isEmpty())return null;var o=dt.removeRepeatedPoints(r.getCoordinates());if(o.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=o[0],null;var a=i,u=s;W.isCCW(o)&&(a=s,u=i);var l=new Hu(o,new Ot(this._argIndex,R.BOUNDARY,a,u));this._lineEdgeMap.put(r,l),this.insertEdge(l),this.insertPoint(this._argIndex,o[0],R.BOUNDARY)},t.prototype.insertPoint=function(r,i,s){var o=this._nodes.addNode(i),a=o.getLabel();a===null?o._label=new Ot(r,s):a.setLocation(r,s)},t.prototype.createEdgeSetIntersector=function(){return new Ey},t.prototype.addSelfIntersectionNodes=function(r){for(var i=this,s=this._edges.iterator();s.hasNext();)for(var o=s.next(),a=o.getLabel().getLocation(r),u=o.eiList.iterator();u.hasNext();){var l=u.next();i.addSelfIntersectionNode(r,l.coord,a)}},t.prototype.add=function(){if(arguments.length===1){var r=arguments[0];if(r.isEmpty())return null;if(r instanceof Cn&&(this._useBoundaryDeterminationRule=!1),r instanceof te)this.addPolygon(r);else if(r instanceof qt)this.addLineString(r);else if(r instanceof Xe)this.addPoint(r);else if(r instanceof Po)this.addCollection(r);else if(r instanceof Xi)this.addCollection(r);else if(r instanceof Cn)this.addCollection(r);else if(r instanceof Ie)this.addCollection(r);else throw new Error(r.getClass().getName())}else return n.prototype.add.apply(this,arguments)},t.prototype.addCollection=function(r){for(var i=this,s=0;s<r.getNumGeometries();s++){var o=r.getGeometryN(s);i.add(o)}},t.prototype.locate=function(r){return nt(this._parentGeom,_i)&&this._parentGeom.getNumGeometries()>50?(this._areaPtLocator===null&&(this._areaPtLocator=new Lo(this._parentGeom)),this._areaPtLocator.locate(r)):this._ptLocator.locate(r,this._parentGeom)},t.prototype.findEdge=function(){if(arguments.length===1){var r=arguments[0];return this._lineEdgeMap.get(r)}else return n.prototype.findEdge.apply(this,arguments)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t.determineBoundary=function(r,i){return r.isInBoundary(i)?R.BOUNDARY:R.INTERIOR},t}(Wt),Ro=function(){if(this._li=new Gi,this._resultPrecisionModel=null,this._arg=null,arguments.length===1){var t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new $a(0,t)}else if(arguments.length===2){var e=arguments[0],r=arguments[1],i=pr.OGC_SFS_BOUNDARY_RULE;e.getPrecisionModel().compareTo(r.getPrecisionModel())>=0?this.setComputationPrecision(e.getPrecisionModel()):this.setComputationPrecision(r.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new $a(0,e,i),this._arg[1]=new $a(1,r,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 $a(0,s,a),this._arg[1]=new $a(1,o,a)}};Ro.prototype.getArgGeometry=function(t){return this._arg[t].getGeometry()},Ro.prototype.setComputationPrecision=function(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)},Ro.prototype.interfaces_=function(){return[]},Ro.prototype.getClass=function(){return Ro};var Qi=function(){};Qi.prototype.interfaces_=function(){return[]},Qi.prototype.getClass=function(){return Qi},Qi.map=function(){if(arguments[0]instanceof rt&&nt(arguments[1],Qi.MapOp)){for(var t=arguments[0],e=arguments[1],r=new U,i=0;i<t.getNumGeometries();i++){var s=e.map(t.getGeometryN(i));s!==null&&r.add(s)}return t.getFactory().buildGeometry(r)}else if(nt(arguments[0],$t)&&nt(arguments[1],Qi.MapOp)){for(var o=arguments[0],a=arguments[1],u=new U,l=o.iterator();l.hasNext();){var c=l.next(),h=a.map(c);h!==null&&u.add(h)}return u}},Qi.MapOp=function(){};var lt=function(n){function t(){var e=arguments[0],r=arguments[1];n.call(this,e,r),this._ptLocator=new Fr,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new Rr,this._resultPolyList=new U,this._resultLineList=new U,this._resultPointList=new U,this._graph=new Wt(new Fd),this._geomFact=e.getFactory()}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.insertUniqueEdge=function(r){var i=this._edgeList.findEqualEdge(r);if(i!==null){var s=i.getLabel(),o=r.getLabel();i.isPointwiseEqual(r)||(o=new Ot(r.getLabel()),o.flip());var a=i.getDepth();a.isNull()&&a.add(s),a.add(o),s.merge(o)}else this._edgeList.add(r)},t.prototype.getGraph=function(){return this._graph},t.prototype.cancelDuplicateResultEdges=function(){for(var r=this._graph.getEdgeEnds().iterator();r.hasNext();){var i=r.next(),s=i.getSym();i.isInResult()&&s.isInResult()&&(i.setInResult(!1),s.setInResult(!1))}},t.prototype.isCoveredByLA=function(r){return!!(this.isCovered(r,this._resultLineList)||this.isCovered(r,this._resultPolyList))},t.prototype.computeGeometry=function(r,i,s,o){var a=new U;return a.addAll(r),a.addAll(i),a.addAll(s),a.isEmpty()?t.createEmptyResult(o,this._arg[0].getGeometry(),this._arg[1].getGeometry(),this._geomFact):this._geomFact.buildGeometry(a)},t.prototype.mergeSymLabels=function(){for(var r=this._graph.getNodes().iterator();r.hasNext();){var i=r.next();i.getEdges().mergeSymLabels()}},t.prototype.isCovered=function(r,i){for(var s=this,o=i.iterator();o.hasNext();){var a=o.next(),u=s._ptLocator.locate(r,a);if(u!==R.EXTERIOR)return!0}return!1},t.prototype.replaceCollapsedEdges=function(){for(var r=new U,i=this._edgeList.iterator();i.hasNext();){var s=i.next();s.isCollapsed()&&(i.remove(),r.add(s.getCollapsedEdge()))}this._edgeList.addAll(r)},t.prototype.updateNodeLabelling=function(){for(var r=this._graph.getNodes().iterator();r.hasNext();){var i=r.next(),s=i.getEdges().getLabel();i.getLabel().merge(s)}},t.prototype.getResultGeometry=function(r){return this.computeOverlay(r),this._resultGeom},t.prototype.insertUniqueEdges=function(r){for(var i=this,s=r.iterator();s.hasNext();){var o=s.next();i.insertUniqueEdge(o)}},t.prototype.computeOverlay=function(r){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 U;this._arg[0].computeSplitEdges(i),this._arg[1].computeSplitEdges(i),this.insertUniqueEdges(i),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),Zi.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(r),this.cancelDuplicateResultEdges();var s=new He(this._geomFact);s.add(this._graph),this._resultPolyList=s.getPolygons();var o=new rn(this,this._geomFact,this._ptLocator);this._resultLineList=o.build(r);var a=new ks(this,this._geomFact,this._ptLocator);this._resultPointList=a.build(r),this._resultGeom=this.computeGeometry(this._resultPointList,this._resultLineList,this._resultPolyList,r)},t.prototype.labelIncompleteNode=function(r,i){var s=this._ptLocator.locate(r.getCoordinate(),this._arg[i].getGeometry());r.getLabel().setLocation(i,s)},t.prototype.copyPoints=function(r){for(var i=this,s=this._arg[r].getNodeIterator();s.hasNext();){var o=s.next(),a=i._graph.addNode(o.getCoordinate());a.setLabel(r,o.getLabel().getLocation(r))}},t.prototype.findResultAreaEdges=function(r){for(var i=this._graph.getEdgeEnds().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.isArea()&&!s.isInteriorAreaEdge()&&t.isResultOfOp(o.getLocation(0,z.RIGHT),o.getLocation(1,z.RIGHT),r)&&s.setInResult(!0)}},t.prototype.computeLabelsFromDepths=function(){for(var r=this._edgeList.iterator();r.hasNext();){var i=r.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):(ct.isTrue(!o.isNull(a,z.LEFT),"depth of LEFT side has not been initialized"),s.setLocation(a,z.LEFT,o.getLocation(a,z.LEFT)),ct.isTrue(!o.isNull(a,z.RIGHT),"depth of RIGHT side has not been initialized"),s.setLocation(a,z.RIGHT,o.getLocation(a,z.RIGHT))))}}},t.prototype.computeLabelling=function(){for(var r=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next();s.getEdges().computeLabelling(r._arg)}this.mergeSymLabels(),this.updateNodeLabelling()},t.prototype.labelIncompleteNodes=function(){for(var r=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();s.isIsolated()&&(o.isNull(0)?r.labelIncompleteNode(s,0):r.labelIncompleteNode(s,1)),s.getEdges().updateLabelling(o)}},t.prototype.isCoveredByA=function(r){return!!this.isCovered(r,this._resultPolyList)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(Ro);lt.overlayOp=function(n,t,e){var r=new lt(n,t),i=r.getResultGeometry(e);return i},lt.intersection=function(n,t){if(n.isEmpty()||t.isEmpty())return lt.createEmptyResult(lt.INTERSECTION,n,t,n.getFactory());if(n.isGeometryCollection()){var e=t;return Fs.map(n,{interfaces_:function(){return[Qi.MapOp]},map:function(r){return r.intersection(e)}})}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),De.overlayOp(n,t,lt.INTERSECTION)},lt.symDifference=function(n,t){if(n.isEmpty()||t.isEmpty()){if(n.isEmpty()&&t.isEmpty())return lt.createEmptyResult(lt.SYMDIFFERENCE,n,t,n.getFactory());if(n.isEmpty())return t.copy();if(t.isEmpty())return n.copy()}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),De.overlayOp(n,t,lt.SYMDIFFERENCE)},lt.resultDimension=function(n,t,e){var r=t.getDimension(),i=e.getDimension(),s=-1;switch(n){case lt.INTERSECTION:s=Math.min(r,i);break;case lt.UNION:s=Math.max(r,i);break;case lt.DIFFERENCE:s=r;break;case lt.SYMDIFFERENCE:s=Math.max(r,i);break}return s},lt.createEmptyResult=function(n,t,e,r){var i=null;switch(lt.resultDimension(n,t,e)){case-1:i=r.createGeometryCollection(new Array(0).fill(null));break;case 0:i=r.createPoint();break;case 1:i=r.createLineString();break;case 2:i=r.createPolygon();break}return i},lt.difference=function(n,t){return n.isEmpty()?lt.createEmptyResult(lt.DIFFERENCE,n,t,n.getFactory()):t.isEmpty()?n.copy():(n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),De.overlayOp(n,t,lt.DIFFERENCE))},lt.isResultOfOp=function(){if(arguments.length===2){var n=arguments[0],t=arguments[1],e=n.getLocation(0),r=n.getLocation(1);return lt.isResultOfOp(e,r,t)}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];switch(i===R.BOUNDARY&&(i=R.INTERIOR),s===R.BOUNDARY&&(s=R.INTERIOR),o){case lt.INTERSECTION:return i===R.INTERIOR&&s===R.INTERIOR;case lt.UNION:return i===R.INTERIOR||s===R.INTERIOR;case lt.DIFFERENCE:return i===R.INTERIOR&&s!==R.INTERIOR;case lt.SYMDIFFERENCE:return i===R.INTERIOR&&s!==R.INTERIOR||i!==R.INTERIOR&&s===R.INTERIOR}return!1}},lt.INTERSECTION=1,lt.UNION=2,lt.DIFFERENCE=3,lt.SYMDIFFERENCE=4;var Oi=function(){this._g=null,this._boundaryDistanceTolerance=null,this._linework=null,this._ptLocator=new Fr,this._seg=new Z;var t=arguments[0],e=arguments[1];this._g=t,this._boundaryDistanceTolerance=e,this._linework=this.extractLinework(t)};Oi.prototype.isWithinToleranceOfBoundary=function(t){for(var e=this,r=0;r<this._linework.getNumGeometries();r++)for(var i=e._linework.getGeometryN(r),s=i.getCoordinateSequence(),o=0;o<s.size()-1;o++){s.getCoordinate(o,e._seg.p0),s.getCoordinate(o+1,e._seg.p1);var a=e._seg.distance(t);if(a<=e._boundaryDistanceTolerance)return!0}return!1},Oi.prototype.getLocation=function(t){return this.isWithinToleranceOfBoundary(t)?R.BOUNDARY:this._ptLocator.locate(t,this._g)},Oi.prototype.extractLinework=function(t){var e=new Fo;t.apply(e);var r=e.getLinework(),i=pt.toLineStringArray(r);return t.getFactory().createMultiLineString(i)},Oi.prototype.interfaces_=function(){return[]},Oi.prototype.getClass=function(){return Oi};var Fo=function(){this._linework=null,this._linework=new U};Fo.prototype.getLinework=function(){return this._linework},Fo.prototype.filter=function(t){var e=this;if(t instanceof te){var r=t;this._linework.add(r.getExteriorRing());for(var i=0;i<r.getNumInteriorRing();i++)e._linework.add(r.getInteriorRingN(i))}},Fo.prototype.interfaces_=function(){return[Hr]},Fo.prototype.getClass=function(){return Fo};var $i=function(){this._g=null,this._doLeft=!0,this._doRight=!0;var t=arguments[0];this._g=t};$i.prototype.extractPoints=function(t,e,r){for(var i=this,s=t.getCoordinates(),o=0;o<s.length-1;o++)i.computeOffsetPoints(s[o],s[o+1],e,r)},$i.prototype.setSidesToGenerate=function(t,e){this._doLeft=t,this._doRight=e},$i.prototype.getPoints=function(t){for(var e=this,r=new U,i=pe.getLines(this._g),s=i.iterator();s.hasNext();){var o=s.next();e.extractPoints(o,t,r)}return r},$i.prototype.computeOffsetPoints=function(t,e,r,i){var s=e.x-t.x,o=e.y-t.y,a=Math.sqrt(s*s+o*o),u=r*s/a,l=r*o/a,c=(e.x+t.x)/2,h=(e.y+t.y)/2;if(this._doLeft){var d=new D(c-l,h+u);i.add(d)}if(this._doRight){var g=new D(c+l,h-u);i.add(g)}},$i.prototype.interfaces_=function(){return[]},$i.prototype.getClass=function(){return $i};var ur=function n(){this._geom=null,this._locFinder=null,this._location=new Array(3).fill(null),this._invalidLocation=null,this._boundaryDistanceTolerance=n.TOLERANCE,this._testCoords=new U;var t=arguments[0],e=arguments[1],r=arguments[2];this._boundaryDistanceTolerance=n.computeBoundaryDistanceTolerance(t,e),this._geom=[t,e,r],this._locFinder=[new Oi(this._geom[0],this._boundaryDistanceTolerance),new Oi(this._geom[1],this._boundaryDistanceTolerance),new Oi(this._geom[2],this._boundaryDistanceTolerance)]},Yd={TOLERANCE:{configurable:!0}};ur.prototype.reportResult=function(t,e,r){he.out.println("Overlay result invalid - A:"+R.toLocationSymbol(e[0])+" B:"+R.toLocationSymbol(e[1])+" expected:"+(r?"i":"e")+" actual:"+R.toLocationSymbol(e[2]))},ur.prototype.isValid=function(t){this.addTestPts(this._geom[0]),this.addTestPts(this._geom[1]);var e=this.checkValid(t);return e},ur.prototype.checkValid=function(){var t=this;if(arguments.length===1){for(var e=arguments[0],r=0;r<this._testCoords.size();r++){var i=t._testCoords.get(r);if(!t.checkValid(e,i))return t._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),ur.hasLocation(this._location,R.BOUNDARY)?!0:this.isValidResult(s,this._location)}},ur.prototype.addTestPts=function(t){var e=new $i(t);this._testCoords.addAll(e.getPoints(5*this._boundaryDistanceTolerance))},ur.prototype.isValidResult=function(t,e){var r=lt.isResultOfOp(e[0],e[1],t),i=e[2]===R.INTERIOR,s=!(r^i);return s||this.reportResult(t,e,r),s},ur.prototype.getInvalidLocation=function(){return this._invalidLocation},ur.prototype.interfaces_=function(){return[]},ur.prototype.getClass=function(){return ur},ur.hasLocation=function(t,e){for(var r=0;r<3;r++)if(t[r]===e)return!0;return!1},ur.computeBoundaryDistanceTolerance=function(t,e){return Math.min(Bt.computeSizeBasedSnapTolerance(t),Bt.computeSizeBasedSnapTolerance(e))},ur.isValid=function(t,e,r,i){var s=new ur(t,e,i);return s.isValid(r)},Yd.TOLERANCE.get=function(){return 1e-6},Object.defineProperties(ur,Yd);var lr=function n(t){this._geomFactory=null,this._skipEmpty=!1,this._inputGeoms=null,this._geomFactory=n.extractFactory(t),this._inputGeoms=t};lr.prototype.extractElements=function(t,e){var r=this;if(t===null)return null;for(var i=0;i<t.getNumGeometries();i++){var s=t.getGeometryN(i);r._skipEmpty&&s.isEmpty()||e.add(s)}},lr.prototype.combine=function(){for(var t=this,e=new U,r=this._inputGeoms.iterator();r.hasNext();){var i=r.next();t.extractElements(i,e)}return e.size()===0?this._geomFactory!==null?this._geomFactory.createGeometryCollection(null):null:this._geomFactory.buildGeometry(e)},lr.prototype.interfaces_=function(){return[]},lr.prototype.getClass=function(){return lr},lr.combine=function(){if(arguments.length===1){var t=arguments[0],e=new lr(t);return e.combine()}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=new lr(lr.createList(r,i));return s.combine()}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2],l=new lr(lr.createList(o,a,u));return l.combine()}},lr.extractFactory=function(t){return t.isEmpty()?null:t.iterator().next().getFactory()},lr.createList=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new U;return r.add(t),r.add(e),r}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new U;return a.add(i),a.add(s),a.add(o),a}};var Kt=function(){this._inputPolys=null,this._geomFactory=null;var t=arguments[0];this._inputPolys=t,this._inputPolys===null&&(this._inputPolys=new U)},Jd={STRTREE_NODE_CAPACITY:{configurable:!0}};Kt.prototype.reduceToGeometries=function(t){for(var e=this,r=new U,i=t.iterator();i.hasNext();){var s=i.next(),o=null;nt(s,xr)?o=e.unionTree(s):s instanceof rt&&(o=s),r.add(o)}return r},Kt.prototype.extractByEnvelope=function(t,e,r){for(var i=new U,s=0;s<e.getNumGeometries();s++){var o=e.getGeometryN(s);o.getEnvelopeInternal().intersects(t)?i.add(o):r.add(o)}return this._geomFactory.buildGeometry(i)},Kt.prototype.unionOptimized=function(t,e){var r=t.getEnvelopeInternal(),i=e.getEnvelopeInternal();if(!r.intersects(i)){var s=lr.combine(t,e);return s}if(t.getNumGeometries()<=1&&e.getNumGeometries()<=1)return this.unionActual(t,e);var o=r.intersection(i);return this.unionUsingEnvelopeIntersection(t,e,o)},Kt.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 t=new xd(Kt.STRTREE_NODE_CAPACITY),e=this._inputPolys.iterator();e.hasNext();){var r=e.next();t.insert(r.getEnvelopeInternal(),r)}this._inputPolys=null;var i=t.itemsTree(),s=this.unionTree(i);return s},Kt.prototype.binaryUnion=function(){if(arguments.length===1){var t=arguments[0];return this.binaryUnion(t,0,t.size())}else if(arguments.length===3){var e=arguments[0],r=arguments[1],i=arguments[2];if(i-r<=1){var s=Kt.getGeometry(e,r);return this.unionSafe(s,null)}else{if(i-r===2)return this.unionSafe(Kt.getGeometry(e,r),Kt.getGeometry(e,r+1));var o=Math.trunc((i+r)/2),a=this.binaryUnion(e,r,o),u=this.binaryUnion(e,o,i);return this.unionSafe(a,u)}}},Kt.prototype.repeatedUnion=function(t){for(var e=null,r=t.iterator();r.hasNext();){var i=r.next();e===null?e=i.copy():e=e.union(i)}return e},Kt.prototype.unionSafe=function(t,e){return t===null&&e===null?null:t===null?e.copy():e===null?t.copy():this.unionOptimized(t,e)},Kt.prototype.unionActual=function(t,e){return Kt.restrictToPolygons(t.union(e))},Kt.prototype.unionTree=function(t){var e=this.reduceToGeometries(t),r=this.binaryUnion(e);return r},Kt.prototype.unionUsingEnvelopeIntersection=function(t,e,r){var i=new U,s=this.extractByEnvelope(r,t,i),o=this.extractByEnvelope(r,e,i),a=this.unionActual(s,o);i.add(a);var u=lr.combine(i);return u},Kt.prototype.bufferUnion=function(){if(arguments.length===1){var t=arguments[0],e=t.get(0).getFactory(),r=e.buildGeometry(t),i=r.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}},Kt.prototype.interfaces_=function(){return[]},Kt.prototype.getClass=function(){return Kt},Kt.restrictToPolygons=function(t){if(nt(t,_i))return t;var e=ri.getPolygons(t);return e.size()===1?e.get(0):t.getFactory().createMultiPolygon(pt.toPolygonArray(e))},Kt.getGeometry=function(t,e){return e>=t.size()?null:t.get(e)},Kt.union=function(t){var e=new Kt(t);return e.union()},Jd.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(Kt,Jd);var Ju=function(){};Ju.prototype.interfaces_=function(){return[]},Ju.prototype.getClass=function(){return Ju},Ju.union=function(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return lt.createEmptyResult(lt.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),De.overlayOp(t,e,lt.UNION)};function ts(){return new Bu}function Bu(){this.reset()}Bu.prototype={constructor:Bu,reset:function(){this.s=this.t=0},add:function(n){Bd(ju,n,this.t),Bd(this,ju.s,this.s),this.s?this.t+=ju.t:this.s=ju.t},valueOf:function(){return this.s}};var ju=new Bu;function Bd(n,t,e){var r=n.s=t+e,i=r-t,s=r-i;n.t=t-s+(e-i)}var Qt=1e-6,Mt=Math.PI,ni=Mt/2,jd=Mt/4,ii=Mt*2,es=180/Mt,nn=Mt/180,Me=Math.abs,Iy=Math.atan,ko=Math.atan2,re=Math.cos,ne=Math.sin,Vo=Math.sqrt;function Zd(n){return n>1?0:n<-1?Mt:Math.acos(n)}function zs(n){return n>1?ni:n<-1?-ni:Math.asin(n)}function tu(){}function Zu(n,t){n&&Qd.hasOwnProperty(n.type)&&Qd[n.type](n,t)}var Kd={Feature:function(n,t){Zu(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,i=e.length;++r<i;)Zu(e[r].geometry,t)}},Qd={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){vc(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)vc(e[r],t,0)},Polygon:function(n,t){$d(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)$d(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,i=e.length;++r<i;)Zu(e[r],t)}};function vc(n,t,e){var r=-1,i=n.length-e,s;for(t.lineStart();++r<i;)s=n[r],t.point(s[0],s[1],s[2]);t.lineEnd()}function $d(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)vc(n[e],t,1);t.polygonEnd()}function Py(n,t){n&&Kd.hasOwnProperty(n.type)?Kd[n.type](n,t):Zu(n,t)}ts(),ts();function yc(n){return[ko(n[1],n[0]),zs(n[2])]}function zo(n){var t=n[0],e=n[1],r=re(e);return[r*re(t),r*ne(t),ne(e)]}function Ku(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function Qu(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function _c(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function $u(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function wc(n){var t=Vo(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}ts();function tp(n,t){function e(r,i){return r=n(r,i),t(r[0],r[1])}return n.invert&&t.invert&&(e.invert=function(r,i){return r=t.invert(r,i),r&&n.invert(r[0],r[1])}),e}function Ec(n,t){return[n>Mt?n-ii:n<-Mt?n+ii:n,t]}Ec.invert=Ec;function by(n,t,e){return(n%=ii)?t||e?tp(rp(n),np(t,e)):rp(n):t||e?np(t,e):Ec}function ep(n){return function(t,e){return t+=n,[t>Mt?t-ii:t<-Mt?t+ii:t,e]}}function rp(n){var t=ep(n);return t.invert=ep(-n),t}function np(n,t){var e=re(n),r=ne(n),i=re(t),s=ne(t);function o(a,u){var l=re(u),c=re(a)*l,h=ne(a)*l,d=ne(u),g=d*e+c*r;return[ko(h*i-g*s,c*e-d*r),zs(g*i+h*s)]}return o.invert=function(a,u){var l=re(u),c=re(a)*l,h=ne(a)*l,d=ne(u),g=d*i-h*s;return[ko(h*i+d*s,c*e+g*r),zs(g*e-c*r)]},o}function Ny(n,t,e,r,i,s){if(e){var o=re(t),a=ne(t),u=r*e;i==null?(i=t+r*ii,s=t-u/2):(i=ip(o,i),s=ip(o,s),(r>0?i<s:i>s)&&(i+=r*ii));for(var l,c=i;r>0?c>s:c<s;c-=u)l=yc([o,-a*re(c),-a*ne(c)]),n.point(l[0],l[1])}}function ip(n,t){t=zo(t),t[0]-=n,wc(t);var e=Zd(-t[1]);return((-t[2]<0?-e:e)+ii-Qt)%ii}function sp(){var n=[],t;return{point:function(e,r){t.push([e,r])},lineStart:function(){n.push(t=[])},lineEnd:tu,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Ty(n,t,e,r,i,s){var o=n[0],a=n[1],u=t[0],l=t[1],c=0,h=1,d=u-o,g=l-a,y;if(y=e-o,!(!d&&y>0)){if(y/=d,d<0){if(y<c)return;y<h&&(h=y)}else if(d>0){if(y>h)return;y>c&&(c=y)}if(y=i-o,!(!d&&y<0)){if(y/=d,d<0){if(y>h)return;y>c&&(c=y)}else if(d>0){if(y<c)return;y<h&&(h=y)}if(y=r-a,!(!g&&y>0)){if(y/=g,g<0){if(y<c)return;y<h&&(h=y)}else if(g>0){if(y>h)return;y>c&&(c=y)}if(y=s-a,!(!g&&y<0)){if(y/=g,g<0){if(y>h)return;y>c&&(c=y)}else if(g>0){if(y<c)return;y<h&&(h=y)}return c>0&&(n[0]=o+c*d,n[1]=a+c*g),h<1&&(t[0]=o+h*d,t[1]=a+h*g),!0}}}}}function tl(n,t){return Me(n[0]-t[0])<Qt&&Me(n[1]-t[1])<Qt}function el(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function op(n,t,e,r,i){var s=[],o=[],a,u;if(n.forEach(function(y){if(!((C=y.length-1)<=0)){var C,P=y[0],T=y[C],v;if(tl(P,T)){for(i.lineStart(),a=0;a<C;++a)i.point((P=y[a])[0],P[1]);i.lineEnd();return}s.push(v=new el(P,y,null,!0)),o.push(v.o=new el(P,null,v,!1)),s.push(v=new el(T,y,null,!1)),o.push(v.o=new el(T,null,v,!0))}}),!!s.length){for(o.sort(t),ap(s),ap(o),a=0,u=o.length;a<u;++a)o[a].e=e=!e;for(var l=s[0],c,h;;){for(var d=l,g=!0;d.v;)if((d=d.n)===l)return;c=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(g)for(a=0,u=c.length;a<u;++a)i.point((h=c[a])[0],h[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(g)for(c=d.p.z,a=c.length-1;a>=0;--a)i.point((h=c[a])[0],h[1]);else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,c=d.z,g=!g}while(!d.v);i.lineEnd()}}}function ap(n){if(t=n.length){for(var t,e=0,r=n[0],i;++e<t;)r.n=i=n[e],i.p=r,r=i;r.n=i=n[0],i.p=r}}function up(n,t){return n<t?-1:n>t?1:n>=t?0:NaN}function Oy(n){return n.length===1&&(n=xy(n)),{left:function(t,e,r,i){for(r==null&&(r=0),i==null&&(i=t.length);r<i;){var s=r+i>>>1;n(t[s],e)<0?r=s+1:i=s}return r},right:function(t,e,r,i){for(r==null&&(r=0),i==null&&(i=t.length);r<i;){var s=r+i>>>1;n(t[s],e)>0?i=s:r=s+1}return r}}}function xy(n){return function(t,e){return up(n(t),e)}}Oy(up);function lp(n){for(var t=n.length,e,r=-1,i=0,s,o;++r<t;)i+=n[r].length;for(s=new Array(i);--t>=0;)for(o=n[t],e=o.length;--e>=0;)s[--i]=o[e];return s}var rl=1e9,nl=-1e9;function Dy(n,t,e,r){function i(l,c){return n<=l&&l<=e&&t<=c&&c<=r}function s(l,c,h,d){var g=0,y=0;if(l==null||(g=o(l,h))!==(y=o(c,h))||u(l,c)<0^h>0)do d.point(g===0||g===3?n:e,g>1?r:t);while((g=(g+h+4)%4)!==y);else d.point(c[0],c[1])}function o(l,c){return Me(l[0]-n)<Qt?c>0?0:3:Me(l[0]-e)<Qt?c>0?2:1:Me(l[1]-t)<Qt?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),d=o(c,1);return h!==d?h-d: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=sp(),d,g,y,C,P,T,v,w,m,_,E,I={point:b,lineStart:x,lineEnd:A,polygonStart:M,polygonEnd:N};function b(Y,G){i(Y,G)&&c.point(Y,G)}function O(){for(var Y=0,G=0,K=g.length;G<K;++G)for(var at=g[G],ft=1,X=at.length,J=at[0],B,gt,xt=J[0],Ct=J[1];ft<X;++ft)B=xt,gt=Ct,J=at[ft],xt=J[0],Ct=J[1],gt<=r?Ct>r&&(xt-B)*(r-gt)>(Ct-gt)*(n-B)&&++Y:Ct<=r&&(xt-B)*(r-gt)<(Ct-gt)*(n-B)&&--Y;return Y}function M(){c=h,d=[],g=[],E=!0}function N(){var Y=O(),G=E&&Y,K=(d=lp(d)).length;(G||K)&&(l.polygonStart(),G&&(l.lineStart(),s(null,null,1,l),l.lineEnd()),K&&op(d,a,Y,s,l),l.polygonEnd()),c=l,d=g=y=null}function x(){I.point=F,g&&g.push(y=[]),_=!0,m=!1,v=w=NaN}function A(){d&&(F(C,P),T&&m&&h.rejoin(),d.push(h.result())),I.point=b,m&&c.lineEnd()}function F(Y,G){var K=i(Y,G);if(g&&y.push([Y,G]),_)C=Y,P=G,T=K,_=!1,K&&(c.lineStart(),c.point(Y,G));else if(K&&m)c.point(Y,G);else{var at=[v=Math.max(nl,Math.min(rl,v)),w=Math.max(nl,Math.min(rl,w))],ft=[Y=Math.max(nl,Math.min(rl,Y)),G=Math.max(nl,Math.min(rl,G))];Ty(at,ft,n,t,e,r)?(m||(c.lineStart(),c.point(at[0],at[1])),c.point(ft[0],ft[1]),K||c.lineEnd(),E=!1):K&&(c.lineStart(),c.point(Y,G),E=!1)}v=Y,w=G,m=K}return I}}var Sc=ts();function My(n,t){var e=t[0],r=t[1],i=[ne(e),-re(e),0],s=0,o=0;Sc.reset();for(var a=0,u=n.length;a<u;++a)if(c=(l=n[a]).length)for(var l,c,h=l[c-1],d=h[0],g=h[1]/2+jd,y=ne(g),C=re(g),P=0;P<c;++P,d=v,y=m,C=_,h=T){var T=l[P],v=T[0],w=T[1]/2+jd,m=ne(w),_=re(w),E=v-d,I=E>=0?1:-1,b=I*E,O=b>Mt,M=y*m;if(Sc.add(ko(M*I*ne(b),C*_+M*re(b))),s+=O?E+I*ii:E,O^d>=e^v>=e){var N=Qu(zo(h),zo(T));wc(N);var x=Qu(i,N);wc(x);var A=(O^E>=0?-1:1)*zs(x[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=O^E>=0?1:-1)}}return(s<-1e-6||s<Qt&&Sc<-1e-6)^o&1}ts();function cp(n){return n}ts(),ts();var Uo=1/0,il=Uo,eu=-Uo,sl=eu,hp={point:Ly,lineStart:tu,lineEnd:tu,polygonStart:tu,polygonEnd:tu,result:function(){var n=[[Uo,il],[eu,sl]];return eu=sl=-(il=Uo=1/0),n}};function Ly(n,t){n<Uo&&(Uo=n),n>eu&&(eu=n),t<il&&(il=t),t>sl&&(sl=t)}ts();function fp(n,t,e,r){return function(i,s){var o=t(s),a=i.invert(r[0],r[1]),u=sp(),l=t(u),c=!1,h,d,g,y={point:C,lineStart:T,lineEnd:v,polygonStart:function(){y.point=w,y.lineStart=m,y.lineEnd=_,d=[],h=[]},polygonEnd:function(){y.point=C,y.lineStart=T,y.lineEnd=v,d=lp(d);var E=My(h,a);d.length?(c||(s.polygonStart(),c=!0),op(d,Ry,E,e,s)):E&&(c||(s.polygonStart(),c=!0),s.lineStart(),e(null,null,1,s),s.lineEnd()),c&&(s.polygonEnd(),c=!1),d=h=null},sphere:function(){s.polygonStart(),s.lineStart(),e(null,null,1,s),s.lineEnd(),s.polygonEnd()}};function C(E,I){var b=i(E,I);n(E=b[0],I=b[1])&&s.point(E,I)}function P(E,I){var b=i(E,I);o.point(b[0],b[1])}function T(){y.point=P,o.lineStart()}function v(){y.point=C,o.lineEnd()}function w(E,I){g.push([E,I]);var b=i(E,I);l.point(b[0],b[1])}function m(){l.lineStart(),g=[]}function _(){w(g[0][0],g[0][1]),l.lineEnd();var E=l.clean(),I=u.result(),b,O=I.length,M,N,x;if(g.pop(),h.push(g),g=null,!!O){if(E&1){if(N=I[0],(M=N.length-1)>0){for(c||(s.polygonStart(),c=!0),s.lineStart(),b=0;b<M;++b)s.point((x=N[b])[0],x[1]);s.lineEnd()}return}O>1&&E&2&&I.push(I.pop().concat(I.shift())),d.push(I.filter(Ay))}}return y}}function Ay(n){return n.length>1}function Ry(n,t){return((n=n.x)[0]<0?n[1]-ni-Qt:ni-n[1])-((t=t.x)[0]<0?t[1]-ni-Qt:ni-t[1])}const dp=fp(function(){return!0},Fy,Vy,[-Mt,-ni]);function Fy(n){var t=NaN,e=NaN,r=NaN,i;return{lineStart:function(){n.lineStart(),i=1},point:function(s,o){var a=s>0?Mt:-Mt,u=Me(s-t);Me(u-Mt)<Qt?(n.point(t,e=(e+o)/2>0?ni:-ni),n.point(r,e),n.lineEnd(),n.lineStart(),n.point(a,e),n.point(s,e),i=0):r!==a&&u>=Mt&&(Me(t-r)<Qt&&(t-=r*Qt),Me(s-a)<Qt&&(s-=a*Qt),e=ky(t,e,s,o),n.point(r,e),n.lineEnd(),n.lineStart(),n.point(a,e),i=0),n.point(t=s,e=o),r=a},lineEnd:function(){n.lineEnd(),t=e=NaN},clean:function(){return 2-i}}}function ky(n,t,e,r){var i,s,o=ne(n-e);return Me(o)>Qt?Iy((ne(t)*(s=re(r))*ne(e)-ne(r)*(i=re(t))*ne(n))/(i*s*o)):(t+r)/2}function Vy(n,t,e,r){var i;if(n==null)i=e*ni,r.point(-Mt,i),r.point(0,i),r.point(Mt,i),r.point(Mt,0),r.point(Mt,-i),r.point(0,-i),r.point(-Mt,-i),r.point(-Mt,0),r.point(-Mt,i);else if(Me(n[0]-t[0])>Qt){var s=n[0]<t[0]?Mt:-Mt;i=e*s/2,r.point(-s,i),r.point(0,i),r.point(s,i)}else r.point(t[0],t[1])}function zy(n,t){var e=re(n),r=e>0,i=Me(e)>Qt;function s(c,h,d,g){Ny(g,n,t,d,c,h)}function o(c,h){return re(c)*re(h)>e}function a(c){var h,d,g,y,C;return{lineStart:function(){y=g=!1,C=1},point:function(P,T){var v=[P,T],w,m=o(P,T),_=r?m?0:l(P,T):m?l(P+(P<0?Mt:-Mt),T):0;if(!h&&(y=g=m)&&c.lineStart(),m!==g&&(w=u(h,v),(!w||tl(h,w)||tl(v,w))&&(v[0]+=Qt,v[1]+=Qt,m=o(v[0],v[1]))),m!==g)C=0,m?(c.lineStart(),w=u(v,h),c.point(w[0],w[1])):(w=u(h,v),c.point(w[0],w[1]),c.lineEnd()),h=w;else if(i&&h&&r^m){var E;!(_&d)&&(E=u(v,h,!0))&&(C=0,r?(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||!tl(h,v))&&c.point(v[0],v[1]),h=v,g=m,d=_},lineEnd:function(){g&&c.lineEnd(),h=null},clean:function(){return C|(y&&g)<<1}}}function u(c,h,d){var g=zo(c),y=zo(h),C=[1,0,0],P=Qu(g,y),T=Ku(P,P),v=P[0],w=T-v*v;if(!w)return!d&&c;var m=e*T/w,_=-e*v/w,E=Qu(C,P),I=$u(C,m),b=$u(P,_);_c(I,b);var O=E,M=Ku(I,O),N=Ku(O,O),x=M*M-N*(Ku(I,I)-1);if(!(x<0)){var A=Vo(x),F=$u(O,(-M-A)/N);if(_c(F,I),F=yc(F),!d)return F;var Y=c[0],G=h[0],K=c[1],at=h[1],ft;G<Y&&(ft=Y,Y=G,G=ft);var X=G-Y,J=Me(X-Mt)<Qt,B=J||X<Qt;if(!J&&at<K&&(ft=K,K=at,at=ft),B?J?K+at>0^F[1]<(Me(F[0]-Y)<Qt?K:at):K<=F[1]&&F[1]<=at:X>Mt^(Y<=F[0]&&F[0]<=G)){var gt=$u(O,(-M+A)/N);return _c(gt,I),[F,yc(gt)]}}}function l(c,h){var d=r?n:Mt-n,g=0;return c<-d?g|=1:c>d&&(g|=2),h<-d?g|=4:h>d&&(g|=8),g}return fp(o,a,s,r?[0,-n]:[-Mt,n-Mt])}function pp(n){return function(t){var e=new Cc;for(var r in n)e[r]=n[r];return e.stream=t,e}}function Cc(){}Cc.prototype={constructor:Cc,point:function(n,t){this.stream.point(n,t)},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 gp(n,t,e){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],s=n.clipExtent&&n.clipExtent();n.scale(150).translate([0,0]),s!=null&&n.clipExtent(null),Py(e,n.stream(hp));var o=hp.result(),a=Math.min(r/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),u=+t[0][0]+(r-a*(o[1][0]+o[0][0]))/2,l=+t[0][1]+(i-a*(o[1][1]+o[0][1]))/2;return s!=null&&n.clipExtent(s),n.scale(a*150).translate([u,l])}function Uy(n,t,e){return gp(n,[[0,0],t],e)}var mp=16,Gy=re(30*nn);function vp(n,t){return+t?qy(n,t):Wy(n)}function Wy(n){return pp({point:function(t,e){t=n(t,e),this.stream.point(t[0],t[1])}})}function qy(n,t){function e(r,i,s,o,a,u,l,c,h,d,g,y,C,P){var T=l-r,v=c-i,w=T*T+v*v;if(w>4*t&&C--){var m=o+d,_=a+g,E=u+y,I=Vo(m*m+_*_+E*E),b=zs(E/=I),O=Me(Me(E)-1)<Qt||Me(s-h)<Qt?(s+h)/2:ko(_,m),M=n(O,b),N=M[0],x=M[1],A=N-r,F=x-i,Y=v*A-T*F;(Y*Y/w>t||Me((T*A+v*F)/w-.5)>.3||o*d+a*g+u*y<Gy)&&(e(r,i,s,o,a,u,N,x,O,m/=I,_/=I,E,C,P),P.point(N,x),e(N,x,O,m,_,E,l,c,h,d,g,y,C,P))}}return function(r){var i,s,o,a,u,l,c,h,d,g,y,C,P={point:T,lineStart:v,lineEnd:m,polygonStart:function(){r.polygonStart(),P.lineStart=_},polygonEnd:function(){r.polygonEnd(),P.lineStart=v}};function T(b,O){b=n(b,O),r.point(b[0],b[1])}function v(){h=NaN,P.point=w,r.lineStart()}function w(b,O){var M=zo([b,O]),N=n(b,O);e(h,d,c,g,y,C,h=N[0],d=N[1],c=b,g=M[0],y=M[1],C=M[2],mp,r),r.point(h,d)}function m(){P.point=T,r.lineEnd()}function _(){v(),P.point=E,P.lineEnd=I}function E(b,O){w(i=b,O),s=h,o=d,a=g,u=y,l=C,P.point=w}function I(){e(h,d,c,g,y,C,s,o,i,a,u,l,mp,r),P.lineEnd=m,m()}return P}}var Xy=pp({point:function(n,t){this.stream.point(n*nn,t*nn)}});function Hy(n){return Yy(function(){return n})()}function Yy(n){var t,e=150,r=480,i=250,s,o,a=0,u=0,l=0,c=0,h=0,d,g,y=null,C=dp,P=null,T,v,w,m=cp,_=.5,E=vp(N,_),I,b;function O(F){return F=g(F[0]*nn,F[1]*nn),[F[0]*e+s,o-F[1]*e]}function M(F){return F=g.invert((F[0]-s)/e,(o-F[1])/e),F&&[F[0]*es,F[1]*es]}function N(F,Y){return F=t(F,Y),[F[0]*e+s,o-F[1]*e]}O.stream=function(F){return I&&b===F?I:I=Xy(C(d,E(m(b=F))))},O.clipAngle=function(F){return arguments.length?(C=+F?zy(y=F*nn,6*nn):(y=null,dp),A()):y*es},O.clipExtent=function(F){return arguments.length?(m=F==null?(P=T=v=w=null,cp):Dy(P=+F[0][0],T=+F[0][1],v=+F[1][0],w=+F[1][1]),A()):P==null?null:[[P,T],[v,w]]},O.scale=function(F){return arguments.length?(e=+F,x()):e},O.translate=function(F){return arguments.length?(r=+F[0],i=+F[1],x()):[r,i]},O.center=function(F){return arguments.length?(a=F[0]%360*nn,u=F[1]%360*nn,x()):[a*es,u*es]},O.rotate=function(F){return arguments.length?(l=F[0]%360*nn,c=F[1]%360*nn,h=F.length>2?F[2]%360*nn:0,x()):[l*es,c*es,h*es]},O.precision=function(F){return arguments.length?(E=vp(N,_=F*F),A()):Vo(_)},O.fitExtent=function(F,Y){return gp(O,F,Y)},O.fitSize=function(F,Y){return Uy(O,F,Y)};function x(){g=tp(d=by(l,c,h),t);var F=t(a,u);return s=r-F[0]*e,o=i+F[1]*e,A()}function A(){return I=b=null,O}return function(){return t=n.apply(this,arguments),O.invert=t.invert&&M,x()}}function yp(n){return function(t,e){var r=re(t),i=re(e),s=n(r*i);return[s*i*ne(t),s*ne(e)]}}function _p(n){return function(t,e){var r=Vo(t*t+e*e),i=n(r),s=ne(i),o=re(i);return[ko(t*s,r*o),zs(r&&e*s/r)]}}var Jy=yp(function(n){return Vo(2/(1+n))});Jy.invert=_p(function(n){return 2*zs(n/2)});var wp=yp(function(n){return(n=Zd(n))&&n/ne(n)});wp.invert=_p(function(n){return n});function By(){return Hy(wp).scale(79.4188).clipAngle(180-.001)}function Ep(n,t){return[n,t]}Ep.invert=Ep;function jy(n,t,e){e=e||{};var r=e.units||"kilometers",i=e.steps||8;if(!n)throw new Error("geojson is required");if(typeof e!="object")throw new Error("options must be an object");if(typeof i!="number")throw new Error("steps must be an number");if(t===void 0)throw new Error("radius is required");if(i<=0)throw new Error("steps must be greater than 0");var s=[];switch(n.type){case"GeometryCollection":return Pu(n,function(o){var a=ol(o,t,r,i);a&&s.push(a)}),co(s);case"FeatureCollection":return Iu(n,function(o){var a=ol(o,t,r,i);a&&Iu(a,function(u){u&&s.push(u)})}),co(s)}return ol(n,t,r,i)}function ol(n,t,e,r){var i=n.properties||{},s=n.type==="Feature"?n.geometry:n;if(s.type==="GeometryCollection"){var o=[];return Pu(n,function(C){var P=ol(C,t,e,r);P&&o.push(P)}),co(o)}var a=Zy(s),u={type:s.type,coordinates:Cp(s.coordinates,a)},l=new ac,c=l.read(u),h=Wl(ql(t,e),"meters"),d=de.bufferOp(c,h,r),g=new Td;if(d=g.write(d),!Sp(d.coordinates)){var y={type:d.type,coordinates:Ip(d.coordinates,a)};return mn(y,i)}}function Sp(n){return Array.isArray(n[0])?Sp(n[0]):isNaN(n[0])}function Cp(n,t){return typeof n[0]!="object"?t(n):n.map(function(e){return Cp(e,t)})}function Ip(n,t){return typeof n[0]!="object"?t.invert(n):n.map(function(e){return Ip(e,t)})}function Zy(n){var t=oy(n).geometry.coordinates,e=[-t[0],-t[1]];return By().rotate(e).scale(Ae)}function Ky(n,t,e){e===void 0&&(e={});for(var r=e.steps||64,i=e.properties?e.properties:!Array.isArray(n)&&n.type==="Feature"&&n.properties?n.properties:{},s=[],o=0;o<r;o++)s.push(ho(n,t,o*-360/r,e).geometry.coordinates);return s.push(s[0]),er([s],i)}/**
|
|
45
45
|
* splaytree v3.1.2
|
|
46
46
|
* Fast Splay tree for Node and browser
|
|
47
47
|
*
|
|
@@ -351,7 +351,7 @@ export type ESJTimeIntervalCollectionJsonType = {
|
|
|
351
351
|
\`\`\`
|
|
352
352
|
${fg}
|
|
353
353
|
\`\`\`
|
|
354
|
-
`,Q_="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",St=class St extends Ft{constructor(e){super(e);f(this,"_flyToFeatureEvent",this.dv(new V));f(this,"_flyToFeatureIndexEvent",this.dv(new V));f(this,"_features",this.disposeVar(p.reactJsonWithUndefined(void 0)));f(this,"pickedInfoType","FeatureCollection");this._updateUrl(),this.ad(this.urlChanged.don(()=>{this._updateUrl()})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(e,r,i){this._flyToFeatureEvent.emit(e,r,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(e,r){this._flyToFeatureIndexEvent.emit(e,r)}get features(){return this._features.value}set features(e){this._features.value=e}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}async _updateUrl(){var e;if(!this.url){this.features=void 0;return}typeof this.url=="object"?this.features=this.url:Vl(this.url)?this.features=JSON.parse(this.url):await fetch(tt.context.getStrFromEnv(this.url)).then(r=>r.json()).then(r=>{this.features=r}).catch(r=>{console.warn("ESEntityCluster数据加载失败",r)}),this.pickedInfoType=((e=this.features)==null?void 0:e.type)??"FeatureCollection"}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",dataSource:[...e.dataSource,new Q([this,"url"],"服务地址",St.defaults.url),new L([this,"minFeatureVisibleDistance"],"要素最小可视距离",St.defaults.minFeatureVisibleDistance),new L([this,"maxFeatureVisibleDistance"],"要素最大可视距离",St.defaults.maxFeatureVisibleDistance),new mt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考")],style:[...e.style,new it([],"点样式集合"),new q([this,"textShow"],"是否显示",St.defaults.textShow),new ye([this,"textAnchor"],"锚点",St.defaults.anchor),new ut([this,"textProperty"],"标注显示属性",St.defaults.textStyle.textProperty),new ut([this,"textDefaultText"],"默认文本",St.defaults.textStyle.defaultText),new Et([this,"textColor"],"文本颜色",St.defaults.textStyle.color),new Et([this,"textBackgroundColor"],"文本背景颜色",St.defaults.textStyle.backgroundColor),new ut([this,"textFontStyle"],"字体样式",St.defaults.textStyle.fontStyle),new ut([this,"textFontWeight"],"字体粗细",St.defaults.textStyle.fontWeight),new L([this,"textFontSize"],"字体大小",St.defaults.textStyle.fontSize),new ye([this,"textOffset"],"像素偏移",St.defaults.textStyle.offset),new it([],"点图片样式集合"),new q([this,"imageShow"],"是否显示",St.defaults.imageShow),new ye([this,"imageAnchor"],"锚点",St.defaults.imageStyle.anchor),new Q([this,"imageUrl"],"图片地址",St.defaults.imageStyle.url),new ye([this,"imageSize"],"图片大小",St.defaults.imageStyle.size),new ye([this,"imageOffset"],"像素偏移",St.defaults.imageStyle.offset),new it([],"线样式集合"),new q([this,"stroked"],"是否显示",St.defaults.stroked),new q([this,"strokeGround"],"贴地",St.defaults.strokeStyle.ground),new L([this,"strokeWidth"],"线宽",St.defaults.strokeStyle.width),new mt([this,"strokeWidthType"],St.strokeStyleWidthTypes,"线宽类型"),new Et([this,"strokeColor"],"线颜色",St.defaults.strokeStyle.color),new ut([this,"strokeMaterial"],"线材质",St.defaults.strokeStyle.material),new Q([this,"strokeMaterialParams"],"线材质参数",St.defaults.strokeStyle.materialParams),new it([],"面样式集合"),new q([this,"filled"],"是否显示",St.defaults.filled),new q([this,"fillGround"],"贴地",St.defaults.fillStyle.ground),new Et([this,"fillColor"],"填充颜色",St.defaults.fillStyle.color),new ut([this,"fillMaterial"],"填充材质",St.defaults.fillStyle.material),new Q([this,"fillMaterialParams"],"填充材质参数",St.defaults.fillStyle.materialParams)],more:[...e.more,new it([],"标注文本样式"),new ut([this,"textFontFamily"],"字体",St.defaults.textStyle.fontFamily),new it([],"通用"),new Ui([this,"loadFuncStr"],"loadFnStr",fg,K_,!0)]}}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}get textProperty(){return this.textStyle.textProperty}set textProperty(e){this.textStyle={...this.textStyle,textProperty:e}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(e){this.textStyle={...this.textStyle,defaultText:e}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(e){this.textStyle={...this.textStyle,color:e}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(e){this.textStyle={...this.textStyle,backgroundColor:e}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(e){this.textStyle={...this.textStyle,fontFamily:e}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(e){this.textStyle={...this.textStyle,fontStyle:e}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(e){this.textStyle={...this.textStyle,fontWeight:e}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(e){this.textStyle={...this.textStyle,fontSize:e}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(e){this.textStyle={...this.textStyle,anchor:e}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(e){this.textStyle={...this.textStyle,offset:e}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(e){this.imageStyle={...this.imageStyle,url:e}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(e){this.imageStyle={...this.imageStyle,size:e}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(e){this.imageStyle={...this.imageStyle,anchor:e}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(e){this.imageStyle={...this.imageStyle,offset:e}}get imageOffsetChanged(){return this.imageStyleChanged}};f(St,"createDefaultProps",()=>({...Ft.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:Q_,stroked:!0,strokeStyle:p.reactJson({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:p.reactJson({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:p.reactJson({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:p.reactJson({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"})),f(St,"type",St.register("ESGeoJson",St,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),f(St,"strokeStyleWidthTypes",[["screen","screen"],["world","world"]]);let lu=St;const $s=class $s extends wt{constructor(e){super(e);f(this,"editingBindMode","doublePoints");f(this,"_height",this.disposeVar(p.react(0)));{const r=()=>{this.height=this.points&&this.points.length>=2?this.points[1][2]-this.points[0][2]:0};r(),this.ad(this.pointsChanged.don(r))}}get height(){return this._height.value}set height(e){this._height.value=e}get heightChanged(){return this._height.changed}};f($s,"createDefaultProps",()=>({...wt.createDefaultProps(),stroked:!0,strokeStyle:p.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f($s,"type",$s.register("ESHeightMeasurement",$s,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),f($s,"supportEditingModes",[...wt.supportEditingModes,$.DoublePointsAppend,$.DoublePointsModify]);let yh=$s;const ua=class ua extends Di{constructor(e){super(e);f(this,"_area",this.dv(p.react(0)));f(this,"_perimeter",this.dv(p.react(0)));f(this,"editingBindMode","doublePoints");const r=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};r(),this.d(this.radiusChanged.don(r))}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(e=10,r){return qp([...this.position],this.radius,e,r)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",basic:[...e.basic,new L([this,"radius"],"圆半径",1,!0)],coordinate:[...e.coordinate,new q([this,"editing"],"是否编辑"),new uo([this,"position"],"三维坐标",[0,0,0],!0),new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)]}}};f(ua,"createDefaultProps",()=>({...Di.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:p.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),f(ua,"type",ua.register("ESLocalCircle",ua,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let _h=ua;const la=class la extends Di{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new _f([this,"points"],"坐标",[])]}}};f(la,"createDefaultProps",()=>({...Di.createDefaultProps(),points:Vc([]),filled:!0})),f(la,"type",la.register("ESLocalPolygon",la,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let cu=la;const ca=class ca extends qo{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new Rl([this,"points"],"本地位置数组")]}}};f(ca,"createDefaultProps",()=>({...qo.createDefaultProps(),points:p.reactPositions(void 0),filled:!0})),f(ca,"type",ca.register("ESLocalPolygonZ",ca,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let wh=ca;const ha=class ha extends Di{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"width"],"宽度"),new L([this,"height"],"高度")]}}};f(ha,"createDefaultProps",()=>({...Di.createDefaultProps(),width:5e5,height:3e5,filled:!0})),f(ha,"type",ha.register("ESLocalRectangle",ha,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let Eh=ha;const Ai=class Ai extends wt{constructor(e){super(e);f(this,"editingBindMode","lineString");f(this,"_distance",this.dv(p.react(0)));f(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());const r=()=>{if(this.points&&this.points.length>=2){const i=su(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};r(),this.d(this.pointsChanged.don(r))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new L([this,"height"],"高度",10),new L([this,"width"],"宽度",10),new mt([this,"materialMode"],Ai.materialModes,"模式","purple")],coordinate:[...e.coordinate,new L([this,"distance"],"距离",0,!1,!0)]}}};f(Ai,"createDefaultProps",()=>({...wt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:p.reactJson({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),f(Ai,"type",Ai.register("ESPipeFence",Ai,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),f(Ai,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","color"]]),f(Ai,"supportEditingModes",[...wt.supportEditingModes,$.LineStringAppend,$.LineStringInsert]);let wl=Ai;const Ri=class Ri extends on{constructor(e){super(e);f(this,"_setLayerVisibleEvent",this.dv(new V));f(this,"_setLayerColorEvent",this.dv(new V))}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(e,r){this._setLayerVisibleEvent.emit(e,r)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(e,r){this._setLayerColorEvent.emit(e,r)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new it([],"ESPipeserTileset"),new st(["string","string"],(r,i)=>this.setLayerVisible(r,i),["",""],"setLayerVisible"),new st(["string","string"],(r,i)=>this.setLayerColor(r,i),["",""],"setLayerColor"),new mt([this,"colorMode"],Ri.colorModes,"colorMode",Ri.defaults.colorMode,!0)]}}};f(Ri,"createDefaultProps",()=>({...on.createDefaultProps(),colorMode:"default"})),f(Ri,"type",Ri.register("ESPipeserTileset",Ri,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),f(Ri,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let Sh=Ri;const Fi=class Fi extends wt{constructor(e){super(e);f(this,"editingBindMode","circular")}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",coordinate:[...e.coordinate,new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)],basic:[...e.basic,new L([this,"height"],"高度",10),new mt([this,"materialMode"],Fi.materialModes,"模式","danger")]}}};f(Fi,"createDefaultProps",()=>({...wt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),f(Fi,"type",Fi.register("ESPolygonFence",Fi,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),f(Fi,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),f(Fi,"supportEditingModes",[...wt.supportEditingModes,$.CircularAppend,$.CircularInsert,$.HeightModify]);let El=Fi;const fs=class fs extends wt{constructor(e){super(e);f(this,"_deprecated",["ground"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());f(this,"editingBindMode","doublePoints")}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new it([],"通用","通用"),new q([this,"ground"],"是否贴地"),new q([this,"outlineTranslucent"],"轮廓线半透明"),new L([this,"height"],"高度"),new L([this,"extrudedHeight"],"拉伸高度"),new pn([this,"rectangle"],"范围",fs.defaults.rectangle,!0),new L([this,"stRotation"],"纹理旋转角度"),new L([this,"rotation"],"旋转角度"),new q([this,"pointEditing"],"是否单点编辑")]}}};f(fs,"createDefaultProps",()=>({...wt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:p.reactArrayWithUndefined(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),f(fs,"type",fs.register("ESRectangle",fs,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),f(fs,"supportEditingModes",[...wt.supportEditingModes,$.DoublePointsAppend,$.DoublePointsModify]);let Ch=fs;const fa=class fa extends Vt{getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Q([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};f(fa,"createDefaultProps",()=>({...Vt.createDefaultProps(),innerRings:p.reactPositionsSet([])})),f(fa,"type",fa.register("ESPolygonWithHole",fa,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let Ih=fa;const ds=class ds extends Vt{constructor(e){super(e);f(this,"_startEvent",this.disposeVar(new V));f(this,"_stopEvent",this.dv(new V));f(this,"_surfaceArea",this.disposeVar(p.react(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(e){this._surfaceArea.value=e}get surfaceChanged(){return this._surfaceArea.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new it([],"表面积测量","表面积测量"),new st([],()=>this.start(),[],"开始计算"),new L([this,"interpolation"],"插值距离",ds.defaults.interpolation),new L([this,"offsetHeight"],"偏移高度",ds.defaults.offsetHeight)]}}};f(ds,"createDefaultProps",()=>({...Vt.createDefaultProps(),interpolation:.5,offsetHeight:0,units:p.reactArray(["SquareMeter_SquareKilometer","MU_Hectare"]),fillStyle:p.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!0})})),f(ds,"type",ds.register("ESSurfaceAreaMeasurement",ds,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let Ph=ds;const ps=class ps extends et{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"downloadProgress"],"下载进度",ps.defaults.downloadProgress,!0,!0),new Q([this,"importOptions"],"导入参数",ps.defaults.importOptions,void 0,!0)],dataSource:[...t.dataSource,new Q([this,"url"],"路径")]}}};f(ps,"createDefaultProps",()=>({...et.createDefaultProps(),url:"",importOptions:p.reactJsonWithUndefined({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),f(ps,"type",ps.register("ESDatasmithRuntimeModel",ps,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let bh=ps;const $e=class $e extends cu{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new mt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",$e.defaults.waterType),new L([this,"frequency"],"频率",$e.defaults.frequency),new Ce([this,"amplitude"],.01,[0,1],"振幅",$e.defaults.amplitude),new Ce([this,"flowDirection"],1,[0,360],"流向",$e.defaults.flowDirection),new Ce([this,"waveVelocity"],.01,[0,1],"波动频率",$e.defaults.waveVelocity),new Ce([this,"specularIntensity"],.01,[0,1],"镜面反射强度",$e.defaults.specularIntensity),new Ce([this,"murkiness"],.1,[0,10],"水体浑浊度",$e.defaults.murkiness),new L([this,"flowSpeed"],"水流速度",$e.defaults.flowSpeed),new Et([this,"waterColor"],"水的底色",$e.defaults.waterColor),new Q([this,"waterImage"],"水的图片",$e.defaults.waterImage)]}}};f($e,"createDefaultProps",()=>({...cu.createDefaultProps(),allowPicking:!0,waterImage:p.reactJsonWithUndefined(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})),f($e,"type",$e.register("ESDynamicWater",$e,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let Nh=$e;const tr=class tr extends Vt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new mt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",tr.defaults.waterType),new L([this,"frequency"],"频率",tr.defaults.frequency),new Ce([this,"amplitude"],.01,[0,1],"振幅",tr.defaults.amplitude),new Ce([this,"flowDirection"],1,[0,360],"流向",tr.defaults.flowDirection),new Ce([this,"waveVelocity"],.01,[0,1],"波动频率",tr.defaults.waveVelocity),new Ce([this,"specularIntensity"],.01,[0,1],"镜面反射强度",tr.defaults.specularIntensity),new Ce([this,"murkiness"],.1,[0,10],"水体浑浊度",tr.defaults.murkiness),new L([this,"flowSpeed"],"水流速度",tr.defaults.flowSpeed),new Et([this,"waterColor"],"水的底色",tr.defaults.waterColor),new Q([this,"waterImage"],"水的图片",tr.defaults.waterImage)]}}};f(tr,"createDefaultProps",()=>({...Vt.createDefaultProps(),allowPicking:!0,waterImage:p.reactJsonWithUndefined({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})),f(tr,"type",tr.register("ESGeoWater",tr,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let Th=tr;const to=class to extends et{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"downloadProgress"],"下载进度",to.defaults.downloadProgress,!0,!0),new ut([this,"levelName"],"levelName",""),new L([this,"levelLoadDistance"],"levelLoadDistance",1e3),new We([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...t.dataSource,new Q([this,"url"],"url","")]}}};f(to,"createDefaultProps",()=>({...et.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:p.reactArray([0,0,0]),levelLoadDistance:1e3})),f(to,"type",to.register("ESLevelRuntimeModel",to,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let Oh=to;const zr=class zr extends Mi{constructor(e){super(e);f(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})())}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new L([this,"radius"],"半径",zr.defaults.radius),new L([this,"sides"],"圆边数",zr.defaults.sides),new L([this,"speed"],"材质速度",zr.defaults.speed),new mt([this,"materialMode"],zr.materialModes,"材质模式",zr.defaults.materialMode),new Q([this,"materialImage"],"材质图片和重复度",zr.defaults.materialImage)]}}};f(zr,"createDefaultProps",()=>({...Mi.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:p.reactJson({url:"",uDis:50,vDis:10}),speed:1,filled:!0,stroked:!1,fillStyle:p.reactJson({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),f(zr,"type",zr.register("ESPipeline",zr,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),f(zr,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let xh=zr;const ci=class ci extends wt{constructor(e){super(e);f(this,"editingBindMode","visibility")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Et([this,"visibleColor"],"可视区域颜色",ci.defaults.visibleColor),new Et([this,"invisibleColor"],"遮挡区域颜色",ci.defaults.invisibleColor),new L([this,"heightOffset"],"视点高度偏移",ci.defaults.heightOffset)]}}};f(ci,"createDefaultProps",()=>({...wt.createDefaultProps(),visibleColor:p.reactArray([0,1,0,1]),invisibleColor:p.reactArray([1,0,0,1]),heightOffset:0})),f(ci,"type",ci.register("ESVisibilityAnalysis",ci,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),f(ci,"supportEditingModes",[...wt.supportEditingModes,$.VisibilityAppend,$.VisibilityModify]);let Dh=ci;const da=class da extends Vt{constructor(e){super(e);f(this,"_startEvent",this.dv(new V));f(this,"_clearEvent",this.dv(new V));f(this,"_volume",this.disposeVar(p.react(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(e){this._volume.value=e}get volumeChanged(){return this._volume.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new it([],"通用","通用"),new L([this,"planeHeight"],"基准面高程",void 0,!0),new L([this,"gridWidth"],"采样间距 m"),new L([this,"cutVolume"],"挖方",0,!1,!0),new L([this,"fillVolume"],"填方",0,!1,!0),new L([this,"cutAndFillVolume"],"挖填方",0,!1,!0),new L([this,"progress"],"计算进度",0,!1,!0),new st([],()=>this.start(),[],"开始分析"),new st([],()=>this.clear(),[],"清空分析结果"),new q([this,"depthTest"],"是否开启深度检测")]}}};f(da,"createDefaultProps",()=>({...Vt.createDefaultProps(),planeHeight:p.react(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,filled:!1,stroked:!0,strokeStyle:p.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(da,"type",da.register("ESVolumeMeasurement",da,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let Mh=da;const pa=class pa extends Us{constructor(e){super(e);f(this,"_human",this.dv(new Us));f(this,"_poi",this.dv(new uu));this.d(this.components.disposableAdd(this._human,!0)),this.d(this.components.disposableAdd(this._poi));{const{_human:r,_poi:i}=this;this.d(p.track([r,"show"],[this,"show"])),this.d(p.track([i,"show"],[this,"show"])),this.d(p.track([r,"allowPicking"],[this,"allowPicking"])),this.d(p.track([i,"allowPicking"],[this,"allowPicking"])),this.d(p.bind([r,"scale"],[this,"scale"])),this.d(p.bind([i,"scale"],[this,"scale"])),this.d(p.track([r,"collision"],[this,"collision"])),this.d(p.track([i,"collision"],[this,"collision"])),this.d(p.bind([r,"flyInParam"],[this,"flyInParam"])),this.d(p.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(p.track([r,"animation"],[this,"animation"])),this.d(p.track([r,"mode"],[this,"mode"])),this.d(p.track([r,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(p.track([r,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(p.track([i,"name"],[this,"name"])),this.d(p.track([i,"mode"],[this,"poiMode"])),this.d(p.track([i,"autoAnchor"],[this,"autoAnchor"])),this.d(p.track([i,"screenRender"],[this,"screenRender"])),this.d(p.track([i,"size"],[this,"size"])),this.d(p.track([i,"anchor"],[this,"anchor"])),this.d(p.track([i,"sizeByContent"],[this,"sizeByContent"])),this.d(p.track([i,"renderMode"],[this,"renderMode"])),this.d(p.track([i,"rotationType"],[this,"rotationType"])),this.d(p.track([i,"zOrder"],[this,"zOrder"])),this.d(p.track([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(p.track([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(p.bind([r,"position"],[this,"position"])),this.d(p.bind([r,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{r.flyIn(s)})),this.d(this.flyToEvent.don(s=>{r.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{r.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{r.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{r.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{r.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,u)=>{r.smoothMoveOnGround(s,o,a,u)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,u,l)=>{r.smoothMoveWithRotationOnGround(s,o,a,u,l)})),this.d(this.automaticLandingEvent.don(()=>{r.automaticLanding()}))}}get human(){return this._human}get poi(){return this._poi}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new mt([this,"poiMode"],uu.modes,"poi模式","SquareH01"),new L([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};f(pa,"createDefaultProps",()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:p.reactJson({}),autoAnchor:!0,screenRender:!0,size:p.reactArray([100,100]),anchor:p.reactArray([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...Us.createDefaultProps()})),f(pa,"type",pa.register("ESHumanPoi",pa,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let Lh=pa;const zn=class zn extends Vt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"depth"],"深度",zn.defaults.depth),new L([this,"interpolation"],"插值",zn.defaults.interpolation),new L([this,"opacity"],"透明度",zn.defaults.opacity),new Q([this,"sideImage"],"侧面图片",zn.defaults.sideImage),new Q([this,"bottomImage"],"底面图片",zn.defaults.bottomImage)]}}};f(zn,"createDefaultProps",()=>({...Vt.createDefaultProps(),depth:100,sideImage:p.reactJson({url:tt.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:p.reactJson({url:tt.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})),f(zn,"type",zn.register("ESPit",zn,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let Ho=zn;const ga=class ga extends Ho{constructor(e){super(e);f(this,"_excavate",this.dv(new au));f(this,"_pit",this.dv(new Ho));this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit,!0));{const{_excavate:r,_pit:i}=this;this.d(p.track([r,"show"],[this,"show"])),this.d(p.track([i,"show"],[this,"show"])),this.d(p.track([r,"allowPicking"],[this,"allowPicking"])),this.d(p.track([i,"allowPicking"],[this,"allowPicking"])),this.d(p.track([r,"collision"],[this,"collision"])),this.d(p.track([i,"collision"],[this,"collision"])),this.d(p.bind([i,"points"],[this,"points"])),this.d(p.track([r,"points"],[this,"points"])),this.d(p.track([i,"pointed"],[this,"pointed"])),this.d(p.track([r,"pointed"],[this,"pointed"])),this.d(p.track([i,"pointStyle"],[this,"pointStyle"])),this.d(p.track([r,"pointStyle"],[this,"pointStyle"])),this.d(p.track([i,"stroked"],[this,"stroked"])),this.d(p.track([r,"stroked"],[this,"stroked"])),this.d(p.track([i,"strokeStyle"],[this,"strokeStyle"])),this.d(p.track([r,"strokeStyle"],[this,"strokeStyle"])),this.d(p.track([i,"filled"],[this,"filled"])),this.d(p.track([i,"fillStyle"],[this,"fillStyle"])),this.d(p.track([r,"fillStyle"],[this,"fillStyle"])),this.d(p.track([r,"mode"],[this,"mode"])),this.d(p.track([r,"targetID"],[this,"targetID"])),this.d(p.track([i,"depth"],[this,"depth"])),this.d(p.track([i,"sideImage"],[this,"sideImage"])),this.d(p.track([i,"bottomImage"],[this,"bottomImage"])),this.d(p.track([i,"opacity"],[this,"opacity"])),this.d(p.track([i,"interpolation"],[this,"interpolation"])),this.d(p.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(p.bind([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 e={...super.getESProperties()};return{...e,basic:[...e.basic,new mt([this,"mode"],au.modes,"模式","in"),new ut([this,"targetID"],"瓦片图层","")]}}};f(ga,"createDefaultProps",()=>({...Ho.createDefaultProps(),mode:"in",targetID:""})),f(ga,"type",ga.register("ESHole",ga,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let Ah=ga;const Rh={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},$_=async(n,t,e,r)=>{try{const i=window.localStorage.getItem("Authorization");let s=n+`${Rh.layerconfigfind}?tileServiceName=${t}`;e&&(s+=`&earthdstoken=${encodeURIComponent(r)}`);const o={headers:{...!e&&i?{Authorization:i}:{}},mode:"cors"},u=await(await fetch(s,o)).text();return JSON.parse(u)}catch(i){console.error(i)}},t0=async(n,t,e,r,i)=>{try{const s=window.localStorage.getItem("Authorization");let o=n+Rh.layerconfigsave;const a=i??{};e&&(o+=`?earthdstoken=${encodeURIComponent(r)}`);const u={method:"POST",headers:{"Content-Type":"application/json",...!e&&s?{Authorization:s}:{}},mode:"cors",body:JSON.stringify({tileServiceName:t,layerConfig:JSON.stringify(a)})},c=await(await fetch(o,u)).text();return JSON.parse(c)}catch(s){console.error(s)}},e0=async(n,t,e)=>{try{const r=window.localStorage.getItem("Authorization");let i=n;t&&(i+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&r?{Authorization:r}:{}},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(r){console.error(r)}},r0=async(n,t,e,r,i)=>{try{const s={tileServiceName:t,featureId:e},o=window.localStorage.getItem("Authorization");let a=n+Rh.featureproperty;r&&(a+=`?earthdstoken=${encodeURIComponent(i)}`);const l=await(await fetch(a,{method:"post",headers:{"Content-Type":"application/json",...!r&&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)}},ma=class ma extends on{constructor(e){super(e);f(this,"_es3DTileset",this.dv(new on));f(this,"_ids",this.dv(p.reactJson([])));f(this,"_useEarthDSToken",this.dv(p.react(!1)));f(this,"_earthdstoken",this.dv(p.react("")));f(this,"_visJson",this.disposeVar(p.react({})));f(this,"_highlightInner3DtilesetEvent",this.dv(new V));f(this,"_removeHighlightInner3DtilesetEvent",this.dv(new V));f(this,"_tilesetServePort",this.dv(p.react("")));{const r=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(()=>{r()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const r=this._es3DTileset;this.d(p.track([r,"allowPicking"],[this,"allowPicking"])),this.d(p.track([r,"collision"],[this,"collision"])),this.d(p.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(p.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(p.track([r,"actorTag"],[this,"actorTag"])),this.d(p.track([r,"materialMode"],[this,"materialMode"])),this.d(p.track([r,"highlight"],[this,"highlight"])),this.d(p.track([r,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(p.track([r,"highlightID"],[this,"highlightID"])),this.d(p.track([r,"highlightColor"],[this,"highlightColor"])),this.d(p.bind([r,"offset"],[this,"offset"])),this.d(p.bind([r,"rotation"],[this,"rotation"])),this.d(p.track([r,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(p.track([r,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(p.track([r,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(p.track([r,"czmClassificationType"],[this,"czmClassificationType"])),this.d(p.track([r,"czmStyleJson"],[this,"czmStyleJson"])),this.d(p.track([r,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(p.track([r,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(p.track([r,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(p.track([r,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(p.track([r,"colorBlendMode"],[this,"colorBlendMode"])),this.d(p.track([r,"cacheBytes"],[this,"cacheBytes"])),this.d(p.track([r,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(p.track([r,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(p.track([r,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(p.track([r,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(p.track([r,"materialParams"],[this,"materialParams"])),this.d(p.bind([r,"supportEdit"],[this,"supportEdit"])),this.d(p.bind([r,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(p.bind([r,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(p.bind([r,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(p.bind([r,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(p.bind([r,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(p.bind([r,"excavateId"],[this,"excavateId"]))}{const r=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{r.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{r.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{r.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{r.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{r.resetFeatureStyle(...i)})),this.d(this.setFeatureStyleEvent.don((...i)=>{r.setFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{r.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{r.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{r.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{r.calcFlyInParam(...i)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(r.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const r=()=>{this.es3DTileset.show=this.show};r(),this.d(this.showChanged.don(()=>{r()}))}}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(e){this._ids.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}get visJson(){return this._visJson.value}set visJson(e){this._visJson.value=e}get visJsonChanged(){return this._visJson.changed}setFeatureVisable(e,r){var i;if((i=this.layerConfig)!=null&&i.length){const s={};s[r[0].value]=r[0].visable,this.visJson={...this.visJson,...s}}else this.setFeatureVisableEvent.emit(e,typeof r=="string"?JSON.parse(r):r)}async getFeatureProperty(e){return await r0(this.baseUrl,this.tileServiceName,e,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const e=await $_(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken);return!e||!Array.isArray(e)?this.layerConfig=[]:this.layerConfig=e,this.layerConfig}async saveLayerConfig(){const e=this.layerConfig;return await t0(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken,e)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(e){this._highlightInner3DtilesetEvent.emit(e)}async highlightDSFeature(e){this._highlightInner3Dtileset(e)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(e){this._removeHighlightInner3DtilesetEvent.emit(e)}async removeHighlightDSFeature(e){this._removeHighlightInner3Dtileset(e)}async pickFeature(e,r){var a,u,l;const i=await e.pick(r),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(e){this._tilesetServePort.value=e}async getport(){const e=await e0(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const e=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],r=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${r}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!r)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return r}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!r)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return r}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!r)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return r}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Q([this,"layerConfig"],"图层配置",[],void 0,!0)]}}};f(ma,"createDefaultProps",()=>({...on.createDefaultProps(),layerConfig:p.reactJsonWithUndefined([])})),f(ma,"type",ma.register("ESRtsTileset",ma,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Fh=ma;function n0(n){return typeof n=="number"&&!isNaN(n)}const va=class va extends on{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(t){this._innerSetJson(t)}async init(t,e){this.featureId=e;const r=await t.getFeatureProperty(e);this.uiShowprops=r.allFields.map(o=>({featureClassName:o.featureClassName,fields:o.fields.map(a=>({key:a.name,type:a.type,value:a.type!="Double"?a.value:n0(a.value)?Number(a.value.toFixed(3)):""}))})),this.datasetName=r.datasetName,t.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{t.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const i=t.tileServiceIp,s=t.tilesetServePort;if(!s)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${i}:${s}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(o=>{o.assign({sceneObject:t}),t.pickedEvent.emit(o)})),this.d(()=>{this.editing=!1,t.removeHighlightDSFeature(this)})}constructor(t){super(t)}};f(va,"createDefaultProps",()=>({...on.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:p.reactJson({}),changeMaterial:p.reactJsonWithUndefined(void 0),uiShowprops:p.reactJson({}),props:p.reactJson({})})),f(va,"type",va.register("ESRtsFeatureEditing",va,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let kh=va;const i0=async(n,t,e)=>{try{const r=window.localStorage.getItem("Authorization");let i=n;t&&(i+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&r?{Authorization:r}:{}},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(r){console.error(r)}},vu=class vu extends on{constructor(e){super(e);f(this,"_es3DTileset",this.dv(new on));f(this,"_tilesetServePort",this.dv(p.react("")));f(this,"_useEarthDSToken",this.dv(p.react(!1)));f(this,"_earthdstoken",this.dv(p.react("")));{const r=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(()=>{r()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const r=this._es3DTileset;this.d(p.track([r,"allowPicking"],[this,"allowPicking"])),this.d(p.track([r,"collision"],[this,"collision"])),this.d(p.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(p.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(p.track([r,"actorTag"],[this,"actorTag"])),this.d(p.track([r,"materialMode"],[this,"materialMode"])),this.d(p.track([r,"highlight"],[this,"highlight"])),this.d(p.track([r,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(p.track([r,"highlightID"],[this,"highlightID"])),this.d(p.track([r,"highlightColor"],[this,"highlightColor"])),this.d(p.bind([r,"offset"],[this,"offset"])),this.d(p.bind([r,"rotation"],[this,"rotation"])),this.d(p.track([r,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(p.track([r,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(p.track([r,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(p.track([r,"czmClassificationType"],[this,"czmClassificationType"])),this.d(p.track([r,"czmStyleJson"],[this,"czmStyleJson"])),this.d(p.track([r,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(p.track([r,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(p.track([r,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(p.track([r,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(p.track([r,"colorBlendMode"],[this,"colorBlendMode"])),this.d(p.track([r,"cacheBytes"],[this,"cacheBytes"])),this.d(p.track([r,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(p.track([r,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(p.track([r,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(p.track([r,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(p.track([r,"materialParams"],[this,"materialParams"])),this.d(p.bind([r,"supportEdit"],[this,"supportEdit"])),this.d(p.bind([r,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(p.bind([r,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(p.bind([r,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(p.bind([r,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(p.bind([r,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(p.bind([r,"excavateId"],[this,"excavateId"]))}{const r=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{r.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{r.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{r.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{r.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{r.resetFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{r.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{r.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{r.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{r.calcFlyInParam(...i)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(r.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const r=()=>{this.es3DTileset.show=this.show};r(),this.d(this.showChanged.don(()=>{r()}))}}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(e){this._tilesetServePort.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}async getport(){const e=await i0(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const e=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],r=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${r}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!r)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return r}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!r)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return r}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!r)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return r}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}};f(vu,"type",vu.register("ESMsTileset",vu,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Vh=vu;const dg={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
|
+
`,Q_="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",St=class St extends Ft{constructor(e){super(e);f(this,"_flyToFeatureEvent",this.dv(new V));f(this,"_flyToFeatureIndexEvent",this.dv(new V));f(this,"_features",this.disposeVar(p.reactJsonWithUndefined(void 0)));f(this,"pickedInfoType","FeatureCollection");f(this,"_fetchId",0);this._updateUrl(),this.ad(this.urlChanged.don(()=>{this._updateUrl()})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(e,r,i){this._flyToFeatureEvent.emit(e,r,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(e,r){this._flyToFeatureIndexEvent.emit(e,r)}get features(){return this._features.value}set features(e){this._features.value=e}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}async _updateUrl(){var e;if(!this.url){this.features=void 0;return}if(typeof this.url=="object")this.features=this.url;else if(Vl(this.url))this.features=JSON.parse(this.url);else{const r=++this._fetchId;try{const s=await(await fetch(tt.context.getStrFromEnv(this.url))).json();r===this._fetchId&&(this.features=s)}catch(i){console.warn("ESEntityCluster数据加载失败",i)}}this.pickedInfoType=((e=this.features)==null?void 0:e.type)??"FeatureCollection"}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",dataSource:[...e.dataSource,new Q([this,"url"],"服务地址",St.defaults.url),new L([this,"minFeatureVisibleDistance"],"要素最小可视距离",St.defaults.minFeatureVisibleDistance),new L([this,"maxFeatureVisibleDistance"],"要素最大可视距离",St.defaults.maxFeatureVisibleDistance),new mt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考")],style:[...e.style,new it([],"点样式集合"),new q([this,"textShow"],"是否显示",St.defaults.textShow),new ye([this,"textAnchor"],"锚点",St.defaults.anchor),new ut([this,"textProperty"],"标注显示属性",St.defaults.textStyle.textProperty),new ut([this,"textDefaultText"],"默认文本",St.defaults.textStyle.defaultText),new Et([this,"textColor"],"文本颜色",St.defaults.textStyle.color),new Et([this,"textBackgroundColor"],"文本背景颜色",St.defaults.textStyle.backgroundColor),new ut([this,"textFontStyle"],"字体样式",St.defaults.textStyle.fontStyle),new ut([this,"textFontWeight"],"字体粗细",St.defaults.textStyle.fontWeight),new L([this,"textFontSize"],"字体大小",St.defaults.textStyle.fontSize),new ye([this,"textOffset"],"像素偏移",St.defaults.textStyle.offset),new it([],"点图片样式集合"),new q([this,"imageShow"],"是否显示",St.defaults.imageShow),new ye([this,"imageAnchor"],"锚点",St.defaults.imageStyle.anchor),new Q([this,"imageUrl"],"图片地址",St.defaults.imageStyle.url),new ye([this,"imageSize"],"图片大小",St.defaults.imageStyle.size),new ye([this,"imageOffset"],"像素偏移",St.defaults.imageStyle.offset),new it([],"线样式集合"),new q([this,"stroked"],"是否显示",St.defaults.stroked),new q([this,"strokeGround"],"贴地",St.defaults.strokeStyle.ground),new L([this,"strokeWidth"],"线宽",St.defaults.strokeStyle.width),new mt([this,"strokeWidthType"],St.strokeStyleWidthTypes,"线宽类型"),new Et([this,"strokeColor"],"线颜色",St.defaults.strokeStyle.color),new ut([this,"strokeMaterial"],"线材质",St.defaults.strokeStyle.material),new Q([this,"strokeMaterialParams"],"线材质参数",St.defaults.strokeStyle.materialParams),new it([],"面样式集合"),new q([this,"filled"],"是否显示",St.defaults.filled),new q([this,"fillGround"],"贴地",St.defaults.fillStyle.ground),new Et([this,"fillColor"],"填充颜色",St.defaults.fillStyle.color),new ut([this,"fillMaterial"],"填充材质",St.defaults.fillStyle.material),new Q([this,"fillMaterialParams"],"填充材质参数",St.defaults.fillStyle.materialParams)],more:[...e.more,new it([],"标注文本样式"),new ut([this,"textFontFamily"],"字体",St.defaults.textStyle.fontFamily),new it([],"通用"),new Ui([this,"loadFuncStr"],"loadFnStr",fg,K_,!0)]}}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}get textProperty(){return this.textStyle.textProperty}set textProperty(e){this.textStyle={...this.textStyle,textProperty:e}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(e){this.textStyle={...this.textStyle,defaultText:e}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(e){this.textStyle={...this.textStyle,color:e}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(e){this.textStyle={...this.textStyle,backgroundColor:e}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(e){this.textStyle={...this.textStyle,fontFamily:e}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(e){this.textStyle={...this.textStyle,fontStyle:e}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(e){this.textStyle={...this.textStyle,fontWeight:e}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(e){this.textStyle={...this.textStyle,fontSize:e}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(e){this.textStyle={...this.textStyle,anchor:e}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(e){this.textStyle={...this.textStyle,offset:e}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(e){this.imageStyle={...this.imageStyle,url:e}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(e){this.imageStyle={...this.imageStyle,size:e}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(e){this.imageStyle={...this.imageStyle,anchor:e}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(e){this.imageStyle={...this.imageStyle,offset:e}}get imageOffsetChanged(){return this.imageStyleChanged}};f(St,"createDefaultProps",()=>({...Ft.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:Q_,stroked:!0,strokeStyle:p.reactJson({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:p.reactJson({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:p.reactJson({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:p.reactJson({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"})),f(St,"type",St.register("ESGeoJson",St,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),f(St,"strokeStyleWidthTypes",[["screen","screen"],["world","world"]]);let lu=St;const $s=class $s extends wt{constructor(e){super(e);f(this,"editingBindMode","doublePoints");f(this,"_height",this.disposeVar(p.react(0)));{const r=()=>{this.height=this.points&&this.points.length>=2?this.points[1][2]-this.points[0][2]:0};r(),this.ad(this.pointsChanged.don(r))}}get height(){return this._height.value}set height(e){this._height.value=e}get heightChanged(){return this._height.changed}};f($s,"createDefaultProps",()=>({...wt.createDefaultProps(),stroked:!0,strokeStyle:p.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f($s,"type",$s.register("ESHeightMeasurement",$s,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),f($s,"supportEditingModes",[...wt.supportEditingModes,$.DoublePointsAppend,$.DoublePointsModify]);let yh=$s;const ua=class ua extends Di{constructor(e){super(e);f(this,"_area",this.dv(p.react(0)));f(this,"_perimeter",this.dv(p.react(0)));f(this,"editingBindMode","doublePoints");const r=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};r(),this.d(this.radiusChanged.don(r))}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(e=10,r){return qp([...this.position],this.radius,e,r)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",basic:[...e.basic,new L([this,"radius"],"圆半径",1,!0)],coordinate:[...e.coordinate,new q([this,"editing"],"是否编辑"),new uo([this,"position"],"三维坐标",[0,0,0],!0),new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)]}}};f(ua,"createDefaultProps",()=>({...Di.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:p.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),f(ua,"type",ua.register("ESLocalCircle",ua,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let _h=ua;const la=class la extends Di{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new _f([this,"points"],"坐标",[])]}}};f(la,"createDefaultProps",()=>({...Di.createDefaultProps(),points:Vc([]),filled:!0})),f(la,"type",la.register("ESLocalPolygon",la,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let cu=la;const ca=class ca extends qo{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new Rl([this,"points"],"本地位置数组")]}}};f(ca,"createDefaultProps",()=>({...qo.createDefaultProps(),points:p.reactPositions(void 0),filled:!0})),f(ca,"type",ca.register("ESLocalPolygonZ",ca,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let wh=ca;const ha=class ha extends Di{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"width"],"宽度"),new L([this,"height"],"高度")]}}};f(ha,"createDefaultProps",()=>({...Di.createDefaultProps(),width:5e5,height:3e5,filled:!0})),f(ha,"type",ha.register("ESLocalRectangle",ha,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let Eh=ha;const Ai=class Ai extends wt{constructor(e){super(e);f(this,"editingBindMode","lineString");f(this,"_distance",this.dv(p.react(0)));f(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());const r=()=>{if(this.points&&this.points.length>=2){const i=su(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};r(),this.d(this.pointsChanged.don(r))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new L([this,"height"],"高度",10),new L([this,"width"],"宽度",10),new mt([this,"materialMode"],Ai.materialModes,"模式","purple")],coordinate:[...e.coordinate,new L([this,"distance"],"距离",0,!1,!0)]}}};f(Ai,"createDefaultProps",()=>({...wt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:p.reactJson({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),f(Ai,"type",Ai.register("ESPipeFence",Ai,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),f(Ai,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","color"]]),f(Ai,"supportEditingModes",[...wt.supportEditingModes,$.LineStringAppend,$.LineStringInsert]);let wl=Ai;const Ri=class Ri extends on{constructor(e){super(e);f(this,"_setLayerVisibleEvent",this.dv(new V));f(this,"_setLayerColorEvent",this.dv(new V))}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(e,r){this._setLayerVisibleEvent.emit(e,r)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(e,r){this._setLayerColorEvent.emit(e,r)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new it([],"ESPipeserTileset"),new st(["string","string"],(r,i)=>this.setLayerVisible(r,i),["",""],"setLayerVisible"),new st(["string","string"],(r,i)=>this.setLayerColor(r,i),["",""],"setLayerColor"),new mt([this,"colorMode"],Ri.colorModes,"colorMode",Ri.defaults.colorMode,!0)]}}};f(Ri,"createDefaultProps",()=>({...on.createDefaultProps(),colorMode:"default"})),f(Ri,"type",Ri.register("ESPipeserTileset",Ri,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),f(Ri,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let Sh=Ri;const Fi=class Fi extends wt{constructor(e){super(e);f(this,"editingBindMode","circular")}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",coordinate:[...e.coordinate,new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)],basic:[...e.basic,new L([this,"height"],"高度",10),new mt([this,"materialMode"],Fi.materialModes,"模式","danger")]}}};f(Fi,"createDefaultProps",()=>({...wt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),f(Fi,"type",Fi.register("ESPolygonFence",Fi,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),f(Fi,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),f(Fi,"supportEditingModes",[...wt.supportEditingModes,$.CircularAppend,$.CircularInsert,$.HeightModify]);let El=Fi;const fs=class fs extends wt{constructor(e){super(e);f(this,"_deprecated",["ground"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());f(this,"editingBindMode","doublePoints")}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new it([],"通用","通用"),new q([this,"ground"],"是否贴地"),new q([this,"outlineTranslucent"],"轮廓线半透明"),new L([this,"height"],"高度"),new L([this,"extrudedHeight"],"拉伸高度"),new pn([this,"rectangle"],"范围",fs.defaults.rectangle,!0),new L([this,"stRotation"],"纹理旋转角度"),new L([this,"rotation"],"旋转角度"),new q([this,"pointEditing"],"是否单点编辑")]}}};f(fs,"createDefaultProps",()=>({...wt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:p.reactArrayWithUndefined(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),f(fs,"type",fs.register("ESRectangle",fs,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),f(fs,"supportEditingModes",[...wt.supportEditingModes,$.DoublePointsAppend,$.DoublePointsModify]);let Ch=fs;const fa=class fa extends Vt{getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Q([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};f(fa,"createDefaultProps",()=>({...Vt.createDefaultProps(),innerRings:p.reactPositionsSet([])})),f(fa,"type",fa.register("ESPolygonWithHole",fa,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let Ih=fa;const ds=class ds extends Vt{constructor(e){super(e);f(this,"_startEvent",this.disposeVar(new V));f(this,"_stopEvent",this.dv(new V));f(this,"_surfaceArea",this.disposeVar(p.react(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(e){this._surfaceArea.value=e}get surfaceChanged(){return this._surfaceArea.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new it([],"表面积测量","表面积测量"),new st([],()=>this.start(),[],"开始计算"),new L([this,"interpolation"],"插值距离",ds.defaults.interpolation),new L([this,"offsetHeight"],"偏移高度",ds.defaults.offsetHeight)]}}};f(ds,"createDefaultProps",()=>({...Vt.createDefaultProps(),interpolation:.5,offsetHeight:0,units:p.reactArray(["SquareMeter_SquareKilometer","MU_Hectare"]),fillStyle:p.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!0})})),f(ds,"type",ds.register("ESSurfaceAreaMeasurement",ds,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let Ph=ds;const ps=class ps extends et{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"downloadProgress"],"下载进度",ps.defaults.downloadProgress,!0,!0),new Q([this,"importOptions"],"导入参数",ps.defaults.importOptions,void 0,!0)],dataSource:[...t.dataSource,new Q([this,"url"],"路径")]}}};f(ps,"createDefaultProps",()=>({...et.createDefaultProps(),url:"",importOptions:p.reactJsonWithUndefined({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),f(ps,"type",ps.register("ESDatasmithRuntimeModel",ps,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let bh=ps;const $e=class $e extends cu{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new mt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",$e.defaults.waterType),new L([this,"frequency"],"频率",$e.defaults.frequency),new Ce([this,"amplitude"],.01,[0,1],"振幅",$e.defaults.amplitude),new Ce([this,"flowDirection"],1,[0,360],"流向",$e.defaults.flowDirection),new Ce([this,"waveVelocity"],.01,[0,1],"波动频率",$e.defaults.waveVelocity),new Ce([this,"specularIntensity"],.01,[0,1],"镜面反射强度",$e.defaults.specularIntensity),new Ce([this,"murkiness"],.1,[0,10],"水体浑浊度",$e.defaults.murkiness),new L([this,"flowSpeed"],"水流速度",$e.defaults.flowSpeed),new Et([this,"waterColor"],"水的底色",$e.defaults.waterColor),new Q([this,"waterImage"],"水的图片",$e.defaults.waterImage)]}}};f($e,"createDefaultProps",()=>({...cu.createDefaultProps(),allowPicking:!0,waterImage:p.reactJsonWithUndefined(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})),f($e,"type",$e.register("ESDynamicWater",$e,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let Nh=$e;const tr=class tr extends Vt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new mt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",tr.defaults.waterType),new L([this,"frequency"],"频率",tr.defaults.frequency),new Ce([this,"amplitude"],.01,[0,1],"振幅",tr.defaults.amplitude),new Ce([this,"flowDirection"],1,[0,360],"流向",tr.defaults.flowDirection),new Ce([this,"waveVelocity"],.01,[0,1],"波动频率",tr.defaults.waveVelocity),new Ce([this,"specularIntensity"],.01,[0,1],"镜面反射强度",tr.defaults.specularIntensity),new Ce([this,"murkiness"],.1,[0,10],"水体浑浊度",tr.defaults.murkiness),new L([this,"flowSpeed"],"水流速度",tr.defaults.flowSpeed),new Et([this,"waterColor"],"水的底色",tr.defaults.waterColor),new Q([this,"waterImage"],"水的图片",tr.defaults.waterImage)]}}};f(tr,"createDefaultProps",()=>({...Vt.createDefaultProps(),allowPicking:!0,waterImage:p.reactJsonWithUndefined({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})),f(tr,"type",tr.register("ESGeoWater",tr,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let Th=tr;const to=class to extends et{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"downloadProgress"],"下载进度",to.defaults.downloadProgress,!0,!0),new ut([this,"levelName"],"levelName",""),new L([this,"levelLoadDistance"],"levelLoadDistance",1e3),new We([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...t.dataSource,new Q([this,"url"],"url","")]}}};f(to,"createDefaultProps",()=>({...et.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:p.reactArray([0,0,0]),levelLoadDistance:1e3})),f(to,"type",to.register("ESLevelRuntimeModel",to,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let Oh=to;const zr=class zr extends Mi{constructor(e){super(e);f(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})())}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new L([this,"radius"],"半径",zr.defaults.radius),new L([this,"sides"],"圆边数",zr.defaults.sides),new L([this,"speed"],"材质速度",zr.defaults.speed),new mt([this,"materialMode"],zr.materialModes,"材质模式",zr.defaults.materialMode),new Q([this,"materialImage"],"材质图片和重复度",zr.defaults.materialImage)]}}};f(zr,"createDefaultProps",()=>({...Mi.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:p.reactJson({url:"",uDis:50,vDis:10}),speed:1,filled:!0,stroked:!1,fillStyle:p.reactJson({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),f(zr,"type",zr.register("ESPipeline",zr,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),f(zr,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let xh=zr;const ci=class ci extends wt{constructor(e){super(e);f(this,"editingBindMode","visibility")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Et([this,"visibleColor"],"可视区域颜色",ci.defaults.visibleColor),new Et([this,"invisibleColor"],"遮挡区域颜色",ci.defaults.invisibleColor),new L([this,"heightOffset"],"视点高度偏移",ci.defaults.heightOffset)]}}};f(ci,"createDefaultProps",()=>({...wt.createDefaultProps(),visibleColor:p.reactArray([0,1,0,1]),invisibleColor:p.reactArray([1,0,0,1]),heightOffset:0})),f(ci,"type",ci.register("ESVisibilityAnalysis",ci,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),f(ci,"supportEditingModes",[...wt.supportEditingModes,$.VisibilityAppend,$.VisibilityModify]);let Dh=ci;const da=class da extends Vt{constructor(e){super(e);f(this,"_startEvent",this.dv(new V));f(this,"_clearEvent",this.dv(new V));f(this,"_volume",this.disposeVar(p.react(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(e){this._volume.value=e}get volumeChanged(){return this._volume.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new it([],"通用","通用"),new L([this,"planeHeight"],"基准面高程",void 0,!0),new L([this,"gridWidth"],"采样间距 m"),new L([this,"cutVolume"],"挖方",0,!1,!0),new L([this,"fillVolume"],"填方",0,!1,!0),new L([this,"cutAndFillVolume"],"挖填方",0,!1,!0),new L([this,"progress"],"计算进度",0,!1,!0),new st([],()=>this.start(),[],"开始分析"),new st([],()=>this.clear(),[],"清空分析结果"),new q([this,"depthTest"],"是否开启深度检测")]}}};f(da,"createDefaultProps",()=>({...Vt.createDefaultProps(),planeHeight:p.react(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,filled:!1,stroked:!0,strokeStyle:p.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(da,"type",da.register("ESVolumeMeasurement",da,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let Mh=da;const pa=class pa extends Us{constructor(e){super(e);f(this,"_human",this.dv(new Us));f(this,"_poi",this.dv(new uu));this.d(this.components.disposableAdd(this._human,!0)),this.d(this.components.disposableAdd(this._poi));{const{_human:r,_poi:i}=this;this.d(p.track([r,"show"],[this,"show"])),this.d(p.track([i,"show"],[this,"show"])),this.d(p.track([r,"allowPicking"],[this,"allowPicking"])),this.d(p.track([i,"allowPicking"],[this,"allowPicking"])),this.d(p.bind([r,"scale"],[this,"scale"])),this.d(p.bind([i,"scale"],[this,"scale"])),this.d(p.track([r,"collision"],[this,"collision"])),this.d(p.track([i,"collision"],[this,"collision"])),this.d(p.bind([r,"flyInParam"],[this,"flyInParam"])),this.d(p.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(p.track([r,"animation"],[this,"animation"])),this.d(p.track([r,"mode"],[this,"mode"])),this.d(p.track([r,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(p.track([r,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(p.track([i,"name"],[this,"name"])),this.d(p.track([i,"mode"],[this,"poiMode"])),this.d(p.track([i,"autoAnchor"],[this,"autoAnchor"])),this.d(p.track([i,"screenRender"],[this,"screenRender"])),this.d(p.track([i,"size"],[this,"size"])),this.d(p.track([i,"anchor"],[this,"anchor"])),this.d(p.track([i,"sizeByContent"],[this,"sizeByContent"])),this.d(p.track([i,"renderMode"],[this,"renderMode"])),this.d(p.track([i,"rotationType"],[this,"rotationType"])),this.d(p.track([i,"zOrder"],[this,"zOrder"])),this.d(p.track([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(p.track([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(p.bind([r,"position"],[this,"position"])),this.d(p.bind([r,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{r.flyIn(s)})),this.d(this.flyToEvent.don(s=>{r.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{r.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{r.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{r.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{r.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,u)=>{r.smoothMoveOnGround(s,o,a,u)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,u,l)=>{r.smoothMoveWithRotationOnGround(s,o,a,u,l)})),this.d(this.automaticLandingEvent.don(()=>{r.automaticLanding()}))}}get human(){return this._human}get poi(){return this._poi}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new mt([this,"poiMode"],uu.modes,"poi模式","SquareH01"),new L([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};f(pa,"createDefaultProps",()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:p.reactJson({}),autoAnchor:!0,screenRender:!0,size:p.reactArray([100,100]),anchor:p.reactArray([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...Us.createDefaultProps()})),f(pa,"type",pa.register("ESHumanPoi",pa,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let Lh=pa;const zn=class zn extends Vt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"depth"],"深度",zn.defaults.depth),new L([this,"interpolation"],"插值",zn.defaults.interpolation),new L([this,"opacity"],"透明度",zn.defaults.opacity),new Q([this,"sideImage"],"侧面图片",zn.defaults.sideImage),new Q([this,"bottomImage"],"底面图片",zn.defaults.bottomImage)]}}};f(zn,"createDefaultProps",()=>({...Vt.createDefaultProps(),depth:100,sideImage:p.reactJson({url:tt.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:p.reactJson({url:tt.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})),f(zn,"type",zn.register("ESPit",zn,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let Ho=zn;const ga=class ga extends Ho{constructor(e){super(e);f(this,"_excavate",this.dv(new au));f(this,"_pit",this.dv(new Ho));this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit,!0));{const{_excavate:r,_pit:i}=this;this.d(p.track([r,"show"],[this,"show"])),this.d(p.track([i,"show"],[this,"show"])),this.d(p.track([r,"allowPicking"],[this,"allowPicking"])),this.d(p.track([i,"allowPicking"],[this,"allowPicking"])),this.d(p.track([r,"collision"],[this,"collision"])),this.d(p.track([i,"collision"],[this,"collision"])),this.d(p.bind([i,"points"],[this,"points"])),this.d(p.track([r,"points"],[this,"points"])),this.d(p.track([i,"pointed"],[this,"pointed"])),this.d(p.track([r,"pointed"],[this,"pointed"])),this.d(p.track([i,"pointStyle"],[this,"pointStyle"])),this.d(p.track([r,"pointStyle"],[this,"pointStyle"])),this.d(p.track([i,"stroked"],[this,"stroked"])),this.d(p.track([r,"stroked"],[this,"stroked"])),this.d(p.track([i,"strokeStyle"],[this,"strokeStyle"])),this.d(p.track([r,"strokeStyle"],[this,"strokeStyle"])),this.d(p.track([i,"filled"],[this,"filled"])),this.d(p.track([i,"fillStyle"],[this,"fillStyle"])),this.d(p.track([r,"fillStyle"],[this,"fillStyle"])),this.d(p.track([r,"mode"],[this,"mode"])),this.d(p.track([r,"targetID"],[this,"targetID"])),this.d(p.track([i,"depth"],[this,"depth"])),this.d(p.track([i,"sideImage"],[this,"sideImage"])),this.d(p.track([i,"bottomImage"],[this,"bottomImage"])),this.d(p.track([i,"opacity"],[this,"opacity"])),this.d(p.track([i,"interpolation"],[this,"interpolation"])),this.d(p.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(p.bind([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 e={...super.getESProperties()};return{...e,basic:[...e.basic,new mt([this,"mode"],au.modes,"模式","in"),new ut([this,"targetID"],"瓦片图层","")]}}};f(ga,"createDefaultProps",()=>({...Ho.createDefaultProps(),mode:"in",targetID:""})),f(ga,"type",ga.register("ESHole",ga,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let Ah=ga;const Rh={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},$_=async(n,t,e,r)=>{try{const i=window.localStorage.getItem("Authorization");let s=n+`${Rh.layerconfigfind}?tileServiceName=${t}`;e&&(s+=`&earthdstoken=${encodeURIComponent(r)}`);const o={headers:{...!e&&i?{Authorization:i}:{}},mode:"cors"},u=await(await fetch(s,o)).text();return JSON.parse(u)}catch(i){console.error(i)}},t0=async(n,t,e,r,i)=>{try{const s=window.localStorage.getItem("Authorization");let o=n+Rh.layerconfigsave;const a=i??{};e&&(o+=`?earthdstoken=${encodeURIComponent(r)}`);const u={method:"POST",headers:{"Content-Type":"application/json",...!e&&s?{Authorization:s}:{}},mode:"cors",body:JSON.stringify({tileServiceName:t,layerConfig:JSON.stringify(a)})},c=await(await fetch(o,u)).text();return JSON.parse(c)}catch(s){console.error(s)}},e0=async(n,t,e)=>{try{const r=window.localStorage.getItem("Authorization");let i=n;t&&(i+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&r?{Authorization:r}:{}},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(r){console.error(r)}},r0=async(n,t,e,r,i)=>{try{const s={tileServiceName:t,featureId:e},o=window.localStorage.getItem("Authorization");let a=n+Rh.featureproperty;r&&(a+=`?earthdstoken=${encodeURIComponent(i)}`);const l=await(await fetch(a,{method:"post",headers:{"Content-Type":"application/json",...!r&&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)}},ma=class ma extends on{constructor(e){super(e);f(this,"_es3DTileset",this.dv(new on));f(this,"_ids",this.dv(p.reactJson([])));f(this,"_useEarthDSToken",this.dv(p.react(!1)));f(this,"_earthdstoken",this.dv(p.react("")));f(this,"_visJson",this.disposeVar(p.react({})));f(this,"_highlightInner3DtilesetEvent",this.dv(new V));f(this,"_removeHighlightInner3DtilesetEvent",this.dv(new V));f(this,"_tilesetServePort",this.dv(p.react("")));{const r=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(()=>{r()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const r=this._es3DTileset;this.d(p.track([r,"allowPicking"],[this,"allowPicking"])),this.d(p.track([r,"collision"],[this,"collision"])),this.d(p.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(p.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(p.track([r,"actorTag"],[this,"actorTag"])),this.d(p.track([r,"materialMode"],[this,"materialMode"])),this.d(p.track([r,"highlight"],[this,"highlight"])),this.d(p.track([r,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(p.track([r,"highlightID"],[this,"highlightID"])),this.d(p.track([r,"highlightColor"],[this,"highlightColor"])),this.d(p.bind([r,"offset"],[this,"offset"])),this.d(p.bind([r,"rotation"],[this,"rotation"])),this.d(p.track([r,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(p.track([r,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(p.track([r,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(p.track([r,"czmClassificationType"],[this,"czmClassificationType"])),this.d(p.track([r,"czmStyleJson"],[this,"czmStyleJson"])),this.d(p.track([r,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(p.track([r,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(p.track([r,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(p.track([r,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(p.track([r,"colorBlendMode"],[this,"colorBlendMode"])),this.d(p.track([r,"cacheBytes"],[this,"cacheBytes"])),this.d(p.track([r,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(p.track([r,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(p.track([r,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(p.track([r,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(p.track([r,"materialParams"],[this,"materialParams"])),this.d(p.bind([r,"supportEdit"],[this,"supportEdit"])),this.d(p.bind([r,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(p.bind([r,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(p.bind([r,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(p.bind([r,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(p.bind([r,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(p.bind([r,"excavateId"],[this,"excavateId"]))}{const r=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{r.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{r.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{r.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{r.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{r.resetFeatureStyle(...i)})),this.d(this.setFeatureStyleEvent.don((...i)=>{r.setFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{r.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{r.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{r.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{r.calcFlyInParam(...i)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(r.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const r=()=>{this.es3DTileset.show=this.show};r(),this.d(this.showChanged.don(()=>{r()}))}}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(e){this._ids.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}get visJson(){return this._visJson.value}set visJson(e){this._visJson.value=e}get visJsonChanged(){return this._visJson.changed}setFeatureVisable(e,r){var i;if((i=this.layerConfig)!=null&&i.length){const s={};s[r[0].value]=r[0].visable,this.visJson={...this.visJson,...s}}else this.setFeatureVisableEvent.emit(e,typeof r=="string"?JSON.parse(r):r)}async getFeatureProperty(e){return await r0(this.baseUrl,this.tileServiceName,e,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const e=await $_(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken);return!e||!Array.isArray(e)?this.layerConfig=[]:this.layerConfig=e,this.layerConfig}async saveLayerConfig(){const e=this.layerConfig;return await t0(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken,e)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(e){this._highlightInner3DtilesetEvent.emit(e)}async highlightDSFeature(e){this._highlightInner3Dtileset(e)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(e){this._removeHighlightInner3DtilesetEvent.emit(e)}async removeHighlightDSFeature(e){this._removeHighlightInner3Dtileset(e)}async pickFeature(e,r){var a,u,l;const i=await e.pick(r),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(e){this._tilesetServePort.value=e}async getport(){const e=await e0(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const e=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],r=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${r}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!r)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return r}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!r)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return r}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!r)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return r}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Q([this,"layerConfig"],"图层配置",[],void 0,!0)]}}};f(ma,"createDefaultProps",()=>({...on.createDefaultProps(),layerConfig:p.reactJsonWithUndefined([])})),f(ma,"type",ma.register("ESRtsTileset",ma,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Fh=ma;function n0(n){return typeof n=="number"&&!isNaN(n)}const va=class va extends on{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(t){this._innerSetJson(t)}async init(t,e){this.featureId=e;const r=await t.getFeatureProperty(e);this.uiShowprops=r.allFields.map(o=>({featureClassName:o.featureClassName,fields:o.fields.map(a=>({key:a.name,type:a.type,value:a.type!="Double"?a.value:n0(a.value)?Number(a.value.toFixed(3)):""}))})),this.datasetName=r.datasetName,t.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{t.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const i=t.tileServiceIp,s=t.tilesetServePort;if(!s)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${i}:${s}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(o=>{o.assign({sceneObject:t}),t.pickedEvent.emit(o)})),this.d(()=>{this.editing=!1,t.removeHighlightDSFeature(this)})}constructor(t){super(t)}};f(va,"createDefaultProps",()=>({...on.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:p.reactJson({}),changeMaterial:p.reactJsonWithUndefined(void 0),uiShowprops:p.reactJson({}),props:p.reactJson({})})),f(va,"type",va.register("ESRtsFeatureEditing",va,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let kh=va;const i0=async(n,t,e)=>{try{const r=window.localStorage.getItem("Authorization");let i=n;t&&(i+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&r?{Authorization:r}:{}},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(r){console.error(r)}},vu=class vu extends on{constructor(e){super(e);f(this,"_es3DTileset",this.dv(new on));f(this,"_tilesetServePort",this.dv(p.react("")));f(this,"_useEarthDSToken",this.dv(p.react(!1)));f(this,"_earthdstoken",this.dv(p.react("")));{const r=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(()=>{r()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const r=this._es3DTileset;this.d(p.track([r,"allowPicking"],[this,"allowPicking"])),this.d(p.track([r,"collision"],[this,"collision"])),this.d(p.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(p.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(p.track([r,"actorTag"],[this,"actorTag"])),this.d(p.track([r,"materialMode"],[this,"materialMode"])),this.d(p.track([r,"highlight"],[this,"highlight"])),this.d(p.track([r,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(p.track([r,"highlightID"],[this,"highlightID"])),this.d(p.track([r,"highlightColor"],[this,"highlightColor"])),this.d(p.bind([r,"offset"],[this,"offset"])),this.d(p.bind([r,"rotation"],[this,"rotation"])),this.d(p.track([r,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(p.track([r,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(p.track([r,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(p.track([r,"czmClassificationType"],[this,"czmClassificationType"])),this.d(p.track([r,"czmStyleJson"],[this,"czmStyleJson"])),this.d(p.track([r,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(p.track([r,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(p.track([r,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(p.track([r,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(p.track([r,"colorBlendMode"],[this,"colorBlendMode"])),this.d(p.track([r,"cacheBytes"],[this,"cacheBytes"])),this.d(p.track([r,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(p.track([r,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(p.track([r,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(p.track([r,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(p.track([r,"materialParams"],[this,"materialParams"])),this.d(p.bind([r,"supportEdit"],[this,"supportEdit"])),this.d(p.bind([r,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(p.bind([r,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(p.bind([r,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(p.bind([r,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(p.bind([r,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(p.bind([r,"excavateId"],[this,"excavateId"]))}{const r=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{r.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{r.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{r.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{r.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{r.resetFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{r.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{r.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{r.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{r.calcFlyInParam(...i)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(r.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const r=()=>{this.es3DTileset.show=this.show};r(),this.d(this.showChanged.don(()=>{r()}))}}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(e){this._tilesetServePort.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}async getport(){const e=await i0(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const e=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],r=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${r}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!r)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return r}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!r)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return r}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const r=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!r)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return r}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}};f(vu,"type",vu.register("ESMsTileset",vu,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Vh=vu;const dg={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]
|
|
@@ -484,7 +484,7 @@ timePosRots是一个内部包含三个元素的数组,第一个表示时间戳
|
|
|
484
484
|
${yg}
|
|
485
485
|
\`\`\`
|
|
486
486
|
|
|
487
|
-
`,fu=Date.now();new Date(fu).toISOString(),new Date(fu+24*60*60*1e3).toISOString();const Gn=class Gn extends tt{constructor(e){super(e);f(this,"_flyToEvent",this.disposeVar(new V));f(this,"_resetClockEvent",this.disposeVar(new V))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new Q([this,"data"],Gn.defaults.data,f0,"数据",!0),new Q([this,"uri"],"路径","${earthsdk3-assets-script-dir}/assets/misc/simple.czml",void 0,!0),new q([this,"clockEnabled"],"启用",!1),new L([this,"multiplier"],"倍速",Gn.defaults.multiplier),new q([this,"autoResetClock"],"自动设置时钟",!0),new ws([this,"startTime"],"开始时间",Gn.defaults.startTime,!0),new ws([this,"stopTime"],"结束时间",Gn.defaults.stopTime,!0),new ws([this,"currentTime"],"当前时间",Gn.defaults.currentTime,!0),new mt([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep","SYSTEM_CLOCK_MULTIPLIER"),new mt([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange","UNBOUNDED"),new q([this,"shouldAnimate"],"是否启用动画",!1)],general:[...e.general,new q([this,"show"],"是否显示",!0),new q([this,"collision"],"开启碰撞",!1),new q([this,"allowPicking"],"允许拾取",!1)],more:[...e.more,new st(["number"],r=>this.flyTo(r),[1e3],"飞入"),new st([],()=>this.resetClock(),[],"重设时钟"),new Ui([this,"loadFuncStr"],"loadFnStr",yg,d0,!0)]}}};f(Gn,"createDefaultProps",()=>({show:!0,uri:void 0,allowPicking:!1,data:p.reactJsonWithUndefined(h0),autoResetClock:!0,clockEnabled:!1,startTime:fu,stopTime:fu+24*60*60*1e3,currentTime:fu,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...tt.createDefaultProps()})),f(Gn,"type",Gn.register("ESCzml",Gn,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"}));let Hh=Gn;const Sa=class Sa extends tt{getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new it([]),new q([this,"show"],"是否显示"),new L([this,"cssSize"],"尺寸"),new ye([this,"cssPosition"],"位置"),new Na([this,"imgUrl"],"图片地址")]}}};f(Sa,"createDefaultProps",()=>({...tt.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:tt.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")})),f(Sa,"type",Sa.register("ESNavigator",Sa,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"}));let Yh=Sa;const fi=class fi extends tt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new it([],"通用","通用"),new q([this,"show"],"是否显示",fi.defaults.show),new L([this,"height"],"高度",fi.defaults.height,!0),new L([this,"fontSize"],"文字大小",fi.defaults.fontSize,!0),new Et([this,"bgColor"],"背景颜色",fi.defaults.bgColor,!0)]}}};f(fi,"createDefaultProps",()=>({...tt.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:p.reactArray([71/255,71/255,71/255,.8])})),f(fi,"type",fi.register("ESViewerStatusBar",fi,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Jh=fi;const di=class di extends tt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new it([],"通用","通用"),new q([this,"show"],"是否显示",di.defaults.show),new L([this,"height"],"高度",di.defaults.height,!0),new L([this,"fontSize"],"文字大小",di.defaults.fontSize,!0),new Et([this,"bgColor"],"背景颜色",di.defaults.bgColor,!0)]}}};f(di,"createDefaultProps",()=>({...tt.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:p.reactArray([71/255,71/255,71/255,.8])})),f(di,"type",di.register("ESViewerStatusBarScale",di,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Bh=di;const Ca=class Ca extends et{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ut([this,"url"],"路径","",!0),new L([this,"progress"],"进度",0,!1,!0)]}}};f(Ca,"createDefaultProps",()=>({...et.createDefaultProps(),url:"",progress:0})),f(Ca,"type",Ca.register("ESGaussianSplatting",Ca,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"}));let jh=Ca;const no=class no extends et{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ut([this,"mesh"],"mesh地址",no.defaults.mesh)]}}};f(no,"createDefaultProps",()=>({...et.createDefaultProps(),mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"})),f(no,"type",no.register("ESStaticMesh",no,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"}));let Zh=no;const Ia=class Ia extends wt{constructor(e){super(e);f(this,"_startEvent",this.dv(new V));f(this,"_clearEvent",this.dv(new V));f(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new Gs),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(p.track([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(p.track([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(p.track([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(p.track([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(p.track([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(p.track([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(p.track([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 e={...super.getESProperties()};return{...e,basic:[...e.basic,new st([],()=>this.start(),[],"开始分析"),new st([],()=>this.clear(),[],"清除分析"),new Q([this,"windowPositions"],"屏幕坐标",[],void 0,!1,!0),new Q([this,"depths"],"深度值",[],void 0,!1,!0),new L([this,"radius"],"半径",1e4,!0)]}}};f(Ia,"createDefaultProps",()=>({...wt.createDefaultProps(),windowPositions:Vc([]),depths:p.reactArrayWithUndefined([]),radius:p.react(1e4)})),f(Ia,"type",Ia.register("ESSkylineAnalysis",Ia,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let Kh=Ia;const ki=class ki extends Ft{constructor(t){super(t)}getESProperties(){const t=super.getESProperties();return{...t,basic:[...t.basic,new Q([this,"data"],"数据",[],void 0,!0),new Q([this,"gradient"],"渐变",ki.defaults.gradient,void 0,!0),new L([this,"radius"],"半径",ki.defaults.radius,void 0,!0),new L([this,"blur"],"模糊",ki.defaults.blur,!0),new q([this,"is3D"],"is3D",!1,!0)]}}};f(ki,"createDefaultProps",()=>({...Ft.createDefaultProps(),is3D:p.react(!1),data:p.reactPositions([]),gradient:p.reactJsonWithUndefined({".5":"green",".7":"yellow",".95":"red"}),radius:p.react(10),blur:p.react(.85)})),f(ki,"type",ki.register("ESHeatMap",ki,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"}));let Sl=ki;const io=class io extends wt{constructor(e){super(e);f(this,"editingBindMode","scatter")}};f(io,"createDefaultProps",()=>({...wt.createDefaultProps(),pointed:!0})),f(io,"type",io.register("ESGeoPoints",io,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),f(io,"supportEditingModes",[...wt.supportEditingModes,$.ScatterAppend,$.ScatterModify]);let du=io;const _g=async(n,t=[],e)=>{const r=[];for(const i of t){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(e)if(e.type==="absolute")l=e.height??l;else if(e.type==="relative"){const c=await n.getTerrainHeight([u[0],u[1]])??0;l=(e.height??l)+c}else e.type==="terrain"&&(l=await n.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));r.push({...i,points:a})}}return r},wg=async(n,t=[],e)=>await Promise.all(t.map(async r=>{var u,l,c,h,d,g,y,C,P;const i=((u=r.geometry)==null?void 0:u.x)??((c=(l=r.geometry)==null?void 0:l.coordinates)==null?void 0:c[0]),s=((h=r.geometry)==null?void 0:h.y)??((g=(d=r.geometry)==null?void 0:d.coordinates)==null?void 0:g[1]);let a=((y=r.geometry)==null?void 0:y.z)??((P=(C=r.geometry)==null?void 0:C.coordinates)==null?void 0:P[2])??0;if(e)if(e.type==="absolute")a=e.height??a;else if(e.type==="relative"){const T=await n.getTerrainHeight([i,s])??0;a=(e.height??a)+T}else e.type==="terrain"&&(a=await n.getTerrainHeight([i,s])??0);return{...r,points:[i,s,a]}})),Eg=async(n,t=[],e)=>{const r=[];return await Promise.all(t.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(e)if(e.type==="absolute")l=e.height??l;else if(e.type==="relative"){const c=await n.getTerrainHeight([u[0],u[1]])??0;l=(e.height??l)+c}else e.type==="terrain"&&(l=await n.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));r.push({...i,points:a})}))})),r};function p0(n){const t=Le.lineString(n),e=Le.length(t),r=Le.along(t,e/2);return[r.geometry.coordinates[0],r.geometry.coordinates[1],r.geometry.coordinates[2]||0]}function g0(n,t){const e=Le.lineString(n),r=Le.length(e),i=Math.floor(r/t),s=[];if(s.push(n[0]),i<1)return[n[0]];for(let o=1;o<i;o+=1){const a=Le.along(e,r*(o/i));s.push([a.geometry.coordinates[0],a.geometry.coordinates[1],a.geometry.coordinates[2]||0])}return s}function m0(n){const t=[...n];JSON.stringify(n[0])!==JSON.stringify(n[n.length-1])&&t.push(n[0]);const e=Le.polygon([t]),r=Le.center(e);return[r.geometry.coordinates[0],r.geometry.coordinates[1],r.geometry.coordinates[2]||0]}function Sg(n,t,e){const r=n.dv(new Xo);for(const i in e)i!=="type"&&(r[i]=e[i]);r.position=t,n.d(n.components.disposableAdd(r))}function Qh(n,t,e,r){let i=r.textTemplate||r.symbol.text||"";const s=/{{(.*?)}}/;for(;s.test(i);){const c=i.match(s);if(c){const h=c[1].trim(),d=e[`${h}`]||"-";i=i.replace(c[0],d)}}let o=r.symbol;const{minVisibleDistance:a,maxVisibleDistance:u}=r;a&&u&&(o={...o,minVisibleDistance:a,maxVisibleDistance:u});const l={...o,text:i};Sg(n,t,l)}function Bo(n,t){const e={width:null,height:null,color:null,opacity:null,rotation:null};return t.forEach(r=>{r.type==="size"?r.axis==="width"?e.width=n[r.field]||null:r.axis==="height"&&(e.height=n[r.field]||null):r.type==="color"?e.color=n[r.field]||null:r.type==="opacity"?e.opacity=n[r.field]||null:r.type==="rotation"&&(e.rotation=n[r.field]||null)}),e}function $h(n,t,e){const i={...t.symbol};if(e&&e.length>0){const s=Bo(n,e);for(let o in s)i[o]!==void 0&&s[o]!==null&&(i[o]=s[o])}return i}function tf(n,t,e){var l,c;const r=t,{uniqueValueInfos:i,field:s,fieldDelimiter:o,defaultSymbol:a}=r;let u={...a};if(Array.isArray(s)){const d=s.map(g=>n[g]??"").join(o);u=((l=i.find(g=>g.value==d))==null?void 0:l.symbol)||a}else u=((c=i.find(h=>h.value==n[s]))==null?void 0:c.symbol)||a;if(e&&e.length>0){const h=Bo(n,e);for(let d in h)u[d]!==void 0&&h[d]!==null&&(u[d]=h[d])}return u}function ef(n,t,e){const r=t,{classBreakInfos:i,field:s,defaultSymbol:o}=r;let a=o;const u=n[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(e&&e.length>0){const l=Bo(n,e);for(let c in l)a[c]!==void 0&&l[c]!==null&&(a[c]=l[c])}return a}function v0(n,t){function e(l,c,h,d){const g=_=>_*Math.PI/180,y=_=>_*180/Math.PI,C=g(l),P=g(h),T=g(d-c),v=Math.sin(T)*Math.cos(P),w=Math.cos(C)*Math.sin(P)-Math.sin(C)*Math.cos(P)*Math.cos(T),m=Math.atan2(v,w);return(y(m)+360)%360}function r(l,c,h,d,g){const C=I=>I*Math.PI/180,P=I=>I*180/Math.PI,T=d/6371e3,v=C(g),w=C(l),m=C(c),_=Math.asin(Math.sin(w)*Math.cos(T)+Math.cos(w)*Math.sin(T)*Math.cos(v)),E=m+Math.atan2(Math.sin(v)*Math.sin(T)*Math.cos(w),Math.cos(T)-Math.sin(w)*Math.sin(_));return{lat:P(_),lng:P(E),alt:h}}function i(l){const c=[];l.length>1&&c.push(e(l[0].lat,l[0].lng,l[1].lat,l[1].lng));for(let h=1;h<l.length-1;h++){const d=e(l[h-1].lat,l[h-1].lng,l[h].lat,l[h].lng),g=e(l[h].lat,l[h].lng,l[h+1].lat,l[h+1].lng);let y=(d+g)/2;Math.abs(d-g)>180&&(y=(y+180)%360),c.push(y)}return l.length>1&&c.push(e(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(!n||n.length<2)throw new Error("至少需要两个点才能生成路径");if(t<=0)throw new Error("宽度必须大于0");const s=t/2,o=i(n),a=[],u=[];for(let l=0;l<n.length;l++){const c=(o[l]+90)%360,h=(o[l]+270)%360,d=n[l].alt!==void 0?n[l].alt:0;a.push(r(n[l].lat,n[l].lng,d,s,c)),u.push(r(n[l].lat,n[l].lng,d,s,h))}return a.concat(u.reverse())}function y0(n,t,e,r){function i(C){return C*(Math.PI/180)}const s=6378137,o=i(n),a=i(t),u=i(e),l=i(r),c=u-o,h=l-a,d=Math.sin(c/2)**2+Math.cos(o)*Math.cos(u)*Math.sin(h/2)**2,g=2*Math.atan2(Math.sqrt(d),Math.sqrt(1-d));return s*g}const Cg=(n,t,e)=>Array.isArray(t)?t.map(s=>n[s]??"").join(e):n[t]??"";function Ig(n,t){const r={...t.symbol};return{points:n.map(i=>i.points),symbol:r}}function Pg(n,t){const e=t,{uniqueValueInfos:r,field:i,fieldDelimiter:s,defaultSymbol:o}=e,a=[],u=r.reduce((c,h)=>{const d=h.value.toString();return c[d]={points:[],value:h.value,symbol:h.symbol},c},{});for(let c=0;c<n.length;c++){const h=n[c],d=Cg(h,i,s);if(d!==void 0&&d!==""){const g=u[d.toString()];g?g.points.push(h.points):a.push(h.points)}else a.push(h.points)}const l=[];for(let c in u){const{points:h,symbol:d}=u[c];h.length>0&&l.push({points:h,symbol:d})}return a.length>0&&l.push({points:a,symbol:o}),l}function bg(n,t){const e=t,{classBreakInfos:r,field:i,defaultSymbol:s}=e,o=[],a=r.map(l=>({...l,points:[]}));for(let l=0;l<n.length;l++){const c=n[l],h=c[i];if(h===void 0||typeof h!="number")o.push(c.points);else{const d=a.findIndex(g=>h<=g.maxValue&&h>=g.minValue);d!==-1?a[d].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 _0(n,t,e=[]){const i={...t.symbol},s=n.map(o=>{const a=Bo(o,e);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 w0(n,t,e=[]){const r=t,{uniqueValueInfos:i,field:s,fieldDelimiter:o}=r,a=r.defaultSymbol,u=[],l=i.reduce((h,d)=>{const g=d.value.toString();return h[g]={locations:[],value:d.value,symbol:d.symbol},h},{});for(let h=0;h<n.length;h++){const d=n[h],g=Cg(d,s,o);if(g){const y=l[g.toString()];if(y){const C=Bo(d,e);y.locations.push({position:d.points,rotation:C.rotation||a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:d.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:d.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}const c=[];for(let h in l){const{locations:d,symbol:g}=l[h];d.length>0&&c.push({url:g.url,locations:d})}return u.length>0&&c.push({url:a.url,locations:u}),c}function E0(n,t,e=[]){const r=t,{classBreakInfos:i,field:s}=r,o=r.defaultSymbol,a=[],u=i.map(c=>({...c,locations:[]}));for(let c=0;c<n.length;c++){const h=n[c],d=h[s];if(d===void 0||typeof d!="number")a.push({position:h.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]});else{const g=u.findIndex(y=>d<=y.maxValue&&d>=y.minValue);if(g!==-1){const y=Bo(h,e);u[g].locations.push({position:h.points,rotation:y.rotation||o.rotation||[0,0,0],scale:u[g].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 S0 extends H{constructor(e,r,i,s){super();f(this,"labelingInfo");this.sceneObject=e;const o=r;if(s&&p.forEach(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=Ig(o,i);this._simplePointAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!");const u=Ig(o,i);this._imageAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!");const{url:u,locations:l}=_0(o,i,a);this._modelAllRender(u,l);return}for(let u=0;u<o.length;u++){const l=$h(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:大批量点渲染!"),Pg(o,i).forEach(({points:d,symbol:g})=>{this._simplePointAllRender(d,g)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),Pg(o,i).forEach(({points:d,symbol:g})=>{this._imageAllRender(d,g)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),w0(o,i,a).forEach(({url:d,locations:g})=>{this._modelAllRender(d,g)});return}for(let h=0;h<o.length;h++){const d=tf(o[h],i,a);this.render(o[h],d)}}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:大批量点渲染!"),bg(o,i).forEach(({points:d,symbol:g})=>{this._simplePointAllRender(d,g)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),bg(o,i).forEach(({points:d,symbol:g})=>{this._imageAllRender(d,g)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),E0(o,i,a).forEach(({url:d,locations:g})=>{this._modelAllRender(d,g)});return}for(let h=0;h<o.length;h++){const d=ef(o[h],i,a);this.render(o[h],d)}}else if(i.type==="heatmap"){const{field:a,fieldValueMax:u,fieldValueMin:l}=i;console.time();const c=o.map(h=>{const{points:d}=h;if(a&&typeof a=="string"){let g=h[a];typeof g=="number"&&(typeof u=="number"&&g>u&&(g=u),typeof l=="number"&&g<l&&(g=l),d[2]=g)}return d});this.renderHeatmap(c,i)}else console.error("PointLayer: renderer type is not supported")}renderLabel(e,r){const{points:i}=e;Qh(this.sceneObject,i,e,r)}renderHeatmap(e,r){const{is3D:i,radius:s,blur:o,gradient:a}=r,u=this.dv(new Sl);this.d(this.sceneObject.components.disposableAdd(u)),u.is3D=i,u.radius=s,u.blur=o,a&&(u.gradient={...a}),u.data=e}render(e,r){r.type==="simple-point"?this._simplePointRender(e,r):r.type==="ESImageLabel"?this._simpleImageRender(e,r):r.type==="ESGltfModel"?this._simpleModelRender(e,r):r.type==="ESTextLabel"?Sg(this.sceneObject,e.points,r):r.type==="ESParticleSystemPrimitive"?this._simpleParticleRender(e,r):console.error(" PointLayer: symbol type is not supported")}_simplePointRender(e,r){const{points:i}=e,{size:s,color:o,outlineColor:a,outlineWidth:u}=r,l=this.dv(new du);this.d(this.sceneObject.components.disposableAdd(l)),l.pointed=!0,l.pointOutlineColor=a,l.pointOutlineWidth=u,l.pointSize=s,l.pointColor=o,l.allowPicking=(r==null?void 0:r.allowPicking)??!0,l.extras={selected:!1},l.points=[i]}_simplePointAllRender(e,r){const{size:i,color:s,outlineColor:o,outlineWidth:a}=r,u=this.dv(new du);this.d(this.sceneObject.components.disposableAdd(u)),u.pointed=!0,u.pointOutlineColor=o,u.pointOutlineWidth=a,u.pointSize=i,u.pointColor=s,u.allowPicking=(r==null?void 0:r.allowPicking)??!0,u.points=[...e]}_simpleImageRender(e,r){const{points:i}=e,{rotation:s,offset:o,size:a,url:u,screenRender:l,anchor:c,renderMode:h,rotationType:d}=r,g=this.dv(new ml),y=this.dv(new Xo);this.d(this.sceneObject.components.disposableAdd(g)),this.d(this.sceneObject.components.disposableAdd(y)),g.url=u,g.renderMode=h??0,s&&(g.rotation=s),o&&(g.offset=o),g.size=a||[32,32],c&&(g.anchor=c),d&&(g.rotationType=d),g.screenRender=l??!0,g.allowPicking=(r==null?void 0:r.allowPicking)??!0,g.extras={selected:!1},g.position=[...i],g.sizeByContent=!1,y.allowPicking=(r==null?void 0:r.allowPicking)??!0;const C=a?Math.max(...a)+10:Math.max(...g.size)+10;y.sizeByContent=!1,y.screenRender=!0,y.size=[C,C],y.borderRadius=[C,C,C,C],y.padding=[C/2,C/2,C/2,C/2],y.borderWidth=C/10,y.offset=[0,C/10+5],y.text="",y.backgroundColor=[0,0,0,0],y.borderColor=[0,0,0,0]}_imageAllRender(e,r){const i={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:e}}]},s=this.dv(new lu);this.d(this.sceneObject.components.disposableAdd(s));const o=this.dv(new Xo);this.d(this.sceneObject.components.disposableAdd(o)),s.textDefaultText="";const{offset:a,size:u,url:l,anchor:c}=r;s.imageUrl=l,c&&(s.imageAnchor=c),a&&(s.imageOffset=a),s.imageSize=u||[32,32],s.url=i,s.allowPicking=(r==null?void 0:r.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(e,r){const{points:i}=e,{rotation:s,scale:o,url:a}=r,u=this.dv(new os);this.d(this.sceneObject.components.disposableAdd(u)),u.url=a,s&&(u.rotation=s),o&&(u.scale=o),u.position=[...i]}_modelAllRender(e,r){const i=this.dv(new os);this.d(this.sceneObject.components.disposableAdd(i)),i.url=e,i.instances=r}_simpleParticleRender(e,r){const{points:i}=e,s=this.dv(new vl);this.d(this.sceneObject.components.disposableAdd(s)),s.position=[...i],Object.keys(r).forEach(o=>{s[o]=r[o]})}}class C0 extends H{constructor(t,e,r,i){super(),this.sceneObject=t;const s=e;if(i&&p.forEach(s,o=>{this.renderLabel(o,i)}),r)if(r.type==="simple"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=$h(a,r,o);this.render(a,u)})}else if(r.type==="unique-value"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=tf(a,r,o);this.render(a,u)})}else if(r.type==="class-breaks"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=ef(a,r,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}render(t,e){console.log("PolyLineLayer: render",t,e),e.type==="simple-line"?this._simpleLineRender(t,e):e.type==="ESPolygonFence"?this._esPolygonFenceRender(t,e):e.type==="ESPipeFence"?this._esPipeFenceRender(t,e):e.type==="ESPath"?this._esPathRender(t,e):e.type==="ESlineInterpolationModel"?this._eslineInterpolationModelRender(t,e):e.type==="ESlineWall"?this._eslineWallRender(t,e):console.error("PolyLineLayer: symbol type is not supported")}_simpleLineRender(t,e){const{points:r}=t;if(r.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Mi);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...r],i.stroked=!0,i.strokeColor=e.color,i.strokeWidth=e.width||1,i.allowPicking=(e==null?void 0:e.allowPicking)??!0,i.extras={selected:!1}}_esPolygonFenceRender(t,e){const{points:r}=t;if(r.length<3){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new El);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...r],i.height=e.height,i.materialMode=e.materialMode}_esPipeFenceRender(t,e){const{points:r}=t;if(r.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new wl);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...r],i.height=e.height,i.width=e.width,i.materialMode=e.materialMode}_esPathRender(t,e){const{points:r}=t;if(r.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Jo),s=this.dv(new Yo);if(this.d(this.sceneObject.components.disposableAdd(i)),this.d(this.sceneObject.components.disposableAdd(s)),i.points=[...r],i.speed=e.speed,i.strokeColor=e.color,i.materialMode=e.materialMode,i.strokeWidth=e.width||1,e!=null&&e.runModel){const a=e==null?void 0:e.runSpeed,u=e==null?void 0:e.modelSymbol;let l;switch(e==null?void 0:e.runModel){case"ESHuman":l=this.dv(new Us);break;case"ESCar":l=this.dv(new dl);break;case"ESGltfModel":l=this.dv(new os)}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<r.length-1;o+=1){const h=r[o],d=r[o+1],g=y0(h[1],h[0],d[1],d[0]);c.push(c[o]+Math.ceil(g/a)*1e3)}i.timeStamps=c,e!=null&&e.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=(e==null?void 0:e.runLoop)??!0,s.currentTimeChanged.don(h=>{i.path.currentTime=h}))}}_eslineInterpolationModelRender(t,e){const{points:r}=t;if(r.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=(e==null?void 0:e.interpolationDistance)??0;if(!i)return;const s=g0(r,i/1e3),o=this.dv(new os);this.d(this.sceneObject.components.disposableAdd(o)),o.url=e.url,o.instances=s.map(a=>({position:a,rotation:e.rotation,scale:e.scale}))}_eslineWallRender(t,e){const{points:r}=t;if(r.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=e.height??0,s=e.width??0,o=e.extrudedHeight??0,a=r.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=v0(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 Gs);this.d(this.sceneObject.components.disposableAdd(l)),l.height=i,l.extrudedHeight=o,l.filled=e.filled??!0,l.fillColor=e.fillColor,l.allowPicking=(e==null?void 0:e.allowPicking)??!0,l.extras={selected:!1},l.points=u}renderLabel(t,e){const{points:r}=t,i=p0(r);Qh(this.sceneObject,i,t,e)}}function Ng(n,t){try{JSON.stringify(n[n.length-1])!==JSON.stringify(n[0])&&n.push(n[0]);const e=Le.featureCollection(n.map(u=>Le.point(u))),r=Le.polygon([n]),i={gridType:"point",units:"meters"};return Le.interpolate(e,t,i).features.map(u=>u.geometry.coordinates)[0][0].filter(u=>Le.booleanPointInPolygon(Le.point(u),r))}catch(e){return console.error(e),[]}}class I0 extends H{constructor(t,e,r,i){super(),this.sceneObject=t;const s=e;if(i&&p.forEach(s,o=>{this.renderLabel(o,i)}),r)if(r.type==="simple"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=$h(a,r,o);this.render(a,u)})}else if(r.type==="unique-value"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=tf(a,r,o);this.render(a,u)})}else if(r.type==="class-breaks"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=ef(a,r,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}renderLabel(t,e){const{points:r}=t;console.log("PolygonLayer: renderLabel",r);const i=m0(r);Qh(this.sceneObject,i,t,e)}render(t,e){e.type==="simple-fill"?this._simplePolygonRender(t,e):e.type==="ESGeoExtrudedPolygon"?this._esGeoExtrudedPolygonRender(t,e):e.type==="PolygonInterpolateESGltfModel"?this._polygonInterpolateESGltfModelRender(t,e):e.type==="PolygonInterpolateESImageLabel"?this._polygonInterpolateESImageLabelRender(t,e):console.error("PolyLineLayer: symbol type is not supported")}_simplePolygonRender(t,e){const{points:r}=t;if(r.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{color:i,outline:s,filled:o,ground:a}=e,{width:u,color:l,stroked:c}=s,h=this.dv(new Vt);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=(e==null?void 0:e.allowPicking)??!0,h.extras={selected:!1},h.points=[...r]}_esGeoExtrudedPolygonRender(t,e){const{points:r}=t;if(r.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,extrudedHeight:s,color:o}=e,a=this.dv(new Gs);this.d(this.sceneObject.components.disposableAdd(a)),a.height=i,a.extrudedHeight=s,a.filled=!0,a.fillColor=o,a.allowPicking=(e==null?void 0:e.allowPicking)??!0,a.extras={selected:!1},a.points=[...r]}_polygonInterpolateESGltfModelRender(t,e){const{points:r}=t;if(r.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,interpolateDistance:s,url:o,rotation:a,scale:u}=e,l=Ng(r,s??10),c=this.dv(new os);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(t,e){const{points:r}=t;if(r.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}=e,h={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:[...Ng(r,s??10).map(g=>[...g,i??0])]}}]},d=this.dv(new lu);this.d(this.sceneObject.components.disposableAdd(d)),d.textDefaultText="",d.imageUrl=u,l&&(d.imageAnchor=l),o&&(d.imageOffset=o),a&&(d.imageSize=a),d.url=h}}class P0 extends H{constructor(e,r){super();f(this,"_initEvent",this.dv(new V));const i=this,s=async()=>{try{const a=e.featureProps;if(!a)return;const{heightMode:u,features:l,layerType:c,url:h}=a;let d=[];if(!l&&h){let g=await fetch(h).then(y=>y.json());return g=(g==null?void 0:g.features)??g,c==="polylineVector"?d=await _g(r,g,u):c==="polygonVector"?d=await Eg(r,g,u):c==="pointVector"&&(d=await wg(r,g,u)),d}else c==="polylineVector"?d=await _g(r,l,u):c==="polygonVector"?d=await Eg(r,l,u):c==="pointVector"&&(d=await wg(r,l,u));return d}catch(a){console.error(a);return}},o=this.dv(p.createNextAnimateFrameEvent(this._initEvent,e.featurePropsChanged));i.dv(new p.ObjResettingWithEvent(o,()=>{if(!e.featureProps)return;const a=e.featureProps;let u;return(async()=>{const{layerType:c,renderer:h,labelingInfo:d}=a,g=await s();!g||g.length===0||(c==="pointVector"?u=new S0(e,g,h,d):c==="polylineVector"?u=new C0(e,g,h,d):c==="polygonVector"&&(u=new I0(e,g,h,d)),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=Hp(u);if(!c)return;const{center:h,radius:d}=c;r.flyTo({distance:d*4,heading:0,pitch:-90,flyDuration:l??1,hDelta:0,pDelta:0},h)};i.d(e.flyToEvent.don(async u=>{const{featureProps:l}=e;if(!l)return;const c=await s();if(!c)return;let h=[];l.layerType==="polylineVector"?h=c.map(d=>d.points).flat():l.layerType==="polygonVector"?h=c.map(d=>d.points).flat():l.layerType==="pointVector"&&(h=c.map(d=>d.points)),h.length!==0&&a(h,u)}))}}init(){this._initEvent.emit()}}const Pa=class Pa extends Ft{constructor(e){super(e);f(this,"featureLayerMap",new Map);const r=this;r.d(r.viewerAttached.don(i=>{if(console.log("ESFeatureLayer","viewerAttached",i.id),r.featureLayerMap.has(i.id))return;const s=new P0(r,i);s.init(),r.featureLayerMap.set(i.id,s)})),r.d(r.viewerDetached.don(i=>{var s;console.log("ESFeatureLayer","viewerDetached",i.id),r.featureLayerMap.has(i.id)&&((s=r.featureLayerMap.get(i.id))==null||s.destroy(),r.featureLayerMap.delete(i.id))})),r.d(()=>{for(const i of r.featureLayerMap.values())i.destroy();r.featureLayerMap.clear()}),r.d(ao(r.showChanged,()=>{for(const i of r.components.values())Reflect.has(i,"show")&&(i.show=r.show)},{immediate:!0}))}};f(Pa,"createDefaultProps",()=>({...Ft.createDefaultProps(),featureProps:p.reactJsonWithUndefined(void 0)})),f(Pa,"type",Pa.register("ESFeatureLayer",Pa,{chsName:"矢量图层",tags:["ESObjects"],description:"ESFeatureLayer"}));let rf=Pa;function Tg(n){return typeof n=="string"?document.getElementById(n):n}function nf(n){if(!n)throw new Error("container is not defined");n.innerHTML="";const t=document.createElement("div");return t.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);",n.appendChild(t),t}class Og extends H{constructor(e,r){super();f(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=e,this._createSceneObjectListeningFunc=r;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 b0 extends H{constructor(t){super(),this._esObjectsManager=t;{const e=this._esObjectsManager;class r extends H{constructor(s){super(),this._esPath=s,this.dv(new p.ObjResettingWithEvent(e.activeViewerChanged,()=>{const o=e.activeViewer;if(!o)return;class a extends H{constructor(l){if(super(),this._esPath=l,!o)throw new Error("!viewer");const c=()=>{const h=e.activeViewer;h&&(this._esPath.path.currentTime=h.simulationTime)};c(),this.d(o.simulationTimeChanged.don(c))}}return new a(this._esPath)}))}}this.dv(new Og(e.sceneObjectsManager,i=>{if(i instanceof Jo)return new r(i)}))}{const e=this._esObjectsManager;class r extends H{constructor(s){super();const o=()=>{const a=e.activeViewer;a&&(a.simulationTime=s.currentTime??0)};o(),this.d(s.currentTimeChanged.don(o))}}this.dv(new Og(e.sceneObjectsManager,i=>{if(i instanceof Yo)return new r(i)}))}}}class N0 extends H{constructor(t){super(),t.forEach(e=>{this.d(e.path.currentPositionChanged.don(r=>{r&&e.sceneObjects.forEach(i=>{Reflect.has(i,"position")&&(i.position=[...r])})})),this.d(e.path.currentRotationChanged.don(r=>{r&&e.sceneObjects.forEach(i=>{Reflect.has(i,"rotation")&&(i.rotation=[...r])})}))})}}class T0 extends H{constructor(e){super();f(this,"_player");f(this,"_channels",this.dv(p.reactArray([])));this._objectManager=e,this._player=this._objectManager.player,this.dv(new p.ObjResettingWithEvent(this.channelsChanged,()=>{if(this.channels.length===0)return;const r=[];for(let i=0;i<this.channels.length;i++){const s=this.channels[i],o=tt.getSceneObjById(s.pathId);if(!o||!(o instanceof Jo))continue;const u=s.sceneObjectIds.map(l=>tt.getSceneObjById(l)).filter(l=>l!==void 0);u.length!==0&&r.push({path:o,sceneObjects:u})}if(r.length!==0)return new N0(r)}))}get player(){return this._player}get channels(){return this._channels.value}get channelsChanged(){return this._channels.changed}set channels(e){this._channels.value=e}}function Cl(n){if(n.data){const{type:t,value:e}=n.data;if(t==="UITreeA"&&e instanceof Ze){const{sceneObject:r}=e;if(r)return r.id}}}function O0(n,t){const{property:e,customEventName:r,otherParams:i}=t,{dragstartDataMananger:s}=n;if(!(e instanceof uo)){if(!(e instanceof Sf)){if(e instanceof ut){const[o,a]=p.getReactFuncs(e.reactVar);if(r==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;Cl(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(r==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const l=Cl(s);l!==void 0&&a(l)}}else if(e instanceof vf){const[o,a]=p.getReactFuncs(e.reactVar);if(r==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;Cl(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(r==="ondrop"){if(!i)throw new Error("!otherParams");const u=i[0].$event,l=i[0].strinsPropDom,c=i[0].index;u.preventDefault();const h=Cl(s);if(h!==void 0){l[c].firstChild.value=h;const d=new Event("input",{bubbles:!0,cancelable:!0});l[c].firstChild.dispatchEvent(d)}}}else if(e instanceof yf){const[o,a]=p.getReactFuncs(e.reactVar)}}}}function xg(n,t,e,r){if(e)r.currentActiveEditing=[n,t];else if(r.currentActiveEditing){const[i,s]=r.currentActiveEditing;i===n&&s===t&&(e||(r.currentActiveEditing=void 0))}}const x0=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class D0 extends H{constructor(t,e){super(),this._sceneObject=t;const r=this._sceneObject;for(let i of x0){const s=i+"Changed",o=r[s];if(o){{const a=r[i];xg(r,i,a,e)}this.dispose(o.disposableOn(a=>xg(r,i,a,e)))}}}get sceneObject(){return this._sceneObject}}class M0 extends H{constructor(){super();f(this,"_currentActiveEditing",this.disposeVar(p.reactArrayWithUndefined(void 0)));f(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((e,r)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),r){const[i,s]=r;i[s]===!0&&(i[s]=!1)}if(e){const[i,s]=e;i[s]=!0}})),tt.context.sceneObjCreatedEvent.don(e=>{e.dv(new D0(e,this))})}get currentActiveEditing(){return this._currentActiveEditing.value}set currentActiveEditing(e){this._currentActiveEditing.value=e}get currentActiveEditingChanged(){return this._currentActiveEditing.changed}get currentActiveEditingLastChangedTime(){return this._currentActiveEditingLastChangedTime}}class L0 extends H{constructor(){super();f(this,"_sceneObjects",new Set);f(this,"_sceneObjectsToChange",this.dv(new V));this.d(()=>{const e=p.length(this._sceneObjects);e!==0&&console.warn(`场景对象管理器销毁时仍然管理着${e}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(e){return this._sceneObjects.has(e)?(console.warn(`创建失败:对象${e.typeName+":"+e.id}已经存在于场景对象管理器中!}`),!1):(this._sceneObjectsToChange.emit([],[e]),this._sceneObjects.add(e),!0)}deleteSceneObject(e){return this._sceneObjects.has(e)?(this._sceneObjectsToChange.emit([e],[]),this._sceneObjects.delete(e),!0):(console.warn(`删除失败:对象${e.typeName+":"+e.id}不存在于场景对象管理器中!}`),!1)}createSceneObject(e,r){const i=tt.context.createSceneObject(e,r);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(e,r){const i=tt.context.createSceneObjectFromClass(e,r);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(e){const r=tt.context.createSceneObjectFromJson(e);return r&&this.addSceneObject(r),r}}function Dg(n,t){return n.length===t.length&&n.every((e,r)=>e===t[r])}class A0 extends H{constructor(t){super(),this._viewer=t,this.d(p.track([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class R0 extends H{constructor(t,e){super(),this._viewer=t,this._activeViewer=e;const r=An.createCommonProps(),i=[];Object.keys(r).forEach(u=>{const l=this._activeViewer[u+"Changed"];i.push(l)});const s=this.dv(p.createNextAnimateFrameEvent(...i)),o=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(r).forEach(u=>{this._viewer[u]=this._activeViewer[u]})};this.d(s.don(o));const a=this.dv(p.createAnimateFrame());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&&Dg(c,l.position)&&Dg(h,l.rotation)||this._viewer.flyIn(c,h,0)}),this.d(()=>a.cancel())}}const F0=`<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">
|
|
487
|
+
`,fu=Date.now();new Date(fu).toISOString(),new Date(fu+24*60*60*1e3).toISOString();const Gn=class Gn extends tt{constructor(e){super(e);f(this,"_flyToEvent",this.disposeVar(new V));f(this,"_resetClockEvent",this.disposeVar(new V))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new Q([this,"data"],Gn.defaults.data,f0,"数据",!0),new Q([this,"uri"],"路径","${earthsdk3-assets-script-dir}/assets/misc/simple.czml",void 0,!0),new q([this,"clockEnabled"],"启用",!1),new L([this,"multiplier"],"倍速",Gn.defaults.multiplier),new q([this,"autoResetClock"],"自动设置时钟",!0),new ws([this,"startTime"],"开始时间",Gn.defaults.startTime,!0),new ws([this,"stopTime"],"结束时间",Gn.defaults.stopTime,!0),new ws([this,"currentTime"],"当前时间",Gn.defaults.currentTime,!0),new mt([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep","SYSTEM_CLOCK_MULTIPLIER"),new mt([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange","UNBOUNDED"),new q([this,"shouldAnimate"],"是否启用动画",!1)],general:[...e.general,new q([this,"show"],"是否显示",!0),new q([this,"collision"],"开启碰撞",!1),new q([this,"allowPicking"],"允许拾取",!1)],more:[...e.more,new st(["number"],r=>this.flyTo(r),[1e3],"飞入"),new st([],()=>this.resetClock(),[],"重设时钟"),new Ui([this,"loadFuncStr"],"loadFnStr",yg,d0,!0)]}}};f(Gn,"createDefaultProps",()=>({show:!0,uri:void 0,allowPicking:!1,data:p.reactJsonWithUndefined(h0),autoResetClock:!0,clockEnabled:!1,startTime:fu,stopTime:fu+24*60*60*1e3,currentTime:fu,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...tt.createDefaultProps()})),f(Gn,"type",Gn.register("ESCzml",Gn,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"}));let Hh=Gn;const Sa=class Sa extends tt{getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new it([]),new q([this,"show"],"是否显示"),new L([this,"cssSize"],"尺寸"),new ye([this,"cssPosition"],"位置"),new Na([this,"imgUrl"],"图片地址")]}}};f(Sa,"createDefaultProps",()=>({...tt.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:tt.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")})),f(Sa,"type",Sa.register("ESNavigator",Sa,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"}));let Yh=Sa;const fi=class fi extends tt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new it([],"通用","通用"),new q([this,"show"],"是否显示",fi.defaults.show),new L([this,"height"],"高度",fi.defaults.height,!0),new L([this,"fontSize"],"文字大小",fi.defaults.fontSize,!0),new Et([this,"bgColor"],"背景颜色",fi.defaults.bgColor,!0)]}}};f(fi,"createDefaultProps",()=>({...tt.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:p.reactArray([71/255,71/255,71/255,.8])})),f(fi,"type",fi.register("ESViewerStatusBar",fi,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Jh=fi;const di=class di extends tt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new it([],"通用","通用"),new q([this,"show"],"是否显示",di.defaults.show),new L([this,"height"],"高度",di.defaults.height,!0),new L([this,"fontSize"],"文字大小",di.defaults.fontSize,!0),new Et([this,"bgColor"],"背景颜色",di.defaults.bgColor,!0)]}}};f(di,"createDefaultProps",()=>({...tt.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:p.reactArray([71/255,71/255,71/255,.8])})),f(di,"type",di.register("ESViewerStatusBarScale",di,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Bh=di;const Ca=class Ca extends et{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ut([this,"url"],"路径","",!0),new L([this,"progress"],"进度",0,!1,!0)]}}};f(Ca,"createDefaultProps",()=>({...et.createDefaultProps(),url:"",progress:0})),f(Ca,"type",Ca.register("ESGaussianSplatting",Ca,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"}));let jh=Ca;const no=class no extends et{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ut([this,"mesh"],"mesh地址",no.defaults.mesh)]}}};f(no,"createDefaultProps",()=>({...et.createDefaultProps(),mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"})),f(no,"type",no.register("ESStaticMesh",no,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"}));let Zh=no;const Ia=class Ia extends wt{constructor(e){super(e);f(this,"_startEvent",this.dv(new V));f(this,"_clearEvent",this.dv(new V));f(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new Gs),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(p.track([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(p.track([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(p.track([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(p.track([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(p.track([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(p.track([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(p.track([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 e={...super.getESProperties()};return{...e,basic:[...e.basic,new st([],()=>this.start(),[],"开始分析"),new st([],()=>this.clear(),[],"清除分析"),new Q([this,"windowPositions"],"屏幕坐标",[],void 0,!1,!0),new Q([this,"depths"],"深度值",[],void 0,!1,!0),new L([this,"radius"],"半径",1e4,!0)]}}};f(Ia,"createDefaultProps",()=>({...wt.createDefaultProps(),windowPositions:Vc([]),depths:p.reactArrayWithUndefined([]),radius:p.react(1e4)})),f(Ia,"type",Ia.register("ESSkylineAnalysis",Ia,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let Kh=Ia;const ki=class ki extends Ft{constructor(t){super(t)}getESProperties(){const t=super.getESProperties();return{...t,basic:[...t.basic,new Q([this,"data"],"数据",[],void 0,!0),new Q([this,"gradient"],"渐变",ki.defaults.gradient,void 0,!0),new L([this,"radius"],"半径",ki.defaults.radius,void 0,!0),new L([this,"blur"],"模糊",ki.defaults.blur,!0),new q([this,"is3D"],"is3D",!1,!0)]}}};f(ki,"createDefaultProps",()=>({...Ft.createDefaultProps(),is3D:p.react(!1),data:p.reactPositions([]),gradient:p.reactJsonWithUndefined({".5":"green",".7":"yellow",".95":"red"}),radius:p.react(10),blur:p.react(.85)})),f(ki,"type",ki.register("ESHeatMap",ki,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"}));let Sl=ki;const io=class io extends wt{constructor(e){super(e);f(this,"editingBindMode","scatter")}};f(io,"createDefaultProps",()=>({...wt.createDefaultProps(),pointed:!0})),f(io,"type",io.register("ESGeoPoints",io,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),f(io,"supportEditingModes",[...wt.supportEditingModes,$.ScatterAppend,$.ScatterModify]);let du=io;const _g=async(n,t=[],e)=>{const r=[];for(const i of t){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(e)if(e.type==="absolute")l=e.height??l;else if(e.type==="relative"){const c=await n.getTerrainHeight([u[0],u[1]])??0;l=(e.height??l)+c}else e.type==="terrain"&&(l=await n.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));r.push({...i,points:a})}}return r},wg=async(n,t=[],e)=>await Promise.all(t.map(async r=>{var u,l,c,h,d,g,y,C,P;const i=((u=r.geometry)==null?void 0:u.x)??((c=(l=r.geometry)==null?void 0:l.coordinates)==null?void 0:c[0]),s=((h=r.geometry)==null?void 0:h.y)??((g=(d=r.geometry)==null?void 0:d.coordinates)==null?void 0:g[1]);let a=((y=r.geometry)==null?void 0:y.z)??((P=(C=r.geometry)==null?void 0:C.coordinates)==null?void 0:P[2])??0;if(e)if(e.type==="absolute")a=e.height??a;else if(e.type==="relative"){const T=await n.getTerrainHeight([i,s])??0;a=(e.height??a)+T}else e.type==="terrain"&&(a=await n.getTerrainHeight([i,s])??0);return{...r,points:[i,s,a]}})),Eg=async(n,t=[],e)=>{const r=[];return await Promise.all(t.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(e)if(e.type==="absolute")l=e.height??l;else if(e.type==="relative"){const c=await n.getTerrainHeight([u[0],u[1]])??0;l=(e.height??l)+c}else e.type==="terrain"&&(l=await n.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));r.push({...i,points:a})}))})),r};function p0(n){const t=Le.lineString(n),e=Le.length(t),r=Le.along(t,e/2);return[r.geometry.coordinates[0],r.geometry.coordinates[1],r.geometry.coordinates[2]||0]}function g0(n,t){const e=Le.lineString(n),r=Le.length(e),i=Math.floor(r/t),s=[];if(s.push(n[0]),i<1)return[n[0]];for(let o=1;o<i;o+=1){const a=Le.along(e,r*(o/i));s.push([a.geometry.coordinates[0],a.geometry.coordinates[1],a.geometry.coordinates[2]||0])}return s}function m0(n){const t=[...n];JSON.stringify(n[0])!==JSON.stringify(n[n.length-1])&&t.push(n[0]);const e=Le.polygon([t]),r=Le.center(e);return[r.geometry.coordinates[0],r.geometry.coordinates[1],r.geometry.coordinates[2]||0]}function Sg(n,t,e){const r=n.dv(new Xo);for(const i in e)i!=="type"&&(r[i]=e[i]);r.position=t,n.d(n.components.disposableAdd(r))}function Qh(n,t,e,r){let i=r.textTemplate||r.symbol.text||"";const s=/{{(.*?)}}/;for(;s.test(i);){const c=i.match(s);if(c){const h=c[1].trim(),d=e[`${h}`]||"-";i=i.replace(c[0],d)}}let o=r.symbol;const{minVisibleDistance:a,maxVisibleDistance:u}=r;a&&u&&(o={...o,minVisibleDistance:a,maxVisibleDistance:u});const l={...o,text:i};Sg(n,t,l)}function Bo(n,t){const e={width:null,height:null,color:null,opacity:null,rotation:null};return t.forEach(r=>{r.type==="size"?r.axis==="width"?e.width=n[r.field]||null:r.axis==="height"&&(e.height=n[r.field]||null):r.type==="color"?e.color=n[r.field]||null:r.type==="opacity"?e.opacity=n[r.field]||null:r.type==="rotation"&&(e.rotation=n[r.field]||null)}),e}function $h(n,t,e){const i={...t.symbol};if(e&&e.length>0){const s=Bo(n,e);for(let o in s)i[o]!==void 0&&s[o]!==null&&(i[o]=s[o])}return i}function tf(n,t,e){var l,c;const r=t,{uniqueValueInfos:i,field:s,fieldDelimiter:o,defaultSymbol:a}=r;let u={...a};if(Array.isArray(s)){const d=s.map(g=>n[g]??"").join(o);u=((l=i.find(g=>g.value==d))==null?void 0:l.symbol)||a}else u=((c=i.find(h=>h.value==n[s]))==null?void 0:c.symbol)||a;if(e&&e.length>0){const h=Bo(n,e);for(let d in h)u[d]!==void 0&&h[d]!==null&&(u[d]=h[d])}return u}function ef(n,t,e){const r=t,{classBreakInfos:i,field:s,defaultSymbol:o}=r;let a=o;const u=n[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(e&&e.length>0){const l=Bo(n,e);for(let c in l)a[c]!==void 0&&l[c]!==null&&(a[c]=l[c])}return a}function v0(n,t){function e(l,c,h,d){const g=_=>_*Math.PI/180,y=_=>_*180/Math.PI,C=g(l),P=g(h),T=g(d-c),v=Math.sin(T)*Math.cos(P),w=Math.cos(C)*Math.sin(P)-Math.sin(C)*Math.cos(P)*Math.cos(T),m=Math.atan2(v,w);return(y(m)+360)%360}function r(l,c,h,d,g){const C=I=>I*Math.PI/180,P=I=>I*180/Math.PI,T=d/6371e3,v=C(g),w=C(l),m=C(c),_=Math.asin(Math.sin(w)*Math.cos(T)+Math.cos(w)*Math.sin(T)*Math.cos(v)),E=m+Math.atan2(Math.sin(v)*Math.sin(T)*Math.cos(w),Math.cos(T)-Math.sin(w)*Math.sin(_));return{lat:P(_),lng:P(E),alt:h}}function i(l){const c=[];l.length>1&&c.push(e(l[0].lat,l[0].lng,l[1].lat,l[1].lng));for(let h=1;h<l.length-1;h++){const d=e(l[h-1].lat,l[h-1].lng,l[h].lat,l[h].lng),g=e(l[h].lat,l[h].lng,l[h+1].lat,l[h+1].lng);let y=(d+g)/2;Math.abs(d-g)>180&&(y=(y+180)%360),c.push(y)}return l.length>1&&c.push(e(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(!n||n.length<2)throw new Error("至少需要两个点才能生成路径");if(t<=0)throw new Error("宽度必须大于0");const s=t/2,o=i(n),a=[],u=[];for(let l=0;l<n.length;l++){const c=(o[l]+90)%360,h=(o[l]+270)%360,d=n[l].alt!==void 0?n[l].alt:0;a.push(r(n[l].lat,n[l].lng,d,s,c)),u.push(r(n[l].lat,n[l].lng,d,s,h))}return a.concat(u.reverse())}function y0(n,t,e,r){function i(C){return C*(Math.PI/180)}const s=6378137,o=i(n),a=i(t),u=i(e),l=i(r),c=u-o,h=l-a,d=Math.sin(c/2)**2+Math.cos(o)*Math.cos(u)*Math.sin(h/2)**2,g=2*Math.atan2(Math.sqrt(d),Math.sqrt(1-d));return s*g}const Cg=(n,t,e)=>Array.isArray(t)?t.map(s=>n[s]??"").join(e):n[t]??"";function Ig(n,t){const r={...t.symbol};return{points:n.map(i=>i.points),symbol:r}}function Pg(n,t){const e=t,{uniqueValueInfos:r,field:i,fieldDelimiter:s,defaultSymbol:o}=e,a=[],u=r.reduce((c,h)=>{const d=h.value.toString();return c[d]={points:[],value:h.value,symbol:h.symbol},c},{});for(let c=0;c<n.length;c++){const h=n[c],d=Cg(h,i,s);if(d!==void 0&&d!==""){const g=u[d.toString()];g?g.points.push(h.points):a.push(h.points)}else a.push(h.points)}const l=[];for(let c in u){const{points:h,symbol:d}=u[c];h.length>0&&l.push({points:h,symbol:d})}return a.length>0&&l.push({points:a,symbol:o}),l}function bg(n,t){const e=t,{classBreakInfos:r,field:i,defaultSymbol:s}=e,o=[],a=r.map(l=>({...l,points:[]}));for(let l=0;l<n.length;l++){const c=n[l],h=c[i];if(h===void 0||typeof h!="number")o.push(c.points);else{const d=a.findIndex(g=>h<=g.maxValue&&h>=g.minValue);d!==-1?a[d].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 _0(n,t,e=[]){const i={...t.symbol},s=n.map(o=>{const a=Bo(o,e);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 w0(n,t,e=[]){const r=t,{uniqueValueInfos:i,field:s,fieldDelimiter:o}=r,a=r.defaultSymbol,u=[],l=i.reduce((h,d)=>{const g=d.value.toString();return h[g]={locations:[],value:d.value,symbol:d.symbol},h},{});for(let h=0;h<n.length;h++){const d=n[h],g=Cg(d,s,o);if(g){const y=l[g.toString()];if(y){const C=Bo(d,e);y.locations.push({position:d.points,rotation:C.rotation||a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:d.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:d.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}const c=[];for(let h in l){const{locations:d,symbol:g}=l[h];d.length>0&&c.push({url:g.url,locations:d})}return u.length>0&&c.push({url:a.url,locations:u}),c}function E0(n,t,e=[]){const r=t,{classBreakInfos:i,field:s}=r,o=r.defaultSymbol,a=[],u=i.map(c=>({...c,locations:[]}));for(let c=0;c<n.length;c++){const h=n[c],d=h[s];if(d===void 0||typeof d!="number")a.push({position:h.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]});else{const g=u.findIndex(y=>d<=y.maxValue&&d>=y.minValue);if(g!==-1){const y=Bo(h,e);u[g].locations.push({position:h.points,rotation:y.rotation||o.rotation||[0,0,0],scale:u[g].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 S0 extends H{constructor(e,r,i,s){super();f(this,"labelingInfo");this.sceneObject=e;const o=r;if(s&&p.forEach(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=Ig(o,i);this._simplePointAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!");const u=Ig(o,i);this._imageAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!");const{url:u,locations:l}=_0(o,i,a);this._modelAllRender(u,l);return}for(let u=0;u<o.length;u++){const l=$h(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:大批量点渲染!"),Pg(o,i).forEach(({points:d,symbol:g})=>{this._simplePointAllRender(d,g)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),Pg(o,i).forEach(({points:d,symbol:g})=>{this._imageAllRender(d,g)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),w0(o,i,a).forEach(({url:d,locations:g})=>{this._modelAllRender(d,g)});return}for(let h=0;h<o.length;h++){const d=tf(o[h],i,a);this.render(o[h],d)}}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:大批量点渲染!"),bg(o,i).forEach(({points:d,symbol:g})=>{this._simplePointAllRender(d,g)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),bg(o,i).forEach(({points:d,symbol:g})=>{this._imageAllRender(d,g)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),E0(o,i,a).forEach(({url:d,locations:g})=>{this._modelAllRender(d,g)});return}for(let h=0;h<o.length;h++){const d=ef(o[h],i,a);this.render(o[h],d)}}else if(i.type==="heatmap"){const{field:a,fieldValueMax:u,fieldValueMin:l}=i;console.time();const c=o.map(h=>{const{points:d}=h;if(a&&typeof a=="string"){let g=h[a];typeof g=="number"&&(typeof u=="number"&&g>u&&(g=u),typeof l=="number"&&g<l&&(g=l),d[2]=g)}return d});this.renderHeatmap(c,i)}else console.error("PointLayer: renderer type is not supported")}renderLabel(e,r){const{points:i}=e;Qh(this.sceneObject,i,e,r)}renderHeatmap(e,r){const{is3D:i,radius:s,blur:o,gradient:a}=r,u=this.dv(new Sl);this.d(this.sceneObject.components.disposableAdd(u)),u.is3D=i,u.radius=s,u.blur=o,a&&(u.gradient={...a}),u.data=e}render(e,r){r.type==="simple-point"?this._simplePointRender(e,r):r.type==="ESImageLabel"?this._simpleImageRender(e,r):r.type==="ESGltfModel"?this._simpleModelRender(e,r):r.type==="ESTextLabel"?Sg(this.sceneObject,e.points,r):r.type==="ESParticleSystemPrimitive"?this._simpleParticleRender(e,r):console.error(" PointLayer: symbol type is not supported")}_simplePointRender(e,r){const{points:i}=e,{size:s,color:o,outlineColor:a,outlineWidth:u}=r,l=this.dv(new du);this.d(this.sceneObject.components.disposableAdd(l)),l.pointed=!0,l.pointOutlineColor=a,l.pointOutlineWidth=u,l.pointSize=s,l.pointColor=o,l.allowPicking=(r==null?void 0:r.allowPicking)??!0,l.extras={selected:!1},l.points=[i]}_simplePointAllRender(e,r){const{size:i,color:s,outlineColor:o,outlineWidth:a}=r,u=this.dv(new du);this.d(this.sceneObject.components.disposableAdd(u)),u.pointed=!0,u.pointOutlineColor=o,u.pointOutlineWidth=a,u.pointSize=i,u.pointColor=s,u.allowPicking=(r==null?void 0:r.allowPicking)??!0,u.points=[...e]}_simpleImageRender(e,r){const{points:i}=e,{rotation:s,offset:o,size:a,url:u,screenRender:l,anchor:c,renderMode:h,rotationType:d}=r,g=this.dv(new ml),y=this.dv(new Xo);this.d(this.sceneObject.components.disposableAdd(g)),this.d(this.sceneObject.components.disposableAdd(y)),g.url=u,g.renderMode=h??0,s&&(g.rotation=s),o&&(g.offset=o),g.size=a||[32,32],c&&(g.anchor=c),d&&(g.rotationType=d),g.screenRender=l??!0,g.allowPicking=(r==null?void 0:r.allowPicking)??!0,g.extras={selected:!1},g.position=[...i],g.sizeByContent=!1,y.allowPicking=(r==null?void 0:r.allowPicking)??!0;const C=a?Math.max(...a)+10:Math.max(...g.size)+10;y.sizeByContent=!1,y.screenRender=!0,y.size=[C,C],y.borderRadius=[C,C,C,C],y.padding=[C/2,C/2,C/2,C/2],y.borderWidth=C/10,y.offset=[0,C/10+5],y.text="",y.backgroundColor=[0,0,0,0],y.borderColor=[0,0,0,0]}_imageAllRender(e,r){const i={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:e}}]},s=this.dv(new lu);this.d(this.sceneObject.components.disposableAdd(s));const o=this.dv(new Xo);this.d(this.sceneObject.components.disposableAdd(o)),s.textDefaultText="";const{offset:a,size:u,url:l,anchor:c}=r;s.imageUrl=l,c&&(s.imageAnchor=c),a&&(s.imageOffset=a),s.imageSize=u||[32,32],s.url=i,s.allowPicking=(r==null?void 0:r.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(e,r){const{points:i}=e,{rotation:s,scale:o,url:a}=r,u=this.dv(new os);this.d(this.sceneObject.components.disposableAdd(u)),u.url=a,s&&(u.rotation=s),o&&(u.scale=o),u.position=[...i]}_modelAllRender(e,r){const i=this.dv(new os);this.d(this.sceneObject.components.disposableAdd(i)),i.url=e,i.instances=r}_simpleParticleRender(e,r){const{points:i}=e,s=this.dv(new vl);this.d(this.sceneObject.components.disposableAdd(s)),s.position=[...i],Object.keys(r).forEach(o=>{s[o]=r[o]})}}class C0 extends H{constructor(t,e,r,i){super(),this.sceneObject=t;const s=e;if(i&&p.forEach(s,o=>{this.renderLabel(o,i)}),r)if(r.type==="simple"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=$h(a,r,o);this.render(a,u)})}else if(r.type==="unique-value"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=tf(a,r,o);this.render(a,u)})}else if(r.type==="class-breaks"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=ef(a,r,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}render(t,e){console.log("PolyLineLayer: render",t,e),e.type==="simple-line"?this._simpleLineRender(t,e):e.type==="ESPolygonFence"?this._esPolygonFenceRender(t,e):e.type==="ESPipeFence"?this._esPipeFenceRender(t,e):e.type==="ESPath"?this._esPathRender(t,e):e.type==="ESlineInterpolationModel"?this._eslineInterpolationModelRender(t,e):e.type==="ESlineWall"?this._eslineWallRender(t,e):console.error("PolyLineLayer: symbol type is not supported")}_simpleLineRender(t,e){const{points:r}=t;if(r.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Mi);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...r],i.stroked=!0,i.strokeColor=e.color,i.strokeWidth=e.width||1,i.allowPicking=(e==null?void 0:e.allowPicking)??!0,i.extras={selected:!1}}_esPolygonFenceRender(t,e){const{points:r}=t;if(r.length<3){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new El);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...r],i.height=e.height,i.materialMode=e.materialMode}_esPipeFenceRender(t,e){const{points:r}=t;if(r.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new wl);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...r],i.height=e.height,i.width=e.width,i.materialMode=e.materialMode}_esPathRender(t,e){const{points:r}=t;if(r.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Jo),s=this.dv(new Yo);if(this.d(this.sceneObject.components.disposableAdd(i)),this.d(this.sceneObject.components.disposableAdd(s)),i.points=[...r],i.speed=e.speed,i.strokeColor=e.color,i.materialMode=e.materialMode,i.strokeWidth=e.width||1,e!=null&&e.runModel){const a=e==null?void 0:e.runSpeed,u=e==null?void 0:e.modelSymbol;let l;switch(e==null?void 0:e.runModel){case"ESHuman":l=this.dv(new Us);break;case"ESCar":l=this.dv(new dl);break;case"ESGltfModel":l=this.dv(new os)}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<r.length-1;o+=1){const h=r[o],d=r[o+1],g=y0(h[1],h[0],d[1],d[0]);c.push(c[o]+Math.ceil(g/a)*1e3)}i.timeStamps=c,e!=null&&e.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=(e==null?void 0:e.runLoop)??!0,s.currentTimeChanged.don(h=>{i.path.currentTime=h}))}}_eslineInterpolationModelRender(t,e){const{points:r}=t;if(r.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=(e==null?void 0:e.interpolationDistance)??0;if(!i)return;const s=g0(r,i/1e3),o=this.dv(new os);this.d(this.sceneObject.components.disposableAdd(o)),o.url=e.url,o.instances=s.map(a=>({position:a,rotation:e.rotation,scale:e.scale}))}_eslineWallRender(t,e){const{points:r}=t;if(r.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=e.height??0,s=e.width??0,o=e.extrudedHeight??0,a=r.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=v0(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 Gs);this.d(this.sceneObject.components.disposableAdd(l)),l.height=i,l.extrudedHeight=o,l.filled=e.filled??!0,l.fillColor=e.fillColor,l.allowPicking=(e==null?void 0:e.allowPicking)??!0,l.extras={selected:!1},l.points=u}renderLabel(t,e){const{points:r}=t,i=p0(r);Qh(this.sceneObject,i,t,e)}}function Ng(n,t){try{JSON.stringify(n[n.length-1])!==JSON.stringify(n[0])&&n.push(n[0]);const e=Le.featureCollection(n.map(u=>Le.point(u))),r=Le.polygon([n]),i={gridType:"point",units:"meters"};return Le.interpolate(e,t,i).features.map(u=>u.geometry.coordinates)[0][0].filter(u=>Le.booleanPointInPolygon(Le.point(u),r))}catch(e){return console.error(e),[]}}class I0 extends H{constructor(t,e,r,i){super(),this.sceneObject=t;const s=e;if(i&&p.forEach(s,o=>{this.renderLabel(o,i)}),r)if(r.type==="simple"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=$h(a,r,o);this.render(a,u)})}else if(r.type==="unique-value"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=tf(a,r,o);this.render(a,u)})}else if(r.type==="class-breaks"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=ef(a,r,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}renderLabel(t,e){const{points:r}=t;console.log("PolygonLayer: renderLabel",r);const i=m0(r);Qh(this.sceneObject,i,t,e)}render(t,e){e.type==="simple-fill"?this._simplePolygonRender(t,e):e.type==="ESGeoExtrudedPolygon"?this._esGeoExtrudedPolygonRender(t,e):e.type==="PolygonInterpolateESGltfModel"?this._polygonInterpolateESGltfModelRender(t,e):e.type==="PolygonInterpolateESImageLabel"?this._polygonInterpolateESImageLabelRender(t,e):console.error("PolyLineLayer: symbol type is not supported")}_simplePolygonRender(t,e){const{points:r}=t;if(r.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{color:i,outline:s,filled:o,ground:a}=e,{width:u,color:l,stroked:c}=s,h=this.dv(new Vt);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=(e==null?void 0:e.allowPicking)??!0,h.extras={selected:!1},h.points=[...r]}_esGeoExtrudedPolygonRender(t,e){const{points:r}=t;if(r.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,extrudedHeight:s,color:o}=e,a=this.dv(new Gs);this.d(this.sceneObject.components.disposableAdd(a)),a.height=i,a.extrudedHeight=s,a.filled=!0,a.fillColor=o,a.allowPicking=(e==null?void 0:e.allowPicking)??!0,a.extras={selected:!1},a.points=[...r]}_polygonInterpolateESGltfModelRender(t,e){const{points:r}=t;if(r.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,interpolateDistance:s,url:o,rotation:a,scale:u}=e,l=Ng(r,s??10),c=this.dv(new os);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(t,e){const{points:r}=t;if(r.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}=e,h={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:[...Ng(r,s??10).map(g=>[...g,i??0])]}}]},d=this.dv(new lu);this.d(this.sceneObject.components.disposableAdd(d)),d.textDefaultText="",d.imageUrl=u,l&&(d.imageAnchor=l),o&&(d.imageOffset=o),a&&(d.imageSize=a),d.url=h}}class P0 extends H{constructor(e,r){super();f(this,"_initEvent",this.dv(new V));const i=this,s=async()=>{try{const a=e.featureProps;if(!a)return;const{heightMode:u,features:l,layerType:c,url:h}=a;let d=[];if(!l&&h){let g=await fetch(h).then(y=>y.json());return g=(g==null?void 0:g.features)??g,c==="polylineVector"?d=await _g(r,g,u):c==="polygonVector"?d=await Eg(r,g,u):c==="pointVector"&&(d=await wg(r,g,u)),d}else c==="polylineVector"?d=await _g(r,l,u):c==="polygonVector"?d=await Eg(r,l,u):c==="pointVector"&&(d=await wg(r,l,u));return d}catch(a){console.error(a);return}},o=this.dv(p.createNextAnimateFrameEvent(this._initEvent,e.featurePropsChanged));i.dv(new p.ObjResettingWithEvent(o,()=>{if(!e.featureProps)return;const a=e.featureProps;let u;return(async()=>{const{layerType:c,renderer:h,labelingInfo:d}=a,g=await s();!g||g.length===0||(c==="pointVector"?u=new S0(e,g,h,d):c==="polylineVector"?u=new C0(e,g,h,d):c==="polygonVector"&&(u=new I0(e,g,h,d)),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=Hp(u);if(!c)return;const{center:h,radius:d}=c;r.flyTo({distance:d*4,heading:0,pitch:-90,flyDuration:l??1,hDelta:0,pDelta:0},h)};i.d(e.flyToEvent.don(async u=>{const{featureProps:l}=e;if(!l)return;const c=await s();if(!c)return;let h=[];l.layerType==="polylineVector"?h=c.map(d=>d.points).flat():l.layerType==="polygonVector"?h=c.map(d=>d.points).flat():l.layerType==="pointVector"&&(h=c.map(d=>d.points)),h.length!==0&&a(h,u)}))}}init(){this._initEvent.emit()}}const Pa=class Pa extends Ft{constructor(e){super(e);f(this,"featureLayerMap",new Map);const r=this;r.d(r.viewerAttached.don(i=>{if(console.log("ESFeatureLayer","viewerAttached",i.id),r.featureLayerMap.has(i.id))return;const s=new P0(r,i);s.init(),r.featureLayerMap.set(i.id,s)})),r.d(r.viewerDetached.don(i=>{var s;console.log("ESFeatureLayer","viewerDetached",i.id),r.featureLayerMap.has(i.id)&&((s=r.featureLayerMap.get(i.id))==null||s.destroy(),r.featureLayerMap.delete(i.id))})),r.d(()=>{for(const i of r.featureLayerMap.values())i.destroy();r.featureLayerMap.clear()}),r.d(ao(r.showChanged,()=>{for(const i of r.components.values())Reflect.has(i,"show")&&(i.show=r.show)},{immediate:!0}))}};f(Pa,"createDefaultProps",()=>({...Ft.createDefaultProps(),featureProps:p.reactJsonWithUndefined(void 0)})),f(Pa,"type",Pa.register("ESFeatureLayer",Pa,{chsName:"矢量图层",tags:["ESObjects"],description:"ESFeatureLayer"}));let rf=Pa;function Tg(n){return typeof n=="string"?document.getElementById(n):n}function nf(n){if(!n)throw new Error("container is not defined");n.innerHTML="";const t=document.createElement("div");return t.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);",n.appendChild(t),t}class Og extends H{constructor(e,r){super();f(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=e,this._createSceneObjectListeningFunc=r;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 b0 extends H{constructor(t){super(),this._esObjectsManager=t;{const e=this._esObjectsManager;class r extends H{constructor(s){super(),this._esPath=s,this.dv(new p.ObjResettingWithEvent(e.activeViewerChanged,()=>{const o=e.activeViewer;if(!o)return;class a extends H{constructor(l){if(super(),this._esPath=l,!o)throw new Error("!viewer");const c=()=>{const h=e.activeViewer;h&&(this._esPath.path.currentTime=h.simulationTime)};c(),this.d(o.simulationTimeChanged.don(c))}}return new a(this._esPath)}))}}this.dv(new Og(e.sceneObjectsManager,i=>{if(i instanceof Jo)return new r(i)}))}{const e=this._esObjectsManager;class r extends H{constructor(s){super();const o=()=>{const a=e.activeViewer;a&&(a.simulationTime=s.currentTime??0)};o(),this.d(s.currentTimeChanged.don(o))}}this.dv(new Og(e.sceneObjectsManager,i=>{if(i instanceof Yo)return new r(i)}))}}}class N0 extends H{constructor(t){super(),t.forEach(e=>{this.d(e.path.currentPositionChanged.don(r=>{r&&e.sceneObjects.forEach(i=>{Reflect.has(i,"position")&&(i.position=[...r])})})),this.d(e.path.currentRotationChanged.don(r=>{r&&e.sceneObjects.forEach(i=>{Reflect.has(i,"rotation")&&(i.rotation=[...r])})}))})}}class T0 extends H{constructor(e){super();f(this,"_player");f(this,"_channels",this.dv(p.reactArray([])));this._objectManager=e,this._player=this._objectManager.player,this.dv(new p.ObjResettingWithEvent(this.channelsChanged,()=>{if(this.channels.length===0)return;const r=[];for(let i=0;i<this.channels.length;i++){const s=this.channels[i],o=tt.getSceneObjById(s.pathId);if(!o||!(o instanceof Jo))continue;const u=s.sceneObjectIds.map(l=>tt.getSceneObjById(l)).filter(l=>l!==void 0);u.length!==0&&r.push({path:o,sceneObjects:u})}if(r.length!==0)return new N0(r)}))}get player(){return this._player}get channels(){return this._channels.value}get channelsChanged(){return this._channels.changed}set channels(e){this._channels.value=e}}function Cl(n){if(n.data){const{type:t,value:e}=n.data;if(t==="UITreeA"&&e instanceof Ze){const{sceneObject:r}=e;if(r)return r.id}}}function O0(n,t){const{property:e,customEventName:r,otherParams:i}=t,{dragstartDataMananger:s}=n;if(!(e instanceof uo)){if(!(e instanceof Sf)){if(e instanceof ut){const[o,a]=p.getReactFuncs(e.reactVar);if(r==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;Cl(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(r==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const l=Cl(s);l!==void 0&&a(l)}}else if(e instanceof vf){const[o,a]=p.getReactFuncs(e.reactVar);if(r==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;Cl(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(r==="ondrop"){if(!i)throw new Error("!otherParams");const u=i[0].$event,l=i[0].strinsPropDom,c=i[0].index;u.preventDefault();const h=Cl(s);if(h!==void 0){l[c].firstChild.value=h;const d=new Event("input",{bubbles:!0,cancelable:!0});l[c].firstChild.dispatchEvent(d)}}}else if(e instanceof yf){const[o,a]=p.getReactFuncs(e.reactVar)}}}}function xg(n,t,e,r){if(e)r.currentActiveEditing=[n,t];else if(r.currentActiveEditing){const[i,s]=r.currentActiveEditing;i===n&&s===t&&(e||(r.currentActiveEditing=void 0))}}const x0=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class D0 extends H{constructor(t,e){super(),this._sceneObject=t;const r=this._sceneObject;for(let i of x0){const s=i+"Changed",o=r[s];if(o){{const a=r[i];xg(r,i,a,e)}this.dispose(o.disposableOn(a=>xg(r,i,a,e)))}}}get sceneObject(){return this._sceneObject}}class M0 extends H{constructor(){super();f(this,"_currentActiveEditing",this.disposeVar(p.reactArrayWithUndefined(void 0)));f(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((e,r)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),r){const[i,s]=r;i[s]===!0&&(i[s]=!1)}if(e){const[i,s]=e;i[s]=!0}})),tt.context.sceneObjCreatedEvent.don(e=>{e.dv(new D0(e,this))})}get currentActiveEditing(){return this._currentActiveEditing.value}set currentActiveEditing(e){this._currentActiveEditing.value=e}get currentActiveEditingChanged(){return this._currentActiveEditing.changed}get currentActiveEditingLastChangedTime(){return this._currentActiveEditingLastChangedTime}}class L0 extends H{constructor(){super();f(this,"_sceneObjects",new Set);f(this,"_sceneObjectsToChange",this.dv(new V));this.d(()=>{const e=p.length(this._sceneObjects);e!==0&&console.warn(`场景对象管理器销毁时仍然管理着${e}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(e){return this._sceneObjects.has(e)?(console.warn(`创建失败:对象${e.typeName+":"+e.id}已经存在于场景对象管理器中!}`),!1):(this._sceneObjectsToChange.emit([],[e]),this._sceneObjects.add(e),!0)}deleteSceneObject(e){return this._sceneObjects.has(e)?(this._sceneObjectsToChange.emit([e],[]),this._sceneObjects.delete(e),!0):(console.warn(`删除失败:对象${e.typeName+":"+e.id}不存在于场景对象管理器中!}`),!1)}createSceneObject(e,r){const i=tt.context.createSceneObject(e,r);return i&&this.addSceneObject(i),i}createSceneObjectFromUrl(e,r){const i=tt.context.createSceneObjectFromUrl(e,r);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(e,r){const i=tt.context.createSceneObjectFromClass(e,r);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(e){const r=tt.context.createSceneObjectFromJson(e);return r&&this.addSceneObject(r),r}}function Dg(n,t){return n.length===t.length&&n.every((e,r)=>e===t[r])}class A0 extends H{constructor(t){super(),this._viewer=t,this.d(p.track([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class R0 extends H{constructor(t,e){super(),this._viewer=t,this._activeViewer=e;const r=An.createCommonProps(),i=[];Object.keys(r).forEach(u=>{const l=this._activeViewer[u+"Changed"];i.push(l)});const s=this.dv(p.createNextAnimateFrameEvent(...i)),o=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(r).forEach(u=>{this._viewer[u]=this._activeViewer[u]})};this.d(s.don(o));const a=this.dv(p.createAnimateFrame());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&&Dg(c,l.position)&&Dg(h,l.rotation)||this._viewer.flyIn(c,h,0)}),this.d(()=>a.cancel())}}const F0=`<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">
|
|
488
488
|
<animateTransform values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform>
|
|
489
489
|
</circle><g></g></g></svg>
|
|
490
|
-
`,k0='<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>',V0='<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>',so=class so extends H{constructor(t){super();const e=()=>{const r=this.dv(new gl);this.d(p.track([r,"show"],[t,"useDefaultStatusDiv"]));{const i=()=>{r.show=(t.useDefaultStatusDiv??!0)&&t.status!=="Created"};i(),this.d(t.useDefaultStatusDivChanged.don(i)),this.d(t.statusChanged.don(i)),r.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}t.add(r),this.d(()=>t.delete(r)),r.instanceClass=class extends H{constructor(o,a,u){super();f(this,"_div",document.createElement("div"));if(this._subContainer=o,!u)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const y=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};y(),this.d(a.showChanged.don(y))}let l,c,h,d,g;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=so.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",d=document.createElement("div"),h.appendChild(d),d.style.fontSize="14px",d.style.fontWeight="800",d.style.marginBottom="5px",d.style.textShadow="0 0 2px black",g=document.createElement("div"),h.appendChild(g),g.style.fontWeight="400",g.style.textShadow="0 0 2px black";{const y=()=>{let P="Raw";u.status==="Raw"?P="初始状态":u.status==="Creating"?P="正在创建":u.status==="Created"?P="创建完成":u.status==="Error"?P="创建失败":u.status==="Reconnecting"&&(P="重新连接"),d.innerText=`${P}(${u.status})`,g.innerText=`${u.statusLog}`,(u.status==="Creating"||u.status==="Reconnecting")&&(c.innerHTML=so.defaultsSvg.loadingSvg),u.status==="Created"&&(c.innerHTML=so.defaultsSvg.successSvg),u.status==="Error"&&(c.innerHTML=so.defaultsSvg.warnSvg)};y();const C=this.dv(p.createNextAnimateFrameEvent(u.statusLogChanged,u.statusChanged));this.d(C.don(y))}}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(t.containerChanged.don(()=>{e()}))}};f(so,"defaultsSvg",{loadingSvg:F0,successSvg:k0,warnSvg:V0});let sf=so;class z0 extends H{constructor(t,e,r){super(),this._subContainer=t,this._overlayContainer=e,this._viewer=r;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 Il(n){let t=p.getExtProp(n,"_relativeContainer");return t||(t=document.createElement("div"),t.style.position="relative",t.style.width="100%",t.style.height="100%",t.style.padding="0",t.style.margin="0",n.appendChild(t),p.setExtProp(n,"_relativeContainer",t)),t}class U0 extends H{constructor(e,r){super();f(this,"_subContainer",document.createElement("div"));f(this,"_overlayContainer",document.createElement("div"));f(this,"_containerStyleController");this._container=e,this._viewer=r,this._containerStyleController=this.dv(new z0(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"),Il(this._container).appendChild(i),this.d(()=>Il(this._container).removeChild(i)),Il(this._container).appendChild(s),this.d(()=>Il(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 G0 extends H{constructor(){super(...arguments);f(this,"registerObjsMap",new Map)}register(e,r){return this.registerObjsMap.has(e)&&console.warn(`register warn:${e}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(e,r),e}getViewerConstructor(e){const r=this.registerObjsMap.get(e);if(!r){console.warn(`未找到${e}类!`);return}return r}createViewer(e){const r=e.type;console.log(e);const i=this.getViewerConstructor(r);if(!i)throw new Error(`没有找到类型为${r}的Viewer构造器!`);return new i(e)}}class Mg extends H{constructor(t,e,r=!1,i=!1){if(super(),this._viewer=t,!e)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(p.DomElementEvent.create(e,"pointerdown")),o=this.dv(p.DomElementEvent.create(e,"pointermove")),a=this.dv(p.DomElementEvent.create(e,"pointerup")),u=this.dv(p.DomElementEvent.create(e,"pointerout")),l=this.dv(p.DomElementEvent.create(e,"pointerover")),c=this.dv(new p.PointerClick),h=this.dv(new p.PointerHover),d=()=>{const m=this._viewer.hoverTime*1e3;h.delayTime=m};this.d(this._viewer.hoverTimeChanged.don(()=>{d()})),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:g,y}=e.getBoundingClientRect(),C=i?g:0,P=i?y:0;this.d(h.hoverEvent.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);this._viewer.hoverEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(c.clickEvent.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);this._viewer.clickEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(c.dbclickEvent.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);m.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(s.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);m.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(a.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);m.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(o.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);this._viewer.pointerMoveEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(l.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);this._viewer.pointerOverEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(u.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);this._viewer.pointerOutEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})}));const T=this.dv(p.DomElementEvent.create(e,"keydown"));this.d(T.don(m=>this._viewer.keyDownEvent.emit(m)));const v=this.dv(p.DomElementEvent.create(e,"keyup"));this.d(v.don(m=>this._viewer.keyUpEvent.emit(m)));const w=this.dv(p.DomElementEvent.create(e,"wheel"));this.d(w.don(m=>this._viewer.wheelEvent.emit(m)))}}class W0 extends H{constructor(e){super();f(this,"viewer");const r=this.viewer=e;this.ad(new p.ObjResettingWithEvent(r.rollerShutterChanged,()=>{const i=r.container;if(!i||!r.rollerShutter)return;const s=new H;this.viewer.splitPosition=.5;let o=this.getRollerShutterDIV();return i.appendChild(o),s.d(()=>{this.viewer.splitPosition=0,i.removeChild(o)}),s}))}getRollerShutterDIV(){let e=document.createElement("div");e.style.position="absolute",e.style.left="50%",e.style.top="0",e.style.backgroundColor="#d3d3d3",e.style.width="5px",e.style.height="100%",e.style.zIndex="9999";const r=i=>{if(!e.parentElement)return;i.preventDefault?i.preventDefault():i.returnValue=!1;const o=i.x/e.parentElement.offsetWidth;e.style.left=`${100*o}%`,this.viewer.splitPosition=o};return e.addEventListener("mouseenter",i=>{e.style.cursor="ew-resize"}),e.addEventListener("mouseleave",i=>{e.style.cursor="default"}),e.addEventListener("mousedown",i=>{e.style.cursor="ew-resize",document.addEventListener("mousemove",r)}),document.addEventListener("mouseup",i=>{e.style.cursor="default",document.removeEventListener("mousemove",r)}),e}}class q0 extends H{constructor(e){super();f(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new W0(e))}}const Vi=class Vi extends H{constructor(e){super();f(this,"_forceRecreateEvent",this.dv(new V));f(this,"_container",this.dv(p.react(void 0)));f(this,"_containerSize",this.dv(p.react(void 0)));f(this,"_editingEvent",this.disposeVar(new V));f(this,"_status",this.dv(p.react("Raw")));f(this,"_statusLog",this.dv(p.react("")));f(this,"_statusContainer",this.dv(new sf(this)));f(this,"_useCustomInteraction",this.dv(p.react(!0)));f(this,"_resetInteractionEvent",this.dv(p.createNextAnimateFrameEvent(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));f(this,"_interactionResetting",this.dv(new p.ObjResettingWithEvent(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new Mg(this,this.container)})));f(this,"_viewerChanged",this.dv(new V));f(this,"_cameraChanged",this.dv(new V));f(this,"_containerResetEvent",this.dv(p.createNextAnimateFrameEvent(this.containerChanged,this._forceRecreateEvent)));f(this,"_containerResetting",this.dv(new p.ObjResettingWithEvent(this._containerResetEvent,()=>{if(this.container)return new U0(this.container,this)})));f(this,"_sceneObjectsMap",new Map);f(this,"_id");f(this,"_typeName");f(this,"_updateFuncReact",this.dv(p.react(void 0)));f(this,"_toDestroyFuncReact",this.dv(p.react(void 0)));f(this,"_statusInfo",Vi.defaults.statusInfo);f(this,"_navigationMode",this.dv(p.react("Map")));f(this,"_syncViewer",this.dv(p.react(void 0)));f(this,"_syncEventDon",this.dv(new p.ObjResettingWithEvent(this.syncViewerChanged,()=>{const e=this.syncViewer;if(e)return new R0(this,e)})));f(this,"_timeSyncdon",this.dv(new p.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new A0(this)})));f(this,"_hoverEvent",this.dv(new V));f(this,"_pointerOverEvent",this.dv(new V));f(this,"_pointerMoveEvent",this.dv(new V));f(this,"_pointerDownEvent",this.dv(new V));f(this,"_pointerUpEvent",this.dv(new V));f(this,"_pointerOutEvent",this.dv(new V));f(this,"_clickEvent",this.dv(new V));f(this,"_dblclickEvent",this.dv(new V));f(this,"_keyDownEvent",this.dv(new V));f(this,"_keyUpEvent",this.dv(new V));f(this,"_wheelEvent",this.dv(new V));f(this,"_actived",this.dv(p.react(!1)));this._id=e.id??p.createGuid();const r=Tg(e.container);if(r)this._container.value=nf(r),this._typeName=e.type,this._initName();else throw new Error("container is not defined");{const i=()=>{r&&(this.show??!0?r.style.display="block":r.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=_s.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||p.createAnimateFrame(),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 q0(this))}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(e){this._container.value=e}set containerOrId(e){if(typeof e=="string"){const r=document.getElementById(e);r&&r instanceof HTMLDivElement?this._container.value=nf(r):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else e instanceof HTMLDivElement?this._container.value=nf(e):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(e){this._containerSize.value=e}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(e){this._status.value=e}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(e){this._statusLog.value=e}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(e){this._useCustomInteraction.value=e}get viewerChanged(){return this._viewerChanged}get cameraChanged(){return this._cameraChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(e){return this.sceneObjectsMap.get(e)}add(...e){for(let r of e)if(!this.has(r)){tt.context.addSceneObject(r);const i=_s.context.createEngineObject(r,this);i&&this._sceneObjectsMap.set(r,i),r.viewerAttached.emit(this)}}delete(...e){for(let r of e)if(this.has(r)){const i=this._sceneObjectsMap.get(r);i&&i.destroy(),tt.context.deleteSceneObject(r),this._sceneObjectsMap.delete(r),r.viewerDetached.emit(this)}}disposableAdd(...e){return this.add(...e),()=>this.delete(...e)}disAdd(...e){return this.disposableAdd(...e)}has(e){return this._sceneObjectsMap.has(e)}clearAllSceneObjects(){for(let e of this.sceneObjects)this.delete(e)}get id(){return this._id}set id(e){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return Vi.createDefaultProps()}_getJson(e=!0){const r={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(e){let s,o=this.defaultProps[i];o instanceof p.ReactiveVariable?s=o.equals(this[i]):s=o===this[i],s||(r[i]=this[i])}else r[i]=this[i];return r}_setJson(e,r,i){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=r||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in e)this[a]=e[a]===null?void 0:e[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof p.ReactiveVariable&&(u=u.value),this[a]=u}}get json(){return this._getJson()}set json(e){this._setJson(e,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}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(e){this._syncViewer.value=e}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(e){e&&e.syncViewer&&(e.syncViewer=void 0),e===this?this._syncViewer.value=void 0:this._syncViewer.value=e}setCurrentTime(e){try{this.currentTime=typeof e=="string"?Date.parse(e):e}catch(r){console.warn(`时间格式不正确! value: ${e} error: ${r}`)}}async getVersion(){return window.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(e){this._actived.value=e}get activedChanged(){return this._actived.changed}getESProperties(){return{defaultMenu:"general",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[],more:[]}}getProperties(e){const r={...this.getESProperties()},i=[];return r.general.length>0&&i.push(new it(r.general,"general")),Object.keys(r).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&r[s].length>0&&i.push(new it(r[s],s))}),i}};f(Vi,"context",new G0),f(Vi,"register",Vi.context.register.bind(Vi.context)),f(Vi,"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]});let An=Vi;(n=>{n.createBaseProps=()=>({name:"未命名场景对象",extras:p.reactJson(void 0),devTags:p.reactArrayWithUndefined(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}),n.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:p.reactArrayWithUndefined(void 0),editingAuxiliaryPointColor:p.reactArrayWithUndefined(void 0),editingLineWidth:void 0,editingLineColor:p.reactArrayWithUndefined(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:n.defaults.terrainShader,splitPosition:p.react(void 0),rollerShutter:!1,cameraMovableRegion:p.reactArrayWithUndefined(void 0)}),n.createDefaultProps=()=>({...(0,n.createBaseProps)(),...(0,n.createCommonProps)()})})(An||(An={})),p.extendClassProps(An.prototype,An.createDefaultProps);function Lg(n,t){const e=n._lastCameraInfo;if(e){const r=t.viewerChanged.don(i=>{if(!i||!e)return;const{position:s,rotation:o}=e;t.flyIn(s,o,0),n._lastCameraInfo=void 0,r()})}}const X0=n=>{const t=An.createCommonProps(),e={};try{Object.keys(t).forEach(r=>{e[r]=n[r]})}catch(r){console.warn(r)}return e},Ag=(n,t)=>{const e=An.createCommonProps();try{Object.keys(e).forEach(r=>{n[r]=t[r]})}catch(r){console.warn(r)}};class H0 extends H{constructor(e){super();f(this,"_viewersChanged",this.disposeVar(new V));f(this,"_viewers",new Set);f(this,"_viewersToChange",this.dv(new V));this._sceneObjectsManager=e,this.d(()=>{for(const r of this._viewers)this.destroyViewer(r);this._viewers.clear()}),this.viewers.forEach(r=>{const i=this._sceneObjectsManager.sceneObjects;r.add(...i)}),this.d(()=>{const r=this._sceneObjectsManager.sceneObjects;this.viewers.forEach(i=>{i.delete(...r)})}),this.d(this._sceneObjectsManager.sceneObjectsToChange.don((r,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))}),r.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)),gi(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))})}))})})),this.d(this.viewersChanged.don((r,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))}),r.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(e){const r=An.context.createViewer(e);return this._viewers.add(r),this._viewersChanged.emit([],[r]),r}destroyViewer(e){return e.isDestroyed()?!0:(this._viewers.delete(e),this._viewersChanged.emit([e],[]),e.destroy(),e.isDestroyed())}}class us extends H{constructor(...e){super();f(this,"_drgm",this.dv(new Tf));f(this,"_sobjm",this.dv(new L0));f(this,"_vrm",this.dv(new H0(this._sobjm)));f(this,"_sceneObjectEditingManager",this.disposeVar(new M0));f(this,"_activeViewer",this.dv(p.react(void 0)));f(this,"_syncOtherViewersToActived",this.dv(p.react(!1)));f(this,"_cmrvm",this.createSceneObjectFromClass(fl));f(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));f(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});f(this,"_sceneTree",this.dv(new ou("default",this.dragstartDataMananger,24,this)));f(this,"_propUiTreeManager",this.dv(new Wo(24)));f(this,"_sceneTreeMap",new Map);f(this,"_viewerCreatedEvent",this.dv(new V));f(this,"_lastCameraInfo");f(this,"_lastActiveViewerJson");f(this,"_syncEventDonFunc",this.d(ao([this.activeViewerChanged,this.syncOtherViewersToActivedChanged],()=>{const e=this.syncOtherViewersToActived;this.viewers.forEach(r=>{e?r.syncOtherViewer(this.activeViewer):r.syncOtherViewer(void 0)})})));f(this,"_player",this.createSceneObjectFromClass(Yo));f(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));f(this,"_esPlyarAndPathTime",this.dv(new b0(this)));f(this,"_pathAnimationManager",this.dv(new T0(this)))}static get envs(){return tt.context.environmentVariables}getSceneObjectById(e){return tt.getSceneObjectById(e)}getSceneObject(e){return tt.getSceneObject(e)}get $refs(){return tt.$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(e){this._activeViewer.value=e,this.viewers.values().forEach(r=>r.actived=r===e)}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(e){this._syncOtherViewersToActived.value=e}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var h;const e=this._asset.createdTime||new Date().toISOString(),r=new Date().toISOString(),i=this._asset.name||"未命名项目",o={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:e,modifiedTime:r,name:i},a=this.sceneTree.json,u=this._cmrvm.views,l=[...this._vrm.viewers].map(d=>d.json),c=(h=this.activeViewer)==null?void 0:h.getCurrentCameraInfo();return{asset:o,viewers:l,sceneTree:a,viewCollection:u,lastView:c}}set json(e){try{if(!e.asset)return;if(!e.asset.type||e.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=e.asset&&e.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=e.asset&&e.asset.modifiedTime||"",this._asset.name=e.asset&&e.asset.name||"未命名项目",this._asset.version=e.asset&&e.asset.version||"0.1.0",e.sceneTree&&(this.sceneTree.json=e.sceneTree),e.viewCollection&&(this._cmrvm.views=e.viewCollection),!e.viewers||!Array.isArray(e.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||e.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(r=>{const i=e.viewers.find(s=>s.id===r.id);i&&(r.json=i)})}catch(r){console.error(`ESObjectsManager解析json数据时发生错误! error: ${r}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(e){return O0(this,e)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(e="default"){if(e==="default")return this._sceneTree;if(!this._sceneTreeMap.has(e)){console.warn(`id为${e}的SceneTree不存在!`);return}return this._sceneTreeMap.get(e)}createSceneTree(e,r=24){if(this._sceneTreeMap.has(e)||e==="default")console.warn(`id为${e}的SceneTree已存在!`);else{const i=this.dv(new ou(e,this.dragstartDataMananger,r,this));this._sceneTreeMap.set(e,i)}return this.getSceneTree(e)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(e){const r=this._vrm.createViewer(e);this.activeViewer||(this.activeViewer=r);const i=this.d(r.viewerChanged.don(s=>{s&&(this._viewerCreatedEvent.emit(r),i())}));return r}destroyViewer(e){return this._activeViewer.value===e&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(e)}switchViewer(e,r=!0,i=!0,s=!0){var l;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&r&&(this._lastCameraInfo=(l=this.activeViewer)==null?void 0:l.getCurrentCameraInfo()),!this._lastActiveViewerJson&&i&&(this._lastActiveViewerJson=this.activeViewer?X0(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const o=e.id,a=o?[...this.getViewers()].find(c=>c.id===o):[...this.getViewers()].find(c=>c.typeName===e.type);if(a)if(o&&a.typeName!==e.type)console.warn(`id为${o}的viewer的typeName和option.type${e.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),r&&Lg(this,a),i&&this._lastActiveViewerJson&&(Ag(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===Tg(e.container)?(a.containerOrId=e.container,a.forceRecreate()):a.containerOrId=e.container,this.activeViewer=a,a;console.log("No ESViewer exists, will be created");const u=this.createViewer(e);return console.log(e),console.log(this),r&&Lg(this,u),i&&this._lastActiveViewerJson&&(Ag(u,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=u,u}switchToCesiumViewer(...e){if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)){const{container:r,viewSync:i,attributeSync:s,destroy:o,id:a}=e[0];return this.switchViewer({type:"ESCesiumViewer",container:r,id:a},i??!0,s??!0,o??!0)}else if(typeof e[0]=="string"||e[0]instanceof HTMLDivElement){const r={container:e[0],viewSync:e[1]??!0,attributeSync:e[2]??!0,destroy:e[3]??!0,id:e[4]},{container:i,viewSync:s,attributeSync:o,destroy:a,id:u}=r;return this.switchViewer({type:"ESCesiumViewer",container:i,id:u},s,o,a)}}switchToUEViewer(...e){let r,i={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("uri")){const{container:u,uri:l,app:c,token:h,viewSync:d,attributeSync:g,destroy:y,id:C}=e[0];r={type:"ESUeViewer",container:u,id:C,options:{uri:l,app:c,token:h}},i={viewSync:d??!0,attributeSync:g??!0,destroy:y??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("ws")){const{container:u,ws:l,esmsg:c,viewSync:h,attributeSync:d,id:g,destroy:y}=e[0];r={type:"ESUeViewer",container:u,id:g,options:{ws:l,esmsg:c}},i={viewSync:h??!0,attributeSync:d??!0,destroy:y??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("project")){const{container:u,project:l,baseUrl:c,viewSync:h,attributeSync:d,id:g,destroy:y}=e[0];r={type:"ESUeViewer",container:u,id:g,options:{project:l,baseUrl:c}},i={viewSync:h??!0,attributeSync:d??!0,destroy:y??!0}}else(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?(r={type:"ESUeViewer",container:e[0],id:e[6],options:{ws:e[1],esmsg:e[2]??void 0}},i={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}):typeof e[1]=="string"&&e[1].startsWith("http")?(r={type:"ESUeViewer",container:e[0],id:e[7],options:{uri:e[1],app:e[2],token:e[3]??void 0}},i={viewSync:e[4]??!0,attributeSync:e[5]??!0,destroy:e[6]??!0}):(r={type:"ESUeViewer",container:e[0],id:e[6],options:{project:e[1],baseUrl:e[2]??void 0}},i={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}));if(!r)throw new Error("参数错误");const{viewSync:s,attributeSync:o,destroy:a}=i;return this.switchViewer(r,s,o,a)}createCesiumViewer(...e){let r;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?r={...e[0],type:"ESCesiumViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(r={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESCesiumViewer"}),!r)throw new Error("参数错误");return this.createViewer(r)}createOpenLayersViewer(...e){let r;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?r={...e[0],type:"ESOlViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(r={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESOlViewer"}),!r)throw new Error("参数错误");return this.createViewer(r)}createUeViewer(...e){let r;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?r={...e[0],type:"ESUeViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?r={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{ws:e[1],esmsg:e[2]??void 0}}:typeof e[1]=="string"&&e[1].startsWith("http")?r={type:"ESUeViewer",container:e[0],id:e[4]??void 0,options:{uri:e[1],app:e[2],token:e[3]??void 0}}:r={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{project:e[1],baseUrl:e[2]??void 0}}),!r)throw new Error("参数错误");return this.createViewer(r)}createSceneObject(e,r){return this._sobjm.createSceneObject(e,r)}createSceneObjectFromClass(e,r){return this._sobjm.createSceneObjectFromClass(e,r)}createSceneObjectFromJson(e){return this._sobjm.createSceneObjectFromJson(e)}destroySceneObject(e){const r=this._sobjm.deleteSceneObject(e);return e.destroy(),r}destroyAllSceneObjects(){const e=[...this._sobjm.sceneObjects];for(let r of e)r!=this._player&&r!=this._cmrvm&&this.destroySceneObject(r)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}f(us,"getSceneObjById",tt.context.getSceneObjectById.bind(tt.context)),f(us,"getEnv",tt.context.getEnv.bind(tt.context)),f(us,"setEnv",tt.context.setEnv.bind(tt.context)),(n=>{n.createDefaultProps=()=>({})})(us||(us={})),p.extendClassProps(us.prototype,us.createDefaultProps),S.BasePropTreeItem=Rc,S.Boolean2Property=dm,S.Boolean2sProperty=mm,S.Boolean3Property=pm,S.Boolean3sProperty=vm,S.Boolean4Property=gm,S.Boolean4sProperty=ym,S.BooleanProperty=q,S.BooleansProperty=sm,S.ColorProperty=Et,S.ColorRgbProperty=Em,S.DashPatternProperty=Sm,S.DateProperty=ws,S.DatesProperty=If,S.Destroyable=H,S.DoublyLinkedList=ff,S.DragStartDataManager=Tf,S.ES3DTileset=on,S.ESAlarm=qc,S.ESApertureEffect=Xc,S.ESAreaMeasurement=Hc,S.ESBlastParticleSystem=Yc,S.ESBoxClipping=Jc,S.ESCameraView=cl,S.ESCameraViewCollection=fl,S.ESCameraVisibleRange=Bc,S.ESCar=dl,S.ESCityBasePoint=Xh,S.ESClassification=pl,S.ESClippingPlane=jc,S.ESCustomDiv=gl,S.ESCzml=Hh,S.ESDataMesh=Zc,S.ESDatasmithRuntimeModel=bh,S.ESDirectionMeasurement=vh,S.ESDistanceMeasurement=Kc,S.ESDynamicWater=Nh,S.ESEntityCluster=Wh,S.ESExcavate=au,S.ESFeatureLayer=rf,S.ESFireParticleSystem=Qc,S.ESForestTileset=$c,S.ESGaussianSplatting=jh,S.ESGeoDiv=th,S.ESGeoDivTextPoi=qh,S.ESGeoExtrudedPolygon=Gs,S.ESGeoJson=lu,S.ESGeoLineString=Mi,S.ESGeoPoints=du,S.ESGeoPolygon=Vt,S.ESGeoRectangle=eh,S.ESGeoVector=wt,S.ESGeoWater=Th,S.ESGltfModel=os,S.ESHeatMap=Sl,S.ESHeightLimitAnalysis=Gh,S.ESHeightMeasurement=yh,S.ESHole=Ah,S.ESHuman=Us,S.ESHumanPoi=Lh,S.ESImageLabel=ml,S.ESImageryLayer=nh,S.ESJEditingMode=$,S.ESJLonLatFormat=Pf,S.ESJPickedResult=xm,S.ESLabel=Vr,S.ESLevelRuntimeModel=Oh,S.ESLocalCircle=_h,S.ESLocalPolygon=cu,S.ESLocalPolygonZ=wh,S.ESLocalRectangle=Eh,S.ESLocalSkyBox=ih,S.ESLocalVector=qo,S.ESLocalVector2D=Di,S.ESLocationMeasurement=sh,S.ESMsTileset=Vh,S.ESNavigator=Yh,S.ESObjectWithLocation=et,S.ESObjectsManager=us,S.ESParticleSystemPrimitive=vl,S.ESPath=Jo,S.ESPathImpl=as,S.ESPipeFence=wl,S.ESPipeline=xh,S.ESPipeserTileset=Sh,S.ESPit=Ho,S.ESPlayer=Yo,S.ESPoi2D=uu,S.ESPoi3D=oh,S.ESPoiTileset=zh,S.ESPolygonFence=El,S.ESPolygonFlattenedPlane=ah,S.ESPolygonWithHole=Ih,S.ESRectangle=Ch,S.ESRtsFeatureEditing=kh,S.ESRtsTileset=Fh,S.ESScale=Uh,S.ESSceneObject=tt,S.ESSceneObjectWithId=Xm,S.ESSeparateFoliage=uh,S.ESSkylineAnalysis=Kh,S.ESStaticMesh=Zh,S.ESSubmergingAnalysis=lh,S.ESSunshineAnalysis=ch,S.ESSurfaceAreaMeasurement=Ph,S.ESTerrainLayer=hh,S.ESTestObject=Wc,S.ESTextLabel=Xo,S.ESUEWidget=fh,S.ESUnrealActor=dh,S.ESVideoFusion=ph,S.ESViewShed=gh,S.ESViewer=An,S.ESViewerStatusBar=Jh,S.ESViewerStatusBarScale=Bh,S.ESVisibilityAnalysis=Dh,S.ESVisualObject=Ft,S.ESVolumeMeasurement=Mh,S.ESWidget=mh,S.EngineObject=_s,S.EnumProperty=mt,S.EnumStringsProperty=Cm,S.EvalStringProperty=Ui,S.Event=V,S.EventListenerHandler=Ll,S.FunctionProperty=st,S.GroupPropTreeItem=kc,S.GroupProperty=it,S.JsonProperty=Q,S.LeafPropTreeItem=Fc,S.ListenerPipe=Ml,S.LongStringProperty=Fl,S.MaximumScreenSpaceErrorProperty=nm,S.MinmaxProperty=Im,S.NearFarScalerProperty=Pm,S.NextAnimateFrameEvent=mf,S.NonreactiveJsonStringProperty=Ef,S.Number2Property=ye,S.Number2sProperty=_f,S.Number3Property=We,S.Number3sProperty=Rl,S.Number4Property=pn,S.Number4WithUndefinedProperty=hm,S.Number4sProperty=fm,S.NumberProperty=L,S.NumberRangeProperty=bm,S.NumberSliderProperty=Ce,S.NumbersProperty=im,S.ObjPool=Ol,S.ObservableSet=_u,S.ParamsProperty=wf,S.PickedInfo=Om,S.Player=gn,S.PlayerProperty=wu,S.PositionProperty=uo,S.PositionsProperty=Sf,S.PositionsSetPropety=Tm,S.PropTree=Jp,S.PropUiTreeManager=Wo,S.Property=zi,S.ReactVarProperty=yt,S.RotationProperty=kl,S.SceneObjectFromId=Ul,S.SceneTree=ou,S.SceneTreeContextMenu=$p,S.SceneTreeItem=Ze,S.SceneTreeItemDragDrop=Qp,S.SmartListenerHandler=ba,S.SmartListenerPipe=Jg,S.SmoothMoveController=k_,S.String2Property=om,S.String2sProperty=yf,S.String3Property=am,S.String3sProperty=lm,S.String4Property=um,S.String4sProperty=cm,S.StringNumberProperty=_m,S.StringNumbersProperty=wm,S.StringProperty=ut,S.StringsProperty=vf,S.TreeItemDragDrop=Of,S.UriProperty=Na,S.ViewPlayerProperty=Cf,S.ViewerCustomInteraction=Mg,S.Watcher=Ta,S.WatcherTools=Lf,S.WithUndefinedProperty=Al,S.addTreesCallFunc=ig,S.animateFrame=Zg,S.bindCustomEditing=Mf,S.booleanPointInPolygon=jm,S.cartesianDistance=Yp,S.clamp0_360=lo,S.clampN180_180=Df,S.createEventsCallFunc=ao,S.createPropTreeFromSceneObject=Bp,S.cutDownTreesCallFunc=ag,S.defaultInitSceneObjectOnCreatingFunc=Rm,S.defaultLight122FromEnvironmentMapManager=Gc,S.defaultUpdateSceneObjectOnPickingFunc=Am,S.destroyObject=uf,S.downloadLink=tm,S.equalsN3=zc,S.geoAlong=$m,S.geoArea=Jl,S.geoBuffer=Gp,S.geoCenterOfMass=yv,S.geoDestination=$f,S.geoDifference=Wp,S.geoDistance=Tu,S.geoHeading=Ma,S.geoIntersect=zp,S.geoLineIntersect=bv,S.geoNearestPointOnLine=xv,S.geoPointToLineDistance=Av,S.geoPolygonFromCircle=qp,S.geoPolygonOverlap=Lc,S.geoRhumbDestination=kv,S.geoRhumbDistance=hd,S.geoRhumbHeading=zv,S.geoUnion=Up,S.getDefaultValue=zm,S.getDistancesFromPositions=su,S.getGeoBoundingSphereFromPositions=Hp,S.getMidpoint=Tv,S.getMinMaxCorner=Xp,S.getSceneObjectTreeItem=Fm,S.getXyzFromPostion=Ac,S.growthSimulationCallFunc=ug,S.hasSameTags=xf,S.hasSameViewerTags=gi,S.inOrderRunning=Um,S.interval=Bg,S.isJSON=Vl,S.isXML=Vm,S.lbhToWebMerc=Jm,S.lbhToXyz=Xn,S.lerpAngle=Su,S.lerpRotation=zl,S.map=jp,S.nextAnimateFrame=gf,S.nextMicroTask=Kg,S.oneTimeWarning=pf,S.optionsStr=H_,S.reactPosition2Ds=Vc,S.registerCreatedEventUpdate=P_,S.registerEventCtor=lf,S.registerEventUpdate=b_,S.removeAllTreesCallFunc=sg,S.rpToap=km,S.saveOnBrowser=$g,S.setSceneObjectTreeItem=Eu,S.timeout=jg,S.updateTreeParamsCallFunc=og,S.webMercToLbh=Bm,S.xyzToLbh=Rf,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
|
|
490
|
+
`,k0='<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>',V0='<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>',so=class so extends H{constructor(t){super();const e=()=>{const r=this.dv(new gl);this.d(p.track([r,"show"],[t,"useDefaultStatusDiv"]));{const i=()=>{r.show=(t.useDefaultStatusDiv??!0)&&t.status!=="Created"};i(),this.d(t.useDefaultStatusDivChanged.don(i)),this.d(t.statusChanged.don(i)),r.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}t.add(r),this.d(()=>t.delete(r)),r.instanceClass=class extends H{constructor(o,a,u){super();f(this,"_div",document.createElement("div"));if(this._subContainer=o,!u)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const y=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};y(),this.d(a.showChanged.don(y))}let l,c,h,d,g;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=so.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",d=document.createElement("div"),h.appendChild(d),d.style.fontSize="14px",d.style.fontWeight="800",d.style.marginBottom="5px",d.style.textShadow="0 0 2px black",g=document.createElement("div"),h.appendChild(g),g.style.fontWeight="400",g.style.textShadow="0 0 2px black";{const y=()=>{let P="Raw";u.status==="Raw"?P="初始状态":u.status==="Creating"?P="正在创建":u.status==="Created"?P="创建完成":u.status==="Error"?P="创建失败":u.status==="Reconnecting"&&(P="重新连接"),d.innerText=`${P}(${u.status})`,g.innerText=`${u.statusLog}`,(u.status==="Creating"||u.status==="Reconnecting")&&(c.innerHTML=so.defaultsSvg.loadingSvg),u.status==="Created"&&(c.innerHTML=so.defaultsSvg.successSvg),u.status==="Error"&&(c.innerHTML=so.defaultsSvg.warnSvg)};y();const C=this.dv(p.createNextAnimateFrameEvent(u.statusLogChanged,u.statusChanged));this.d(C.don(y))}}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(t.containerChanged.don(()=>{e()}))}};f(so,"defaultsSvg",{loadingSvg:F0,successSvg:k0,warnSvg:V0});let sf=so;class z0 extends H{constructor(t,e,r){super(),this._subContainer=t,this._overlayContainer=e,this._viewer=r;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 Il(n){let t=p.getExtProp(n,"_relativeContainer");return t||(t=document.createElement("div"),t.style.position="relative",t.style.width="100%",t.style.height="100%",t.style.padding="0",t.style.margin="0",n.appendChild(t),p.setExtProp(n,"_relativeContainer",t)),t}class U0 extends H{constructor(e,r){super();f(this,"_subContainer",document.createElement("div"));f(this,"_overlayContainer",document.createElement("div"));f(this,"_containerStyleController");this._container=e,this._viewer=r,this._containerStyleController=this.dv(new z0(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"),Il(this._container).appendChild(i),this.d(()=>Il(this._container).removeChild(i)),Il(this._container).appendChild(s),this.d(()=>Il(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 G0 extends H{constructor(){super(...arguments);f(this,"registerObjsMap",new Map)}register(e,r){return this.registerObjsMap.has(e)&&console.warn(`register warn:${e}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(e,r),e}getViewerConstructor(e){const r=this.registerObjsMap.get(e);if(!r){console.warn(`未找到${e}类!`);return}return r}createViewer(e){const r=e.type;console.log(e);const i=this.getViewerConstructor(r);if(!i)throw new Error(`没有找到类型为${r}的Viewer构造器!`);return new i(e)}}class Mg extends H{constructor(t,e,r=!1,i=!1){if(super(),this._viewer=t,!e)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(p.DomElementEvent.create(e,"pointerdown")),o=this.dv(p.DomElementEvent.create(e,"pointermove")),a=this.dv(p.DomElementEvent.create(e,"pointerup")),u=this.dv(p.DomElementEvent.create(e,"pointerout")),l=this.dv(p.DomElementEvent.create(e,"pointerover")),c=this.dv(new p.PointerClick),h=this.dv(new p.PointerHover),d=()=>{const m=this._viewer.hoverTime*1e3;h.delayTime=m};this.d(this._viewer.hoverTimeChanged.don(()=>{d()})),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:g,y}=e.getBoundingClientRect(),C=i?g:0,P=i?y:0;this.d(h.hoverEvent.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);this._viewer.hoverEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(c.clickEvent.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);this._viewer.clickEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(c.dbclickEvent.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);m.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(s.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);m.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(a.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);m.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(o.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);this._viewer.pointerMoveEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(l.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);this._viewer.pointerOverEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})})),this.d(u.don(m=>{const[_,E]=p.getDomEventCurrentTargetPos(m,r);this._viewer.pointerOutEvent.emit({screenPosition:[_+C,E+P],pointerEvent:m})}));const T=this.dv(p.DomElementEvent.create(e,"keydown"));this.d(T.don(m=>this._viewer.keyDownEvent.emit(m)));const v=this.dv(p.DomElementEvent.create(e,"keyup"));this.d(v.don(m=>this._viewer.keyUpEvent.emit(m)));const w=this.dv(p.DomElementEvent.create(e,"wheel"));this.d(w.don(m=>this._viewer.wheelEvent.emit(m)))}}class W0 extends H{constructor(e){super();f(this,"viewer");const r=this.viewer=e;this.ad(new p.ObjResettingWithEvent(r.rollerShutterChanged,()=>{const i=r.container;if(!i||!r.rollerShutter)return;const s=new H;this.viewer.splitPosition=.5;let o=this.getRollerShutterDIV();return i.appendChild(o),s.d(()=>{this.viewer.splitPosition=0,i.removeChild(o)}),s}))}getRollerShutterDIV(){let e=document.createElement("div");e.style.position="absolute",e.style.left="50%",e.style.top="0",e.style.backgroundColor="#d3d3d3",e.style.width="5px",e.style.height="100%",e.style.zIndex="9999";const r=i=>{if(!e.parentElement)return;i.preventDefault?i.preventDefault():i.returnValue=!1;const o=i.x/e.parentElement.offsetWidth;e.style.left=`${100*o}%`,this.viewer.splitPosition=o};return e.addEventListener("mouseenter",i=>{e.style.cursor="ew-resize"}),e.addEventListener("mouseleave",i=>{e.style.cursor="default"}),e.addEventListener("mousedown",i=>{e.style.cursor="ew-resize",document.addEventListener("mousemove",r)}),document.addEventListener("mouseup",i=>{e.style.cursor="default",document.removeEventListener("mousemove",r)}),e}}class q0 extends H{constructor(e){super();f(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new W0(e))}}const Vi=class Vi extends H{constructor(e){super();f(this,"_forceRecreateEvent",this.dv(new V));f(this,"_container",this.dv(p.react(void 0)));f(this,"_containerSize",this.dv(p.react(void 0)));f(this,"_editingEvent",this.disposeVar(new V));f(this,"_status",this.dv(p.react("Raw")));f(this,"_statusLog",this.dv(p.react("")));f(this,"_statusContainer",this.dv(new sf(this)));f(this,"_useCustomInteraction",this.dv(p.react(!0)));f(this,"_resetInteractionEvent",this.dv(p.createNextAnimateFrameEvent(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));f(this,"_interactionResetting",this.dv(new p.ObjResettingWithEvent(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new Mg(this,this.container)})));f(this,"_viewerChanged",this.dv(new V));f(this,"_cameraChanged",this.dv(new V));f(this,"_containerResetEvent",this.dv(p.createNextAnimateFrameEvent(this.containerChanged,this._forceRecreateEvent)));f(this,"_containerResetting",this.dv(new p.ObjResettingWithEvent(this._containerResetEvent,()=>{if(this.container)return new U0(this.container,this)})));f(this,"_sceneObjectsMap",new Map);f(this,"_id");f(this,"_typeName");f(this,"_updateFuncReact",this.dv(p.react(void 0)));f(this,"_toDestroyFuncReact",this.dv(p.react(void 0)));f(this,"_statusInfo",Vi.defaults.statusInfo);f(this,"_navigationMode",this.dv(p.react("Map")));f(this,"_syncViewer",this.dv(p.react(void 0)));f(this,"_syncEventDon",this.dv(new p.ObjResettingWithEvent(this.syncViewerChanged,()=>{const e=this.syncViewer;if(e)return new R0(this,e)})));f(this,"_timeSyncdon",this.dv(new p.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new A0(this)})));f(this,"_hoverEvent",this.dv(new V));f(this,"_pointerOverEvent",this.dv(new V));f(this,"_pointerMoveEvent",this.dv(new V));f(this,"_pointerDownEvent",this.dv(new V));f(this,"_pointerUpEvent",this.dv(new V));f(this,"_pointerOutEvent",this.dv(new V));f(this,"_clickEvent",this.dv(new V));f(this,"_dblclickEvent",this.dv(new V));f(this,"_keyDownEvent",this.dv(new V));f(this,"_keyUpEvent",this.dv(new V));f(this,"_wheelEvent",this.dv(new V));f(this,"_actived",this.dv(p.react(!1)));this._id=e.id??p.createGuid();const r=Tg(e.container);if(r)this._container.value=nf(r),this._typeName=e.type,this._initName();else throw new Error("container is not defined");{const i=()=>{r&&(this.show??!0?r.style.display="block":r.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=_s.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||p.createAnimateFrame(),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 q0(this))}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(e){this._container.value=e}set containerOrId(e){if(typeof e=="string"){const r=document.getElementById(e);r&&r instanceof HTMLDivElement?this._container.value=nf(r):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else e instanceof HTMLDivElement?this._container.value=nf(e):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(e){this._containerSize.value=e}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(e){this._status.value=e}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(e){this._statusLog.value=e}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(e){this._useCustomInteraction.value=e}get viewerChanged(){return this._viewerChanged}get cameraChanged(){return this._cameraChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(e){return this.sceneObjectsMap.get(e)}add(...e){for(let r of e)if(!this.has(r)){tt.context.addSceneObject(r);const i=_s.context.createEngineObject(r,this);i&&this._sceneObjectsMap.set(r,i),r.viewerAttached.emit(this)}}delete(...e){for(let r of e)if(this.has(r)){const i=this._sceneObjectsMap.get(r);i&&i.destroy(),tt.context.deleteSceneObject(r),this._sceneObjectsMap.delete(r),r.viewerDetached.emit(this)}}disposableAdd(...e){return this.add(...e),()=>this.delete(...e)}disAdd(...e){return this.disposableAdd(...e)}has(e){return this._sceneObjectsMap.has(e)}clearAllSceneObjects(){for(let e of this.sceneObjects)this.delete(e)}get id(){return this._id}set id(e){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return Vi.createDefaultProps()}_getJson(e=!0){const r={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(e){let s,o=this.defaultProps[i];o instanceof p.ReactiveVariable?s=o.equals(this[i]):s=o===this[i],s||(r[i]=this[i])}else r[i]=this[i];return r}_setJson(e,r,i){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=r||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in e)this[a]=e[a]===null?void 0:e[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof p.ReactiveVariable&&(u=u.value),this[a]=u}}get json(){return this._getJson()}set json(e){this._setJson(e,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}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(e){this._syncViewer.value=e}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(e){e&&e.syncViewer&&(e.syncViewer=void 0),e===this?this._syncViewer.value=void 0:this._syncViewer.value=e}setCurrentTime(e){try{this.currentTime=typeof e=="string"?Date.parse(e):e}catch(r){console.warn(`时间格式不正确! value: ${e} error: ${r}`)}}async getVersion(){return window.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(e){this._actived.value=e}get activedChanged(){return this._actived.changed}getESProperties(){return{defaultMenu:"general",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[],more:[]}}getProperties(e){const r={...this.getESProperties()},i=[];return r.general.length>0&&i.push(new it(r.general,"general")),Object.keys(r).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&r[s].length>0&&i.push(new it(r[s],s))}),i}};f(Vi,"context",new G0),f(Vi,"register",Vi.context.register.bind(Vi.context)),f(Vi,"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]});let An=Vi;(n=>{n.createBaseProps=()=>({name:"未命名场景对象",extras:p.reactJson(void 0),devTags:p.reactArrayWithUndefined(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}),n.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:p.reactArrayWithUndefined(void 0),editingAuxiliaryPointColor:p.reactArrayWithUndefined(void 0),editingLineWidth:void 0,editingLineColor:p.reactArrayWithUndefined(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:n.defaults.terrainShader,splitPosition:p.react(void 0),rollerShutter:!1,cameraMovableRegion:p.reactArrayWithUndefined(void 0)}),n.createDefaultProps=()=>({...(0,n.createBaseProps)(),...(0,n.createCommonProps)()})})(An||(An={})),p.extendClassProps(An.prototype,An.createDefaultProps);function Lg(n,t){const e=n._lastCameraInfo;if(e){const r=t.viewerChanged.don(i=>{if(!i||!e)return;const{position:s,rotation:o}=e;t.flyIn(s,o,0),n._lastCameraInfo=void 0,r()})}}const X0=n=>{const t=An.createCommonProps(),e={};try{Object.keys(t).forEach(r=>{e[r]=n[r]})}catch(r){console.warn(r)}return e},Ag=(n,t)=>{const e=An.createCommonProps();try{Object.keys(e).forEach(r=>{n[r]=t[r]})}catch(r){console.warn(r)}};class H0 extends H{constructor(e){super();f(this,"_viewersChanged",this.disposeVar(new V));f(this,"_viewers",new Set);f(this,"_viewersToChange",this.dv(new V));this._sceneObjectsManager=e,this.d(()=>{for(const r of this._viewers)this.destroyViewer(r);this._viewers.clear()}),this.viewers.forEach(r=>{const i=this._sceneObjectsManager.sceneObjects;r.add(...i)}),this.d(()=>{const r=this._sceneObjectsManager.sceneObjects;this.viewers.forEach(i=>{i.delete(...r)})}),this.d(this._sceneObjectsManager.sceneObjectsToChange.don((r,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))}),r.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)),gi(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))})}))})})),this.d(this.viewersChanged.don((r,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))}),r.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(e){const r=An.context.createViewer(e);return this._viewers.add(r),this._viewersChanged.emit([],[r]),r}destroyViewer(e){return e.isDestroyed()?!0:(this._viewers.delete(e),this._viewersChanged.emit([e],[]),e.destroy(),e.isDestroyed())}}class us extends H{constructor(...e){super();f(this,"_drgm",this.dv(new Tf));f(this,"_sobjm",this.dv(new L0));f(this,"_vrm",this.dv(new H0(this._sobjm)));f(this,"_sceneObjectEditingManager",this.disposeVar(new M0));f(this,"_activeViewer",this.dv(p.react(void 0)));f(this,"_syncOtherViewersToActived",this.dv(p.react(!1)));f(this,"_cmrvm",this.createSceneObjectFromClass(fl));f(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));f(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});f(this,"_sceneTree",this.dv(new ou("default",this.dragstartDataMananger,24,this)));f(this,"_propUiTreeManager",this.dv(new Wo(24)));f(this,"_sceneTreeMap",new Map);f(this,"_viewerCreatedEvent",this.dv(new V));f(this,"_lastCameraInfo");f(this,"_lastActiveViewerJson");f(this,"_syncEventDonFunc",this.d(ao([this.activeViewerChanged,this.syncOtherViewersToActivedChanged],()=>{const e=this.syncOtherViewersToActived;this.viewers.forEach(r=>{e?r.syncOtherViewer(this.activeViewer):r.syncOtherViewer(void 0)})})));f(this,"_player",this.createSceneObjectFromClass(Yo));f(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));f(this,"_esPlyarAndPathTime",this.dv(new b0(this)));f(this,"_pathAnimationManager",this.dv(new T0(this)))}static get envs(){return tt.context.environmentVariables}getSceneObjectById(e){return tt.getSceneObjectById(e)}getSceneObject(e){return tt.getSceneObject(e)}get $refs(){return tt.$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(e){this._activeViewer.value=e,this.viewers.values().forEach(r=>r.actived=r===e)}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(e){this._syncOtherViewersToActived.value=e}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var h;const e=this._asset.createdTime||new Date().toISOString(),r=new Date().toISOString(),i=this._asset.name||"未命名项目",o={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:e,modifiedTime:r,name:i},a=this.sceneTree.json,u=this._cmrvm.views,l=[...this._vrm.viewers].map(d=>d.json),c=(h=this.activeViewer)==null?void 0:h.getCurrentCameraInfo();return{asset:o,viewers:l,sceneTree:a,viewCollection:u,lastView:c}}set json(e){try{if(!e.asset)return;if(!e.asset.type||e.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=e.asset&&e.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=e.asset&&e.asset.modifiedTime||"",this._asset.name=e.asset&&e.asset.name||"未命名项目",this._asset.version=e.asset&&e.asset.version||"0.1.0",e.sceneTree&&(this.sceneTree.json=e.sceneTree),e.viewCollection&&(this._cmrvm.views=e.viewCollection),!e.viewers||!Array.isArray(e.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||e.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(r=>{const i=e.viewers.find(s=>s.id===r.id);i&&(r.json=i)})}catch(r){console.error(`ESObjectsManager解析json数据时发生错误! error: ${r}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(e){return O0(this,e)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(e="default"){if(e==="default")return this._sceneTree;if(!this._sceneTreeMap.has(e)){console.warn(`id为${e}的SceneTree不存在!`);return}return this._sceneTreeMap.get(e)}createSceneTree(e,r=24){if(this._sceneTreeMap.has(e)||e==="default")console.warn(`id为${e}的SceneTree已存在!`);else{const i=this.dv(new ou(e,this.dragstartDataMananger,r,this));this._sceneTreeMap.set(e,i)}return this.getSceneTree(e)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(e){const r=this._vrm.createViewer(e);this.activeViewer||(this.activeViewer=r);const i=this.d(r.viewerChanged.don(s=>{s&&(this._viewerCreatedEvent.emit(r),i())}));return r}destroyViewer(e){return this._activeViewer.value===e&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(e)}switchViewer(e,r=!0,i=!0,s=!0){var l;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&r&&(this._lastCameraInfo=(l=this.activeViewer)==null?void 0:l.getCurrentCameraInfo()),!this._lastActiveViewerJson&&i&&(this._lastActiveViewerJson=this.activeViewer?X0(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const o=e.id,a=o?[...this.getViewers()].find(c=>c.id===o):[...this.getViewers()].find(c=>c.typeName===e.type);if(a)if(o&&a.typeName!==e.type)console.warn(`id为${o}的viewer的typeName和option.type${e.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),r&&Lg(this,a),i&&this._lastActiveViewerJson&&(Ag(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===Tg(e.container)?(a.containerOrId=e.container,a.forceRecreate()):a.containerOrId=e.container,this.activeViewer=a,a;console.log("No ESViewer exists, will be created");const u=this.createViewer(e);return console.log(e),console.log(this),r&&Lg(this,u),i&&this._lastActiveViewerJson&&(Ag(u,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=u,u}switchToCesiumViewer(...e){if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)){const{container:r,viewSync:i,attributeSync:s,destroy:o,id:a}=e[0];return this.switchViewer({type:"ESCesiumViewer",container:r,id:a},i??!0,s??!0,o??!0)}else if(typeof e[0]=="string"||e[0]instanceof HTMLDivElement){const r={container:e[0],viewSync:e[1]??!0,attributeSync:e[2]??!0,destroy:e[3]??!0,id:e[4]},{container:i,viewSync:s,attributeSync:o,destroy:a,id:u}=r;return this.switchViewer({type:"ESCesiumViewer",container:i,id:u},s,o,a)}}switchToUEViewer(...e){let r,i={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("uri")){const{container:u,uri:l,app:c,token:h,viewSync:d,attributeSync:g,destroy:y,id:C}=e[0];r={type:"ESUeViewer",container:u,id:C,options:{uri:l,app:c,token:h}},i={viewSync:d??!0,attributeSync:g??!0,destroy:y??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("ws")){const{container:u,ws:l,esmsg:c,viewSync:h,attributeSync:d,id:g,destroy:y}=e[0];r={type:"ESUeViewer",container:u,id:g,options:{ws:l,esmsg:c}},i={viewSync:h??!0,attributeSync:d??!0,destroy:y??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("project")){const{container:u,project:l,baseUrl:c,viewSync:h,attributeSync:d,id:g,destroy:y}=e[0];r={type:"ESUeViewer",container:u,id:g,options:{project:l,baseUrl:c}},i={viewSync:h??!0,attributeSync:d??!0,destroy:y??!0}}else(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?(r={type:"ESUeViewer",container:e[0],id:e[6],options:{ws:e[1],esmsg:e[2]??void 0}},i={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}):typeof e[1]=="string"&&e[1].startsWith("http")?(r={type:"ESUeViewer",container:e[0],id:e[7],options:{uri:e[1],app:e[2],token:e[3]??void 0}},i={viewSync:e[4]??!0,attributeSync:e[5]??!0,destroy:e[6]??!0}):(r={type:"ESUeViewer",container:e[0],id:e[6],options:{project:e[1],baseUrl:e[2]??void 0}},i={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}));if(!r)throw new Error("参数错误");const{viewSync:s,attributeSync:o,destroy:a}=i;return this.switchViewer(r,s,o,a)}createCesiumViewer(...e){let r;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?r={...e[0],type:"ESCesiumViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(r={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESCesiumViewer"}),!r)throw new Error("参数错误");return this.createViewer(r)}createOpenLayersViewer(...e){let r;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?r={...e[0],type:"ESOlViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(r={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESOlViewer"}),!r)throw new Error("参数错误");return this.createViewer(r)}createUeViewer(...e){let r;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?r={...e[0],type:"ESUeViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?r={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{ws:e[1],esmsg:e[2]??void 0}}:typeof e[1]=="string"&&e[1].startsWith("http")?r={type:"ESUeViewer",container:e[0],id:e[4]??void 0,options:{uri:e[1],app:e[2],token:e[3]??void 0}}:r={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{project:e[1],baseUrl:e[2]??void 0}}),!r)throw new Error("参数错误");return this.createViewer(r)}createSceneObject(e,r){return this._sobjm.createSceneObject(e,r)}createSceneObjectFromUrl(e,r){return this._sobjm.createSceneObjectFromUrl(e,r)}createSceneObjectFromClass(e,r){return this._sobjm.createSceneObjectFromClass(e,r)}createSceneObjectFromJson(e){return this._sobjm.createSceneObjectFromJson(e)}destroySceneObject(e){const r=this._sobjm.deleteSceneObject(e);return e.destroy(),r}destroyAllSceneObjects(){const e=[...this._sobjm.sceneObjects];for(let r of e)r!=this._player&&r!=this._cmrvm&&this.destroySceneObject(r)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}f(us,"getSceneObjById",tt.context.getSceneObjectById.bind(tt.context)),f(us,"getEnv",tt.context.getEnv.bind(tt.context)),f(us,"setEnv",tt.context.setEnv.bind(tt.context)),(n=>{n.createDefaultProps=()=>({})})(us||(us={})),p.extendClassProps(us.prototype,us.createDefaultProps),S.BasePropTreeItem=Rc,S.Boolean2Property=dm,S.Boolean2sProperty=mm,S.Boolean3Property=pm,S.Boolean3sProperty=vm,S.Boolean4Property=gm,S.Boolean4sProperty=ym,S.BooleanProperty=q,S.BooleansProperty=sm,S.ColorProperty=Et,S.ColorRgbProperty=Em,S.DashPatternProperty=Sm,S.DateProperty=ws,S.DatesProperty=If,S.Destroyable=H,S.DoublyLinkedList=ff,S.DragStartDataManager=Tf,S.ES3DTileset=on,S.ESAlarm=qc,S.ESApertureEffect=Xc,S.ESAreaMeasurement=Hc,S.ESBlastParticleSystem=Yc,S.ESBoxClipping=Jc,S.ESCameraView=cl,S.ESCameraViewCollection=fl,S.ESCameraVisibleRange=Bc,S.ESCar=dl,S.ESCityBasePoint=Xh,S.ESClassification=pl,S.ESClippingPlane=jc,S.ESCustomDiv=gl,S.ESCzml=Hh,S.ESDataMesh=Zc,S.ESDatasmithRuntimeModel=bh,S.ESDirectionMeasurement=vh,S.ESDistanceMeasurement=Kc,S.ESDynamicWater=Nh,S.ESEntityCluster=Wh,S.ESExcavate=au,S.ESFeatureLayer=rf,S.ESFireParticleSystem=Qc,S.ESForestTileset=$c,S.ESGaussianSplatting=jh,S.ESGeoDiv=th,S.ESGeoDivTextPoi=qh,S.ESGeoExtrudedPolygon=Gs,S.ESGeoJson=lu,S.ESGeoLineString=Mi,S.ESGeoPoints=du,S.ESGeoPolygon=Vt,S.ESGeoRectangle=eh,S.ESGeoVector=wt,S.ESGeoWater=Th,S.ESGltfModel=os,S.ESHeatMap=Sl,S.ESHeightLimitAnalysis=Gh,S.ESHeightMeasurement=yh,S.ESHole=Ah,S.ESHuman=Us,S.ESHumanPoi=Lh,S.ESImageLabel=ml,S.ESImageryLayer=nh,S.ESJEditingMode=$,S.ESJLonLatFormat=Pf,S.ESJPickedResult=xm,S.ESLabel=Vr,S.ESLevelRuntimeModel=Oh,S.ESLocalCircle=_h,S.ESLocalPolygon=cu,S.ESLocalPolygonZ=wh,S.ESLocalRectangle=Eh,S.ESLocalSkyBox=ih,S.ESLocalVector=qo,S.ESLocalVector2D=Di,S.ESLocationMeasurement=sh,S.ESMsTileset=Vh,S.ESNavigator=Yh,S.ESObjectWithLocation=et,S.ESObjectsManager=us,S.ESParticleSystemPrimitive=vl,S.ESPath=Jo,S.ESPathImpl=as,S.ESPipeFence=wl,S.ESPipeline=xh,S.ESPipeserTileset=Sh,S.ESPit=Ho,S.ESPlayer=Yo,S.ESPoi2D=uu,S.ESPoi3D=oh,S.ESPoiTileset=zh,S.ESPolygonFence=El,S.ESPolygonFlattenedPlane=ah,S.ESPolygonWithHole=Ih,S.ESRectangle=Ch,S.ESRtsFeatureEditing=kh,S.ESRtsTileset=Fh,S.ESScale=Uh,S.ESSceneObject=tt,S.ESSceneObjectWithId=Xm,S.ESSeparateFoliage=uh,S.ESSkylineAnalysis=Kh,S.ESStaticMesh=Zh,S.ESSubmergingAnalysis=lh,S.ESSunshineAnalysis=ch,S.ESSurfaceAreaMeasurement=Ph,S.ESTerrainLayer=hh,S.ESTestObject=Wc,S.ESTextLabel=Xo,S.ESUEWidget=fh,S.ESUnrealActor=dh,S.ESVideoFusion=ph,S.ESViewShed=gh,S.ESViewer=An,S.ESViewerStatusBar=Jh,S.ESViewerStatusBarScale=Bh,S.ESVisibilityAnalysis=Dh,S.ESVisualObject=Ft,S.ESVolumeMeasurement=Mh,S.ESWidget=mh,S.EngineObject=_s,S.EnumProperty=mt,S.EnumStringsProperty=Cm,S.EvalStringProperty=Ui,S.Event=V,S.EventListenerHandler=Ll,S.FunctionProperty=st,S.GroupPropTreeItem=kc,S.GroupProperty=it,S.JsonProperty=Q,S.LeafPropTreeItem=Fc,S.ListenerPipe=Ml,S.LongStringProperty=Fl,S.MaximumScreenSpaceErrorProperty=nm,S.MinmaxProperty=Im,S.NearFarScalerProperty=Pm,S.NextAnimateFrameEvent=mf,S.NonreactiveJsonStringProperty=Ef,S.Number2Property=ye,S.Number2sProperty=_f,S.Number3Property=We,S.Number3sProperty=Rl,S.Number4Property=pn,S.Number4WithUndefinedProperty=hm,S.Number4sProperty=fm,S.NumberProperty=L,S.NumberRangeProperty=bm,S.NumberSliderProperty=Ce,S.NumbersProperty=im,S.ObjPool=Ol,S.ObservableSet=_u,S.ParamsProperty=wf,S.PickedInfo=Om,S.Player=gn,S.PlayerProperty=wu,S.PositionProperty=uo,S.PositionsProperty=Sf,S.PositionsSetPropety=Tm,S.PropTree=Jp,S.PropUiTreeManager=Wo,S.Property=zi,S.ReactVarProperty=yt,S.RotationProperty=kl,S.SceneObjectFromId=Ul,S.SceneTree=ou,S.SceneTreeContextMenu=$p,S.SceneTreeItem=Ze,S.SceneTreeItemDragDrop=Qp,S.SmartListenerHandler=ba,S.SmartListenerPipe=Jg,S.SmoothMoveController=k_,S.String2Property=om,S.String2sProperty=yf,S.String3Property=am,S.String3sProperty=lm,S.String4Property=um,S.String4sProperty=cm,S.StringNumberProperty=_m,S.StringNumbersProperty=wm,S.StringProperty=ut,S.StringsProperty=vf,S.TreeItemDragDrop=Of,S.UriProperty=Na,S.ViewPlayerProperty=Cf,S.ViewerCustomInteraction=Mg,S.Watcher=Ta,S.WatcherTools=Lf,S.WithUndefinedProperty=Al,S.addTreesCallFunc=ig,S.animateFrame=Zg,S.bindCustomEditing=Mf,S.booleanPointInPolygon=jm,S.cartesianDistance=Yp,S.clamp0_360=lo,S.clampN180_180=Df,S.createEventsCallFunc=ao,S.createPropTreeFromSceneObject=Bp,S.cutDownTreesCallFunc=ag,S.defaultInitSceneObjectOnCreatingFunc=Rm,S.defaultLight122FromEnvironmentMapManager=Gc,S.defaultUpdateSceneObjectOnPickingFunc=Am,S.destroyObject=uf,S.downloadLink=tm,S.equalsN3=zc,S.geoAlong=$m,S.geoArea=Jl,S.geoBuffer=Gp,S.geoCenterOfMass=yv,S.geoDestination=$f,S.geoDifference=Wp,S.geoDistance=Tu,S.geoHeading=Ma,S.geoIntersect=zp,S.geoLineIntersect=bv,S.geoNearestPointOnLine=xv,S.geoPointToLineDistance=Av,S.geoPolygonFromCircle=qp,S.geoPolygonOverlap=Lc,S.geoRhumbDestination=kv,S.geoRhumbDistance=hd,S.geoRhumbHeading=zv,S.geoUnion=Up,S.getDefaultValue=zm,S.getDistancesFromPositions=su,S.getGeoBoundingSphereFromPositions=Hp,S.getMidpoint=Tv,S.getMinMaxCorner=Xp,S.getSceneObjectTreeItem=Fm,S.getXyzFromPostion=Ac,S.growthSimulationCallFunc=ug,S.hasSameTags=xf,S.hasSameViewerTags=gi,S.inOrderRunning=Um,S.interval=Bg,S.isJSON=Vl,S.isXML=Vm,S.lbhToWebMerc=Jm,S.lbhToXyz=Xn,S.lerpAngle=Su,S.lerpRotation=zl,S.map=jp,S.nextAnimateFrame=gf,S.nextMicroTask=Kg,S.oneTimeWarning=pf,S.optionsStr=H_,S.reactPosition2Ds=Vc,S.registerCreatedEventUpdate=P_,S.registerEventCtor=lf,S.registerEventUpdate=b_,S.removeAllTreesCallFunc=sg,S.rpToap=km,S.saveOnBrowser=$g,S.setSceneObjectTreeItem=Eu,S.timeout=jg,S.updateTreeParamsCallFunc=og,S.webMercToLbh=Bm,S.xyzToLbh=Rf,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
|