earthsdk3 3.4.0-beta.9 → 3.4.1
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 +76 -76
- package/dist/earthsdk3.js +21925 -19864
- package/dist/earthsdk3.umd.cjs +73 -73
- package/dist/types/ESJTypes/pickedInfos/index.d.ts +0 -15
- package/dist/types/ESJTypes/pickedInfos/index.d.ts.map +1 -1
- package/dist/types/ESJTypes/properties/ESJGeoRegion.d.ts +11 -0
- package/dist/types/ESJTypes/properties/ESJGeoRegion.d.ts.map +1 -0
- package/dist/types/ESJTypes/properties/Viewer.d.ts +5 -6
- package/dist/types/ESJTypes/properties/Viewer.d.ts.map +1 -1
- package/dist/types/ESJTypes/properties/index.d.ts +1 -0
- package/dist/types/ESJTypes/properties/index.d.ts.map +1 -1
- package/dist/types/ESJTypes/props/Property.d.ts +1 -1
- package/dist/types/ESJTypes/props/Property.d.ts.map +1 -1
- package/dist/types/ESObjectManager/ESPlyarAndPathTime.d.ts +1 -1
- package/dist/types/ESObjectManager/ESPlyarAndPathTime.d.ts.map +1 -1
- package/dist/types/ESObjectManager/PathAnimationManager.d.ts +2 -3
- package/dist/types/ESObjectManager/PathAnimationManager.d.ts.map +1 -1
- package/dist/types/ESObjectManager/SceneObjectEditingManager.d.ts +1 -2
- package/dist/types/ESObjectManager/SceneObjectEditingManager.d.ts.map +1 -1
- package/dist/types/ESObjectManager/SceneObjectsListening.d.ts +1 -1
- package/dist/types/ESObjectManager/SceneObjectsListening.d.ts.map +1 -1
- package/dist/types/ESObjectManager/SceneObjectsManager.d.ts +9 -1
- package/dist/types/ESObjectManager/SceneObjectsManager.d.ts.map +1 -1
- package/dist/types/ESObjectManager/ViewersManager.d.ts +2 -1
- package/dist/types/ESObjectManager/ViewersManager.d.ts.map +1 -1
- package/dist/types/ESObjectManager/index.d.ts +10 -6
- package/dist/types/ESObjectManager/index.d.ts.map +1 -1
- package/dist/types/ESObjects/base/ESLabel.d.ts +2 -1
- package/dist/types/ESObjects/base/ESLabel.d.ts.map +1 -1
- package/dist/types/ESObjects/base/ESLocalVector.d.ts.map +1 -1
- package/dist/types/ESObjects/base/ESObjectWithLocation.d.ts +2 -1
- package/dist/types/ESObjects/base/ESObjectWithLocation.d.ts.map +1 -1
- package/dist/types/ESObjects/base/ESSceneObject/ESObjectsContext.d.ts +3 -1
- package/dist/types/ESObjects/base/ESSceneObject/ESObjectsContext.d.ts.map +1 -1
- package/dist/types/ESObjects/base/ESSceneObject/RefsManager.d.ts +2 -1
- package/dist/types/ESObjects/base/ESSceneObject/RefsManager.d.ts.map +1 -1
- package/dist/types/ESObjects/base/ESSceneObject/index.d.ts +6 -13
- package/dist/types/ESObjects/base/ESSceneObject/index.d.ts.map +1 -1
- package/dist/types/ESObjects/base/ESVisualObject.d.ts +15 -14
- package/dist/types/ESObjects/base/ESVisualObject.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ES3DTileset/index.d.ts +2 -2
- package/dist/types/ESObjects/general/ES3DTileset/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESAlarm.d.ts +2 -1
- package/dist/types/ESObjects/general/ESAlarm.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESCameraView.d.ts +2 -1
- package/dist/types/ESObjects/general/ESCameraView.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESCameraViewCollection/ViewWrapper.d.ts +1 -1
- package/dist/types/ESObjects/general/ESCameraViewCollection/ViewWrapper.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESCustomDiv/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESCustomDiv/instance.d.ts +1 -1
- package/dist/types/ESObjects/general/ESCustomDiv/instance.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESCzml.d.ts +3 -2
- package/dist/types/ESObjects/general/ESCzml.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESEntityCluster.d.ts +11 -10
- package/dist/types/ESObjects/general/ESEntityCluster.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESFeatureLayer/FeatureLayer.d.ts +9 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/FeatureLayer.d.ts.map +1 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/PointLayer/index.d.ts +27 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/PointLayer/index.d.ts.map +1 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/PointLayer/utils.d.ts +40 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/PointLayer/utils.d.ts.map +1 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/PolyLineLayer/index.d.ts +20 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/PolyLineLayer/index.d.ts.map +1 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/PolygonLayer/index.d.ts +18 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/PolygonLayer/index.d.ts.map +1 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/PolygonLayer/utils.d.ts +9 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/PolygonLayer/utils.d.ts.map +1 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/index.d.ts +26 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/index.d.ts.map +1 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/types.d.ts +587 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/types.d.ts.map +1 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/utils.d.ts +392 -0
- package/dist/types/ESObjects/general/ESFeatureLayer/utils.d.ts.map +1 -0
- package/dist/types/ESObjects/general/ESGeoDiv/index.d.ts +2 -1
- package/dist/types/ESObjects/general/ESGeoDiv/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESGeoJson/index.d.ts +12 -10
- package/dist/types/ESObjects/general/ESGeoJson/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESGeoJson/type.d.ts +0 -6
- package/dist/types/ESObjects/general/ESGeoJson/type.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESGltfModel.d.ts +2 -2
- package/dist/types/ESObjects/general/ESGltfModel.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESHeightLimitAnalysis.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESHole.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESHuman.d.ts +2 -1
- package/dist/types/ESObjects/general/ESHuman.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESHumanPoi.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESMsTileset/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESPath/ESPathImpl/PolylineResetting.d.ts +1 -1
- package/dist/types/ESObjects/general/ESPath/ESPathImpl/PolylineResetting.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESPath/ESPathImpl/computeRotIfUndefined.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESPath/ESPathImpl/index.d.ts +2 -2
- package/dist/types/ESObjects/general/ESPath/ESPathImpl/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESPath/index.d.ts +2 -1
- package/dist/types/ESObjects/general/ESPath/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESPipeFence.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESPipeserTileset.d.ts +2 -1
- package/dist/types/ESObjects/general/ESPipeserTileset.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESPlayer/AbsolutePlayer.d.ts +2 -1
- package/dist/types/ESObjects/general/ESPlayer/AbsolutePlayer.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESPoi2D.d.ts +2 -1
- package/dist/types/ESObjects/general/ESPoi2D.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESPoi3D.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESRtsFeatureEditing/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESRtsTileset/index.d.ts +2 -1
- package/dist/types/ESObjects/general/ESRtsTileset/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESSeparateFoliage/index.d.ts +2 -1
- package/dist/types/ESObjects/general/ESSeparateFoliage/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESSkylineAnalysis/index.d.ts +2 -2
- package/dist/types/ESObjects/general/ESSkylineAnalysis/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESSubmergingAnalysis/index.d.ts +2 -1
- package/dist/types/ESObjects/general/ESSubmergingAnalysis/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESSunshineAnalysis/index.d.ts +2 -1
- package/dist/types/ESObjects/general/ESSunshineAnalysis/index.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESSurfaceAreaMeasurement.d.ts +3 -2
- package/dist/types/ESObjects/general/ESSurfaceAreaMeasurement.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESTerrainLayer.d.ts +2 -1
- package/dist/types/ESObjects/general/ESTerrainLayer.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESUEWidget.d.ts +2 -1
- package/dist/types/ESObjects/general/ESUEWidget.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESUnrealActor.d.ts +2 -1
- package/dist/types/ESObjects/general/ESUnrealActor.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESVideoFusion.d.ts +2 -1
- package/dist/types/ESObjects/general/ESVideoFusion.d.ts.map +1 -1
- package/dist/types/ESObjects/general/ESVolumeMeasurement.d.ts +3 -2
- package/dist/types/ESObjects/general/ESVolumeMeasurement.d.ts.map +1 -1
- package/dist/types/ESObjects/general/index.d.ts +1 -0
- package/dist/types/ESObjects/general/index.d.ts.map +1 -1
- package/dist/types/ESViewer/ContainerStyleController.d.ts +1 -1
- package/dist/types/ESViewer/ContainerStyleController.d.ts.map +1 -1
- package/dist/types/ESViewer/ESViewer.d.ts +21 -2
- package/dist/types/ESViewer/ESViewer.d.ts.map +1 -1
- package/dist/types/ESViewer/GeneralAnalysis/RollerShutterAnalysis.d.ts +1 -1
- package/dist/types/ESViewer/GeneralAnalysis/RollerShutterAnalysis.d.ts.map +1 -1
- package/dist/types/ESViewer/GeneralAnalysis/index.d.ts +1 -1
- package/dist/types/ESViewer/GeneralAnalysis/index.d.ts.map +1 -1
- package/dist/types/ESViewer/Resetting/index.d.ts +1 -1
- package/dist/types/ESViewer/Resetting/index.d.ts.map +1 -1
- package/dist/types/ESViewer/StatusContainer.d.ts +1 -1
- package/dist/types/ESViewer/StatusContainer.d.ts.map +1 -1
- package/dist/types/ESViewer/ViewerContainer.d.ts +1 -1
- package/dist/types/ESViewer/ViewerContainer.d.ts.map +1 -1
- package/dist/types/ESViewer/ViewerContext.d.ts +1 -1
- package/dist/types/ESViewer/ViewerContext.d.ts.map +1 -1
- package/dist/types/ESViewer/ViewerCustomInteraction.d.ts +1 -1
- package/dist/types/ESViewer/ViewerCustomInteraction.d.ts.map +1 -1
- package/dist/types/EngineObject/EditingObjectContext.d.ts +1 -1
- package/dist/types/EngineObject/EditingObjectContext.d.ts.map +1 -1
- package/dist/types/EngineObject/EngineObjectsContext.d.ts +3 -5
- package/dist/types/EngineObject/EngineObjectsContext.d.ts.map +1 -1
- package/dist/types/EngineObject/index.d.ts +2 -2
- package/dist/types/EngineObject/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/PropTrees/PropUiTreeManager.d.ts +2 -1
- package/dist/types/utils/PropTrees/PropUiTreeManager.d.ts.map +1 -1
- package/dist/types/utils/SceneTrees/SceneTree.d.ts +1 -1
- package/dist/types/utils/SceneTrees/SceneTreeContextMenu.d.ts +1 -1
- package/dist/types/utils/SceneTrees/SceneTreeContextMenu.d.ts.map +1 -1
- package/dist/types/utils/SceneTrees/SceneTreeItem.d.ts.map +1 -1
- package/dist/types/utils/SceneTrees/SceneTreeJsonLoading.d.ts +1 -1
- package/dist/types/utils/SceneTrees/SceneTreeJsonLoading.d.ts.map +1 -1
- package/dist/types/utils/SmoothMoveController.d.ts +31 -0
- package/dist/types/utils/SmoothMoveController.d.ts.map +1 -0
- package/dist/types/utils/base/DragStartDataManager.d.ts +2 -1
- package/dist/types/utils/base/DragStartDataManager.d.ts.map +1 -1
- package/dist/types/utils/base/TreeItemDragDrop.d.ts +1 -1
- package/dist/types/utils/base/TreeItemDragDrop.d.ts.map +1 -1
- package/dist/types/utils/base/bindCustomEditing.d.ts +1 -2
- package/dist/types/utils/base/bindCustomEditing.d.ts.map +1 -1
- package/dist/types/utils/base/utils.d.ts +7 -1
- package/dist/types/utils/base/utils.d.ts.map +1 -1
- package/dist/types/utils/components/ESSceneObjectWithId.d.ts +2 -1
- package/dist/types/utils/components/ESSceneObjectWithId.d.ts.map +1 -1
- package/dist/types/utils/components/Player.d.ts +2 -1
- package/dist/types/utils/components/Player.d.ts.map +1 -1
- package/dist/types/utils/components/Watcher.d.ts +2 -1
- package/dist/types/utils/components/Watcher.d.ts.map +1 -1
- package/dist/types/utils/components/WatcherTools/toolsForWatcher.d.ts +2 -1
- package/dist/types/utils/components/WatcherTools/toolsForWatcher.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +7 -6
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/registerCreatedEventUpdate.d.ts +1 -1
- package/dist/types/utils/registerCreatedEventUpdate.d.ts.map +1 -1
- package/dist/types/utils/registerEventUpdate.d.ts +2 -1
- package/dist/types/utils/registerEventUpdate.d.ts.map +1 -1
- package/dist/types/xbsj-base/index.d.ts +3 -0
- package/dist/types/xbsj-base/index.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/Destroyable/destroyObject.d.ts +19 -0
- package/dist/types/xbsj-base/xr-base-utils/Destroyable/destroyObject.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/Destroyable/index.d.ts +47 -0
- package/dist/types/xbsj-base/xr-base-utils/Destroyable/index.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/ObjPool.d.ts +39 -0
- package/dist/types/xbsj-base/xr-base-utils/ObjPool.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/events.d.ts +28 -0
- package/dist/types/xbsj-base/xr-base-utils/events.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/index.d.ts +8 -0
- package/dist/types/xbsj-base/xr-base-utils/index.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/oneTimeWarning.d.ts +2 -0
- package/dist/types/xbsj-base/xr-base-utils/oneTimeWarning.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/DoublyLinkedList.d.ts +88 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/DoublyLinkedList.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/Event.d.ts +126 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/Event.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/ListenerPipe.d.ts +38 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/ListenerPipe.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/SmartListenerHandler.d.ts +9 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/SmartListenerHandler.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/SmartListenerPipe.d.ts +22 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/SmartListenerPipe.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/index.d.ts +6 -0
- package/dist/types/xbsj-base/xr-base-utils/pipe/index.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/save/downloadLink.d.ts +2 -0
- package/dist/types/xbsj-base/xr-base-utils/save/downloadLink.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/save/index.d.ts +3 -0
- package/dist/types/xbsj-base/xr-base-utils/save/index.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/save/saveOnBrowser.d.ts +10 -0
- package/dist/types/xbsj-base/xr-base-utils/save/saveOnBrowser.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-base-utils/timeFuncs.d.ts +6 -0
- package/dist/types/xbsj-base/xr-base-utils/timeFuncs.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-utils/ObservableSet.d.ts +20 -0
- package/dist/types/xbsj-base/xr-utils/ObservableSet.d.ts.map +1 -0
- package/dist/types/xbsj-base/xr-utils/index.d.ts +2 -0
- package/dist/types/xbsj-base/xr-utils/index.d.ts.map +1 -0
- package/package.json +5 -4
package/dist/earthsdk3.umd.cjs
CHANGED
|
@@ -1,9 +1,47 @@
|
|
|
1
|
-
(function(C,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("xbsj-base"),require("@turf/turf"),require("proj4")):typeof define=="function"&&define.amd?define(["exports","xbsj-base","@turf/turf","proj4"],h):(C=typeof globalThis<"u"?globalThis:C||self,h(C.EarthSDK3={},C.xbsj_base,C.turf,C.proj4))})(this,function(C,h,js,Vh){"use strict";var U_=Object.defineProperty;var G_=(C,h,js)=>h in C?U_(C,h,{enumerable:!0,configurable:!0,writable:!0,value:js}):C[h]=js;var d=(C,h,js)=>G_(C,typeof h!="symbol"?h+"":h,js);function Bp(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 ol=Bp(js);class $p extends h.Destroyable{constructor(){super(...arguments);d(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 i=this.registerEngines[r];if(!i)return;let s=e.constructor,o=e.typeName,a=i.get(o);if(a)return a;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 ds(e,r);return s.createdEvent.emit(),s}}}class jp extends h.Destroyable{constructor(){super(...arguments);d(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 ds(e,r);return s.createdEvent.emit(),s}}}const nn=class nn extends h.Destroyable{constructor(e,r,i=!1){super();d(this,"_createdEvent",this.dv(new h.Event));d(this,"_id",++nn._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}};d(nn,"context",new $p),d(nn,"contextEditing",new jp),d(nn,"register",nn.context.register.bind(nn.context)),d(nn,"registerEditing",nn.contextEditing.register.bind(nn.contextEditing)),d(nn,"_accumId",-1);let ds=nn;const sl=class sl extends h.Destroyable{constructor(e,r){super();d(this,"_id",++sl._accumId);this._name=e,this._description=r}get id(){return this._id}get name(){return this._name}get description(){return this._description}};d(sl,"_accumId",-1);let Ri=sl;class al extends Ri{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 mt extends al{constructor(t,e,r,i,s,o){const a=t instanceof h.ReactiveVariable?"未获取到属性名":t[1].toString();super(e??a,o??a,i??!1,s??!1,r),this._reactVar=t}get reactVar(){return this._reactVar}}class W extends mt{get type(){return"BooleanProperty"}}class ot extends mt{get type(){return"StringProperty"}}class L extends mt{get type(){return"NumberProperty"}}class tg extends mt{get type(){return"MaximumScreenSpaceErrorProperty"}}class zh extends mt{get type(){return"StringsProperty"}}class eg extends mt{get type(){return"NumbersProperty"}}class rg extends mt{get type(){return"BooleansProperty"}}class ng extends mt{get type(){return"String2Property"}}class ig extends mt{get type(){return"String3Property"}}class sg extends mt{get type(){return"String4Property"}}class Uh extends mt{get type(){return"String2sProperty"}}class og extends mt{get type(){return"String3sProperty"}}class ag extends mt{get type(){return"String4sProperty"}}class ge extends mt{get type(){return"Number2Property"}}class Ve extends mt{get type(){return"Number3Property"}}class hn extends mt{get type(){return"Number4Property"}}class ug extends mt{get type(){return"Number4WithUndefinedProperty"}}class Gh extends mt{get type(){return"Number2sProperty"}}class ul extends mt{get type(){return"Number3sProperty"}}class lg extends mt{get type(){return"Number4sProperty"}}class cg extends mt{get type(){return"Boolean2Property"}}class hg extends mt{get type(){return"Boolean3Property"}}class fg extends mt{get type(){return"Boolean4Property"}}class dg extends mt{get type(){return"Boolean2sProperty"}}class pg extends mt{get type(){return"Boolean3sProperty"}}class gg extends mt{get type(){return"Boolean4sProperty"}}class mg extends mt{get type(){return"StringNumberProperty"}}class vg extends mt{get type(){return"StringNumbersProperty"}}class _t extends hn{get type(){return"ColorProperty"}}class yg extends Ve{get type(){return"ColorRgbProperty"}}class _g extends L{get type(){return"DashPatternProperty"}}class pt extends mt{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 wg extends mt{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 Fi extends mt{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 Wh extends mt{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 nt extends Ri{constructor(e,r,i,s,o){const a=s??"Unnamed Function";super(a,o??a);d(this,"_paramsProperty");d(this,"_getValueFunc");this._func=r;const u=this.disposeVar(h.reactJson(i));this._paramsProperty=this.disposeVar(new Wh(u,a+"_params",e,i));const[l]=h.getReactFuncs(this._paramsProperty.reactVar);this._getValueFunc=l}get paramsProperty(){return this._paramsProperty}exec(){this._func(...this._getValueFunc())}get type(){return"FunctionProperty"}}class rt extends Ri{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 mt{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 ll extends mt{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 Eg extends ge{get type(){return"MinmaxProperty"}}class Sg extends hn{get type(){return"NearFarScalerProperty"}}class qh 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 Cg extends ge{get type(){return"NumberRangeProperty"}}class we extends mt{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 Ig(n,t){const[e,r,i]=h.getReactFuncs(n),[s,o,a]=h.getReactFuncs(t),u=h.react((e()??0)/(s()??3e3)),l=()=>{const c=u.value,f=s()??3e3,p=e()??0;if(!Number.isFinite(f)||!Number.isFinite(p)){console.warn(`duration || currentTime error: duration: ${f} currentTime: ${p}`);return}Math.abs(c*f-p)<.001||(f<=0?u.value=0:u.value=p/f)};return u.dispose(i.disposableOn(l)),u.dispose(a.disposableOn(l)),u.dispose(u.changed.disposableOn(()=>{const c=u.value,f=s()??3e3,p=e()??0;if(!Number.isFinite(f)||!Number.isFinite(p)){console.warn(`duration || currentTime error: duration: ${f} currentTime: ${p}`);return}Math.abs(c*f-p)<.001||r(c*f)})),u}class ou extends Ri{constructor(e,r,i,s,o,a){super(s??"播放器",a??"播放器");d(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}}d(ou,"createPlayingRatio",Ig);class to extends Ve{get type(){return"PositionProperty"}}class Xh extends mt{get type(){return"PositionsProperty"}}class Pg extends mt{get type(){return"PositionsSetPropety"}}class cl extends Ve{get type(){return"RotationProperty"}}class pa extends ot{get type(){return"UriProperty"}}class Yh extends Ri{constructor(e,r,i,s,o,a){const u=s??"视角播放器";super(u,a??u);d(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 Hh extends mt{get type(){return"DatesProperty"}}class ps extends mt{get type(){return"DateProperty"}}var B=(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))(B||{}),Jh=(n=>(n.DECIMAL_DEGREE="DECIMAL_DEGREE",n.DEGREES_DECIMAL_MINUTES="DEGREES_DECIMAL_MINUTES",n.SEXAGESIMAL_DEGREE="SEXAGESIMAL_DEGREE",n))(Jh||{});class Ng{constructor(t){this.childPickedInfo=t}}class bg{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 Tg extends h.Destroyable{constructor(e){super();d(this,"_sceneObjRefs",new Map);d(this,"_refs",{});d(this,"_refsChanged",this.dv(new h.Event));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}相同的场景对象!
|
|
1
|
+
(function(w,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):(w=typeof globalThis<"u"?globalThis:w||self,p(w.EarthSDK3={},w.xbsj_base,w.proj4,w.turf))})(this,(function(w,p,rs,Fg){"use strict";var $0=Object.defineProperty;var tw=(w,p,rs)=>p in w?$0(w,p,{enumerable:!0,configurable:!0,writable:!0,value:rs}):w[p]=rs;var f=(w,p,rs)=>tw(w,typeof p!="symbol"?p+"":p,rs);function kg(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 be=kg(Fg);function Vg(){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 zg=Date.now();function nf(n){const{os:t,arch:e}=Vg(),r={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-zg)/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))}w.copyright=void 0;try{const n="earthsdk3",t="3.4.1",e="2025-09-16T08:13:00.000Z",r="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="edc6b1a5e35b2412fad91ee205c768829c64b897",a=((Date.now()-175801038e4)/36e5).toFixed(1),u=`%c🌏 ${n}%c ${t}.${s.slice(0,8)}.${e} (距今${a}个小时)
|
|
2
|
+
%c${i?i+`
|
|
3
|
+
`:""}当前网站正在使用${n},此软件版权归${r}所有
|
|
4
|
+
`;w.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","edc6b1a5e35b2412fad91ee205c768829c64b897")},get info(){return u},get date(){return"2025-09-16T08:13:00.000Z"},get author(){return"suplyang"},get version(){return"3.4.1"},get name(){return"earthsdk3"},get commitId(){return"edc6b1a5e35b2412fad91ee205c768829c64b897"},print(){console.info(this.info,`
|
|
5
|
+
font-size: 18px;
|
|
6
|
+
font-weight: 1000;
|
|
7
|
+
line-height: 1;
|
|
8
|
+
color: rgb(0, 120, 215);
|
|
9
|
+
padding-top: 20px;
|
|
10
|
+
padding-bottom: 10px;
|
|
11
|
+
`,`
|
|
12
|
+
font-size: 10px;
|
|
13
|
+
font-weight: 1000;
|
|
14
|
+
color: rgb(0, 120, 215);
|
|
15
|
+
`,`
|
|
16
|
+
font-size: 10px;
|
|
17
|
+
line-height: 1.5;
|
|
18
|
+
color: rgb(0, 120, 215);
|
|
19
|
+
padding-bottom: 2px;
|
|
20
|
+
padding-left: 35px;
|
|
21
|
+
`)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[n]=w.copyright,window.g_XE3SendProductUsageInfo=window.g_XE3SendProductUsageInfo||!0,window.g_XE3SendProductUsageInfo&&(setTimeout(()=>nf(w.copyright),1e3*60),setInterval(()=>nf(w.copyright),1440*60*1e3)),window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&w.copyright.print()}catch{console.warn("版本信息有误!")}function Ug(){return!0}function Gg(){throw new Error("throwOnDestroyed")}function sf(n){for(var t in n)typeof n[t]=="function"&&(n[t]=Gg);n.isDestroyed=Ug}const vl=class vl{constructor(){f(this,"_memId",++vl._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 sf(this)}tryDestory(){if(!this.isDestroyed())return this.destroy()}};f(vl,"_lastMemId",-1);let q=vl,El;function of(n){El=n}Object.defineProperties(q.prototype,{toDestroyEvent:{get(){if(this._toDestroyEvent===void 0){if(!El)throw new Error("Destroyable EventCtor not registered yet!");this._toDestroyEvent=this.disposeVar(new El)}return this._toDestroyEvent}}});class Sl{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 Wg(){return{item:void 0,previous:void 0,next:void 0}}function qg(n){n.item=void 0,n.previous=void 0,n.next=void 0}const af=new Sl(Wg,qg,!0);function Cl(n,t,e){const r=af.create();return r.item=n,r.previous=t,r.next=e,r}function uf(n){if(!n)throw new Error("node is undefined!");af.destroy(n)}function Il(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 lf{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!");Il(this,t),this._decrementLength(),uf(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){Il(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){Il(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=Cl(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=Cl(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=Cl(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;uf(t),t=e}this.head=void 0,this.tail=void 0,this._setLength(0)}}const cf=new Set;function hf(n,t=n){cf.has(t)||(cf.add(t),console.warn(n))}function Xg(){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 ns=new Sl(Xg,Yg,!0);class Pl{constructor(){f(this,"__dll");f(this,"__currentListenerStack")}get _dll(){return this.__dll=this.__dll??new lf({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=ns.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=ns.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)&&(ns.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:(ns.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()}`)),ns.destroy(r.item),this._dll.remove(r),t=e}this.__dll=void 0,this.__currentListenerStack=void 0}push(t,e,r=!1){const i=ns.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=ns.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 ga{constructor(){f(this,"_listenerHandler");f(this,"_cid")}_reset(t,e){this._listenerHandler=t,this._cid=e}clone(t){return t=t??new ga,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 bl extends ga{}let V=class extends q{constructor(){super(...arguments);f(this,"__pipe");f(this,"beforeCallback");f(this,"afterCallback")}get _pipe(){return this.__pipe=this.__pipe??new Pl,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 bl,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 q,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 bl,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||(hf("The event is destroying with listeners!"),this._pipe.removeAll())}};of(V);function Ys(n,t){return t=t??new ga,t._reset(n,n._cid),t}class Hg{constructor(){f(this,"__pipe")}get _pipe(){return this.__pipe=this.__pipe??new Pl,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 Ys(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 Ys(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 Ys(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 Ys(s,i)}getTail(t){const e=this._pipe.tail;if(e)return Ys(e,t)}getHead(t){const e=this._pipe.head;if(e)return Ys(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 jg(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 ff(n,...t){let e;return e=requestAnimationFrame(()=>{const i=performance.now();n(i,...t)}),()=>typeof e<"u"&&(cancelAnimationFrame(e),e=void 0)}function Zg(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 Kg 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 df extends Kg{constructor(...t){super(ff,!1,...t)}}function Hs(n,t,e={time:"don",immediate:!1}){const r=new df(...Array.isArray(n)?n:[n]),i=r[e.time??"don"](t);return(e.immediate??!1)&&t(),()=>{i(),r.destroy()}}function Qg(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 $g(n,t){const e=document.createElement("a"),r=new MouseEvent("click");e.download=t||"下载",e.href=n,e.dispatchEvent(r)}const yl=class yl extends q{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&&(yl.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(yl,"warnOnDestroying",!0);let cu=yl;class tm extends q{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 is(e,r);return s.createdEvent.emit(),s}}}class em extends q{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 is(e,r);return s.createdEvent.emit(),s}}}const jr=class jr extends q{constructor(e,r,i=!1){super();f(this,"_createdEvent",this.dv(new V));f(this,"_id",++jr._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(jr,"context",new tm),f(jr,"contextEditing",new em),f(jr,"register",jr.context.register.bind(jr.context)),f(jr,"registerEditing",jr.contextEditing.register.bind(jr.contextEditing)),f(jr,"_accumId",-1);let is=jr;const _l=class _l extends q{constructor(e,r){super();f(this,"_id",++_l._accumId);this._name=e,this._description=r}get id(){return this._id}get name(){return this._name}get description(){return this._description}};f(_l,"_accumId",-1);let Pi=_l;class Nl extends Pi{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 ht extends Nl{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 W extends ht{get type(){return"BooleanProperty"}}class nt extends ht{get type(){return"StringProperty"}}class T extends ht{get type(){return"NumberProperty"}}class rm extends ht{get type(){return"MaximumScreenSpaceErrorProperty"}}class pf extends ht{get type(){return"StringsProperty"}}class nm extends ht{get type(){return"NumbersProperty"}}class im extends ht{get type(){return"BooleansProperty"}}class sm extends ht{get type(){return"String2Property"}}class om extends ht{get type(){return"String3Property"}}class am extends ht{get type(){return"String4Property"}}class gf extends ht{get type(){return"String2sProperty"}}class um extends ht{get type(){return"String3sProperty"}}class lm extends ht{get type(){return"String4sProperty"}}class ce extends ht{get type(){return"Number2Property"}}class Re extends ht{get type(){return"Number3Property"}}class rn extends ht{get type(){return"Number4Property"}}class cm extends ht{get type(){return"Number4WithUndefinedProperty"}}class mf extends ht{get type(){return"Number2sProperty"}}class Tl extends ht{get type(){return"Number3sProperty"}}class hm extends ht{get type(){return"Number4sProperty"}}class fm extends ht{get type(){return"Boolean2Property"}}class dm extends ht{get type(){return"Boolean3Property"}}class pm extends ht{get type(){return"Boolean4Property"}}class gm extends ht{get type(){return"Boolean2sProperty"}}class mm extends ht{get type(){return"Boolean3sProperty"}}class vm extends ht{get type(){return"Boolean4sProperty"}}class ym extends ht{get type(){return"StringNumberProperty"}}class _m extends ht{get type(){return"StringNumbersProperty"}}class gt extends rn{get type(){return"ColorProperty"}}class wm extends Re{get type(){return"ColorRgbProperty"}}class Em extends T{get type(){return"DashPatternProperty"}}class lt extends ht{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 Sm extends ht{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 bi extends ht{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 vf extends ht{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 tt extends Pi{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 vf(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 $ extends Pi{constructor(t,e,r){const i=e??"分组";super(i,r??i),this._children=t}get type(){return"GroupProperty"}get children(){return this._children}}class H extends ht{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 xl extends ht{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 Cm extends ce{get type(){return"MinmaxProperty"}}class Im extends rn{get type(){return"NearFarScalerProperty"}}class yf extends Nl{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 Pm extends ce{get type(){return"NumberRangeProperty"}}class ge extends ht{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 bm(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 hu extends Pi{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(hu,"createPlayingRatio",bm);class Bs extends Re{get type(){return"PositionProperty"}}class _f extends ht{get type(){return"PositionsProperty"}}class Nm extends ht{get type(){return"PositionsSetPropety"}}class Ol extends Re{get type(){return"RotationProperty"}}class ma extends nt{get type(){return"UriProperty"}}class wf extends Pi{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 Ef extends ht{get type(){return"DatesProperty"}}class ss extends ht{get type(){return"DateProperty"}}var B=(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))(B||{}),Sf=(n=>(n.DECIMAL_DEGREE="DECIMAL_DEGREE",n.DEGREES_DECIMAL_MINUTES="DEGREES_DECIMAL_MINUTES",n.SEXAGESIMAL_DEGREE="SEXAGESIMAL_DEGREE",n))(Sf||{});class Tm{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 Om extends q{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}相同的场景对象!
|
|
2
22
|
${u.map(c=>`${c.id} ${c.typeName}
|
|
3
|
-
`).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 Zh(n,t){const[e,r,i]=h.getReactFuncs(n),s=h.react(void 0),o=()=>{const a=e()??t;s.value=a&&$.context.getStrFromEnv(a)};return o(),i&&s.d(i.don(o)),s.d($.context.environmentVariablesChanged.don(o)),s}function Kh(n){const t=/\${(.*?)\}/g;if(!t.test(n))return n;const e=n.replace(t,(r,i)=>{const s=$.context.getEnv(i);return s===void 0?(console.warn(`环境变量(${i})不存在,无法进行转换`),"{env-error}"):s});return Kh(e)}class Og extends h.Destroyable{constructor(){super();d(this,"_esObjConstructors",new Map);d(this,"_sceneObjs",new Map);d(this,"_sceneObjCreatedEvent",new h.Event);d(this,"_sceneObjToDestroyEvent",new h.Event);d(this,"_refsManager",this.dv(new Tg(this)));d(this,"_environmentVariables",window.ESSDK_ENV||{});d(this,"_environmentVariablesChanged",this.dv(new h.Event))}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&&h.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=h.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 h.getExtProp(r,"__sceneObjExtraInfo")}setProps(e,r){const i=this._getSceneObjConstructor(e);if(!i){console.warn(`cannot get constructor from type: ${e}`);return}let s=h.getExtProp(i,"__sceneObjExtraInfo");s||(s={},h.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 Kh(e)}createEnvStrReact(e,r){return Zh(e,r)}createEvnStrReact(e,r){return Zh(e,r)}}const ct=class ct extends h.Destroyable{constructor(e){super();d(this,"_components",this.dv(new h.ObservableSet));d(this,"_viewerAttached",this.dv(new h.Event));d(this,"_viewerDetached",this.dv(new h.Event));d(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})());d(this,"_activeViewer",this.disposeVar(h.react(void 0)));d(this,"_createdEvent",this.dv(new h.Event));d(this,"_flushEvent",this.dv(new h.Event));d(this,"_id");d(this,"_mainClass");d(this,"_updateFuncReact",this.dv(h.react(void 0)));d(this,"_toDestroyFuncReact",this.dv(h.react(void 0)));d(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??h.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||h.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){h.extendClassProps(r.prototype,r.createDefaultProps);const s=r.createDefaultProps();for(const o of Object.keys(s))r.defaults[o]=s[o]instanceof h.ReactiveVariable?s[o].value:s[o];return this.innerRegister(e,r,i),e}static get envs(){return ct.context.environmentVariables}static get $refs(){return ct.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 Dg(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()}get mainClass(){return this._mainClass??this}set mainClass(e){this._mainClass=e}_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 h.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 h.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 rt(r.general,"general")),Object.keys(r).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&r[s].length>0&&i.push(new rt(r[s],s))}),i}getESProperties(){return{defaultMenu:"general",basic:[],general:[new ot([this,"typeName"],"类型",void 0,!1,!0),new ot([this,"id"],"唯一标识",void 0,!1,!0),new ot([this,"name"],"名称")],dataSource:[],location:[],coordinate:[],style:[],more:[new ot([this,"ref"],"ref",void 0,!0),new Q([this,"extras"],"extras",void 0,void 0,!0),new qh(()=>this._jsonStr,e=>e&&(this._jsonStr=e),"JSON")]}}};d(ct,"context",new Og),d(ct,"innerRegister",ct.context.register.bind(ct.context)),d(ct,"defaults",{}),d(ct,"createDefaultProps",()=>({name:"未命名场景对象",ref:void 0,extras:h.reactJson(void 0),devTags:h.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})),d(ct,"type",ct.register("ESSceneObject",ct,{chsName:"场景类",tags:["ESObjects"],description:""})),d(ct,"create",ct.context.createSceneObject.bind(ct.context)),d(ct,"createFromClass",ct.context.createSceneObjectFromClass.bind(ct.context)),d(ct,"createFromJson",ct.context.createSceneObjectFromJson.bind(ct.context)),d(ct,"destroySceneObject",ct.context.destroySceneObject.bind(ct.context)),d(ct,"getSceneObjById",ct.context.getSceneObjectById.bind(ct.context)),d(ct,"getSceneObj",ct.context.getSceneObject.bind(ct.context)),d(ct,"getEnv",ct.context.getEnv.bind(ct.context)),d(ct,"setEnv",ct.context.setEnv.bind(ct.context)),d(ct,"getStrFromEnv",ct.context.getStrFromEnv.bind(ct.context)),d(ct,"getSceneObjectById",ct.context.getSceneObjectById.bind(ct.context)),d(ct,"getSceneObject",ct.context.getSceneObject.bind(ct.context));let $=ct;class Dg extends h.Destroyable{constructor(t,e){super(),this.dv(new h.ObjResettingWithEvent(t.subContainerChanged,()=>{if(t.subContainer)return e(t,t.subContainer)}))}}const gs={distance:100,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0},Mg={position:[0,0,0],rotation:[0,0,0],flyDuration:1},mr=class mr extends ${constructor(e){super(e);d(this,"_editing",this.dv(h.react(!1)));d(this,"editingID");d(this,"editingBindMode","singlePoint");d(this,"_deprecated",[]);d(this,"_flyInEvent",this.dv(new h.Event));d(this,"_flyToEvent",this.dv(new h.Event));d(this,"_flyOverEvent",this.disposeVar(new h.Event));d(this,"_pickedEvent",this.dv(new h.Event));d(this,"_calcFlyToParamEvent",this.dv(new h.Event));d(this,"_calcFlyInParamEvent",this.dv(new h.Event));d(this,"useCalcFlyToParamInESObjectWithLocation",!1);dp(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,mr._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(e=1){this._flyToEvent.emit(e,mr._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 W([this,"show"],"是否显示",mr.defaults.show),new W([this,"collision"],"开启碰撞",mr.defaults.collision),new W([this,"allowPicking"],"允许拾取",mr.defaults.allowPicking),new nt([],()=>this.calcFlyToParam(),[],"保存观察视角","保存当前flyToParam"),new nt([],()=>this.emptyFlyToParam(),[],"清空飞向参数","清空飞向参数"),new nt([],()=>this.emptyFlyInParam(),[],"清空飞入参数","清空飞入参数"),new nt([],()=>this.calcFlyInParam(),[],"保存飞入参数","保存飞入参数flyInParam")],more:[...e.more,new rt([],"飞行定位","飞向参数"),new nt(["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 rt([],"飞入参数"),new nt(["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??gs,distance:e}:void 0}set flyToHeading(e){this.flyToParam=e!==void 0?{...this.flyToParam??gs,heading:e}:void 0}set flyToPitch(e){this.flyToParam=e!==void 0?{...this.flyToParam??gs,pitch:e}:void 0}set flyToFlyDuration(e){this.flyToParam=e!==void 0?{...this.flyToParam??gs,flyDuration:e}:void 0}set flyToHDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??gs,hDelta:e}:void 0}set flyToPDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??gs,pDelta:e}:void 0}};d(mr,"createDefaultProps",()=>({...$.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:h.reactJsonWithUndefined(void 0),flyInParam:h.reactJsonWithUndefined(void 0)})),d(mr,"type",mr.register("ESVisualObject",mr,{chsName:"可视化对象",tags:["ESObjects"],description:"可视化对象"})),d(mr,"supportEditingModes",[]),d(mr,"_lastFlyInId",0),d(mr,"_lastFlyToId",0);let Rt=mr;function hl(n){return h.reactDeepArrayWithUndefined(n,(t,e)=>t[0]===e[0]&&t[1]===e[1],t=>[...t])}function Qh(n,t){const e=new Array;for(let r of n)e.push(t(r));return e}function fl(n,t){return n===void 0&&t===void 0?!0:!n||!t?!1:n[0]===t[0]&&n[1]===t[1]&&n[2]===t[2]}function xg(n,t){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1])&&n.push(n[0]);const e=ol.point(t),r=ol.polygon([n]);return ol.booleanPointInPolygon(e,r)}var De=63710088e-1,Bh={centimeters:De*100,centimetres:De*100,degrees:De/111325,feet:De*3.28084,inches:De*39.37,kilometers:De/1e3,kilometres:De/1e3,meters:De,metres:De,miles:De/1609.344,millimeters:De*1e3,millimetres:De*1e3,nauticalmiles:De/1852,radians:1,yards:De*1.0936};function fn(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 Vt(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(!$h(n[0])||!$h(n[1]))throw new Error("coordinates must contain numbers");var r={type:"Point",coordinates:n};return fn(r,t,e)}function Be(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 fn(a,t,e)}function dn(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 fn(r,t,e)}function eo(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 dl(n,t,e){e===void 0&&(e={});var r={type:"MultiPolygon",coordinates:n};return fn(r,t,e)}function pl(n,t){t===void 0&&(t="kilometers");var e=Bh[t];if(!e)throw new Error(t+" units is invalid");return n*e}function gl(n,t){t===void 0&&(t="kilometers");var e=Bh[t];if(!e)throw new Error(t+" units is invalid");return n/e}function au(n){var t=n%(2*Math.PI);return t*180/Math.PI}function ze(n){var t=n%360;return t*Math.PI/180}function ml(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 pl(gl(n,t),e)}function $h(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}function $e(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 ms(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 jh(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 Cr(n){return n.type==="Feature"?n.geometry:n}function Lg(n,t){return n.type==="FeatureCollection"?"FeatureCollection":n.type==="GeometryCollection"?"GeometryCollection":n.type==="Feature"&&n.geometry!==null?n.geometry.type:n.type}function ga(n,t,e){if(e===void 0&&(e={}),e.final===!0)return Ag(n,t);var r=$e(n),i=$e(t),s=ze(r[0]),o=ze(i[0]),a=ze(r[1]),u=ze(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 au(Math.atan2(l,c))}function Ag(n,t){var e=ga(t,n);return e=(e+180)%360,e}function ro(n,t,e,r){r===void 0&&(r={});var i=$e(n),s=ze(i[0]),o=ze(i[1]),a=ze(e),u=gl(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)),f=au(c),p=au(l);return Vt([f,p],r.properties)}function fi(n,t,e){e===void 0&&(e={});var r=$e(n),i=$e(t),s=ze(i[1]-r[1]),o=ze(i[0]-r[0]),a=ze(r[1]),u=ze(i[1]),l=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(o/2),2)*Math.cos(a)*Math.cos(u);return pl(2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)),e.units)}function Rg(n,t,e){e===void 0&&(e={});for(var r=Cr(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=ga(i[o],i[o-1])-180,l=ro(i[o],a,u,e);return l}else return Vt(i[o])}else s+=fi(i[o],i[o+1],e);return Vt(i[i.length-1])}function Fg(n,t){const e=dn(n);return Rg(e,t,{units:"meters"}).geometry.coordinates}function no(n,t,e){if(n!==null)for(var r,i,s,o,a,u,l,c=0,f=0,p,v=n.type,w=v==="FeatureCollection",I=v==="Feature",P=w?n.features.length:1,M=0;M<P;M++){l=w?n.features[M].geometry:I?n.geometry:n,p=l?l.type==="GeometryCollection":!1,a=p?l.geometries.length:1;for(var m=0;m<a;m++){var _=0,g=0;if(o=p?l.geometries[m]:l,o!==null){u=o.coordinates;var y=o.type;switch(c=e&&(y==="Polygon"||y==="MultiPolygon")?1:0,y){case null:break;case"Point":if(t(u,f,M,_,g)===!1)return!1;f++,_++;break;case"LineString":case"MultiPoint":for(r=0;r<u.length;r++){if(t(u[r],f,M,_,g)===!1)return!1;f++,y==="MultiPoint"&&_++}y==="LineString"&&_++;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],f,M,_,g)===!1)return!1;f++}y==="MultiLineString"&&_++,y==="Polygon"&&g++}y==="Polygon"&&_++;break;case"MultiPolygon":for(r=0;r<u.length;r++){for(g=0,i=0;i<u[r].length;i++){for(s=0;s<u[r][i].length-c;s++){if(t(u[r][i][s],f,M,_,g)===!1)return!1;f++}g++}_++}break;case"GeometryCollection":for(r=0;r<o.geometries.length;r++)if(no(o.geometries[r],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function uu(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 lu(n,t){var e,r,i,s,o,a,u,l,c,f,p=0,v=n.type==="FeatureCollection",w=n.type==="Feature",I=v?n.features.length:1;for(e=0;e<I;e++){for(a=v?n.features[e].geometry:w?n.geometry:n,l=v?n.features[e].properties:w?n.properties:{},c=v?n.features[e].bbox:w?n.bbox:void 0,f=v?n.features[e].id:w?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,p,l,c,f)===!1)return!1;continue}switch(s.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(t(s,p,l,c,f)===!1)return!1;break}case"GeometryCollection":{for(r=0;r<s.geometries.length;r++)if(t(s.geometries[r],p,l,c,f)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}p++}}function kg(n,t,e){var r=e;return lu(n,function(i,s,o,a,u){r=t(r,i,s,o,a,u)}),r}function vl(n,t){lu(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(fn(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],f={type:u,coordinates:c};if(t(fn(f,i),r,l)===!1)return!1}})}function Vg(n,t){vl(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(no(e,function(f,p,v,w,I){if(a===void 0||r>u||w>l||I>c){a=f,u=r,l=w,c=I,s=0;return}var P=dn([a,f],e.properties);if(t(P,r,i,I,s)===!1)return!1;s++,a=f})===!1)return!1}}})}var tf=6378137;function zg(n){return kg(n,function(t,e){return t+Ug(e)},0)}function Ug(n){var t=0,e;switch(n.type){case"Polygon":return ef(n.coordinates);case"MultiPolygon":for(e=0;e<n.coordinates.length;e++)t+=ef(n.coordinates[e]);return t;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function ef(n){var t=0;if(n&&n.length>0){t+=Math.abs(rf(n[0]));for(var e=1;e<n.length;e++)t-=Math.abs(rf(n[e]))}return t}function rf(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*tf*tf/2}return u}function yl(n){return n*Math.PI/180}function _l(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=Be([n]);return zg(t)}function nf(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Gg(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 cu={exports:{}},hu={exports:{}},Wg=hu.exports,sf;function of(){return sf||(sf=1,function(n,t){(function(e,r){n.exports=r()})(Wg,function(){function e(m,_,g,y,E){(function S(N,T,x,b,O){for(;b>x;){if(b-x>600){var A=b-x+1,F=T-x+1,X=Math.log(A),U=.5*Math.exp(2*X/3),K=.5*Math.sqrt(X*U*(A-U)/A)*(F-A/2<0?-1:1),st=Math.max(x,Math.floor(T-F*U/A+K)),lt=Math.min(b,Math.floor(T+(A-F)*U/A+K));S(N,T,st,lt,O)}var q=N[T],Y=x,H=b;for(r(N,x,T),O(N[b],q)>0&&r(N,x,b);Y<H;){for(r(N,Y,H),Y++,H--;O(N[Y],q)<0;)Y++;for(;O(N[H],q)>0;)H--}O(N[x],q)===0?r(N,x,H):r(N,++H,b),H<=T&&(x=H+1),T<=H&&(b=H-1)}})(m,_,g||0,y||m.length-1,E||i)}function r(m,_,g){var y=m[_];m[_]=m[g],m[g]=y}function i(m,_){return m<_?-1:m>_?1:0}var s=function(m){m===void 0&&(m=9),this._maxEntries=Math.max(4,m),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(m,_,g){if(!g)return _.indexOf(m);for(var y=0;y<_.length;y++)if(g(m,_[y]))return y;return-1}function a(m,_){u(m,0,m.children.length,_,m)}function u(m,_,g,y,E){E||(E=P(null)),E.minX=1/0,E.minY=1/0,E.maxX=-1/0,E.maxY=-1/0;for(var S=_;S<g;S++){var N=m.children[S];l(E,m.leaf?y(N):N)}return E}function l(m,_){return m.minX=Math.min(m.minX,_.minX),m.minY=Math.min(m.minY,_.minY),m.maxX=Math.max(m.maxX,_.maxX),m.maxY=Math.max(m.maxY,_.maxY),m}function c(m,_){return m.minX-_.minX}function f(m,_){return m.minY-_.minY}function p(m){return(m.maxX-m.minX)*(m.maxY-m.minY)}function v(m){return m.maxX-m.minX+(m.maxY-m.minY)}function w(m,_){return m.minX<=_.minX&&m.minY<=_.minY&&_.maxX<=m.maxX&&_.maxY<=m.maxY}function I(m,_){return _.minX<=m.maxX&&_.minY<=m.maxY&&_.maxX>=m.minX&&_.maxY>=m.minY}function P(m){return{children:m,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function M(m,_,g,y,E){for(var S=[_,g];S.length;)if(!((g=S.pop())-(_=S.pop())<=y)){var N=_+Math.ceil((g-_)/y/2)*y;e(m,N,_,g,E),S.push(_,N,N,g)}}return s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(m){var _=this.data,g=[];if(!I(m,_))return g;for(var y=this.toBBox,E=[];_;){for(var S=0;S<_.children.length;S++){var N=_.children[S],T=_.leaf?y(N):N;I(m,T)&&(_.leaf?g.push(N):w(m,T)?this._all(N,g):E.push(N))}_=E.pop()}return g},s.prototype.collides=function(m){var _=this.data;if(!I(m,_))return!1;for(var g=[];_;){for(var y=0;y<_.children.length;y++){var E=_.children[y],S=_.leaf?this.toBBox(E):E;if(I(m,S)){if(_.leaf||w(m,S))return!0;g.push(E)}}_=g.pop()}return!1},s.prototype.load=function(m){if(!m||!m.length)return this;if(m.length<this._minEntries){for(var _=0;_<m.length;_++)this.insert(m[_]);return this}var g=this._build(m.slice(),0,m.length-1,0);if(this.data.children.length)if(this.data.height===g.height)this._splitRoot(this.data,g);else{if(this.data.height<g.height){var y=this.data;this.data=g,g=y}this._insert(g,this.data.height-g.height-1,!0)}else this.data=g;return this},s.prototype.insert=function(m){return m&&this._insert(m,this.data.height-1),this},s.prototype.clear=function(){return this.data=P([]),this},s.prototype.remove=function(m,_){if(!m)return this;for(var g,y,E,S=this.data,N=this.toBBox(m),T=[],x=[];S||T.length;){if(S||(S=T.pop(),y=T[T.length-1],g=x.pop(),E=!0),S.leaf){var b=o(m,S.children,_);if(b!==-1)return S.children.splice(b,1),T.push(S),this._condense(T),this}E||S.leaf||!w(S,N)?y?(g++,S=y.children[g],E=!1):S=null:(T.push(S),x.push(g),g=0,y=S,S=S.children[0])}return this},s.prototype.toBBox=function(m){return m},s.prototype.compareMinX=function(m,_){return m.minX-_.minX},s.prototype.compareMinY=function(m,_){return m.minY-_.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(m){return this.data=m,this},s.prototype._all=function(m,_){for(var g=[];m;)m.leaf?_.push.apply(_,m.children):g.push.apply(g,m.children),m=g.pop();return _},s.prototype._build=function(m,_,g,y){var E,S=g-_+1,N=this._maxEntries;if(S<=N)return a(E=P(m.slice(_,g+1)),this.toBBox),E;y||(y=Math.ceil(Math.log(S)/Math.log(N)),N=Math.ceil(S/Math.pow(N,y-1))),(E=P([])).leaf=!1,E.height=y;var T=Math.ceil(S/N),x=T*Math.ceil(Math.sqrt(N));M(m,_,g,x,this.compareMinX);for(var b=_;b<=g;b+=x){var O=Math.min(b+x-1,g);M(m,b,O,T,this.compareMinY);for(var A=b;A<=O;A+=T){var F=Math.min(A+T-1,O);E.children.push(this._build(m,A,F,y-1))}}return a(E,this.toBBox),E},s.prototype._chooseSubtree=function(m,_,g,y){for(;y.push(_),!_.leaf&&y.length-1!==g;){for(var E=1/0,S=1/0,N=void 0,T=0;T<_.children.length;T++){var x=_.children[T],b=p(x),O=(A=m,F=x,(Math.max(F.maxX,A.maxX)-Math.min(F.minX,A.minX))*(Math.max(F.maxY,A.maxY)-Math.min(F.minY,A.minY))-b);O<S?(S=O,E=b<E?b:E,N=x):O===S&&b<E&&(E=b,N=x)}_=N||_.children[0]}var A,F;return _},s.prototype._insert=function(m,_,g){var y=g?m:this.toBBox(m),E=[],S=this._chooseSubtree(y,this.data,_,E);for(S.children.push(m),l(S,y);_>=0&&E[_].children.length>this._maxEntries;)this._split(E,_),_--;this._adjustParentBBoxes(y,E,_)},s.prototype._split=function(m,_){var g=m[_],y=g.children.length,E=this._minEntries;this._chooseSplitAxis(g,E,y);var S=this._chooseSplitIndex(g,E,y),N=P(g.children.splice(S,g.children.length-S));N.height=g.height,N.leaf=g.leaf,a(g,this.toBBox),a(N,this.toBBox),_?m[_-1].children.push(N):this._splitRoot(g,N)},s.prototype._splitRoot=function(m,_){this.data=P([m,_]),this.data.height=m.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(m,_,g){for(var y,E,S,N,T,x,b,O=1/0,A=1/0,F=_;F<=g-_;F++){var X=u(m,0,F,this.toBBox),U=u(m,F,g,this.toBBox),K=(E=X,S=U,N=void 0,T=void 0,x=void 0,b=void 0,N=Math.max(E.minX,S.minX),T=Math.max(E.minY,S.minY),x=Math.min(E.maxX,S.maxX),b=Math.min(E.maxY,S.maxY),Math.max(0,x-N)*Math.max(0,b-T)),st=p(X)+p(U);K<O?(O=K,y=F,A=st<A?st:A):K===O&&st<A&&(A=st,y=F)}return y||g-_},s.prototype._chooseSplitAxis=function(m,_,g){var y=m.leaf?this.compareMinX:c,E=m.leaf?this.compareMinY:f;this._allDistMargin(m,_,g,y)<this._allDistMargin(m,_,g,E)&&m.children.sort(y)},s.prototype._allDistMargin=function(m,_,g,y){m.children.sort(y);for(var E=this.toBBox,S=u(m,0,_,E),N=u(m,g-_,g,E),T=v(S)+v(N),x=_;x<g-_;x++){var b=m.children[x];l(S,m.leaf?E(b):b),T+=v(S)}for(var O=g-_-1;O>=_;O--){var A=m.children[O];l(N,m.leaf?E(A):A),T+=v(N)}return T},s.prototype._adjustParentBBoxes=function(m,_,g){for(var y=g;y>=0;y--)l(_[y],m)},s.prototype._condense=function(m){for(var _=m.length-1,g=void 0;_>=0;_--)m[_].children.length===0?_>0?(g=m[_-1].children).splice(g.indexOf(m[_]),1):this.clear():a(m[_],this.toBBox)},s})}(hu)),hu.exports}class qg{constructor(t=[],e=Xg){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 Xg(n,t){return n<t?-1:n>t?1:0}const Yg=Gg(Object.freeze(Object.defineProperty({__proto__:null,default:qg},Symbol.toStringTag,{value:"Module"})));var ma={exports:{}},wl,af;function Hg(){return af||(af=1,wl=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 f=e[r+l*2+0],p=e[r+l*2+1],v=e[r+c*2+0],w=e[r+c*2+1],I=p>o!=w>o&&s<(v-f)*(o-p)/(w-p)+f;I&&(a=!a)}return a}),wl}var El,uf;function Jg(){return uf||(uf=1,El=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 f=e[l+r][0],p=e[l+r][1],v=e[c+r][0],w=e[c+r][1],I=p>o!=w>o&&s<(v-f)*(o-p)/(w-p)+f;I&&(a=!a)}return a}),El}var lf;function Zg(){if(lf)return ma.exports;lf=1;var n=Hg(),t=Jg();return ma.exports=function(r,i,s,o){return i.length>0&&Array.isArray(i[0])?t(r,i,s,o):n(r,i,s,o)},ma.exports.nested=t,ma.exports.flat=n,ma.exports}var va={exports:{}},Kg=va.exports,cf;function Qg(){return cf||(cf=1,function(n,t){(function(e,r){r(t)})(Kg,function(e){const i=33306690738754706e-32;function s(I,P,M,m,_){let g,y,E,S,N=P[0],T=m[0],x=0,b=0;T>N==T>-N?(g=N,N=P[++x]):(g=T,T=m[++b]);let O=0;if(x<I&&b<M)for(T>N==T>-N?(E=g-((y=N+g)-N),N=P[++x]):(E=g-((y=T+g)-T),T=m[++b]),g=y,E!==0&&(_[O++]=E);x<I&&b<M;)T>N==T>-N?(E=g-((y=g+N)-(S=y-g))+(N-S),N=P[++x]):(E=g-((y=g+T)-(S=y-g))+(T-S),T=m[++b]),g=y,E!==0&&(_[O++]=E);for(;x<I;)E=g-((y=g+N)-(S=y-g))+(N-S),N=P[++x],g=y,E!==0&&(_[O++]=E);for(;b<M;)E=g-((y=g+T)-(S=y-g))+(T-S),T=m[++b],g=y,E!==0&&(_[O++]=E);return g===0&&O!==0||(_[O++]=g),O}function o(I){return new Float64Array(I)}const a=33306690738754716e-32,u=22204460492503146e-32,l=11093356479670487e-47,c=o(4),f=o(8),p=o(12),v=o(16),w=o(4);e.orient2d=function(I,P,M,m,_,g){const y=(P-g)*(M-_),E=(I-_)*(m-g),S=y-E;if(y===0||E===0||y>0!=E>0)return S;const N=Math.abs(y+E);return Math.abs(S)>=a*N?S:-function(T,x,b,O,A,F,X){let U,K,st,lt,q,Y,H,dt,Tt,wt,Et,Lt,oe,re,yr,_r,hi,wr;const Er=T-A,Sr=b-A,zn=x-F,Un=O-F;q=(yr=(dt=Er-(H=(Y=134217729*Er)-(Y-Er)))*(wt=Un-(Tt=(Y=134217729*Un)-(Y-Un)))-((re=Er*Un)-H*Tt-dt*Tt-H*wt))-(Et=yr-(hi=(dt=zn-(H=(Y=134217729*zn)-(Y-zn)))*(wt=Sr-(Tt=(Y=134217729*Sr)-(Y-Sr)))-((_r=zn*Sr)-H*Tt-dt*Tt-H*wt))),c[0]=yr-(Et+q)+(q-hi),q=(oe=re-((Lt=re+Et)-(q=Lt-re))+(Et-q))-(Et=oe-_r),c[1]=oe-(Et+q)+(q-_r),q=(wr=Lt+Et)-Lt,c[2]=Lt-(wr-q)+(Et-q),c[3]=wr;let fs=function(z_,Kp){let Qp=Kp[0];for(let kh=1;kh<z_;kh++)Qp+=Kp[kh];return Qp}(4,c),su=u*X;if(fs>=su||-fs>=su||(U=T-(Er+(q=T-Er))+(q-A),st=b-(Sr+(q=b-Sr))+(q-A),K=x-(zn+(q=x-zn))+(q-F),lt=O-(Un+(q=O-Un))+(q-F),U===0&&K===0&&st===0&<===0)||(su=l*X+i*Math.abs(fs),(fs+=Er*lt+Un*U-(zn*st+Sr*K))>=su||-fs>=su))return fs;q=(yr=(dt=U-(H=(Y=134217729*U)-(Y-U)))*(wt=Un-(Tt=(Y=134217729*Un)-(Y-Un)))-((re=U*Un)-H*Tt-dt*Tt-H*wt))-(Et=yr-(hi=(dt=K-(H=(Y=134217729*K)-(Y-K)))*(wt=Sr-(Tt=(Y=134217729*Sr)-(Y-Sr)))-((_r=K*Sr)-H*Tt-dt*Tt-H*wt))),w[0]=yr-(Et+q)+(q-hi),q=(oe=re-((Lt=re+Et)-(q=Lt-re))+(Et-q))-(Et=oe-_r),w[1]=oe-(Et+q)+(q-_r),q=(wr=Lt+Et)-Lt,w[2]=Lt-(wr-q)+(Et-q),w[3]=wr;const F_=s(4,c,4,w,f);q=(yr=(dt=Er-(H=(Y=134217729*Er)-(Y-Er)))*(wt=lt-(Tt=(Y=134217729*lt)-(Y-lt)))-((re=Er*lt)-H*Tt-dt*Tt-H*wt))-(Et=yr-(hi=(dt=zn-(H=(Y=134217729*zn)-(Y-zn)))*(wt=st-(Tt=(Y=134217729*st)-(Y-st)))-((_r=zn*st)-H*Tt-dt*Tt-H*wt))),w[0]=yr-(Et+q)+(q-hi),q=(oe=re-((Lt=re+Et)-(q=Lt-re))+(Et-q))-(Et=oe-_r),w[1]=oe-(Et+q)+(q-_r),q=(wr=Lt+Et)-Lt,w[2]=Lt-(wr-q)+(Et-q),w[3]=wr;const k_=s(F_,f,4,w,p);q=(yr=(dt=U-(H=(Y=134217729*U)-(Y-U)))*(wt=lt-(Tt=(Y=134217729*lt)-(Y-lt)))-((re=U*lt)-H*Tt-dt*Tt-H*wt))-(Et=yr-(hi=(dt=K-(H=(Y=134217729*K)-(Y-K)))*(wt=st-(Tt=(Y=134217729*st)-(Y-st)))-((_r=K*st)-H*Tt-dt*Tt-H*wt))),w[0]=yr-(Et+q)+(q-hi),q=(oe=re-((Lt=re+Et)-(q=Lt-re))+(Et-q))-(Et=oe-_r),w[1]=oe-(Et+q)+(q-_r),q=(wr=Lt+Et)-Lt,w[2]=Lt-(wr-q)+(Et-q),w[3]=wr;const V_=s(k_,p,4,w,v);return v[V_-1]}(I,P,M,m,_,g,N)},e.orient2dfast=function(I,P,M,m,_,g){return(P-g)*(M-_)-(I-_)*(m-g)},Object.defineProperty(e,"__esModule",{value:!0})})}(va,va.exports)),va.exports}var hf;function Bg(){if(hf)return cu.exports;hf=1;var n=of(),t=Yg,e=Zg(),r=Qg().orient2d;t.default&&(t=t.default),cu.exports=i,cu.exports.default=i;function i(g,y,E){y=Math.max(0,y===void 0?2:y),E=E||0;var S=v(g),N=new n(16);N.toBBox=function(H){return{minX:H[0],minY:H[1],maxX:H[0],maxY:H[1]}},N.compareMinX=function(H,dt){return H[0]-dt[0]},N.compareMinY=function(H,dt){return H[1]-dt[1]},N.load(g);for(var T=[],x=0,b;x<S.length;x++){var O=S[x];N.remove(O),b=w(O,b),T.push(b)}var A=new n(16);for(x=0;x<T.length;x++)A.insert(p(T[x]));for(var F=y*y,X=E*E;T.length;){var U=T.shift(),K=U.p,st=U.next.p,lt=I(K,st);if(!(lt<X)){var q=lt/F;O=s(N,U.prev.p,K,st,U.next.next.p,q,A),O&&Math.min(I(O,K),I(O,st))<=q&&(T.push(U),T.push(w(O,U)),N.remove(O),A.remove(U),A.insert(p(U)),A.insert(p(U.next)))}}U=b;var Y=[];do Y.push(U.p),U=U.next;while(U!==b);return Y.push(U.p),Y}function s(g,y,E,S,N,T,x){for(var b=new t([],o),O=g.data;O;){for(var A=0;A<O.children.length;A++){var F=O.children[A],X=O.leaf?P(F,E,S):a(E,S,F);X>T||b.push({node:F,dist:X})}for(;b.length&&!b.peek().node.children;){var U=b.pop(),K=U.node,st=P(K,y,E),lt=P(K,S,N);if(U.dist<st&&U.dist<lt&&l(E,K,x)&&l(S,K,x))return K}O=b.pop(),O&&(O=O.node)}return null}function o(g,y){return g.dist-y.dist}function a(g,y,E){if(u(g,E)||u(y,E))return 0;var S=M(g[0],g[1],y[0],y[1],E.minX,E.minY,E.maxX,E.minY);if(S===0)return 0;var N=M(g[0],g[1],y[0],y[1],E.minX,E.minY,E.minX,E.maxY);if(N===0)return 0;var T=M(g[0],g[1],y[0],y[1],E.maxX,E.minY,E.maxX,E.maxY);if(T===0)return 0;var x=M(g[0],g[1],y[0],y[1],E.minX,E.maxY,E.maxX,E.maxY);return x===0?0:Math.min(S,N,T,x)}function u(g,y){return g[0]>=y.minX&&g[0]<=y.maxX&&g[1]>=y.minY&&g[1]<=y.maxY}function l(g,y,E){for(var S=Math.min(g[0],y[0]),N=Math.min(g[1],y[1]),T=Math.max(g[0],y[0]),x=Math.max(g[1],y[1]),b=E.search({minX:S,minY:N,maxX:T,maxY:x}),O=0;O<b.length;O++)if(f(b[O].p,b[O].next.p,g,y))return!1;return!0}function c(g,y,E){return r(g[0],g[1],y[0],y[1],E[0],E[1])}function f(g,y,E,S){return g!==S&&y!==E&&c(g,y,E)>0!=c(g,y,S)>0&&c(E,S,g)>0!=c(E,S,y)>0}function p(g){var y=g.p,E=g.next.p;return g.minX=Math.min(y[0],E[0]),g.minY=Math.min(y[1],E[1]),g.maxX=Math.max(y[0],E[0]),g.maxY=Math.max(y[1],E[1]),g}function v(g){for(var y=g[0],E=g[0],S=g[0],N=g[0],T=0;T<g.length;T++){var x=g[T];x[0]<y[0]&&(y=x),x[0]>S[0]&&(S=x),x[1]<E[1]&&(E=x),x[1]>N[1]&&(N=x)}var b=[y,E,S,N],O=b.slice();for(T=0;T<g.length;T++)e(g[T],b)||O.push(g[T]);return _(O)}function w(g,y){var E={p:g,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return y?(E.next=y.next,E.prev=y,y.next.prev=E,y.next=E):(E.prev=E,E.next=E),E}function I(g,y){var E=g[0]-y[0],S=g[1]-y[1];return E*E+S*S}function P(g,y,E){var S=y[0],N=y[1],T=E[0]-S,x=E[1]-N;if(T!==0||x!==0){var b=((g[0]-S)*T+(g[1]-N)*x)/(T*T+x*x);b>1?(S=E[0],N=E[1]):b>0&&(S+=T*b,N+=x*b)}return T=g[0]-S,x=g[1]-N,T*T+x*x}function M(g,y,E,S,N,T,x,b){var O=E-g,A=S-y,F=x-N,X=b-T,U=g-N,K=y-T,st=O*O+A*A,lt=O*F+A*X,q=F*F+X*X,Y=O*U+A*K,H=F*U+X*K,dt=st*q-lt*lt,Tt,wt,Et,Lt,oe=dt,re=dt;dt===0?(wt=0,oe=1,Lt=H,re=q):(wt=lt*H-q*Y,Lt=st*H-lt*Y,wt<0?(wt=0,Lt=H,re=q):wt>oe&&(wt=oe,Lt=H+lt,re=q)),Lt<0?(Lt=0,-Y<0?wt=0:-Y>st?wt=oe:(wt=-Y,oe=st)):Lt>re&&(Lt=re,-Y+lt<0?wt=0:-Y+lt>st?wt=oe:(wt=-Y+lt,oe=st)),Tt=wt===0?0:wt/oe,Et=Lt===0?0:Lt/re;var yr=(1-Tt)*g+Tt*E,_r=(1-Tt)*y+Tt*S,hi=(1-Et)*N+Et*x,wr=(1-Et)*T+Et*b,Er=hi-yr,Sr=wr-_r;return Er*Er+Sr*Sr}function m(g,y){return g[0]===y[0]?g[1]-y[1]:g[0]-y[0]}function _(g){g.sort(m);for(var y=[],E=0;E<g.length;E++){for(;y.length>=2&&c(y[y.length-2],y[y.length-1],g[E])<=0;)y.pop();y.push(g[E])}for(var S=[],N=g.length-1;N>=0;N--){for(;S.length>=2&&c(S[S.length-2],S[S.length-1],g[N])<=0;)S.pop();S.push(g[N])}return S.pop(),y.pop(),y.concat(S)}return cu.exports}var $g=Bg();const jg=nf($g);function tm(n,t){t===void 0&&(t={}),t.concavity=t.concavity||1/0;var e=[];if(no(n,function(i){e.push([i[0],i[1]])}),!e.length)return null;var r=jg(e,t.concavity);return r.length>3?Be([r]):null}function ff(n,t){t===void 0&&(t={});var e=0,r=0,i=0;return no(n,function(s){e+=s[0],r+=s[1],i++},!0),Vt([e/i,r/i],t.properties)}function df(n,t){switch(t===void 0&&(t={}),Lg(n)){case"Point":return Vt($e(n),t.properties);case"Polygon":var e=[];no(n,function(g){e.push(g)});var r=ff(n,{properties:t.properties}),i=r.geometry.coordinates,s=0,o=0,a=0,u,l,c,f,p,v,w,I,P=e.map(function(g){return[g[0]-i[0],g[1]-i[1]]});for(u=0;u<e.length-1;u++)l=P[u],f=l[0],v=l[1],c=P[u+1],p=c[0],w=c[1],I=f*w-p*v,a+=I,s+=(f+p)*I,o+=(v+w)*I;if(a===0)return r;var M=a*.5,m=1/(6*M);return Vt([i[0]+m*s,i[1]+m*o],t.properties);default:var _=tm(n);return _?df(_,{properties:t.properties}):ff(n,{properties:t.properties})}}function em(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=Be([n]),r=df(t).geometry.coordinates;return[r[0],r[1],r[2]??n[0][2]??0]}function rm(n,t,e,r){const[i,s,o]=n,a=ro(Vt([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 Sl(n,t){return fi(Vt(n),Vt(t),{units:"meters"})}function fu(n,t){return ga(Vt(n),Vt(t))}function pf(n){if(!n)throw new Error("geojson is required");var t=[];return vl(n,function(e){nm(e,t)}),eo(t)}function nm(n,t){var e=[],r=n.geometry;if(r!==null){switch(r.type){case"Polygon":e=ms(r);break;case"LineString":e=[ms(r)]}e.forEach(function(i){var s=im(i,n.properties);s.forEach(function(o){o.id=t.length,t.push(o)})})}}function im(n,t){var e=[];return n.reduce(function(r,i){var s=dn([r,i],t);return s.bbox=sm(r,i),e.push(s),i}),e}function sm(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 du={exports:{}},Cl={},gf;function mf(){return gf||(gf=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(b,O,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=O||{},F.geometry=b,F}n.feature=t;function e(b,O,A){switch(b){case"Point":return r(O).geometry;case"LineString":return a(O).geometry;case"Polygon":return s(O).geometry;case"MultiPoint":return f(O).geometry;case"MultiLineString":return c(O).geometry;case"MultiPolygon":return p(O).geometry;default:throw new Error(b+" is invalid")}}n.geometry=e;function r(b,O,A){if(A===void 0&&(A={}),!b)throw new Error("coordinates is required");if(!Array.isArray(b))throw new Error("coordinates must be an Array");if(b.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!S(b[0])||!S(b[1]))throw new Error("coordinates must contain numbers");var F={type:"Point",coordinates:b};return t(F,O,A)}n.point=r;function i(b,O,A){return A===void 0&&(A={}),l(b.map(function(F){return r(F,O)}),A)}n.points=i;function s(b,O,A){A===void 0&&(A={});for(var F=0,X=b;F<X.length;F++){var U=X[F];if(U.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var K=0;K<U[U.length-1].length;K++)if(U[U.length-1][K]!==U[0][K])throw new Error("First and last Position are not equivalent.")}var st={type:"Polygon",coordinates:b};return t(st,O,A)}n.polygon=s;function o(b,O,A){return A===void 0&&(A={}),l(b.map(function(F){return s(F,O)}),A)}n.polygons=o;function a(b,O,A){if(A===void 0&&(A={}),b.length<2)throw new Error("coordinates must be an array of two or more positions");var F={type:"LineString",coordinates:b};return t(F,O,A)}n.lineString=a;function u(b,O,A){return A===void 0&&(A={}),l(b.map(function(F){return a(F,O)}),A)}n.lineStrings=u;function l(b,O){O===void 0&&(O={});var A={type:"FeatureCollection"};return O.id&&(A.id=O.id),O.bbox&&(A.bbox=O.bbox),A.features=b,A}n.featureCollection=l;function c(b,O,A){A===void 0&&(A={});var F={type:"MultiLineString",coordinates:b};return t(F,O,A)}n.multiLineString=c;function f(b,O,A){A===void 0&&(A={});var F={type:"MultiPoint",coordinates:b};return t(F,O,A)}n.multiPoint=f;function p(b,O,A){A===void 0&&(A={});var F={type:"MultiPolygon",coordinates:b};return t(F,O,A)}n.multiPolygon=p;function v(b,O,A){A===void 0&&(A={});var F={type:"GeometryCollection",geometries:b};return t(F,O,A)}n.geometryCollection=v;function w(b,O){if(O===void 0&&(O=0),O&&!(O>=0))throw new Error("precision must be a positive number");var A=Math.pow(10,O||0);return Math.round(b*A)/A}n.round=w;function I(b,O){O===void 0&&(O="kilometers");var A=n.factors[O];if(!A)throw new Error(O+" units is invalid");return b*A}n.radiansToLength=I;function P(b,O){O===void 0&&(O="kilometers");var A=n.factors[O];if(!A)throw new Error(O+" units is invalid");return b/A}n.lengthToRadians=P;function M(b,O){return _(P(b,O))}n.lengthToDegrees=M;function m(b){var O=b%360;return O<0&&(O+=360),O}n.bearingToAzimuth=m;function _(b){var O=b%(2*Math.PI);return O*180/Math.PI}n.radiansToDegrees=_;function g(b){var O=b%360;return O*Math.PI/180}n.degreesToRadians=g;function y(b,O,A){if(O===void 0&&(O="kilometers"),A===void 0&&(A="kilometers"),!(b>=0))throw new Error("length must be a positive number");return I(P(b,O),A)}n.convertLength=y;function E(b,O,A){if(O===void 0&&(O="meters"),A===void 0&&(A="kilometers"),!(b>=0))throw new Error("area must be a positive number");var F=n.areaFactors[O];if(!F)throw new Error("invalid original units");var X=n.areaFactors[A];if(!X)throw new Error("invalid final units");return b/F*X}n.convertArea=E;function S(b){return!isNaN(b)&&b!==null&&!Array.isArray(b)}n.isNumber=S;function N(b){return!!b&&b.constructor===Object}n.isObject=N;function T(b){if(!b)throw new Error("bbox is required");if(!Array.isArray(b))throw new Error("bbox must be an Array");if(b.length!==4&&b.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");b.forEach(function(O){if(!S(O))throw new Error("bbox must only contain numbers")})}n.validateBBox=T;function x(b){if(!b)throw new Error("id is required");if(["string","number"].indexOf(typeof b)===-1)throw new Error("id must be a number or a string")}n.validateId=x}(Cl)),Cl}var ae={},vf;function yf(){if(vf)return ae;vf=1,Object.defineProperty(ae,"__esModule",{value:!0});var n=mf();function t(m,_,g){if(m!==null)for(var y,E,S,N,T,x,b,O=0,A=0,F,X=m.type,U=X==="FeatureCollection",K=X==="Feature",st=U?m.features.length:1,lt=0;lt<st;lt++){b=U?m.features[lt].geometry:K?m.geometry:m,F=b?b.type==="GeometryCollection":!1,T=F?b.geometries.length:1;for(var q=0;q<T;q++){var Y=0,H=0;if(N=F?b.geometries[q]:b,N!==null){x=N.coordinates;var dt=N.type;switch(O=g&&(dt==="Polygon"||dt==="MultiPolygon")?1:0,dt){case null:break;case"Point":if(_(x,A,lt,Y,H)===!1)return!1;A++,Y++;break;case"LineString":case"MultiPoint":for(y=0;y<x.length;y++){if(_(x[y],A,lt,Y,H)===!1)return!1;A++,dt==="MultiPoint"&&Y++}dt==="LineString"&&Y++;break;case"Polygon":case"MultiLineString":for(y=0;y<x.length;y++){for(E=0;E<x[y].length-O;E++){if(_(x[y][E],A,lt,Y,H)===!1)return!1;A++}dt==="MultiLineString"&&Y++,dt==="Polygon"&&H++}dt==="Polygon"&&Y++;break;case"MultiPolygon":for(y=0;y<x.length;y++){for(H=0,E=0;E<x[y].length;E++){for(S=0;S<x[y][E].length-O;S++){if(_(x[y][E][S],A,lt,Y,H)===!1)return!1;A++}H++}Y++}break;case"GeometryCollection":for(y=0;y<N.geometries.length;y++)if(t(N.geometries[y],_,g)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function e(m,_,g,y){var E=g;return t(m,function(S,N,T,x,b){N===0&&g===void 0?E=S:E=_(E,S,N,T,x,b)},y),E}function r(m,_){var g;switch(m.type){case"FeatureCollection":for(g=0;g<m.features.length&&_(m.features[g].properties,g)!==!1;g++);break;case"Feature":_(m.properties,0);break}}function i(m,_,g){var y=g;return r(m,function(E,S){S===0&&g===void 0?y=E:y=_(y,E,S)}),y}function s(m,_){if(m.type==="Feature")_(m,0);else if(m.type==="FeatureCollection")for(var g=0;g<m.features.length&&_(m.features[g],g)!==!1;g++);}function o(m,_,g){var y=g;return s(m,function(E,S){S===0&&g===void 0?y=E:y=_(y,E,S)}),y}function a(m){var _=[];return t(m,function(g){_.push(g)}),_}function u(m,_){var g,y,E,S,N,T,x,b,O,A,F=0,X=m.type==="FeatureCollection",U=m.type==="Feature",K=X?m.features.length:1;for(g=0;g<K;g++){for(T=X?m.features[g].geometry:U?m.geometry:m,b=X?m.features[g].properties:U?m.properties:{},O=X?m.features[g].bbox:U?m.bbox:void 0,A=X?m.features[g].id:U?m.id:void 0,x=T?T.type==="GeometryCollection":!1,N=x?T.geometries.length:1,E=0;E<N;E++){if(S=x?T.geometries[E]:T,S===null){if(_(null,F,b,O,A)===!1)return!1;continue}switch(S.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(_(S,F,b,O,A)===!1)return!1;break}case"GeometryCollection":{for(y=0;y<S.geometries.length;y++)if(_(S.geometries[y],F,b,O,A)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}F++}}function l(m,_,g){var y=g;return u(m,function(E,S,N,T,x){S===0&&g===void 0?y=E:y=_(y,E,S,N,T,x)}),y}function c(m,_){u(m,function(g,y,E,S,N){var T=g===null?null:g.type;switch(T){case null:case"Point":case"LineString":case"Polygon":return _(n.feature(g,E,{bbox:S,id:N}),y,0)===!1?!1:void 0}var x;switch(T){case"MultiPoint":x="Point";break;case"MultiLineString":x="LineString";break;case"MultiPolygon":x="Polygon";break}for(var b=0;b<g.coordinates.length;b++){var O=g.coordinates[b],A={type:x,coordinates:O};if(_(n.feature(A,E),y,b)===!1)return!1}})}function f(m,_,g){var y=g;return c(m,function(E,S,N){S===0&&N===0&&g===void 0?y=E:y=_(y,E,S,N)}),y}function p(m,_){c(m,function(g,y,E){var S=0;if(g.geometry){var N=g.geometry.type;if(!(N==="Point"||N==="MultiPoint")){var T,x=0,b=0,O=0;if(t(g,function(A,F,X,U,K){if(T===void 0||y>x||U>b||K>O){T=A,x=y,b=U,O=K,S=0;return}var st=n.lineString([T,A],g.properties);if(_(st,y,E,K,S)===!1)return!1;S++,T=A})===!1)return!1}}})}function v(m,_,g){var y=g,E=!1;return p(m,function(S,N,T,x,b){E===!1&&g===void 0?y=S:y=_(y,S,N,T,x,b),E=!0}),y}function w(m,_){if(!m)throw new Error("geojson is required");c(m,function(g,y,E){if(g.geometry!==null){var S=g.geometry.type,N=g.geometry.coordinates;switch(S){case"LineString":if(_(g,y,E,0,0)===!1)return!1;break;case"Polygon":for(var T=0;T<N.length;T++)if(_(n.lineString(N[T],g.properties),y,E,T)===!1)return!1;break}}})}function I(m,_,g){var y=g;return w(m,function(E,S,N,T){S===0&&g===void 0?y=E:y=_(y,E,S,N,T)}),y}function P(m,_){if(_=_||{},!n.isObject(_))throw new Error("options is invalid");var g=_.featureIndex||0,y=_.multiFeatureIndex||0,E=_.geometryIndex||0,S=_.segmentIndex||0,N=_.properties,T;switch(m.type){case"FeatureCollection":g<0&&(g=m.features.length+g),N=N||m.features[g].properties,T=m.features[g].geometry;break;case"Feature":N=N||m.properties,T=m.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":T=m;break;default:throw new Error("geojson is invalid")}if(T===null)return null;var x=T.coordinates;switch(T.type){case"Point":case"MultiPoint":return null;case"LineString":return S<0&&(S=x.length+S-1),n.lineString([x[S],x[S+1]],N,_);case"Polygon":return E<0&&(E=x.length+E),S<0&&(S=x[E].length+S-1),n.lineString([x[E][S],x[E][S+1]],N,_);case"MultiLineString":return y<0&&(y=x.length+y),S<0&&(S=x[y].length+S-1),n.lineString([x[y][S],x[y][S+1]],N,_);case"MultiPolygon":return y<0&&(y=x.length+y),E<0&&(E=x[y].length+E),S<0&&(S=x[y][E].length-S-1),n.lineString([x[y][E][S],x[y][E][S+1]],N,_)}throw new Error("geojson is invalid")}function M(m,_){if(_=_||{},!n.isObject(_))throw new Error("options is invalid");var g=_.featureIndex||0,y=_.multiFeatureIndex||0,E=_.geometryIndex||0,S=_.coordIndex||0,N=_.properties,T;switch(m.type){case"FeatureCollection":g<0&&(g=m.features.length+g),N=N||m.features[g].properties,T=m.features[g].geometry;break;case"Feature":N=N||m.properties,T=m.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":T=m;break;default:throw new Error("geojson is invalid")}if(T===null)return null;var x=T.coordinates;switch(T.type){case"Point":return n.point(x,N,_);case"MultiPoint":return y<0&&(y=x.length+y),n.point(x[y],N,_);case"LineString":return S<0&&(S=x.length+S),n.point(x[S],N,_);case"Polygon":return E<0&&(E=x.length+E),S<0&&(S=x[E].length+S),n.point(x[E][S],N,_);case"MultiLineString":return y<0&&(y=x.length+y),S<0&&(S=x[y].length+S),n.point(x[y][S],N,_);case"MultiPolygon":return y<0&&(y=x.length+y),E<0&&(E=x[y].length+E),S<0&&(S=x[y][E].length-S),n.point(x[y][E][S],N,_)}throw new Error("geojson is invalid")}return ae.coordAll=a,ae.coordEach=t,ae.coordReduce=e,ae.featureEach=s,ae.featureReduce=o,ae.findPoint=M,ae.findSegment=P,ae.flattenEach=c,ae.flattenReduce=f,ae.geomEach=u,ae.geomReduce=l,ae.lineEach=w,ae.lineReduce=I,ae.propEach=r,ae.propReduce=i,ae.segmentEach=p,ae.segmentReduce=v,ae}var pu={},_f;function om(){if(_f)return pu;_f=1,Object.defineProperty(pu,"__esModule",{value:!0});var n=yf();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,pu.default=t,pu}var wf;function am(){if(wf)return du.exports;wf=1;var n=of(),t=mf(),e=yf(),r=om().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(f){if(f.type!=="Feature")throw new Error("invalid features");f.bbox=f.bbox?f.bbox:r(f),c.push(f)}):i(l,function(f){if(f.type!=="Feature")throw new Error("invalid features");f.bbox=f.bbox?f.bbox:r(f),c.push(f)}),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 du.exports=o,du.exports.default=o,du.exports}var um=am();const lm=nf(um);function Ef(n,t){var e={},r=[];if(n.type==="LineString"&&(n=fn(n)),t.type==="LineString"&&(t=fn(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=Sf(n,t);return i&&r.push(i),eo(r)}var s=lm();return s.load(pf(t)),uu(pf(n),function(o){uu(s.search(o),function(a){var u=Sf(o,a);if(u){var l=ms(u).join(",");e[l]||(e[l]=!0,r.push(u))}})}),eo(r)}function Sf(n,t){var e=ms(n),r=ms(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],f=r[1][1],p=(f-l)*(o-i)-(c-u)*(a-s),v=(c-u)*(s-l)-(f-l)*(i-u),w=(o-i)*(s-l)-(a-s)*(i-u);if(p===0)return null;var I=v/p,P=w/p;if(I>=0&&I<=1&&P>=0&&P<=1){var M=i+I*(o-i),m=s+I*(a-s);return Vt([M,m])}return null}function cm(n,t){return Ef(dn(n),dn(t))}function hm(n,t){var e=fi(n,t),r=ga(n,t),i=ro(n,e/2,r);return i}function fm(n,t){const e=Vt(n),r=Vt(t),i=hm(e,r),s=(n[2]+t[2])/2;return[...i.geometry.coordinates,s]}function dm(n,t,e){e===void 0&&(e={});var r=Vt([1/0,1/0],{dist:1/0}),i=0;return vl(n,function(s){for(var o=ms(s),a=0;a<o.length-1;a++){var u=Vt(o[a]);u.properties.dist=fi(t,u,e);var l=Vt(o[a+1]);l.properties.dist=fi(t,l,e);var c=fi(u,l,e),f=Math.max(u.properties.dist,l.properties.dist),p=ga(u,l),v=ro(t,f,p+90,e),w=ro(t,f,p-90,e),I=Ef(dn([v.geometry.coordinates,w.geometry.coordinates]),dn([u.geometry.coordinates,l.geometry.coordinates])),P=null;I.features.length>0&&(P=I.features[0],P.properties.dist=fi(t,P,e),P.properties.location=i+fi(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 pm(n,t){const e=Vt(t),r=dn(n);return dm(r,e,{units:"meters"})}function Cf(n,t,e){e===void 0&&(e={});var r=$e(n),i=$e(t);i[0]+=i[0]-r[0]>180?-360:r[0]-i[0]>180?360:0;var s=gm(r,i),o=ml(s,"meters",e.units);return o}function gm(n,t,e){e=e===void 0?De: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),f=c*r;return f}function mm(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=Vt(n):n.type==="Point"?n=fn(n):jh(n,"Point","point"),!t)throw new Error("line is required");Array.isArray(t)?t=dn(t):t.type==="LineString"?t=fn(t):jh(t,"LineString","line");var r=1/0,i=n.geometry.coordinates;return Vg(t,function(s){var o=s.geometry.coordinates[0],a=s.geometry.coordinates[1],u=vm(i,o,a,e);u<r&&(r=u)}),ml(r,"degrees",e.units)}function vm(n,t,e,r){var i=[e[0]-t[0],e[1]-t[1]],s=[n[0]-t[0],n[1]-t[1]],o=If(s,i);if(o<=0)return Il(n,t,{method:r.method,units:"degrees"});var a=If(i,i);if(a<=o)return Il(n,e,{method:r.method,units:"degrees"});var u=o/a,l=[t[0]+u*i[0],t[1]+u*i[1]];return Il(n,l,{method:r.method,units:"degrees"})}function If(n,t){return n[0]*t[0]+n[1]*t[1]}function Il(n,t,e){return e.method==="planar"?Cf(n,t,e):fi(n,t,e)}function ym(n,t){const e=Vt(n),r=dn(t);return mm(e,r,{units:"meters"})}function _m(n,t,e,r){r===void 0&&(r={});var i=t<0,s=ml(Math.abs(t),r.units,"meters");i&&(s=-Math.abs(s));var o=$e(n),a=wm(o,s,e);return a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0,Vt(a,r.properties)}function wm(n,t,e,r){r=r===void 0?De:Number(r);var i=t/r,s=n[0]*Math.PI/180,o=ze(n[1]),a=ze(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)),f=Math.abs(c)>1e-11?u/c:Math.cos(o),p=i*Math.sin(a)/f,v=s+p;return[(v*180/Math.PI+540)%360-180,l*180/Math.PI]}function Em(n,t,e,r){const[i,s,o]=n,a=_m(Vt([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 Pf(n,t){return Cf(Vt(n),Vt(t),{units:"meters"})}function Sm(n,t,e){e===void 0&&(e={});var r;e.final?r=Nf($e(t),$e(n)):r=Nf($e(n),$e(t));var i=r>180?-(360-r):r;return i}function Nf(n,t){var e=ze(n[1]),r=ze(t[1]),i=ze(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(au(o)+360)%360}function Cm(n,t){return Sm(Vt(n),Vt(t))}function pn(n){var t=[1/0,1/0,-1/0,-1/0];return no(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}pn.default=pn;function gn(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=$e(n),i=Cr(t),s=i.type,o=t.bbox,a=i.coordinates;if(o&&Im(r,o)===!1)return!1;s==="Polygon"&&(a=[a]);for(var u=!1,l=0;l<a.length&&!u;l++)if(bf(r,a[l][0],e.ignoreBoundary)){for(var c=!1,f=1;f<a[l].length&&!c;)bf(r,a[l][f],!e.ignoreBoundary)&&(c=!0),f++;c||(u=!0)}return u}function bf(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 f=a>n[1]!=l>n[1]&&n[0]<(u-o)*(n[1]-a)/(l-a)+o;f&&(r=!r)}return r}function Im(n,t){return t[0]<=n[0]&&t[1]<=n[1]&&t[2]>=n[0]&&t[3]>=n[1]}function di(n,t,e){e===void 0&&(e={});for(var r=$e(n),i=ms(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")),Pm(i[s],i[s+1],r,o,typeof e.epsilon>"u"?null:e.epsilon))return!0}return!1}function Pm(n,t,e,r,i){var s=e[0],o=e[1],a=n[0],u=n[1],l=t[0],c=t[1],f=e[0]-a,p=e[1]-u,v=l-a,w=c-u,I=f*w-p*v;if(i!==null){if(Math.abs(I)>i)return!1}else if(I!==0)return!1;if(r){if(r==="start")return Math.abs(v)>=Math.abs(w)?v>0?a<s&&s<=l:l<=s&&s<a:w>0?u<o&&o<=c:c<=o&&o<u;if(r==="end")return Math.abs(v)>=Math.abs(w)?v>0?a<=s&&s<l:l<s&&s<=a:w>0?u<=o&&o<c:c<o&&o<=u;if(r==="both")return Math.abs(v)>=Math.abs(w)?v>0?a<s&&s<l:l<s&&s<a:w>0?u<o&&o<c:c<o&&o<u}else return Math.abs(v)>=Math.abs(w)?v>0?a<=s&&s<=l:l<=s&&s<=a:w>0?u<=o&&o<=c:c<=o&&o<=u;return!1}function Nm(n,t){var e=Cr(n),r=Cr(t),i=e.type,s=r.type,o=e.coordinates,a=r.coordinates;switch(i){case"Point":switch(s){case"Point":return Pl(o,a);default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"Point":return bm(e,r);case"MultiPoint":return Tm(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"Point":return di(r,e,{ignoreEndVertices:!0});case"LineString":return Mm(e,r);case"MultiPoint":return Om(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Point":return gn(r,e,{ignoreBoundary:!0});case"LineString":return xm(e,r);case"Polygon":return Lm(e,r);case"MultiPoint":return Dm(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function bm(n,t){var e,r=!1;for(e=0;e<n.coordinates.length;e++)if(Pl(n.coordinates[e],t.coordinates)){r=!0;break}return r}function Tm(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(Pl(i,u)){s=!0;break}}if(!s)return!1}return!0}function Om(n,t){for(var e=!1,r=0,i=t.coordinates;r<i.length;r++){var s=i[r];if(di(s,n,{ignoreEndVertices:!0})&&(e=!0),!di(s,n))return!1}return!!e}function Dm(n,t){for(var e=0,r=t.coordinates;e<r.length;e++){var i=r[e];if(!gn(i,n,{ignoreBoundary:!0}))return!1}return!0}function Mm(n,t){for(var e=!1,r=0,i=t.coordinates;r<i.length;r++){var s=i[r];if(di({type:"Point",coordinates:s},n,{ignoreEndVertices:!0})&&(e=!0),!di({type:"Point",coordinates:s},n,{ignoreEndVertices:!1}))return!1}return e}function xm(n,t){var e=!1,r=0,i=pn(n),s=pn(t);if(!Tf(i,s))return!1;for(r;r<t.coordinates.length-1;r++){var o=Am(t.coordinates[r],t.coordinates[r+1]);if(gn({type:"Point",coordinates:o},n,{ignoreBoundary:!0})){e=!0;break}}return e}function Lm(n,t){if(n.type==="Feature"&&n.geometry===null||t.type==="Feature"&&t.geometry===null)return!1;var e=pn(n),r=pn(t);if(!Tf(e,r))return!1;for(var i=Cr(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(!gn(c,n))return!1}return!0}function Tf(n,t){return!(n[0]>t[0]||n[2]<t[2]||n[1]>t[1]||n[3]<t[3])}function Pl(n,t){return n[0]===t[0]&&n[1]===t[1]}function Am(n,t){return[(n[0]+t[0])/2,(n[1]+t[1])/2]}function Rm(n,t){var e=Cr(n),r=Cr(t),i=e.type,s=r.type;switch(i){case"Point":switch(s){case"MultiPoint":return Fm(e,r);case"LineString":return di(e,r,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return gn(e,r,{ignoreBoundary:!0});default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"MultiPoint":return km(e,r);case"LineString":return Vm(e,r);case"Polygon":case"MultiPolygon":return zm(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"LineString":return Um(e,r);case"Polygon":case"MultiPolygon":return Gm(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Polygon":case"MultiPolygon":return Wm(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function Fm(n,t){var e,r=!1;for(e=0;e<t.coordinates.length;e++)if(Df(t.coordinates[e],n.coordinates)){r=!0;break}return r}function km(n,t){for(var e=0;e<n.coordinates.length;e++){for(var r=!1,i=0;i<t.coordinates.length;i++)Df(n.coordinates[e],t.coordinates[i])&&(r=!0);if(!r)return!1}return!0}function Vm(n,t){for(var e=!1,r=0;r<n.coordinates.length;r++){if(!di(n.coordinates[r],t))return!1;e||(e=di(n.coordinates[r],t,{ignoreEndVertices:!0}))}return e}function zm(n,t){for(var e=!0,r=!1,i=0;i<n.coordinates.length;i++){if(r=gn(n.coordinates[1],t),!r){e=!1;break}r=gn(n.coordinates[1],t,{ignoreBoundary:!0})}return e&&r}function Um(n,t){for(var e=0;e<n.coordinates.length;e++)if(!di(n.coordinates[e],t))return!1;return!0}function Gm(n,t){var e=pn(t),r=pn(n);if(!Of(e,r))return!1;for(var i=!1,s=0;s<n.coordinates.length-1;s++){if(!gn(n.coordinates[s],t))return!1;if(i||(i=gn(n.coordinates[s],t,{ignoreBoundary:!0})),!i){var o=qm(n.coordinates[s],n.coordinates[s+1]);i=gn(o,t,{ignoreBoundary:!0})}}return i}function Wm(n,t){var e=pn(n),r=pn(t);if(!Of(r,e))return!1;for(var i=0;i<n.coordinates[0].length;i++)if(!gn(n.coordinates[0][i],t))return!1;return!0}function Of(n,t){return!(n[0]>t[0]||n[2]<t[2]||n[1]>t[1]||n[3]<t[3])}function Df(n,t){return n[0]===t[0]&&n[1]===t[1]}function qm(n,t){return[(n[0]+t[0])/2,(n[1]+t[1])/2]}function Xm(n,t){t===void 0&&(t={});var e=pn(n),r=(e[0]+e[2])/2,i=(e[1]+e[3])/2;return Vt([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 vs=function(){};vs.prototype.interfaces_=function(){return[]},vs.prototype.getClass=function(){return vs},vs.prototype.equalsWithTolerance=function(t,e,r){return Math.abs(t-e)<=r};var Ft=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),it=function(){},Mf={MAX_VALUE:{configurable:!0}};it.isNaN=function(t){return Number.isNaN(t)},it.doubleToLongBits=function(t){return t},it.longBitsToDouble=function(t){return t},it.isInfinite=function(t){return!Number.isFinite(t)},Mf.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(it,Mf);var ur=function(){},gu=function(){},io=function(){};function lr(){}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])},ys={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 Ft("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!(!vs.equalsWithTolerance(this.x,e.x,r)||!vs.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 Ft("Invalid ordinate index: "+t)},D.prototype.equals3D=function(t){return this.x===t.x&&this.y===t.y&&(this.z===t.z||it.isNaN(this.z))&&it.isNaN(t.z)},D.prototype.equals=function(t){return t instanceof D?this.equals2D(t):!1},D.prototype.equalInZ=function(t,e){return vs.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[ur,gu,lr]},D.prototype.getClass=function(){return D},D.hashCode=function(){if(arguments.length===1){var t=arguments[0],e=it.doubleToLongBits(t);return Math.trunc((e^e)>>>32)}},ys.DimensionalComparator.get=function(){return pi},ys.serialVersionUID.get=function(){return 6683108902428367e3},ys.NULL_ORDINATE.get=function(){return it.NaN},ys.X.get=function(){return 0},ys.Y.get=function(){return 1},ys.Z.get=function(){return 2},Object.defineProperties(D,ys);var pi=function(t){if(this._dimensionsToTest=2,arguments.length!==0){if(arguments.length===1){var e=arguments[0];if(e!==2&&e!==3)throw new Ft("only 2 or 3 dimensions may be specified");this._dimensionsToTest=e}}};pi.prototype.compare=function(t,e){var r=t,i=e,s=pi.compare(r.x,i.x);if(s!==0)return s;var o=pi.compare(r.y,i.y);if(o!==0)return o;if(this._dimensionsToTest<=2)return 0;var a=pi.compare(r.z,i.z);return a},pi.prototype.interfaces_=function(){return[io]},pi.prototype.getClass=function(){return pi},pi.compare=function(t,e){return t<e?-1:t>e?1:it.isNaN(t)?it.isNaN(e)?0:-1:it.isNaN(e)?1:0};var so=function(){};so.prototype.create=function(){},so.prototype.interfaces_=function(){return[]},so.prototype.getClass=function(){return so};var R=function(){},ya={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 Ft("Unknown location value: "+t)},ya.INTERIOR.get=function(){return 0},ya.BOUNDARY.get=function(){return 1},ya.EXTERIOR.get=function(){return 2},ya.NONE.get=function(){return-1},Object.defineProperties(R,ya);var et=function(n,t){return n.interfaces_&&n.interfaces_().indexOf(t)>-1},je=function(){},xf={LOG_10:{configurable:!0}};je.prototype.interfaces_=function(){return[]},je.prototype.getClass=function(){return je},je.log10=function(t){var e=Math.log(t);return it.isInfinite(e)||it.isNaN(e)?e:e/je.LOG_10},je.min=function(t,e,r,i){var s=t;return e<s&&(s=e),r<s&&(s=r),i<s&&(s=i),s},je.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}},je.wrap=function(t,e){return t<0?e- -t%e:t%e},je.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}},je.average=function(t,e){return(t+e)/2},xf.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(je,xf);var kr=function(t){this.str=t};kr.prototype.append=function(t){this.str+=t},kr.prototype.setCharAt=function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)},kr.prototype.toString=function(t){return this.str};var Vr=function(t){this.value=t};Vr.prototype.intValue=function(){return this.value},Vr.prototype.compareTo=function(t){return this.value<t?-1:this.value>t?1:0},Vr.isNaN=function(t){return Number.isNaN(t)};var _a=function(){};_a.isWhitespace=function(t){return t<=32&&t>=0||t===127},_a.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)}},Ir={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 kr,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 f=!1,p=0;c>9?(f=!0,p="9"):p="0"+c,a.append(p),r=r.subtract(k.valueOf(c)).multiply(k.TEN),f&&r.selfAdd(k.TEN);var v=!0,w=k.magnitude(r._hi);if(w<0&&Math.abs(w)>=u-l&&(v=!1),!v)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,f=null,p=null;return l=this._hi/r,c=k.SPLIT*l,s=c-l,p=k.SPLIT*r,s=c-s,o=l-s,a=p-r,f=l*r,a=p-a,u=r-a,p=s*a-f+s*u+o*a+o*u,c=(this._hi-f-p+this._lo-l*i)/r,p=l+c,this._hi=p,this._lo=l-p+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,f=o-l+a;return new k(c,f)}else if(typeof arguments[0]=="number"){var p=arguments[0];return it.isNaN(p)?k.createNaN():k.copy(this).selfDivide(p,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],f=null,p=null,v=null,w=null,I=null,P=null,M=null,m=null;I=this._hi+l,v=this._lo+c,M=I-this._hi,m=v-this._lo,P=I-M,w=v-m,P=l-M+(this._hi-P),w=c-m+(this._lo-w),M=P+v,f=I+M,p=M+(I-f),M=w+p;var _=f+M,g=M+(f-_);return this._hi=_,this._lo=g,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 f=l+c;s=l-f;var p=c+s;return this._hi=f,this._lo=p,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 it.isNaN(e)?k.createNaN():k.copy(this).selfMultiply(e,0)}},k.prototype.isNaN=function(){return it.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[lr,ur,gu]},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;_a.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++,_a.isDigit(c)){var f=c-"0";o.selfMultiply(k.TEN),o.selfAdd(f),a++;continue}if(c==="."){u=a;continue}if(c==="e"||c==="E"){var p=t.substring(e);try{l=Vr.parseInt(p)}catch(M){throw M instanceof Error?new Error("Invalid exponent "+p+" in string "+t):M}finally{}break}throw new Error("Unexpected character '"+c+"' at position "+e+" in string "+t)}var v=o,w=a-u-l;if(w===0)v=o;else if(w>0){var I=k.TEN.pow(w);v=o.divide(I)}else if(w<0){var P=k.TEN.pow(-w);v=o.multiply(P)}return i?v.negate():v},k.createNaN=function(){return new k(it.NaN,it.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 kr,i=0;i<e;i++)r.append(t);return r.toString()},Ir.PI.get=function(){return new k(3.141592653589793,12246467991473532e-32)},Ir.TWO_PI.get=function(){return new k(6.283185307179586,24492935982947064e-32)},Ir.PI_2.get=function(){return new k(1.5707963267948966,6123233995736766e-32)},Ir.E.get=function(){return new k(2.718281828459045,14456468917292502e-32)},Ir.NaN.get=function(){return new k(it.NaN,it.NaN)},Ir.EPS.get=function(){return 123259516440783e-46},Ir.SPLIT.get=function(){return 134217729},Ir.MAX_PRINT_DIGITS.get=function(){return 32},Ir.TEN.get=function(){return k.valueOf(10)},Ir.ONE.get=function(){return k.valueOf(1)},Ir.SCI_NOT_EXPONENT_CHAR.get=function(){return"E"},Ir.SCI_NOT_ZERO.get=function(){return"0.0E0"},Object.defineProperties(k,Ir);var Me=function(){},Lf={DP_SAFE_EPSILON:{configurable:!0}};Me.prototype.interfaces_=function(){return[]},Me.prototype.getClass=function(){return Me},Me.orientationIndex=function(t,e,r){var i=Me.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()},Me.signOfDet2x2=function(t,e,r,i){var s=t.multiply(i).selfSubtract(e.multiply(r));return s.signum()},Me.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),f=c.selfDivide(a).doubleValue(),p=k.valueOf(t.x).selfAdd(k.valueOf(e.x).selfSubtract(t.x).selfMultiply(f)).doubleValue(),v=k.valueOf(e.x).selfSubtract(t.x).selfMultiply(k.valueOf(t.y).selfSubtract(r.y)),w=k.valueOf(e.y).selfSubtract(t.y).selfMultiply(k.valueOf(t.x).selfSubtract(r.x)),I=v.subtract(w),P=I.selfDivide(a).doubleValue(),M=k.valueOf(r.y).selfAdd(k.valueOf(i.y).selfSubtract(r.y).selfMultiply(P)).doubleValue();return new D(p,M)},Me.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 Me.signum(a);i=s+o}else if(s<0){if(o>=0)return Me.signum(a);i=-s-o}else return Me.signum(a);var u=Me.DP_SAFE_EPSILON*i;return a>=u||-a>=u?Me.signum(a):2},Me.signum=function(t){return t>0?1:t<0?-1:0},Lf.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(Me,Lf);var vt=function(){},wa={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};wa.X.get=function(){return 0},wa.Y.get=function(){return 1},wa.Z.get=function(){return 2},wa.M.get=function(){return 3},vt.prototype.setOrdinate=function(t,e,r){},vt.prototype.size=function(){},vt.prototype.getOrdinate=function(t,e){},vt.prototype.getCoordinate=function(){},vt.prototype.getCoordinateCopy=function(t){},vt.prototype.getDimension=function(){},vt.prototype.getX=function(t){},vt.prototype.clone=function(){},vt.prototype.expandEnvelope=function(t){},vt.prototype.copy=function(){},vt.prototype.getY=function(t){},vt.prototype.toCoordinateArray=function(){},vt.prototype.interfaces_=function(){return[gu]},vt.prototype.getClass=function(){return vt},Object.defineProperties(vt,wa);var Af=function(){},oo=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}(Af),ue=function(){};ue.arraycopy=function(t,e,r,i,s){for(var o=0,a=e;a<e+s;a++)r[i+o]=t[a],o++},ue.getProperty=function(t){return{"line.separator":`
|
|
4
|
-
`}[t]};var Pr=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 f=arguments[0],p=arguments[1],v=arguments[2],w=arguments[3],I=f.y-p.y,P=p.x-f.x,M=f.x*p.y-p.x*f.y,m=v.y-w.y,_=w.x-v.x,g=v.x*w.y-w.x*v.y;this.x=P*g-_*M,this.y=m*M-I*g,this.w=I*_-m*P}};Pr.prototype.getY=function(){var t=this.y/this.w;if(it.isNaN(t)||it.isInfinite(t))throw new oo;return t},Pr.prototype.getX=function(){var t=this.x/this.w;if(it.isNaN(t)||it.isInfinite(t))throw new oo;return t},Pr.prototype.getCoordinate=function(){var t=new D;return t.x=this.getX(),t.y=this.getY(),t},Pr.prototype.interfaces_=function(){return[]},Pr.prototype.getClass=function(){return Pr},Pr.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,f=o*c-l*a,p=u*a-s*c,v=s*l-u*o,w=f/v,I=p/v;if(it.isNaN(w)||it.isInfinite(w)||it.isNaN(I)||it.isInfinite(I))throw new oo;return new D(w,I)};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)}},Rf={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[ur,lr]},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),f=Math.max(i.x,s.x);return!(c>l||f<u||(u=Math.min(o.y,a.y),l=Math.max(o.y,a.y),c=Math.min(i.y,s.y),f=Math.max(i.y,s.y),c>l)||f<u)}},Rf.serialVersionUID.get=function(){return 5873921885273102e3},Object.defineProperties(J,Rf);var zr={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 ft};mu.prototype.read=function(t){var e,r,i;t=t.replace(/[\n\r]/g," ");var s=zr.typeStr.exec(t);if(t.search("EMPTY")!==-1&&(s=zr.emptyTypeStr.exec(t),s[2]=void 0),s&&(r=s[1].toLowerCase(),i=s[2],ao[r]&&(e=ao[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(!Gn[e])return null;var r=e.toUpperCase(),i;return t.isEmpty()?i=r+" EMPTY":i=r+"("+Gn[e].apply(this,[t])+")",i};var Gn={coordinate:function(t){return t.x+" "+t.y},point:function(t){return Gn.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("("+Gn.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(Gn.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(Gn.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("("+Gn.linestring.apply(e,[t._geometries[i]])+")");return r.join(",")},polygon:function(t){var e=this,r=[];r.push("("+Gn.linestring.apply(this,[t._shell])+")");for(var i=0,s=t._holes.length;i<s;++i)r.push("("+Gn.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("("+Gn.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(",")}},ao={point:function(t){if(t===void 0)return this.geometryFactory.createPoint();var e=t.trim().split(zr.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(zr.trimParens,"$1"),s.push(ao.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(zr.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(zr.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(zr.parenComma),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(zr.trimParens,"$1"),s.push(ao.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(zr.parenComma),a,u=[],l=0,c=o.length;l<c;++l)r=o[l].replace(zr.trimParens,"$1"),i=ao.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(zr.doubleParenComma),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(zr.trimParens,"$1"),s.push(ao.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)}},Nr=function(t){this.parser=new mu(t)};Nr.prototype.write=function(t){return this.parser.write(t)},Nr.toLineString=function(t,e){if(arguments.length!==2)throw new Error("Not implemented");return"LINESTRING ( "+t.x+" "+t.y+", "+e.x+" "+e.y+" )"};var Wn=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),vu=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}(Wn),ut=function(){};ut.prototype.interfaces_=function(){return[]},ut.prototype.getClass=function(){return ut},ut.shouldNeverReachHere=function(){if(arguments.length===0)ut.shouldNeverReachHere(null);else if(arguments.length===1){var t=arguments[0];throw new vu("Should never reach here"+(t!==null?": "+t:""))}},ut.isTrue=function(){var t,e;if(arguments.length===1)t=arguments[0],ut.isTrue(t,null);else if(arguments.length===2&&(t=arguments[0],e=arguments[1],!t))throw e===null?new vu:new vu(e)},ut.equals=function(){var t,e,r;if(arguments.length===2)t=arguments[0],e=arguments[1],ut.equals(t,e,null);else if(arguments.length===3&&(t=arguments[0],e=arguments[1],r=arguments[2],!e.equals(t)))throw new vu("Expected "+t+" but encountered "+e+(r!==null?": "+r:""))};var zt=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},_s={DONT_INTERSECT:{configurable:!0},DO_INTERSECT:{configurable:!0},COLLINEAR:{configurable:!0},NO_INTERSECTION:{configurable:!0},POINT_INTERSECTION:{configurable:!0},COLLINEAR_INTERSECTION:{configurable:!0}};zt.prototype.getIndexAlongSegment=function(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]},zt.prototype.getTopologySummary=function(){var t=new kr;return this.isEndPoint()&&t.append(" endpoint"),this._isProper&&t.append(" proper"),this.isCollinear()&&t.append(" collinear"),t.toString()},zt.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)},zt.prototype.getIntersectionNum=function(){return this._result},zt.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)}},zt.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},zt.prototype.setPrecisionModel=function(t){this._precisionModel=t},zt.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}},zt.prototype.getIntersection=function(t){return this._intPt[t]},zt.prototype.isEndPoint=function(){return this.hasIntersection()&&!this._isProper},zt.prototype.hasIntersection=function(){return this._result!==zt.NO_INTERSECTION},zt.prototype.getEdgeDistance=function(t,e){var r=zt.computeEdgeDistance(this._intPt[e],this._inputLines[t][0],this._inputLines[t][1]);return r},zt.prototype.isCollinear=function(){return this._result===zt.COLLINEAR_INTERSECTION},zt.prototype.toString=function(){return Nr.toLineString(this._inputLines[0][0],this._inputLines[0][1])+" - "+Nr.toLineString(this._inputLines[1][0],this._inputLines[1][1])+this.getTopologySummary()},zt.prototype.getEndpoint=function(t,e){return this._inputLines[t][e]},zt.prototype.isIntersection=function(t){for(var e=this,r=0;r<this._result;r++)if(e._intPt[r].equals2D(t))return!0;return!1},zt.prototype.getIntersectionAlongSegment=function(t,e){return this.computeIntLineIndex(),this._intPt[this._intLineIndex[t][e]]},zt.prototype.interfaces_=function(){return[]},zt.prototype.getClass=function(){return zt},zt.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 ut.isTrue(!(o===0&&!t.equals(e)),"Bad distance calculation"),o},zt.nonRobustComputeEdgeDistance=function(t,e,r){var i=t.x-e.x,s=t.y-e.y,o=Math.sqrt(i*i+s*s);return ut.isTrue(!(o===0&&!t.equals(e)),"Invalid distance calculation"),o},_s.DONT_INTERSECT.get=function(){return 0},_s.DO_INTERSECT.get=function(){return 1},_s.COLLINEAR.get=function(){return 2},_s.NO_INTERSECTION.get=function(){return 0},_s.POINT_INTERSECTION.get=function(){return 1},_s.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(zt,_s);var ki=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)&&G.orientationIndex(i,s,r)===0&&G.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=Pr.intersection(r,i,s,o)}catch(u){if(u instanceof oo)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=Me.intersection(r,i,s,o),l=this.isInSegmentEnvelopes(u);ue.out.println("DD in env = "+l+" --------------------- "+u),a.distance(u)>1e-4&&ue.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),f=new D;this.normalizeToEnvCentre(a,u,l,c,f);var p=this.safeHCoordinateIntersection(a,u,l,c);return p.x+=f.x,p.y+=f.y,p},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,f=r.y>i.y?r.y:i.y,p=s.x<o.x?s.x:o.x,v=s.y<o.y?s.y:o.y,w=s.x>o.x?s.x:o.x,I=s.y>o.y?s.y:o.y,P=u>p?u:p,M=c<w?c:w,m=l>v?l:v,_=f<I?f:I,g=(P+M)/2,y=(m+_)/2;a.x=g,a.y=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=G.orientationIndex(r,i,s),u=G.orientationIndex(r,i,o);if(a>0&&u>0||a<0&&u<0)return n.NO_INTERSECTION;var l=G.orientationIndex(s,o,r),c=G.orientationIndex(s,o,i);if(l>0&&c>0||l<0&&c<0)return n.NO_INTERSECTION;var f=a===0&&u===0&&l===0&&c===0;return f?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=G.distancePointLine(r,s,o),l=G.distancePointLine(i,s,o);return l<u&&(u=l,a=i),l=G.distancePointLine(s,r,i),l<u&&(u=l,a=s),l=G.distancePointLine(o,r,i),l<u&&(u=l,a=o),a},t}(zt),ws=function(){};ws.prototype.interfaces_=function(){return[]},ws.prototype.getClass=function(){return ws},ws.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 ws.signOfDet2x2(i,s,o,a)},ws.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 Ur=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var t=arguments[0];this._p=t};Ur.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=ws.signOfDet2x2(s,o,a,u);if(l===0)return this._isPointOnSegment=!0,null;u<o&&(l=-l),l>0&&this._crossingCount++}},Ur.prototype.isPointInPolygon=function(){return this.getLocation()!==R.EXTERIOR},Ur.prototype.getLocation=function(){return this._isPointOnSegment?R.BOUNDARY:this._crossingCount%2===1?R.INTERIOR:R.EXTERIOR},Ur.prototype.isOnSegment=function(){return this._isPointOnSegment},Ur.prototype.interfaces_=function(){return[]},Ur.prototype.getClass=function(){return Ur},Ur.locatePointInRing=function(){if(arguments[0]instanceof D&&et(arguments[1],vt)){for(var t=arguments[0],e=arguments[1],r=new Ur(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 Ur(a),c=1;c<u.length;c++){var f=u[c],p=u[c-1];if(l.countSegment(f,p),l.isOnSegment())return l.getLocation()}return l.getLocation()}};var G=function(){},Es={CLOCKWISE:{configurable:!0},RIGHT:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},LEFT:{configurable:!0},COLLINEAR:{configurable:!0},STRAIGHT:{configurable:!0}};G.prototype.interfaces_=function(){return[]},G.prototype.getClass=function(){return G},G.orientationIndex=function(t,e,r){return Me.orientationIndex(t,e,r)},G.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(et(arguments[0],vt)){var u=arguments[0],l=u.size();if(l<3)return 0;var c=new D,f=new D,p=new D;u.getCoordinate(0,f),u.getCoordinate(1,p);var v=f.x;p.x-=v;for(var w=0,I=1;I<l-1;I++)c.y=f.y,f.x=p.x,f.y=p.y,u.getCoordinate(I+1,p),p.x-=v,w+=f.x*(c.y-p.y);return w/2}},G.distanceLineLine=function(t,e,r,i){if(t.equals(e))return G.distancePointLine(t,r,i);if(r.equals(i))return G.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?je.min(G.distancePointLine(t,r,i),G.distancePointLine(e,r,i),G.distancePointLine(r,t,e),G.distancePointLine(i,t,e)):0},G.isPointInRing=function(t,e){return G.locatePointInRing(t,e)!==R.EXTERIOR},G.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,f=l-o;r+=Math.sqrt(c*c+f*f),s=u,o=l}return r},G.isCCW=function(t){var e=t.length-1;if(e<3)throw new Ft("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 f=G.computeOrientation(l,r,c),p=!1;return f===0?p=l.x>c.x:p=f>0,p},G.locatePointInRing=function(t,e){return Ur.locatePointInRing(t,e)},G.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)},G.computeOrientation=function(t,e,r){return G.orientationIndex(t,e,r)},G.distancePointLine=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1];if(e.length===0)throw new Ft("Line array must contain at least one vertex");for(var r=t.distance(e[0]),i=0;i<e.length-1;i++){var s=G.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 f=((a.y-o.y)*(u.x-a.x)-(a.x-o.x)*(u.y-a.y))/l;return Math.abs(f)*Math.sqrt(l)}},G.isOnLine=function(t,e){for(var r=new ki,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},Es.CLOCKWISE.get=function(){return-1},Es.RIGHT.get=function(){return G.CLOCKWISE},Es.COUNTERCLOCKWISE.get=function(){return 1},Es.LEFT.get=function(){return G.COUNTERCLOCKWISE},Es.COLLINEAR.get=function(){return 0},Es.STRAIGHT.get=function(){return G.COLLINEAR},Object.defineProperties(G,Es);var qn=function(){};qn.prototype.filter=function(t){},qn.prototype.interfaces_=function(){return[]},qn.prototype.getClass=function(){return qn};var tt=function(){var t=arguments[0];this._envelope=null,this._factory=null,this._SRID=null,this._userData=null,this._factory=t,this._SRID=t.getSRID()},mn={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}};tt.prototype.isGeometryCollection=function(){return this.getSortIndex()===tt.SORTINDEX_GEOMETRYCOLLECTION},tt.prototype.getFactory=function(){return this._factory},tt.prototype.getGeometryN=function(t){return this},tt.prototype.getArea=function(){return 0},tt.prototype.isRectangle=function(){return!1},tt.prototype.equals=function(){if(arguments[0]instanceof tt){var t=arguments[0];return t===null?!1:this.equalsTopo(t)}else if(arguments[0]instanceof Object){var e=arguments[0];if(!(e instanceof tt))return!1;var r=e;return this.equalsExact(r)}},tt.prototype.equalsExact=function(t){return this===t||this.equalsExact(t,0)},tt.prototype.geometryChanged=function(){this.apply(tt.geometryChangedFilter)},tt.prototype.geometryChangedAction=function(){this._envelope=null},tt.prototype.equalsNorm=function(t){return t===null?!1:this.norm().equalsExact(t.norm())},tt.prototype.getLength=function(){return 0},tt.prototype.getNumGeometries=function(){return 1},tt.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)}},tt.prototype.getUserData=function(){return this._userData},tt.prototype.getSRID=function(){return this._SRID},tt.prototype.getEnvelope=function(){return this.getFactory().toGeometry(this.getEnvelopeInternal())},tt.prototype.checkNotGeometryCollection=function(t){if(t.getSortIndex()===tt.SORTINDEX_GEOMETRYCOLLECTION)throw new Ft("This method does not support GeometryCollection arguments")},tt.prototype.equal=function(t,e,r){return r===0?t.equals(e):t.distance(e)<=r},tt.prototype.norm=function(){var t=this.copy();return t.normalize(),t},tt.prototype.getPrecisionModel=function(){return this._factory.getPrecisionModel()},tt.prototype.getEnvelopeInternal=function(){return this._envelope===null&&(this._envelope=this.computeEnvelopeInternal()),new J(this._envelope)},tt.prototype.setSRID=function(t){this._SRID=t},tt.prototype.setUserData=function(t){this._userData=t},tt.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},tt.prototype.hashCode=function(){return this.getEnvelopeInternal().hashCode()},tt.prototype.isGeometryCollectionOrDerived=function(){return this.getSortIndex()===tt.SORTINDEX_GEOMETRYCOLLECTION||this.getSortIndex()===tt.SORTINDEX_MULTIPOINT||this.getSortIndex()===tt.SORTINDEX_MULTILINESTRING||this.getSortIndex()===tt.SORTINDEX_MULTIPOLYGON},tt.prototype.interfaces_=function(){return[gu,ur,lr]},tt.prototype.getClass=function(){return tt},tt.hasNonEmptyElements=function(t){for(var e=0;e<t.length;e++)if(!t[e].isEmpty())return!0;return!1},tt.hasNullElements=function(t){for(var e=0;e<t.length;e++)if(t[e]===null)return!0;return!1},mn.serialVersionUID.get=function(){return 8763622679187377e3},mn.SORTINDEX_POINT.get=function(){return 0},mn.SORTINDEX_MULTIPOINT.get=function(){return 1},mn.SORTINDEX_LINESTRING.get=function(){return 2},mn.SORTINDEX_LINEARRING.get=function(){return 3},mn.SORTINDEX_MULTILINESTRING.get=function(){return 4},mn.SORTINDEX_POLYGON.get=function(){return 5},mn.SORTINDEX_MULTIPOLYGON.get=function(){return 6},mn.SORTINDEX_GEOMETRYCOLLECTION.get=function(){return 7},mn.geometryChangedFilter.get=function(){return Nl},Object.defineProperties(tt,mn);var Nl=function(){};Nl.interfaces_=function(){return[qn]},Nl.filter=function(t){t.geometryChangedAction()};var vn=function(){};vn.prototype.filter=function(t){},vn.prototype.interfaces_=function(){return[]},vn.prototype.getClass=function(){return vn};var cr=function(){},Xn={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}};cr.prototype.isInBoundary=function(t){},cr.prototype.interfaces_=function(){return[]},cr.prototype.getClass=function(){return cr},Xn.Mod2BoundaryNodeRule.get=function(){return uo},Xn.EndPointBoundaryNodeRule.get=function(){return lo},Xn.MultiValentEndPointBoundaryNodeRule.get=function(){return co},Xn.MonoValentEndPointBoundaryNodeRule.get=function(){return ho},Xn.MOD2_BOUNDARY_RULE.get=function(){return new uo},Xn.ENDPOINT_BOUNDARY_RULE.get=function(){return new lo},Xn.MULTIVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new co},Xn.MONOVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new ho},Xn.OGC_SFS_BOUNDARY_RULE.get=function(){return cr.MOD2_BOUNDARY_RULE},Object.defineProperties(cr,Xn);var uo=function(){};uo.prototype.isInBoundary=function(t){return t%2===1},uo.prototype.interfaces_=function(){return[cr]},uo.prototype.getClass=function(){return uo};var lo=function(){};lo.prototype.isInBoundary=function(t){return t>0},lo.prototype.interfaces_=function(){return[cr]},lo.prototype.getClass=function(){return lo};var co=function(){};co.prototype.isInBoundary=function(t){return t>1},co.prototype.interfaces_=function(){return[cr]},co.prototype.getClass=function(){return co};var ho=function(){};ho.prototype.isInBoundary=function(t){return t===1},ho.prototype.interfaces_=function(){return[cr]},ho.prototype.getClass=function(){return ho};var Bt=function(){};Bt.prototype.add=function(){},Bt.prototype.addAll=function(){},Bt.prototype.isEmpty=function(){},Bt.prototype.iterator=function(){},Bt.prototype.size=function(){},Bt.prototype.toArray=function(){},Bt.prototype.remove=function(){};function bl(n){this.message=n||""}bl.prototype=new Error,bl.prototype.name="IndexOutOfBoundsException";var fo=function(){};fo.prototype.hasNext=function(){},fo.prototype.next=function(){},fo.prototype.remove=function(){};var br=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}(Bt);function po(n){this.message=n||""}po.prototype=new Error,po.prototype.name="NoSuchElementException";var z=function(n){function t(){n.call(this),this.array_=[],arguments[0]instanceof Bt&&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,Bt]},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 Ym(this)},t.prototype.get=function(r){if(r<0||r>=this.size())throw new bl;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}(br),Ym=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 po;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}(fo),Ea=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 f=arguments[0],p=arguments[1];return this.add(f,p),!0}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var v=arguments[0],w=arguments[1],I=arguments[2];if(I)for(var P=0;P<v.length;P++)i.add(v[P],w);else for(var M=v.length-1;M>=0;M--)i.add(v[M],w);return!0}else if(typeof arguments[2]=="boolean"&&Number.isInteger(arguments[0])&&arguments[1]instanceof D){var m=arguments[0],_=arguments[1],g=arguments[2];if(!g){var y=this.size();if(y>0){if(m>0){var E=this.get(m-1);if(E.equals2D(_))return null}if(m<y){var S=this.get(m);if(S.equals2D(_))return null}}}n.prototype.add.call(this,m,_)}}else if(arguments.length===4){var N=arguments[0],T=arguments[1],x=arguments[2],b=arguments[3],O=1;x>b&&(O=-1);for(var A=x;A!==b;A+=O)i.add(N[A],T);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}(z),ht=function(){},yu={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};yu.ForwardComparator.get=function(){return Sa},yu.BidirectionalComparator.get=function(){return go},yu.coordArrayType.get=function(){return new Array(0).fill(null)},ht.prototype.interfaces_=function(){return[]},ht.prototype.getClass=function(){return ht},ht.isRing=function(t){return!(t.length<4||!t[0].equals2D(t[t.length-1]))},ht.ptNotInList=function(t,e){for(var r=0;r<t.length;r++){var i=t[r];if(ht.indexOf(i,e)<0)return i}return null},ht.scroll=function(t,e){var r=ht.indexOf(e,t);if(r<0)return null;var i=new Array(t.length).fill(null);ue.arraycopy(t,r,i,0,t.length-r),ue.arraycopy(t,0,i,t.length-r,r),ue.arraycopy(i,0,t,0,t.length)},ht.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}},ht.intersection=function(t,e){for(var r=new Ea,i=0;i<t.length;i++)e.intersects(t[i])&&r.add(t[i],!0);return r.toCoordinateArray()},ht.hasRepeatedPoints=function(t){for(var e=1;e<t.length;e++)if(t[e-1].equals(t[e]))return!0;return!1},ht.removeRepeatedPoints=function(t){if(!ht.hasRepeatedPoints(t))return t;var e=new Ea(t,!1);return e.toCoordinateArray()},ht.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}},ht.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},ht.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])},ht.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},ht.envelope=function(t){for(var e=new J,r=0;r<t.length;r++)e.expandToInclude(t[r]);return e},ht.toCoordinateArray=function(t){return t.toArray(ht.coordArrayType)},ht.atLeastNCoordinatesOrNothing=function(t,e){return e.length>=t?e:[]},ht.indexOf=function(t,e){for(var r=0;r<e.length;r++)if(t.equals(e[r]))return r;return-1},ht.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},ht.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},ht.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},ht.extract=function(t,e,r){e=je.clamp(e,0,t.length),r=je.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(ht,yu);var Sa=function(){};Sa.prototype.compare=function(t,e){var r=t,i=e;return ht.compare(r,i)},Sa.prototype.interfaces_=function(){return[io]},Sa.prototype.getClass=function(){return Sa};var go=function(){};go.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=ht.compare(r,i),o=ht.isEqualReversed(r,i);return o?0:s},go.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=ht.increasingDirection(r),o=ht.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},go.prototype.interfaces_=function(){return[io]},go.prototype.getClass=function(){return go};var Ss=function(){};Ss.prototype.get=function(){},Ss.prototype.put=function(){},Ss.prototype.size=function(){},Ss.prototype.values=function(){},Ss.prototype.entrySet=function(){};var Hm=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}(Ss);function Ca(n){this.message=n||""}Ca.prototype=new Error,Ca.prototype.name="OperationNotSupported";function _u(){}_u.prototype=new Bt,_u.prototype.contains=function(){};var Tl=function(n){function t(){n.call(this),this.array_=[],arguments[0]instanceof Bt&&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 Jm(this)},t}(_u),Jm=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 po;return this.hashSet_.array_[this.position_++]},t.prototype.hasNext=function(){return this.position_<this.hashSet_.size()},t.prototype.remove=function(){throw new Ca},t}(fo),Yn=0,Vi=1;function Ff(n){return n===null?Yn:n.color}function Mt(n){return n===null?null:n.parent}function Hn(n,t){n!==null&&(n.color=t)}function Ol(n){return n===null?null:n.left}function kf(n){return n===null?null:n.right}function me(){this.root_=null,this.size_=0}me.prototype=new Hm,me.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},me.prototype.put=function(n,t){if(this.root_===null)return this.root_={key:n,value:t,left:null,right:null,parent:null,color:Yn,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:Yn,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},me.prototype.fixAfterInsertion=function(n){var t=this;for(n.color=Vi;n!=null&&n!==this.root_&&n.parent.color===Vi;)if(Mt(n)===Ol(Mt(Mt(n)))){var e=kf(Mt(Mt(n)));Ff(e)===Vi?(Hn(Mt(n),Yn),Hn(e,Yn),Hn(Mt(Mt(n)),Vi),n=Mt(Mt(n))):(n===kf(Mt(n))&&(n=Mt(n),t.rotateLeft(n)),Hn(Mt(n),Yn),Hn(Mt(Mt(n)),Vi),t.rotateRight(Mt(Mt(n))))}else{var r=Ol(Mt(Mt(n)));Ff(r)===Vi?(Hn(Mt(n),Yn),Hn(r,Yn),Hn(Mt(Mt(n)),Vi),n=Mt(Mt(n))):(n===Ol(Mt(n))&&(n=Mt(n),t.rotateRight(n)),Hn(Mt(n),Yn),Hn(Mt(Mt(n)),Vi),t.rotateLeft(Mt(Mt(n))))}this.root_.color=Yn},me.prototype.values=function(){var n=new z,t=this.getFirstEntry();if(t!==null)for(n.add(t.value);(t=me.successor(t))!==null;)n.add(t.value);return n},me.prototype.entrySet=function(){var n=new Tl,t=this.getFirstEntry();if(t!==null)for(n.add(t);(t=me.successor(t))!==null;)n.add(t);return n},me.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}},me.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}},me.prototype.getFirstEntry=function(){var n=this.root_;if(n!=null)for(;n.left!=null;)n=n.left;return n},me.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}},me.prototype.size=function(){return this.size_};var Ia=function(){};Ia.prototype.interfaces_=function(){return[]},Ia.prototype.getClass=function(){return Ia};function Vf(){}Vf.prototype=new _u;function Gr(){this.array_=[],arguments[0]instanceof Bt&&this.addAll(arguments[0])}Gr.prototype=new Vf,Gr.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},Gr.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},Gr.prototype.addAll=function(n){for(var t=this,e=n.iterator();e.hasNext();)t.add(e.next());return!0},Gr.prototype.remove=function(n){throw new Ca},Gr.prototype.size=function(){return this.array_.length},Gr.prototype.isEmpty=function(){return this.array_.length===0},Gr.prototype.toArray=function(){for(var n=this,t=[],e=0,r=this.array_.length;e<r;e++)t.push(n.array_[e]);return t},Gr.prototype.iterator=function(){return new wu(this)};var wu=function(n){this.treeSet_=n,this.position_=0};wu.prototype.next=function(){if(this.position_===this.treeSet_.size())throw new po;return this.treeSet_.array_[this.position_++]},wu.prototype.hasNext=function(){return this.position_<this.treeSet_.size()},wu.prototype.remove=function(){throw new Ca};var zi=function(){};zi.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])},zi.asList=function(t){for(var e=new z,r=0,i=t.length;r<i;r++)e.add(t[r]);return e};var St=function(){},Tr={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}};Tr.P.get=function(){return 0},Tr.L.get=function(){return 1},Tr.A.get=function(){return 2},Tr.FALSE.get=function(){return-1},Tr.TRUE.get=function(){return-2},Tr.DONTCARE.get=function(){return-3},Tr.SYM_FALSE.get=function(){return"F"},Tr.SYM_TRUE.get=function(){return"T"},Tr.SYM_DONTCARE.get=function(){return"*"},Tr.SYM_P.get=function(){return"0"},Tr.SYM_L.get=function(){return"1"},Tr.SYM_A.get=function(){return"2"},St.prototype.interfaces_=function(){return[]},St.prototype.getClass=function(){return St},St.toDimensionSymbol=function(t){switch(t){case St.FALSE:return St.SYM_FALSE;case St.TRUE:return St.SYM_TRUE;case St.DONTCARE:return St.SYM_DONTCARE;case St.P:return St.SYM_P;case St.L:return St.SYM_L;case St.A:return St.SYM_A}throw new Ft("Unknown dimension value: "+t)},St.toDimensionValue=function(t){switch(_a.toUpperCase(t)){case St.SYM_FALSE:return St.FALSE;case St.SYM_TRUE:return St.TRUE;case St.SYM_DONTCARE:return St.DONTCARE;case St.SYM_P:return St.P;case St.SYM_L:return St.L;case St.SYM_A:return St.A}throw new Ft("Unknown dimension symbol: "+t)},Object.defineProperties(St,Tr);var Wr=function(){};Wr.prototype.filter=function(t){},Wr.prototype.interfaces_=function(){return[]},Wr.prototype.getClass=function(){return Wr};var Or=function(){};Or.prototype.filter=function(t,e){},Or.prototype.isDone=function(){},Or.prototype.isGeometryChanged=function(){},Or.prototype.interfaces_=function(){return[]},Or.prototype.getClass=function(){return Or};var Ee=function(n){function t(r,i){if(n.call(this,i),this._geometries=r||[],n.hasNullElements(this._geometries))throw new Ft("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();zi.sort(this._geometries)},t.prototype.getCoordinate=function(){return this.isEmpty()?null:this._geometries[0].getCoordinate()},t.prototype.getBoundaryDimension=function(){for(var i=this,s=St.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=St.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 Gr(zi.asList(this._geometries)),a=new Gr(zi.asList(s._geometries));return this.compare(o,a)}else if(arguments.length===2){for(var u=arguments[0],l=arguments[1],c=u,f=this.getNumGeometries(),p=c.getNumGeometries(),v=0;v<f&&v<p;){var w=i.getGeometryN(v),I=c.getGeometryN(v),P=w.compareToSameClass(I,l);if(P!==0)return P;v++}return v<f?1:v<p?-1:0}},t.prototype.apply=function(){var i=this;if(et(arguments[0],vn))for(var s=arguments[0],o=0;o<this._geometries.length;o++)i._geometries[o].apply(s);else if(et(arguments[0],Or)){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(et(arguments[0],Wr)){var l=arguments[0];l.filter(this);for(var c=0;c<this._geometries.length;c++)i._geometries[c].apply(l)}else if(et(arguments[0],qn)){var f=arguments[0];f.filter(this);for(var p=0;p<this._geometries.length;p++)i._geometries[p].apply(f)}},t.prototype.getBoundary=function(){return this.checkNotGeometryCollection(this),ut.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}(tt),Ui=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 tt.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()?St.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 hr(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[Ia]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return 8166665132445434e3},Object.defineProperties(t,e),t}(Ee),hr=function(){if(this._geom=null,this._geomFact=null,this._bnRule=null,this._endpointMap=null,arguments.length===1){var t=arguments[0],e=cr.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}};hr.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)},hr.prototype.getBoundary=function(){return this._geom instanceof Gt?this.boundaryLineString(this._geom):this._geom instanceof Ui?this.boundaryMultiLineString(this._geom):this._geom.getBoundary()},hr.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()])},hr.prototype.getEmptyMultiPoint=function(){return this._geomFact.createMultiPoint()},hr.prototype.computeBoundaryCoordinates=function(t){var e=this,r=new z;this._endpointMap=new me;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 ht.toCoordinateArray(r)},hr.prototype.addEndpoint=function(t){var e=this._endpointMap.get(t);e===null&&(e=new Eu,this._endpointMap.put(t,e)),e.count++},hr.prototype.interfaces_=function(){return[]},hr.prototype.getClass=function(){return hr},hr.getBoundary=function(){if(arguments.length===1){var t=arguments[0],e=new hr(t);return e.getBoundary()}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=new hr(r,i);return s.getBoundary()}};var Eu=function(){this.count=null};Eu.prototype.interfaces_=function(){return[]},Eu.prototype.getClass=function(){return Eu};function Zm(){}function Km(){}var Qm=function(){};function Bm(){}function $m(){}function jm(){}var fr=function(){},Dl={NEWLINE:{configurable:!0},SIMPLE_ORDINATE_FORMAT:{configurable:!0}};fr.prototype.interfaces_=function(){return[]},fr.prototype.getClass=function(){return fr},fr.chars=function(t,e){for(var r=new Array(e).fill(null),i=0;i<e;i++)r[i]=t;return String(r)},fr.getStackTrace=function(){if(arguments.length===1){var t=arguments[0],e=new Bm,r=new Zm;return t.printStackTrace(r),e.toString()}else if(arguments.length===2){var i=arguments[0],s=arguments[1],o="";new Km(fr.getStackTrace(i));for(var a=new jm,u=0;u<s;u++)try{o+=a.readLine()+fr.NEWLINE}catch(l){if(l instanceof $m)ut.shouldNeverReachHere();else throw l}finally{}return o}},fr.split=function(t,e){for(var r=e.length,i=new z,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},fr.toString=function(){if(arguments.length===1){var t=arguments[0];return fr.SIMPLE_ORDINATE_FORMAT.format(t)}},fr.spaces=function(t){return fr.chars(" ",t)},Dl.NEWLINE.get=function(){return ue.getProperty("line.separator")},Dl.SIMPLE_ORDINATE_FORMAT.get=function(){return new Qm},Object.defineProperties(fr,Dl);var qt=function(){};qt.prototype.interfaces_=function(){return[]},qt.prototype.getClass=function(){return qt},qt.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))},qt.isRing=function(t){var e=t.size();return e===0?!0:e<=3?!1:t.getOrdinate(0,vt.X)===t.getOrdinate(e-1,vt.X)&&t.getOrdinate(0,vt.Y)===t.getOrdinate(e-1,vt.Y)},qt.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)&&!(it.isNaN(u)&&it.isNaN(l)))return!1}return!0},qt.extend=function(t,e,r){var i=t.create(r,e.getDimension()),s=e.size();if(qt.copy(e,0,i,0,s),s>0)for(var o=s;o<r;o++)qt.copy(e,s-1,i,o,1);return i},qt.reverse=function(t){for(var e=t.size()-1,r=Math.trunc(e/2),i=0;i<=r;i++)qt.swap(t,i,e-i)},qt.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)}},qt.copy=function(t,e,r,i,s){for(var o=0;o<s;o++)qt.copyCoord(t,e+o,r,i+o)},qt.toString=function(){if(arguments.length===1){var t=arguments[0],e=t.size();if(e===0)return"()";var r=t.getDimension(),i=new kr;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(fr.toString(t.getOrdinate(s,o)))}return i.append(")"),i.toString()}},qt.ensureValidRing=function(t,e){var r=e.size();if(r===0)return e;if(r<=3)return qt.createClosedRing(t,e,4);var i=e.getOrdinate(0,vt.X)===e.getOrdinate(r-1,vt.X)&&e.getOrdinate(0,vt.Y)===e.getOrdinate(r-1,vt.Y);return i?e:qt.createClosedRing(t,e,r+1)},qt.createClosedRing=function(t,e,r){var i=t.create(r,e.getDimension()),s=e.size();qt.copy(e,0,i,0,s);for(var o=s;o<r;o++)qt.copy(e,0,i,o,1);return i};var Gt=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&&qt.reverse(i._points),null}},t.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},t.prototype.getBoundaryDimension=function(){return this.isClosed()?St.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 G.computeLength(this._points)},t.prototype.getNumPoints=function(){return this._points.size()},t.prototype.reverse=function(){var i=this._points.copy();qt.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],f=arguments[1],p=c;return f.compare(this._points,p._points)}},t.prototype.apply=function(){var i=this;if(et(arguments[0],vn))for(var s=arguments[0],o=0;o<this._points.size();o++)s.filter(i._points.getCoordinate(o));else if(et(arguments[0],Or)){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(et(arguments[0],Wr)){var l=arguments[0];l.filter(this)}else if(et(arguments[0],qn)){var c=arguments[0];c.filter(this)}},t.prototype.getBoundary=function(){return new hr(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 Ft("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[Ia]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return 0x2b2b51ba435c8e00},Object.defineProperties(t,e),t}(tt),Pa=function(){};Pa.prototype.interfaces_=function(){return[]},Pa.prototype.getClass=function(){return Pa};var Ue=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 St.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(et(arguments[0],vn)){var i=arguments[0];if(this.isEmpty())return null;i.filter(this.getCoordinate())}else if(et(arguments[0],Or)){var s=arguments[0];if(this.isEmpty())return null;s.filter(this._coordinates,0),s.isGeometryChanged()&&this.geometryChanged()}else if(et(arguments[0],Wr)){var o=arguments[0];o.filter(this)}else if(et(arguments[0],qn)){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([])),ut.isTrue(i.size()<=1),this._coordinates=i},t.prototype.isSimple=function(){return!0},t.prototype.interfaces_=function(){return[Pa]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return 4902022702746615e3},Object.defineProperties(t,e),t}(tt),gi=function(){};gi.prototype.interfaces_=function(){return[]},gi.prototype.getClass=function(){return gi};var $t=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 Ft("holes must not contain null elements");if(r.isEmpty()&&n.hasNonEmptyElements(i))throw new Ft("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(),f=0;f<c.length;f++)o++,s[o]=c[f];return s},t.prototype.getArea=function(){var i=this,s=0;s+=Math.abs(G.signedArea(this._shell.getCoordinateSequence()));for(var o=0;o<this._holes.length;o++)s-=Math.abs(G.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),f=1;f<=4;f++){var p=i.getX(f),v=i.getY(f),w=p!==l,I=v!==c;if(w===I)return!1;l=p,c=v}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);zi.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);ue.arraycopy(o.getCoordinates(),0,u,0,u.length);var l=ht.minCoordinate(o.getCoordinates());ht.scroll(u,l),ue.arraycopy(u,0,o.getCoordinates(),0,u.length),o.getCoordinates()[u.length]=u[0],G.isCCW(o.getCoordinates())===a&&ht.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,f=this._shell,p=c._shell,v=f.compareToSameClass(p,l);if(v!==0)return v;for(var w=this.getNumInteriorRing(),I=c.getNumInteriorRing(),P=0;P<w&&P<I;){var M=i.getInteriorRingN(P),m=c.getInteriorRingN(P),_=M.compareToSameClass(m,l);if(_!==0)return _;P++}return P<w?1:P<I?-1:0}},t.prototype.apply=function(i){var s=this;if(et(i,vn)){this._shell.apply(i);for(var o=0;o<this._holes.length;o++)s._holes[o].apply(i)}else if(et(i,Or)){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(et(i,Wr))i.filter(this);else if(et(i,qn)){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[gi]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return-0x307ffefd8dc97200},Object.defineProperties(t,e),t}(tt),mo=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 tt.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 St.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[Pa]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return-8048474874175356e3},Object.defineProperties(t,e),t}(Ee),yn=function(n){function t(r,i){r instanceof D&&i instanceof ft&&(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 tt.SORTINDEX_LINEARRING},t.prototype.getBoundaryDimension=function(){return St.FALSE},t.prototype.isClosed=function(){return this.isEmpty()?!0:n.prototype.isClosed.call(this)},t.prototype.reverse=function(){var i=this._points.copy();qt.reverse(i);var s=this.getFactory().createLinearRing(i);return s},t.prototype.validateConstruction=function(){if(!this.isEmpty()&&!n.prototype.isClosed.call(this))throw new Ft("Points of LinearRing do not form a closed linestring");if(this.getCoordinateSequence().size()>=1&&this.getCoordinateSequence().size()<t.MINIMUM_VALID_SIZE)throw new Ft("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}(Gt),_n=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 tt.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 z,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[gi]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return-0x7a5aa1369171980},Object.defineProperties(t,e),t}(Ee),dr=function(t){this._factory=t||null,this._isUserDataCopied=!1},Su={NoOpGeometryOperation:{configurable:!0},CoordinateOperation:{configurable:!0},CoordinateSequenceOperation:{configurable:!0}};dr.prototype.setCopyUserData=function(t){this._isUserDataCopied=t},dr.prototype.edit=function(t,e){if(t===null)return null;var r=this.editInternal(t,e);return this._isUserDataCopied&&r.setUserData(t.getUserData()),r},dr.prototype.editInternal=function(t,e){return this._factory===null&&(this._factory=t.getFactory()),t instanceof Ee?this.editGeometryCollection(t,e):t instanceof $t?this.editPolygon(t,e):t instanceof Ue?e.edit(t,this._factory):t instanceof Gt?e.edit(t,this._factory):(ut.shouldNeverReachHere("Unsupported Geometry class: "+t.getClass().getName()),null)},dr.prototype.editGeometryCollection=function(t,e){for(var r=this,i=e.edit(t,this._factory),s=new z,o=0;o<i.getNumGeometries();o++){var a=r.edit(i.getGeometryN(o),e);a===null||a.isEmpty()||s.add(a)}return i.getClass()===mo?this._factory.createMultiPoint(s.toArray([])):i.getClass()===Ui?this._factory.createMultiLineString(s.toArray([])):i.getClass()===_n?this._factory.createMultiPolygon(s.toArray([])):this._factory.createGeometryCollection(s.toArray([]))},dr.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 z,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([]))},dr.prototype.interfaces_=function(){return[]},dr.prototype.getClass=function(){return dr},dr.GeometryEditorOperation=function(){},Su.NoOpGeometryOperation.get=function(){return Na},Su.CoordinateOperation.get=function(){return ba},Su.CoordinateSequenceOperation.get=function(){return Ta},Object.defineProperties(dr,Su);var Na=function(){};Na.prototype.edit=function(t,e){return t},Na.prototype.interfaces_=function(){return[dr.GeometryEditorOperation]},Na.prototype.getClass=function(){return Na};var ba=function(){};ba.prototype.edit=function(t,e){var r=this.editCoordinates(t.getCoordinates(),t);return r===null?t:t instanceof yn?e.createLinearRing(r):t instanceof Gt?e.createLineString(r):t instanceof Ue?r.length>0?e.createPoint(r[0]):e.createPoint():t},ba.prototype.interfaces_=function(){return[dr.GeometryEditorOperation]},ba.prototype.getClass=function(){return ba};var Ta=function(){};Ta.prototype.edit=function(t,e){return t instanceof yn?e.createLinearRing(this.edit(t.getCoordinateSequence(),t)):t instanceof Gt?e.createLineString(this.edit(t.getCoordinateSequence(),t)):t instanceof Ue?e.createPoint(this.edit(t.getCoordinateSequence(),t)):t},Ta.prototype.interfaces_=function(){return[dr.GeometryEditorOperation]},Ta.prototype.getClass=function(){return Ta};var Xt=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(et(arguments[0],vt)){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}}},zf={serialVersionUID:{configurable:!0}};Xt.prototype.setOrdinate=function(t,e,r){switch(e){case vt.X:this._coordinates[t].x=r;break;case vt.Y:this._coordinates[t].y=r;break;case vt.Z:this._coordinates[t].z=r;break;default:throw new Ft("invalid ordinateIndex")}},Xt.prototype.size=function(){return this._coordinates.length},Xt.prototype.getOrdinate=function(t,e){switch(e){case vt.X:return this._coordinates[t].x;case vt.Y:return this._coordinates[t].y;case vt.Z:return this._coordinates[t].z}return it.NaN},Xt.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}},Xt.prototype.getCoordinateCopy=function(t){return new D(this._coordinates[t])},Xt.prototype.getDimension=function(){return this._dimension},Xt.prototype.getX=function(t){return this._coordinates[t].x},Xt.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 Xt(e,this._dimension)},Xt.prototype.expandEnvelope=function(t){for(var e=this,r=0;r<this._coordinates.length;r++)t.expandToInclude(e._coordinates[r]);return t},Xt.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 Xt(e,this._dimension)},Xt.prototype.toString=function(){var t=this;if(this._coordinates.length>0){var e=new kr(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"()"},Xt.prototype.getY=function(t){return this._coordinates[t].y},Xt.prototype.toCoordinateArray=function(){return this._coordinates},Xt.prototype.interfaces_=function(){return[vt,lr]},Xt.prototype.getClass=function(){return Xt},zf.serialVersionUID.get=function(){return-0xcb44a778db18e00},Object.defineProperties(Xt,zf);var wn=function(){},Ml={serialVersionUID:{configurable:!0},instanceObject:{configurable:!0}};wn.prototype.readResolve=function(){return wn.instance()},wn.prototype.create=function(){if(arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];return new Xt(t)}else if(et(arguments[0],vt)){var e=arguments[0];return new Xt(e)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return i>3&&(i=3),i<2?new Xt(r):new Xt(r,i)}},wn.prototype.interfaces_=function(){return[so,lr]},wn.prototype.getClass=function(){return wn},wn.instance=function(){return wn.instanceObject},Ml.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},Ml.instanceObject.get=function(){return new wn},Object.defineProperties(wn,Ml);var Uf=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 z,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 Tl;return this.map_.entries().forEach(function(i){return r.add(i)}),r},t.prototype.size=function(){return this.map_.size()},t}(Ss),Ct=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 qr){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}}},xl={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};Ct.prototype.equals=function(t){if(!(t instanceof Ct))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale},Ct.prototype.compareTo=function(t){var e=t,r=this.getMaximumSignificantDigits(),i=e.getMaximumSignificantDigits();return new Vr(r).compareTo(new Vr(i))},Ct.prototype.getScale=function(){return this._scale},Ct.prototype.isFloating=function(){return this._modelType===Ct.FLOATING||this._modelType===Ct.FLOATING_SINGLE},Ct.prototype.getType=function(){return this._modelType},Ct.prototype.toString=function(){var t="UNKNOWN";return this._modelType===Ct.FLOATING?t="Floating":this._modelType===Ct.FLOATING_SINGLE?t="Floating-Single":this._modelType===Ct.FIXED&&(t="Fixed (Scale="+this.getScale()+")"),t},Ct.prototype.makePrecise=function(){if(typeof arguments[0]=="number"){var t=arguments[0];if(it.isNaN(t))return t;if(this._modelType===Ct.FLOATING_SINGLE){var e=t;return e}return this._modelType===Ct.FIXED?Math.round(t*this._scale)/this._scale:t}else if(arguments[0]instanceof D){var r=arguments[0];if(this._modelType===Ct.FLOATING)return null;r.x=this.makePrecise(r.x),r.y=this.makePrecise(r.y)}},Ct.prototype.getMaximumSignificantDigits=function(){var t=16;return this._modelType===Ct.FLOATING?t=16:this._modelType===Ct.FLOATING_SINGLE?t=6:this._modelType===Ct.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t},Ct.prototype.setScale=function(t){this._scale=Math.abs(t)},Ct.prototype.interfaces_=function(){return[lr,ur]},Ct.prototype.getClass=function(){return Ct},Ct.mostPrecise=function(t,e){return t.compareTo(e)>=0?t:e},xl.serialVersionUID.get=function(){return 7777263578777804e3},xl.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(Ct,xl);var qr=function n(t){this._name=t||null,n.nameToTypeMap.put(t,this)},Ll={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};qr.prototype.readResolve=function(){return qr.nameToTypeMap.get(this._name)},qr.prototype.toString=function(){return this._name},qr.prototype.interfaces_=function(){return[lr]},qr.prototype.getClass=function(){return qr},Ll.serialVersionUID.get=function(){return-552860263173159e4},Ll.nameToTypeMap.get=function(){return new Uf},Object.defineProperties(qr,Ll),Ct.Type=qr,Ct.FIXED=new qr("FIXED"),Ct.FLOATING=new qr("FLOATING"),Ct.FLOATING_SINGLE=new qr("FLOATING SINGLE");var ft=function n(){this._precisionModel=new Ct,this._SRID=0,this._coordinateSequenceFactory=n.getDefaultCoordinateSequenceFactory(),arguments.length===0||(arguments.length===1?et(arguments[0],so)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof Ct&&(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]))},Gf={serialVersionUID:{configurable:!0}};ft.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)},ft.prototype.createLineString=function(t){if(t){if(t instanceof Array)return new Gt(this.getCoordinateSequenceFactory().create(t),this);if(et(t,vt))return new Gt(t,this)}else return new Gt(this.getCoordinateSequenceFactory().create([]),this)},ft.prototype.createMultiLineString=function(){if(arguments.length===0)return new Ui(null,this);if(arguments.length===1){var t=arguments[0];return new Ui(t,this)}},ft.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(ft.toGeometryArray(t));var u=t.iterator().next(),l=t.size()>1;if(l){if(u instanceof $t)return this.createMultiPolygon(ft.toPolygonArray(t));if(u instanceof Gt)return this.createMultiLineString(ft.toLineStringArray(t));if(u instanceof Ue)return this.createMultiPoint(ft.toPointArray(t));ut.shouldNeverReachHere("Unhandled class: "+u.getClass().getName())}return u},ft.prototype.createMultiPointFromCoords=function(t){return this.createMultiPoint(t!==null?this.getCoordinateSequenceFactory().create(t):null)},ft.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(et(arguments[0],vt)){var e=arguments[0];return new Ue(e,this)}}},ft.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},ft.prototype.createPolygon=function(){if(arguments.length===0)return new $t(null,null,this);if(arguments.length===1){if(et(arguments[0],vt)){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 yn){var r=arguments[0];return this.createPolygon(r,null)}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];return new $t(i,s,this)}},ft.prototype.getSRID=function(){return this._SRID},ft.prototype.createGeometryCollection=function(){if(arguments.length===0)return new Ee(null,this);if(arguments.length===1){var t=arguments[0];return new Ee(t,this)}},ft.prototype.createGeometry=function(t){var e=new dr(this);return e.edit(t,{edit:function(){if(arguments.length===2){var r=arguments[0];return this._coordinateSequenceFactory.create(r)}}})},ft.prototype.getPrecisionModel=function(){return this._precisionModel},ft.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(et(arguments[0],vt)){var e=arguments[0];return new yn(e,this)}}},ft.prototype.createMultiPolygon=function(){if(arguments.length===0)return new _n(null,this);if(arguments.length===1){var t=arguments[0];return new _n(t,this)}},ft.prototype.createMultiPoint=function(){var t=this;if(arguments.length===0)return new mo(null,this);if(arguments.length===1){if(arguments[0]instanceof Array){var e=arguments[0];return new mo(e,this)}else if(arguments[0]instanceof Array){var r=arguments[0];return this.createMultiPoint(r!==null?this.getCoordinateSequenceFactory().create(r):null)}else if(et(arguments[0],vt)){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());qt.copy(i,o,a,0,1),s[o]=t.createPoint(a)}return this.createMultiPoint(s)}}},ft.prototype.interfaces_=function(){return[lr]},ft.prototype.getClass=function(){return ft},ft.toMultiPolygonArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ft.toGeometryArray=function(t){if(t===null)return null;var e=new Array(t.size()).fill(null);return t.toArray(e)},ft.getDefaultCoordinateSequenceFactory=function(){return wn.instance()},ft.toMultiLineStringArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ft.toLineStringArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ft.toMultiPointArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ft.toLinearRingArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ft.toPointArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ft.toPolygonArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ft.createPointFromInternalCoord=function(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)},Gf.serialVersionUID.get=function(){return-6820524753094096e3},Object.defineProperties(ft,Gf);var tv=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],Cu=function(t){this.geometryFactory=t||new ft};Cu.prototype.read=function(t){var e;typeof t=="string"?e=JSON.parse(t):e=t;var r=e.type;if(!Xr[r])throw new Error("Unknown GeoJSON type: "+e.type);return tv.indexOf(r)!==-1?Xr[r].apply(this,[e.coordinates]):r==="GeometryCollection"?Xr[r].apply(this,[e.geometries]):Xr[r].apply(this,[e])},Cu.prototype.write=function(t){var e=t.getGeometryType();if(!Jn[e])throw new Error("Geometry is not supported");return Jn[e].apply(this,[t])};var Xr={Feature:function(n){var t={};for(var e in n)t[e]=n[e];if(n.geometry){var r=n.geometry.type;if(!Xr[r])throw new Error("Unknown GeoJSON type: "+n.type);t.geometry=this.read(n.geometry)}return n.bbox&&(t.bbox=Xr.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(Xr.Point.apply(t,[n[r]]));return this.geometryFactory.createMultiPoint(e)},LineString:function(n){var t=Xr.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(Xr.LineString.apply(t,[n[r]]));return this.geometryFactory.createMultiLineString(e)},Polygon:function(n){for(var t=this,e=Xr.coordinates.apply(this,[n[0]]),r=this.geometryFactory.createLinearRing(e),i=[],s=1;s<n.length;++s){var o=n[s],a=Xr.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(Xr.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)}},Jn={coordinate:function(n){return[n.x,n.y]},Point:function(n){var t=Jn.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=Jn.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(Jn.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=Jn.LineString.apply(t,[i]);e.push(s.coordinates)}return{type:"MultiLineString",coordinates:e}},Polygon:function(n){var t=this,e=[],r=Jn.LineString.apply(this,[n._shell]);e.push(r.coordinates);for(var i=0;i<n._holes.length;++i){var s=n._holes[i],o=Jn.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=Jn.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(Jn[s].apply(t,[i]))}return{type:"GeometryCollection",geometries:e}}},Al=function(t){this.geometryFactory=t||new ft,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new Cu(this.geometryFactory)};Al.prototype.read=function(t){var e=this.parser.read(t);return this.precisionModel.getType()===Ct.FIXED&&this.reducePrecision(e),e},Al.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 Wf=function(){this.parser=new Cu(this.geometryFactory)};Wf.prototype.write=function(t){return this.parser.write(t)};var V=function(){},Iu={ON:{configurable:!0},LEFT:{configurable:!0},RIGHT:{configurable:!0}};V.prototype.interfaces_=function(){return[]},V.prototype.getClass=function(){return V},V.opposite=function(t){return t===V.LEFT?V.RIGHT:t===V.RIGHT?V.LEFT:t},Iu.ON.get=function(){return 0},Iu.LEFT.get=function(){return 1},Iu.RIGHT.get=function(){return 2},Object.defineProperties(V,Iu);function Pu(n){this.message=n||""}Pu.prototype=new Error,Pu.prototype.name="EmptyStackException";function Yr(){this.array_=[]}Yr.prototype=new br,Yr.prototype.add=function(n){return this.array_.push(n),!0},Yr.prototype.get=function(n){if(n<0||n>=this.size())throw new Error;return this.array_[n]},Yr.prototype.push=function(n){return this.array_.push(n),n},Yr.prototype.pop=function(n){if(this.array_.length===0)throw new Pu;return this.array_.pop()},Yr.prototype.peek=function(){if(this.array_.length===0)throw new Pu;return this.array_[this.array_.length-1]},Yr.prototype.empty=function(){return this.array_.length===0},Yr.prototype.isEmpty=function(){return this.empty()},Yr.prototype.search=function(n){return this.array_.indexOf(n)},Yr.prototype.size=function(){return this.array_.length},Yr.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 Hr=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null};Hr.prototype.getCoordinate=function(){return this._minCoord},Hr.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},Hr.prototype.findRightmostEdgeAtVertex=function(){var t=this._minDe.getEdge().getCoordinates();ut.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=G.computeOrientation(this._minCoord,r,e),s=!1;(e.y<this._minCoord.y&&r.y<this._minCoord.y&&i===G.COUNTERCLOCKWISE||e.y>this._minCoord.y&&r.y>this._minCoord.y&&i===G.CLOCKWISE)&&(s=!0),s&&(this._minIndex=this._minIndex-1)},Hr.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=V.LEFT;return i[e].y<i[e+1].y&&(s=V.RIGHT),s},Hr.prototype.getEdge=function(){return this._orientedDe},Hr.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])},Hr.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)},Hr.prototype.findEdge=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next();i.isForward()&&e.checkForRightmostCoordinate(i)}ut.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===V.LEFT&&(this._orientedDe=this._minDe.getSym())},Hr.prototype.interfaces_=function(){return[]},Hr.prototype.getClass=function(){return Hr};var Zn=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}(Wn),Nu=function(){this.array_=[]};Nu.prototype.addLast=function(t){this.array_.push(t)},Nu.prototype.removeFirst=function(){return this.array_.shift()},Nu.prototype.isEmpty=function(){return this.array_.length===0};var Se=function(){this._finder=null,this._dirEdgeList=new z,this._nodes=new z,this._rightMostCoord=null,this._env=null,this._finder=new Hr};Se.prototype.clearVisitedEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.setVisited(!1)}},Se.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},Se.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 Zn("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)}},Se.prototype.computeDepth=function(t){this.clearVisitedEdges();var e=this._finder.getEdge();e.setEdgeDepths(V.RIGHT,t),this.copySymDepths(e),this.computeDepths(e)},Se.prototype.create=function(t){this.addReachable(t),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},Se.prototype.findResultEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.getDepth(V.RIGHT)>=1&&e.getDepth(V.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}},Se.prototype.computeDepths=function(t){var e=this,r=new Tl,i=new Nu,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))}}}},Se.prototype.compareTo=function(t){var e=t;return this._rightMostCoord.x<e._rightMostCoord.x?-1:this._rightMostCoord.x>e._rightMostCoord.x?1:0},Se.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},Se.prototype.addReachable=function(t){var e=this,r=new Yr;for(r.add(t);!r.empty();){var i=r.pop();e.add(i,r)}},Se.prototype.copySymDepths=function(t){var e=t.getSym();e.setDepth(V.LEFT,t.getDepth(V.RIGHT)),e.setDepth(V.RIGHT,t.getDepth(V.LEFT))},Se.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)}},Se.prototype.getNodes=function(){return this._nodes},Se.prototype.getDirectedEdges=function(){return this._dirEdgeList},Se.prototype.interfaces_=function(){return[ur]},Se.prototype.getClass=function(){return Se};var xt=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[V.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[V.ON]=o,this.location[V.LEFT]=a,this.location[V.RIGHT]=u}};xt.prototype.setAllLocations=function(t){for(var e=this,r=0;r<this.location.length;r++)e.location[r]=t},xt.prototype.isNull=function(){for(var t=this,e=0;e<this.location.length;e++)if(t.location[e]!==R.NONE)return!1;return!0},xt.prototype.setAllLocationsIfNull=function(t){for(var e=this,r=0;r<this.location.length;r++)e.location[r]===R.NONE&&(e.location[r]=t)},xt.prototype.isLine=function(){return this.location.length===1},xt.prototype.merge=function(t){var e=this;if(t.location.length>this.location.length){var r=new Array(3).fill(null);r[V.ON]=this.location[V.ON],r[V.LEFT]=R.NONE,r[V.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])},xt.prototype.getLocations=function(){return this.location},xt.prototype.flip=function(){if(this.location.length<=1)return null;var t=this.location[V.LEFT];this.location[V.LEFT]=this.location[V.RIGHT],this.location[V.RIGHT]=t},xt.prototype.toString=function(){var t=new kr;return this.location.length>1&&t.append(R.toLocationSymbol(this.location[V.LEFT])),t.append(R.toLocationSymbol(this.location[V.ON])),this.location.length>1&&t.append(R.toLocationSymbol(this.location[V.RIGHT])),t.toString()},xt.prototype.setLocations=function(t,e,r){this.location[V.ON]=t,this.location[V.LEFT]=e,this.location[V.RIGHT]=r},xt.prototype.get=function(t){return t<this.location.length?this.location[t]:R.NONE},xt.prototype.isArea=function(){return this.location.length>1},xt.prototype.isAnyNull=function(){for(var t=this,e=0;e<this.location.length;e++)if(t.location[e]===R.NONE)return!0;return!1},xt.prototype.setLocation=function(){if(arguments.length===1){var t=arguments[0];this.setLocation(V.ON,t)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];this.location[e]=r}},xt.prototype.init=function(t){this.location=new Array(t).fill(null),this.setAllLocations(R.NONE)},xt.prototype.isEqualOnSide=function(t,e){return this.location[e]===t.location[e]},xt.prototype.allPositionsEqual=function(t){for(var e=this,r=0;r<this.location.length;r++)if(e.location[r]!==t)return!1;return!0},xt.prototype.interfaces_=function(){return[]},xt.prototype.getClass=function(){return xt};var bt=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 xt(t),this.elt[1]=new xt(t)}else if(arguments[0]instanceof n){var e=arguments[0];this.elt[0]=new xt(e.elt[0]),this.elt[1]=new xt(e.elt[1])}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.elt[0]=new xt(R.NONE),this.elt[1]=new xt(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 xt(s,o,a),this.elt[1]=new xt(s,o,a)}else if(arguments.length===4){var u=arguments[0],l=arguments[1],c=arguments[2],f=arguments[3];this.elt[0]=new xt(R.NONE,R.NONE,R.NONE),this.elt[1]=new xt(R.NONE,R.NONE,R.NONE),this.elt[u].setLocations(l,c,f)}};bt.prototype.getGeometryCount=function(){var t=0;return this.elt[0].isNull()||t++,this.elt[1].isNull()||t++,t},bt.prototype.setAllLocations=function(t,e){this.elt[t].setAllLocations(e)},bt.prototype.isNull=function(t){return this.elt[t].isNull()},bt.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)}},bt.prototype.isLine=function(t){return this.elt[t].isLine()},bt.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 xt(t.elt[r]):e.elt[r].merge(t.elt[r])},bt.prototype.flip=function(){this.elt[0].flip(),this.elt[1].flip()},bt.prototype.getLocation=function(){if(arguments.length===1){var t=arguments[0];return this.elt[t].get(V.ON)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return this.elt[e].get(r)}},bt.prototype.toString=function(){var t=new kr;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()},bt.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()}},bt.prototype.isAnyNull=function(t){return this.elt[t].isAnyNull()},bt.prototype.setLocation=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1];this.elt[t].setLocation(V.ON,e)}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this.elt[r].setLocation(i,s)}},bt.prototype.isEqualOnSide=function(t,e){return this.elt[0].isEqualOnSide(t.elt[0],e)&&this.elt[1].isEqualOnSide(t.elt[1],e)},bt.prototype.allPositionsEqual=function(t,e){return this.elt[t].allPositionsEqual(e)},bt.prototype.toLine=function(t){this.elt[t].isArea()&&(this.elt[t]=new xt(this.elt[t].location[0]))},bt.prototype.interfaces_=function(){return[]},bt.prototype.getClass=function(){return bt},bt.toLineLabel=function(t){for(var e=new bt(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 z,this._pts=new z,this._label=new bt(R.NONE),this._ring=null,this._isHole=null,this._shell=null,this._holes=new z,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=G.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 Zn("Found null DirectedEdge");if(r.getEdgeRing()===e)throw new Zn("Directed Edge visited twice during ring-building at "+r.getCoordinate());e._edges.add(r);var s=r.getLabel();ut.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)||!G.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,V.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 ev=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),rv=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 z,s=this._startDe;do{if(s.getMinEdgeRing()===null){var o=new ev(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),tr=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}}};tr.prototype.setVisited=function(t){this._isVisited=t},tr.prototype.setInResult=function(t){this._isInResult=t},tr.prototype.isCovered=function(){return this._isCovered},tr.prototype.isCoveredSet=function(){return this._isCoveredSet},tr.prototype.setLabel=function(t){this._label=t},tr.prototype.getLabel=function(){return this._label},tr.prototype.setCovered=function(t){this._isCovered=t,this._isCoveredSet=!0},tr.prototype.updateIM=function(t){ut.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(t)},tr.prototype.isInResult=function(){return this._isInResult},tr.prototype.isVisited=function(){return this._isVisited},tr.prototype.interfaces_=function(){return[]},tr.prototype.getClass=function(){return tr};var bu=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 bt(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 bt(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 bt)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}(tr),Jr=function(){this.nodeMap=new me,this.nodeFact=null;var t=arguments[0];this.nodeFact=t};Jr.prototype.find=function(t){return this.nodeMap.get(t)},Jr.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 bu){var r=arguments[0],i=this.nodeMap.get(r.getCoordinate());return i===null?(this.nodeMap.put(r.getCoordinate(),r),r):(i.mergeLabel(r),i)}},Jr.prototype.print=function(t){for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},Jr.prototype.iterator=function(){return this.nodeMap.values().iterator()},Jr.prototype.values=function(){return this.nodeMap.values()},Jr.prototype.getBoundaryNodes=function(t){for(var e=new z,r=this.iterator();r.hasNext();){var i=r.next();i.getLabel().getLocation(t)===R.BOUNDARY&&e.add(i)}return e},Jr.prototype.add=function(t){var e=t.getCoordinate(),r=this.addNode(e);r.add(t)},Jr.prototype.interfaces_=function(){return[]},Jr.prototype.getClass=function(){return Jr};var Ot=function(){},Oa={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};Ot.prototype.interfaces_=function(){return[]},Ot.prototype.getClass=function(){return Ot},Ot.isNorthern=function(t){return t===Ot.NE||t===Ot.NW},Ot.isOpposite=function(t,e){if(t===e)return!1;var r=(t-e+4)%4;return r===2},Ot.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},Ot.isInHalfPlane=function(t,e){return e===Ot.SE?t===Ot.SE||t===Ot.SW:t===e||t===e+1},Ot.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 Ft("Cannot compute the quadrant for point ( "+t+", "+e+" )");return t>=0?e>=0?Ot.NE:Ot.SE:e>=0?Ot.NW:Ot.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 Ft("Cannot compute the quadrant for two identical points "+r);return i.x>=r.x?i.y>=r.y?Ot.NE:Ot.SE:i.y>=r.y?Ot.NW:Ot.SW}},Oa.NE.get=function(){return 0},Oa.NW.get=function(){return 1},Oa.SW.get=function(){return 2},Oa.SE.get=function(){return 3},Object.defineProperties(Ot,Oa);var ve=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}};ve.prototype.compareDirection=function(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrant<t._quadrant?-1:G.computeOrientation(t._p0,t._p1,this._p1)},ve.prototype.getDy=function(){return this._dy},ve.prototype.getCoordinate=function(){return this._p0},ve.prototype.setNode=function(t){this._node=t},ve.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)},ve.prototype.compareTo=function(t){var e=t;return this.compareDirection(e)},ve.prototype.getDirectedCoordinate=function(){return this._p1},ve.prototype.getDx=function(){return this._dx},ve.prototype.getLabel=function(){return this._label},ve.prototype.getEdge=function(){return this._edge},ve.prototype.getQuadrant=function(){return this._quadrant},ve.prototype.getNode=function(){return this._node},ve.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},ve.prototype.computeLabel=function(t){},ve.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=Ot.quadrant(this._dx,this._dy),ut.isTrue(!(this._dx===0&&this._dy===0),"EdgeEnd with identical endpoints found")},ve.prototype.interfaces_=function(){return[ur]},ve.prototype.getClass=function(){return ve};var Rl=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 bt(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 Zn("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,V.LEFT)===R.INTERIOR&&r._label.getLocation(s,V.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[V.LEFT]+"/"+this._depth[V.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===V.LEFT&&(o=-1);var a=V.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}(ve),vo=function(){};vo.prototype.createNode=function(t){return new bu(t,null)},vo.prototype.interfaces_=function(){return[]},vo.prototype.getClass=function(){return vo};var Ut=function(){if(this._edges=new z,this._nodes=null,this._edgeEndList=new z,arguments.length===0)this._nodes=new Jr(new vo);else if(arguments.length===1){var t=arguments[0];this._nodes=new Jr(t)}};Ut.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)}},Ut.prototype.find=function(t){return this._nodes.find(t)},Ut.prototype.addNode=function(){if(arguments[0]instanceof bu){var t=arguments[0];return this._nodes.addNode(t)}else if(arguments[0]instanceof D){var e=arguments[0];return this._nodes.addNode(e)}},Ut.prototype.getNodeIterator=function(){return this._nodes.iterator()},Ut.prototype.linkResultDirectedEdges=function(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next();e.getEdges().linkResultDirectedEdges()}},Ut.prototype.debugPrintln=function(t){ue.out.println(t)},Ut.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},Ut.prototype.linkAllDirectedEdges=function(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next();e.getEdges().linkAllDirectedEdges()}},Ut.prototype.matchInSameDirection=function(t,e,r,i){return t.equals(r)?G.computeOrientation(t,e,i)===G.COLLINEAR&&Ot.quadrant(t,e)===Ot.quadrant(r,i):!1},Ut.prototype.getEdgeEnds=function(){return this._edgeEndList},Ut.prototype.debugPrint=function(t){ue.out.print(t)},Ut.prototype.getEdgeIterator=function(){return this._edges.iterator()},Ut.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},Ut.prototype.insertEdge=function(t){this._edges.add(t)},Ut.prototype.findEdgeEnd=function(t){for(var e=this.getEdgeEnds().iterator();e.hasNext();){var r=e.next();if(r.getEdge()===t)return r}return null},Ut.prototype.addEdges=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next();e._edges.add(i);var s=new Rl(i,!0),o=new Rl(i,!1);s.setSym(o),o.setSym(s),e.add(s),e.add(o)}},Ut.prototype.add=function(t){this._nodes.add(t),this._edgeEndList.add(t)},Ut.prototype.getNodes=function(){return this._nodes.values()},Ut.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},Ut.prototype.interfaces_=function(){return[]},Ut.prototype.getClass=function(){return Ut},Ut.linkResultDirectedEdges=function(t){for(var e=t.iterator();e.hasNext();){var r=e.next();r.getEdges().linkResultDirectedEdges()}};var Ge=function(){this._geometryFactory=null,this._shellList=new z;var t=arguments[0];this._geometryFactory=t};Ge.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)}},Ge.prototype.computePolygons=function(t){for(var e=this,r=new z,i=t.iterator();i.hasNext();){var s=i.next(),o=s.toPolygon(e._geometryFactory);r.add(o)}return r},Ge.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 Zn("unable to assign hole to a shell",s.getCoordinate(0));s.setShell(o)}}},Ge.prototype.buildMinimalEdgeRings=function(t,e,r){for(var i=this,s=new z,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},Ge.prototype.containsPoint=function(t){for(var e=this._shellList.iterator();e.hasNext();){var r=e.next();if(r.containsPoint(t))return!0}return!1},Ge.prototype.buildMaximalEdgeRings=function(t){for(var e=this,r=new z,i=t.iterator();i.hasNext();){var s=i.next();if(s.isInResult()&&s.getLabel().isArea()&&s.getEdgeRing()===null){var o=new rv(s,e._geometryFactory);r.add(o),o.setInResult()}}return r},Ge.prototype.placePolygonHoles=function(t,e){for(var r=e.iterator();r.hasNext();){var i=r.next();i.isHole()&&i.setShell(t)}},Ge.prototype.getPolygons=function(){var t=this.computePolygons(this._shellList);return t},Ge.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(),f=c.getEnvelopeInternal();o!==null&&(a=o.getLinearRing().getEnvelopeInternal());var p=!1;f.contains(i)&&G.isPointInRing(s,c.getCoordinates())&&(p=!0),p&&(o===null||a.contains(f))&&(o=l)}return o},Ge.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 ut.isTrue(e<=1,"found two shells in MinimalEdgeRing list"),r},Ge.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];Ut.linkResultDirectedEdges(r);var i=this.buildMaximalEdgeRings(e),s=new z,o=this.buildMinimalEdgeRings(i,this._shellList,s);this.sortShellsAndHoles(o,this._shellList,s),this.placeFreeHoles(this._shellList,s)}},Ge.prototype.interfaces_=function(){return[]},Ge.prototype.getClass=function(){return Ge};var yo=function(){};yo.prototype.getBounds=function(){},yo.prototype.interfaces_=function(){return[]},yo.prototype.getClass=function(){return yo};var Dr=function(){this._bounds=null,this._item=null;var t=arguments[0],e=arguments[1];this._bounds=t,this._item=e};Dr.prototype.getItem=function(){return this._item},Dr.prototype.getBounds=function(){return this._bounds},Dr.prototype.interfaces_=function(){return[yo,lr]},Dr.prototype.getClass=function(){return Dr};var Kn=function(){this._size=null,this._items=null,this._size=0,this._items=new z,this._items.add(null)};Kn.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},Kn.prototype.size=function(){return this._size},Kn.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)},Kn.prototype.clear=function(){this._size=0,this._items.clear()},Kn.prototype.isEmpty=function(){return this._size===0},Kn.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)},Kn.prototype.interfaces_=function(){return[]},Kn.prototype.getClass=function(){return Kn};var mi=function(){};mi.prototype.visitItem=function(t){},mi.prototype.interfaces_=function(){return[]},mi.prototype.getClass=function(){return mi};var Cs=function(){};Cs.prototype.insert=function(t,e){},Cs.prototype.remove=function(t,e){},Cs.prototype.query=function(){},Cs.prototype.interfaces_=function(){return[]},Cs.prototype.getClass=function(){return Cs};var jt=function(){if(this._childBoundables=new z,this._bounds=null,this._level=null,arguments.length!==0){if(arguments.length===1){var t=arguments[0];this._level=t}}},qf={serialVersionUID:{configurable:!0}};jt.prototype.getLevel=function(){return this._level},jt.prototype.size=function(){return this._childBoundables.size()},jt.prototype.getChildBoundables=function(){return this._childBoundables},jt.prototype.addChildBoundable=function(t){ut.isTrue(this._bounds===null),this._childBoundables.add(t)},jt.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},jt.prototype.getBounds=function(){return this._bounds===null&&(this._bounds=this.computeBounds()),this._bounds},jt.prototype.interfaces_=function(){return[yo,lr]},jt.prototype.getClass=function(){return jt},qf.serialVersionUID.get=function(){return 6493722185909574e3},Object.defineProperties(jt,qf);var Mr=function(){};Mr.reverseOrder=function(){return{compare:function(e,r){return r.compareTo(e)}}},Mr.min=function(t){return Mr.sort(t),t.get(0)},Mr.sort=function(t,e){var r=t.toArray();e?zi.sort(r,e):zi.sort(r);for(var i=t.iterator(),s=0,o=r.length;s<o;s++)i.next(),i.set(r[s])},Mr.singletonList=function(t){var e=new z;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 Ft("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[ur]},Zt.prototype.getClass=function(){return Zt},Zt.area=function(t){return t.getBounds().getArea()},Zt.isComposite=function(t){return t instanceof jt};var ne=function n(){if(this._root=null,this._built=!1,this._itemBoundables=new z,this._nodeCapacity=null,arguments.length===0){var t=n.DEFAULT_NODE_CAPACITY;this._nodeCapacity=t}else if(arguments.length===1){var e=arguments[0];ut.isTrue(e>1,"Node capacity must be greater than 1"),this._nodeCapacity=e}},Tu={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};ne.prototype.getNodeCapacity=function(){return this._nodeCapacity},ne.prototype.lastNode=function(t){return t.get(t.size()-1)},ne.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 jt?r+=t.size(s):s instanceof Dr&&(r+=1)}return r}},ne.prototype.removeItem=function(t,e){for(var r=null,i=t.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof Dr&&s.getItem()===e&&(r=s)}return r!==null?(t.getChildBoundables().remove(r),!0):!1},ne.prototype.itemsTree=function(){var t=this;if(arguments.length===0){this.build();var e=this.itemsTree(this._root);return e===null?new z:e}else if(arguments.length===1){for(var r=arguments[0],i=new z,s=r.getChildBoundables().iterator();s.hasNext();){var o=s.next();if(o instanceof jt){var a=t.itemsTree(o);a!==null&&i.add(a)}else o instanceof Dr?i.add(o.getItem()):ut.shouldNeverReachHere()}return i.size()<=0?null:i}},ne.prototype.insert=function(t,e){ut.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new Dr(t,e))},ne.prototype.boundablesAtLevel=function(){var t=this;if(arguments.length===1){var e=arguments[0],r=new z;return this.boundablesAtLevel(e,this._root,r),r}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];if(ut.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 jt?t.boundablesAtLevel(i,u,o):(ut.isTrue(u instanceof Dr),i===-1&&o.add(u))}return null}},ne.prototype.query=function(){var t=this;if(arguments.length===1){var e=arguments[0];this.build();var r=new z;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(et(arguments[2],mi)&&arguments[0]instanceof Object&&arguments[1]instanceof jt)for(var o=arguments[0],a=arguments[1],u=arguments[2],l=a.getChildBoundables(),c=0;c<l.size();c++){var f=l.get(c);t.getIntersectsOp().intersects(f.getBounds(),o)&&(f instanceof jt?t.query(o,f,u):f instanceof Dr?u.visitItem(f.getItem()):ut.shouldNeverReachHere())}else if(et(arguments[2],br)&&arguments[0]instanceof Object&&arguments[1]instanceof jt)for(var p=arguments[0],v=arguments[1],w=arguments[2],I=v.getChildBoundables(),P=0;P<I.size();P++){var M=I.get(P);t.getIntersectsOp().intersects(M.getBounds(),p)&&(M instanceof jt?t.query(p,M,w):M instanceof Dr?w.add(M.getItem()):ut.shouldNeverReachHere())}}},ne.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},ne.prototype.getRoot=function(){return this.build(),this._root},ne.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 jt&&(a=t.remove(i,c,o),a)){u=c;break}}return u!==null&&u.getChildBoundables().isEmpty()&&s.getChildBoundables().remove(u),a}},ne.prototype.createHigherLevels=function(t,e){ut.isTrue(!t.isEmpty());var r=this.createParentBoundables(t,e+1);return r.size()===1?r.get(0):this.createHigherLevels(r,e+1)},ne.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 jt){var o=t.depth(s);o>r&&(r=o)}}return r+1}},ne.prototype.createParentBoundables=function(t,e){var r=this;ut.isTrue(!t.isEmpty());var i=new z;i.add(this.createNode(e));var s=new z(t);Mr.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},ne.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},ne.prototype.interfaces_=function(){return[lr]},ne.prototype.getClass=function(){return ne},ne.compareDoubles=function(t,e){return t>e?1:t<e?-1:0},Tu.IntersectsOp.get=function(){return nv},Tu.serialVersionUID.get=function(){return-3886435814360241e3},Tu.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(ne,Tu);var nv=function(){},_o=function(){};_o.prototype.distance=function(t,e){},_o.prototype.interfaces_=function(){return[]},_o.prototype.getClass=function(){return _o};var Xf=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;ut.isTrue(i.length>0);for(var a=new z,u=0;u<i.length;u++)a.addAll(o.createParentBoundablesFromVerticalSlice(i[u],s));return a},t.prototype.createNode=function(i){return new Yf(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 z;for(var c=0;u.hasNext()&&c<o;){var f=u.next();a[l].add(f),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(et(arguments[2],mi)&&arguments[0]instanceof Object&&arguments[1]instanceof jt){var a=arguments[0],u=arguments[1],l=arguments[2];n.prototype.query.call(this,a,u,l)}else if(et(arguments[2],br)&&arguments[0]instanceof Object&&arguments[1]instanceof jt){var c=arguments[0],f=arguments[1],p=arguments[2];n.prototype.query.call(this,c,f,p)}}},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){ut.isTrue(!i.isEmpty());var o=Math.trunc(Math.ceil(i.size()/this.getNodeCapacity())),a=new z(i);Mr.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(et(arguments[0],_o)){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,it.POSITIVE_INFINITY)}}else if(arguments.length===2){if(arguments[0]instanceof t&&et(arguments[1],_o)){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],f=arguments[1],p=f,v=null,w=new Kn;for(w.add(c);!w.isEmpty()&&p>0;){var I=w.poll(),P=I.getDistance();if(P>=p)break;I.isLeaves()?(p=P,v=I):I.expandToQueue(w,p)}return[v.getBoundable(0).getItem(),v.getBoundable(1).getItem()]}}else if(arguments.length===3){var M=arguments[0],m=arguments[1],_=arguments[2],g=new Dr(M,m),y=new Zt(this.getRoot(),g,_);return this.nearestNeighbour(y)[0]}},t.prototype.interfaces_=function(){return[Cs,lr]},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 Yf},e.serialVersionUID.get=function(){return 0x39920f7d5f261e0},e.xComparator.get=function(){return{interfaces_:function(){return[io]},compare:function(r,i){return n.compareDoubles(t.centreX(r.getBounds()),t.centreX(i.getBounds()))}}},e.yComparator.get=function(){return{interfaces_:function(){return[io]},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}(ne),Yf=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}(jt),xe=function(){};xe.prototype.interfaces_=function(){return[]},xe.prototype.getClass=function(){return xe},xe.relativeSign=function(t,e){return t<e?-1:t>e?1:0},xe.compare=function(t,e,r){if(e.equals2D(r))return 0;var i=xe.relativeSign(e.x,r.x),s=xe.relativeSign(e.y,r.y);switch(t){case 0:return xe.compareValue(i,s);case 1:return xe.compareValue(s,i);case 2:return xe.compareValue(s,-i);case 3:return xe.compareValue(-i,s);case 4:return xe.compareValue(-i,-s);case 5:return xe.compareValue(-s,-i);case 6:return xe.compareValue(-s,i);case 7:return xe.compareValue(i,-s)}return ut.shouldNeverReachHere("invalid octant value"),0},xe.compareValue=function(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0};var vi=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))};vi.prototype.getCoordinate=function(){return this.coord},vi.prototype.print=function(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex)},vi.prototype.compareTo=function(t){var e=t;return this.segmentIndex<e.segmentIndex?-1:this.segmentIndex>e.segmentIndex?1:this.coord.equals2D(e.coord)?0:xe.compare(this._segmentOctant,this.coord,e.coord)},vi.prototype.isEndPoint=function(t){return this.segmentIndex===0&&!this._isInterior||this.segmentIndex===t},vi.prototype.isInterior=function(){return this._isInterior},vi.prototype.interfaces_=function(){return[ur]},vi.prototype.getClass=function(){return vi};var Ce=function(){this._nodeMap=new me,this._edge=null;var t=arguments[0];this._edge=t};Ce.prototype.getSplitCoordinates=function(){var t=this,e=new Ea;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()},Ce.prototype.addCollapsedNodes=function(){var t=this,e=new z;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)}},Ce.prototype.print=function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},Ce.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 Vr(r+1))}},Ce.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))},Ce.prototype.iterator=function(){return this._nodeMap.values().iterator()},Ce.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}},Ce.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},Ce.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 Vr(r[0])),s=o}},Ce.prototype.getEdge=function(){return this._edge},Ce.prototype.addEndpoints=function(){var t=this._edge.size()-1;this.add(this._edge.getCoordinate(0),0),this.add(this._edge.getCoordinate(t),t)},Ce.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 Yt(a,this._edge.getData())},Ce.prototype.add=function(t,e){var r=new vi(this._edge,t,e,this._edge.getSegmentOctant(e)),i=this._nodeMap.get(r);return i!==null?(ut.isTrue(i.coord.equals2D(t),"Found equal nodes with different coordinates"),i):(this._nodeMap.put(r,r),r)},Ce.prototype.checkSplitEdgesCorrectness=function(t){var e=this._edge.getCoordinates(),r=t.get(0),i=r.getCoordinate(0);if(!i.equals2D(e[0]))throw new Wn("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 Wn("bad split edge end point at "+a)},Ce.prototype.interfaces_=function(){return[]},Ce.prototype.getClass=function(){return Ce};var Is=function(){};Is.prototype.interfaces_=function(){return[]},Is.prototype.getClass=function(){return Is},Is.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 Ft("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 Ft("Cannot compute the octant for two identical points "+s);return Is.octant(a,u)}};var En=function(){};En.prototype.getCoordinates=function(){},En.prototype.size=function(){},En.prototype.getCoordinate=function(t){},En.prototype.isClosed=function(){},En.prototype.setData=function(t){},En.prototype.getData=function(){},En.prototype.interfaces_=function(){return[]},En.prototype.getClass=function(){return En};var Da=function(){};Da.prototype.addIntersection=function(t,e){},Da.prototype.interfaces_=function(){return[En]},Da.prototype.getClass=function(){return Da};var Yt=function(){this._nodeList=new Ce(this),this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};Yt.prototype.getCoordinates=function(){return this._pts},Yt.prototype.size=function(){return this._pts.length},Yt.prototype.getCoordinate=function(t){return this._pts[t]},Yt.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Yt.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))},Yt.prototype.setData=function(t){this._data=t},Yt.prototype.safeOctant=function(t,e){return t.equals2D(e)?0:Is.octant(t,e)},Yt.prototype.getData=function(){return this._data},Yt.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)}},Yt.prototype.toString=function(){return Nr.toLineString(new Xt(this._pts))},Yt.prototype.getNodeList=function(){return this._nodeList},Yt.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},Yt.prototype.addIntersections=function(t,e,r){for(var i=this,s=0;s<t.getIntersectionNum();s++)i.addIntersection(t,e,r,s)},Yt.prototype.interfaces_=function(){return[Da]},Yt.prototype.getClass=function(){return Yt},Yt.getNodedSubstrings=function(){if(arguments.length===1){var t=arguments[0],e=new z;return Yt.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)}},Hf={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=G.orientationIndex(this.p0,this.p1,t.p0),r=G.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 G.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 ki;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 G.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 it.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=it.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=Pr.intersection(this.p0,this.p1,t.p0,t.p1);return e}catch(r){if(!(r instanceof oo))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,f=i+u,p=new D(c,f);return p},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||it.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 G.distanceLineLine(this.p0,this.p1,t.p0,t.p1)}else if(arguments[0]instanceof D){var e=arguments[0];return G.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=it.doubleToLongBits(this.p0.x);t^=it.doubleToLongBits(this.p0.y)*31;var e=Math.trunc(t)^Math.trunc(t>>32),r=it.doubleToLongBits(this.p1.x);r^=it.doubleToLongBits(this.p1.y)*31;var i=Math.trunc(r)^Math.trunc(r>>32);return e^i},Z.prototype.interfaces_=function(){return[ur,lr]},Z.prototype.getClass=function(){return Z},Z.midPoint=function(t,e){return new D((t.x+e.x)/2,(t.y+e.y)/2)},Hf.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(Z,Hf);var Ma=function(){this.tempEnv1=new J,this.tempEnv2=new J,this._overlapSeg1=new Z,this._overlapSeg2=new Z};Ma.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)}}},Ma.prototype.interfaces_=function(){return[]},Ma.prototype.getClass=function(){return Ma};var We=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};We.prototype.getLineSegment=function(t,e){e.p0=this._pts[t],e.p1=this._pts[t+1]},We.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)},We.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},We.prototype.computeOverlaps=function(t,e){this.computeOverlapsInternal(this._start,this._end,t,t._start,t._end,e)},We.prototype.setId=function(t){this._id=t},We.prototype.select=function(t,e){this.computeSelect(t,this._start,this._end,e)},We.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},We.prototype.getEndIndex=function(){return this._end},We.prototype.getStartIndex=function(){return this._start},We.prototype.getContext=function(){return this._context},We.prototype.getId=function(){return this._id},We.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 f=Math.trunc((t+e)/2),p=Math.trunc((i+s)/2);t<f&&(i<p&&this.computeOverlapsInternal(t,f,r,i,p,o),p<s&&this.computeOverlapsInternal(t,f,r,p,s,o)),f<e&&(i<p&&this.computeOverlapsInternal(f,e,r,i,p,o),p<s&&this.computeOverlapsInternal(f,e,r,p,s,o))},We.prototype.interfaces_=function(){return[]},We.prototype.getClass=function(){return We};var Zr=function(){};Zr.prototype.interfaces_=function(){return[]},Zr.prototype.getClass=function(){return Zr},Zr.getChainStartIndices=function(t){var e=0,r=new z;r.add(new Vr(e));do{var i=Zr.findChainEnd(t,e);r.add(new Vr(i)),e=i}while(e<t.length-1);var s=Zr.toIntArray(r);return s},Zr.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=Ot.quadrant(t[r],t[r+1]),s=e+1;s<t.length;){if(!t[s-1].equals2D(t[s])){var o=Ot.quadrant(t[s-1],t[s]);if(o!==i)break}s++}return s-1},Zr.getChains=function(){if(arguments.length===1){var t=arguments[0];return Zr.getChains(t,null)}else if(arguments.length===2){for(var e=arguments[0],r=arguments[1],i=new z,s=Zr.getChainStartIndices(e),o=0;o<s.length-1;o++){var a=new We(e,s[o],s[o+1],r);i.add(a)}return i}},Zr.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 Gi=function(){};Gi.prototype.computeNodes=function(t){},Gi.prototype.getNodedSubstrings=function(){},Gi.prototype.interfaces_=function(){return[]},Gi.prototype.getClass=function(){return Gi};var xa=function(){if(this._segInt=null,arguments.length!==0){if(arguments.length===1){var t=arguments[0];this.setSegmentIntersector(t)}}};xa.prototype.setSegmentIntersector=function(t){this._segInt=t},xa.prototype.interfaces_=function(){return[Gi]},xa.prototype.getClass=function(){return xa};var Fl=function(n){function t(r){r?n.call(this,r):n.call(this),this._monoChains=new z,this._index=new Xf,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 Yt.getNodedSubstrings(this._nodedSegStrings)},t.prototype.getIndex=function(){return this._index},t.prototype.add=function(i){for(var s=this,o=Zr.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 Jf(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 Jf},Object.defineProperties(t,e),t}(xa),Jf=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}(Ma),It=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)}}},Qn={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}};It.prototype.getEndCapStyle=function(){return this._endCapStyle},It.prototype.isSingleSided=function(){return this._isSingleSided},It.prototype.setQuadrantSegments=function(t){this._quadrantSegments=t,this._quadrantSegments===0&&(this._joinStyle=It.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=It.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),t<=0&&(this._quadrantSegments=1),this._joinStyle!==It.JOIN_ROUND&&(this._quadrantSegments=It.DEFAULT_QUADRANT_SEGMENTS)},It.prototype.getJoinStyle=function(){return this._joinStyle},It.prototype.setJoinStyle=function(t){this._joinStyle=t},It.prototype.setSimplifyFactor=function(t){this._simplifyFactor=t<0?0:t},It.prototype.getSimplifyFactor=function(){return this._simplifyFactor},It.prototype.getQuadrantSegments=function(){return this._quadrantSegments},It.prototype.setEndCapStyle=function(t){this._endCapStyle=t},It.prototype.getMitreLimit=function(){return this._mitreLimit},It.prototype.setMitreLimit=function(t){this._mitreLimit=t},It.prototype.setSingleSided=function(t){this._isSingleSided=t},It.prototype.interfaces_=function(){return[]},It.prototype.getClass=function(){return It},It.bufferDistanceError=function(t){var e=Math.PI/2/t;return 1-Math.cos(e/2)},Qn.CAP_ROUND.get=function(){return 1},Qn.CAP_FLAT.get=function(){return 2},Qn.CAP_SQUARE.get=function(){return 3},Qn.JOIN_ROUND.get=function(){return 1},Qn.JOIN_MITRE.get=function(){return 2},Qn.JOIN_BEVEL.get=function(){return 3},Qn.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},Qn.DEFAULT_MITRE_LIMIT.get=function(){return 5},Qn.DEFAULT_SIMPLIFY_FACTOR.get=function(){return .01},Object.defineProperties(It,Qn);var Wt=function(t){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=G.COUNTERCLOCKWISE,this._inputLine=t||null},La={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};Wt.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)},Wt.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]=Wt.DELETE,o=!0,s=!0),o?e=i:e=r,r=t.findNextNonDeletedIndex(e),i=t.findNextNonDeletedIndex(r)}return s},Wt.prototype.isShallowConcavity=function(t,e,r,i){var s=G.computeOrientation(t,e,r),o=s===this._angleOrientation;if(!o)return!1;var a=G.distancePointLine(e,t,r);return a<i},Wt.prototype.isShallowSampled=function(t,e,r,i,s){var o=this,a=Math.trunc((i-r)/Wt.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},Wt.prototype.isConcave=function(t,e,r){var i=G.computeOrientation(t,e,r),s=i===this._angleOrientation;return s},Wt.prototype.simplify=function(t){var e=this;this._distanceTol=Math.abs(t),t<0&&(this._angleOrientation=G.CLOCKWISE),this._isDeleted=new Array(this._inputLine.length).fill(null);var r=!1;do r=e.deleteShallowConcavities();while(r);return this.collapseLine()},Wt.prototype.findNextNonDeletedIndex=function(t){for(var e=t+1;e<this._inputLine.length&&this._isDeleted[e]===Wt.DELETE;)e++;return e},Wt.prototype.isShallow=function(t,e,r,i){var s=G.distancePointLine(e,t,r);return s<i},Wt.prototype.collapseLine=function(){for(var t=this,e=new Ea,r=0;r<this._inputLine.length;r++)t._isDeleted[r]!==Wt.DELETE&&e.add(t._inputLine[r]);return e.toCoordinateArray()},Wt.prototype.interfaces_=function(){return[]},Wt.prototype.getClass=function(){return Wt},Wt.simplify=function(t,e){var r=new Wt(t);return r.simplify(e)},La.INIT.get=function(){return 0},La.DELETE.get=function(){return 1},La.KEEP.get=function(){return 1},La.NUM_PTS_TO_CHECK.get=function(){return 10},Object.defineProperties(Wt,La);var er=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new z},Zf={COORDINATE_ARRAY_TYPE:{configurable:!0}};er.prototype.getCoordinates=function(){var t=this._ptList.toArray(er.COORDINATE_ARRAY_TYPE);return t},er.prototype.setPrecisionModel=function(t){this._precisionModel=t},er.prototype.addPt=function(t){var e=new D(t);if(this._precisionModel.makePrecise(e),this.isRedundant(e))return null;this._ptList.add(e)},er.prototype.revere=function(){},er.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])},er.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},er.prototype.toString=function(){var t=new ft,e=t.createLineString(this.getCoordinates());return e.toString()},er.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)},er.prototype.setMinimumVertexDistance=function(t){this._minimimVertexDistance=t},er.prototype.interfaces_=function(){return[]},er.prototype.getClass=function(){return er},Zf.COORDINATE_ARRAY_TYPE.get=function(){return new Array(0).fill(null)},Object.defineProperties(er,Zf);var gt=function(){},Ps={PI_TIMES_2:{configurable:!0},PI_OVER_2:{configurable:!0},PI_OVER_4:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},CLOCKWISE:{configurable:!0},NONE:{configurable:!0}};gt.prototype.interfaces_=function(){return[]},gt.prototype.getClass=function(){return gt},gt.toDegrees=function(t){return t*180/Math.PI},gt.normalize=function(t){for(;t>Math.PI;)t-=gt.PI_TIMES_2;for(;t<=-Math.PI;)t+=gt.PI_TIMES_2;return t},gt.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)}},gt.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},gt.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},gt.interiorAngle=function(t,e,r){var i=gt.angle(e,t),s=gt.angle(e,r);return Math.abs(s-i)},gt.normalizePositive=function(t){if(t<0){for(;t<0;)t+=gt.PI_TIMES_2;t>=gt.PI_TIMES_2&&(t=0)}else{for(;t>=gt.PI_TIMES_2;)t-=gt.PI_TIMES_2;t<0&&(t=0)}return t},gt.angleBetween=function(t,e,r){var i=gt.angle(e,t),s=gt.angle(e,r);return gt.diff(i,s)},gt.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},gt.toRadians=function(t){return t*Math.PI/180},gt.getTurn=function(t,e){var r=Math.sin(e-t);return r>0?gt.COUNTERCLOCKWISE:r<0?gt.CLOCKWISE:gt.NONE},gt.angleBetweenOriented=function(t,e,r){var i=gt.angle(e,t),s=gt.angle(e,r),o=s-i;return o<=-Math.PI?o+gt.PI_TIMES_2:o>Math.PI?o-gt.PI_TIMES_2:o},Ps.PI_TIMES_2.get=function(){return 2*Math.PI},Ps.PI_OVER_2.get=function(){return Math.PI/2},Ps.PI_OVER_4.get=function(){return Math.PI/4},Ps.COUNTERCLOCKWISE.get=function(){return G.COUNTERCLOCKWISE},Ps.CLOCKWISE.get=function(){return G.CLOCKWISE},Ps.NONE.get=function(){return G.COLLINEAR},Object.defineProperties(gt,Ps);var At=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 ki,this._filletAngleQuantum=Math.PI/2/e.getQuadrantSegments(),e.getQuadrantSegments()>=8&&e.getJoinStyle()===It.JOIN_ROUND&&(this._closingSegLengthFactor=n.MAX_CLOSING_SEG_LEN_FACTOR),this.init(r)},Aa={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}};At.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=G.computeOrientation(this._s0,this._s1,this._s2),i=r===G.CLOCKWISE&&this._side===V.LEFT||r===G.COUNTERCLOCKWISE&&this._side===V.RIGHT;r===0?this.addCollinear(e):i?this.addOutsideTurn(r,e):this.addInsideTurn(r,e)},At.prototype.addLineEndCap=function(t,e){var r=new Z(t,e),i=new Z;this.computeOffsetSegment(r,V.LEFT,this._distance,i);var s=new Z;this.computeOffsetSegment(r,V.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 It.CAP_ROUND:this._segList.addPt(i.p1),this.addFilletArc(e,u+Math.PI/2,u-Math.PI/2,G.CLOCKWISE,this._distance),this._segList.addPt(s.p1);break;case It.CAP_FLAT:this._segList.addPt(i.p1),this._segList.addPt(s.p1);break;case It.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),f=new D(s.p1.x+l.x,s.p1.y+l.y);this._segList.addPt(c),this._segList.addPt(f);break}},At.prototype.getCoordinates=function(){var t=this._segList.getCoordinates();return t},At.prototype.addMitreJoin=function(t,e,r,i){var s=!0,o=null;try{o=Pr.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 oo)o=new D(0,0),s=!1;else throw u}finally{}s?this._segList.addPt(o):this.addLimitedMitreJoin(e,r,i,this._bufParams.getMitreLimit())},At.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,f=Math.atan2(c,l);i===G.CLOCKWISE?u<=f&&(u+=2*Math.PI):u>=f&&(u-=2*Math.PI),this._segList.addPt(e),this.addFilletArc(t,u,f,i,s),this._segList.addPt(r)},At.prototype.addOutsideTurn=function(t,e){if(this._offset0.p1.distance(this._offset1.p0)<this._distance*At.OFFSET_SEGMENT_SEPARATION_FACTOR)return this._segList.addPt(this._offset0.p1),null;this._bufParams.getJoinStyle()===It.JOIN_MITRE?this.addMitreJoin(this._s1,this._offset0,this._offset1,this._distance):this._bufParams.getJoinStyle()===It.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))},At.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()},At.prototype.addSegments=function(t,e){this._segList.addPts(t,e)},At.prototype.addFirstSegment=function(){this._segList.addPt(this._offset1.p0)},At.prototype.addLastSegment=function(){this._segList.addPt(this._offset1.p1)},At.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)},At.prototype.addLimitedMitreJoin=function(t,e,r,i){var s=this._seg0.p1,o=gt.angle(s,this._seg0.p0),a=gt.angleBetweenOriented(this._seg0.p0,s,this._seg1.p1),u=a/2,l=gt.normalize(o+u),c=gt.normalize(l+Math.PI),f=i*r,p=f*Math.abs(Math.sin(u)),v=r-p,w=s.x+f*Math.cos(c),I=s.y+f*Math.sin(c),P=new D(w,I),M=new Z(s,P),m=M.pointAlongOffset(1,v),_=M.pointAlongOffset(1,-v);this._side===V.LEFT?(this._segList.addPt(m),this._segList.addPt(_)):(this._segList.addPt(_),this._segList.addPt(m))},At.prototype.computeOffsetSegment=function(t,e,r,i){var s=e===V.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},At.prototype.addFilletArc=function(t,e,r,i,s){var o=this,a=i===G.CLOCKWISE?-1:1,u=Math.abs(e-r),l=Math.trunc(u/this._filletAngleQuantum+.5);if(l<1)return null;for(var c=0,f=u/l,p=c,v=new D;p<u;){var w=e+a*p;v.x=t.x+s*Math.cos(w),v.y=t.y+s*Math.sin(w),o._segList.addPt(v),p+=f}},At.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*At.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)}},At.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()},At.prototype.addBevelJoin=function(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)},At.prototype.init=function(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new er,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*At.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},At.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()===It.JOIN_BEVEL||this._bufParams.getJoinStyle()===It.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,G.CLOCKWISE,this._distance))},At.prototype.closeRing=function(){this._segList.closeRing()},At.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},At.prototype.interfaces_=function(){return[]},At.prototype.getClass=function(){return At},Aa.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return .001},Aa.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return .001},Aa.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},Aa.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(At,Aa);var Le=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e};Le.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&&ht.reverse(o),o},Le.prototype.computeSingleSidedBufferCurve=function(t,e,r){var i=this.simplifyTolerance(this._distance);if(e){r.addSegments(t,!0);var s=Wt.simplify(t,-i),o=s.length-1;r.initSideSegments(s[o],s[o-1],V.LEFT),r.addFirstSegment();for(var a=o-2;a>=0;a--)r.addNextSegment(s[a],!0)}else{r.addSegments(t,!1);var u=Wt.simplify(t,i),l=u.length-1;r.initSideSegments(u[0],u[1],V.LEFT),r.addFirstSegment();for(var c=2;c<=l;c++)r.addNextSegment(u[c],!0)}r.addLastSegment(),r.closeRing()},Le.prototype.computeRingBufferCurve=function(t,e,r){var i=this.simplifyTolerance(this._distance);e===V.RIGHT&&(i=-i);var s=Wt.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()},Le.prototype.computeLineBufferCurve=function(t,e){var r=this.simplifyTolerance(this._distance),i=Wt.simplify(t,r),s=i.length-1;e.initSideSegments(i[0],i[1],V.LEFT);for(var o=2;o<=s;o++)e.addNextSegment(i[o],!0);e.addLastSegment(),e.addLineEndCap(i[s-1],i[s]);var a=Wt.simplify(t,-r),u=a.length-1;e.initSideSegments(a[u],a[u-1],V.LEFT);for(var l=u-2;l>=0;l--)e.addNextSegment(a[l],!0);e.addLastSegment(),e.addLineEndCap(a[1],a[0]),e.closeRing()},Le.prototype.computePointCurve=function(t,e){switch(this._bufParams.getEndCapStyle()){case It.CAP_ROUND:e.createCircle(t);break;case It.CAP_SQUARE:e.createSquare(t);break}},Le.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},Le.prototype.getBufferParameters=function(){return this._bufParams},Le.prototype.simplifyTolerance=function(t){return t*this._bufParams.getSimplifyFactor()},Le.prototype.getRingCurve=function(t,e,r){if(this._distance=r,t.length<=2)return this.getLineCurve(t,r);if(r===0)return Le.copyCoordinates(t);var i=this.getSegGen(r);return this.computeRingBufferCurve(t,e,i),i.getCoordinates()},Le.prototype.computeOffsetCurve=function(t,e,r){var i=this.simplifyTolerance(this._distance);if(e){var s=Wt.simplify(t,-i),o=s.length-1;r.initSideSegments(s[o],s[o-1],V.LEFT),r.addFirstSegment();for(var a=o-2;a>=0;a--)r.addNextSegment(s[a],!0)}else{var u=Wt.simplify(t,i),l=u.length-1;r.initSideSegments(u[0],u[1],V.LEFT),r.addFirstSegment();for(var c=2;c<=l;c++)r.addNextSegment(u[c],!0)}r.addLastSegment()},Le.prototype.getSegGen=function(t){return new At(this._precisionModel,this._bufParams,t)},Le.prototype.interfaces_=function(){return[]},Le.prototype.getClass=function(){return Le},Le.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 Ns=function(){this._subgraphs=null,this._seg=new Z,this._cga=new G;var t=arguments[0];this._subgraphs=t},Kf={DepthSegment:{configurable:!0}};Ns.prototype.findStabbedSegments=function(){var t=this;if(arguments.length===1){for(var e=arguments[0],r=new z,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(et(arguments[2],br)&&arguments[0]instanceof D&&arguments[1]instanceof Rl)for(var a=arguments[0],u=arguments[1],l=arguments[2],c=u.getEdge().getCoordinates(),f=0;f<c.length-1;f++){t._seg.p0=c[f],t._seg.p1=c[f+1],t._seg.p0.y>t._seg.p1.y&&t._seg.reverse();var p=Math.max(t._seg.p0.x,t._seg.p1.x);if(!(p<a.x)&&!t._seg.isHorizontal()&&!(a.y<t._seg.p0.y||a.y>t._seg.p1.y)&&G.computeOrientation(t._seg.p0,t._seg.p1,a)!==G.RIGHT){var v=u.getDepth(V.LEFT);t._seg.p0.equals(c[f])||(v=u.getDepth(V.RIGHT));var w=new Wi(t._seg,v);l.add(w)}}else if(et(arguments[2],br)&&arguments[0]instanceof D&&et(arguments[1],br))for(var I=arguments[0],P=arguments[1],M=arguments[2],m=P.iterator();m.hasNext();){var _=m.next();_.isForward()&&t.findStabbedSegments(I,_,M)}}},Ns.prototype.getDepth=function(t){var e=this.findStabbedSegments(t);if(e.size()===0)return 0;var r=Mr.min(e);return r._leftDepth},Ns.prototype.interfaces_=function(){return[]},Ns.prototype.getClass=function(){return Ns},Kf.DepthSegment.get=function(){return Wi},Object.defineProperties(Ns,Kf);var Wi=function(){this._upwardSeg=null,this._leftDepth=null;var t=arguments[0],e=arguments[1];this._upwardSeg=new Z(t),this._leftDepth=e};Wi.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)},Wi.prototype.compareX=function(t,e){var r=t.p0.compareTo(e.p0);return r!==0?r:t.p1.compareTo(e.p1)},Wi.prototype.toString=function(){return this._upwardSeg.toString()},Wi.prototype.interfaces_=function(){return[ur]},Wi.prototype.getClass=function(){return Wi};var Pt=function(t,e,r){this.p0=t||null,this.p1=e||null,this.p2=r||null};Pt.prototype.area=function(){return Pt.area(this.p0,this.p1,this.p2)},Pt.prototype.signedArea=function(){return Pt.signedArea(this.p0,this.p1,this.p2)},Pt.prototype.interpolateZ=function(t){if(t===null)throw new Ft("Supplied point is null.");return Pt.interpolateZ(t,this.p0,this.p1,this.p2)},Pt.prototype.longestSideLength=function(){return Pt.longestSideLength(this.p0,this.p1,this.p2)},Pt.prototype.isAcute=function(){return Pt.isAcute(this.p0,this.p1,this.p2)},Pt.prototype.circumcentre=function(){return Pt.circumcentre(this.p0,this.p1,this.p2)},Pt.prototype.area3D=function(){return Pt.area3D(this.p0,this.p1,this.p2)},Pt.prototype.centroid=function(){return Pt.centroid(this.p0,this.p1,this.p2)},Pt.prototype.inCentre=function(){return Pt.inCentre(this.p0,this.p1,this.p2)},Pt.prototype.interfaces_=function(){return[]},Pt.prototype.getClass=function(){return Pt},Pt.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)},Pt.signedArea=function(t,e,r){return((r.x-t.x)*(e.y-t.y)-(e.x-t.x)*(r.y-t.y))/2},Pt.det=function(t,e,r,i){return t*i-e*r},Pt.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,f=a*c-u*l,p=t.x-s,v=t.y-o,w=(c*p-u*v)/f,I=(-l*p+a*v)/f,P=e.z+w*(r.z-e.z)+I*(i.z-e.z);return P},Pt.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},Pt.isAcute=function(t,e,r){return!(!gt.isAcute(t,e,r)||!gt.isAcute(e,r,t)||!gt.isAcute(r,t,e))},Pt.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*Pt.det(o,a,u,l),f=Pt.det(a,o*o+a*a,l,u*u+l*l),p=Pt.det(o,o*o+a*a,u,u*u+l*l),v=i-f/c,w=s+p/c;return new D(v,w)},Pt.perpendicularBisector=function(t,e){var r=e.x-t.x,i=e.y-t.y,s=new Pr(t.x+r/2,t.y+i/2,1),o=new Pr(t.x-i+r/2,t.y+r+i/2,1);return new Pr(s,o)},Pt.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},Pt.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,f=o*a-i*l,p=i*u-s*a,v=c*c+f*f+p*p,w=Math.sqrt(v)/2;return w},Pt.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)},Pt.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 pr=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new z;var t=arguments[0],e=arguments[1],r=arguments[2];this._inputGeom=t,this._distance=e,this._curveBuilder=r};pr.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)},pr.prototype.addPolygon=function(t){var e=this,r=this._distance,i=V.LEFT;this._distance<0&&(r=-this._distance,i=V.RIGHT);var s=t.getExteriorRing(),o=ht.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=ht.removeRepeatedPoints(u.getCoordinates());e._distance>0&&e.isErodedCompletely(u,-e._distance)||e.addPolygonRing(l,r,V.opposite(i),R.INTERIOR,R.EXTERIOR)}},pr.prototype.isTriangleErodedCompletely=function(t,e){var r=new Pt(t[0],t[1],t[2]),i=r.inCentre(),s=G.distancePointLine(i,r.p0,r.p1);return s<Math.abs(e)},pr.prototype.addLineString=function(t){if(this._distance<=0&&!this._curveBuilder.getBufferParameters().isSingleSided())return null;var e=ht.removeRepeatedPoints(t.getCoordinates()),r=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(r,R.EXTERIOR,R.INTERIOR)},pr.prototype.addCurve=function(t,e,r){if(t===null||t.length<2)return null;var i=new Yt(t,new bt(0,R.BOUNDARY,e,r));this._curveList.add(i)},pr.prototype.getCurves=function(){return this.add(this._inputGeom),this._curveList},pr.prototype.addPolygonRing=function(t,e,r,i,s){if(e===0&&t.length<yn.MINIMUM_VALID_SIZE)return null;var o=i,a=s;t.length>=yn.MINIMUM_VALID_SIZE&&G.isCCW(t)&&(o=s,a=i,r=V.opposite(r));var u=this._curveBuilder.getRingCurve(t,r,e);this.addCurve(u,o,a)},pr.prototype.add=function(t){if(t.isEmpty())return null;t instanceof $t?this.addPolygon(t):t instanceof Gt?this.addLineString(t):t instanceof Ue?this.addPoint(t):t instanceof mo?this.addCollection(t):t instanceof Ui?this.addCollection(t):t instanceof _n?this.addCollection(t):t instanceof Ee&&this.addCollection(t)},pr.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},pr.prototype.addCollection=function(t){for(var e=this,r=0;r<t.getNumGeometries();r++){var i=t.getGeometryN(r);e.add(i)}},pr.prototype.interfaces_=function(){return[]},pr.prototype.getClass=function(){return pr};var wo=function(){};wo.prototype.locate=function(t){},wo.prototype.interfaces_=function(){return[]},wo.prototype.getClass=function(){return wo};var Sn=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()};Sn.prototype.next=function(){if(this._atStart)return this._atStart=!1,Sn.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 po;var t=this._parent.getGeometryN(this._index++);return t instanceof Ee?(this._subcollectionIterator=new Sn(t),this._subcollectionIterator.next()):t},Sn.prototype.remove=function(){throw new Error(this.getClass().getName())},Sn.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)},Sn.prototype.interfaces_=function(){return[fo]},Sn.prototype.getClass=function(){return Sn},Sn.isAtomic=function(t){return!(t instanceof Ee)};var rr=function(){this._geom=null;var t=arguments[0];this._geom=t};rr.prototype.locate=function(t){return rr.locate(t,this._geom)},rr.prototype.interfaces_=function(){return[wo]},rr.prototype.getClass=function(){return rr},rr.isPointInRing=function(t,e){return e.getEnvelopeInternal().intersects(t)?G.isPointInRing(t,e.getCoordinates()):!1},rr.containsPointInPolygon=function(t,e){if(e.isEmpty())return!1;var r=e.getExteriorRing();if(!rr.isPointInRing(t,r))return!1;for(var i=0;i<e.getNumInteriorRing();i++){var s=e.getInteriorRingN(i);if(rr.isPointInRing(t,s))return!1}return!0},rr.containsPoint=function(t,e){if(e instanceof $t)return rr.containsPointInPolygon(t,e);if(e instanceof Ee)for(var r=new Sn(e);r.hasNext();){var i=r.next();if(i!==e&&rr.containsPoint(t,i))return!0}return!1},rr.locate=function(t,e){return e.isEmpty()?R.EXTERIOR:rr.containsPoint(t,e)?R.INTERIOR:R.EXTERIOR};var ye=function(){this._edgeMap=new me,this._edgeList=null,this._ptInAreaLocation=[R.NONE,R.NONE]};ye.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)},ye.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,V.LEFT)!==R.NONE&&(e=s.getLocation(t,V.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,V.ON)===R.NONE&&l.setLocation(t,V.ON,o),l.isArea(t)){var c=l.getLocation(t,V.LEFT),f=l.getLocation(t,V.RIGHT);if(f!==R.NONE){if(f!==o)throw new Zn("side location conflict",u.getCoordinate());c===R.NONE&&ut.shouldNeverReachHere("found single null side (at "+u.getCoordinate()+")"),o=c}else ut.isTrue(l.getLocation(t,V.LEFT)===R.NONE,"found single null side"),l.setLocation(t,V.RIGHT,o),l.setLocation(t,V.LEFT,o)}}},ye.prototype.getCoordinate=function(){var t=this.iterator();if(!t.hasNext())return null;var e=t.next();return e.getCoordinate()},ye.prototype.print=function(t){ue.out.println("EdgeEndStar: "+this.getCoordinate());for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},ye.prototype.isAreaLabelsConsistent=function(t){return this.computeEdgeEndLabels(t.getBoundaryNodeRule()),this.checkAreaLabelsConsistent(0)},ye.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,V.LEFT);ut.isTrue(s!==R.NONE,"Found unlabelled area edge");for(var o=s,a=this.iterator();a.hasNext();){var u=a.next(),l=u.getLabel();ut.isTrue(l.isArea(t),"Found non-area edge");var c=l.getLocation(t,V.LEFT),f=l.getLocation(t,V.RIGHT);if(c===f||f!==o)return!1;o=c}return!0},ye.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},ye.prototype.iterator=function(){return this.getEdges().iterator()},ye.prototype.getEdges=function(){return this._edgeList===null&&(this._edgeList=new z(this._edgeMap.values())),this._edgeList},ye.prototype.getLocation=function(t,e,r){return this._ptInAreaLocation[t]===R.NONE&&(this._ptInAreaLocation[t]=rr.locate(e,r[t].getGeometry())),this._ptInAreaLocation[t]},ye.prototype.toString=function(){var t=new kr;t.append("EdgeEndStar: "+this.getCoordinate()),t.append(`
|
|
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 Cf(n,t){const[e,r,i]=p.getReactFuncs(n),s=p.react(void 0),o=()=>{const a=e()??t;s.value=a&&j.context.getStrFromEnv(a)};return o(),i&&s.d(i.don(o)),s.d(j.context.environmentVariablesChanged.don(o)),s}function If(n){const t=/\${(.*?)\}/g;if(!t.test(n))return n;const e=n.replace(t,(r,i)=>{const s=j.context.getEnv(i);return s===void 0?(console.warn(`环境变量(${i})不存在,无法进行转换`),"{env-error}"):s});return If(e)}class Mm extends q{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 Om(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 If(e)}createEnvStrReact(e,r){return Cf(e,r)}createEvnStrReact(e,r){return Cf(e,r)}}const ot=class ot extends q{constructor(e){super();f(this,"_components",this.dv(new cu));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 ot.context.environmentVariables}static get $refs(){return ot.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 Dm(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 $(r.general,"general")),Object.keys(r).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&r[s].length>0&&i.push(new $(r[s],s))}),i}getESProperties(){return{defaultMenu:"general",basic:[],general:[new nt([this,"typeName"],"类型",void 0,!1,!0),new nt([this,"id"],"唯一标识",void 0,!1,!0),new nt([this,"name"],"名称")],dataSource:[],location:[],coordinate:[],style:[],more:[new nt([this,"ref"],"ref",void 0,!0),new H([this,"extras"],"extras",void 0,void 0,!0),new yf(()=>this._jsonStr,e=>e&&(this._jsonStr=e),"JSON")]}}};f(ot,"context",new Mm),f(ot,"innerRegister",ot.context.register.bind(ot.context)),f(ot,"defaults",{}),f(ot,"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(ot,"type",ot.register("ESSceneObject",ot,{chsName:"场景类",tags:["ESObjects"],description:""})),f(ot,"create",ot.context.createSceneObject.bind(ot.context)),f(ot,"createFromUrl",ot.context.createSceneObjectFromUrl.bind(ot.context)),f(ot,"createFromClass",ot.context.createSceneObjectFromClass.bind(ot.context)),f(ot,"createFromJson",ot.context.createSceneObjectFromJson.bind(ot.context)),f(ot,"destroySceneObject",ot.context.destroySceneObject.bind(ot.context)),f(ot,"getSceneObjById",ot.context.getSceneObjectById.bind(ot.context)),f(ot,"getSceneObj",ot.context.getSceneObject.bind(ot.context)),f(ot,"getEnv",ot.context.getEnv.bind(ot.context)),f(ot,"setEnv",ot.context.setEnv.bind(ot.context)),f(ot,"getStrFromEnv",ot.context.getStrFromEnv.bind(ot.context)),f(ot,"getSceneObjectById",ot.context.getSceneObjectById.bind(ot.context)),f(ot,"getSceneObject",ot.context.getSceneObject.bind(ot.context));let j=ot;class Dm extends q{constructor(t,e){super(),this.dv(new p.ObjResettingWithEvent(t.subContainerChanged,()=>{if(t.subContainer)return e(t,t.subContainer)}))}}const Kt=class Kt extends j{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);xf(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,Kt._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(e=1){this._flyToEvent.emit(e,Kt._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 W([this,"show"],"是否显示",Kt.defaults.show),new W([this,"collision"],"开启碰撞",Kt.defaults.collision),new W([this,"allowPicking"],"允许拾取",Kt.defaults.allowPicking),new tt([],()=>this.calcFlyToParam(),[],"保存观察视角","保存当前flyToParam"),new tt([],()=>this.emptyFlyToParam(),[],"清空飞向参数","清空飞向参数"),new tt([],()=>this.emptyFlyInParam(),[],"清空飞入参数","清空飞入参数"),new tt([],()=>this.calcFlyInParam(),[],"保存飞入参数","保存飞入参数flyInParam")],more:[...e.more,new $([],"飞行定位","飞向参数"),new tt(["number"],r=>this.flyTo(r),[1],"飞向"),new H([this,"flyToParam"],"flyToParam",void 0,void 0,!0),new T([this,"flyToDistance"],"flyToDistance",void 0,!0),new T([this,"flyToHeading"],"flyToHeading",void 0,!0),new T([this,"flyToPitch"],"flyToPitch",void 0,!0),new T([this,"flyToFlyDuration"],"flyToFlyDuration",void 0,!0),new T([this,"flyToHDelta"],"flyToHDelta",void 0,!0),new T([this,"flyToPDelta"],"flyToPDelta",void 0,!0),new $([],"飞入参数"),new tt(["number"],r=>this.flyIn(r),[1],"飞入"),new H([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??Kt.defaultFlyToParam,distance:e}:void 0}set flyToHeading(e){this.flyToParam=e!==void 0?{...this.flyToParam??Kt.defaultFlyToParam,heading:e}:void 0}set flyToPitch(e){this.flyToParam=e!==void 0?{...this.flyToParam??Kt.defaultFlyToParam,pitch:e}:void 0}set flyToFlyDuration(e){this.flyToParam=e!==void 0?{...this.flyToParam??Kt.defaultFlyToParam,flyDuration:e}:void 0}set flyToHDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??Kt.defaultFlyToParam,hDelta:e}:void 0}set flyToPDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??Kt.defaultFlyToParam,pDelta:e}:void 0}};f(Kt,"createDefaultProps",()=>({...j.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:p.reactJsonWithUndefined(void 0),flyInParam:p.reactJsonWithUndefined(void 0)})),f(Kt,"type",Kt.register("ESVisualObject",Kt,{chsName:"可视化对象",tags:["ESObjects"],description:"可视化对象"})),f(Kt,"supportEditingModes",[]),f(Kt,"defaultFlyToParam",{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0}),f(Kt,"defaultFlyInParam",{position:[0,0,0],rotation:[0,0,0],flyDuration:1}),f(Kt,"_lastFlyInId",0),f(Kt,"_lastFlyToId",0);let bt=Kt;class Pf extends q{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 bf extends q{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 Lm(n,t){t&&(Reflect.has(t,"editing")?t.editing=!0:Reflect.has(t,"positionEditing")&&(t.positionEditing=!0))}function Am(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 fu(n,t){p.getExtProp(n,"__treeItem")&&console.error("setSceneObjectTreeItem error!"),p.setExtProp(n,"__treeItem",t)}function Rm(n){return p.getExtProp(n,"__treeItem")}function Fm(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 Ml(n){if(typeof n!="string")return!1;try{const t=JSON.parse(n);return typeof t=="object"&&t!==null}catch{return!1}}function km(n){try{return new DOMParser().parseFromString(n,"application/xml").getElementsByTagName("parsererror").length===0}catch{return!1}}function Vm(n){return n instanceof Function?n():n}function Nf(n,t){for(let e of n)if(t.includes(e))return!0;return!1}function ei(n,t){const e=n,r=t;return e===void 0||e.length===0||r===void 0||r.length===0?!0:Nf(e,r)}function zm(n){const t=setTimeout(()=>{n(),clearTimeout(t)})}function Js(n){let t=n%360;return t=t<0?360+t:t,t}function Tf(n){return Js(n+180)-180}function du(n,t,e){let r=Js(n),i=Js(t);Math.abs(r-i)>180&&(r<i?r+=360:i+=360);const s=r*(1-e)+i*e;return Tf(s)}function Dl(n,t,e,r){return r=r||[0,0,0],r[0]=du(n[0],t[0],e),r[1]=du(n[1],t[1],e),r[2]=du(n[2],t[2],e),r}function xf(n,t,e="editing"){const r=new q;n.ad(r);const i=t.bind(n);return r.ad(new p.ObjResettingWithEvent(n.activeViewerChanged,()=>{const s=new q;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 Um extends q{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 nn?this._sceneObjectId.sceneObject:void 0}get playerChanged(){return this._sceneObjectId.sceneObjectChanged}}const Gm=`
|
|
24
|
+
用来配置子播放器,它是一个数组形式,数组的每个元素仍然是一个数组,形式是[子播放器的ID, 起始时间, 持续时间]。
|
|
25
|
+
注意时间的单位是毫秒。
|
|
26
|
+
示例如下:
|
|
27
|
+
\`\`\`
|
|
28
|
+
[
|
|
29
|
+
[
|
|
30
|
+
"9591a729-d90b-40d0-8d1b-f1ac4b5263c1",
|
|
31
|
+
0,
|
|
32
|
+
5000
|
|
33
|
+
],
|
|
34
|
+
[
|
|
35
|
+
"76ad204f-58c6-4639-8713-ecfab6783b0f",
|
|
36
|
+
7000.002288818359,
|
|
37
|
+
5000
|
|
38
|
+
]
|
|
39
|
+
]
|
|
40
|
+
\`\`\`
|
|
41
|
+
`,Le=class Le extends q{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??Le.defaults.loop};o(),this.d(this.loopChanged.don(o))}{const o=()=>{(this.loop??Le.defaults.loop)!==e.loop&&(this.loop=e.loop)};o(),this.d(e.loopChangedEvent.don(o))}{const o=()=>{e.currentTime=this.currentTime??Le.defaults.currentTime};o(),this.d(this.currentTimeChanged.don(o))}{const o=()=>{(this.currentTime??Le.defaults.currentTime)!==e.currentTime&&(this.currentTime=e.currentTime)};o(),this.d(e.currentTimeChangedEvent.don(o))}{const o=()=>{e.duration=this.duration??Le.defaults.duration};o(),this.d(this.durationChanged.don(o))}{const o=()=>{(this.duration??Le.defaults.duration)!==e.duration&&(this.duration=e.duration)};o(),this.d(e.durationChangedEvent.don(o))}{const o=()=>{e.speed=this.speed??Le.defaults.speed};o(),this.d(this.speedChanged.don(o))}{const o=()=>{(this.speed??Le.defaults.speed)!==e.speed&&(this.speed=e.speed)};o(),this.d(e.speedChangedEvent.don(o))}{const o=()=>{e.playing=this.playing??Le.defaults.playing};o(),this.d(this.playingChanged.don(o))}{const o=()=>{(this.playing??Le.defaults.playing)!==e.playing&&(this.playing=e.playing)};o(),this.d(e.playingChangedEvent.don(o))}const r=()=>{const o=this.duration??Le.defaults.duration;o>0&&(this._ratio.value=(this.currentTime??Le.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 Um(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??Le.defaults.duration)*e)}get ratioChanged(){return this._ratio.changed}};f(Le,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),f(Le,"channelsReadMe",Gm);let nn=Le;(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])})})(nn||(nn={})),p.extendClassProps(nn.prototype,nn.createDefaultProps);class Ll extends q{constructor(e){super();f(this,"_sceneObject",this.dv(p.react(void 0)));this._id=e,this.d(()=>{this._sceneObject.value=void 0});const r=j.getSceneObjById(this._id);r&&(this._sceneObject.value=r),this.d(j.context.sceneObjCreatedEvent.don(i=>{i.id===this._id&&(this._sceneObject.value=i)})),this.d(j.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 Wm extends q{constructor(e,r){super();f(this,"_sofi");this._id=e,this._sofi=this.dv(new Ll(this._id));{const i=()=>{r.sceneObject=this._sofi.sceneObject};i(),this.d(this._sofi.sceneObjectChanged.don(i))}}}class qm extends q{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 Wm(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 Xm extends q{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 q;return a.d(s.dwon(()=>r.emit())),a}else{i.debug&&console.log(`未获取到Event!propChangedName: ${e}`);return}}))}}const Of=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:class extends q{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 Ll(u),h=l&&new Xm(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}=Of;class va extends q{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})})(va||(va={})),p.extendClassProps(va.prototype,va.createDefaultProps);const Mf=rs("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=geocent +datum=WGS84");function Mn(n){return Mf.forward(n)}function Df(n){return Mf.inverse(n)}const Lf=rs("+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 Hm(n){const t=Lf.forward([n[0],n[1]]);return[t[0],t[1],n[2]]}function Bm(n){const t=Lf.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=be.point(t),r=be.polygon([n]);return be.booleanPointInPolygon(e,r)}var Ne=63710088e-1,Af={centimeters:Ne*100,centimetres:Ne*100,degrees:Ne/111325,feet:Ne*3.28084,inches:Ne*39.37,kilometers:Ne/1e3,kilometres:Ne/1e3,meters:Ne,metres:Ne,miles:Ne/1609.344,millimeters:Ne*1e3,millimetres:Ne*1e3,nauticalmiles:Ne/1852,radians:1,yards:Ne*1.0936};function sn(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 Ot(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(!Rf(n[0])||!Rf(n[1]))throw new Error("coordinates must contain numbers");var r={type:"Point",coordinates:n};return sn(r,t,e)}function Je(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 sn(a,t,e)}function on(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 sn(r,t,e)}function js(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 Al(n,t,e){e===void 0&&(e={});var r={type:"MultiPolygon",coordinates:n};return sn(r,t,e)}function Rl(n,t){t===void 0&&(t="kilometers");var e=Af[t];if(!e)throw new Error(t+" units is invalid");return n*e}function Fl(n,t){t===void 0&&(t="kilometers");var e=Af[t];if(!e)throw new Error(t+" units is invalid");return n/e}function pu(n){var t=n%(2*Math.PI);return t*180/Math.PI}function Fe(n){var t=n%360;return t*Math.PI/180}function kl(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 Rl(Fl(n,t),e)}function Rf(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}function je(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 os(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 Ff(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 gr(n){return n.type==="Feature"?n.geometry:n}function jm(n,t){return n.type==="FeatureCollection"?"FeatureCollection":n.type==="GeometryCollection"?"GeometryCollection":n.type==="Feature"&&n.geometry!==null?n.geometry.type:n.type}function ya(n,t,e){if(e===void 0&&(e={}),e.final===!0)return Zm(n,t);var r=je(n),i=je(t),s=Fe(r[0]),o=Fe(i[0]),a=Fe(r[1]),u=Fe(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 pu(Math.atan2(l,c))}function Zm(n,t){var e=ya(t,n);return e=(e+180)%360,e}function Zs(n,t,e,r){r===void 0&&(r={});var i=je(n),s=Fe(i[0]),o=Fe(i[1]),a=Fe(e),u=Fl(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=pu(c),d=pu(l);return Ot([h,d],r.properties)}function ri(n,t,e){e===void 0&&(e={});var r=je(n),i=je(t),s=Fe(i[1]-r[1]),o=Fe(i[0]-r[0]),a=Fe(r[1]),u=Fe(i[1]),l=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(o/2),2)*Math.cos(a)*Math.cos(u);return Rl(2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)),e.units)}function Km(n,t,e){e===void 0&&(e={});for(var r=gr(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=ya(i[o],i[o-1])-180,l=Zs(i[o],a,u,e);return l}else return Ot(i[o])}else s+=ri(i[o],i[o+1],e);return Ot(i[i.length-1])}function Qm(n,t){const e=on(n);return Km(e,t,{units:"meters"}).geometry.coordinates}function Ks(n,t,e){if(n!==null)for(var r,i,s,o,a,u,l,c=0,h=0,d,g=n.type,v=g==="FeatureCollection",E=g==="Feature",C=v?n.features.length:1,b=0;b<C;b++){l=v?n.features[b].geometry:E?n.geometry:n,d=l?l.type==="GeometryCollection":!1,a=d?l.geometries.length:1;for(var m=0;m<a;m++){var y=0,_=0;if(o=d?l.geometries[m]:l,o!==null){u=o.coordinates;var S=o.type;switch(c=e&&(S==="Polygon"||S==="MultiPolygon")?1:0,S){case null:break;case"Point":if(t(u,h,b,y,_)===!1)return!1;h++,y++;break;case"LineString":case"MultiPoint":for(r=0;r<u.length;r++){if(t(u[r],h,b,y,_)===!1)return!1;h++,S==="MultiPoint"&&y++}S==="LineString"&&y++;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,b,y,_)===!1)return!1;h++}S==="MultiLineString"&&y++,S==="Polygon"&&_++}S==="Polygon"&&y++;break;case"MultiPolygon":for(r=0;r<u.length;r++){for(_=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,b,y,_)===!1)return!1;h++}_++}y++}break;case"GeometryCollection":for(r=0;r<o.geometries.length;r++)if(Ks(o.geometries[r],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function gu(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 mu(n,t){var e,r,i,s,o,a,u,l,c,h,d=0,g=n.type==="FeatureCollection",v=n.type==="Feature",E=g?n.features.length:1;for(e=0;e<E;e++){for(a=g?n.features[e].geometry:v?n.geometry:n,l=g?n.features[e].properties:v?n.properties:{},c=g?n.features[e].bbox:v?n.bbox:void 0,h=g?n.features[e].id:v?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 $m(n,t,e){var r=e;return mu(n,function(i,s,o,a,u){r=t(r,i,s,o,a,u)}),r}function Vl(n,t){mu(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(sn(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(sn(h,i),r,l)===!1)return!1}})}function tv(n,t){Vl(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(Ks(e,function(h,d,g,v,E){if(a===void 0||r>u||v>l||E>c){a=h,u=r,l=v,c=E,s=0;return}var C=on([a,h],e.properties);if(t(C,r,i,E,s)===!1)return!1;s++,a=h})===!1)return!1}}})}var kf=6378137;function ev(n){return $m(n,function(t,e){return t+rv(e)},0)}function rv(n){var t=0,e;switch(n.type){case"Polygon":return Vf(n.coordinates);case"MultiPolygon":for(e=0;e<n.coordinates.length;e++)t+=Vf(n.coordinates[e]);return t;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function Vf(n){var t=0;if(n&&n.length>0){t+=Math.abs(zf(n[0]));for(var e=1;e<n.length;e++)t-=Math.abs(zf(n[e]))}return t}function zf(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+=(zl(r[0])-zl(t[0]))*Math.sin(zl(e[1]));u=u*kf*kf/2}return u}function zl(n){return n*Math.PI/180}function Ul(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=Je([n]);return ev(t)}function Uf(n,t,e=0,r=n.length-1,i=nv){for(;r>e;){if(r-e>600){const u=r-e+1,l=t-e+1,c=Math.log(u),h=.5*Math.exp(2*c/3),d=.5*Math.sqrt(c*h*(u-h)/u)*(l-u/2<0?-1:1),g=Math.max(e,Math.floor(t-l*h/u+d)),v=Math.min(r,Math.floor(t+(u-l)*h/u+d));Uf(n,t,g,v,i)}const s=n[t];let o=e,a=r;for(_a(n,e,t),i(n[r],s)>0&&_a(n,e,r);o<a;){for(_a(n,o,a),o++,a--;i(n[o],s)<0;)o++;for(;i(n[a],s)>0;)a--}i(n[e],s)===0?_a(n,e,a):(a++,_a(n,a,r)),a<=t&&(e=a+1),t<=a&&(r=a-1)}}function _a(n,t,e){const r=n[t];n[t]=n[e],n[e]=r}function nv(n,t){return n<t?-1:n>t?1:0}class Gf{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()}all(){return this._all(this.data,[])}search(t){let e=this.data;const r=[];if(!yu(t,e))return r;const i=this.toBBox,s=[];for(;e;){for(let o=0;o<e.children.length;o++){const a=e.children[o],u=e.leaf?i(a):a;yu(t,u)&&(e.leaf?r.push(a):Wl(t,u)?this._all(a,r):s.push(a))}e=s.pop()}return r}collides(t){let e=this.data;if(!yu(t,e))return!1;const r=[];for(;e;){for(let i=0;i<e.children.length;i++){const s=e.children[i],o=e.leaf?this.toBBox(s):s;if(yu(t,o)){if(e.leaf||Wl(t,o))return!0;r.push(s)}}e=r.pop()}return!1}load(t){if(!(t&&t.length))return this;if(t.length<this._minEntries){for(let r=0;r<t.length;r++)this.insert(t[r]);return this}let e=this._build(t.slice(),0,t.length-1,0);if(!this.data.children.length)this.data=e;else if(this.data.height===e.height)this._splitRoot(this.data,e);else{if(this.data.height<e.height){const r=this.data;this.data=e,e=r}this._insert(e,this.data.height-e.height-1,!0)}return this}insert(t){return t&&this._insert(t,this.data.height-1),this}clear(){return this.data=$s([]),this}remove(t,e){if(!t)return this;let r=this.data;const i=this.toBBox(t),s=[],o=[];let a,u,l;for(;r||s.length;){if(r||(r=s.pop(),u=s[s.length-1],a=o.pop(),l=!0),r.leaf){const c=iv(t,r.children,e);if(c!==-1)return r.children.splice(c,1),s.push(r),this._condense(s),this}!l&&!r.leaf&&Wl(r,i)?(s.push(r),o.push(a),a=0,u=r,r=r.children[0]):u?(a++,r=u.children[a],l=!1):r=null}return this}toBBox(t){return t}compareMinX(t,e){return t.minX-e.minX}compareMinY(t,e){return t.minY-e.minY}toJSON(){return this.data}fromJSON(t){return this.data=t,this}_all(t,e){const r=[];for(;t;)t.leaf?e.push(...t.children):r.push(...t.children),t=r.pop();return e}_build(t,e,r,i){const s=r-e+1;let o=this._maxEntries,a;if(s<=o)return a=$s(t.slice(e,r+1)),Qs(a,this.toBBox),a;i||(i=Math.ceil(Math.log(s)/Math.log(o)),o=Math.ceil(s/Math.pow(o,i-1))),a=$s([]),a.leaf=!1,a.height=i;const u=Math.ceil(s/o),l=u*Math.ceil(Math.sqrt(o));Wf(t,e,r,l,this.compareMinX);for(let c=e;c<=r;c+=l){const h=Math.min(c+l-1,r);Wf(t,c,h,u,this.compareMinY);for(let d=c;d<=h;d+=u){const g=Math.min(d+u-1,h);a.children.push(this._build(t,d,g,i-1))}}return Qs(a,this.toBBox),a}_chooseSubtree(t,e,r,i){for(;i.push(e),!(e.leaf||i.length-1===r);){let s=1/0,o=1/0,a;for(let u=0;u<e.children.length;u++){const l=e.children[u],c=Gl(l),h=av(t,l)-c;h<o?(o=h,s=c<s?c:s,a=l):h===o&&c<s&&(s=c,a=l)}e=a||e.children[0]}return e}_insert(t,e,r){const i=r?t:this.toBBox(t),s=[],o=this._chooseSubtree(i,this.data,e,s);for(o.children.push(t),Ea(o,i);e>=0&&s[e].children.length>this._maxEntries;)this._split(s,e),e--;this._adjustParentBBoxes(i,s,e)}_split(t,e){const r=t[e],i=r.children.length,s=this._minEntries;this._chooseSplitAxis(r,s,i);const o=this._chooseSplitIndex(r,s,i),a=$s(r.children.splice(o,r.children.length-o));a.height=r.height,a.leaf=r.leaf,Qs(r,this.toBBox),Qs(a,this.toBBox),e?t[e-1].children.push(a):this._splitRoot(r,a)}_splitRoot(t,e){this.data=$s([t,e]),this.data.height=t.height+1,this.data.leaf=!1,Qs(this.data,this.toBBox)}_chooseSplitIndex(t,e,r){let i,s=1/0,o=1/0;for(let a=e;a<=r-e;a++){const u=wa(t,0,a,this.toBBox),l=wa(t,a,r,this.toBBox),c=uv(u,l),h=Gl(u)+Gl(l);c<s?(s=c,i=a,o=h<o?h:o):c===s&&h<o&&(o=h,i=a)}return i||r-e}_chooseSplitAxis(t,e,r){const i=t.leaf?this.compareMinX:sv,s=t.leaf?this.compareMinY:ov,o=this._allDistMargin(t,e,r,i),a=this._allDistMargin(t,e,r,s);o<a&&t.children.sort(i)}_allDistMargin(t,e,r,i){t.children.sort(i);const s=this.toBBox,o=wa(t,0,e,s),a=wa(t,r-e,r,s);let u=vu(o)+vu(a);for(let l=e;l<r-e;l++){const c=t.children[l];Ea(o,t.leaf?s(c):c),u+=vu(o)}for(let l=r-e-1;l>=e;l--){const c=t.children[l];Ea(a,t.leaf?s(c):c),u+=vu(a)}return u}_adjustParentBBoxes(t,e,r){for(let i=r;i>=0;i--)Ea(e[i],t)}_condense(t){for(let e=t.length-1,r;e>=0;e--)t[e].children.length===0?e>0?(r=t[e-1].children,r.splice(r.indexOf(t[e]),1)):this.clear():Qs(t[e],this.toBBox)}}function iv(n,t,e){if(!e)return t.indexOf(n);for(let r=0;r<t.length;r++)if(e(n,t[r]))return r;return-1}function Qs(n,t){wa(n,0,n.children.length,t,n)}function wa(n,t,e,r,i){i||(i=$s(null)),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(let s=t;s<e;s++){const o=n.children[s];Ea(i,n.leaf?r(o):o)}return i}function Ea(n,t){return n.minX=Math.min(n.minX,t.minX),n.minY=Math.min(n.minY,t.minY),n.maxX=Math.max(n.maxX,t.maxX),n.maxY=Math.max(n.maxY,t.maxY),n}function sv(n,t){return n.minX-t.minX}function ov(n,t){return n.minY-t.minY}function Gl(n){return(n.maxX-n.minX)*(n.maxY-n.minY)}function vu(n){return n.maxX-n.minX+(n.maxY-n.minY)}function av(n,t){return(Math.max(t.maxX,n.maxX)-Math.min(t.minX,n.minX))*(Math.max(t.maxY,n.maxY)-Math.min(t.minY,n.minY))}function uv(n,t){const e=Math.max(n.minX,t.minX),r=Math.max(n.minY,t.minY),i=Math.min(n.maxX,t.maxX),s=Math.min(n.maxY,t.maxY);return Math.max(0,i-e)*Math.max(0,s-r)}function Wl(n,t){return n.minX<=t.minX&&n.minY<=t.minY&&t.maxX<=n.maxX&&t.maxY<=n.maxY}function yu(n,t){return t.minX<=n.maxX&&t.minY<=n.maxY&&t.maxX>=n.minX&&t.maxY>=n.minY}function $s(n){return{children:n,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function Wf(n,t,e,r,i){const s=[t,e];for(;s.length;){if(e=s.pop(),t=s.pop(),e-t<=r)continue;const o=t+Math.ceil((e-t)/r/2)*r;Uf(n,o,t,e,i),s.push(t,o,o,e)}}class lv{constructor(t=[],e=(r,i)=>r<i?-1:r>i?1:0){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._up(this.length++)}pop(){if(this.length===0)return;const t=this.data[0],e=this.data.pop();return--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;const a=o+1;if(a<this.length&&r(e[a],e[o])<0&&(o=a),r(e[o],s)>=0)break;e[t]=e[o],t=o}e[t]=s}}function qf(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Sa={exports:{}},ql,Xf;function cv(){return Xf||(Xf=1,ql=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],v=e[r+c*2+1],E=d>o!=v>o&&s<(g-h)*(o-d)/(v-d)+h;E&&(a=!a)}return a}),ql}var Xl,Yf;function hv(){return Yf||(Yf=1,Xl=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],v=e[c+r][1],E=d>o!=v>o&&s<(g-h)*(o-d)/(v-d)+h;E&&(a=!a)}return a}),Xl}var Hf;function fv(){if(Hf)return Sa.exports;Hf=1;var n=cv(),t=hv();return Sa.exports=function(r,i,s,o){return i.length>0&&Array.isArray(i[0])?t(r,i,s,o):n(r,i,s,o)},Sa.exports.nested=t,Sa.exports.flat=n,Sa.exports}var dv=fv();const pv=qf(dv),ni=11102230246251565e-32,ke=134217729,gv=(3+8*ni)*ni;function Yl(n,t,e,r,i){let s,o,a,u,l=t[0],c=r[0],h=0,d=0;c>l==c>-l?(s=l,l=t[++h]):(s=c,c=r[++d]);let g=0;if(h<n&&d<e)for(c>l==c>-l?(o=l+s,a=s-(o-l),l=t[++h]):(o=c+s,a=s-(o-c),c=r[++d]),s=o,a!==0&&(i[g++]=a);h<n&&d<e;)c>l==c>-l?(o=s+l,u=o-s,a=s-(o-u)+(l-u),l=t[++h]):(o=s+c,u=o-s,a=s-(o-u)+(c-u),c=r[++d]),s=o,a!==0&&(i[g++]=a);for(;h<n;)o=s+l,u=o-s,a=s-(o-u)+(l-u),l=t[++h],s=o,a!==0&&(i[g++]=a);for(;d<e;)o=s+c,u=o-s,a=s-(o-u)+(c-u),c=r[++d],s=o,a!==0&&(i[g++]=a);return(s!==0||g===0)&&(i[g++]=s),g}function mv(n,t){let e=t[0];for(let r=1;r<n;r++)e+=t[r];return e}function Ca(n){return new Float64Array(n)}const vv=(3+16*ni)*ni,yv=(2+12*ni)*ni,_v=(9+64*ni)*ni*ni,to=Ca(4),Bf=Ca(8),Jf=Ca(12),jf=Ca(16),Ze=Ca(4);function wv(n,t,e,r,i,s,o){let a,u,l,c,h,d,g,v,E,C,b,m,y,_,S,I,P,M;const R=n-i,k=e-i,x=t-s,A=r-s;_=R*A,d=ke*R,g=d-(d-R),v=R-g,d=ke*A,E=d-(d-A),C=A-E,S=v*C-(_-g*E-v*E-g*C),I=x*k,d=ke*x,g=d-(d-x),v=x-g,d=ke*k,E=d-(d-k),C=k-E,P=v*C-(I-g*E-v*E-g*C),b=S-P,h=S-b,to[0]=S-(b+h)+(h-P),m=_+b,h=m-_,y=_-(m-h)+(b-h),b=y-I,h=y-b,to[1]=y-(b+h)+(h-I),M=m+b,h=M-m,to[2]=m-(M-h)+(b-h),to[3]=M;let L=mv(4,to),F=yv*o;if(L>=F||-L>=F||(h=n-R,a=n-(R+h)+(h-i),h=e-k,l=e-(k+h)+(h-i),h=t-x,u=t-(x+h)+(h-s),h=r-A,c=r-(A+h)+(h-s),a===0&&u===0&&l===0&&c===0)||(F=_v*o+gv*Math.abs(L),L+=R*c+A*a-(x*l+k*u),L>=F||-L>=F))return L;_=a*A,d=ke*a,g=d-(d-a),v=a-g,d=ke*A,E=d-(d-A),C=A-E,S=v*C-(_-g*E-v*E-g*C),I=u*k,d=ke*u,g=d-(d-u),v=u-g,d=ke*k,E=d-(d-k),C=k-E,P=v*C-(I-g*E-v*E-g*C),b=S-P,h=S-b,Ze[0]=S-(b+h)+(h-P),m=_+b,h=m-_,y=_-(m-h)+(b-h),b=y-I,h=y-b,Ze[1]=y-(b+h)+(h-I),M=m+b,h=M-m,Ze[2]=m-(M-h)+(b-h),Ze[3]=M;const J=Yl(4,to,4,Ze,Bf);_=R*c,d=ke*R,g=d-(d-R),v=R-g,d=ke*c,E=d-(d-c),C=c-E,S=v*C-(_-g*E-v*E-g*C),I=x*l,d=ke*x,g=d-(d-x),v=x-g,d=ke*l,E=d-(d-l),C=l-E,P=v*C-(I-g*E-v*E-g*C),b=S-P,h=S-b,Ze[0]=S-(b+h)+(h-P),m=_+b,h=m-_,y=_-(m-h)+(b-h),b=y-I,h=y-b,Ze[1]=y-(b+h)+(h-I),M=m+b,h=M-m,Ze[2]=m-(M-h)+(b-h),Ze[3]=M;const et=Yl(J,Bf,4,Ze,Jf);_=a*c,d=ke*a,g=d-(d-a),v=a-g,d=ke*c,E=d-(d-c),C=c-E,S=v*C-(_-g*E-v*E-g*C),I=u*l,d=ke*u,g=d-(d-u),v=u-g,d=ke*l,E=d-(d-l),C=l-E,P=v*C-(I-g*E-v*E-g*C),b=S-P,h=S-b,Ze[0]=S-(b+h)+(h-P),m=_+b,h=m-_,y=_-(m-h)+(b-h),b=y-I,h=y-b,Ze[1]=y-(b+h)+(h-I),M=m+b,h=M-m,Ze[2]=m-(M-h)+(b-h),Ze[3]=M;const dt=Yl(et,Jf,4,Ze,jf);return jf[dt-1]}function Zf(n,t,e,r,i,s){const o=(t-s)*(e-i),a=(n-i)*(r-s),u=o-a,l=Math.abs(o+a);return Math.abs(u)>=vv*l?u:-wv(n,t,e,r,i,s,l)}function Ev(n,t,e){t=Math.max(0,t===void 0?2:t),e=e||0;const r=bv(n),i=new Gf(16);i.toBBox=function(d){return{minX:d[0],minY:d[1],maxX:d[0],maxY:d[1]}},i.compareMinX=function(d,g){return d[0]-g[0]},i.compareMinY=function(d,g){return d[1]-g[1]},i.load(n);const s=[];let o;for(let d=0;d<r.length;d++){const g=r[d];i.remove(g),o=$f(g,o),s.push(o)}const a=new Gf(16);for(let d=0;d<s.length;d++)a.insert(Hl(s[d]));const u=t*t,l=e*e;for(;s.length;){const d=s.shift(),g=d.p,v=d.next.p,E=Bl(g,v);if(E<l)continue;const C=E/u,b=Sv(i,d.prev.p,g,v,d.next.next.p,C,a);b&&Math.min(Bl(b,g),Bl(b,v))<=C&&(s.push(d),s.push($f(b,d)),i.remove(b),a.remove(d),a.insert(Hl(d)),a.insert(Hl(d.next)))}let c=o;const h=[];do h.push(c.p),c=c.next;while(c!==o);return h.push(c.p),h}function Sv(n,t,e,r,i,s,o){const a=new lv([],Cv);let u=n.data;for(;u;){for(let l=0;l<u.children.length;l++){const c=u.children[l],h=u.leaf?Jl(c,e,r):Iv(e,r,c);h>s||a.push({node:c,dist:h})}for(;a.length&&!a.peek().node.children;){const l=a.pop(),c=l.node,h=Jl(c,t,e),d=Jl(c,r,i);if(l.dist<h&&l.dist<d&&Qf(e,c,o)&&Qf(r,c,o))return c}u=a.pop(),u&&(u=u.node)}return null}function Cv(n,t){return n.dist-t.dist}function Iv(n,t,e){if(Kf(n,e)||Kf(t,e))return 0;const r=_u(n[0],n[1],t[0],t[1],e.minX,e.minY,e.maxX,e.minY);if(r===0)return 0;const i=_u(n[0],n[1],t[0],t[1],e.minX,e.minY,e.minX,e.maxY);if(i===0)return 0;const s=_u(n[0],n[1],t[0],t[1],e.maxX,e.minY,e.maxX,e.maxY);if(s===0)return 0;const o=_u(n[0],n[1],t[0],t[1],e.minX,e.maxY,e.maxX,e.maxY);return o===0?0:Math.min(r,i,s,o)}function Kf(n,t){return n[0]>=t.minX&&n[0]<=t.maxX&&n[1]>=t.minY&&n[1]<=t.maxY}function Qf(n,t,e){const r=Math.min(n[0],t[0]),i=Math.min(n[1],t[1]),s=Math.max(n[0],t[0]),o=Math.max(n[1],t[1]),a=e.search({minX:r,minY:i,maxX:s,maxY:o});for(let u=0;u<a.length;u++)if(Pv(a[u].p,a[u].next.p,n,t))return!1;return!0}function eo(n,t,e){return Zf(n[0],n[1],t[0],t[1],e[0],e[1])}function Pv(n,t,e,r){return n!==r&&t!==e&&eo(n,t,e)>0!=eo(n,t,r)>0&&eo(e,r,n)>0!=eo(e,r,t)>0}function Hl(n){const t=n.p,e=n.next.p;return n.minX=Math.min(t[0],e[0]),n.minY=Math.min(t[1],e[1]),n.maxX=Math.max(t[0],e[0]),n.maxY=Math.max(t[1],e[1]),n}function bv(n){let t=n[0],e=n[0],r=n[0],i=n[0];for(let a=0;a<n.length;a++){const u=n[a];u[0]<t[0]&&(t=u),u[0]>r[0]&&(r=u),u[1]<e[1]&&(e=u),u[1]>i[1]&&(i=u)}const s=[t,e,r,i],o=s.slice();for(let a=0;a<n.length;a++)pv(n[a],s)||o.push(n[a]);return Tv(o)}function $f(n,t){const e={p:n,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return t?(e.next=t.next,e.prev=t,t.next.prev=e,t.next=e):(e.prev=e,e.next=e),e}function Bl(n,t){const e=n[0]-t[0],r=n[1]-t[1];return e*e+r*r}function Jl(n,t,e){let r=t[0],i=t[1],s=e[0]-r,o=e[1]-i;if(s!==0||o!==0){const a=((n[0]-r)*s+(n[1]-i)*o)/(s*s+o*o);a>1?(r=e[0],i=e[1]):a>0&&(r+=s*a,i+=o*a)}return s=n[0]-r,o=n[1]-i,s*s+o*o}function _u(n,t,e,r,i,s,o,a){const u=e-n,l=r-t,c=o-i,h=a-s,d=n-i,g=t-s,v=u*u+l*l,E=u*c+l*h,C=c*c+h*h,b=u*d+l*g,m=c*d+h*g,y=v*C-E*E;let _,S,I=y,P=y;y===0?(_=0,I=1,S=m,P=C):(_=E*m-C*b,S=v*m-E*b,_<0?(_=0,S=m,P=C):_>I&&(_=I,S=m+E,P=C)),S<0?(S=0,-b<0?_=0:-b>v?_=I:(_=-b,I=v)):S>P&&(S=P,-b+E<0?_=0:-b+E>v?_=I:(_=-b+E,I=v));const M=_===0?0:_/I,R=S===0?0:S/P,k=(1-M)*n+M*e,x=(1-M)*t+M*r,A=(1-R)*i+R*o,L=(1-R)*s+R*a,F=A-k,J=L-x;return F*F+J*J}function Nv(n,t){return n[0]===t[0]?n[1]-t[1]:n[0]-t[0]}function Tv(n){n.sort(Nv);const t=[];for(let r=0;r<n.length;r++){for(;t.length>=2&&eo(t[t.length-2],t[t.length-1],n[r])<=0;)t.pop();t.push(n[r])}const e=[];for(let r=n.length-1;r>=0;r--){for(;e.length>=2&&eo(e[e.length-2],e[e.length-1],n[r])<=0;)e.pop();e.push(n[r])}return e.pop(),t.pop(),t.concat(e)}function xv(n,t){t===void 0&&(t={}),t.concavity=t.concavity||1/0;var e=[];if(Ks(n,function(i){e.push([i[0],i[1]])}),!e.length)return null;var r=Ev(e,t.concavity);return r.length>3?Je([r]):null}function td(n,t){t===void 0&&(t={});var e=0,r=0,i=0;return Ks(n,function(s){e+=s[0],r+=s[1],i++},!0),Ot([e/i,r/i],t.properties)}function ed(n,t){switch(t===void 0&&(t={}),jm(n)){case"Point":return Ot(je(n),t.properties);case"Polygon":var e=[];Ks(n,function(_){e.push(_)});var r=td(n,{properties:t.properties}),i=r.geometry.coordinates,s=0,o=0,a=0,u,l,c,h,d,g,v,E,C=e.map(function(_){return[_[0]-i[0],_[1]-i[1]]});for(u=0;u<e.length-1;u++)l=C[u],h=l[0],g=l[1],c=C[u+1],d=c[0],v=c[1],E=h*v-d*g,a+=E,s+=(h+d)*E,o+=(g+v)*E;if(a===0)return r;var b=a*.5,m=1/(6*b);return Ot([i[0]+m*s,i[1]+m*o],t.properties);default:var y=xv(n);return y?ed(y,{properties:t.properties}):td(n,{properties:t.properties})}}function Ov(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=Je([n]),r=ed(t).geometry.coordinates;return[r[0],r[1],r[2]??n[0][2]??0]}function rd(n,t,e,r){const[i,s,o]=n,a=Zs(Ot([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 wu(n,t){return ri(Ot(n),Ot(t),{units:"meters"})}function Ia(n,t){return ya(Ot(n),Ot(t))}function nd(n){if(!n)throw new Error("geojson is required");var t=[];return Vl(n,function(e){Mv(e,t)}),js(t)}function Mv(n,t){var e=[],r=n.geometry;if(r!==null){switch(r.type){case"Polygon":e=os(r);break;case"LineString":e=[os(r)]}e.forEach(function(i){var s=Dv(i,n.properties);s.forEach(function(o){o.id=t.length,t.push(o)})})}}function Dv(n,t){var e=[];return n.reduce(function(r,i){var s=on([r,i],t);return s.bbox=Lv(r,i),e.push(s),i}),e}function Lv(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 Eu={exports:{}},Su={exports:{}},Av=Su.exports,id;function Rv(){return id||(id=1,(function(n,t){(function(e,r){n.exports=r()})(Av,function(){function e(m,y,_,S,I){(function P(M,R,k,x,A){for(;x>k;){if(x-k>600){var L=x-k+1,F=R-k+1,J=Math.log(L),et=.5*Math.exp(2*J/3),dt=.5*Math.sqrt(J*et*(L-et)/L)*(F-L/2<0?-1:1),Lt=Math.max(k,Math.floor(R-F*et/L+dt)),Qt=Math.min(x,Math.floor(R+(L-F)*et/L+dt));P(M,R,Lt,Qt,A)}var pr=M[R],Vt=k,At=x;for(r(M,k,R),A(M[x],pr)>0&&r(M,k,x);Vt<At;){for(r(M,Vt,At),Vt++,At--;A(M[Vt],pr)<0;)Vt++;for(;A(M[At],pr)>0;)At--}A(M[k],pr)===0?r(M,k,At):r(M,++At,x),At<=R&&(k=At+1),R<=At&&(x=At-1)}})(m,y,_||0,S||m.length-1,I||i)}function r(m,y,_){var S=m[y];m[y]=m[_],m[_]=S}function i(m,y){return m<y?-1:m>y?1:0}var s=function(m){m===void 0&&(m=9),this._maxEntries=Math.max(4,m),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(m,y,_){if(!_)return y.indexOf(m);for(var S=0;S<y.length;S++)if(_(m,y[S]))return S;return-1}function a(m,y){u(m,0,m.children.length,y,m)}function u(m,y,_,S,I){I||(I=C(null)),I.minX=1/0,I.minY=1/0,I.maxX=-1/0,I.maxY=-1/0;for(var P=y;P<_;P++){var M=m.children[P];l(I,m.leaf?S(M):M)}return I}function l(m,y){return m.minX=Math.min(m.minX,y.minX),m.minY=Math.min(m.minY,y.minY),m.maxX=Math.max(m.maxX,y.maxX),m.maxY=Math.max(m.maxY,y.maxY),m}function c(m,y){return m.minX-y.minX}function h(m,y){return m.minY-y.minY}function d(m){return(m.maxX-m.minX)*(m.maxY-m.minY)}function g(m){return m.maxX-m.minX+(m.maxY-m.minY)}function v(m,y){return m.minX<=y.minX&&m.minY<=y.minY&&y.maxX<=m.maxX&&y.maxY<=m.maxY}function E(m,y){return y.minX<=m.maxX&&y.minY<=m.maxY&&y.maxX>=m.minX&&y.maxY>=m.minY}function C(m){return{children:m,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function b(m,y,_,S,I){for(var P=[y,_];P.length;)if(!((_=P.pop())-(y=P.pop())<=S)){var M=y+Math.ceil((_-y)/S/2)*S;e(m,M,y,_,I),P.push(y,M,M,_)}}return s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(m){var y=this.data,_=[];if(!E(m,y))return _;for(var S=this.toBBox,I=[];y;){for(var P=0;P<y.children.length;P++){var M=y.children[P],R=y.leaf?S(M):M;E(m,R)&&(y.leaf?_.push(M):v(m,R)?this._all(M,_):I.push(M))}y=I.pop()}return _},s.prototype.collides=function(m){var y=this.data;if(!E(m,y))return!1;for(var _=[];y;){for(var S=0;S<y.children.length;S++){var I=y.children[S],P=y.leaf?this.toBBox(I):I;if(E(m,P)){if(y.leaf||v(m,P))return!0;_.push(I)}}y=_.pop()}return!1},s.prototype.load=function(m){if(!m||!m.length)return this;if(m.length<this._minEntries){for(var y=0;y<m.length;y++)this.insert(m[y]);return this}var _=this._build(m.slice(),0,m.length-1,0);if(this.data.children.length)if(this.data.height===_.height)this._splitRoot(this.data,_);else{if(this.data.height<_.height){var S=this.data;this.data=_,_=S}this._insert(_,this.data.height-_.height-1,!0)}else this.data=_;return this},s.prototype.insert=function(m){return m&&this._insert(m,this.data.height-1),this},s.prototype.clear=function(){return this.data=C([]),this},s.prototype.remove=function(m,y){if(!m)return this;for(var _,S,I,P=this.data,M=this.toBBox(m),R=[],k=[];P||R.length;){if(P||(P=R.pop(),S=R[R.length-1],_=k.pop(),I=!0),P.leaf){var x=o(m,P.children,y);if(x!==-1)return P.children.splice(x,1),R.push(P),this._condense(R),this}I||P.leaf||!v(P,M)?S?(_++,P=S.children[_],I=!1):P=null:(R.push(P),k.push(_),_=0,S=P,P=P.children[0])}return this},s.prototype.toBBox=function(m){return m},s.prototype.compareMinX=function(m,y){return m.minX-y.minX},s.prototype.compareMinY=function(m,y){return m.minY-y.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(m){return this.data=m,this},s.prototype._all=function(m,y){for(var _=[];m;)m.leaf?y.push.apply(y,m.children):_.push.apply(_,m.children),m=_.pop();return y},s.prototype._build=function(m,y,_,S){var I,P=_-y+1,M=this._maxEntries;if(P<=M)return a(I=C(m.slice(y,_+1)),this.toBBox),I;S||(S=Math.ceil(Math.log(P)/Math.log(M)),M=Math.ceil(P/Math.pow(M,S-1))),(I=C([])).leaf=!1,I.height=S;var R=Math.ceil(P/M),k=R*Math.ceil(Math.sqrt(M));b(m,y,_,k,this.compareMinX);for(var x=y;x<=_;x+=k){var A=Math.min(x+k-1,_);b(m,x,A,R,this.compareMinY);for(var L=x;L<=A;L+=R){var F=Math.min(L+R-1,A);I.children.push(this._build(m,L,F,S-1))}}return a(I,this.toBBox),I},s.prototype._chooseSubtree=function(m,y,_,S){for(;S.push(y),!y.leaf&&S.length-1!==_;){for(var I=1/0,P=1/0,M=void 0,R=0;R<y.children.length;R++){var k=y.children[R],x=d(k),A=(L=m,F=k,(Math.max(F.maxX,L.maxX)-Math.min(F.minX,L.minX))*(Math.max(F.maxY,L.maxY)-Math.min(F.minY,L.minY))-x);A<P?(P=A,I=x<I?x:I,M=k):A===P&&x<I&&(I=x,M=k)}y=M||y.children[0]}var L,F;return y},s.prototype._insert=function(m,y,_){var S=_?m:this.toBBox(m),I=[],P=this._chooseSubtree(S,this.data,y,I);for(P.children.push(m),l(P,S);y>=0&&I[y].children.length>this._maxEntries;)this._split(I,y),y--;this._adjustParentBBoxes(S,I,y)},s.prototype._split=function(m,y){var _=m[y],S=_.children.length,I=this._minEntries;this._chooseSplitAxis(_,I,S);var P=this._chooseSplitIndex(_,I,S),M=C(_.children.splice(P,_.children.length-P));M.height=_.height,M.leaf=_.leaf,a(_,this.toBBox),a(M,this.toBBox),y?m[y-1].children.push(M):this._splitRoot(_,M)},s.prototype._splitRoot=function(m,y){this.data=C([m,y]),this.data.height=m.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(m,y,_){for(var S,I,P,M,R,k,x,A=1/0,L=1/0,F=y;F<=_-y;F++){var J=u(m,0,F,this.toBBox),et=u(m,F,_,this.toBBox),dt=(I=J,P=et,M=void 0,R=void 0,k=void 0,x=void 0,M=Math.max(I.minX,P.minX),R=Math.max(I.minY,P.minY),k=Math.min(I.maxX,P.maxX),x=Math.min(I.maxY,P.maxY),Math.max(0,k-M)*Math.max(0,x-R)),Lt=d(J)+d(et);dt<A?(A=dt,S=F,L=Lt<L?Lt:L):dt===A&&Lt<L&&(L=Lt,S=F)}return S||_-y},s.prototype._chooseSplitAxis=function(m,y,_){var S=m.leaf?this.compareMinX:c,I=m.leaf?this.compareMinY:h;this._allDistMargin(m,y,_,S)<this._allDistMargin(m,y,_,I)&&m.children.sort(S)},s.prototype._allDistMargin=function(m,y,_,S){m.children.sort(S);for(var I=this.toBBox,P=u(m,0,y,I),M=u(m,_-y,_,I),R=g(P)+g(M),k=y;k<_-y;k++){var x=m.children[k];l(P,m.leaf?I(x):x),R+=g(P)}for(var A=_-y-1;A>=y;A--){var L=m.children[A];l(M,m.leaf?I(L):L),R+=g(M)}return R},s.prototype._adjustParentBBoxes=function(m,y,_){for(var S=_;S>=0;S--)l(y[S],m)},s.prototype._condense=function(m){for(var y=m.length-1,_=void 0;y>=0;y--)m[y].children.length===0?y>0?(_=m[y-1].children).splice(_.indexOf(m[y]),1):this.clear():a(m[y],this.toBBox)},s})})(Su)),Su.exports}var jl={},sd;function od(){return sd||(sd=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(x,A,L){L===void 0&&(L={});var F={type:"Feature"};return(L.id===0||L.id)&&(F.id=L.id),L.bbox&&(F.bbox=L.bbox),F.properties=A||{},F.geometry=x,F}n.feature=t;function e(x,A,L){switch(x){case"Point":return r(A).geometry;case"LineString":return a(A).geometry;case"Polygon":return s(A).geometry;case"MultiPoint":return h(A).geometry;case"MultiLineString":return c(A).geometry;case"MultiPolygon":return d(A).geometry;default:throw new Error(x+" is invalid")}}n.geometry=e;function r(x,A,L){if(L===void 0&&(L={}),!x)throw new Error("coordinates is required");if(!Array.isArray(x))throw new Error("coordinates must be an Array");if(x.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!P(x[0])||!P(x[1]))throw new Error("coordinates must contain numbers");var F={type:"Point",coordinates:x};return t(F,A,L)}n.point=r;function i(x,A,L){return L===void 0&&(L={}),l(x.map(function(F){return r(F,A)}),L)}n.points=i;function s(x,A,L){L===void 0&&(L={});for(var F=0,J=x;F<J.length;F++){var et=J[F];if(et.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var dt=0;dt<et[et.length-1].length;dt++)if(et[et.length-1][dt]!==et[0][dt])throw new Error("First and last Position are not equivalent.")}var Lt={type:"Polygon",coordinates:x};return t(Lt,A,L)}n.polygon=s;function o(x,A,L){return L===void 0&&(L={}),l(x.map(function(F){return s(F,A)}),L)}n.polygons=o;function a(x,A,L){if(L===void 0&&(L={}),x.length<2)throw new Error("coordinates must be an array of two or more positions");var F={type:"LineString",coordinates:x};return t(F,A,L)}n.lineString=a;function u(x,A,L){return L===void 0&&(L={}),l(x.map(function(F){return a(F,A)}),L)}n.lineStrings=u;function l(x,A){A===void 0&&(A={});var L={type:"FeatureCollection"};return A.id&&(L.id=A.id),A.bbox&&(L.bbox=A.bbox),L.features=x,L}n.featureCollection=l;function c(x,A,L){L===void 0&&(L={});var F={type:"MultiLineString",coordinates:x};return t(F,A,L)}n.multiLineString=c;function h(x,A,L){L===void 0&&(L={});var F={type:"MultiPoint",coordinates:x};return t(F,A,L)}n.multiPoint=h;function d(x,A,L){L===void 0&&(L={});var F={type:"MultiPolygon",coordinates:x};return t(F,A,L)}n.multiPolygon=d;function g(x,A,L){L===void 0&&(L={});var F={type:"GeometryCollection",geometries:x};return t(F,A,L)}n.geometryCollection=g;function v(x,A){if(A===void 0&&(A=0),A&&!(A>=0))throw new Error("precision must be a positive number");var L=Math.pow(10,A||0);return Math.round(x*L)/L}n.round=v;function E(x,A){A===void 0&&(A="kilometers");var L=n.factors[A];if(!L)throw new Error(A+" units is invalid");return x*L}n.radiansToLength=E;function C(x,A){A===void 0&&(A="kilometers");var L=n.factors[A];if(!L)throw new Error(A+" units is invalid");return x/L}n.lengthToRadians=C;function b(x,A){return y(C(x,A))}n.lengthToDegrees=b;function m(x){var A=x%360;return A<0&&(A+=360),A}n.bearingToAzimuth=m;function y(x){var A=x%(2*Math.PI);return A*180/Math.PI}n.radiansToDegrees=y;function _(x){var A=x%360;return A*Math.PI/180}n.degreesToRadians=_;function S(x,A,L){if(A===void 0&&(A="kilometers"),L===void 0&&(L="kilometers"),!(x>=0))throw new Error("length must be a positive number");return E(C(x,A),L)}n.convertLength=S;function I(x,A,L){if(A===void 0&&(A="meters"),L===void 0&&(L="kilometers"),!(x>=0))throw new Error("area must be a positive number");var F=n.areaFactors[A];if(!F)throw new Error("invalid original units");var J=n.areaFactors[L];if(!J)throw new Error("invalid final units");return x/F*J}n.convertArea=I;function P(x){return!isNaN(x)&&x!==null&&!Array.isArray(x)}n.isNumber=P;function M(x){return!!x&&x.constructor===Object}n.isObject=M;function R(x){if(!x)throw new Error("bbox is required");if(!Array.isArray(x))throw new Error("bbox must be an Array");if(x.length!==4&&x.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");x.forEach(function(A){if(!P(A))throw new Error("bbox must only contain numbers")})}n.validateBBox=R;function k(x){if(!x)throw new Error("id is required");if(["string","number"].indexOf(typeof x)===-1)throw new Error("id must be a number or a string")}n.validateId=k})(jl)),jl}var re={},ad;function ud(){if(ad)return re;ad=1,Object.defineProperty(re,"__esModule",{value:!0});var n=od();function t(m,y,_){if(m!==null)for(var S,I,P,M,R,k,x,A=0,L=0,F,J=m.type,et=J==="FeatureCollection",dt=J==="Feature",Lt=et?m.features.length:1,Qt=0;Qt<Lt;Qt++){x=et?m.features[Qt].geometry:dt?m.geometry:m,F=x?x.type==="GeometryCollection":!1,R=F?x.geometries.length:1;for(var pr=0;pr<R;pr++){var Vt=0,At=0;if(M=F?x.geometries[pr]:x,M!==null){k=M.coordinates;var Pe=M.type;switch(A=_&&(Pe==="Polygon"||Pe==="MultiPolygon")?1:0,Pe){case null:break;case"Point":if(y(k,L,Qt,Vt,At)===!1)return!1;L++,Vt++;break;case"LineString":case"MultiPoint":for(S=0;S<k.length;S++){if(y(k[S],L,Qt,Vt,At)===!1)return!1;L++,Pe==="MultiPoint"&&Vt++}Pe==="LineString"&&Vt++;break;case"Polygon":case"MultiLineString":for(S=0;S<k.length;S++){for(I=0;I<k[S].length-A;I++){if(y(k[S][I],L,Qt,Vt,At)===!1)return!1;L++}Pe==="MultiLineString"&&Vt++,Pe==="Polygon"&&At++}Pe==="Polygon"&&Vt++;break;case"MultiPolygon":for(S=0;S<k.length;S++){for(At=0,I=0;I<k[S].length;I++){for(P=0;P<k[S][I].length-A;P++){if(y(k[S][I][P],L,Qt,Vt,At)===!1)return!1;L++}At++}Vt++}break;case"GeometryCollection":for(S=0;S<M.geometries.length;S++)if(t(M.geometries[S],y,_)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function e(m,y,_,S){var I=_;return t(m,function(P,M,R,k,x){M===0&&_===void 0?I=P:I=y(I,P,M,R,k,x)},S),I}function r(m,y){var _;switch(m.type){case"FeatureCollection":for(_=0;_<m.features.length&&y(m.features[_].properties,_)!==!1;_++);break;case"Feature":y(m.properties,0);break}}function i(m,y,_){var S=_;return r(m,function(I,P){P===0&&_===void 0?S=I:S=y(S,I,P)}),S}function s(m,y){if(m.type==="Feature")y(m,0);else if(m.type==="FeatureCollection")for(var _=0;_<m.features.length&&y(m.features[_],_)!==!1;_++);}function o(m,y,_){var S=_;return s(m,function(I,P){P===0&&_===void 0?S=I:S=y(S,I,P)}),S}function a(m){var y=[];return t(m,function(_){y.push(_)}),y}function u(m,y){var _,S,I,P,M,R,k,x,A,L,F=0,J=m.type==="FeatureCollection",et=m.type==="Feature",dt=J?m.features.length:1;for(_=0;_<dt;_++){for(R=J?m.features[_].geometry:et?m.geometry:m,x=J?m.features[_].properties:et?m.properties:{},A=J?m.features[_].bbox:et?m.bbox:void 0,L=J?m.features[_].id:et?m.id:void 0,k=R?R.type==="GeometryCollection":!1,M=k?R.geometries.length:1,I=0;I<M;I++){if(P=k?R.geometries[I]:R,P===null){if(y(null,F,x,A,L)===!1)return!1;continue}switch(P.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(y(P,F,x,A,L)===!1)return!1;break}case"GeometryCollection":{for(S=0;S<P.geometries.length;S++)if(y(P.geometries[S],F,x,A,L)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}F++}}function l(m,y,_){var S=_;return u(m,function(I,P,M,R,k){P===0&&_===void 0?S=I:S=y(S,I,P,M,R,k)}),S}function c(m,y){u(m,function(_,S,I,P,M){var R=_===null?null:_.type;switch(R){case null:case"Point":case"LineString":case"Polygon":return y(n.feature(_,I,{bbox:P,id:M}),S,0)===!1?!1:void 0}var k;switch(R){case"MultiPoint":k="Point";break;case"MultiLineString":k="LineString";break;case"MultiPolygon":k="Polygon";break}for(var x=0;x<_.coordinates.length;x++){var A=_.coordinates[x],L={type:k,coordinates:A};if(y(n.feature(L,I),S,x)===!1)return!1}})}function h(m,y,_){var S=_;return c(m,function(I,P,M){P===0&&M===0&&_===void 0?S=I:S=y(S,I,P,M)}),S}function d(m,y){c(m,function(_,S,I){var P=0;if(_.geometry){var M=_.geometry.type;if(!(M==="Point"||M==="MultiPoint")){var R,k=0,x=0,A=0;if(t(_,function(L,F,J,et,dt){if(R===void 0||S>k||et>x||dt>A){R=L,k=S,x=et,A=dt,P=0;return}var Lt=n.lineString([R,L],_.properties);if(y(Lt,S,I,dt,P)===!1)return!1;P++,R=L})===!1)return!1}}})}function g(m,y,_){var S=_,I=!1;return d(m,function(P,M,R,k,x){I===!1&&_===void 0?S=P:S=y(S,P,M,R,k,x),I=!0}),S}function v(m,y){if(!m)throw new Error("geojson is required");c(m,function(_,S,I){if(_.geometry!==null){var P=_.geometry.type,M=_.geometry.coordinates;switch(P){case"LineString":if(y(_,S,I,0,0)===!1)return!1;break;case"Polygon":for(var R=0;R<M.length;R++)if(y(n.lineString(M[R],_.properties),S,I,R)===!1)return!1;break}}})}function E(m,y,_){var S=_;return v(m,function(I,P,M,R){P===0&&_===void 0?S=I:S=y(S,I,P,M,R)}),S}function C(m,y){if(y=y||{},!n.isObject(y))throw new Error("options is invalid");var _=y.featureIndex||0,S=y.multiFeatureIndex||0,I=y.geometryIndex||0,P=y.segmentIndex||0,M=y.properties,R;switch(m.type){case"FeatureCollection":_<0&&(_=m.features.length+_),M=M||m.features[_].properties,R=m.features[_].geometry;break;case"Feature":M=M||m.properties,R=m.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":R=m;break;default:throw new Error("geojson is invalid")}if(R===null)return null;var k=R.coordinates;switch(R.type){case"Point":case"MultiPoint":return null;case"LineString":return P<0&&(P=k.length+P-1),n.lineString([k[P],k[P+1]],M,y);case"Polygon":return I<0&&(I=k.length+I),P<0&&(P=k[I].length+P-1),n.lineString([k[I][P],k[I][P+1]],M,y);case"MultiLineString":return S<0&&(S=k.length+S),P<0&&(P=k[S].length+P-1),n.lineString([k[S][P],k[S][P+1]],M,y);case"MultiPolygon":return S<0&&(S=k.length+S),I<0&&(I=k[S].length+I),P<0&&(P=k[S][I].length-P-1),n.lineString([k[S][I][P],k[S][I][P+1]],M,y)}throw new Error("geojson is invalid")}function b(m,y){if(y=y||{},!n.isObject(y))throw new Error("options is invalid");var _=y.featureIndex||0,S=y.multiFeatureIndex||0,I=y.geometryIndex||0,P=y.coordIndex||0,M=y.properties,R;switch(m.type){case"FeatureCollection":_<0&&(_=m.features.length+_),M=M||m.features[_].properties,R=m.features[_].geometry;break;case"Feature":M=M||m.properties,R=m.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":R=m;break;default:throw new Error("geojson is invalid")}if(R===null)return null;var k=R.coordinates;switch(R.type){case"Point":return n.point(k,M,y);case"MultiPoint":return S<0&&(S=k.length+S),n.point(k[S],M,y);case"LineString":return P<0&&(P=k.length+P),n.point(k[P],M,y);case"Polygon":return I<0&&(I=k.length+I),P<0&&(P=k[I].length+P),n.point(k[I][P],M,y);case"MultiLineString":return S<0&&(S=k.length+S),P<0&&(P=k[S].length+P),n.point(k[S][P],M,y);case"MultiPolygon":return S<0&&(S=k.length+S),I<0&&(I=k[S].length+I),P<0&&(P=k[S][I].length-P),n.point(k[S][I][P],M,y)}throw new Error("geojson is invalid")}return re.coordAll=a,re.coordEach=t,re.coordReduce=e,re.featureEach=s,re.featureReduce=o,re.findPoint=b,re.findSegment=C,re.flattenEach=c,re.flattenReduce=h,re.geomEach=u,re.geomReduce=l,re.lineEach=v,re.lineReduce=E,re.propEach=r,re.propReduce=i,re.segmentEach=d,re.segmentReduce=g,re}var Cu={},ld;function Fv(){if(ld)return Cu;ld=1,Object.defineProperty(Cu,"__esModule",{value:!0});var n=ud();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,Cu.default=t,Cu}var cd;function kv(){if(cd)return Eu.exports;cd=1;var n=Rv(),t=od(),e=ud(),r=Fv().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 Eu.exports=o,Eu.exports.default=o,Eu.exports}var Vv=kv();const zv=qf(Vv);function hd(n,t){var e={},r=[];if(n.type==="LineString"&&(n=sn(n)),t.type==="LineString"&&(t=sn(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=fd(n,t);return i&&r.push(i),js(r)}var s=zv();return s.load(nd(t)),gu(nd(n),function(o){gu(s.search(o),function(a){var u=fd(o,a);if(u){var l=os(u).join(",");e[l]||(e[l]=!0,r.push(u))}})}),js(r)}function fd(n,t){var e=os(n),r=os(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),v=(o-i)*(s-l)-(a-s)*(i-u);if(d===0)return null;var E=g/d,C=v/d;if(E>=0&&E<=1&&C>=0&&C<=1){var b=i+E*(o-i),m=s+E*(a-s);return Ot([b,m])}return null}function Uv(n,t){return hd(on(n),on(t))}function Gv(n,t){var e=ri(n,t),r=ya(n,t),i=Zs(n,e/2,r);return i}function Wv(n,t){const e=Ot(n),r=Ot(t),i=Gv(e,r),s=(n[2]+t[2])/2;return[...i.geometry.coordinates,s]}function qv(n,t,e){e===void 0&&(e={});var r=Ot([1/0,1/0],{dist:1/0}),i=0;return Vl(n,function(s){for(var o=os(s),a=0;a<o.length-1;a++){var u=Ot(o[a]);u.properties.dist=ri(t,u,e);var l=Ot(o[a+1]);l.properties.dist=ri(t,l,e);var c=ri(u,l,e),h=Math.max(u.properties.dist,l.properties.dist),d=ya(u,l),g=Zs(t,h,d+90,e),v=Zs(t,h,d-90,e),E=hd(on([g.geometry.coordinates,v.geometry.coordinates]),on([u.geometry.coordinates,l.geometry.coordinates])),C=null;E.features.length>0&&(C=E.features[0],C.properties.dist=ri(t,C,e),C.properties.location=i+ri(u,C,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),C&&C.properties.dist<r.properties.dist&&(r=C,r.properties.index=a),i+=c}}),r}function Xv(n,t){const e=Ot(t),r=on(n);return qv(r,e,{units:"meters"})}function dd(n,t,e){e===void 0&&(e={});var r=je(n),i=je(t);i[0]+=i[0]-r[0]>180?-360:r[0]-i[0]>180?360:0;var s=Yv(r,i),o=kl(s,"meters",e.units);return o}function Yv(n,t,e){e=e===void 0?Ne: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 Hv(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=Ot(n):n.type==="Point"?n=sn(n):Ff(n,"Point","point"),!t)throw new Error("line is required");Array.isArray(t)?t=on(t):t.type==="LineString"?t=sn(t):Ff(t,"LineString","line");var r=1/0,i=n.geometry.coordinates;return tv(t,function(s){var o=s.geometry.coordinates[0],a=s.geometry.coordinates[1],u=Bv(i,o,a,e);u<r&&(r=u)}),kl(r,"degrees",e.units)}function Bv(n,t,e,r){var i=[e[0]-t[0],e[1]-t[1]],s=[n[0]-t[0],n[1]-t[1]],o=pd(s,i);if(o<=0)return Zl(n,t,{method:r.method,units:"degrees"});var a=pd(i,i);if(a<=o)return Zl(n,e,{method:r.method,units:"degrees"});var u=o/a,l=[t[0]+u*i[0],t[1]+u*i[1]];return Zl(n,l,{method:r.method,units:"degrees"})}function pd(n,t){return n[0]*t[0]+n[1]*t[1]}function Zl(n,t,e){return e.method==="planar"?dd(n,t,e):ri(n,t,e)}function Jv(n,t){const e=Ot(n),r=on(t);return Hv(e,r,{units:"meters"})}function jv(n,t,e,r){r===void 0&&(r={});var i=t<0,s=kl(Math.abs(t),r.units,"meters");i&&(s=-Math.abs(s));var o=je(n),a=Zv(o,s,e);return a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0,Ot(a,r.properties)}function Zv(n,t,e,r){r=r===void 0?Ne:Number(r);var i=t/r,s=n[0]*Math.PI/180,o=Fe(n[1]),a=Fe(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=jv(Ot([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 gd(n,t){return dd(Ot(n),Ot(t),{units:"meters"})}function Qv(n,t,e){e===void 0&&(e={});var r;e.final?r=md(je(t),je(n)):r=md(je(n),je(t));var i=r>180?-(360-r):r;return i}function md(n,t){var e=Fe(n[1]),r=Fe(t[1]),i=Fe(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(pu(o)+360)%360}function $v(n,t){return Qv(Ot(n),Ot(t))}function an(n){var t=[1/0,1/0,-1/0,-1/0];return Ks(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}an.default=an;function un(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=je(n),i=gr(t),s=i.type,o=t.bbox,a=i.coordinates;if(o&&ty(r,o)===!1)return!1;s==="Polygon"&&(a=[a]);for(var u=!1,l=0;l<a.length&&!u;l++)if(vd(r,a[l][0],e.ignoreBoundary)){for(var c=!1,h=1;h<a[l].length&&!c;)vd(r,a[l][h],!e.ignoreBoundary)&&(c=!0),h++;c||(u=!0)}return u}function vd(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 ty(n,t){return t[0]<=n[0]&&t[1]<=n[1]&&t[2]>=n[0]&&t[3]>=n[1]}function ii(n,t,e){e===void 0&&(e={});for(var r=je(n),i=os(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")),ey(i[s],i[s+1],r,o,typeof e.epsilon>"u"?null:e.epsilon))return!0}return!1}function ey(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,v=c-u,E=h*v-d*g;if(i!==null){if(Math.abs(E)>i)return!1}else if(E!==0)return!1;if(r){if(r==="start")return Math.abs(g)>=Math.abs(v)?g>0?a<s&&s<=l:l<=s&&s<a:v>0?u<o&&o<=c:c<=o&&o<u;if(r==="end")return Math.abs(g)>=Math.abs(v)?g>0?a<=s&&s<l:l<s&&s<=a:v>0?u<=o&&o<c:c<o&&o<=u;if(r==="both")return Math.abs(g)>=Math.abs(v)?g>0?a<s&&s<l:l<s&&s<a:v>0?u<o&&o<c:c<o&&o<u}else return Math.abs(g)>=Math.abs(v)?g>0?a<=s&&s<=l:l<=s&&s<=a:v>0?u<=o&&o<=c:c<=o&&o<=u;return!1}function ry(n,t){var e=gr(n),r=gr(t),i=e.type,s=r.type,o=e.coordinates,a=r.coordinates;switch(i){case"Point":switch(s){case"Point":return Kl(o,a);default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"Point":return ny(e,r);case"MultiPoint":return iy(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"Point":return ii(r,e,{ignoreEndVertices:!0});case"LineString":return ay(e,r);case"MultiPoint":return sy(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Point":return un(r,e,{ignoreBoundary:!0});case"LineString":return uy(e,r);case"Polygon":return ly(e,r);case"MultiPoint":return oy(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function ny(n,t){var e,r=!1;for(e=0;e<n.coordinates.length;e++)if(Kl(n.coordinates[e],t.coordinates)){r=!0;break}return r}function iy(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(Kl(i,u)){s=!0;break}}if(!s)return!1}return!0}function sy(n,t){for(var e=!1,r=0,i=t.coordinates;r<i.length;r++){var s=i[r];if(ii(s,n,{ignoreEndVertices:!0})&&(e=!0),!ii(s,n))return!1}return!!e}function oy(n,t){for(var e=0,r=t.coordinates;e<r.length;e++){var i=r[e];if(!un(i,n,{ignoreBoundary:!0}))return!1}return!0}function ay(n,t){for(var e=!1,r=0,i=t.coordinates;r<i.length;r++){var s=i[r];if(ii({type:"Point",coordinates:s},n,{ignoreEndVertices:!0})&&(e=!0),!ii({type:"Point",coordinates:s},n,{ignoreEndVertices:!1}))return!1}return e}function uy(n,t){var e=!1,r=0,i=an(n),s=an(t);if(!yd(i,s))return!1;for(r;r<t.coordinates.length-1;r++){var o=cy(t.coordinates[r],t.coordinates[r+1]);if(un({type:"Point",coordinates:o},n,{ignoreBoundary:!0})){e=!0;break}}return e}function ly(n,t){if(n.type==="Feature"&&n.geometry===null||t.type==="Feature"&&t.geometry===null)return!1;var e=an(n),r=an(t);if(!yd(e,r))return!1;for(var i=gr(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(!un(c,n))return!1}return!0}function yd(n,t){return!(n[0]>t[0]||n[2]<t[2]||n[1]>t[1]||n[3]<t[3])}function Kl(n,t){return n[0]===t[0]&&n[1]===t[1]}function cy(n,t){return[(n[0]+t[0])/2,(n[1]+t[1])/2]}function hy(n,t){var e=gr(n),r=gr(t),i=e.type,s=r.type;switch(i){case"Point":switch(s){case"MultiPoint":return fy(e,r);case"LineString":return ii(e,r,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return un(e,r,{ignoreBoundary:!0});default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"MultiPoint":return dy(e,r);case"LineString":return py(e,r);case"Polygon":case"MultiPolygon":return gy(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"LineString":return my(e,r);case"Polygon":case"MultiPolygon":return vy(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Polygon":case"MultiPolygon":return yy(e,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function fy(n,t){var e,r=!1;for(e=0;e<t.coordinates.length;e++)if(wd(t.coordinates[e],n.coordinates)){r=!0;break}return r}function dy(n,t){for(var e=0;e<n.coordinates.length;e++){for(var r=!1,i=0;i<t.coordinates.length;i++)wd(n.coordinates[e],t.coordinates[i])&&(r=!0);if(!r)return!1}return!0}function py(n,t){for(var e=!1,r=0;r<n.coordinates.length;r++){if(!ii(n.coordinates[r],t))return!1;e||(e=ii(n.coordinates[r],t,{ignoreEndVertices:!0}))}return e}function gy(n,t){for(var e=!0,r=!1,i=0;i<n.coordinates.length;i++){if(r=un(n.coordinates[1],t),!r){e=!1;break}r=un(n.coordinates[1],t,{ignoreBoundary:!0})}return e&&r}function my(n,t){for(var e=0;e<n.coordinates.length;e++)if(!ii(n.coordinates[e],t))return!1;return!0}function vy(n,t){var e=an(t),r=an(n);if(!_d(e,r))return!1;for(var i=!1,s=0;s<n.coordinates.length-1;s++){if(!un(n.coordinates[s],t))return!1;if(i||(i=un(n.coordinates[s],t,{ignoreBoundary:!0})),!i){var o=_y(n.coordinates[s],n.coordinates[s+1]);i=un(o,t,{ignoreBoundary:!0})}}return i}function yy(n,t){var e=an(n),r=an(t);if(!_d(r,e))return!1;for(var i=0;i<n.coordinates[0].length;i++)if(!un(n.coordinates[0][i],t))return!1;return!0}function _d(n,t){return!(n[0]>t[0]||n[2]<t[2]||n[1]>t[1]||n[3]<t[3])}function wd(n,t){return n[0]===t[0]&&n[1]===t[1]}function _y(n,t){return[(n[0]+t[0])/2,(n[1]+t[1])/2]}function wy(n,t){t===void 0&&(t={});var e=an(n),r=(e[0]+e[2])/2,i=(e[1]+e[3])/2;return Ot([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 as=function(){};as.prototype.interfaces_=function(){return[]},as.prototype.getClass=function(){return as},as.prototype.equalsWithTolerance=function(t,e,r){return Math.abs(t-e)<=r};var xt=(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),rt=function(){},Ed={MAX_VALUE:{configurable:!0}};rt.isNaN=function(t){return Number.isNaN(t)},rt.doubleToLongBits=function(t){return t},rt.longBitsToDouble=function(t){return t},rt.isInfinite=function(t){return!Number.isFinite(t)},Ed.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(rt,Ed);var sr=function(){},Iu=function(){},ro=function(){};function or(){}var N=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])},us={DimensionalComparator:{configurable:!0},serialVersionUID:{configurable:!0},NULL_ORDINATE:{configurable:!0},X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0}};N.prototype.setOrdinate=function(t,e){switch(t){case N.X:this.x=e;break;case N.Y:this.y=e;break;case N.Z:this.z=e;break;default:throw new xt("Invalid ordinate index: "+t)}},N.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!(!as.equalsWithTolerance(this.x,e.x,r)||!as.equalsWithTolerance(this.y,e.y,r))}},N.prototype.getOrdinate=function(t){switch(t){case N.X:return this.x;case N.Y:return this.y;case N.Z:return this.z}throw new xt("Invalid ordinate index: "+t)},N.prototype.equals3D=function(t){return this.x===t.x&&this.y===t.y&&(this.z===t.z||rt.isNaN(this.z))&&rt.isNaN(t.z)},N.prototype.equals=function(t){return t instanceof N?this.equals2D(t):!1},N.prototype.equalInZ=function(t,e){return as.equalsWithTolerance(this.z,t.z,e)},N.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},N.prototype.clone=function(){},N.prototype.copy=function(){return new N(this)},N.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},N.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)},N.prototype.distance=function(t){var e=this.x-t.x,r=this.y-t.y;return Math.sqrt(e*e+r*r)},N.prototype.hashCode=function(){var t=17;return t=37*t+N.hashCode(this.x),t=37*t+N.hashCode(this.y),t},N.prototype.setCoordinate=function(t){this.x=t.x,this.y=t.y,this.z=t.z},N.prototype.interfaces_=function(){return[sr,Iu,or]},N.prototype.getClass=function(){return N},N.hashCode=function(){if(arguments.length===1){var t=arguments[0],e=rt.doubleToLongBits(t);return Math.trunc((e^e)>>>32)}},us.DimensionalComparator.get=function(){return si},us.serialVersionUID.get=function(){return 6683108902428367e3},us.NULL_ORDINATE.get=function(){return rt.NaN},us.X.get=function(){return 0},us.Y.get=function(){return 1},us.Z.get=function(){return 2},Object.defineProperties(N,us);var si=function(t){if(this._dimensionsToTest=2,arguments.length!==0){if(arguments.length===1){var e=arguments[0];if(e!==2&&e!==3)throw new xt("only 2 or 3 dimensions may be specified");this._dimensionsToTest=e}}};si.prototype.compare=function(t,e){var r=t,i=e,s=si.compare(r.x,i.x);if(s!==0)return s;var o=si.compare(r.y,i.y);if(o!==0)return o;if(this._dimensionsToTest<=2)return 0;var a=si.compare(r.z,i.z);return a},si.prototype.interfaces_=function(){return[ro]},si.prototype.getClass=function(){return si},si.compare=function(t,e){return t<e?-1:t>e?1:rt.isNaN(t)?rt.isNaN(e)?0:-1:rt.isNaN(e)?1:0};var no=function(){};no.prototype.create=function(){},no.prototype.interfaces_=function(){return[]},no.prototype.getClass=function(){return no};var O=function(){},Pa={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};O.prototype.interfaces_=function(){return[]},O.prototype.getClass=function(){return O},O.toLocationSymbol=function(t){switch(t){case O.EXTERIOR:return"e";case O.BOUNDARY:return"b";case O.INTERIOR:return"i";case O.NONE:return"-"}throw new xt("Unknown location value: "+t)},Pa.INTERIOR.get=function(){return 0},Pa.BOUNDARY.get=function(){return 1},Pa.EXTERIOR.get=function(){return 2},Pa.NONE.get=function(){return-1},Object.defineProperties(O,Pa);var Q=function(n,t){return n.interfaces_&&n.interfaces_().indexOf(t)>-1},Ke=function(){},Sd={LOG_10:{configurable:!0}};Ke.prototype.interfaces_=function(){return[]},Ke.prototype.getClass=function(){return Ke},Ke.log10=function(t){var e=Math.log(t);return rt.isInfinite(e)||rt.isNaN(e)?e:e/Ke.LOG_10},Ke.min=function(t,e,r,i){var s=t;return e<s&&(s=e),r<s&&(s=r),i<s&&(s=i),s},Ke.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}},Ke.wrap=function(t,e){return t<0?e- -t%e:t%e},Ke.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}},Ke.average=function(t,e){return(t+e)/2},Sd.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(Ke,Sd);var xr=function(t){this.str=t};xr.prototype.append=function(t){this.str+=t},xr.prototype.setCharAt=function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)},xr.prototype.toString=function(t){return this.str};var Or=function(t){this.value=t};Or.prototype.intValue=function(){return this.value},Or.prototype.compareTo=function(t){return this.value<t?-1:this.value>t?1:0},Or.isNaN=function(t){return Number.isNaN(t)};var ba=function(){};ba.isWhitespace=function(t){return t<=32&&t>=0||t===127},ba.toUpperCase=function(t){return t.toUpperCase()};var D=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)}},mr={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}};D.prototype.le=function(t){return(this._hi<t._hi||this._hi===t._hi)&&this._lo<=t._lo},D.prototype.extractSignificantDigits=function(t,e){var r=this.abs(),i=D.magnitude(r._hi),s=D.TEN.pow(i);r=r.divide(s),r.gt(D.TEN)?(r=r.divide(D.TEN),i+=1):r.lt(D.ONE)&&(r=r.multiply(D.TEN),i-=1);for(var o=i+1,a=new xr,u=D.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(D.valueOf(c)).multiply(D.TEN),h&&r.selfAdd(D.TEN);var g=!0,v=D.magnitude(r._hi);if(v<0&&Math.abs(v)>=u-l&&(g=!1),!g)break}return e[0]=i,a.toString()},D.prototype.sqr=function(){return this.multiply(this)},D.prototype.doubleValue=function(){return this._hi+this._lo},D.prototype.subtract=function(){if(arguments[0]instanceof D){var t=arguments[0];return this.add(t.negate())}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.add(-e)}},D.prototype.equals=function(){if(arguments.length===1){var t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}},D.prototype.isZero=function(){return this._hi===0&&this._lo===0},D.prototype.selfSubtract=function(){if(arguments[0]instanceof D){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)}},D.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},D.prototype.min=function(t){return this.le(t)?this:t},D.prototype.selfDivide=function(){if(arguments.length===1){if(arguments[0]instanceof D){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=D.SPLIT*l,s=c-l,d=D.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}},D.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},D.prototype.divide=function(){if(arguments[0]instanceof D){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=D.SPLIT*o,e=a-o,l=D.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 D(c,h)}else if(typeof arguments[0]=="number"){var d=arguments[0];return rt.isNaN(d)?D.createNaN():D.copy(this).selfDivide(d,0)}},D.prototype.ge=function(t){return(this._hi>t._hi||this._hi===t._hi)&&this._lo>=t._lo},D.prototype.pow=function(t){if(t===0)return D.valueOf(1);var e=new D(this),r=D.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},D.prototype.ceil=function(){if(this.isNaN())return D.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new D(t,e)},D.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},D.prototype.rint=function(){if(this.isNaN())return this;var t=this.add(.5);return t.floor()},D.prototype.setValue=function(){if(arguments[0]instanceof D){var t=arguments[0];return this.init(t),this}else if(typeof arguments[0]=="number"){var e=arguments[0];return this.init(e),this}},D.prototype.max=function(t){return this.ge(t)?this:t},D.prototype.sqrt=function(){if(this.isZero())return D.valueOf(0);if(this.isNegative())return D.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,r=D.valueOf(e),i=this.subtract(r.sqr()),s=i._hi*(t*.5);return r.add(s)},D.prototype.selfAdd=function(){if(arguments.length===1){if(arguments[0]instanceof D){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,v=null,E=null,C=null,b=null,m=null;E=this._hi+l,g=this._lo+c,b=E-this._hi,m=g-this._lo,C=E-b,v=g-m,C=l-b+(this._hi-C),v=c-m+(this._lo-v),b=C+g,h=E+b,d=b+(E-h),b=v+d;var y=h+b,_=b+(h-y);return this._hi=y,this._lo=_,this}},D.prototype.selfMultiply=function(){if(arguments.length===1){if(arguments[0]instanceof D){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=D.SPLIT*this._hi,s=l-this._hi,c=D.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}},D.prototype.selfSqr=function(){return this.selfMultiply(this)},D.prototype.floor=function(){if(this.isNaN())return D.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new D(t,e)},D.prototype.negate=function(){return this.isNaN()?this:new D(-this._hi,-this._lo)},D.prototype.clone=function(){},D.prototype.multiply=function(){if(arguments[0]instanceof D){var t=arguments[0];return t.isNaN()?D.createNaN():D.copy(this).selfMultiply(t)}else if(typeof arguments[0]=="number"){var e=arguments[0];return rt.isNaN(e)?D.createNaN():D.copy(this).selfMultiply(e,0)}},D.prototype.isNaN=function(){return rt.isNaN(this._hi)},D.prototype.intValue=function(){return Math.trunc(this._hi)},D.prototype.toString=function(){var t=D.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()},D.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."+D.stringOfChar("0",-i)+r;else if(r.indexOf(".")===-1){var o=i-r.length,a=D.stringOfChar("0",o);s=r+a+".0"}return this.isNegative()?"-"+s:s},D.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=D.SPLIT*s,t=o-s,u=D.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 D(l,c)},D.prototype.toSciNotation=function(){if(this.isZero())return D.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=D.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},D.prototype.abs=function(){return this.isNaN()?D.NaN:this.isNegative()?this.negate():new D(this)},D.prototype.isPositive=function(){return(this._hi>0||this._hi===0)&&this._lo>0},D.prototype.lt=function(t){return(this._hi<t._hi||this._hi===t._hi)&&this._lo<t._lo},D.prototype.add=function(){if(arguments[0]instanceof D){var t=arguments[0];return D.copy(this).selfAdd(t)}else if(typeof arguments[0]=="number"){var e=arguments[0];return D.copy(this).selfAdd(e)}},D.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 D){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}},D.prototype.gt=function(t){return(this._hi>t._hi||this._hi===t._hi)&&this._lo>t._lo},D.prototype.isNegative=function(){return(this._hi<0||this._hi===0)&&this._lo<0},D.prototype.trunc=function(){return this.isNaN()?D.NaN:this.isPositive()?this.floor():this.ceil()},D.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},D.prototype.interfaces_=function(){return[or,sr,Iu]},D.prototype.getClass=function(){return D},D.sqr=function(t){return D.valueOf(t).selfMultiply(t)},D.valueOf=function(){if(typeof arguments[0]=="string"){var t=arguments[0];return D.parse(t)}else if(typeof arguments[0]=="number"){var e=arguments[0];return new D(e)}},D.sqrt=function(t){return D.valueOf(t).sqrt()},D.parse=function(t){for(var e=0,r=t.length;ba.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 D,a=0,u=0,l=0;!(e>=r);){var c=t.charAt(e);if(e++,ba.isDigit(c)){var h=c-"0";o.selfMultiply(D.TEN),o.selfAdd(h),a++;continue}if(c==="."){u=a;continue}if(c==="e"||c==="E"){var d=t.substring(e);try{l=Or.parseInt(d)}catch(b){throw b instanceof Error?new Error("Invalid exponent "+d+" in string "+t):b}finally{}break}throw new Error("Unexpected character '"+c+"' at position "+e+" in string "+t)}var g=o,v=a-u-l;if(v===0)g=o;else if(v>0){var E=D.TEN.pow(v);g=o.divide(E)}else if(v<0){var C=D.TEN.pow(-v);g=o.multiply(C)}return i?g.negate():g},D.createNaN=function(){return new D(rt.NaN,rt.NaN)},D.copy=function(t){return new D(t)},D.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},D.stringOfChar=function(t,e){for(var r=new xr,i=0;i<e;i++)r.append(t);return r.toString()},mr.PI.get=function(){return new D(3.141592653589793,12246467991473532e-32)},mr.TWO_PI.get=function(){return new D(6.283185307179586,24492935982947064e-32)},mr.PI_2.get=function(){return new D(1.5707963267948966,6123233995736766e-32)},mr.E.get=function(){return new D(2.718281828459045,14456468917292502e-32)},mr.NaN.get=function(){return new D(rt.NaN,rt.NaN)},mr.EPS.get=function(){return 123259516440783e-46},mr.SPLIT.get=function(){return 134217729},mr.MAX_PRINT_DIGITS.get=function(){return 32},mr.TEN.get=function(){return D.valueOf(10)},mr.ONE.get=function(){return D.valueOf(1)},mr.SCI_NOT_EXPONENT_CHAR.get=function(){return"E"},mr.SCI_NOT_ZERO.get=function(){return"0.0E0"},Object.defineProperties(D,mr);var Te=function(){},Cd={DP_SAFE_EPSILON:{configurable:!0}};Te.prototype.interfaces_=function(){return[]},Te.prototype.getClass=function(){return Te},Te.orientationIndex=function(t,e,r){var i=Te.orientationIndexFilter(t,e,r);if(i<=1)return i;var s=D.valueOf(e.x).selfAdd(-t.x),o=D.valueOf(e.y).selfAdd(-t.y),a=D.valueOf(r.x).selfAdd(-e.x),u=D.valueOf(r.y).selfAdd(-e.y);return s.selfMultiply(u).selfSubtract(o.selfMultiply(a)).signum()},Te.signOfDet2x2=function(t,e,r,i){var s=t.multiply(i).selfSubtract(e.multiply(r));return s.signum()},Te.intersection=function(t,e,r,i){var s=D.valueOf(i.y).selfSubtract(r.y).selfMultiply(D.valueOf(e.x).selfSubtract(t.x)),o=D.valueOf(i.x).selfSubtract(r.x).selfMultiply(D.valueOf(e.y).selfSubtract(t.y)),a=s.subtract(o),u=D.valueOf(i.x).selfSubtract(r.x).selfMultiply(D.valueOf(t.y).selfSubtract(r.y)),l=D.valueOf(i.y).selfSubtract(r.y).selfMultiply(D.valueOf(t.x).selfSubtract(r.x)),c=u.subtract(l),h=c.selfDivide(a).doubleValue(),d=D.valueOf(t.x).selfAdd(D.valueOf(e.x).selfSubtract(t.x).selfMultiply(h)).doubleValue(),g=D.valueOf(e.x).selfSubtract(t.x).selfMultiply(D.valueOf(t.y).selfSubtract(r.y)),v=D.valueOf(e.y).selfSubtract(t.y).selfMultiply(D.valueOf(t.x).selfSubtract(r.x)),E=g.subtract(v),C=E.selfDivide(a).doubleValue(),b=D.valueOf(r.y).selfAdd(D.valueOf(i.y).selfSubtract(r.y).selfMultiply(C)).doubleValue();return new N(d,b)},Te.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 Te.signum(a);i=s+o}else if(s<0){if(o>=0)return Te.signum(a);i=-s-o}else return Te.signum(a);var u=Te.DP_SAFE_EPSILON*i;return a>=u||-a>=u?Te.signum(a):2},Te.signum=function(t){return t>0?1:t<0?-1:0},Cd.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(Te,Cd);var ft=function(){},Na={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};Na.X.get=function(){return 0},Na.Y.get=function(){return 1},Na.Z.get=function(){return 2},Na.M.get=function(){return 3},ft.prototype.setOrdinate=function(t,e,r){},ft.prototype.size=function(){},ft.prototype.getOrdinate=function(t,e){},ft.prototype.getCoordinate=function(){},ft.prototype.getCoordinateCopy=function(t){},ft.prototype.getDimension=function(){},ft.prototype.getX=function(t){},ft.prototype.clone=function(){},ft.prototype.expandEnvelope=function(t){},ft.prototype.copy=function(){},ft.prototype.getY=function(t){},ft.prototype.toCoordinateArray=function(){},ft.prototype.interfaces_=function(){return[Iu]},ft.prototype.getClass=function(){return ft},Object.defineProperties(ft,Na);var Id=function(){},io=(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})(Id),ne=function(){};ne.arraycopy=function(t,e,r,i,s){for(var o=0,a=e;a<e+s;a++)r[i+o]=t[a],o++},ne.getProperty=function(t){return{"line.separator":`
|
|
42
|
+
`}[t]};var vr=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 N&&arguments[1]instanceof N){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],v=arguments[3],E=h.y-d.y,C=d.x-h.x,b=h.x*d.y-d.x*h.y,m=g.y-v.y,y=v.x-g.x,_=g.x*v.y-v.x*g.y;this.x=C*_-y*b,this.y=m*b-E*_,this.w=E*y-m*C}};vr.prototype.getY=function(){var t=this.y/this.w;if(rt.isNaN(t)||rt.isInfinite(t))throw new io;return t},vr.prototype.getX=function(){var t=this.x/this.w;if(rt.isNaN(t)||rt.isInfinite(t))throw new io;return t},vr.prototype.getCoordinate=function(){var t=new N;return t.x=this.getX(),t.y=this.getY(),t},vr.prototype.interfaces_=function(){return[]},vr.prototype.getClass=function(){return vr},vr.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,v=h/g,E=d/g;if(rt.isNaN(v)||rt.isInfinite(v)||rt.isNaN(E)||rt.isInfinite(E))throw new io;return new N(v,E)};var X=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 N){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)}},Pd={serialVersionUID:{configurable:!0}};X.prototype.getArea=function(){return this.getWidth()*this.getHeight()},X.prototype.equals=function(t){if(!(t instanceof X))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()},X.prototype.intersection=function(t){if(this.isNull()||t.isNull()||!this.intersects(t))return new X;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 X(e,i,r,s)},X.prototype.isNull=function(){return this._maxx<this._minx},X.prototype.getMaxX=function(){return this._maxx},X.prototype.covers=function(){if(arguments.length===1){if(arguments[0]instanceof N){var t=arguments[0];return this.covers(t.x,t.y)}else if(arguments[0]instanceof X){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}},X.prototype.intersects=function(){if(arguments.length===1){if(arguments[0]instanceof X){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 N){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)}},X.prototype.getMinY=function(){return this._miny},X.prototype.getMinX=function(){return this._minx},X.prototype.expandToInclude=function(){if(arguments.length===1){if(arguments[0]instanceof N){var t=arguments[0];this.expandToInclude(t.x,t.y)}else if(arguments[0]instanceof X){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))}},X.prototype.minExtent=function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t<e?t:e},X.prototype.getWidth=function(){return this.isNull()?0:this._maxx-this._minx},X.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},X.prototype.translate=function(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)},X.prototype.toString=function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"},X.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},X.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},X.prototype.maxExtent=function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e},X.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()}},X.prototype.contains=function(){if(arguments.length===1){if(arguments[0]instanceof X){var t=arguments[0];return this.covers(t)}else if(arguments[0]instanceof N){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)}},X.prototype.centre=function(){return this.isNull()?null:new N((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},X.prototype.init=function(){if(arguments.length===0)this.setToNull();else if(arguments.length===1){if(arguments[0]instanceof N){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof X){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)}},X.prototype.getMaxY=function(){return this._maxy},X.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)},X.prototype.hashCode=function(){var t=17;return t=37*t+N.hashCode(this._minx),t=37*t+N.hashCode(this._maxx),t=37*t+N.hashCode(this._miny),t=37*t+N.hashCode(this._maxy),t},X.prototype.interfaces_=function(){return[sr,or]},X.prototype.getClass=function(){return X},X.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)}},Pd.serialVersionUID.get=function(){return 5873921885273102e3},Object.defineProperties(X,Pd);var Mr={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*$/},Pu=function(t){this.geometryFactory=t||new ut};Pu.prototype.read=function(t){var e,r,i;t=t.replace(/[\n\r]/g," ");var s=Mr.typeStr.exec(t);if(t.search("EMPTY")!==-1&&(s=Mr.emptyTypeStr.exec(t),s[2]=void 0),s&&(r=s[1].toLowerCase(),i=s[2],so[r]&&(e=so[r].apply(this,[i]))),e===void 0)throw new Error("Could not parse WKT "+t);return e},Pu.prototype.write=function(t){return this.extractGeometry(t)},Pu.prototype.extractGeometry=function(t){var e=t.getGeometryType().toLowerCase();if(!Dn[e])return null;var r=e.toUpperCase(),i;return t.isEmpty()?i=r+" EMPTY":i=r+"("+Dn[e].apply(this,[t])+")",i};var Dn={coordinate:function(t){return t.x+" "+t.y},point:function(t){return Dn.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("("+Dn.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(Dn.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(Dn.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("("+Dn.linestring.apply(e,[t._geometries[i]])+")");return r.join(",")},polygon:function(t){var e=this,r=[];r.push("("+Dn.linestring.apply(this,[t._shell])+")");for(var i=0,s=t._holes.length;i<s;++i)r.push("("+Dn.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("("+Dn.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(",")}},so={point:function(t){if(t===void 0)return this.geometryFactory.createPoint();var e=t.trim().split(Mr.spaces);return this.geometryFactory.createPoint(new N(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(Mr.trimParens,"$1"),s.push(so.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(Mr.spaces),r.push(new N(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(Mr.spaces),r.push(new N(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(Mr.parenComma),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(Mr.trimParens,"$1"),s.push(so.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(Mr.parenComma),a,u=[],l=0,c=o.length;l<c;++l)r=o[l].replace(Mr.trimParens,"$1"),i=so.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(Mr.doubleParenComma),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(Mr.trimParens,"$1"),s.push(so.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)}},yr=function(t){this.parser=new Pu(t)};yr.prototype.write=function(t){return this.parser.write(t)},yr.toLineString=function(t,e){if(arguments.length!==2)throw new Error("Not implemented");return"LINESTRING ( "+t.x+" "+t.y+", "+e.x+" "+e.y+" )"};var Ln=(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),bu=(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})(Ln),st=function(){};st.prototype.interfaces_=function(){return[]},st.prototype.getClass=function(){return st},st.shouldNeverReachHere=function(){if(arguments.length===0)st.shouldNeverReachHere(null);else if(arguments.length===1){var t=arguments[0];throw new bu("Should never reach here"+(t!==null?": "+t:""))}},st.isTrue=function(){var t,e;if(arguments.length===1)t=arguments[0],st.isTrue(t,null);else if(arguments.length===2&&(t=arguments[0],e=arguments[1],!t))throw e===null?new bu:new bu(e)},st.equals=function(){var t,e,r;if(arguments.length===2)t=arguments[0],e=arguments[1],st.equals(t,e,null);else if(arguments.length===3&&(t=arguments[0],e=arguments[1],r=arguments[2],!e.equals(t)))throw new bu("Expected "+t+" but encountered "+e+(r!==null?": "+r:""))};var Mt=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 N,this._intPt[1]=new N,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},ls={DONT_INTERSECT:{configurable:!0},DO_INTERSECT:{configurable:!0},COLLINEAR:{configurable:!0},NO_INTERSECTION:{configurable:!0},POINT_INTERSECTION:{configurable:!0},COLLINEAR_INTERSECTION:{configurable:!0}};Mt.prototype.getIndexAlongSegment=function(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]},Mt.prototype.getTopologySummary=function(){var t=new xr;return this.isEndPoint()&&t.append(" endpoint"),this._isProper&&t.append(" proper"),this.isCollinear()&&t.append(" collinear"),t.toString()},Mt.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)},Mt.prototype.getIntersectionNum=function(){return this._result},Mt.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)}},Mt.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},Mt.prototype.setPrecisionModel=function(t){this._precisionModel=t},Mt.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}},Mt.prototype.getIntersection=function(t){return this._intPt[t]},Mt.prototype.isEndPoint=function(){return this.hasIntersection()&&!this._isProper},Mt.prototype.hasIntersection=function(){return this._result!==Mt.NO_INTERSECTION},Mt.prototype.getEdgeDistance=function(t,e){var r=Mt.computeEdgeDistance(this._intPt[e],this._inputLines[t][0],this._inputLines[t][1]);return r},Mt.prototype.isCollinear=function(){return this._result===Mt.COLLINEAR_INTERSECTION},Mt.prototype.toString=function(){return yr.toLineString(this._inputLines[0][0],this._inputLines[0][1])+" - "+yr.toLineString(this._inputLines[1][0],this._inputLines[1][1])+this.getTopologySummary()},Mt.prototype.getEndpoint=function(t,e){return this._inputLines[t][e]},Mt.prototype.isIntersection=function(t){for(var e=this,r=0;r<this._result;r++)if(e._intPt[r].equals2D(t))return!0;return!1},Mt.prototype.getIntersectionAlongSegment=function(t,e){return this.computeIntLineIndex(),this._intPt[this._intLineIndex[t][e]]},Mt.prototype.interfaces_=function(){return[]},Mt.prototype.getClass=function(){return Mt},Mt.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 st.isTrue(!(o===0&&!t.equals(e)),"Bad distance calculation"),o},Mt.nonRobustComputeEdgeDistance=function(t,e,r){var i=t.x-e.x,s=t.y-e.y,o=Math.sqrt(i*i+s*s);return st.isTrue(!(o===0&&!t.equals(e)),"Invalid distance calculation"),o},ls.DONT_INTERSECT.get=function(){return 0},ls.DO_INTERSECT.get=function(){return 1},ls.COLLINEAR.get=function(){return 2},ls.NO_INTERSECTION.get=function(){return 0},ls.POINT_INTERSECTION.get=function(){return 1},ls.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(Mt,ls);var Ni=(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 X(this._inputLines[0][0],this._inputLines[0][1]),s=new X(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,X.intersects(i,s,r)&&G.orientationIndex(i,s,r)===0&&G.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=vr.intersection(r,i,s,o)}catch(u){if(u instanceof io)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 N(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=Te.intersection(r,i,s,o),l=this.isInSegmentEnvelopes(u);ne.out.println("DD in env = "+l+" --------------------- "+u),a.distance(u)>1e-4&&ne.out.println("Distance = "+a.distance(u))},t.prototype.intersectionWithNormalization=function(r,i,s,o){var a=new N(r),u=new N(i),l=new N(s),c=new N(o),h=new N;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=X.intersects(r,i,s),u=X.intersects(r,i,o),l=X.intersects(s,o,r),c=X.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,v=s.x>o.x?s.x:o.x,E=s.y>o.y?s.y:o.y,C=u>d?u:d,b=c<v?c:v,m=l>g?l:g,y=h<E?h:E,_=(C+b)/2,S=(m+y)/2;a.x=_,a.y=S,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,!X.intersects(r,i,s,o))return n.NO_INTERSECTION;var a=G.orientationIndex(r,i,s),u=G.orientationIndex(r,i,o);if(a>0&&u>0||a<0&&u<0)return n.NO_INTERSECTION;var l=G.orientationIndex(s,o,r),c=G.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 N(s):u===0?this._intPt[0]=new N(o):l===0?this._intPt[0]=new N(r):c===0&&(this._intPt[0]=new N(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=G.distancePointLine(r,s,o),l=G.distancePointLine(i,s,o);return l<u&&(u=l,a=i),l=G.distancePointLine(s,r,i),l<u&&(u=l,a=s),l=G.distancePointLine(o,r,i),l<u&&(u=l,a=o),a},t})(Mt),cs=function(){};cs.prototype.interfaces_=function(){return[]},cs.prototype.getClass=function(){return cs},cs.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 cs.signOfDet2x2(i,s,o,a)},cs.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 Dr=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var t=arguments[0];this._p=t};Dr.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=cs.signOfDet2x2(s,o,a,u);if(l===0)return this._isPointOnSegment=!0,null;u<o&&(l=-l),l>0&&this._crossingCount++}},Dr.prototype.isPointInPolygon=function(){return this.getLocation()!==O.EXTERIOR},Dr.prototype.getLocation=function(){return this._isPointOnSegment?O.BOUNDARY:this._crossingCount%2===1?O.INTERIOR:O.EXTERIOR},Dr.prototype.isOnSegment=function(){return this._isPointOnSegment},Dr.prototype.interfaces_=function(){return[]},Dr.prototype.getClass=function(){return Dr},Dr.locatePointInRing=function(){if(arguments[0]instanceof N&&Q(arguments[1],ft)){for(var t=arguments[0],e=arguments[1],r=new Dr(t),i=new N,s=new N,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 N&&arguments[1]instanceof Array){for(var a=arguments[0],u=arguments[1],l=new Dr(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 G=function(){},hs={CLOCKWISE:{configurable:!0},RIGHT:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},LEFT:{configurable:!0},COLLINEAR:{configurable:!0},STRAIGHT:{configurable:!0}};G.prototype.interfaces_=function(){return[]},G.prototype.getClass=function(){return G},G.orientationIndex=function(t,e,r){return Te.orientationIndex(t,e,r)},G.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(Q(arguments[0],ft)){var u=arguments[0],l=u.size();if(l<3)return 0;var c=new N,h=new N,d=new N;u.getCoordinate(0,h),u.getCoordinate(1,d);var g=h.x;d.x-=g;for(var v=0,E=1;E<l-1;E++)c.y=h.y,h.x=d.x,h.y=d.y,u.getCoordinate(E+1,d),d.x-=g,v+=h.x*(c.y-d.y);return v/2}},G.distanceLineLine=function(t,e,r,i){if(t.equals(e))return G.distancePointLine(t,r,i);if(r.equals(i))return G.distancePointLine(i,t,e);var s=!1;if(!X.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?Ke.min(G.distancePointLine(t,r,i),G.distancePointLine(e,r,i),G.distancePointLine(r,t,e),G.distancePointLine(i,t,e)):0},G.isPointInRing=function(t,e){return G.locatePointInRing(t,e)!==O.EXTERIOR},G.computeLength=function(t){var e=t.size();if(e<=1)return 0;var r=0,i=new N;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},G.isCCW=function(t){var e=t.length-1;if(e<3)throw new xt("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=G.computeOrientation(l,r,c),d=!1;return h===0?d=l.x>c.x:d=h>0,d},G.locatePointInRing=function(t,e){return Dr.locatePointInRing(t,e)},G.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)},G.computeOrientation=function(t,e,r){return G.orientationIndex(t,e,r)},G.distancePointLine=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1];if(e.length===0)throw new xt("Line array must contain at least one vertex");for(var r=t.distance(e[0]),i=0;i<e.length-1;i++){var s=G.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)}},G.isOnLine=function(t,e){for(var r=new Ni,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},hs.CLOCKWISE.get=function(){return-1},hs.RIGHT.get=function(){return G.CLOCKWISE},hs.COUNTERCLOCKWISE.get=function(){return 1},hs.LEFT.get=function(){return G.COUNTERCLOCKWISE},hs.COLLINEAR.get=function(){return 0},hs.STRAIGHT.get=function(){return G.COLLINEAR},Object.defineProperties(G,hs);var An=function(){};An.prototype.filter=function(t){},An.prototype.interfaces_=function(){return[]},An.prototype.getClass=function(){return An};var K=function(){var t=arguments[0];this._envelope=null,this._factory=null,this._SRID=null,this._userData=null,this._factory=t,this._SRID=t.getSRID()},ln={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}};K.prototype.isGeometryCollection=function(){return this.getSortIndex()===K.SORTINDEX_GEOMETRYCOLLECTION},K.prototype.getFactory=function(){return this._factory},K.prototype.getGeometryN=function(t){return this},K.prototype.getArea=function(){return 0},K.prototype.isRectangle=function(){return!1},K.prototype.equals=function(){if(arguments[0]instanceof K){var t=arguments[0];return t===null?!1:this.equalsTopo(t)}else if(arguments[0]instanceof Object){var e=arguments[0];if(!(e instanceof K))return!1;var r=e;return this.equalsExact(r)}},K.prototype.equalsExact=function(t){return this===t||this.equalsExact(t,0)},K.prototype.geometryChanged=function(){this.apply(K.geometryChangedFilter)},K.prototype.geometryChangedAction=function(){this._envelope=null},K.prototype.equalsNorm=function(t){return t===null?!1:this.norm().equalsExact(t.norm())},K.prototype.getLength=function(){return 0},K.prototype.getNumGeometries=function(){return 1},K.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)}},K.prototype.getUserData=function(){return this._userData},K.prototype.getSRID=function(){return this._SRID},K.prototype.getEnvelope=function(){return this.getFactory().toGeometry(this.getEnvelopeInternal())},K.prototype.checkNotGeometryCollection=function(t){if(t.getSortIndex()===K.SORTINDEX_GEOMETRYCOLLECTION)throw new xt("This method does not support GeometryCollection arguments")},K.prototype.equal=function(t,e,r){return r===0?t.equals(e):t.distance(e)<=r},K.prototype.norm=function(){var t=this.copy();return t.normalize(),t},K.prototype.getPrecisionModel=function(){return this._factory.getPrecisionModel()},K.prototype.getEnvelopeInternal=function(){return this._envelope===null&&(this._envelope=this.computeEnvelopeInternal()),new X(this._envelope)},K.prototype.setSRID=function(t){this._SRID=t},K.prototype.setUserData=function(t){this._userData=t},K.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},K.prototype.hashCode=function(){return this.getEnvelopeInternal().hashCode()},K.prototype.isGeometryCollectionOrDerived=function(){return this.getSortIndex()===K.SORTINDEX_GEOMETRYCOLLECTION||this.getSortIndex()===K.SORTINDEX_MULTIPOINT||this.getSortIndex()===K.SORTINDEX_MULTILINESTRING||this.getSortIndex()===K.SORTINDEX_MULTIPOLYGON},K.prototype.interfaces_=function(){return[Iu,sr,or]},K.prototype.getClass=function(){return K},K.hasNonEmptyElements=function(t){for(var e=0;e<t.length;e++)if(!t[e].isEmpty())return!0;return!1},K.hasNullElements=function(t){for(var e=0;e<t.length;e++)if(t[e]===null)return!0;return!1},ln.serialVersionUID.get=function(){return 8763622679187377e3},ln.SORTINDEX_POINT.get=function(){return 0},ln.SORTINDEX_MULTIPOINT.get=function(){return 1},ln.SORTINDEX_LINESTRING.get=function(){return 2},ln.SORTINDEX_LINEARRING.get=function(){return 3},ln.SORTINDEX_MULTILINESTRING.get=function(){return 4},ln.SORTINDEX_POLYGON.get=function(){return 5},ln.SORTINDEX_MULTIPOLYGON.get=function(){return 6},ln.SORTINDEX_GEOMETRYCOLLECTION.get=function(){return 7},ln.geometryChangedFilter.get=function(){return Ql},Object.defineProperties(K,ln);var Ql=function(){};Ql.interfaces_=function(){return[An]},Ql.filter=function(t){t.geometryChangedAction()};var cn=function(){};cn.prototype.filter=function(t){},cn.prototype.interfaces_=function(){return[]},cn.prototype.getClass=function(){return cn};var ar=function(){},Rn={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}};ar.prototype.isInBoundary=function(t){},ar.prototype.interfaces_=function(){return[]},ar.prototype.getClass=function(){return ar},Rn.Mod2BoundaryNodeRule.get=function(){return oo},Rn.EndPointBoundaryNodeRule.get=function(){return ao},Rn.MultiValentEndPointBoundaryNodeRule.get=function(){return uo},Rn.MonoValentEndPointBoundaryNodeRule.get=function(){return lo},Rn.MOD2_BOUNDARY_RULE.get=function(){return new oo},Rn.ENDPOINT_BOUNDARY_RULE.get=function(){return new ao},Rn.MULTIVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new uo},Rn.MONOVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new lo},Rn.OGC_SFS_BOUNDARY_RULE.get=function(){return ar.MOD2_BOUNDARY_RULE},Object.defineProperties(ar,Rn);var oo=function(){};oo.prototype.isInBoundary=function(t){return t%2===1},oo.prototype.interfaces_=function(){return[ar]},oo.prototype.getClass=function(){return oo};var ao=function(){};ao.prototype.isInBoundary=function(t){return t>0},ao.prototype.interfaces_=function(){return[ar]},ao.prototype.getClass=function(){return ao};var uo=function(){};uo.prototype.isInBoundary=function(t){return t>1},uo.prototype.interfaces_=function(){return[ar]},uo.prototype.getClass=function(){return uo};var lo=function(){};lo.prototype.isInBoundary=function(t){return t===1},lo.prototype.interfaces_=function(){return[ar]},lo.prototype.getClass=function(){return lo};var Ht=function(){};Ht.prototype.add=function(){},Ht.prototype.addAll=function(){},Ht.prototype.isEmpty=function(){},Ht.prototype.iterator=function(){},Ht.prototype.size=function(){},Ht.prototype.toArray=function(){},Ht.prototype.remove=function(){};function $l(n){this.message=n||""}$l.prototype=new Error,$l.prototype.name="IndexOutOfBoundsException";var co=function(){};co.prototype.hasNext=function(){},co.prototype.next=function(){},co.prototype.remove=function(){};var _r=(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})(Ht);function ho(n){this.message=n||""}ho.prototype=new Error,ho.prototype.name="NoSuchElementException";var U=(function(n){function t(){n.call(this),this.array_=[],arguments[0]instanceof Ht&&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,Ht]},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 Ey(this)},t.prototype.get=function(r){if(r<0||r>=this.size())throw new $l;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})(_r),Ey=(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 ho;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})(co),Ta=(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 N&&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],v=arguments[1],E=arguments[2];if(E)for(var C=0;C<g.length;C++)i.add(g[C],v);else for(var b=g.length-1;b>=0;b--)i.add(g[b],v);return!0}else if(typeof arguments[2]=="boolean"&&Number.isInteger(arguments[0])&&arguments[1]instanceof N){var m=arguments[0],y=arguments[1],_=arguments[2];if(!_){var S=this.size();if(S>0){if(m>0){var I=this.get(m-1);if(I.equals2D(y))return null}if(m<S){var P=this.get(m);if(P.equals2D(y))return null}}}n.prototype.add.call(this,m,y)}}else if(arguments.length===4){var M=arguments[0],R=arguments[1],k=arguments[2],x=arguments[3],A=1;k>x&&(A=-1);for(var L=k;L!==x;L+=A)i.add(M[L],R);return!0}},t.prototype.closeRing=function(){this.size()>0&&this.add(new N(this.get(0)),!1)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},Object.defineProperties(t,e),t})(U),at=function(){},Nu={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};Nu.ForwardComparator.get=function(){return xa},Nu.BidirectionalComparator.get=function(){return fo},Nu.coordArrayType.get=function(){return new Array(0).fill(null)},at.prototype.interfaces_=function(){return[]},at.prototype.getClass=function(){return at},at.isRing=function(t){return!(t.length<4||!t[0].equals2D(t[t.length-1]))},at.ptNotInList=function(t,e){for(var r=0;r<t.length;r++){var i=t[r];if(at.indexOf(i,e)<0)return i}return null},at.scroll=function(t,e){var r=at.indexOf(e,t);if(r<0)return null;var i=new Array(t.length).fill(null);ne.arraycopy(t,r,i,0,t.length-r),ne.arraycopy(t,0,i,t.length-r,r),ne.arraycopy(i,0,t,0,t.length)},at.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}},at.intersection=function(t,e){for(var r=new Ta,i=0;i<t.length;i++)e.intersects(t[i])&&r.add(t[i],!0);return r.toCoordinateArray()},at.hasRepeatedPoints=function(t){for(var e=1;e<t.length;e++)if(t[e-1].equals(t[e]))return!0;return!1},at.removeRepeatedPoints=function(t){if(!at.hasRepeatedPoints(t))return t;var e=new Ta(t,!1);return e.toCoordinateArray()},at.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}},at.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},at.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 N(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 N(i[s+l])},at.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},at.envelope=function(t){for(var e=new X,r=0;r<t.length;r++)e.expandToInclude(t[r]);return e},at.toCoordinateArray=function(t){return t.toArray(at.coordArrayType)},at.atLeastNCoordinatesOrNothing=function(t,e){return e.length>=t?e:[]},at.indexOf=function(t,e){for(var r=0;r<e.length;r++)if(t.equals(e[r]))return r;return-1},at.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},at.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},at.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},at.extract=function(t,e,r){e=Ke.clamp(e,0,t.length),r=Ke.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(at,Nu);var xa=function(){};xa.prototype.compare=function(t,e){var r=t,i=e;return at.compare(r,i)},xa.prototype.interfaces_=function(){return[ro]},xa.prototype.getClass=function(){return xa};var fo=function(){};fo.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=at.compare(r,i),o=at.isEqualReversed(r,i);return o?0:s},fo.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=at.increasingDirection(r),o=at.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},fo.prototype.interfaces_=function(){return[ro]},fo.prototype.getClass=function(){return fo};var fs=function(){};fs.prototype.get=function(){},fs.prototype.put=function(){},fs.prototype.size=function(){},fs.prototype.values=function(){},fs.prototype.entrySet=function(){};var Sy=(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})(fs);function Oa(n){this.message=n||""}Oa.prototype=new Error,Oa.prototype.name="OperationNotSupported";function Tu(){}Tu.prototype=new Ht,Tu.prototype.contains=function(){};var tc=(function(n){function t(){n.call(this),this.array_=[],arguments[0]instanceof Ht&&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 Cy(this)},t})(Tu),Cy=(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 ho;return this.hashSet_.array_[this.position_++]},t.prototype.hasNext=function(){return this.position_<this.hashSet_.size()},t.prototype.remove=function(){throw new Oa},t})(co),Fn=0,Ti=1;function bd(n){return n===null?Fn:n.color}function It(n){return n===null?null:n.parent}function kn(n,t){n!==null&&(n.color=t)}function ec(n){return n===null?null:n.left}function Nd(n){return n===null?null:n.right}function he(){this.root_=null,this.size_=0}he.prototype=new Sy,he.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},he.prototype.put=function(n,t){if(this.root_===null)return this.root_={key:n,value:t,left:null,right:null,parent:null,color:Fn,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:Fn,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},he.prototype.fixAfterInsertion=function(n){var t=this;for(n.color=Ti;n!=null&&n!==this.root_&&n.parent.color===Ti;)if(It(n)===ec(It(It(n)))){var e=Nd(It(It(n)));bd(e)===Ti?(kn(It(n),Fn),kn(e,Fn),kn(It(It(n)),Ti),n=It(It(n))):(n===Nd(It(n))&&(n=It(n),t.rotateLeft(n)),kn(It(n),Fn),kn(It(It(n)),Ti),t.rotateRight(It(It(n))))}else{var r=ec(It(It(n)));bd(r)===Ti?(kn(It(n),Fn),kn(r,Fn),kn(It(It(n)),Ti),n=It(It(n))):(n===ec(It(n))&&(n=It(n),t.rotateRight(n)),kn(It(n),Fn),kn(It(It(n)),Ti),t.rotateLeft(It(It(n))))}this.root_.color=Fn},he.prototype.values=function(){var n=new U,t=this.getFirstEntry();if(t!==null)for(n.add(t.value);(t=he.successor(t))!==null;)n.add(t.value);return n},he.prototype.entrySet=function(){var n=new tc,t=this.getFirstEntry();if(t!==null)for(n.add(t);(t=he.successor(t))!==null;)n.add(t);return n},he.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}},he.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}},he.prototype.getFirstEntry=function(){var n=this.root_;if(n!=null)for(;n.left!=null;)n=n.left;return n},he.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}},he.prototype.size=function(){return this.size_};var Ma=function(){};Ma.prototype.interfaces_=function(){return[]},Ma.prototype.getClass=function(){return Ma};function Td(){}Td.prototype=new Tu;function Lr(){this.array_=[],arguments[0]instanceof Ht&&this.addAll(arguments[0])}Lr.prototype=new Td,Lr.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},Lr.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},Lr.prototype.addAll=function(n){for(var t=this,e=n.iterator();e.hasNext();)t.add(e.next());return!0},Lr.prototype.remove=function(n){throw new Oa},Lr.prototype.size=function(){return this.array_.length},Lr.prototype.isEmpty=function(){return this.array_.length===0},Lr.prototype.toArray=function(){for(var n=this,t=[],e=0,r=this.array_.length;e<r;e++)t.push(n.array_[e]);return t},Lr.prototype.iterator=function(){return new xu(this)};var xu=function(n){this.treeSet_=n,this.position_=0};xu.prototype.next=function(){if(this.position_===this.treeSet_.size())throw new ho;return this.treeSet_.array_[this.position_++]},xu.prototype.hasNext=function(){return this.position_<this.treeSet_.size()},xu.prototype.remove=function(){throw new Oa};var xi=function(){};xi.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])},xi.asList=function(t){for(var e=new U,r=0,i=t.length;r<i;r++)e.add(t[r]);return e};var vt=function(){},wr={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}};wr.P.get=function(){return 0},wr.L.get=function(){return 1},wr.A.get=function(){return 2},wr.FALSE.get=function(){return-1},wr.TRUE.get=function(){return-2},wr.DONTCARE.get=function(){return-3},wr.SYM_FALSE.get=function(){return"F"},wr.SYM_TRUE.get=function(){return"T"},wr.SYM_DONTCARE.get=function(){return"*"},wr.SYM_P.get=function(){return"0"},wr.SYM_L.get=function(){return"1"},wr.SYM_A.get=function(){return"2"},vt.prototype.interfaces_=function(){return[]},vt.prototype.getClass=function(){return vt},vt.toDimensionSymbol=function(t){switch(t){case vt.FALSE:return vt.SYM_FALSE;case vt.TRUE:return vt.SYM_TRUE;case vt.DONTCARE:return vt.SYM_DONTCARE;case vt.P:return vt.SYM_P;case vt.L:return vt.SYM_L;case vt.A:return vt.SYM_A}throw new xt("Unknown dimension value: "+t)},vt.toDimensionValue=function(t){switch(ba.toUpperCase(t)){case vt.SYM_FALSE:return vt.FALSE;case vt.SYM_TRUE:return vt.TRUE;case vt.SYM_DONTCARE:return vt.DONTCARE;case vt.SYM_P:return vt.P;case vt.SYM_L:return vt.L;case vt.SYM_A:return vt.A}throw new xt("Unknown dimension symbol: "+t)},Object.defineProperties(vt,wr);var Ar=function(){};Ar.prototype.filter=function(t){},Ar.prototype.interfaces_=function(){return[]},Ar.prototype.getClass=function(){return Ar};var Er=function(){};Er.prototype.filter=function(t,e){},Er.prototype.isDone=function(){},Er.prototype.isGeometryChanged=function(){},Er.prototype.interfaces_=function(){return[]},Er.prototype.getClass=function(){return Er};var me=(function(n){function t(r,i){if(n.call(this,i),this._geometries=r||[],n.hasNullElements(this._geometries))throw new xt("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 X,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();xi.sort(this._geometries)},t.prototype.getCoordinate=function(){return this.isEmpty()?null:this._geometries[0].getCoordinate()},t.prototype.getBoundaryDimension=function(){for(var i=this,s=vt.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=vt.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 Lr(xi.asList(this._geometries)),a=new Lr(xi.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 v=i.getGeometryN(g),E=c.getGeometryN(g),C=v.compareToSameClass(E,l);if(C!==0)return C;g++}return g<h?1:g<d?-1:0}},t.prototype.apply=function(){var i=this;if(Q(arguments[0],cn))for(var s=arguments[0],o=0;o<this._geometries.length;o++)i._geometries[o].apply(s);else if(Q(arguments[0],Er)){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(Q(arguments[0],Ar)){var l=arguments[0];l.filter(this);for(var c=0;c<this._geometries.length;c++)i._geometries[c].apply(l)}else if(Q(arguments[0],An)){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),st.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})(K),Oi=(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 K.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()?vt.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 ur(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[Ma]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return 8166665132445434e3},Object.defineProperties(t,e),t})(me),ur=function(){if(this._geom=null,this._geomFact=null,this._bnRule=null,this._endpointMap=null,arguments.length===1){var t=arguments[0],e=ar.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}};ur.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)},ur.prototype.getBoundary=function(){return this._geom instanceof Rt?this.boundaryLineString(this._geom):this._geom instanceof Oi?this.boundaryMultiLineString(this._geom):this._geom.getBoundary()},ur.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()])},ur.prototype.getEmptyMultiPoint=function(){return this._geomFact.createMultiPoint()},ur.prototype.computeBoundaryCoordinates=function(t){var e=this,r=new U;this._endpointMap=new he;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 at.toCoordinateArray(r)},ur.prototype.addEndpoint=function(t){var e=this._endpointMap.get(t);e===null&&(e=new Ou,this._endpointMap.put(t,e)),e.count++},ur.prototype.interfaces_=function(){return[]},ur.prototype.getClass=function(){return ur},ur.getBoundary=function(){if(arguments.length===1){var t=arguments[0],e=new ur(t);return e.getBoundary()}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=new ur(r,i);return s.getBoundary()}};var Ou=function(){this.count=null};Ou.prototype.interfaces_=function(){return[]},Ou.prototype.getClass=function(){return Ou};function Iy(){}function Py(){}var by=function(){};function Ny(){}function Ty(){}function xy(){}var lr=function(){},rc={NEWLINE:{configurable:!0},SIMPLE_ORDINATE_FORMAT:{configurable:!0}};lr.prototype.interfaces_=function(){return[]},lr.prototype.getClass=function(){return lr},lr.chars=function(t,e){for(var r=new Array(e).fill(null),i=0;i<e;i++)r[i]=t;return String(r)},lr.getStackTrace=function(){if(arguments.length===1){var t=arguments[0],e=new Ny,r=new Iy;return t.printStackTrace(r),e.toString()}else if(arguments.length===2){var i=arguments[0],s=arguments[1],o="";new Py(lr.getStackTrace(i));for(var a=new xy,u=0;u<s;u++)try{o+=a.readLine()+lr.NEWLINE}catch(l){if(l instanceof Ty)st.shouldNeverReachHere();else throw l}finally{}return o}},lr.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},lr.toString=function(){if(arguments.length===1){var t=arguments[0];return lr.SIMPLE_ORDINATE_FORMAT.format(t)}},lr.spaces=function(t){return lr.chars(" ",t)},rc.NEWLINE.get=function(){return ne.getProperty("line.separator")},rc.SIMPLE_ORDINATE_FORMAT.get=function(){return new by},Object.defineProperties(lr,rc);var zt=function(){};zt.prototype.interfaces_=function(){return[]},zt.prototype.getClass=function(){return zt},zt.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))},zt.isRing=function(t){var e=t.size();return e===0?!0:e<=3?!1:t.getOrdinate(0,ft.X)===t.getOrdinate(e-1,ft.X)&&t.getOrdinate(0,ft.Y)===t.getOrdinate(e-1,ft.Y)},zt.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)&&!(rt.isNaN(u)&&rt.isNaN(l)))return!1}return!0},zt.extend=function(t,e,r){var i=t.create(r,e.getDimension()),s=e.size();if(zt.copy(e,0,i,0,s),s>0)for(var o=s;o<r;o++)zt.copy(e,s-1,i,o,1);return i},zt.reverse=function(t){for(var e=t.size()-1,r=Math.trunc(e/2),i=0;i<=r;i++)zt.swap(t,i,e-i)},zt.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)}},zt.copy=function(t,e,r,i,s){for(var o=0;o<s;o++)zt.copyCoord(t,e+o,r,i+o)},zt.toString=function(){if(arguments.length===1){var t=arguments[0],e=t.size();if(e===0)return"()";var r=t.getDimension(),i=new xr;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(lr.toString(t.getOrdinate(s,o)))}return i.append(")"),i.toString()}},zt.ensureValidRing=function(t,e){var r=e.size();if(r===0)return e;if(r<=3)return zt.createClosedRing(t,e,4);var i=e.getOrdinate(0,ft.X)===e.getOrdinate(r-1,ft.X)&&e.getOrdinate(0,ft.Y)===e.getOrdinate(r-1,ft.Y);return i?e:zt.createClosedRing(t,e,r+1)},zt.createClosedRing=function(t,e,r){var i=t.create(r,e.getDimension()),s=e.size();zt.copy(e,0,i,0,s);for(var o=s;o<r;o++)zt.copy(e,0,i,o,1);return i};var Rt=(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 X:this._points.expandEnvelope(new X)},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&&zt.reverse(i._points),null}},t.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},t.prototype.getBoundaryDimension=function(){return this.isClosed()?vt.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 G.computeLength(this._points)},t.prototype.getNumPoints=function(){return this._points.size()},t.prototype.reverse=function(){var i=this._points.copy();zt.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(Q(arguments[0],cn))for(var s=arguments[0],o=0;o<this._points.size();o++)s.filter(i._points.getCoordinate(o));else if(Q(arguments[0],Er)){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(Q(arguments[0],Ar)){var l=arguments[0];l.filter(this)}else if(Q(arguments[0],An)){var c=arguments[0];c.filter(this)}},t.prototype.getBoundary=function(){return new ur(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 xt("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[Ma]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return 0x2b2b51ba435c8e00},Object.defineProperties(t,e),t})(K),Da=function(){};Da.prototype.interfaces_=function(){return[]},Da.prototype.getClass=function(){return Da};var Ve=(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 X;var i=new X;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 vt.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(Q(arguments[0],cn)){var i=arguments[0];if(this.isEmpty())return null;i.filter(this.getCoordinate())}else if(Q(arguments[0],Er)){var s=arguments[0];if(this.isEmpty())return null;s.filter(this._coordinates,0),s.isGeometryChanged()&&this.geometryChanged()}else if(Q(arguments[0],Ar)){var o=arguments[0];o.filter(this)}else if(Q(arguments[0],An)){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([])),st.isTrue(i.size()<=1),this._coordinates=i},t.prototype.isSimple=function(){return!0},t.prototype.interfaces_=function(){return[Da]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return 4902022702746615e3},Object.defineProperties(t,e),t})(K),oi=function(){};oi.prototype.interfaces_=function(){return[]},oi.prototype.getClass=function(){return oi};var Bt=(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 xt("holes must not contain null elements");if(r.isEmpty()&&n.hasNonEmptyElements(i))throw new xt("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(G.signedArea(this._shell.getCoordinateSequence()));for(var o=0;o<this._holes.length;o++)s-=Math.abs(G.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),v=d!==l,E=g!==c;if(v===E)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);xi.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);ne.arraycopy(o.getCoordinates(),0,u,0,u.length);var l=at.minCoordinate(o.getCoordinates());at.scroll(u,l),ne.arraycopy(u,0,o.getCoordinates(),0,u.length),o.getCoordinates()[u.length]=u[0],G.isCCW(o.getCoordinates())===a&&at.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 v=this.getNumInteriorRing(),E=c.getNumInteriorRing(),C=0;C<v&&C<E;){var b=i.getInteriorRingN(C),m=c.getInteriorRingN(C),y=b.compareToSameClass(m,l);if(y!==0)return y;C++}return C<v?1:C<E?-1:0}},t.prototype.apply=function(i){var s=this;if(Q(i,cn)){this._shell.apply(i);for(var o=0;o<this._holes.length;o++)s._holes[o].apply(i)}else if(Q(i,Er)){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(Q(i,Ar))i.filter(this);else if(Q(i,An)){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[oi]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return-0x307ffefd8dc97200},Object.defineProperties(t,e),t})(K),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 K.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 vt.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[Da]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return-8048474874175356e3},Object.defineProperties(t,e),t})(me),hn=(function(n){function t(r,i){r instanceof N&&i instanceof ut&&(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 K.SORTINDEX_LINEARRING},t.prototype.getBoundaryDimension=function(){return vt.FALSE},t.prototype.isClosed=function(){return this.isEmpty()?!0:n.prototype.isClosed.call(this)},t.prototype.reverse=function(){var i=this._points.copy();zt.reverse(i);var s=this.getFactory().createLinearRing(i);return s},t.prototype.validateConstruction=function(){if(!this.isEmpty()&&!n.prototype.isClosed.call(this))throw new xt("Points of LinearRing do not form a closed linestring");if(this.getCoordinateSequence().size()>=1&&this.getCoordinateSequence().size()<t.MINIMUM_VALID_SIZE)throw new xt("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})(Rt),fn=(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 K.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[oi]},t.prototype.getClass=function(){return t},e.serialVersionUID.get=function(){return-0x7a5aa1369171980},Object.defineProperties(t,e),t})(me),cr=function(t){this._factory=t||null,this._isUserDataCopied=!1},Mu={NoOpGeometryOperation:{configurable:!0},CoordinateOperation:{configurable:!0},CoordinateSequenceOperation:{configurable:!0}};cr.prototype.setCopyUserData=function(t){this._isUserDataCopied=t},cr.prototype.edit=function(t,e){if(t===null)return null;var r=this.editInternal(t,e);return this._isUserDataCopied&&r.setUserData(t.getUserData()),r},cr.prototype.editInternal=function(t,e){return this._factory===null&&(this._factory=t.getFactory()),t instanceof me?this.editGeometryCollection(t,e):t instanceof Bt?this.editPolygon(t,e):t instanceof Ve?e.edit(t,this._factory):t instanceof Rt?e.edit(t,this._factory):(st.shouldNeverReachHere("Unsupported Geometry class: "+t.getClass().getName()),null)},cr.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()===Oi?this._factory.createMultiLineString(s.toArray([])):i.getClass()===fn?this._factory.createMultiPolygon(s.toArray([])):this._factory.createGeometryCollection(s.toArray([]))},cr.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([]))},cr.prototype.interfaces_=function(){return[]},cr.prototype.getClass=function(){return cr},cr.GeometryEditorOperation=function(){},Mu.NoOpGeometryOperation.get=function(){return La},Mu.CoordinateOperation.get=function(){return Aa},Mu.CoordinateSequenceOperation.get=function(){return Ra},Object.defineProperties(cr,Mu);var La=function(){};La.prototype.edit=function(t,e){return t},La.prototype.interfaces_=function(){return[cr.GeometryEditorOperation]},La.prototype.getClass=function(){return La};var Aa=function(){};Aa.prototype.edit=function(t,e){var r=this.editCoordinates(t.getCoordinates(),t);return r===null?t:t instanceof hn?e.createLinearRing(r):t instanceof Rt?e.createLineString(r):t instanceof Ve?r.length>0?e.createPoint(r[0]):e.createPoint():t},Aa.prototype.interfaces_=function(){return[cr.GeometryEditorOperation]},Aa.prototype.getClass=function(){return Aa};var Ra=function(){};Ra.prototype.edit=function(t,e){return t instanceof hn?e.createLinearRing(this.edit(t.getCoordinateSequence(),t)):t instanceof Rt?e.createLineString(this.edit(t.getCoordinateSequence(),t)):t instanceof Ve?e.createPoint(this.edit(t.getCoordinateSequence(),t)):t},Ra.prototype.interfaces_=function(){return[cr.GeometryEditorOperation]},Ra.prototype.getClass=function(){return Ra};var Ut=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 N}else if(Q(arguments[0],ft)){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 N}}},xd={serialVersionUID:{configurable:!0}};Ut.prototype.setOrdinate=function(t,e,r){switch(e){case ft.X:this._coordinates[t].x=r;break;case ft.Y:this._coordinates[t].y=r;break;case ft.Z:this._coordinates[t].z=r;break;default:throw new xt("invalid ordinateIndex")}},Ut.prototype.size=function(){return this._coordinates.length},Ut.prototype.getOrdinate=function(t,e){switch(e){case ft.X:return this._coordinates[t].x;case ft.Y:return this._coordinates[t].y;case ft.Z:return this._coordinates[t].z}return rt.NaN},Ut.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}},Ut.prototype.getCoordinateCopy=function(t){return new N(this._coordinates[t])},Ut.prototype.getDimension=function(){return this._dimension},Ut.prototype.getX=function(t){return this._coordinates[t].x},Ut.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 Ut(e,this._dimension)},Ut.prototype.expandEnvelope=function(t){for(var e=this,r=0;r<this._coordinates.length;r++)t.expandToInclude(e._coordinates[r]);return t},Ut.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 Ut(e,this._dimension)},Ut.prototype.toString=function(){var t=this;if(this._coordinates.length>0){var e=new xr(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"()"},Ut.prototype.getY=function(t){return this._coordinates[t].y},Ut.prototype.toCoordinateArray=function(){return this._coordinates},Ut.prototype.interfaces_=function(){return[ft,or]},Ut.prototype.getClass=function(){return Ut},xd.serialVersionUID.get=function(){return-0xcb44a778db18e00},Object.defineProperties(Ut,xd);var dn=function(){},nc={serialVersionUID:{configurable:!0},instanceObject:{configurable:!0}};dn.prototype.readResolve=function(){return dn.instance()},dn.prototype.create=function(){if(arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];return new Ut(t)}else if(Q(arguments[0],ft)){var e=arguments[0];return new Ut(e)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return i>3&&(i=3),i<2?new Ut(r):new Ut(r,i)}},dn.prototype.interfaces_=function(){return[no,or]},dn.prototype.getClass=function(){return dn},dn.instance=function(){return dn.instanceObject},nc.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},nc.instanceObject.get=function(){return new dn},Object.defineProperties(dn,nc);var Od=(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 tc;return this.map_.entries().forEach(function(i){return r.add(i)}),r},t.prototype.size=function(){return this.map_.size()},t})(fs),yt=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 Rr){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}}},ic={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};yt.prototype.equals=function(t){if(!(t instanceof yt))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale},yt.prototype.compareTo=function(t){var e=t,r=this.getMaximumSignificantDigits(),i=e.getMaximumSignificantDigits();return new Or(r).compareTo(new Or(i))},yt.prototype.getScale=function(){return this._scale},yt.prototype.isFloating=function(){return this._modelType===yt.FLOATING||this._modelType===yt.FLOATING_SINGLE},yt.prototype.getType=function(){return this._modelType},yt.prototype.toString=function(){var t="UNKNOWN";return this._modelType===yt.FLOATING?t="Floating":this._modelType===yt.FLOATING_SINGLE?t="Floating-Single":this._modelType===yt.FIXED&&(t="Fixed (Scale="+this.getScale()+")"),t},yt.prototype.makePrecise=function(){if(typeof arguments[0]=="number"){var t=arguments[0];if(rt.isNaN(t))return t;if(this._modelType===yt.FLOATING_SINGLE){var e=t;return e}return this._modelType===yt.FIXED?Math.round(t*this._scale)/this._scale:t}else if(arguments[0]instanceof N){var r=arguments[0];if(this._modelType===yt.FLOATING)return null;r.x=this.makePrecise(r.x),r.y=this.makePrecise(r.y)}},yt.prototype.getMaximumSignificantDigits=function(){var t=16;return this._modelType===yt.FLOATING?t=16:this._modelType===yt.FLOATING_SINGLE?t=6:this._modelType===yt.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t},yt.prototype.setScale=function(t){this._scale=Math.abs(t)},yt.prototype.interfaces_=function(){return[or,sr]},yt.prototype.getClass=function(){return yt},yt.mostPrecise=function(t,e){return t.compareTo(e)>=0?t:e},ic.serialVersionUID.get=function(){return 7777263578777804e3},ic.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(yt,ic);var Rr=function n(t){this._name=t||null,n.nameToTypeMap.put(t,this)},sc={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};Rr.prototype.readResolve=function(){return Rr.nameToTypeMap.get(this._name)},Rr.prototype.toString=function(){return this._name},Rr.prototype.interfaces_=function(){return[or]},Rr.prototype.getClass=function(){return Rr},sc.serialVersionUID.get=function(){return-552860263173159e4},sc.nameToTypeMap.get=function(){return new Od},Object.defineProperties(Rr,sc),yt.Type=Rr,yt.FIXED=new Rr("FIXED"),yt.FLOATING=new Rr("FLOATING"),yt.FLOATING_SINGLE=new Rr("FLOATING SINGLE");var ut=function n(){this._precisionModel=new yt,this._SRID=0,this._coordinateSequenceFactory=n.getDefaultCoordinateSequenceFactory(),arguments.length===0||(arguments.length===1?Q(arguments[0],no)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof yt&&(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]))},Md={serialVersionUID:{configurable:!0}};ut.prototype.toGeometry=function(t){return t.isNull()?this.createPoint(null):t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new N(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new N(t.getMinX(),t.getMinY()),new N(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new N(t.getMinX(),t.getMinY()),new N(t.getMinX(),t.getMaxY()),new N(t.getMaxX(),t.getMaxY()),new N(t.getMaxX(),t.getMinY()),new N(t.getMinX(),t.getMinY())]),null)},ut.prototype.createLineString=function(t){if(t){if(t instanceof Array)return new Rt(this.getCoordinateSequenceFactory().create(t),this);if(Q(t,ft))return new Rt(t,this)}else return new Rt(this.getCoordinateSequenceFactory().create([]),this)},ut.prototype.createMultiLineString=function(){if(arguments.length===0)return new Oi(null,this);if(arguments.length===1){var t=arguments[0];return new Oi(t,this)}},ut.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(ut.toGeometryArray(t));var u=t.iterator().next(),l=t.size()>1;if(l){if(u instanceof Bt)return this.createMultiPolygon(ut.toPolygonArray(t));if(u instanceof Rt)return this.createMultiLineString(ut.toLineStringArray(t));if(u instanceof Ve)return this.createMultiPoint(ut.toPointArray(t));st.shouldNeverReachHere("Unhandled class: "+u.getClass().getName())}return u},ut.prototype.createMultiPointFromCoords=function(t){return this.createMultiPoint(t!==null?this.getCoordinateSequenceFactory().create(t):null)},ut.prototype.createPoint=function(){if(arguments.length===0)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof N){var t=arguments[0];return this.createPoint(t!==null?this.getCoordinateSequenceFactory().create([t]):null)}else if(Q(arguments[0],ft)){var e=arguments[0];return new Ve(e,this)}}},ut.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},ut.prototype.createPolygon=function(){if(arguments.length===0)return new Bt(null,null,this);if(arguments.length===1){if(Q(arguments[0],ft)){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 hn){var r=arguments[0];return this.createPolygon(r,null)}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];return new Bt(i,s,this)}},ut.prototype.getSRID=function(){return this._SRID},ut.prototype.createGeometryCollection=function(){if(arguments.length===0)return new me(null,this);if(arguments.length===1){var t=arguments[0];return new me(t,this)}},ut.prototype.createGeometry=function(t){var e=new cr(this);return e.edit(t,{edit:function(){if(arguments.length===2){var r=arguments[0];return this._coordinateSequenceFactory.create(r)}}})},ut.prototype.getPrecisionModel=function(){return this._precisionModel},ut.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(Q(arguments[0],ft)){var e=arguments[0];return new hn(e,this)}}},ut.prototype.createMultiPolygon=function(){if(arguments.length===0)return new fn(null,this);if(arguments.length===1){var t=arguments[0];return new fn(t,this)}},ut.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(Q(arguments[0],ft)){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());zt.copy(i,o,a,0,1),s[o]=t.createPoint(a)}return this.createMultiPoint(s)}}},ut.prototype.interfaces_=function(){return[or]},ut.prototype.getClass=function(){return ut},ut.toMultiPolygonArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ut.toGeometryArray=function(t){if(t===null)return null;var e=new Array(t.size()).fill(null);return t.toArray(e)},ut.getDefaultCoordinateSequenceFactory=function(){return dn.instance()},ut.toMultiLineStringArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ut.toLineStringArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ut.toMultiPointArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ut.toLinearRingArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ut.toPointArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ut.toPolygonArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},ut.createPointFromInternalCoord=function(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)},Md.serialVersionUID.get=function(){return-6820524753094096e3},Object.defineProperties(ut,Md);var Oy=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],Du=function(t){this.geometryFactory=t||new ut};Du.prototype.read=function(t){var e;typeof t=="string"?e=JSON.parse(t):e=t;var r=e.type;if(!Fr[r])throw new Error("Unknown GeoJSON type: "+e.type);return Oy.indexOf(r)!==-1?Fr[r].apply(this,[e.coordinates]):r==="GeometryCollection"?Fr[r].apply(this,[e.geometries]):Fr[r].apply(this,[e])},Du.prototype.write=function(t){var e=t.getGeometryType();if(!Vn[e])throw new Error("Geometry is not supported");return Vn[e].apply(this,[t])};var Fr={Feature:function(n){var t={};for(var e in n)t[e]=n[e];if(n.geometry){var r=n.geometry.type;if(!Fr[r])throw new Error("Unknown GeoJSON type: "+n.type);t.geometry=this.read(n.geometry)}return n.bbox&&(t.bbox=Fr.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 N(r[0],r[1]))}return t},bbox:function(n){return this.geometryFactory.createLinearRing([new N(n[0],n[1]),new N(n[2],n[1]),new N(n[2],n[3]),new N(n[0],n[3]),new N(n[0],n[1])])},Point:function(n){var t=new N(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(Fr.Point.apply(t,[n[r]]));return this.geometryFactory.createMultiPoint(e)},LineString:function(n){var t=Fr.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(Fr.LineString.apply(t,[n[r]]));return this.geometryFactory.createMultiLineString(e)},Polygon:function(n){for(var t=this,e=Fr.coordinates.apply(this,[n[0]]),r=this.geometryFactory.createLinearRing(e),i=[],s=1;s<n.length;++s){var o=n[s],a=Fr.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(Fr.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)}},Vn={coordinate:function(n){return[n.x,n.y]},Point:function(n){var t=Vn.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=Vn.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(Vn.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=Vn.LineString.apply(t,[i]);e.push(s.coordinates)}return{type:"MultiLineString",coordinates:e}},Polygon:function(n){var t=this,e=[],r=Vn.LineString.apply(this,[n._shell]);e.push(r.coordinates);for(var i=0;i<n._holes.length;++i){var s=n._holes[i],o=Vn.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=Vn.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(Vn[s].apply(t,[i]))}return{type:"GeometryCollection",geometries:e}}},oc=function(t){this.geometryFactory=t||new ut,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new Du(this.geometryFactory)};oc.prototype.read=function(t){var e=this.parser.read(t);return this.precisionModel.getType()===yt.FIXED&&this.reducePrecision(e),e},oc.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 Dd=function(){this.parser=new Du(this.geometryFactory)};Dd.prototype.write=function(t){return this.parser.write(t)};var z=function(){},Lu={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},Lu.ON.get=function(){return 0},Lu.LEFT.get=function(){return 1},Lu.RIGHT.get=function(){return 2},Object.defineProperties(z,Lu);function Au(n){this.message=n||""}Au.prototype=new Error,Au.prototype.name="EmptyStackException";function kr(){this.array_=[]}kr.prototype=new _r,kr.prototype.add=function(n){return this.array_.push(n),!0},kr.prototype.get=function(n){if(n<0||n>=this.size())throw new Error;return this.array_[n]},kr.prototype.push=function(n){return this.array_.push(n),n},kr.prototype.pop=function(n){if(this.array_.length===0)throw new Au;return this.array_.pop()},kr.prototype.peek=function(){if(this.array_.length===0)throw new Au;return this.array_[this.array_.length-1]},kr.prototype.empty=function(){return this.array_.length===0},kr.prototype.isEmpty=function(){return this.empty()},kr.prototype.search=function(n){return this.array_.indexOf(n)},kr.prototype.size=function(){return this.array_.length},kr.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 Vr=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null};Vr.prototype.getCoordinate=function(){return this._minCoord},Vr.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},Vr.prototype.findRightmostEdgeAtVertex=function(){var t=this._minDe.getEdge().getCoordinates();st.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=G.computeOrientation(this._minCoord,r,e),s=!1;(e.y<this._minCoord.y&&r.y<this._minCoord.y&&i===G.COUNTERCLOCKWISE||e.y>this._minCoord.y&&r.y>this._minCoord.y&&i===G.CLOCKWISE)&&(s=!0),s&&(this._minIndex=this._minIndex-1)},Vr.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},Vr.prototype.getEdge=function(){return this._orientedDe},Vr.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])},Vr.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)},Vr.prototype.findEdge=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next();i.isForward()&&e.checkForRightmostCoordinate(i)}st.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())},Vr.prototype.interfaces_=function(){return[]},Vr.prototype.getClass=function(){return Vr};var zn=(function(n){function t(e,r){n.call(this,t.msgWithCoord(e,r)),this.pt=r?new N(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})(Ln),Ru=function(){this.array_=[]};Ru.prototype.addLast=function(t){this.array_.push(t)},Ru.prototype.removeFirst=function(){return this.array_.shift()},Ru.prototype.isEmpty=function(){return this.array_.length===0};var ve=function(){this._finder=null,this._dirEdgeList=new U,this._nodes=new U,this._rightMostCoord=null,this._env=null,this._finder=new Vr};ve.prototype.clearVisitedEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.setVisited(!1)}},ve.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},ve.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 zn("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)}},ve.prototype.computeDepth=function(t){this.clearVisitedEdges();var e=this._finder.getEdge();e.setEdgeDepths(z.RIGHT,t),this.copySymDepths(e),this.computeDepths(e)},ve.prototype.create=function(t){this.addReachable(t),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},ve.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)}},ve.prototype.computeDepths=function(t){var e=this,r=new tc,i=new Ru,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))}}}},ve.prototype.compareTo=function(t){var e=t;return this._rightMostCoord.x<e._rightMostCoord.x?-1:this._rightMostCoord.x>e._rightMostCoord.x?1:0},ve.prototype.getEnvelope=function(){if(this._env===null){for(var t=new X,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},ve.prototype.addReachable=function(t){var e=this,r=new kr;for(r.add(t);!r.empty();){var i=r.pop();e.add(i,r)}},ve.prototype.copySymDepths=function(t){var e=t.getSym();e.setDepth(z.LEFT,t.getDepth(z.RIGHT)),e.setDepth(z.RIGHT,t.getDepth(z.LEFT))},ve.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)}},ve.prototype.getNodes=function(){return this._nodes},ve.prototype.getDirectedEdges=function(){return this._dirEdgeList},ve.prototype.interfaces_=function(){return[sr]},ve.prototype.getClass=function(){return ve};var Pt=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}};Pt.prototype.setAllLocations=function(t){for(var e=this,r=0;r<this.location.length;r++)e.location[r]=t},Pt.prototype.isNull=function(){for(var t=this,e=0;e<this.location.length;e++)if(t.location[e]!==O.NONE)return!1;return!0},Pt.prototype.setAllLocationsIfNull=function(t){for(var e=this,r=0;r<this.location.length;r++)e.location[r]===O.NONE&&(e.location[r]=t)},Pt.prototype.isLine=function(){return this.location.length===1},Pt.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]=O.NONE,r[z.RIGHT]=O.NONE,this.location=r}for(var i=0;i<this.location.length;i++)e.location[i]===O.NONE&&i<t.location.length&&(e.location[i]=t.location[i])},Pt.prototype.getLocations=function(){return this.location},Pt.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},Pt.prototype.toString=function(){var t=new xr;return this.location.length>1&&t.append(O.toLocationSymbol(this.location[z.LEFT])),t.append(O.toLocationSymbol(this.location[z.ON])),this.location.length>1&&t.append(O.toLocationSymbol(this.location[z.RIGHT])),t.toString()},Pt.prototype.setLocations=function(t,e,r){this.location[z.ON]=t,this.location[z.LEFT]=e,this.location[z.RIGHT]=r},Pt.prototype.get=function(t){return t<this.location.length?this.location[t]:O.NONE},Pt.prototype.isArea=function(){return this.location.length>1},Pt.prototype.isAnyNull=function(){for(var t=this,e=0;e<this.location.length;e++)if(t.location[e]===O.NONE)return!0;return!1},Pt.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}},Pt.prototype.init=function(t){this.location=new Array(t).fill(null),this.setAllLocations(O.NONE)},Pt.prototype.isEqualOnSide=function(t,e){return this.location[e]===t.location[e]},Pt.prototype.allPositionsEqual=function(t){for(var e=this,r=0;r<this.location.length;r++)if(e.location[r]!==t)return!1;return!0},Pt.prototype.interfaces_=function(){return[]},Pt.prototype.getClass=function(){return Pt};var Et=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 Pt(t),this.elt[1]=new Pt(t)}else if(arguments[0]instanceof n){var e=arguments[0];this.elt[0]=new Pt(e.elt[0]),this.elt[1]=new Pt(e.elt[1])}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.elt[0]=new Pt(O.NONE),this.elt[1]=new Pt(O.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 Pt(s,o,a),this.elt[1]=new Pt(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 Pt(O.NONE,O.NONE,O.NONE),this.elt[1]=new Pt(O.NONE,O.NONE,O.NONE),this.elt[u].setLocations(l,c,h)}};Et.prototype.getGeometryCount=function(){var t=0;return this.elt[0].isNull()||t++,this.elt[1].isNull()||t++,t},Et.prototype.setAllLocations=function(t,e){this.elt[t].setAllLocations(e)},Et.prototype.isNull=function(t){return this.elt[t].isNull()},Et.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)}},Et.prototype.isLine=function(t){return this.elt[t].isLine()},Et.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 Pt(t.elt[r]):e.elt[r].merge(t.elt[r])},Et.prototype.flip=function(){this.elt[0].flip(),this.elt[1].flip()},Et.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)}},Et.prototype.toString=function(){var t=new xr;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()},Et.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()}},Et.prototype.isAnyNull=function(t){return this.elt[t].isAnyNull()},Et.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)}},Et.prototype.isEqualOnSide=function(t,e){return this.elt[0].isEqualOnSide(t.elt[0],e)&&this.elt[1].isEqualOnSide(t.elt[1],e)},Et.prototype.allPositionsEqual=function(t,e){return this.elt[t].allPositionsEqual(e)},Et.prototype.toLine=function(t){this.elt[t].isArea()&&(this.elt[t]=new Pt(this.elt[t].location[0]))},Et.prototype.interfaces_=function(){return[]},Et.prototype.getClass=function(){return Et},Et.toLineLabel=function(t){for(var e=new Et(O.NONE),r=0;r<2;r++)e.setLocation(r,t.getLocation(r));return e};var qt=function(){this._startDe=null,this._maxNodeDegree=-1,this._edges=new U,this._pts=new U,this._label=new Et(O.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()};qt.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=G.isCCW(this._ring.getCoordinates())},qt.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},qt.prototype.computePoints=function(t){var e=this;this._startDe=t;var r=t,i=!0;do{if(r===null)throw new zn("Found null DirectedEdge");if(r.getEdgeRing()===e)throw new zn("Directed Edge visited twice during ring-building at "+r.getCoordinate());e._edges.add(r);var s=r.getLabel();st.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)},qt.prototype.getLinearRing=function(){return this._ring},qt.prototype.getCoordinate=function(t){return this._pts.get(t)},qt.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},qt.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])}},qt.prototype.isHole=function(){return this._isHole},qt.prototype.setInResult=function(){var t=this._startDe;do t.getEdge().setInResult(!0),t=t.getNext();while(t!==this._startDe)},qt.prototype.containsPoint=function(t){var e=this.getLinearRing(),r=e.getEnvelopeInternal();if(!r.contains(t)||!G.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},qt.prototype.addHole=function(t){this._holes.add(t)},qt.prototype.isShell=function(){return this._shell===null},qt.prototype.getLabel=function(){return this._label},qt.prototype.getEdges=function(){return this._edges},qt.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},qt.prototype.getShell=function(){return this._shell},qt.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===O.NONE)return null;if(this._label.getLocation(r)===O.NONE)return this._label.setLocation(r,i),null}},qt.prototype.setShell=function(t){this._shell=t,t!==null&&t.addHole(this)},qt.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},qt.prototype.interfaces_=function(){return[]},qt.prototype.getClass=function(){return qt};var My=(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})(qt),Dy=(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 My(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})(qt),Qe=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}}};Qe.prototype.setVisited=function(t){this._isVisited=t},Qe.prototype.setInResult=function(t){this._isInResult=t},Qe.prototype.isCovered=function(){return this._isCovered},Qe.prototype.isCoveredSet=function(){return this._isCoveredSet},Qe.prototype.setLabel=function(t){this._label=t},Qe.prototype.getLabel=function(){return this._label},Qe.prototype.setCovered=function(t){this._isCovered=t,this._isCoveredSet=!0},Qe.prototype.updateIM=function(t){st.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(t)},Qe.prototype.isInResult=function(){return this._isInResult},Qe.prototype.isVisited=function(){return this._isVisited},Qe.prototype.interfaces_=function(){return[]},Qe.prototype.getClass=function(){return Qe};var Fu=(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 Et(0,O.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=O.NONE;if(s=this._label.getLocation(i),!r.isNull(i)){var o=r.getLocation(i);s!==O.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 Et(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 Et)for(var s=arguments[0],o=0;o<2;o++){var a=r.computeMergedLocation(s,o),u=r._label.getLocation(o);u===O.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=O.NONE;this._label!==null&&(i=this._label.getLocation(r));var s=null;switch(i){case O.BOUNDARY:s=O.INTERIOR;break;case O.INTERIOR:s=O.BOUNDARY;break;default:s=O.BOUNDARY;break}this._label.setLocation(r,s)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t})(Qe),zr=function(){this.nodeMap=new he,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 N){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 Fu){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)===O.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 St=function(){},Fa={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};St.prototype.interfaces_=function(){return[]},St.prototype.getClass=function(){return St},St.isNorthern=function(t){return t===St.NE||t===St.NW},St.isOpposite=function(t,e){if(t===e)return!1;var r=(t-e+4)%4;return r===2},St.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},St.isInHalfPlane=function(t,e){return e===St.SE?t===St.SE||t===St.SW:t===e||t===e+1},St.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 xt("Cannot compute the quadrant for point ( "+t+", "+e+" )");return t>=0?e>=0?St.NE:St.SE:e>=0?St.NW:St.SW}else if(arguments[0]instanceof N&&arguments[1]instanceof N){var r=arguments[0],i=arguments[1];if(i.x===r.x&&i.y===r.y)throw new xt("Cannot compute the quadrant for two identical points "+r);return i.x>=r.x?i.y>=r.y?St.NE:St.SE:i.y>=r.y?St.NW:St.SW}},Fa.NE.get=function(){return 0},Fa.NW.get=function(){return 1},Fa.SW.get=function(){return 2},Fa.SE.get=function(){return 3},Object.defineProperties(St,Fa);var fe=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}};fe.prototype.compareDirection=function(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrant<t._quadrant?-1:G.computeOrientation(t._p0,t._p1,this._p1)},fe.prototype.getDy=function(){return this._dy},fe.prototype.getCoordinate=function(){return this._p0},fe.prototype.setNode=function(t){this._node=t},fe.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)},fe.prototype.compareTo=function(t){var e=t;return this.compareDirection(e)},fe.prototype.getDirectedCoordinate=function(){return this._p1},fe.prototype.getDx=function(){return this._dx},fe.prototype.getLabel=function(){return this._label},fe.prototype.getEdge=function(){return this._edge},fe.prototype.getQuadrant=function(){return this._quadrant},fe.prototype.getNode=function(){return this._node},fe.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},fe.prototype.computeLabel=function(t){},fe.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=St.quadrant(this._dx,this._dy),st.isTrue(!(this._dx===0&&this._dy===0),"EdgeEnd with identical endpoints found")},fe.prototype.interfaces_=function(){return[sr]},fe.prototype.getClass=function(){return fe};var ac=(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 Et(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 zn("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)===O.INTERIOR&&r._label.getLocation(s,z.RIGHT)===O.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,O.EXTERIOR),s=!this._label.isArea(1)||this._label.allPositionsEqual(1,O.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===O.EXTERIOR&&i===O.INTERIOR?1:r===O.INTERIOR&&i===O.EXTERIOR?-1:0},t})(fe),go=function(){};go.prototype.createNode=function(t){return new Fu(t,null)},go.prototype.interfaces_=function(){return[]},go.prototype.getClass=function(){return go};var Dt=function(){if(this._edges=new U,this._nodes=null,this._edgeEndList=new U,arguments.length===0)this._nodes=new zr(new go);else if(arguments.length===1){var t=arguments[0];this._nodes=new zr(t)}};Dt.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)}},Dt.prototype.find=function(t){return this._nodes.find(t)},Dt.prototype.addNode=function(){if(arguments[0]instanceof Fu){var t=arguments[0];return this._nodes.addNode(t)}else if(arguments[0]instanceof N){var e=arguments[0];return this._nodes.addNode(e)}},Dt.prototype.getNodeIterator=function(){return this._nodes.iterator()},Dt.prototype.linkResultDirectedEdges=function(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next();e.getEdges().linkResultDirectedEdges()}},Dt.prototype.debugPrintln=function(t){ne.out.println(t)},Dt.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)===O.BOUNDARY},Dt.prototype.linkAllDirectedEdges=function(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next();e.getEdges().linkAllDirectedEdges()}},Dt.prototype.matchInSameDirection=function(t,e,r,i){return t.equals(r)?G.computeOrientation(t,e,i)===G.COLLINEAR&&St.quadrant(t,e)===St.quadrant(r,i):!1},Dt.prototype.getEdgeEnds=function(){return this._edgeEndList},Dt.prototype.debugPrint=function(t){ne.out.print(t)},Dt.prototype.getEdgeIterator=function(){return this._edges.iterator()},Dt.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},Dt.prototype.insertEdge=function(t){this._edges.add(t)},Dt.prototype.findEdgeEnd=function(t){for(var e=this.getEdgeEnds().iterator();e.hasNext();){var r=e.next();if(r.getEdge()===t)return r}return null},Dt.prototype.addEdges=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next();e._edges.add(i);var s=new ac(i,!0),o=new ac(i,!1);s.setSym(o),o.setSym(s),e.add(s),e.add(o)}},Dt.prototype.add=function(t){this._nodes.add(t),this._edgeEndList.add(t)},Dt.prototype.getNodes=function(){return this._nodes.values()},Dt.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},Dt.prototype.interfaces_=function(){return[]},Dt.prototype.getClass=function(){return Dt},Dt.linkResultDirectedEdges=function(t){for(var e=t.iterator();e.hasNext();){var r=e.next();r.getEdges().linkResultDirectedEdges()}};var ze=function(){this._geometryFactory=null,this._shellList=new U;var t=arguments[0];this._geometryFactory=t};ze.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)}},ze.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},ze.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 zn("unable to assign hole to a shell",s.getCoordinate(0));s.setShell(o)}}},ze.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},ze.prototype.containsPoint=function(t){for(var e=this._shellList.iterator();e.hasNext();){var r=e.next();if(r.containsPoint(t))return!0}return!1},ze.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 Dy(s,e._geometryFactory);r.add(o),o.setInResult()}}return r},ze.prototype.placePolygonHoles=function(t,e){for(var r=e.iterator();r.hasNext();){var i=r.next();i.isHole()&&i.setShell(t)}},ze.prototype.getPolygons=function(){var t=this.computePolygons(this._shellList);return t},ze.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)&&G.isPointInRing(s,c.getCoordinates())&&(d=!0),d&&(o===null||a.contains(h))&&(o=l)}return o},ze.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 st.isTrue(e<=1,"found two shells in MinimalEdgeRing list"),r},ze.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];Dt.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)}},ze.prototype.interfaces_=function(){return[]},ze.prototype.getClass=function(){return ze};var mo=function(){};mo.prototype.getBounds=function(){},mo.prototype.interfaces_=function(){return[]},mo.prototype.getClass=function(){return mo};var Sr=function(){this._bounds=null,this._item=null;var t=arguments[0],e=arguments[1];this._bounds=t,this._item=e};Sr.prototype.getItem=function(){return this._item},Sr.prototype.getBounds=function(){return this._bounds},Sr.prototype.interfaces_=function(){return[mo,or]},Sr.prototype.getClass=function(){return Sr};var Un=function(){this._size=null,this._items=null,this._size=0,this._items=new U,this._items.add(null)};Un.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},Un.prototype.size=function(){return this._size},Un.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)},Un.prototype.clear=function(){this._size=0,this._items.clear()},Un.prototype.isEmpty=function(){return this._size===0},Un.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)},Un.prototype.interfaces_=function(){return[]},Un.prototype.getClass=function(){return Un};var ai=function(){};ai.prototype.visitItem=function(t){},ai.prototype.interfaces_=function(){return[]},ai.prototype.getClass=function(){return ai};var ds=function(){};ds.prototype.insert=function(t,e){},ds.prototype.remove=function(t,e){},ds.prototype.query=function(){},ds.prototype.interfaces_=function(){return[]},ds.prototype.getClass=function(){return ds};var Jt=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}}},Ld={serialVersionUID:{configurable:!0}};Jt.prototype.getLevel=function(){return this._level},Jt.prototype.size=function(){return this._childBoundables.size()},Jt.prototype.getChildBoundables=function(){return this._childBoundables},Jt.prototype.addChildBoundable=function(t){st.isTrue(this._bounds===null),this._childBoundables.add(t)},Jt.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},Jt.prototype.getBounds=function(){return this._bounds===null&&(this._bounds=this.computeBounds()),this._bounds},Jt.prototype.interfaces_=function(){return[mo,or]},Jt.prototype.getClass=function(){return Jt},Ld.serialVersionUID.get=function(){return 6493722185909574e3},Object.defineProperties(Jt,Ld);var Cr=function(){};Cr.reverseOrder=function(){return{compare:function(e,r){return r.compareTo(e)}}},Cr.min=function(t){return Cr.sort(t),t.get(0)},Cr.sort=function(t,e){var r=t.toArray();e?xi.sort(r,e):xi.sort(r);for(var i=t.iterator(),s=0,o=r.length;s<o;s++)i.next(),i.set(r[s])},Cr.singletonList=function(t){var e=new U;return e.add(t),e};var Xt=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()};Xt.prototype.expandToQueue=function(t,e){var r=Xt.isComposite(this._boundable1),i=Xt.isComposite(this._boundable2);if(r&&i)return Xt.area(this._boundable1)>Xt.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 xt("neither boundable is composite")},Xt.prototype.isLeaves=function(){return!(Xt.isComposite(this._boundable1)||Xt.isComposite(this._boundable2))},Xt.prototype.compareTo=function(t){var e=t;return this._distance<e._distance?-1:this._distance>e._distance?1:0},Xt.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 Xt(u,e,s._itemDistance);l.getDistance()<i&&r.add(l)}},Xt.prototype.getBoundable=function(t){return t===0?this._boundable1:this._boundable2},Xt.prototype.getDistance=function(){return this._distance},Xt.prototype.distance=function(){return this.isLeaves()?this._itemDistance.distance(this._boundable1,this._boundable2):this._boundable1.getBounds().distance(this._boundable2.getBounds())},Xt.prototype.interfaces_=function(){return[sr]},Xt.prototype.getClass=function(){return Xt},Xt.area=function(t){return t.getBounds().getArea()},Xt.isComposite=function(t){return t instanceof Jt};var $t=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];st.isTrue(e>1,"Node capacity must be greater than 1"),this._nodeCapacity=e}},ku={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};$t.prototype.getNodeCapacity=function(){return this._nodeCapacity},$t.prototype.lastNode=function(t){return t.get(t.size()-1)},$t.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 Jt?r+=t.size(s):s instanceof Sr&&(r+=1)}return r}},$t.prototype.removeItem=function(t,e){for(var r=null,i=t.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof Sr&&s.getItem()===e&&(r=s)}return r!==null?(t.getChildBoundables().remove(r),!0):!1},$t.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 Jt){var a=t.itemsTree(o);a!==null&&i.add(a)}else o instanceof Sr?i.add(o.getItem()):st.shouldNeverReachHere()}return i.size()<=0?null:i}},$t.prototype.insert=function(t,e){st.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new Sr(t,e))},$t.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(st.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 Jt?t.boundablesAtLevel(i,u,o):(st.isTrue(u instanceof Sr),i===-1&&o.add(u))}return null}},$t.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(Q(arguments[2],ai)&&arguments[0]instanceof Object&&arguments[1]instanceof Jt)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 Jt?t.query(o,h,u):h instanceof Sr?u.visitItem(h.getItem()):st.shouldNeverReachHere())}else if(Q(arguments[2],_r)&&arguments[0]instanceof Object&&arguments[1]instanceof Jt)for(var d=arguments[0],g=arguments[1],v=arguments[2],E=g.getChildBoundables(),C=0;C<E.size();C++){var b=E.get(C);t.getIntersectsOp().intersects(b.getBounds(),d)&&(b instanceof Jt?t.query(d,b,v):b instanceof Sr?v.add(b.getItem()):st.shouldNeverReachHere())}}},$t.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},$t.prototype.getRoot=function(){return this.build(),this._root},$t.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 Jt&&(a=t.remove(i,c,o),a)){u=c;break}}return u!==null&&u.getChildBoundables().isEmpty()&&s.getChildBoundables().remove(u),a}},$t.prototype.createHigherLevels=function(t,e){st.isTrue(!t.isEmpty());var r=this.createParentBoundables(t,e+1);return r.size()===1?r.get(0):this.createHigherLevels(r,e+1)},$t.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 Jt){var o=t.depth(s);o>r&&(r=o)}}return r+1}},$t.prototype.createParentBoundables=function(t,e){var r=this;st.isTrue(!t.isEmpty());var i=new U;i.add(this.createNode(e));var s=new U(t);Cr.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},$t.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},$t.prototype.interfaces_=function(){return[or]},$t.prototype.getClass=function(){return $t},$t.compareDoubles=function(t,e){return t>e?1:t<e?-1:0},ku.IntersectsOp.get=function(){return Ly},ku.serialVersionUID.get=function(){return-3886435814360241e3},ku.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties($t,ku);var Ly=function(){},vo=function(){};vo.prototype.distance=function(t,e){},vo.prototype.interfaces_=function(){return[]},vo.prototype.getClass=function(){return vo};var Ad=(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;st.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 Rd(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(Q(arguments[2],ai)&&arguments[0]instanceof Object&&arguments[1]instanceof Jt){var a=arguments[0],u=arguments[1],l=arguments[2];n.prototype.query.call(this,a,u,l)}else if(Q(arguments[2],_r)&&arguments[0]instanceof Object&&arguments[1]instanceof Jt){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){st.isTrue(!i.isEmpty());var o=Math.trunc(Math.ceil(i.size()/this.getNodeCapacity())),a=new U(i);Cr.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(Q(arguments[0],vo)){var i=arguments[0],s=new Xt(this.getRoot(),this.getRoot(),i);return this.nearestNeighbour(s)}else if(arguments[0]instanceof Xt){var o=arguments[0];return this.nearestNeighbour(o,rt.POSITIVE_INFINITY)}}else if(arguments.length===2){if(arguments[0]instanceof t&&Q(arguments[1],vo)){var a=arguments[0],u=arguments[1],l=new Xt(this.getRoot(),a.getRoot(),u);return this.nearestNeighbour(l)}else if(arguments[0]instanceof Xt&&typeof arguments[1]=="number"){var c=arguments[0],h=arguments[1],d=h,g=null,v=new Un;for(v.add(c);!v.isEmpty()&&d>0;){var E=v.poll(),C=E.getDistance();if(C>=d)break;E.isLeaves()?(d=C,g=E):E.expandToQueue(v,d)}return[g.getBoundable(0).getItem(),g.getBoundable(1).getItem()]}}else if(arguments.length===3){var b=arguments[0],m=arguments[1],y=arguments[2],_=new Sr(b,m),S=new Xt(this.getRoot(),_,y);return this.nearestNeighbour(S)[0]}},t.prototype.interfaces_=function(){return[ds,or]},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 Rd},e.serialVersionUID.get=function(){return 0x39920f7d5f261e0},e.xComparator.get=function(){return{interfaces_:function(){return[ro]},compare:function(r,i){return n.compareDoubles(t.centreX(r.getBounds()),t.centreX(i.getBounds()))}}},e.yComparator.get=function(){return{interfaces_:function(){return[ro]},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})($t),Rd=(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 X(s.getBounds()):r.expandToInclude(s.getBounds())}return r},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t})(Jt),xe=function(){};xe.prototype.interfaces_=function(){return[]},xe.prototype.getClass=function(){return xe},xe.relativeSign=function(t,e){return t<e?-1:t>e?1:0},xe.compare=function(t,e,r){if(e.equals2D(r))return 0;var i=xe.relativeSign(e.x,r.x),s=xe.relativeSign(e.y,r.y);switch(t){case 0:return xe.compareValue(i,s);case 1:return xe.compareValue(s,i);case 2:return xe.compareValue(s,-i);case 3:return xe.compareValue(-i,s);case 4:return xe.compareValue(-i,-s);case 5:return xe.compareValue(-s,-i);case 6:return xe.compareValue(-s,i);case 7:return xe.compareValue(i,-s)}return st.shouldNeverReachHere("invalid octant value"),0},xe.compareValue=function(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0};var ui=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 N(e),this.segmentIndex=r,this._segmentOctant=i,this._isInterior=!e.equals2D(t.getCoordinate(r))};ui.prototype.getCoordinate=function(){return this.coord},ui.prototype.print=function(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex)},ui.prototype.compareTo=function(t){var e=t;return this.segmentIndex<e.segmentIndex?-1:this.segmentIndex>e.segmentIndex?1:this.coord.equals2D(e.coord)?0:xe.compare(this._segmentOctant,this.coord,e.coord)},ui.prototype.isEndPoint=function(t){return this.segmentIndex===0&&!this._isInterior||this.segmentIndex===t},ui.prototype.isInterior=function(){return this._isInterior},ui.prototype.interfaces_=function(){return[sr]},ui.prototype.getClass=function(){return ui};var ye=function(){this._nodeMap=new he,this._edge=null;var t=arguments[0];this._edge=t};ye.prototype.getSplitCoordinates=function(){var t=this,e=new Ta;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()},ye.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)}},ye.prototype.print=function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},ye.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 Or(r+1))}},ye.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 N(t.coord),!1);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)r.add(i._edge.getCoordinate(a));o&&r.add(new N(e.coord))},ye.prototype.iterator=function(){return this._nodeMap.values().iterator()},ye.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}},ye.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},ye.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 Or(r[0])),s=o}},ye.prototype.getEdge=function(){return this._edge},ye.prototype.addEndpoints=function(){var t=this._edge.size()-1;this.add(this._edge.getCoordinate(0),0),this.add(this._edge.getCoordinate(t),t)},ye.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 N(t.coord);for(var l=t.segmentIndex+1;l<=e.segmentIndex;l++)a[u++]=r._edge.getCoordinate(l);return o&&(a[u]=new N(e.coord)),new Gt(a,this._edge.getData())},ye.prototype.add=function(t,e){var r=new ui(this._edge,t,e,this._edge.getSegmentOctant(e)),i=this._nodeMap.get(r);return i!==null?(st.isTrue(i.coord.equals2D(t),"Found equal nodes with different coordinates"),i):(this._nodeMap.put(r,r),r)},ye.prototype.checkSplitEdgesCorrectness=function(t){var e=this._edge.getCoordinates(),r=t.get(0),i=r.getCoordinate(0);if(!i.equals2D(e[0]))throw new Ln("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 Ln("bad split edge end point at "+a)},ye.prototype.interfaces_=function(){return[]},ye.prototype.getClass=function(){return ye};var ps=function(){};ps.prototype.interfaces_=function(){return[]},ps.prototype.getClass=function(){return ps},ps.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 xt("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 N&&arguments[1]instanceof N){var s=arguments[0],o=arguments[1],a=o.x-s.x,u=o.y-s.y;if(a===0&&u===0)throw new xt("Cannot compute the octant for two identical points "+s);return ps.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 ka=function(){};ka.prototype.addIntersection=function(t,e){},ka.prototype.interfaces_=function(){return[pn]},ka.prototype.getClass=function(){return ka};var Gt=function(){this._nodeList=new ye(this),this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};Gt.prototype.getCoordinates=function(){return this._pts},Gt.prototype.size=function(){return this._pts.length},Gt.prototype.getCoordinate=function(t){return this._pts[t]},Gt.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Gt.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))},Gt.prototype.setData=function(t){this._data=t},Gt.prototype.safeOctant=function(t,e){return t.equals2D(e)?0:ps.octant(t,e)},Gt.prototype.getData=function(){return this._data},Gt.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 N(r.getIntersection(s));this.addIntersection(o,i)}},Gt.prototype.toString=function(){return yr.toLineString(new Ut(this._pts))},Gt.prototype.getNodeList=function(){return this._nodeList},Gt.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},Gt.prototype.addIntersections=function(t,e,r){for(var i=this,s=0;s<t.getIntersectionNum();s++)i.addIntersection(t,e,r,s)},Gt.prototype.interfaces_=function(){return[ka]},Gt.prototype.getClass=function(){return Gt},Gt.getNodedSubstrings=function(){if(arguments.length===1){var t=arguments[0],e=new U;return Gt.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 Y=function(){if(this.p0=null,this.p1=null,arguments.length===0)this.p0=new N,this.p1=new N;else if(arguments.length===1){var t=arguments[0];this.p0=new N(t.p0),this.p1=new N(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 N(e,r),this.p1=new N(i,s)}},Fd={serialVersionUID:{configurable:!0}};Y.prototype.minX=function(){return Math.min(this.p0.x,this.p1.x)},Y.prototype.orientationIndex=function(){if(arguments[0]instanceof Y){var t=arguments[0],e=G.orientationIndex(this.p0,this.p1,t.p0),r=G.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 N){var i=arguments[0];return G.orientationIndex(this.p0,this.p1,i)}},Y.prototype.toGeometry=function(t){return t.createLineString([this.p0,this.p1])},Y.prototype.isVertical=function(){return this.p0.x===this.p1.x},Y.prototype.equals=function(t){if(!(t instanceof Y))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)},Y.prototype.intersection=function(t){var e=new Ni;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null},Y.prototype.project=function(){if(arguments[0]instanceof N){var t=arguments[0];if(t.equals(this.p0)||t.equals(this.p1))return new N(t);var e=this.projectionFactor(t),r=new N;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 Y){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 Y(a,u)}},Y.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},Y.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},Y.prototype.getCoordinate=function(t){return t===0?this.p0:this.p1},Y.prototype.distancePerpendicular=function(t){return G.distancePointLinePerpendicular(t,this.p0,this.p1)},Y.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},Y.prototype.midPoint=function(){return Y.midPoint(this.p0,this.p1)},Y.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 rt.NaN;var s=((t.x-this.p0.x)*e+(t.y-this.p0.y)*r)/i;return s},Y.prototype.closestPoints=function(t){var e=this.intersection(t);if(e!==null)return[e,e];var r=new Array(2).fill(null),i=rt.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},Y.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},Y.prototype.maxX=function(){return Math.max(this.p0.x,this.p1.x)},Y.prototype.getLength=function(){return this.p0.distance(this.p1)},Y.prototype.compareTo=function(t){var e=t,r=this.p0.compareTo(e.p0);return r!==0?r:this.p1.compareTo(e.p1)},Y.prototype.reverse=function(){var t=this.p0;this.p0=this.p1,this.p1=t},Y.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)},Y.prototype.lineIntersection=function(t){try{var e=vr.intersection(this.p0,this.p1,t.p0,t.p1);return e}catch(r){if(!(r instanceof io))throw r}finally{}return null},Y.prototype.maxY=function(){return Math.max(this.p0.y,this.p1.y)},Y.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 N(c,h);return d},Y.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}},Y.prototype.segmentFraction=function(t){var e=this.projectionFactor(t);return e<0?e=0:(e>1||rt.isNaN(e))&&(e=1),e},Y.prototype.toString=function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},Y.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},Y.prototype.distance=function(){if(arguments[0]instanceof Y){var t=arguments[0];return G.distanceLineLine(this.p0,this.p1,t.p0,t.p1)}else if(arguments[0]instanceof N){var e=arguments[0];return G.distancePointLine(e,this.p0,this.p1)}},Y.prototype.pointAlong=function(t){var e=new N;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},Y.prototype.hashCode=function(){var t=rt.doubleToLongBits(this.p0.x);t^=rt.doubleToLongBits(this.p0.y)*31;var e=Math.trunc(t)^Math.trunc(t>>32),r=rt.doubleToLongBits(this.p1.x);r^=rt.doubleToLongBits(this.p1.y)*31;var i=Math.trunc(r)^Math.trunc(r>>32);return e^i},Y.prototype.interfaces_=function(){return[sr,or]},Y.prototype.getClass=function(){return Y},Y.midPoint=function(t,e){return new N((t.x+e.x)/2,(t.y+e.y)/2)},Fd.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(Y,Fd);var Va=function(){this.tempEnv1=new X,this.tempEnv2=new X,this._overlapSeg1=new Y,this._overlapSeg2=new Y};Va.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)}}},Va.prototype.interfaces_=function(){return[]},Va.prototype.getClass=function(){return Va};var Ue=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};Ue.prototype.getLineSegment=function(t,e){e.p0=this._pts[t],e.p1=this._pts[t+1]},Ue.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)},Ue.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},Ue.prototype.computeOverlaps=function(t,e){this.computeOverlapsInternal(this._start,this._end,t,t._start,t._end,e)},Ue.prototype.setId=function(t){this._id=t},Ue.prototype.select=function(t,e){this.computeSelect(t,this._start,this._end,e)},Ue.prototype.getEnvelope=function(){if(this._env===null){var t=this._pts[this._start],e=this._pts[this._end];this._env=new X(t,e)}return this._env},Ue.prototype.getEndIndex=function(){return this._end},Ue.prototype.getStartIndex=function(){return this._start},Ue.prototype.getContext=function(){return this._context},Ue.prototype.getId=function(){return this._id},Ue.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))},Ue.prototype.interfaces_=function(){return[]},Ue.prototype.getClass=function(){return Ue};var Ur=function(){};Ur.prototype.interfaces_=function(){return[]},Ur.prototype.getClass=function(){return Ur},Ur.getChainStartIndices=function(t){var e=0,r=new U;r.add(new Or(e));do{var i=Ur.findChainEnd(t,e);r.add(new Or(i)),e=i}while(e<t.length-1);var s=Ur.toIntArray(r);return s},Ur.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=St.quadrant(t[r],t[r+1]),s=e+1;s<t.length;){if(!t[s-1].equals2D(t[s])){var o=St.quadrant(t[s-1],t[s]);if(o!==i)break}s++}return s-1},Ur.getChains=function(){if(arguments.length===1){var t=arguments[0];return Ur.getChains(t,null)}else if(arguments.length===2){for(var e=arguments[0],r=arguments[1],i=new U,s=Ur.getChainStartIndices(e),o=0;o<s.length-1;o++){var a=new Ue(e,s[o],s[o+1],r);i.add(a)}return i}},Ur.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 Mi=function(){};Mi.prototype.computeNodes=function(t){},Mi.prototype.getNodedSubstrings=function(){},Mi.prototype.interfaces_=function(){return[]},Mi.prototype.getClass=function(){return Mi};var za=function(){if(this._segInt=null,arguments.length!==0){if(arguments.length===1){var t=arguments[0];this.setSegmentIntersector(t)}}};za.prototype.setSegmentIntersector=function(t){this._segInt=t},za.prototype.interfaces_=function(){return[Mi]},za.prototype.getClass=function(){return za};var uc=(function(n){function t(r){r?n.call(this,r):n.call(this),this._monoChains=new U,this._index=new Ad,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 Gt.getNodedSubstrings(this._nodedSegStrings)},t.prototype.getIndex=function(){return this._index},t.prototype.add=function(i){for(var s=this,o=Ur.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 kd(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 kd},Object.defineProperties(t,e),t})(za),kd=(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})(Va),_t=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)}}},Gn={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}};_t.prototype.getEndCapStyle=function(){return this._endCapStyle},_t.prototype.isSingleSided=function(){return this._isSingleSided},_t.prototype.setQuadrantSegments=function(t){this._quadrantSegments=t,this._quadrantSegments===0&&(this._joinStyle=_t.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=_t.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),t<=0&&(this._quadrantSegments=1),this._joinStyle!==_t.JOIN_ROUND&&(this._quadrantSegments=_t.DEFAULT_QUADRANT_SEGMENTS)},_t.prototype.getJoinStyle=function(){return this._joinStyle},_t.prototype.setJoinStyle=function(t){this._joinStyle=t},_t.prototype.setSimplifyFactor=function(t){this._simplifyFactor=t<0?0:t},_t.prototype.getSimplifyFactor=function(){return this._simplifyFactor},_t.prototype.getQuadrantSegments=function(){return this._quadrantSegments},_t.prototype.setEndCapStyle=function(t){this._endCapStyle=t},_t.prototype.getMitreLimit=function(){return this._mitreLimit},_t.prototype.setMitreLimit=function(t){this._mitreLimit=t},_t.prototype.setSingleSided=function(t){this._isSingleSided=t},_t.prototype.interfaces_=function(){return[]},_t.prototype.getClass=function(){return _t},_t.bufferDistanceError=function(t){var e=Math.PI/2/t;return 1-Math.cos(e/2)},Gn.CAP_ROUND.get=function(){return 1},Gn.CAP_FLAT.get=function(){return 2},Gn.CAP_SQUARE.get=function(){return 3},Gn.JOIN_ROUND.get=function(){return 1},Gn.JOIN_MITRE.get=function(){return 2},Gn.JOIN_BEVEL.get=function(){return 3},Gn.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},Gn.DEFAULT_MITRE_LIMIT.get=function(){return 5},Gn.DEFAULT_SIMPLIFY_FACTOR.get=function(){return .01},Object.defineProperties(_t,Gn);var Ft=function(t){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=G.COUNTERCLOCKWISE,this._inputLine=t||null},Ua={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};Ft.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)},Ft.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]=Ft.DELETE,o=!0,s=!0),o?e=i:e=r,r=t.findNextNonDeletedIndex(e),i=t.findNextNonDeletedIndex(r)}return s},Ft.prototype.isShallowConcavity=function(t,e,r,i){var s=G.computeOrientation(t,e,r),o=s===this._angleOrientation;if(!o)return!1;var a=G.distancePointLine(e,t,r);return a<i},Ft.prototype.isShallowSampled=function(t,e,r,i,s){var o=this,a=Math.trunc((i-r)/Ft.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},Ft.prototype.isConcave=function(t,e,r){var i=G.computeOrientation(t,e,r),s=i===this._angleOrientation;return s},Ft.prototype.simplify=function(t){var e=this;this._distanceTol=Math.abs(t),t<0&&(this._angleOrientation=G.CLOCKWISE),this._isDeleted=new Array(this._inputLine.length).fill(null);var r=!1;do r=e.deleteShallowConcavities();while(r);return this.collapseLine()},Ft.prototype.findNextNonDeletedIndex=function(t){for(var e=t+1;e<this._inputLine.length&&this._isDeleted[e]===Ft.DELETE;)e++;return e},Ft.prototype.isShallow=function(t,e,r,i){var s=G.distancePointLine(e,t,r);return s<i},Ft.prototype.collapseLine=function(){for(var t=this,e=new Ta,r=0;r<this._inputLine.length;r++)t._isDeleted[r]!==Ft.DELETE&&e.add(t._inputLine[r]);return e.toCoordinateArray()},Ft.prototype.interfaces_=function(){return[]},Ft.prototype.getClass=function(){return Ft},Ft.simplify=function(t,e){var r=new Ft(t);return r.simplify(e)},Ua.INIT.get=function(){return 0},Ua.DELETE.get=function(){return 1},Ua.KEEP.get=function(){return 1},Ua.NUM_PTS_TO_CHECK.get=function(){return 10},Object.defineProperties(Ft,Ua);var $e=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new U},Vd={COORDINATE_ARRAY_TYPE:{configurable:!0}};$e.prototype.getCoordinates=function(){var t=this._ptList.toArray($e.COORDINATE_ARRAY_TYPE);return t},$e.prototype.setPrecisionModel=function(t){this._precisionModel=t},$e.prototype.addPt=function(t){var e=new N(t);if(this._precisionModel.makePrecise(e),this.isRedundant(e))return null;this._ptList.add(e)},$e.prototype.revere=function(){},$e.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])},$e.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},$e.prototype.toString=function(){var t=new ut,e=t.createLineString(this.getCoordinates());return e.toString()},$e.prototype.closeRing=function(){if(this._ptList.size()<1)return null;var t=new N(this._ptList.get(0)),e=this._ptList.get(this._ptList.size()-1);if(t.equals(e))return null;this._ptList.add(t)},$e.prototype.setMinimumVertexDistance=function(t){this._minimimVertexDistance=t},$e.prototype.interfaces_=function(){return[]},$e.prototype.getClass=function(){return $e},Vd.COORDINATE_ARRAY_TYPE.get=function(){return new Array(0).fill(null)},Object.defineProperties($e,Vd);var ct=function(){},gs={PI_TIMES_2:{configurable:!0},PI_OVER_2:{configurable:!0},PI_OVER_4:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},CLOCKWISE:{configurable:!0},NONE:{configurable:!0}};ct.prototype.interfaces_=function(){return[]},ct.prototype.getClass=function(){return ct},ct.toDegrees=function(t){return t*180/Math.PI},ct.normalize=function(t){for(;t>Math.PI;)t-=ct.PI_TIMES_2;for(;t<=-Math.PI;)t+=ct.PI_TIMES_2;return t},ct.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)}},ct.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},ct.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},ct.interiorAngle=function(t,e,r){var i=ct.angle(e,t),s=ct.angle(e,r);return Math.abs(s-i)},ct.normalizePositive=function(t){if(t<0){for(;t<0;)t+=ct.PI_TIMES_2;t>=ct.PI_TIMES_2&&(t=0)}else{for(;t>=ct.PI_TIMES_2;)t-=ct.PI_TIMES_2;t<0&&(t=0)}return t},ct.angleBetween=function(t,e,r){var i=ct.angle(e,t),s=ct.angle(e,r);return ct.diff(i,s)},ct.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},ct.toRadians=function(t){return t*Math.PI/180},ct.getTurn=function(t,e){var r=Math.sin(e-t);return r>0?ct.COUNTERCLOCKWISE:r<0?ct.CLOCKWISE:ct.NONE},ct.angleBetweenOriented=function(t,e,r){var i=ct.angle(e,t),s=ct.angle(e,r),o=s-i;return o<=-Math.PI?o+ct.PI_TIMES_2:o>Math.PI?o-ct.PI_TIMES_2:o},gs.PI_TIMES_2.get=function(){return 2*Math.PI},gs.PI_OVER_2.get=function(){return Math.PI/2},gs.PI_OVER_4.get=function(){return Math.PI/4},gs.COUNTERCLOCKWISE.get=function(){return G.COUNTERCLOCKWISE},gs.CLOCKWISE.get=function(){return G.CLOCKWISE},gs.NONE.get=function(){return G.COLLINEAR},Object.defineProperties(ct,gs);var Nt=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 Y,this._seg1=new Y,this._offset0=new Y,this._offset1=new Y,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 Ni,this._filletAngleQuantum=Math.PI/2/e.getQuadrantSegments(),e.getQuadrantSegments()>=8&&e.getJoinStyle()===_t.JOIN_ROUND&&(this._closingSegLengthFactor=n.MAX_CLOSING_SEG_LEN_FACTOR),this.init(r)},Ga={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}};Nt.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=G.computeOrientation(this._s0,this._s1,this._s2),i=r===G.CLOCKWISE&&this._side===z.LEFT||r===G.COUNTERCLOCKWISE&&this._side===z.RIGHT;r===0?this.addCollinear(e):i?this.addOutsideTurn(r,e):this.addInsideTurn(r,e)},Nt.prototype.addLineEndCap=function(t,e){var r=new Y(t,e),i=new Y;this.computeOffsetSegment(r,z.LEFT,this._distance,i);var s=new Y;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 _t.CAP_ROUND:this._segList.addPt(i.p1),this.addFilletArc(e,u+Math.PI/2,u-Math.PI/2,G.CLOCKWISE,this._distance),this._segList.addPt(s.p1);break;case _t.CAP_FLAT:this._segList.addPt(i.p1),this._segList.addPt(s.p1);break;case _t.CAP_SQUARE:var l=new N;l.x=Math.abs(this._distance)*Math.cos(u),l.y=Math.abs(this._distance)*Math.sin(u);var c=new N(i.p1.x+l.x,i.p1.y+l.y),h=new N(s.p1.x+l.x,s.p1.y+l.y);this._segList.addPt(c),this._segList.addPt(h);break}},Nt.prototype.getCoordinates=function(){var t=this._segList.getCoordinates();return t},Nt.prototype.addMitreJoin=function(t,e,r,i){var s=!0,o=null;try{o=vr.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 io)o=new N(0,0),s=!1;else throw u}finally{}s?this._segList.addPt(o):this.addLimitedMitreJoin(e,r,i,this._bufParams.getMitreLimit())},Nt.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===G.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)},Nt.prototype.addOutsideTurn=function(t,e){if(this._offset0.p1.distance(this._offset1.p0)<this._distance*Nt.OFFSET_SEGMENT_SEPARATION_FACTOR)return this._segList.addPt(this._offset0.p1),null;this._bufParams.getJoinStyle()===_t.JOIN_MITRE?this.addMitreJoin(this._s1,this._offset0,this._offset1,this._distance):this._bufParams.getJoinStyle()===_t.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))},Nt.prototype.createSquare=function(t){this._segList.addPt(new N(t.x+this._distance,t.y+this._distance)),this._segList.addPt(new N(t.x+this._distance,t.y-this._distance)),this._segList.addPt(new N(t.x-this._distance,t.y-this._distance)),this._segList.addPt(new N(t.x-this._distance,t.y+this._distance)),this._segList.closeRing()},Nt.prototype.addSegments=function(t,e){this._segList.addPts(t,e)},Nt.prototype.addFirstSegment=function(){this._segList.addPt(this._offset1.p0)},Nt.prototype.addLastSegment=function(){this._segList.addPt(this._offset1.p1)},Nt.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)},Nt.prototype.addLimitedMitreJoin=function(t,e,r,i){var s=this._seg0.p1,o=ct.angle(s,this._seg0.p0),a=ct.angleBetweenOriented(this._seg0.p0,s,this._seg1.p1),u=a/2,l=ct.normalize(o+u),c=ct.normalize(l+Math.PI),h=i*r,d=h*Math.abs(Math.sin(u)),g=r-d,v=s.x+h*Math.cos(c),E=s.y+h*Math.sin(c),C=new N(v,E),b=new Y(s,C),m=b.pointAlongOffset(1,g),y=b.pointAlongOffset(1,-g);this._side===z.LEFT?(this._segList.addPt(m),this._segList.addPt(y)):(this._segList.addPt(y),this._segList.addPt(m))},Nt.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},Nt.prototype.addFilletArc=function(t,e,r,i,s){var o=this,a=i===G.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 N;d<u;){var v=e+a*d;g.x=t.x+s*Math.cos(v),g.y=t.y+s*Math.sin(v),o._segList.addPt(g),d+=h}},Nt.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*Nt.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 N((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 N((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)}},Nt.prototype.createCircle=function(t){var e=new N(t.x+this._distance,t.y);this._segList.addPt(e),this.addFilletArc(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},Nt.prototype.addBevelJoin=function(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)},Nt.prototype.init=function(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new $e,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*Nt.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},Nt.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()===_t.JOIN_BEVEL||this._bufParams.getJoinStyle()===_t.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,G.CLOCKWISE,this._distance))},Nt.prototype.closeRing=function(){this._segList.closeRing()},Nt.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},Nt.prototype.interfaces_=function(){return[]},Nt.prototype.getClass=function(){return Nt},Ga.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return .001},Ga.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return .001},Ga.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},Ga.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(Nt,Ga);var Oe=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e};Oe.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&&at.reverse(o),o},Oe.prototype.computeSingleSidedBufferCurve=function(t,e,r){var i=this.simplifyTolerance(this._distance);if(e){r.addSegments(t,!0);var s=Ft.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=Ft.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()},Oe.prototype.computeRingBufferCurve=function(t,e,r){var i=this.simplifyTolerance(this._distance);e===z.RIGHT&&(i=-i);var s=Ft.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()},Oe.prototype.computeLineBufferCurve=function(t,e){var r=this.simplifyTolerance(this._distance),i=Ft.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=Ft.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()},Oe.prototype.computePointCurve=function(t,e){switch(this._bufParams.getEndCapStyle()){case _t.CAP_ROUND:e.createCircle(t);break;case _t.CAP_SQUARE:e.createSquare(t);break}},Oe.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},Oe.prototype.getBufferParameters=function(){return this._bufParams},Oe.prototype.simplifyTolerance=function(t){return t*this._bufParams.getSimplifyFactor()},Oe.prototype.getRingCurve=function(t,e,r){if(this._distance=r,t.length<=2)return this.getLineCurve(t,r);if(r===0)return Oe.copyCoordinates(t);var i=this.getSegGen(r);return this.computeRingBufferCurve(t,e,i),i.getCoordinates()},Oe.prototype.computeOffsetCurve=function(t,e,r){var i=this.simplifyTolerance(this._distance);if(e){var s=Ft.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=Ft.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()},Oe.prototype.getSegGen=function(t){return new Nt(this._precisionModel,this._bufParams,t)},Oe.prototype.interfaces_=function(){return[]},Oe.prototype.getClass=function(){return Oe},Oe.copyCoordinates=function(t){for(var e=new Array(t.length).fill(null),r=0;r<e.length;r++)e[r]=new N(t[r]);return e};var ms=function(){this._subgraphs=null,this._seg=new Y,this._cga=new G;var t=arguments[0];this._subgraphs=t},zd={DepthSegment:{configurable:!0}};ms.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(Q(arguments[2],_r)&&arguments[0]instanceof N&&arguments[1]instanceof ac)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)&&G.computeOrientation(t._seg.p0,t._seg.p1,a)!==G.RIGHT){var g=u.getDepth(z.LEFT);t._seg.p0.equals(c[h])||(g=u.getDepth(z.RIGHT));var v=new Di(t._seg,g);l.add(v)}}else if(Q(arguments[2],_r)&&arguments[0]instanceof N&&Q(arguments[1],_r))for(var E=arguments[0],C=arguments[1],b=arguments[2],m=C.iterator();m.hasNext();){var y=m.next();y.isForward()&&t.findStabbedSegments(E,y,b)}}},ms.prototype.getDepth=function(t){var e=this.findStabbedSegments(t);if(e.size()===0)return 0;var r=Cr.min(e);return r._leftDepth},ms.prototype.interfaces_=function(){return[]},ms.prototype.getClass=function(){return ms},zd.DepthSegment.get=function(){return Di},Object.defineProperties(ms,zd);var Di=function(){this._upwardSeg=null,this._leftDepth=null;var t=arguments[0],e=arguments[1];this._upwardSeg=new Y(t),this._leftDepth=e};Di.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)},Di.prototype.compareX=function(t,e){var r=t.p0.compareTo(e.p0);return r!==0?r:t.p1.compareTo(e.p1)},Di.prototype.toString=function(){return this._upwardSeg.toString()},Di.prototype.interfaces_=function(){return[sr]},Di.prototype.getClass=function(){return Di};var wt=function(t,e,r){this.p0=t||null,this.p1=e||null,this.p2=r||null};wt.prototype.area=function(){return wt.area(this.p0,this.p1,this.p2)},wt.prototype.signedArea=function(){return wt.signedArea(this.p0,this.p1,this.p2)},wt.prototype.interpolateZ=function(t){if(t===null)throw new xt("Supplied point is null.");return wt.interpolateZ(t,this.p0,this.p1,this.p2)},wt.prototype.longestSideLength=function(){return wt.longestSideLength(this.p0,this.p1,this.p2)},wt.prototype.isAcute=function(){return wt.isAcute(this.p0,this.p1,this.p2)},wt.prototype.circumcentre=function(){return wt.circumcentre(this.p0,this.p1,this.p2)},wt.prototype.area3D=function(){return wt.area3D(this.p0,this.p1,this.p2)},wt.prototype.centroid=function(){return wt.centroid(this.p0,this.p1,this.p2)},wt.prototype.inCentre=function(){return wt.inCentre(this.p0,this.p1,this.p2)},wt.prototype.interfaces_=function(){return[]},wt.prototype.getClass=function(){return wt},wt.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)},wt.signedArea=function(t,e,r){return((r.x-t.x)*(e.y-t.y)-(e.x-t.x)*(r.y-t.y))/2},wt.det=function(t,e,r,i){return t*i-e*r},wt.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,v=(c*d-u*g)/h,E=(-l*d+a*g)/h,C=e.z+v*(r.z-e.z)+E*(i.z-e.z);return C},wt.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},wt.isAcute=function(t,e,r){return!(!ct.isAcute(t,e,r)||!ct.isAcute(e,r,t)||!ct.isAcute(r,t,e))},wt.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*wt.det(o,a,u,l),h=wt.det(a,o*o+a*a,l,u*u+l*l),d=wt.det(o,o*o+a*a,u,u*u+l*l),g=i-h/c,v=s+d/c;return new N(g,v)},wt.perpendicularBisector=function(t,e){var r=e.x-t.x,i=e.y-t.y,s=new vr(t.x+r/2,t.y+i/2,1),o=new vr(t.x-i+r/2,t.y+r+i/2,1);return new vr(s,o)},wt.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 N(t.x+o*a,t.y+o*u);return l},wt.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,v=Math.sqrt(g)/2;return v},wt.centroid=function(t,e,r){var i=(t.x+e.x+r.x)/3,s=(t.y+e.y+r.y)/3;return new N(i,s)},wt.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 N(u,l)};var hr=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};hr.prototype.addPoint=function(t){if(this._distance<=0)return null;var e=t.getCoordinates(),r=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(r,O.EXTERIOR,O.INTERIOR)},hr.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=at.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,O.EXTERIOR,O.INTERIOR);for(var a=0;a<t.getNumInteriorRing();a++){var u=t.getInteriorRingN(a),l=at.removeRepeatedPoints(u.getCoordinates());e._distance>0&&e.isErodedCompletely(u,-e._distance)||e.addPolygonRing(l,r,z.opposite(i),O.INTERIOR,O.EXTERIOR)}},hr.prototype.isTriangleErodedCompletely=function(t,e){var r=new wt(t[0],t[1],t[2]),i=r.inCentre(),s=G.distancePointLine(i,r.p0,r.p1);return s<Math.abs(e)},hr.prototype.addLineString=function(t){if(this._distance<=0&&!this._curveBuilder.getBufferParameters().isSingleSided())return null;var e=at.removeRepeatedPoints(t.getCoordinates()),r=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(r,O.EXTERIOR,O.INTERIOR)},hr.prototype.addCurve=function(t,e,r){if(t===null||t.length<2)return null;var i=new Gt(t,new Et(0,O.BOUNDARY,e,r));this._curveList.add(i)},hr.prototype.getCurves=function(){return this.add(this._inputGeom),this._curveList},hr.prototype.addPolygonRing=function(t,e,r,i,s){if(e===0&&t.length<hn.MINIMUM_VALID_SIZE)return null;var o=i,a=s;t.length>=hn.MINIMUM_VALID_SIZE&&G.isCCW(t)&&(o=s,a=i,r=z.opposite(r));var u=this._curveBuilder.getRingCurve(t,r,e);this.addCurve(u,o,a)},hr.prototype.add=function(t){if(t.isEmpty())return null;t instanceof Bt?this.addPolygon(t):t instanceof Rt?this.addLineString(t):t instanceof Ve?this.addPoint(t):t instanceof po?this.addCollection(t):t instanceof Oi?this.addCollection(t):t instanceof fn?this.addCollection(t):t instanceof me&&this.addCollection(t)},hr.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},hr.prototype.addCollection=function(t){for(var e=this,r=0;r<t.getNumGeometries();r++){var i=t.getGeometryN(r);e.add(i)}},hr.prototype.interfaces_=function(){return[]},hr.prototype.getClass=function(){return hr};var yo=function(){};yo.prototype.locate=function(t){},yo.prototype.interfaces_=function(){return[]},yo.prototype.getClass=function(){return yo};var gn=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()};gn.prototype.next=function(){if(this._atStart)return this._atStart=!1,gn.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 ho;var t=this._parent.getGeometryN(this._index++);return t instanceof me?(this._subcollectionIterator=new gn(t),this._subcollectionIterator.next()):t},gn.prototype.remove=function(){throw new Error(this.getClass().getName())},gn.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)},gn.prototype.interfaces_=function(){return[co]},gn.prototype.getClass=function(){return gn},gn.isAtomic=function(t){return!(t instanceof me)};var tr=function(){this._geom=null;var t=arguments[0];this._geom=t};tr.prototype.locate=function(t){return tr.locate(t,this._geom)},tr.prototype.interfaces_=function(){return[yo]},tr.prototype.getClass=function(){return tr},tr.isPointInRing=function(t,e){return e.getEnvelopeInternal().intersects(t)?G.isPointInRing(t,e.getCoordinates()):!1},tr.containsPointInPolygon=function(t,e){if(e.isEmpty())return!1;var r=e.getExteriorRing();if(!tr.isPointInRing(t,r))return!1;for(var i=0;i<e.getNumInteriorRing();i++){var s=e.getInteriorRingN(i);if(tr.isPointInRing(t,s))return!1}return!0},tr.containsPoint=function(t,e){if(e instanceof Bt)return tr.containsPointInPolygon(t,e);if(e instanceof me)for(var r=new gn(e);r.hasNext();){var i=r.next();if(i!==e&&tr.containsPoint(t,i))return!0}return!1},tr.locate=function(t,e){return e.isEmpty()?O.EXTERIOR:tr.containsPoint(t,e)?O.INTERIOR:O.EXTERIOR};var de=function(){this._edgeMap=new he,this._edgeList=null,this._ptInAreaLocation=[O.NONE,O.NONE]};de.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)},de.prototype.propagateSideLabels=function(t){for(var e=O.NONE,r=this.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();s.isArea(t)&&s.getLocation(t,z.LEFT)!==O.NONE&&(e=s.getLocation(t,z.LEFT))}if(e===O.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)===O.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!==O.NONE){if(h!==o)throw new zn("side location conflict",u.getCoordinate());c===O.NONE&&st.shouldNeverReachHere("found single null side (at "+u.getCoordinate()+")"),o=c}else st.isTrue(l.getLocation(t,z.LEFT)===O.NONE,"found single null side"),l.setLocation(t,z.RIGHT,o),l.setLocation(t,z.LEFT,o)}}},de.prototype.getCoordinate=function(){var t=this.iterator();if(!t.hasNext())return null;var e=t.next();return e.getCoordinate()},de.prototype.print=function(t){ne.out.println("EdgeEndStar: "+this.getCoordinate());for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},de.prototype.isAreaLabelsConsistent=function(t){return this.computeEdgeEndLabels(t.getBoundaryNodeRule()),this.checkAreaLabelsConsistent(0)},de.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);st.isTrue(s!==O.NONE,"Found unlabelled area edge");for(var o=s,a=this.iterator();a.hasNext();){var u=a.next(),l=u.getLabel();st.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},de.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},de.prototype.iterator=function(){return this.getEdges().iterator()},de.prototype.getEdges=function(){return this._edgeList===null&&(this._edgeList=new U(this._edgeMap.values())),this._edgeList},de.prototype.getLocation=function(t,e,r){return this._ptInAreaLocation[t]===O.NONE&&(this._ptInAreaLocation[t]=tr.locate(e,r[t].getGeometry())),this._ptInAreaLocation[t]},de.prototype.toString=function(){var t=new xr;t.append("EdgeEndStar: "+this.getCoordinate()),t.append(`
|
|
5
43
|
`);for(var e=this.iterator();e.hasNext();){var r=e.next();t.append(r),t.append(`
|
|
6
|
-
`)}return t.toString()},ye.prototype.computeEdgeEndLabels=function(t){for(var e=this.iterator();e.hasNext();){var r=e.next();r.computeLabel(t)}},ye.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(),f=0;f<2;f++)if(c.isAnyNull(f)){var p=R.NONE;if(r[f])p=R.EXTERIOR;else{var v=l.getCoordinate();p=e.getLocation(f,v,t)}c.setAllLocationsIfNull(f,p)}},ye.prototype.getDegree=function(){return this._edgeMap.size()},ye.prototype.insertEdgeEnd=function(t,e){this._edgeMap.put(t,e),this._edgeList=null},ye.prototype.interfaces_=function(){return[]},ye.prototype.getClass=function(){return ye};var iv=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 Zn("no outgoing dirEdge found",this.getCoordinate());ut.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 Ot.isNorthern(a)&&Ot.isNorthern(u)?s:!Ot.isNorthern(a)&&!Ot.isNorthern(u)?o:s.getDy()!==0?s:o.getDy()!==0?o:(ut.shouldNeverReachHere("found two horizontal edges incident on node"),null)},t.prototype.print=function(r){ue.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 z;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(V.LEFT),a=i.getDepth(V.RIGHT),u=this.computeDepths(s+1,this._edgeList.size(),o),l=this.computeDepths(0,s,u);if(l!==a)throw new Zn("depth mismatch at "+i.getCoordinate())}else if(arguments.length===3){for(var c=arguments[0],f=arguments[1],p=arguments[2],v=p,w=c;w<f;w++){var I=r._edgeList.get(w);I.setEdgeDepths(V.RIGHT,v),v=I.getDepth(V.LEFT)}return v}},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&&(ut.isTrue(s!==null,"found null for first outgoing dirEdge"),ut.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 bt(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}(ye),Qf=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 bu(r,new iv)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t}(vo),yi=function n(){this._pts=null,this._orientation=null;var t=arguments[0];this._pts=t,this._orientation=n.orientation(t)};yi.prototype.compareTo=function(t){var e=t,r=yi.compareOriented(this._pts,this._orientation,e._pts,e._orientation);return r},yi.prototype.interfaces_=function(){return[ur]},yi.prototype.getClass=function(){return yi},yi.orientation=function(t){return ht.increasingDirection(t)===1},yi.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 f=t[l].compareTo(r[c]);if(f!==0)return f;l+=s,c+=o;var p=l===a,v=c===u;if(p&&!v)return-1;if(!p&&v)return 1;if(p&&v)return 0}};var xr=function(){this._edges=new z,this._ocaMap=new me};xr.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(") ")},xr.prototype.addAll=function(t){for(var e=this,r=t.iterator();r.hasNext();)e.add(r.next())},xr.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},xr.prototype.iterator=function(){return this._edges.iterator()},xr.prototype.getEdges=function(){return this._edges},xr.prototype.get=function(t){return this._edges.get(t)},xr.prototype.findEqualEdge=function(t){var e=new yi(t.getCoordinates()),r=this._ocaMap.get(e);return r},xr.prototype.add=function(t){this._edges.add(t);var e=new yi(t.getCoordinates());this._ocaMap.put(e,t)},xr.prototype.interfaces_=function(){return[]},xr.prototype.getClass=function(){return xr};var qi=function(){};qi.prototype.processIntersections=function(t,e,r,i){},qi.prototype.isDone=function(){},qi.prototype.interfaces_=function(){return[]},qi.prototype.getClass=function(){return qi};var nr=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};nr.prototype.isTrivialIntersection=function(t,e,r,i){if(t===r&&this._li.getIntersectionNum()===1){if(nr.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},nr.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},nr.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},nr.prototype.getLineIntersector=function(){return this._li},nr.prototype.hasProperIntersection=function(){return this._hasProper},nr.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)))},nr.prototype.hasIntersection=function(){return this._hasIntersection},nr.prototype.isDone=function(){return!1},nr.prototype.hasInteriorIntersection=function(){return this._hasInterior},nr.prototype.interfaces_=function(){return[qi]},nr.prototype.getClass=function(){return nr},nr.isAdjacentSegments=function(t,e){return Math.abs(t-e)===1};var Kr=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};Kr.prototype.getSegmentIndex=function(){return this.segmentIndex},Kr.prototype.getCoordinate=function(){return this.coord},Kr.prototype.print=function(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex),t.println(" dist = "+this.dist)},Kr.prototype.compareTo=function(t){var e=t;return this.compare(e.segmentIndex,e.dist)},Kr.prototype.isEndPoint=function(t){return this.segmentIndex===0&&this.dist===0||this.segmentIndex===t},Kr.prototype.toString=function(){return this.coord+" seg # = "+this.segmentIndex+" dist = "+this.dist},Kr.prototype.getDistance=function(){return this.dist},Kr.prototype.compare=function(t,e){return this.segmentIndex<t?-1:this.segmentIndex>t?1:this.dist<e?-1:this.dist>e?1:0},Kr.prototype.interfaces_=function(){return[ur]},Kr.prototype.getClass=function(){return Kr};var Cn=function(){this._nodeMap=new me,this.edge=null;var t=arguments[0];this.edge=t};Cn.prototype.print=function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},Cn.prototype.iterator=function(){return this._nodeMap.values().iterator()},Cn.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}},Cn.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)},Cn.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 Ou(a,new bt(this.edge._label))},Cn.prototype.add=function(t,e,r){var i=new Kr(t,e,r),s=this._nodeMap.get(i);return s!==null?s:(this._nodeMap.put(i,i),i)},Cn.prototype.isIntersection=function(t){for(var e=this.iterator();e.hasNext();){var r=e.next();if(r.coord.equals(t))return!0}return!1},Cn.prototype.interfaces_=function(){return[]},Cn.prototype.getClass=function(){return Cn};var Xi=function(){};Xi.prototype.getChainStartIndices=function(t){var e=this,r=0,i=new z;i.add(new Vr(r));do{var s=e.findChainEnd(t,r);i.add(new Vr(s)),r=s}while(r<t.length-1);var o=Xi.toIntArray(i);return o},Xi.prototype.findChainEnd=function(t,e){for(var r=Ot.quadrant(t[e],t[e+1]),i=e+1;i<t.length;){var s=Ot.quadrant(t[i-1],t[i]);if(s!==r)break;i++}return i-1},Xi.prototype.interfaces_=function(){return[]},Xi.prototype.getClass=function(){return Xi},Xi.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 Bn=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 Xi;this.startIndex=e.getChainStartIndices(this.pts)};Bn.prototype.getCoordinates=function(){return this.pts},Bn.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},Bn.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},Bn.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],f=this.pts[s],p=this.pts[o],v=a.pts[u],w=a.pts[l];if(o-s===1&&l-u===1)return c.addIntersections(this.e,s,a.e,u),null;if(this.env1.init(f,p),this.env2.init(v,w),!this.env1.intersects(this.env2))return null;var I=Math.trunc((s+o)/2),P=Math.trunc((u+l)/2);s<I&&(u<P&&this.computeIntersectsForChain(s,I,a,u,P,c),P<l&&this.computeIntersectsForChain(s,I,a,P,l,c)),I<o&&(u<P&&this.computeIntersectsForChain(I,o,a,u,P,c),P<l&&this.computeIntersectsForChain(I,o,a,P,l,c))}},Bn.prototype.getStartIndexes=function(){return this.startIndex},Bn.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)},Bn.prototype.interfaces_=function(){return[]},Bn.prototype.getClass=function(){return Bn};var le=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},Bf={NULL_VALUE:{configurable:!0}};le.prototype.getDepth=function(t,e){return this._depth[t][e]},le.prototype.setDepth=function(t,e,r){this._depth[t][e]=r},le.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]!==le.NULL_VALUE)return!1;return!0}else if(arguments.length===1){var i=arguments[0];return this._depth[i][1]===le.NULL_VALUE}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._depth[s][o]===le.NULL_VALUE}},le.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}}},le.prototype.getDelta=function(t){return this._depth[t][V.RIGHT]-this._depth[t][V.LEFT]},le.prototype.getLocation=function(t,e){return this._depth[t][e]<=0?R.EXTERIOR:R.INTERIOR},le.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},le.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]=le.depthAtLocation(s):t._depth[r][i]+=le.depthAtLocation(s))}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2];u===R.INTERIOR&&this._depth[o][a]++}},le.prototype.interfaces_=function(){return[]},le.prototype.getClass=function(){return le},le.depthAtLocation=function(t){return t===R.EXTERIOR?0:t===R.INTERIOR?1:le.NULL_VALUE},Bf.NULL_VALUE.get=function(){return-1},Object.defineProperties(le,Bf);var Ou=function(n){function t(){if(n.call(this),this.pts=null,this._env=null,this.eiList=new Cn(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new le,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,bt.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 Bn(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 f=this.pts[c];a.equals2D(f)&&(u=c,l=0)}this.eiList.add(a,u,l)},t.prototype.toString=function(){var r=this,i=new kr;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,V.ON),r.getLocation(1,V.ON),1),r.isArea()&&(i.setAtLeastIfValid(r.getLocation(0,V.LEFT),r.getLocation(1,V.LEFT),2),i.setAtLeastIfValid(r.getLocation(0,V.RIGHT),r.getLocation(1,V.RIGHT),2))}else return n.prototype.updateIM.apply(this,arguments)},t}(tr),Ie=function(t){this._workingPrecisionModel=null,this._workingNoder=null,this._geomFact=null,this._graph=null,this._edgeList=new xr,this._bufParams=t||null};Ie.prototype.setWorkingPrecisionModel=function(t){this._workingPrecisionModel=t},Ie.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 bt(t.getLabel()),i.flip()),r.merge(i);var s=Ie.depthDelta(i),o=e.getDepthDelta(),a=o+s;e.setDepthDelta(a)}else this._edgeList.add(t),t.setDepthDelta(Ie.depthDelta(t.getLabel()))},Ie.prototype.buildSubgraphs=function(t,e){for(var r=new z,i=t.iterator();i.hasNext();){var s=i.next(),o=s.getRightmostCoordinate(),a=new Ns(r),u=a.getDepth(o);s.computeDepth(u),s.findResultEdges(),r.add(s),e.add(s.getDirectedEdges(),s.getNodes())}},Ie.prototype.createSubgraphs=function(t){for(var e=new z,r=t.getNodes().iterator();r.hasNext();){var i=r.next();if(!i.isVisited()){var s=new Se;s.create(i),e.add(s)}}return Mr.sort(e,Mr.reverseOrder()),e},Ie.prototype.createEmptyResultGeometry=function(){var t=this._geomFact.createPolygon();return t},Ie.prototype.getNoder=function(t){if(this._workingNoder!==null)return this._workingNoder;var e=new Fl,r=new ki;return r.setPrecisionModel(t),e.setSegmentIntersector(new nr(r)),e},Ie.prototype.buffer=function(t,e){var r=this._workingPrecisionModel;r===null&&(r=t.getPrecisionModel()),this._geomFact=t.getFactory();var i=new Le(r,this._bufParams),s=new pr(t,e,i),o=s.getCurves();if(o.size()<=0)return this.createEmptyResultGeometry();this.computeNodedEdges(o,r),this._graph=new Ut(new Qf),this._graph.addEdges(this._edgeList.getEdges());var a=this.createSubgraphs(this._graph),u=new Ge(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},Ie.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 Ou(a.getCoordinates(),new bt(l));r.insertUniqueEdge(c)}}},Ie.prototype.setNoder=function(t){this._workingNoder=t},Ie.prototype.interfaces_=function(){return[]},Ie.prototype.getClass=function(){return Ie},Ie.depthDelta=function(t){var e=t.getLocation(0,V.LEFT),r=t.getLocation(0,V.RIGHT);return e===R.INTERIOR&&r===R.EXTERIOR?1:e===R.EXTERIOR&&r===R.INTERIOR?-1:0},Ie.convertSegStrings=function(t){for(var e=new ft,r=new z;t.hasNext();){var i=t.next(),s=e.createLineString(i.getCoordinates());r.add(s)}return e.buildGeometry(r)};var _i=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()}};_i.prototype.rescale=function(){var t=this;if(et(arguments[0],Bt))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])&&ue.out.println(s)}},_i.prototype.scale=function(){var t=this;if(et(arguments[0],Bt)){for(var e=arguments[0],r=new z,i=e.iterator();i.hasNext();){var s=i.next();r.add(new Yt(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=ht.removeRepeatedPoints(a);return l}},_i.prototype.isIntegerPrecision=function(){return this._scaleFactor===1},_i.prototype.getNodedSubstrings=function(){var t=this._noder.getNodedSubstrings();return this._isScaled&&this.rescale(t),t},_i.prototype.computeNodes=function(t){var e=t;this._isScaled&&(e=this.scale(t)),this._noder.computeNodes(e)},_i.prototype.interfaces_=function(){return[Gi]},_i.prototype.getClass=function(){return _i};var Qr=function(){this._li=new ki,this._segStrings=null;var t=arguments[0];this._segStrings=t},$f={fact:{configurable:!0}};Qr.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 Wn("found endpt/interior pt intersection at index "+c+" :pt "+s)}},Qr.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 f=0;f<l.length-1;f++)t.checkInteriorIntersections(o,c,a,f);else if(arguments.length===4){var p=arguments[0],v=arguments[1],w=arguments[2],I=arguments[3];if(p===w&&v===I)return null;var P=p.getCoordinates()[v],M=p.getCoordinates()[v+1],m=w.getCoordinates()[I],_=w.getCoordinates()[I+1];if(this._li.computeIntersection(P,M,m,_),this._li.hasIntersection()&&(this._li.isProper()||this.hasInteriorIntersection(this._li,P,M)||this.hasInteriorIntersection(this._li,m,_)))throw new Wn("found non-noded intersection at "+P+"-"+M+" and "+m+"-"+_)}},Qr.prototype.checkValid=function(){this.checkEndPtVertexIntersections(),this.checkInteriorIntersections(),this.checkCollapses()},Qr.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])},Qr.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},Qr.prototype.checkCollapse=function(t,e,r){if(t.equals(r))throw new Wn("found non-noded collapse at "+Qr.fact.createLineString([t,e,r]))},Qr.prototype.interfaces_=function(){return[]},Qr.prototype.getClass=function(){return Qr},$f.fact.get=function(){return new ft},Object.defineProperties(Qr,$f);var Ae=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 Ft("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)},jf={SAFE_ENV_EXPANSION_FACTOR:{configurable:!0}};Ae.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 ut.isTrue(!(a&&u),"Found bad envelope test"),u},Ae.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)},Ae.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))},Ae.prototype.scale=function(t){return Math.round(t*this._scaleFactor)},Ae.prototype.getCoordinate=function(){return this._originalPt},Ae.prototype.copyScaled=function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)},Ae.prototype.getSafeEnvelope=function(){if(this._safeEnv===null){var t=Ae.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},Ae.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()))},Ae.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))},Ae.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},Ae.prototype.interfaces_=function(){return[]},Ae.prototype.getClass=function(){return Ae},jf.SAFE_ENV_EXPANSION_FACTOR.get=function(){return .75},Object.defineProperties(Ae,jf);var Ra=function(){this.tempEnv1=new J,this.selectedSegment=new Z};Ra.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)}}},Ra.prototype.interfaces_=function(){return[]},Ra.prototype.getClass=function(){return Ra};var Eo=function(){this._index=null;var t=arguments[0];this._index=t},td={HotPixelSnapAction:{configurable:!0}};Eo.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 ed(e,r,i);return this._index.query(s,{interfaces_:function(){return[mi]},visitItem:function(a){var u=a;u.select(s,o)}}),o.isNodeAdded()}},Eo.prototype.interfaces_=function(){return[]},Eo.prototype.getClass=function(){return Eo},td.HotPixelSnapAction.get=function(){return ed},Object.defineProperties(Eo,td);var ed=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}(Ra),bs=function(){this._li=null,this._interiorIntersections=null;var t=arguments[0];this._li=t,this._interiorIntersections=new z};bs.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)}},bs.prototype.isDone=function(){return!1},bs.prototype.getInteriorIntersections=function(){return this._interiorIntersections},bs.prototype.interfaces_=function(){return[qi]},bs.prototype.getClass=function(){return bs};var In=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 ki,this._li.setPrecisionModel(t),this._scaleFactor=t.getScale()};In.prototype.checkCorrectness=function(t){var e=Yt.getNodedSubstrings(t),r=new Qr(e);try{r.checkValid()}catch(i){if(i instanceof Af)i.printStackTrace();else throw i}finally{}},In.prototype.getNodedSubstrings=function(){return Yt.getNodedSubstrings(this._nodedSegStrings)},In.prototype.snapRound=function(t,e){var r=this.findInteriorIntersections(t,e);this.computeIntersectionSnaps(r),this.computeVertexSnaps(t)},In.prototype.findInteriorIntersections=function(t,e){var r=new bs(e);return this._noder.setSegmentIntersector(r),this._noder.computeNodes(t),r.getInteriorIntersections()},In.prototype.computeVertexSnaps=function(){var t=this;if(et(arguments[0],Bt))for(var e=arguments[0],r=e.iterator();r.hasNext();){var i=r.next();t.computeVertexSnaps(i)}else if(arguments[0]instanceof Yt)for(var s=arguments[0],o=s.getCoordinates(),a=0;a<o.length;a++){var u=new Ae(o[a],t._scaleFactor,t._li),l=t._pointSnapper.snap(u,s,a);l&&s.addIntersection(o[a],a)}},In.prototype.computeNodes=function(t){this._nodedSegStrings=t,this._noder=new Fl,this._pointSnapper=new Eo(this._noder.getIndex()),this.snapRound(t,this._li)},In.prototype.computeIntersectionSnaps=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next(),s=new Ae(i,e._scaleFactor,e._li);e._pointSnapper.snap(s)}},In.prototype.interfaces_=function(){return[Gi]},In.prototype.getClass=function(){return In};var ce=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new It,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}},So={CAP_ROUND:{configurable:!0},CAP_BUTT:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},MAX_PRECISION_DIGITS:{configurable:!0}};ce.prototype.bufferFixedPrecision=function(t){var e=new _i(new In(new Ct(1)),t.getScale()),r=new Ie(this._bufParams);r.setWorkingPrecisionModel(t),r.setNoder(e),this._resultGeometry=r.buffer(this._argGeom,this._distance)},ce.prototype.bufferReducedPrecision=function(){var t=this;if(arguments.length===0){for(var e=ce.MAX_PRECISION_DIGITS;e>=0;e--){try{t.bufferReducedPrecision(e)}catch(o){if(o instanceof Zn)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=ce.precisionScaleFactor(this._argGeom,this._distance,r),s=new Ct(i);this.bufferFixedPrecision(s)}},ce.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),this._resultGeometry!==null)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===Ct.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()},ce.prototype.setQuadrantSegments=function(t){this._bufParams.setQuadrantSegments(t)},ce.prototype.bufferOriginalPrecision=function(){try{var t=new Ie(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(e){if(e instanceof Wn)this._saveException=e;else throw e}finally{}},ce.prototype.getResultGeometry=function(t){return this._distance=t,this.computeGeometry(),this._resultGeometry},ce.prototype.setEndCapStyle=function(t){this._bufParams.setEndCapStyle(t)},ce.prototype.interfaces_=function(){return[]},ce.prototype.getClass=function(){return ce},ce.bufferOp=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new ce(t),i=r.getResultGeometry(e);return i}else if(arguments.length===3){if(Number.isInteger(arguments[2])&&arguments[0]instanceof tt&&typeof arguments[1]=="number"){var s=arguments[0],o=arguments[1],a=arguments[2],u=new ce(s);u.setQuadrantSegments(a);var l=u.getResultGeometry(o);return l}else if(arguments[2]instanceof It&&arguments[0]instanceof tt&&typeof arguments[1]=="number"){var c=arguments[0],f=arguments[1],p=arguments[2],v=new ce(c,p),w=v.getResultGeometry(f);return w}}else if(arguments.length===4){var I=arguments[0],P=arguments[1],M=arguments[2],m=arguments[3],_=new ce(I);_.setQuadrantSegments(M),_.setEndCapStyle(m);var g=_.getResultGeometry(P);return g}},ce.precisionScaleFactor=function(t,e,r){var i=t.getEnvelopeInternal(),s=je.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},So.CAP_ROUND.get=function(){return It.CAP_ROUND},So.CAP_BUTT.get=function(){return It.CAP_FLAT},So.CAP_FLAT.get=function(){return It.CAP_FLAT},So.CAP_SQUARE.get=function(){return It.CAP_SQUARE},So.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(ce,So);var Pe=function(){this._pt=[new D,new D],this._distance=it.NaN,this._isNull=!0};Pe.prototype.getCoordinates=function(){return this._pt},Pe.prototype.getCoordinate=function(t){return this._pt[t]},Pe.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)}},Pe.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}},Pe.prototype.getDistance=function(){return this._distance},Pe.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)}},Pe.prototype.interfaces_=function(){return[]},Pe.prototype.getClass=function(){return Pe};var Pn=function(){};Pn.prototype.interfaces_=function(){return[]},Pn.prototype.getClass=function(){return Pn},Pn.computeDistance=function(){if(arguments[2]instanceof Pe&&arguments[0]instanceof Gt&&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 Pe&&arguments[0]instanceof $t&&arguments[1]instanceof D){var u=arguments[0],l=arguments[1],c=arguments[2];Pn.computeDistance(u.getExteriorRing(),l,c);for(var f=0;f<u.getNumInteriorRing();f++)Pn.computeDistance(u.getInteriorRingN(f),l,c)}else if(arguments[2]instanceof Pe&&arguments[0]instanceof tt&&arguments[1]instanceof D){var p=arguments[0],v=arguments[1],w=arguments[2];if(p instanceof Gt)Pn.computeDistance(p,v,w);else if(p instanceof $t)Pn.computeDistance(p,v,w);else if(p instanceof Ee)for(var I=p,P=0;P<I.getNumGeometries();P++){var M=I.getGeometryN(P);Pn.computeDistance(M,v,w)}else w.setMinimum(p.getCoordinate(),v)}else if(arguments[2]instanceof Pe&&arguments[0]instanceof Z&&arguments[1]instanceof D){var m=arguments[0],_=arguments[1],g=arguments[2],y=m.closestPoint(_);g.setMinimum(y,_)}};var Yi=function(t){this._maxPtDist=new Pe,this._inputGeom=t||null},kl={MaxPointDistanceFilter:{configurable:!0},MaxMidpointDistanceFilter:{configurable:!0}};Yi.prototype.computeMaxMidpointDistance=function(t){var e=new wi(this._inputGeom);t.apply(e),this._maxPtDist.setMaximum(e.getMaxPointDistance())},Yi.prototype.computeMaxVertexDistance=function(t){var e=new Ts(this._inputGeom);t.apply(e),this._maxPtDist.setMaximum(e.getMaxPointDistance())},Yi.prototype.findDistance=function(t){return this.computeMaxVertexDistance(t),this.computeMaxMidpointDistance(t),this._maxPtDist.getDistance()},Yi.prototype.getDistancePoints=function(){return this._maxPtDist},Yi.prototype.interfaces_=function(){return[]},Yi.prototype.getClass=function(){return Yi},kl.MaxPointDistanceFilter.get=function(){return Ts},kl.MaxMidpointDistanceFilter.get=function(){return wi},Object.defineProperties(Yi,kl);var Ts=function(t){this._maxPtDist=new Pe,this._minPtDist=new Pe,this._geom=t||null};Ts.prototype.filter=function(t){this._minPtDist.initialize(),Pn.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Ts.prototype.getMaxPointDistance=function(){return this._maxPtDist},Ts.prototype.interfaces_=function(){return[vn]},Ts.prototype.getClass=function(){return Ts};var wi=function(t){this._maxPtDist=new Pe,this._minPtDist=new Pe,this._geom=t||null};wi.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(),Pn.computeDistance(this._geom,s,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},wi.prototype.isDone=function(){return!1},wi.prototype.isGeometryChanged=function(){return!1},wi.prototype.getMaxPointDistance=function(){return this._maxPtDist},wi.prototype.interfaces_=function(){return[Or]},wi.prototype.getClass=function(){return wi};var $n=function(t){this._comps=t||null};$n.prototype.filter=function(t){t instanceof $t&&this._comps.add(t)},$n.prototype.interfaces_=function(){return[Wr]},$n.prototype.getClass=function(){return $n},$n.getPolygons=function(){if(arguments.length===1){var t=arguments[0];return $n.getPolygons(t,new z)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e instanceof $t?r.add(e):e instanceof Ee&&e.apply(new $n(r)),r}};var he=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}};he.prototype.filter=function(t){if(this._isForcedToLineString&&t instanceof yn){var e=t.getFactory().createLineString(t.getCoordinateSequence());return this._lines.add(e),null}t instanceof Gt&&this._lines.add(t)},he.prototype.setForceToLineString=function(t){this._isForcedToLineString=t},he.prototype.interfaces_=function(){return[qn]},he.prototype.getClass=function(){return he},he.getGeometry=function(){if(arguments.length===1){var t=arguments[0];return t.getFactory().buildGeometry(he.getLines(t))}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e.getFactory().buildGeometry(he.getLines(e,r))}},he.getLines=function(){if(arguments.length===1){var t=arguments[0];return he.getLines(t,!1)}else if(arguments.length===2){if(et(arguments[0],Bt)&&et(arguments[1],Bt)){for(var e=arguments[0],r=arguments[1],i=e.iterator();i.hasNext();){var s=i.next();he.getLines(s,r)}return r}else if(arguments[0]instanceof tt&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1],u=new z;return o.apply(new he(u,a)),u}else if(arguments[0]instanceof tt&&et(arguments[1],Bt)){var l=arguments[0],c=arguments[1];return l instanceof Gt?c.add(l):l.apply(new he(c)),c}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&et(arguments[0],Bt)&&et(arguments[1],Bt)){for(var f=arguments[0],p=arguments[1],v=arguments[2],w=f.iterator();w.hasNext();){var I=w.next();he.getLines(I,p,v)}return p}else if(typeof arguments[2]=="boolean"&&arguments[0]instanceof tt&&et(arguments[1],Bt)){var P=arguments[0],M=arguments[1],m=arguments[2];return P.apply(new he(M,m)),M}}};var Lr=function(){if(this._boundaryRule=cr.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 Ft("Rule must be non-null");this._boundaryRule=t}}};Lr.prototype.locateInternal=function(){var t=this;if(arguments[0]instanceof D&&arguments[1]instanceof $t){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 Gt){var l=arguments[0],c=arguments[1];if(!c.getEnvelopeInternal().intersects(l))return R.EXTERIOR;var f=c.getCoordinates();return!c.isClosed()&&(l.equals(f[0])||l.equals(f[f.length-1]))?R.BOUNDARY:G.isOnLine(l,f)?R.INTERIOR:R.EXTERIOR}else if(arguments[0]instanceof D&&arguments[1]instanceof Ue){var p=arguments[0],v=arguments[1],w=v.getCoordinate();return w.equals2D(p)?R.INTERIOR:R.EXTERIOR}},Lr.prototype.locateInPolygonRing=function(t,e){return e.getEnvelopeInternal().intersects(t)?G.locatePointInRing(t,e.getCoordinates()):R.EXTERIOR},Lr.prototype.intersects=function(t,e){return this.locate(t,e)!==R.EXTERIOR},Lr.prototype.updateLocationInfo=function(t){t===R.INTERIOR&&(this._isIn=!0),t===R.BOUNDARY&&this._numBoundaries++},Lr.prototype.computeLocation=function(t,e){var r=this;if(e instanceof Ue&&this.updateLocationInfo(this.locateInternal(t,e)),e instanceof Gt)this.updateLocationInfo(this.locateInternal(t,e));else if(e instanceof $t)this.updateLocationInfo(this.locateInternal(t,e));else if(e instanceof Ui)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 _n)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 Ee)for(var c=new Sn(e);c.hasNext();){var f=c.next();f!==e&&r.computeLocation(t,f)}},Lr.prototype.locate=function(t,e){return e.isEmpty()?R.EXTERIOR:e instanceof Gt?this.locateInternal(t,e):e instanceof $t?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)},Lr.prototype.interfaces_=function(){return[]},Lr.prototype.getClass=function(){return Lr};var Ne=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}},rd={INSIDE_AREA:{configurable:!0}};Ne.prototype.isInsideArea=function(){return this._segIndex===Ne.INSIDE_AREA},Ne.prototype.getCoordinate=function(){return this._pt},Ne.prototype.getGeometryComponent=function(){return this._component},Ne.prototype.getSegmentIndex=function(){return this._segIndex},Ne.prototype.interfaces_=function(){return[]},Ne.prototype.getClass=function(){return Ne},rd.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Ne,rd);var Ei=function(t){this._pts=t||null};Ei.prototype.filter=function(t){t instanceof Ue&&this._pts.add(t)},Ei.prototype.interfaces_=function(){return[Wr]},Ei.prototype.getClass=function(){return Ei},Ei.getPoints=function(){if(arguments.length===1){var t=arguments[0];return t instanceof Ue?Mr.singletonList(t):Ei.getPoints(t,new z)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e instanceof Ue?r.add(e):e instanceof Ee&&e.apply(new Ei(r)),r}};var Os=function(){this._locations=null;var t=arguments[0];this._locations=t};Os.prototype.filter=function(t){(t instanceof Ue||t instanceof Gt||t instanceof $t)&&this._locations.add(new Ne(t,0,t.getCoordinate()))},Os.prototype.interfaces_=function(){return[Wr]},Os.prototype.getClass=function(){return Os},Os.getLocations=function(t){var e=new z;return t.apply(new Os(e)),e};var fe=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new Lr,this._minDistanceLocation=null,this._minDistance=it.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}};fe.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=$n.getPolygons(this._geom[r]);if(o.size()>0){var a=Os.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&&et(arguments[0],br)&&et(arguments[1],br)){for(var u=arguments[0],l=arguments[1],c=arguments[2],f=0;f<u.size();f++)for(var p=u.get(f),v=0;v<l.size();v++)if(t.computeContainmentDistance(p,l.get(v),c),t._minDistance<=t._terminateDistance)return null}else if(arguments[2]instanceof Array&&arguments[0]instanceof Ne&&arguments[1]instanceof $t){var w=arguments[0],I=arguments[1],P=arguments[2],M=w.getCoordinate();if(R.EXTERIOR!==this._ptLocator.locate(M,I))return this._minDistance=0,P[0]=w,P[1]=new Ne(I,M),null}}},fe.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}},fe.prototype.computeFacetDistance=function(){var t=new Array(2).fill(null),e=he.getLines(this._geom[0]),r=he.getLines(this._geom[1]),i=Ei.getPoints(this._geom[0]),s=Ei.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)},fe.prototype.nearestLocations=function(){return this.computeMinDistance(),this._minDistanceLocation},fe.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])},fe.prototype.nearestPoints=function(){this.computeMinDistance();var t=[this._minDistanceLocation[0].getCoordinate(),this._minDistanceLocation[1].getCoordinate()];return t},fe.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 Gt&&arguments[1]instanceof Ue){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=G.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 Ne(e,a,c),i[1]=new Ne(r,0,o)}if(t._minDistance<=t._terminateDistance)return null}}else if(arguments[2]instanceof Array&&arguments[0]instanceof Gt&&arguments[1]instanceof Gt){var f=arguments[0],p=arguments[1],v=arguments[2];if(f.getEnvelopeInternal().distance(p.getEnvelopeInternal())>this._minDistance)return null;for(var w=f.getCoordinates(),I=p.getCoordinates(),P=0;P<w.length-1;P++)for(var M=0;M<I.length-1;M++){var m=G.distanceLineLine(w[P],w[P+1],I[M],I[M+1]);if(m<t._minDistance){t._minDistance=m;var _=new Z(w[P],w[P+1]),g=new Z(I[M],I[M+1]),y=_.closestPoints(g);v[0]=new Ne(f,P,y[0]),v[1]=new Ne(p,M,y[1])}if(t._minDistance<=t._terminateDistance)return null}}}},fe.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 Ne(o,0,o.getCoordinate()),r[1]=new Ne(u,0,u.getCoordinate())),i._minDistance<=i._terminateDistance)return null}},fe.prototype.distance=function(){if(this._geom[0]===null||this._geom[1]===null)throw new Ft("null geometries are not supported");return this._geom[0].isEmpty()||this._geom[1].isEmpty()?0:(this.computeMinDistance(),this._minDistance)},fe.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}},fe.prototype.interfaces_=function(){return[]},fe.prototype.getClass=function(){return fe},fe.distance=function(t,e){var r=new fe(t,e);return r.distance()},fe.isWithinDistance=function(t,e,r){var i=new fe(t,e,r);return i.distance()<=r},fe.nearestPoints=function(t,e){var r=new fe(t,e);return r.nearestPoints()};var _e=function(){this._pt=[new D,new D],this._distance=it.NaN,this._isNull=!0};_e.prototype.getCoordinates=function(){return this._pt},_e.prototype.getCoordinate=function(t){return this._pt[t]},_e.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)}},_e.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}},_e.prototype.toString=function(){return Nr.toLineString(this._pt[0],this._pt[1])},_e.prototype.getDistance=function(){return this._distance},_e.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)}},_e.prototype.interfaces_=function(){return[]},_e.prototype.getClass=function(){return _e};var Br=function(){};Br.prototype.interfaces_=function(){return[]},Br.prototype.getClass=function(){return Br},Br.computeDistance=function(){if(arguments[2]instanceof _e&&arguments[0]instanceof Gt&&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 _e&&arguments[0]instanceof $t&&arguments[1]instanceof D){var u=arguments[0],l=arguments[1],c=arguments[2];Br.computeDistance(u.getExteriorRing(),l,c);for(var f=0;f<u.getNumInteriorRing();f++)Br.computeDistance(u.getInteriorRingN(f),l,c)}else if(arguments[2]instanceof _e&&arguments[0]instanceof tt&&arguments[1]instanceof D){var p=arguments[0],v=arguments[1],w=arguments[2];if(p instanceof Gt)Br.computeDistance(p,v,w);else if(p instanceof $t)Br.computeDistance(p,v,w);else if(p instanceof Ee)for(var I=p,P=0;P<I.getNumGeometries();P++){var M=I.getGeometryN(P);Br.computeDistance(M,v,w)}else w.setMinimum(p.getCoordinate(),v)}else if(arguments[2]instanceof _e&&arguments[0]instanceof Z&&arguments[1]instanceof D){var m=arguments[0],_=arguments[1],g=arguments[2],y=m.closestPoint(_);g.setMinimum(y,_)}};var gr=function(){this._g0=null,this._g1=null,this._ptDist=new _e,this._densifyFrac=0;var t=arguments[0],e=arguments[1];this._g0=t,this._g1=e},Vl={MaxPointDistanceFilter:{configurable:!0},MaxDensifiedByFractionDistanceFilter:{configurable:!0}};gr.prototype.getCoordinates=function(){return this._ptDist.getCoordinates()},gr.prototype.setDensifyFraction=function(t){if(t>1||t<=0)throw new Ft("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=t},gr.prototype.compute=function(t,e){this.computeOrientedDistance(t,e,this._ptDist),this.computeOrientedDistance(e,t,this._ptDist)},gr.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},gr.prototype.computeOrientedDistance=function(t,e,r){var i=new Ds(e);if(t.apply(i),r.setMaximum(i.getMaxPointDistance()),this._densifyFrac>0){var s=new Si(e,this._densifyFrac);t.apply(s),r.setMaximum(s.getMaxPointDistance())}},gr.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},gr.prototype.interfaces_=function(){return[]},gr.prototype.getClass=function(){return gr},gr.distance=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new gr(t,e);return r.distance()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new gr(i,s);return a.setDensifyFraction(o),a.distance()}},Vl.MaxPointDistanceFilter.get=function(){return Ds},Vl.MaxDensifiedByFractionDistanceFilter.get=function(){return Si},Object.defineProperties(gr,Vl);var Ds=function(){this._maxPtDist=new _e,this._minPtDist=new _e,this._euclideanDist=new Br,this._geom=null;var t=arguments[0];this._geom=t};Ds.prototype.filter=function(t){this._minPtDist.initialize(),Br.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Ds.prototype.getMaxPointDistance=function(){return this._maxPtDist},Ds.prototype.interfaces_=function(){return[vn]},Ds.prototype.getClass=function(){return Ds};var Si=function(){this._maxPtDist=new _e,this._minPtDist=new _e,this._geom=null,this._numSubSegs=0;var t=arguments[0],e=arguments[1];this._geom=t,this._numSubSegs=Math.trunc(Math.round(1/e))};Si.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,f=new D(l,c);r._minPtDist.initialize(),Br.computeDistance(r._geom,f,r._minPtDist),r._maxPtDist.setMaximum(r._minPtDist)}},Si.prototype.isDone=function(){return!1},Si.prototype.isGeometryChanged=function(){return!1},Si.prototype.getMaxPointDistance=function(){return this._maxPtDist},Si.prototype.interfaces_=function(){return[Or]},Si.prototype.getClass=function(){return Si};var qe=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},zl={VERBOSE:{configurable:!0},MAX_DISTANCE_DIFF_FRAC:{configurable:!0}};qe.prototype.checkMaximumDistance=function(t,e,r){var i=new gr(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 "+Nr.toLineString(s[0],s[1])+")"}},qe.prototype.isValid=function(){var t=Math.abs(this._bufDistance),e=qe.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(),qe.VERBOSE&&ue.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},qe.prototype.checkNegativeValid=function(){if(!(this._input instanceof $t||this._input instanceof _n||this._input instanceof Ee))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)},qe.prototype.getErrorIndicator=function(){return this._errorIndicator},qe.prototype.checkMinimumDistance=function(t,e,r){var i=new fe(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 "+Nr.toLineString(s[0],s[1])+" )"}},qe.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)},qe.prototype.getErrorLocation=function(){return this._errorLocation},qe.prototype.getPolygonLines=function(t){for(var e=new z,r=new he(e),i=$n.getPolygons(t),s=i.iterator();s.hasNext();){var o=s.next();o.apply(r)}return t.getFactory().buildGeometry(e)},qe.prototype.getErrorMessage=function(){return this._errMsg},qe.prototype.interfaces_=function(){return[]},qe.prototype.getClass=function(){return qe},zl.VERBOSE.get=function(){return!1},zl.MAX_DISTANCE_DIFF_FRAC.get=function(){return .012},Object.defineProperties(qe,zl);var de=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},Ul={VERBOSE:{configurable:!0},MAX_ENV_DIFF_FRAC:{configurable:!0}};de.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},de.prototype.checkEnvelope=function(){if(this._distance<0)return null;var t=this._distance*de.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")},de.prototype.checkDistance=function(){var t=new qe(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")},de.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")},de.prototype.checkPolygonal=function(){this._result instanceof $t||this._result instanceof _n||(this._isValid=!1),this._errorMsg="Result is not polygonal",this._errorIndicator=this._result,this.report("Polygonal")},de.prototype.getErrorIndicator=function(){return this._errorIndicator},de.prototype.getErrorLocation=function(){return this._errorLocation},de.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")},de.prototype.report=function(t){if(!de.VERBOSE)return null;ue.out.println("Check "+t+": "+(this._isValid?"passed":"FAILED"))},de.prototype.getErrorMessage=function(){return this._errorMsg},de.prototype.interfaces_=function(){return[]},de.prototype.getClass=function(){return de},de.isValidMsg=function(t,e,r){var i=new de(t,e,r);return i.isValid()?null:i.getErrorMessage()},de.isValid=function(t,e,r){var i=new de(t,e,r);return!!i.isValid()},Ul.VERBOSE.get=function(){return!1},Ul.MAX_ENV_DIFF_FRAC.get=function(){return .012},Object.defineProperties(de,Ul);var $r=function(){this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};$r.prototype.getCoordinates=function(){return this._pts},$r.prototype.size=function(){return this._pts.length},$r.prototype.getCoordinate=function(t){return this._pts[t]},$r.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},$r.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:Is.octant(this.getCoordinate(t),this.getCoordinate(t+1))},$r.prototype.setData=function(t){this._data=t},$r.prototype.getData=function(){return this._data},$r.prototype.toString=function(){return Nr.toLineString(new Xt(this._pts))},$r.prototype.interfaces_=function(){return[En]},$r.prototype.getClass=function(){return $r};var ie=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new z,this._intersectionCount=0,this._keepIntersections=!0;var t=arguments[0];this._li=t,this._interiorIntersection=null};ie.prototype.getInteriorIntersection=function(){return this._interiorIntersection},ie.prototype.setCheckEndSegmentsOnly=function(t){this._isCheckEndSegmentsOnly=t},ie.prototype.getIntersectionSegments=function(){return this._intSegments},ie.prototype.count=function(){return this._intersectionCount},ie.prototype.getIntersections=function(){return this._intersections},ie.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},ie.prototype.setKeepIntersections=function(t){this._keepIntersections=t},ie.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++)},ie.prototype.isEndSegment=function(t,e){return e===0||e>=t.size()-2},ie.prototype.hasIntersection=function(){return this._interiorIntersection!==null},ie.prototype.isDone=function(){return this._findAllIntersections?!1:this._interiorIntersection!==null},ie.prototype.interfaces_=function(){return[qi]},ie.prototype.getClass=function(){return ie},ie.createAllIntersectionsFinder=function(t){var e=new ie(t);return e.setFindAllIntersections(!0),e},ie.createAnyIntersectionFinder=function(t){return new ie(t)},ie.createIntersectionCounter=function(t){var e=new ie(t);return e.setFindAllIntersections(!0),e.setKeepIntersections(!1),e};var Ar=function(){this._li=new ki,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var t=arguments[0];this._segStrings=t};Ar.prototype.execute=function(){if(this._segInt!==null)return null;this.checkInteriorIntersections()},Ar.prototype.getIntersections=function(){return this._segInt.getIntersections()},Ar.prototype.isValid=function(){return this.execute(),this._isValid},Ar.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},Ar.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new ie(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var t=new Fl;if(t.setSegmentIntersector(this._segInt),t.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},Ar.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new Zn(this.getErrorMessage(),this._segInt.getInteriorIntersection())},Ar.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var t=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+Nr.toLineString(t[0],t[1])+" and "+Nr.toLineString(t[2],t[3])},Ar.prototype.interfaces_=function(){return[]},Ar.prototype.getClass=function(){return Ar},Ar.computeIntersections=function(t){var e=new Ar(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()};var Hi=function n(){this._nv=null;var t=arguments[0];this._nv=new Ar(n.toSegmentStrings(t))};Hi.prototype.checkValid=function(){this._nv.checkValid()},Hi.prototype.interfaces_=function(){return[]},Hi.prototype.getClass=function(){return Hi},Hi.toSegmentStrings=function(t){for(var e=new z,r=t.iterator();r.hasNext();){var i=r.next();e.add(new $r(i.getCoordinates(),i))}return e},Hi.checkValid=function(t){var e=new Hi(t);e.checkValid()};var Ms=function(t){this._mapOp=t};Ms.prototype.map=function(t){for(var e=this,r=new z,i=0;i<t.getNumGeometries();i++){var s=e._mapOp.map(t.getGeometryN(i));s.isEmpty()||r.add(s)}return t.getFactory().createGeometryCollection(ft.toGeometryArray(r))},Ms.prototype.interfaces_=function(){return[]},Ms.prototype.getClass=function(){return Ms},Ms.map=function(t,e){var r=new Ms(e);return r.map(t)};var jr=function(){this._op=null,this._geometryFactory=null,this._ptLocator=null,this._lineEdgesList=new z,this._resultLineList=new z;var t=arguments[0],e=arguments[1],r=arguments[2];this._op=t,this._geometryFactory=e,this._ptLocator=r};jr.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)}},jr.prototype.labelIsolatedLine=function(t,e){var r=this._ptLocator.locate(t.getCoordinate(),this._op.getArgGeometry(e));t.getLabel().setLocation(e,r)},jr.prototype.build=function(t){return this.findCoveredLineEdges(),this.collectLines(t),this.buildLines(t),this._resultLineList},jr.prototype.collectLineEdge=function(t,e,r){var i=t.getLabel(),s=t.getEdge();t.isLineEdge()&&!t.isVisited()&&at.isResultOfOp(i,e)&&!s.isCovered()&&(r.add(s),t.setVisitedEdge(!0))},jr.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)}}},jr.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))}},jr.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)}},jr.prototype.collectBoundaryTouchEdge=function(t,e,r){var i=t.getLabel();if(t.isLineEdge()||t.isVisited()||t.isInteriorAreaEdge()||t.getEdge().isInResult())return null;ut.isTrue(!(t.isInResult()||t.getSym().isInResult())||!t.getEdge().isInResult()),at.isResultOfOp(i,e)&&e===at.INTERSECTION&&(r.add(t.getEdge()),t.setVisitedEdge(!0))},jr.prototype.interfaces_=function(){return[]},jr.prototype.getClass=function(){return jr};var xs=function(){this._op=null,this._geometryFactory=null,this._resultPointList=new z;var t=arguments[0],e=arguments[1];this._op=t,this._geometryFactory=e};xs.prototype.filterCoveredNodeToPoint=function(t){var e=t.getCoordinate();if(!this._op.isCoveredByLA(e)){var r=this._geometryFactory.createPoint(e);this._resultPointList.add(r)}},xs.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===at.INTERSECTION)){var s=i.getLabel();at.isResultOfOp(s,t)&&e.filterCoveredNodeToPoint(i)}}},xs.prototype.build=function(t){return this.extractNonCoveredResultNodes(t),this._resultPointList},xs.prototype.interfaces_=function(){return[]},xs.prototype.getClass=function(){return xs};var Re=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};Re.prototype.transformPoint=function(t,e){return this._factory.createPoint(this.transformCoordinates(t.getCoordinateSequence(),t))},Re.prototype.transformPolygon=function(t,e){var r=this,i=!0,s=this.transformLinearRing(t.getExteriorRing(),t);(s===null||!(s instanceof yn)||s.isEmpty())&&(i=!1);for(var o=new z,a=0;a<t.getNumInteriorRing();a++){var u=r.transformLinearRing(t.getInteriorRingN(a),t);u===null||u.isEmpty()||(u instanceof yn||(i=!1),o.add(u))}if(i)return this._factory.createPolygon(s,o.toArray([]));var l=new z;return s!==null&&l.add(s),l.addAll(o),this._factory.buildGeometry(l)},Re.prototype.createCoordinateSequence=function(t){return this._factory.getCoordinateSequenceFactory().create(t)},Re.prototype.getInputGeometry=function(){return this._inputGeom},Re.prototype.transformMultiLineString=function(t,e){for(var r=this,i=new z,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)},Re.prototype.transformCoordinates=function(t,e){return this.copy(t)},Re.prototype.transformLineString=function(t,e){return this._factory.createLineString(this.transformCoordinates(t.getCoordinateSequence(),t))},Re.prototype.transformMultiPoint=function(t,e){for(var r=this,i=new z,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)},Re.prototype.transformMultiPolygon=function(t,e){for(var r=this,i=new z,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)},Re.prototype.copy=function(t){return t.copy()},Re.prototype.transformGeometryCollection=function(t,e){for(var r=this,i=new z,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(ft.toGeometryArray(i)):this._factory.buildGeometry(i)},Re.prototype.transform=function(t){if(this._inputGeom=t,this._factory=t.getFactory(),t instanceof Ue)return this.transformPoint(t,null);if(t instanceof mo)return this.transformMultiPoint(t,null);if(t instanceof yn)return this.transformLinearRing(t,null);if(t instanceof Gt)return this.transformLineString(t,null);if(t instanceof Ui)return this.transformMultiLineString(t,null);if(t instanceof $t)return this.transformPolygon(t,null);if(t instanceof _n)return this.transformMultiPolygon(t,null);if(t instanceof Ee)return this.transformGeometryCollection(t,null);throw new Ft("Unknown Geometry subtype: "+t.getClass().getName())},Re.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)},Re.prototype.interfaces_=function(){return[]},Re.prototype.getClass=function(){return Re};var Nn=function n(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new Z,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof Gt&&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}};Nn.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)))}},Nn.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},Nn.prototype.snapTo=function(t){var e=new Ea(this._srcPts);this.snapVertices(e,t),this.snapSegments(e,t);var r=e.toCoordinateArray();return r},Nn.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)}},Nn.prototype.findSegmentIndexToSnap=function(t,e){for(var r=this,i=it.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},Nn.prototype.setAllowSnappingToSourceVertices=function(t){this._allowSnappingToSourceVertices=t},Nn.prototype.interfaces_=function(){return[]},Nn.prototype.getClass=function(){return Nn},Nn.isClosed=function(t){return t.length<=1?!1:t[0].equals2D(t[t.length-1])};var Ht=function(t){this._srcGeom=t||null},nd={SNAP_PRECISION_FACTOR:{configurable:!0}};Ht.prototype.snapTo=function(t,e){var r=this.extractTargetCoordinates(t),i=new id(e,r);return i.transform(this._srcGeom)},Ht.prototype.snapToSelf=function(t,e){var r=this.extractTargetCoordinates(this._srcGeom),i=new id(t,r,!0),s=i.transform(this._srcGeom),o=s;return e&&et(o,gi)&&(o=s.buffer(0)),o},Ht.prototype.computeSnapTolerance=function(t){var e=this.computeMinimumSegmentLength(t),r=e/10;return r},Ht.prototype.extractTargetCoordinates=function(t){for(var e=new Gr,r=t.getCoordinates(),i=0;i<r.length;i++)e.add(r[i]);return e.toArray(new Array(0).fill(null))},Ht.prototype.computeMinimumSegmentLength=function(t){for(var e=it.MAX_VALUE,r=0;r<t.length-1;r++){var i=t[r].distance(t[r+1]);i<e&&(e=i)}return e},Ht.prototype.interfaces_=function(){return[]},Ht.prototype.getClass=function(){return Ht},Ht.snap=function(t,e,r){var i=new Array(2).fill(null),s=new Ht(t);i[0]=s.snapTo(e,r);var o=new Ht(e);return i[1]=o.snapTo(i[0],r),i},Ht.computeOverlaySnapTolerance=function(){if(arguments.length===1){var t=arguments[0],e=Ht.computeSizeBasedSnapTolerance(t),r=t.getPrecisionModel();if(r.getType()===Ct.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(Ht.computeOverlaySnapTolerance(s),Ht.computeOverlaySnapTolerance(o))}},Ht.computeSizeBasedSnapTolerance=function(t){var e=t.getEnvelopeInternal(),r=Math.min(e.getHeight(),e.getWidth()),i=r*Ht.SNAP_PRECISION_FACTOR;return i},Ht.snapToSelf=function(t,e,r){var i=new Ht(t);return i.snapToSelf(e,r)},nd.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(Ht,nd);var id=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 Nn(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}(Re),be=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};be.prototype.getCommon=function(){return it.longBitsToDouble(this._commonBits)},be.prototype.add=function(t){var e=it.doubleToLongBits(t);if(this._isFirst)return this._commonBits=e,this._commonSignExp=be.signExpBits(this._commonBits),this._isFirst=!1,null;var r=be.signExpBits(e);if(r!==this._commonSignExp)return this._commonBits=0,null;this._commonMantissaBitsCount=be.numCommonMostSigMantissaBits(this._commonBits,e),this._commonBits=be.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))},be.prototype.toString=function(){if(arguments.length===1){var t=arguments[0],e=it.longBitsToDouble(t),r=it.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}},be.prototype.interfaces_=function(){return[]},be.prototype.getClass=function(){return be},be.getBit=function(t,e){var r=1<<e;return(t&r)!==0?1:0},be.signExpBits=function(t){return t>>52},be.zeroLowerBits=function(t,e){var r=(1<<e)-1,i=~r,s=t&i;return s},be.numCommonMostSigMantissaBits=function(t,e){for(var r=0,i=52;i>=0;i--){if(be.getBit(t,i)!==be.getBit(e,i))return r;r++}return 52};var Ci=function(){this._commonCoord=null,this._ccFilter=new Ls},Gl={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};Ci.prototype.addCommonBits=function(t){var e=new Ii(this._commonCoord);t.apply(e),t.geometryChanged()},Ci.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 Ii(e);return t.apply(r),t.geometryChanged(),t},Ci.prototype.getCommonCoordinate=function(){return this._commonCoord},Ci.prototype.add=function(t){t.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},Ci.prototype.interfaces_=function(){return[]},Ci.prototype.getClass=function(){return Ci},Gl.CommonCoordinateFilter.get=function(){return Ls},Gl.Translater.get=function(){return Ii},Object.defineProperties(Ci,Gl);var Ls=function(){this._commonBitsX=new be,this._commonBitsY=new be};Ls.prototype.filter=function(t){this._commonBitsX.add(t.x),this._commonBitsY.add(t.y)},Ls.prototype.getCommonCoordinate=function(){return new D(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},Ls.prototype.interfaces_=function(){return[vn]},Ls.prototype.getClass=function(){return Ls};var Ii=function(){this.trans=null;var t=arguments[0];this.trans=t};Ii.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)},Ii.prototype.isDone=function(){return!1},Ii.prototype.isGeometryChanged=function(){return!0},Ii.prototype.interfaces_=function(){return[Or]},Ii.prototype.getClass=function(){return Ii};var se=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()};se.prototype.selfSnap=function(t){var e=new Ht(t),r=e.snapTo(t,this._snapTolerance);return r},se.prototype.removeCommonBits=function(t){this._cbr=new Ci,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},se.prototype.prepareResult=function(t){return this._cbr.addCommonBits(t),t},se.prototype.getResultGeometry=function(t){var e=this.snap(this._geom),r=at.overlayOp(e[0],e[1],t);return this.prepareResult(r)},se.prototype.checkValid=function(t){t.isValid()||ue.out.println("Snapped geometry is invalid")},se.prototype.computeSnapTolerance=function(){this._snapTolerance=Ht.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},se.prototype.snap=function(t){var e=this.removeCommonBits(t),r=Ht.snap(e[0],e[1],this._snapTolerance);return r},se.prototype.interfaces_=function(){return[]},se.prototype.getClass=function(){return se},se.overlayOp=function(t,e,r){var i=new se(t,e);return i.getResultGeometry(r)},se.union=function(t,e){return se.overlayOp(t,e,at.UNION)},se.intersection=function(t,e){return se.overlayOp(t,e,at.INTERSECTION)},se.symDifference=function(t,e){return se.overlayOp(t,e,at.SYMDIFFERENCE)},se.difference=function(t,e){return se.overlayOp(t,e,at.DIFFERENCE)};var Te=function(t,e){this._geom=new Array(2).fill(null),this._geom[0]=t,this._geom[1]=e};Te.prototype.getResultGeometry=function(t){var e=null,r=!1,i=null;try{e=at.overlayOp(this._geom[0],this._geom[1],t);var s=!0;s&&(r=!0)}catch(o){if(o instanceof Wn)i=o;else throw o}finally{}if(!r)try{e=se.overlayOp(this._geom[0],this._geom[1],t)}catch(o){throw o instanceof Wn?i:o}finally{}return e},Te.prototype.interfaces_=function(){return[]},Te.prototype.getClass=function(){return Te},Te.overlayOp=function(t,e,r){var i=new Te(t,e);return i.getResultGeometry(r)},Te.union=function(t,e){return Te.overlayOp(t,e,at.UNION)},Te.intersection=function(t,e){return Te.overlayOp(t,e,at.INTERSECTION)},Te.symDifference=function(t,e){return Te.overlayOp(t,e,at.SYMDIFFERENCE)},Te.difference=function(t,e){return Te.overlayOp(t,e,at.DIFFERENCE)};var Fa=function(){this.mce=null,this.chainIndex=null;var t=arguments[0],e=arguments[1];this.mce=t,this.chainIndex=e};Fa.prototype.computeIntersections=function(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)},Fa.prototype.interfaces_=function(){return[]},Fa.prototype.getClass=function(){return Fa};var Xe=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}},Wl={INSERT:{configurable:!0},DELETE:{configurable:!0}};Xe.prototype.isDelete=function(){return this._eventType===Xe.DELETE},Xe.prototype.setDeleteEventIndex=function(t){this._deleteEventIndex=t},Xe.prototype.getObject=function(){return this._obj},Xe.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},Xe.prototype.getInsertEvent=function(){return this._insertEvent},Xe.prototype.isInsert=function(){return this._eventType===Xe.INSERT},Xe.prototype.isSameLabel=function(t){return this._label===null?!1:this._label===t._label},Xe.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},Xe.prototype.interfaces_=function(){return[ur]},Xe.prototype.getClass=function(){return Xe},Wl.INSERT.get=function(){return 1},Wl.DELETE.get=function(){return 2},Object.defineProperties(Xe,Wl);var Du=function(){};Du.prototype.interfaces_=function(){return[]},Du.prototype.getClass=function(){return Du};var pe=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};pe.prototype.isTrivialIntersection=function(t,e,r,i){if(t===r&&this._li.getIntersectionNum()===1){if(pe.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},pe.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},pe.prototype.setIsDoneIfProperInt=function(t){this._isDoneWhenProperInt=t},pe.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},pe.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},pe.prototype.hasProperIntersection=function(){return this._hasProper},pe.prototype.hasIntersection=function(){return this._hasIntersection},pe.prototype.isDone=function(){return this._isDone},pe.prototype.isBoundaryPoint=function(t,e){return e===null?!1:!!(this.isBoundaryPointInternal(t,e[0])||this.isBoundaryPointInternal(t,e[1]))},pe.prototype.setBoundaryNodes=function(t,e){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=t,this._bdyNodes[1]=e},pe.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))))},pe.prototype.interfaces_=function(){return[]},pe.prototype.getClass=function(){return pe},pe.isAdjacentSegments=function(t,e){return Math.abs(t-e)===1};var sv=function(n){function t(){n.call(this),this.events=new z,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;Mr.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 pe&&et(arguments[0],br)&&et(arguments[1],br)){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"&&et(arguments[0],br)&&arguments[1]instanceof pe){var c=arguments[0],f=arguments[1],p=arguments[2];p?this.addEdges(c,null):this.addEdges(c),this.computeIntersections(f)}}},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 Fa(o,u),c=new Xe(i,o.getMinX(u),l);s.events.add(c),s.events.add(new Xe(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 f=c.getObject();s.isSameLabel(c)||(u.computeIntersections(f,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}(Du),bn=function(){this._min=it.POSITIVE_INFINITY,this._max=it.NEGATIVE_INFINITY},sd={NodeComparator:{configurable:!0}};bn.prototype.getMin=function(){return this._min},bn.prototype.intersects=function(t,e){return!(this._min>e||this._max<t)},bn.prototype.getMax=function(){return this._max},bn.prototype.toString=function(){return Nr.toLineString(new D(this._min,0),new D(this._max,0))},bn.prototype.interfaces_=function(){return[]},bn.prototype.getClass=function(){return bn},sd.NodeComparator.get=function(){return ka},Object.defineProperties(bn,sd);var ka=function(){};ka.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},ka.prototype.interfaces_=function(){return[io]},ka.prototype.getClass=function(){return ka};var ov=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}(bn),av=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}(bn),Tn=function(){this._leaves=new z,this._root=null,this._level=0};Tn.prototype.buildTree=function(){var t=this;Mr.sort(this._leaves,new bn.NodeComparator);for(var e=this._leaves,r=null,i=new z;;){if(t.buildLevel(e,i),i.size()===1)return i.get(0);r=e,e=i,i=r}},Tn.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 ov(t,e,r))},Tn.prototype.query=function(t,e,r){this.init(),this._root.query(t,e,r)},Tn.prototype.buildRoot=function(){if(this._root!==null)return null;this._root=this.buildTree()},Tn.prototype.printNode=function(t){ue.out.println(Nr.toLineString(new D(t._min,this._level),new D(t._max,this._level)))},Tn.prototype.init=function(){if(this._root!==null)return null;this.buildRoot()},Tn.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 av(t.get(r),t.get(r+1));e.add(o)}}},Tn.prototype.interfaces_=function(){return[]},Tn.prototype.getClass=function(){return Tn};var Co=function(){this._items=new z};Co.prototype.visitItem=function(t){this._items.add(t)},Co.prototype.getItems=function(){return this._items},Co.prototype.interfaces_=function(){return[mi]},Co.prototype.getClass=function(){return Co};var Io=function(){this._index=null;var t=arguments[0];if(!et(t,gi))throw new Ft("Argument must be Polygonal");this._index=new Ji(t)},ql={SegmentVisitor:{configurable:!0},IntervalIndexedGeometry:{configurable:!0}};Io.prototype.locate=function(t){var e=new Ur(t),r=new Po(e);return this._index.query(t.y,t.y,r),e.getLocation()},Io.prototype.interfaces_=function(){return[wo]},Io.prototype.getClass=function(){return Io},ql.SegmentVisitor.get=function(){return Po},ql.IntervalIndexedGeometry.get=function(){return Ji},Object.defineProperties(Io,ql);var Po=function(){this._counter=null;var t=arguments[0];this._counter=t};Po.prototype.visitItem=function(t){var e=t;this._counter.countSegment(e.getCoordinate(0),e.getCoordinate(1))},Po.prototype.interfaces_=function(){return[mi]},Po.prototype.getClass=function(){return Po};var Ji=function(){this._index=new Tn;var t=arguments[0];this.init(t)};Ji.prototype.init=function(t){for(var e=this,r=he.getLines(t),i=r.iterator();i.hasNext();){var s=i.next(),o=s.getCoordinates();e.addLine(o)}},Ji.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)}},Ji.prototype.query=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new Co;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)}},Ji.prototype.interfaces_=function(){return[]},Ji.prototype.getClass=function(){return Ji};var Va=function(n){function t(){if(n.call(this),this._parentGeom=null,this._lineEdgeMap=new Uf,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new Lr,arguments.length===2){var e=arguments[0],r=arguments[1],i=cr.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,V.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 pe(s,!0,!1);u.setIsDoneIfProperInt(a);var l=this.createEdgeSetIntersector(),c=this._parentGeom instanceof yn||this._parentGeom instanceof $t||this._parentGeom instanceof _n,f=o||!c;return l.computeIntersections(this._edges,u,f),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 pe(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 Ue){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=ht.removeRepeatedPoints(r.getCoordinates());if(i.length<2)return this._hasTooFewPoints=!0,this._invalidPoint=i[0],null;var s=new Ou(i,new bt(this._argIndex,R.INTERIOR));this._lineEdgeMap.put(r,s),this.insertEdge(s),ut.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=ht.removeRepeatedPoints(r.getCoordinates());if(o.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=o[0],null;var a=i,u=s;G.isCCW(o)&&(a=s,u=i);var l=new Ou(o,new bt(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 bt(r,s):a.setLocation(r,s)},t.prototype.createEdgeSetIntersector=function(){return new sv},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 _n&&(this._useBoundaryDeterminationRule=!1),r instanceof $t)this.addPolygon(r);else if(r instanceof Gt)this.addLineString(r);else if(r instanceof Ue)this.addPoint(r);else if(r instanceof mo)this.addCollection(r);else if(r instanceof Ui)this.addCollection(r);else if(r instanceof _n)this.addCollection(r);else if(r instanceof Ee)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 et(this._parentGeom,gi)&&this._parentGeom.getNumGeometries()>50?(this._areaPtLocator===null&&(this._areaPtLocator=new Io(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}(Ut),No=function(){if(this._li=new ki,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 Va(0,t)}else if(arguments.length===2){var e=arguments[0],r=arguments[1],i=cr.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 Va(0,e,i),this._arg[1]=new Va(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 Va(0,s,a),this._arg[1]=new Va(1,o,a)}};No.prototype.getArgGeometry=function(t){return this._arg[t].getGeometry()},No.prototype.setComputationPrecision=function(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)},No.prototype.interfaces_=function(){return[]},No.prototype.getClass=function(){return No};var Zi=function(){};Zi.prototype.interfaces_=function(){return[]},Zi.prototype.getClass=function(){return Zi},Zi.map=function(){if(arguments[0]instanceof tt&&et(arguments[1],Zi.MapOp)){for(var t=arguments[0],e=arguments[1],r=new z,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(et(arguments[0],Bt)&&et(arguments[1],Zi.MapOp)){for(var o=arguments[0],a=arguments[1],u=new z,l=o.iterator();l.hasNext();){var c=l.next(),f=a.map(c);f!==null&&u.add(f)}return u}},Zi.MapOp=function(){};var at=function(n){function t(){var e=arguments[0],r=arguments[1];n.call(this,e,r),this._ptLocator=new Lr,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new xr,this._resultPolyList=new z,this._resultLineList=new z,this._resultPointList=new z,this._graph=new Ut(new Qf),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 bt(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 z;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 z,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 z;this._arg[0].computeSplitEdges(i),this._arg[1].computeSplitEdges(i),this.insertUniqueEdges(i),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),Hi.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(r),this.cancelDuplicateResultEdges();var s=new Ge(this._geomFact);s.add(this._graph),this._resultPolyList=s.getPolygons();var o=new jr(this,this._geomFact,this._ptLocator);this._resultLineList=o.build(r);var a=new xs(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,V.RIGHT),o.getLocation(1,V.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):(ut.isTrue(!o.isNull(a,V.LEFT),"depth of LEFT side has not been initialized"),s.setLocation(a,V.LEFT,o.getLocation(a,V.LEFT)),ut.isTrue(!o.isNull(a,V.RIGHT),"depth of RIGHT side has not been initialized"),s.setLocation(a,V.RIGHT,o.getLocation(a,V.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}(No);at.overlayOp=function(n,t,e){var r=new at(n,t),i=r.getResultGeometry(e);return i},at.intersection=function(n,t){if(n.isEmpty()||t.isEmpty())return at.createEmptyResult(at.INTERSECTION,n,t,n.getFactory());if(n.isGeometryCollection()){var e=t;return Ms.map(n,{interfaces_:function(){return[Zi.MapOp]},map:function(r){return r.intersection(e)}})}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),Te.overlayOp(n,t,at.INTERSECTION)},at.symDifference=function(n,t){if(n.isEmpty()||t.isEmpty()){if(n.isEmpty()&&t.isEmpty())return at.createEmptyResult(at.SYMDIFFERENCE,n,t,n.getFactory());if(n.isEmpty())return t.copy();if(t.isEmpty())return n.copy()}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),Te.overlayOp(n,t,at.SYMDIFFERENCE)},at.resultDimension=function(n,t,e){var r=t.getDimension(),i=e.getDimension(),s=-1;switch(n){case at.INTERSECTION:s=Math.min(r,i);break;case at.UNION:s=Math.max(r,i);break;case at.DIFFERENCE:s=r;break;case at.SYMDIFFERENCE:s=Math.max(r,i);break}return s},at.createEmptyResult=function(n,t,e,r){var i=null;switch(at.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},at.difference=function(n,t){return n.isEmpty()?at.createEmptyResult(at.DIFFERENCE,n,t,n.getFactory()):t.isEmpty()?n.copy():(n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),Te.overlayOp(n,t,at.DIFFERENCE))},at.isResultOfOp=function(){if(arguments.length===2){var n=arguments[0],t=arguments[1],e=n.getLocation(0),r=n.getLocation(1);return at.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 at.INTERSECTION:return i===R.INTERIOR&&s===R.INTERIOR;case at.UNION:return i===R.INTERIOR||s===R.INTERIOR;case at.DIFFERENCE:return i===R.INTERIOR&&s!==R.INTERIOR;case at.SYMDIFFERENCE:return i===R.INTERIOR&&s!==R.INTERIOR||i!==R.INTERIOR&&s===R.INTERIOR}return!1}},at.INTERSECTION=1,at.UNION=2,at.DIFFERENCE=3,at.SYMDIFFERENCE=4;var Pi=function(){this._g=null,this._boundaryDistanceTolerance=null,this._linework=null,this._ptLocator=new Lr,this._seg=new Z;var t=arguments[0],e=arguments[1];this._g=t,this._boundaryDistanceTolerance=e,this._linework=this.extractLinework(t)};Pi.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},Pi.prototype.getLocation=function(t){return this.isWithinToleranceOfBoundary(t)?R.BOUNDARY:this._ptLocator.locate(t,this._g)},Pi.prototype.extractLinework=function(t){var e=new bo;t.apply(e);var r=e.getLinework(),i=ft.toLineStringArray(r);return t.getFactory().createMultiLineString(i)},Pi.prototype.interfaces_=function(){return[]},Pi.prototype.getClass=function(){return Pi};var bo=function(){this._linework=null,this._linework=new z};bo.prototype.getLinework=function(){return this._linework},bo.prototype.filter=function(t){var e=this;if(t instanceof $t){var r=t;this._linework.add(r.getExteriorRing());for(var i=0;i<r.getNumInteriorRing();i++)e._linework.add(r.getInteriorRingN(i))}},bo.prototype.interfaces_=function(){return[Wr]},bo.prototype.getClass=function(){return bo};var Ki=function(){this._g=null,this._doLeft=!0,this._doRight=!0;var t=arguments[0];this._g=t};Ki.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)},Ki.prototype.setSidesToGenerate=function(t,e){this._doLeft=t,this._doRight=e},Ki.prototype.getPoints=function(t){for(var e=this,r=new z,i=he.getLines(this._g),s=i.iterator();s.hasNext();){var o=s.next();e.extractPoints(o,t,r)}return r},Ki.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,f=(e.y+t.y)/2;if(this._doLeft){var p=new D(c-l,f+u);i.add(p)}if(this._doRight){var v=new D(c+l,f-u);i.add(v)}},Ki.prototype.interfaces_=function(){return[]},Ki.prototype.getClass=function(){return Ki};var ir=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 z;var t=arguments[0],e=arguments[1],r=arguments[2];this._boundaryDistanceTolerance=n.computeBoundaryDistanceTolerance(t,e),this._geom=[t,e,r],this._locFinder=[new Pi(this._geom[0],this._boundaryDistanceTolerance),new Pi(this._geom[1],this._boundaryDistanceTolerance),new Pi(this._geom[2],this._boundaryDistanceTolerance)]},od={TOLERANCE:{configurable:!0}};ir.prototype.reportResult=function(t,e,r){ue.out.println("Overlay result invalid - A:"+R.toLocationSymbol(e[0])+" B:"+R.toLocationSymbol(e[1])+" expected:"+(r?"i":"e")+" actual:"+R.toLocationSymbol(e[2]))},ir.prototype.isValid=function(t){this.addTestPts(this._geom[0]),this.addTestPts(this._geom[1]);var e=this.checkValid(t);return e},ir.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),ir.hasLocation(this._location,R.BOUNDARY)?!0:this.isValidResult(s,this._location)}},ir.prototype.addTestPts=function(t){var e=new Ki(t);this._testCoords.addAll(e.getPoints(5*this._boundaryDistanceTolerance))},ir.prototype.isValidResult=function(t,e){var r=at.isResultOfOp(e[0],e[1],t),i=e[2]===R.INTERIOR,s=!(r^i);return s||this.reportResult(t,e,r),s},ir.prototype.getInvalidLocation=function(){return this._invalidLocation},ir.prototype.interfaces_=function(){return[]},ir.prototype.getClass=function(){return ir},ir.hasLocation=function(t,e){for(var r=0;r<3;r++)if(t[r]===e)return!0;return!1},ir.computeBoundaryDistanceTolerance=function(t,e){return Math.min(Ht.computeSizeBasedSnapTolerance(t),Ht.computeSizeBasedSnapTolerance(e))},ir.isValid=function(t,e,r,i){var s=new ir(t,e,i);return s.isValid(r)},od.TOLERANCE.get=function(){return 1e-6},Object.defineProperties(ir,od);var sr=function n(t){this._geomFactory=null,this._skipEmpty=!1,this._inputGeoms=null,this._geomFactory=n.extractFactory(t),this._inputGeoms=t};sr.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)}},sr.prototype.combine=function(){for(var t=this,e=new z,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)},sr.prototype.interfaces_=function(){return[]},sr.prototype.getClass=function(){return sr},sr.combine=function(){if(arguments.length===1){var t=arguments[0],e=new sr(t);return e.combine()}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=new sr(sr.createList(r,i));return s.combine()}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2],l=new sr(sr.createList(o,a,u));return l.combine()}},sr.extractFactory=function(t){return t.isEmpty()?null:t.iterator().next().getFactory()},sr.createList=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new z;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 z;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 z)},ad={STRTREE_NODE_CAPACITY:{configurable:!0}};Kt.prototype.reduceToGeometries=function(t){for(var e=this,r=new z,i=t.iterator();i.hasNext();){var s=i.next(),o=null;et(s,br)?o=e.unionTree(s):s instanceof tt&&(o=s),r.add(o)}return r},Kt.prototype.extractByEnvelope=function(t,e,r){for(var i=new z,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=sr.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 Xf(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 z,s=this.extractByEnvelope(r,t,i),o=this.extractByEnvelope(r,e,i),a=this.unionActual(s,o);i.add(a);var u=sr.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(et(t,gi))return t;var e=$n.getPolygons(t);return e.size()===1?e.get(0):t.getFactory().createMultiPolygon(ft.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()},ad.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(Kt,ad);var Mu=function(){};Mu.prototype.interfaces_=function(){return[]},Mu.prototype.getClass=function(){return Mu},Mu.union=function(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return at.createEmptyResult(at.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),Te.overlayOp(t,e,at.UNION)};function Qi(){return new xu}function xu(){this.reset()}xu.prototype={constructor:xu,reset:function(){this.s=this.t=0},add:function(n){ud(Lu,n,this.t),ud(this,Lu.s,this.s),this.s?this.t+=Lu.t:this.s=Lu.t},valueOf:function(){return this.s}};var Lu=new xu;function ud(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,Dt=Math.PI,jn=Dt/2,ld=Dt/4,ti=Dt*2,Bi=180/Dt,tn=Dt/180,Oe=Math.abs,uv=Math.atan,To=Math.atan2,te=Math.cos,ee=Math.sin,Oo=Math.sqrt;function cd(n){return n>1?0:n<-1?Dt:Math.acos(n)}function As(n){return n>1?jn:n<-1?-jn:Math.asin(n)}function za(){}function Au(n,t){n&&fd.hasOwnProperty(n.type)&&fd[n.type](n,t)}var hd={Feature:function(n,t){Au(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,i=e.length;++r<i;)Au(e[r].geometry,t)}},fd={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){Xl(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)Xl(e[r],t,0)},Polygon:function(n,t){dd(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)dd(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,i=e.length;++r<i;)Au(e[r],t)}};function Xl(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 dd(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)Xl(n[e],t,1);t.polygonEnd()}function lv(n,t){n&&hd.hasOwnProperty(n.type)?hd[n.type](n,t):Au(n,t)}Qi(),Qi();function Yl(n){return[To(n[1],n[0]),As(n[2])]}function Do(n){var t=n[0],e=n[1],r=te(e);return[r*te(t),r*ee(t),ee(e)]}function Ru(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function Fu(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 Hl(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ku(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function Jl(n){var t=Oo(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}Qi();function pd(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 Zl(n,t){return[n>Dt?n-ti:n<-Dt?n+ti:n,t]}Zl.invert=Zl;function cv(n,t,e){return(n%=ti)?t||e?pd(md(n),vd(t,e)):md(n):t||e?vd(t,e):Zl}function gd(n){return function(t,e){return t+=n,[t>Dt?t-ti:t<-Dt?t+ti:t,e]}}function md(n){var t=gd(n);return t.invert=gd(-n),t}function vd(n,t){var e=te(n),r=ee(n),i=te(t),s=ee(t);function o(a,u){var l=te(u),c=te(a)*l,f=ee(a)*l,p=ee(u),v=p*e+c*r;return[To(f*i-v*s,c*e-p*r),As(v*i+f*s)]}return o.invert=function(a,u){var l=te(u),c=te(a)*l,f=ee(a)*l,p=ee(u),v=p*i-f*s;return[To(f*i+p*s,c*e+v*r),As(v*e-c*r)]},o}function hv(n,t,e,r,i,s){if(e){var o=te(t),a=ee(t),u=r*e;i==null?(i=t+r*ti,s=t-u/2):(i=yd(o,i),s=yd(o,s),(r>0?i<s:i>s)&&(i+=r*ti));for(var l,c=i;r>0?c>s:c<s;c-=u)l=Yl([o,-a*te(c),-a*ee(c)]),n.point(l[0],l[1])}}function yd(n,t){t=Do(t),t[0]-=n,Jl(t);var e=cd(-t[1]);return((-t[2]<0?-e:e)+ti-Qt)%ti}function _d(){var n=[],t;return{point:function(e,r){t.push([e,r])},lineStart:function(){n.push(t=[])},lineEnd:za,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function fv(n,t,e,r,i,s){var o=n[0],a=n[1],u=t[0],l=t[1],c=0,f=1,p=u-o,v=l-a,w;if(w=e-o,!(!p&&w>0)){if(w/=p,p<0){if(w<c)return;w<f&&(f=w)}else if(p>0){if(w>f)return;w>c&&(c=w)}if(w=i-o,!(!p&&w<0)){if(w/=p,p<0){if(w>f)return;w>c&&(c=w)}else if(p>0){if(w<c)return;w<f&&(f=w)}if(w=r-a,!(!v&&w>0)){if(w/=v,v<0){if(w<c)return;w<f&&(f=w)}else if(v>0){if(w>f)return;w>c&&(c=w)}if(w=s-a,!(!v&&w<0)){if(w/=v,v<0){if(w>f)return;w>c&&(c=w)}else if(v>0){if(w<c)return;w<f&&(f=w)}return c>0&&(n[0]=o+c*p,n[1]=a+c*v),f<1&&(t[0]=o+f*p,t[1]=a+f*v),!0}}}}}function Vu(n,t){return Oe(n[0]-t[0])<Qt&&Oe(n[1]-t[1])<Qt}function zu(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 wd(n,t,e,r,i){var s=[],o=[],a,u;if(n.forEach(function(w){if(!((I=w.length-1)<=0)){var I,P=w[0],M=w[I],m;if(Vu(P,M)){for(i.lineStart(),a=0;a<I;++a)i.point((P=w[a])[0],P[1]);i.lineEnd();return}s.push(m=new zu(P,w,null,!0)),o.push(m.o=new zu(P,null,m,!1)),s.push(m=new zu(M,w,null,!1)),o.push(m.o=new zu(M,null,m,!0))}}),!!s.length){for(o.sort(t),Ed(s),Ed(o),a=0,u=o.length;a<u;++a)o[a].e=e=!e;for(var l=s[0],c,f;;){for(var p=l,v=!0;p.v;)if((p=p.n)===l)return;c=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(v)for(a=0,u=c.length;a<u;++a)i.point((f=c[a])[0],f[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(v)for(c=p.p.z,a=c.length-1;a>=0;--a)i.point((f=c[a])[0],f[1]);else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,c=p.z,v=!v}while(!p.v);i.lineEnd()}}}function Ed(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 Sd(n,t){return n<t?-1:n>t?1:n>=t?0:NaN}function dv(n){return n.length===1&&(n=pv(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 pv(n){return function(t,e){return Sd(n(t),e)}}dv(Sd);function Cd(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 Uu=1e9,Gu=-1e9;function gv(n,t,e,r){function i(l,c){return n<=l&&l<=e&&t<=c&&c<=r}function s(l,c,f,p){var v=0,w=0;if(l==null||(v=o(l,f))!==(w=o(c,f))||u(l,c)<0^f>0)do p.point(v===0||v===3?n:e,v>1?r:t);while((v=(v+f+4)%4)!==w);else p.point(c[0],c[1])}function o(l,c){return Oe(l[0]-n)<Qt?c>0?0:3:Oe(l[0]-e)<Qt?c>0?2:1:Oe(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 f=o(l,1),p=o(c,1);return f!==p?f-p:f===0?c[1]-l[1]:f===1?l[0]-c[0]:f===2?l[1]-c[1]:c[0]-l[0]}return function(l){var c=l,f=_d(),p,v,w,I,P,M,m,_,g,y,E,S={point:N,lineStart:O,lineEnd:A,polygonStart:x,polygonEnd:b};function N(X,U){i(X,U)&&c.point(X,U)}function T(){for(var X=0,U=0,K=v.length;U<K;++U)for(var st=v[U],lt=1,q=st.length,Y=st[0],H,dt,Tt=Y[0],wt=Y[1];lt<q;++lt)H=Tt,dt=wt,Y=st[lt],Tt=Y[0],wt=Y[1],dt<=r?wt>r&&(Tt-H)*(r-dt)>(wt-dt)*(n-H)&&++X:wt<=r&&(Tt-H)*(r-dt)<(wt-dt)*(n-H)&&--X;return X}function x(){c=f,p=[],v=[],E=!0}function b(){var X=T(),U=E&&X,K=(p=Cd(p)).length;(U||K)&&(l.polygonStart(),U&&(l.lineStart(),s(null,null,1,l),l.lineEnd()),K&&wd(p,a,X,s,l),l.polygonEnd()),c=l,p=v=w=null}function O(){S.point=F,v&&v.push(w=[]),y=!0,g=!1,m=_=NaN}function A(){p&&(F(I,P),M&&g&&f.rejoin(),p.push(f.result())),S.point=N,g&&c.lineEnd()}function F(X,U){var K=i(X,U);if(v&&w.push([X,U]),y)I=X,P=U,M=K,y=!1,K&&(c.lineStart(),c.point(X,U));else if(K&&g)c.point(X,U);else{var st=[m=Math.max(Gu,Math.min(Uu,m)),_=Math.max(Gu,Math.min(Uu,_))],lt=[X=Math.max(Gu,Math.min(Uu,X)),U=Math.max(Gu,Math.min(Uu,U))];fv(st,lt,n,t,e,r)?(g||(c.lineStart(),c.point(st[0],st[1])),c.point(lt[0],lt[1]),K||c.lineEnd(),E=!1):K&&(c.lineStart(),c.point(X,U),E=!1)}m=X,_=U,g=K}return S}}var Kl=Qi();function mv(n,t){var e=t[0],r=t[1],i=[ee(e),-te(e),0],s=0,o=0;Kl.reset();for(var a=0,u=n.length;a<u;++a)if(c=(l=n[a]).length)for(var l,c,f=l[c-1],p=f[0],v=f[1]/2+ld,w=ee(v),I=te(v),P=0;P<c;++P,p=m,w=g,I=y,f=M){var M=l[P],m=M[0],_=M[1]/2+ld,g=ee(_),y=te(_),E=m-p,S=E>=0?1:-1,N=S*E,T=N>Dt,x=w*g;if(Kl.add(To(x*S*ee(N),I*y+x*te(N))),s+=T?E+S*ti:E,T^p>=e^m>=e){var b=Fu(Do(f),Do(M));Jl(b);var O=Fu(i,b);Jl(O);var A=(T^E>=0?-1:1)*As(O[2]);(r>A||r===A&&(b[0]||b[1]))&&(o+=T^E>=0?1:-1)}}return(s<-1e-6||s<Qt&&Kl<-1e-6)^o&1}Qi();function Id(n){return n}Qi(),Qi();var Mo=1/0,Wu=Mo,Ua=-Mo,qu=Ua,Pd={point:vv,lineStart:za,lineEnd:za,polygonStart:za,polygonEnd:za,result:function(){var n=[[Mo,Wu],[Ua,qu]];return Ua=qu=-(Wu=Mo=1/0),n}};function vv(n,t){n<Mo&&(Mo=n),n>Ua&&(Ua=n),t<Wu&&(Wu=t),t>qu&&(qu=t)}Qi();function Nd(n,t,e,r){return function(i,s){var o=t(s),a=i.invert(r[0],r[1]),u=_d(),l=t(u),c=!1,f,p,v,w={point:I,lineStart:M,lineEnd:m,polygonStart:function(){w.point=_,w.lineStart=g,w.lineEnd=y,p=[],f=[]},polygonEnd:function(){w.point=I,w.lineStart=M,w.lineEnd=m,p=Cd(p);var E=mv(f,a);p.length?(c||(s.polygonStart(),c=!0),wd(p,_v,E,e,s)):E&&(c||(s.polygonStart(),c=!0),s.lineStart(),e(null,null,1,s),s.lineEnd()),c&&(s.polygonEnd(),c=!1),p=f=null},sphere:function(){s.polygonStart(),s.lineStart(),e(null,null,1,s),s.lineEnd(),s.polygonEnd()}};function I(E,S){var N=i(E,S);n(E=N[0],S=N[1])&&s.point(E,S)}function P(E,S){var N=i(E,S);o.point(N[0],N[1])}function M(){w.point=P,o.lineStart()}function m(){w.point=I,o.lineEnd()}function _(E,S){v.push([E,S]);var N=i(E,S);l.point(N[0],N[1])}function g(){l.lineStart(),v=[]}function y(){_(v[0][0],v[0][1]),l.lineEnd();var E=l.clean(),S=u.result(),N,T=S.length,x,b,O;if(v.pop(),f.push(v),v=null,!!T){if(E&1){if(b=S[0],(x=b.length-1)>0){for(c||(s.polygonStart(),c=!0),s.lineStart(),N=0;N<x;++N)s.point((O=b[N])[0],O[1]);s.lineEnd()}return}T>1&&E&2&&S.push(S.pop().concat(S.shift())),p.push(S.filter(yv))}}return w}}function yv(n){return n.length>1}function _v(n,t){return((n=n.x)[0]<0?n[1]-jn-Qt:jn-n[1])-((t=t.x)[0]<0?t[1]-jn-Qt:jn-t[1])}const bd=Nd(function(){return!0},wv,Sv,[-Dt,-jn]);function wv(n){var t=NaN,e=NaN,r=NaN,i;return{lineStart:function(){n.lineStart(),i=1},point:function(s,o){var a=s>0?Dt:-Dt,u=Oe(s-t);Oe(u-Dt)<Qt?(n.point(t,e=(e+o)/2>0?jn:-jn),n.point(r,e),n.lineEnd(),n.lineStart(),n.point(a,e),n.point(s,e),i=0):r!==a&&u>=Dt&&(Oe(t-r)<Qt&&(t-=r*Qt),Oe(s-a)<Qt&&(s-=a*Qt),e=Ev(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 Ev(n,t,e,r){var i,s,o=ee(n-e);return Oe(o)>Qt?uv((ee(t)*(s=te(r))*ee(e)-ee(r)*(i=te(t))*ee(n))/(i*s*o)):(t+r)/2}function Sv(n,t,e,r){var i;if(n==null)i=e*jn,r.point(-Dt,i),r.point(0,i),r.point(Dt,i),r.point(Dt,0),r.point(Dt,-i),r.point(0,-i),r.point(-Dt,-i),r.point(-Dt,0),r.point(-Dt,i);else if(Oe(n[0]-t[0])>Qt){var s=n[0]<t[0]?Dt:-Dt;i=e*s/2,r.point(-s,i),r.point(0,i),r.point(s,i)}else r.point(t[0],t[1])}function Cv(n,t){var e=te(n),r=e>0,i=Oe(e)>Qt;function s(c,f,p,v){hv(v,n,t,p,c,f)}function o(c,f){return te(c)*te(f)>e}function a(c){var f,p,v,w,I;return{lineStart:function(){w=v=!1,I=1},point:function(P,M){var m=[P,M],_,g=o(P,M),y=r?g?0:l(P,M):g?l(P+(P<0?Dt:-Dt),M):0;if(!f&&(w=v=g)&&c.lineStart(),g!==v&&(_=u(f,m),(!_||Vu(f,_)||Vu(m,_))&&(m[0]+=Qt,m[1]+=Qt,g=o(m[0],m[1]))),g!==v)I=0,g?(c.lineStart(),_=u(m,f),c.point(_[0],_[1])):(_=u(f,m),c.point(_[0],_[1]),c.lineEnd()),f=_;else if(i&&f&&r^g){var E;!(y&p)&&(E=u(m,f,!0))&&(I=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])))}g&&(!f||!Vu(f,m))&&c.point(m[0],m[1]),f=m,v=g,p=y},lineEnd:function(){v&&c.lineEnd(),f=null},clean:function(){return I|(w&&v)<<1}}}function u(c,f,p){var v=Do(c),w=Do(f),I=[1,0,0],P=Fu(v,w),M=Ru(P,P),m=P[0],_=M-m*m;if(!_)return!p&&c;var g=e*M/_,y=-e*m/_,E=Fu(I,P),S=ku(I,g),N=ku(P,y);Hl(S,N);var T=E,x=Ru(S,T),b=Ru(T,T),O=x*x-b*(Ru(S,S)-1);if(!(O<0)){var A=Oo(O),F=ku(T,(-x-A)/b);if(Hl(F,S),F=Yl(F),!p)return F;var X=c[0],U=f[0],K=c[1],st=f[1],lt;U<X&&(lt=X,X=U,U=lt);var q=U-X,Y=Oe(q-Dt)<Qt,H=Y||q<Qt;if(!Y&&st<K&&(lt=K,K=st,st=lt),H?Y?K+st>0^F[1]<(Oe(F[0]-X)<Qt?K:st):K<=F[1]&&F[1]<=st:q>Dt^(X<=F[0]&&F[0]<=U)){var dt=ku(T,(-x+A)/b);return Hl(dt,S),[F,Yl(dt)]}}}function l(c,f){var p=r?n:Dt-n,v=0;return c<-p?v|=1:c>p&&(v|=2),f<-p?v|=4:f>p&&(v|=8),v}return Nd(o,a,s,r?[0,-n]:[-Dt,n-Dt])}function Td(n){return function(t){var e=new Ql;for(var r in n)e[r]=n[r];return e.stream=t,e}}function Ql(){}Ql.prototype={constructor:Ql,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 Od(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),lv(e,n.stream(Pd));var o=Pd.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 Iv(n,t,e){return Od(n,[[0,0],t],e)}var Dd=16,Pv=te(30*tn);function Md(n,t){return+t?bv(n,t):Nv(n)}function Nv(n){return Td({point:function(t,e){t=n(t,e),this.stream.point(t[0],t[1])}})}function bv(n,t){function e(r,i,s,o,a,u,l,c,f,p,v,w,I,P){var M=l-r,m=c-i,_=M*M+m*m;if(_>4*t&&I--){var g=o+p,y=a+v,E=u+w,S=Oo(g*g+y*y+E*E),N=As(E/=S),T=Oe(Oe(E)-1)<Qt||Oe(s-f)<Qt?(s+f)/2:To(y,g),x=n(T,N),b=x[0],O=x[1],A=b-r,F=O-i,X=m*A-M*F;(X*X/_>t||Oe((M*A+m*F)/_-.5)>.3||o*p+a*v+u*w<Pv)&&(e(r,i,s,o,a,u,b,O,T,g/=S,y/=S,E,I,P),P.point(b,O),e(b,O,T,g,y,E,l,c,f,p,v,w,I,P))}}return function(r){var i,s,o,a,u,l,c,f,p,v,w,I,P={point:M,lineStart:m,lineEnd:g,polygonStart:function(){r.polygonStart(),P.lineStart=y},polygonEnd:function(){r.polygonEnd(),P.lineStart=m}};function M(N,T){N=n(N,T),r.point(N[0],N[1])}function m(){f=NaN,P.point=_,r.lineStart()}function _(N,T){var x=Do([N,T]),b=n(N,T);e(f,p,c,v,w,I,f=b[0],p=b[1],c=N,v=x[0],w=x[1],I=x[2],Dd,r),r.point(f,p)}function g(){P.point=M,r.lineEnd()}function y(){m(),P.point=E,P.lineEnd=S}function E(N,T){_(i=N,T),s=f,o=p,a=v,u=w,l=I,P.point=_}function S(){e(f,p,c,v,w,I,s,o,i,a,u,l,Dd,r),P.lineEnd=g,g()}return P}}var Tv=Td({point:function(n,t){this.stream.point(n*tn,t*tn)}});function Ov(n){return Dv(function(){return n})()}function Dv(n){var t,e=150,r=480,i=250,s,o,a=0,u=0,l=0,c=0,f=0,p,v,w=null,I=bd,P=null,M,m,_,g=Id,y=.5,E=Md(b,y),S,N;function T(F){return F=v(F[0]*tn,F[1]*tn),[F[0]*e+s,o-F[1]*e]}function x(F){return F=v.invert((F[0]-s)/e,(o-F[1])/e),F&&[F[0]*Bi,F[1]*Bi]}function b(F,X){return F=t(F,X),[F[0]*e+s,o-F[1]*e]}T.stream=function(F){return S&&N===F?S:S=Tv(I(p,E(g(N=F))))},T.clipAngle=function(F){return arguments.length?(I=+F?Cv(w=F*tn,6*tn):(w=null,bd),A()):w*Bi},T.clipExtent=function(F){return arguments.length?(g=F==null?(P=M=m=_=null,Id):gv(P=+F[0][0],M=+F[0][1],m=+F[1][0],_=+F[1][1]),A()):P==null?null:[[P,M],[m,_]]},T.scale=function(F){return arguments.length?(e=+F,O()):e},T.translate=function(F){return arguments.length?(r=+F[0],i=+F[1],O()):[r,i]},T.center=function(F){return arguments.length?(a=F[0]%360*tn,u=F[1]%360*tn,O()):[a*Bi,u*Bi]},T.rotate=function(F){return arguments.length?(l=F[0]%360*tn,c=F[1]%360*tn,f=F.length>2?F[2]%360*tn:0,O()):[l*Bi,c*Bi,f*Bi]},T.precision=function(F){return arguments.length?(E=Md(b,y=F*F),A()):Oo(y)},T.fitExtent=function(F,X){return Od(T,F,X)},T.fitSize=function(F,X){return Iv(T,F,X)};function O(){v=pd(p=cv(l,c,f),t);var F=t(a,u);return s=r-F[0]*e,o=i+F[1]*e,A()}function A(){return S=N=null,T}return function(){return t=n.apply(this,arguments),T.invert=t.invert&&x,O()}}function xd(n){return function(t,e){var r=te(t),i=te(e),s=n(r*i);return[s*i*ee(t),s*ee(e)]}}function Ld(n){return function(t,e){var r=Oo(t*t+e*e),i=n(r),s=ee(i),o=te(i);return[To(t*s,r*o),As(r&&e*s/r)]}}var Mv=xd(function(n){return Oo(2/(1+n))});Mv.invert=Ld(function(n){return 2*As(n/2)});var Ad=xd(function(n){return(n=cd(n))&&n/ee(n)});Ad.invert=Ld(function(n){return n});function xv(){return Ov(Ad).scale(79.4188).clipAngle(180-.001)}function Rd(n,t){return[n,t]}Rd.invert=Rd;function Lv(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 lu(n,function(o){var a=Xu(o,t,r,i);a&&s.push(a)}),eo(s);case"FeatureCollection":return uu(n,function(o){var a=Xu(o,t,r,i);a&&uu(a,function(u){u&&s.push(u)})}),eo(s)}return Xu(n,t,r,i)}function Xu(n,t,e,r){var i=n.properties||{},s=n.type==="Feature"?n.geometry:n;if(s.type==="GeometryCollection"){var o=[];return lu(n,function(I){var P=Xu(I,t,e,r);P&&o.push(P)}),eo(o)}var a=Av(s),u={type:s.type,coordinates:kd(s.coordinates,a)},l=new Al,c=l.read(u),f=pl(gl(t,e),"meters"),p=ce.bufferOp(c,f,r),v=new Wf;if(p=v.write(p),!Fd(p.coordinates)){var w={type:p.type,coordinates:Vd(p.coordinates,a)};return fn(w,i)}}function Fd(n){return Array.isArray(n[0])?Fd(n[0]):isNaN(n[0])}function kd(n,t){return typeof n[0]!="object"?t(n):n.map(function(e){return kd(e,t)})}function Vd(n,t){return typeof n[0]!="object"?t.invert(n):n.map(function(e){return Vd(e,t)})}function Av(n){var t=Xm(n).geometry.coordinates,e=[-t[0],-t[1]];return xv().rotate(e).scale(De)}function Rv(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(ro(n,t,o*-360/r,e).geometry.coordinates);return s.push(s[0]),Be([s],i)}/**
|
|
44
|
+
`)}return t.toString()},de.prototype.computeEdgeEndLabels=function(t){for(var e=this.iterator();e.hasNext();){var r=e.next();r.computeLabel(t)}},de.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)===O.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=O.NONE;if(r[h])d=O.EXTERIOR;else{var g=l.getCoordinate();d=e.getLocation(h,g,t)}c.setAllLocationsIfNull(h,d)}},de.prototype.getDegree=function(){return this._edgeMap.size()},de.prototype.insertEdgeEnd=function(t,e){this._edgeMap.put(t,e),this._edgeList=null},de.prototype.interfaces_=function(){return[]},de.prototype.getClass=function(){return de};var Ay=(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 zn("no outgoing dirEdge found",this.getCoordinate());st.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 St.isNorthern(a)&&St.isNorthern(u)?s:!St.isNorthern(a)&&!St.isNorthern(u)?o:s.getDy()!==0?s:o.getDy()!==0?o:(st.shouldNeverReachHere("found two horizontal edges incident on node"),null)},t.prototype.print=function(r){ne.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 zn("depth mismatch at "+i.getCoordinate())}else if(arguments.length===3){for(var c=arguments[0],h=arguments[1],d=arguments[2],g=d,v=c;v<h;v++){var E=r._edgeList.get(v);E.setEdgeDepths(z.RIGHT,g),g=E.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&&(st.isTrue(s!==null,"found null for first outgoing dirEdge"),st.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=O.NONE,i=this.iterator();i.hasNext();){var s=i.next(),o=s.getSym();if(!s.isLineEdge()){if(s.isInResult()){r=O.INTERIOR;break}if(o.isInResult()){r=O.EXTERIOR;break}}}if(r===O.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===O.INTERIOR):(l.isInResult()&&(a=O.EXTERIOR),c.isInResult()&&(a=O.INTERIOR))}},t.prototype.computeLabelling=function(r){var i=this;n.prototype.computeLabelling.call(this,r),this._label=new Et(O.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===O.INTERIOR||c===O.BOUNDARY)&&i._label.setLocation(l,O.INTERIOR)}},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t})(de),Ud=(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 Fu(r,new Ay)},t.prototype.interfaces_=function(){return[]},t.prototype.getClass=function(){return t},t})(go),li=function n(){this._pts=null,this._orientation=null;var t=arguments[0];this._pts=t,this._orientation=n.orientation(t)};li.prototype.compareTo=function(t){var e=t,r=li.compareOriented(this._pts,this._orientation,e._pts,e._orientation);return r},li.prototype.interfaces_=function(){return[sr]},li.prototype.getClass=function(){return li},li.orientation=function(t){return at.increasingDirection(t)===1},li.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 Ir=function(){this._edges=new U,this._ocaMap=new he};Ir.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(") ")},Ir.prototype.addAll=function(t){for(var e=this,r=t.iterator();r.hasNext();)e.add(r.next())},Ir.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},Ir.prototype.iterator=function(){return this._edges.iterator()},Ir.prototype.getEdges=function(){return this._edges},Ir.prototype.get=function(t){return this._edges.get(t)},Ir.prototype.findEqualEdge=function(t){var e=new li(t.getCoordinates()),r=this._ocaMap.get(e);return r},Ir.prototype.add=function(t){this._edges.add(t);var e=new li(t.getCoordinates());this._ocaMap.put(e,t)},Ir.prototype.interfaces_=function(){return[]},Ir.prototype.getClass=function(){return Ir};var Li=function(){};Li.prototype.processIntersections=function(t,e,r,i){},Li.prototype.isDone=function(){},Li.prototype.interfaces_=function(){return[]},Li.prototype.getClass=function(){return Li};var er=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};er.prototype.isTrivialIntersection=function(t,e,r,i){if(t===r&&this._li.getIntersectionNum()===1){if(er.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},er.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},er.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},er.prototype.getLineIntersector=function(){return this._li},er.prototype.hasProperIntersection=function(){return this._hasProper},er.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)))},er.prototype.hasIntersection=function(){return this._hasIntersection},er.prototype.isDone=function(){return!1},er.prototype.hasInteriorIntersection=function(){return this._hasInterior},er.prototype.interfaces_=function(){return[Li]},er.prototype.getClass=function(){return er},er.isAdjacentSegments=function(t,e){return Math.abs(t-e)===1};var Gr=function(){this.coord=null,this.segmentIndex=null,this.dist=null;var t=arguments[0],e=arguments[1],r=arguments[2];this.coord=new N(t),this.segmentIndex=e,this.dist=r};Gr.prototype.getSegmentIndex=function(){return this.segmentIndex},Gr.prototype.getCoordinate=function(){return this.coord},Gr.prototype.print=function(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex),t.println(" dist = "+this.dist)},Gr.prototype.compareTo=function(t){var e=t;return this.compare(e.segmentIndex,e.dist)},Gr.prototype.isEndPoint=function(t){return this.segmentIndex===0&&this.dist===0||this.segmentIndex===t},Gr.prototype.toString=function(){return this.coord+" seg # = "+this.segmentIndex+" dist = "+this.dist},Gr.prototype.getDistance=function(){return this.dist},Gr.prototype.compare=function(t,e){return this.segmentIndex<t?-1:this.segmentIndex>t?1:this.dist<e?-1:this.dist>e?1:0},Gr.prototype.interfaces_=function(){return[sr]},Gr.prototype.getClass=function(){return Gr};var mn=function(){this._nodeMap=new he,this.edge=null;var t=arguments[0];this.edge=t};mn.prototype.print=function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();){var r=e.next();r.print(t)}},mn.prototype.iterator=function(){return this._nodeMap.values().iterator()},mn.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}},mn.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)},mn.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 N(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 Vu(a,new Et(this.edge._label))},mn.prototype.add=function(t,e,r){var i=new Gr(t,e,r),s=this._nodeMap.get(i);return s!==null?s:(this._nodeMap.put(i,i),i)},mn.prototype.isIntersection=function(t){for(var e=this.iterator();e.hasNext();){var r=e.next();if(r.coord.equals(t))return!0}return!1},mn.prototype.interfaces_=function(){return[]},mn.prototype.getClass=function(){return mn};var Ai=function(){};Ai.prototype.getChainStartIndices=function(t){var e=this,r=0,i=new U;i.add(new Or(r));do{var s=e.findChainEnd(t,r);i.add(new Or(s)),r=s}while(r<t.length-1);var o=Ai.toIntArray(i);return o},Ai.prototype.findChainEnd=function(t,e){for(var r=St.quadrant(t[e],t[e+1]),i=e+1;i<t.length;){var s=St.quadrant(t[i-1],t[i]);if(s!==r)break;i++}return i-1},Ai.prototype.interfaces_=function(){return[]},Ai.prototype.getClass=function(){return Ai},Ai.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 Wn=function(){this.e=null,this.pts=null,this.startIndex=null,this.env1=new X,this.env2=new X;var t=arguments[0];this.e=t,this.pts=t.getCoordinates();var e=new Ai;this.startIndex=e.getChainStartIndices(this.pts)};Wn.prototype.getCoordinates=function(){return this.pts},Wn.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},Wn.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},Wn.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],v=a.pts[l];if(o-s===1&&l-u===1)return c.addIntersections(this.e,s,a.e,u),null;if(this.env1.init(h,d),this.env2.init(g,v),!this.env1.intersects(this.env2))return null;var E=Math.trunc((s+o)/2),C=Math.trunc((u+l)/2);s<E&&(u<C&&this.computeIntersectsForChain(s,E,a,u,C,c),C<l&&this.computeIntersectsForChain(s,E,a,C,l,c)),E<o&&(u<C&&this.computeIntersectsForChain(E,o,a,u,C,c),C<l&&this.computeIntersectsForChain(E,o,a,C,l,c))}},Wn.prototype.getStartIndexes=function(){return this.startIndex},Wn.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)},Wn.prototype.interfaces_=function(){return[]},Wn.prototype.getClass=function(){return Wn};var ie=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},Gd={NULL_VALUE:{configurable:!0}};ie.prototype.getDepth=function(t,e){return this._depth[t][e]},ie.prototype.setDepth=function(t,e,r){this._depth[t][e]=r},ie.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]!==ie.NULL_VALUE)return!1;return!0}else if(arguments.length===1){var i=arguments[0];return this._depth[i][1]===ie.NULL_VALUE}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._depth[s][o]===ie.NULL_VALUE}},ie.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}}},ie.prototype.getDelta=function(t){return this._depth[t][z.RIGHT]-this._depth[t][z.LEFT]},ie.prototype.getLocation=function(t,e){return this._depth[t][e]<=0?O.EXTERIOR:O.INTERIOR},ie.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},ie.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===O.EXTERIOR||s===O.INTERIOR)&&(t.isNull(r,i)?t._depth[r][i]=ie.depthAtLocation(s):t._depth[r][i]+=ie.depthAtLocation(s))}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2];u===O.INTERIOR&&this._depth[o][a]++}},ie.prototype.interfaces_=function(){return[]},ie.prototype.getClass=function(){return ie},ie.depthAtLocation=function(t){return t===O.EXTERIOR?0:t===O.INTERIOR?1:ie.NULL_VALUE},Gd.NULL_VALUE.get=function(){return-1},Object.defineProperties(ie,Gd);var Vu=(function(n){function t(){if(n.call(this),this.pts=null,this._env=null,this.eiList=new mn(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new ie,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,Et.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 Wn(this)),this._mce},t.prototype.getEnvelope=function(){var r=this;if(this._env===null){this._env=new X;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 N(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 xr;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})(Qe),_e=function(t){this._workingPrecisionModel=null,this._workingNoder=null,this._geomFact=null,this._graph=null,this._edgeList=new Ir,this._bufParams=t||null};_e.prototype.setWorkingPrecisionModel=function(t){this._workingPrecisionModel=t},_e.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 Et(t.getLabel()),i.flip()),r.merge(i);var s=_e.depthDelta(i),o=e.getDepthDelta(),a=o+s;e.setDepthDelta(a)}else this._edgeList.add(t),t.setDepthDelta(_e.depthDelta(t.getLabel()))},_e.prototype.buildSubgraphs=function(t,e){for(var r=new U,i=t.iterator();i.hasNext();){var s=i.next(),o=s.getRightmostCoordinate(),a=new ms(r),u=a.getDepth(o);s.computeDepth(u),s.findResultEdges(),r.add(s),e.add(s.getDirectedEdges(),s.getNodes())}},_e.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 ve;s.create(i),e.add(s)}}return Cr.sort(e,Cr.reverseOrder()),e},_e.prototype.createEmptyResultGeometry=function(){var t=this._geomFact.createPolygon();return t},_e.prototype.getNoder=function(t){if(this._workingNoder!==null)return this._workingNoder;var e=new uc,r=new Ni;return r.setPrecisionModel(t),e.setSegmentIntersector(new er(r)),e},_e.prototype.buffer=function(t,e){var r=this._workingPrecisionModel;r===null&&(r=t.getPrecisionModel()),this._geomFact=t.getFactory();var i=new Oe(r,this._bufParams),s=new hr(t,e,i),o=s.getCurves();if(o.size()<=0)return this.createEmptyResultGeometry();this.computeNodedEdges(o,r),this._graph=new Dt(new Ud),this._graph.addEdges(this._edgeList.getEdges());var a=this.createSubgraphs(this._graph),u=new ze(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},_e.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 Vu(a.getCoordinates(),new Et(l));r.insertUniqueEdge(c)}}},_e.prototype.setNoder=function(t){this._workingNoder=t},_e.prototype.interfaces_=function(){return[]},_e.prototype.getClass=function(){return _e},_e.depthDelta=function(t){var e=t.getLocation(0,z.LEFT),r=t.getLocation(0,z.RIGHT);return e===O.INTERIOR&&r===O.EXTERIOR?1:e===O.EXTERIOR&&r===O.INTERIOR?-1:0},_e.convertSegStrings=function(t){for(var e=new ut,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(Q(arguments[0],Ht))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])&&ne.out.println(s)}},ci.prototype.scale=function(){var t=this;if(Q(arguments[0],Ht)){for(var e=arguments[0],r=new U,i=e.iterator();i.hasNext();){var s=i.next();r.add(new Gt(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 N(Math.round((o[u].x-t._offsetX)*t._scaleFactor),Math.round((o[u].y-t._offsetY)*t._scaleFactor),o[u].z);var l=at.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[Mi]},ci.prototype.getClass=function(){return ci};var Wr=function(){this._li=new Ni,this._segStrings=null;var t=arguments[0];this._segStrings=t},Wd={fact:{configurable:!0}};Wr.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 Ln("found endpt/interior pt intersection at index "+c+" :pt "+s)}},Wr.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],v=arguments[2],E=arguments[3];if(d===v&&g===E)return null;var C=d.getCoordinates()[g],b=d.getCoordinates()[g+1],m=v.getCoordinates()[E],y=v.getCoordinates()[E+1];if(this._li.computeIntersection(C,b,m,y),this._li.hasIntersection()&&(this._li.isProper()||this.hasInteriorIntersection(this._li,C,b)||this.hasInteriorIntersection(this._li,m,y)))throw new Ln("found non-noded intersection at "+C+"-"+b+" and "+m+"-"+y)}},Wr.prototype.checkValid=function(){this.checkEndPtVertexIntersections(),this.checkInteriorIntersections(),this.checkCollapses()},Wr.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])},Wr.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},Wr.prototype.checkCollapse=function(t,e,r){if(t.equals(r))throw new Ln("found non-noded collapse at "+Wr.fact.createLineString([t,e,r]))},Wr.prototype.interfaces_=function(){return[]},Wr.prototype.getClass=function(){return Wr},Wd.fact.get=function(){return new ut},Object.defineProperties(Wr,Wd);var Me=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 xt("Scale factor must be non-zero");e!==1&&(this._pt=new N(this.scale(t.x),this.scale(t.y)),this._p0Scaled=new N,this._p1Scaled=new N),this.initCorners(this._pt)},qd={SAFE_ENV_EXPANSION_FACTOR:{configurable:!0}};Me.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 st.isTrue(!(a&&u),"Found bad envelope test"),u},Me.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 N(this._maxx,this._maxy),this._corner[1]=new N(this._minx,this._maxy),this._corner[2]=new N(this._minx,this._miny),this._corner[3]=new N(this._maxx,this._miny)},Me.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))},Me.prototype.scale=function(t){return Math.round(t*this._scaleFactor)},Me.prototype.getCoordinate=function(){return this._originalPt},Me.prototype.copyScaled=function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)},Me.prototype.getSafeEnvelope=function(){if(this._safeEnv===null){var t=Me.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new X(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv},Me.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()))},Me.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))},Me.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},Me.prototype.interfaces_=function(){return[]},Me.prototype.getClass=function(){return Me},qd.SAFE_ENV_EXPANSION_FACTOR.get=function(){return .75},Object.defineProperties(Me,qd);var Wa=function(){this.tempEnv1=new X,this.selectedSegment=new Y};Wa.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)}}},Wa.prototype.interfaces_=function(){return[]},Wa.prototype.getClass=function(){return Wa};var _o=function(){this._index=null;var t=arguments[0];this._index=t},Xd={HotPixelSnapAction:{configurable:!0}};_o.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 Yd(e,r,i);return this._index.query(s,{interfaces_:function(){return[ai]},visitItem:function(a){var u=a;u.select(s,o)}}),o.isNodeAdded()}},_o.prototype.interfaces_=function(){return[]},_o.prototype.getClass=function(){return _o},Xd.HotPixelSnapAction.get=function(){return Yd},Object.defineProperties(_o,Xd);var Yd=(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})(Wa),vs=function(){this._li=null,this._interiorIntersections=null;var t=arguments[0];this._li=t,this._interiorIntersections=new U};vs.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)}},vs.prototype.isDone=function(){return!1},vs.prototype.getInteriorIntersections=function(){return this._interiorIntersections},vs.prototype.interfaces_=function(){return[Li]},vs.prototype.getClass=function(){return vs};var vn=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 Ni,this._li.setPrecisionModel(t),this._scaleFactor=t.getScale()};vn.prototype.checkCorrectness=function(t){var e=Gt.getNodedSubstrings(t),r=new Wr(e);try{r.checkValid()}catch(i){if(i instanceof Id)i.printStackTrace();else throw i}finally{}},vn.prototype.getNodedSubstrings=function(){return Gt.getNodedSubstrings(this._nodedSegStrings)},vn.prototype.snapRound=function(t,e){var r=this.findInteriorIntersections(t,e);this.computeIntersectionSnaps(r),this.computeVertexSnaps(t)},vn.prototype.findInteriorIntersections=function(t,e){var r=new vs(e);return this._noder.setSegmentIntersector(r),this._noder.computeNodes(t),r.getInteriorIntersections()},vn.prototype.computeVertexSnaps=function(){var t=this;if(Q(arguments[0],Ht))for(var e=arguments[0],r=e.iterator();r.hasNext();){var i=r.next();t.computeVertexSnaps(i)}else if(arguments[0]instanceof Gt)for(var s=arguments[0],o=s.getCoordinates(),a=0;a<o.length;a++){var u=new Me(o[a],t._scaleFactor,t._li),l=t._pointSnapper.snap(u,s,a);l&&s.addIntersection(o[a],a)}},vn.prototype.computeNodes=function(t){this._nodedSegStrings=t,this._noder=new uc,this._pointSnapper=new _o(this._noder.getIndex()),this.snapRound(t,this._li)},vn.prototype.computeIntersectionSnaps=function(t){for(var e=this,r=t.iterator();r.hasNext();){var i=r.next(),s=new Me(i,e._scaleFactor,e._li);e._pointSnapper.snap(s)}},vn.prototype.interfaces_=function(){return[Mi]},vn.prototype.getClass=function(){return vn};var se=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new _t,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}},wo={CAP_ROUND:{configurable:!0},CAP_BUTT:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},MAX_PRECISION_DIGITS:{configurable:!0}};se.prototype.bufferFixedPrecision=function(t){var e=new ci(new vn(new yt(1)),t.getScale()),r=new _e(this._bufParams);r.setWorkingPrecisionModel(t),r.setNoder(e),this._resultGeometry=r.buffer(this._argGeom,this._distance)},se.prototype.bufferReducedPrecision=function(){var t=this;if(arguments.length===0){for(var e=se.MAX_PRECISION_DIGITS;e>=0;e--){try{t.bufferReducedPrecision(e)}catch(o){if(o instanceof zn)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=se.precisionScaleFactor(this._argGeom,this._distance,r),s=new yt(i);this.bufferFixedPrecision(s)}},se.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),this._resultGeometry!==null)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===yt.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()},se.prototype.setQuadrantSegments=function(t){this._bufParams.setQuadrantSegments(t)},se.prototype.bufferOriginalPrecision=function(){try{var t=new _e(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(e){if(e instanceof Ln)this._saveException=e;else throw e}finally{}},se.prototype.getResultGeometry=function(t){return this._distance=t,this.computeGeometry(),this._resultGeometry},se.prototype.setEndCapStyle=function(t){this._bufParams.setEndCapStyle(t)},se.prototype.interfaces_=function(){return[]},se.prototype.getClass=function(){return se},se.bufferOp=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new se(t),i=r.getResultGeometry(e);return i}else if(arguments.length===3){if(Number.isInteger(arguments[2])&&arguments[0]instanceof K&&typeof arguments[1]=="number"){var s=arguments[0],o=arguments[1],a=arguments[2],u=new se(s);u.setQuadrantSegments(a);var l=u.getResultGeometry(o);return l}else if(arguments[2]instanceof _t&&arguments[0]instanceof K&&typeof arguments[1]=="number"){var c=arguments[0],h=arguments[1],d=arguments[2],g=new se(c,d),v=g.getResultGeometry(h);return v}}else if(arguments.length===4){var E=arguments[0],C=arguments[1],b=arguments[2],m=arguments[3],y=new se(E);y.setQuadrantSegments(b),y.setEndCapStyle(m);var _=y.getResultGeometry(C);return _}},se.precisionScaleFactor=function(t,e,r){var i=t.getEnvelopeInternal(),s=Ke.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},wo.CAP_ROUND.get=function(){return _t.CAP_ROUND},wo.CAP_BUTT.get=function(){return _t.CAP_FLAT},wo.CAP_FLAT.get=function(){return _t.CAP_FLAT},wo.CAP_SQUARE.get=function(){return _t.CAP_SQUARE},wo.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(se,wo);var we=function(){this._pt=[new N,new N],this._distance=rt.NaN,this._isNull=!0};we.prototype.getCoordinates=function(){return this._pt},we.prototype.getCoordinate=function(t){return this._pt[t]},we.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)}},we.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}},we.prototype.getDistance=function(){return this._distance},we.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)}},we.prototype.interfaces_=function(){return[]},we.prototype.getClass=function(){return we};var yn=function(){};yn.prototype.interfaces_=function(){return[]},yn.prototype.getClass=function(){return yn},yn.computeDistance=function(){if(arguments[2]instanceof we&&arguments[0]instanceof Rt&&arguments[1]instanceof N)for(var t=arguments[0],e=arguments[1],r=arguments[2],i=t.getCoordinates(),s=new Y,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 we&&arguments[0]instanceof Bt&&arguments[1]instanceof N){var u=arguments[0],l=arguments[1],c=arguments[2];yn.computeDistance(u.getExteriorRing(),l,c);for(var h=0;h<u.getNumInteriorRing();h++)yn.computeDistance(u.getInteriorRingN(h),l,c)}else if(arguments[2]instanceof we&&arguments[0]instanceof K&&arguments[1]instanceof N){var d=arguments[0],g=arguments[1],v=arguments[2];if(d instanceof Rt)yn.computeDistance(d,g,v);else if(d instanceof Bt)yn.computeDistance(d,g,v);else if(d instanceof me)for(var E=d,C=0;C<E.getNumGeometries();C++){var b=E.getGeometryN(C);yn.computeDistance(b,g,v)}else v.setMinimum(d.getCoordinate(),g)}else if(arguments[2]instanceof we&&arguments[0]instanceof Y&&arguments[1]instanceof N){var m=arguments[0],y=arguments[1],_=arguments[2],S=m.closestPoint(y);_.setMinimum(S,y)}};var Ri=function(t){this._maxPtDist=new we,this._inputGeom=t||null},lc={MaxPointDistanceFilter:{configurable:!0},MaxMidpointDistanceFilter:{configurable:!0}};Ri.prototype.computeMaxMidpointDistance=function(t){var e=new hi(this._inputGeom);t.apply(e),this._maxPtDist.setMaximum(e.getMaxPointDistance())},Ri.prototype.computeMaxVertexDistance=function(t){var e=new ys(this._inputGeom);t.apply(e),this._maxPtDist.setMaximum(e.getMaxPointDistance())},Ri.prototype.findDistance=function(t){return this.computeMaxVertexDistance(t),this.computeMaxMidpointDistance(t),this._maxPtDist.getDistance()},Ri.prototype.getDistancePoints=function(){return this._maxPtDist},Ri.prototype.interfaces_=function(){return[]},Ri.prototype.getClass=function(){return Ri},lc.MaxPointDistanceFilter.get=function(){return ys},lc.MaxMidpointDistanceFilter.get=function(){return hi},Object.defineProperties(Ri,lc);var ys=function(t){this._maxPtDist=new we,this._minPtDist=new we,this._geom=t||null};ys.prototype.filter=function(t){this._minPtDist.initialize(),yn.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},ys.prototype.getMaxPointDistance=function(){return this._maxPtDist},ys.prototype.interfaces_=function(){return[cn]},ys.prototype.getClass=function(){return ys};var hi=function(t){this._maxPtDist=new we,this._minPtDist=new we,this._geom=t||null};hi.prototype.filter=function(t,e){if(e===0)return null;var r=t.getCoordinate(e-1),i=t.getCoordinate(e),s=new N((r.x+i.x)/2,(r.y+i.y)/2);this._minPtDist.initialize(),yn.computeDistance(this._geom,s,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},hi.prototype.isDone=function(){return!1},hi.prototype.isGeometryChanged=function(){return!1},hi.prototype.getMaxPointDistance=function(){return this._maxPtDist},hi.prototype.interfaces_=function(){return[Er]},hi.prototype.getClass=function(){return hi};var qn=function(t){this._comps=t||null};qn.prototype.filter=function(t){t instanceof Bt&&this._comps.add(t)},qn.prototype.interfaces_=function(){return[Ar]},qn.prototype.getClass=function(){return qn},qn.getPolygons=function(){if(arguments.length===1){var t=arguments[0];return qn.getPolygons(t,new U)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e instanceof Bt?r.add(e):e instanceof me&&e.apply(new qn(r)),r}};var oe=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}};oe.prototype.filter=function(t){if(this._isForcedToLineString&&t instanceof hn){var e=t.getFactory().createLineString(t.getCoordinateSequence());return this._lines.add(e),null}t instanceof Rt&&this._lines.add(t)},oe.prototype.setForceToLineString=function(t){this._isForcedToLineString=t},oe.prototype.interfaces_=function(){return[An]},oe.prototype.getClass=function(){return oe},oe.getGeometry=function(){if(arguments.length===1){var t=arguments[0];return t.getFactory().buildGeometry(oe.getLines(t))}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e.getFactory().buildGeometry(oe.getLines(e,r))}},oe.getLines=function(){if(arguments.length===1){var t=arguments[0];return oe.getLines(t,!1)}else if(arguments.length===2){if(Q(arguments[0],Ht)&&Q(arguments[1],Ht)){for(var e=arguments[0],r=arguments[1],i=e.iterator();i.hasNext();){var s=i.next();oe.getLines(s,r)}return r}else if(arguments[0]instanceof K&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1],u=new U;return o.apply(new oe(u,a)),u}else if(arguments[0]instanceof K&&Q(arguments[1],Ht)){var l=arguments[0],c=arguments[1];return l instanceof Rt?c.add(l):l.apply(new oe(c)),c}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&Q(arguments[0],Ht)&&Q(arguments[1],Ht)){for(var h=arguments[0],d=arguments[1],g=arguments[2],v=h.iterator();v.hasNext();){var E=v.next();oe.getLines(E,d,g)}return d}else if(typeof arguments[2]=="boolean"&&arguments[0]instanceof K&&Q(arguments[1],Ht)){var C=arguments[0],b=arguments[1],m=arguments[2];return C.apply(new oe(b,m)),b}}};var Pr=function(){if(this._boundaryRule=ar.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 xt("Rule must be non-null");this._boundaryRule=t}}};Pr.prototype.locateInternal=function(){var t=this;if(arguments[0]instanceof N&&arguments[1]instanceof Bt){var e=arguments[0],r=arguments[1];if(r.isEmpty())return O.EXTERIOR;var i=r.getExteriorRing(),s=this.locateInPolygonRing(e,i);if(s===O.EXTERIOR)return O.EXTERIOR;if(s===O.BOUNDARY)return O.BOUNDARY;for(var o=0;o<r.getNumInteriorRing();o++){var a=r.getInteriorRingN(o),u=t.locateInPolygonRing(e,a);if(u===O.INTERIOR)return O.EXTERIOR;if(u===O.BOUNDARY)return O.BOUNDARY}return O.INTERIOR}else if(arguments[0]instanceof N&&arguments[1]instanceof Rt){var l=arguments[0],c=arguments[1];if(!c.getEnvelopeInternal().intersects(l))return O.EXTERIOR;var h=c.getCoordinates();return!c.isClosed()&&(l.equals(h[0])||l.equals(h[h.length-1]))?O.BOUNDARY:G.isOnLine(l,h)?O.INTERIOR:O.EXTERIOR}else if(arguments[0]instanceof N&&arguments[1]instanceof Ve){var d=arguments[0],g=arguments[1],v=g.getCoordinate();return v.equals2D(d)?O.INTERIOR:O.EXTERIOR}},Pr.prototype.locateInPolygonRing=function(t,e){return e.getEnvelopeInternal().intersects(t)?G.locatePointInRing(t,e.getCoordinates()):O.EXTERIOR},Pr.prototype.intersects=function(t,e){return this.locate(t,e)!==O.EXTERIOR},Pr.prototype.updateLocationInfo=function(t){t===O.INTERIOR&&(this._isIn=!0),t===O.BOUNDARY&&this._numBoundaries++},Pr.prototype.computeLocation=function(t,e){var r=this;if(e instanceof Ve&&this.updateLocationInfo(this.locateInternal(t,e)),e instanceof Rt)this.updateLocationInfo(this.locateInternal(t,e));else if(e instanceof Bt)this.updateLocationInfo(this.locateInternal(t,e));else if(e instanceof Oi)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 fn)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 me)for(var c=new gn(e);c.hasNext();){var h=c.next();h!==e&&r.computeLocation(t,h)}},Pr.prototype.locate=function(t,e){return e.isEmpty()?O.EXTERIOR:e instanceof Rt?this.locateInternal(t,e):e instanceof Bt?this.locateInternal(t,e):(this._isIn=!1,this._numBoundaries=0,this.computeLocation(t,e),this._boundaryRule.isInBoundary(this._numBoundaries)?O.BOUNDARY:this._numBoundaries>0||this._isIn?O.INTERIOR:O.EXTERIOR)},Pr.prototype.interfaces_=function(){return[]},Pr.prototype.getClass=function(){return Pr};var Ee=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}},Hd={INSIDE_AREA:{configurable:!0}};Ee.prototype.isInsideArea=function(){return this._segIndex===Ee.INSIDE_AREA},Ee.prototype.getCoordinate=function(){return this._pt},Ee.prototype.getGeometryComponent=function(){return this._component},Ee.prototype.getSegmentIndex=function(){return this._segIndex},Ee.prototype.interfaces_=function(){return[]},Ee.prototype.getClass=function(){return Ee},Hd.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Ee,Hd);var fi=function(t){this._pts=t||null};fi.prototype.filter=function(t){t instanceof Ve&&this._pts.add(t)},fi.prototype.interfaces_=function(){return[Ar]},fi.prototype.getClass=function(){return fi},fi.getPoints=function(){if(arguments.length===1){var t=arguments[0];return t instanceof Ve?Cr.singletonList(t):fi.getPoints(t,new U)}else if(arguments.length===2){var e=arguments[0],r=arguments[1];return e instanceof Ve?r.add(e):e instanceof me&&e.apply(new fi(r)),r}};var _s=function(){this._locations=null;var t=arguments[0];this._locations=t};_s.prototype.filter=function(t){(t instanceof Ve||t instanceof Rt||t instanceof Bt)&&this._locations.add(new Ee(t,0,t.getCoordinate()))},_s.prototype.interfaces_=function(){return[Ar]},_s.prototype.getClass=function(){return _s},_s.getLocations=function(t){var e=new U;return t.apply(new _s(e)),e};var ae=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new Pr,this._minDistanceLocation=null,this._minDistance=rt.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}};ae.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=qn.getPolygons(this._geom[r]);if(o.size()>0){var a=_s.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&&Q(arguments[0],_r)&&Q(arguments[1],_r)){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 Ee&&arguments[1]instanceof Bt){var v=arguments[0],E=arguments[1],C=arguments[2],b=v.getCoordinate();if(O.EXTERIOR!==this._ptLocator.locate(b,E))return this._minDistance=0,C[0]=v,C[1]=new Ee(E,b),null}}},ae.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}},ae.prototype.computeFacetDistance=function(){var t=new Array(2).fill(null),e=oe.getLines(this._geom[0]),r=oe.getLines(this._geom[1]),i=fi.getPoints(this._geom[0]),s=fi.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)},ae.prototype.nearestLocations=function(){return this.computeMinDistance(),this._minDistanceLocation},ae.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])},ae.prototype.nearestPoints=function(){this.computeMinDistance();var t=[this._minDistanceLocation[0].getCoordinate(),this._minDistanceLocation[1].getCoordinate()];return t},ae.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 Rt&&arguments[1]instanceof Ve){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=G.distancePointLine(o,s[a],s[a+1]);if(u<t._minDistance){t._minDistance=u;var l=new Y(s[a],s[a+1]),c=l.closestPoint(o);i[0]=new Ee(e,a,c),i[1]=new Ee(r,0,o)}if(t._minDistance<=t._terminateDistance)return null}}else if(arguments[2]instanceof Array&&arguments[0]instanceof Rt&&arguments[1]instanceof Rt){var h=arguments[0],d=arguments[1],g=arguments[2];if(h.getEnvelopeInternal().distance(d.getEnvelopeInternal())>this._minDistance)return null;for(var v=h.getCoordinates(),E=d.getCoordinates(),C=0;C<v.length-1;C++)for(var b=0;b<E.length-1;b++){var m=G.distanceLineLine(v[C],v[C+1],E[b],E[b+1]);if(m<t._minDistance){t._minDistance=m;var y=new Y(v[C],v[C+1]),_=new Y(E[b],E[b+1]),S=y.closestPoints(_);g[0]=new Ee(h,C,S[0]),g[1]=new Ee(d,b,S[1])}if(t._minDistance<=t._terminateDistance)return null}}}},ae.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 Ee(o,0,o.getCoordinate()),r[1]=new Ee(u,0,u.getCoordinate())),i._minDistance<=i._terminateDistance)return null}},ae.prototype.distance=function(){if(this._geom[0]===null||this._geom[1]===null)throw new xt("null geometries are not supported");return this._geom[0].isEmpty()||this._geom[1].isEmpty()?0:(this.computeMinDistance(),this._minDistance)},ae.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}},ae.prototype.interfaces_=function(){return[]},ae.prototype.getClass=function(){return ae},ae.distance=function(t,e){var r=new ae(t,e);return r.distance()},ae.isWithinDistance=function(t,e,r){var i=new ae(t,e,r);return i.distance()<=r},ae.nearestPoints=function(t,e){var r=new ae(t,e);return r.nearestPoints()};var pe=function(){this._pt=[new N,new N],this._distance=rt.NaN,this._isNull=!0};pe.prototype.getCoordinates=function(){return this._pt},pe.prototype.getCoordinate=function(t){return this._pt[t]},pe.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)}},pe.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}},pe.prototype.toString=function(){return yr.toLineString(this._pt[0],this._pt[1])},pe.prototype.getDistance=function(){return this._distance},pe.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)}},pe.prototype.interfaces_=function(){return[]},pe.prototype.getClass=function(){return pe};var qr=function(){};qr.prototype.interfaces_=function(){return[]},qr.prototype.getClass=function(){return qr},qr.computeDistance=function(){if(arguments[2]instanceof pe&&arguments[0]instanceof Rt&&arguments[1]instanceof N)for(var t=arguments[0],e=arguments[1],r=arguments[2],i=new Y,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 pe&&arguments[0]instanceof Bt&&arguments[1]instanceof N){var u=arguments[0],l=arguments[1],c=arguments[2];qr.computeDistance(u.getExteriorRing(),l,c);for(var h=0;h<u.getNumInteriorRing();h++)qr.computeDistance(u.getInteriorRingN(h),l,c)}else if(arguments[2]instanceof pe&&arguments[0]instanceof K&&arguments[1]instanceof N){var d=arguments[0],g=arguments[1],v=arguments[2];if(d instanceof Rt)qr.computeDistance(d,g,v);else if(d instanceof Bt)qr.computeDistance(d,g,v);else if(d instanceof me)for(var E=d,C=0;C<E.getNumGeometries();C++){var b=E.getGeometryN(C);qr.computeDistance(b,g,v)}else v.setMinimum(d.getCoordinate(),g)}else if(arguments[2]instanceof pe&&arguments[0]instanceof Y&&arguments[1]instanceof N){var m=arguments[0],y=arguments[1],_=arguments[2],S=m.closestPoint(y);_.setMinimum(S,y)}};var fr=function(){this._g0=null,this._g1=null,this._ptDist=new pe,this._densifyFrac=0;var t=arguments[0],e=arguments[1];this._g0=t,this._g1=e},cc={MaxPointDistanceFilter:{configurable:!0},MaxDensifiedByFractionDistanceFilter:{configurable:!0}};fr.prototype.getCoordinates=function(){return this._ptDist.getCoordinates()},fr.prototype.setDensifyFraction=function(t){if(t>1||t<=0)throw new xt("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=t},fr.prototype.compute=function(t,e){this.computeOrientedDistance(t,e,this._ptDist),this.computeOrientedDistance(e,t,this._ptDist)},fr.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},fr.prototype.computeOrientedDistance=function(t,e,r){var i=new ws(e);if(t.apply(i),r.setMaximum(i.getMaxPointDistance()),this._densifyFrac>0){var s=new di(e,this._densifyFrac);t.apply(s),r.setMaximum(s.getMaxPointDistance())}},fr.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},fr.prototype.interfaces_=function(){return[]},fr.prototype.getClass=function(){return fr},fr.distance=function(){if(arguments.length===2){var t=arguments[0],e=arguments[1],r=new fr(t,e);return r.distance()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new fr(i,s);return a.setDensifyFraction(o),a.distance()}},cc.MaxPointDistanceFilter.get=function(){return ws},cc.MaxDensifiedByFractionDistanceFilter.get=function(){return di},Object.defineProperties(fr,cc);var ws=function(){this._maxPtDist=new pe,this._minPtDist=new pe,this._euclideanDist=new qr,this._geom=null;var t=arguments[0];this._geom=t};ws.prototype.filter=function(t){this._minPtDist.initialize(),qr.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},ws.prototype.getMaxPointDistance=function(){return this._maxPtDist},ws.prototype.interfaces_=function(){return[cn]},ws.prototype.getClass=function(){return ws};var di=function(){this._maxPtDist=new pe,this._minPtDist=new pe,this._geom=null,this._numSubSegs=0;var t=arguments[0],e=arguments[1];this._geom=t,this._numSubSegs=Math.trunc(Math.round(1/e))};di.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 N(l,c);r._minPtDist.initialize(),qr.computeDistance(r._geom,h,r._minPtDist),r._maxPtDist.setMaximum(r._minPtDist)}},di.prototype.isDone=function(){return!1},di.prototype.isGeometryChanged=function(){return!1},di.prototype.getMaxPointDistance=function(){return this._maxPtDist},di.prototype.interfaces_=function(){return[Er]},di.prototype.getClass=function(){return di};var Ge=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},hc={VERBOSE:{configurable:!0},MAX_DISTANCE_DIFF_FRAC:{configurable:!0}};Ge.prototype.checkMaximumDistance=function(t,e,r){var i=new fr(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 "+yr.toLineString(s[0],s[1])+")"}},Ge.prototype.isValid=function(){var t=Math.abs(this._bufDistance),e=Ge.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(),Ge.VERBOSE&&ne.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},Ge.prototype.checkNegativeValid=function(){if(!(this._input instanceof Bt||this._input instanceof fn||this._input instanceof me))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)},Ge.prototype.getErrorIndicator=function(){return this._errorIndicator},Ge.prototype.checkMinimumDistance=function(t,e,r){var i=new ae(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 "+yr.toLineString(s[0],s[1])+" )"}},Ge.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)},Ge.prototype.getErrorLocation=function(){return this._errorLocation},Ge.prototype.getPolygonLines=function(t){for(var e=new U,r=new oe(e),i=qn.getPolygons(t),s=i.iterator();s.hasNext();){var o=s.next();o.apply(r)}return t.getFactory().buildGeometry(e)},Ge.prototype.getErrorMessage=function(){return this._errMsg},Ge.prototype.interfaces_=function(){return[]},Ge.prototype.getClass=function(){return Ge},hc.VERBOSE.get=function(){return!1},hc.MAX_DISTANCE_DIFF_FRAC.get=function(){return .012},Object.defineProperties(Ge,hc);var ue=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},fc={VERBOSE:{configurable:!0},MAX_ENV_DIFF_FRAC:{configurable:!0}};ue.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},ue.prototype.checkEnvelope=function(){if(this._distance<0)return null;var t=this._distance*ue.MAX_ENV_DIFF_FRAC;t===0&&(t=.001);var e=new X(this._input.getEnvelopeInternal());e.expandBy(this._distance);var r=new X(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")},ue.prototype.checkDistance=function(){var t=new Ge(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")},ue.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")},ue.prototype.checkPolygonal=function(){this._result instanceof Bt||this._result instanceof fn||(this._isValid=!1),this._errorMsg="Result is not polygonal",this._errorIndicator=this._result,this.report("Polygonal")},ue.prototype.getErrorIndicator=function(){return this._errorIndicator},ue.prototype.getErrorLocation=function(){return this._errorLocation},ue.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")},ue.prototype.report=function(t){if(!ue.VERBOSE)return null;ne.out.println("Check "+t+": "+(this._isValid?"passed":"FAILED"))},ue.prototype.getErrorMessage=function(){return this._errorMsg},ue.prototype.interfaces_=function(){return[]},ue.prototype.getClass=function(){return ue},ue.isValidMsg=function(t,e,r){var i=new ue(t,e,r);return i.isValid()?null:i.getErrorMessage()},ue.isValid=function(t,e,r){var i=new ue(t,e,r);return!!i.isValid()},fc.VERBOSE.get=function(){return!1},fc.MAX_ENV_DIFF_FRAC.get=function(){return .012},Object.defineProperties(ue,fc);var Xr=function(){this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};Xr.prototype.getCoordinates=function(){return this._pts},Xr.prototype.size=function(){return this._pts.length},Xr.prototype.getCoordinate=function(t){return this._pts[t]},Xr.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Xr.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:ps.octant(this.getCoordinate(t),this.getCoordinate(t+1))},Xr.prototype.setData=function(t){this._data=t},Xr.prototype.getData=function(){return this._data},Xr.prototype.toString=function(){return yr.toLineString(new Ut(this._pts))},Xr.prototype.interfaces_=function(){return[pn]},Xr.prototype.getClass=function(){return Xr};var te=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};te.prototype.getInteriorIntersection=function(){return this._interiorIntersection},te.prototype.setCheckEndSegmentsOnly=function(t){this._isCheckEndSegmentsOnly=t},te.prototype.getIntersectionSegments=function(){return this._intSegments},te.prototype.count=function(){return this._intersectionCount},te.prototype.getIntersections=function(){return this._intersections},te.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},te.prototype.setKeepIntersections=function(t){this._keepIntersections=t},te.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++)},te.prototype.isEndSegment=function(t,e){return e===0||e>=t.size()-2},te.prototype.hasIntersection=function(){return this._interiorIntersection!==null},te.prototype.isDone=function(){return this._findAllIntersections?!1:this._interiorIntersection!==null},te.prototype.interfaces_=function(){return[Li]},te.prototype.getClass=function(){return te},te.createAllIntersectionsFinder=function(t){var e=new te(t);return e.setFindAllIntersections(!0),e},te.createAnyIntersectionFinder=function(t){return new te(t)},te.createIntersectionCounter=function(t){var e=new te(t);return e.setFindAllIntersections(!0),e.setKeepIntersections(!1),e};var br=function(){this._li=new Ni,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var t=arguments[0];this._segStrings=t};br.prototype.execute=function(){if(this._segInt!==null)return null;this.checkInteriorIntersections()},br.prototype.getIntersections=function(){return this._segInt.getIntersections()},br.prototype.isValid=function(){return this.execute(),this._isValid},br.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},br.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new te(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var t=new uc;if(t.setSegmentIntersector(this._segInt),t.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},br.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new zn(this.getErrorMessage(),this._segInt.getInteriorIntersection())},br.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var t=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+yr.toLineString(t[0],t[1])+" and "+yr.toLineString(t[2],t[3])},br.prototype.interfaces_=function(){return[]},br.prototype.getClass=function(){return br},br.computeIntersections=function(t){var e=new br(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()};var Fi=function n(){this._nv=null;var t=arguments[0];this._nv=new br(n.toSegmentStrings(t))};Fi.prototype.checkValid=function(){this._nv.checkValid()},Fi.prototype.interfaces_=function(){return[]},Fi.prototype.getClass=function(){return Fi},Fi.toSegmentStrings=function(t){for(var e=new U,r=t.iterator();r.hasNext();){var i=r.next();e.add(new Xr(i.getCoordinates(),i))}return e},Fi.checkValid=function(t){var e=new Fi(t);e.checkValid()};var Es=function(t){this._mapOp=t};Es.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(ut.toGeometryArray(r))},Es.prototype.interfaces_=function(){return[]},Es.prototype.getClass=function(){return Es},Es.map=function(t,e){var r=new Es(e);return r.map(t)};var Yr=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};Yr.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)}},Yr.prototype.labelIsolatedLine=function(t,e){var r=this._ptLocator.locate(t.getCoordinate(),this._op.getArgGeometry(e));t.getLabel().setLocation(e,r)},Yr.prototype.build=function(t){return this.findCoveredLineEdges(),this.collectLines(t),this.buildLines(t),this._resultLineList},Yr.prototype.collectLineEdge=function(t,e,r){var i=t.getLabel(),s=t.getEdge();t.isLineEdge()&&!t.isVisited()&&it.isResultOfOp(i,e)&&!s.isCovered()&&(r.add(s),t.setVisitedEdge(!0))},Yr.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)}}},Yr.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))}},Yr.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)}},Yr.prototype.collectBoundaryTouchEdge=function(t,e,r){var i=t.getLabel();if(t.isLineEdge()||t.isVisited()||t.isInteriorAreaEdge()||t.getEdge().isInResult())return null;st.isTrue(!(t.isInResult()||t.getSym().isInResult())||!t.getEdge().isInResult()),it.isResultOfOp(i,e)&&e===it.INTERSECTION&&(r.add(t.getEdge()),t.setVisitedEdge(!0))},Yr.prototype.interfaces_=function(){return[]},Yr.prototype.getClass=function(){return Yr};var Ss=function(){this._op=null,this._geometryFactory=null,this._resultPointList=new U;var t=arguments[0],e=arguments[1];this._op=t,this._geometryFactory=e};Ss.prototype.filterCoveredNodeToPoint=function(t){var e=t.getCoordinate();if(!this._op.isCoveredByLA(e)){var r=this._geometryFactory.createPoint(e);this._resultPointList.add(r)}},Ss.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===it.INTERSECTION)){var s=i.getLabel();it.isResultOfOp(s,t)&&e.filterCoveredNodeToPoint(i)}}},Ss.prototype.build=function(t){return this.extractNonCoveredResultNodes(t),this._resultPointList},Ss.prototype.interfaces_=function(){return[]},Ss.prototype.getClass=function(){return Ss};var De=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};De.prototype.transformPoint=function(t,e){return this._factory.createPoint(this.transformCoordinates(t.getCoordinateSequence(),t))},De.prototype.transformPolygon=function(t,e){var r=this,i=!0,s=this.transformLinearRing(t.getExteriorRing(),t);(s===null||!(s instanceof hn)||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 hn||(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)},De.prototype.createCoordinateSequence=function(t){return this._factory.getCoordinateSequenceFactory().create(t)},De.prototype.getInputGeometry=function(){return this._inputGeom},De.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)},De.prototype.transformCoordinates=function(t,e){return this.copy(t)},De.prototype.transformLineString=function(t,e){return this._factory.createLineString(this.transformCoordinates(t.getCoordinateSequence(),t))},De.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)},De.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)},De.prototype.copy=function(t){return t.copy()},De.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(ut.toGeometryArray(i)):this._factory.buildGeometry(i)},De.prototype.transform=function(t){if(this._inputGeom=t,this._factory=t.getFactory(),t instanceof Ve)return this.transformPoint(t,null);if(t instanceof po)return this.transformMultiPoint(t,null);if(t instanceof hn)return this.transformLinearRing(t,null);if(t instanceof Rt)return this.transformLineString(t,null);if(t instanceof Oi)return this.transformMultiLineString(t,null);if(t instanceof Bt)return this.transformPolygon(t,null);if(t instanceof fn)return this.transformMultiPolygon(t,null);if(t instanceof me)return this.transformGeometryCollection(t,null);throw new xt("Unknown Geometry subtype: "+t.getClass().getName())},De.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)},De.prototype.interfaces_=function(){return[]},De.prototype.getClass=function(){return De};var _n=function n(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new Y,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof Rt&&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}};_n.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 N(a)),s===0&&r._isClosed&&t.set(t.size()-1,new N(a)))}},_n.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},_n.prototype.snapTo=function(t){var e=new Ta(this._srcPts);this.snapVertices(e,t),this.snapSegments(e,t);var r=e.toCoordinateArray();return r},_n.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 N(o),!1)}},_n.prototype.findSegmentIndexToSnap=function(t,e){for(var r=this,i=rt.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},_n.prototype.setAllowSnappingToSourceVertices=function(t){this._allowSnappingToSourceVertices=t},_n.prototype.interfaces_=function(){return[]},_n.prototype.getClass=function(){return _n},_n.isClosed=function(t){return t.length<=1?!1:t[0].equals2D(t[t.length-1])};var Wt=function(t){this._srcGeom=t||null},Bd={SNAP_PRECISION_FACTOR:{configurable:!0}};Wt.prototype.snapTo=function(t,e){var r=this.extractTargetCoordinates(t),i=new Jd(e,r);return i.transform(this._srcGeom)},Wt.prototype.snapToSelf=function(t,e){var r=this.extractTargetCoordinates(this._srcGeom),i=new Jd(t,r,!0),s=i.transform(this._srcGeom),o=s;return e&&Q(o,oi)&&(o=s.buffer(0)),o},Wt.prototype.computeSnapTolerance=function(t){var e=this.computeMinimumSegmentLength(t),r=e/10;return r},Wt.prototype.extractTargetCoordinates=function(t){for(var e=new Lr,r=t.getCoordinates(),i=0;i<r.length;i++)e.add(r[i]);return e.toArray(new Array(0).fill(null))},Wt.prototype.computeMinimumSegmentLength=function(t){for(var e=rt.MAX_VALUE,r=0;r<t.length-1;r++){var i=t[r].distance(t[r+1]);i<e&&(e=i)}return e},Wt.prototype.interfaces_=function(){return[]},Wt.prototype.getClass=function(){return Wt},Wt.snap=function(t,e,r){var i=new Array(2).fill(null),s=new Wt(t);i[0]=s.snapTo(e,r);var o=new Wt(e);return i[1]=o.snapTo(i[0],r),i},Wt.computeOverlaySnapTolerance=function(){if(arguments.length===1){var t=arguments[0],e=Wt.computeSizeBasedSnapTolerance(t),r=t.getPrecisionModel();if(r.getType()===yt.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(Wt.computeOverlaySnapTolerance(s),Wt.computeOverlaySnapTolerance(o))}},Wt.computeSizeBasedSnapTolerance=function(t){var e=t.getEnvelopeInternal(),r=Math.min(e.getHeight(),e.getWidth()),i=r*Wt.SNAP_PRECISION_FACTOR;return i},Wt.snapToSelf=function(t,e,r){var i=new Wt(t);return i.snapToSelf(e,r)},Bd.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(Wt,Bd);var Jd=(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 _n(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})(De),Se=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};Se.prototype.getCommon=function(){return rt.longBitsToDouble(this._commonBits)},Se.prototype.add=function(t){var e=rt.doubleToLongBits(t);if(this._isFirst)return this._commonBits=e,this._commonSignExp=Se.signExpBits(this._commonBits),this._isFirst=!1,null;var r=Se.signExpBits(e);if(r!==this._commonSignExp)return this._commonBits=0,null;this._commonMantissaBitsCount=Se.numCommonMostSigMantissaBits(this._commonBits,e),this._commonBits=Se.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))},Se.prototype.toString=function(){if(arguments.length===1){var t=arguments[0],e=rt.longBitsToDouble(t),r=rt.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}},Se.prototype.interfaces_=function(){return[]},Se.prototype.getClass=function(){return Se},Se.getBit=function(t,e){var r=1<<e;return(t&r)!==0?1:0},Se.signExpBits=function(t){return t>>52},Se.zeroLowerBits=function(t,e){var r=(1<<e)-1,i=~r,s=t&i;return s},Se.numCommonMostSigMantissaBits=function(t,e){for(var r=0,i=52;i>=0;i--){if(Se.getBit(t,i)!==Se.getBit(e,i))return r;r++}return 52};var pi=function(){this._commonCoord=null,this._ccFilter=new Cs},dc={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};pi.prototype.addCommonBits=function(t){var e=new gi(this._commonCoord);t.apply(e),t.geometryChanged()},pi.prototype.removeCommonBits=function(t){if(this._commonCoord.x===0&&this._commonCoord.y===0)return t;var e=new N(this._commonCoord);e.x=-e.x,e.y=-e.y;var r=new gi(e);return t.apply(r),t.geometryChanged(),t},pi.prototype.getCommonCoordinate=function(){return this._commonCoord},pi.prototype.add=function(t){t.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},pi.prototype.interfaces_=function(){return[]},pi.prototype.getClass=function(){return pi},dc.CommonCoordinateFilter.get=function(){return Cs},dc.Translater.get=function(){return gi},Object.defineProperties(pi,dc);var Cs=function(){this._commonBitsX=new Se,this._commonBitsY=new Se};Cs.prototype.filter=function(t){this._commonBitsX.add(t.x),this._commonBitsY.add(t.y)},Cs.prototype.getCommonCoordinate=function(){return new N(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},Cs.prototype.interfaces_=function(){return[cn]},Cs.prototype.getClass=function(){return Cs};var gi=function(){this.trans=null;var t=arguments[0];this.trans=t};gi.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)},gi.prototype.isDone=function(){return!1},gi.prototype.isGeometryChanged=function(){return!0},gi.prototype.interfaces_=function(){return[Er]},gi.prototype.getClass=function(){return gi};var ee=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()};ee.prototype.selfSnap=function(t){var e=new Wt(t),r=e.snapTo(t,this._snapTolerance);return r},ee.prototype.removeCommonBits=function(t){this._cbr=new pi,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},ee.prototype.prepareResult=function(t){return this._cbr.addCommonBits(t),t},ee.prototype.getResultGeometry=function(t){var e=this.snap(this._geom),r=it.overlayOp(e[0],e[1],t);return this.prepareResult(r)},ee.prototype.checkValid=function(t){t.isValid()||ne.out.println("Snapped geometry is invalid")},ee.prototype.computeSnapTolerance=function(){this._snapTolerance=Wt.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},ee.prototype.snap=function(t){var e=this.removeCommonBits(t),r=Wt.snap(e[0],e[1],this._snapTolerance);return r},ee.prototype.interfaces_=function(){return[]},ee.prototype.getClass=function(){return ee},ee.overlayOp=function(t,e,r){var i=new ee(t,e);return i.getResultGeometry(r)},ee.union=function(t,e){return ee.overlayOp(t,e,it.UNION)},ee.intersection=function(t,e){return ee.overlayOp(t,e,it.INTERSECTION)},ee.symDifference=function(t,e){return ee.overlayOp(t,e,it.SYMDIFFERENCE)},ee.difference=function(t,e){return ee.overlayOp(t,e,it.DIFFERENCE)};var Ce=function(t,e){this._geom=new Array(2).fill(null),this._geom[0]=t,this._geom[1]=e};Ce.prototype.getResultGeometry=function(t){var e=null,r=!1,i=null;try{e=it.overlayOp(this._geom[0],this._geom[1],t);var s=!0;s&&(r=!0)}catch(o){if(o instanceof Ln)i=o;else throw o}finally{}if(!r)try{e=ee.overlayOp(this._geom[0],this._geom[1],t)}catch(o){throw o instanceof Ln?i:o}finally{}return e},Ce.prototype.interfaces_=function(){return[]},Ce.prototype.getClass=function(){return Ce},Ce.overlayOp=function(t,e,r){var i=new Ce(t,e);return i.getResultGeometry(r)},Ce.union=function(t,e){return Ce.overlayOp(t,e,it.UNION)},Ce.intersection=function(t,e){return Ce.overlayOp(t,e,it.INTERSECTION)},Ce.symDifference=function(t,e){return Ce.overlayOp(t,e,it.SYMDIFFERENCE)},Ce.difference=function(t,e){return Ce.overlayOp(t,e,it.DIFFERENCE)};var qa=function(){this.mce=null,this.chainIndex=null;var t=arguments[0],e=arguments[1];this.mce=t,this.chainIndex=e};qa.prototype.computeIntersections=function(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)},qa.prototype.interfaces_=function(){return[]},qa.prototype.getClass=function(){return qa};var We=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}},pc={INSERT:{configurable:!0},DELETE:{configurable:!0}};We.prototype.isDelete=function(){return this._eventType===We.DELETE},We.prototype.setDeleteEventIndex=function(t){this._deleteEventIndex=t},We.prototype.getObject=function(){return this._obj},We.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},We.prototype.getInsertEvent=function(){return this._insertEvent},We.prototype.isInsert=function(){return this._eventType===We.INSERT},We.prototype.isSameLabel=function(t){return this._label===null?!1:this._label===t._label},We.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},We.prototype.interfaces_=function(){return[sr]},We.prototype.getClass=function(){return We},pc.INSERT.get=function(){return 1},pc.DELETE.get=function(){return 2},Object.defineProperties(We,pc);var zu=function(){};zu.prototype.interfaces_=function(){return[]},zu.prototype.getClass=function(){return zu};var le=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};le.prototype.isTrivialIntersection=function(t,e,r,i){if(t===r&&this._li.getIntersectionNum()===1){if(le.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},le.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},le.prototype.setIsDoneIfProperInt=function(t){this._isDoneWhenProperInt=t},le.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},le.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},le.prototype.hasProperIntersection=function(){return this._hasProper},le.prototype.hasIntersection=function(){return this._hasIntersection},le.prototype.isDone=function(){return this._isDone},le.prototype.isBoundaryPoint=function(t,e){return e===null?!1:!!(this.isBoundaryPointInternal(t,e[0])||this.isBoundaryPointInternal(t,e[1]))},le.prototype.setBoundaryNodes=function(t,e){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=t,this._bdyNodes[1]=e},le.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))))},le.prototype.interfaces_=function(){return[]},le.prototype.getClass=function(){return le},le.isAdjacentSegments=function(t,e){return Math.abs(t-e)===1};var Ry=(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;Cr.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 le&&Q(arguments[0],_r)&&Q(arguments[1],_r)){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"&&Q(arguments[0],_r)&&arguments[1]instanceof le){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 qa(o,u),c=new We(i,o.getMinX(u),l);s.events.add(c),s.events.add(new We(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})(zu),wn=function(){this._min=rt.POSITIVE_INFINITY,this._max=rt.NEGATIVE_INFINITY},jd={NodeComparator:{configurable:!0}};wn.prototype.getMin=function(){return this._min},wn.prototype.intersects=function(t,e){return!(this._min>e||this._max<t)},wn.prototype.getMax=function(){return this._max},wn.prototype.toString=function(){return yr.toLineString(new N(this._min,0),new N(this._max,0))},wn.prototype.interfaces_=function(){return[]},wn.prototype.getClass=function(){return wn},jd.NodeComparator.get=function(){return Xa},Object.defineProperties(wn,jd);var Xa=function(){};Xa.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},Xa.prototype.interfaces_=function(){return[ro]},Xa.prototype.getClass=function(){return Xa};var Fy=(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})(wn),ky=(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})(wn),En=function(){this._leaves=new U,this._root=null,this._level=0};En.prototype.buildTree=function(){var t=this;Cr.sort(this._leaves,new wn.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}},En.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 Fy(t,e,r))},En.prototype.query=function(t,e,r){this.init(),this._root.query(t,e,r)},En.prototype.buildRoot=function(){if(this._root!==null)return null;this._root=this.buildTree()},En.prototype.printNode=function(t){ne.out.println(yr.toLineString(new N(t._min,this._level),new N(t._max,this._level)))},En.prototype.init=function(){if(this._root!==null)return null;this.buildRoot()},En.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 ky(t.get(r),t.get(r+1));e.add(o)}}},En.prototype.interfaces_=function(){return[]},En.prototype.getClass=function(){return En};var Eo=function(){this._items=new U};Eo.prototype.visitItem=function(t){this._items.add(t)},Eo.prototype.getItems=function(){return this._items},Eo.prototype.interfaces_=function(){return[ai]},Eo.prototype.getClass=function(){return Eo};var So=function(){this._index=null;var t=arguments[0];if(!Q(t,oi))throw new xt("Argument must be Polygonal");this._index=new ki(t)},gc={SegmentVisitor:{configurable:!0},IntervalIndexedGeometry:{configurable:!0}};So.prototype.locate=function(t){var e=new Dr(t),r=new Co(e);return this._index.query(t.y,t.y,r),e.getLocation()},So.prototype.interfaces_=function(){return[yo]},So.prototype.getClass=function(){return So},gc.SegmentVisitor.get=function(){return Co},gc.IntervalIndexedGeometry.get=function(){return ki},Object.defineProperties(So,gc);var Co=function(){this._counter=null;var t=arguments[0];this._counter=t};Co.prototype.visitItem=function(t){var e=t;this._counter.countSegment(e.getCoordinate(0),e.getCoordinate(1))},Co.prototype.interfaces_=function(){return[ai]},Co.prototype.getClass=function(){return Co};var ki=function(){this._index=new En;var t=arguments[0];this.init(t)};ki.prototype.init=function(t){for(var e=this,r=oe.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 Y(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 Eo;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 Ya=(function(n){function t(){if(n.call(this),this._parentGeom=null,this._lineEdgeMap=new Od,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new Pr,arguments.length===2){var e=arguments[0],r=arguments[1],i=ar.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=O.NONE;u=o.getLocation(r,z.ON),u===O.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 le(s,!0,!1);u.setIsDoneIfProperInt(a);var l=this.createEdgeSetIntersector(),c=this._parentGeom instanceof hn||this._parentGeom instanceof Bt||this._parentGeom instanceof fn,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 le(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 Ve){var r=arguments[0],i=r.getCoordinate();this.insertPoint(this._argIndex,i,O.INTERIOR)}else if(arguments[0]instanceof N){var s=arguments[0];this.insertPoint(this._argIndex,s,O.INTERIOR)}},t.prototype.addPolygon=function(r){var i=this;this.addPolygonRing(r.getExteriorRing(),O.EXTERIOR,O.INTERIOR);for(var s=0;s<r.getNumInteriorRing();s++){var o=r.getInteriorRingN(s);i.addPolygonRing(o,O.INTERIOR,O.EXTERIOR)}},t.prototype.addEdge=function(r){this.insertEdge(r);var i=r.getCoordinates();this.insertPoint(this._argIndex,i[0],O.BOUNDARY),this.insertPoint(this._argIndex,i[i.length-1],O.BOUNDARY)},t.prototype.addLineString=function(r){var i=at.removeRepeatedPoints(r.getCoordinates());if(i.length<2)return this._hasTooFewPoints=!0,this._invalidPoint=i[0],null;var s=new Vu(i,new Et(this._argIndex,O.INTERIOR));this._lineEdgeMap.put(r,s),this.insertEdge(s),st.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===O.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=at.removeRepeatedPoints(r.getCoordinates());if(o.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=o[0],null;var a=i,u=s;G.isCCW(o)&&(a=s,u=i);var l=new Vu(o,new Et(this._argIndex,O.BOUNDARY,a,u));this._lineEdgeMap.put(r,l),this.insertEdge(l),this.insertPoint(this._argIndex,o[0],O.BOUNDARY)},t.prototype.insertPoint=function(r,i,s){var o=this._nodes.addNode(i),a=o.getLabel();a===null?o._label=new Et(r,s):a.setLocation(r,s)},t.prototype.createEdgeSetIntersector=function(){return new Ry},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 fn&&(this._useBoundaryDeterminationRule=!1),r instanceof Bt)this.addPolygon(r);else if(r instanceof Rt)this.addLineString(r);else if(r instanceof Ve)this.addPoint(r);else if(r instanceof po)this.addCollection(r);else if(r instanceof Oi)this.addCollection(r);else if(r instanceof fn)this.addCollection(r);else if(r instanceof me)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 Q(this._parentGeom,oi)&&this._parentGeom.getNumGeometries()>50?(this._areaPtLocator===null&&(this._areaPtLocator=new So(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)?O.BOUNDARY:O.INTERIOR},t})(Dt),Io=function(){if(this._li=new Ni,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 Ya(0,t)}else if(arguments.length===2){var e=arguments[0],r=arguments[1],i=ar.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 Ya(0,e,i),this._arg[1]=new Ya(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 Ya(0,s,a),this._arg[1]=new Ya(1,o,a)}};Io.prototype.getArgGeometry=function(t){return this._arg[t].getGeometry()},Io.prototype.setComputationPrecision=function(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)},Io.prototype.interfaces_=function(){return[]},Io.prototype.getClass=function(){return Io};var Vi=function(){};Vi.prototype.interfaces_=function(){return[]},Vi.prototype.getClass=function(){return Vi},Vi.map=function(){if(arguments[0]instanceof K&&Q(arguments[1],Vi.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(Q(arguments[0],Ht)&&Q(arguments[1],Vi.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}},Vi.MapOp=function(){};var it=(function(n){function t(){var e=arguments[0],r=arguments[1];n.call(this,e,r),this._ptLocator=new Pr,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new Ir,this._resultPolyList=new U,this._resultLineList=new U,this._resultPointList=new U,this._graph=new Dt(new Ud),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 Et(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!==O.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(),Fi.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(r),this.cancelDuplicateResultEdges();var s=new ze(this._geomFact);s.add(this._graph),this._resultPolyList=s.getPolygons();var o=new Yr(this,this._geomFact,this._ptLocator);this._resultLineList=o.build(r);var a=new Ss(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):(st.isTrue(!o.isNull(a,z.LEFT),"depth of LEFT side has not been initialized"),s.setLocation(a,z.LEFT,o.getLocation(a,z.LEFT)),st.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})(Io);it.overlayOp=function(n,t,e){var r=new it(n,t),i=r.getResultGeometry(e);return i},it.intersection=function(n,t){if(n.isEmpty()||t.isEmpty())return it.createEmptyResult(it.INTERSECTION,n,t,n.getFactory());if(n.isGeometryCollection()){var e=t;return Es.map(n,{interfaces_:function(){return[Vi.MapOp]},map:function(r){return r.intersection(e)}})}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),Ce.overlayOp(n,t,it.INTERSECTION)},it.symDifference=function(n,t){if(n.isEmpty()||t.isEmpty()){if(n.isEmpty()&&t.isEmpty())return it.createEmptyResult(it.SYMDIFFERENCE,n,t,n.getFactory());if(n.isEmpty())return t.copy();if(t.isEmpty())return n.copy()}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),Ce.overlayOp(n,t,it.SYMDIFFERENCE)},it.resultDimension=function(n,t,e){var r=t.getDimension(),i=e.getDimension(),s=-1;switch(n){case it.INTERSECTION:s=Math.min(r,i);break;case it.UNION:s=Math.max(r,i);break;case it.DIFFERENCE:s=r;break;case it.SYMDIFFERENCE:s=Math.max(r,i);break}return s},it.createEmptyResult=function(n,t,e,r){var i=null;switch(it.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},it.difference=function(n,t){return n.isEmpty()?it.createEmptyResult(it.DIFFERENCE,n,t,n.getFactory()):t.isEmpty()?n.copy():(n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),Ce.overlayOp(n,t,it.DIFFERENCE))},it.isResultOfOp=function(){if(arguments.length===2){var n=arguments[0],t=arguments[1],e=n.getLocation(0),r=n.getLocation(1);return it.isResultOfOp(e,r,t)}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];switch(i===O.BOUNDARY&&(i=O.INTERIOR),s===O.BOUNDARY&&(s=O.INTERIOR),o){case it.INTERSECTION:return i===O.INTERIOR&&s===O.INTERIOR;case it.UNION:return i===O.INTERIOR||s===O.INTERIOR;case it.DIFFERENCE:return i===O.INTERIOR&&s!==O.INTERIOR;case it.SYMDIFFERENCE:return i===O.INTERIOR&&s!==O.INTERIOR||i!==O.INTERIOR&&s===O.INTERIOR}return!1}},it.INTERSECTION=1,it.UNION=2,it.DIFFERENCE=3,it.SYMDIFFERENCE=4;var mi=function(){this._g=null,this._boundaryDistanceTolerance=null,this._linework=null,this._ptLocator=new Pr,this._seg=new Y;var t=arguments[0],e=arguments[1];this._g=t,this._boundaryDistanceTolerance=e,this._linework=this.extractLinework(t)};mi.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},mi.prototype.getLocation=function(t){return this.isWithinToleranceOfBoundary(t)?O.BOUNDARY:this._ptLocator.locate(t,this._g)},mi.prototype.extractLinework=function(t){var e=new Po;t.apply(e);var r=e.getLinework(),i=ut.toLineStringArray(r);return t.getFactory().createMultiLineString(i)},mi.prototype.interfaces_=function(){return[]},mi.prototype.getClass=function(){return mi};var Po=function(){this._linework=null,this._linework=new U};Po.prototype.getLinework=function(){return this._linework},Po.prototype.filter=function(t){var e=this;if(t instanceof Bt){var r=t;this._linework.add(r.getExteriorRing());for(var i=0;i<r.getNumInteriorRing();i++)e._linework.add(r.getInteriorRingN(i))}},Po.prototype.interfaces_=function(){return[Ar]},Po.prototype.getClass=function(){return Po};var zi=function(){this._g=null,this._doLeft=!0,this._doRight=!0;var t=arguments[0];this._g=t};zi.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)},zi.prototype.setSidesToGenerate=function(t,e){this._doLeft=t,this._doRight=e},zi.prototype.getPoints=function(t){for(var e=this,r=new U,i=oe.getLines(this._g),s=i.iterator();s.hasNext();){var o=s.next();e.extractPoints(o,t,r)}return r},zi.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 N(c-l,h+u);i.add(d)}if(this._doRight){var g=new N(c+l,h-u);i.add(g)}},zi.prototype.interfaces_=function(){return[]},zi.prototype.getClass=function(){return zi};var rr=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 mi(this._geom[0],this._boundaryDistanceTolerance),new mi(this._geom[1],this._boundaryDistanceTolerance),new mi(this._geom[2],this._boundaryDistanceTolerance)]},Zd={TOLERANCE:{configurable:!0}};rr.prototype.reportResult=function(t,e,r){ne.out.println("Overlay result invalid - A:"+O.toLocationSymbol(e[0])+" B:"+O.toLocationSymbol(e[1])+" expected:"+(r?"i":"e")+" actual:"+O.toLocationSymbol(e[2]))},rr.prototype.isValid=function(t){this.addTestPts(this._geom[0]),this.addTestPts(this._geom[1]);var e=this.checkValid(t);return e},rr.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),rr.hasLocation(this._location,O.BOUNDARY)?!0:this.isValidResult(s,this._location)}},rr.prototype.addTestPts=function(t){var e=new zi(t);this._testCoords.addAll(e.getPoints(5*this._boundaryDistanceTolerance))},rr.prototype.isValidResult=function(t,e){var r=it.isResultOfOp(e[0],e[1],t),i=e[2]===O.INTERIOR,s=!(r^i);return s||this.reportResult(t,e,r),s},rr.prototype.getInvalidLocation=function(){return this._invalidLocation},rr.prototype.interfaces_=function(){return[]},rr.prototype.getClass=function(){return rr},rr.hasLocation=function(t,e){for(var r=0;r<3;r++)if(t[r]===e)return!0;return!1},rr.computeBoundaryDistanceTolerance=function(t,e){return Math.min(Wt.computeSizeBasedSnapTolerance(t),Wt.computeSizeBasedSnapTolerance(e))},rr.isValid=function(t,e,r,i){var s=new rr(t,e,i);return s.isValid(r)},Zd.TOLERANCE.get=function(){return 1e-6},Object.defineProperties(rr,Zd);var nr=function n(t){this._geomFactory=null,this._skipEmpty=!1,this._inputGeoms=null,this._geomFactory=n.extractFactory(t),this._inputGeoms=t};nr.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)}},nr.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)},nr.prototype.interfaces_=function(){return[]},nr.prototype.getClass=function(){return nr},nr.combine=function(){if(arguments.length===1){var t=arguments[0],e=new nr(t);return e.combine()}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=new nr(nr.createList(r,i));return s.combine()}else if(arguments.length===3){var o=arguments[0],a=arguments[1],u=arguments[2],l=new nr(nr.createList(o,a,u));return l.combine()}},nr.extractFactory=function(t){return t.isEmpty()?null:t.iterator().next().getFactory()},nr.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 Yt=function(){this._inputPolys=null,this._geomFactory=null;var t=arguments[0];this._inputPolys=t,this._inputPolys===null&&(this._inputPolys=new U)},Kd={STRTREE_NODE_CAPACITY:{configurable:!0}};Yt.prototype.reduceToGeometries=function(t){for(var e=this,r=new U,i=t.iterator();i.hasNext();){var s=i.next(),o=null;Q(s,_r)?o=e.unionTree(s):s instanceof K&&(o=s),r.add(o)}return r},Yt.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)},Yt.prototype.unionOptimized=function(t,e){var r=t.getEnvelopeInternal(),i=e.getEnvelopeInternal();if(!r.intersects(i)){var s=nr.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)},Yt.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 Ad(Yt.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},Yt.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=Yt.getGeometry(e,r);return this.unionSafe(s,null)}else{if(i-r===2)return this.unionSafe(Yt.getGeometry(e,r),Yt.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)}}},Yt.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},Yt.prototype.unionSafe=function(t,e){return t===null&&e===null?null:t===null?e.copy():e===null?t.copy():this.unionOptimized(t,e)},Yt.prototype.unionActual=function(t,e){return Yt.restrictToPolygons(t.union(e))},Yt.prototype.unionTree=function(t){var e=this.reduceToGeometries(t),r=this.binaryUnion(e);return r},Yt.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=nr.combine(i);return u},Yt.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}},Yt.prototype.interfaces_=function(){return[]},Yt.prototype.getClass=function(){return Yt},Yt.restrictToPolygons=function(t){if(Q(t,oi))return t;var e=qn.getPolygons(t);return e.size()===1?e.get(0):t.getFactory().createMultiPolygon(ut.toPolygonArray(e))},Yt.getGeometry=function(t,e){return e>=t.size()?null:t.get(e)},Yt.union=function(t){var e=new Yt(t);return e.union()},Kd.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(Yt,Kd);var Uu=function(){};Uu.prototype.interfaces_=function(){return[]},Uu.prototype.getClass=function(){return Uu},Uu.union=function(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return it.createEmptyResult(it.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),Ce.overlayOp(t,e,it.UNION)};function Ui(){return new Gu}function Gu(){this.reset()}Gu.prototype={constructor:Gu,reset:function(){this.s=this.t=0},add:function(n){Qd(Wu,n,this.t),Qd(this,Wu.s,this.s),this.s?this.t+=Wu.t:this.s=Wu.t},valueOf:function(){return this.s}};var Wu=new Gu;function Qd(n,t,e){var r=n.s=t+e,i=r-t,s=r-i;n.t=t-s+(e-i)}var kt=1e-6,Ct=Math.PI,Xn=Ct/2,$d=Ct/4,Yn=Ct*2,Gi=180/Ct,Hr=Ct/180,Ie=Math.abs,Vy=Math.atan,bo=Math.atan2,jt=Math.cos,Zt=Math.sin,No=Math.sqrt;function tp(n){return n>1?0:n<-1?Ct:Math.acos(n)}function Is(n){return n>1?Xn:n<-1?-Xn:Math.asin(n)}function Ha(){}function qu(n,t){n&&rp.hasOwnProperty(n.type)&&rp[n.type](n,t)}var ep={Feature:function(n,t){qu(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,i=e.length;++r<i;)qu(e[r].geometry,t)}},rp={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){mc(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)mc(e[r],t,0)},Polygon:function(n,t){np(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)np(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,i=e.length;++r<i;)qu(e[r],t)}};function mc(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 np(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)mc(n[e],t,1);t.polygonEnd()}function zy(n,t){n&&ep.hasOwnProperty(n.type)?ep[n.type](n,t):qu(n,t)}Ui(),Ui();function vc(n){return[bo(n[1],n[0]),Is(n[2])]}function To(n){var t=n[0],e=n[1],r=jt(e);return[r*jt(t),r*Zt(t),Zt(e)]}function Xu(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function Yu(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 yc(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function Hu(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function _c(n){var t=No(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}Ui();function ip(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 wc(n,t){return[n>Ct?n-Yn:n<-Ct?n+Yn:n,t]}wc.invert=wc;function Uy(n,t,e){return(n%=Yn)?t||e?ip(op(n),ap(t,e)):op(n):t||e?ap(t,e):wc}function sp(n){return function(t,e){return t+=n,[t>Ct?t-Yn:t<-Ct?t+Yn:t,e]}}function op(n){var t=sp(n);return t.invert=sp(-n),t}function ap(n,t){var e=jt(n),r=Zt(n),i=jt(t),s=Zt(t);function o(a,u){var l=jt(u),c=jt(a)*l,h=Zt(a)*l,d=Zt(u),g=d*e+c*r;return[bo(h*i-g*s,c*e-d*r),Is(g*i+h*s)]}return o.invert=function(a,u){var l=jt(u),c=jt(a)*l,h=Zt(a)*l,d=Zt(u),g=d*i-h*s;return[bo(h*i+d*s,c*e+g*r),Is(g*e-c*r)]},o}function Gy(n,t,e,r,i,s){if(e){var o=jt(t),a=Zt(t),u=r*e;i==null?(i=t+r*Yn,s=t-u/2):(i=up(o,i),s=up(o,s),(r>0?i<s:i>s)&&(i+=r*Yn));for(var l,c=i;r>0?c>s:c<s;c-=u)l=vc([o,-a*jt(c),-a*Zt(c)]),n.point(l[0],l[1])}}function up(n,t){t=To(t),t[0]-=n,_c(t);var e=tp(-t[1]);return((-t[2]<0?-e:e)+Yn-kt)%Yn}function lp(){var n=[],t;return{point:function(e,r){t.push([e,r])},lineStart:function(){n.push(t=[])},lineEnd:Ha,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Wy(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,v;if(v=e-o,!(!d&&v>0)){if(v/=d,d<0){if(v<c)return;v<h&&(h=v)}else if(d>0){if(v>h)return;v>c&&(c=v)}if(v=i-o,!(!d&&v<0)){if(v/=d,d<0){if(v>h)return;v>c&&(c=v)}else if(d>0){if(v<c)return;v<h&&(h=v)}if(v=r-a,!(!g&&v>0)){if(v/=g,g<0){if(v<c)return;v<h&&(h=v)}else if(g>0){if(v>h)return;v>c&&(c=v)}if(v=s-a,!(!g&&v<0)){if(v/=g,g<0){if(v>h)return;v>c&&(c=v)}else if(g>0){if(v<c)return;v<h&&(h=v)}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 Bu(n,t){return Ie(n[0]-t[0])<kt&&Ie(n[1]-t[1])<kt}function Ju(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 cp(n,t,e,r,i){var s=[],o=[],a,u;if(n.forEach(function(v){if(!((E=v.length-1)<=0)){var E,C=v[0],b=v[E],m;if(Bu(C,b)){for(i.lineStart(),a=0;a<E;++a)i.point((C=v[a])[0],C[1]);i.lineEnd();return}s.push(m=new Ju(C,v,null,!0)),o.push(m.o=new Ju(C,null,m,!1)),s.push(m=new Ju(b,v,null,!1)),o.push(m.o=new Ju(b,null,m,!0))}}),!!s.length){for(o.sort(t),hp(s),hp(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 hp(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 fp(n,t){return n<t?-1:n>t?1:n>=t?0:NaN}function qy(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 fp(n(t),e)}}qy(fp);function dp(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 Ba=1e9,ju=-Ba;function Yy(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,v=0;if(l==null||(g=o(l,h))!==(v=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)!==v);else d.point(c[0],c[1])}function o(l,c){return Ie(l[0]-n)<kt?c>0?0:3:Ie(l[0]-e)<kt?c>0?2:1:Ie(l[1]-t)<kt?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=lp(),d,g,v,E,C,b,m,y,_,S,I,P={point:M,lineStart:A,lineEnd:L,polygonStart:k,polygonEnd:x};function M(J,et){i(J,et)&&c.point(J,et)}function R(){for(var J=0,et=0,dt=g.length;et<dt;++et)for(var Lt=g[et],Qt=1,pr=Lt.length,Vt=Lt[0],At,Pe,wl=Vt[0],pa=Vt[1];Qt<pr;++Qt)At=wl,Pe=pa,Vt=Lt[Qt],wl=Vt[0],pa=Vt[1],Pe<=r?pa>r&&(wl-At)*(r-Pe)>(pa-Pe)*(n-At)&&++J:pa<=r&&(wl-At)*(r-Pe)<(pa-Pe)*(n-At)&&--J;return J}function k(){c=h,d=[],g=[],I=!0}function x(){var J=R(),et=I&&J,dt=(d=dp(d)).length;(et||dt)&&(l.polygonStart(),et&&(l.lineStart(),s(null,null,1,l),l.lineEnd()),dt&&cp(d,a,J,s,l),l.polygonEnd()),c=l,d=g=v=null}function A(){P.point=F,g&&g.push(v=[]),S=!0,_=!1,m=y=NaN}function L(){d&&(F(E,C),b&&_&&h.rejoin(),d.push(h.result())),P.point=M,_&&c.lineEnd()}function F(J,et){var dt=i(J,et);if(g&&v.push([J,et]),S)E=J,C=et,b=dt,S=!1,dt&&(c.lineStart(),c.point(J,et));else if(dt&&_)c.point(J,et);else{var Lt=[m=Math.max(ju,Math.min(Ba,m)),y=Math.max(ju,Math.min(Ba,y))],Qt=[J=Math.max(ju,Math.min(Ba,J)),et=Math.max(ju,Math.min(Ba,et))];Wy(Lt,Qt,n,t,e,r)?(_||(c.lineStart(),c.point(Lt[0],Lt[1])),c.point(Qt[0],Qt[1]),dt||c.lineEnd(),I=!1):dt&&(c.lineStart(),c.point(J,et),I=!1)}m=J,y=et,_=dt}return P}}var Ec=Ui();function Hy(n,t){var e=t[0],r=t[1],i=[Zt(e),-jt(e),0],s=0,o=0;Ec.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+$d,v=Zt(g),E=jt(g),C=0;C<c;++C,d=m,v=_,E=S,h=b){var b=l[C],m=b[0],y=b[1]/2+$d,_=Zt(y),S=jt(y),I=m-d,P=I>=0?1:-1,M=P*I,R=M>Ct,k=v*_;if(Ec.add(bo(k*P*Zt(M),E*S+k*jt(M))),s+=R?I+P*Yn:I,R^d>=e^m>=e){var x=Yu(To(h),To(b));_c(x);var A=Yu(i,x);_c(A);var L=(R^I>=0?-1:1)*Is(A[2]);(r>L||r===L&&(x[0]||x[1]))&&(o+=R^I>=0?1:-1)}}return(s<-kt||s<kt&&Ec<-kt)^o&1}Ui();function pp(n){return n}Ui(),Ui();var xo=1/0,Zu=xo,Ja=-xo,Ku=Ja,gp={point:By,lineStart:Ha,lineEnd:Ha,polygonStart:Ha,polygonEnd:Ha,result:function(){var n=[[xo,Zu],[Ja,Ku]];return Ja=Ku=-(Zu=xo=1/0),n}};function By(n,t){n<xo&&(xo=n),n>Ja&&(Ja=n),t<Zu&&(Zu=t),t>Ku&&(Ku=t)}Ui();function mp(n,t,e,r){return function(i,s){var o=t(s),a=i.invert(r[0],r[1]),u=lp(),l=t(u),c=!1,h,d,g,v={point:E,lineStart:b,lineEnd:m,polygonStart:function(){v.point=y,v.lineStart=_,v.lineEnd=S,d=[],h=[]},polygonEnd:function(){v.point=E,v.lineStart=b,v.lineEnd=m,d=dp(d);var I=Hy(h,a);d.length?(c||(s.polygonStart(),c=!0),cp(d,jy,I,e,s)):I&&(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 E(I,P){var M=i(I,P);n(I=M[0],P=M[1])&&s.point(I,P)}function C(I,P){var M=i(I,P);o.point(M[0],M[1])}function b(){v.point=C,o.lineStart()}function m(){v.point=E,o.lineEnd()}function y(I,P){g.push([I,P]);var M=i(I,P);l.point(M[0],M[1])}function _(){l.lineStart(),g=[]}function S(){y(g[0][0],g[0][1]),l.lineEnd();var I=l.clean(),P=u.result(),M,R=P.length,k,x,A;if(g.pop(),h.push(g),g=null,!!R){if(I&1){if(x=P[0],(k=x.length-1)>0){for(c||(s.polygonStart(),c=!0),s.lineStart(),M=0;M<k;++M)s.point((A=x[M])[0],A[1]);s.lineEnd()}return}R>1&&I&2&&P.push(P.pop().concat(P.shift())),d.push(P.filter(Jy))}}return v}}function Jy(n){return n.length>1}function jy(n,t){return((n=n.x)[0]<0?n[1]-Xn-kt:Xn-n[1])-((t=t.x)[0]<0?t[1]-Xn-kt:Xn-t[1])}const vp=mp(function(){return!0},Zy,Qy,[-Ct,-Xn]);function Zy(n){var t=NaN,e=NaN,r=NaN,i;return{lineStart:function(){n.lineStart(),i=1},point:function(s,o){var a=s>0?Ct:-Ct,u=Ie(s-t);Ie(u-Ct)<kt?(n.point(t,e=(e+o)/2>0?Xn:-Xn),n.point(r,e),n.lineEnd(),n.lineStart(),n.point(a,e),n.point(s,e),i=0):r!==a&&u>=Ct&&(Ie(t-r)<kt&&(t-=r*kt),Ie(s-a)<kt&&(s-=a*kt),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=Zt(n-e);return Ie(o)>kt?Vy((Zt(t)*(s=jt(r))*Zt(e)-Zt(r)*(i=jt(t))*Zt(n))/(i*s*o)):(t+r)/2}function Qy(n,t,e,r){var i;if(n==null)i=e*Xn,r.point(-Ct,i),r.point(0,i),r.point(Ct,i),r.point(Ct,0),r.point(Ct,-i),r.point(0,-i),r.point(-Ct,-i),r.point(-Ct,0),r.point(-Ct,i);else if(Ie(n[0]-t[0])>kt){var s=n[0]<t[0]?Ct:-Ct;i=e*s/2,r.point(-s,i),r.point(0,i),r.point(s,i)}else r.point(t[0],t[1])}function $y(n,t){var e=jt(n),r=e>0,i=Ie(e)>kt;function s(c,h,d,g){Gy(g,n,t,d,c,h)}function o(c,h){return jt(c)*jt(h)>e}function a(c){var h,d,g,v,E;return{lineStart:function(){v=g=!1,E=1},point:function(C,b){var m=[C,b],y,_=o(C,b),S=r?_?0:l(C,b):_?l(C+(C<0?Ct:-Ct),b):0;if(!h&&(v=g=_)&&c.lineStart(),_!==g&&(y=u(h,m),(!y||Bu(h,y)||Bu(m,y))&&(m[0]+=kt,m[1]+=kt,_=o(m[0],m[1]))),_!==g)E=0,_?(c.lineStart(),y=u(m,h),c.point(y[0],y[1])):(y=u(h,m),c.point(y[0],y[1]),c.lineEnd()),h=y;else if(i&&h&&r^_){var I;!(S&d)&&(I=u(m,h,!0))&&(E=0,r?(c.lineStart(),c.point(I[0][0],I[0][1]),c.point(I[1][0],I[1][1]),c.lineEnd()):(c.point(I[1][0],I[1][1]),c.lineEnd(),c.lineStart(),c.point(I[0][0],I[0][1])))}_&&(!h||!Bu(h,m))&&c.point(m[0],m[1]),h=m,g=_,d=S},lineEnd:function(){g&&c.lineEnd(),h=null},clean:function(){return E|(v&&g)<<1}}}function u(c,h,d){var g=To(c),v=To(h),E=[1,0,0],C=Yu(g,v),b=Xu(C,C),m=C[0],y=b-m*m;if(!y)return!d&&c;var _=e*b/y,S=-e*m/y,I=Yu(E,C),P=Hu(E,_),M=Hu(C,S);yc(P,M);var R=I,k=Xu(P,R),x=Xu(R,R),A=k*k-x*(Xu(P,P)-1);if(!(A<0)){var L=No(A),F=Hu(R,(-k-L)/x);if(yc(F,P),F=vc(F),!d)return F;var J=c[0],et=h[0],dt=c[1],Lt=h[1],Qt;et<J&&(Qt=J,J=et,et=Qt);var pr=et-J,Vt=Ie(pr-Ct)<kt,At=Vt||pr<kt;if(!Vt&&Lt<dt&&(Qt=dt,dt=Lt,Lt=Qt),At?Vt?dt+Lt>0^F[1]<(Ie(F[0]-J)<kt?dt:Lt):dt<=F[1]&&F[1]<=Lt:pr>Ct^(J<=F[0]&&F[0]<=et)){var Pe=Hu(R,(-k+L)/x);return yc(Pe,P),[F,vc(Pe)]}}}function l(c,h){var d=r?n:Ct-n,g=0;return c<-d?g|=1:c>d&&(g|=2),h<-d?g|=4:h>d&&(g|=8),g}return mp(o,a,s,r?[0,-n]:[-Ct,n-Ct])}function yp(n){return function(t){var e=new Sc;for(var r in n)e[r]=n[r];return e.stream=t,e}}function Sc(){}Sc.prototype={constructor:Sc,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 _p(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),zy(e,n.stream(gp));var o=gp.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 t_(n,t,e){return _p(n,[[0,0],t],e)}var wp=16,e_=jt(30*Hr);function Ep(n,t){return+t?n_(n,t):r_(n)}function r_(n){return yp({point:function(t,e){t=n(t,e),this.stream.point(t[0],t[1])}})}function n_(n,t){function e(r,i,s,o,a,u,l,c,h,d,g,v,E,C){var b=l-r,m=c-i,y=b*b+m*m;if(y>4*t&&E--){var _=o+d,S=a+g,I=u+v,P=No(_*_+S*S+I*I),M=Is(I/=P),R=Ie(Ie(I)-1)<kt||Ie(s-h)<kt?(s+h)/2:bo(S,_),k=n(R,M),x=k[0],A=k[1],L=x-r,F=A-i,J=m*L-b*F;(J*J/y>t||Ie((b*L+m*F)/y-.5)>.3||o*d+a*g+u*v<e_)&&(e(r,i,s,o,a,u,x,A,R,_/=P,S/=P,I,E,C),C.point(x,A),e(x,A,R,_,S,I,l,c,h,d,g,v,E,C))}}return function(r){var i,s,o,a,u,l,c,h,d,g,v,E,C={point:b,lineStart:m,lineEnd:_,polygonStart:function(){r.polygonStart(),C.lineStart=S},polygonEnd:function(){r.polygonEnd(),C.lineStart=m}};function b(M,R){M=n(M,R),r.point(M[0],M[1])}function m(){h=NaN,C.point=y,r.lineStart()}function y(M,R){var k=To([M,R]),x=n(M,R);e(h,d,c,g,v,E,h=x[0],d=x[1],c=M,g=k[0],v=k[1],E=k[2],wp,r),r.point(h,d)}function _(){C.point=b,r.lineEnd()}function S(){m(),C.point=I,C.lineEnd=P}function I(M,R){y(i=M,R),s=h,o=d,a=g,u=v,l=E,C.point=y}function P(){e(h,d,c,g,v,E,s,o,i,a,u,l,wp,r),C.lineEnd=_,_()}return C}}var i_=yp({point:function(n,t){this.stream.point(n*Hr,t*Hr)}});function s_(n){return o_(function(){return n})()}function o_(n){var t,e=150,r=480,i=250,s,o,a=0,u=0,l=0,c=0,h=0,d,g,v=null,E=vp,C=null,b,m,y,_=pp,S=.5,I=Ep(x,S),P,M;function R(F){return F=g(F[0]*Hr,F[1]*Hr),[F[0]*e+s,o-F[1]*e]}function k(F){return F=g.invert((F[0]-s)/e,(o-F[1])/e),F&&[F[0]*Gi,F[1]*Gi]}function x(F,J){return F=t(F,J),[F[0]*e+s,o-F[1]*e]}R.stream=function(F){return P&&M===F?P:P=i_(E(d,I(_(M=F))))},R.clipAngle=function(F){return arguments.length?(E=+F?$y(v=F*Hr,6*Hr):(v=null,vp),L()):v*Gi},R.clipExtent=function(F){return arguments.length?(_=F==null?(C=b=m=y=null,pp):Yy(C=+F[0][0],b=+F[0][1],m=+F[1][0],y=+F[1][1]),L()):C==null?null:[[C,b],[m,y]]},R.scale=function(F){return arguments.length?(e=+F,A()):e},R.translate=function(F){return arguments.length?(r=+F[0],i=+F[1],A()):[r,i]},R.center=function(F){return arguments.length?(a=F[0]%360*Hr,u=F[1]%360*Hr,A()):[a*Gi,u*Gi]},R.rotate=function(F){return arguments.length?(l=F[0]%360*Hr,c=F[1]%360*Hr,h=F.length>2?F[2]%360*Hr:0,A()):[l*Gi,c*Gi,h*Gi]},R.precision=function(F){return arguments.length?(I=Ep(x,S=F*F),L()):No(S)},R.fitExtent=function(F,J){return _p(R,F,J)},R.fitSize=function(F,J){return t_(R,F,J)};function A(){g=ip(d=Uy(l,c,h),t);var F=t(a,u);return s=r-F[0]*e,o=i+F[1]*e,L()}function L(){return P=M=null,R}return function(){return t=n.apply(this,arguments),R.invert=t.invert&&k,A()}}function Sp(n){return function(t,e){var r=jt(t),i=jt(e),s=n(r*i);return[s*i*Zt(t),s*Zt(e)]}}function Cp(n){return function(t,e){var r=No(t*t+e*e),i=n(r),s=Zt(i),o=jt(i);return[bo(t*s,r*o),Is(r&&e*s/r)]}}var a_=Sp(function(n){return No(2/(1+n))});a_.invert=Cp(function(n){return 2*Is(n/2)});var Ip=Sp(function(n){return(n=tp(n))&&n/Zt(n)});Ip.invert=Cp(function(n){return n});function u_(){return s_(Ip).scale(79.4188).clipAngle(180-.001)}function Pp(n,t){return[n,t]}Pp.invert=Pp;function l_(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 mu(n,function(o){var a=Qu(o,t,r,i);a&&s.push(a)}),js(s);case"FeatureCollection":return gu(n,function(o){var a=Qu(o,t,r,i);a&&gu(a,function(u){u&&s.push(u)})}),js(s)}return Qu(n,t,r,i)}function Qu(n,t,e,r){var i=n.properties||{},s=n.type==="Feature"?n.geometry:n;if(s.type==="GeometryCollection"){var o=[];return mu(n,function(E){var C=Qu(E,t,e,r);C&&o.push(C)}),js(o)}var a=c_(s),u={type:s.type,coordinates:Np(s.coordinates,a)},l=new oc,c=l.read(u),h=Rl(Fl(t,e),"meters"),d=se.bufferOp(c,h,r),g=new Dd;if(d=g.write(d),!bp(d.coordinates)){var v={type:d.type,coordinates:Tp(d.coordinates,a)};return sn(v,i)}}function bp(n){return Array.isArray(n[0])?bp(n[0]):isNaN(n[0])}function Np(n,t){return typeof n[0]!="object"?t(n):n.map(function(e){return Np(e,t)})}function Tp(n,t){return typeof n[0]!="object"?t.invert(n):n.map(function(e){return Tp(e,t)})}function c_(n){var t=wy(n).geometry.coordinates,e=[-t[0],-t[1]];return u_().rotate(e).scale(Ne)}function h_(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(Zs(n,t,o*-360/r,e).geometry.coordinates);return s.push(s[0]),Je([s],i)}/**
|
|
7
45
|
* splaytree v3.1.2
|
|
8
46
|
* Fast Splay tree for Node and browser
|
|
9
47
|
*
|
|
@@ -23,29 +61,11 @@ ${u.map(c=>`${c.id} ${c.typeName}
|
|
|
23
61
|
|
|
24
62
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
25
63
|
and limitations under the License.
|
|
26
|
-
***************************************************************************** */function
|
|
27
|
-
`);var s=t+(e?" ":"│ ");n.left&&$l(n.left,s,!1,r,i),n.right&&$l(n.right,s,!0,r,i)}}var jl=function(){function n(t){t===void 0&&(t=kv),this._root=null,this._size=0,this._comparator=t}return n.prototype.insert=function(t,e){return this._size++,this._root=Bl(t,e,this._root,this._comparator)},n.prototype.add=function(t,e){var r=new $i(t,e);this._root===null&&(r.left=r.right=null,this._size++,this._root=r);var i=this._comparator,s=ji(t,this._root,i),o=i(t,s.key);return o===0?this._root=s:(o<0?(r.left=s.left,r.right=s,s.left=null):o>0&&(r.right=s.right,r.left=s,s.right=null),this._size++,this._root=r),this._root},n.prototype.remove=function(t){this._root=this._remove(t,this._root,this._comparator)},n.prototype._remove=function(t,e,r){var i;if(e===null)return null;e=ji(t,e,r);var s=r(t,e.key);return s===0?(e.left===null?i=e.right:(i=ji(t,e.left,r),i.right=e.right),this._size--,i):e},n.prototype.pop=function(){var t=this._root;if(t){for(;t.left;)t=t.left;return this._root=ji(t.key,this._root,this._comparator),this._root=this._remove(t.key,this._root,this._comparator),{key:t.key,data:t.data}}return null},n.prototype.findStatic=function(t){for(var e=this._root,r=this._comparator;e;){var i=r(t,e.key);if(i===0)return e;i<0?e=e.left:e=e.right}return null},n.prototype.find=function(t){return this._root&&(this._root=ji(t,this._root,this._comparator),this._comparator(t,this._root.key)!==0)?null:this._root},n.prototype.contains=function(t){for(var e=this._root,r=this._comparator;e;){var i=r(t,e.key);if(i===0)return!0;i<0?e=e.left:e=e.right}return!1},n.prototype.forEach=function(t,e){for(var r=this._root,i=[],s=!1;!s;)r!==null?(i.push(r),r=r.left):i.length!==0?(r=i.pop(),t.call(e,r),r=r.right):s=!0;return this},n.prototype.range=function(t,e,r,i){for(var s=[],o=this._comparator,a=this._root,u;s.length!==0||a;)if(a)s.push(a),a=a.left;else{if(a=s.pop(),u=o(a.key,e),u>0)break;if(o(a.key,t)>=0&&r.call(i,a))return this;a=a.right}return this},n.prototype.keys=function(){var t=[];return this.forEach(function(e){var r=e.key;return t.push(r)}),t},n.prototype.values=function(){var t=[];return this.forEach(function(e){var r=e.data;return t.push(r)}),t},n.prototype.min=function(){return this._root?this.minNode(this._root).key:null},n.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},n.prototype.minNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.left;)t=t.left;return t},n.prototype.maxNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.right;)t=t.right;return t},n.prototype.at=function(t){for(var e=this._root,r=!1,i=0,s=[];!r;)if(e)s.push(e),e=e.left;else if(s.length>0){if(e=s.pop(),i===t)return e;i++,e=e.right}else r=!0;return null},n.prototype.next=function(t){var e=this._root,r=null;if(t.right){for(r=t.right;r.left;)r=r.left;return r}for(var i=this._comparator;e;){var s=i(t.key,e.key);if(s===0)break;s<0?(r=e,e=e.left):e=e.right}return r},n.prototype.prev=function(t){var e=this._root,r=null;if(t.left!==null){for(r=t.left;r.right;)r=r.right;return r}for(var i=this._comparator;e;){var s=i(t.key,e.key);if(s===0)break;s<0?e=e.left:(r=e,e=e.right)}return r},n.prototype.clear=function(){return this._root=null,this._size=0,this},n.prototype.toList=function(){return Uv(this._root)},n.prototype.load=function(t,e,r){e===void 0&&(e=[]),r===void 0&&(r=!1);var i=t.length,s=this._comparator;if(r&&rc(t,e,0,i-1,s),this._root===null)this._root=tc(t,e,0,i),this._size=i;else{var o=Gv(this.toList(),zv(t,e),s);i=this._size+i,this._root=ec({head:o},0,i)}return this},n.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(n.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),n.prototype.toString=function(t){t===void 0&&(t=function(r){return String(r.key)});var e=[];return $l(this._root,"",!0,function(r){return e.push(r)},t),e.join("")},n.prototype.update=function(t,e,r){var i=this._comparator,s=zd(t,this._root,i),o=s.left,a=s.right;i(t,e)<0?a=Bl(e,r,a,i):o=Bl(e,r,o,i),this._root=Vv(o,a,i)},n.prototype.split=function(t){return zd(t,this._root,this._comparator)},n.prototype[Symbol.iterator]=function(){var t,e,r;return Fv(this,function(i){switch(i.label){case 0:t=this._root,e=[],r=!1,i.label=1;case 1:return r?[3,6]:t===null?[3,2]:(e.push(t),t=t.left,[3,5]);case 2:return e.length===0?[3,4]:(t=e.pop(),[4,t]);case 3:return i.sent(),t=t.right,[3,5];case 4:r=!0,i.label=5;case 5:return[3,1];case 6:return[2]}})},n}();function tc(n,t,e,r){var i=r-e;if(i>0){var s=e+Math.floor(i/2),o=n[s],a=t[s],u=new $i(o,a);return u.left=tc(n,t,e,s),u.right=tc(n,t,s+1,r),u}return null}function zv(n,t){for(var e=new $i(null,null),r=e,i=0;i<n.length;i++)r=r.next=new $i(n[i],t[i]);return r.next=null,e.next}function Uv(n){for(var t=n,e=[],r=!1,i=new $i(null,null),s=i;!r;)t?(e.push(t),t=t.left):e.length>0?(t=s=s.next=e.pop(),t=t.right):r=!0;return s.next=null,i.next}function ec(n,t,e){var r=e-t;if(r>0){var i=t+Math.floor(r/2),s=ec(n,t,i),o=n.head;return o.left=s,n.head=n.head.next,o.right=ec(n,i+1,e),o}return null}function Gv(n,t,e){for(var r=new $i(null,null),i=r,s=n,o=t;s!==null&&o!==null;)e(s.key,o.key)<0?(i.next=s,s=s.next):(i.next=o,o=o.next),i=i.next;return s!==null?i.next=s:o!==null&&(i.next=o),r.next}function rc(n,t,e,r,i){if(!(e>=r)){for(var s=n[e+r>>1],o=e-1,a=r+1;;){do o++;while(i(n[o],s)<0);do a--;while(i(n[a],s)>0);if(o>=a)break;var u=n[o];n[o]=n[a],n[a]=u,u=t[o],t[o]=t[a],t[a]=u}rc(n,t,e,a,i),rc(n,t,a+1,r,i)}}const Ni=11102230246251565e-32,Ye=134217729,Wv=(3+8*Ni)*Ni;function nc(n,t,e,r,i){let s,o,a,u,l=t[0],c=r[0],f=0,p=0;c>l==c>-l?(s=l,l=t[++f]):(s=c,c=r[++p]);let v=0;if(f<n&&p<e)for(c>l==c>-l?(o=l+s,a=s-(o-l),l=t[++f]):(o=c+s,a=s-(o-c),c=r[++p]),s=o,a!==0&&(i[v++]=a);f<n&&p<e;)c>l==c>-l?(o=s+l,u=o-s,a=s-(o-u)+(l-u),l=t[++f]):(o=s+c,u=o-s,a=s-(o-u)+(c-u),c=r[++p]),s=o,a!==0&&(i[v++]=a);for(;f<n;)o=s+l,u=o-s,a=s-(o-u)+(l-u),l=t[++f],s=o,a!==0&&(i[v++]=a);for(;p<e;)o=s+c,u=o-s,a=s-(o-u)+(c-u),c=r[++p],s=o,a!==0&&(i[v++]=a);return(s!==0||v===0)&&(i[v++]=s),v}function qv(n,t){let e=t[0];for(let r=1;r<n;r++)e+=t[r];return e}function Ga(n){return new Float64Array(n)}const Xv=(3+16*Ni)*Ni,Yv=(2+12*Ni)*Ni,Hv=(9+64*Ni)*Ni*Ni,xo=Ga(4),Ud=Ga(8),Gd=Ga(12),Wd=Ga(16),or=Ga(4);function Jv(n,t,e,r,i,s,o){let a,u,l,c,f,p,v,w,I,P,M,m,_,g,y,E,S,N;const T=n-i,x=e-i,b=t-s,O=r-s;g=T*O,p=Ye*T,v=p-(p-T),w=T-v,p=Ye*O,I=p-(p-O),P=O-I,y=w*P-(g-v*I-w*I-v*P),E=b*x,p=Ye*b,v=p-(p-b),w=b-v,p=Ye*x,I=p-(p-x),P=x-I,S=w*P-(E-v*I-w*I-v*P),M=y-S,f=y-M,xo[0]=y-(M+f)+(f-S),m=g+M,f=m-g,_=g-(m-f)+(M-f),M=_-E,f=_-M,xo[1]=_-(M+f)+(f-E),N=m+M,f=N-m,xo[2]=m-(N-f)+(M-f),xo[3]=N;let A=qv(4,xo),F=Yv*o;if(A>=F||-A>=F||(f=n-T,a=n-(T+f)+(f-i),f=e-x,l=e-(x+f)+(f-i),f=t-b,u=t-(b+f)+(f-s),f=r-O,c=r-(O+f)+(f-s),a===0&&u===0&&l===0&&c===0)||(F=Hv*o+Wv*Math.abs(A),A+=T*c+O*a-(b*l+x*u),A>=F||-A>=F))return A;g=a*O,p=Ye*a,v=p-(p-a),w=a-v,p=Ye*O,I=p-(p-O),P=O-I,y=w*P-(g-v*I-w*I-v*P),E=u*x,p=Ye*u,v=p-(p-u),w=u-v,p=Ye*x,I=p-(p-x),P=x-I,S=w*P-(E-v*I-w*I-v*P),M=y-S,f=y-M,or[0]=y-(M+f)+(f-S),m=g+M,f=m-g,_=g-(m-f)+(M-f),M=_-E,f=_-M,or[1]=_-(M+f)+(f-E),N=m+M,f=N-m,or[2]=m-(N-f)+(M-f),or[3]=N;const X=nc(4,xo,4,or,Ud);g=T*c,p=Ye*T,v=p-(p-T),w=T-v,p=Ye*c,I=p-(p-c),P=c-I,y=w*P-(g-v*I-w*I-v*P),E=b*l,p=Ye*b,v=p-(p-b),w=b-v,p=Ye*l,I=p-(p-l),P=l-I,S=w*P-(E-v*I-w*I-v*P),M=y-S,f=y-M,or[0]=y-(M+f)+(f-S),m=g+M,f=m-g,_=g-(m-f)+(M-f),M=_-E,f=_-M,or[1]=_-(M+f)+(f-E),N=m+M,f=N-m,or[2]=m-(N-f)+(M-f),or[3]=N;const U=nc(X,Ud,4,or,Gd);g=a*c,p=Ye*a,v=p-(p-a),w=a-v,p=Ye*c,I=p-(p-c),P=c-I,y=w*P-(g-v*I-w*I-v*P),E=u*l,p=Ye*u,v=p-(p-u),w=u-v,p=Ye*l,I=p-(p-l),P=l-I,S=w*P-(E-v*I-w*I-v*P),M=y-S,f=y-M,or[0]=y-(M+f)+(f-S),m=g+M,f=m-g,_=g-(m-f)+(M-f),M=_-E,f=_-M,or[1]=_-(M+f)+(f-E),N=m+M,f=N-m,or[2]=m-(N-f)+(M-f),or[3]=N;const K=nc(U,Gd,4,or,Wd);return Wd[K-1]}function Zv(n,t,e,r,i,s){const o=(t-s)*(e-i),a=(n-i)*(r-s),u=o-a,l=Math.abs(o+a);return Math.abs(u)>=Xv*l?u:-Jv(n,t,e,r,i,s,l)}const Wa=(n,t)=>n.ll.x<=t.x&&t.x<=n.ur.x&&n.ll.y<=t.y&&t.y<=n.ur.y,ic=(n,t)=>{if(t.ur.x<n.ll.x||n.ur.x<t.ll.x||t.ur.y<n.ll.y||n.ur.y<t.ll.y)return null;const e=n.ll.x<t.ll.x?t.ll.x:n.ll.x,r=n.ur.x<t.ur.x?n.ur.x:t.ur.x,i=n.ll.y<t.ll.y?t.ll.y:n.ll.y,s=n.ur.y<t.ur.y?n.ur.y:t.ur.y;return{ll:{x:e,y:i},ur:{x:r,y:s}}};let ts=Number.EPSILON;ts===void 0&&(ts=Math.pow(2,-52));const Kv=ts*ts,qd=(n,t)=>{if(-ts<n&&n<ts&&-ts<t&&t<ts)return 0;const e=n-t;return e*e<Kv*n*t?0:n<t?-1:1};class Qv{constructor(){this.reset()}reset(){this.xRounder=new Xd,this.yRounder=new Xd}round(t,e){return{x:this.xRounder.round(t),y:this.yRounder.round(e)}}}class Xd{constructor(){this.tree=new jl,this.round(0)}round(t){const e=this.tree.add(t),r=this.tree.prev(e);if(r!==null&&qd(e.key,r.key)===0)return this.tree.remove(t),r.key;const i=this.tree.next(e);return i!==null&&qd(e.key,i.key)===0?(this.tree.remove(t),i.key):t}}const qa=new Qv,Yu=(n,t)=>n.x*t.y-n.y*t.x,Yd=(n,t)=>n.x*t.x+n.y*t.y,Hd=(n,t,e)=>{const r=Zv(n.x,n.y,t.x,t.y,e.x,e.y);return r>0?-1:r<0?1:0},Hu=n=>Math.sqrt(Yd(n,n)),Bv=(n,t,e)=>{const r={x:t.x-n.x,y:t.y-n.y},i={x:e.x-n.x,y:e.y-n.y};return Yu(i,r)/Hu(i)/Hu(r)},$v=(n,t,e)=>{const r={x:t.x-n.x,y:t.y-n.y},i={x:e.x-n.x,y:e.y-n.y};return Yd(i,r)/Hu(i)/Hu(r)},Jd=(n,t,e)=>t.y===0?null:{x:n.x+t.x/t.y*(e-n.y),y:e},Zd=(n,t,e)=>t.x===0?null:{x:e,y:n.y+t.y/t.x*(e-n.x)},jv=(n,t,e,r)=>{if(t.x===0)return Zd(e,r,n.x);if(r.x===0)return Zd(n,t,e.x);if(t.y===0)return Jd(e,r,n.y);if(r.y===0)return Jd(n,t,e.y);const i=Yu(t,r);if(i==0)return null;const s={x:e.x-n.x,y:e.y-n.y},o=Yu(s,t)/i,a=Yu(s,r)/i,u=n.x+a*t.x,l=e.x+o*r.x,c=n.y+a*t.y,f=e.y+o*r.y,p=(u+l)/2,v=(c+f)/2;return{x:p,y:v}};class en{static compare(t,e){const r=en.comparePoints(t.point,e.point);return r!==0?r:(t.point!==e.point&&t.link(e),t.isLeft!==e.isLeft?t.isLeft?1:-1:es.compare(t.segment,e.segment))}static comparePoints(t,e){return t.x<e.x?-1:t.x>e.x?1:t.y<e.y?-1:t.y>e.y?1:0}constructor(t,e){t.events===void 0?t.events=[this]:t.events.push(this),this.point=t,this.isLeft=e}link(t){if(t.point===this.point)throw new Error("Tried to link already linked events");const e=t.point.events;for(let r=0,i=e.length;r<i;r++){const s=e[r];this.point.events.push(s),s.point=this.point}this.checkForConsuming()}checkForConsuming(){const t=this.point.events.length;for(let e=0;e<t;e++){const r=this.point.events[e];if(r.segment.consumedBy===void 0)for(let i=e+1;i<t;i++){const s=this.point.events[i];s.consumedBy===void 0&&r.otherSE.point.events===s.otherSE.point.events&&r.segment.consume(s.segment)}}}getAvailableLinkedEvents(){const t=[];for(let e=0,r=this.point.events.length;e<r;e++){const i=this.point.events[e];i!==this&&!i.segment.ringOut&&i.segment.isInResult()&&t.push(i)}return t}getLeftmostComparator(t){const e=new Map,r=i=>{const s=i.otherSE;e.set(i,{sine:Bv(this.point,t.point,s.point),cosine:$v(this.point,t.point,s.point)})};return(i,s)=>{e.has(i)||r(i),e.has(s)||r(s);const{sine:o,cosine:a}=e.get(i),{sine:u,cosine:l}=e.get(s);return o>=0&&u>=0?a<l?1:a>l?-1:0:o<0&&u<0?a<l?-1:a>l?1:0:u<o?-1:u>o?1:0}}}let ty=0;class es{static compare(t,e){const r=t.leftSE.point.x,i=e.leftSE.point.x,s=t.rightSE.point.x,o=e.rightSE.point.x;if(o<r)return 1;if(s<i)return-1;const a=t.leftSE.point.y,u=e.leftSE.point.y,l=t.rightSE.point.y,c=e.rightSE.point.y;if(r<i){if(u<a&&u<l)return 1;if(u>a&&u>l)return-1;const f=t.comparePoint(e.leftSE.point);if(f<0)return 1;if(f>0)return-1;const p=e.comparePoint(t.rightSE.point);return p!==0?p:-1}if(r>i){if(a<u&&a<c)return-1;if(a>u&&a>c)return 1;const f=e.comparePoint(t.leftSE.point);if(f!==0)return f;const p=t.comparePoint(e.rightSE.point);return p<0?1:p>0?-1:1}if(a<u)return-1;if(a>u)return 1;if(s<o){const f=e.comparePoint(t.rightSE.point);if(f!==0)return f}if(s>o){const f=t.comparePoint(e.rightSE.point);if(f<0)return 1;if(f>0)return-1}if(s!==o){const f=l-a,p=s-r,v=c-u,w=o-i;if(f>p&&v<w)return 1;if(f<p&&v>w)return-1}return s>o?1:s<o||l<c?-1:l>c?1:t.id<e.id?-1:t.id>e.id?1:0}constructor(t,e,r,i){this.id=++ty,this.leftSE=t,t.segment=this,t.otherSE=e,this.rightSE=e,e.segment=this,e.otherSE=t,this.rings=r,this.windings=i}static fromRing(t,e,r){let i,s,o;const a=en.comparePoints(t,e);if(a<0)i=t,s=e,o=1;else if(a>0)i=e,s=t,o=-1;else throw new Error(`Tried to create degenerate segment at [${t.x}, ${t.y}]`);const u=new en(i,!0),l=new en(s,!1);return new es(u,l,[r],[o])}replaceRightSE(t){this.rightSE=t,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const t=this.leftSE.point.y,e=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:t<e?t:e},ur:{x:this.rightSE.point.x,y:t>e?t:e}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(t){return t.x===this.leftSE.point.x&&t.y===this.leftSE.point.y||t.x===this.rightSE.point.x&&t.y===this.rightSE.point.y}comparePoint(t){if(this.isAnEndpoint(t))return 0;const e=this.leftSE.point,r=this.rightSE.point,i=this.vector();if(e.x===r.x)return t.x===e.x?0:t.x<e.x?1:-1;const s=(t.y-e.y)/i.y,o=e.x+s*i.x;if(t.x===o)return 0;const a=(t.x-e.x)/i.x,u=e.y+a*i.y;return t.y===u?0:t.y<u?-1:1}getIntersection(t){const e=this.bbox(),r=t.bbox(),i=ic(e,r);if(i===null)return null;const s=this.leftSE.point,o=this.rightSE.point,a=t.leftSE.point,u=t.rightSE.point,l=Wa(e,a)&&this.comparePoint(a)===0,c=Wa(r,s)&&t.comparePoint(s)===0,f=Wa(e,u)&&this.comparePoint(u)===0,p=Wa(r,o)&&t.comparePoint(o)===0;if(c&&l)return p&&!f?o:!p&&f?u:null;if(c)return f&&s.x===u.x&&s.y===u.y?null:s;if(l)return p&&o.x===a.x&&o.y===a.y?null:a;if(p&&f)return null;if(p)return o;if(f)return u;const v=jv(s,this.vector(),a,t.vector());return v===null||!Wa(i,v)?null:qa.round(v.x,v.y)}split(t){const e=[],r=t.events!==void 0,i=new en(t,!0),s=new en(t,!1),o=this.rightSE;this.replaceRightSE(s),e.push(s),e.push(i);const a=new es(i,o,this.rings.slice(),this.windings.slice());return en.comparePoints(a.leftSE.point,a.rightSE.point)>0&&a.swapEvents(),en.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),r&&(i.checkForConsuming(),s.checkForConsuming()),e}swapEvents(){const t=this.rightSE;this.rightSE=this.leftSE,this.leftSE=t,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let e=0,r=this.windings.length;e<r;e++)this.windings[e]*=-1}consume(t){let e=this,r=t;for(;e.consumedBy;)e=e.consumedBy;for(;r.consumedBy;)r=r.consumedBy;const i=es.compare(e,r);if(i!==0){if(i>0){const s=e;e=r,r=s}if(e.prev===r){const s=e;e=r,r=s}for(let s=0,o=r.rings.length;s<o;s++){const a=r.rings[s],u=r.windings[s],l=e.rings.indexOf(a);l===-1?(e.rings.push(a),e.windings.push(u)):e.windings[l]+=u}r.rings=null,r.windings=null,r.consumedBy=e,r.leftSE.consumedBy=e.leftSE,r.rightSE.consumedBy=e.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const t=this.prev.consumedBy||this.prev;this._beforeState=t.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const t=this.beforeState();this._afterState={rings:t.rings.slice(0),windings:t.windings.slice(0),multiPolys:[]};const e=this._afterState.rings,r=this._afterState.windings,i=this._afterState.multiPolys;for(let a=0,u=this.rings.length;a<u;a++){const l=this.rings[a],c=this.windings[a],f=e.indexOf(l);f===-1?(e.push(l),r.push(c)):r[f]+=c}const s=[],o=[];for(let a=0,u=e.length;a<u;a++){if(r[a]===0)continue;const l=e[a],c=l.poly;if(o.indexOf(c)===-1)if(l.isExterior)s.push(c);else{o.indexOf(c)===-1&&o.push(c);const f=s.indexOf(l.poly);f!==-1&&s.splice(f,1)}}for(let a=0,u=s.length;a<u;a++){const l=s[a].multiPoly;i.indexOf(l)===-1&&i.push(l)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const t=this.beforeState().multiPolys,e=this.afterState().multiPolys;switch(On.type){case"union":{const r=t.length===0,i=e.length===0;this._isInResult=r!==i;break}case"intersection":{let r,i;t.length<e.length?(r=t.length,i=e.length):(r=e.length,i=t.length),this._isInResult=i===On.numMultiPolys&&r<i;break}case"xor":{const r=Math.abs(t.length-e.length);this._isInResult=r%2===1;break}case"difference":{const r=i=>i.length===1&&i[0].isSubject;this._isInResult=r(t)!==r(e);break}default:throw new Error(`Unrecognized operation type found ${On.type}`)}return this._isInResult}}class Kd{constructor(t,e,r){if(!Array.isArray(t)||t.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=e,this.isExterior=r,this.segments=[],typeof t[0][0]!="number"||typeof t[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const i=qa.round(t[0][0],t[0][1]);this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};let s=i;for(let o=1,a=t.length;o<a;o++){if(typeof t[o][0]!="number"||typeof t[o][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let u=qa.round(t[o][0],t[o][1]);u.x===s.x&&u.y===s.y||(this.segments.push(es.fromRing(s,u,this)),u.x<this.bbox.ll.x&&(this.bbox.ll.x=u.x),u.y<this.bbox.ll.y&&(this.bbox.ll.y=u.y),u.x>this.bbox.ur.x&&(this.bbox.ur.x=u.x),u.y>this.bbox.ur.y&&(this.bbox.ur.y=u.y),s=u)}(i.x!==s.x||i.y!==s.y)&&this.segments.push(es.fromRing(s,i,this))}getSweepEvents(){const t=[];for(let e=0,r=this.segments.length;e<r;e++){const i=this.segments[e];t.push(i.leftSE),t.push(i.rightSE)}return t}}class ey{constructor(t,e){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new Kd(t[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let r=1,i=t.length;r<i;r++){const s=new Kd(t[r],this,!1);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=e}getSweepEvents(){const t=this.exteriorRing.getSweepEvents();for(let e=0,r=this.interiorRings.length;e<r;e++){const i=this.interiorRings[e].getSweepEvents();for(let s=0,o=i.length;s<o;s++)t.push(i[s])}return t}}class Qd{constructor(t,e){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof t[0][0][0]=="number"&&(t=[t])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let r=0,i=t.length;r<i;r++){const s=new ey(t[r],this);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=e}getSweepEvents(){const t=[];for(let e=0,r=this.polys.length;e<r;e++){const i=this.polys[e].getSweepEvents();for(let s=0,o=i.length;s<o;s++)t.push(i[s])}return t}}class Ju{static factory(t){const e=[];for(let r=0,i=t.length;r<i;r++){const s=t[r];if(!s.isInResult()||s.ringOut)continue;let o=null,a=s.leftSE,u=s.rightSE;const l=[a],c=a.point,f=[];for(;o=a,a=u,l.push(a),a.point!==c;)for(;;){const p=a.getAvailableLinkedEvents();if(p.length===0){const I=l[0].point,P=l[l.length-1].point;throw new Error(`Unable to complete output ring starting at [${I.x}, ${I.y}]. Last matching segment found ends at [${P.x}, ${P.y}].`)}if(p.length===1){u=p[0].otherSE;break}let v=null;for(let I=0,P=f.length;I<P;I++)if(f[I].point===a.point){v=I;break}if(v!==null){const I=f.splice(v)[0],P=l.splice(I.index);P.unshift(P[0].otherSE),e.push(new Ju(P.reverse()));continue}f.push({index:l.length,point:a.point});const w=a.getLeftmostComparator(o);u=p.sort(w)[0].otherSE;break}e.push(new Ju(l))}return e}constructor(t){this.events=t;for(let e=0,r=t.length;e<r;e++)t[e].segment.ringOut=this;this.poly=null}getGeom(){let t=this.events[0].point;const e=[t];for(let l=1,c=this.events.length-1;l<c;l++){const f=this.events[l].point,p=this.events[l+1].point;Hd(f,t,p)!==0&&(e.push(f),t=f)}if(e.length===1)return null;const r=e[0],i=e[1];Hd(r,t,i)===0&&e.shift(),e.push(e[0]);const s=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:e.length-1,a=this.isExteriorRing()?e.length:-1,u=[];for(let l=o;l!=a;l+=s)u.push([e[l].x,e[l].y]);return u}isExteriorRing(){if(this._isExteriorRing===void 0){const t=this.enclosingRing();this._isExteriorRing=t?!t.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let t=this.events[0];for(let i=1,s=this.events.length;i<s;i++){const o=this.events[i];en.compare(t,o)>0&&(t=o)}let e=t.segment.prevInResult(),r=e?e.prevInResult():null;for(;;){if(!e)return null;if(!r)return e.ringOut;if(r.ringOut!==e.ringOut)return r.ringOut.enclosingRing()!==e.ringOut?e.ringOut:e.ringOut.enclosingRing();e=r.prevInResult(),r=e?e.prevInResult():null}}}class Bd{constructor(t){this.exteriorRing=t,t.poly=this,this.interiorRings=[]}addInterior(t){this.interiorRings.push(t),t.poly=this}getGeom(){const t=[this.exteriorRing.getGeom()];if(t[0]===null)return null;for(let e=0,r=this.interiorRings.length;e<r;e++){const i=this.interiorRings[e].getGeom();i!==null&&t.push(i)}return t}}class ry{constructor(t){this.rings=t,this.polys=this._composePolys(t)}getGeom(){const t=[];for(let e=0,r=this.polys.length;e<r;e++){const i=this.polys[e].getGeom();i!==null&&t.push(i)}return t}_composePolys(t){const e=[];for(let r=0,i=t.length;r<i;r++){const s=t[r];if(!s.poly)if(s.isExteriorRing())e.push(new Bd(s));else{const o=s.enclosingRing();o.poly||e.push(new Bd(o)),o.poly.addInterior(s)}}return e}}class ny{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:es.compare;this.queue=t,this.tree=new jl(e),this.segments=[]}process(t){const e=t.segment,r=[];if(t.consumedBy)return t.isLeft?this.queue.remove(t.otherSE):this.tree.remove(e),r;const i=t.isLeft?this.tree.add(e):this.tree.find(e);if(!i)throw new Error(`Unable to find segment #${e.id} [${e.leftSE.point.x}, ${e.leftSE.point.y}] -> [${e.rightSE.point.x}, ${e.rightSE.point.y}] in SweepLine tree.`);let s=i,o=i,a,u;for(;a===void 0;)s=this.tree.prev(s),s===null?a=null:s.key.consumedBy===void 0&&(a=s.key);for(;u===void 0;)o=this.tree.next(o),o===null?u=null:o.key.consumedBy===void 0&&(u=o.key);if(t.isLeft){let l=null;if(a){const f=a.getIntersection(e);if(f!==null&&(e.isAnEndpoint(f)||(l=f),!a.isAnEndpoint(f))){const p=this._splitSafely(a,f);for(let v=0,w=p.length;v<w;v++)r.push(p[v])}}let c=null;if(u){const f=u.getIntersection(e);if(f!==null&&(e.isAnEndpoint(f)||(c=f),!u.isAnEndpoint(f))){const p=this._splitSafely(u,f);for(let v=0,w=p.length;v<w;v++)r.push(p[v])}}if(l!==null||c!==null){let f=null;l===null?f=c:c===null?f=l:f=en.comparePoints(l,c)<=0?l:c,this.queue.remove(e.rightSE),r.push(e.rightSE);const p=e.split(f);for(let v=0,w=p.length;v<w;v++)r.push(p[v])}r.length>0?(this.tree.remove(e),r.push(t)):(this.segments.push(e),e.prev=a)}else{if(a&&u){const l=a.getIntersection(u);if(l!==null){if(!a.isAnEndpoint(l)){const c=this._splitSafely(a,l);for(let f=0,p=c.length;f<p;f++)r.push(c[f])}if(!u.isAnEndpoint(l)){const c=this._splitSafely(u,l);for(let f=0,p=c.length;f<p;f++)r.push(c[f])}}}this.tree.remove(e)}return r}_splitSafely(t,e){this.tree.remove(t);const r=t.rightSE;this.queue.remove(r);const i=t.split(e);return i.push(r),t.consumedBy===void 0&&this.tree.add(t),i}}const $d=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,iy=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class sy{run(t,e,r){On.type=t,qa.reset();const i=[new Qd(e,!0)];for(let f=0,p=r.length;f<p;f++)i.push(new Qd(r[f],!1));if(On.numMultiPolys=i.length,On.type==="difference"){const f=i[0];let p=1;for(;p<i.length;)ic(i[p].bbox,f.bbox)!==null?p++:i.splice(p,1)}if(On.type==="intersection")for(let f=0,p=i.length;f<p;f++){const v=i[f];for(let w=f+1,I=i.length;w<I;w++)if(ic(v.bbox,i[w].bbox)===null)return[]}const s=new jl(en.compare);for(let f=0,p=i.length;f<p;f++){const v=i[f].getSweepEvents();for(let w=0,I=v.length;w<I;w++)if(s.insert(v[w]),s.size>$d)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}const o=new ny(s);let a=s.size,u=s.pop();for(;u;){const f=u.key;if(s.size===a){const v=f.segment;throw new Error(`Unable to pop() ${f.isLeft?"left":"right"} SweepEvent [${f.point.x}, ${f.point.y}] from segment #${v.id} [${v.leftSE.point.x}, ${v.leftSE.point.y}] -> [${v.rightSE.point.x}, ${v.rightSE.point.y}] from queue.`)}if(s.size>$d)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(o.segments.length>iy)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");const p=o.process(f);for(let v=0,w=p.length;v<w;v++){const I=p[v];I.consumedBy===void 0&&s.insert(I)}a=s.size,u=s.pop()}qa.reset();const l=Ju.factory(o.segments);return new ry(l).getGeom()}}const On=new sy;var sc={union:function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),r=1;r<t;r++)e[r-1]=arguments[r];return On.run("union",n,e)},intersection:function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),r=1;r<t;r++)e[r-1]=arguments[r];return On.run("intersection",n,e)},xor:function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),r=1;r<t;r++)e[r-1]=arguments[r];return On.run("xor",n,e)},difference:function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),r=1;r<t;r++)e[r-1]=arguments[r];return On.run("difference",n,e)}};function oy(n,t){var e=Cr(n),r=Cr(t),i=n.properties||{},s=sc.difference(e.coordinates,r.coordinates);return s.length===0?null:s.length===1?Be(s[0],i):dl(s,i)}function ay(n,t,e){e===void 0&&(e={});var r=Cr(n),i=Cr(t),s=sc.intersection(r.coordinates,i.coordinates);return s.length===0?null:s.length===1?Be(s[0],e.properties):dl(s,e.properties)}function uy(n,t,e){e===void 0&&(e={});var r=Cr(n),i=Cr(t),s=sc.union(r.coordinates,i.coordinates);return s.length===0?null:s.length===1?Be(s[0],e.properties):dl(s,e.properties)}function jd(n,t){(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]),(t[0][0]!==t[t.length-1][0]||t[0][1]!==t[t.length-1][1]||t[0][2]!==t[t.length-1][2])&&t.push(t[0]);const e=ay(Be([n]),Be([t]));if(e)return e.geometry.coordinates}function tp(n,t){(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]),(t[0][0]!==t[t.length-1][0]||t[0][1]!==t[t.length-1][1]||t[0][2]!==t[t.length-1][2])&&t.push(t[0]);const e=uy(Be([n]),Be([t]));if(e)return e.geometry.coordinates}function ep(n,t=500,e="meters"){const r=Lv(dn(n),t,{units:e});if(r)return r.geometry.coordinates}function rp(n,t){(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]),(t[0][0]!==t[t.length-1][0]||t[0][1]!==t[t.length-1][1]||t[0][2]!==t[t.length-1][2])&&t.push(t[0]);const e=oy(Be([n]),Be([t]));if(e)return e.geometry.coordinates}function np(n,t,e=10,r="meters"){return Rv(n,t,{steps:e,units:r}).geometry.coordinates}function oc(n,t){(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]),(t[0][0]!==t[t.length-1][0]||t[0][1]!==t[t.length-1][1]||t[0][2]!==t[t.length-1][2])&&t.push(t[0]);const e=Be([n]),r=Be([t]);return Nm(e,r)?"oneBig":Rm(e,r)?"twoBig":!1}function ip(n){const t=h.min(h.objsIterator(n,["0"])),e=h.min(h.objsIterator(n,["1"])),r=h.min(h.objsIterator(n,["2"])),i=h.max(h.objsIterator(n,["0"])),s=h.max(h.objsIterator(n,["1"])),o=h.max(h.objsIterator(n,["2"]));return{minPos:[t,e,r],maxPos:[i,s,o],center:[(t+i)*.5,(e+s)*.5,(r+o)*.5]}}function ly(n){const{minPos:t,maxPos:e,center:r}=ip(n);if(t.some(a=>!Number.isFinite(a)||e.some(u=>!Number.isFinite(u))||r.some(u=>!Number.isFinite(u)))){console.warn("geoCenterAndRadiusFromPositions error: minPos.some(e => !Number.isFinite(e) || maxPos.some(e => !Number.isFinite(e)) || center.some(e => !Number.isFinite(e))");return}const i=Sl(t,e);let s=i*.5;const o=Math.abs(t[2]-e[2]);return o!=0&&(s=Math.sqrt(i*i+o*o)*.5),{center:r,radius:s}}const sp=Vh("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=geocent +datum=WGS84");function ei(n){return sp.forward(n)}function op(n){return sp.inverse(n)}const ap=Vh("+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 cy(n){const t=ap.forward([n[0],n[1]]);return[t[0],t[1],n[2]]}function hy(n){const t=ap.inverse([n[0],n[1]]);return[t[0],t[1],n[2]]}function up(n,t){const e=ei(n),r=ei(t);return h.Vector.distance(e,r)}function Xa(n,t){const e=[],r=n.length;let i=0;for(let s=0;s<r-1;++s){if(t===void 0||t==="GEODESIC"){const o=Sl(n[s],n[s+1]),a=Math.abs(n[s][2]-n[s+1][2]);if(a===0)i+=o;else{const u=Math.sqrt(o*o+a*a);i+=u}}else if(t==="RHUMB"){const o=Pf(n[s],n[s+1]),a=Math.abs(n[s][2]-n[s+1][2]);if(a===0)i+=o;else{const u=Math.sqrt(o*o+a*a);i+=u}}else if(t==="NONE"){const o=up(n[s],n[s+1]);i+=o}else console.warn(`未知的arcType: ${t},导致距离无法计算!`);e.push(i)}return e}function ac(n){const t="__getXyzFromPostion";let e=h.getExtProp(n,t);return(!e||!h.Vector.equals(e[0],n))&&(e=[[...n],ei(n)],h.setExtProp(n,t,e)),e[1]}class lp extends h.Destroyable{constructor(){super();d(this,"_data",this.dv(h.react(void 0)))}set data(e){this._data.value=e}get data(){return this._data.value}get dataChanged(){return this._data.changed}}class cp extends h.Destroyable{constructor(){super(...arguments);d(this,"_dragStartEvent",this.dv(new h.Event));d(this,"_dragOverEvent",this.dv(new h.Event));d(this,"_dragLeaveEvent",this.dv(new h.Event));d(this,"_dropEvent",this.dv(new h.Event))}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 fy(n,t){t&&(Reflect.has(t,"editing")?t.editing=!0:Reflect.has(t,"positionEditing")&&(t.positionEditing=!0))}function dy(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 Zu(n,t){h.getExtProp(n,"__treeItem")&&console.error("setSceneObjectTreeItem error!"),h.setExtProp(n,"__treeItem",t)}function py(n){return h.getExtProp(n,"__treeItem")}function gy(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 my(n){try{return JSON.parse(n),!0}catch{return!1}}function vy(n){return n instanceof Function?n():n}function hp(n,t){for(let e of n)if(t.includes(e))return!0;return!1}function bi(n,t){const e=n,r=t;return e===void 0||e.length===0||r===void 0||r.length===0?!0:hp(e,r)}function yy(n){const t=setTimeout(()=>{n(),clearTimeout(t)})}function Lo(n){let t=n%360;return t=t<0?360+t:t,t}function fp(n){return Lo(n+180)-180}function Ku(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 fp(s)}function uc(n,t,e,r){return r=r||[0,0,0],r[0]=Ku(n[0],t[0],e),r[1]=Ku(n[1],t[1],e),r[2]=Ku(n[2],t[2],e),r}function dp(n,t,e="editing"){const r=new h.Destroyable;n.ad(r);const i=t.bind(n);return r.ad(new h.ObjResettingWithEvent(n.activeViewerChanged,()=>{const s=new h.Destroyable;let o=n.activeViewer;return o?(s.ad(n[`${e}Changed`].don(()=>{var a;n[`${e}`]?i():(a=n.mainClass.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.mainClass;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}function _y(n,t){const{type:e,id:r}=n;if(e){const i=$.create(e,r);if(i)return i.json=n,i;console.warn(`cannot create sceneObject from type(${e})`)}else console.warn(`cannot create sceneObject from type(${e})`)}function pp(n){const t=n.children&&h.every(n.children,r=>{if(!(r instanceof He))throw new Error("!(treeItem instanceof SceneTreeItem)");return!r.show})||!1,e=n.sceneTree.getSceneObjectShowFunc(n.sceneObject);return!t||e}class He extends h.TreeItem{constructor(e,r=!1,i,s,o=!0){super(e,r,i);d(this,"_dragDrop");d(this,"_showChangedNotAffectChildren",!1);d(this,"_showChangedNotAffectParent",!1);d(this,"_type",this.dv(h.react("Unknown")));d(this,"_isExport",this.dv(h.react(!0)));const a=()=>this.tree&&this.tree.itemsChanged.emit([this]);this.dispose(this.nameChanged.disposableOn(a)),this.name=`未命名条目(${this.id})`,this.extras=s,this._isExport.value=o;let u;const l=()=>{u&&(u(),u=void 0)};this.dispose(l),this.dispose(this.sceneObjectChanged.disposableOn(c=>{l(),c&&(u=h.bind([this,"name"],[c,"name"]))})),this.dispose(this.showChanged.disposableOn(c=>{if(e.setSceneObjectShowFunc(this.sceneObject,c),this.tree&&this.tree.forceRedraw(),this.children&&!this._showChangedNotAffectChildren)for(let f of this.children)f instanceof He&&(f._showChangedNotAffectParent=!0,f.show=c,f._showChangedNotAffectParent=!1);this.parent&&this.parent instanceof He&&!this._showChangedNotAffectParent&&(this.parent._showChangedNotAffectChildren=!0,this.parent.show=pp(this.parent),this.parent._showChangedNotAffectChildren=!1)})),this.dv(new h.ObjResettingWithEvent(this.sceneObjectChanged,()=>{if(!this.sceneObject)return;const c=new h.Destroyable;if("show"in this.sceneObject&&"showChanged"in this.sceneObject&&this.sceneObject.showChanged instanceof Event){const f=()=>{this.show=e.getSceneObjectShowFunc(this.sceneObject)};f(),c.dispose(this.sceneObject.showChanged.disposableOn(f))}else if("enabled"in this.sceneObject&&"enabledChanged"in this.sceneObject&&this.sceneObject.enabledChanged instanceof Event){const f=()=>{this.show=e.getSceneObjectShowFunc(this.sceneObject)};f(),c.dispose(this.sceneObject.enabledChanged.disposableOn(f))}return c})),this.childrenChangedEvent.disposableOn(()=>{const c=pp(this);this._showChangedNotAffectChildren=!0,this.show=c,this._showChangedNotAffectChildren=!1});{const c=()=>{let f="Unknown";this.sceneObject?f=this.sceneObject.typeName:this.children&&(f="Folder"),this._type.value=f};this.dispose(this.sceneObjectChanged.disposableOn(c)),this.dispose(this.childrenResetedEvent.disposableOn(c)),c()}}get dragDrop(){return this._dragDrop||(this._dragDrop=this.dv(this.sceneTree.createTreeItemDragDropFunc(this))),this._dragDrop}get type(){return this._type.value}get typeChanged(){return this._type.changed}get isExport(){return this._isExport.value}get isExportChanged(){return this._isExport.changed}set isExport(e){this._isExport.value=e}get sceneTree(){return this.tree}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(e){try{this.json=JSON.parse(e)}catch(r){console.error(`sceneTreeItem.jsonStr error ${r}`,r)}}get json(){const e=this.children&&[...this.children].filter(r=>r.isExport).map(r=>r.json);return{name:this.name,show:this.show?void 0:!1,collapsed:this.uiTreeObject.collapsed?!0:void 0,sceneObj:this.sceneObject&&this.sceneObject.json,children:e,extras:this.extras}}set json(e){if(e.name!==void 0&&(this.name=e.name),this.extras=e.extras,this._showChangedNotAffectChildren=!0,this._showChangedNotAffectParent=!0,this.show=e.show??!0,this._showChangedNotAffectChildren=!1,this._showChangedNotAffectParent=!1,this.uiTreeObject.collapsed=e.collapsed??!1,this.sceneObject=void 0,e.sceneObj&&(this.sceneObject=this.sceneTree.createSceneObjectFunc(e.sceneObj,this)),!!e.children){if(this.resetChildren(!0),!this.children)throw new Error("resetChildren(true) cannot get children!");for(let r of e.children){const i=new He(this.tree,!0);i.json=r,this.children.push(i)}}}clone(){try{const e=new He(this.sceneTree,!!this.children,void 0,this.extras,this.isExport);return e.json=this.json,e.name=this.sceneTree.getSceneTreeItemCloneNameFunc(this),e}catch(e){console.error(`SceneTreeItem.clone error: ${e}`,e)}}insertNewTreeItem(e,r){if(e==="FolderInnerOrAfter"||e==="FolderInnerOrBefore"||e==="FolderInner"){if(r&&r.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&!(e.includes("Or")&&this.sceneObject))return r&&this.children.push(r),!0;if(e==="FolderInner")return!1;if(e==="FolderInnerOrAfter")return super.insertNewTreeItem("After",r);if(e==="FolderInnerOrBefore")return super.insertNewTreeItem("Before",r);throw new Error("should not be here!")}else return super.insertNewTreeItem(e,r)}}(n=>{n.createDefaultProps=()=>({name:"未命名条目",nameEditing:!1,sceneObject:void 0,show:!0,extras:h.reactJsonWithUndefined(void 0)})})(He||(He={})),h.extendClassProps(He.prototype,He.createDefaultProps);function gp(n,t,e){let{offsetY:r}=t;if(!t.target||!("clientTop"in t.target))return"none";r+=2,r+=t.target.clientTop;let i="none";return n.children?r<=e*.3?i="before":r>=e*.7?!n.uiTreeObject.collapsed&&n.children.length>0?i="inner":i="after":i="inner":r<=e*.5?i="before":i="after",i}class mp extends cp{constructor(t){super(),this._treeItem=t;const{dragStartDataManager:e}=this._treeItem.sceneTree;let r="none";const i=this.disposeVar(h.createTimeoutWithStartValues(()=>{this._treeItem.uiTreeObject.moveToPositionMode=r,console.log(`uiTreeObject.moveToPositionMode = lastDragMode(${r});`)},200));function s(o){r!==o&&(r=o,i.restart())}this.dispose(this._dragStartEvent.disposableOn(o=>{e.data={type:"UITreeA",value:this._treeItem}})),this.dispose(this._dragOverEvent.disposableOn(o=>{if(!o.dataTransfer)return;o.preventDefault();const a=e;if(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0){const u=a.data.value,l=this._treeItem,{tree:c}=l;if(c){const f=[...c.selectedItems];~f.indexOf(u)||f.push(u);const p=gp(l,o,c.itemDivHeight);if(p!=="none"&&h.Tree.canMoveToTreeItems(f,l,p)){o.dataTransfer.dropEffect="move",s(p);return}}}o.dataTransfer.dropEffect="none",s("none")})),this.dispose(this._dropEvent.disposableOn(o=>{const a=e;if(!(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0))return;const u=a.data.value,l=this._treeItem,{tree:c}=l;if(!c)return;const f=[...c.selectedItems];~f.indexOf(u)||f.push(u);const p=gp(l,o,c.itemDivHeight);p!=="none"&&h.Tree.canMoveToTreeItems(f,l,p)&&(h.Tree.moveToTreeItems(f,l,p),a.data=void 0,s("none"))})),this.dispose(this._dragLeaveEvent.disposableOn(()=>{r="none",i.restart()}))}}function wy(n){if(!(n instanceof He))throw new Error("defaultCreateTreeItemDragDrop !(treeItem instanceof SceneTreeItem)");return new mp(n)}function Ey(n){let t=!1;return n&&("show"in n?t=n.show??!0:"enabled"in n&&(t=n.enabled??!0)),t}function Sy(n,t){n&&("show"in n?n.show=t:"enabled"in n&&(n.enabled=t))}const Cy=["EnvironmentVariables","ScriptsLoader","SceneScript","ScriptLoader"];function Iy(n){const t=[],{root:e={}}=n,r=[e];for(;r.length>0;){const i=r.pop();if(!i)throw new Error("!todo");if(i.children){for(let s of i.children)if(s.children&&r.unshift(s),s.sceneObj){const{type:o=void 0}=s.sceneObj;o||(console.warn("sceneObjJson has no type! treeItem.sceneObj: "),console.warn(s.sceneObj)),o&&Cy.includes(o)&&t.push(s.sceneObj)}}}return t}async function Py(n,t){const e=Iy(n);let r=0;const i=e.length;for(let s of e)if(++r,t){const o=r/i;t(o,r,i)}}class vp extends h.Destroyable{constructor(e,r){super();d(this,"treeItemContexMenuCallback");this._sceneTree=e,this._projectManager=r}get sceneTree(){return this._sceneTree}}class Ny extends h.Destroyable{constructor(e){super();d(this,"_jsonLoadingEvent",this.disposeVar(new h.Event));d(this,"_setJsonProcessing",this.disposeVar(h.createProcessingFromAsyncFunc(async(e,r)=>{this._jsonLoadingEvent.emit({type:"init"}),this._jsonLoadingEvent.emit({type:"loading"}),r&&await e.promise(this._sceneTree.preloadFunc(r)),this._setJson(r),this._jsonLoadingEvent.emit({type:"loaded"})})));this._sceneTree=e,this._setJsonProcessing.errorFunc=r=>{this._jsonLoadingEvent.emit({type:"error",error:r})}}get jsonLoadingEvent(){return this._jsonLoadingEvent}_setJson(e){try{this._sceneTree.setJson(e||{})}catch(r){console.error(`json数据装配时发生错误!error: ${r}`)}}get json(){return this._sceneTree.getJson()}set json(e){this._setJsonProcessing.restart(new h.CancelError("JSON重新赋值!"),e)}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(e){this.json=JSON.parse(e)}}function by(n){return n.name+"_clone"}function lc(n,t,e){if(n instanceof He)return n.insertNewTreeItem(t,e);{const r={FolderInnerOrAfter:"InnerOrAfter",FolderInnerOrBefore:"InnerOrBefore",FolderInner:"Inner",InnerOrAfter:"InnerOrAfter",InnerOrBefore:"InnerOrBefore",Inner:"Inner",After:"After",Before:"Before"};return n.insertNewTreeItem(r[t],e)}}function Ty(n){[n,...n.getDescendants()].forEach(t=>t.destroy())}const vr=class vr extends h.Tree{constructor(e,r,i,s){super(i);d(this,"_jsonLoading",this.disposeVar(new Ny(this)));d(this,"createSceneObjectFunc",vr.defaultCreateSceneObjectFunc);d(this,"createTreeItemDragDropFunc",vr.defaultCreateTreeItemDragDropFunc);d(this,"preloadFunc",vr.defaultPreload);d(this,"getSceneObjectShowFunc",vr.defaultGetSceneObjectShow);d(this,"setSceneObjectShowFunc",vr.defaultSetSceneObjectShow);d(this,"getSceneTreeItemCloneNameFunc",vr.defaultGetSceneTreeItemCloneNameFunc);d(this,"debug",!1);d(this,"_contextMenu",this.disposeVar(new vp(this,this.projectManager)));d(this,"_showPropUiOnSelecting",this.disposeVar(h.react(!0)));this._name=e,this._dragStartDataManager=r,this._projectManager=s,this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{var a,u;window.lssn=this.lastSelectedItem,window.lsso=(a=this.lastSelectedItem)==null?void 0:a.sceneObject,this.debug&&console.log(((u=this.lastSelectedItem)==null?void 0:u.sceneObject)??"select null")}));const{sceneObjectsManager:o}=this._projectManager;this.dispose(this.itemsDeleted.disposableOn(a=>{for(let u of a){const l=u,{sceneObject:c}=l;c&&o.deleteSceneObject(c)&&c.destroy()&&Zu(c,void 0);for(let f of l.getDescendants()){const{sceneObject:p}=f;p&&o.deleteSceneObject(p)&&p.destroy()&&Zu(p,void 0)}Ty(u)}})),this.dispose(this.itemsAdded.disposableOn(a=>{for(let u of a){const l=u;l.sceneObject&&o.addSceneObject(l.sceneObject)&&Zu(l.sceneObject,l)}})),this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{if(!this.showPropUiOnSelecting)return;this._projectManager.propUiTreeManager.sceneObject=void 0;const{lastSelectedItem:a}=this;a&&(this._projectManager.propUiTreeManager.sceneObject=a.sceneObject)}))}get json(){return this._jsonLoading.json}set json(e){this._jsonLoading.json=e}get jsonStr(){return this._jsonLoading.jsonStr}set jsonStr(e){this._jsonLoading.jsonStr=e}get jsonLoadingEvent(){return this._jsonLoading.jsonLoadingEvent}get name(){return this._name}get projectManager(){return this._projectManager}get contextMenu(){return this._contextMenu}get showPropUiOnSelecting(){return this._showPropUiOnSelecting.value}set showPropUiOnSelecting(e){this._showPropUiOnSelecting.value=e}get showPropUiOnSelectingChanged(){return this._showPropUiOnSelecting.changed}get sceneUiTree(){return this.uiTree}getTreeItemFromSceneObjId(e){const r=this.getDescendants();let i;for(let s of r)if(s.sceneObject&&s.sceneObject.id===e){i=s;break}return i}get dragStartDataManager(){return this._dragStartDataManager}getJson(){return{root:{children:[...this.children].filter(e=>e.isExport).map(e=>e.json)}}}setJson(e){var i;e.root=e.root||{};const r=e.root.children??[];this.root.resetChildren(!0);for(let s of r){const o=new He(this,!0);o.json=s,(i=this.root.children)==null||i.push(o)}}testAddNewTreeItem(e,r){const i=e||this.lastSelectedItem||this.root;return i?lc(i,r):!1}addNewTreeItem(e,r,i,s){const o=e||this.lastSelectedItem||this.root;if(o&&lc(o,r)){const a=new He(this,i);if(a.sceneObject=s,!lc(o,r,a))throw new Error("currentTreeItem.insertNewTreeItem return false!");return a}}createSceneObjectTreeItem(e,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=$.create(e,r);return a?this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0,a):void 0}createGroupTreeItem(e,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0);if(!a){console.warn("addNewTreeItem error!");return}return a.name=e??"未命名组节点",a}createSceneObjectTreeItemFromClass(e,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o))return;const a=$.createFromClass(e,r);return a?this.addNewTreeItem(i,o,!0,a):void 0}createSceneObjectTreeItemFromJson(e,r,i){const s=i??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(r,s))return;const o=$.createFromJson(e);return console.log(o),o?this.addNewTreeItem(r,i??"FolderInnerOrAfter",!0,o):void 0}destroySceneObjectTreeItem(e){if(e===this.root){console.warn("cannot destroy root! please use function destroyAllSceneObjectTreeItems!");return}e.detachFromParent()}destroyAllSceneObjectTreeItems(){if(!this.root.children)return;const e=[...this.root.children];for(let r of e)this.destroySceneObjectTreeItem(r)}};d(vr,"defaultCreateSceneObjectFunc",_y),d(vr,"defaultCreateTreeItemDragDropFunc",wy),d(vr,"defaultPreload",Py),d(vr,"defaultGetSceneObjectShow",Ey),d(vr,"defaultSetSceneObjectShow",Sy),d(vr,"defaultGetSceneTreeItemCloneNameFunc",by);let Ya=vr;const cc={saturation:.35,brightness:1.4,gamma:.8,atmosphereScatteringIntensity:5,groundColor:[0,.09411764705882353,.3137254901960784,1]};class yp extends h.Tree{constructor(t){super(t)}get propUiTree(){return this.uiTree}}class hc extends h.TreeItem{constructor(t,e,r){super(t,e),this._property=r}get property(){return this._property}}class fc extends hc{constructor(t,e){super(t,!1,e)}}class dc extends hc{constructor(t,e){super(t,!0,e)}get groupChildren(){return this.children}}function _p(n,t){const e=new yp(t),r=n.getProperties("chinese"),i=[];for(let s of r)if(s instanceof rt){const o=new dc(e,s);o.d(()=>s.destroy()),e.children.push(o),i.push(o)}else{const o=new fc(e,s);e.children.push(o),o.d(()=>s.destroy())}for(;i.length>0;){const s=i.pop();if(!s)throw new Error("should not be here!");const o=s;if(!(o.property instanceof rt))throw new Error("!(treeItem.property instanceof GroupProperty)");for(let a of o.property.children)if(a instanceof rt){const u=new dc(e,a);u.d(()=>a.destroy()),o.groupChildren.push(u),i.push(u)}else{const u=new fc(e,a);o.groupChildren.push(u),u.d(()=>a.destroy())}}return e.d(()=>{e.itemChildrenChanged.reset(),e.itemChildrenToChange.reset();const s=[...e.getDescendants()];s.forEach(o=>{o.children&&(o.children.length=0),o.destroy()}),s.length=0}),e}class Ao extends h.Destroyable{constructor(e){super();d(this,"_propTreeReact",this.dv(h.react(void 0)));this.d(()=>this._propTreeReact.value=void 0),this.dv(new h.ObjResettingWithEvent(this.sceneObjectChanged,r=>{if(!r)return;const i=new h.Destroyable;return i.d(r.toDestroyEvent.don(()=>{this.sceneObject=void 0})),i})),this.d(this.sceneObjectChanged.don(r=>{this._propTreeReact.value=void 0,!(!r||!(r instanceof $))&&(this._propTreeReact.value=_p(r,e))}))}get propTree(){return this._propTreeReact.value}get propTreeChanged(){return this._propTreeReact.changed}}(n=>{n.createDefaultProps=()=>({sceneObject:void 0})})(Ao||(Ao={})),h.extendClassProps(Ao.prototype,Ao.createDefaultProps);function Oy(n,t,e,r=!0){r&&e(),n.dispose(t.disposableOn(e))}class Dy extends h.Destroyable{constructor(e,r,i,s){super();d(this,"_sceneObjectId",this.dv(new h.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=h.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 Dn?this._sceneObjectId.sceneObject:void 0}get playerChanged(){return this._sceneObjectId.sceneObjectChanged}}const My=`
|
|
28
|
-
用来配置子播放器,它是一个数组形式,数组的每个元素仍然是一个数组,形式是[子播放器的ID, 起始时间, 持续时间]。
|
|
29
|
-
注意时间的单位是毫秒。
|
|
30
|
-
示例如下:
|
|
31
|
-
\`\`\`
|
|
32
|
-
[
|
|
33
|
-
[
|
|
34
|
-
"9591a729-d90b-40d0-8d1b-f1ac4b5263c1",
|
|
35
|
-
0,
|
|
36
|
-
5000
|
|
37
|
-
],
|
|
38
|
-
[
|
|
39
|
-
"76ad204f-58c6-4639-8713-ecfab6783b0f",
|
|
40
|
-
7000.002288818359,
|
|
41
|
-
5000
|
|
42
|
-
]
|
|
43
|
-
]
|
|
44
|
-
\`\`\`
|
|
45
|
-
`,Fe=class Fe extends h.Destroyable{constructor(){super();d(this,"_ratio",this.dv(h.react(0)));d(this,"_subPlayers",this.dv(new h.ObservableArray));const e=this.dv(new h.Player);{const o=()=>{e.loop=this.loop??Fe.defaults.loop};o(),this.d(this.loopChanged.don(o))}{const o=()=>{(this.loop??Fe.defaults.loop)!==e.loop&&(this.loop=e.loop)};o(),this.d(e.loopChangedEvent.don(o))}{const o=()=>{e.currentTime=this.currentTime??Fe.defaults.currentTime};o(),this.d(this.currentTimeChanged.don(o))}{const o=()=>{(this.currentTime??Fe.defaults.currentTime)!==e.currentTime&&(this.currentTime=e.currentTime)};o(),this.d(e.currentTimeChangedEvent.don(o))}{const o=()=>{e.duration=this.duration??Fe.defaults.duration};o(),this.d(this.durationChanged.don(o))}{const o=()=>{(this.duration??Fe.defaults.duration)!==e.duration&&(this.duration=e.duration)};o(),this.d(e.durationChangedEvent.don(o))}{const o=()=>{e.speed=this.speed??Fe.defaults.speed};o(),this.d(this.speedChanged.don(o))}{const o=()=>{(this.speed??Fe.defaults.speed)!==e.speed&&(this.speed=e.speed)};o(),this.d(e.speedChangedEvent.don(o))}{const o=()=>{e.playing=this.playing??Fe.defaults.playing};o(),this.d(this.playingChanged.don(o))}{const o=()=>{(this.playing??Fe.defaults.playing)!==e.playing&&(this.playing=e.playing)};o(),this.d(e.playingChangedEvent.don(o))}const r=()=>{const o=this.duration??Fe.defaults.duration;o>0&&(this._ratio.value=(this.currentTime??Fe.defaults.currentTime)/o)};r();const i=this.dv(h.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 Dy(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??Fe.defaults.duration)*e)}get ratioChanged(){return this._ratio.changed}};d(Fe,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),d(Fe,"channelsReadMe",My);let Dn=Fe;(n=>{n.createDefaultProps=()=>({loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:h.reactDeepArrayWithUndefined(void 0,(t,e)=>t==null?void 0:t.every((r,i)=>r===e[i]),t=>[...t])})})(Dn||(Dn={})),h.extendClassProps(Dn.prototype,Dn.createDefaultProps);class pc extends h.Destroyable{constructor(e){super();d(this,"_sceneObject",this.dv(h.react(void 0)));this._id=e,this.d(()=>{this._sceneObject.value=void 0});const r=$.getSceneObjById(this._id);r&&(this._sceneObject.value=r),this.d($.context.sceneObjCreatedEvent.don(i=>{i.id===this._id&&(this._sceneObject.value=i)})),this.d($.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 xy extends h.Destroyable{constructor(e,r){super();d(this,"_sofi");this._id=e,this._sofi=this.dv(new pc(this._id));{const i=()=>{r.sceneObject=this._sofi.sceneObject};i(),this.d(this._sofi.sceneObjectChanged.don(i))}}}class Ly extends h.Destroyable{constructor(){super();d(this,"_id",this.dv(h.react(void 0)));d(this,"_sceneObject",this.dv(h.react(void 0)));d(this,"_resetting",this.dv(new h.ObjResettingWithEvent(this.idChanged,()=>{const{id:e}=this;if(e===void 0||e===""){this.sceneObject=void 0;return}return new xy(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 Ay extends h.Destroyable{constructor(t,e,r,i){super(),this.disposeVar(new h.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=h.pluckProperty(o,!1,...a);(!u||!(u instanceof h.Event))&&(a[a.length-1]=a[a.length-1]+"Changed",i.debug&&console.warn(`event未能获取,那么将属性名的最后一项加上Changed(${a[a.length-1]})再试试!`),u=h.pluckProperty(o,!1,...a),i.debug&&u&&console.warn("event仍然获取不到!")),u?u instanceof h.Event?(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.Destroyable;return a.d(s.dwon(()=>r.emit())),a}else{i.debug&&console.log(`未获取到Event!propChangedName: ${e}`);return}}))}}let Ry=class extends h.Destroyable{constructor(e,r,i){super();d(this,"_doEvalEvent",this.dv(new h.Event));const s=this._doEvalEvent,o=this.disposeVar(h.createNextAnimateFrameEvent(s)),a=e.map(([u,l])=>{const c=new pc(u),f=l&&new Ay(c,l,s,r)||void 0;return[c,f]});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(([f])=>f.sceneObject);(!l||c.every(f=>f!==void 0))&&i(c)}})),this.d(o.don(()=>{const{evalMode:u="NextAnimateFrame",evalOnlyWhenObjsAllExist:l=!0}=r;if(u==="NextAnimateFrame"){const c=a.map(([f])=>f.sceneObject);(!l||c.every(f=>f!==void 0))&&i(c)}}))}forceExecute(){this._doEvalEvent.emit()}};const wp=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:Ry},Symbol.toStringTag,{value:"Module"})),{WatcherObjects:Fy}=wp;class Ha extends h.Destroyable{constructor(){super();d(this,"_evalFunc");d(this,"_forceExecute",new h.Event);const e=this.dv(h.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 h.ObjResettingWithEvent(this.objIdAndPropChangedNamesChanged,()=>{if(this.objIdAndPropChangedNames.length>0)return this.debug&&console.log("监视对象发生变化,重新创建WatcherObjects"),new Fy(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:h.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:h.reactJson(void 0),devTags:h.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(Ha||(Ha={})),h.extendClassProps(Ha.prototype,Ha.createDefaultProps);function ky(n,t,e){var i;((i=t.attachedViewers.values().toArray()[0])==null?void 0:i.getEngineObject(t))?e.call(n):n.dispose(t.createdEvent.don(()=>e.call(n)))}function Ep(n){let t=0;function e(r,i){i++,t=Math.max(i,t),r.forEach(s=>{Array.isArray(s)&&e(s,i)})}return e(n,0),t}const ri=class ri extends Rt{constructor(e){super(e);d(this,"editingBindMode","lineString");d(this,"_area",this.dv(h.react(0)));d(this,"_perimeter",this.dv(h.react(0)));const r=()=>{this._updateArea(),this._updatePerimeter()};r(),this.d(this.pointsChanged.don(r))}updateEditing(){var r;const e=[];this.editingBindMode=="doublePoints"?e.push(B.DoublePointsAppend,B.DoublePointsModify):this.editingBindMode=="lineString"?e.push(B.LineStringAppend,B.LineStringInsert,B.Translation):this.editingBindMode=="circular"?(e.push(B.CircularAppend,B.CircularInsert,B.Translation),this.supportEditingModes().includes(B.HeightModify)&&e.push(B.HeightModify)):this.editingBindMode=="visibility"?e.push(B.VisibilityAppend,B.VisibilityModify):this.editingBindMode=="scatter"&&e.push(B.ScatterAppend,B.ScatterModify),(r=this.activeViewer)==null||r.startEditing(this,e,{callSource:"inner"})}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}_updateArea(){this._area.value=this.getArea()??0}_updatePerimeter(){this._perimeter.value=this.getPerimeter()??0}getArea(){if(this.points&&this.points.length>=3)return _l([...this.points])}getDistance(){if(this.points&&this.points.length>=2){const e=Xa(this.points,"GEODESIC");return e[e.length-1]}else return}getPerimeter(){if(this.points&&this.points.length>=3){const e=[...this.points,this.points[0]],r=Xa(e,"GEODESIC");return r[r.length-1]}else return}getIntersect(e){if(this.points&&this.points.length>=3&&e.length>=3){const r=jd(this.points,e);if(!r)return;const i=r[0][0][0];if(Array.isArray(i)){const s=[...r],o=[];return s.forEach(a=>{const u=a[0].map(l=>[...l,0]);o.push(u)}),o}else return[[...r][0].map(a=>[...a,0])]}else return}getUnion(e){if(this.points&&this.points.length>=3&&e.length>=3){const r=tp(this.points,e);if(!r)return;const i=r[0][0][0];if(Array.isArray(i)){const s=[...r],o=[];return s.forEach(a=>{const u=a[0].map(l=>[...l,0]);o.push(u)}),o}else return[[...r][0].map(a=>[...a,0])]}else return}getDifference(e){if(this.points&&this.points.length>=3&&e.length>=3){let r=[...e];const i=e[0],s=e[e.length-1];i[0]===s[0]&&i[1]===s[1]&&i[2]===s[2]||r.push(i);const o=rp([...this.points,this.points[0]],[...r]);if(!o)return{status:"undefined",positions:void 0};const a=[...o];if(Ep(a)===3){const u=a.map(p=>p.map(v=>[...v,0]));if(u.length<=1)return{status:"notIncluded",positions:u};const l=u[0],c=u[1];return oc([...l],[...c])==="oneBig"?{status:"included",positions:u}:{status:"notIncluded",positions:u}}else if(Ep(a)===4){const l=[...a.map(f=>f.map(p=>p.map(v=>[...v,0])))],c=[];return l.forEach(f=>{c.push(f[0])}),{status:"notIncluded",positions:c}}else return{status:"undefined",positions:void 0}}else return{status:"undefined",positions:void 0}}getBuffer(e=500,r){if(this.points&&this.points.length>=2){const i=ep(this.points,e,r);return i?[i[0].map(s=>[...s,0])]:void 0}else return}geoPolygonOverlap(e){if(this.points&&this.points.length>=3&&e.length>=3){const r=oc(this.points,e);return r==="oneBig"?!0:r==="twoBig"?!1:void 0}else return}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",coordinate:[...e.coordinate,new W([this,"editing"],"编辑",!1),new Q([this,"points"],"位置数组",ri.defaults.points,void 0,!0)],style:[...e.style,new rt([],"点样式"),new W([this,"pointed"],"开启",!1),new L([this,"pointSize"],"点大小",1),new pt([this,"pointSizeType"],[["screen","screen"],["world","world"]],"点类型","screen"),new _t([this,"pointColor"],"点颜色",[1,1,1,1]),new _t([this,"pointOutlineColor"],"轮廓颜色",ri.defaults.pointStyle.outlineColor),new L([this,"pointOutlineWidth"],"轮廓宽度",ri.defaults.pointStyle.outlineWidth),new rt([],"线样式"),new W([this,"stroked"],"开启线样式",!0),new W([this,"strokeGround"],"贴地",!1),new L([this,"strokeWidth"],"线宽",1),new pt([this,"strokeWidthType"],[["screen","screen"],["world","world"]],"线类型","screen"),new _t([this,"strokeColor"],"线颜色",[1,1,1,1]),new rt([],"面样式"),new W([this,"filled"],"开启",!1),new W([this,"fillGround"],"贴地",!1),new _t([this,"fillColor"],"填充颜色",[1,1,1,1])],more:[...e.more,new rt([],"点样式集合"),new ot([this,"pointMaterial"],"点材质"),new Q([this,"pointMaterialParams"],"点材质参数"),new rt([],"线样式集合"),new ot([this,"strokeMaterial"],"线材质"),new Q([this,"strokeMaterialParams"],"线材质参数"),new rt([],"面样式集合"),new ot([this,"fillMaterial"],"面材质"),new Q([this,"fillMaterialParams"],"面材质参数")]}}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointOutlineColor(){return this.pointStyle.outlineColor}set pointOutlineColor(e){this.pointStyle={...this.pointStyle,outlineColor:[...e]}}get pointOutlineColorChanged(){return this.pointStyleChanged}get pointOutlineWidth(){return this.pointStyle.outlineWidth}set pointOutlineWidth(e){this.pointStyle={...this.pointStyle,outlineWidth:e}}get pointOutlineWidthChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}};d(ri,"createDefaultProps",()=>({...Rt.createDefaultProps(),pointed:!1,pointStyle:h.reactJson({size:10,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:2}),stroked:!1,strokeStyle:h.reactJson({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!1,fillStyle:h.reactJson({color:[1,1,1,1],material:"",materialParams:{},ground:!1}),points:h.reactPositions(void 0)})),d(ri,"type",ri.register("ESGeoVector",ri,{chsName:"地理矢量",tags:["ESObjects"],description:"地理矢量"})),d(ri,"supportEditingModes",[...Rt.supportEditingModes,B.Translation]);let yt=ri;const Rs=class Rs extends Rt{constructor(){super(...arguments);d(this,"_statusDis",this.dv(h.react(!0)));d(this,"_smoothMoveEvent",this.dv(new h.Event));d(this,"_smoothMoveWithRotationEvent",this.dv(new h.Event));d(this,"_smoothMoveOnGroundEvent",this.dv(new h.Event));d(this,"_smoothMoveWithRotationOnGroundEvent",this.dv(new h.Event));d(this,"_automaticLandingEvent",this.dv(new h.Event));d(this,"_smoothMoveKeepPitchEvent",this.dv(new h.Event));d(this,"_smoothMoveRelativelyEvent",this.dv(new h.Event));d(this,"_smoothMoveRelativelyWithRotationEvent",this.dv(new h.Event));d(this,"useCalcFlyToParamInESObjectWithLocation",!0)}updateEditing(){var r;const e=[];this.editingBindMode=="singlePoint"?(e.push(B.Place,B.Translation),["ESLocationMeasurement"].includes(this.typeName)||e.push(B.Rotation),["ESClippingPlane","ESLocationMeasurement","ESLocalRectangle","ESBoxClipping"].includes(this.typeName)||e.push(B.Scale)):this.editingBindMode=="doublePoints"&&e.push(B.DoublePointsAppend,B.DoublePointsModify),(r=this.activeViewer)==null||r.startEditing(this,e,{callSource:"inner"})}get statusDis(){return this._statusDis.value}get statusDisChanged(){return this._statusDis.changed}get smoothMoveEvent(){return this._smoothMoveEvent}smoothMove(e,r){this._smoothMoveEvent.emit(e,r)}get smoothMoveWithRotationEvent(){return this._smoothMoveWithRotationEvent}smoothMoveWithRotation(e,r,i){this._smoothMoveWithRotationEvent.emit(e,r,i)}get smoothMoveOnGroundEvent(){return this._smoothMoveOnGroundEvent}smoothMoveOnGround(e,r,i,s){this._smoothMoveOnGroundEvent.emit(e,r,i,s)}get smoothMoveWithRotationOnGroundEvent(){return this._smoothMoveWithRotationOnGroundEvent}smoothMoveWithRotationOnGround(e,r,i,s,o){this._smoothMoveWithRotationOnGroundEvent.emit(e,r,i,s,o)}get automaticLandingEvent(){return this._automaticLandingEvent}automaticLanding(){const e=this.collision;this.collision=!1,setTimeout(()=>{this._automaticLandingEvent.emit(e)},100)}get smoothMoveKeepPitchEvent(){return this._smoothMoveKeepPitchEvent}smoothMoveKeepPitch(e,r){this._smoothMoveKeepPitchEvent.emit(e,r)}get smoothMoveRelativelyEvent(){return this._smoothMoveRelativelyEvent}smoothMoveRelatively(e,r){this._smoothMoveRelativelyEvent.emit(e,r)}get smoothMoveRelativelyWithRotationEvent(){return this._smoothMoveRelativelyWithRotationEvent}smoothMoveRelativelyWithRotation(e,r,i){this._smoothMoveRelativelyWithRotationEvent.emit(e,r,i)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",location:[...e.location,new W([this,"editing"],"是否编辑"),new nt([],()=>this.automaticLanding(),[],"自动落地"),new to([this,"position"],"位置数组",[0,0,0]),new cl([this,"rotation"],"姿态数组",[0,0,0]),new Ve([this,"scale"],"缩放",[1,1,1]),new L([this,"minVisibleDistance"],"最小可见距离",0),new L([this,"maxVisibleDistance"],"最大可见距离",0)],more:[...e.more,new nt(["numbers","number"],(r,i)=>this.smoothMove(r,i),[[0,0,0],0],"平滑移动","smoothMove"),new nt(["numbers","number"],(r,i)=>this.smoothMoveKeepPitch(r,i),[[0,0,0],0],"固定方向平滑移动","smoothMoveKeepPitch"),new nt(["numbers","numbers","number"],(r,i,s)=>this.smoothMoveWithRotation(r,i,s),[[0,0,0],[0,0,0],0],"平滑偏移","smoothMoveWithRotation"),new nt(["number","number","number","string"],(r,i,s,o)=>this.smoothMoveOnGround(r,i,s,o),[0,0,0,""],"贴地平滑移动","smoothMoveOnGround"),new nt(["numbers","number","number","number","string"],(r,i,s,o,a)=>this.smoothMoveWithRotationOnGround(r,i,s,o,a),[[0,0,0],0,0,0,""],"贴地平滑偏移","smoothMoveWithRotationOnGround"),new nt(["numbers","number"],(r,i)=>this.smoothMoveRelatively(r,i),[[0,0,0],0],"smoothMoveRelatively","smoothMoveRelatively"),new nt(["numbers","numbers","number"],(r,i,s)=>this.smoothMoveRelativelyWithRotation(r,i,s),[[0,0,0],[0,0,0],0],"smoothMoveRelativelyWithRotation","smoothMoveRelativelyWithRotation"),new W([this,"enableVisibleDistance"],"是否应用距离显隐")]}}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}};d(Rs,"createDefaultProps",()=>({...Rt.createDefaultProps(),pointed:!1,pointStyle:h.reactJson({size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:2}),position:h.reactArray([0,0,0]),rotation:h.reactArray([0,0,0]),scale:h.reactArray([1,1,1]),minVisibleDistance:h.react(0),maxVisibleDistance:h.react(0)})),d(Rs,"type",Rs.register("ESObjectWithLocation",Rs,{chsName:"对象位置",tags:["ESObjects"],description:"对象位置"})),d(Rs,"supportEditingModes",[...Rt.supportEditingModes,B.Place,B.Translation,B.Rotation,B.Scale,B.DoublePointsAppend,B.DoublePointsModify]);let j=Rs;const Vo=class Vo extends j{getESProperties(){const t={...super.getESProperties()};return{...t,style:[...t.style,new rt([],"点样式集合"),new W([this,"pointed"],"开启点样式",!1),new L([this,"pointSize"],"点大小",1),new pt([this,"pointSizeType"],[["screen","screen"],["world","world"]],"点类型","screen"),new _t([this,"pointColor"],"点颜色",[1,1,1,1]),new rt([],"线样式集合"),new W([this,"stroked"],"开启线样式",!1),new W([this,"strokeGround"],"是否贴地(线)",!1),new L([this,"strokeWidth"],"线宽",1),new pt([this,"strokeWidthType"],[["screen","screen"],["world","world"]],"线类型","screen"),new _t([this,"strokeColor"],"线颜色",[1,1,1,1]),new rt([],"面样式集合"),new W([this,"filled"],"开启填充样式",!1),new W([this,"fillGround"],"是否贴地",!1),new _t([this,"fillColor"],"填充颜色",[1,1,1,1])],more:[...t.more,new rt([],"点样式"),new ot([this,"pointMaterial"],"点材质",""),new Q([this,"pointMaterialParams"],"点材质参数",{}),new rt([],"线样式"),new ot([this,"strokeMaterial"],"线材质",""),new Q([this,"strokeMaterialParams"],"线材质参数",{}),new rt([],"填充样式"),new ot([this,"fillMaterial"],"面材质",""),new Q([this,"fillMaterialParams"],"面材质参数",{})]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}};d(Vo,"createDefaultProps",()=>({...j.createDefaultProps(),pointed:!1,pointStyle:h.reactJson({size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:1}),stroked:!1,strokeStyle:h.reactJson({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!1,fillStyle:h.reactJson({color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Vo,"type",Vo.register("ESLocalVector",Vo,{chsName:"本地矢量",tags:["ESObjects"],description:"本地矢量对象"}));let Ro=Vo;const eu=class eu extends Ro{};d(eu,"type",eu.register("ESLocalVector2D",eu,{chsName:"本地矢量2D",tags:["ESObjects"],description:"本地矢量2D对象"}));let Ti=eu;const Vy=[["固定朝向",0],["面向屏幕旋转",1],["绕自身Z轴旋转",2]],zy=[["单面不透明",0],["双面不透明",1],["单面遮罩",2],["双面遮罩",3],["单面透明",4],["双面透明",5],["单面未遮挡透明",6],["双面未遮挡透明",7]],zo=class zo extends j{constructor(){super(...arguments);d(this,"_widgetEvent",this.dv(new h.Event))}get widgetEvent(){return this._widgetEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new W([this,"screenRender"],"屏幕渲染",!0),new W([this,"sizeByContent"],"尺寸自适应",!0),new ge([this,"size"],"尺寸大小",[100,100]),new ge([this,"anchor"],"偏移比例",[.5,1]),new ge([this,"offset"],"像素偏移",[0,0]),new pt([this,"renderMode"],zy,"渲染模式",0),new pt([this,"rotationType"],Vy,"漫游旋转类型",1),new ot([this,"actorTag"],"绑定对象"),new ot([this,"socketName"],"插槽名称"),new Ve([this,"positionOffset"],"位置偏移"),new Ve([this,"rotationOffset"],"相对姿态")],more:[...e.more,new L([this,"zOrder"],"排序",0)]}}};d(zo,"createDefaultProps",()=>({...j.createDefaultProps(),screenRender:!0,size:h.reactArray([100,100]),anchor:h.reactArray([.5,1]),offset:h.reactArray([0,0]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,actorTag:"",socketName:"",positionOffset:h.reactArray([0,0,0]),rotationOffset:h.reactArray([0,0,0])})),d(zo,"type",zo.register("ESLabel",zo,{chsName:"标签",tags:["ESObjects"],description:"标签对象"}));let Rr=zo;const Uo=class Uo extends ${constructor(t){super(t)}};d(Uo,"createDefaultProps",()=>({...$.createDefaultProps(),show:!0,fillStyle:h.reactJson({color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Uo,"type",Uo.register("ESTestObject",Uo,{chsName:"测试",tags:["ESObjects"],description:""}));let gc=Uo;const ni=class ni extends Rt{constructor(e){super(e);d(this,"_refreshTilesetEvent",this.dv(new h.Event));d(this,"_tilesetReadyEvent",this.dv(new h.Event));d(this,"_supportEdit",this.dv(h.react(!0)));d(this,"_highlightFeatureEvent",this.dv(new h.Event));d(this,"_highlightFeatureAndFlyToEvent",this.dv(new h.Event));d(this,"_strokeFeatureEvent",this.disposeVar(new h.Event));d(this,"_getFeatureTableEvent",this.dv(new h.Event));d(this,"_featureTableResultEvent",this.dv(new h.Event));d(this,"_getMaterialNameListEvent",this.disposeVar(new h.Event));d(this,"_setFeatureStyleEvent",this.dv(new h.Event));d(this,"_setFeatureColorEvent",this.dv(new h.Event));d(this,"_setFeatureVisableEvent",this.dv(new h.Event));d(this,"_resetFeatureStyleEvent",this.dv(new h.Event));d(this,"setMaterialInfoEvent",this.ad(new h.Event));d(this,"_setMaterialEvent",this.disposeVar(new h.Event));d(this,"_clippingPlanesId",this.dv(h.react("")));d(this,"_clippingPlaneIds",this.dv(h.react([])));d(this,"_flattenedPlaneId",this.dv(h.react("")));d(this,"_flattenedPlaneEnabled",this.dv(h.react(!1)));d(this,"_clippingPlaneId",this.dv(h.react("")));d(this,"_excavateId",this.dv(h.reactArray([])))}updateEditing(){var e;(e=this.activeViewer)==null||e.startEditing(this,[B.Translation,B.Rotation],{callSource:"inner"})}get refreshTilesetEvent(){return this._refreshTilesetEvent}refreshTileset(){this._refreshTilesetEvent.emit()}get tilesetReady(){return this._tilesetReadyEvent}get supportEdit(){return this._supportEdit.value}set supportEdit(e){this._supportEdit.value=e}get supportEditChanged(){return this._supportEdit.changed}get highlightFeatureEvent(){return this._highlightFeatureEvent}highlightFeature(e,r){this._highlightFeatureEvent.emit(e,r)}get highlightFeatureAndFlyToEvent(){return this._highlightFeatureAndFlyToEvent}highlightFeatureAndFlyTo(e,r,i,s){this._highlightFeatureAndFlyToEvent.emit(e,r,i,s)}get strokeFeatureEvent(){return this._strokeFeatureEvent}strokeFeature(e,r=[1,0,0,1]){this._strokeFeatureEvent.emit(e,r)}get getFeatureTableEvent(){return this._getFeatureTableEvent}getFeatureTable(){return Promise.race([new Promise(e=>{const r=this.d(this._featureTableResultEvent.donce(e));this._getFeatureTableEvent.emit(),setTimeout(()=>{r(),e(void 0)},2e3)})])}get getMaterialNameListEvent(){return this._getMaterialNameListEvent}getMaterialNameList(){return new Promise(e=>{const r=new h.Destroyable;r.d(this.getMaterialNameListEvent.don(i=>{i!=="start"&&(r.destroy(),e(i))})),this.getMaterialNameListEvent.emit("start"),setTimeout(()=>{r.isDestroyed()||(r.destroy(),e(void 0))},2e3)})}get setFeatureStyleEvent(){return this._setFeatureStyleEvent}setFeatureStyle(e){this._setFeatureStyleEvent.emit(e)}get setFeatureColorEvent(){return this._setFeatureColorEvent}setFeatureColor(e,r){this._setFeatureColorEvent.emit(e,typeof r=="string"?JSON.parse(r):r)}get setFeatureVisableEvent(){return this._setFeatureVisableEvent}setFeatureVisable(e,r){this._setFeatureVisableEvent.emit(e,typeof r=="string"?JSON.parse(r):r)}get resetFeatureStyleEvent(){return this._resetFeatureStyleEvent}resetFeatureStyle(){this._resetFeatureStyleEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(e){return new Promise(r=>{const i=new h.Destroyable;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),r(s)})),this._setMaterialEvent.emit(e)})}get clippingPlanesId(){return this._clippingPlanesId.value}set clippingPlanesId(e){this._clippingPlanesId.value=e}get clippingPlanesIdChanged(){return this._clippingPlanesId.changed}get clippingPlaneIds(){return this._clippingPlaneIds.value}set clippingPlaneIds(e){this._clippingPlaneIds.value=e}get clippingPlaneIdsChanged(){return this._clippingPlaneIds.changed}get flattenedPlaneId(){return this._flattenedPlaneId.value}set flattenedPlaneId(e){this._flattenedPlaneId.value=e}get flattenedPlaneIdChanged(){return this._flattenedPlaneId.changed}get flattenedPlaneEnabled(){return this._flattenedPlaneEnabled.value}set flattenedPlaneEnabled(e){this._flattenedPlaneEnabled.value=e}get flattenedPlaneEnabledChanged(){return this._flattenedPlaneEnabled.changed}get clippingPlaneId(){return this._clippingPlaneId.value}set clippingPlaneId(e){this._clippingPlaneId.value=e}get clippingPlaneIdChanged(){return this._clippingPlaneId.changed}get excavateId(){return this._excavateId.value}set excavateId(e){this._excavateId.value=e}get excavateIdChanged(){return this._excavateId.changed}setLight122(){this.czmEnvironmentMapManager={...cc}}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new we([this,"maximumScreenSpaceError"],1,[0,256],"精度",16),new pt([this,"materialMode"],[["常规","normal"],["科技感","technology"]],"材质模式","normal",!0),new pt([this,"colorBlendMode"],[["默认","HIGHLIGHT"],["替换","REPLACE"],["混合","MIX"]],"颜色模式","HIGHLIGHT"),new Q([this,"materialOverrideMap"],"材质替换",ni.defaults.materialOverrideMap)],dataSource:[...e.dataSource,new Q([this,"url"],"服务地址",ni.defaults.url,void 0,!0)],coordinate:[...e.coordinate,new W([this,"editing"],"编辑",!1,!0),new Ve([this,"offset"],"偏移量",[0,0,0],!0),new cl([this,"rotation"],"旋转",[0,0,0])],more:[...e.more,new Q([this,"materialParams"],"materialParams",ni.defaults.materialParams),new nt(["string","string"],(r,i)=>this.highlightFeature(r,i),["","rgba(255,0,0,1)"],"highlightFeature"),new nt(["string","string"],(r,i)=>this.setFeatureColor(r,i),["",""],"setFeatureColor"),new nt(["string","string"],(r,i)=>this.setFeatureVisable(r,i),["",""],"setFeatureVisable"),new nt([],()=>this.resetFeatureStyle(),[],"resetFeatureStyle"),new rt([],"ue"),new nt([],()=>this.refreshTileset(),[],"refreshTileset"),new ot([this,"actorTag"]),new W([this,"highlight"],"是否高亮"),new _t([this,"highlightColor"]),new L([this,"highlightID"]),new rt([],"czm"),new rt([],"可视化"),new ge([this,"czmImageBasedLightingFactor"],"反射强度"),new L([this,"czmAtmosphereScatteringIntensity"],"大气散射强度"),new Q([this,"czmEnvironmentMapManager"],"动态环境贴图管理器"),new L([this,"czmMaximumMemoryUsage"],"最大内存"),new rt([],"常用"),new pt([this,"czmClassificationType"],[["NONE","NONE"],["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]],"czmClassificationType","NONE",!0),new Q([this,"czmStyleJson"],"czmStyle"),new W([this,"czmBackFaceCulling"]),new W([this,"czmSkipLevelOfDetail"]),new L([this,"cacheBytes"],"最大缓存",512*1024*1024),new rt([],"调试信息"),new W([this,"czmDebugShowBoundingVolume"]),new W([this,"czmDebugShowContentBoundingVolume"]),new rt([],"clippingPlanes"),new W([this,"clippingPlaneEnabled"]),new W([this,"unionClippingRegions"]),new _t([this,"clippingPlaneEdgeColor"]),new L([this,"clippingPlaneEdgeWidth"])]}}};d(ni,"createDefaultProps",()=>({...Rt.createDefaultProps(),url:"",actorTag:"",materialMode:"normal",highlight:!1,maximumScreenSpaceError:16,highlightID:0,highlightColor:h.reactArray([1,0,0,1]),offset:h.reactArrayWithUndefined([0,0,0]),rotation:h.reactArray([0,0,0]),czmImageBasedLightingFactor:h.reactArray([1,1]),czmEnvironmentMapManager:h.reactJsonWithUndefined(void 0),czmLuminanceAtZenith:2,czmAtmosphereScatteringIntensity:2,czmMaximumMemoryUsage:512,czmClassificationType:"NONE",czmStyleJson:h.reactJson({}),czmBackFaceCulling:!0,czmDebugShowBoundingVolume:!1,czmDebugShowContentBoundingVolume:!1,czmSkipLevelOfDetail:!1,cacheBytes:512*1024*1024,colorBlendMode:"HIGHLIGHT",clippingPlaneEnabled:!0,unionClippingRegions:!0,clippingPlaneEdgeColor:h.reactArray([1,1,1,1]),clippingPlaneEdgeWidth:2,materialParams:{baseColor:[0,.5,1]},allowPicking:!0,materialOverrideMap:h.reactJsonWithUndefined({}),featureIdLabel:0,splitDirection:"NONE"})),d(ni,"type",ni.register("ES3DTileset",ni,{chsName:"3DTileset",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),d(ni,"supportEditingModes",[...Rt.supportEditingModes,B.Translation,B.Rotation]);let rn=ni;const Go=class Go extends j{constructor(e){super(e);d(this,"_isFlyInCreated",this.dv(h.react(!1)));d(this,"_readyEvent",this.dv(new h.Event));this.collision=!1,this.d(this.createdEvent.don(()=>{setTimeout(()=>{if((this.editing??!1)||!this.position){const i=this.dv(h.createNextAnimateFrameEvent(this.positionChanged,this.editingChanged));this.d(i.donce(()=>{this.editing||!this.position||this.isFlyInCreated&&this.flyTo()}))}else{if(!this.isFlyInCreated)return;this.flyTo()}},1e3)}))}get isFlyInCreated(){return this._isFlyInCreated.value}set isFlyInCreated(e){this._isFlyInCreated.value=e}get isFlyInCreatedChanged(){return this._isFlyInCreated.changed}get readyEvent(){return this._readyEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new pt([this,"mode"],[["柱状警告","cylinder"],["圆形警告","circle"]],"模式","cylinder"),new L([this,"radius"],"半径",10)]}}};d(Go,"createDefaultProps",()=>({...j.createDefaultProps(),mode:"cylinder",radius:10})),d(Go,"type",Go.register("ESAlarm",Go,{chsName:"报警",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警告类"}));let mc=Go;const Fs=class Fs extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"radius"],"半径",1),new pt([this,"mode"],[["扫描","scan"],["扩散","diffuse"]],"模式",Fs.defaults.mode)]}}};d(Fs,"createDefaultProps",()=>({...j.createDefaultProps(),radius:1,mode:"scan",collision:!1})),d(Fs,"type",Fs.register("ESApertureEffect",Fs,{chsName:"光圈特效",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"光圈特效"}));let vc=Fs;const ks=class ks extends yt{constructor(e){super(e);d(this,"editingBindMode","circular")}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)]}}};d(ks,"createDefaultProps",()=>({...yt.createDefaultProps(),fillStyle:h.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!1}),strokeStyle:h.reactJson({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!0,stroked:!1,collision:!1})),d(ks,"type",ks.register("ESGeoPolygon",ks,{chsName:"地理多边形",tags:["ESObjects"],description:"地理多边形"})),d(ks,"supportEditingModes",[...yt.supportEditingModes,B.CircularAppend,B.CircularInsert]);let kt=ks;const Oi=class Oi extends kt{get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialParams(){return this.fillStyle?this.fillStyle.materialParams:Oi.defaults.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle??Oi.defaults.fillStyle,materialParams:t??Oi.defaults.fillStyle.materialParams}}constructor(t){super(t)}};d(Oi,"createDefaultProps",()=>({...kt.createDefaultProps(),stroked:!0,filled:!0,units:h.reactArray(["SquareMeter_SquareKilometer","MU_Hectare","PerimeterMeter_PerimeterKilometer"]),fillStyle:h.reactJson({color:[1,1,1,1],material:"Material'/EarthSDKForUE/M_ES_Material.M_ES_Material'",materialParams:{Opacity:.4},ground:!0}),strokeStyle:h.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Oi,"type",Oi.register("ESAreaMeasurement",Oi,{chsName:"面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"面积测量"}));let yc=Oi;const Wo=class Wo extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"general",more:[...t.more,new rt([],"czm"),new pa([this,"image"],"图片"),new Ve([this,"translation"],"偏移")]}}};d(Wo,"createDefaultProps",()=>({...j.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:h.reactArray([0,0,0])})),d(Wo,"type",Wo.register("ESBlastParticleSystem",Wo,{chsName:"粒子爆炸",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子爆炸"}));let _c=Wo;const xn=class xn extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new W([this,"reverse"],"反转",xn.defaults.reverse),new Ve([this,"size"],"尺寸",xn.defaults.size),new _t([this,"edgeColor"],"边框颜色",xn.defaults.edgeColor),new L([this,"edgeWidth"],"边框宽度",xn.defaults.edgeWidth),new ot([this,"targetID"],"瓦片图层",xn.defaults.targetID)]}}};d(xn,"createDefaultProps",()=>({...j.createDefaultProps(),reverse:!1,edgeColor:h.reactArray([1,1,1,1]),edgeWidth:2,size:h.reactArray([10,10,10]),targetID:""})),d(xn,"type",xn.register("ESBoxClipping",xn,{chsName:"体剖切",tags:["ESObjects","_ES_Impl_Cesium"],description:"体剖切,体裁剪,体裁切,盒裁切"}));let wc=xn;const ru=class ru extends j{constructor(){super(...arguments);d(this,"_thumbnail",this.dv(h.react("")));d(this,"_duration",this.dv(h.react(1)));d(this,"_resetWithCurrentCameraEvent",this.dv(new h.Event));d(this,"_captureEvent",this.dv(new h.Event))}get thumbnail(){return this._thumbnail.value}set thumbnail(e){this._thumbnail.value=e}get thumbnailChanged(){return this._thumbnail.changed}get duration(){return this._duration.value}set duration(e){this._duration.value=e}get durationChanged(){return this._duration.changed}flyIn(e=1,r="default"){this.flyInEvent.emit(e,-1,r)}get resetWithCurrentCameraEvent(){return this._resetWithCurrentCameraEvent}resetWithCurrentCamera(){this._resetWithCurrentCameraEvent.emit()}get captureEvent(){return this._captureEvent}capture(e,r){this._captureEvent.emit(e,r)}execOnCreating(){this.resetWithCurrentCamera()}async initByCurrent(){this.resetWithCurrentCamera()}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new rt([],"ESCameraView"),new nt([],()=>this.resetWithCurrentCamera(),[],"设置为当前视角"),new nt(["number","number"],(r,i)=>this.capture(r,i),[64,64],"获取缩略图"),new ot([this,"thumbnail"],"缩略图","",!0),new L([this,"duration"],"飞行时间",1,!0)]}}};d(ru,"type",ru.register("ESCameraView",ru,{chsName:"视角",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角"}));let Qu=ru;class Bu extends h.Destroyable{constructor(e,r,i){super();d(this,"_view",this.dv(new Qu));if(this.d(e.components.disposableAdd(this._view)),this._view.name=(i==null?void 0:i.name)??`视角${e.views.length+1}`,r){const a=this._view,u=r;a.duration=u.duration??1,a.position=u.position,a.rotation=u.rotation??[0,0,0],a.thumbnail=u.thumbnail??"",a.name=u.name}else{const a=(i==null?void 0:i.size)??[64,64];this.d(h.nextAnimateFrame(()=>{this._view.resetWithCurrentCamera(),this._view.capture(a[0],a[1])}))}const s=this._view,o=this.dv(h.createNextAnimateFrameEvent(s.durationChanged,s.positionChanged,s.rotationChanged,s.thumbnailChanged,s.nameChanged));this.d(o.don(()=>e.emitViewsWarpper()))}get view(){return this._view}get viewInfo(){const e=this._view;return{duration:e.duration,position:e.position,rotation:e.rotation,thumbnail:e.thumbnail,name:e.name}}}const sn=class sn extends ${constructor(e){super(e);d(this,"_currentViewIndex",this.dv(h.react(-1)));d(this,"_viewWrappers",this.dv(new h.ObservableArray));d(this,"_currentViewWrapper",this.dv(h.react(void 0)));d(this,"_container",this.dv(h.react(void 0)));this.initProcessing();{const r=()=>{if(!this._currentViewWrapper.value)return;this._viewWrappers.indexOf(this._currentViewWrapper.value)===-1&&(this._currentViewWrapper.value=void 0)};r(),this.d(this._viewWrappers.changedEvent.don(r))}{const r=()=>{const i=this._currentViewWrapper.value;this._currentViewIndex.value=i?this._getIndex(i):-1};r(),this.d(this._viewWrappers.changedEvent.don(r)),this.d(this._currentViewWrapper.changed.don(r))}this.d(()=>{this.clearAllViews()})}get json(){return{...this._innerGetJson(),views:this.views}}set json(e){this._innerSetJson(e),this.views=e.views}get currentViewIndex(){return this._currentViewIndex.value}get currentViewIndexChanged(){return this._currentViewIndex.changed}emitViewsWarpper(){this._viewWrappers.changedEvent.emit(this._viewWrappers)}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(e){this._container.value=e}get views(){return Qh(this._viewWrappers,e=>e.viewInfo)}get viewsChanged(){return this._viewWrappers.changedEvent}set views(e){if(e.length===this._viewWrappers.length){const r=this._viewWrappers;if(e.every((i,s)=>{const o=r.get(s).view;return i.duration===o.duration&&fl(i.position,o.position)&&fl(i.rotation,o.rotation)&&i.thumbnail===o.thumbnail&&i.name===o.name}))return}this.clearAllViews();for(let r of e)this._viewWrappers.push(new Bu(this,r))}_getIndex(e){return this._viewWrappers.indexOf(e)}clearAllViews(){for(let e of this._viewWrappers)e.destroy();this._viewWrappers.length=0}add(e=`视角${this.views.length+1}`,r=[64,64]){this._viewWrappers.push(new Bu(this,void 0,{name:e,size:r}))}update(e,r,i=[64,64]){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const s=this._viewWrappers.get(e);return r&&(s.view.name=r),s.view.resetWithCurrentCamera(),s.view.capture(i[0],i[1]),!0}addView(){this._viewWrappers.push(new Bu(this))}insertView(e){if(this._viewWrappers.length+1<=e||e<0){console.error("this._views.length <= index || index < 0");return}this._viewWrappers.splice(e,0,new Bu(this))}setCurrentView(e){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const r=this._viewWrappers.get(e);return this._currentViewWrapper.value=r,!0}resetView(e){if(e>=this._viewWrappers.length||e<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const r=this._viewWrappers.get(e);r.view.resetWithCurrentCamera(),r.view.capture()}resetViewName(e,r){if(e>=this._viewWrappers.length||e<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const i=this._viewWrappers.get(e);i.view.name=r}updateView(e,r){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const i=this._viewWrappers.get(e);return i.view.position=r.position,i.view.rotation=r.rotation??[0,0,0],i.view.duration=r.duration??1,i.view.thumbnail=r.thumbnail??"",i.view.name=r.name??"",!0}flyToView(e){if(this.setCurrentView(e)){if(!this._currentViewWrapper.value)throw new Error("this._currentViewWrapper.value");const r=this._currentViewWrapper.value.view.duration;this._currentViewWrapper.value.view.flyIn(r,this.flyMode??sn.defaults.flyMode)}}flyToPrevView(){const e=this._currentViewWrapper.value;if(!e)return this.flyToView(0),!0;const r=this._getIndex(e);return this.loop??sn.defaults.loop?(this.flyToView((this._viewWrappers.length+r-1)%this._viewWrappers.length),!0):r-1<0?!1:(this.flyToView(r-1),!0)}moveToPreView(){const e=this._currentViewWrapper.value;if(!e)return;const r=this._getIndex(e);if(r===0)return;const i=this._viewWrappers.splice(r-1,1,e)[0];this._viewWrappers.set(r,i)}moveToNextView(){const e=this._currentViewWrapper.value;if(!e)return;const r=this._getIndex(e);if(r===this._viewWrappers.length-1)return;const i=this._viewWrappers.splice(r+1,1,e)[0];this._viewWrappers.set(r,i)}flyToNextView(){const e=this._currentViewWrapper.value;if(!e)return this.flyToView(0),!0;const r=this._getIndex(e);return this.loop??sn.defaults.loop?(this.flyToView((r+1)%this._viewWrappers.length),!0):r+1>this._viewWrappers.length-1?!1:(this.flyToView(r+1),!0)}stop(){this._currentViewWrapper.value=void 0,this.playing=!1}deleteView(e){if(e<0||e>=this._viewWrappers.length){console.warn("index < 0 || index >= this._viewWrappers.length");return}this._viewWrappers.get(e).destroy(),this._viewWrappers.splice(e,1)}deleteCurrentView(){const e=this._currentViewWrapper.value;if(!e){console.warn("!this._currentViewWrapper.value");return}const r=this._getIndex(e);if(r===-1){console.warn("index === -1");return}this.deleteView(r)}transitionImageUrl(e){return $.context.getStrFromEnv(e)}_flyStep(e){var o;if(!this.flyToNextView())return this.playing=!1,Promise.resolve();const r=this.intervalTime??sn.defaults.intervalTime,s=((((o=this._currentViewWrapper.value)==null?void 0:o.viewInfo.duration)??0)+r)*1e3;return e.promise(h.sleep(s)).then(()=>this._flyStep(e))}initProcessing(){const e=this.dv(h.createProcessingFromAsyncFunc(async i=>this._flyStep(i))),r=()=>{this.playing?e.restart():e.cancel()};r(),this.d(this.playingChanged.don(r))}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new pt([this,"flyMode"],[["默认","default"],["直线飞行","uniform"]],"飞行模式",sn.defaults.flyMode),new nt([],()=>this.addView(),[],"添加视角"),new nt(["number"],r=>this.insertView(r),[0],"插入视角"),new nt([],()=>this.clearAllViews(),[],"清空所有视角"),new nt([],()=>this.insertView(this.currentViewIndex+1),[],"当前位置插入视角"),new nt([],()=>this.flyToPrevView(),[],"上一个视角"),new nt([],()=>this.flyToNextView(),[],"下一个视角"),new nt([],()=>this.moveToPreView(),[],"当前视角移动到上一个视角"),new nt([],()=>this.moveToNextView(),[],"当前视角移动到下一个视角"),new nt(["number"],r=>this.flyToView(r),[0],"飞入指定视角"),new nt(["number"],r=>this.setCurrentView(r),[0],"设置当前视角"),new nt([],()=>this.deleteCurrentView(),[],"删除当前视角"),new nt(["number"],r=>this.deleteView(r),[0],"删除指定视角"),new nt(["number"],r=>this.resetView(r),[0],"重置视角"),new L([this,"currentViewIndex"],"当前序号",-1,!1,!0),new Yh([this,"playing"],()=>this.stop(),[this,"loop"],"播放",sn.defaults),new W([this,"playing"],"是否播放"),new nt([],()=>this.stop(),[],"停止"),new W([this,"loop"],"是否循环"),new L([this,"intervalTime"],"间隔时间"),new Q([this,"views"],"视角集合",[],void 0,!0)]}}};d(sn,"createDefaultProps",()=>({...$.createDefaultProps(),playing:!1,loop:!0,intervalTime:5,flyMode:"default"})),d(sn,"type",sn.register("ESCameraViewCollection",sn,{chsName:"视角集合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角集合"}));let $u=sn;const qo=class qo extends j{constructor(e){super(e);d(this,"editingBindMode","doublePoints")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new L([this,"aspectRatio"],"宽高比",1.77778),new L([this,"fov"],"横向夹角",90),new L([this,"far"],"视野长度",100),new L([this,"near"],"近面距离",5)]}}};d(qo,"createDefaultProps",()=>({...j.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1})),d(qo,"type",qo.register("ESCameraVisibleRange",qo,{chsName:"摄像头可视域",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"摄像头可视域"}));let Ec=qo;const Xo=class Xo extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new pt([this,"mode"],[["警车","policeCar"]],"模式","policeCar")]}}};d(Xo,"createDefaultProps",()=>({...j.createDefaultProps(),mode:"policeCar",allowPicking:!0})),d(Xo,"type",Xo.register("ESCar",Xo,{chsName:"车辆",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警车等基础车辆模型"}));let Sc=Xo;const Vs=class Vs extends yt{constructor(e){super(e);d(this,"editingBindMode","circular")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new L([this,"height"],"高度",10)],coordinate:[...e.coordinate,new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)]}}};d(Vs,"createDefaultProps",()=>({...yt.createDefaultProps(),height:10,filled:!0,fillStyle:h.reactJson({material:"",materialParams:{},ground:!0,color:[1,1,1,1]})})),d(Vs,"type",Vs.register("ESClassification",Vs,{chsName:"倾斜单体化",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"平尾箭头"})),d(Vs,"supportEditingModes",[...yt.supportEditingModes,B.CircularAppend,B.CircularInsert,B.HeightModify]);let ju=Vs;const Yo=class Yo extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new W([this,"showArrow"],"显示箭头",!0),new _t([this,"edgeColor"],"线框颜色",[1,1,1,1]),new L([this,"edgetWidth"],"线框宽度",2),new L([this,"width"],"裁剪宽度",200),new L([this,"height"],"裁剪高度",200),new ot([this,"targetID"],"瓦片图层","")]}}};d(Yo,"createDefaultProps",()=>({...j.createDefaultProps(),showArrow:!0,edgeColor:h.reactArray([1,1,1,1]),edgetWidth:2,width:200,height:200,targetID:""})),d(Yo,"type",Yo.register("ESClippingPlane",Yo,{chsName:"裁切",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESClippingPlane"}));let Cc=Yo;class Uy extends h.Destroyable{constructor(t,e,r){super();const i=document.createElement("div");i.setAttribute("xe2-div",`ESCustomDiv(${e.id})(viewer: ${r.id}) container`);{const u=()=>{const c=` ${e.cssText}
|
|
64
|
+
***************************************************************************** */function f_(n,t){var e={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(l){return function(c){return u([l,c])}}function u(l){if(r)throw new TypeError("Generator is already executing.");for(;e;)try{if(r=1,i&&(s=l[0]&2?i.return:l[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,l[1])).done)return s;switch(i=0,s&&(l=[l[0]&2,s.value]),l[0]){case 0:case 1:s=l;break;case 4:return e.label++,{value:l[1],done:!1};case 5:e.label++,i=l[1],l=[0];continue;case 7:l=e.ops.pop(),e.trys.pop();continue;default:if(s=e.trys,!(s=s.length>0&&s[s.length-1])&&(l[0]===6||l[0]===2)){e=0;continue}if(l[0]===3&&(!s||l[1]>s[0]&&l[1]<s[3])){e.label=l[1];break}if(l[0]===6&&e.label<s[1]){e.label=s[1],s=l;break}if(s&&e.label<s[2]){e.label=s[2],e.ops.push(l);break}s[2]&&e.ops.pop(),e.trys.pop();continue}l=t.call(n,e)}catch(c){l=[6,c],i=0}finally{r=s=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}var Wi=(function(){function n(t,e){this.next=null,this.key=t,this.data=e,this.left=null,this.right=null}return n})();function d_(n,t){return n>t?1:n<t?-1:0}function qi(n,t,e){for(var r=new Wi(null,null),i=r,s=r;;){var o=e(n,t.key);if(o<0){if(t.left===null)break;if(e(n,t.left.key)<0){var a=t.left;if(t.left=a.right,a.right=t,t=a,t.left===null)break}s.left=t,s=t,t=t.left}else if(o>0){if(t.right===null)break;if(e(n,t.right.key)>0){var a=t.right;if(t.right=a.left,a.left=t,t=a,t.right===null)break}i.right=t,i=t,t=t.right}else break}return i.right=t.left,s.left=t.right,t.left=r.right,t.right=r.left,t}function Cc(n,t,e,r){var i=new Wi(n,t);if(e===null)return i.left=i.right=null,i;e=qi(n,e,r);var s=r(n,e.key);return s<0?(i.left=e.left,i.right=e,e.left=null):s>=0&&(i.right=e.right,i.left=e,e.right=null),i}function xp(n,t,e){var r=null,i=null;if(t){t=qi(n,t,e);var s=e(t.key,n);s===0?(r=t.left,i=t.right):s<0?(i=t.right,t.right=null,r=t):(r=t.left,t.left=null,i=t)}return{left:r,right:i}}function p_(n,t,e){return t===null?n:(n===null||(t=qi(n.key,t,e),t.left=n),t)}function Ic(n,t,e,r,i){if(n){r(""+t+(e?"└── ":"├── ")+i(n)+`
|
|
65
|
+
`);var s=t+(e?" ":"│ ");n.left&&Ic(n.left,s,!1,r,i),n.right&&Ic(n.right,s,!0,r,i)}}var Pc=(function(){function n(t){t===void 0&&(t=d_),this._root=null,this._size=0,this._comparator=t}return n.prototype.insert=function(t,e){return this._size++,this._root=Cc(t,e,this._root,this._comparator)},n.prototype.add=function(t,e){var r=new Wi(t,e);this._root===null&&(r.left=r.right=null,this._size++,this._root=r);var i=this._comparator,s=qi(t,this._root,i),o=i(t,s.key);return o===0?this._root=s:(o<0?(r.left=s.left,r.right=s,s.left=null):o>0&&(r.right=s.right,r.left=s,s.right=null),this._size++,this._root=r),this._root},n.prototype.remove=function(t){this._root=this._remove(t,this._root,this._comparator)},n.prototype._remove=function(t,e,r){var i;if(e===null)return null;e=qi(t,e,r);var s=r(t,e.key);return s===0?(e.left===null?i=e.right:(i=qi(t,e.left,r),i.right=e.right),this._size--,i):e},n.prototype.pop=function(){var t=this._root;if(t){for(;t.left;)t=t.left;return this._root=qi(t.key,this._root,this._comparator),this._root=this._remove(t.key,this._root,this._comparator),{key:t.key,data:t.data}}return null},n.prototype.findStatic=function(t){for(var e=this._root,r=this._comparator;e;){var i=r(t,e.key);if(i===0)return e;i<0?e=e.left:e=e.right}return null},n.prototype.find=function(t){return this._root&&(this._root=qi(t,this._root,this._comparator),this._comparator(t,this._root.key)!==0)?null:this._root},n.prototype.contains=function(t){for(var e=this._root,r=this._comparator;e;){var i=r(t,e.key);if(i===0)return!0;i<0?e=e.left:e=e.right}return!1},n.prototype.forEach=function(t,e){for(var r=this._root,i=[],s=!1;!s;)r!==null?(i.push(r),r=r.left):i.length!==0?(r=i.pop(),t.call(e,r),r=r.right):s=!0;return this},n.prototype.range=function(t,e,r,i){for(var s=[],o=this._comparator,a=this._root,u;s.length!==0||a;)if(a)s.push(a),a=a.left;else{if(a=s.pop(),u=o(a.key,e),u>0)break;if(o(a.key,t)>=0&&r.call(i,a))return this;a=a.right}return this},n.prototype.keys=function(){var t=[];return this.forEach(function(e){var r=e.key;return t.push(r)}),t},n.prototype.values=function(){var t=[];return this.forEach(function(e){var r=e.data;return t.push(r)}),t},n.prototype.min=function(){return this._root?this.minNode(this._root).key:null},n.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},n.prototype.minNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.left;)t=t.left;return t},n.prototype.maxNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.right;)t=t.right;return t},n.prototype.at=function(t){for(var e=this._root,r=!1,i=0,s=[];!r;)if(e)s.push(e),e=e.left;else if(s.length>0){if(e=s.pop(),i===t)return e;i++,e=e.right}else r=!0;return null},n.prototype.next=function(t){var e=this._root,r=null;if(t.right){for(r=t.right;r.left;)r=r.left;return r}for(var i=this._comparator;e;){var s=i(t.key,e.key);if(s===0)break;s<0?(r=e,e=e.left):e=e.right}return r},n.prototype.prev=function(t){var e=this._root,r=null;if(t.left!==null){for(r=t.left;r.right;)r=r.right;return r}for(var i=this._comparator;e;){var s=i(t.key,e.key);if(s===0)break;s<0?e=e.left:(r=e,e=e.right)}return r},n.prototype.clear=function(){return this._root=null,this._size=0,this},n.prototype.toList=function(){return m_(this._root)},n.prototype.load=function(t,e,r){e===void 0&&(e=[]),r===void 0&&(r=!1);var i=t.length,s=this._comparator;if(r&&Tc(t,e,0,i-1,s),this._root===null)this._root=bc(t,e,0,i),this._size=i;else{var o=v_(this.toList(),g_(t,e),s);i=this._size+i,this._root=Nc({head:o},0,i)}return this},n.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(n.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),n.prototype.toString=function(t){t===void 0&&(t=function(r){return String(r.key)});var e=[];return Ic(this._root,"",!0,function(r){return e.push(r)},t),e.join("")},n.prototype.update=function(t,e,r){var i=this._comparator,s=xp(t,this._root,i),o=s.left,a=s.right;i(t,e)<0?a=Cc(e,r,a,i):o=Cc(e,r,o,i),this._root=p_(o,a,i)},n.prototype.split=function(t){return xp(t,this._root,this._comparator)},n.prototype[Symbol.iterator]=function(){var t,e,r;return f_(this,function(i){switch(i.label){case 0:t=this._root,e=[],r=!1,i.label=1;case 1:return r?[3,6]:t===null?[3,2]:(e.push(t),t=t.left,[3,5]);case 2:return e.length===0?[3,4]:(t=e.pop(),[4,t]);case 3:return i.sent(),t=t.right,[3,5];case 4:r=!0,i.label=5;case 5:return[3,1];case 6:return[2]}})},n})();function bc(n,t,e,r){var i=r-e;if(i>0){var s=e+Math.floor(i/2),o=n[s],a=t[s],u=new Wi(o,a);return u.left=bc(n,t,e,s),u.right=bc(n,t,s+1,r),u}return null}function g_(n,t){for(var e=new Wi(null,null),r=e,i=0;i<n.length;i++)r=r.next=new Wi(n[i],t[i]);return r.next=null,e.next}function m_(n){for(var t=n,e=[],r=!1,i=new Wi(null,null),s=i;!r;)t?(e.push(t),t=t.left):e.length>0?(t=s=s.next=e.pop(),t=t.right):r=!0;return s.next=null,i.next}function Nc(n,t,e){var r=e-t;if(r>0){var i=t+Math.floor(r/2),s=Nc(n,t,i),o=n.head;return o.left=s,n.head=n.head.next,o.right=Nc(n,i+1,e),o}return null}function v_(n,t,e){for(var r=new Wi(null,null),i=r,s=n,o=t;s!==null&&o!==null;)e(s.key,o.key)<0?(i.next=s,s=s.next):(i.next=o,o=o.next),i=i.next;return s!==null?i.next=s:o!==null&&(i.next=o),r.next}function Tc(n,t,e,r,i){if(!(e>=r)){for(var s=n[e+r>>1],o=e-1,a=r+1;;){do o++;while(i(n[o],s)<0);do a--;while(i(n[a],s)>0);if(o>=a)break;var u=n[o];n[o]=n[a],n[a]=u,u=t[o],t[o]=t[a],t[a]=u}Tc(n,t,e,a,i),Tc(n,t,a+1,r,i)}}const ja=(n,t)=>n.ll.x<=t.x&&t.x<=n.ur.x&&n.ll.y<=t.y&&t.y<=n.ur.y,xc=(n,t)=>{if(t.ur.x<n.ll.x||n.ur.x<t.ll.x||t.ur.y<n.ll.y||n.ur.y<t.ll.y)return null;const e=n.ll.x<t.ll.x?t.ll.x:n.ll.x,r=n.ur.x<t.ur.x?n.ur.x:t.ur.x,i=n.ll.y<t.ll.y?t.ll.y:n.ll.y,s=n.ur.y<t.ur.y?n.ur.y:t.ur.y;return{ll:{x:e,y:i},ur:{x:r,y:s}}};let Xi=Number.EPSILON;Xi===void 0&&(Xi=Math.pow(2,-52));const y_=Xi*Xi,Op=(n,t)=>{if(-Xi<n&&n<Xi&&-Xi<t&&t<Xi)return 0;const e=n-t;return e*e<y_*n*t?0:n<t?-1:1};class __{constructor(){this.reset()}reset(){this.xRounder=new Mp,this.yRounder=new Mp}round(t,e){return{x:this.xRounder.round(t),y:this.yRounder.round(e)}}}class Mp{constructor(){this.tree=new Pc,this.round(0)}round(t){const e=this.tree.add(t),r=this.tree.prev(e);if(r!==null&&Op(e.key,r.key)===0)return this.tree.remove(t),r.key;const i=this.tree.next(e);return i!==null&&Op(e.key,i.key)===0?(this.tree.remove(t),i.key):t}}const Za=new __,$u=(n,t)=>n.x*t.y-n.y*t.x,Dp=(n,t)=>n.x*t.x+n.y*t.y,Lp=(n,t,e)=>{const r=Zf(n.x,n.y,t.x,t.y,e.x,e.y);return r>0?-1:r<0?1:0},tl=n=>Math.sqrt(Dp(n,n)),w_=(n,t,e)=>{const r={x:t.x-n.x,y:t.y-n.y},i={x:e.x-n.x,y:e.y-n.y};return $u(i,r)/tl(i)/tl(r)},E_=(n,t,e)=>{const r={x:t.x-n.x,y:t.y-n.y},i={x:e.x-n.x,y:e.y-n.y};return Dp(i,r)/tl(i)/tl(r)},Ap=(n,t,e)=>t.y===0?null:{x:n.x+t.x/t.y*(e-n.y),y:e},Rp=(n,t,e)=>t.x===0?null:{x:e,y:n.y+t.y/t.x*(e-n.x)},S_=(n,t,e,r)=>{if(t.x===0)return Rp(e,r,n.x);if(r.x===0)return Rp(n,t,e.x);if(t.y===0)return Ap(e,r,n.y);if(r.y===0)return Ap(n,t,e.y);const i=$u(t,r);if(i==0)return null;const s={x:e.x-n.x,y:e.y-n.y},o=$u(s,t)/i,a=$u(s,r)/i,u=n.x+a*t.x,l=e.x+o*r.x,c=n.y+a*t.y,h=e.y+o*r.y,d=(u+l)/2,g=(c+h)/2;return{x:d,y:g}};class Br{static compare(t,e){const r=Br.comparePoints(t.point,e.point);return r!==0?r:(t.point!==e.point&&t.link(e),t.isLeft!==e.isLeft?t.isLeft?1:-1:Yi.compare(t.segment,e.segment))}static comparePoints(t,e){return t.x<e.x?-1:t.x>e.x?1:t.y<e.y?-1:t.y>e.y?1:0}constructor(t,e){t.events===void 0?t.events=[this]:t.events.push(this),this.point=t,this.isLeft=e}link(t){if(t.point===this.point)throw new Error("Tried to link already linked events");const e=t.point.events;for(let r=0,i=e.length;r<i;r++){const s=e[r];this.point.events.push(s),s.point=this.point}this.checkForConsuming()}checkForConsuming(){const t=this.point.events.length;for(let e=0;e<t;e++){const r=this.point.events[e];if(r.segment.consumedBy===void 0)for(let i=e+1;i<t;i++){const s=this.point.events[i];s.consumedBy===void 0&&r.otherSE.point.events===s.otherSE.point.events&&r.segment.consume(s.segment)}}}getAvailableLinkedEvents(){const t=[];for(let e=0,r=this.point.events.length;e<r;e++){const i=this.point.events[e];i!==this&&!i.segment.ringOut&&i.segment.isInResult()&&t.push(i)}return t}getLeftmostComparator(t){const e=new Map,r=i=>{const s=i.otherSE;e.set(i,{sine:w_(this.point,t.point,s.point),cosine:E_(this.point,t.point,s.point)})};return(i,s)=>{e.has(i)||r(i),e.has(s)||r(s);const{sine:o,cosine:a}=e.get(i),{sine:u,cosine:l}=e.get(s);return o>=0&&u>=0?a<l?1:a>l?-1:0:o<0&&u<0?a<l?-1:a>l?1:0:u<o?-1:u>o?1:0}}}let C_=0;class Yi{static compare(t,e){const r=t.leftSE.point.x,i=e.leftSE.point.x,s=t.rightSE.point.x,o=e.rightSE.point.x;if(o<r)return 1;if(s<i)return-1;const a=t.leftSE.point.y,u=e.leftSE.point.y,l=t.rightSE.point.y,c=e.rightSE.point.y;if(r<i){if(u<a&&u<l)return 1;if(u>a&&u>l)return-1;const h=t.comparePoint(e.leftSE.point);if(h<0)return 1;if(h>0)return-1;const d=e.comparePoint(t.rightSE.point);return d!==0?d:-1}if(r>i){if(a<u&&a<c)return-1;if(a>u&&a>c)return 1;const h=e.comparePoint(t.leftSE.point);if(h!==0)return h;const d=t.comparePoint(e.rightSE.point);return d<0?1:d>0?-1:1}if(a<u)return-1;if(a>u)return 1;if(s<o){const h=e.comparePoint(t.rightSE.point);if(h!==0)return h}if(s>o){const h=t.comparePoint(e.rightSE.point);if(h<0)return 1;if(h>0)return-1}if(s!==o){const h=l-a,d=s-r,g=c-u,v=o-i;if(h>d&&g<v)return 1;if(h<d&&g>v)return-1}return s>o?1:s<o||l<c?-1:l>c?1:t.id<e.id?-1:t.id>e.id?1:0}constructor(t,e,r,i){this.id=++C_,this.leftSE=t,t.segment=this,t.otherSE=e,this.rightSE=e,e.segment=this,e.otherSE=t,this.rings=r,this.windings=i}static fromRing(t,e,r){let i,s,o;const a=Br.comparePoints(t,e);if(a<0)i=t,s=e,o=1;else if(a>0)i=e,s=t,o=-1;else throw new Error(`Tried to create degenerate segment at [${t.x}, ${t.y}]`);const u=new Br(i,!0),l=new Br(s,!1);return new Yi(u,l,[r],[o])}replaceRightSE(t){this.rightSE=t,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const t=this.leftSE.point.y,e=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:t<e?t:e},ur:{x:this.rightSE.point.x,y:t>e?t:e}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(t){return t.x===this.leftSE.point.x&&t.y===this.leftSE.point.y||t.x===this.rightSE.point.x&&t.y===this.rightSE.point.y}comparePoint(t){if(this.isAnEndpoint(t))return 0;const e=this.leftSE.point,r=this.rightSE.point,i=this.vector();if(e.x===r.x)return t.x===e.x?0:t.x<e.x?1:-1;const s=(t.y-e.y)/i.y,o=e.x+s*i.x;if(t.x===o)return 0;const a=(t.x-e.x)/i.x,u=e.y+a*i.y;return t.y===u?0:t.y<u?-1:1}getIntersection(t){const e=this.bbox(),r=t.bbox(),i=xc(e,r);if(i===null)return null;const s=this.leftSE.point,o=this.rightSE.point,a=t.leftSE.point,u=t.rightSE.point,l=ja(e,a)&&this.comparePoint(a)===0,c=ja(r,s)&&t.comparePoint(s)===0,h=ja(e,u)&&this.comparePoint(u)===0,d=ja(r,o)&&t.comparePoint(o)===0;if(c&&l)return d&&!h?o:!d&&h?u:null;if(c)return h&&s.x===u.x&&s.y===u.y?null:s;if(l)return d&&o.x===a.x&&o.y===a.y?null:a;if(d&&h)return null;if(d)return o;if(h)return u;const g=S_(s,this.vector(),a,t.vector());return g===null||!ja(i,g)?null:Za.round(g.x,g.y)}split(t){const e=[],r=t.events!==void 0,i=new Br(t,!0),s=new Br(t,!1),o=this.rightSE;this.replaceRightSE(s),e.push(s),e.push(i);const a=new Yi(i,o,this.rings.slice(),this.windings.slice());return Br.comparePoints(a.leftSE.point,a.rightSE.point)>0&&a.swapEvents(),Br.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),r&&(i.checkForConsuming(),s.checkForConsuming()),e}swapEvents(){const t=this.rightSE;this.rightSE=this.leftSE,this.leftSE=t,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let e=0,r=this.windings.length;e<r;e++)this.windings[e]*=-1}consume(t){let e=this,r=t;for(;e.consumedBy;)e=e.consumedBy;for(;r.consumedBy;)r=r.consumedBy;const i=Yi.compare(e,r);if(i!==0){if(i>0){const s=e;e=r,r=s}if(e.prev===r){const s=e;e=r,r=s}for(let s=0,o=r.rings.length;s<o;s++){const a=r.rings[s],u=r.windings[s],l=e.rings.indexOf(a);l===-1?(e.rings.push(a),e.windings.push(u)):e.windings[l]+=u}r.rings=null,r.windings=null,r.consumedBy=e,r.leftSE.consumedBy=e.leftSE,r.rightSE.consumedBy=e.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const t=this.prev.consumedBy||this.prev;this._beforeState=t.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const t=this.beforeState();this._afterState={rings:t.rings.slice(0),windings:t.windings.slice(0),multiPolys:[]};const e=this._afterState.rings,r=this._afterState.windings,i=this._afterState.multiPolys;for(let a=0,u=this.rings.length;a<u;a++){const l=this.rings[a],c=this.windings[a],h=e.indexOf(l);h===-1?(e.push(l),r.push(c)):r[h]+=c}const s=[],o=[];for(let a=0,u=e.length;a<u;a++){if(r[a]===0)continue;const l=e[a],c=l.poly;if(o.indexOf(c)===-1)if(l.isExterior)s.push(c);else{o.indexOf(c)===-1&&o.push(c);const h=s.indexOf(l.poly);h!==-1&&s.splice(h,1)}}for(let a=0,u=s.length;a<u;a++){const l=s[a].multiPoly;i.indexOf(l)===-1&&i.push(l)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const t=this.beforeState().multiPolys,e=this.afterState().multiPolys;switch(Sn.type){case"union":{const r=t.length===0,i=e.length===0;this._isInResult=r!==i;break}case"intersection":{let r,i;t.length<e.length?(r=t.length,i=e.length):(r=e.length,i=t.length),this._isInResult=i===Sn.numMultiPolys&&r<i;break}case"xor":{const r=Math.abs(t.length-e.length);this._isInResult=r%2===1;break}case"difference":{const r=i=>i.length===1&&i[0].isSubject;this._isInResult=r(t)!==r(e);break}default:throw new Error(`Unrecognized operation type found ${Sn.type}`)}return this._isInResult}}class Fp{constructor(t,e,r){if(!Array.isArray(t)||t.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=e,this.isExterior=r,this.segments=[],typeof t[0][0]!="number"||typeof t[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const i=Za.round(t[0][0],t[0][1]);this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};let s=i;for(let o=1,a=t.length;o<a;o++){if(typeof t[o][0]!="number"||typeof t[o][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let u=Za.round(t[o][0],t[o][1]);u.x===s.x&&u.y===s.y||(this.segments.push(Yi.fromRing(s,u,this)),u.x<this.bbox.ll.x&&(this.bbox.ll.x=u.x),u.y<this.bbox.ll.y&&(this.bbox.ll.y=u.y),u.x>this.bbox.ur.x&&(this.bbox.ur.x=u.x),u.y>this.bbox.ur.y&&(this.bbox.ur.y=u.y),s=u)}(i.x!==s.x||i.y!==s.y)&&this.segments.push(Yi.fromRing(s,i,this))}getSweepEvents(){const t=[];for(let e=0,r=this.segments.length;e<r;e++){const i=this.segments[e];t.push(i.leftSE),t.push(i.rightSE)}return t}}class I_{constructor(t,e){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new Fp(t[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let r=1,i=t.length;r<i;r++){const s=new Fp(t[r],this,!1);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=e}getSweepEvents(){const t=this.exteriorRing.getSweepEvents();for(let e=0,r=this.interiorRings.length;e<r;e++){const i=this.interiorRings[e].getSweepEvents();for(let s=0,o=i.length;s<o;s++)t.push(i[s])}return t}}class kp{constructor(t,e){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof t[0][0][0]=="number"&&(t=[t])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let r=0,i=t.length;r<i;r++){const s=new I_(t[r],this);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=e}getSweepEvents(){const t=[];for(let e=0,r=this.polys.length;e<r;e++){const i=this.polys[e].getSweepEvents();for(let s=0,o=i.length;s<o;s++)t.push(i[s])}return t}}class el{static factory(t){const e=[];for(let r=0,i=t.length;r<i;r++){const s=t[r];if(!s.isInResult()||s.ringOut)continue;let o=null,a=s.leftSE,u=s.rightSE;const l=[a],c=a.point,h=[];for(;o=a,a=u,l.push(a),a.point!==c;)for(;;){const d=a.getAvailableLinkedEvents();if(d.length===0){const E=l[0].point,C=l[l.length-1].point;throw new Error(`Unable to complete output ring starting at [${E.x}, ${E.y}]. Last matching segment found ends at [${C.x}, ${C.y}].`)}if(d.length===1){u=d[0].otherSE;break}let g=null;for(let E=0,C=h.length;E<C;E++)if(h[E].point===a.point){g=E;break}if(g!==null){const E=h.splice(g)[0],C=l.splice(E.index);C.unshift(C[0].otherSE),e.push(new el(C.reverse()));continue}h.push({index:l.length,point:a.point});const v=a.getLeftmostComparator(o);u=d.sort(v)[0].otherSE;break}e.push(new el(l))}return e}constructor(t){this.events=t;for(let e=0,r=t.length;e<r;e++)t[e].segment.ringOut=this;this.poly=null}getGeom(){let t=this.events[0].point;const e=[t];for(let l=1,c=this.events.length-1;l<c;l++){const h=this.events[l].point,d=this.events[l+1].point;Lp(h,t,d)!==0&&(e.push(h),t=h)}if(e.length===1)return null;const r=e[0],i=e[1];Lp(r,t,i)===0&&e.shift(),e.push(e[0]);const s=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:e.length-1,a=this.isExteriorRing()?e.length:-1,u=[];for(let l=o;l!=a;l+=s)u.push([e[l].x,e[l].y]);return u}isExteriorRing(){if(this._isExteriorRing===void 0){const t=this.enclosingRing();this._isExteriorRing=t?!t.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let t=this.events[0];for(let i=1,s=this.events.length;i<s;i++){const o=this.events[i];Br.compare(t,o)>0&&(t=o)}let e=t.segment.prevInResult(),r=e?e.prevInResult():null;for(;;){if(!e)return null;if(!r)return e.ringOut;if(r.ringOut!==e.ringOut)return r.ringOut.enclosingRing()!==e.ringOut?e.ringOut:e.ringOut.enclosingRing();e=r.prevInResult(),r=e?e.prevInResult():null}}}class Vp{constructor(t){this.exteriorRing=t,t.poly=this,this.interiorRings=[]}addInterior(t){this.interiorRings.push(t),t.poly=this}getGeom(){const t=[this.exteriorRing.getGeom()];if(t[0]===null)return null;for(let e=0,r=this.interiorRings.length;e<r;e++){const i=this.interiorRings[e].getGeom();i!==null&&t.push(i)}return t}}class P_{constructor(t){this.rings=t,this.polys=this._composePolys(t)}getGeom(){const t=[];for(let e=0,r=this.polys.length;e<r;e++){const i=this.polys[e].getGeom();i!==null&&t.push(i)}return t}_composePolys(t){const e=[];for(let r=0,i=t.length;r<i;r++){const s=t[r];if(!s.poly)if(s.isExteriorRing())e.push(new Vp(s));else{const o=s.enclosingRing();o.poly||e.push(new Vp(o)),o.poly.addInterior(s)}}return e}}class b_{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Yi.compare;this.queue=t,this.tree=new Pc(e),this.segments=[]}process(t){const e=t.segment,r=[];if(t.consumedBy)return t.isLeft?this.queue.remove(t.otherSE):this.tree.remove(e),r;const i=t.isLeft?this.tree.add(e):this.tree.find(e);if(!i)throw new Error(`Unable to find segment #${e.id} [${e.leftSE.point.x}, ${e.leftSE.point.y}] -> [${e.rightSE.point.x}, ${e.rightSE.point.y}] in SweepLine tree.`);let s=i,o=i,a,u;for(;a===void 0;)s=this.tree.prev(s),s===null?a=null:s.key.consumedBy===void 0&&(a=s.key);for(;u===void 0;)o=this.tree.next(o),o===null?u=null:o.key.consumedBy===void 0&&(u=o.key);if(t.isLeft){let l=null;if(a){const h=a.getIntersection(e);if(h!==null&&(e.isAnEndpoint(h)||(l=h),!a.isAnEndpoint(h))){const d=this._splitSafely(a,h);for(let g=0,v=d.length;g<v;g++)r.push(d[g])}}let c=null;if(u){const h=u.getIntersection(e);if(h!==null&&(e.isAnEndpoint(h)||(c=h),!u.isAnEndpoint(h))){const d=this._splitSafely(u,h);for(let g=0,v=d.length;g<v;g++)r.push(d[g])}}if(l!==null||c!==null){let h=null;l===null?h=c:c===null?h=l:h=Br.comparePoints(l,c)<=0?l:c,this.queue.remove(e.rightSE),r.push(e.rightSE);const d=e.split(h);for(let g=0,v=d.length;g<v;g++)r.push(d[g])}r.length>0?(this.tree.remove(e),r.push(t)):(this.segments.push(e),e.prev=a)}else{if(a&&u){const l=a.getIntersection(u);if(l!==null){if(!a.isAnEndpoint(l)){const c=this._splitSafely(a,l);for(let h=0,d=c.length;h<d;h++)r.push(c[h])}if(!u.isAnEndpoint(l)){const c=this._splitSafely(u,l);for(let h=0,d=c.length;h<d;h++)r.push(c[h])}}}this.tree.remove(e)}return r}_splitSafely(t,e){this.tree.remove(t);const r=t.rightSE;this.queue.remove(r);const i=t.split(e);return i.push(r),t.consumedBy===void 0&&this.tree.add(t),i}}const zp=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,N_=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class T_{run(t,e,r){Sn.type=t,Za.reset();const i=[new kp(e,!0)];for(let h=0,d=r.length;h<d;h++)i.push(new kp(r[h],!1));if(Sn.numMultiPolys=i.length,Sn.type==="difference"){const h=i[0];let d=1;for(;d<i.length;)xc(i[d].bbox,h.bbox)!==null?d++:i.splice(d,1)}if(Sn.type==="intersection")for(let h=0,d=i.length;h<d;h++){const g=i[h];for(let v=h+1,E=i.length;v<E;v++)if(xc(g.bbox,i[v].bbox)===null)return[]}const s=new Pc(Br.compare);for(let h=0,d=i.length;h<d;h++){const g=i[h].getSweepEvents();for(let v=0,E=g.length;v<E;v++)if(s.insert(g[v]),s.size>zp)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}const o=new b_(s);let a=s.size,u=s.pop();for(;u;){const h=u.key;if(s.size===a){const g=h.segment;throw new Error(`Unable to pop() ${h.isLeft?"left":"right"} SweepEvent [${h.point.x}, ${h.point.y}] from segment #${g.id} [${g.leftSE.point.x}, ${g.leftSE.point.y}] -> [${g.rightSE.point.x}, ${g.rightSE.point.y}] from queue.`)}if(s.size>zp)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(o.segments.length>N_)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");const d=o.process(h);for(let g=0,v=d.length;g<v;g++){const E=d[g];E.consumedBy===void 0&&s.insert(E)}a=s.size,u=s.pop()}Za.reset();const l=el.factory(o.segments);return new P_(l).getGeom()}}const Sn=new T_;var Oc={union:function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),r=1;r<t;r++)e[r-1]=arguments[r];return Sn.run("union",n,e)},intersection:function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),r=1;r<t;r++)e[r-1]=arguments[r];return Sn.run("intersection",n,e)},xor:function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),r=1;r<t;r++)e[r-1]=arguments[r];return Sn.run("xor",n,e)},difference:function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),r=1;r<t;r++)e[r-1]=arguments[r];return Sn.run("difference",n,e)}};function x_(n,t){var e=gr(n),r=gr(t),i=n.properties||{},s=Oc.difference(e.coordinates,r.coordinates);return s.length===0?null:s.length===1?Je(s[0],i):Al(s,i)}function O_(n,t,e){e===void 0&&(e={});var r=gr(n),i=gr(t),s=Oc.intersection(r.coordinates,i.coordinates);return s.length===0?null:s.length===1?Je(s[0],e.properties):Al(s,e.properties)}function M_(n,t,e){e===void 0&&(e={});var r=gr(n),i=gr(t),s=Oc.union(r.coordinates,i.coordinates);return s.length===0?null:s.length===1?Je(s[0],e.properties):Al(s,e.properties)}function Up(n,t){(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]),(t[0][0]!==t[t.length-1][0]||t[0][1]!==t[t.length-1][1]||t[0][2]!==t[t.length-1][2])&&t.push(t[0]);const e=O_(Je([n]),Je([t]));if(e)return e.geometry.coordinates}function Gp(n,t){(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]),(t[0][0]!==t[t.length-1][0]||t[0][1]!==t[t.length-1][1]||t[0][2]!==t[t.length-1][2])&&t.push(t[0]);const e=M_(Je([n]),Je([t]));if(e)return e.geometry.coordinates}function Wp(n,t=500,e="meters"){const r=l_(on(n),t,{units:e});if(r)return r.geometry.coordinates}function qp(n,t){(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]),(t[0][0]!==t[t.length-1][0]||t[0][1]!==t[t.length-1][1]||t[0][2]!==t[t.length-1][2])&&t.push(t[0]);const e=x_(Je([n]),Je([t]));if(e)return e.geometry.coordinates}function Xp(n,t,e=10,r="meters"){return h_(n,t,{steps:e,units:r}).geometry.coordinates}function Mc(n,t){(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]),(t[0][0]!==t[t.length-1][0]||t[0][1]!==t[t.length-1][1]||t[0][2]!==t[t.length-1][2])&&t.push(t[0]);const e=Je([n]),r=Je([t]);return ry(e,r)?"oneBig":hy(e,r)?"twoBig":!1}function Yp(n){const t=p.min(p.objsIterator(n,["0"])),e=p.min(p.objsIterator(n,["1"])),r=p.min(p.objsIterator(n,["2"])),i=p.max(p.objsIterator(n,["0"])),s=p.max(p.objsIterator(n,["1"])),o=p.max(p.objsIterator(n,["2"]));return{minPos:[t,e,r],maxPos:[i,s,o],center:[(t+i)*.5,(e+s)*.5,(r+o)*.5]}}function Hp(n){const{minPos:t,maxPos:e,center:r}=Yp(n);if(t.some(a=>!Number.isFinite(a)||e.some(u=>!Number.isFinite(u))||r.some(u=>!Number.isFinite(u)))){console.warn("geoCenterAndRadiusFromPositions error: minPos.some(e => !Number.isFinite(e) || maxPos.some(e => !Number.isFinite(e)) || center.some(e => !Number.isFinite(e))");return}const i=wu(t,e);let s=i*.5;const o=Math.abs(t[2]-e[2]);return o!=0&&(s=Math.sqrt(i*i+o*o)*.5),{center:r,radius:s}}function Bp(n,t){const e=Mn(n),r=Mn(t);return p.Vector.distance(e,r)}function Ka(n,t){const e=[],r=n.length;let i=0;for(let s=0;s<r-1;++s){if(t===void 0||t==="GEODESIC"){const o=wu(n[s],n[s+1]),a=Math.abs(n[s][2]-n[s+1][2]);if(a===0)i+=o;else{const u=Math.sqrt(o*o+a*a);i+=u}}else if(t==="RHUMB"){const o=gd(n[s],n[s+1]),a=Math.abs(n[s][2]-n[s+1][2]);if(a===0)i+=o;else{const u=Math.sqrt(o*o+a*a);i+=u}}else if(t==="NONE"){const o=Bp(n[s],n[s+1]);i+=o}else console.warn(`未知的arcType: ${t},导致距离无法计算!`);e.push(i)}return e}function Dc(n){const t="__getXyzFromPostion";let e=p.getExtProp(n,t);return(!e||!p.Vector.equals(e[0],n))&&(e=[[...n],Mn(n)],p.setExtProp(n,t,e)),e[1]}class Jp extends p.Tree{constructor(t){super(t)}get propUiTree(){return this.uiTree}}class Lc extends p.TreeItem{constructor(t,e,r){super(t,e),this._property=r}get property(){return this._property}}class Ac extends Lc{constructor(t,e){super(t,!1,e)}}class Rc extends Lc{constructor(t,e){super(t,!0,e)}get groupChildren(){return this.children}}function jp(n,t){const e=new Jp(t),r=n.getProperties("chinese"),i=[];for(let s of r)if(s instanceof $){const o=new Rc(e,s);o.d(()=>s.destroy()),e.children.push(o),i.push(o)}else{const o=new Ac(e,s);e.children.push(o),o.d(()=>s.destroy())}for(;i.length>0;){const s=i.pop();if(!s)throw new Error("should not be here!");const o=s;if(!(o.property instanceof $))throw new Error("!(treeItem.property instanceof GroupProperty)");for(let a of o.property.children)if(a instanceof $){const u=new Rc(e,a);u.d(()=>a.destroy()),o.groupChildren.push(u),i.push(u)}else{const u=new Ac(e,a);o.groupChildren.push(u),u.d(()=>a.destroy())}}return e.d(()=>{e.itemChildrenChanged.reset(),e.itemChildrenToChange.reset();const s=[...e.getDescendants()];s.forEach(o=>{o.children&&(o.children.length=0),o.destroy()}),s.length=0}),e}class Oo extends q{constructor(e){super();f(this,"_propTreeReact",this.dv(p.react(void 0)));this.d(()=>this._propTreeReact.value=void 0),this.dv(new p.ObjResettingWithEvent(this.sceneObjectChanged,r=>{if(!r)return;const i=new q;return i.d(r.toDestroyEvent.don(()=>{this.sceneObject=void 0})),i})),this.d(this.sceneObjectChanged.don(r=>{this._propTreeReact.value=void 0,!(!r||!(r instanceof j))&&(this._propTreeReact.value=jp(r,e))}))}get propTree(){return this._propTreeReact.value}get propTreeChanged(){return this._propTreeReact.changed}}(n=>{n.createDefaultProps=()=>({sceneObject:void 0})})(Oo||(Oo={})),p.extendClassProps(Oo.prototype,Oo.createDefaultProps);function Fc(n){return p.reactDeepArrayWithUndefined(n,(t,e)=>t[0]===e[0]&&t[1]===e[1],t=>[...t])}function Zp(n,t){const e=new Array;for(let r of n)e.push(t(r));return e}function kc(n,t){return n===void 0&&t===void 0?!0:!n||!t?!1:n[0]===t[0]&&n[1]===t[1]&&n[2]===t[2]}function D_(n,t,e){var i;((i=t.attachedViewers.values().toArray()[0])==null?void 0:i.getEngineObject(t))?e.call(n):(n.dispose(t.viewerAttached.don(()=>{e.call(n)})),n.dispose(t.createdEvent.don(()=>e.call(n))))}function L_(n,t,e,r=!0){r&&e(),n.dispose(t.disposableOn(e))}function A_(n,t){const{type:e,id:r}=n;if(e){const i=j.create(e,r);if(i)return i.json=n,i;console.warn(`cannot create sceneObject from type(${e})`)}else console.warn(`cannot create sceneObject from type(${e})`)}function Kp(n){const t=n.children&&p.every(n.children,r=>{if(!(r instanceof qe))throw new Error("!(treeItem instanceof SceneTreeItem)");return!r.show})||!1,e=n.sceneTree.getSceneObjectShowFunc(n.sceneObject);return!t||e}class qe extends p.TreeItem{constructor(e,r=!1,i,s,o=!0){super(e,r,i);f(this,"_dragDrop");f(this,"_showChangedNotAffectChildren",!1);f(this,"_showChangedNotAffectParent",!1);f(this,"_type",this.dv(p.react("Unknown")));f(this,"_isExport",this.dv(p.react(!0)));const a=()=>this.tree&&this.tree.itemsChanged.emit([this]);this.dispose(this.nameChanged.disposableOn(a)),this.name=`未命名条目(${this.id})`,this.extras=s,this._isExport.value=o;let u;const l=()=>{u&&(u(),u=void 0)};this.dispose(l),this.dispose(this.sceneObjectChanged.disposableOn(c=>{l(),c&&(u=p.bind([this,"name"],[c,"name"]))})),this.dispose(this.showChanged.disposableOn(c=>{if(e.setSceneObjectShowFunc(this.sceneObject,c),this.tree&&this.tree.forceRedraw(),this.children&&!this._showChangedNotAffectChildren)for(let h of this.children)h instanceof qe&&(h._showChangedNotAffectParent=!0,h.show=c,h._showChangedNotAffectParent=!1);this.parent&&this.parent instanceof qe&&!this._showChangedNotAffectParent&&(this.parent._showChangedNotAffectChildren=!0,this.parent.show=Kp(this.parent),this.parent._showChangedNotAffectChildren=!1)})),this.dv(new p.ObjResettingWithEvent(this.sceneObjectChanged,()=>{if(!this.sceneObject)return;const c=new q;if("show"in this.sceneObject&&"showChanged"in this.sceneObject&&this.sceneObject.showChanged instanceof V){const h=()=>{this.show=e.getSceneObjectShowFunc(this.sceneObject)};h(),c.dispose(this.sceneObject.showChanged.disposableOn(h))}else if("enabled"in this.sceneObject&&"enabledChanged"in this.sceneObject&&this.sceneObject.enabledChanged instanceof V){const h=()=>{this.show=e.getSceneObjectShowFunc(this.sceneObject)};h(),c.dispose(this.sceneObject.enabledChanged.disposableOn(h))}return c})),this.childrenChangedEvent.disposableOn(()=>{const c=Kp(this);this._showChangedNotAffectChildren=!0,this.show=c,this._showChangedNotAffectChildren=!1});{const c=()=>{let h="Unknown";this.sceneObject?h=this.sceneObject.typeName:this.children&&(h="Folder"),this._type.value=h};this.dispose(this.sceneObjectChanged.disposableOn(c)),this.dispose(this.childrenResetedEvent.disposableOn(c)),c()}}get dragDrop(){return this._dragDrop||(this._dragDrop=this.dv(this.sceneTree.createTreeItemDragDropFunc(this))),this._dragDrop}get type(){return this._type.value}get typeChanged(){return this._type.changed}get isExport(){return this._isExport.value}get isExportChanged(){return this._isExport.changed}set isExport(e){this._isExport.value=e}get sceneTree(){return this.tree}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(e){try{this.json=JSON.parse(e)}catch(r){console.error(`sceneTreeItem.jsonStr error ${r}`,r)}}get json(){const e=this.children&&[...this.children].filter(r=>r.isExport).map(r=>r.json);return{name:this.name,show:this.show?void 0:!1,collapsed:this.uiTreeObject.collapsed?!0:void 0,sceneObj:this.sceneObject&&this.sceneObject.json,children:e,extras:this.extras}}set json(e){if(e.name!==void 0&&(this.name=e.name),this.extras=e.extras,this._showChangedNotAffectChildren=!0,this._showChangedNotAffectParent=!0,this.show=e.show??!0,this._showChangedNotAffectChildren=!1,this._showChangedNotAffectParent=!1,this.uiTreeObject.collapsed=e.collapsed??!1,this.sceneObject=void 0,e.sceneObj&&(this.sceneObject=this.sceneTree.createSceneObjectFunc(e.sceneObj,this)),!!e.children){if(this.resetChildren(!0),!this.children)throw new Error("resetChildren(true) cannot get children!");for(let r of e.children){const i=new qe(this.tree,!0);i.json=r,this.children.push(i)}}}clone(){try{const e=new qe(this.sceneTree,!!this.children,void 0,this.extras,this.isExport);return e.json=this.json,e.name=this.sceneTree.getSceneTreeItemCloneNameFunc(this),e}catch(e){console.error(`SceneTreeItem.clone error: ${e}`,e)}}insertNewTreeItem(e,r){if(e==="FolderInnerOrAfter"||e==="FolderInnerOrBefore"||e==="FolderInner"){if(r&&r.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&!(e.includes("Or")&&this.sceneObject))return r&&this.children.push(r),!0;if(e==="FolderInner")return!1;if(e==="FolderInnerOrAfter")return super.insertNewTreeItem("After",r);if(e==="FolderInnerOrBefore")return super.insertNewTreeItem("Before",r);throw new Error("should not be here!")}else return super.insertNewTreeItem(e,r)}}(n=>{n.createDefaultProps=()=>({name:"未命名条目",nameEditing:!1,sceneObject:void 0,show:!0,extras:p.reactJsonWithUndefined(void 0)})})(qe||(qe={})),p.extendClassProps(qe.prototype,qe.createDefaultProps);function Qp(n,t,e){let{offsetY:r}=t;if(!t.target||!("clientTop"in t.target))return"none";r+=2,r+=t.target.clientTop;let i="none";return n.children?r<=e*.3?i="before":r>=e*.7?!n.uiTreeObject.collapsed&&n.children.length>0?i="inner":i="after":i="inner":r<=e*.5?i="before":i="after",i}class $p extends bf{constructor(t){super(),this._treeItem=t;const{dragStartDataManager:e}=this._treeItem.sceneTree;let r="none";const i=this.disposeVar(p.createTimeoutWithStartValues(()=>{this._treeItem.uiTreeObject.moveToPositionMode=r,console.log(`uiTreeObject.moveToPositionMode = lastDragMode(${r});`)},200));function s(o){r!==o&&(r=o,i.restart())}this.dispose(this._dragStartEvent.disposableOn(o=>{e.data={type:"UITreeA",value:this._treeItem}})),this.dispose(this._dragOverEvent.disposableOn(o=>{if(!o.dataTransfer)return;o.preventDefault();const a=e;if(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0){const u=a.data.value,l=this._treeItem,{tree:c}=l;if(c){const h=[...c.selectedItems];~h.indexOf(u)||h.push(u);const d=Qp(l,o,c.itemDivHeight);if(d!=="none"&&p.Tree.canMoveToTreeItems(h,l,d)){o.dataTransfer.dropEffect="move",s(d);return}}}o.dataTransfer.dropEffect="none",s("none")})),this.dispose(this._dropEvent.disposableOn(o=>{const a=e;if(!(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0))return;const u=a.data.value,l=this._treeItem,{tree:c}=l;if(!c)return;const h=[...c.selectedItems];~h.indexOf(u)||h.push(u);const d=Qp(l,o,c.itemDivHeight);d!=="none"&&p.Tree.canMoveToTreeItems(h,l,d)&&(p.Tree.moveToTreeItems(h,l,d),a.data=void 0,s("none"))})),this.dispose(this._dragLeaveEvent.disposableOn(()=>{r="none",i.restart()}))}}function R_(n){if(!(n instanceof qe))throw new Error("defaultCreateTreeItemDragDrop !(treeItem instanceof SceneTreeItem)");return new $p(n)}function F_(n){let t=!1;return n&&("show"in n?t=n.show??!0:"enabled"in n&&(t=n.enabled??!0)),t}function k_(n,t){n&&("show"in n?n.show=t:"enabled"in n&&(n.enabled=t))}const V_=["EnvironmentVariables","ScriptsLoader","SceneScript","ScriptLoader"];function z_(n){const t=[],{root:e={}}=n,r=[e];for(;r.length>0;){const i=r.pop();if(!i)throw new Error("!todo");if(i.children){for(let s of i.children)if(s.children&&r.unshift(s),s.sceneObj){const{type:o=void 0}=s.sceneObj;o||(console.warn("sceneObjJson has no type! treeItem.sceneObj: "),console.warn(s.sceneObj)),o&&V_.includes(o)&&t.push(s.sceneObj)}}}return t}async function U_(n,t){const e=z_(n);let r=0;const i=e.length;for(let s of e)if(++r,t){const o=r/i;t(o,r,i)}}class tg extends q{constructor(e,r){super();f(this,"treeItemContexMenuCallback");this._sceneTree=e,this._projectManager=r}get sceneTree(){return this._sceneTree}}class G_ extends q{constructor(e){super();f(this,"_jsonLoadingEvent",this.disposeVar(new V));f(this,"_setJsonProcessing",this.disposeVar(p.createProcessingFromAsyncFunc(async(e,r)=>{this._jsonLoadingEvent.emit({type:"init"}),this._jsonLoadingEvent.emit({type:"loading"}),r&&await e.promise(this._sceneTree.preloadFunc(r)),this._setJson(r),this._jsonLoadingEvent.emit({type:"loaded"})})));this._sceneTree=e,this._setJsonProcessing.errorFunc=r=>{this._jsonLoadingEvent.emit({type:"error",error:r})}}get jsonLoadingEvent(){return this._jsonLoadingEvent}_setJson(e){try{this._sceneTree.setJson(e||{})}catch(r){console.error(`json数据装配时发生错误!error: ${r}`)}}get json(){return this._sceneTree.getJson()}set json(e){this._setJsonProcessing.restart(new p.CancelError("JSON重新赋值!"),e)}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(e){this.json=JSON.parse(e)}}function W_(n){return n.name+"_clone"}function Vc(n,t,e){if(n instanceof qe)return n.insertNewTreeItem(t,e);{const r={FolderInnerOrAfter:"InnerOrAfter",FolderInnerOrBefore:"InnerOrBefore",FolderInner:"Inner",InnerOrAfter:"InnerOrAfter",InnerOrBefore:"InnerOrBefore",Inner:"Inner",After:"After",Before:"Before"};return n.insertNewTreeItem(r[t],e)}}function q_(n){[n,...n.getDescendants()].forEach(t=>t.destroy())}const dr=class dr extends p.Tree{constructor(e,r,i,s){super(i);f(this,"_jsonLoading",this.disposeVar(new G_(this)));f(this,"createSceneObjectFunc",dr.defaultCreateSceneObjectFunc);f(this,"createTreeItemDragDropFunc",dr.defaultCreateTreeItemDragDropFunc);f(this,"preloadFunc",dr.defaultPreload);f(this,"getSceneObjectShowFunc",dr.defaultGetSceneObjectShow);f(this,"setSceneObjectShowFunc",dr.defaultSetSceneObjectShow);f(this,"getSceneTreeItemCloneNameFunc",dr.defaultGetSceneTreeItemCloneNameFunc);f(this,"debug",!1);f(this,"_contextMenu",this.disposeVar(new tg(this,this.projectManager)));f(this,"_showPropUiOnSelecting",this.disposeVar(p.react(!0)));this._name=e,this._dragStartDataManager=r,this._projectManager=s,this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{var a,u;window.lssn=this.lastSelectedItem,window.lsso=(a=this.lastSelectedItem)==null?void 0:a.sceneObject,this.debug&&console.log(((u=this.lastSelectedItem)==null?void 0:u.sceneObject)??"select null")}));const{sceneObjectsManager:o}=this._projectManager;this.dispose(this.itemsDeleted.disposableOn(a=>{for(let u of a){const l=u,{sceneObject:c}=l;c&&o.deleteSceneObject(c)&&c.destroy()&&fu(c,void 0);for(let h of l.getDescendants()){const{sceneObject:d}=h;d&&o.deleteSceneObject(d)&&d.destroy()&&fu(d,void 0)}q_(u)}})),this.dispose(this.itemsAdded.disposableOn(a=>{for(let u of a){const l=u;l.sceneObject&&o.addSceneObject(l.sceneObject)&&fu(l.sceneObject,l)}})),this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{if(!this.showPropUiOnSelecting)return;this._projectManager.propUiTreeManager.sceneObject=void 0;const{lastSelectedItem:a}=this;a&&(this._projectManager.propUiTreeManager.sceneObject=a.sceneObject)}))}get json(){return this._jsonLoading.json}set json(e){this._jsonLoading.json=e}get jsonStr(){return this._jsonLoading.jsonStr}set jsonStr(e){this._jsonLoading.jsonStr=e}get jsonLoadingEvent(){return this._jsonLoading.jsonLoadingEvent}get name(){return this._name}get projectManager(){return this._projectManager}get contextMenu(){return this._contextMenu}get showPropUiOnSelecting(){return this._showPropUiOnSelecting.value}set showPropUiOnSelecting(e){this._showPropUiOnSelecting.value=e}get showPropUiOnSelectingChanged(){return this._showPropUiOnSelecting.changed}get sceneUiTree(){return this.uiTree}getTreeItemFromSceneObjId(e){const r=this.getDescendants();let i;for(let s of r)if(s.sceneObject&&s.sceneObject.id===e){i=s;break}return i}get dragStartDataManager(){return this._dragStartDataManager}getJson(){return{root:{children:[...this.children].filter(e=>e.isExport).map(e=>e.json)}}}setJson(e){var i;e.root=e.root||{};const r=e.root.children??[];this.root.resetChildren(!0);for(let s of r){const o=new qe(this,!0);o.json=s,(i=this.root.children)==null||i.push(o)}}testAddNewTreeItem(e,r){const i=e||this.lastSelectedItem||this.root;return i?Vc(i,r):!1}addNewTreeItem(e,r,i,s){const o=e||this.lastSelectedItem||this.root;if(o&&Vc(o,r)){const a=new qe(this,i);if(a.sceneObject=s,!Vc(o,r,a))throw new Error("currentTreeItem.insertNewTreeItem return false!");return a}}createSceneObjectTreeItem(e,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=j.create(e,r);return a?this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0,a):void 0}createGroupTreeItem(e,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0);if(!a){console.warn("addNewTreeItem error!");return}return a.name=e??"未命名组节点",a}createSceneObjectTreeItemFromClass(e,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o))return;const a=j.createFromClass(e,r);return a?this.addNewTreeItem(i,o,!0,a):void 0}createSceneObjectTreeItemFromJson(e,r,i){const s=i??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(r,s))return;const o=j.createFromJson(e);return console.log(o),o?this.addNewTreeItem(r,i??"FolderInnerOrAfter",!0,o):void 0}destroySceneObjectTreeItem(e){if(e===this.root){console.warn("cannot destroy root! please use function destroyAllSceneObjectTreeItems!");return}e.detachFromParent()}destroyAllSceneObjectTreeItems(){if(!this.root.children)return;const e=[...this.root.children];for(let r of e)this.destroySceneObjectTreeItem(r)}};f(dr,"defaultCreateSceneObjectFunc",A_),f(dr,"defaultCreateTreeItemDragDropFunc",R_),f(dr,"defaultPreload",U_),f(dr,"defaultGetSceneObjectShow",F_),f(dr,"defaultSetSceneObjectShow",k_),f(dr,"defaultGetSceneTreeItemCloneNameFunc",W_);let Qa=dr;const zc={saturation:.35,brightness:1.4,gamma:.8,atmosphereScatteringIntensity:5,groundColor:[0,.09411764705882353,.3137254901960784,1]};class X_ extends q{constructor(e){super();f(this,"_currentPosition",this.disposeVar(p.reactArrayWithUndefined(void 0)));f(this,"_currentRotation",this.disposeVar(p.reactArrayWithUndefined(void 0)));f(this,"_currentHeading",this.disposeVar(p.react(void 0)));f(this,"_isRotating",this.disposeVar(p.react(!1)));f(this,"_isGround",this.disposeVar(p.react(!1)));f(this,"_startPosition",[0,0,0]);f(this,"_startRotation",[0,0,0]);f(this,"_processing",this.disposeVar(p.createProcessingFromAsyncFunc(async(e,r,i,s)=>{const{currentPosition:o,currentRotation:a}=this;if(!o||s<=0||!a){this._currentPosition.value=r,this._currentRotation.value=i;return}const u=this._startPosition;u.splice(0,3,...o);const l=this._startRotation;l.splice(0,3,...a);let c=Date.now();const h=Ia(u,r);this._currentHeading.value=h;const g=wu(u,r)/s,v=[i[0]-l[0],i[1]-l[1],i[2]-l[2]],E=r[2]-u[2];await e.promise(new Promise(C=>{e.disposer.dispose(p.animateFrame(async()=>{let b=Date.now()-c;b=b<0?0:b,b=b>s?s:b;const m=b*g,y=rd(u,m,h);if(this.isGround&&y){const _=await this._esviewer.getTerrainHeight([y[0],y[1]]);this._currentPosition.value=[y[0],y[1],_??0]}else y&&(y[2]+=E*(b/s)),this._currentPosition.value=y;if(this.isRotating){const[_,S,I]=v,P=b/s;this._currentRotation.value=[l[0]+_*P,l[1]+S*P,l[2]+I*P]}b===s&&(this._currentPosition.value=r,this.isRotating&&(this._currentRotation.value=i),this.isRotating=!1,this.isGround=!1,C())}))}))})));this._esviewer=e}get currentPosition(){return this._currentPosition.value}get currentPositionChanged(){return this._currentPosition.changed}get currentRotation(){return this._currentRotation.value}get currentRotationChanged(){return this._currentRotation.changed}get currentHeading(){return this._currentHeading.value}get currentHeadingChanged(){return this._currentHeading.changed}get isRotating(){return this._isRotating.value}set isRotating(e){this._isRotating.value=e}get isRotatingChanged(){return this._isRotating.changed}get isGround(){return this._isGround.value}set isGround(e){this._isGround.value=e}get isGroundChanged(){return this._isGround.changed}get processing(){return this._processing}restart(e,r,i){this._processing.restart(void 0,e,r,i)}cancel(){this._processing.cancel()}}function eg(n){let t=0;function e(r,i){i++,t=Math.max(i,t),r.forEach(s=>{Array.isArray(s)&&e(s,i)})}return e(n,0),t}const Hn=class Hn extends bt{constructor(e){super(e);f(this,"editingBindMode","lineString");f(this,"_area",this.dv(p.react(0)));f(this,"_perimeter",this.dv(p.react(0)));const r=()=>{this._updateArea(),this._updatePerimeter()};r(),this.d(this.pointsChanged.don(r))}updateEditing(){var r;const e=[];this.editingBindMode=="doublePoints"?e.push(B.DoublePointsAppend,B.DoublePointsModify):this.editingBindMode=="lineString"?e.push(B.LineStringAppend,B.LineStringInsert,B.Translation):this.editingBindMode=="circular"?(e.push(B.CircularAppend,B.CircularInsert,B.Translation),this.supportEditingModes().includes(B.HeightModify)&&e.push(B.HeightModify)):this.editingBindMode=="visibility"?e.push(B.VisibilityAppend,B.VisibilityModify):this.editingBindMode=="scatter"&&e.push(B.ScatterAppend,B.ScatterModify),(r=this.activeViewer)==null||r.startEditing(this,e,{callSource:"inner"})}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}_updateArea(){this._area.value=this.getArea()??0}_updatePerimeter(){this._perimeter.value=this.getPerimeter()??0}getArea(){if(this.points&&this.points.length>=3)return Ul([...this.points])}getDistance(){if(this.points&&this.points.length>=2){const e=Ka(this.points,"GEODESIC");return e[e.length-1]}else return}getPerimeter(){if(this.points&&this.points.length>=3){const e=[...this.points,this.points[0]],r=Ka(e,"GEODESIC");return r[r.length-1]}else return}getIntersect(e){if(this.points&&this.points.length>=3&&e.length>=3){const r=Up(this.points,e);if(!r)return;const i=r[0][0][0];if(Array.isArray(i)){const s=[...r],o=[];return s.forEach(a=>{const u=a[0].map(l=>[...l,0]);o.push(u)}),o}else return[[...r][0].map(a=>[...a,0])]}else return}getUnion(e){if(this.points&&this.points.length>=3&&e.length>=3){const r=Gp(this.points,e);if(!r)return;const i=r[0][0][0];if(Array.isArray(i)){const s=[...r],o=[];return s.forEach(a=>{const u=a[0].map(l=>[...l,0]);o.push(u)}),o}else return[[...r][0].map(a=>[...a,0])]}else return}getDifference(e){if(this.points&&this.points.length>=3&&e.length>=3){let r=[...e];const i=e[0],s=e[e.length-1];i[0]===s[0]&&i[1]===s[1]&&i[2]===s[2]||r.push(i);const o=qp([...this.points,this.points[0]],[...r]);if(!o)return{status:"undefined",positions:void 0};const a=[...o];if(eg(a)===3){const u=a.map(d=>d.map(g=>[...g,0]));if(u.length<=1)return{status:"notIncluded",positions:u};const l=u[0],c=u[1];return Mc([...l],[...c])==="oneBig"?{status:"included",positions:u}:{status:"notIncluded",positions:u}}else if(eg(a)===4){const l=[...a.map(h=>h.map(d=>d.map(g=>[...g,0])))],c=[];return l.forEach(h=>{c.push(h[0])}),{status:"notIncluded",positions:c}}else return{status:"undefined",positions:void 0}}else return{status:"undefined",positions:void 0}}getBuffer(e=500,r){if(this.points&&this.points.length>=2){const i=Wp(this.points,e,r);return i?[i[0].map(s=>[...s,0])]:void 0}else return}geoPolygonOverlap(e){if(this.points&&this.points.length>=3&&e.length>=3){const r=Mc(this.points,e);return r==="oneBig"?!0:r==="twoBig"?!1:void 0}else return}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",coordinate:[...e.coordinate,new W([this,"editing"],"编辑",!1),new H([this,"points"],"位置数组",Hn.defaults.points,void 0,!0)],style:[...e.style,new $([],"点样式"),new W([this,"pointed"],"开启",!1),new T([this,"pointSize"],"点大小",1),new lt([this,"pointSizeType"],[["screen","screen"],["world","world"]],"点类型","screen"),new gt([this,"pointColor"],"点颜色",[1,1,1,1]),new gt([this,"pointOutlineColor"],"轮廓颜色",Hn.defaults.pointStyle.outlineColor),new T([this,"pointOutlineWidth"],"轮廓宽度",Hn.defaults.pointStyle.outlineWidth),new $([],"线样式"),new W([this,"stroked"],"开启线样式",!0),new W([this,"strokeGround"],"贴地",!1),new T([this,"strokeWidth"],"线宽",1),new lt([this,"strokeWidthType"],[["screen","screen"],["world","world"]],"线类型","screen"),new gt([this,"strokeColor"],"线颜色",[1,1,1,1]),new $([],"面样式"),new W([this,"filled"],"开启",!1),new W([this,"fillGround"],"贴地",!1),new gt([this,"fillColor"],"填充颜色",[1,1,1,1])],more:[...e.more,new $([],"点样式集合"),new nt([this,"pointMaterial"],"点材质"),new H([this,"pointMaterialParams"],"点材质参数"),new $([],"线样式集合"),new nt([this,"strokeMaterial"],"线材质"),new H([this,"strokeMaterialParams"],"线材质参数"),new $([],"面样式集合"),new nt([this,"fillMaterial"],"面材质"),new H([this,"fillMaterialParams"],"面材质参数")]}}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointOutlineColor(){return this.pointStyle.outlineColor}set pointOutlineColor(e){this.pointStyle={...this.pointStyle,outlineColor:[...e]}}get pointOutlineColorChanged(){return this.pointStyleChanged}get pointOutlineWidth(){return this.pointStyle.outlineWidth}set pointOutlineWidth(e){this.pointStyle={...this.pointStyle,outlineWidth:e}}get pointOutlineWidthChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}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}};f(Hn,"createDefaultProps",()=>({...bt.createDefaultProps(),pointed:!1,pointStyle:p.reactJson({size:10,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:2}),stroked:!1,strokeStyle:p.reactJson({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!1,fillStyle:p.reactJson({color:[1,1,1,1],material:"",materialParams:{},ground:!1}),points:p.reactPositions([])})),f(Hn,"type",Hn.register("ESGeoVector",Hn,{chsName:"地理矢量",tags:["ESObjects"],description:"地理矢量"})),f(Hn,"supportEditingModes",[...bt.supportEditingModes,B.Translation]);let pt=Hn;const Ns=class Ns extends bt{constructor(){super(...arguments);f(this,"_statusDis",this.dv(p.react(!0)));f(this,"_smoothMoveEvent",this.dv(new V));f(this,"_smoothMoveWithRotationEvent",this.dv(new V));f(this,"_smoothMoveOnGroundEvent",this.dv(new V));f(this,"_smoothMoveWithRotationOnGroundEvent",this.dv(new V));f(this,"_automaticLandingEvent",this.dv(new V));f(this,"_smoothMoveKeepPitchEvent",this.dv(new V));f(this,"_smoothMoveRelativelyEvent",this.dv(new V));f(this,"_smoothMoveRelativelyWithRotationEvent",this.dv(new V));f(this,"useCalcFlyToParamInESObjectWithLocation",!0)}updateEditing(){var r;const e=[];this.editingBindMode=="singlePoint"?(e.push(B.Place,B.Translation),["ESLocationMeasurement"].includes(this.typeName)||e.push(B.Rotation),["ESClippingPlane","ESLocationMeasurement","ESLocalRectangle","ESBoxClipping"].includes(this.typeName)||e.push(B.Scale)):this.editingBindMode=="doublePoints"&&e.push(B.DoublePointsAppend,B.DoublePointsModify),(r=this.activeViewer)==null||r.startEditing(this,e,{callSource:"inner"})}get statusDis(){return this._statusDis.value}get statusDisChanged(){return this._statusDis.changed}get smoothMoveEvent(){return this._smoothMoveEvent}smoothMove(e,r){this._smoothMoveEvent.emit(e,r)}get smoothMoveWithRotationEvent(){return this._smoothMoveWithRotationEvent}smoothMoveWithRotation(e,r,i){this._smoothMoveWithRotationEvent.emit(e,r,i)}get smoothMoveOnGroundEvent(){return this._smoothMoveOnGroundEvent}smoothMoveOnGround(e,r,i,s){this._smoothMoveOnGroundEvent.emit(e,r,i,s)}get smoothMoveWithRotationOnGroundEvent(){return this._smoothMoveWithRotationOnGroundEvent}smoothMoveWithRotationOnGround(e,r,i,s,o){this._smoothMoveWithRotationOnGroundEvent.emit(e,r,i,s,o)}get automaticLandingEvent(){return this._automaticLandingEvent}automaticLanding(){const e=this.collision;this.collision=!1,setTimeout(()=>{this._automaticLandingEvent.emit(e)},100)}get smoothMoveKeepPitchEvent(){return this._smoothMoveKeepPitchEvent}smoothMoveKeepPitch(e,r){this._smoothMoveKeepPitchEvent.emit(e,r)}get smoothMoveRelativelyEvent(){return this._smoothMoveRelativelyEvent}smoothMoveRelatively(e,r){this._smoothMoveRelativelyEvent.emit(e,r)}get smoothMoveRelativelyWithRotationEvent(){return this._smoothMoveRelativelyWithRotationEvent}smoothMoveRelativelyWithRotation(e,r,i){this._smoothMoveRelativelyWithRotationEvent.emit(e,r,i)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",location:[...e.location,new W([this,"editing"],"是否编辑"),new tt([],()=>this.automaticLanding(),[],"自动落地"),new Bs([this,"position"],"位置数组",[0,0,0]),new Ol([this,"rotation"],"姿态数组",[0,0,0]),new Re([this,"scale"],"缩放",[1,1,1]),new T([this,"minVisibleDistance"],"最小可见距离",0),new T([this,"maxVisibleDistance"],"最大可见距离",0)],more:[...e.more,new tt(["numbers","number"],(r,i)=>this.smoothMove(r,i),[[0,0,0],0],"平滑移动","smoothMove"),new tt(["numbers","number"],(r,i)=>this.smoothMoveKeepPitch(r,i),[[0,0,0],0],"固定方向平滑移动","smoothMoveKeepPitch"),new tt(["numbers","numbers","number"],(r,i,s)=>this.smoothMoveWithRotation(r,i,s),[[0,0,0],[0,0,0],0],"平滑偏移","smoothMoveWithRotation"),new tt(["number","number","number","string"],(r,i,s,o)=>this.smoothMoveOnGround(r,i,s,o),[0,0,0,""],"贴地平滑移动","smoothMoveOnGround"),new tt(["numbers","number","number","number","string"],(r,i,s,o,a)=>this.smoothMoveWithRotationOnGround(r,i,s,o,a),[[0,0,0],0,0,0,""],"贴地平滑偏移","smoothMoveWithRotationOnGround"),new tt(["numbers","number"],(r,i)=>this.smoothMoveRelatively(r,i),[[0,0,0],0],"smoothMoveRelatively","smoothMoveRelatively"),new tt(["numbers","numbers","number"],(r,i,s)=>this.smoothMoveRelativelyWithRotation(r,i,s),[[0,0,0],[0,0,0],0],"smoothMoveRelativelyWithRotation","smoothMoveRelativelyWithRotation"),new W([this,"enableVisibleDistance"],"是否应用距离显隐")]}}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}};f(Ns,"createDefaultProps",()=>({...bt.createDefaultProps(),pointed:!1,pointStyle:p.reactJson({size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:2}),position:p.reactArray([0,0,0]),rotation:p.reactArray([0,0,0]),scale:p.reactArray([1,1,1]),minVisibleDistance:p.react(0),maxVisibleDistance:p.react(0)})),f(Ns,"type",Ns.register("ESObjectWithLocation",Ns,{chsName:"对象位置",tags:["ESObjects"],description:"对象位置"})),f(Ns,"supportEditingModes",[...bt.supportEditingModes,B.Place,B.Translation,B.Rotation,B.Scale,B.DoublePointsAppend,B.DoublePointsModify]);let Z=Ns;const ko=class ko extends Z{getESProperties(){const t={...super.getESProperties()};return{...t,style:[...t.style,new $([],"点样式集合"),new W([this,"pointed"],"开启点样式",!1),new T([this,"pointSize"],"点大小",1),new lt([this,"pointSizeType"],[["screen","screen"],["world","world"]],"点类型","screen"),new gt([this,"pointColor"],"点颜色",[1,1,1,1]),new $([],"线样式集合"),new W([this,"stroked"],"开启线样式",!1),new W([this,"strokeGround"],"是否贴地(线)",!1),new T([this,"strokeWidth"],"线宽",1),new lt([this,"strokeWidthType"],[["screen","screen"],["world","world"]],"线类型","screen"),new gt([this,"strokeColor"],"线颜色",[1,1,1,1]),new $([],"面样式集合"),new W([this,"filled"],"开启填充样式",!1),new W([this,"fillGround"],"是否贴地",!1),new gt([this,"fillColor"],"填充颜色",[1,1,1,1])],more:[...t.more,new $([],"点样式"),new nt([this,"pointMaterial"],"点材质",""),new H([this,"pointMaterialParams"],"点材质参数",{}),new $([],"线样式"),new nt([this,"strokeMaterial"],"线材质",""),new H([this,"strokeMaterialParams"],"线材质参数",{}),new $([],"填充样式"),new nt([this,"fillMaterial"],"面材质",""),new H([this,"fillMaterialParams"],"面材质参数",{})]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}};f(ko,"createDefaultProps",()=>({...Z.createDefaultProps(),pointed:!1,pointStyle:p.reactJson({size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:1}),stroked:!1,strokeStyle:p.reactJson({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!1,fillStyle:p.reactJson({color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(ko,"type",ko.register("ESLocalVector",ko,{chsName:"本地矢量",tags:["ESObjects"],description:"本地矢量对象"}));let Mo=ko;const ou=class ou extends Mo{};f(ou,"type",ou.register("ESLocalVector2D",ou,{chsName:"本地矢量2D",tags:["ESObjects"],description:"本地矢量2D对象"}));let vi=ou;const Y_=[["固定朝向",0],["面向屏幕旋转",1],["绕自身Z轴旋转",2]],H_=[["单面不透明",0],["双面不透明",1],["单面遮罩",2],["双面遮罩",3],["单面透明",4],["双面透明",5],["单面未遮挡透明",6],["双面未遮挡透明",7]],Vo=class Vo extends Z{constructor(){super(...arguments);f(this,"_widgetEvent",this.dv(new V))}get widgetEvent(){return this._widgetEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new W([this,"screenRender"],"屏幕渲染",!0),new W([this,"sizeByContent"],"尺寸自适应",!0),new ce([this,"size"],"尺寸大小",[100,100]),new ce([this,"anchor"],"偏移比例",[.5,1]),new ce([this,"offset"],"像素偏移",[0,0]),new lt([this,"renderMode"],H_,"渲染模式",0),new lt([this,"rotationType"],Y_,"漫游旋转类型",1),new nt([this,"actorTag"],"绑定对象"),new nt([this,"socketName"],"插槽名称"),new Re([this,"positionOffset"],"位置偏移"),new Re([this,"rotationOffset"],"相对姿态")],more:[...e.more,new T([this,"zOrder"],"排序",0)]}}};f(Vo,"createDefaultProps",()=>({...Z.createDefaultProps(),screenRender:!0,size:p.reactArray([100,100]),anchor:p.reactArray([.5,1]),offset:p.reactArray([0,0]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,actorTag:"",socketName:"",positionOffset:p.reactArray([0,0,0]),rotationOffset:p.reactArray([0,0,0])})),f(Vo,"type",Vo.register("ESLabel",Vo,{chsName:"标签",tags:["ESObjects"],description:"标签对象"}));let Nr=Vo;const zo=class zo extends j{constructor(t){super(t)}};f(zo,"createDefaultProps",()=>({...j.createDefaultProps(),show:!0,fillStyle:p.reactJson({color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(zo,"type",zo.register("ESTestObject",zo,{chsName:"测试",tags:["ESObjects"],description:""}));let Uc=zo;const Bn=class Bn extends bt{constructor(e){super(e);f(this,"_refreshTilesetEvent",this.dv(new V));f(this,"_tilesetReadyEvent",this.dv(new V));f(this,"_supportEdit",this.dv(p.react(!0)));f(this,"_highlightFeatureEvent",this.dv(new V));f(this,"_highlightFeatureAndFlyToEvent",this.dv(new V));f(this,"_strokeFeatureEvent",this.disposeVar(new V));f(this,"_getFeatureTableEvent",this.dv(new V));f(this,"_featureTableResultEvent",this.dv(new V));f(this,"_getMaterialNameListEvent",this.disposeVar(new V));f(this,"_setFeatureStyleEvent",this.dv(new V));f(this,"_setFeatureColorEvent",this.dv(new V));f(this,"_setFeatureVisableEvent",this.dv(new V));f(this,"_resetFeatureStyleEvent",this.dv(new V));f(this,"setMaterialInfoEvent",this.ad(new V));f(this,"_setMaterialEvent",this.disposeVar(new V));f(this,"_clippingPlanesId",this.dv(p.react("")));f(this,"_clippingPlaneIds",this.dv(p.react([])));f(this,"_flattenedPlaneId",this.dv(p.react("")));f(this,"_flattenedPlaneEnabled",this.dv(p.react(!1)));f(this,"_clippingPlaneId",this.dv(p.react("")));f(this,"_excavateId",this.dv(p.reactArray([])))}updateEditing(){var e;(e=this.activeViewer)==null||e.startEditing(this,[B.Translation,B.Rotation],{callSource:"inner"})}get refreshTilesetEvent(){return this._refreshTilesetEvent}refreshTileset(){this._refreshTilesetEvent.emit()}get tilesetReady(){return this._tilesetReadyEvent}get supportEdit(){return this._supportEdit.value}set supportEdit(e){this._supportEdit.value=e}get supportEditChanged(){return this._supportEdit.changed}get highlightFeatureEvent(){return this._highlightFeatureEvent}highlightFeature(e,r){this._highlightFeatureEvent.emit(e,r)}get highlightFeatureAndFlyToEvent(){return this._highlightFeatureAndFlyToEvent}highlightFeatureAndFlyTo(e,r,i,s){this._highlightFeatureAndFlyToEvent.emit(e,r,i,s)}get strokeFeatureEvent(){return this._strokeFeatureEvent}strokeFeature(e,r=[1,0,0,1]){this._strokeFeatureEvent.emit(e,r)}get getFeatureTableEvent(){return this._getFeatureTableEvent}getFeatureTable(){return Promise.race([new Promise(e=>{const r=this.d(this._featureTableResultEvent.donce(e));this._getFeatureTableEvent.emit(),setTimeout(()=>{r(),e(void 0)},2e3)})])}get getMaterialNameListEvent(){return this._getMaterialNameListEvent}getMaterialNameList(){return new Promise(e=>{const r=new q;r.d(this.getMaterialNameListEvent.don(i=>{i!=="start"&&(r.destroy(),e(i))})),this.getMaterialNameListEvent.emit("start"),setTimeout(()=>{r.isDestroyed()||(r.destroy(),e(void 0))},2e3)})}get setFeatureStyleEvent(){return this._setFeatureStyleEvent}setFeatureStyle(e){this._setFeatureStyleEvent.emit(e)}get setFeatureColorEvent(){return this._setFeatureColorEvent}setFeatureColor(e,r){this._setFeatureColorEvent.emit(e,typeof r=="string"?JSON.parse(r):r)}get setFeatureVisableEvent(){return this._setFeatureVisableEvent}setFeatureVisable(e,r){this._setFeatureVisableEvent.emit(e,typeof r=="string"?JSON.parse(r):r)}get resetFeatureStyleEvent(){return this._resetFeatureStyleEvent}resetFeatureStyle(){this._resetFeatureStyleEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(e){return new Promise(r=>{const i=new q;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),r(s)})),this._setMaterialEvent.emit(e)})}get clippingPlanesId(){return this._clippingPlanesId.value}set clippingPlanesId(e){this._clippingPlanesId.value=e}get clippingPlanesIdChanged(){return this._clippingPlanesId.changed}get clippingPlaneIds(){return this._clippingPlaneIds.value}set clippingPlaneIds(e){this._clippingPlaneIds.value=e}get clippingPlaneIdsChanged(){return this._clippingPlaneIds.changed}get flattenedPlaneId(){return this._flattenedPlaneId.value}set flattenedPlaneId(e){this._flattenedPlaneId.value=e}get flattenedPlaneIdChanged(){return this._flattenedPlaneId.changed}get flattenedPlaneEnabled(){return this._flattenedPlaneEnabled.value}set flattenedPlaneEnabled(e){this._flattenedPlaneEnabled.value=e}get flattenedPlaneEnabledChanged(){return this._flattenedPlaneEnabled.changed}get clippingPlaneId(){return this._clippingPlaneId.value}set clippingPlaneId(e){this._clippingPlaneId.value=e}get clippingPlaneIdChanged(){return this._clippingPlaneId.changed}get excavateId(){return this._excavateId.value}set excavateId(e){this._excavateId.value=e}get excavateIdChanged(){return this._excavateId.changed}setLight122(){this.czmEnvironmentMapManager={...zc}}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new ge([this,"maximumScreenSpaceError"],1,[0,256],"精度",16),new lt([this,"materialMode"],[["常规","normal"],["科技感","technology"]],"材质模式","normal",!0),new lt([this,"colorBlendMode"],[["默认","HIGHLIGHT"],["替换","REPLACE"],["混合","MIX"]],"颜色模式","HIGHLIGHT"),new H([this,"materialOverrideMap"],"材质替换",Bn.defaults.materialOverrideMap)],dataSource:[...e.dataSource,new H([this,"url"],"服务地址",Bn.defaults.url,void 0,!0)],coordinate:[...e.coordinate,new W([this,"editing"],"编辑",!1,!0),new Re([this,"offset"],"偏移",[0,0,0],!0),new Ol([this,"rotation"],"旋转",[0,0,0])],more:[...e.more,new H([this,"materialParams"],"materialParams",Bn.defaults.materialParams),new tt(["string","string"],(r,i)=>this.highlightFeature(r,i),["","rgba(255,0,0,1)"],"highlightFeature"),new tt(["string","string"],(r,i)=>this.setFeatureColor(r,i),["",""],"setFeatureColor"),new tt(["string","string"],(r,i)=>this.setFeatureVisable(r,i),["",""],"setFeatureVisable"),new tt([],()=>this.resetFeatureStyle(),[],"resetFeatureStyle"),new $([],"ue"),new tt([],()=>this.refreshTileset(),[],"refreshTileset"),new nt([this,"actorTag"]),new W([this,"highlight"],"是否高亮"),new gt([this,"highlightColor"]),new T([this,"highlightID"]),new $([],"czm"),new $([],"可视化"),new ce([this,"czmImageBasedLightingFactor"],"反射强度"),new T([this,"czmAtmosphereScatteringIntensity"],"大气散射强度"),new H([this,"czmEnvironmentMapManager"],"动态环境贴图管理器"),new T([this,"czmMaximumMemoryUsage"],"最大内存"),new $([],"常用"),new lt([this,"czmClassificationType"],[["NONE","NONE"],["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]],"czmClassificationType","NONE",!0),new H([this,"czmStyleJson"],"czmStyle"),new W([this,"czmBackFaceCulling"]),new W([this,"czmSkipLevelOfDetail"]),new T([this,"cacheBytes"],"最大缓存",512*1024*1024),new $([],"调试信息"),new W([this,"czmDebugShowBoundingVolume"]),new W([this,"czmDebugShowContentBoundingVolume"]),new $([],"clippingPlanes"),new W([this,"clippingPlaneEnabled"]),new W([this,"unionClippingRegions"]),new gt([this,"clippingPlaneEdgeColor"]),new T([this,"clippingPlaneEdgeWidth"])]}}};f(Bn,"createDefaultProps",()=>({...bt.createDefaultProps(),url:"",actorTag:"",materialMode:"normal",highlight:!1,maximumScreenSpaceError:16,highlightID:0,highlightColor:p.reactArray([1,0,0,1]),offset:p.reactArrayWithUndefined([0,0,0]),rotation:p.reactArray([0,0,0]),czmImageBasedLightingFactor:p.reactArray([1,1]),czmEnvironmentMapManager:p.reactJsonWithUndefined(void 0),czmLuminanceAtZenith:2,czmAtmosphereScatteringIntensity:2,czmMaximumMemoryUsage:512,czmClassificationType:"NONE",czmStyleJson:p.reactJson({}),czmBackFaceCulling:!0,czmDebugShowBoundingVolume:!1,czmDebugShowContentBoundingVolume:!1,czmSkipLevelOfDetail:!1,cacheBytes:512*1024*1024,colorBlendMode:"HIGHLIGHT",clippingPlaneEnabled:!0,unionClippingRegions:!0,clippingPlaneEdgeColor:p.reactArray([1,1,1,1]),clippingPlaneEdgeWidth:2,materialParams:{baseColor:[0,.5,1]},allowPicking:!0,materialOverrideMap:p.reactJsonWithUndefined({}),featureIdLabel:0,splitDirection:"NONE"})),f(Bn,"type",Bn.register("ES3DTileset",Bn,{chsName:"3DTileset",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),f(Bn,"supportEditingModes",[...bt.supportEditingModes,B.Translation,B.Rotation]);let Jr=Bn;const Uo=class Uo extends Z{constructor(e){super(e);f(this,"_isFlyInCreated",this.dv(p.react(!1)));f(this,"_readyEvent",this.dv(new V));this.collision=!1,this.d(this.createdEvent.don(()=>{setTimeout(()=>{if((this.editing??!1)||!this.position)this.d(Hs([this.positionChanged,this.editingChanged],()=>{this.editing||!this.position||this.isFlyInCreated&&this.flyTo()},{time:"donce"}));else{if(!this.isFlyInCreated)return;this.flyTo()}},1e3)}))}get isFlyInCreated(){return this._isFlyInCreated.value}set isFlyInCreated(e){this._isFlyInCreated.value=e}get isFlyInCreatedChanged(){return this._isFlyInCreated.changed}get readyEvent(){return this._readyEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new lt([this,"mode"],[["柱状警告","cylinder"],["圆形警告","circle"]],"模式","cylinder"),new T([this,"radius"],"半径",10)]}}};f(Uo,"createDefaultProps",()=>({...Z.createDefaultProps(),mode:"cylinder",radius:10})),f(Uo,"type",Uo.register("ESAlarm",Uo,{chsName:"报警",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警告类"}));let Gc=Uo;const Ts=class Ts extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new T([this,"radius"],"半径",1),new lt([this,"mode"],[["扫描","scan"],["扩散","diffuse"]],"模式",Ts.defaults.mode)]}}};f(Ts,"createDefaultProps",()=>({...Z.createDefaultProps(),radius:1,mode:"scan",collision:!1})),f(Ts,"type",Ts.register("ESApertureEffect",Ts,{chsName:"光圈特效",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"光圈特效"}));let Wc=Ts;const xs=class xs extends pt{constructor(e){super(e);f(this,"editingBindMode","circular")}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new T([this,"area"],"面积",0,!1,!0),new T([this,"perimeter"],"周长",0,!1,!0)]}}};f(xs,"createDefaultProps",()=>({...pt.createDefaultProps(),fillStyle:p.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!1}),strokeStyle:p.reactJson({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}),filled:!0,stroked:!1,collision:!1})),f(xs,"type",xs.register("ESGeoPolygon",xs,{chsName:"地理多边形",tags:["ESObjects"],description:"地理多边形"})),f(xs,"supportEditingModes",[...pt.supportEditingModes,B.CircularAppend,B.CircularInsert]);let Tt=xs;const _i=class _i extends Tt{get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialParams(){return this.fillStyle?this.fillStyle.materialParams:_i.defaults.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle??_i.defaults.fillStyle,materialParams:t??_i.defaults.fillStyle.materialParams}}constructor(t){super(t)}};f(_i,"createDefaultProps",()=>({...Tt.createDefaultProps(),stroked:!0,filled:!0,units:p.reactArray(["SquareMeter_SquareKilometer","MU_Hectare","PerimeterMeter_PerimeterKilometer"]),fillStyle:p.reactJson({color:[1,1,1,1],material:"Material'/EarthSDKForUE/M_ES_Material.M_ES_Material'",materialParams:{Opacity:.4},ground:!0}),strokeStyle:p.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(_i,"type",_i.register("ESAreaMeasurement",_i,{chsName:"面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"面积测量"}));let qc=_i;const Go=class Go extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"general",more:[...t.more,new $([],"czm"),new ma([this,"image"],"图片"),new Re([this,"translation"],"偏移")]}}};f(Go,"createDefaultProps",()=>({...Z.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:p.reactArray([0,0,0])})),f(Go,"type",Go.register("ESBlastParticleSystem",Go,{chsName:"粒子爆炸",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子爆炸"}));let Xc=Go;const In=class In extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new W([this,"reverse"],"反转",In.defaults.reverse),new Re([this,"size"],"尺寸",In.defaults.size),new gt([this,"edgeColor"],"边框颜色",In.defaults.edgeColor),new T([this,"edgeWidth"],"边框宽度",In.defaults.edgeWidth),new nt([this,"targetID"],"瓦片图层",In.defaults.targetID)]}}};f(In,"createDefaultProps",()=>({...Z.createDefaultProps(),reverse:!1,edgeColor:p.reactArray([1,1,1,1]),edgeWidth:2,size:p.reactArray([10,10,10]),targetID:""})),f(In,"type",In.register("ESBoxClipping",In,{chsName:"体剖切",tags:["ESObjects","_ES_Impl_Cesium"],description:"体剖切,体裁剪,体裁切,盒裁切"}));let Yc=In;const au=class au extends Z{constructor(){super(...arguments);f(this,"_thumbnail",this.dv(p.react("")));f(this,"_duration",this.dv(p.react(1)));f(this,"_resetWithCurrentCameraEvent",this.dv(new V));f(this,"_captureEvent",this.dv(new V))}get thumbnail(){return this._thumbnail.value}set thumbnail(e){this._thumbnail.value=e}get thumbnailChanged(){return this._thumbnail.changed}get duration(){return this._duration.value}set duration(e){this._duration.value=e}get durationChanged(){return this._duration.changed}flyIn(e=1,r="default"){this.flyInEvent.emit(e,-1,r)}get resetWithCurrentCameraEvent(){return this._resetWithCurrentCameraEvent}resetWithCurrentCamera(){this._resetWithCurrentCameraEvent.emit()}get captureEvent(){return this._captureEvent}capture(e,r){this._captureEvent.emit(e,r)}execOnCreating(){this.resetWithCurrentCamera()}async initByCurrent(){this.resetWithCurrentCamera()}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new $([],"ESCameraView"),new tt([],()=>this.resetWithCurrentCamera(),[],"设置为当前视角"),new tt(["number","number"],(r,i)=>this.capture(r,i),[64,64],"获取缩略图"),new nt([this,"thumbnail"],"缩略图","",!0),new T([this,"duration"],"飞行时间",1,!0)]}}};f(au,"type",au.register("ESCameraView",au,{chsName:"视角",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角"}));let rl=au;class nl extends q{constructor(e,r,i){super();f(this,"_view",this.dv(new rl));if(this.d(e.components.disposableAdd(this._view)),this._view.name=(i==null?void 0:i.name)??`视角${e.views.length+1}`,r){const a=this._view,u=r;a.duration=u.duration??1,a.position=u.position,a.rotation=u.rotation??[0,0,0],a.thumbnail=u.thumbnail??"",a.name=u.name}else{const a=(i==null?void 0:i.size)??[64,64];this.d(p.nextAnimateFrame(()=>{this._view.resetWithCurrentCamera(),this._view.capture(a[0],a[1])}))}const s=this._view,o=this.dv(p.createNextAnimateFrameEvent(s.durationChanged,s.positionChanged,s.rotationChanged,s.thumbnailChanged,s.nameChanged));this.d(o.don(()=>e.emitViewsWarpper()))}get view(){return this._view}get viewInfo(){const e=this._view;return{duration:e.duration,position:e.position,rotation:e.rotation,thumbnail:e.thumbnail,name:e.name}}}const Zr=class Zr extends j{constructor(e){super(e);f(this,"_currentViewIndex",this.dv(p.react(-1)));f(this,"_viewWrappers",this.dv(new p.ObservableArray));f(this,"_currentViewWrapper",this.dv(p.react(void 0)));f(this,"_container",this.dv(p.react(void 0)));this.initProcessing();{const r=()=>{if(!this._currentViewWrapper.value)return;this._viewWrappers.indexOf(this._currentViewWrapper.value)===-1&&(this._currentViewWrapper.value=void 0)};r(),this.d(this._viewWrappers.changedEvent.don(r))}{const r=()=>{const i=this._currentViewWrapper.value;this._currentViewIndex.value=i?this._getIndex(i):-1};r(),this.d(this._viewWrappers.changedEvent.don(r)),this.d(this._currentViewWrapper.changed.don(r))}this.d(()=>{this.clearAllViews()})}get json(){return{...this._innerGetJson(),views:this.views}}set json(e){this._innerSetJson(e),this.views=e.views}get currentViewIndex(){return this._currentViewIndex.value}get currentViewIndexChanged(){return this._currentViewIndex.changed}emitViewsWarpper(){this._viewWrappers.changedEvent.emit(this._viewWrappers)}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(e){this._container.value=e}get views(){return Zp(this._viewWrappers,e=>e.viewInfo)}get viewsChanged(){return this._viewWrappers.changedEvent}set views(e){if(e.length===this._viewWrappers.length){const r=this._viewWrappers;if(e.every((i,s)=>{const o=r.get(s).view;return i.duration===o.duration&&kc(i.position,o.position)&&kc(i.rotation,o.rotation)&&i.thumbnail===o.thumbnail&&i.name===o.name}))return}this.clearAllViews();for(let r of e)this._viewWrappers.push(new nl(this,r))}_getIndex(e){return this._viewWrappers.indexOf(e)}clearAllViews(){for(let e of this._viewWrappers)e.destroy();this._viewWrappers.length=0}add(e=`视角${this.views.length+1}`,r=[64,64]){this._viewWrappers.push(new nl(this,void 0,{name:e,size:r}))}update(e,r,i=[64,64]){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const s=this._viewWrappers.get(e);return r&&(s.view.name=r),s.view.resetWithCurrentCamera(),s.view.capture(i[0],i[1]),!0}addView(){this._viewWrappers.push(new nl(this))}insertView(e){if(this._viewWrappers.length+1<=e||e<0){console.error("this._views.length <= index || index < 0");return}this._viewWrappers.splice(e,0,new nl(this))}setCurrentView(e){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const r=this._viewWrappers.get(e);return this._currentViewWrapper.value=r,!0}resetView(e){if(e>=this._viewWrappers.length||e<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const r=this._viewWrappers.get(e);r.view.resetWithCurrentCamera(),r.view.capture()}resetViewName(e,r){if(e>=this._viewWrappers.length||e<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const i=this._viewWrappers.get(e);i.view.name=r}updateView(e,r){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const i=this._viewWrappers.get(e);return i.view.position=r.position,i.view.rotation=r.rotation??[0,0,0],i.view.duration=r.duration??1,i.view.thumbnail=r.thumbnail??"",i.view.name=r.name??"",!0}flyToView(e){if(this.setCurrentView(e)){if(!this._currentViewWrapper.value)throw new Error("this._currentViewWrapper.value");const r=this._currentViewWrapper.value.view.duration;this._currentViewWrapper.value.view.flyIn(r,this.flyMode??Zr.defaults.flyMode)}}flyToPrevView(){const e=this._currentViewWrapper.value;if(!e)return this.flyToView(0),!0;const r=this._getIndex(e);return this.loop??Zr.defaults.loop?(this.flyToView((this._viewWrappers.length+r-1)%this._viewWrappers.length),!0):r-1<0?!1:(this.flyToView(r-1),!0)}moveToPreView(){const e=this._currentViewWrapper.value;if(!e)return;const r=this._getIndex(e);if(r===0)return;const i=this._viewWrappers.splice(r-1,1,e)[0];this._viewWrappers.set(r,i)}moveToNextView(){const e=this._currentViewWrapper.value;if(!e)return;const r=this._getIndex(e);if(r===this._viewWrappers.length-1)return;const i=this._viewWrappers.splice(r+1,1,e)[0];this._viewWrappers.set(r,i)}flyToNextView(){const e=this._currentViewWrapper.value;if(!e)return this.flyToView(0),!0;const r=this._getIndex(e);return this.loop??Zr.defaults.loop?(this.flyToView((r+1)%this._viewWrappers.length),!0):r+1>this._viewWrappers.length-1?!1:(this.flyToView(r+1),!0)}stop(){this._currentViewWrapper.value=void 0,this.playing=!1}deleteView(e){if(e<0||e>=this._viewWrappers.length){console.warn("index < 0 || index >= this._viewWrappers.length");return}this._viewWrappers.get(e).destroy(),this._viewWrappers.splice(e,1)}deleteCurrentView(){const e=this._currentViewWrapper.value;if(!e){console.warn("!this._currentViewWrapper.value");return}const r=this._getIndex(e);if(r===-1){console.warn("index === -1");return}this.deleteView(r)}transitionImageUrl(e){return j.context.getStrFromEnv(e)}_flyStep(e){var o;if(!this.flyToNextView())return this.playing=!1,Promise.resolve();const r=this.intervalTime??Zr.defaults.intervalTime,s=((((o=this._currentViewWrapper.value)==null?void 0:o.viewInfo.duration)??0)+r)*1e3;return e.promise(p.sleep(s)).then(()=>this._flyStep(e))}initProcessing(){const e=this.dv(p.createProcessingFromAsyncFunc(async i=>this._flyStep(i))),r=()=>{this.playing?e.restart():e.cancel()};r(),this.d(this.playingChanged.don(r))}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new lt([this,"flyMode"],[["默认","default"],["直线飞行","uniform"]],"飞行模式",Zr.defaults.flyMode),new tt([],()=>this.addView(),[],"添加视角"),new tt(["number"],r=>this.insertView(r),[0],"插入视角"),new tt([],()=>this.clearAllViews(),[],"清空所有视角"),new tt([],()=>this.insertView(this.currentViewIndex+1),[],"当前位置插入视角"),new tt([],()=>this.flyToPrevView(),[],"上一个视角"),new tt([],()=>this.flyToNextView(),[],"下一个视角"),new tt([],()=>this.moveToPreView(),[],"当前视角移动到上一个视角"),new tt([],()=>this.moveToNextView(),[],"当前视角移动到下一个视角"),new tt(["number"],r=>this.flyToView(r),[0],"飞入指定视角"),new tt(["number"],r=>this.setCurrentView(r),[0],"设置当前视角"),new tt([],()=>this.deleteCurrentView(),[],"删除当前视角"),new tt(["number"],r=>this.deleteView(r),[0],"删除指定视角"),new tt(["number"],r=>this.resetView(r),[0],"重置视角"),new T([this,"currentViewIndex"],"当前序号",-1,!1,!0),new wf([this,"playing"],()=>this.stop(),[this,"loop"],"播放",Zr.defaults),new W([this,"playing"],"是否播放"),new tt([],()=>this.stop(),[],"停止"),new W([this,"loop"],"是否循环"),new T([this,"intervalTime"],"间隔时间"),new H([this,"views"],"视角集合",[],void 0,!0)]}}};f(Zr,"createDefaultProps",()=>({...j.createDefaultProps(),playing:!1,loop:!0,intervalTime:5,flyMode:"default"})),f(Zr,"type",Zr.register("ESCameraViewCollection",Zr,{chsName:"视角集合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角集合"}));let il=Zr;const Wo=class Wo extends Z{constructor(e){super(e);f(this,"editingBindMode","doublePoints")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new T([this,"aspectRatio"],"宽高比",1.77778),new T([this,"fov"],"横向夹角",90),new T([this,"far"],"视野长度",100),new T([this,"near"],"近面距离",5)]}}};f(Wo,"createDefaultProps",()=>({...Z.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1})),f(Wo,"type",Wo.register("ESCameraVisibleRange",Wo,{chsName:"摄像头可视域",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"摄像头可视域"}));let Hc=Wo;const qo=class qo extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new lt([this,"mode"],[["警车","policeCar"]],"模式","policeCar")]}}};f(qo,"createDefaultProps",()=>({...Z.createDefaultProps(),mode:"policeCar",allowPicking:!0})),f(qo,"type",qo.register("ESCar",qo,{chsName:"车辆",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警车等基础车辆模型"}));let sl=qo;const Os=class Os extends pt{constructor(e){super(e);f(this,"editingBindMode","circular")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new T([this,"height"],"高度",10)],coordinate:[...e.coordinate,new T([this,"area"],"面积",0,!1,!0),new T([this,"perimeter"],"周长",0,!1,!0)]}}};f(Os,"createDefaultProps",()=>({...pt.createDefaultProps(),height:10,filled:!0,fillStyle:p.reactJson({material:"",materialParams:{},ground:!0,color:[1,1,1,1]})})),f(Os,"type",Os.register("ESClassification",Os,{chsName:"倾斜单体化",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"平尾箭头"})),f(Os,"supportEditingModes",[...pt.supportEditingModes,B.CircularAppend,B.CircularInsert,B.HeightModify]);let ol=Os;const Xo=class Xo extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new W([this,"showArrow"],"显示箭头",!0),new gt([this,"edgeColor"],"线框颜色",[1,1,1,1]),new T([this,"edgetWidth"],"线框宽度",2),new T([this,"width"],"裁剪宽度",200),new T([this,"height"],"裁剪高度",200),new nt([this,"targetID"],"瓦片图层","")]}}};f(Xo,"createDefaultProps",()=>({...Z.createDefaultProps(),showArrow:!0,edgeColor:p.reactArray([1,1,1,1]),edgetWidth:2,width:200,height:200,targetID:""})),f(Xo,"type",Xo.register("ESClippingPlane",Xo,{chsName:"裁切",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESClippingPlane"}));let Bc=Xo;class B_ extends q{constructor(t,e,r){super();const i=document.createElement("div");i.setAttribute("xe2-div",`ESCustomDiv(${e.id})(viewer: ${r.id}) container`);{const u=()=>{const c=` ${e.cssText}
|
|
46
66
|
${e.cssAllInitial?"all: initial;":""}
|
|
47
67
|
${e.show?"":"display: none"}
|
|
48
|
-
`;i.style.cssText=c};u();const l=this.dv(
|
|
68
|
+
`;i.style.cssText=c};u();const l=this.dv(p.createNextAnimateFrameEvent(e.cssAllInitialChanged,e.cssTextChanged,e.showChanged));this.d(l.don(u))}t.appendChild(i),this.d(()=>t.removeChild(i));const s=this.dv(p.createNextAnimateFrameEvent(e.instanceClassChanged,e.containerChanged,e.shadowDomChanged)),o=this.dv(new p.ObjResettingWithEvent(s,()=>{const{instanceClass:u,container:l}=e;if(!u||l)return;let c=i;if(i.firstElementChild&&i.removeChild(i.firstElementChild),e.shadowDom){const h=i.appendChild(document.createElement("div"));h.setAttribute("xe2-div",`ESCustomDiv(${e.id})(viewer: ${r.id}) container shadowDiv`),c=h.attachShadow({mode:"open"}).appendChild(document.createElement("div")),c.setAttribute("xe2-div",`ESCustomDiv(${e.id})(viewer: ${r.id}) container shadowDiv div`)}return new u(c,e,r)})),{_updateEvent:a}=e;this.d(a.don(u=>{if(o.obj)try{u(o.obj,e,r)}catch(l){console.error(`ESCustomDiv update error! ${l}`)}}))}}const rg=`class MyDiv {
|
|
49
69
|
// subContainer是外部视口的div容器,可以在这里创建自己需要的DOM元素
|
|
50
70
|
// customDiv指向当前的CustomDiv场景对象
|
|
51
71
|
// viewer指定当前的视口
|
|
@@ -83,11 +103,11 @@ ${u.map(c=>`${c.id} ${c.typeName}
|
|
|
83
103
|
destroy() {
|
|
84
104
|
this._container.removeChild(this._div);
|
|
85
105
|
}
|
|
86
|
-
}`,
|
|
106
|
+
}`,J_=`示例代码:
|
|
87
107
|
\`\`\`
|
|
88
|
-
${
|
|
108
|
+
${rg}
|
|
89
109
|
\`\`\`
|
|
90
|
-
`,
|
|
110
|
+
`,Kr=class Kr extends j{constructor(e){super(e);f(this,"_updateEvent",this.dv(new V));f(this,"_instanceClassReact",this.dv(p.react(void 0)));f(this,"_innerHtmlMounted",this.dv(new V));f(this,"_container",this.dv(p.react(void 0)));this.registerAttachedObjectForContainer((i,s)=>new B_(s,this,i));{const i=()=>{try{this.instanceClass=this.instanceClassStr&&Function(`"use strict";return (${this.instanceClassStr})`)()}catch{this.instanceClass=void 0}};i(),this.d(this.instanceClassStrChanged.don(i))}{const i=()=>{if(this.innerHTML===void 0){this.instanceClassStr=void 0;return}const s=`class MyDiv {
|
|
91
111
|
// subContainer是外部视口的div容器,可以在这里创建自己需要的DOM元素
|
|
92
112
|
// customDiv指向当前的CustomDiv场景对象
|
|
93
113
|
// viewer指定当前的视口
|
|
@@ -108,13 +128,13 @@ ${Sp}
|
|
|
108
128
|
}`;this.instanceClassStr=s};i(),this.d(this.innerHTMLChanged.don(i))}const r=document.createElement("div");r.setAttribute("xe2-div",`ESCustomDiv(${this.id}) container`);{const i=()=>{const o=` ${this.cssText};
|
|
109
129
|
${this.cssAllInitial?"all: initial;":""}
|
|
110
130
|
${this.show?"":"display: none;"}
|
|
111
|
-
`;r.style.cssText=o};i();const s=this.dv(
|
|
131
|
+
`;r.style.cssText=o};i();const s=this.dv(p.createNextAnimateFrameEvent(this.cssAllInitialChanged,this.cssTextChanged,this.showChanged));this.d(s.don(i))}{const i=()=>{if(this.containerId===void 0||this.containerId==="")this.container=void 0;else{const s=document.getElementById(this.containerId);s instanceof HTMLElement?this.container=s:(this.container=void 0,console.warn(`Div from containerId(${this.containerId}) is not HTMLDivElement!`))}};i(),this.d(this.containerIdChanged.don(i))}{class i extends q{constructor(o){super(),o.appendChild(r),this.d(()=>o.removeChild(r))}}this.dv(new p.ObjResettingWithEvent(this.containerChanged,()=>{if(this.container)return new i(this.container)}))}{const i=this.dv(p.createNextAnimateFrameEvent(this.containerChanged,this.instanceClassChanged,this.shadowDomChanged));this.dv(new p.ObjResettingWithEvent(i,()=>{if(!this.container||!this.instanceClass)return;let s=r;if(r.firstElementChild&&r.removeChild(r.firstElementChild),this.shadowDom){const o=r.appendChild(document.createElement("div"));o.setAttribute("xe2-div","ESCustomDiv container shadowDiv"),s=o.attachShadow({mode:"open"}).appendChild(document.createElement("div")),s.setAttribute("xe2-div","ESCustomDiv container shadowDiv div")}return new this.instanceClass(s,this,void 0)}))}}update(e){this._updateEvent.emit(e)}get instanceClass(){return this._instanceClassReact.value}set instanceClass(e){this._instanceClassReact.value=e}get instanceClassChanged(){return this._instanceClassReact.changed}get innerHtmlMounted(){return this._innerHtmlMounted}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(e){this._container.value=e}getESProperties(){const e={...super.getESProperties()},r=i=>{i||alert("evalFuncStr为空,无法执行!");try{const s=i&&Function(`"use strict";return (${i})`)();this.update(s)}catch(s){alert(`updateDivFunc error: ${s}`)}};return{...e,more:[...e.more,new $([new W([this,"show"],"显示"),new bi([this,"instanceClassStr"],"实例类",rg,J_,!0),new bi([this,"innerHTML"],"innerHTML",Kr.defaultInnerHTML,Kr.innerHTMLReadMe,!0),new tt(["string"],r,["(divClass, dom, viewer) => divClass.update && divClass.update()"],"强制更新"),new W([this,"allowPicking"],"允许拾取",!0),new nt([this,"containerId"],"容器ID",Kr.defaults.containerId,!0),new W([this,"shadowDom"],"shadowDom"),new W([this,"cssAllInitial"],"cssAllInitial"),new nt([this,"cssText"],"cssText")],"ESCustomDiv")]}}};f(Kr,"createDefaultProps",()=>({...j.createDefaultProps(),show:!0,instanceClassStr:void 0,innerHTML:void 0,allowPicking:void 0,containerId:"",shadowDom:!1,cssAllInitial:!1,cssText:""})),f(Kr,"type",Kr.register("ESCustomDiv",Kr,{chsName:"ESCustomDiv",tags:["ESObjects"],description:"自定义div"})),f(Kr,"defaultInnerHTML",` <!-- z-index样式需要设置,否则可能导致看不到!-->
|
|
112
132
|
<div style="width: 300px; height: 50px; z-index: 100; position: absolute; left: 10px; top: 10px; background: rgba(120, 120, 0, 0.7); color: white; font-size: 30px; line-height: 50px; border: 1px solid white;">Hello world!</div>
|
|
113
|
-
`),
|
|
133
|
+
`),f(Kr,"innerHTMLReadMe",` 示例代码:
|
|
114
134
|
\`\`\`
|
|
115
|
-
${
|
|
135
|
+
${Kr.defaultInnerHTML}
|
|
116
136
|
\`\`\`
|
|
117
|
-
`);let
|
|
137
|
+
`);let al=Kr;const Ms=class Ms extends Z{constructor(e){super(e);f(this,"_maxTime",this.dv(p.react(23)))}get maxTime(){return this._maxTime.value}get maxTimeChanged(){return this._maxTime.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new H([this,"url"]),new T([this,"maxTime"],"maxTime",23,!0,!0),new T([this,"currentTime"]),new T([this,"minPropValue"]),new T([this,"maxPropValue"]),new H([this,"colorStops"],"colorStops",Ms.defaults.colorStops,void 0,!0)]}}};f(Ms,"createDefaultProps",()=>({...Z.createDefaultProps(),url:"http://114.242.26.126:6003/ESDataMesh/water-assets2/",currentTime:0,minPropValue:0,maxPropValue:1,colorStops:p.reactJsonWithUndefined([{ratio:0,rgba:[0,0,1,1]},{ratio:.2,rgba:[0,1,0,1]},{ratio:.8,rgba:[1,1,0,1]},{ratio:1,rgba:[1,0,0,1]}])})),f(Ms,"type",Ms.register("ESDataMesh",Ms,{chsName:"数值面着色",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"数值面着色"}));let Jc=Ms;const Ds=class Ds extends pt{constructor(e){super(e);f(this,"_distance",this.dv(p.react(0)));f(this,"editingBindMode","lineString");const r=()=>{this._distance.value=this.getDistance()??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,coordinate:[...e.coordinate,new T([this,"distance"],"长度",0,!1,!0)]}}};f(Ds,"createDefaultProps",()=>({...pt.createDefaultProps(),stroked:!0,strokeStyle:p.reactJson({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(Ds,"type",Ds.register("ESGeoLineString",Ds,{chsName:"地理折线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理折线"})),f(Ds,"supportEditingModes",[...pt.supportEditingModes,B.LineStringAppend,B.LineStringInsert]);let yi=Ds;const Yo=class Yo extends yi{constructor(t){super(t)}};f(Yo,"createDefaultProps",()=>({...yi.createDefaultProps(),strokeStyle:p.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(Yo,"type",Yo.register("ESDistanceMeasurement",Yo,{chsName:"距离测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"距离测量"}));let jc=Yo;const ji=class ji extends Tt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new lt([this,"mode"],ji.modes,"模式","in"),new nt([this,"targetID"],"瓦片图层","")]}}};f(ji,"createDefaultProps",()=>({...Tt.createDefaultProps(),mode:"in",targetID:"",filled:!1})),f(ji,"type",ji.register("ESExcavate",ji,{chsName:"挖坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"挖坑"})),f(ji,"modes",[["向内","in"],["向外","out"]]);let $a=ji;const Ho=class Ho extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"general",more:[...t.more,new ma([this,"image"],"图片"),new Re([this,"translation"],"偏移")]}}};f(Ho,"createDefaultProps",()=>({...Z.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:p.reactArray([0,0,0])})),f(Ho,"type",Ho.register("ESFireParticleSystem",Ho,{chsName:"粒子烟火",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子烟火"}));let Zc=Ho;const j_=`
|
|
118
138
|
## 参数类型为 ESTreeType
|
|
119
139
|
\`\`\`js
|
|
120
140
|
type ESJVector2D = [number, number]
|
|
@@ -124,7 +144,7 @@ ${Sp}
|
|
|
124
144
|
space: number
|
|
125
145
|
}
|
|
126
146
|
\`\`\`
|
|
127
|
-
`,
|
|
147
|
+
`,Ls=class Ls extends bt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new H([this,"url"],"路径",!0),new H([this,"treeTypes"],"treeTypes",[],void 0,!0),new H([this,"xiaoBanWidget"],"xiaoBanWidget",Ls.defaults.xiaoBanWidget,j_,!0),new nt([this,"youShiSZ"]),new nt([this,"diLei"]),new nt([this,"senLinLB"]),new nt([this,"labelMaterial"]),new T([this,"heightOffset"])]}}};f(Ls,"createDefaultProps",()=>({...bt.createDefaultProps(),url:"",treeTypes:p.reactJsonWithUndefined([]),xiaoBanWidget:p.reactJsonWithUndefined({class:"WidgetBlueprint'/ESFoliage/ESDefaultXiaoBan.ESDefaultXiaoBan",pivot:[.5,1],space:1}),youShiSZ:"StringTable'/ESFoliage/You_Shi_SZ.You_Shi_SZ'",diLei:"StringTable'/ESFoliage/Di_Lei.Di_Lei'",senLinLB:"StringTable'/ESFoliage/Sen_Lin_LB.Sen_Lin_LB'",labelMaterial:"Material'/ESFoliage/ES3DWidgetMaterial.ES3DWidgetMaterial'",heightOffset:40})),f(Ls,"type",Ls.register("ESForestTileset",Ls,{chsName:"森林切片图层",tags:["ESObjects","_ES_Impl_UE"],description:"ESForestTileset"}));let Kc=Ls;const ng=`class MyDiv {
|
|
128
148
|
// container是Poi的div
|
|
129
149
|
// geoCustomDivPoi指向当前的GeoCustomDivPoi场景对象
|
|
130
150
|
// viewer指定当前的视口
|
|
@@ -155,16 +175,16 @@ ${Sp}
|
|
|
155
175
|
destroy() {
|
|
156
176
|
this._container.removeChild(this._div);
|
|
157
177
|
}
|
|
158
|
-
}`,
|
|
178
|
+
}`,Z_=`示例代码:
|
|
159
179
|
\`\`\`
|
|
160
|
-
${
|
|
180
|
+
${ng}
|
|
161
181
|
\`\`\`
|
|
162
|
-
`,
|
|
163
|
-
`,
|
|
182
|
+
`,ig=`<div style="width: 300px; height: 50px; background: rgba(120, 120, 0, 0.7); color: white; font-size: 30px; line-height: 50px; border: 1px solid white;">Hello world!</div>
|
|
183
|
+
`,K_=`示例代码:
|
|
164
184
|
\`\`\`
|
|
165
|
-
${
|
|
185
|
+
${ig}
|
|
166
186
|
\`\`\`
|
|
167
|
-
`,
|
|
187
|
+
`,Pn=class Pn extends Z{constructor(e){super(e);f(this,"_widgetEvent",this.dv(new V));f(this,"_echartsFunReact",this.dv(p.react(void 0)));f(this,"_instanceClassReact",this.dv(p.react(void 0)));const r=()=>{try{this.instanceClass=this.instanceClassStr&&Function(`"use strict";return (${this.instanceClassStr})`)()}catch{this.instanceClass=void 0}};r(),this.d(this.instanceClassStrChanged.don(r));{const i=()=>{if(this.innerHTML===void 0){this.instanceClassStr=void 0;return}const s=`class MyDiv {
|
|
168
188
|
// container是Poi的div
|
|
169
189
|
// geoCustomDivPoi指向当前的GeoCustomDivPoi场景对象
|
|
170
190
|
// viewer指定当前的视口
|
|
@@ -180,7 +200,7 @@ ${Ip}
|
|
|
180
200
|
destroy() {
|
|
181
201
|
this._container.removeChild(this._div);
|
|
182
202
|
}
|
|
183
|
-
}`;this.instanceClassStr=s};i(),this.d(this.innerHTMLChanged.don(i))}}get widgetEvent(){return this._widgetEvent}get echartsFun(){return this._echartsFunReact.value}set echartsFun(e){this._echartsFunReact.value=e}get echartsFunChanged(){return this._echartsFunReact.changed}get instanceClass(){return this._instanceClassReact.value}set instanceClass(e){this._instanceClassReact.value=e}get instanceClassChanged(){return this._instanceClassReact.changed}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new L([this,"opacity"],"透明度",Ln.defaults.opacity,!0),new L([this,"zOrder"],"zOrder",Ln.defaults.zOrder,!0),new ge([this,"anchor"],"偏移比例",Ln.defaults.anchor,!0),new Fi([this,"innerHTML"],"innerHTML",Ln.defaults.innerHTML,Xy,!0),new Fi([this,"instanceClassStr"],"实例类",Ln.defaults.instanceClassStr,qy,!0),new W([this,"renderInUE"],"是否在UE中渲染",!0,!1)]}}};d(Ln,"createDefaultProps",()=>({...j.createDefaultProps(),opacity:1,anchor:h.reactArray([.5,1]),instanceClassStr:Cp,innerHTML:Ip,zOrder:0,renderInUE:!1})),d(Ln,"type",Ln.register("ESGeoDiv",Ln,{chsName:"ESGeoDiv",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESGeoDiv"}));let Tc=Ln;const Ws=class Ws extends yt{constructor(e){super(e);d(this,"editingBindMode","doublePoints")}toPolygon(){if(this.points&&this.points.length>=2){const e=[...this.points][0],r=[...this.points][1];return[e,[e[0],r[1],e[2]],r,[r[0],e[1],r[2]]]}else return}_updateArea(){if(this.points&&this.points.length>=2){const e=[...this.points],r=e[0],i=e[1],s=[r,[r[0],i[1],r[2]],i,[i[0],r[1],i[2]]];this._area.value=_l(s)}else this._area.value=0}_updatePerimeter(){if(this.points&&this.points.length>=2){const e=[...this.points],r=e[0],i=e[1],s=[r,[r[0],i[1],r[2]],i,[i[0],r[1],i[2]]],o=[...s,s[0]],a=Xa(o,"GEODESIC"),u=a[a.length-1];this._perimeter.value=u}else this._perimeter.value=0}getESProperties(){const e=super.getESProperties();return{...e,coordinate:[...e.coordinate,new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)]}}};d(Ws,"createDefaultProps",()=>({...yt.createDefaultProps(),collision:!1,stroked:!0,filled:!0,fillStyle:h.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),d(Ws,"type",Ws.register("ESGeoRectangle",Ws,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),d(Ws,"supportEditingModes",[...yt.supportEditingModes,B.DoublePointsAppend,B.DoublePointsModify]);let Oc=Ws;const Dc={translationX:0,translationY:0,translationZ:0,rotationHeading:0,rotationPitch:0,rotationRoll:0,scaleX:1,scaleY:1,scaleZ:1},os=class os extends j{constructor(e){super(e);d(this,"_nodeTransformations",this.dv(h.react(void 0)));d(this,"_czmModelReadyEvent",this.dv(new h.Event));d(this,"_setNodePositionEvent",this.dv(new h.Event));d(this,"_setNodeRotationEvent",this.dv(new h.Event));d(this,"_setNodeScaleEvent",this.dv(new h.Event));d(this,"_printDebugInfoEvent",this.dv(new h.Event));d(this,"setMaterialInfoEvent",this.ad(new h.Event));d(this,"_setMaterialEvent",this.disposeVar(new h.Event))}get nodeTransformations(){return this._nodeTransformations.value}set nodeTransformations(e){this._nodeTransformations.value=e}get nodeTransformationsChanged(){return this._nodeTransformations.changed}get czmModelReadyEvent(){return this._czmModelReadyEvent}deleteNodeTransformation(e){if(!this.nodeTransformations||!this.nodeTransformations[e])return;const r={...this.nodeTransformations};delete r[e],this.nodeTransformations=r}get setNodePositionEvent(){return this._setNodePositionEvent}setNodePosition(e,r){this._setNodePositionEvent.emit(e,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[e]??{...Dc};if(r.some(s=>!Number.isFinite(s))){console.error(`setNodePosition error: ${e} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[e]:{...i,translationX:r[0],translationY:r[1],translationZ:r[2]}}}get setNodeRotationEvent(){return this._setNodeRotationEvent}setNodeRotation(e,r){this._setNodeRotationEvent.emit(e,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[e]??{...Dc};if(r.some(s=>!Number.isFinite(s))){console.error(`setNodeRotation error: ${e} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[e]:{...i,rotationHeading:r[0],rotationPitch:r[1],rotationRoll:r[2]}}}get setNodeScaleEvent(){return this._setNodeScaleEvent}setNodeScale(e,r){this._setNodeScaleEvent.emit(e,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[e]??{...Dc};if(r.some(s=>!Number.isFinite(s)||s<0)){console.error(`setNodeScale error: !Number.isFinite(e) || e < 0 ${e} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[e]:{...i,scaleX:r[0],scaleY:r[1],scaleZ:r[2]}}}getNodePosition(e){if(!this.nodeTransformations)return;const r=this.nodeTransformations[e];if(r)return[r.translationX,r.translationY,r.translationZ]}getNodeRotation(e){if(!this.nodeTransformations)return;const r=this.nodeTransformations[e];if(r)return[r.rotationHeading,r.rotationPitch,r.rotationRoll]}getNodeScale(e){if(!this.nodeTransformations)return;const r=this.nodeTransformations[e];if(r)return[r.scaleX,r.scaleY,r.scaleZ]}get printDebugInfoEvent(){return this._printDebugInfoEvent}printDebugInfo(){this._printDebugInfoEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(e){return new Promise(r=>{const i=new h.Destroyable;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),r(s)})),this._setMaterialEvent.emit(e)})}setLight122(){this.czmEnvironmentMapManager={...cc}}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",dataSource:[...e.dataSource,new Q([this,"url"],"模型路径",os.defaults.url,void 0,!0),new Q([this,"instances"],"实例化矩阵",os.defaults.instances,void 0,!0)],more:[...e.more,new ge([this,"czmImageBasedLightingFactor"]),new L([this,"czmAtmosphereScatteringIntensity"]),new Q([this,"czmEnvironmentMapManager"]),new nt([],()=>this.printDebugInfo(),[],"控制台输出模型信息"),new L([this,"czmMaximumScale"],"最大缩放比例",void 0,!0),new L([this,"czmNativeScale"],"统一缩放值"),new L([this,"czmMinimumPixelSize"],"最小像素尺寸"),new _t([this,"czmColor"],"颜色")]}}};d(os,"createDefaultProps",()=>({...j.createDefaultProps(),url:"${earthsdk3-assets-script-dir}/assets/glb/building.glb",czmMaximumScale:void 0,czmMinimumPixelSize:0,czmNativeScale:1,czmColor:h.reactArray([1,1,1,1]),allowPicking:!0,instances:h.reactArrayWithUndefined([]),czmImageBasedLightingFactor:h.reactArray([1,1]),czmAtmosphereScatteringIntensity:2,czmEnvironmentMapManager:h.reactJsonWithUndefined(void 0)})),d(os,"type",os.register("ESGltfModel",os,{chsName:"模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"gltf模型"}));let Mc=os;const an=class an extends j{constructor(e){super(e);d(this,"_aiMoveToEvent",this.dv(new h.Event));d(this,"_stopAIMoveEvent",this.dv(new h.Event))}get aiMoveToEvent(){return this._aiMoveToEvent}aiMoveTo(e,r){this._aiMoveToEvent.emit(e,r)}get stopAIMoveEvent(){return this._stopAIMoveEvent}stopAIMove(){this._stopAIMoveEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new pt([this,"mode"],an.modes,"模式",an.defaults.mode,!0),new pt([this,"animation"],an.animations,"动画",an.defaults.animation,!0)],more:[...e.more,new nt(["numbers","number"],(r,i)=>this.aiMoveTo(r,i),[[0,0,0],0],"自动寻路"),new nt([],()=>this.stopAIMove(),[],"停止自动寻路")]}}};d(an,"createDefaultProps",()=>({...j.createDefaultProps(),mode:"worker",animation:"standing",allowPicking:!0})),d(an,"type",an.register("ESHuman",an,{chsName:"人员",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"工人 警察 路人"})),d(an,"modes",[["工人","worker"],["警察","police"],["路人","pedestrian"],["陌生人","stranger"],["男士","suitMan"],["女士","suitWoman"]]),d(an,"animations",[["站立","standing"],["行走","walking"],["奔跑","running"]]);let Fo=an;const qs=class qs extends Rr{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Q([this,"url"],"图片路径",qs.defaults.url),new W([this,"isHoverZoom"],"悬浮放大")]}}};d(qs,"createDefaultProps",()=>({...Rr.createDefaultProps(),url:"inner://CameraBlue.png",isHoverZoom:!1,renderMode:4})),d(qs,"type",qs.register("ESImageLabel",qs,{chsName:"图片标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"基础图片标签。"}));let xc=qs;const ii=class ii extends Rt{constructor(t){super(t),this.ad(h.bind([this,"czmSplitDirection"],[this,"splitDirection"])),this.ad(h.bind([this,"czmAlpha"],[this,"opacity"]))}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new L([this,"zIndex"],"层级序号",ii.defaults.zIndex)],dataSource:[...t.dataSource,new Q([this,"url"],"影像服务地址"),new hn([this,"rectangle"],"矩形范围",ii.defaults.rectangle,!0),new we([this,"maximumLevel"],1,[1,24],"最大级别",ii.defaults.maximumLevel,!0),new Q([this,"options"],"options",ii.defaults.options,void 0,!0),new ot([this,"targetID"],"targetID"),new we([this,"opacity"],.01,[0,1],"opacity",1)],more:[...t.more,new rt([],"通用"),new L([this,"height"],"高度"),new ot([this,"actorTag"]),new ot([this,"componentTag"]),new L([this,"minimumLevel"]),new rt([],"图像"),new L([this,"czmAlpha"],"透明度"),new L([this,"czmBrightness"],"亮度"),new L([this,"czmContrast"],"对比度"),new L([this,"czmHue"],"色相"),new L([this,"czmSaturation"],"饱和度"),new L([this,"czmGamma"],"伽马值")]}}};d(ii,"createDefaultProps",()=>({...Rt.createDefaultProps(),url:"",rectangle:h.reactJsonWithUndefined([-180,-90,180,90]),options:h.reactJsonWithUndefined(void 0),zIndex:0,actorTag:"",componentTag:"",maximumLevel:22,minimumLevel:0,targetID:"",czmSplitDirection:"NONE",czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1,opacity:1,splitDirection:"NONE"})),d(ii,"type",ii.register("ESImageryLayer",ii,{chsName:"影像图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"影像图层"}));let Lc=ii;const Yy=`
|
|
203
|
+
}`;this.instanceClassStr=s};i(),this.d(this.innerHTMLChanged.don(i))}}get widgetEvent(){return this._widgetEvent}get echartsFun(){return this._echartsFunReact.value}set echartsFun(e){this._echartsFunReact.value=e}get echartsFunChanged(){return this._echartsFunReact.changed}get instanceClass(){return this._instanceClassReact.value}set instanceClass(e){this._instanceClassReact.value=e}get instanceClassChanged(){return this._instanceClassReact.changed}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new T([this,"opacity"],"透明度",Pn.defaults.opacity,!0),new T([this,"zOrder"],"zOrder",Pn.defaults.zOrder,!0),new ce([this,"anchor"],"偏移比例",Pn.defaults.anchor,!0),new bi([this,"innerHTML"],"innerHTML",Pn.defaults.innerHTML,K_,!0),new bi([this,"instanceClassStr"],"实例类",Pn.defaults.instanceClassStr,Z_,!0),new W([this,"renderInUE"],"是否在UE中渲染",!0,!1)]}}};f(Pn,"createDefaultProps",()=>({...Z.createDefaultProps(),opacity:1,anchor:p.reactArray([.5,1]),instanceClassStr:ng,innerHTML:ig,zOrder:0,renderInUE:!1})),f(Pn,"type",Pn.register("ESGeoDiv",Pn,{chsName:"ESGeoDiv",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESGeoDiv"}));let Qc=Pn;const As=class As extends pt{constructor(e){super(e);f(this,"editingBindMode","doublePoints")}toPolygon(){if(this.points&&this.points.length>=2){const e=[...this.points][0],r=[...this.points][1];return[e,[e[0],r[1],e[2]],r,[r[0],e[1],r[2]]]}else return}_updateArea(){if(this.points&&this.points.length>=2){const e=[...this.points],r=e[0],i=e[1],s=[r,[r[0],i[1],r[2]],i,[i[0],r[1],i[2]]];this._area.value=Ul(s)}else this._area.value=0}_updatePerimeter(){if(this.points&&this.points.length>=2){const e=[...this.points],r=e[0],i=e[1],s=[r,[r[0],i[1],r[2]],i,[i[0],r[1],i[2]]],o=[...s,s[0]],a=Ka(o,"GEODESIC"),u=a[a.length-1];this._perimeter.value=u}else this._perimeter.value=0}getESProperties(){const e=super.getESProperties();return{...e,coordinate:[...e.coordinate,new T([this,"area"],"面积",0,!1,!0),new T([this,"perimeter"],"周长",0,!1,!0)]}}};f(As,"createDefaultProps",()=>({...pt.createDefaultProps(),collision:!1,stroked:!0,filled:!0,fillStyle:p.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),f(As,"type",As.register("ESGeoRectangle",As,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),f(As,"supportEditingModes",[...pt.supportEditingModes,B.DoublePointsAppend,B.DoublePointsModify]);let $c=As;const th={translationX:0,translationY:0,translationZ:0,rotationHeading:0,rotationPitch:0,rotationRoll:0,scaleX:1,scaleY:1,scaleZ:1},Zi=class Zi extends Z{constructor(e){super(e);f(this,"_nodeTransformations",this.dv(p.react(void 0)));f(this,"_czmModelReadyEvent",this.dv(new V));f(this,"_setNodePositionEvent",this.dv(new V));f(this,"_setNodeRotationEvent",this.dv(new V));f(this,"_setNodeScaleEvent",this.dv(new V));f(this,"_printDebugInfoEvent",this.dv(new V));f(this,"setMaterialInfoEvent",this.ad(new V));f(this,"_setMaterialEvent",this.disposeVar(new V))}get nodeTransformations(){return this._nodeTransformations.value}set nodeTransformations(e){this._nodeTransformations.value=e}get nodeTransformationsChanged(){return this._nodeTransformations.changed}get czmModelReadyEvent(){return this._czmModelReadyEvent}deleteNodeTransformation(e){if(!this.nodeTransformations||!this.nodeTransformations[e])return;const r={...this.nodeTransformations};delete r[e],this.nodeTransformations=r}get setNodePositionEvent(){return this._setNodePositionEvent}setNodePosition(e,r){this._setNodePositionEvent.emit(e,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[e]??{...th};if(r.some(s=>!Number.isFinite(s))){console.error(`setNodePosition error: ${e} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[e]:{...i,translationX:r[0],translationY:r[1],translationZ:r[2]}}}get setNodeRotationEvent(){return this._setNodeRotationEvent}setNodeRotation(e,r){this._setNodeRotationEvent.emit(e,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[e]??{...th};if(r.some(s=>!Number.isFinite(s))){console.error(`setNodeRotation error: ${e} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[e]:{...i,rotationHeading:r[0],rotationPitch:r[1],rotationRoll:r[2]}}}get setNodeScaleEvent(){return this._setNodeScaleEvent}setNodeScale(e,r){this._setNodeScaleEvent.emit(e,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[e]??{...th};if(r.some(s=>!Number.isFinite(s)||s<0)){console.error(`setNodeScale error: !Number.isFinite(e) || e < 0 ${e} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[e]:{...i,scaleX:r[0],scaleY:r[1],scaleZ:r[2]}}}getNodePosition(e){if(!this.nodeTransformations)return;const r=this.nodeTransformations[e];if(r)return[r.translationX,r.translationY,r.translationZ]}getNodeRotation(e){if(!this.nodeTransformations)return;const r=this.nodeTransformations[e];if(r)return[r.rotationHeading,r.rotationPitch,r.rotationRoll]}getNodeScale(e){if(!this.nodeTransformations)return;const r=this.nodeTransformations[e];if(r)return[r.scaleX,r.scaleY,r.scaleZ]}get printDebugInfoEvent(){return this._printDebugInfoEvent}printDebugInfo(){this._printDebugInfoEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(e){return new Promise(r=>{const i=new q;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),r(s)})),this._setMaterialEvent.emit(e)})}setLight122(){this.czmEnvironmentMapManager={...zc}}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",dataSource:[...e.dataSource,new H([this,"url"],"模型路径",Zi.defaults.url,void 0,!0),new H([this,"instances"],"实例化矩阵",Zi.defaults.instances,void 0,!0)],more:[...e.more,new ce([this,"czmImageBasedLightingFactor"]),new T([this,"czmAtmosphereScatteringIntensity"]),new H([this,"czmEnvironmentMapManager"]),new tt([],()=>this.printDebugInfo(),[],"控制台输出模型信息"),new T([this,"czmMaximumScale"],"最大缩放比例",void 0,!0),new T([this,"czmNativeScale"],"统一缩放值"),new T([this,"czmMinimumPixelSize"],"最小像素尺寸"),new gt([this,"czmColor"],"颜色")]}}};f(Zi,"createDefaultProps",()=>({...Z.createDefaultProps(),url:"${earthsdk3-assets-script-dir}/assets/glb/building.glb",czmMaximumScale:void 0,czmMinimumPixelSize:0,czmNativeScale:1,czmColor:p.reactArray([1,1,1,1]),allowPicking:!0,instances:p.reactArrayWithUndefined([]),czmImageBasedLightingFactor:p.reactArray([1,1]),czmAtmosphereScatteringIntensity:2,czmEnvironmentMapManager:p.reactJsonWithUndefined(void 0)})),f(Zi,"type",Zi.register("ESGltfModel",Zi,{chsName:"模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"gltf模型"}));let Hi=Zi;const Qr=class Qr extends Z{constructor(e){super(e);f(this,"_aiMoveToEvent",this.dv(new V));f(this,"_stopAIMoveEvent",this.dv(new V))}get aiMoveToEvent(){return this._aiMoveToEvent}aiMoveTo(e,r){this._aiMoveToEvent.emit(e,r)}get stopAIMoveEvent(){return this._stopAIMoveEvent}stopAIMove(){this._stopAIMoveEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new lt([this,"mode"],Qr.modes,"模式",Qr.defaults.mode,!0),new lt([this,"animation"],Qr.animations,"动画",Qr.defaults.animation,!0)],more:[...e.more,new tt(["numbers","number"],(r,i)=>this.aiMoveTo(r,i),[[0,0,0],0],"自动寻路"),new tt([],()=>this.stopAIMove(),[],"停止自动寻路")]}}};f(Qr,"createDefaultProps",()=>({...Z.createDefaultProps(),mode:"worker",animation:"standing",allowPicking:!0})),f(Qr,"type",Qr.register("ESHuman",Qr,{chsName:"人员",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"工人 警察 路人"})),f(Qr,"modes",[["工人","worker"],["警察","police"],["路人","pedestrian"],["陌生人","stranger"],["男士","suitMan"],["女士","suitWoman"]]),f(Qr,"animations",[["站立","standing"],["行走","walking"],["奔跑","running"]]);let Ps=Qr;const Rs=class Rs extends Nr{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new H([this,"url"],"图片路径",Rs.defaults.url),new W([this,"isHoverZoom"],"悬浮放大")]}}};f(Rs,"createDefaultProps",()=>({...Nr.createDefaultProps(),url:"inner://CameraBlue.png",isHoverZoom:!1,renderMode:4})),f(Rs,"type",Rs.register("ESImageLabel",Rs,{chsName:"图片标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"基础图片标签。"}));let ul=Rs;const Jn=class Jn extends bt{constructor(t){super(t),this.ad(p.bind([this,"czmSplitDirection"],[this,"splitDirection"])),this.ad(p.bind([this,"czmAlpha"],[this,"opacity"]))}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new T([this,"zIndex"],"层级序号",Jn.defaults.zIndex)],dataSource:[...t.dataSource,new H([this,"url"],"影像服务地址"),new rn([this,"rectangle"],"矩形范围",Jn.defaults.rectangle,!0),new ge([this,"maximumLevel"],1,[1,24],"最大级别",Jn.defaults.maximumLevel,!0),new H([this,"options"],"options",Jn.defaults.options,void 0,!0),new nt([this,"targetID"],"targetID"),new ge([this,"opacity"],.01,[0,1],"opacity",1)],more:[...t.more,new $([],"通用"),new T([this,"height"],"高度"),new nt([this,"actorTag"]),new nt([this,"componentTag"]),new T([this,"minimumLevel"]),new $([],"图像"),new T([this,"czmAlpha"],"透明度"),new T([this,"czmBrightness"],"亮度"),new T([this,"czmContrast"],"对比度"),new T([this,"czmHue"],"色相"),new T([this,"czmSaturation"],"饱和度"),new T([this,"czmGamma"],"伽马值")]}}};f(Jn,"createDefaultProps",()=>({...bt.createDefaultProps(),url:"",rectangle:p.reactJsonWithUndefined([-180,-90,180,90]),options:p.reactJsonWithUndefined(void 0),zIndex:0,actorTag:"",componentTag:"",maximumLevel:22,minimumLevel:0,targetID:"",czmSplitDirection:"NONE",czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1,opacity:1,splitDirection:"NONE"})),f(Jn,"type",Jn.register("ESImageryLayer",Jn,{chsName:"影像图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"影像图层"}));let eh=Jn;const Q_=`
|
|
184
204
|
# 声明文件
|
|
185
205
|
### options 类型
|
|
186
206
|
\`\`\`javascript
|
|
@@ -286,14 +306,14 @@ export type ESJTimeIntervalCollectionJsonType = {
|
|
|
286
306
|
};
|
|
287
307
|
|
|
288
308
|
\`\`\`
|
|
289
|
-
`,An=class An extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"size"],"尺寸",An.defaults.size),new W([this,"autoFollow"],"自动跟随",An.defaults.autoFollow),new pt([this,"mode"],An.modes,"模式","blueSky")],more:[...t.more,new L([this,"autoOpacityFactor"],"自动消失系数",An.defaults.autoOpacityFactor)]}}};d(An,"createDefaultProps",()=>({...j.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky",collision:!1,allowPicking:!1})),d(An,"type",An.register("ESLocalSkyBox",An,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),d(An,"modes",[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]);let Ac=An;const nu=class nu extends j{constructor(e){super(e);d(this,"_location",this.disposeVar(h.react(void 0)));{const r=()=>{this.location=this.position};r(),this.ad(this.positionChanged.don(r))}}get location(){return this._location.value}set location(e){this._location.value=e}get locationChanged(){return this._location.changed}};d(nu,"type",nu.register("ESLocationMeasurement",nu,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"位置测量点"}));let Rc=nu;const ke=class ke extends j{constructor(e){super(e);d(this,"_player",this.dv(new Dn));{const r=ke.defaults;this.d(h.bind([this._player,"loop"],[this,"playingLoop"],i=>i??r.playingLoop,i=>i??r.playingLoop)),this.d(h.bind([this._player,"currentTime"],[this,"currentTime"],i=>i??r.currentTime,i=>i??r.currentTime)),this.d(h.bind([this._player,"duration"],[this,"duration"],i=>i??r.duration,i=>i??r.duration)),this.d(h.bind([this._player,"playing"],[this,"playing"],i=>i??r.playing,i=>i??r.playing)),this.d(h.bind([this._player,"speed"],[this,"playingSpeed"],i=>i??r.playingSpeed,i=>i??r.playingSpeed))}}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(e){this._player.ratio=e}get ratioChanged(){return this._player.ratioChanged}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new rt([],"通用","通用"),new nt(["number"],r=>this.flyTo(r),[1e3],"飞入"),new Fi([this,"updateCallback"],"更新回调函数",void 0,void 0,!0),new L([this,"emissionRate"],"发射率",5,!0),new W([this,"loop"],"是否循环",!0,!0),new L([this,"particleScale"],"等级",1,!0),new L([this,"startScale"],"初始等级",void 0,!0),new L([this,"endScale"],"结束等级",ke.defaults.endScale,!0),new _t([this,"color"],"颜色",void 0,!0),new _t([this,"startColor"],"初始颜色",void 0,!0),new _t([this,"endColor"],"结束颜色",void 0,!0),new W([this,"sizeInMeters"],"尺寸单位为米",void 0,!0),new L([this,"speed"],"速度",1,!0),new L([this,"minimumSpeed"],"最小速度",void 0,!0),new L([this,"maximumSpeed"],"最大速度",void 0,!0),new L([this,"lifetime"],"生命周期",Number.MAX_VALUE,!0),new L([this,"particleLife"],"粒子生命周期",ke.defaults.particleLife,!0),new L([this,"minimumParticleLife"],"最小粒子生命周期",void 0,!0),new L([this,"maximumParticleLife"],"最大粒子生命周期",void 0,!0),new L([this,"mass"],"块数量",1,!0),new L([this,"minimumMass"],"最小块数量",void 0,!0),new L([this,"maximumMass"],"最大块数量",void 0,!0),new ge([this,"imageSize"],"图片尺寸",ke.defaults.imageSize,!0),new ge([this,"minimumImageSize"],"最小图片尺寸",void 0,!0),new ge([this,"maximumImageSize"],"最大图片尺寸",void 0,!0),new pa([this,"image"],"图片",ke.defaults.image,!0),new Ve([this,"translation"],"偏移",[0,0,0],!0),new ul([this,"bursts"],"bursts",void 0,!0),new Q([this,"emitter"],"emitter",ke.defaults.emitter),new rt([],"播放器","播放器"),new L([this,"ratio"],"播放比率",0,!0),new ou([this,"playing"],[this,"ratio"],[this,"playingLoop"],"播放器"),new W([this,"playingLoop"],"是否循环",ke.defaults.playingLoop,!0),new L([this,"currentTime"],"当前时间",ke.defaults.currentTime,!0),new L([this,"duration"],"过渡时间",ke.defaults.duration,!0),new W([this,"playing"],"是否播放",ke.defaults.playing,!0),new L([this,"playingSpeed"],"播放速度",ke.defaults.playingSpeed,!0)]}}};d(ke,"createDefaultProps",()=>({...j.createDefaultProps(),emitter:h.reactJsonWithUndefined({type:"CircleEmitter",radius:.5}),bursts:h.reactArrayCollectionWithUndefined(void 0),translation:h.reactArrayWithUndefined(void 0),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",imageSize:h.reactArrayWithUndefined([20,20]),minimumImageSize:h.reactArrayWithUndefined(void 0),maximumImageSize:h.reactArrayWithUndefined(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:4,color:h.reactArrayWithUndefined(void 0),startColor:h.reactArrayWithUndefined(void 0),endColor:h.reactArrayWithUndefined(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:.5,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:!0,currentTime:0,duration:6e3,playingSpeed:1,playing:!0})),d(ke,"type",ke.register("ESParticleSystemPrimitive",ke,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"}));let Fc=ke;const Rn=class Rn extends Rr{constructor(e){super(e);d(this,"initialStyle",this.ad(h.reactJsonWithUndefined(void 0)));d(this,"_getInitialStyleEvent",this.disposeVar(new h.Event))}get getInitialStyleEvent(){return this._getInitialStyleEvent}getInitialStyle(){return Promise.race([new Promise(e=>{const r=this.d(this.initialStyle.changed.disposableOnce(e));this.getInitialStyleEvent.emit(),setTimeout(()=>{r(),e(void 0)},2e3)})])}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new pt([this,"mode"],Rn.modes,"模式",Rn.defaults.mode),new Q([this,"style"],"样式",Rn.defaults.style),new W([this,"autoAnchor"],"自动锚点对齐",Rn.defaults.autoAnchor)]}}};d(Rn,"createDefaultProps",()=>({...Rr.createDefaultProps(),mode:"SquareH01",style:h.reactJson({fontSize:16,imageSize:[60,60],textBackgroundColor:[1,1,1,0],textBackgroundSize:[120,30],textColor:[1,1,1,1],textOffset:[10,2],textBoxOffset:[40,0],textBoxAlign:"start",textBoxShow:!0,textBoxMode:"default"}),autoAnchor:!0})),d(Rn,"type",Rn.register("ESPoi2D",Rn,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(Rn,"modes",[["自定义","Custom"],["SquareH01","SquareH01"],["SquareH02","SquareH02"],["SquareV01","SquareV01"],["SquareV02","SquareV02"],["SquareV03","SquareV03"],["SquareV04","SquareV04"],["Flag01","Flag01"],["Flag02","Flag02"],["Linear01","Linear01"],["Linear02","Linear02"],["Linear03","Linear03"],["CircularH01","CircularH01"],["CircularH02","CircularH02"],["CircularV01","CircularV01"],["CircularV02","CircularV02"],["CircularV03","CircularV03"],["CircularV04","CircularV04"],["CircularV05","CircularV05"],["P3D01","P3D01"],["P3D02","P3D02"],["P3D03","P3D03"],["P3D04","P3D04"],["P3D05","P3D05"],["P3D06","P3D06"],["P3D07","P3D07"],["Diamond01","Diamond01"],["Diamond02","Diamond02"],["Stranger","Stranger"],["ManNormal","ManNormal"],["ManAbnormal","ManAbnormal"],["WomanNormal","WomanNormal"],["WomanAbnormal","WomanAbnormal"],["Camera","Camera"]]);let Za=Rn;const si=class si extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new pt([this,"mode"],si.modes,"模式",si.defaults.mode),new Q([this,"style"],"样式",si.defaults.style)]}}};d(si,"createDefaultProps",()=>({...j.createDefaultProps(),mode:"triangle",style:h.reactJson({UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]})})),d(si,"type",si.register("ESPoi3D",si,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(si,"modes",[["三角形","triangle"],["菱形","diamond"]]);let kc=si;const Zo=class Zo extends kt{constructor(e){super(e);d(this,"_czmFlattenedPlaneId",this.dv(h.react("")))}get czmFlattenedPlaneId(){return this._czmFlattenedPlaneId.value}set czmFlattenedPlaneId(e){this._czmFlattenedPlaneId.value=e}get czmFlattenedPlaneIdChanged(){return this._czmFlattenedPlaneId.changed}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ot([this,"targetID"],"瓦片图层","")]}}};d(Zo,"createDefaultProps",()=>({...kt.createDefaultProps(),targetID:"",filled:!1})),d(Zo,"type",Zo.register("ESPolygonFlattenedPlane",Zo,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"}));let Vc=Zo;const Pp=async(n,t,e)=>{const{viewer:r}=n;if(!r){console.error("AddTrees: ueViewer.viewer is undefined");return}const i=await r.callUeFunc({f:"AddTrees",p:{id:t,TreeParams:e}});return i.error&&console.error("AddTrees:",i.error),i},Np=async(n,t)=>{const{viewer:e}=n;if(!e){console.error("RemoveAllTrees: ueViewer.viewer is undefined");return}const r=await e.callUeFunc({f:"RemoveAllTrees",p:{id:t}});return r.error&&console.error("RemoveAllTrees:",r.error),r},bp=async(n,t,e)=>{const{viewer:r}=n;if(!r){console.error("UpdateTreeParams: ueViewer.viewer is undefined");return}const i=await r.callUeFunc({f:"UpdateTreeParams",p:{id:t,TreeParams:e}});return i.error&&console.error("UpdateTreeParams:",i.error),i},Tp=async(n,t,e,r)=>{const{viewer:i}=n;if(!i){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const s=await i.callUeFunc({f:"CutDownTrees",p:{id:t,TreeIds:e,TimeLength:r}});return s.error&&console.error("CutDownTrees:",s.error),s},Op=async(n,t,e,r,i)=>{const{viewer:s}=n;if(!s){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const o=await s.callUeFunc({f:"GrowthSimulation",p:{id:t,ToParams:e,SwitchTime:i,TimeLength:r}});return o.error&&console.error("GrowthSimulation:",o.error),o},Ko=class Ko extends Rt{constructor(e){super(e);d(this,"_addTreesEvent",this.dv(new h.Event));d(this,"_removeAllTreesEvent",this.dv(new h.Event));d(this,"_updateTreeParamsEvent",this.dv(new h.Event));d(this,"_cutDownTreesEvent",this.dv(new h.Event));d(this,"_growthSimulationEvent",this.dv(new h.Event))}async addTreesCallFunc(e,r){return await Pp(e,this.id,r)}async updateTreeParamsCallFunc(e,r){return await bp(e,this.id,r)}async cutDownTreesCallFunc(e,r,i){return await Tp(e,this.id,r,i)}async removeAllTreesCallFunc(e){return await Np(e,this.id)}async growthSimulationCallFunc(e,r,i,s){return await Op(e,this.id,r,i,s)}async getIdByComponentNameAndHitItem(e,r,i){return await e.getIdByComponentNameAndHitItem(this.id,r,i)}get addTreesEvent(){return this._addTreesEvent}addTrees(e){this._addTreesEvent.emit(e)}get removeAllTreesEvent(){return this._removeAllTreesEvent}removeAllTrees(){this._removeAllTreesEvent.emit()}get updateTreeParamsEvent(){return this._updateTreeParamsEvent}updateTreeParams(e){this._updateTreeParamsEvent.emit(e)}get cutDownTreesEvent(){return this._cutDownTreesEvent}cutDownTrees(e,r){this._cutDownTreesEvent.emit(e,r)}get growthSimulationEvent(){return this._growthSimulationEvent}growthSimulation(e,r,i){this._growthSimulationEvent.emit(e,r,i)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new rt([],"通用"),new Q([this,"treeTypes"],"treeTypes",[],"{ name: string, meshPath: string }[]",!0),new L([this,"stumpId"],"树桩id"),new L([this,"intervalTime"],"动画间隔时间"),new L([this,"switchIntervalTime"],"切换间隔时间")]}}};d(Ko,"createDefaultProps",()=>({...Rt.createDefaultProps(),treeTypes:h.reactJsonWithUndefined([]),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})),d(Ko,"type",Ko.register("ESSeparateFoliage",Ko,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"}));let zc=Ko;function el(n,t,e){const r="buffer"in n,i=r?n.buffer:n;r&&(t+=n.byteOffset);const s=new Array(e),o=new DataView(i);for(let a=0;a<e;++a){const u=o.getUint8(t+a);s[a]=String.fromCharCode(u)}return s.join("")}function rl(n,t){const e="buffer"in n,r=e?n.buffer:n;return e&&(t+=n.byteOffset),new DataView(r).getUint32(t,!0)}function Dp(n,t,e){const r="buffer"in n,i=r?n.buffer:n;if(r&&(t+=n.byteOffset),t+e>i.byteLength){console.error("byteOffset + length > buffer.byteLength");return}return new Uint8Array(i,t,e)}function Hy(n,t,e){const r="buffer"in n,i=r?n.buffer:n;if(r&&(t+=n.byteOffset),t+e*2>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint16Array(i,t,e)}function Jy(n,t,e){const r="buffer"in n,i=r?n.buffer:n;if(r&&(t+=n.byteOffset),t+e*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint32Array(i,t,e)}function Zy(n,t,e){const r="buffer"in n,i=r?n.buffer:n;if(r&&(t+=n.byteOffset),t+e*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Float32Array(i,t,e)}function Mp(n){if(el(n,0,4)!=="glTF"){console.error("Not a glTF file");return}const e=rl(n,4);if(e!==2){console.error("Unsupported glTF version");return}const r=rl(n,8);if(r!==n.byteLength){console.error("Invalid glTF length");return}const i=rl(n,12);if(i+12+4>r){console.error("Invalid glTF chunk length");return}if(el(n,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const o=el(n,20,i),a={version:e,length:r,gltfJson:o};if(20+i<n.byteLength){const u=rl(n,20+i);if(el(n,20+i+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const c=Dp(n,20+i+8,u);a.gltfBinary=c}return a}window.parseGlb=Mp;function xp(n){const t=Mp(n);if(t===void 0||!t.gltfBinary)return;const e=JSON.parse(t.gltfJson);return e.nodes.map(r=>{var i=e.meshes[r.mesh],s=i.primitives[0].attributes.POSITION,o=i.primitives[0].indices,a=e.accessors[s],u=e.bufferViews[a.bufferView];if(!t.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const l=Zy(t.gltfBinary,u.byteOffset??0,u.byteLength/4);var c=e.accessors[o],f=e.bufferViews[c.bufferView];if(!t.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let p;return c.componentType===5121?p=Dp(t.gltfBinary,f.byteOffset??0,f.byteLength/1):c.componentType===5123?p=Hy(t.gltfBinary,f.byteOffset??0,f.byteLength/2):c.componentType===5125&&(p=Jy(t.gltfBinary,f.byteOffset??0,f.byteLength/4)),{name:r.name,posBuffer:l,indicesBuffer:p}})}window.parseWaterGlb=xp;const Je=class Je extends j{constructor(e){super(e);d(this,"_submergingData");d(this,"_allMoments",[]);d(this,"readyEvent",this.dv(new h.Event));{const r=()=>{this.url!=""&&fetch(this.url).then(i=>{i.status==200&&i.ok&&i.arrayBuffer().then(s=>{this._submergingData=xp(s);const o=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=o,this.currentTime==0&&(this.currentTime=o[0]),this.readyEvent.emit()})}).catch(i=>{console.log(i)})};r(),this.d(this.urlChanged.don(()=>{r()}))}}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ot([this,"url"],"Url地址",Je.defaults.url),new we([this,"amplitude"],.01,[0,1],"振幅",Je.defaults.amplitude),new L([this,"frequency"],"频率",Je.defaults.frequency),new L([this,"currentTime"],"当前时间",Je.defaults.currentTime),new Q([this,"materialParams"],"材质参数",Je.defaults.materialParams),new pt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型","river"),new _t([this,"waterColor"],"水的底色",Je.defaults.waterColor),new we([this,"waveVelocity"],.01,[0,1],"波动频率",Je.defaults.waveVelocity),new L([this,"flowSpeed"],"水流速度",Je.defaults.flowSpeed),new we([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Je.defaults.specularIntensity),new we([this,"murkiness"],.01,[0,10],"水体浑浊度",Je.defaults.murkiness)]}}};d(Je,"createDefaultProps",()=>({...j.createDefaultProps(),allowPicking:!0,url:"",currentTime:0,materialParams:h.reactJson({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,murkiness:5})),d(Je,"type",Je.register("ESSubmergingAnalysis",Je,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"}));let Uc=Je;const Xs=class Xs extends kt{constructor(e){super(e);d(this,"_startEvent",this.dv(new h.Event));d(this,"_stopEvent",this.dv(new h.Event))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new _t([this,"startColor"],"起始颜色"),new _t([this,"endColor"],"结束颜色"),new L([this,"progress"],"计算进度"),new L([this,"extrudedHeight"],"高度m"),new L([this,"height"],"底面高度"),new L([this,"sampleDistance"],"采样间距m"),new L([this,"startTime"],"起始时间,时间戳"),new L([this,"endTime"],"结束时间,时间戳"),new L([this,"spanTime"],"时间跨度,默认1小时时间戳"),new nt([],()=>this.start(),[],"开始分析"),new nt([],()=>this.stop(),[],"结束分析")]}}};d(Xs,"createDefaultProps",()=>({...kt.createDefaultProps(),extrudedHeight:30,height:0,sampleDistance:10,startColor:h.reactArray([1,1,0,1]),endColor:h.reactArray([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0,filled:!1,stroked:!1})),d(Xs,"type",Xs.register("ESSunshineAnalysis",Xs,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),d(Xs,"supportEditingModes",[...kt.supportEditingModes,B.HeightModify]);let Gc=Xs;const un=class un extends Rt{constructor(e){super(e);d(this,"_activateEvent",this.disposeVar(new h.Event));d(this,"activate",!1)}get activateEvent(){return this._activateEvent}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new L([this,"zIndex"],"层级序号",un.defaults.zIndex),new pt([this,"renderMode"],un.renderModes,"渲染模式","default"),new L([this,"opacity"],"透明度",un.defaults.opacity)],dataSource:[...e.dataSource,new Q([this,"url"],"地形服务地址",un.defaults.url),new hn([this,"rectangle"],"矩形范围",un.defaults.rectangle)],more:[...e.more,new L([this,"czmMinzoom"],"czmMinzoom",void 0,!0),new L([this,"czmMaxzoom"],"czmMaxzoom",void 0,!0)]}}};d(un,"createDefaultProps",()=>({...Rt.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:h.reactArray([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0,renderMode:"default",opacity:1})),d(un,"type",un.register("ESTerrainLayer",un,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"})),d(un,"renderModes",[["使用深度检测","default"],["不使用深度检测","disableDepthTest"],["透明","transparent"]]);let Wc=un;const oi=class oi extends Rr{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new _t([this,"color"],"文本颜色",[1,1,1,1]),new L([this,"fontSize"],"文字大小",14),new ll([this,"text"],"内容",oi.defaults.text,void 0,!0),new _t([this,"backgroundColor"],"背景颜色",oi.defaults.backgroundColor),new hn([this,"padding"],"内边距",oi.defaults.padding),new _t([this,"borderColor"],"边界颜色"),new hn([this,"borderRadius"],"边界圆角"),new L([this,"borderWidth"],"边界宽度")],more:[...t.more,new rt([],"czm","czm"),new W([this,"textEditingInteraction"],"文本编辑交互"),new W([this,"textEditing"],"文本编辑"),new L([this,"width"],"宽度",oi.defaults.width,!0),new L([this,"opacity"],"透明度"),new pt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置","left"),new pt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};d(oi,"createDefaultProps",()=>({...Rr.createDefaultProps(),text:"请输入文字",width:80,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:h.reactArray([1,1,1,1]),backgroundColor:h.reactArray([0,0,0,.8]),padding:h.reactArray([5,5,5,5]),borderRadius:h.reactArray([6,6,6,6]),borderWidth:0,borderColor:h.reactArray([1,1,1,1]),borderStyle:"solid"})),d(oi,"type",oi.register("ESTextLabel",oi,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"}));let qc=oi;const Ky=`
|
|
309
|
+
`,bn=class bn extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new T([this,"size"],"尺寸",bn.defaults.size),new W([this,"autoFollow"],"自动跟随",bn.defaults.autoFollow),new lt([this,"mode"],bn.modes,"模式","blueSky")],more:[...t.more,new T([this,"autoOpacityFactor"],"自动消失系数",bn.defaults.autoOpacityFactor)]}}};f(bn,"createDefaultProps",()=>({...Z.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky",collision:!1,allowPicking:!1})),f(bn,"type",bn.register("ESLocalSkyBox",bn,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),f(bn,"modes",[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]);let rh=bn;const uu=class uu extends Z{constructor(e){super(e);f(this,"_location",this.disposeVar(p.react(void 0)));{const r=()=>{this.location=this.position};r(),this.ad(this.positionChanged.don(r))}}get location(){return this._location.value}set location(e){this._location.value=e}get locationChanged(){return this._location.changed}};f(uu,"type",uu.register("ESLocationMeasurement",uu,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"位置测量点"}));let nh=uu;const Ae=class Ae extends Z{constructor(e){super(e);f(this,"_player",this.dv(new nn));{const r=Ae.defaults;this.d(p.bind([this._player,"loop"],[this,"playingLoop"],i=>i??r.playingLoop,i=>i??r.playingLoop)),this.d(p.bind([this._player,"currentTime"],[this,"currentTime"],i=>i??r.currentTime,i=>i??r.currentTime)),this.d(p.bind([this._player,"duration"],[this,"duration"],i=>i??r.duration,i=>i??r.duration)),this.d(p.bind([this._player,"playing"],[this,"playing"],i=>i??r.playing,i=>i??r.playing)),this.d(p.bind([this._player,"speed"],[this,"playingSpeed"],i=>i??r.playingSpeed,i=>i??r.playingSpeed))}}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(e){this._player.ratio=e}get ratioChanged(){return this._player.ratioChanged}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new $([],"通用","通用"),new tt(["number"],r=>this.flyTo(r),[1e3],"飞入"),new bi([this,"updateCallback"],"更新回调函数",void 0,void 0,!0),new T([this,"emissionRate"],"发射率",5,!0),new W([this,"loop"],"是否循环",!0,!0),new T([this,"particleScale"],"等级",1,!0),new T([this,"startScale"],"初始等级",void 0,!0),new T([this,"endScale"],"结束等级",Ae.defaults.endScale,!0),new gt([this,"color"],"颜色",void 0,!0),new gt([this,"startColor"],"初始颜色",void 0,!0),new gt([this,"endColor"],"结束颜色",void 0,!0),new W([this,"sizeInMeters"],"尺寸单位为米",void 0,!0),new T([this,"speed"],"速度",1,!0),new T([this,"minimumSpeed"],"最小速度",void 0,!0),new T([this,"maximumSpeed"],"最大速度",void 0,!0),new T([this,"lifetime"],"生命周期",Number.MAX_VALUE,!0),new T([this,"particleLife"],"粒子生命周期",Ae.defaults.particleLife,!0),new T([this,"minimumParticleLife"],"最小粒子生命周期",void 0,!0),new T([this,"maximumParticleLife"],"最大粒子生命周期",void 0,!0),new T([this,"mass"],"块数量",1,!0),new T([this,"minimumMass"],"最小块数量",void 0,!0),new T([this,"maximumMass"],"最大块数量",void 0,!0),new ce([this,"imageSize"],"图片尺寸",Ae.defaults.imageSize,!0),new ce([this,"minimumImageSize"],"最小图片尺寸",void 0,!0),new ce([this,"maximumImageSize"],"最大图片尺寸",void 0,!0),new ma([this,"image"],"图片",Ae.defaults.image,!0),new Re([this,"translation"],"偏移",[0,0,0],!0),new Tl([this,"bursts"],"bursts",void 0,!0),new H([this,"emitter"],"emitter",Ae.defaults.emitter),new $([],"播放器","播放器"),new T([this,"ratio"],"播放比率",0,!0),new hu([this,"playing"],[this,"ratio"],[this,"playingLoop"],"播放器"),new W([this,"playingLoop"],"是否循环",Ae.defaults.playingLoop,!0),new T([this,"currentTime"],"当前时间",Ae.defaults.currentTime,!0),new T([this,"duration"],"过渡时间",Ae.defaults.duration,!0),new W([this,"playing"],"是否播放",Ae.defaults.playing,!0),new T([this,"playingSpeed"],"播放速度",Ae.defaults.playingSpeed,!0)]}}};f(Ae,"createDefaultProps",()=>({...Z.createDefaultProps(),emitter:p.reactJsonWithUndefined({type:"CircleEmitter",radius:.5}),bursts:p.reactArrayCollectionWithUndefined(void 0),translation:p.reactArrayWithUndefined(void 0),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",imageSize:p.reactArrayWithUndefined([20,20]),minimumImageSize:p.reactArrayWithUndefined(void 0),maximumImageSize:p.reactArrayWithUndefined(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:4,color:p.reactArrayWithUndefined(void 0),startColor:p.reactArrayWithUndefined(void 0),endColor:p.reactArrayWithUndefined(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:.5,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:!0,currentTime:0,duration:6e3,playingSpeed:1,playing:!0})),f(Ae,"type",Ae.register("ESParticleSystemPrimitive",Ae,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"}));let ll=Ae;const Nn=class Nn extends Nr{constructor(e){super(e);f(this,"initialStyle",this.ad(p.reactJsonWithUndefined(void 0)));f(this,"_getInitialStyleEvent",this.disposeVar(new V))}get getInitialStyleEvent(){return this._getInitialStyleEvent}getInitialStyle(){return Promise.race([new Promise(e=>{const r=this.d(this.initialStyle.changed.disposableOnce(e));this.getInitialStyleEvent.emit(),setTimeout(()=>{r(),e(void 0)},2e3)})])}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new lt([this,"mode"],Nn.modes,"模式",Nn.defaults.mode),new H([this,"style"],"样式",Nn.defaults.style),new W([this,"autoAnchor"],"自动锚点对齐",Nn.defaults.autoAnchor)]}}};f(Nn,"createDefaultProps",()=>({...Nr.createDefaultProps(),mode:"SquareH01",style:p.reactJson({fontSize:16,imageSize:[60,60],textBackgroundColor:[1,1,1,0],textBackgroundSize:[120,30],textColor:[1,1,1,1],textOffset:[10,2],textBoxOffset:[40,0],textBoxAlign:"start",textBoxShow:!0,textBoxMode:"default"}),autoAnchor:!0})),f(Nn,"type",Nn.register("ESPoi2D",Nn,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),f(Nn,"modes",[["自定义","Custom"],["SquareH01","SquareH01"],["SquareH02","SquareH02"],["SquareV01","SquareV01"],["SquareV02","SquareV02"],["SquareV03","SquareV03"],["SquareV04","SquareV04"],["Flag01","Flag01"],["Flag02","Flag02"],["Linear01","Linear01"],["Linear02","Linear02"],["Linear03","Linear03"],["CircularH01","CircularH01"],["CircularH02","CircularH02"],["CircularV01","CircularV01"],["CircularV02","CircularV02"],["CircularV03","CircularV03"],["CircularV04","CircularV04"],["CircularV05","CircularV05"],["P3D01","P3D01"],["P3D02","P3D02"],["P3D03","P3D03"],["P3D04","P3D04"],["P3D05","P3D05"],["P3D06","P3D06"],["P3D07","P3D07"],["Diamond01","Diamond01"],["Diamond02","Diamond02"],["Stranger","Stranger"],["ManNormal","ManNormal"],["ManAbnormal","ManAbnormal"],["WomanNormal","WomanNormal"],["WomanAbnormal","WomanAbnormal"],["Camera","Camera"]]);let tu=Nn;const jn=class jn extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new lt([this,"mode"],jn.modes,"模式",jn.defaults.mode),new H([this,"style"],"样式",jn.defaults.style)]}}};f(jn,"createDefaultProps",()=>({...Z.createDefaultProps(),mode:"triangle",style:p.reactJson({UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]})})),f(jn,"type",jn.register("ESPoi3D",jn,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),f(jn,"modes",[["三角形","triangle"],["菱形","diamond"],["制(存)梁场","BridgePrefabricationSite"],["汽车运输便道","ExportRoad"],["拌合站","MixingStation"],["小型预制构件厂","PrefabricatedComponentsSite"],["项目部","ProjectDepartment"],["铁路岔线","RailwayFork"],["钢筋加工厂","RebarMachining"],["临时电力干线","TempElectricMain"],["铺轨基地","TrackLayingBase"],["汽车运梁通道","TransportationBridge"]]);let ih=jn;const Bo=class Bo extends Tt{constructor(e){super(e);f(this,"_czmFlattenedPlaneId",this.dv(p.react("")))}get czmFlattenedPlaneId(){return this._czmFlattenedPlaneId.value}set czmFlattenedPlaneId(e){this._czmFlattenedPlaneId.value=e}get czmFlattenedPlaneIdChanged(){return this._czmFlattenedPlaneId.changed}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new nt([this,"targetID"],"瓦片图层","")]}}};f(Bo,"createDefaultProps",()=>({...Tt.createDefaultProps(),targetID:"",filled:!1})),f(Bo,"type",Bo.register("ESPolygonFlattenedPlane",Bo,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"}));let sh=Bo;const sg=async(n,t,e)=>{const{viewer:r}=n;if(!r){console.error("AddTrees: ueViewer.viewer is undefined");return}const i=await r.callUeFunc({f:"AddTrees",p:{id:t,TreeParams:e}});return i.error&&console.error("AddTrees:",i.error),i},og=async(n,t)=>{const{viewer:e}=n;if(!e){console.error("RemoveAllTrees: ueViewer.viewer is undefined");return}const r=await e.callUeFunc({f:"RemoveAllTrees",p:{id:t}});return r.error&&console.error("RemoveAllTrees:",r.error),r},ag=async(n,t,e)=>{const{viewer:r}=n;if(!r){console.error("UpdateTreeParams: ueViewer.viewer is undefined");return}const i=await r.callUeFunc({f:"UpdateTreeParams",p:{id:t,TreeParams:e}});return i.error&&console.error("UpdateTreeParams:",i.error),i},ug=async(n,t,e,r)=>{const{viewer:i}=n;if(!i){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const s=await i.callUeFunc({f:"CutDownTrees",p:{id:t,TreeIds:e,TimeLength:r}});return s.error&&console.error("CutDownTrees:",s.error),s},lg=async(n,t,e,r,i)=>{const{viewer:s}=n;if(!s){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const o=await s.callUeFunc({f:"GrowthSimulation",p:{id:t,ToParams:e,SwitchTime:i,TimeLength:r}});return o.error&&console.error("GrowthSimulation:",o.error),o},Jo=class Jo extends bt{constructor(e){super(e);f(this,"_addTreesEvent",this.dv(new V));f(this,"_removeAllTreesEvent",this.dv(new V));f(this,"_updateTreeParamsEvent",this.dv(new V));f(this,"_cutDownTreesEvent",this.dv(new V));f(this,"_growthSimulationEvent",this.dv(new V))}async addTreesCallFunc(e,r){return await sg(e,this.id,r)}async updateTreeParamsCallFunc(e,r){return await ag(e,this.id,r)}async cutDownTreesCallFunc(e,r,i){return await ug(e,this.id,r,i)}async removeAllTreesCallFunc(e){return await og(e,this.id)}async growthSimulationCallFunc(e,r,i,s){return await lg(e,this.id,r,i,s)}async getIdByComponentNameAndHitItem(e,r,i){return await e.getIdByComponentNameAndHitItem(this.id,r,i)}get addTreesEvent(){return this._addTreesEvent}addTrees(e){this._addTreesEvent.emit(e)}get removeAllTreesEvent(){return this._removeAllTreesEvent}removeAllTrees(){this._removeAllTreesEvent.emit()}get updateTreeParamsEvent(){return this._updateTreeParamsEvent}updateTreeParams(e){this._updateTreeParamsEvent.emit(e)}get cutDownTreesEvent(){return this._cutDownTreesEvent}cutDownTrees(e,r){this._cutDownTreesEvent.emit(e,r)}get growthSimulationEvent(){return this._growthSimulationEvent}growthSimulation(e,r,i){this._growthSimulationEvent.emit(e,r,i)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new $([],"通用"),new H([this,"treeTypes"],"treeTypes",[],"{ name: string, meshPath: string }[]",!0),new T([this,"stumpId"],"树桩id"),new T([this,"intervalTime"],"动画间隔时间"),new T([this,"switchIntervalTime"],"切换间隔时间")]}}};f(Jo,"createDefaultProps",()=>({...bt.createDefaultProps(),treeTypes:p.reactJsonWithUndefined([]),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})),f(Jo,"type",Jo.register("ESSeparateFoliage",Jo,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"}));let oh=Jo;function cl(n,t,e){const r="buffer"in n,i=r?n.buffer:n;r&&(t+=n.byteOffset);const s=new Array(e),o=new DataView(i);for(let a=0;a<e;++a){const u=o.getUint8(t+a);s[a]=String.fromCharCode(u)}return s.join("")}function hl(n,t){const e="buffer"in n,r=e?n.buffer:n;return e&&(t+=n.byteOffset),new DataView(r).getUint32(t,!0)}function cg(n,t,e){const r="buffer"in n,i=r?n.buffer:n;if(r&&(t+=n.byteOffset),t+e>i.byteLength){console.error("byteOffset + length > buffer.byteLength");return}return new Uint8Array(i,t,e)}function $_(n,t,e){const r="buffer"in n,i=r?n.buffer:n;if(r&&(t+=n.byteOffset),t+e*2>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint16Array(i,t,e)}function t0(n,t,e){const r="buffer"in n,i=r?n.buffer:n;if(r&&(t+=n.byteOffset),t+e*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint32Array(i,t,e)}function e0(n,t,e){const r="buffer"in n,i=r?n.buffer:n;if(r&&(t+=n.byteOffset),t+e*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Float32Array(i,t,e)}function hg(n){if(cl(n,0,4)!=="glTF"){console.error("Not a glTF file");return}const e=hl(n,4);if(e!==2){console.error("Unsupported glTF version");return}const r=hl(n,8);if(r!==n.byteLength){console.error("Invalid glTF length");return}const i=hl(n,12);if(i+12+4>r){console.error("Invalid glTF chunk length");return}if(cl(n,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const o=cl(n,20,i),a={version:e,length:r,gltfJson:o};if(20+i<n.byteLength){const u=hl(n,20+i);if(cl(n,20+i+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const c=cg(n,20+i+8,u);a.gltfBinary=c}return a}window.parseGlb=hg;function fg(n){const t=hg(n);if(t===void 0||!t.gltfBinary)return;const e=JSON.parse(t.gltfJson);return e.nodes.map(r=>{var i=e.meshes[r.mesh],s=i.primitives[0].attributes.POSITION,o=i.primitives[0].indices,a=e.accessors[s],u=e.bufferViews[a.bufferView];if(!t.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const l=e0(t.gltfBinary,u.byteOffset??0,u.byteLength/4);var c=e.accessors[o],h=e.bufferViews[c.bufferView];if(!t.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let d;return c.componentType===5121?d=cg(t.gltfBinary,h.byteOffset??0,h.byteLength/1):c.componentType===5123?d=$_(t.gltfBinary,h.byteOffset??0,h.byteLength/2):c.componentType===5125&&(d=t0(t.gltfBinary,h.byteOffset??0,h.byteLength/4)),{name:r.name,posBuffer:l,indicesBuffer:d}})}window.parseWaterGlb=fg;const Xe=class Xe extends Z{constructor(e){super(e);f(this,"_submergingData");f(this,"_allMoments",[]);f(this,"readyEvent",this.dv(new V));{const r=()=>{this.url!=""&&fetch(this.url).then(i=>{i.status==200&&i.ok&&i.arrayBuffer().then(s=>{this._submergingData=fg(s);const o=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=o,this.currentTime==0&&(this.currentTime=o[0]),this.readyEvent.emit()})}).catch(i=>{console.log(i)})};r(),this.d(this.urlChanged.don(()=>{r()}))}}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new nt([this,"url"],"Url地址",Xe.defaults.url),new ge([this,"amplitude"],.01,[0,1],"振幅",Xe.defaults.amplitude),new T([this,"frequency"],"频率",Xe.defaults.frequency),new T([this,"currentTime"],"当前时间",Xe.defaults.currentTime),new H([this,"materialParams"],"材质参数",Xe.defaults.materialParams),new lt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型","river"),new gt([this,"waterColor"],"水的底色",Xe.defaults.waterColor),new ge([this,"waveVelocity"],.01,[0,1],"波动频率",Xe.defaults.waveVelocity),new T([this,"flowSpeed"],"水流速度",Xe.defaults.flowSpeed),new ge([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Xe.defaults.specularIntensity),new ge([this,"murkiness"],.01,[0,10],"水体浑浊度",Xe.defaults.murkiness)]}}};f(Xe,"createDefaultProps",()=>({...Z.createDefaultProps(),allowPicking:!0,url:"",currentTime:0,materialParams:p.reactJson({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,murkiness:5})),f(Xe,"type",Xe.register("ESSubmergingAnalysis",Xe,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"}));let ah=Xe;const Fs=class Fs extends Tt{constructor(e){super(e);f(this,"_startEvent",this.dv(new V));f(this,"_stopEvent",this.dv(new V))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new gt([this,"startColor"],"起始颜色"),new gt([this,"endColor"],"结束颜色"),new T([this,"progress"],"计算进度"),new T([this,"extrudedHeight"],"高度m"),new T([this,"height"],"底面高度"),new T([this,"sampleDistance"],"采样间距m"),new T([this,"startTime"],"起始时间,时间戳"),new T([this,"endTime"],"结束时间,时间戳"),new T([this,"spanTime"],"时间跨度,默认1小时时间戳"),new tt([],()=>this.start(),[],"开始分析"),new tt([],()=>this.stop(),[],"结束分析")]}}};f(Fs,"createDefaultProps",()=>({...Tt.createDefaultProps(),extrudedHeight:30,height:0,sampleDistance:10,startColor:p.reactArray([1,1,0,1]),endColor:p.reactArray([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0,filled:!1,stroked:!1})),f(Fs,"type",Fs.register("ESSunshineAnalysis",Fs,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),f(Fs,"supportEditingModes",[...Tt.supportEditingModes,B.HeightModify]);let uh=Fs;const $r=class $r extends bt{constructor(e){super(e);f(this,"_activateEvent",this.disposeVar(new V));f(this,"activate",!1)}get activateEvent(){return this._activateEvent}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new T([this,"zIndex"],"层级序号",$r.defaults.zIndex),new lt([this,"renderMode"],$r.renderModes,"渲染模式","default"),new T([this,"opacity"],"透明度",$r.defaults.opacity)],dataSource:[...e.dataSource,new H([this,"url"],"地形服务地址",$r.defaults.url),new rn([this,"rectangle"],"矩形范围",$r.defaults.rectangle)],more:[...e.more,new T([this,"czmMinzoom"],"czmMinzoom",void 0,!0),new T([this,"czmMaxzoom"],"czmMaxzoom",void 0,!0)]}}};f($r,"createDefaultProps",()=>({...bt.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:p.reactArray([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0,renderMode:"default",opacity:1})),f($r,"type",$r.register("ESTerrainLayer",$r,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"})),f($r,"renderModes",[["使用深度检测","default"],["不使用深度检测","disableDepthTest"],["透明","transparent"]]);let lh=$r;const Zn=class Zn extends Nr{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new gt([this,"color"],"文本颜色",[1,1,1,1]),new T([this,"fontSize"],"文字大小",14),new xl([this,"text"],"内容",Zn.defaults.text,void 0,!0),new gt([this,"backgroundColor"],"背景颜色",Zn.defaults.backgroundColor),new rn([this,"padding"],"内边距",Zn.defaults.padding),new gt([this,"borderColor"],"边界颜色"),new rn([this,"borderRadius"],"边界圆角"),new T([this,"borderWidth"],"边界宽度")],more:[...t.more,new $([],"czm","czm"),new W([this,"textEditingInteraction"],"文本编辑交互"),new W([this,"textEditing"],"文本编辑"),new T([this,"width"],"宽度",Zn.defaults.width,!0),new T([this,"opacity"],"透明度"),new lt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置","left"),new lt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};f(Zn,"createDefaultProps",()=>({...Nr.createDefaultProps(),text:"请输入文字",width:80,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:p.reactArray([1,1,1,1]),backgroundColor:p.reactArray([0,0,0,.8]),padding:p.reactArray([5,5,5,5]),borderRadius:p.reactArray([6,6,6,6]),borderWidth:0,borderColor:p.reactArray([1,1,1,1]),borderStyle:"solid"})),f(Zn,"type",Zn.register("ESTextLabel",Zn,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"}));let Do=Zn;const r0=`
|
|
290
310
|
#### 默认值如下
|
|
291
311
|
\`\`\`js
|
|
292
312
|
{
|
|
293
313
|
"Title": "示例",
|
|
294
314
|
"Content": "这是一个示例\\n帮助你理解info的数据形式\\nnum:1\\nkey:'value'\\n"
|
|
295
315
|
}
|
|
296
|
-
\`\`\``,
|
|
316
|
+
\`\`\``,tn=class tn extends Nr{constructor(e){super(e);f(this,"_callFunctionEvent",this.disposeVar(new V));f(this,"_callFunctionResultEvent",this.dv(new V))}get __callFunctionResultEvent(){return this._callFunctionResultEvent}get callFunctionEvent(){return this._callFunctionEvent}callFunction(e,r){return new Promise(i=>{const s=new q,o=setTimeout(()=>{s.isDestroyed()||(s.destroy(),i(void 0))},1e4);s.d(this._callFunctionResultEvent.donce(a=>{s.isDestroyed()||(s.destroy(),i(a),clearTimeout(o))})),this._callFunctionEvent.emit(e,r)})}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Re([this,"positionOffset"],"positionOffset",tn.defaults.positionOffset),new Re([this,"rotationOffset"],"rotationOffset",tn.defaults.rotationOffset),new nt([this,"actorTag"],"actorTag",tn.defaults.actorTag),new nt([this,"widgetClass"],"widgetClass",tn.defaults.widgetClass),new nt([this,"socketName"],"socketName",tn.defaults.socketName),new H([this,"info"],"info",tn.defaults.info,r0,!0)],more:[...e.more,new tt(["string","string"],(r,i)=>this.callFunction(r,JSON.parse(i)),["",""],"callFunction")]}}};f(tn,"createDefaultProps",()=>({...Nr.createDefaultProps(),widgetClass:"",info:p.reactJsonWithUndefined({Title:"标题示例",Content:"内容示例"})})),f(tn,"type",tn.register("ESUEWidget",tn,{chsName:"部件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"}));let ch=tn;const jo=class jo extends Z{constructor(){super(...arguments);f(this,"_callFunctionEvent",this.dv(new V));f(this,"_callFunctionResultEvent",this.dv(new V));f(this,"_actorEvent",this.dv(new V));f(this,"_lastActorStatus",this.dv(p.react("null")))}get __callFunctionResultEvent(){return this._callFunctionResultEvent}get callFunctionEvent(){return this._callFunctionEvent}callFunction(e,r){return new Promise(i=>{const s=new q,o=setTimeout(()=>{s.isDestroyed()||(s.destroy(),i(void 0))},1e4);s.d(this._callFunctionResultEvent.donce(a=>{s.isDestroyed()||(s.destroy(),i(a),clearTimeout(o))})),this._callFunctionEvent.emit(e,r)})}getBoundSphereWithChildren(e){return new Promise((r,i)=>{r(void 0)})}get actorEvent(){return this._actorEvent}get lastActorStatus(){return this._lastActorStatus.value}set lastActorStatus(e){this._lastActorStatus.value=e}get lastActorStatusChanged(){return this._lastActorStatus.changed}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new nt([this,"actorTag"],"actorTag",""),new nt([this,"actorClass"],"actorClass",""),new W([this,"highlight"],"是否高亮",!1)],more:[...e.more,new tt(["string","string"],(r,i)=>this.callFunction(r,JSON.parse(i)),["",""],"callFunction")]}}};f(jo,"createDefaultProps",()=>({...Z.createDefaultProps(),actorTag:"",actorClass:"",highlight:!1,allowPicking:!0})),f(jo,"type",jo.register("ESUnrealActor",jo,{chsName:"UnrealActor",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"UnrealActor"}));let hh=jo;const Ye=class Ye extends Z{constructor(e){super(e);f(this,"editingBindMode","doublePoints");f(this,"_resetWithCameraInfoEvent",this.dv(new V));this.collision=!1}get resetWithCameraInfoEvent(){return this._resetWithCameraInfoEvent}resetWithCameraInfo(){this._resetWithCameraInfoEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new W([this,"looping"],"循环",Ye.defaults.looping),new W([this,"showFrustum"],"视椎体",Ye.defaults.showFrustum),new T([this,"aspectRatio"],"宽高比",Ye.defaults.aspectRatio),new T([this,"fov"],"横向夹角",Ye.defaults.fov),new T([this,"far"],"视野长度",Ye.defaults.far),new T([this,"near"],"近面距离",Ye.defaults.near),new H([this,"videoStreamUrl"],"视频路径",Ye.defaults.videoStreamUrl),new T([this,"zIndex"],"显示优先级",Ye.defaults.zIndex),new lt([this,"videoStreamType"],Ye.videoStreamTypes,"视频类型","video")],more:[...e.more,new tt([],()=>this.resetWithCameraInfo(),[],"以当前相机状态重置")]}}};f(Ye,"createDefaultProps",()=>({...Z.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,videoStreamUrl:"",zIndex:1,showFrustum:!0,looping:!0,videoStreamType:"video"})),f(Ye,"type",Ye.register("ESVideoFusion",Ye,{chsName:"视频融合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视频融合"})),f(Ye,"videoStreamTypes",[["video","video"],["hls","hls"],["flv","flv"],["img","img"],["gif","gif"]]);let fh=Ye;const en=class en extends Z{constructor(e){super(e);f(this,"editingBindMode","doublePoints")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new W([this,"showFrustum"],"视椎体",en.defaults.showFrustum),new T([this,"aspectRatio"],"宽高比",en.defaults.aspectRatio),new T([this,"fov"],"横向夹角",en.defaults.fov),new T([this,"near"],"近面距离",en.defaults.near),new T([this,"far"],"视野长度",en.defaults.far),new T([this,"zIndex"],"显示优先级",en.defaults.zIndex)]}}};f(en,"createDefaultProps",()=>({...Z.createDefaultProps(),fov:90,aspectRatio:1.77778,near:10,far:100,zIndex:1,showFrustum:!0,collision:!1})),f(en,"type",en.register("ESViewShed",en,{chsName:"视域分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"信号传输器"}));let dh=en;const n0=`
|
|
297
317
|
#### 默认值如下
|
|
298
318
|
\`\`\`js
|
|
299
319
|
{
|
|
@@ -301,7 +321,7 @@ export type ESJTimeIntervalCollectionJsonType = {
|
|
|
301
321
|
"Key":"Value",
|
|
302
322
|
"内容": "这是一个示例\\n帮助你理解info的数据形式\\nnum:1\\nkey:'value'\\n"
|
|
303
323
|
}
|
|
304
|
-
\`\`\``,
|
|
324
|
+
\`\`\``,Ki=class Ki extends Nr{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new H([this,"info"],"信息",Ki.defaults.info,n0,!0)],more:[...t.more,new $([],"通用","通用"),new $([],"ue","ue"),new Bs([this,"positionOffset"],"坐标偏移"),new Bs([this,"rotationOffset"],"旋转偏移"),new nt([this,"actorTag"]),new nt([this,"widgetClass"]),new nt([this,"socketName"]),new $([],"czm","czm"),new T([this,"opacity"],"透明度",Ki.defaults.opacity,!0)]}}};f(Ki,"createDefaultProps",()=>({...Nr.createDefaultProps(),info:p.reactJson({title:"标题示例",内容:"内容示例"}),widgetClass:"WidgetBlueprint'/EarthSDKForUE/Widget/WBP_ES_DefaultInfo.WBP_ES_DefaultInfo'",actorTag:"",socketName:"",positionOffset:p.reactArray([0,0,0]),rotationOffset:p.reactArray([0,0,0]),opacity:1})),f(Ki,"type",Ki.register("ESWidget",Ki,{chsName:"部件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ES组件"}));let ph=Ki;const ks=class ks extends pt{constructor(e){super(e);f(this,"_direction",this.disposeVar(p.react(0)));f(this,"editingBindMode","doublePoints");{const r=()=>{this.direction=this.points&&this.points.length>=2?Js(Ia(this.points[0],this.points[1])):0};r(),this.ad(this.pointsChanged.don(r))}}get direction(){return this._direction.value}set direction(e){this._direction.value=e}get directionChanged(){return this._direction.changed}};f(ks,"createDefaultProps",()=>({...pt.createDefaultProps(),stroked:!0,strokeStyle:p.reactJson({width:10,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(ks,"type",ks.register("ESDirectionMeasurement",ks,{chsName:"方位角测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"方位角测量"})),f(ks,"supportEditingModes",[...pt.supportEditingModes,B.Rotation,B.Scale,B.DoublePointsAppend,B.DoublePointsModify]);let gh=ks;const dg=`// dataSource
|
|
305
325
|
(dataSource) => {
|
|
306
326
|
if (dataSource) {
|
|
307
327
|
dataSource.show = true;
|
|
@@ -327,11 +347,11 @@ export type ESJTimeIntervalCollectionJsonType = {
|
|
|
327
347
|
}
|
|
328
348
|
}
|
|
329
349
|
}
|
|
330
|
-
`,
|
|
350
|
+
`,i0=`示例代码
|
|
331
351
|
\`\`\`
|
|
332
|
-
${
|
|
352
|
+
${dg}
|
|
333
353
|
\`\`\`
|
|
334
|
-
`;function Ap(n){try{return JSON.parse(n),!0}catch{return!1}}const $y="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",Nt=class Nt extends Rt{constructor(e){super(e);d(this,"_flyToFeatureEvent",this.dv(new h.Event));d(this,"_flyToFeatureIndexEvent",this.dv(new h.Event));d(this,"_features",this.disposeVar(h.reactJsonWithUndefined(void 0)));d(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:Ap(this.url)?this.features=JSON.parse(this.url):await fetch($.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"],"服务地址",Nt.defaults.url),new L([this,"minFeatureVisibleDistance"],"要素最小可视距离",Nt.defaults.minFeatureVisibleDistance),new L([this,"maxFeatureVisibleDistance"],"要素最大可视距离",Nt.defaults.maxFeatureVisibleDistance),new pt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考")],style:[...e.style,new rt([],"点样式集合"),new W([this,"textShow"],"是否显示",Nt.defaults.textShow),new ge([this,"textAnchor"],"锚点",Nt.defaults.anchor),new ot([this,"textProperty"],"标注显示属性",Nt.defaults.textStyle.textProperty),new ot([this,"textDefaultText"],"默认文本",Nt.defaults.textStyle.defaultText),new _t([this,"textColor"],"文本颜色",Nt.defaults.textStyle.color),new _t([this,"textBackgroundColor"],"文本背景颜色",Nt.defaults.textStyle.backgroundColor),new ot([this,"textFontStyle"],"字体样式",Nt.defaults.textStyle.fontStyle),new ot([this,"textFontWeight"],"字体粗细",Nt.defaults.textStyle.fontWeight),new L([this,"textFontSize"],"字体大小",Nt.defaults.textStyle.fontSize),new ge([this,"textOffset"],"像素偏移",Nt.defaults.textStyle.offset),new rt([],"点图片样式集合"),new W([this,"imageShow"],"是否显示",Nt.defaults.imageShow),new ge([this,"imageAnchor"],"锚点",Nt.defaults.imageStyle.anchor),new Q([this,"imageUrl"],"图片地址",Nt.defaults.imageStyle.url),new ge([this,"imageSize"],"图片大小",Nt.defaults.imageStyle.size),new ge([this,"imageOffset"],"像素偏移",Nt.defaults.imageStyle.offset),new rt([],"线样式集合"),new W([this,"stroked"],"是否显示",Nt.defaults.stroked),new W([this,"strokeGround"],"贴地",Nt.defaults.strokeStyle.ground),new L([this,"strokeWidth"],"线宽",Nt.defaults.strokeStyle.width),new pt([this,"strokeWidthType"],Nt.defaults.strokeStyle.widthTypes,"线宽类型"),new _t([this,"strokeColor"],"线颜色",Nt.defaults.strokeStyle.color),new ot([this,"strokeMaterial"],"线材质",Nt.defaults.strokeStyle.material),new Q([this,"strokeMaterialParams"],"线材质参数",Nt.defaults.strokeStyle.materialParams),new rt([],"面样式集合"),new W([this,"filled"],"是否显示",Nt.defaults.filled),new W([this,"fillGround"],"贴地",Nt.defaults.fillStyle.ground),new _t([this,"fillColor"],"填充颜色",Nt.defaults.fillStyle.color),new ot([this,"fillMaterial"],"填充材质",Nt.defaults.fillStyle.material),new Q([this,"fillMaterialParams"],"填充材质参数",Nt.defaults.fillStyle.materialParams)],more:[...e.more,new rt([],"标注文本样式"),new ot([this,"textFontFamily"],"字体",Nt.defaults.textStyle.fontFamily),new rt([],"通用"),new Fi([this,"loadFuncStr"],"loadFnStr",Lp,By,!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}};d(Nt,"createDefaultProps",()=>({...Rt.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:$y,stroked:!0,strokeStyle:h.reactJson({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:h.reactJson({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:h.reactJson({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:h.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"})),d(Nt,"type",Nt.register("ESGeoJson",Nt,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"}));let Qc=Nt;const Hs=class Hs extends yt{constructor(e){super(e);d(this,"editingBindMode","doublePoints");d(this,"_height",this.disposeVar(h.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}};d(Hs,"createDefaultProps",()=>({...yt.createDefaultProps(),stroked:!0,strokeStyle:h.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Hs,"type",Hs.register("ESHeightMeasurement",Hs,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),d(Hs,"supportEditingModes",[...yt.supportEditingModes,B.DoublePointsAppend,B.DoublePointsModify]);let Bc=Hs;const Bo=class Bo extends Ti{constructor(e){super(e);d(this,"_area",this.dv(h.react(0)));d(this,"_perimeter",this.dv(h.react(0)));d(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 np([...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 W([this,"editing"],"是否编辑"),new to([this,"position"],"三维坐标",[0,0,0],!0),new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)]}}};d(Bo,"createDefaultProps",()=>({...Ti.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:h.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),d(Bo,"type",Bo.register("ESLocalCircle",Bo,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let $c=Bo;const $o=class $o extends Ti{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new Gh([this,"points"],"坐标",[])]}}};d($o,"createDefaultProps",()=>({...Ti.createDefaultProps(),points:hl([]),filled:!0})),d($o,"type",$o.register("ESLocalPolygon",$o,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let Ka=$o;const jo=class jo extends Ro{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new ul([this,"points"],"本地位置数组")]}}};d(jo,"createDefaultProps",()=>({...Ro.createDefaultProps(),points:h.reactPositions(void 0),filled:!0})),d(jo,"type",jo.register("ESLocalPolygonZ",jo,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let jc=jo;const ta=class ta extends Ti{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"width"],"宽度"),new L([this,"height"],"高度")]}}};d(ta,"createDefaultProps",()=>({...Ti.createDefaultProps(),width:5e5,height:3e5,filled:!0})),d(ta,"type",ta.register("ESLocalRectangle",ta,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let th=ta;const Di=class Di extends yt{constructor(e){super(e);d(this,"editingBindMode","lineString");d(this,"_distance",this.dv(h.react(0)));d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());const r=()=>{if(this.points&&this.points.length>=2){const i=Xa(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 pt([this,"materialMode"],Di.materialModes,"模式","purple")],coordinate:[...e.coordinate,new L([this,"distance"],"距离",0,!1,!0)]}}};d(Di,"createDefaultProps",()=>({...yt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:h.reactJson({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),d(Di,"type",Di.register("ESPipeFence",Di,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),d(Di,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]),d(Di,"supportEditingModes",[...yt.supportEditingModes,B.LineStringAppend,B.LineStringInsert]);let eh=Di;const Mi=class Mi extends rn{constructor(e){super(e);d(this,"_setLayerVisibleEvent",this.dv(new h.Event));d(this,"_setLayerColorEvent",this.dv(new h.Event))}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 rt([],"ESPipeserTileset"),new nt(["string","string"],(r,i)=>this.setLayerVisible(r,i),["",""],"setLayerVisible"),new nt(["string","string"],(r,i)=>this.setLayerColor(r,i),["",""],"setLayerColor"),new pt([this,"colorMode"],Mi.colorModes,"colorMode",Mi.defaults.colorMode,!0)]}}};d(Mi,"createDefaultProps",()=>({...rn.createDefaultProps(),colorMode:"default"})),d(Mi,"type",Mi.register("ESPipeserTileset",Mi,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),d(Mi,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let rh=Mi;const xi=class xi extends yt{constructor(e){super(e);d(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 pt([this,"materialMode"],xi.materialModes,"模式","danger")]}}};d(xi,"createDefaultProps",()=>({...yt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),d(xi,"type",xi.register("ESPolygonFence",xi,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),d(xi,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),d(xi,"supportEditingModes",[...yt.supportEditingModes,B.CircularAppend,B.CircularInsert,B.HeightModify]);let nh=xi;const us=class us extends yt{constructor(e){super(e);d(this,"_deprecated",["ground"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());d(this,"editingBindMode","doublePoints")}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new rt([],"通用","通用"),new W([this,"ground"],"是否贴地"),new W([this,"outlineTranslucent"],"轮廓线半透明"),new L([this,"height"],"高度"),new L([this,"extrudedHeight"],"拉伸高度"),new hn([this,"rectangle"],"范围",us.defaults.rectangle,!0),new L([this,"stRotation"],"纹理旋转角度"),new L([this,"rotation"],"旋转角度"),new W([this,"pointEditing"],"是否单点编辑")]}}};d(us,"createDefaultProps",()=>({...yt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:h.reactArrayWithUndefined(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),d(us,"type",us.register("ESRectangle",us,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),d(us,"supportEditingModes",[...yt.supportEditingModes,B.DoublePointsAppend,B.DoublePointsModify]);let ih=us;const ea=class ea extends kt{getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Q([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};d(ea,"createDefaultProps",()=>({...kt.createDefaultProps(),innerRings:h.reactPositionsSet([])})),d(ea,"type",ea.register("ESPolygonWithHole",ea,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let sh=ea;const ls=class ls extends kt{constructor(e){super(e);d(this,"_startEvent",this.disposeVar(new h.Event));d(this,"_stopEvent",this.dv(new h.Event));d(this,"_surfaceArea",this.disposeVar(h.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 rt([],"表面积测量","表面积测量"),new nt([],()=>this.start(),[],"开始计算"),new L([this,"interpolation"],"插值距离",ls.defaults.interpolation),new L([this,"offsetHeight"],"偏移高度",ls.defaults.offsetHeight)]}}};d(ls,"createDefaultProps",()=>({...kt.createDefaultProps(),interpolation:.5,offsetHeight:0,units:h.reactArray(["SquareMeter_SquareKilometer","MU_Hectare"]),fillStyle:h.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!0})})),d(ls,"type",ls.register("ESSurfaceAreaMeasurement",ls,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let oh=ls;const cs=class cs extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"downloadProgress"],"下载进度",cs.defaults.downloadProgress,!0,!0),new Q([this,"importOptions"],"导入参数",cs.defaults.importOptions,void 0,!0)],dataSource:[...t.dataSource,new Q([this,"url"],"路径")]}}};d(cs,"createDefaultProps",()=>({...j.createDefaultProps(),url:"",importOptions:h.reactJsonWithUndefined({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),d(cs,"type",cs.register("ESDatasmithRuntimeModel",cs,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let ah=cs;const Ke=class Ke extends Ka{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new pt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",Ke.defaults.waterType),new L([this,"frequency"],"频率",Ke.defaults.frequency),new we([this,"amplitude"],.01,[0,1],"振幅",Ke.defaults.amplitude),new we([this,"flowDirection"],1,[0,360],"流向",Ke.defaults.flowDirection),new we([this,"waveVelocity"],.01,[0,1],"波动频率",Ke.defaults.waveVelocity),new we([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Ke.defaults.specularIntensity),new we([this,"murkiness"],.1,[0,10],"水体浑浊度",Ke.defaults.murkiness),new L([this,"flowSpeed"],"水流速度",Ke.defaults.flowSpeed),new _t([this,"waterColor"],"水的底色",Ke.defaults.waterColor),new Q([this,"waterImage"],"水的图片",Ke.defaults.waterImage)]}}};d(Ke,"createDefaultProps",()=>({...Ka.createDefaultProps(),allowPicking:!0,waterImage:h.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})),d(Ke,"type",Ke.register("ESDynamicWater",Ke,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let uh=Ke;const Qe=class Qe extends kt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new pt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",Qe.defaults.waterType),new L([this,"frequency"],"频率",Qe.defaults.frequency),new we([this,"amplitude"],.01,[0,1],"振幅",Qe.defaults.amplitude),new we([this,"flowDirection"],1,[0,360],"流向",Qe.defaults.flowDirection),new we([this,"waveVelocity"],.01,[0,1],"波动频率",Qe.defaults.waveVelocity),new we([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Qe.defaults.specularIntensity),new we([this,"murkiness"],.1,[0,10],"水体浑浊度",Qe.defaults.murkiness),new L([this,"flowSpeed"],"水流速度",Qe.defaults.flowSpeed),new _t([this,"waterColor"],"水的底色",Qe.defaults.waterColor),new Q([this,"waterImage"],"水的图片",Qe.defaults.waterImage)]}}};d(Qe,"createDefaultProps",()=>({...kt.createDefaultProps(),allowPicking:!0,waterImage:h.reactJsonWithUndefined({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})),d(Qe,"type",Qe.register("ESGeoWater",Qe,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let lh=Qe;const Js=class Js extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"downloadProgress"],"下载进度",Js.defaults.downloadProgress,!0,!0),new ot([this,"levelName"],"levelName",""),new L([this,"levelLoadDistance"],"levelLoadDistance",1e3),new Ve([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...t.dataSource,new Q([this,"url"],"url","")]}}};d(Js,"createDefaultProps",()=>({...j.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:h.reactArray([0,0,0]),levelLoadDistance:1e3})),d(Js,"type",Js.register("ESLevelRuntimeModel",Js,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let ch=Js;const Fr=class Fr extends rs{constructor(e){super(e);d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})())}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new L([this,"radius"],"半径",Fr.defaults.radius),new L([this,"sides"],"圆边数",Fr.defaults.sides),new L([this,"speed"],"材质速度",Fr.defaults.speed),new pt([this,"materialMode"],Fr.materialModes,"材质模式",Fr.defaults.materialMode),new Q([this,"materialImage"],"材质图片和重复度",Fr.defaults.materialImage)]}}};d(Fr,"createDefaultProps",()=>({...rs.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:h.reactJson({url:"",uDis:50,vDis:10}),speed:1,filled:!0,stroked:!1,fillStyle:h.reactJson({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),d(Fr,"type",Fr.register("ESPipeline",Fr,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),d(Fr,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let hh=Fr;const ai=class ai extends yt{constructor(e){super(e);d(this,"editingBindMode","visibility")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new _t([this,"visibleColor"],"可视区域颜色",ai.defaults.visibleColor),new _t([this,"invisibleColor"],"遮挡区域颜色",ai.defaults.invisibleColor),new L([this,"heightOffset"],"视点高度偏移",ai.defaults.heightOffset)]}}};d(ai,"createDefaultProps",()=>({...yt.createDefaultProps(),visibleColor:h.reactArray([0,1,0,1]),invisibleColor:h.reactArray([1,0,0,1]),heightOffset:0})),d(ai,"type",ai.register("ESVisibilityAnalysis",ai,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),d(ai,"supportEditingModes",[...yt.supportEditingModes,B.VisibilityAppend,B.VisibilityModify]);let fh=ai;const ra=class ra extends kt{constructor(e){super(e);d(this,"_startEvent",this.dv(new h.Event));d(this,"_clearEvent",this.dv(new h.Event));d(this,"_volume",this.disposeVar(h.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 rt([],"通用","通用"),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 nt([],()=>this.start(),[],"开始分析"),new nt([],()=>this.clear(),[],"清空分析结果"),new W([this,"depthTest"],"是否开启深度检测")]}}};d(ra,"createDefaultProps",()=>({...kt.createDefaultProps(),planeHeight:h.react(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,filled:!1,stroked:!0,strokeStyle:h.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(ra,"type",ra.register("ESVolumeMeasurement",ra,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let dh=ra;const na=class na extends Fo{constructor(e){super(e);d(this,"_human",this.dv(new Fo));d(this,"_poi",this.dv(new Za));this.mainClass=this._human,this.d(this.components.disposableAdd(this._human)),this.d(this.components.disposableAdd(this._poi));{const{_human:r,_poi:i}=this;this.d(h.track([r,"show"],[this,"show"])),this.d(h.track([i,"show"],[this,"show"])),this.d(h.track([r,"allowPicking"],[this,"allowPicking"])),this.d(h.track([i,"allowPicking"],[this,"allowPicking"])),this.d(h.bind([r,"scale"],[this,"scale"])),this.d(h.bind([i,"scale"],[this,"scale"])),this.d(h.track([r,"collision"],[this,"collision"])),this.d(h.track([i,"collision"],[this,"collision"])),this.d(h.bind([r,"flyInParam"],[this,"flyInParam"])),this.d(h.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(h.track([r,"animation"],[this,"animation"])),this.d(h.track([r,"mode"],[this,"mode"])),this.d(h.track([r,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(h.track([r,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(h.track([i,"name"],[this,"name"])),this.d(h.track([i,"mode"],[this,"poiMode"])),this.d(h.track([i,"autoAnchor"],[this,"autoAnchor"])),this.d(h.track([i,"screenRender"],[this,"screenRender"])),this.d(h.track([i,"size"],[this,"size"])),this.d(h.track([i,"anchor"],[this,"anchor"])),this.d(h.track([i,"sizeByContent"],[this,"sizeByContent"])),this.d(h.track([i,"renderMode"],[this,"renderMode"])),this.d(h.track([i,"rotationType"],[this,"rotationType"])),this.d(h.track([i,"zOrder"],[this,"zOrder"])),this.d(h.track([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(h.track([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(h.bind([r,"position"],[this,"position"])),this.d(h.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 pt([this,"poiMode"],Za.modes,"poi模式","SquareH01"),new L([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};d(na,"createDefaultProps",()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:h.reactJson({}),autoAnchor:!0,screenRender:!0,size:h.reactArray([100,100]),anchor:h.reactArray([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...Fo.createDefaultProps()})),d(na,"type",na.register("ESHumanPoi",na,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let ph=na;const Fn=class Fn extends kt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"depth"],"深度",Fn.defaults.depth),new L([this,"interpolation"],"插值",Fn.defaults.interpolation),new L([this,"opacity"],"透明度",Fn.defaults.opacity),new Q([this,"sideImage"],"侧面图片",Fn.defaults.sideImage),new Q([this,"bottomImage"],"底面图片",Fn.defaults.bottomImage)]}}};d(Fn,"createDefaultProps",()=>({...kt.createDefaultProps(),depth:100,sideImage:h.reactJson({url:$.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:h.reactJson({url:$.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50}),opacity:1,interpolation:50,collision:!1,allowPicking:!1,filled:!0})),d(Fn,"type",Fn.register("ESPit",Fn,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let ko=Fn;const ia=class ia extends ko{constructor(e){super(e);d(this,"_excavate",this.dv(new Ja));d(this,"_pit",this.dv(new ko));this.mainClass=this._pit,this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit));{const{_excavate:r,_pit:i}=this;this.d(h.track([r,"show"],[this,"show"])),this.d(h.track([i,"show"],[this,"show"])),this.d(h.track([r,"allowPicking"],[this,"allowPicking"])),this.d(h.track([i,"allowPicking"],[this,"allowPicking"])),this.d(h.track([r,"collision"],[this,"collision"])),this.d(h.track([i,"collision"],[this,"collision"])),this.d(h.bind([i,"points"],[this,"points"])),this.d(h.track([r,"points"],[this,"points"])),this.d(h.track([i,"pointed"],[this,"pointed"])),this.d(h.track([r,"pointed"],[this,"pointed"])),this.d(h.track([i,"pointStyle"],[this,"pointStyle"])),this.d(h.track([r,"pointStyle"],[this,"pointStyle"])),this.d(h.track([i,"stroked"],[this,"stroked"])),this.d(h.track([r,"stroked"],[this,"stroked"])),this.d(h.track([i,"strokeStyle"],[this,"strokeStyle"])),this.d(h.track([r,"strokeStyle"],[this,"strokeStyle"])),this.d(h.track([i,"filled"],[this,"filled"])),this.d(h.track([i,"fillStyle"],[this,"fillStyle"])),this.d(h.track([r,"fillStyle"],[this,"fillStyle"])),this.d(h.track([r,"mode"],[this,"mode"])),this.d(h.track([r,"targetID"],[this,"targetID"])),this.d(h.track([i,"depth"],[this,"depth"])),this.d(h.track([i,"sideImage"],[this,"sideImage"])),this.d(h.track([i,"bottomImage"],[this,"bottomImage"])),this.d(h.track([i,"opacity"],[this,"opacity"])),this.d(h.track([i,"interpolation"],[this,"interpolation"])),this.d(h.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(h.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 pt([this,"mode"],Ja.modes,"模式","in"),new ot([this,"targetID"],"瓦片图层","")]}}};d(ia,"createDefaultProps",()=>({...ko.createDefaultProps(),mode:"in",targetID:""})),d(ia,"type",ia.register("ESHole",ia,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let gh=ia;const mh={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},jy=async(n,t,e,r)=>{try{const i=window.localStorage.getItem("Authorization");let s=n+`${mh.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)}},t_=async(n,t,e,r,i)=>{try{const s=window.localStorage.getItem("Authorization");let o=n+mh.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)}},e_=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)}},r_=async(n,t,e,r,i)=>{try{const s={tileServiceName:t,featureId:e},o=window.localStorage.getItem("Authorization");let a=n+mh.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)}},sa=class sa extends rn{constructor(e){super(e);d(this,"_es3DTileset",this.dv(new rn));d(this,"_ids",this.dv(h.reactJson([])));d(this,"_useEarthDSToken",this.dv(h.react(!1)));d(this,"_earthdstoken",this.dv(h.react("")));d(this,"_visJson",this.disposeVar(h.react({})));d(this,"_highlightInner3DtilesetEvent",this.dv(new h.Event));d(this,"_removeHighlightInner3DtilesetEvent",this.dv(new h.Event));d(this,"_tilesetServePort",this.dv(h.react("")));this.mainClass=this._es3DTileset;{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));const r=this._es3DTileset;this.d(h.track([r,"allowPicking"],[this,"allowPicking"])),this.d(h.track([r,"collision"],[this,"collision"])),this.d(h.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(h.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(h.track([r,"actorTag"],[this,"actorTag"])),this.d(h.track([r,"materialMode"],[this,"materialMode"])),this.d(h.track([r,"highlight"],[this,"highlight"])),this.d(h.track([r,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(h.track([r,"highlightID"],[this,"highlightID"])),this.d(h.track([r,"highlightColor"],[this,"highlightColor"])),this.d(h.bind([r,"offset"],[this,"offset"])),this.d(h.bind([r,"rotation"],[this,"rotation"])),this.d(h.track([r,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(h.track([r,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(h.track([r,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(h.track([r,"czmClassificationType"],[this,"czmClassificationType"])),this.d(h.track([r,"czmStyleJson"],[this,"czmStyleJson"])),this.d(h.track([r,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(h.track([r,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(h.track([r,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(h.track([r,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(h.track([r,"colorBlendMode"],[this,"colorBlendMode"])),this.d(h.track([r,"cacheBytes"],[this,"cacheBytes"])),this.d(h.track([r,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(h.track([r,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(h.track([r,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(h.track([r,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(h.track([r,"materialParams"],[this,"materialParams"])),this.d(h.bind([r,"supportEdit"],[this,"supportEdit"])),this.d(h.bind([r,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(h.bind([r,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(h.bind([r,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(h.bind([r,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(h.bind([r,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(h.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 r_(this.baseUrl,this.tileServiceName,e,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const e=await jy(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 t_(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 e_(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)]}}};d(sa,"createDefaultProps",()=>({...rn.createDefaultProps(),layerConfig:h.reactJsonWithUndefined([])})),d(sa,"type",sa.register("ESRtsTileset",sa,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let vh=sa;function n_(n){return typeof n=="number"&&!isNaN(n)}const oa=class oa extends rn{get json(){return{...this._innerGetJson(),show:this.show,materials:this.materials,changeMaterial:this.changeMaterial,props:this.props,rotation:this.rotation}}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:n_(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)}};d(oa,"createDefaultProps",()=>({...rn.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:h.reactJson({}),changeMaterial:h.reactJsonWithUndefined(void 0),uiShowprops:h.reactJson({}),props:h.reactJson({})})),d(oa,"type",oa.register("ESRtsFeatureEditing",oa,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let yh=oa;const i_=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)}},iu=class iu extends rn{constructor(e){super(e);d(this,"_es3DTileset",this.dv(new rn));d(this,"_tilesetServePort",this.dv(h.react("")));d(this,"_useEarthDSToken",this.dv(h.react(!1)));d(this,"_earthdstoken",this.dv(h.react("")));this.mainClass=this._es3DTileset;{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));const r=this._es3DTileset;this.d(h.track([r,"allowPicking"],[this,"allowPicking"])),this.d(h.track([r,"collision"],[this,"collision"])),this.d(h.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(h.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(h.track([r,"actorTag"],[this,"actorTag"])),this.d(h.track([r,"materialMode"],[this,"materialMode"])),this.d(h.track([r,"highlight"],[this,"highlight"])),this.d(h.track([r,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(h.track([r,"highlightID"],[this,"highlightID"])),this.d(h.track([r,"highlightColor"],[this,"highlightColor"])),this.d(h.bind([r,"offset"],[this,"offset"])),this.d(h.bind([r,"rotation"],[this,"rotation"])),this.d(h.track([r,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(h.track([r,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(h.track([r,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(h.track([r,"czmClassificationType"],[this,"czmClassificationType"])),this.d(h.track([r,"czmStyleJson"],[this,"czmStyleJson"])),this.d(h.track([r,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(h.track([r,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(h.track([r,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(h.track([r,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(h.track([r,"colorBlendMode"],[this,"colorBlendMode"])),this.d(h.track([r,"cacheBytes"],[this,"cacheBytes"])),this.d(h.track([r,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(h.track([r,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(h.track([r,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(h.track([r,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(h.track([r,"materialParams"],[this,"materialParams"])),this.d(h.bind([r,"supportEdit"],[this,"supportEdit"])),this.d(h.bind([r,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(h.bind([r,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(h.bind([r,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(h.bind([r,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(h.bind([r,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(h.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 i_(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")}};d(iu,"type",iu.register("ESMsTileset",iu,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let _h=iu;const Rp={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
|
+
`,s0="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",mt=class mt extends bt{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,"abortController");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 r;this.abortController&&this.abortController.abort(),this.abortController=new AbortController;const e=this.abortController.signal;if(!this.url){this.features=void 0;return}typeof this.url=="object"?this.features=this.url:Ml(this.url)?this.features=JSON.parse(this.url):await fetch(j.context.getStrFromEnv(this.url),{signal:e}).then(i=>i.json()).then(i=>{this.features=i}).catch(i=>{i.name!="AbortError"&&console.warn("ESEntityCluster数据加载失败",i)}),this.pickedInfoType=((r=this.features)==null?void 0:r.type)??"FeatureCollection"}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",dataSource:[...e.dataSource,new H([this,"url"],"服务地址",mt.defaults.url),new T([this,"minFeatureVisibleDistance"],"要素最小可视距离",mt.defaults.minFeatureVisibleDistance),new T([this,"maxFeatureVisibleDistance"],"要素最大可视距离",mt.defaults.maxFeatureVisibleDistance),new lt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考")],style:[...e.style,new $([],"点样式集合"),new W([this,"textShow"],"是否显示",mt.defaults.textShow),new ce([this,"textAnchor"],"锚点",mt.defaults.anchor),new nt([this,"textProperty"],"标注显示属性",mt.defaults.textStyle.textProperty),new nt([this,"textDefaultText"],"默认文本",mt.defaults.textStyle.defaultText),new gt([this,"textColor"],"文本颜色",mt.defaults.textStyle.color),new gt([this,"textBackgroundColor"],"文本背景颜色",mt.defaults.textStyle.backgroundColor),new nt([this,"textFontStyle"],"字体样式",mt.defaults.textStyle.fontStyle),new nt([this,"textFontWeight"],"字体粗细",mt.defaults.textStyle.fontWeight),new T([this,"textFontSize"],"字体大小",mt.defaults.textStyle.fontSize),new ce([this,"textOffset"],"像素偏移",mt.defaults.textStyle.offset),new $([],"点图片样式集合"),new W([this,"imageShow"],"是否显示",mt.defaults.imageShow),new ce([this,"imageAnchor"],"锚点",mt.defaults.imageStyle.anchor),new H([this,"imageUrl"],"图片地址",mt.defaults.imageStyle.url),new ce([this,"imageSize"],"图片大小",mt.defaults.imageStyle.size),new ce([this,"imageOffset"],"像素偏移",mt.defaults.imageStyle.offset),new $([],"线样式集合"),new W([this,"stroked"],"是否显示",mt.defaults.stroked),new W([this,"strokeGround"],"贴地",mt.defaults.strokeStyle.ground),new T([this,"strokeWidth"],"线宽",mt.defaults.strokeStyle.width),new lt([this,"strokeWidthType"],mt.strokeStyleWidthTypes,"线宽类型"),new gt([this,"strokeColor"],"线颜色",mt.defaults.strokeStyle.color),new nt([this,"strokeMaterial"],"线材质",mt.defaults.strokeStyle.material),new H([this,"strokeMaterialParams"],"线材质参数",mt.defaults.strokeStyle.materialParams),new $([],"面样式集合"),new W([this,"filled"],"是否显示",mt.defaults.filled),new W([this,"fillGround"],"贴地",mt.defaults.fillStyle.ground),new gt([this,"fillColor"],"填充颜色",mt.defaults.fillStyle.color),new nt([this,"fillMaterial"],"填充材质",mt.defaults.fillStyle.material),new H([this,"fillMaterialParams"],"填充材质参数",mt.defaults.fillStyle.materialParams)],more:[...e.more,new $([],"标注文本样式"),new nt([this,"textFontFamily"],"字体",mt.defaults.textStyle.fontFamily),new $([],"通用"),new bi([this,"loadFuncStr"],"loadFnStr",dg,i0,!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(mt,"createDefaultProps",()=>({...bt.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:s0,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(mt,"type",mt.register("ESGeoJson",mt,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),f(mt,"strokeStyleWidthTypes",[["screen","screen"],["world","world"]]);let eu=mt;const Vs=class Vs extends pt{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(Vs,"createDefaultProps",()=>({...pt.createDefaultProps(),stroked:!0,strokeStyle:p.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(Vs,"type",Vs.register("ESHeightMeasurement",Vs,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),f(Vs,"supportEditingModes",[...pt.supportEditingModes,B.DoublePointsAppend,B.DoublePointsModify]);let mh=Vs;const Zo=class Zo extends vi{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 Xp([...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 T([this,"radius"],"圆半径",1,!0)],coordinate:[...e.coordinate,new W([this,"editing"],"是否编辑"),new Bs([this,"position"],"三维坐标",[0,0,0],!0),new T([this,"area"],"面积",0,!1,!0),new T([this,"perimeter"],"周长",0,!1,!0)]}}};f(Zo,"createDefaultProps",()=>({...vi.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:p.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),f(Zo,"type",Zo.register("ESLocalCircle",Zo,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let vh=Zo;const Ko=class Ko extends vi{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new mf([this,"points"],"坐标",[])]}}};f(Ko,"createDefaultProps",()=>({...vi.createDefaultProps(),points:Fc([]),filled:!0})),f(Ko,"type",Ko.register("ESLocalPolygon",Ko,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let ru=Ko;const Qo=class Qo extends Mo{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new Tl([this,"points"],"本地位置数组")]}}};f(Qo,"createDefaultProps",()=>({...Mo.createDefaultProps(),points:p.reactPositions(void 0),filled:!0})),f(Qo,"type",Qo.register("ESLocalPolygonZ",Qo,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let yh=Qo;const $o=class $o extends vi{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new T([this,"width"],"宽度"),new T([this,"height"],"高度")]}}};f($o,"createDefaultProps",()=>({...vi.createDefaultProps(),width:5e5,height:3e5,filled:!0})),f($o,"type",$o.register("ESLocalRectangle",$o,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let _h=$o;const wi=class wi extends pt{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=Ka(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 T([this,"height"],"高度",10),new T([this,"width"],"宽度",10),new lt([this,"materialMode"],wi.materialModes,"模式","purple")],coordinate:[...e.coordinate,new T([this,"distance"],"距离",0,!1,!0)]}}};f(wi,"createDefaultProps",()=>({...pt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:p.reactJson({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),f(wi,"type",wi.register("ESPipeFence",wi,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),f(wi,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","color"]]),f(wi,"supportEditingModes",[...pt.supportEditingModes,B.LineStringAppend,B.LineStringInsert]);let fl=wi;const Ei=class Ei extends Jr{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 $([],"ESPipeserTileset"),new tt(["string","string"],(r,i)=>this.setLayerVisible(r,i),["",""],"setLayerVisible"),new tt(["string","string"],(r,i)=>this.setLayerColor(r,i),["",""],"setLayerColor"),new lt([this,"colorMode"],Ei.colorModes,"colorMode",Ei.defaults.colorMode,!0)]}}};f(Ei,"createDefaultProps",()=>({...Jr.createDefaultProps(),colorMode:"default"})),f(Ei,"type",Ei.register("ESPipeserTileset",Ei,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),f(Ei,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let wh=Ei;const Si=class Si extends pt{constructor(e){super(e);f(this,"editingBindMode","circular")}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",coordinate:[...e.coordinate,new T([this,"area"],"面积",0,!1,!0),new T([this,"perimeter"],"周长",0,!1,!0)],basic:[...e.basic,new T([this,"height"],"高度",10),new lt([this,"materialMode"],Si.materialModes,"模式","danger")]}}};f(Si,"createDefaultProps",()=>({...pt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),f(Si,"type",Si.register("ESPolygonFence",Si,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),f(Si,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),f(Si,"supportEditingModes",[...pt.supportEditingModes,B.CircularAppend,B.CircularInsert,B.HeightModify]);let dl=Si;const Qi=class Qi extends pt{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 $([],"通用","通用"),new W([this,"ground"],"是否贴地"),new W([this,"outlineTranslucent"],"轮廓线半透明"),new T([this,"height"],"高度"),new T([this,"extrudedHeight"],"拉伸高度"),new rn([this,"rectangle"],"范围",Qi.defaults.rectangle,!0),new T([this,"stRotation"],"纹理旋转角度"),new T([this,"rotation"],"旋转角度"),new W([this,"pointEditing"],"是否单点编辑")]}}};f(Qi,"createDefaultProps",()=>({...pt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:p.reactArrayWithUndefined(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),f(Qi,"type",Qi.register("ESRectangle",Qi,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),f(Qi,"supportEditingModes",[...pt.supportEditingModes,B.DoublePointsAppend,B.DoublePointsModify]);let Eh=Qi;const ta=class ta extends Tt{getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new H([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};f(ta,"createDefaultProps",()=>({...Tt.createDefaultProps(),innerRings:p.reactPositionsSet([])})),f(ta,"type",ta.register("ESPolygonWithHole",ta,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let Sh=ta;const $i=class $i extends Tt{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 $([],"表面积测量","表面积测量"),new tt([],()=>this.start(),[],"开始计算"),new T([this,"interpolation"],"插值距离",$i.defaults.interpolation),new T([this,"offsetHeight"],"偏移高度",$i.defaults.offsetHeight)]}}};f($i,"createDefaultProps",()=>({...Tt.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($i,"type",$i.register("ESSurfaceAreaMeasurement",$i,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let Ch=$i;const ts=class ts extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new T([this,"downloadProgress"],"下载进度",ts.defaults.downloadProgress,!0,!0),new H([this,"importOptions"],"导入参数",ts.defaults.importOptions,void 0,!0)],dataSource:[...t.dataSource,new H([this,"url"],"路径")]}}};f(ts,"createDefaultProps",()=>({...Z.createDefaultProps(),url:"",importOptions:p.reactJsonWithUndefined({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),f(ts,"type",ts.register("ESDatasmithRuntimeModel",ts,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let Ih=ts;const He=class He extends ru{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new lt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",He.defaults.waterType),new T([this,"frequency"],"频率",He.defaults.frequency),new ge([this,"amplitude"],.01,[0,1],"振幅",He.defaults.amplitude),new ge([this,"flowDirection"],1,[0,360],"流向",He.defaults.flowDirection),new ge([this,"waveVelocity"],.01,[0,1],"波动频率",He.defaults.waveVelocity),new ge([this,"specularIntensity"],.01,[0,1],"镜面反射强度",He.defaults.specularIntensity),new ge([this,"murkiness"],.1,[0,10],"水体浑浊度",He.defaults.murkiness),new T([this,"flowSpeed"],"水流速度",He.defaults.flowSpeed),new gt([this,"waterColor"],"水的底色",He.defaults.waterColor),new H([this,"waterImage"],"水的图片",He.defaults.waterImage)]}}};f(He,"createDefaultProps",()=>({...ru.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(He,"type",He.register("ESDynamicWater",He,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let Ph=He;const Be=class Be extends Tt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new lt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",Be.defaults.waterType),new T([this,"frequency"],"频率",Be.defaults.frequency),new ge([this,"amplitude"],.01,[0,1],"振幅",Be.defaults.amplitude),new ge([this,"flowDirection"],1,[0,360],"流向",Be.defaults.flowDirection),new ge([this,"waveVelocity"],.01,[0,1],"波动频率",Be.defaults.waveVelocity),new ge([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Be.defaults.specularIntensity),new ge([this,"murkiness"],.1,[0,10],"水体浑浊度",Be.defaults.murkiness),new T([this,"flowSpeed"],"水流速度",Be.defaults.flowSpeed),new gt([this,"waterColor"],"水的底色",Be.defaults.waterColor),new H([this,"waterImage"],"水的图片",Be.defaults.waterImage)]}}};f(Be,"createDefaultProps",()=>({...Tt.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(Be,"type",Be.register("ESGeoWater",Be,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let bh=Be;const zs=class zs extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new T([this,"downloadProgress"],"下载进度",zs.defaults.downloadProgress,!0,!0),new nt([this,"levelName"],"levelName",""),new T([this,"levelLoadDistance"],"levelLoadDistance",1e3),new Re([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...t.dataSource,new H([this,"url"],"url","")]}}};f(zs,"createDefaultProps",()=>({...Z.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:p.reactArray([0,0,0]),levelLoadDistance:1e3})),f(zs,"type",zs.register("ESLevelRuntimeModel",zs,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let Nh=zs;const Tr=class Tr extends yi{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 T([this,"radius"],"半径",Tr.defaults.radius),new T([this,"sides"],"圆边数",Tr.defaults.sides),new T([this,"speed"],"材质速度",Tr.defaults.speed),new lt([this,"materialMode"],Tr.materialModes,"材质模式",Tr.defaults.materialMode),new H([this,"materialImage"],"材质图片和重复度",Tr.defaults.materialImage)]}}};f(Tr,"createDefaultProps",()=>({...yi.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(Tr,"type",Tr.register("ESPipeline",Tr,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),f(Tr,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let Th=Tr;const Kn=class Kn extends pt{constructor(e){super(e);f(this,"editingBindMode","visibility")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new gt([this,"visibleColor"],"可视区域颜色",Kn.defaults.visibleColor),new gt([this,"invisibleColor"],"遮挡区域颜色",Kn.defaults.invisibleColor),new T([this,"heightOffset"],"视点高度偏移",Kn.defaults.heightOffset)]}}};f(Kn,"createDefaultProps",()=>({...pt.createDefaultProps(),visibleColor:p.reactArray([0,1,0,1]),invisibleColor:p.reactArray([1,0,0,1]),heightOffset:0})),f(Kn,"type",Kn.register("ESVisibilityAnalysis",Kn,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),f(Kn,"supportEditingModes",[...pt.supportEditingModes,B.VisibilityAppend,B.VisibilityModify]);let xh=Kn;const ea=class ea extends Tt{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 $([],"通用","通用"),new T([this,"planeHeight"],"基准面高程",void 0,!0),new T([this,"gridWidth"],"采样间距 m"),new T([this,"cutVolume"],"挖方",0,!1,!0),new T([this,"fillVolume"],"填方",0,!1,!0),new T([this,"cutAndFillVolume"],"挖填方",0,!1,!0),new T([this,"progress"],"计算进度",0,!1,!0),new tt([],()=>this.start(),[],"开始分析"),new tt([],()=>this.clear(),[],"清空分析结果"),new W([this,"depthTest"],"是否开启深度检测")]}}};f(ea,"createDefaultProps",()=>({...Tt.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(ea,"type",ea.register("ESVolumeMeasurement",ea,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let Oh=ea;const ra=class ra extends Ps{constructor(e){super(e);f(this,"_human",this.dv(new Ps));f(this,"_poi",this.dv(new tu));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 lt([this,"poiMode"],tu.modes,"poi模式","SquareH01"),new T([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};f(ra,"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,...Ps.createDefaultProps()})),f(ra,"type",ra.register("ESHumanPoi",ra,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let Mh=ra;const Tn=class Tn extends Tt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new T([this,"depth"],"深度",Tn.defaults.depth),new T([this,"interpolation"],"插值",Tn.defaults.interpolation),new T([this,"opacity"],"透明度",Tn.defaults.opacity),new H([this,"sideImage"],"侧面图片",Tn.defaults.sideImage),new H([this,"bottomImage"],"底面图片",Tn.defaults.bottomImage)]}}};f(Tn,"createDefaultProps",()=>({...Tt.createDefaultProps(),depth:100,sideImage:p.reactJson({url:j.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:p.reactJson({url:j.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(Tn,"type",Tn.register("ESPit",Tn,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let Lo=Tn;const na=class na extends Lo{constructor(e){super(e);f(this,"_excavate",this.dv(new $a));f(this,"_pit",this.dv(new Lo));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 lt([this,"mode"],$a.modes,"模式","in"),new nt([this,"targetID"],"瓦片图层","")]}}};f(na,"createDefaultProps",()=>({...Lo.createDefaultProps(),mode:"in",targetID:""})),f(na,"type",na.register("ESHole",na,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let Dh=na;const Lh={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},o0=async(n,t,e,r)=>{try{const i=window.localStorage.getItem("Authorization");let s=n+`${Lh.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)}},a0=async(n,t,e,r,i)=>{try{const s=window.localStorage.getItem("Authorization");let o=n+Lh.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)}},u0=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)}},l0=async(n,t,e,r,i)=>{try{const s={tileServiceName:t,featureId:e},o=window.localStorage.getItem("Authorization");let a=n+Lh.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)}},ia=class ia extends Jr{constructor(e){super(e);f(this,"_es3DTileset",this.dv(new Jr));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 l0(this.baseUrl,this.tileServiceName,e,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const e=await o0(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 a0(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 u0(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 H([this,"layerConfig"],"图层配置",[],void 0,!0)]}}};f(ia,"createDefaultProps",()=>({...Jr.createDefaultProps(),layerConfig:p.reactJsonWithUndefined([])})),f(ia,"type",ia.register("ESRtsTileset",ia,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Ah=ia;function c0(n){return typeof n=="number"&&!isNaN(n)}const sa=class sa extends Jr{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:c0(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(sa,"createDefaultProps",()=>({...Jr.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:p.reactJson({}),changeMaterial:p.reactJsonWithUndefined(void 0),uiShowprops:p.reactJson({}),props:p.reactJson({})})),f(sa,"type",sa.register("ESRtsFeatureEditing",sa,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Rh=sa;const h0=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)}},lu=class lu extends Jr{constructor(e){super(e);f(this,"_es3DTileset",this.dv(new Jr));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 h0(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(lu,"type",lu.register("ESMsTileset",lu,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Fh=lu;const pg={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:`
|
|
335
355
|
## 参数类型为 ESPoiType[]
|
|
336
356
|
\`\`\`js
|
|
337
357
|
type Vector2D = [number, number]
|
|
@@ -344,7 +364,7 @@ ${Lp}
|
|
|
344
364
|
hiddenDistance: number
|
|
345
365
|
}
|
|
346
366
|
\`\`\`
|
|
347
|
-
`},Zs=class Zs extends Rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用"),new Q([this,"url"],"路径"),new Q([this,"poiTypes"],Zs.defaults.poiTypes,Rp.sampleValue),new L([this,"heightOffset"])]}}};d(Zs,"createDefaultProps",()=>({...Rt.createDefaultProps(),url:"",poiTypes:h.reactJsonWithUndefined(Rp.defaultValue),heightOffset:40})),d(Zs,"type",Zs.register("ESPoiTileset",Zs,{chsName:"ESPoiTileset",tags:["ESObjects","_ES_Impl_UE"],description:"ESPoiTileset"}));let wh=Zs;const aa=class aa extends ${getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用","通用"),new W([this,"show"],"是否显示"),new pt([this,"screenPosition"],[["left","left"],["right","right"]],"定位","right"),new ge([this,"cssPosition"],"位置")]}}};d(aa,"createDefaultProps",()=>({...$.createDefaultProps(),show:!0,screenPosition:"right",cssPosition:[40,30]})),d(aa,"type",aa.register("ESScale",aa,{chsName:"比例尺",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"比例尺"}));let Eh=aa;const ui=class ui extends kt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new L([this,"height"],"高度",ui.defaults.height,!0),new L([this,"extrudedHeight"],"拉伸高度",ui.defaults.extrudedHeight,!0),new W([this,"perPositionHeight"],"应用每个位置高度",ui.defaults.perPositionHeight,!0)]}}};d(ui,"createDefaultProps",()=>({...kt.createDefaultProps(),height:0,extrudedHeight:10,perPositionHeight:!1,collision:!1})),d(ui,"type",ui.register("ESGeoExtrudedPolygon",ui,{chsName:"拉升多边形体",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"拉升多边形体"})),d(ui,"supportEditingModes",[...kt.supportEditingModes,B.HeightModify]);let Qa=ui;const Ks=class Ks extends kt{constructor(e){super(e);d(this,"_classification",this.dv(new ju));d(this,"_geoExtrudedPolygon",this.dv(new Qa));this.mainClass=this._geoExtrudedPolygon,this.d(this.components.disposableAdd(this._classification)),this.d(this.components.disposableAdd(this._geoExtrudedPolygon));{const{_classification:r,_geoExtrudedPolygon:i}=this;i.perPositionHeight=!0,this.d(h.track([r,"collision"],[this,"collision"])),this.d(h.track([i,"collision"],[this,"collision"])),this.d(h.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(h.bind([i,"flyToParam"],[this,"flyToParam"])),this.d(h.bind([i,"points"],[this,"points"])),this.d(h.bind([i,"extrudedHeight"],[this,"height"])),this.d(h.bind([r,"fillColor"],[this,"overheightColor"])),this.d(h.bind([i,"fillColor"],[this,"standardColor"]));{const s=()=>{const{height:a,points:u,maxHeight:l}=this;if(!u)return;const c=u.map(f=>[f[0],f[1],a]);r.points=c,r.height=l-a,l-a<=0?r.show=!1:r.show=this.show&&this.filled};s();const o=this.dv(h.createNextAnimateFrameEvent(this.heightChanged,this.pointsChanged,this.maxHeightChanged));this.d(o.don(s))}{const s=()=>{const{show:a,filled:u}=this;r.show=a&&u,i.show=a&&u};s();const o=this.dv(h.createNextAnimateFrameEvent(this.showChanged,this.filledChanged));this.d(o.don(s))}this.dispose(this.flyInEvent.don(s=>{i.flyIn(s)})),this.dispose(this.flyToEvent.don(s=>{i.flyTo(s)})),this.dispose(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.dispose(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get classification(){return this._classification}get geoExtrudedPolygon(){return this._geoExtrudedPolygon}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new L([this,"height"],"高度",10),new L([this,"maxHeight"],"最高高度",200),new _t([this,"overheightColor"],"超高颜色",[1,0,0,.5]),new _t([this,"standardColor"],"标准颜色",[0,1,0,.5])]}}};d(Ks,"createDefaultProps",()=>({...kt.createDefaultProps(),height:10,maxHeight:200,overheightColor:[1,0,0,.5],standardColor:[0,1,0,.5]})),d(Ks,"type",Ks.register("ESHeightLimitAnalysis",Ks,{chsName:"控高分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"控高分析对象"})),d(Ks,"supportEditingModes",[...kt.supportEditingModes,B.HeightModify]);let Sh=Ks;const kn=class kn extends Rt{constructor(e){super(e);d(this,"_widgetEvent",this.dv(new h.Event));d(this,"_data",this.dv(h.react(void 0)));{const r=()=>{this.url&&(typeof this.url=="object"?this.data=this.url:Ap(this.url)?this.data=JSON.parse(this.url):fetch($.context.getStrFromEnv(this.url)).then(i=>i.json()).then(i=>{this.data=i}).catch(i=>{console.warn("ESEntityCluster数据加载失败",i)}))};r(),this.d(this.urlChanged.don(r))}}get widgetEvent(){return this._widgetEvent}get data(){return this._data.value}set data(e){this._data.value=e}get dataChanged(){return this._data.changed}getFeatures(){if(this._data)return this._data;console.log("数据未加载完成,请稍后重试")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Q([this,"url"],"地址",kn.defaults.url),new L([this,"pixelRange"],"集合范围",kn.defaults.pixelRange),new L([this,"minimumClusterSize"],"最小数量",kn.defaults.minimumClusterSize),new pt([this,"heightReference"],[["None","None"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["CLAMP_TO_TERRAIN","CLAMP_TO_TERRAIN"]],"高度模式","None")],more:[...e.more,new Q([this,"style"],"style",kn.defaults.style),new W([this,"perspective"],"透视效果",kn.defaults.perspective)]}}};d(kn,"createDefaultProps",()=>({...Rt.createDefaultProps(),url:"",pixelRange:200,minimumClusterSize:2,style:h.reactJsonWithUndefined({cluster:[{minValue:2,mode:"SquareV02",style:{}}],nonCluster:{mode:"SquareV03",style:{}}}),heightReference:"None",perspective:!1})),d(kn,"type",kn.register("ESEntityCluster",kn,{chsName:"Poi聚合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于聚合POI标注,提高性能。"}));let Ch=kn;class Ba extends h.Destroyable{constructor(){super();d(this,"_player",this.disposeVar(new Dn));const e=this._player;{const r=()=>{const i=(this.stopTime??0)-(this.startTime??0);e.duration=i>0?i:0};r(),this.d(this.startTimeChanged.don(r)),this.d(this.stopTimeChanged.don(r))}this.d(h.bind([e,"playing"],[this,"playing"])),this.d(h.bind([e,"loop"],[this,"loop"])),this.d(h.bind([e,"speed"],[this,"speed"])),this.d(e.currentTimeChanged.don(()=>{this.startTime!==void 0&&e.currentTime!==void 0&&(this.currentTime=e.currentTime+this.startTime)})),this.d(this.currentTimeChanged.don(()=>{if(this.currentTime===void 0||this.startTime===void 0)return;const r=this.currentTime-this.startTime;e.currentTime=h.clamp(r,0,e.duration)}))}get player(){return this._player}get ratio(){return this._player.ratio}get ratioChanged(){return this._player.ratioChanged}set ratio(e){this._player.ratio=e}}(n=>{n.createDefaultProps=()=>({...$.createDefaultProps(),currentTime:void 0,startTime:void 0,stopTime:void 0,playing:void 0,loop:void 0,speed:void 0})})(Ba||(Ba={})),h.extendClassProps(Ba.prototype,Ba.createDefaultProps);const ua=class ua extends ${constructor(e){super(e);d(this,"_absolutePlayer",this.dv(new Ba));const r=this.absolutePlayer;this.d(h.bind([r,"currentTime"],[this,"currentTime"])),this.d(h.bind([r,"startTime"],[this,"startTime"])),this.d(h.bind([r,"stopTime"],[this,"stopTime"])),this.d(h.bind([r,"playing"],[this,"playing"])),this.d(h.bind([r,"loop"],[this,"loop"])),this.d(h.bind([r,"speed"],[this,"speed"]))}get absolutePlayer(){return this._absolutePlayer}get ratio(){return this._absolutePlayer.ratio}get ratioChanged(){return this._absolutePlayer.ratioChanged}set ratio(e){this._absolutePlayer.ratio=e}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new ou([this,"playing"],[this,"ratio"],[this,"loop"],"播放器"),new ps([this,"currentTime"],"currentTime"),new ps([this,"startTime"]),new ps([this,"stopTime"]),new W([this,"playing"]),new W([this,"loop"]),new L([this,"speed"])]}}};d(ua,"createDefaultProps",()=>({...$.createDefaultProps(),currentTime:0,startTime:0,stopTime:0,playing:!1,loop:!1,speed:1})),d(ua,"type",ua.register("ESPlayer",ua,{chsName:"ESPlayer",tags:["ESObjects","_ES_Impl_UE"],description:"ESPlayer"}));let $a=ua;function Fp(n,t=!1){const e=n.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),r=e.length;if(r===0)return e;if(r===1)return(!e[0][2]===void 0||t)&&(e[0][2]=void 0),e;for(let i=1;i<r;++i){if(e[i][2]!==void 0&&!t)continue;const s=e[i-1][1],o=e[i][1],a=ei(s),u=ei(o),l=h.Vector.distance(a,u);if(l===0){e[i][2]=e[i-1][2];continue}const c=fu(s,o),f=o[2]-s[2],p=Math.asin(f/l)*180/Math.PI,v=Number.isFinite(c)?c:0,w=Number.isFinite(p)?p:0;e[i][2]=[v,w,0]}return(e[0][2]===void 0||t)&&(e[0][2]=r>1?e[1][2]:void 0),e}function kp(n,t=!1){const e=n.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),r=e.length;if(r===0)return e;if(r===1)return(!e[0][2]===void 0||t)&&(e[0][2]=void 0),e;for(let i=r-2;i>=0;--i){if(e[i][2]!==void 0&&!t)continue;const s=e[i][1],o=e[i+1][1],a=ei(s),u=ei(o),l=h.Vector.distance(a,u);if(l===0){e[i][2]=e[i+1][2];continue}const c=fu(s,o),f=o[2]-s[2],p=Math.asin(f/l)*180/Math.PI,v=Number.isFinite(c)?c:0,w=Number.isFinite(p)?p:0;e[i][2]=[v,w,0]}return(e[r-1][2]===void 0||t)&&(e[r-1][2]=r>1?e[r-2][2]:[0,0,0]),e}function s_(n,t=!1){const e=Fp(n,t),r=kp(n,t);if(e.length!==r.length)throw new Error("p.length !== n.length");const i=e.length;for(let s=0;s<i;s++){const o=e[s][2],a=r[s][2];o===void 0&&a===void 0?e[s][2]=void 0:o===void 0?e[s][2]=a:a===void 0?e[s][2]=o:e[s][2]=uc(o,a,.5)}return e}function o_(n,t,e){let i;if(!n.timePosRots)return;const s=[],o=n.timePosRots.length;if(!(o<=2)){s.push(n.timePosRots[0]);for(let a=1;a<o-1;++a){const u=n.timePosRots[a-1][0],l=n.timePosRots[a][0],c=n.timePosRots[a+1][0],f=n.accumDistances[a-1],p=n.accumDistances[a],v=n.accumDistances[a+1],w=p-f;if(w!==0){const P=w-(i??(t.length==1?t[0]:t[a-1]||t[t.length-1])*.5);let M=(P<0?0:P)/w;Number.isNaN(M)&&(M=0);const m=(1-M)*u+M*l,_=n.getCurrent(m);_&&s.push([m,_.position,_.rotation])}e&&s.push(n.timePosRots[a]);const I=v-p;if(I!==0){let P=(t.length==1?t[0]:t[a-1]||t[t.length-1])*.5;const M=(t.length==1?t[0]:t[a]||t[t.length-1])*.5||0;P+M>I?(P=I*(P/(P+M)),i=I-P):i=void 0;let m=(P<0?0:P)/I;const _=(1-m)*l+m*c,g=n.getCurrent(_);g&&s.push([_,g.position,g.rotation])}}s.push(n.timePosRots[o-1]),n.timePosRots=s}}function Vp(n,t){if(t<0)return[void 0,0];if(t>n.length-1)return[void 0,n.length-1];const e=[...n].slice(0,t+1).reverse().findIndex(i=>!!(i!=null&&i[2]));if(e===-1)return[void 0,0];const r=t-e;return[n[r][2],r]}function zp(n,t){if(t<0)return[void 0,0];if(t>=n.length)return[void 0,n.length-1];const e=n.slice(t).findIndex(([,,i])=>i!==void 0),r=e===-1?n.length-1:t+e;return[n[r][2],r]}function a_(n,t,e="Lerp"){let r,i,s,o;if(n.length!==0){if(t<=n[0][0])r=n[0][1],i=n[0][2],s=0,o=0;else if(t>=n[n.length-1][0]){const[u,l,c]=n[n.length-1];r=l,i=c,s=n.length-2,o=1}else{const u=n.findIndex(([l])=>t<=l);if(u===-1)throw new Error("nextIndex === -1");s=u-1;{const[l,c]=n[s],[f,p]=n[u],v=(t-l)/(f-l),w=ac(c),I=ac(p),P=h.Vector.lerp(w,I,v);r=op(P),o=v}{let[l,c]=Vp(n,s),[f,p]=zp(n,u);if(e==="Lerp")if(l&&f){if(c<0||p>=n.length)throw new Error("Invalid rotation index");const v=(t-n[c][0])/(n[p][0]-n[c][0]);i=uc(l,f,v)}else l?i=l:f?i=f:i=void 0;else e==="Prev"?l&&(i=l):e==="Next"&&f&&(i=f)}}return{position:r,rotation:i,index:s,ratio:o}}}function u_(n){try{const t=JSON.parse(n);if(Array.isArray(t)&&t.length>0){const e=typeof t[0][0]=="number",r=Array.isArray(t[0][1])&&t[0][1].length===3;return e&&r?t:void 0}throw new Error("解析有问题")}catch{const e=n.split(/\n|\r\n/),r=[],i=e.length;for(let s=0;s<i;++s){const o=e[s],a=o.split(/[^0-9e\.\+\-]+/).filter(u=>u!=="").map(u=>+u);a.length<4?console.warn(`第${s+1}行数据无法解析成路径的数据, 原内容为: ${o}`):a.length<7?r.push([a[0],[a[1],a[2],a[3]],void 0]):r.push([a[0],[a[1],a[2],a[3]],[a[4],a[5],a[6]]])}return r}}function l_(n,t,e){const{timePosRots:r}=n;if(!r)throw new Error("!timePosRots");if(r.length===0)throw new Error("timePosRots.length === 0");t=Math.max(t,r[0][0]),e=Math.min(e,r[r.length-1][0]);const i=n.getCurrent(t),s=n.getCurrent(e);if(!i||!s)return;const o=[];i.ratio<1&&o.push([t,i.position,i.rotation]);for(let a=i.index+1;a<=s.index;++a)o.push(r[a]);return s.ratio>0&&o.push([e,s.position,s.rotation]),o}const c_=`
|
|
367
|
+
`},Us=class Us extends bt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new $([],"通用"),new H([this,"url"],"路径"),new H([this,"poiTypes"],Us.defaults.poiTypes,pg.sampleValue),new T([this,"heightOffset"])]}}};f(Us,"createDefaultProps",()=>({...bt.createDefaultProps(),url:"",poiTypes:p.reactJsonWithUndefined(pg.defaultValue),heightOffset:40})),f(Us,"type",Us.register("ESPoiTileset",Us,{chsName:"ESPoiTileset",tags:["ESObjects","_ES_Impl_UE"],description:"ESPoiTileset"}));let kh=Us;const oa=class oa extends j{getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new $([],"通用","通用"),new W([this,"show"],"是否显示"),new lt([this,"screenPosition"],[["left","left"],["right","right"]],"定位","right"),new ce([this,"cssPosition"],"位置")]}}};f(oa,"createDefaultProps",()=>({...j.createDefaultProps(),show:!0,screenPosition:"right",cssPosition:[40,30]})),f(oa,"type",oa.register("ESScale",oa,{chsName:"比例尺",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"比例尺"}));let Vh=oa;const Qn=class Qn extends Tt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new T([this,"height"],"高度",Qn.defaults.height,!0),new T([this,"extrudedHeight"],"拉伸高度",Qn.defaults.extrudedHeight,!0),new W([this,"perPositionHeight"],"应用每个位置高度",Qn.defaults.perPositionHeight,!0)]}}};f(Qn,"createDefaultProps",()=>({...Tt.createDefaultProps(),height:0,extrudedHeight:10,perPositionHeight:!1,collision:!1})),f(Qn,"type",Qn.register("ESGeoExtrudedPolygon",Qn,{chsName:"拉升多边形体",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"拉升多边形体"})),f(Qn,"supportEditingModes",[...Tt.supportEditingModes,B.HeightModify]);let bs=Qn;const Gs=class Gs extends Tt{constructor(e){super(e);f(this,"_classification",this.dv(new ol));f(this,"_geoExtrudedPolygon",this.dv(new bs));this.d(this.components.disposableAdd(this._classification)),this.d(this.components.disposableAdd(this._geoExtrudedPolygon,!0));{const{_classification:r,_geoExtrudedPolygon:i}=this;i.perPositionHeight=!0,this.d(p.track([r,"collision"],[this,"collision"])),this.d(p.track([i,"collision"],[this,"collision"])),this.d(p.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(p.bind([i,"flyToParam"],[this,"flyToParam"])),this.d(p.bind([i,"points"],[this,"points"])),this.d(p.bind([i,"extrudedHeight"],[this,"height"])),this.d(p.bind([r,"fillColor"],[this,"overheightColor"])),this.d(p.bind([i,"fillColor"],[this,"standardColor"]));{const s=()=>{const{height:o,points:a,maxHeight:u}=this;if(!a)return;const l=a.map(c=>[c[0],c[1],o]);r.points=l,r.height=u-o,u-o<=0?r.show=!1:r.show=this.show&&this.filled};s(),this.d(Hs([this.heightChanged,this.pointsChanged,this.maxHeightChanged],s))}{const s=()=>{const{show:o,filled:a}=this;r.show=o&&a,i.show=o&&a};s(),this.d(Hs([this.showChanged,this.filledChanged],s))}this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get classification(){return this._classification}get geoExtrudedPolygon(){return this._geoExtrudedPolygon}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new T([this,"height"],"高度",10),new T([this,"maxHeight"],"最高高度",200),new gt([this,"overheightColor"],"超高颜色",[1,0,0,.5]),new gt([this,"standardColor"],"标准颜色",[0,1,0,.5])]}}};f(Gs,"createDefaultProps",()=>({...Tt.createDefaultProps(),height:10,maxHeight:200,overheightColor:[1,0,0,.5],standardColor:[0,1,0,.5]})),f(Gs,"type",Gs.register("ESHeightLimitAnalysis",Gs,{chsName:"控高分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"控高分析对象"})),f(Gs,"supportEditingModes",[...Tt.supportEditingModes,B.HeightModify]);let zh=Gs;const xn=class xn extends bt{constructor(e){super(e);f(this,"_widgetEvent",this.dv(new V));f(this,"_data",this.dv(p.react(void 0)));{const r=()=>{this.url&&(typeof this.url=="object"?this.data=this.url:Ml(this.url)?this.data=JSON.parse(this.url):fetch(j.context.getStrFromEnv(this.url)).then(i=>i.json()).then(i=>{this.data=i}).catch(i=>{console.warn("ESEntityCluster数据加载失败",i)}))};r(),this.d(this.urlChanged.don(r))}}get widgetEvent(){return this._widgetEvent}get data(){return this._data.value}set data(e){this._data.value=e}get dataChanged(){return this._data.changed}getFeatures(){if(this._data)return this._data;console.log("数据未加载完成,请稍后重试")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new H([this,"url"],"地址",xn.defaults.url),new T([this,"pixelRange"],"集合范围",xn.defaults.pixelRange),new T([this,"minimumClusterSize"],"最小数量",xn.defaults.minimumClusterSize),new lt([this,"heightReference"],[["None","None"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["CLAMP_TO_TERRAIN","CLAMP_TO_TERRAIN"]],"高度模式","None")],more:[...e.more,new H([this,"style"],"style",xn.defaults.style),new W([this,"perspective"],"透视效果",xn.defaults.perspective)]}}};f(xn,"createDefaultProps",()=>({...bt.createDefaultProps(),url:"",pixelRange:200,minimumClusterSize:2,style:p.reactJsonWithUndefined({cluster:[{minValue:2,mode:"SquareV02",style:{}}],nonCluster:{mode:"SquareV03",style:{}}}),heightReference:"None",perspective:!1})),f(xn,"type",xn.register("ESEntityCluster",xn,{chsName:"Poi聚合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于聚合POI标注,提高性能。"}));let Uh=xn;class nu extends q{constructor(){super();f(this,"_player",this.disposeVar(new nn));const e=this._player;{const r=()=>{const i=(this.stopTime??0)-(this.startTime??0);e.duration=i>0?i:0};r(),this.d(this.startTimeChanged.don(r)),this.d(this.stopTimeChanged.don(r))}this.d(p.bind([e,"playing"],[this,"playing"])),this.d(p.bind([e,"loop"],[this,"loop"])),this.d(p.bind([e,"speed"],[this,"speed"])),this.d(e.currentTimeChanged.don(()=>{this.startTime!==void 0&&e.currentTime!==void 0&&(this.currentTime=e.currentTime+this.startTime)})),this.d(this.currentTimeChanged.don(()=>{if(this.currentTime===void 0||this.startTime===void 0)return;const r=this.currentTime-this.startTime;e.currentTime=p.clamp(r,0,e.duration)}))}get player(){return this._player}get ratio(){return this._player.ratio}get ratioChanged(){return this._player.ratioChanged}set ratio(e){this._player.ratio=e}}(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),currentTime:void 0,startTime:void 0,stopTime:void 0,playing:void 0,loop:void 0,speed:void 0})})(nu||(nu={})),p.extendClassProps(nu.prototype,nu.createDefaultProps);const aa=class aa extends j{constructor(e){super(e);f(this,"_absolutePlayer",this.dv(new nu));const r=this.absolutePlayer;this.d(p.bind([r,"currentTime"],[this,"currentTime"])),this.d(p.bind([r,"startTime"],[this,"startTime"])),this.d(p.bind([r,"stopTime"],[this,"stopTime"])),this.d(p.bind([r,"playing"],[this,"playing"])),this.d(p.bind([r,"loop"],[this,"loop"])),this.d(p.bind([r,"speed"],[this,"speed"]))}get absolutePlayer(){return this._absolutePlayer}get ratio(){return this._absolutePlayer.ratio}get ratioChanged(){return this._absolutePlayer.ratioChanged}set ratio(e){this._absolutePlayer.ratio=e}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new hu([this,"playing"],[this,"ratio"],[this,"loop"],"播放器"),new ss([this,"currentTime"],"currentTime"),new ss([this,"startTime"]),new ss([this,"stopTime"]),new W([this,"playing"]),new W([this,"loop"]),new T([this,"speed"])]}}};f(aa,"createDefaultProps",()=>({...j.createDefaultProps(),currentTime:0,startTime:0,stopTime:0,playing:!1,loop:!1,speed:1})),f(aa,"type",aa.register("ESPlayer",aa,{chsName:"ESPlayer",tags:["ESObjects","_ES_Impl_UE"],description:"ESPlayer"}));let Ao=aa;function gg(n,t=!1){const e=n.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),r=e.length;if(r===0)return e;if(r===1)return(!e[0][2]===void 0||t)&&(e[0][2]=void 0),e;for(let i=1;i<r;++i){if(e[i][2]!==void 0&&!t)continue;const s=e[i-1][1],o=e[i][1],a=Mn(s),u=Mn(o),l=p.Vector.distance(a,u);if(l===0){e[i][2]=e[i-1][2];continue}const c=Ia(s,o),h=o[2]-s[2],d=Math.asin(h/l)*180/Math.PI,g=Number.isFinite(c)?c:0,v=Number.isFinite(d)?d:0;e[i][2]=[g,v,0]}return(e[0][2]===void 0||t)&&(e[0][2]=r>1?e[1][2]:void 0),e}function mg(n,t=!1){const e=n.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),r=e.length;if(r===0)return e;if(r===1)return(!e[0][2]===void 0||t)&&(e[0][2]=void 0),e;for(let i=r-2;i>=0;--i){if(e[i][2]!==void 0&&!t)continue;const s=e[i][1],o=e[i+1][1],a=Mn(s),u=Mn(o),l=p.Vector.distance(a,u);if(l===0){e[i][2]=e[i+1][2];continue}const c=Ia(s,o),h=o[2]-s[2],d=Math.asin(h/l)*180/Math.PI,g=Number.isFinite(c)?c:0,v=Number.isFinite(d)?d:0;e[i][2]=[g,v,0]}return(e[r-1][2]===void 0||t)&&(e[r-1][2]=r>1?e[r-2][2]:[0,0,0]),e}function f0(n,t=!1){const e=gg(n,t),r=mg(n,t);if(e.length!==r.length)throw new Error("p.length !== n.length");const i=e.length;for(let s=0;s<i;s++){const o=e[s][2],a=r[s][2];o===void 0&&a===void 0?e[s][2]=void 0:o===void 0?e[s][2]=a:a===void 0?e[s][2]=o:e[s][2]=Dl(o,a,.5)}return e}function d0(n,t,e){let i;if(!n.timePosRots)return;const s=[],o=n.timePosRots.length;if(!(o<=2)){s.push(n.timePosRots[0]);for(let a=1;a<o-1;++a){const u=n.timePosRots[a-1][0],l=n.timePosRots[a][0],c=n.timePosRots[a+1][0],h=n.accumDistances[a-1],d=n.accumDistances[a],g=n.accumDistances[a+1],v=d-h;if(v!==0){const C=v-(i??(t.length==1?t[0]:t[a-1]||t[t.length-1])*.5);let b=(C<0?0:C)/v;Number.isNaN(b)&&(b=0);const m=(1-b)*u+b*l,y=n.getCurrent(m);y&&s.push([m,y.position,y.rotation])}e&&s.push(n.timePosRots[a]);const E=g-d;if(E!==0){let C=(t.length==1?t[0]:t[a-1]||t[t.length-1])*.5;const b=(t.length==1?t[0]:t[a]||t[t.length-1])*.5||0;C+b>E?(C=E*(C/(C+b)),i=E-C):i=void 0;let m=(C<0?0:C)/E;Number.isNaN(m)&&(m=0);const y=(1-m)*l+m*c,_=n.getCurrent(y);_&&s.push([y,_.position,_.rotation])}}s.push(n.timePosRots[o-1]),n.timePosRots=s}}function vg(n,t){if(t<0)return[void 0,0];if(t>n.length-1)return[void 0,n.length-1];const e=[...n].slice(0,t+1).reverse().findIndex(i=>!!(i!=null&&i[2]));if(e===-1)return[void 0,0];const r=t-e;return[n[r][2],r]}function yg(n,t){if(t<0)return[void 0,0];if(t>=n.length)return[void 0,n.length-1];const e=n.slice(t).findIndex(([,,i])=>i!==void 0),r=e===-1?n.length-1:t+e;return[n[r][2],r]}function p0(n,t,e="Lerp"){let r,i,s,o;if(n.length!==0){if(t<=n[0][0])r=n[0][1],i=n[0][2],s=0,o=0;else if(t>=n[n.length-1][0]){const[u,l,c]=n[n.length-1];r=l,i=c,s=n.length-2,o=1}else{const u=n.findIndex(([l])=>t<=l);if(u===-1)throw new Error("nextIndex === -1");s=u-1;{const[l,c]=n[s],[h,d]=n[u],g=(t-l)/(h-l),v=Dc(c),E=Dc(d),C=p.Vector.lerp(v,E,g);r=Df(C),o=g}{let[l,c]=vg(n,s),[h,d]=yg(n,u);if(e==="Lerp")if(l&&h){if(c<0||d>=n.length)throw new Error("Invalid rotation index");const g=(t-n[c][0])/(n[d][0]-n[c][0]);i=Dl(l,h,g)}else l?i=l:h?i=h:i=void 0;else e==="Prev"?l&&(i=l):e==="Next"&&h&&(i=h)}}return{position:r,rotation:i,index:s,ratio:o}}}function g0(n){try{const t=JSON.parse(n);if(Array.isArray(t)&&t.length>0){const e=typeof t[0][0]=="number",r=Array.isArray(t[0][1])&&t[0][1].length===3;return e&&r?t:void 0}throw new Error("解析有问题")}catch{const e=n.split(/\n|\r\n/),r=[],i=e.length;for(let s=0;s<i;++s){const o=e[s],a=o.split(/[^0-9e\.\+\-]+/).filter(u=>u!=="").map(u=>+u);a.length<4?console.warn(`第${s+1}行数据无法解析成路径的数据, 原内容为: ${o}`):a.length<7?r.push([a[0],[a[1],a[2],a[3]],void 0]):r.push([a[0],[a[1],a[2],a[3]],[a[4],a[5],a[6]]])}return r}}function m0(n,t,e){const{timePosRots:r}=n;if(!r)throw new Error("!timePosRots");if(r.length===0)throw new Error("timePosRots.length === 0");t=Math.max(t,r[0][0]),e=Math.min(e,r[r.length-1][0]);const i=n.getCurrent(t),s=n.getCurrent(e);if(!i||!s)return;const o=[];i.ratio<1&&o.push([t,i.position,i.rotation]);for(let a=i.index+1;a<=s.index;++a)o.push(r[a]);return s.ratio>0&&o.push([e,s.position,s.rotation]),o}const v0=`
|
|
348
368
|
timePosRots是一个内部包含三个元素的数组,第一个表示时间戳,单位毫秒,第二个表示经纬度,第三个表示姿态(偏航、俯仰、翻转)。示例代码如下:
|
|
349
369
|
\`\`\`
|
|
350
370
|
[
|
|
@@ -389,7 +409,7 @@ timePosRots是一个内部包含三个元素的数组,第一个表示时间戳
|
|
|
389
409
|
]
|
|
390
410
|
]
|
|
391
411
|
\`\`\`
|
|
392
|
-
`,ar=class ar extends h.Destroyable{constructor(e,r){super();d(this,"_scratchCurrentInfo",{position:[0,0,0],rotation:[0,0,0],index:0});d(this,"_currentInfo",this.disposeVar(h.react(void 0,(e,r)=>!1)));d(this,"_player");d(this,"_flyToEvent",this.disposeVar(new h.Event));d(this,"_accumDistancesChanged",this.disposeVar(new h.Event));d(this,"_accumDistancesChangedInit",this.dispose(this.timePosRotsChanged.disposableOn(()=>(this._accumDistancesDirty=!0,this._accumDistancesChanged.emit()))));d(this,"_accumDistancesDirty",!1);d(this,"_accumDistances",[]);d(this,"_getCurrentFunc",this.disposeVar(h.react(void 0)));this._player=this.disposeVar(new Dn);const i=()=>{const s=this.getCurrent(this.currentTime??0);if(s===void 0)this._currentInfo.value=void 0;else{const{index:o,position:a,rotation:u,ratio:l}=s;this._scratchCurrentInfo.index=o,this._scratchCurrentInfo.position=a,this._scratchCurrentInfo.rotation=u,this._scratchCurrentInfo.ratio=l,this._currentInfo.value=this._scratchCurrentInfo}};i(),this.currentTimeChanged.disposableOn(i),this.timePosRotsChanged.disposableOn(i),this.rotLerpModeChanged.disposableOn(i),this.dispose(h.bind([this._player,"loop"],[this,"loop"]));{const s=()=>{if(this.startTime===void 0||this.currentTime===void 0)return;const o=this.currentTime-this.startTime;(this._player.currentTime===void 0||Math.abs(o-this._player.currentTime)>.01)&&(this._player.currentTime=o)};s(),this.dispose(this.currentTimeChanged.disposableOn(s))}{const s=()=>{if(this.startTime===void 0||this._player.currentTime===void 0)return;const o=this._player.currentTime+this.startTime;(this.currentTime===void 0||Math.abs(o-this.currentTime)>.01)&&(this.currentTime=o)};s(),this.dispose(this._player.currentTimeChanged.disposableOn(s))}this.dispose(h.bind([this._player,"duration"],[this,"duration"])),this.dispose(h.bind([this._player,"playing"],[this,"playing"])),this.dispose(h.bind([this._player,"speed"],[this,"speed"]));{const s=()=>{(this.autoComputeTimeFromTimePosRots??!0)&&this.computeTimeFromTimePosRots()};s();const o=this.disposeVar(h.createNextAnimateFrameEvent(this.autoComputeTimeFromTimePosRotsChanged,this.timePosRotsChanged));this.dispose(o.disposableOn(s))}{const s=()=>{const o=this.timePosRots;if(!o)return;let a=0;const u=o.length;for(let l=0;l<u;++l){const c=o[l][0];if(c<0)console.warn("地理路径的时间戳不能小于0!");else if(c<a){console.warn(`地理路径的时间戳需要满足从小到大的数据,元素越靠后,时间越靠后!当前不满足条件的元素是index: ${l} time: ${c}`);break}}};s(),this.dispose(this.timePosRotsChanged.disposableOn(s))}{const s=this.disposeVar(h.createProcessingFromAsyncFunc(async o=>{if(!this.dataUri)return;await o.promise(h.sleep(1e3));const a=await o.promise(fetch(this.dataUri)),u=await o.promise(a.text());this.timePosRots=ar.parseData(u)}));this.dispose(this.dataUriChanged.disposableOn(()=>{s.restart()})),this.dispose(this.dataTextChanged.disposableOn(()=>{this.dataText&&(this.timePosRots=ar.parseData(this.dataText))}))}}get currentInfo(){return this._currentInfo.value}get currentInfoChanged(){return this._currentInfo.changed}get currentIndex(){return this._currentInfo.value&&this._currentInfo.value.index}get currentIndexChanged(){return this._currentInfo.changed}get currentPosition(){return this._currentInfo.value&&this._currentInfo.value.position}get currentPositionChanged(){return this._currentInfo.changed}get currentRotation(){return this._currentInfo.value&&this._currentInfo.value.rotation}get currentRotationChanged(){return this._currentInfo.changed}get player(){return this._player}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get accumDistancesChanged(){return this._accumDistancesChanged}get accumDistances(){if(this._accumDistancesDirty)return this._accumDistances;if(!this.timePosRots||this.timePosRots.length<2)return this._accumDistances=[],this._accumDistances;{const e=this.timePosRots.length;let r=0;const i=[];let s=ei(this.timePosRots[0][1]);i.push(r);for(let o=1;o<e;++o){const a=ei(this.timePosRots[o][1]),u=h.Vector.distance(a,s);s=a,r+=u,i.push(r)}this._accumDistances=i}return this._accumDistances}get totalDistanceChanged(){return this._accumDistancesChanged}get totalDistance(){return this.accumDistances.length>0?this.accumDistances[this.accumDistances.length-1]:0}getCurrent(e){return this.getCurrentFunc?this.getCurrentFunc(e,this):this.timePosRots&&a_(this.timePosRots,e,this.rotLerpMode)}subPath(e,r){return this.timePosRots&&l_(this,e,r)}computeRotIfUndefinedUsingPrevLine(e=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=ar.computeRotIfUndefinedUsingPrevLine(this.timePosRots,e)}computeRotIfUndefinedUsingNextLine(e=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=ar.computeRotIfUndefinedUsingNextLine(this.timePosRots,e)}computeRotIfUndefinedUsingLerp(e=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=ar.computeRotIfUndefinedUsingLerp(this.timePosRots,e)}computeRotIfUndefined(e=!1){this.computeRotIfUndefinedUsingPrevLine(e)}addAroundPoints(e,r){o_(this,e,r)}get getCurrentFunc(){return this._getCurrentFunc.value}set getCurrentFunc(e){this._getCurrentFunc.value=e}get getCurrentFuncChanged(){return this._getCurrentFunc.changed}computeTimeFromTimePosRots(){const e=this.timePosRots;if(!e||e.length<=1){this.startTime=void 0,this.stopTime=void 0,this.duration=void 0;return}this.startTime=e[0][0],this.stopTime=e[e.length-1][0],this.duration=this.stopTime-this.startTime}get ratio(){return this.player.ratio}set ratio(e){this.player.ratio=e}get ratioChanged(){return this.player.ratioChanged}};d(ar,"computeRotIfUndefinedUsingPrevLine",Fp),d(ar,"computeRotIfUndefinedUsingNextLine",kp),d(ar,"computeRotIfUndefinedUsingLerp",s_),d(ar,"getLeftRotation",Vp),d(ar,"getRightRotation",zp),d(ar,"parseData",u_),d(ar,"defaults",{timePosRots:[],startTime:0,stopTime:3e3,loop:!1,duration:3e3,playing:!1,dataText:""}),d(ar,"timePosRotsMd",c_);let ns=ar;(n=>{n.createDefaultProps=()=>({show:!1,currentPoiShow:!0,timePosRots:h.reactDeepArrayWithUndefined(void 0,(t,e)=>t[0]===e[0]&&t[1].every((r,i)=>r===e[1][i])&&t[2]===e[2]===void 0||t[2]!==void 0&&e[2]!==void 0&&t[2].every((r,i)=>e[2][i]),t=>[t[0],[...t[1]],t[2]&&[...t[2]]||void 0]),autoComputeTimeFromTimePosRots:!0,leadTime:0,trailTime:0,startTime:void 0,stopTime:void 0,loop:!1,currentTime:0,duration:void 0,speed:1,playing:!1,polylineShow:!0,width:1,ground:!1,color:h.reactArray([1,1,1,1]),hasDash:!1,gapColor:h.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,depthTest:!1,arcType:"GEODESIC",allowPicking:!1,dataUri:"",dataText:void 0,rotLerpMode:"Lerp",debug:!1})})(ns||(ns={})),h.extendClassProps(ns.prototype,ns.createDefaultProps);const la=class la extends rs{constructor(e){super(e);d(this,"_path");d(this,"_currentPositionChanged",this.disposeVar(new h.Event));d(this,"_currentRotationChanged",this.disposeVar(new h.Event));d(this,"_currentChanged",this.disposeVar(new h.Event));d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.strokeStyle={width:10,widthType:"world",color:[1,0,.73,1],material:"",materialParams:{},ground:!1},this._path=this.disposeVar(new ns),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentPositionChanged.emit(this._path.currentPosition))),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentRotationChanged.emit(this.currentRotation))),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentChanged.emit(this.current))),this._path.show=!0,this._path.polylineShow=!1,this._path.currentPoiShow=!1;{const r=()=>{if(!this.timeStamps||!this.points){this._path.timePosRots=void 0;return}const s=this.timeStamps.length,o=this.points.length,a=Math.min(s,o),u=[];for(let l=0;l<a;++l)u.push([this.timeStamps[l],this.points[l]]);this._path.timePosRots=u,this.rotationRadius.some(l=>l>0)?(this._path.addAroundPoints(this.rotationRadius,!0),this._path.computeRotIfUndefinedUsingLerp(!0),this._path.rotLerpMode="Lerp"):(this._path.computeRotIfUndefinedUsingPrevLine(!0),this._path.rotLerpMode="Next")},i=this.disposeVar(h.createNextAnimateFrameEvent(this.timeStampsChanged,this.pointsChanged,this.rotationRadiusChanged));r(),this.dispose(i.disposableOn(r))}}get path(){return this._path}get currentPosition(){return this._path.currentPosition}get currentPositionChanged(){return this._currentPositionChanged}get currentRotation(){const e=this._path.currentRotation;if(e)return[Lo(e[0]-90),e[1],e[2]]}get currentRotationChanged(){return this._currentRotationChanged}get current(){return{position:this.currentPosition,rotation:this.currentRotation}}get currentChanged(){return this._currentChanged}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Hh([this,"timeStamps"],"时间序列",[],!0),new L([this,"speed"],"线条流速",1),new pt([this,"materialMode"],[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","pureColor"]],"模式","singleArrow"),new Q([this,"rotationRadius"],"拐弯半径")],more:[...e.more,new Ve([this,"currentPosition"],"当前位置",void 0,!0,!0)]}}};d(la,"createDefaultProps",()=>({...yt.createDefaultProps(),timeStamps:h.reactArrayWithUndefined(void 0),speed:1,materialMode:"singleArrow",stroked:!0,strokeStyle:h.reactJson({width:10,widthType:"world",color:[1,0,.73,1],material:"",materialParams:{},ground:!1}),rotationRadius:[5]})),d(la,"type",la.register("ESPath",la,{chsName:"ESPath",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPath"}));let ja=la;const hs=class hs extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([]),new W([this,"textEditingInteraction"],"文本编辑交互"),new W([this,"textEditing"],"文本编辑"),new L([this,"width"],"宽度",hs.defaults.width,!0),new ll([this,"text"],"内容",hs.defaults.text,void 0,!0),new hn([this,"originRatioAndOffset"],"原点比例和偏移"),new L([this,"opacity"],"透明度"),new L([this,"fontSize"],"字体大小"),new _t([this,"color"],"字体颜色"),new _t([this,"backgroundColor"],"背景颜色"),new hn([this,"padding"],"内边距"),new hn([this,"borderRadius"],"边框圆角"),new _t([this,"borderColor"],"边框颜色"),new L([this,"borderWidth"],"边框宽度"),new pt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置"),new pt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};d(hs,"createDefaultProps",()=>({...j.createDefaultProps(),text:"请输入文字",width:80,textEditingInteraction:!1,textEditing:!1,originRatioAndOffset:h.reactArray([.5,1,0,0]),opacity:1,fontSize:14,textAlign:"left",color:h.reactArray([1,1,1,1]),backgroundColor:h.reactArray([0,0,0,.8]),padding:h.reactArray([5,5,5,5]),borderRadius:h.reactArray([6,6,6,6]),borderWidth:0,borderColor:h.reactArray([1,1,1,1]),borderStyle:"solid"})),d(hs,"type",hs.register("ESGeoDivTextPoi",hs,{chsName:"图标点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"图标点"}));let Ih=hs;const ca=class ca extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new _t([this,"color"],"颜色",[1,1,0,1])]}}};d(ca,"createDefaultProps",()=>({...j.createDefaultProps(),color:h.reactArray([1,1,0,1])})),d(ca,"type",ca.register("ESCityBasePoint",ca,{chsName:"城市基点(Czm)",tags:["ESObjects","CityObjects","_ES_Impl_Cesium"],description:"城市基点(Czm)"}));let Ph=ca;const h_=[{id:"document",version:"1.0"},{id:"Vehicle",availability:"2012-08-04T16:00:00Z/2012-08-04T16:14:15.251Z",billboard:{eyeOffset:{cartesian:[0,0,0]},horizontalOrigin:"CENTER",image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEISURBVEhLvVXBDYQwDOuojHKj8LhBbpTbpBCEkZsmIVTXq1RVQGrHiWlLmTTqPiZBlyLgy/KSZQ5JSHDQ/mCYCsC8106kDU0AdwRnvYZArWRcAl0dcYJq1hWCb3hBrumbDAVMwAC82WoRvgMnVMDBnB0nYZFTbE6BBvdUGqVqCbjBIk3PyFFR/NU7EKzru+qZsau3ryPwwCRLKYOzutZuCL6fUmWeJGzNzL/RxAMrUmASSCkkAayk2IxPlwhAAYGpsiHQjbLccfdOY5gKkCXAMi7SscAwbQpAnKyctWyUZ6z8ja3OGMepwD8asz+9FnSvbhU8uVOHFIwQsI3/p0CfhuqCSQuxLqsN6mu8SS+N42MAAAAASUVORK5CYII=",pixelOffset:{cartesian2:[0,0]},scale:.8333333333333334,show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}],verticalOrigin:"BOTTOM"},label:{fillColor:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",rgba:[255,255,0,255]}],font:"bold 10pt Segoe UI Semibold",horizontalOrigin:"LEFT",outlineColor:{rgba:[0,0,0,255]},pixelOffset:{cartesian2:[10,0]},scale:1,show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}],style:"FILL",text:"Vehicle",verticalOrigin:"CENTER"},path:{material:{solidColor:{color:{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",rgba:[255,255,0,255]}}},width:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",number:5}],show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}]},position:{interpolationAlgorithm:"LAGRANGE",interpolationDegree:1,epoch:"2012-08-04T16:00:00Z",cartesian:[0,-23797546637012e-7,-466533288013588e-8,362813368924173e-8,100,-237951008905552e-8,-466541964840452e-8,362818220006795e-8,200,-23795684769522e-7,-46655553441867e-7,362797083323261e-8,300,-237963893786855e-8,-466569163561896e-8,362775082085873e-8,400,-237970929834665e-8,-46658279679646e-7,362753080187124e-8,500,-237983728064915e-8,-46658477494347e-7,362742212874017e-8,600,-237962498289073e-8,-466590750853722e-8,36274841191848e-7,700,-237938612743523e-8,-466602954174431e-8,362748383297459e-8,800,-237914726777171e-8,-466615156669944e-8,36274835403492e-7,900,-237890840390057e-8,-466627358340244e-8,362748324130864e-8,1e3]}}],f_=`第一个packet代表了cesium场景(cesium时间轴的范围,当前时刻,倍速等信息)之外,其他的packet都可以理解为描述某一时间范围内的entity的行为。
|
|
412
|
+
`,ir=class ir extends q{constructor(e,r){super();f(this,"_scratchCurrentInfo",{position:[0,0,0],rotation:[0,0,0],index:0});f(this,"_currentInfo",this.disposeVar(p.react(void 0,(e,r)=>!1)));f(this,"_player");f(this,"_flyToEvent",this.disposeVar(new V));f(this,"_accumDistancesChanged",this.disposeVar(new V));f(this,"_accumDistancesChangedInit",this.dispose(this.timePosRotsChanged.disposableOn(()=>(this._accumDistancesDirty=!0,this._accumDistancesChanged.emit()))));f(this,"_accumDistancesDirty",!1);f(this,"_accumDistances",[]);f(this,"_getCurrentFunc",this.disposeVar(p.react(void 0)));this._player=this.disposeVar(new nn);const i=()=>{const s=this.getCurrent(this.currentTime??0);if(s===void 0)this._currentInfo.value=void 0;else{const{index:o,position:a,rotation:u,ratio:l}=s;this._scratchCurrentInfo.index=o,this._scratchCurrentInfo.position=a,this._scratchCurrentInfo.rotation=u,this._scratchCurrentInfo.ratio=l,this._currentInfo.value=this._scratchCurrentInfo}};i(),this.currentTimeChanged.disposableOn(i),this.timePosRotsChanged.disposableOn(i),this.rotLerpModeChanged.disposableOn(i),this.dispose(p.bind([this._player,"loop"],[this,"loop"]));{const s=()=>{if(this.startTime===void 0||this.currentTime===void 0)return;const o=this.currentTime-this.startTime;(this._player.currentTime===void 0||Math.abs(o-this._player.currentTime)>.01)&&(this._player.currentTime=o)};s(),this.dispose(this.currentTimeChanged.disposableOn(s))}{const s=()=>{if(this.startTime===void 0||this._player.currentTime===void 0)return;const o=this._player.currentTime+this.startTime;(this.currentTime===void 0||Math.abs(o-this.currentTime)>.01)&&(this.currentTime=o)};s(),this.dispose(this._player.currentTimeChanged.disposableOn(s))}this.dispose(p.bind([this._player,"duration"],[this,"duration"])),this.dispose(p.bind([this._player,"playing"],[this,"playing"])),this.dispose(p.bind([this._player,"speed"],[this,"speed"]));{const s=()=>{(this.autoComputeTimeFromTimePosRots??!0)&&this.computeTimeFromTimePosRots()};s();const o=this.disposeVar(p.createNextAnimateFrameEvent(this.autoComputeTimeFromTimePosRotsChanged,this.timePosRotsChanged));this.dispose(o.disposableOn(s))}{const s=()=>{const o=this.timePosRots;if(!o)return;let a=0;const u=o.length;for(let l=0;l<u;++l){const c=o[l][0];if(c<0)console.warn("地理路径的时间戳不能小于0!");else if(c<a){console.warn(`地理路径的时间戳需要满足从小到大的数据,元素越靠后,时间越靠后!当前不满足条件的元素是index: ${l} time: ${c}`);break}}};s(),this.dispose(this.timePosRotsChanged.disposableOn(s))}{const s=this.disposeVar(p.createProcessingFromAsyncFunc(async o=>{if(!this.dataUri)return;await o.promise(p.sleep(1e3));const a=await o.promise(fetch(this.dataUri)),u=await o.promise(a.text());this.timePosRots=ir.parseData(u)}));this.dispose(this.dataUriChanged.disposableOn(()=>{s.restart()})),this.dispose(this.dataTextChanged.disposableOn(()=>{this.dataText&&(this.timePosRots=ir.parseData(this.dataText))}))}}get currentInfo(){return this._currentInfo.value}get currentInfoChanged(){return this._currentInfo.changed}get currentIndex(){return this._currentInfo.value&&this._currentInfo.value.index}get currentIndexChanged(){return this._currentInfo.changed}get currentPosition(){return this._currentInfo.value&&this._currentInfo.value.position}get currentPositionChanged(){return this._currentInfo.changed}get currentRotation(){return this._currentInfo.value&&this._currentInfo.value.rotation}get currentRotationChanged(){return this._currentInfo.changed}get player(){return this._player}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get accumDistancesChanged(){return this._accumDistancesChanged}get accumDistances(){if(!this._accumDistancesDirty)return this._accumDistances;if(!this.timePosRots||this.timePosRots.length<2)this._accumDistances=[];else{const e=this.timePosRots.length;let r=0;const i=[];let s=Mn(this.timePosRots[0][1]);i.push(r);for(let o=1;o<e;++o){const a=Mn(this.timePosRots[o][1]),u=p.Vector.distance(a,s);s=a,r+=u,i.push(r)}this._accumDistances=i}return this._accumDistances}get totalDistanceChanged(){return this._accumDistancesChanged}get totalDistance(){return this.accumDistances.length>0?this.accumDistances[this.accumDistances.length-1]:0}getCurrent(e){return this.getCurrentFunc?this.getCurrentFunc(e,this):this.timePosRots&&p0(this.timePosRots,e,this.rotLerpMode)}subPath(e,r){return this.timePosRots&&m0(this,e,r)}computeRotIfUndefinedUsingPrevLine(e=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=ir.computeRotIfUndefinedUsingPrevLine(this.timePosRots,e)}computeRotIfUndefinedUsingNextLine(e=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=ir.computeRotIfUndefinedUsingNextLine(this.timePosRots,e)}computeRotIfUndefinedUsingLerp(e=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=ir.computeRotIfUndefinedUsingLerp(this.timePosRots,e)}computeRotIfUndefined(e=!1){this.computeRotIfUndefinedUsingPrevLine(e)}addAroundPoints(e,r){d0(this,e,r)}get getCurrentFunc(){return this._getCurrentFunc.value}set getCurrentFunc(e){this._getCurrentFunc.value=e}get getCurrentFuncChanged(){return this._getCurrentFunc.changed}computeTimeFromTimePosRots(){const e=this.timePosRots;if(!e||e.length<=1){this.startTime=void 0,this.stopTime=void 0,this.duration=void 0;return}this.startTime=e[0][0],this.stopTime=e[e.length-1][0],this.duration=this.stopTime-this.startTime}get ratio(){return this.player.ratio}set ratio(e){this.player.ratio=e}get ratioChanged(){return this.player.ratioChanged}};f(ir,"computeRotIfUndefinedUsingPrevLine",gg),f(ir,"computeRotIfUndefinedUsingNextLine",mg),f(ir,"computeRotIfUndefinedUsingLerp",f0),f(ir,"getLeftRotation",vg),f(ir,"getRightRotation",yg),f(ir,"parseData",g0),f(ir,"defaults",{timePosRots:[],startTime:0,stopTime:3e3,loop:!1,duration:3e3,playing:!1,dataText:""}),f(ir,"timePosRotsMd",v0);let Bi=ir;(n=>{n.createDefaultProps=()=>({show:!1,currentPoiShow:!0,timePosRots:p.reactDeepArrayWithUndefined(void 0,(t,e)=>t[0]===e[0]&&t[1].every((r,i)=>r===e[1][i])&&t[2]===e[2]===void 0||t[2]!==void 0&&e[2]!==void 0&&t[2].every((r,i)=>e[2][i]),t=>[t[0],[...t[1]],t[2]&&[...t[2]]||void 0]),autoComputeTimeFromTimePosRots:!0,leadTime:0,trailTime:0,startTime:void 0,stopTime:void 0,loop:!1,currentTime:0,duration:void 0,speed:1,playing:!1,polylineShow:!0,width:1,ground:!1,color:p.reactArray([1,1,1,1]),hasDash:!1,gapColor:p.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,depthTest:!1,arcType:"GEODESIC",allowPicking:!1,dataUri:"",dataText:void 0,rotLerpMode:"Lerp",debug:!1})})(Bi||(Bi={})),p.extendClassProps(Bi.prototype,Bi.createDefaultProps);const ua=class ua extends yi{constructor(e){super(e);f(this,"_path");f(this,"_currentPositionChanged",this.disposeVar(new V));f(this,"_currentRotationChanged",this.disposeVar(new V));f(this,"_currentChanged",this.disposeVar(new V));f(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.strokeStyle={width:10,widthType:"world",color:[1,0,.73,1],material:"",materialParams:{},ground:!1},this._path=this.disposeVar(new Bi),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentPositionChanged.emit(this._path.currentPosition))),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentRotationChanged.emit(this.currentRotation))),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentChanged.emit(this.current))),this._path.show=!0,this._path.polylineShow=!1,this._path.currentPoiShow=!1;{const r=()=>{if(!this.timeStamps||!this.points){this._path.timePosRots=void 0;return}const s=this.timeStamps.length,o=this.points.length,a=Math.min(s,o),u=[];for(let l=0;l<a;++l)u.push([this.timeStamps[l],this.points[l]]);this._path.timePosRots=u,this.rotationRadius.some(l=>l>0)?(this._path.addAroundPoints(this.rotationRadius,!0),this._path.computeRotIfUndefinedUsingLerp(!0),this._path.rotLerpMode="Lerp"):(this._path.computeRotIfUndefinedUsingPrevLine(!0),this._path.rotLerpMode="Next")},i=this.disposeVar(p.createNextAnimateFrameEvent(this.timeStampsChanged,this.pointsChanged,this.rotationRadiusChanged));r(),this.dispose(i.disposableOn(r))}}get path(){return this._path}get currentPosition(){return this._path.currentPosition}get currentPositionChanged(){return this._currentPositionChanged}get currentRotation(){const e=this._path.currentRotation;if(e)return[Js(e[0]-90),e[1],e[2]]}get currentRotationChanged(){return this._currentRotationChanged}get current(){return{position:this.currentPosition,rotation:this.currentRotation}}get currentChanged(){return this._currentChanged}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Ef([this,"timeStamps"],"时间序列",[],!0),new T([this,"speed"],"线条流速",1),new lt([this,"materialMode"],[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","pureColor"]],"模式","singleArrow"),new H([this,"rotationRadius"],"拐弯半径")],more:[...e.more,new Re([this,"currentPosition"],"当前位置",void 0,!0,!0)]}}};f(ua,"createDefaultProps",()=>({...pt.createDefaultProps(),timeStamps:p.reactArrayWithUndefined(void 0),speed:1,materialMode:"singleArrow",stroked:!0,strokeStyle:p.reactJson({width:10,widthType:"world",color:[1,0,.73,1],material:"",materialParams:{},ground:!1}),rotationRadius:[5]})),f(ua,"type",ua.register("ESPath",ua,{chsName:"ESPath",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPath"}));let Ro=ua;const es=class es extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new $([]),new W([this,"textEditingInteraction"],"文本编辑交互"),new W([this,"textEditing"],"文本编辑"),new T([this,"width"],"宽度",es.defaults.width,!0),new xl([this,"text"],"内容",es.defaults.text,void 0,!0),new rn([this,"originRatioAndOffset"],"原点比例和偏移"),new T([this,"opacity"],"透明度"),new T([this,"fontSize"],"字体大小"),new gt([this,"color"],"字体颜色"),new gt([this,"backgroundColor"],"背景颜色"),new rn([this,"padding"],"内边距"),new rn([this,"borderRadius"],"边框圆角"),new gt([this,"borderColor"],"边框颜色"),new T([this,"borderWidth"],"边框宽度"),new lt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置"),new lt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};f(es,"createDefaultProps",()=>({...Z.createDefaultProps(),text:"请输入文字",width:80,textEditingInteraction:!1,textEditing:!1,originRatioAndOffset:p.reactArray([.5,1,0,0]),opacity:1,fontSize:14,textAlign:"left",color:p.reactArray([1,1,1,1]),backgroundColor:p.reactArray([0,0,0,.8]),padding:p.reactArray([5,5,5,5]),borderRadius:p.reactArray([6,6,6,6]),borderWidth:0,borderColor:p.reactArray([1,1,1,1]),borderStyle:"solid"})),f(es,"type",es.register("ESGeoDivTextPoi",es,{chsName:"图标点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"图标点"}));let Gh=es;const la=class la extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new gt([this,"color"],"颜色",[1,1,0,1])]}}};f(la,"createDefaultProps",()=>({...Z.createDefaultProps(),color:p.reactArray([1,1,0,1])})),f(la,"type",la.register("ESCityBasePoint",la,{chsName:"城市基点(Czm)",tags:["ESObjects","CityObjects","_ES_Impl_Cesium"],description:"城市基点(Czm)"}));let Wh=la;const y0=[{id:"document",version:"1.0"},{id:"Vehicle",availability:"2012-08-04T16:00:00Z/2012-08-04T16:14:15.251Z",billboard:{eyeOffset:{cartesian:[0,0,0]},horizontalOrigin:"CENTER",image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEISURBVEhLvVXBDYQwDOuojHKj8LhBbpTbpBCEkZsmIVTXq1RVQGrHiWlLmTTqPiZBlyLgy/KSZQ5JSHDQ/mCYCsC8106kDU0AdwRnvYZArWRcAl0dcYJq1hWCb3hBrumbDAVMwAC82WoRvgMnVMDBnB0nYZFTbE6BBvdUGqVqCbjBIk3PyFFR/NU7EKzru+qZsau3ryPwwCRLKYOzutZuCL6fUmWeJGzNzL/RxAMrUmASSCkkAayk2IxPlwhAAYGpsiHQjbLccfdOY5gKkCXAMi7SscAwbQpAnKyctWyUZ6z8ja3OGMepwD8asz+9FnSvbhU8uVOHFIwQsI3/p0CfhuqCSQuxLqsN6mu8SS+N42MAAAAASUVORK5CYII=",pixelOffset:{cartesian2:[0,0]},scale:.8333333333333334,show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}],verticalOrigin:"BOTTOM"},label:{fillColor:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",rgba:[255,255,0,255]}],font:"bold 10pt Segoe UI Semibold",horizontalOrigin:"LEFT",outlineColor:{rgba:[0,0,0,255]},pixelOffset:{cartesian2:[10,0]},scale:1,show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}],style:"FILL",text:"Vehicle",verticalOrigin:"CENTER"},path:{material:{solidColor:{color:{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",rgba:[255,255,0,255]}}},width:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",number:5}],show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}]},position:{interpolationAlgorithm:"LAGRANGE",interpolationDegree:1,epoch:"2012-08-04T16:00:00Z",cartesian:[0,-23797546637012e-7,-466533288013588e-8,362813368924173e-8,100,-237951008905552e-8,-466541964840452e-8,362818220006795e-8,200,-23795684769522e-7,-46655553441867e-7,362797083323261e-8,300,-237963893786855e-8,-466569163561896e-8,362775082085873e-8,400,-237970929834665e-8,-46658279679646e-7,362753080187124e-8,500,-237983728064915e-8,-46658477494347e-7,362742212874017e-8,600,-237962498289073e-8,-466590750853722e-8,36274841191848e-7,700,-237938612743523e-8,-466602954174431e-8,362748383297459e-8,800,-237914726777171e-8,-466615156669944e-8,36274835403492e-7,900,-237890840390057e-8,-466627358340244e-8,362748324130864e-8,1e3]}}],_0=`第一个packet代表了cesium场景(cesium时间轴的范围,当前时刻,倍速等信息)之外,其他的packet都可以理解为描述某一时间范围内的entity的行为。
|
|
393
413
|
\`\`\`
|
|
394
414
|
[{
|
|
395
415
|
"id": "document",
|
|
@@ -444,7 +464,7 @@ timePosRots是一个内部包含三个元素的数组,第一个表示时间戳
|
|
|
444
464
|
}
|
|
445
465
|
}]
|
|
446
466
|
\`\`\`
|
|
447
|
-
`,
|
|
467
|
+
`,_g=`(dataSource) => {
|
|
448
468
|
var entities = dataSource.entities.values;
|
|
449
469
|
|
|
450
470
|
for (var i = 0; i < entities.length; i++) {
|
|
@@ -459,32 +479,12 @@ timePosRots是一个内部包含三个元素的数组,第一个表示时间戳
|
|
|
459
479
|
}
|
|
460
480
|
}
|
|
461
481
|
}
|
|
462
|
-
`,
|
|
482
|
+
`,w0=`data 路径都可以使用下面回调函数
|
|
463
483
|
\`\`\`
|
|
464
|
-
${
|
|
484
|
+
${_g}
|
|
465
485
|
\`\`\`
|
|
466
486
|
|
|
467
|
-
`,tu=Date.now();new Date(tu).toISOString(),new Date(tu+24*60*60*1e3).toISOString();const Vn=class Vn extends ${constructor(e){super(e);d(this,"_flyToEvent",this.disposeVar(new h.Event));d(this,"_resetClockEvent",this.disposeVar(new h.Event))}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"],Vn.defaults.data,f_,"数据",!0),new Q([this,"uri"],"路径",""),new W([this,"clockEnabled"],"启用",!1),new L([this,"multiplier"],"倍速",Vn.defaults.multiplier),new W([this,"autoResetClock"],"自动设置时钟",!0),new ps([this,"startTime"],"开始时间",Vn.defaults.startTime,!0),new ps([this,"stopTime"],"结束时间",Vn.defaults.stopTime,!0),new ps([this,"currentTime"],"当前时间",Vn.defaults.currentTime,!0),new pt([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep","SYSTEM_CLOCK_MULTIPLIER"),new pt([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange","UNBOUNDED"),new W([this,"shouldAnimate"],"是否启用动画",!1)],general:[...e.general,new W([this,"show"],"是否显示",!0),new W([this,"collision"],"开启碰撞",!1),new W([this,"allowPicking"],"允许拾取",!1)],more:[...e.more,new nt(["number"],r=>this.flyTo(r),[1e3],"飞入"),new nt([],()=>this.resetClock(),[],"重设时钟"),new Fi([this,"loadFuncStr"],"loadFnStr",Up,d_,!0)]}}};d(Vn,"createDefaultProps",()=>({show:!0,uri:"${earthsdk3-assets-script-dir}/assets/misc/simple.czml",allowPicking:!1,data:h.reactJsonWithUndefined(h_),autoResetClock:!0,clockEnabled:!1,startTime:tu,stopTime:tu+24*60*60*1e3,currentTime:tu,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...$.createDefaultProps()})),d(Vn,"type",Vn.register("ESCzml",Vn,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"}));let Nh=Vn;const ha=class ha extends ${getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([]),new W([this,"show"],"是否显示"),new L([this,"cssSize"],"尺寸"),new ge([this,"cssPosition"],"位置"),new pa([this,"imgUrl"],"图片地址")]}}};d(ha,"createDefaultProps",()=>({...$.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:$.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")})),d(ha,"type",ha.register("ESNavigator",ha,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"}));let bh=ha;const li=class li extends ${constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用","通用"),new W([this,"show"],"是否显示",li.defaults.show),new L([this,"height"],"高度",li.defaults.height,!0),new L([this,"fontSize"],"文字大小",li.defaults.fontSize,!0),new _t([this,"bgColor"],"背景颜色",li.defaults.bgColor,!0)]}}};d(li,"createDefaultProps",()=>({...$.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:h.reactArray([71/255,71/255,71/255,.8])})),d(li,"type",li.register("ESViewerStatusBar",li,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Th=li;const ci=class ci extends ${constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用","通用"),new W([this,"show"],"是否显示",ci.defaults.show),new L([this,"height"],"高度",ci.defaults.height,!0),new L([this,"fontSize"],"文字大小",ci.defaults.fontSize,!0),new _t([this,"bgColor"],"背景颜色",ci.defaults.bgColor,!0)]}}};d(ci,"createDefaultProps",()=>({...$.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:h.reactArray([71/255,71/255,71/255,.8])})),d(ci,"type",ci.register("ESViewerStatusBarScale",ci,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Oh=ci;const fa=class fa extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ot([this,"url"],"路径","",!0),new L([this,"progress"],"进度",0,!1,!0)]}}};d(fa,"createDefaultProps",()=>({...j.createDefaultProps(),url:"",progress:0})),d(fa,"type",fa.register("ESGaussianSplatting",fa,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"}));let Dh=fa;const Qs=class Qs extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ot([this,"mesh"],"mesh地址",Qs.defaults.mesh)]}}};d(Qs,"createDefaultProps",()=>({...j.createDefaultProps(),mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"})),d(Qs,"type",Qs.register("ESStaticMesh",Qs,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"}));let Mh=Qs;const da=class da extends yt{constructor(e){super(e);d(this,"_startEvent",this.dv(new h.Event));d(this,"_clearEvent",this.dv(new h.Event));d(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new Qa),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(h.track([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(h.track([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(h.track([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(h.track([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(h.track([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(h.track([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(h.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 nt([],()=>this.start(),[],"开始分析"),new nt([],()=>this.clear(),[],"清除分析"),new Q([this,"windowPositions"],"屏幕坐标",[],void 0,!1,!0),new Q([this,"depths"],"深度值",[],void 0,!1,!0),new L([this,"radius"],"半径",1e4,!0)]}}};d(da,"createDefaultProps",()=>({...yt.createDefaultProps(),windowPositions:hl([]),depths:h.reactArrayWithUndefined([]),radius:h.react(1e4)})),d(da,"type",da.register("ESSkylineAnalysis",da,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let xh=da;const Li=class Li extends Rt{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"],"渐变",Li.defaults.gradient,void 0,!0),new L([this,"radius"],"半径",Li.defaults.radius,void 0,!0),new L([this,"blur"],"模糊",Li.defaults.blur,!0),new W([this,"is3D"],"is3D",!1,!0)]}}};d(Li,"createDefaultProps",()=>({...Rt.createDefaultProps(),is3D:h.react(!1),data:h.reactPositions([]),gradient:h.reactJsonWithUndefined({".5":"green",".7":"yellow",".95":"red"}),radius:h.react(10),blur:h.react(.85)})),d(Li,"type",Li.register("ESHeatMap",Li,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"}));let Lh=Li;const Bs=class Bs extends yt{constructor(e){super(e);d(this,"editingBindMode","scatter")}};d(Bs,"createDefaultProps",()=>({...yt.createDefaultProps(),pointed:!0})),d(Bs,"type",Bs.register("ESGeoPoints",Bs,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),d(Bs,"supportEditingModes",[...yt.supportEditingModes,B.ScatterAppend,B.ScatterModify]);let Ah=Bs;function Gp(n){return typeof n=="string"?document.getElementById(n):n}function Rh(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 Wp extends h.Destroyable{constructor(e,r){super();d(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 p_ extends h.Destroyable{constructor(t){super(),this._esObjectsManager=t;{const e=this._esObjectsManager;class r extends h.Destroyable{constructor(s){super(),this._esPath=s,this.dv(new h.ObjResettingWithEvent(e.activeViewerChanged,()=>{const o=e.activeViewer;if(!o)return;class a extends h.Destroyable{constructor(l){if(super(),this._esPath=l,!o)throw new Error("!viewer");const c=()=>{const f=e.activeViewer;f&&(this._esPath.path.currentTime=f.simulationTime)};c(),this.d(o.simulationTimeChanged.don(c))}}return new a(this._esPath)}))}}this.dv(new Wp(e.sceneObjectsManager,i=>{if(i instanceof ja)return new r(i)}))}{const e=this._esObjectsManager;class r extends h.Destroyable{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 Wp(e.sceneObjectsManager,i=>{if(i instanceof $a)return new r(i)}))}}}class g_ extends h.Destroyable{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 m_ extends h.Destroyable{constructor(e){super();d(this,"_player");d(this,"_channels",this.dv(h.reactArray([])));this._objectManager=e,this._player=this._objectManager.player,this.dv(new h.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=$.getSceneObjById(s.pathId);if(!o||!(o instanceof ja))continue;const u=s.sceneObjectIds.map(l=>$.getSceneObjById(l)).filter(l=>l!==void 0);u.length!==0&&r.push({path:o,sceneObjects:u})}if(r.length!==0)return new g_(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 nl(n){if(n.data){const{type:t,value:e}=n.data;if(t==="UITreeA"&&e instanceof He){const{sceneObject:r}=e;if(r)return r.id}}}function v_(n,t){const{property:e,customEventName:r,otherParams:i}=t,{dragstartDataMananger:s}=n;if(!(e instanceof to)){if(!(e instanceof Xh)){if(e instanceof ot){const[o,a]=h.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;nl(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(r==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const l=nl(s);l!==void 0&&a(l)}}else if(e instanceof zh){const[o,a]=h.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;nl(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 f=nl(s);if(f!==void 0){l[c].firstChild.value=f;const p=new Event("input",{bubbles:!0,cancelable:!0});l[c].firstChild.dispatchEvent(p)}}}else if(e instanceof Uh){const[o,a]=h.getReactFuncs(e.reactVar)}}}}function qp(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 y_=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class __ extends h.Destroyable{constructor(t,e){super(),this._sceneObject=t;const r=this._sceneObject;for(let i of y_){const s=i+"Changed",o=r[s];if(o){{const a=r[i];qp(r,i,a,e)}this.dispose(o.disposableOn(a=>qp(r,i,a,e)))}}}get sceneObject(){return this._sceneObject}}class w_ extends h.Destroyable{constructor(){super();d(this,"_currentActiveEditing",this.disposeVar(h.reactArrayWithUndefined(void 0)));d(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}})),$.context.sceneObjCreatedEvent.don(e=>{e.dv(new __(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 E_ extends h.Destroyable{constructor(){super();d(this,"_sceneObjects",new Set);d(this,"_sceneObjectsToChange",this.dv(new h.Event));this.d(()=>{const e=h.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=$.context.createSceneObject(e,r);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(e,r){const i=$.context.createSceneObjectFromClass(e,r);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(e){const r=$.context.createSceneObjectFromJson(e);return r&&this.addSceneObject(r),r}}function Xp(n,t){return n.length===t.length&&n.every((e,r)=>e===t[r])}class S_ extends h.Destroyable{constructor(t){super(),this._viewer=t,this.d(h.track([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class C_ extends h.Destroyable{constructor(t,e){super(),this._viewer=t,this._activeViewer=e;const r=Mn.createCommonProps(),i=[];Object.keys(r).forEach(u=>{const l=this._activeViewer[u+"Changed"];i.push(l)});const s=this.dv(h.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(h.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:f}=u;l&&Xp(c,l.position)&&Xp(f,l.rotation)||this._viewer.flyIn(c,f,0)}),this.d(()=>a.cancel())}}const I_=`<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
|
+
`,iu=Date.now();new Date(iu).toISOString(),new Date(iu+1440*60*1e3).toISOString();const On=class On extends j{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 H([this,"data"],On.defaults.data,_0,"数据",!0),new H([this,"uri"],"路径","${earthsdk3-assets-script-dir}/assets/misc/simple.czml",void 0,!0),new W([this,"clockEnabled"],"启用",!1),new T([this,"multiplier"],"倍速",On.defaults.multiplier),new W([this,"autoResetClock"],"自动设置时钟",!0),new ss([this,"startTime"],"开始时间",On.defaults.startTime,!0),new ss([this,"stopTime"],"结束时间",On.defaults.stopTime,!0),new ss([this,"currentTime"],"当前时间",On.defaults.currentTime,!0),new lt([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep","SYSTEM_CLOCK_MULTIPLIER"),new lt([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange","UNBOUNDED"),new W([this,"shouldAnimate"],"是否启用动画",!1)],general:[...e.general,new W([this,"show"],"是否显示",!0),new W([this,"collision"],"开启碰撞",!1),new W([this,"allowPicking"],"允许拾取",!1)],more:[...e.more,new tt(["number"],r=>this.flyTo(r),[1e3],"飞入"),new tt([],()=>this.resetClock(),[],"重设时钟"),new bi([this,"loadFuncStr"],"loadFnStr",_g,w0,!0)]}}};f(On,"createDefaultProps",()=>({show:!0,uri:void 0,allowPicking:!1,data:p.reactJsonWithUndefined(y0),autoResetClock:!0,clockEnabled:!1,startTime:iu,stopTime:iu+1440*60*1e3,currentTime:iu,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...j.createDefaultProps()})),f(On,"type",On.register("ESCzml",On,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"}));let qh=On;const ca=class ca extends j{getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new $([]),new W([this,"show"],"是否显示"),new T([this,"cssSize"],"尺寸"),new ce([this,"cssPosition"],"位置"),new ma([this,"imgUrl"],"图片地址")]}}};f(ca,"createDefaultProps",()=>({...j.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:j.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")})),f(ca,"type",ca.register("ESNavigator",ca,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"}));let Xh=ca;const $n=class $n extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new $([],"通用","通用"),new W([this,"show"],"是否显示",$n.defaults.show),new T([this,"height"],"高度",$n.defaults.height,!0),new T([this,"fontSize"],"文字大小",$n.defaults.fontSize,!0),new gt([this,"bgColor"],"背景颜色",$n.defaults.bgColor,!0)]}}};f($n,"createDefaultProps",()=>({...j.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:p.reactArray([71/255,71/255,71/255,.8])})),f($n,"type",$n.register("ESViewerStatusBar",$n,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Yh=$n;const ti=class ti extends j{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new $([],"通用","通用"),new W([this,"show"],"是否显示",ti.defaults.show),new T([this,"height"],"高度",ti.defaults.height,!0),new T([this,"fontSize"],"文字大小",ti.defaults.fontSize,!0),new gt([this,"bgColor"],"背景颜色",ti.defaults.bgColor,!0)]}}};f(ti,"createDefaultProps",()=>({...j.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:p.reactArray([71/255,71/255,71/255,.8])})),f(ti,"type",ti.register("ESViewerStatusBarScale",ti,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Hh=ti;const ha=class ha extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new nt([this,"url"],"路径","",!0),new T([this,"progress"],"进度",0,!1,!0)]}}};f(ha,"createDefaultProps",()=>({...Z.createDefaultProps(),url:"",progress:0})),f(ha,"type",ha.register("ESGaussianSplatting",ha,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"}));let Bh=ha;const Ws=class Ws extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new nt([this,"mesh"],"mesh地址",Ws.defaults.mesh)]}}};f(Ws,"createDefaultProps",()=>({...Z.createDefaultProps(),mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"})),f(Ws,"type",Ws.register("ESStaticMesh",Ws,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"}));let Jh=Ws;const fa=class fa extends pt{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 bs),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 tt([],()=>this.start(),[],"开始分析"),new tt([],()=>this.clear(),[],"清除分析"),new H([this,"windowPositions"],"屏幕坐标",[],void 0,!1,!0),new H([this,"depths"],"深度值",[],void 0,!1,!0),new T([this,"radius"],"半径",1e4,!0)]}}};f(fa,"createDefaultProps",()=>({...pt.createDefaultProps(),windowPositions:Fc([]),depths:p.reactArrayWithUndefined([]),radius:p.react(1e4)})),f(fa,"type",fa.register("ESSkylineAnalysis",fa,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let jh=fa;const Ci=class Ci extends bt{constructor(t){super(t)}getESProperties(){const t=super.getESProperties();return{...t,basic:[...t.basic,new H([this,"data"],"数据",[],void 0,!0),new H([this,"gradient"],"渐变",Ci.defaults.gradient,void 0,!0),new T([this,"radius"],"半径",Ci.defaults.radius,void 0,!0),new T([this,"blur"],"模糊",Ci.defaults.blur,!0),new W([this,"is3D"],"is3D",!1,!0)]}}};f(Ci,"createDefaultProps",()=>({...bt.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(Ci,"type",Ci.register("ESHeatMap",Ci,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"}));let pl=Ci;const qs=class qs extends pt{constructor(e){super(e);f(this,"editingBindMode","scatter")}};f(qs,"createDefaultProps",()=>({...pt.createDefaultProps(),pointed:!0})),f(qs,"type",qs.register("ESGeoPoints",qs,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),f(qs,"supportEditingModes",[...pt.supportEditingModes,B.ScatterAppend,B.ScatterModify]);let su=qs;const wg=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},Eg=async(n,t=[],e)=>await Promise.all(t.map(async r=>{var u,l,c,h,d,g,v,E,C;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=((v=r.geometry)==null?void 0:v.z)??((C=(E=r.geometry)==null?void 0:E.coordinates)==null?void 0:C[2])??0;if(e)if(e.type==="absolute")a=e.height??a;else if(e.type==="relative"){const b=await n.getTerrainHeight([i,s])??0;a=(e.height??a)+b}else e.type==="terrain"&&(a=await n.getTerrainHeight([i,s])??0);return{...r,points:[i,s,a]}})),Sg=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 E0(n){const t=be.lineString(n),e=be.length(t),r=be.along(t,e/2);return[r.geometry.coordinates[0],r.geometry.coordinates[1],r.geometry.coordinates[2]||0]}function S0(n,t){const e=be.lineString(n),r=be.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=be.along(e,r*(o/i));s.push([a.geometry.coordinates[0],a.geometry.coordinates[1],a.geometry.coordinates[2]||0])}return s}function C0(n){const t=[...n];JSON.stringify(n[0])!==JSON.stringify(n[n.length-1])&&t.push(n[0]);const e=be.polygon([t]),r=be.center(e);return[r.geometry.coordinates[0],r.geometry.coordinates[1],r.geometry.coordinates[2]||0]}function Cg(n,t,e){const r=n.dv(new Do);for(const i in e)i!=="type"&&(r[i]=e[i]);r.position=t,n.d(n.components.disposableAdd(r))}function Zh(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};Cg(n,t,l)}function Fo(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 Kh(n,t,e){const i={...t.symbol};if(e&&e.length>0){const s=Fo(n,e);for(let o in s)i[o]!==void 0&&s[o]!==null&&(i[o]=s[o])}return i}function Qh(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=Fo(n,e);for(let d in h)u[d]!==void 0&&h[d]!==null&&(u[d]=h[d])}return u}function $h(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=Fo(n,e);for(let c in l)a[c]!==void 0&&l[c]!==null&&(a[c]=l[c])}return a}function I0(n,t){function e(l,c,h,d){const g=S=>S*Math.PI/180,v=S=>S*180/Math.PI,E=g(l),C=g(h),b=g(d-c),m=Math.sin(b)*Math.cos(C),y=Math.cos(E)*Math.sin(C)-Math.sin(E)*Math.cos(C)*Math.cos(b),_=Math.atan2(m,y);return(v(_)+360)%360}function r(l,c,h,d,g){const E=P=>P*Math.PI/180,C=P=>P*180/Math.PI,b=d/6371e3,m=E(g),y=E(l),_=E(c),S=Math.asin(Math.sin(y)*Math.cos(b)+Math.cos(y)*Math.sin(b)*Math.cos(m)),I=_+Math.atan2(Math.sin(m)*Math.sin(b)*Math.cos(y),Math.cos(b)-Math.sin(y)*Math.sin(S));return{lat:C(S),lng:C(I),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 v=(d+g)/2;Math.abs(d-g)>180&&(v=(v+180)%360),c.push(v)}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 P0(n,t,e,r){function i(E){return E*(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 Ig=(n,t,e)=>Array.isArray(t)?t.map(s=>n[s]??"").join(e):n[t]??"";function Pg(n,t){const r={...t.symbol};return{points:n.map(i=>i.points),symbol:r}}function bg(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=Ig(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 Ng(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 b0(n,t,e=[]){const i={...t.symbol},s=n.map(o=>{const a=Fo(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 N0(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=Ig(d,s,o);if(g){const v=l[g.toString()];if(v){const E=Fo(d,e);v.locations.push({position:d.points,rotation:E.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 T0(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(v=>d<=v.maxValue&&d>=v.minValue);if(g!==-1){const v=Fo(h,e);u[g].locations.push({position:h.points,rotation:v.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 x0 extends q{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=Pg(o,i);this._simplePointAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!");const u=Pg(o,i);this._imageAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!");const{url:u,locations:l}=b0(o,i,a);this._modelAllRender(u,l);return}for(let u=0;u<o.length;u++){const l=Kh(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:大批量点渲染!"),bg(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:大批量点渲染成图标!"),bg(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!"),N0(o,i,a).forEach(({url:d,locations:g})=>{this._modelAllRender(d,g)});return}for(let h=0;h<o.length;h++){const d=Qh(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:大批量点渲染!"),Ng(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:大批量点渲染成图标!"),Ng(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!"),T0(o,i,a).forEach(({url:d,locations:g})=>{this._modelAllRender(d,g)});return}for(let h=0;h<o.length;h++){const d=$h(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;Zh(this.sceneObject,i,e,r)}renderHeatmap(e,r){const{is3D:i,radius:s,blur:o,gradient:a}=r,u=this.dv(new pl);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"?Cg(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 su);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 su);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 ul),v=this.dv(new Do);this.d(this.sceneObject.components.disposableAdd(g)),this.d(this.sceneObject.components.disposableAdd(v)),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,v.allowPicking=(r==null?void 0:r.allowPicking)??!0;const E=a?Math.max(...a)+10:Math.max(...g.size)+10;v.sizeByContent=!1,v.screenRender=!0,v.size=[E,E],v.borderRadius=[E,E,E,E],v.padding=[E/2,E/2,E/2,E/2],v.borderWidth=E/10,v.offset=[0,E/10+5],v.text="",v.backgroundColor=[0,0,0,0],v.borderColor=[0,0,0,0]}_imageAllRender(e,r){const i={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:e}}]},s=this.dv(new eu);this.d(this.sceneObject.components.disposableAdd(s));const o=this.dv(new Do);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 Hi);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 Hi);this.d(this.sceneObject.components.disposableAdd(i)),i.url=e,i.instances=r}_simpleParticleRender(e,r){const{points:i}=e,s=this.dv(new ll);this.d(this.sceneObject.components.disposableAdd(s)),s.position=[...i],Object.keys(r).forEach(o=>{s[o]=r[o]})}}class O0 extends q{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=Kh(a,r,o);this.render(a,u)})}else if(r.type==="unique-value"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=Qh(a,r,o);this.render(a,u)})}else if(r.type==="class-breaks"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=$h(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 yi);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 dl);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 fl);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 Ro),s=this.dv(new Ao);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 Ps);break;case"ESCar":l=this.dv(new sl);break;case"ESGltfModel":l=this.dv(new Hi)}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=P0(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=S0(r,i/1e3),o=this.dv(new Hi);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=I0(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 bs);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=E0(r);Zh(this.sceneObject,i,t,e)}}function Tg(n,t){try{JSON.stringify(n[n.length-1])!==JSON.stringify(n[0])&&n.push(n[0]);const e=be.featureCollection(n.map(u=>be.point(u))),r=be.polygon([n]),i={gridType:"point",units:"meters"};return be.interpolate(e,t,i).features.map(u=>u.geometry.coordinates)[0][0].filter(u=>be.booleanPointInPolygon(be.point(u),r))}catch(e){return console.error(e),[]}}class M0 extends q{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=Kh(a,r,o);this.render(a,u)})}else if(r.type==="unique-value"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=Qh(a,r,o);this.render(a,u)})}else if(r.type==="class-breaks"){const{visualVariables:o}=r;p.forEach(s,a=>{const u=$h(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=C0(r);Zh(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 Tt);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 bs);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=Tg(r,s??10),c=this.dv(new Hi);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:[...Tg(r,s??10).map(g=>[...g,i??0])]}}]},d=this.dv(new eu);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 D0 extends q{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(v=>v.json());return g=(g==null?void 0:g.features)??g,c==="polylineVector"?d=await wg(r,g,u):c==="polygonVector"?d=await Sg(r,g,u):c==="pointVector"&&(d=await Eg(r,g,u)),d}else c==="polylineVector"?d=await wg(r,l,u):c==="polygonVector"?d=await Sg(r,l,u):c==="pointVector"&&(d=await Eg(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 x0(e,g,h,d):c==="polylineVector"?u=new O0(e,g,h,d):c==="polygonVector"&&(u=new M0(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 da=class da extends bt{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 D0(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(Hs(r.showChanged,()=>{for(const i of r.components.values())Reflect.has(i,"show")&&(i.show=r.show)},{immediate:!0}))}};f(da,"createDefaultProps",()=>({...bt.createDefaultProps(),featureProps:p.reactJsonWithUndefined(void 0)})),f(da,"type",da.register("ESFeatureLayer",da,{chsName:"矢量图层",tags:["ESObjects"],description:"ESFeatureLayer"}));let tf=da;function xg(n){return typeof n=="string"?document.getElementById(n):n}function ef(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 q{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 L0 extends q{constructor(t){super(),this._esObjectsManager=t;{const e=this._esObjectsManager;class r extends q{constructor(s){super(),this._esPath=s,this.dv(new p.ObjResettingWithEvent(e.activeViewerChanged,()=>{const o=e.activeViewer;if(!o)return;class a extends q{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 Ro)return new r(i)}))}{const e=this._esObjectsManager;class r extends q{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 Ao)return new r(i)}))}}}class A0 extends q{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 R0 extends q{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=j.getSceneObjById(s.pathId);if(!o||!(o instanceof Ro))continue;const u=s.sceneObjectIds.map(l=>j.getSceneObjById(l)).filter(l=>l!==void 0);u.length!==0&&r.push({path:o,sceneObjects:u})}if(r.length!==0)return new A0(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 gl(n){if(n.data){const{type:t,value:e}=n.data;if(t==="UITreeA"&&e instanceof qe){const{sceneObject:r}=e;if(r)return r.id}}}function F0(n,t){const{property:e,customEventName:r,otherParams:i}=t,{dragstartDataMananger:s}=n;if(!(e instanceof Bs)){if(!(e instanceof _f)){if(e instanceof nt){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;gl(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(r==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const l=gl(s);l!==void 0&&a(l)}}else if(e instanceof pf){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;gl(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=gl(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 gf){const[o,a]=p.getReactFuncs(e.reactVar)}}}}function Mg(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 k0=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class V0 extends q{constructor(t,e){super(),this._sceneObject=t;const r=this._sceneObject;for(let i of k0){const s=i+"Changed",o=r[s];if(o){{const a=r[i];Mg(r,i,a,e)}this.dispose(o.disposableOn((a=>Mg(r,i,a,e))))}}}get sceneObject(){return this._sceneObject}}class z0 extends q{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}})),j.context.sceneObjCreatedEvent.don(e=>{e.dv(new V0(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 U0 extends q{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=j.context.createSceneObject(e,r);return i&&this.addSceneObject(i),i}createSceneObjectFromUrl(e,r){const i=j.context.createSceneObjectFromUrl(e,r);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(e,r){const i=j.context.createSceneObjectFromClass(e,r);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(e){const r=j.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 G0 extends q{constructor(t){super(),this._viewer=t,this.d(p.track([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class W0 extends q{constructor(t,e){super(),this._viewer=t,this._activeViewer=e;const r=Cn.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 q0=`<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">
|
|
468
488
|
<animateTransform values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform>
|
|
469
489
|
</circle><g></g></g></svg>
|
|
470
|
-
`,P_='<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>',N_='<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>',$s=class $s extends h.Destroyable{constructor(t){super();const e=()=>{const r=this.dv(new tl);this.d(h.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.Destroyable{constructor(o,a,u){super();d(this,"_div",document.createElement("div"));if(this._subContainer=o,!u)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const w=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};w(),this.d(a.showChanged.don(w))}let l,c,f,p,v;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=$s.defaultsSvg.loadingSvg,c.style.filter="drop-shadow(0px 0px 1px black)",f=document.createElement("div"),l.appendChild(f),f.style.pointerEvents="none",f.style.marginLeft="10px",f.style.display="flex",f.style.flexFlow="column",f.style.maxWidth="300px",p=document.createElement("div"),f.appendChild(p),p.style.fontSize="14px",p.style.fontWeight="800",p.style.marginBottom="5px",p.style.textShadow="0 0 2px black",v=document.createElement("div"),f.appendChild(v),v.style.fontWeight="400",v.style.textShadow="0 0 2px black";{const w=()=>{let P="Raw";u.status==="Raw"?P="初始状态":u.status==="Creating"?P="正在创建":u.status==="Created"?P="创建完成":u.status==="Error"?P="创建失败":u.status==="Reconnecting"&&(P="重新连接"),p.innerText=`${P}(${u.status})`,v.innerText=`${u.statusLog}`,(u.status==="Creating"||u.status==="Reconnecting")&&(c.innerHTML=$s.defaultsSvg.loadingSvg),u.status==="Created"&&(c.innerHTML=$s.defaultsSvg.successSvg),u.status==="Error"&&(c.innerHTML=$s.defaultsSvg.warnSvg)};w();const I=this.dv(h.createNextAnimateFrameEvent(u.statusLogChanged,u.statusChanged));this.d(I.don(w))}}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()}))}};d($s,"defaultsSvg",{loadingSvg:I_,successSvg:P_,warnSvg:N_});let Fh=$s;class b_ extends h.Destroyable{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=h.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),h.setExtProp(n,"_relativeContainer",t)),t}class T_ extends h.Destroyable{constructor(e,r){super();d(this,"_subContainer",document.createElement("div"));d(this,"_overlayContainer",document.createElement("div"));d(this,"_containerStyleController");this._container=e,this._viewer=r,this._containerStyleController=this.dv(new b_(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 O_ extends h.Destroyable{constructor(){super(...arguments);d(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 Yp extends h.Destroyable{constructor(t,e,r=!1,i=!1){if(super(),this._viewer=t,!e)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(h.DomElementEvent.create(e,"pointerdown")),o=this.dv(h.DomElementEvent.create(e,"pointermove")),a=this.dv(h.DomElementEvent.create(e,"pointerup")),u=this.dv(h.DomElementEvent.create(e,"pointerout")),l=this.dv(h.DomElementEvent.create(e,"pointerover")),c=this.dv(new h.PointerClick),f=this.dv(new h.PointerHover),p=()=>{const g=this._viewer.hoverTime*1e3;f.delayTime=g};this.d(this._viewer.hoverTimeChanged.don(()=>{p()})),this.d(s.don(g=>c.pointerDown(g))),this.d(o.don(g=>c.pointerMove(g))),this.d(a.don(g=>c.pointerUp(g))),this.d(u.don(g=>c.pointerOut(g))),this.d(s.don(g=>f.pointerDown(g))),this.d(o.don(g=>f.pointerMove(g))),this.d(a.don(g=>f.pointerUp(g))),this.d(u.don(g=>f.pointerOut(g)));const{x:v,y:w}=e.getBoundingClientRect(),I=i?v:0,P=i?w:0;this.d(f.hoverEvent.don(g=>{const[y,E]=h.getDomEventCurrentTargetPos(g,r);this._viewer.hoverEvent.emit({screenPosition:[y+I,E+P],pointerEvent:g})})),this.d(c.clickEvent.don(g=>{const[y,E]=h.getDomEventCurrentTargetPos(g,r);this._viewer.clickEvent.emit({screenPosition:[y+I,E+P],pointerEvent:g})})),this.d(c.dbclickEvent.don(g=>{const[y,E]=h.getDomEventCurrentTargetPos(g,r);g.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[y+I,E+P],pointerEvent:g})})),this.d(s.don(g=>{const[y,E]=h.getDomEventCurrentTargetPos(g,r);g.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[y+I,E+P],pointerEvent:g})})),this.d(a.don(g=>{const[y,E]=h.getDomEventCurrentTargetPos(g,r);g.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[y+I,E+P],pointerEvent:g})})),this.d(o.don(g=>{const[y,E]=h.getDomEventCurrentTargetPos(g,r);this._viewer.pointerMoveEvent.emit({screenPosition:[y+I,E+P],pointerEvent:g})})),this.d(l.don(g=>{const[y,E]=h.getDomEventCurrentTargetPos(g,r);this._viewer.pointerOverEvent.emit({screenPosition:[y+I,E+P],pointerEvent:g})})),this.d(u.don(g=>{const[y,E]=h.getDomEventCurrentTargetPos(g,r);this._viewer.pointerOutEvent.emit({screenPosition:[y+I,E+P],pointerEvent:g})}));const M=this.dv(h.DomElementEvent.create(e,"keydown"));this.d(M.don(g=>this._viewer.keyDownEvent.emit(g)));const m=this.dv(h.DomElementEvent.create(e,"keyup"));this.d(m.don(g=>this._viewer.keyUpEvent.emit(g)));const _=this.dv(h.DomElementEvent.create(e,"wheel"));this.d(_.don(g=>this._viewer.wheelEvent.emit(g)))}}class D_ extends h.Destroyable{constructor(e){super();d(this,"viewer");const r=this.viewer=e;this.ad(new h.ObjResettingWithEvent(r.rollerShutterChanged,()=>{const i=r.container;if(!i||!r.rollerShutter)return;const s=new h.Destroyable;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 M_ extends h.Destroyable{constructor(e){super();d(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new D_(e))}}const Ai=class Ai extends h.Destroyable{constructor(e){super();d(this,"_forceRecreateEvent",this.dv(new h.Event));d(this,"_container",this.dv(h.react(void 0)));d(this,"_containerSize",this.dv(h.react(void 0)));d(this,"_editingEvent",this.disposeVar(new h.Event));d(this,"_status",this.dv(h.react("Raw")));d(this,"_statusLog",this.dv(h.react("")));d(this,"_statusContainer",this.dv(new Fh(this)));d(this,"_useCustomInteraction",this.dv(h.react(!0)));d(this,"_resetInteractionEvent",this.dv(h.createNextAnimateFrameEvent(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));d(this,"_interactionResetting",this.dv(new h.ObjResettingWithEvent(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new Yp(this,this.container)})));d(this,"_viewerChanged",this.dv(new h.Event));d(this,"_cameraChanged",this.dv(new h.Event));d(this,"_containerResetEvent",this.dv(h.createNextAnimateFrameEvent(this.containerChanged,this._forceRecreateEvent)));d(this,"_containerResetting",this.dv(new h.ObjResettingWithEvent(this._containerResetEvent,()=>{if(this.container)return new T_(this.container,this)})));d(this,"_sceneObjectsMap",new Map);d(this,"_id");d(this,"_typeName");d(this,"_updateFuncReact",this.dv(h.react(void 0)));d(this,"_toDestroyFuncReact",this.dv(h.react(void 0)));d(this,"_statusInfo",Ai.defaults.statusInfo);d(this,"_navigationMode",this.dv(h.react("Map")));d(this,"_syncViewer",this.dv(h.react(void 0)));d(this,"_syncEventDon",this.dv(new h.ObjResettingWithEvent(this.syncViewerChanged,()=>{const e=this.syncViewer;if(e)return new C_(this,e)})));d(this,"_timeSyncdon",this.dv(new h.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new S_(this)})));d(this,"_hoverEvent",this.dv(new h.Event));d(this,"_pointerOverEvent",this.dv(new h.Event));d(this,"_pointerMoveEvent",this.dv(new h.Event));d(this,"_pointerDownEvent",this.dv(new h.Event));d(this,"_pointerUpEvent",this.dv(new h.Event));d(this,"_pointerOutEvent",this.dv(new h.Event));d(this,"_clickEvent",this.dv(new h.Event));d(this,"_dblclickEvent",this.dv(new h.Event));d(this,"_keyDownEvent",this.dv(new h.Event));d(this,"_keyUpEvent",this.dv(new h.Event));d(this,"_wheelEvent",this.dv(new h.Event));d(this,"_actived",this.dv(h.react(!1)));this._id=e.id??h.createGuid();const r=Gp(e.container);if(r)this._container.value=Rh(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=ds.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||h.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 M_(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=Rh(r):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else e instanceof HTMLDivElement?this._container.value=Rh(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)){$.context.addSceneObject(r);const i=ds.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(),$.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 Ai.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 h.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 h.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 rt(r.general,"general")),Object.keys(r).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&r[s].length>0&&i.push(new rt(r[s],s))}),i}};d(Ai,"context",new O_),d(Ai,"register",Ai.context.register.bind(Ai.context)),d(Ai,"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});let Mn=Ai;(n=>{n.createBaseProps=()=>({name:"未命名场景对象",extras:h.reactJson(void 0),devTags:h.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:h.reactArrayWithUndefined(void 0),editingAuxiliaryPointColor:h.reactArrayWithUndefined(void 0),editingLineWidth:void 0,editingLineColor:h.reactArrayWithUndefined(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:n.defaults.terrainShader,splitPosition:h.react(void 0),rollerShutter:!1}),n.createDefaultProps=()=>({...(0,n.createBaseProps)(),...(0,n.createCommonProps)()})})(Mn||(Mn={})),h.extendClassProps(Mn.prototype,Mn.createDefaultProps);function Hp(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 x_=n=>{const t=Mn.createCommonProps(),e={};try{Object.keys(t).forEach(r=>{e[r]=n[r]})}catch(r){console.warn(r)}return e},Jp=(n,t)=>{const e=Mn.createCommonProps();try{Object.keys(e).forEach(r=>{n[r]=t[r]})}catch(r){console.warn(r)}};class L_ extends h.Destroyable{constructor(e){super();d(this,"_viewersChanged",this.disposeVar(new h.Event));d(this,"_viewers",new Set);d(this,"_viewersToChange",this.dv(new h.Event));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=>{bi(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))}),r.forEach(o=>{bi(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,bi(o.devTags,s.devTags)),bi(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)bi(o.devTags,a.devTags)&&(o.has(a)?console.warn(`${o.typeName}中已存${a.typeName},检查逻辑是否有问题!`):o.add(a))}),r.forEach(o=>{for(let a of s)bi(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,bi(o.devTags,u.devTags)),bi(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=Mn.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 is extends h.Destroyable{constructor(...e){super();d(this,"_drgm",this.dv(new lp));d(this,"_sobjm",this.dv(new E_));d(this,"_vrm",this.dv(new L_(this._sobjm)));d(this,"_sceneObjectEditingManager",this.disposeVar(new w_));d(this,"_activeViewer",this.dv(h.react(void 0)));d(this,"_syncOtherViewersToActived",this.dv(h.react(!1)));d(this,"_cmrvm",this.createSceneObjectFromClass($u));d(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));d(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});d(this,"_sceneTree",this.dv(new Ya("default",this.dragstartDataMananger,24,this)));d(this,"_propUiTreeManager",this.dv(new Ao(24)));d(this,"_sceneTreeMap",new Map);d(this,"_viewerCreatedEvent",this.dv(new h.Event));d(this,"_lastCameraInfo");d(this,"_lastActiveViewerJson");d(this,"syncEvent",this.dv(h.createNextAnimateFrameEvent(this.activeViewerChanged,this.syncOtherViewersToActivedChanged)));d(this,"_syncEventDon",this.d(this.syncEvent.don(()=>{const e=this.syncOtherViewersToActived;this.viewers.forEach(r=>{e?r.syncOtherViewer(this.activeViewer):r.syncOtherViewer(void 0)})})));d(this,"_player",this.createSceneObjectFromClass($a));d(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));d(this,"_esPlyarAndPathTime",this.dv(new p_(this)));d(this,"_pathAnimationManager",this.dv(new m_(this)))}static get envs(){return $.context.environmentVariables}getSceneObjectById(e){return $.getSceneObjectById(e)}getSceneObject(e){return $.getSceneObject(e)}get $refs(){return $.$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 f;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(p=>p.json),c=(f=this.activeViewer)==null?void 0:f.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 v_(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 Ya(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?x_(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&&Hp(this,a),i&&this._lastActiveViewerJson&&(Jp(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===Gp(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&&Hp(this,u),i&&this._lastActiveViewerJson&&(Jp(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:f,viewSync:p,attributeSync:v,destroy:w,id:I}=e[0];r={type:"ESUeViewer",container:u,id:I,options:{uri:l,app:c,token:f}},i={viewSync:p??!0,attributeSync:v??!0,destroy:w??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("ws")){const{container:u,ws:l,esmsg:c,viewSync:f,attributeSync:p,id:v,destroy:w}=e[0];r={type:"ESUeViewer",container:u,id:v,options:{ws:l,esmsg:c}},i={viewSync:f??!0,attributeSync:p??!0,destroy:w??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("project")){const{container:u,project:l,baseUrl:c,viewSync:f,attributeSync:p,id:v,destroy:w}=e[0];r={type:"ESUeViewer",container:u,id:v,options:{project:l,baseUrl:c}},i={viewSync:f??!0,attributeSync:p??!0,destroy:w??!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}}d(is,"getSceneObjById",$.context.getSceneObjectById.bind($.context)),d(is,"getEnv",$.context.getEnv.bind($.context)),d(is,"setEnv",$.context.setEnv.bind($.context)),(n=>{n.createDefaultProps=()=>({})})(is||(is={})),h.extendClassProps(is.prototype,is.createDefaultProps);function A_(){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 R_=Date.now();function Zp(n){const{os:t,arch:e}=A_(),r={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-R_)/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))}C.copyright=void 0;try{const n="earthsdk3",t="3.4.0-beta.9",e="2025-08-29T06:51:48.000Z",r="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="fb558d1caab6fa68aec33c4a215b8444c1541b24",a=((Date.now()-1756450308e3)/36e5).toFixed(1),u=`%c🌏 ${n}%c ${t}.${s.slice(0,8)}.${e} (距今${a}个小时)
|
|
471
|
-
%c${i?i+`
|
|
472
|
-
`:""}当前网站正在使用${n},此软件版权归${r}所有
|
|
473
|
-
`;C.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","fb558d1caab6fa68aec33c4a215b8444c1541b24")},get info(){return u},get date(){return"2025-08-29T06:51:48.000Z"},get author(){return"suplyang"},get version(){return"3.4.0-beta.9"},get name(){return"earthsdk3"},get commitId(){return"fb558d1caab6fa68aec33c4a215b8444c1541b24"},print(){console.info(this.info,`
|
|
474
|
-
font-size: 18px;
|
|
475
|
-
font-weight: 1000;
|
|
476
|
-
line-height: 1;
|
|
477
|
-
color: rgb(0, 120, 215);
|
|
478
|
-
padding-top: 20px;
|
|
479
|
-
padding-bottom: 10px;
|
|
480
|
-
`,`
|
|
481
|
-
font-size: 10px;
|
|
482
|
-
font-weight: 1000;
|
|
483
|
-
color: rgb(0, 120, 215);
|
|
484
|
-
`,`
|
|
485
|
-
font-size: 10px;
|
|
486
|
-
line-height: 1.5;
|
|
487
|
-
color: rgb(0, 120, 215);
|
|
488
|
-
padding-bottom: 2px;
|
|
489
|
-
padding-left: 35px;
|
|
490
|
-
`)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[n]=C.copyright,window.g_XE3SendProductUsageInfo=window.g_XE3SendProductUsageInfo||!0,window.g_XE3SendProductUsageInfo&&(setTimeout(()=>Zp(C.copyright),1e3*60),setInterval(()=>Zp(C.copyright),24*60*60*1e3)),window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&C.copyright.print()}catch{console.warn("版本信息有误!")}C.BasePropTreeItem=hc,C.Boolean2Property=cg,C.Boolean2sProperty=dg,C.Boolean3Property=hg,C.Boolean3sProperty=pg,C.Boolean4Property=fg,C.Boolean4sProperty=gg,C.BooleanProperty=W,C.BooleansProperty=rg,C.ColorProperty=_t,C.ColorRgbProperty=yg,C.DashPatternProperty=_g,C.DateProperty=ps,C.DatesProperty=Hh,C.DragStartDataManager=lp,C.ES3DTileset=rn,C.ESAlarm=mc,C.ESApertureEffect=vc,C.ESAreaMeasurement=yc,C.ESBlastParticleSystem=_c,C.ESBoxClipping=wc,C.ESCameraView=Qu,C.ESCameraViewCollection=$u,C.ESCameraVisibleRange=Ec,C.ESCar=Sc,C.ESCityBasePoint=Ph,C.ESClassification=ju,C.ESClippingPlane=Cc,C.ESCustomDiv=tl,C.ESCzml=Nh,C.ESDataMesh=Ic,C.ESDatasmithRuntimeModel=ah,C.ESDirectionMeasurement=Kc,C.ESDistanceMeasurement=Pc,C.ESDynamicWater=uh,C.ESEntityCluster=Ch,C.ESExcavate=Ja,C.ESFireParticleSystem=Nc,C.ESForestTileset=bc,C.ESGaussianSplatting=Dh,C.ESGeoDiv=Tc,C.ESGeoDivTextPoi=Ih,C.ESGeoExtrudedPolygon=Qa,C.ESGeoJson=Qc,C.ESGeoLineString=rs,C.ESGeoPoints=Ah,C.ESGeoPolygon=kt,C.ESGeoRectangle=Oc,C.ESGeoVector=yt,C.ESGeoWater=lh,C.ESGltfModel=Mc,C.ESHeatMap=Lh,C.ESHeightLimitAnalysis=Sh,C.ESHeightMeasurement=Bc,C.ESHole=gh,C.ESHuman=Fo,C.ESHumanPoi=ph,C.ESImageLabel=xc,C.ESImageryLayer=Lc,C.ESJEditingMode=B,C.ESJLonLatFormat=Jh,C.ESJPickedResult=bg,C.ESLabel=Rr,C.ESLevelRuntimeModel=ch,C.ESLocalCircle=$c,C.ESLocalPolygon=Ka,C.ESLocalPolygonZ=jc,C.ESLocalRectangle=th,C.ESLocalSkyBox=Ac,C.ESLocalVector=Ro,C.ESLocalVector2D=Ti,C.ESLocationMeasurement=Rc,C.ESMsTileset=_h,C.ESNavigator=bh,C.ESObjectWithLocation=j,C.ESObjectsManager=is,C.ESParticleSystemPrimitive=Fc,C.ESPath=ja,C.ESPathImpl=ns,C.ESPipeFence=eh,C.ESPipeline=hh,C.ESPipeserTileset=rh,C.ESPit=ko,C.ESPlayer=$a,C.ESPoi2D=Za,C.ESPoi3D=kc,C.ESPoiTileset=wh,C.ESPolygonFence=nh,C.ESPolygonFlattenedPlane=Vc,C.ESPolygonWithHole=sh,C.ESRectangle=ih,C.ESRtsFeatureEditing=yh,C.ESRtsTileset=vh,C.ESScale=Eh,C.ESSceneObject=$,C.ESSceneObjectWithId=Ly,C.ESSeparateFoliage=zc,C.ESSkylineAnalysis=xh,C.ESStaticMesh=Mh,C.ESSubmergingAnalysis=Uc,C.ESSunshineAnalysis=Gc,C.ESSurfaceAreaMeasurement=oh,C.ESTerrainLayer=Wc,C.ESTestObject=gc,C.ESTextLabel=qc,C.ESUEWidget=Xc,C.ESUnrealActor=Yc,C.ESVideoFusion=Hc,C.ESViewShed=Jc,C.ESViewer=Mn,C.ESViewerStatusBar=Th,C.ESViewerStatusBarScale=Oh,C.ESVisibilityAnalysis=fh,C.ESVisualObject=Rt,C.ESVolumeMeasurement=dh,C.ESWidget=Zc,C.EngineObject=ds,C.EnumProperty=pt,C.EnumStringsProperty=wg,C.EvalStringProperty=Fi,C.FunctionProperty=nt,C.GroupPropTreeItem=dc,C.GroupProperty=rt,C.JsonProperty=Q,C.LeafPropTreeItem=fc,C.LongStringProperty=ll,C.MaximumScreenSpaceErrorProperty=tg,C.MinmaxProperty=Eg,C.NearFarScalerProperty=Sg,C.NonreactiveJsonStringProperty=qh,C.Number2Property=ge,C.Number2sProperty=Gh,C.Number3Property=Ve,C.Number3sProperty=ul,C.Number4Property=hn,C.Number4WithUndefinedProperty=ug,C.Number4sProperty=lg,C.NumberProperty=L,C.NumberRangeProperty=Cg,C.NumberSliderProperty=we,C.NumbersProperty=eg,C.ParamsProperty=Wh,C.PickedInfo=Ng,C.Player=Dn,C.PlayerProperty=ou,C.PositionProperty=to,C.PositionsProperty=Xh,C.PositionsSetPropety=Pg,C.PropTree=yp,C.PropUiTreeManager=Ao,C.Property=Ri,C.ReactVarProperty=mt,C.RotationProperty=cl,C.SceneObjectFromId=pc,C.SceneTree=Ya,C.SceneTreeContextMenu=vp,C.SceneTreeItem=He,C.SceneTreeItemDragDrop=mp,C.String2Property=ng,C.String2sProperty=Uh,C.String3Property=ig,C.String3sProperty=og,C.String4Property=sg,C.String4sProperty=ag,C.StringNumberProperty=mg,C.StringNumbersProperty=vg,C.StringProperty=ot,C.StringsProperty=zh,C.TreeItemDragDrop=cp,C.UriProperty=pa,C.ViewPlayerProperty=Yh,C.ViewerCustomInteraction=Yp,C.Watcher=Ha,C.WatcherTools=wp,C.WithUndefinedProperty=al,C.addTreesCallFunc=Pp,C.bindCustomEditing=dp,C.booleanPointInPolygon=xg,C.cartesianDistance=up,C.clamp0_360=Lo,C.clampN180_180=fp,C.createPropTreeFromSceneObject=_p,C.cutDownTreesCallFunc=Tp,C.defaultFlyInParam=Mg,C.defaultFlyToParam=gs,C.defaultInitSceneObjectOnCreatingFunc=dy,C.defaultLight122FromEnvironmentMapManager=cc,C.defaultUpdateSceneObjectOnPickingFunc=fy,C.equalsN3=fl,C.geoAlong=Fg,C.geoArea=_l,C.geoBuffer=ep,C.geoCenterOfMass=em,C.geoDestination=rm,C.geoDifference=rp,C.geoDistance=Sl,C.geoHeading=fu,C.geoIntersect=jd,C.geoLineIntersect=cm,C.geoNearestPointOnLine=pm,C.geoPointToLineDistance=ym,C.geoPolygonFromCircle=np,C.geoPolygonOverlap=oc,C.geoRhumbDestination=Em,C.geoRhumbDistance=Pf,C.geoRhumbHeading=Cm,C.geoUnion=tp,C.getDefaultValue=vy,C.getDistancesFromPositions=Xa,C.getGeoBoundingSphereFromPositions=ly,C.getMidpoint=fm,C.getMinMaxCorner=ip,C.getSceneObjectTreeItem=py,C.getXyzFromPostion=ac,C.growthSimulationCallFunc=Op,C.hasSameTags=hp,C.hasSameViewerTags=bi,C.inOrderRunning=yy,C.isJSONString=my,C.lbhToWebMerc=cy,C.lbhToXyz=ei,C.lerpAngle=Ku,C.lerpRotation=uc,C.map=Qh,C.optionsStr=Yy,C.reactPosition2Ds=hl,C.registerCreatedEventUpdate=ky,C.registerEventUpdate=Oy,C.removeAllTreesCallFunc=Np,C.rpToap=gy,C.setSceneObjectTreeItem=Zu,C.updateTreeParamsCallFunc=bp,C.webMercToLbh=hy,C.xyzToLbh=op,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
|
|
490
|
+
`,X0='<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>',Y0='<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>',Xs=class Xs extends q{constructor(t){super();const e=()=>{const r=this.dv(new al);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 q{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 v=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};v(),this.d(a.showChanged.don(v))}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=Xs.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 v=()=>{let C="Raw";u.status==="Raw"?C="初始状态":u.status==="Creating"?C="正在创建":u.status==="Created"?C="创建完成":u.status==="Error"?C="创建失败":u.status==="Reconnecting"&&(C="重新连接"),d.innerText=`${C}(${u.status})`,g.innerText=`${u.statusLog}`,(u.status==="Creating"||u.status==="Reconnecting")&&(c.innerHTML=Xs.defaultsSvg.loadingSvg),u.status==="Created"&&(c.innerHTML=Xs.defaultsSvg.successSvg),u.status==="Error"&&(c.innerHTML=Xs.defaultsSvg.warnSvg)};v();const E=this.dv(p.createNextAnimateFrameEvent(u.statusLogChanged,u.statusChanged));this.d(E.don(v))}}update(){const o=255*Math.random()|0,a=255*Math.random()|0,u=255*Math.random()|0;this._div.style.background=`rgba(${o}, ${a}, ${u}, 0.8)`}}};this.d(t.containerChanged.don(()=>{e()}))}};f(Xs,"defaultsSvg",{loadingSvg:q0,successSvg:X0,warnSvg:Y0});let rf=Xs;class H0 extends q{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 ml(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 B0 extends q{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 H0(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"),ml(this._container).appendChild(i),this.d(()=>ml(this._container).removeChild(i)),ml(this._container).appendChild(s),this.d(()=>ml(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 J0 extends q{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 Lg extends q{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 _=this._viewer.hoverTime*1e3;h.delayTime=_};this.d(this._viewer.hoverTimeChanged.don(()=>{d()})),this.d(s.don(_=>c.pointerDown(_))),this.d(o.don(_=>c.pointerMove(_))),this.d(a.don(_=>c.pointerUp(_))),this.d(u.don(_=>c.pointerOut(_))),this.d(s.don(_=>h.pointerDown(_))),this.d(o.don(_=>h.pointerMove(_))),this.d(a.don(_=>h.pointerUp(_))),this.d(u.don(_=>h.pointerOut(_)));const{x:g,y:v}=e.getBoundingClientRect(),E=i?g:0,C=i?v:0;this.d(h.hoverEvent.don(_=>{const[S,I]=p.getDomEventCurrentTargetPos(_,r);this._viewer.hoverEvent.emit({screenPosition:[S+E,I+C],pointerEvent:_})})),this.d(c.clickEvent.don(_=>{const[S,I]=p.getDomEventCurrentTargetPos(_,r);this._viewer.clickEvent.emit({screenPosition:[S+E,I+C],pointerEvent:_})})),this.d(c.dbclickEvent.don(_=>{const[S,I]=p.getDomEventCurrentTargetPos(_,r);_.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[S+E,I+C],pointerEvent:_})})),this.d(s.don(_=>{const[S,I]=p.getDomEventCurrentTargetPos(_,r);_.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[S+E,I+C],pointerEvent:_})})),this.d(a.don(_=>{const[S,I]=p.getDomEventCurrentTargetPos(_,r);_.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[S+E,I+C],pointerEvent:_})})),this.d(o.don(_=>{const[S,I]=p.getDomEventCurrentTargetPos(_,r);this._viewer.pointerMoveEvent.emit({screenPosition:[S+E,I+C],pointerEvent:_})})),this.d(l.don(_=>{const[S,I]=p.getDomEventCurrentTargetPos(_,r);this._viewer.pointerOverEvent.emit({screenPosition:[S+E,I+C],pointerEvent:_})})),this.d(u.don(_=>{const[S,I]=p.getDomEventCurrentTargetPos(_,r);this._viewer.pointerOutEvent.emit({screenPosition:[S+E,I+C],pointerEvent:_})}));const b=this.dv(p.DomElementEvent.create(e,"keydown"));this.d(b.don(_=>this._viewer.keyDownEvent.emit(_)));const m=this.dv(p.DomElementEvent.create(e,"keyup"));this.d(m.don(_=>this._viewer.keyUpEvent.emit(_)));const y=this.dv(p.DomElementEvent.create(e,"wheel"));this.d(y.don(_=>this._viewer.wheelEvent.emit(_)))}}class j0 extends q{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 q;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 Z0 extends q{constructor(e){super();f(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new j0(e))}}const Ii=class Ii extends q{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 rf(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 Lg(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 B0(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",Ii.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 W0(this,e)})));f(this,"_timeSyncdon",this.dv(new p.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new G0(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=xg(e.container);if(r)this._container.value=ef(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=is.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 Z0(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=ef(r):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else e instanceof HTMLDivElement?this._container.value=ef(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)){j.context.addSceneObject(r);const i=is.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(),j.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 Ii.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 $(r.general,"general")),Object.keys(r).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&r[s].length>0&&i.push(new $(r[s],s))}),i}};f(Ii,"context",new J0),f(Ii,"register",Ii.context.register.bind(Ii.context)),f(Ii,"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 Cn=Ii;(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)()})})(Cn||(Cn={})),p.extendClassProps(Cn.prototype,Cn.createDefaultProps);function Ag(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 K0=n=>{const t=Cn.createCommonProps(),e={};try{Object.keys(t).forEach(r=>{e[r]=n[r]})}catch(r){console.warn(r)}return e},Rg=(n,t)=>{const e=Cn.createCommonProps();try{Object.keys(e).forEach(r=>{n[r]=t[r]})}catch(r){console.warn(r)}};class Q0 extends q{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=>{ei(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))}),r.forEach(o=>{ei(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,ei(o.devTags,s.devTags)),ei(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)ei(o.devTags,a.devTags)&&(o.has(a)?console.warn(`${o.typeName}中已存${a.typeName},检查逻辑是否有问题!`):o.add(a))}),r.forEach(o=>{for(let a of s)ei(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,ei(o.devTags,u.devTags)),ei(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=Cn.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 Ji extends q{constructor(...e){super();f(this,"_drgm",this.dv(new Pf));f(this,"_sobjm",this.dv(new U0));f(this,"_vrm",this.dv(new Q0(this._sobjm)));f(this,"_sceneObjectEditingManager",this.disposeVar(new z0));f(this,"_activeViewer",this.dv(p.react(void 0)));f(this,"_syncOtherViewersToActived",this.dv(p.react(!1)));f(this,"_cmrvm",this.createSceneObjectFromClass(il));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 Qa("default",this.dragstartDataMananger,24,this)));f(this,"_propUiTreeManager",this.dv(new Oo(24)));f(this,"_sceneTreeMap",new Map);f(this,"_viewerCreatedEvent",this.dv(new V));f(this,"_lastCameraInfo");f(this,"_lastActiveViewerJson");f(this,"_syncEventDonFunc",this.d(Hs([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(Ao));f(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));f(this,"_esPlyarAndPathTime",this.dv(new L0(this)));f(this,"_pathAnimationManager",this.dv(new R0(this)))}static get envs(){return j.context.environmentVariables}getSceneObjectById(e){return j.getSceneObjectById(e)}getSceneObject(e){return j.getSceneObject(e)}get $refs(){return j.$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 F0(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 Qa(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?K0(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&&Ag(this,a),i&&this._lastActiveViewerJson&&(Rg(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===xg(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&&Ag(this,u),i&&this._lastActiveViewerJson&&(Rg(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:v,id:E}=e[0];r={type:"ESUeViewer",container:u,id:E,options:{uri:l,app:c,token:h}},i={viewSync:d??!0,attributeSync:g??!0,destroy:v??!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:v}=e[0];r={type:"ESUeViewer",container:u,id:g,options:{ws:l,esmsg:c}},i={viewSync:h??!0,attributeSync:d??!0,destroy:v??!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:v}=e[0];r={type:"ESUeViewer",container:u,id:g,options:{project:l,baseUrl:c}},i={viewSync:h??!0,attributeSync:d??!0,destroy:v??!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(Ji,"getSceneObjById",j.context.getSceneObjectById.bind(j.context)),f(Ji,"getEnv",j.context.getEnv.bind(j.context)),f(Ji,"setEnv",j.context.setEnv.bind(j.context)),(n=>{n.createDefaultProps=()=>({})})(Ji||(Ji={})),p.extendClassProps(Ji.prototype,Ji.createDefaultProps),w.BasePropTreeItem=Lc,w.Boolean2Property=fm,w.Boolean2sProperty=gm,w.Boolean3Property=dm,w.Boolean3sProperty=mm,w.Boolean4Property=pm,w.Boolean4sProperty=vm,w.BooleanProperty=W,w.BooleansProperty=im,w.ColorProperty=gt,w.ColorRgbProperty=wm,w.DashPatternProperty=Em,w.DateProperty=ss,w.DatesProperty=Ef,w.Destroyable=q,w.DoublyLinkedList=lf,w.DragStartDataManager=Pf,w.ES3DTileset=Jr,w.ESAlarm=Gc,w.ESApertureEffect=Wc,w.ESAreaMeasurement=qc,w.ESBlastParticleSystem=Xc,w.ESBoxClipping=Yc,w.ESCameraView=rl,w.ESCameraViewCollection=il,w.ESCameraVisibleRange=Hc,w.ESCar=sl,w.ESCityBasePoint=Wh,w.ESClassification=ol,w.ESClippingPlane=Bc,w.ESCustomDiv=al,w.ESCzml=qh,w.ESDataMesh=Jc,w.ESDatasmithRuntimeModel=Ih,w.ESDirectionMeasurement=gh,w.ESDistanceMeasurement=jc,w.ESDynamicWater=Ph,w.ESEntityCluster=Uh,w.ESExcavate=$a,w.ESFeatureLayer=tf,w.ESFireParticleSystem=Zc,w.ESForestTileset=Kc,w.ESGaussianSplatting=Bh,w.ESGeoDiv=Qc,w.ESGeoDivTextPoi=Gh,w.ESGeoExtrudedPolygon=bs,w.ESGeoJson=eu,w.ESGeoLineString=yi,w.ESGeoPoints=su,w.ESGeoPolygon=Tt,w.ESGeoRectangle=$c,w.ESGeoVector=pt,w.ESGeoWater=bh,w.ESGltfModel=Hi,w.ESHeatMap=pl,w.ESHeightLimitAnalysis=zh,w.ESHeightMeasurement=mh,w.ESHole=Dh,w.ESHuman=Ps,w.ESHumanPoi=Mh,w.ESImageLabel=ul,w.ESImageryLayer=eh,w.ESJEditingMode=B,w.ESJLonLatFormat=Sf,w.ESJPickedResult=xm,w.ESLabel=Nr,w.ESLevelRuntimeModel=Nh,w.ESLocalCircle=vh,w.ESLocalPolygon=ru,w.ESLocalPolygonZ=yh,w.ESLocalRectangle=_h,w.ESLocalSkyBox=rh,w.ESLocalVector=Mo,w.ESLocalVector2D=vi,w.ESLocationMeasurement=nh,w.ESMsTileset=Fh,w.ESNavigator=Xh,w.ESObjectWithLocation=Z,w.ESObjectsManager=Ji,w.ESParticleSystemPrimitive=ll,w.ESPath=Ro,w.ESPathImpl=Bi,w.ESPipeFence=fl,w.ESPipeline=Th,w.ESPipeserTileset=wh,w.ESPit=Lo,w.ESPlayer=Ao,w.ESPoi2D=tu,w.ESPoi3D=ih,w.ESPoiTileset=kh,w.ESPolygonFence=dl,w.ESPolygonFlattenedPlane=sh,w.ESPolygonWithHole=Sh,w.ESRectangle=Eh,w.ESRtsFeatureEditing=Rh,w.ESRtsTileset=Ah,w.ESScale=Vh,w.ESSceneObject=j,w.ESSceneObjectWithId=qm,w.ESSeparateFoliage=oh,w.ESSkylineAnalysis=jh,w.ESStaticMesh=Jh,w.ESSubmergingAnalysis=ah,w.ESSunshineAnalysis=uh,w.ESSurfaceAreaMeasurement=Ch,w.ESTerrainLayer=lh,w.ESTestObject=Uc,w.ESTextLabel=Do,w.ESUEWidget=ch,w.ESUnrealActor=hh,w.ESVideoFusion=fh,w.ESViewShed=dh,w.ESViewer=Cn,w.ESViewerStatusBar=Yh,w.ESViewerStatusBarScale=Hh,w.ESVisibilityAnalysis=xh,w.ESVisualObject=bt,w.ESVolumeMeasurement=Oh,w.ESWidget=ph,w.EngineObject=is,w.EnumProperty=lt,w.EnumStringsProperty=Sm,w.EvalStringProperty=bi,w.Event=V,w.EventListenerHandler=bl,w.FunctionProperty=tt,w.GroupPropTreeItem=Rc,w.GroupProperty=$,w.JsonProperty=H,w.LeafPropTreeItem=Ac,w.ListenerPipe=Pl,w.LongStringProperty=xl,w.MaximumScreenSpaceErrorProperty=rm,w.MinmaxProperty=Cm,w.NearFarScalerProperty=Im,w.NextAnimateFrameEvent=df,w.NonreactiveJsonStringProperty=yf,w.Number2Property=ce,w.Number2sProperty=mf,w.Number3Property=Re,w.Number3sProperty=Tl,w.Number4Property=rn,w.Number4WithUndefinedProperty=cm,w.Number4sProperty=hm,w.NumberProperty=T,w.NumberRangeProperty=Pm,w.NumberSliderProperty=ge,w.NumbersProperty=nm,w.ObjPool=Sl,w.ObservableSet=cu,w.ParamsProperty=vf,w.PickedInfo=Tm,w.Player=nn,w.PlayerProperty=hu,w.PositionProperty=Bs,w.PositionsProperty=_f,w.PositionsSetPropety=Nm,w.PropTree=Jp,w.PropUiTreeManager=Oo,w.Property=Pi,w.ReactVarProperty=ht,w.RotationProperty=Ol,w.SceneObjectFromId=Ll,w.SceneTree=Qa,w.SceneTreeContextMenu=tg,w.SceneTreeItem=qe,w.SceneTreeItemDragDrop=$p,w.SmartListenerHandler=ga,w.SmartListenerPipe=Hg,w.SmoothMoveController=X_,w.String2Property=sm,w.String2sProperty=gf,w.String3Property=om,w.String3sProperty=um,w.String4Property=am,w.String4sProperty=lm,w.StringNumberProperty=ym,w.StringNumbersProperty=_m,w.StringProperty=nt,w.StringsProperty=pf,w.TreeItemDragDrop=bf,w.UriProperty=ma,w.ViewPlayerProperty=wf,w.ViewerCustomInteraction=Lg,w.Watcher=va,w.WatcherTools=Of,w.WithUndefinedProperty=Nl,w.addTreesCallFunc=sg,w.animateFrame=jg,w.bindCustomEditing=xf,w.booleanPointInPolygon=Jm,w.cartesianDistance=Bp,w.clamp0_360=Js,w.clampN180_180=Tf,w.createEventsCallFunc=Hs,w.createPropTreeFromSceneObject=jp,w.cutDownTreesCallFunc=ug,w.defaultInitSceneObjectOnCreatingFunc=Am,w.defaultLight122FromEnvironmentMapManager=zc,w.defaultUpdateSceneObjectOnPickingFunc=Lm,w.destroyObject=sf,w.downloadLink=$g,w.equalsN3=kc,w.geoAlong=Qm,w.geoArea=Ul,w.geoBuffer=Wp,w.geoCenterOfMass=Ov,w.geoDestination=rd,w.geoDifference=qp,w.geoDistance=wu,w.geoHeading=Ia,w.geoIntersect=Up,w.geoLineIntersect=Uv,w.geoNearestPointOnLine=Xv,w.geoPointToLineDistance=Jv,w.geoPolygonFromCircle=Xp,w.geoPolygonOverlap=Mc,w.geoRhumbDestination=Kv,w.geoRhumbDistance=gd,w.geoRhumbHeading=$v,w.geoUnion=Gp,w.getDefaultValue=Vm,w.getDistancesFromPositions=Ka,w.getGeoBoundingSphereFromPositions=Hp,w.getMidpoint=Wv,w.getMinMaxCorner=Yp,w.getSceneObjectTreeItem=Rm,w.getXyzFromPostion=Dc,w.growthSimulationCallFunc=lg,w.hasSameTags=Nf,w.hasSameViewerTags=ei,w.inOrderRunning=zm,w.interval=Bg,w.isJSON=Ml,w.isXML=km,w.lbhToWebMerc=Hm,w.lbhToXyz=Mn,w.lerpAngle=du,w.lerpRotation=Dl,w.map=Zp,w.nextAnimateFrame=ff,w.nextMicroTask=Zg,w.oneTimeWarning=hf,w.optionsStr=Q_,w.reactPosition2Ds=Fc,w.registerCreatedEventUpdate=D_,w.registerEventCtor=of,w.registerEventUpdate=L_,w.removeAllTreesCallFunc=og,w.rpToap=Fm,w.saveOnBrowser=Qg,w.setSceneObjectTreeItem=fu,w.timeout=Jg,w.updateTreeParamsCallFunc=ag,w.webMercToLbh=Bm,w.xyzToLbh=Df,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
|