@arcgis/core 4.33.0-next.20250325 → 4.33.0-next.20250327
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/applications/Components/viewUtils.d.ts +3 -0
- package/applications/Components/viewUtils.js +5 -0
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/containerUtils.js +1 -1
- package/arcade/functions/feature.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/fieldStats.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/maths.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/geometry/functions.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0f37b3a797d8a55439a4.js +1 -0
- package/assets/esri/core/workers/chunks/1dd6d68d23ba07587ae4.js +1 -0
- package/assets/esri/core/workers/chunks/{fef46b841e8369b30227.js → 2873cb727c59328074db.js} +1 -1
- package/assets/esri/core/workers/chunks/{6ff981ec0c725efe5525.js → 470cf066294b053c2732.js} +1 -1
- package/assets/esri/core/workers/chunks/705c1ebb327f680f8519.js +1 -0
- package/assets/esri/core/workers/chunks/75a04b073231da70c18d.js +1 -0
- package/assets/esri/core/workers/chunks/{f86736a60856ef7fdacb.js → 7f8c7e3e41e51ab4d612.js} +1 -1
- package/assets/esri/core/workers/chunks/80aaf31c8eec3cff2add.js +1 -0
- package/assets/esri/core/workers/chunks/82692bff98b4ec781544.js +319 -0
- package/assets/esri/core/workers/chunks/86ee278919038260696e.js +39 -0
- package/assets/esri/core/workers/chunks/{4496ef270c700078df0c.js → 8752f807c05d1ec215e8.js} +1 -1
- package/assets/esri/core/workers/chunks/9c59fc2df8081e65a128.js +1 -0
- package/assets/esri/core/workers/chunks/{e0ac90b4ad8c36fb7d70.js → b2666b89755323a84fcb.js} +1 -1
- package/assets/esri/core/workers/chunks/{e4290719c8afc2a4ee8c.js → cc441051a52bfbda9caf.js} +1 -1
- package/assets/esri/core/workers/chunks/d3912886ac2910290f43.js +1 -0
- package/assets/esri/core/workers/chunks/e08bff9f8247909776a4.js +1 -0
- package/assets/esri/core/workers/chunks/{8f4bcca8b0525e19374f.js → e9993d4f2bfdc434fbcc.js} +1 -1
- package/assets/esri/core/workers/chunks/ed831e51c2a03ee95879.js +1 -0
- package/assets/esri/core/workers/chunks/{3e9cd82325c473ddbf1f.js → edcc0fefd57323d2cb67.js} +1 -1
- package/assets/esri/core/workers/chunks/{bea2f317b73a86e2a997.js → f128d3431da86e484117.js} +100 -101
- package/assets/esri/core/workers/chunks/{065ae931b5891847a06f.js → f28eaf1d3a7f12788bcf.js} +1 -1
- package/assets/esri/core/workers/chunks/f9396af9cbfd165e72e2.js +1 -0
- package/chunks/BloomBlur.glsl.js +1 -1
- package/chunks/BloomComposition.glsl.js +2 -2
- package/chunks/ComponentShader.glsl.js +23 -24
- package/chunks/HUDMaterial.glsl.js +2 -2
- package/chunks/HighlightApply.glsl.js +1 -1
- package/chunks/HighlightDownsample.glsl.js +1 -1
- package/chunks/HighlightToSingle.glsl.js +1 -1
- package/chunks/LineMarker.glsl.js +26 -26
- package/chunks/Point2D.js +1 -1
- package/chunks/ProjectionTransformation.js +1 -1
- package/chunks/QuadraticBezier.js +1 -1
- package/chunks/RibbonLine.glsl.js +35 -33
- package/chunks/ShadowHighlight.glsl.js +1 -1
- package/chunks/Terrain.glsl.js +33 -33
- package/chunks/WaterSurface.glsl.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/geometry/operators/projectOperator.js +1 -1
- package/geometry/operators/shapePreservingProjectOperator.js +1 -1
- package/interfaces.d.ts +263 -24
- package/layers/LinkChartLayer.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/TileLayer.js +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
- package/package.json +1 -1
- package/rest/support/RasterData.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/LabelManager.js +1 -1
- package/views/2d/engine/vectorTiles/Placement.js +1 -1
- package/views/2d/engine/vectorTiles/SourceLayerData.js +1 -1
- package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
- package/views/2d/engine/vectorTiles/TileManager.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileFeatureIndex.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/BaseBucket.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/SymbolBucket.js +1 -1
- package/views/2d/engine/vectorTiles/constants.js +5 -0
- package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +5 -0
- package/views/2d/engine/vectorTiles/decluttering/SymbolDeclutterer.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/SymbolRepository.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/core.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/jobsUtil.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/util.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleRepository.js +1 -1
- package/views/2d/engine/webgl/AFeatureTile.js +1 -1
- package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
- package/views/2d/engine/webgl/FeatureTile.js +1 -1
- package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/Buffer.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/MappedMesh.js +1 -1
- package/views/2d/engine/webgl/mesh/MeshData.js +1 -1
- package/views/2d/engine/webgl/mesh/MultiTileMeshData.js +1 -1
- package/views/2d/engine/webgl/mesh/meshDebugUtils.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/segmentUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/AlignedVertexSpec.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/MapImageLayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/RenderState.js +1 -1
- package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
- package/views/2d/layers/features/schema/processor/LabelMatcherSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/SubtypeProcessorSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
- package/views/2d/layers/support/util.js +1 -1
- package/views/2d/layers/support/vectorTileDebugUtils.js +1 -1
- package/views/2d/tiling/FeatureTileSubscriptionManager.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/Slice/RotateManipulator.js +1 -1
- package/views/3d/layers/DrapedSubView3D.js +1 -1
- package/views/3d/layers/GraphicsView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/MapImageLayerView3D.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +1 -1
- package/views/3d/layers/TileLayerView3D.js +1 -1
- package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/layers/support/ImageHighlightHelper3D.js +5 -0
- package/views/3d/layers/support/SublayerPopupHighlightHelper3D.js +5 -0
- package/views/3d/support/QualitySettings.js +1 -1
- package/views/3d/terrain/Overlay.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/RasterTile.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/TileCompositor.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/HighlightCellGridScreenSpacePass.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoubleConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +9 -9
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +9 -10
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js +11 -0
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +3 -6
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/BlendLayersOutput.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/{UintTexture2DBindUniform.js → Texture2DUintBindUniform.js} +1 -1
- package/views/3d/webgl-engine/core/shaderModules/{UintTexture2DPassUniform.js → Texture2DUintPassUniform.js} +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/PathBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/Program.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/Texture.js +1 -1
- package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
- package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
- package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightToSingle.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRendererTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/VideoView.d.ts +4 -0
- package/views/VideoView.js +1 -1
- package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
- package/views/layers/support/highlightUtils.js +5 -0
- package/views/support/TextureCompressionHandle.js +5 -0
- package/views/webgl/ShaderBuilder.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/views/webgl/TextureDescriptor.js +1 -1
- package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/Features/FeaturesViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/0e164b19e4ea3aa73843.js +0 -1
- package/assets/esri/core/workers/chunks/3fc18638f8799b85001d.js +0 -1
- package/assets/esri/core/workers/chunks/5f8028928ae8e5d27dda.js +0 -1
- package/assets/esri/core/workers/chunks/81bf362ec0d23ffdc90c.js +0 -39
- package/assets/esri/core/workers/chunks/a59ad50d932da1e28c8f.js +0 -1
- package/assets/esri/core/workers/chunks/ac6b582ca180210e596c.js +0 -1
- package/assets/esri/core/workers/chunks/accd0661a6dd297fab6b.js +0 -1
- package/assets/esri/core/workers/chunks/b5f44cf03c4e5cc07bc4.js +0 -1
- package/assets/esri/core/workers/chunks/b8416f2560710258c239.js +0 -1
- package/assets/esri/core/workers/chunks/bfbb118ae3b4a4ce1c74.js +0 -319
- package/assets/esri/core/workers/chunks/f454e773505c0eef2f9d.js +0 -1
- package/assets/esri/core/workers/chunks/fa7ddf3c89cdb8052b26.js +0 -1
- package/chunks/BloomDepthAdjust.glsl.js +0 -14
- package/views/2d/engine/vectorTiles/decluttering/jobs.js +0 -5
- package/views/2d/engine/webgl/collisions/CollisionEngine.js +0 -5
- package/views/2d/engine/webgl/collisions/CollisionGrid.js +0 -5
- package/views/3d/webgl-engine/core/shaderModules/TextureCubeBindUniform.js +0 -5
- package/views/3d/webgl-engine/core/shaderModules/UintTexture2DDrawUniform.js +0 -5
- package/views/3d/webgl-engine/effects/bloom/BloomDepthAdjust.glsl.js +0 -5
- package/views/3d/webgl-engine/effects/bloom/BloomDepthAdjustTechnique.js +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8241],{48241:(e,t,l)=>{l.r(t),l.d(t,{build:()=>s.b,calculateAnchorPosition:()=>s.c,fullUV:()=>s.f,shaderSettings:()=>s.s}),l(37585),l(48163),l(91829),l(79258),l(49255),l(76591),l(36782),l(47522),l(40268),l(63578),l(13755),l(
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8241],{48241:(e,t,l)=>{l.r(t),l.d(t,{build:()=>s.b,calculateAnchorPosition:()=>s.c,fullUV:()=>s.f,shaderSettings:()=>s.s}),l(37585),l(48163),l(91829),l(79258),l(49255),l(76591),l(36782),l(47522),l(40268),l(63578),l(13755),l(42593),l(42398),l(63365),l(26835),l(52587),l(20693),l(47286),l(14314),l(81961),l(71988),l(33094),l(20304),l(31821),l(12791),l(63761),l(59643),l(46540),l(14113);var s=l(13259)}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1878],{11878:(t,s,i)=>{i.d(s,{T:()=>h});var e=i(55537),n=i(83661);class r{constructor(t,s,i){if(t instanceof r)return this.data=t.data,this.N=t.N,this.M=t.M,t.data=null,t.N=0,void(t.M=0);this.data=t,this.N=s,this.M=i}assignCopy(t){return this===t||((0,e.g)(this.N*this.M==t.N*t.M),this.data.set(t.data),this.N=t.N,this.M=t.M),this}setZero(){return this.data?.fill(0),this}setIdentity(){for(let t=0;t<this.N;t++)for(let s=0;s<this.M;s++)this.setRowCol(t,s,t===s?1:0);return this}rows(){return this.N}cols(){return this.M}row(t){return(0,e.g)(0),{}}set(t,s){return this.data[t]=s,this}setRowCol(t,s,i){return this.data[t*this.M+s]=i,this}at(t){return this.data[t]}atRowCol(t,s){return this.data[t*this.M+s]}mulScalar(t,s){(0,e.g)(0)}mul(t,s){if((0,e.g)(this.M===t.rows()),(0,e.g)(this.N===s.rows()),(0,e.g)(t.cols()===s.cols()),s===this){const i=new Float64Array(this.N*this.M),e=new r(i,this.N,this.M);return this.mul(t,e),void s.assignCopy(e)}if(s===t){const i=new Float64Array(t.N*t.M),e=new r(i,t.N,t.M);return this.mul(t,e),void s.assignCopy(e)}const i=t.cols();for(let e=0;e<this.N;e++)for(let n=0;n<i;n++){let i=0;for(let s=0;s<this.M;s++)i+=this.atRowCol(e,s)*t.atRowCol(s,n);s.setRowCol(e,n,i)}}mulTranspose(t,s){if((0,e.g)(this.M===t.cols()),(0,e.g)(this.N===s.rows()),(0,e.g)(t.rows()===s.cols()),s===this){const i=new Float64Array(this.N*this.M),e=new r(i,this.N,this.M);return this.mulTranspose(t,e),void s.assignCopy(e)}if(s===t){const i=new Float64Array(t.N*t.M),e=new r(i,t.N,t.M);return this.mulTranspose(t,e),void s.assignCopy(e)}const i=t.rows();for(let e=0;e<this.N;e++)for(let n=0;n<i;n++){let i=0;for(let s=0;s<this.M;s++)i+=this.atRowCol(e,s)*t.atRowCol(n,s);s.setRowCol(e,n,i)}}mulLeft(t,s){(0,e.g)(0)}mulLeftTranspose(t,s){(0,e.g)(0)}mulDiag(t,s){if((0,e.g)(this.M===t.N*t.M),(0,e.g)(this.N===s.rows()),(0,e.g)(this.M===s.cols()),s===this){const i=new Float64Array(this.N*this.M),e=new r(i,this.N,this.M);return this.mulDiag(t,e),void s.assignCopy(e)}const i=this.M;for(let e=0;e<this.N;e++)for(let n=0;n<i;n++)s.setRowCol(e,n,this.atRowCol(e,n)*t.at(n))}transposeInPlace(){if(this.N===this.M){for(let t=0;t<this.N;t++)for(let s=t+1;s<this.M;s++){const i=this.atRowCol(t,s);this.setRowCol(t,s,this.atRowCol(s,t)),this.setRowCol(s,t,i)}return this}const t=new Float64Array(this.N*this.M),s=new r(t,this.N,this.M);return s.assignCopy(this),this.M=(0,n.b)(this.N,this.N=this.M),s.transpose(this),this}transpose(t){if(this!==t){r.checkDims(t,this.M,this.N);for(let s=0;s<this.N;s++)for(let i=0;i<this.M;i++)t.setRowCol(i,s,this.atRowCol(s,i))}else t.transposeInPlace()}add(t,s){}svd(t,s,i,n=!1){if(r.checkDims(t,this.N,this.M),r.checkDims(s,this.M,1),r.checkDims(i,this.M,this.M),n){if((0,e.g)(this.N===this.M),!this.symmetricEigen(s,i))return!1;for(let t=0;t<this.M;++t)s.at(t)<0&&s.set(t,0);return t.assignCopy(i),!0}let o,h,u,a,l,c,m,y=0,x=0,f=0,d=0,b=0;const v=this.M,_=this.N;t.assignCopy(this);const w=new Float64Array(v),N=new r(w,v,1),p=(t,s)=>s>=0?Math.abs(t):-Math.abs(t),M=(t,s)=>{if((t=Math.abs(t))>(s=Math.abs(s))){const i=s/t;return t*Math.sqrt(i*i+1)}if(s>0){const i=t/s;return s*Math.sqrt(i*i+1)}return 0};for(let i=0;i<v;i++){if(y=i+1,N.set(i,d*f),f=a=d=0,i<_){for(let s=i;s<_;s++)d+=Math.abs(t.atRowCol(s,i));if(d){for(let s=i;s<_;s++)t.setRowCol(s,i,t.atRowCol(s,i)/d),a+=t.atRowCol(s,i)*t.atRowCol(s,i);h=t.atRowCol(i,i),f=-p(Math.sqrt(a),h),u=h*f-a,t.setRowCol(i,i,h-f);for(let s=y;s<v;s++){a=0;for(let e=i;e<_;e++)a+=t.atRowCol(e,i)*t.atRowCol(e,s);h=a/u;for(let e=i;e<_;e++)t.setRowCol(e,s,t.atRowCol(e,s)+h*t.atRowCol(e,i))}for(let s=i;s<_;s++)t.setRowCol(s,i,t.atRowCol(s,i)*d)}}if(s.set(i,d*f),f=a=d=0,i<_&&i!==v-1){for(let s=y;s<v;s++)d+=Math.abs(t.atRowCol(i,s));if(d){for(let s=y;s<v;s++)t.setRowCol(i,s,t.atRowCol(i,s)/d),a+=t.atRowCol(i,s)*t.atRowCol(i,s);h=t.atRowCol(i,y),f=-p(Math.sqrt(a),h),u=h*f-a,t.setRowCol(i,y,h-f);for(let s=y;s<v;s++)N.set(s,t.atRowCol(i,s)/u);for(let s=y;s<_;s++){a=0;for(let e=y;e<v;e++)a+=t.atRowCol(s,e)*t.atRowCol(i,e);for(let i=y;i<v;i++)t.setRowCol(s,i,t.atRowCol(s,i)+a*N.at(i))}for(let s=y;s<v;s++)t.setRowCol(i,s,t.atRowCol(i,s)*d)}}const e=Math.abs(s.at(i))+Math.abs(N.at(i));b=e>b?e:b}for(let s=v-1;s>=0;s--){if(s<v-1){if(f){for(let e=y;e<v;e++)i.setRowCol(e,s,t.atRowCol(s,e)/t.atRowCol(s,y)/f);for(let e=y;e<v;e++){a=0;for(let n=y;n<v;n++)a+=t.atRowCol(s,n)*i.atRowCol(n,e);for(let t=y;t<v;t++)i.setRowCol(t,e,i.atRowCol(t,e)+a*i.atRowCol(t,s))}}for(let t=y;t<v;t++)i.setRowCol(s,t,0),i.setRowCol(t,s,0)}i.setRowCol(s,s,1),f=N.at(s),y=s}for(let i=(_<v?_:v)-1;i>=0;i--){y=i+1,f=s.at(i);for(let s=y;s<v;s++)t.setRowCol(i,s,0);if(f){f=1/f;for(let s=y;s<v;s++){a=0;for(let e=y;e<_;e++)a+=t.atRowCol(e,i)*t.atRowCol(e,s);h=a/t.atRowCol(i,i)*f;for(let e=i;e<_;e++)t.setRowCol(e,s,t.atRowCol(e,s)+h*t.atRowCol(e,i))}for(let s=i;s<_;s++)t.setRowCol(s,i,t.atRowCol(s,i)*f)}else for(let s=i;s<_;s++)t.setRowCol(s,i,0);t.setRowCol(i,i,t.atRowCol(i,i)+1)}for(let e=v-1;e>=0;e--)for(let n=1;;n++){let r=1;for(y=e;y>=0;y--){if(x=y-1,Math.abs(N.at(y))+b===b){r=0;break}if(Math.abs(s.at(x))+b===b)break}if(r){o=0,a=1;for(let i=y;i<=e&&(h=a*N.at(i),N.set(i,N.at(i)*o),Math.abs(h)+b!==b);i++){f=s.at(i),u=M(h,f),s.set(i,u),u=1/u,o=f*u,a=-h*u;for(let s=0;s<_;s++)c=t.atRowCol(s,x),m=t.atRowCol(s,i),t.setRowCol(s,x,c*o+m*a),t.setRowCol(s,i,m*o-c*a)}}if(m=s.at(e),y===e){if(m<0){s.set(e,-m);for(let t=0;t<v;t++)i.setRowCol(t,e,-i.atRowCol(t,e))}break}if(100===n)return!1;l=s.at(y),x=e-1,c=s.at(x),f=N.at(x),u=N.at(e),h=((c-m)*(c+m)+(f-u)*(f+u))/(2*u*c),f=M(h,1),h=((l-m)*(l+m)+u*(c/(h+p(f,h))-u))/l,o=a=1;for(let e=y;e<=x;e++){const n=e+1;f=N.at(n),c=s.at(n),u=a*f,f*=o,m=M(h,u),N.set(e,m),o=h/m,a=u/m,h=l*o+f*a,f=f*o-l*a,u=c*a,c*=o;for(let t=0;t<v;t++)l=i.atRowCol(t,e),m=i.atRowCol(t,n),i.setRowCol(t,e,l*o+m*a),i.setRowCol(t,n,m*o-l*a);m=M(h,u),s.set(e,m),m&&(m=1/m,o=h*m,a=u*m),h=o*f+a*c,l=o*c-a*f;for(let s=0;s<_;s++)c=t.atRowCol(s,e),m=t.atRowCol(s,n),t.setRowCol(s,e,c*o+m*a),t.setRowCol(s,n,m*o-c*a)}N.set(y,0),N.set(e,h),s.set(e,l)}const g=new Float64Array(this.N),C=new Float64Array(this.M),T=new r(g,this.N,1),R=new r(C,this.M,1);let E=1;do{E*=3,E++}while(E<=this.M);do{E/=3,E=Math.trunc(E);for(let e=E;e<this.M;e++){const n=s.at(e);for(let s=0;s<this.N;s++)T.set(s,t.atRowCol(s,e));for(let t=0;t<this.M;t++)R.set(t,i.atRowCol(t,e));let r=e;for(;s.at(r-E)<n;){s.set(r,s.at(r-E));for(let s=0;s<this.N;s++)t.setRowCol(s,r,t.atRowCol(s,r-E));for(let t=0;t<this.M;t++)i.setRowCol(t,r,i.atRowCol(t,r-E));if(r-=E,r<E)break}s.set(r,n);for(let s=0;s<this.N;s++)t.setRowCol(s,r,T.at(s));for(let t=0;t<this.M;t++)i.setRowCol(t,r,R.at(t))}}while(E>1);for(let s=0;s<this.M;s++){let e=0;for(let i=0;i<this.N;i++)t.atRowCol(i,s)<0&&e++;for(let t=0;t<this.M;t++)i.atRowCol(t,s)<0&&e++;if(e>Math.trunc((this.N+this.M)/2)){for(let i=0;i<this.N;i++)t.setRowCol(i,s,-t.atRowCol(i,s));for(let t=0;t<this.M;t++)i.setRowCol(t,s,-i.atRowCol(t,s))}}return!0}isSymmetric(){if(this.N!==this.M)return!1;for(let t=0;t<this.N;t++)for(let s=t+1;s<this.M;s++)if(this.atRowCol(t,s)!==this.atRowCol(s,t))return!1;return!0}isZero(){return(0,e.g)(0),!1}isIdentity(){return(0,e.g)(0),!1}equals(t,s){if(void 0!==s&&(0,e.g)(0),this.N!==t.N||this.M!==t.M)return!1;for(let s=0;s<this.N*this.M;s++)if(this.data[s]!==t.data[s])return!1;return!0}maxElement(){return(0,e.g)(0),0}minElement(){return(0,e.g)(0),0}determinant(){if((0,e.g)(this.N===this.M),1===this.N)return this.data[0];if(2===this.N)return this.data[0]*this.data[3]-this.data[1]*this.data[2];if(3===this.N){const t=this;return t.atRowCol(0,0)*(t.atRowCol(1,1)*t.atRowCol(2,2)-t.atRowCol(1,2)*t.atRowCol(2,1))-t.atRowCol(0,1)*(t.atRowCol(1,0)*t.atRowCol(2,2)-t.atRowCol(2,0)*t.atRowCol(1,2))+t.atRowCol(0,2)*(t.atRowCol(1,0)*t.atRowCol(2,1)-t.atRowCol(1,1)*t.atRowCol(2,0))}const t=new Float64Array(this.N*this.N),s=new r(t,this.N,this.N),i=new Float64Array(this.N);if(!this.luDecomposition(s,i))return 0;let n=1;for(let t=0;t<this.N;t++)n*=s.atRowCol(t,t),i[t]!==t&&(n=-n);return n}submatrix(t,s,i){(0,e.g)(0)}inverse(t){(0,e.g)(0)}pseudoInverse(t,s=!1,i=2220446049250313e-31){if(t.setZero(),1===this.N&&1===this.M)return 0!==this.atRowCol(0,0)?t.setRowCol(0,0,1/this.atRowCol(0,0)):t.setRowCol(0,0,0),!0;if(2===this.N&&2===this.M){const s=this.atRowCol(0,0)*this.atRowCol(1,1)-this.atRowCol(0,1)*this.atRowCol(1,0),i=1e-5*(Math.abs(this.atRowCol(0,0)*this.atRowCol(1,1))+Math.abs(this.atRowCol(0,1)*this.atRowCol(1,0)));if(Math.abs(s)>i)return t.setRowCol(0,0,this.atRowCol(1,1)/s),t.setRowCol(0,1,-this.atRowCol(0,1)/s),t.setRowCol(1,0,-this.atRowCol(1,0)/s),t.setRowCol(1,1,this.atRowCol(0,0)/s),!0}const e=new Float64Array(this.N*this.M),n=new r(e,this.N,this.M),o=new Float64Array(this.M),h=new r(o,this.M,1),u=new Float64Array(this.M*this.M),a=new r(u,this.M,this.M);if(!this.svd(n,h,a,s))return!1;const l=Math.max(this.N,this.M),c=i*Math.abs(h.at(0))*l;for(let t=0;t<this.M;t++)h.at(t)>c?h.set(t,1/h.at(t)):h.set(t,0);return a.mulDiag(h,t),t.mulTranspose(n,t),!0}luDecomposition(t,s){return(0,e.g)(0),!1}symmetricEigen(t,s){(0,e.g)(this.rows()===this.cols()),(0,e.g)(this.rows()===t.rows()),(0,e.g)(s.rows()===s.cols()&&s.rows()===this.rows()),(0,e.g)(this.isSymmetric());const i=new Float64Array(this.N*this.M),n=new r(i,this.N,this.M);n.assignCopy(this);const o=100/Number.EPSILON,h=this.rows(),u=new Float64Array(h),a=new Float64Array(h),l=new r(u,h,1),c=new r(a,h,1);for(let s=0;s<h;s++)l.set(s,n.atRowCol(s,s)),t.set(s,n.atRowCol(s,s)),c.set(s,0);s.setIdentity();const m=()=>{const i=l;s.transposeInPlace();let e=1;do{e*=3,e++}while(e<=h);do{e/=3,e=Math.trunc(e);for(let n=e;n<h;n++){const r=t.at(n),o=Math.abs(r);for(let t=0;t<this.M;t++)i.set(t,s.atRowCol(t,n));let h=n;for(;Math.abs(t.at(h-e))<o;){t.set(h,t.at(h-e));for(let t=0;t<this.M;t++)s.setRowCol(t,h,s.atRowCol(t,h-e));if(h-=e,h<e)break}if(h!==n){t.set(h,r);for(let t=0;t<this.M;t++)s.setRowCol(t,h,i.at(t))}}}while(e>1)};for(let i=1;;i++){let e=0;for(let t=1;t<h;t++)for(let s=0;s<t;s++)e+=Math.abs(n.atRowCol(t,s));if(0===e)return m(),!0;const r=i<4?.2*e/(h*h):0;for(let e=0;e<h;e++)for(let u=e+1;u<h;u++){let a=o*Math.abs(n.atRowCol(u,e));if(i>4&&a<=Math.abs(t.at(e))&&a<=Math.abs(t.at(u)))n.setRowCol(u,e,0);else if(Math.abs(n.atRowCol(u,e))>r){let i,r=t.at(u)-t.at(e);if(a<Math.abs(r))i=n.atRowCol(u,e)/r;else{const t=.5*r/n.atRowCol(u,e);i=1/(Math.abs(t)+Math.sqrt(1+t*t)),t<0&&(i=-i)}const o=1/Math.sqrt(1+i*i),l=i*o,m=l/(1+o);r=i*n.atRowCol(u,e),c.set(e,c.at(e)-r),c.set(u,c.at(u)+r),t.set(e,t.at(e)-r),t.set(u,t.at(u)+r),n.setRowCol(u,e,0);let y=0;for(;y<e;y++)a=n.atRowCol(e,y),r=n.atRowCol(u,y),n.setRowCol(e,y,a-l*(r+a*m)),n.setRowCol(u,y,r+l*(a-r*m));for(y++;y<u;y++)a=n.atRowCol(y,e),r=n.atRowCol(u,y),n.setRowCol(y,e,a-l*(r+a*m)),n.setRowCol(u,y,r+l*(a-r*m));for(y++;y<h;y++)a=n.atRowCol(y,e),r=n.atRowCol(y,u),n.setRowCol(y,e,a-l*(r+a*m)),n.setRowCol(y,u,r+l*(a-r*m));for(y=0;y<h;y++)a=s.atRowCol(e,y),r=s.atRowCol(u,y),s.setRowCol(e,y,a-l*(r+a*m)),s.setRowCol(u,y,r+l*(a-r*m))}}for(let s=0;s<h;s++)l.set(s,l.at(s)+c.at(s)),t.set(s,l.at(s)),c.set(s,0)}}static checkDims(t,s,i){(0,e.g)(t.rows()===s&&t.cols()===i)}}class o extends r{constructor(t){if(t.copy){const s=new Float64Array(t.copy.N*t.copy.M);return super(s,t.copy.N,t.copy.M),this.buffer=s,void this.assignCopy(t.copy)}const s=new Float64Array(t.NN*t.MM);super(s,t.NN,t.MM),this.buffer=s,t.initializerList&&(0,n.a)(this.buffer,t.initializerList,0,0,t.initializerList.length)}assignCopy(t){return this===t||super.assignCopy(t),this}}class h{constructor(t){this.m_TransformationType=1,void 0===t?this.setIdentity():t instanceof h?this.set(t):this.setScale(t)}set(t){return this.xx=t.xx,this.xy=t.xy,this.xd=t.xd,this.yx=t.yx,this.yy=t.yy,this.yd=t.yd,this}clone(){return(new h).set(this)}setZero(){this.xx=0,this.yy=0,this.xy=0,this.yx=0,this.xd=0,this.yd=0}isEqual(t){return this===t||this.xx===t.xx&&this.xy===t.xy&&this.xd===t.xd&&this.yx===t.yx&&this.yy===t.yy&&this.yd===t.yd}transformInPlace(t){const s=this.xx*t.x+this.xy*t.y+this.xd,i=this.yx*t.x+this.yy*t.y+this.yd;t.x=s,t.y=i}transform(t){const s=t.clone();return this.transformInPlace(s),s}queryTransform(t,s){const i=this.xx*t.x+this.xy*t.y+this.xd,e=this.yx*t.x+this.yy*t.y+this.yd;s.setCoords(i,e)}transformEnvInPlace(t){if(t.isEmpty())return;const s=(0,n.m)(n.P,4);t.queryCorners(s),this.transformPoints2D(s,4,s),t.setFromPoints(s,4)}queryTransformEnv(t,s){(0,e.g)(0)}transformPoints2D(t,s,i){for(let e=0;e<s;++e)this.queryTransform(t[e],i[e])}transformInterleavedPoints(t,s,i){s*=2;const e=n.P.getNAN();for(let n=0;n<s;n+=2)e.x=t[n],e.y=t[n+1],this.transformInPlace(e),i[n]=e.x,i[n+1]=e.y}multiply(t){return h.st_multiply(this,t,this),this}mulLeft(t){return(0,e.g)(0),this}static st_multiply(t,s,i){const e=t.xx*s.xx+t.yx*s.xy,n=t.xy*s.xx+t.yy*s.xy,r=t.xd*s.xx+t.yd*s.xy+s.xd,o=t.xx*s.yx+t.yx*s.yy,h=t.xy*s.yx+t.yy*s.yy,u=t.xd*s.yx+t.yd*s.yy+s.yd;i.xx=e,i.xy=n,i.xd=r,i.yx=o,i.yy=h,i.yd=u}getCoefficients(t){(0,e.g)(t.length>=6),t[0]=this.xx,t[1]=this.xy,t[2]=this.xd,t[3]=this.yx,t[4]=this.yy,t[5]=this.yd}setCoefficients(t){(0,e.g)(t.length>=6),this.xx=t[0],this.xy=t[1],this.xd=t[2],this.yx=t[3],this.yy=t[4],this.yd=t[5]}copyTo(t){(0,e.g)(0)}initializeFromRect(t,s){t.isEmpty()||s.isEmpty()||!t.width()||!t.height()?this.setZero():(this.xy=this.yx=0,this.xx=s.width()/t.width(),this.yy=s.height()/t.height(),this.xd=s.xmin-t.xmin*this.xx,this.yd=s.ymin-t.ymin*this.yy)}initializeFromRectIsotropic(t,s){if(t.isEmpty()||!t.width()||!t.height()||s.isEmpty())this.setZero();else{this.yx=0,this.xy=0,this.xx=s.width()/t.width(),this.yy=s.height()/t.height(),this.xx>this.yy?this.xx=this.yy:this.yy=this.xx;const i=s.getCenter(),e=t.getCenter();this.xd=i.x-e.x*this.xx,this.yd=i.y-e.y*this.yy}}initializeFromTwoPointsArray(t,s){if(t[0].equals(s[0])&&t[1].equals(s[1]))return void this.setIdentity();if(t[0].equals(t[1])){if(s[0].equals(s[1]))return void this.setShift(s[0].sub(t[0]));(0,e.t)("")}if(!t[0].equals(t[1])&&s[0].equals(s[1]))return this.setZero(),void this.shift(s[0]);this.setShiftCoords(-t[0].x,-t[0].y);const i=n.P.distance(t[0],t[1]),r=n.P.distance(s[0],s[1]),o=r/i;this.scale(o,o);const h=t[1].sub(t[0]);h.divThis(i);const u=s[1].sub(s[0]);u.divThis(r);const a=h.crossProduct(u),l=h.dotProduct(u);this.rotate(l,a),this.shiftCoords(s[0].x,s[0].y)}initializeFromTwoPoints(t,s,i,e){const n=[t,s],r=[i,e];this.initializeFromTwoPointsArray(n,r)}transformSizeInPlace(t){(0,e.g)(0)}transformSize(t,s){(0,e.g)(0)}transformTol(t){return(0,e.g)(0),0}transformWithoutTranslateArray(t,s,i){for(let e=0;e<s;++e)this.transformWithoutTranslate(t[e],i[e])}transformWithoutTranslateInPlace(t){const s=this.xx*t.x+this.xy*t.y,i=this.yx*t.x+this.yy*t.y;t.setCoords(s,i)}transformWithoutTranslate(t,s){const i=this.xx*t.x+this.xy*t.y,e=this.yx*t.x+this.yy*t.y;s.setCoords(i,e)}setIdentity(){this.xx=1,this.xy=0,this.xd=0,this.yx=0,this.yy=1,this.yd=0}isIdentity(){return!(1!==this.xx||1!==this.yy||this.xy||this.xd||this.yx||this.yd)}isIdentityTol(t){const s=t*t;return!((0,n.s)(this.xd)+(0,n.s)(this.yd)>s||(0,n.s)(this.xy+this.xd)+(0,n.s)(this.yy+this.yd-1)>s||(0,n.s)(this.xx+this.xd-1)+(0,n.s)(this.yx+this.yd)>s)}isReflective(){return this.xx*this.yy-this.yx*this.xy<0}isUniform(t){const s=this.xx*this.xx+this.yx*this.yx,i=this.xy*this.xy+this.yy*this.yy,e=(s+i)*t;return Math.abs(s-i)<=e&&Math.abs(this.xx*this.xy+this.yx*this.yy)<=e}isUniformNoRotation(){return 0!==this.xx&&Math.abs(this.xx)===Math.abs(this.yy)&&0===this.xy&&0===this.yx}isTranslate(){return 1===this.xx&&1===this.yy&&!this.xy&&!this.yx}isTranslateTol(t){const s=new n.P;return s.setCoords(0,1),this.transformWithoutTranslateInPlace(s),s.y-=1,!(s.sqrLength()>t*t)&&(s.setCoords(1,0),this.transformWithoutTranslateInPlace(s),s.x-=1,s.sqrLength()<=t*t)}isOrthonormal(t){const s=new h;return s.xx=this.xx*this.xx+this.xy*this.xy,s.xy=this.xx*this.yx+this.xy*this.yy,s.yx=this.yx*this.xx+this.yy*this.xy,s.yy=this.yx*this.yx+this.yy*this.yy,s.xd=0,s.yd=0,s.isIdentityTol(t)}isDegenerate(t){return Math.abs(this.xx*this.yy-this.yx*this.xy)<=2*t*(Math.abs(this.xx*this.yy)+Math.abs(this.yx*this.xy))}isZero(){return 0===this.xx&&0===this.yy&&0===this.xy&&0===this.yx&&0===this.xd&&0===this.yd}isScaleAndTranslateTol(t){return this.xy*this.xy+this.yx*this.yx<=(this.xx*this.xx+this.yy*this.yy)*t}setTranslate(t,s){return this.xx=1,this.xy=0,this.xd=t,this.yx=0,this.yy=1,this.yd=s,this}setShiftCoords(t,s){return this.xx=1,this.xy=0,this.xd=t,this.yx=0,this.yy=1,this.yd=s,this}setShift(t){return this.xx=1,this.xy=0,this.xd=t.x,this.yx=0,this.yy=1,this.yd=t.y,this}setScaleCoords(t,s){return this.xx=t,this.xy=0,this.xd=0,this.yx=0,this.yy=s,this.yd=0,this}setScale(t){return this.setScaleCoords(t,t),this}setFlipX(t,s){return this.xx=-1,this.xy=0,this.xd=t+s,this.yx=0,this.yy=1,this.yd=0,this}setFlipY(t,s){return this.xx=1,this.xy=0,this.xd=0,this.yx=0,this.yy=-1,this.yd=t+s,this}setShear(t,s){return this.xx=1,this.xy=t,this.xd=0,this.yx=s,this.yy=1,this.yd=0,this}scale(t,s){return this.xx*=t,this.xy*=t,this.xd*=t,this.yx*=s,this.yy*=s,this.yd*=s,this}setRotateAngle(t){return this.setRotate(Math.cos(t),Math.sin(t))}setRotate(t,s){return this.xx=t,this.xy=-s,this.xd=0,this.yx=s,this.yy=t,this.yd=0,this}setRotateAngleAbout(t,s){return this.setRotateAbout(Math.cos(t),Math.sin(t),s)}setRotateAbout(t,s,i){return this.setTranslate(-i.x,-i.y),this.rotate(t,s),this.translate(i.x,i.y)}setSwapCoordinates(){return this.xx=0,this.xy=1,this.xd=0,this.yx=1,this.yy=0,this.yd=0,this}setRotateCw90(){return this.xx=0,this.xy=1,this.xd=0,this.yx=-1,this.yy=0,this.yd=0,this}setRotateCcw90(){return this.xx=0,this.xy=-1,this.xd=0,this.yx=1,this.yy=0,this.yd=0,this}shiftCoords(t,s){return this.xd+=t,this.yd+=s,this}shift(t){return this.xd+=t.x,this.yd+=t.y,this}translate(t,s){return this.xd+=t,this.yd+=s,this}flipX(t,s){return this.xx=-this.xx,this.xy=-this.xy,this.xd=t+s-this.xd,this}flipY(t,s){return this.yx=-this.yx,this.yy=-this.yy,this.yd=t+s-this.yd,this}shear(t,s){const i=new h;return i.setShear(t,s),this.multiply(i)}rotateAngle(t){const s=new h;return s.setRotateAngle(t),this.multiply(s)}rotate(t,s){const i=new h;return i.setRotate(t,s),this.multiply(i)}rotateAbout(t,s,i){return this.translate(-i.x,-i.y),this.rotate(t,s),this.translate(i.x,i.y)}rotateAngleAbout(t,s){return this.rotateAbout(Math.cos(t),Math.sin(t),s)}setInvert(t){return this.set(t),this.invertThis()}invertThis(){let t=this.xx*this.yy-this.xy*this.yx;if(0===t)return this.setZero(),this;t=1/t;const s=(this.xy*this.yd-this.xd*this.yy)*t,i=(this.xd*this.yx-this.xx*this.yd)*t,e=this.yy*t,n=-this.xy*t,r=-this.yx*t,o=this.xx*t;return this.xd=s,this.yd=i,this.xx=e,this.yy=o,this.xy=n,this.yx=r,this}invertPrecise(t){return this.set(t),this.invertPreciseThis()}invertPreciseThis(){const t=n.M.constructDouble(this.xy),s=n.M.constructDouble(this.xx),i=s.mulDouble(this.yy).sub(t.mulDouble(this.yx));if(i.isZero())return this.setZero(),this;const e=i.clone();e.invertThis();const r=n.M.constructDouble(this.xd),o=t.mulDouble(this.yd).sub(r.mulDouble(this.yy)).mul(e).toDouble(),h=r.mulDouble(this.yx).sub(s.mulDouble(this.yd)).mul(e).toDouble(),u=e.mulDouble(this.yy).toDouble(),a=e.mulDouble(-this.xy).toDouble(),l=e.mulDouble(-this.yx).toDouble(),c=e.mulDouble(this.xx).toDouble();return this.xd=o,this.yd=h,this.xx=u,this.yy=c,this.xy=a,this.yx=l,this}extractScaleTransform(t,s){const i=Math.sqrt(this.xx*this.xx+this.xy*this.xy),e=Math.sqrt(this.yx*this.yx+this.yy*this.yy);s.setScaleCoords(1/i,1/e),s.multiply(this),t.setScaleCoords(i,e)}setFromTwoTriangles(t,s){let i=!0;for(let e=0;e<3;++e)i=i&&t[e].equals(s[e]);if(i)return this.setIdentity(),!0;const e=new n.P;e.setSub(t[0],t[1]);const r=new n.P;r.setSub(t[0],t[2]);const o=new n.P;o.setSub(s[0],s[1]);const h=new n.P;h.setSub(s[0],s[2]);const u=4*Number.EPSILON*(Math.abs(e.x*r.y)+Math.abs(r.x*e.y));let a=e.x*r.y-e.y*r.x;return Math.abs(a)>u?(a=1/a,this.xx=(o.x*r.y-e.y*h.x)*a,this.xy=(e.x*h.x-o.x*r.x)*a,this.yx=(o.y*r.y-e.y*h.y)*a,this.yy=(e.x*h.y-o.y*r.x)*a,this.xd=s[0].x-(this.xx*t[0].x+this.xy*t[0].y),this.yd=s[0].y-(this.yx*t[0].x+this.yy*t[0].y),!0):(this.setZero(),!1)}initializeFromControlPoints(t,s,i,r,l=null){return 0===s?(this.setIdentity(),void(l&&l.setIdentity())):1===s?(this.setShift(r[0].sub(i[0])),void(l&&l.setShift(i[0].sub(r[0])))):(s<3&&(t=1),void(4===t&&s>2?function(t,s,i,r,h){const u=n.P.average(i,s),l=n.P.average(r,s),c=new o({NN:2,MM:2});c.setZero();const m=new o({NN:2,MM:2});m.setZero();for(let t=0;t<s;++t)c.setRowCol(0,0,c.atRowCol(0,0)+(i[t].x-u.x)*(i[t].x-u.x)),c.setRowCol(0,1,c.atRowCol(0,1)+(i[t].x-u.x)*(i[t].y-u.y)),c.setRowCol(1,1,c.atRowCol(1,1)+(i[t].y-u.y)*(i[t].y-u.y)),m.setRowCol(0,0,m.atRowCol(0,0)+(r[t].x-l.x)*(i[t].x-u.x)),m.setRowCol(0,1,m.atRowCol(0,1)+(r[t].x-l.x)*(i[t].y-u.y)),m.setRowCol(1,0,m.atRowCol(1,0)+(r[t].y-l.y)*(i[t].x-u.x)),m.setRowCol(1,1,m.atRowCol(1,1)+(r[t].y-l.y)*(i[t].y-u.y));c.setRowCol(1,0,c.atRowCol(0,1));const y=new o({NN:2,MM:2});c.pseudoInverse(y,!0)||(0,e.a)("Failed to compute pseudo inverse"),m.mul(y,m),a(t,m);const x=u.clone();t.transformInPlace(x),t.xd=l.x-x.x,t.yd=l.y-x.y,h&&(m.pseudoInverse(y,!1)||(0,e.a)("Failed to compute pseudo inverse"),a(h,y),h.transformInPlace(l),h.xd=u.x-l.x,h.yd=u.y-l.y)}(this,s,i,r,l):function(t,s,i,r,l,c){(0,e.g)(1===t||0===t||2===t||3===t),s.setIdentity();const m=n.P.average(r,i),y=n.P.average(l,i);if((0,e.g)(t<u.length&&t>0),8&u[t]){const n=new o({NN:2,MM:2});n.setZero();for(let t=0;t<i;++t)n.setRowCol(0,0,n.atRowCol(0,0)+(l[t].x-y.x)*(r[t].x-m.x)),n.setRowCol(1,0,n.atRowCol(1,0)+(l[t].x-y.x)*(r[t].y-m.y)),n.setRowCol(0,1,n.atRowCol(0,1)+(l[t].y-y.y)*(r[t].x-m.x)),n.setRowCol(1,1,n.atRowCol(1,1)+(l[t].y-y.y)*(r[t].y-m.y));const c=new o({NN:2,MM:2}),x=new o({NN:2,MM:1}),f=new o({NN:2,MM:2});n.svd(c,x,f)||(0,e.a)("Failed to compute svd");const d=new o({NN:2,MM:2});c.transpose(d);const b=new o({NN:2,MM:2});f.mul(d,b),32&u[t]||b.determinant()<0&&(d.setRowCol(1,0,-d.atRowCol(1,0)),d.setRowCol(1,1,-d.atRowCol(1,1)),f.mul(d,b));const v=new h;a(v,b),s.set(v)}if(2&u[t]){let t=0,e=0;for(let n=0;n<i;++n){const i=r[n].sub(m);t+=i.sqrLength(),s.transformInPlace(i),e+=i.dotProduct(l[n].sub(y))}if(0===t)0===e?s.setIdentity():s.setZero();else{const i=e/t;s.scale(i,i)}}else(0,e.g)(!(4&u[t]));const x=m.clone();s.transformInPlace(x),s.xd=y.x-x.x,s.yd=y.y-x.y,c&&(c.set(s),c.invertThis(),c.isZero()&&(c.xd=m.x,c.yd=m.y))}(t,this,s,i,r,l)))}calculateErrors(t,s,i,r){(0,e.g)(t>0&&null!==s&&null!==i);let o=0;for(let e=0;e<t;++e){const t=this.transform(s[e]),h=n.P.sqrDistance(i[e],t);o+=h,r&&(r[e]=Math.sqrt(h))}return Math.sqrt(o/t)}}const u=[43,11,41,9,61];function a(t,s){(0,e.g)(!(2!==s.rows()&&3!==s.rows()||2!==s.cols()&&3!==s.rows())),t.xx=s.atRowCol(0,0),t.xy=s.atRowCol(0,1),t.yx=s.atRowCol(1,0),t.yy=s.atRowCol(1,1),3===s.cols()?(t.xd=s.atRowCol(0,2),t.yd=s.atRowCol(1,2)):(t.xd=0,t.yd=0)}},55537:(t,s,i)=>{function e(t,s){try{if(!t)throw new Error(s)}catch(t){throw t}}i.d(s,{A:()=>y,B:()=>k,C:()=>F,D:()=>z,G:()=>l,a:()=>T,b:()=>P,c:()=>A,d:()=>Z,e:()=>x,f:()=>b,g:()=>e,h:()=>_,i:()=>v,j:()=>p,k:()=>g,l:()=>S,m:()=>E,n:()=>D,o:()=>w,p:()=>d,q:()=>f,r:()=>M,s:()=>q,t:()=>C,u:()=>I,v:()=>N,w:()=>G,x:()=>R,y:()=>B,z:()=>L});class n extends Error{constructor(t,s){super(s),this.m_AdditionalMessage=s,this.m_ErrorType=t,this.name="GeometryError"}what(){return function(t){switch(t){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}}class r extends n{constructor(t){super(2,t),this.name="CorruptedGeometryError"}}class o extends n{constructor(t){super(3,t),this.name="EmptyGeometryError"}}class h extends n{constructor(t){super(4,t),this.name="MathSingularityError"}}class u extends n{constructor(t){super(21,t),this.name="ProjectionEngineNotLoadedError"}}class a extends n{constructor(t){super(8,t),this.name="NonSimpleGeometryError"}}var l,c;(c=l||(l={}))[c.enumUnknown=0]="enumUnknown",c[c.enumPoint=513]="enumPoint",c[c.enumLine=5122]="enumLine",c[c.enumBezier=5123]="enumBezier",c[c.enumEllipticArc=5124]="enumEllipticArc",c[c.enumEnvelope=3077]="enumEnvelope",c[c.enumMultiPoint=8710]="enumMultiPoint",c[c.enumPolyline=25607]="enumPolyline",c[c.enumPolygon=27656]="enumPolygon",c[c.enumMultipatch=40969]="enumMultipatch",c[c.enumGeometryCollection=3594]="enumGeometryCollection",c[c.enumRationalBezier2=5134]="enumRationalBezier2",c[c.enumBezier2=5135]="enumBezier2",c[c.enumRationalBezier23d=5392]="enumRationalBezier23d",c[c.enumGreatArc3d=5393]="enumGreatArc3d";const m=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function y(t){return m[15&t]}function x(t){return!!(512&t)}function f(t){return!!(1024&t)}function d(t){return!!(2048&t)}function b(t){return!!(4096&t)}function v(t){return!!(8192&t)}function _(t){return!!(16384&t)}function w(t){return!!(32768&t)}function N(t){const s=t.getGeometryType();return v(s)?t.getPointCount():t.isEmpty()?0:s===l.enumEnvelope?4:s===l.enumPoint?1:b(s)?2:void A("missing type")}function p(t){const s=t.getGeometryType();if(_(s))return t.hasNonLinearSegments();if(s===l.enumGeometryCollection){const s=t;for(let t=0,i=s.getGeometryCount();t<i;t++)if(p(s.getGeometry(t)))return!0;return!1}return!!b(s)&&s!==l.enumLine}function M(t){throw new u(t)}function g(t){throw new r(t)}function C(t){throw new Error(t)}function T(t){throw new h(t)}function R(){C("Geometry type is not supported for 3D operations.")}function E(t){throw new n(12,t)}function I(t){throw new o(t)}function P(t){throw new n(14,t)}function D(t){throw new Error(t)}function A(t){throw new n(13,t)}function q(t){throw new Error(t)}function z(t){throw new a(t)}function S(t){t&&p(t)&&P("Operation does not support curves.")}function Z(t){t&&w(t.getGeometryType())&&P("Unsupported geometry type.")}function F(t){t===l.enumGeometryCollection&&C("Geometry_collection instances are not supported in this operation")}function k(t){F(t.getGeometryType())}function B(t){C(`bad wkid: ${t}`)}function L(t){let s="bad wkt: ";s+=t,s+="...",C(s)}function G(t,s){t||C(s)}},83661:(t,s,i)=>{i.d(s,{$:()=>N,A:()=>ys,B:()=>at,C:()=>ft,D:()=>vs,E:()=>a,F:()=>c,G:()=>v,H:()=>b,I:()=>jt,J:()=>ws,K:()=>n,L:()=>Ct,M:()=>Ds,N:()=>_s,O:()=>It,P:()=>ks,Q:()=>z,R:()=>S,S:()=>Pt,T:()=>ut,U:()=>xt,V:()=>E,W:()=>I,X:()=>dt,Y:()=>Wt,Z:()=>Z,_:()=>w,a:()=>lt,a0:()=>P,a1:()=>D,a2:()=>A,a3:()=>Vt,a4:()=>At,a5:()=>gs,a6:()=>Es,a7:()=>Ts,a8:()=>Cs,a9:()=>et,aA:()=>_t,aB:()=>Fs,aC:()=>C,aD:()=>hs,aE:()=>$t,aF:()=>Lt,aG:()=>as,aH:()=>us,aa:()=>nt,ab:()=>St,ac:()=>pt,ad:()=>_,ae:()=>qs,af:()=>As,ag:()=>B,ah:()=>Ms,ai:()=>it,aj:()=>V,ak:()=>L,al:()=>Is,am:()=>bt,an:()=>bs,ao:()=>Jt,ap:()=>ct,aq:()=>os,ar:()=>ls,as:()=>Tt,at:()=>ms,au:()=>gt,av:()=>R,aw:()=>rs,ax:()=>ps,ay:()=>Zs,az:()=>Ss,b:()=>mt,c:()=>Ns,d:()=>Et,e:()=>G,f:()=>T,g:()=>ds,h:()=>wt,i:()=>Ht,j:()=>Xt,k:()=>qt,l:()=>zt,m:()=>Mt,n:()=>Dt,o:()=>st,p:()=>Rt,q:()=>q,r:()=>Yt,s:()=>k,t:()=>O,u:()=>vt,v:()=>yt,w:()=>Nt,x:()=>F,y:()=>p,z:()=>g});var e=i(55537);class n{constructor(t){this.sum=t,this.compensation=0}assign(t){return this.compensation=t.compensation,this.sum=t.sum,this}reset(){this.sum=this.compensation=0}resetToStart(t){this.sum=t,this.compensation=0}normalize(){const t=[Number.NaN];this.sum=tt(this.sum,this.compensation,t),this.compensation=t[0]}add(t){const s=this.sum+t;let i;if(Math.abs(this.sum)>=Math.abs(t)){const e=this.sum-s+t;i=this.compensation+e}else{const e=t-s+this.sum;i=this.compensation+e}this.sum=s,this.compensation=i}sub(t){this.add(-t)}addProduct(t,s){const i=[0],e=$(t,s,i);this.add(e),this.add(i[0])}mul(t){const s=new n(0);s.addProduct(this.sum,t),s.addProduct(this.compensation,t),this.assign(s)}getResult(){return this.sum+this.compensation}pe(t){return this.add(t),this}me(t){return this.add(-t),this}}const r=[5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1],o=[-1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3];function h(t){let s=0;return 65535n&t||(s+=16,t>>=16n),255n&t||(s+=8,t>>=8n),15n&t||(s+=4,t>>=4n),s+r[Number(BigInt.asUintN(4,t))]}function u(t){let s=0;return 4294967295n&t||(s=32,t>>=32n),s+h(BigInt.asUintN(32,t))}class a{constructor(t,s){if(this.m_EnvelopeType=1,void 0!==t){if(t instanceof a)return this.vmin=t.vmin,void(this.vmax=t.vmax);this.vmin=t,this.vmax=s,this.normalize()}else this.setEmpty()}static construct(t,s){return new a(t,s)}static constructEmpty(){return new a}setCoords(t,s){this.vmin=t,this.vmax=s,this.normalize()}setCoordsFromEnvelope(t){this.vmin=t.vmin,this.vmax=t.vmax}setEmpty(){this.vmin=Number.NaN,this.vmax=Number.NaN}getCenter(){return.5*(this.vmin+this.vmax)}equalsRange(t,s){return Vt(this.vmin,t)&&Vt(this.vmax,s)}equals(t,s){return!(!this.isEmpty()||!t.isEmpty())||(void 0!==s?Math.abs(this.vmin-t.vmin)<=s&&Math.abs(this.vmax-t.vmax)<=s:this.vmin===t.vmin&&this.vmax===t.vmax)}width(){return this.vmax-this.vmin}isEmpty(){return Number.isNaN(this.vmin)||Number.isNaN(this.vmax)}isZero(){return this.vmin===this.vmax}setInfinite(){this.vmin=Number.NEGATIVE_INFINITY,this.vmax=Number.POSITIVE_INFINITY}move(t){this.isEmpty()||(this.vmin+=t,this.vmax+=t)}contains(t){return t.vmin>=this.vmin&&t.vmax<=this.vmax}containsCoordinate(t){return t>=this.vmin&&t<=this.vmax}containsRightExclusive(t){return t>=this.vmin&&t<this.vmax}containsExclusiveCoordinate(t){return t>this.vmin&&t<this.vmax}containsExclusive(t){return t.vmin>this.vmin&&t.vmax<this.vmax}isIntersecting(t){return this.vmin<=t.vmin?this.vmax>=t.vmin:t.vmax>=this.vmin}mergeCoordinate(t){if(this.isEmpty())return this.vmin=t,void(this.vmax=t);this.mergeNeCoordinate(t)}merge(t){if(t.isEmpty())return;const s=t.vmin,i=t.vmax;this.mergeCoordinate(s),this.mergeCoordinate(i)}mergeNe(t){const s=t.vmin,i=t.vmax;this.mergeNeCoordinate(s),this.mergeNeCoordinate(i)}mergeNeCoordinate(t){t<this.vmin?this.vmin=t:t>this.vmax&&(this.vmax=t)}intersect(t){this.isEmpty()||t.isEmpty()?this.setEmpty():(this.vmin<t.vmin&&(this.vmin=t.vmin),this.vmax>t.vmax&&(this.vmax=t.vmax),this.vmin>this.vmax&&this.setEmpty())}inflate(t){this.isEmpty()||(this.vmin-=t,this.vmax+=t,this.vmax<this.vmin&&this.setEmpty())}normalize(){this.vmin<=this.vmax||(this.vmin>this.vmax?this.vmax=mt(this.vmin,this.vmin=this.vmax):this.setEmpty())}isValid(){return this.isEmpty()||this.vmin<=this.vmax}snapClip(t){return Ns(t,this.vmin,this.vmax)}calculateToleranceFromEnvelope(){return this.isEmpty()?ds():(Math.abs(this.vmin)+Math.abs(this.vmax)+1)*ds()}static unit(){return l}normalizeNoNAN(){this.vmin>this.vmax&&(this.vmax=mt(this.vmin,this.vmin=this.vmax))}setCoordsNoNAN(t,s){this.vmin=t,this.vmax=s,this.normalizeNoNAN()}clone(){return new a(this.vmin,this.vmax)}}const l=new a(0,1);class c{static getNAN(){return new c(Number.NaN)}constructor(t,s){this.m_value=t??0,this.m_eps=s??0}[Symbol.toPrimitive](t){return this}clone(){return new c(this.m_value,this.m_eps)}assign(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}scaleError(t){this.m_eps*=t}setError(t){this.m_eps=t}set(t,s){return this.m_value=t,this.m_eps=s??0,this}setWithEps(t,s){return void 0===s&&(s=1),this.m_value=t,this.m_eps=c.ulp(t)*s,this}setE(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}precise(){return new c(this.m_value)}value(){return this.m_value}toDouble(){return this.m_value}eps(){return this.m_eps}resetError(){return this.m_eps=0,this}absThis(){return this.m_value=Math.abs(this.m_value),this}add(t){return this.clone().addThis(t)}addE(t){return this.clone().addThisE(t)}addThisE(t){const s=this.m_value+t.m_value,i=this.m_eps+t.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}addThis(t){const s=this.m_value+t,i=this.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}subE(t){return this.clone().subThisE(t)}sub(t){return this.clone().subThis(t)}subThisE(t){const s=this.m_value-t.m_value,i=this.m_eps+t.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}subThis(t){const s=this.m_value-t,i=this.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}setAddE(t,s){return this.m_value=t.m_value+s.m_value,this.m_eps=t.m_eps+s.m_eps+c.ulp(this.m_value),this}setAdd(t,s){return this.m_value=t+s,this.m_eps=c.ulp(this.m_value),this}setAddEN(t,s){return this.m_value=t.m_value+s,this.m_eps=t.m_eps+c.ulp(this.m_value),this}setAddNE(t,s){return this.m_value=t+s.m_value,this.m_eps=s.m_eps+c.ulp(this.m_value),this}setSubE(t,s){return this.m_value=t.m_value-s.m_value,this.m_eps=t.m_eps+s.m_eps+c.ulp(this.m_value),this}setSub(t,s){return this.m_value=t-s,this.m_eps=c.ulp(this.m_value),this}setSubEN(t,s){return this.m_value=t.m_value-s,this.m_eps=t.m_eps+c.ulp(this.m_value),this}setSubNE(t,s){return this.m_value=t-s.m_value,this.m_eps=s.m_eps+c.ulp(this.m_value),this}mulThisE(t){const s=this.m_value*t.m_value;return this.m_eps=this.m_eps*Math.abs(t.m_value)+t.m_eps*Math.abs(this.m_value)+this.m_eps*t.m_eps+c.ulp(s),this.m_value=s,this}mulThis(t){const s=this.m_value*t;return this.m_eps=this.m_eps*Math.abs(t)+c.ulp(s),this.m_value=s,this}mul(t){return this.clone().mulThis(t)}mulE(t){return this.clone().mulThisE(t)}setMulE(t,s){const i=t.m_value*s.m_value;return this.m_eps=t.m_eps*Math.abs(s.m_value)+s.m_eps*Math.abs(t.m_value)+t.m_eps*s.m_eps+c.ulp(i),this.m_value=i,this}setMul(t,s){return this.m_value=t*s,this.m_eps=c.ulp(this.m_value),this}setMulEN(t,s){return this.setE(t),this.mulThis(s)}setMulNE(t,s){return this.setE(s),this.mulThis(t)}mulThisByPower2(t){return this.m_value*=t,this.m_eps*=Math.abs(t),this}static st_mulByPower2(t,s){return new c(t.m_value,t.m_eps).mulThisByPower2(s)}divE(t){return this.clone().divThisE(t)}divThisE(t){const s=Math.abs(t.m_value),i=this.m_value/t.m_value;let e=(this.m_eps+Math.abs(i)*t.m_eps)/s;if(t.m_eps>.01*s){const i=t.m_eps/s;e*=1+(1+i)*i}return this.m_value=i,this.m_eps=e+c.ulp(i),this}divThis(t){const s=Math.abs(t);return this.m_value/=t,this.m_eps=this.m_eps/s+c.ulp(this.m_value),this}setDivE(t,s){return this.setE(t),this.divThisE(s)}setDiv(t,s){return this.m_value=t/s,this.m_eps=c.ulp(this.m_value),this}setDivEN(t,s){return this.setE(t),this.divThis(s)}setDivNE(t,s){return this.set(t),this.divThisE(s)}divThisByPower2(t){return this.m_value/=t,this.m_eps/=Math.abs(t),this}invThis(){return this.setE(v.clone().divThisE(this)),this}sqrt(){return this.clone().sqrtThis()}sqrtThis(){let t,s;return this.m_value>=0?(t=Math.sqrt(this.m_value),s=this.m_value>10*this.m_eps?.5*this.m_eps/t:this.m_value>this.m_eps?t-Math.sqrt(this.m_value-this.m_eps):Math.max(t,Math.sqrt(this.m_value+this.m_eps)-t),s+=c.ulp(t)):this.m_value<-this.m_eps?(t=Number.NaN,s=Number.NaN):(t=0,s=Math.sqrt(this.m_eps)),this.m_value=t,this.m_eps=s,this}sqr(){return this.clone().sqrThis()}sqrThis(){const t=this.m_value*this.m_value;return this.m_eps=2*this.m_eps*Math.abs(this.m_value)+this.m_eps*this.m_eps+c.ulp(t),this.m_value=t,this}setSin(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=s;const e=Math.abs(s),n=Math.abs(t.value());return this.m_eps=(Math.abs(i)+.5*e*t.m_eps)*t.m_eps+c.ulp(e+n),this}static ulp(t){let s=Gt(t);const i=((0x7ff0000000000000n&s)>>52n)-1075n;return i>-1023n?(s=i+0x3ffn<<52n,function(t){return kt[0]=t,Ft[0]}(s)):0===t?0:Number.MIN_VALUE}setCos(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=i;const e=Math.abs(i),n=Math.abs(t.value());return this.m_eps=(Math.abs(s)+.5*e*t.m_eps)*t.m_eps+c.ulp(e+n),this}static st_cosAndSin(t,s,i){const e=Math.sin(t.m_value),n=Math.cos(t.m_value);i.m_value=e,s.m_value=n;const r=Math.abs(e),o=Math.abs(n),h=Math.abs(t.value());i.m_eps=(Math.abs(n)+.5*r*t.m_eps)*t.m_eps+c.ulp(r+h),s.m_eps=(Math.abs(e)+.5*o*t.m_eps)*t.m_eps+c.ulp(o+h)}negate(){return this.clone().negateThis()}negateThis(){return this.m_value=-this.m_value,this}setAbs(){return this.m_value=Math.abs(this.m_value),this}isInInterval(t){return a.construct(this.m_value-this.m_eps,this.m_value+this.m_eps).isIntersecting(t)}eq(t){return Math.abs(this.m_value-t.m_value)<=this.m_eps+t.m_eps}ne(t){return!this.eq(t)}gt(t){return this.m_value-t.m_value>this.m_eps+t.m_eps}lt(t){return t.m_value-this.m_value>this.m_eps+t.m_eps}ge(t){return!this.lt(t)}le(t){return!this.gt(t)}tolEQ(t,s){return Math.abs(this.m_value-t.m_value)<=s||this.eq(t)}tolNE(t,s){return!this.tolEQ(t,s)}tolGT(t,s){return this.m_value-t.m_value>s&&this.gt(t)}tolLT(t,s){return t.m_value-this.m_value>s&&this.lt(t)}tolGE(t,s){return!this.tolLT(t,s)}tolLE(t,s){return!this.tolGT(t,s)}isZero(){return Math.abs(this.m_value)<=this.m_eps}isFuzzyZero(){return this.isZero()&&0!==this.m_eps}tolIsZero(t){return Math.abs(this.m_value)<=Math.max(this.m_eps,t)}setPi(){this.setE(d)}setEuler(){this.set(2.718281828459045,f())}static size(){return 1}}function m(t,s){const i=Ot(t),e=Ot(s),n=53-u(i),r=53-u(e);return(n>=0?n:0)+(r>=0?r:0)<=52}function y(t,s){const i=t+s;return i-t===s&&i-s===t}function x(t,s){const i=t-s;return t-i===s&&s+i===t}function f(){return _s()}c.dimensions=1;const d=new c(Math.PI,.5*f()),b=new c(0,0),v=new c(1,0),_=new c(4,0);function w(t,s,i){return t.addE(s.subE(t).mulE(i))}function N(t,s,i){return s.subE(s.subE(t).mulE(v.subE(i)))}function p(t){let s;if(0===t)s=1;else if(Math.abs(t)>.01)s=function(t){return Math.atanh(t)}(t)/t;else{let i;const e=-36.841361487904734;s=0;const n=t*t;for(let t=2*Math.trunc(e/Math.log(n)+2.5)-1;t>1;t-=2)i=1/t,s=(s+i)*n;s+=1}return s}function M(t){const s=Math.PI*Math.PI/6;let i;if(1===t)i=s;else if(t>1)i=s;else if(0===t)i=t;else if(t<0){const s=1+(t=Math.abs(t)),e=Math.log(s);i=e*e/-2-M(t/s)}else if(t>.5){const e=1-t,n=Math.log(t)*Math.log(e);i=s-M(e)-n}else{i=0;const s=1+Math.trunc(-16*Math.log(10)/Math.log(t)+1.5);let e=s;for(let n=s;n>0;n--,e-=1)i*=t,i+=1/(e*e);i*=t}return i}function g(t,s){const i=s*t;if(Math.abs(s)<.1){let s=0;for(let t=60;t>=1;t--)s*=i,s+=1/t/t;return s*=t,s}return M(i)/s}function C(t,s){return t<s?Dt(t,s):Dt(s,t)}function T(t,s){const i=Math.abs(t);return s>=0?i:-i}function R(t){return Math.round(t)}function E(t,s,i,e,n){n[0]=s[0]+(i[0]-s[0])*e,n[1]=s[1]+(i[1]-s[1])*e,3===t&&(n[2]=s[2]+(i[2]-s[2])*e)}function I(t,s,i,e,n){n[0]=i[0]-(i[0]-s[0])*(1-e),n[1]=i[1]-(i[1]-s[1])*(1-e),3===t&&(n[2]=i[2]-(i[2]-s[2])*(1-e))}function P(t,s,i,e,n){e<=.5?E(t,s,i,e,n):I(t,s,i,e,n)}function D(t,s,i,e,n){n[0]=s[0].addE(i[0].subE(s[0]).mulE(e)),n[1]=s[1].addE(i[1].subE(s[1]).mulE(e))}function A(t,s,i,e,n){n[0]=i[0].subE(i[0].subE(s[0]).mulE(v.subE(e))),n[1]=i[1].subE(i[1].subE(s[1]).mulE(v.subE(e)))}function q(t,s,i){let e;return e=i<=.5?t+(s-t)*i:s-(s-t)*(1-i),e}function z(t,s,i){return t+(s-t)*i}function S(t,s,i){return s-(s-t)*(1-i)}function Z(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i))}function F(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i,e.z=t.z+(s.z-t.z)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i),e.z=s.z-(s.z-t.z)*(1-i))}function k(t){return t*t}function B(t){return t*t*t}function L(t){return 1/Math.sqrt(t)}function G(t){return t<0?-1:t>0?1:0}function O(t,s,i,e){const n=[0],r=[0],o=[0];return tt($(t,i,n),$(s,e,r),o)+(n[0]+r[0]+o[0])}const U=[0],Q=[0];function V(t,s,i){return function(t,s,i,e){const n=tt(t,s,J),r=tt(n,i,K);return tt(r,J[0]+K[0],e)}($(t,s,U),i,U[0],Q)}const j=[0],W=[0],Y=[0],X=[0];function $(t,s,i){const e=t*s;return H(t,j,W),H(s,Y,X),i[0]=W[0]*X[0]-(e-j[0]*Y[0]-W[0]*Y[0]-j[0]*X[0]),e}function H(t,s,i){const e=134217729*t;s[0]=e-(e-t),i[0]=t-s[0]}const J=[0],K=[0];function tt(t,s,i){const e=t+s;return Math.abs(t)>Math.abs(s)?i[0]=t-e+s:i[0]=s-e+t,e}function st(t,s){return t%s}function it(t){const s=1-t;if(0===s)return 1;let i;if(s<=.01){const t=s,e=Math.log(t);i=1+t*(.4431471805599453-.25*e+t*(.05680519270997949-.09375*e+t*(.02183137044373718-.05859375*e+t*(.011544521417308362-.042724609375*e+t*(.00714200031339596-.0336456298828125*e+t*(.004854743337164948-.027757644653320312*e+t*(.003514687963781376-.023627042770385742*e)))))))}else{if(t<.016){const s=t,i=.25,e=.046875,n=.01953125,r=.01068115234375,o=.0067291259765625,h=.004626274108886719,u=.0033752918243408203,a=.0025710230693221092;return Ts()*(1-s*(i+s*(e+s*(n+s*(r+s*(o+s*(h+s*(u+s*a))))))))}i=rt(0,s,1)-t*ot(0,s,1)/3}return Ns(i,1,Ts())}function et(t,s,i=Number.NaN){if((0,e.g)(s>=0&&s<=1),0===s)return t;let n=1,r=t;if(r<0&&(r=-r,n=-1),1===s){const t=Math.round(r/gs()),s=r-t*gs();return n*(2*t+Math.sin(s))}const o=Ts(),h=Math.floor(r/o);1&h?r=(h+1)*o-r:r-=h*o;const u=Math.sin(r),a=Number.isNaN(i)?it(s):i;let l;if(1===u)l=a+Math.sqrt(1-s)*(r-o);else{const t=r*r;if(.01424*Math.pow(t,4)<=2*_s())l=r*(1+t*s*(-1/6+t*((4-3*s)/120-(16+(45*s-60)*s)/5040*t)));else if(s<=.01){const t=Math.sin(2*r),i=Math.sin(4*r),e=Math.sin(6*r),n=Math.sin(8*r),o=Math.sin(10*r);l=r+s*((2*-r+t)/8+s*((-3*r+2*t-.25*i)/64+s*((-20*r+15*t-3*i+e/3)/1024+s*(5*(-140*r+112*t-28*i+16/3*e-.5*n)/65536+7*s*((-63*r+52.5*t-15*i+3.75*e-.625*n+.05*o)/65536+s*(-693*r+594*t-185.625*i+1.375*e-12.375*n+1.8*o-.125*Math.sin(12*r))/1048576)))))}else{const t=u*u,i=Math.cos(r),e=i*i,n=ht(u,i,s);l=u*(rt(e,n,1)-s*t*ot(e,n,1)/3)}}return 1&h?l=a*(h+1)-l:l+=a*h,n*l}function nt(t,s,i=Number.NaN){if(0===t)return 0;let e=1,n=t;t<0&&(n=-n,e=-1);const r=Number.isNaN(i)?it(s):i,o=Math.floor(n/r);1&o?n=(o+1)*r-n:n-=o*r;let h=n<=0?0:n>=r?Ts():function(t,s,i){if(0===s)return t;if(1===s)return Math.asin(t);let e=0,n=!0;if(t<.2){const i=t*t,r=t*(1+i*s*(1/6+i*((13*s-4)/120+(16-284*s+493*s*s)/5040*i))),o=Math.abs(s*(4944*s-64-31224*s*s+37369*s*s*s)/362880*Math.pow(t,9));if(o<Math.abs(r)*_s())return r;e=r,n=o>.1*r}if(n){const n=1-s,r=1-t/i,o=Math.sqrt(r*r+n*n),h=Math.atan2(n,t+_s());e=Ts()+Math.sqrt(o)*(h-Ts())}let r=0;for(let n=0;n<7;n++){r=et(e,s,i);const o=ht(Math.sin(e),Math.cos(e),s);if(e-=(r-t)/Math.sqrt(o),n>0&&Math.abs(r-t)<=4*_s()*t)break}return e}(n,s,r);return 1&o?h=Ts()*(o+1)-h:h+=Ts()*o,e*h}function rt(t,s,i){(0,e.g)((0!==t?1:0)+(0!==s?1:0)+1>1);let n=t,r=s,o=i;for(;;){const t=Math.sqrt(n*r)+Math.sqrt(r*o)+Math.sqrt(o*n);n=.25*(n+t),r=.25*(r+t),o=.25*(o+t);const s=(n+r+o)/3,i=(s-n)/s,e=(s-r)/s,h=(s-o)/s;if(Math.abs(i)<=.0024&&Math.abs(e)<=.0024&&Math.abs(h)<=.0024){const t=i*e-h*h,n=i*e*h;return(1+(1/24*t-.1-3/44*n-5*t*t/208+t*n/16)*t+(1/14+3*n/104)*n)/Math.sqrt(s)}}}function ot(t,s,i){(0,e.g)(0!==t||0!==s);let r=t,o=s,h=i;const u=new n(0);let a=1;for(;;){const t=.2*(r+o+3*h),s=(t-r)/t,i=(t-o)/t,e=(t-h)/t;if(Math.abs(s)<=.0015&&Math.abs(i)<=.0015&&Math.abs(e)<=.0015){const n=s*i,r=e*e,o=n-r,h=n-6*r,l=h+o+o,c=3/26,m=h*(9/22*.25*h-.21428571428571427-1.5*c*e*l),y=e*(1/6*l+e*(-.4090909090909091*o+e*c*n));return 3*u.getResult()+a*(1+m+y)/(t*Math.sqrt(t))}const n=Math.sqrt(r),l=Math.sqrt(o),c=Math.sqrt(h),m=n*(l+c)+l*c;u.add(a/(c*(h+m))),a*=.25,r=.25*(r+m),o=.25*(o+m),h=.25*(h+m)}}function ht(t,s,i){return t<.999?1-i*k(t):1-i+i*k(s)}function ut(t,s,i,n,r){return 0===t?0===n?s:1===n?i:r:1===t?0===n?s:1===n?i:q(s,i,n):(2===t&&(0,e.b)("angular interpolation"),void(0,e.b)(""))}function at(t,s,i,n,r,o,h,u){if(0===t)for(let t=0;t<o;++t)n[t+r]=0===h?s[t]:1===h?i[t]:u;else if(1===t)if(0===h)lt(n,s,r,0,o);else if(1===h)lt(n,i,r,0,o);else for(let t=0;t<o;++t)n[t+r]=q(s[t],i[t],h);else if(2===t)if(0===h)lt(n,s,r,0,o);else if(1===h)lt(n,i,r,0,o);else{let t=0;for(let e=0,u=r;e<o;++e,++u)n[u]=q(s[e],i[e],h),t+=n[u]*n[u];if(t>0){t=Math.sqrt(t);for(let s=r;s<r+o;++s)n[s]/=t}else{for(let t=r;t<r+o;++t)n[t]=0;n[r]=1}}else(0,e.b)("")}function lt(t,s,i,e,n){if(0===n)return;let r=0,o=i,h=e;for(;r++<n;)t[o++]=s[h++]}function ct(t,s,i){let e=0;for(let n=0;!e&&n<i;++n)e=t[n]-s[n];return e}function mt(t,s){return t}function yt(t){t.sort(((t,s)=>t<s?-1:t>s?1:0))}function xt(t,s){const i=t.slice(0,s);yt(i),lt(t,i,0,0,s)}function ft(t,s,i,e){const n=t.slice(s,s+i);n.sort(e),lt(t,n,s,0,i)}function dt(t,s){return t<s?-1:t>s?1:0}function bt(t,s,i,e){return t<i?-1:t>i?1:s<e?-1:s>e?1:0}function vt(t,s){if(t.length<2)return t.length;let i=0;for(let e=1;e<t.length;++e)s(t[e],t[i])||(i++,t[e]=mt(t[i],t[i]=t[e]));return 1+i}function _t(t,s){t[s]=t.at(-1),t.pop()}function wt(t,s=!1){return{[Symbol.dispose](){this.bForget||t()},bForget:s}}function Nt(t,s,i){t.length=s,t.fill(i)}function pt(t,s,i){t.length=i;for(let e=0;e<i;++e)t[e]=new s}function Mt(t,s){const i=new Array(s);for(let e=0;e<s;++e)i[e]=new t;return i}function gt(t,s,i){for(let e=0;e<i;++e)t[e].assign(s[e]);return i}function Ct(t,s){const i=t.slice(0,s);for(let t=0;t<s;++t)i[t]=i[t].clone();return i}function Tt(t){return Array.from({length:t},(()=>null))}function Rt(t,s){return Array.from({length:s},(()=>t()))}function Et(t,s){const i=new Array(t);return i.fill(s),i}function It(t,s){return s in t&&1===Object.getOwnPropertyNames(t).length}class Pt{constructor(...t){this.m_elts=t}get length(){return this.m_elts.length}at(t){return this.m_elts[t]}[Symbol.dispose](){for(const t of this.m_elts)t[Symbol.dispose]()}}function Dt(t,s){return{first:t,second:s}}const At=Math.PI,qt=2*Math.PI,zt=.5*Math.PI;class St{constructor(t,s){this.m_cr=t,this.m_cc=s,this.m_v=Et(t*s,0)}get(t,s){return this.m_v[t*this.m_cc+s]}set(t,s,i){this.m_v[t*this.m_cc+s]=i}inc(t,s){return++this.m_v[t*this.m_cc+s]}}const Zt=new ArrayBuffer(8),Ft=new Float64Array(Zt),kt=new BigUint64Array(Zt),Bt=0x0fffffffffffffn;function Lt(){return Number.EPSILON*fs}function Gt(t){return Ft[0]=t,kt[0]}function Ot(t){return Gt(t)&Bt}function Ut(t){return Number((9218868437227405312n&Gt(t))>>52n)}function Qt(t){if(0n===t)return-1n;if(1n===t||-1n===t)return 0n;t<0n&&(t=-t);let s=0n,i=512n,e=1n<<s+i;for(;t>=e;)s+=i,i<<=1n,e<<=i;let n=s;i>>=1n;let r=n+i;for(;i>0n;)t<1n<<r||(n=r),i>>=1n,r=n+i;return n}function Vt(t,s){return t===s||Number.isNaN(t)&&Number.isNaN(s)}function jt(t,s,i){return t===s||Math.abs(t-s)<=i||Number.isNaN(t)&&Number.isNaN(s)}function Wt(t,s){return t<s?-1:t>s?1:0}function Yt(t,s){if(t<s)return-1;if(t>s)return 1;if(t===s)return 0;{const i=Number.isNaN(t),e=Number.isNaN(s);return i<e?-1:i>e?1:0}}function Xt(){return 2147483647}function $t(){return 32767}function Ht(){return 2147483647}function Jt(){return-2147483648}const Kt=2147483647,ts=BigInt(Kt),ss=2166136261,is=16777619,es=14695981039346656037n,ns=1099511628211n;function rs(t){let s=ss;for(let i=0,e=t.length;i<e;++i)s=(s^t.charCodeAt(i))*is;return s&Kt}function os(t,s){return s+2654435769+(t<<6)+(t>>2)&Kt}function hs(t,s){return os(t,cs(s))}function us(t){return os(3735928559,t)}function as(t,s){return os(t,us(s))}function ls(t){return function(t){let s=ss,i=t;return s=(s^255&i)*is,i>>=8,s=(s^255&i)*is,i>>=8,s=(s^255&i)*is,i>>=8,s=(s^255&i)*is,s&Kt}(t)}function cs(t){return Number(function(t){let s=es,i=t;return s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,s&ts}(t))}function ms(t){return cs(Gt(function(t){return Is(t)}(t)))}function ys(t){return function(t){return 1103515245*t+12345&2147483647}(t)}const xs=100,fs=100;function ds(){return Number.EPSILON*xs}function bs(){return.38196601125010515}function vs(){return 1.4142135623730951}function _s(){return Number.EPSILON}function ws(t,s,i){return t===s||t===i}function Ns(t,s,i){return t>=s?t<=i?t:i:s}function ps(t,s,i){const e=t[0];if(e>=s){if(e<=i)return!1;t[0]=i}else t[0]=s;return!0}function Ms(t,s){return t>=s?s:t<-s?-s:t}function gs(){return At}function Cs(){return qt}function Ts(){return zt}const Rs=3*Ts();function Es(){return Rs}function Is(t){return t+0}function Ps(t){return{v:t}}class Ds{constructor(){this.m_rn=Ps(0n),this.m_rd=Ps(1n),this.m_bNaN=!1,this.m_bNormalized=!1,this.m_power=0,this.m_sign=0}static constructAssign(t,s){const i=t.clone();return void 0!==s&&i.limitPrecisionThis(s),i}static constructDouble(t){return(new Ds).setDouble(t)}static constructInt64(t){return(new Ds).setInt64(t)}static constructRational(t,s){return(new Ds).setRational(t,s)}static constructInt32(t){return this.constructInt64(BigInt(Math.trunc(t)))}[Symbol.toPrimitive](t){return this}compare(t){return this.lt(t)?-1:this.gt(t)?1:0}assignCopy(t){return this.setThis(t)}abs(){return this.clone().absThis()}absThis(){return this.isNAN()||(this.m_sign*=this.m_sign),this}clone(){return(new Ds).setThis(this)}setThis(t){return this.m_bNaN=t.m_bNaN,this.m_bNormalized=t.m_bNormalized,this.m_rn.v=t.m_rn.v,this.m_rd.v=t.m_rd.v,this.m_power=t.m_power,this.m_sign=t.m_sign,this}setZero(){return this.m_rn.v=0n,this.m_rd.v=1n,this.m_bNaN=!1,this.m_power=0,this.m_bNormalized=!0,this.m_sign=0,this}setDouble(t){if(this.setZero(),0===t)return this;if(Number.isInteger(t)&&Math.abs(t)<2147483647)return this.setInt32(t);const s=Gt(t),i=(s&Ds.s_em)>>52n,n=!!(s&Ds.s_sm),r=s&Ds.s_fm;if(i===Ds.s_emax)return r?(this.m_rn.v=this.m_rd.v=0n,this.m_bNaN=!0,this):(this.m_rn.v=n?-1n:1n,this.m_rd.v=0n,this);0n===i&&(0,e.b)("denormalized numbers not yet implemented");const o=i-1023n,h=o>=0n?o:0n,u=o<0n?-o:0n;return this.m_rn.v=(1n<<52n|r)<<h,this.m_rd.v=1n<<52n+u,this.m_sign=n?-1:1,this.m_bNormalized=!1,this.normalizeThis()}setInt64(t){return 0n===t?this.setZero():(this.m_bNaN=!1,this.m_sign=t>0n?1:-1,this.m_rn.v=t>0n?t:-t,this.m_rd.v=1n,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setRational(t,s){return 0n===t?0n===s?this.setNAN():this.setZero():0n===s?t>0n?this.setPositiveInf():this.setNegativeInf():(this.m_sign=(t>0n?1:-1)*(s>0n?1:-1),this.m_rn.v=t>0n?t:-t,this.m_rd.v=s>0n?s:-s,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setInt32(t){return this.setInt64(BigInt(Math.trunc(t)))}getDouble(){return this.convertToDouble()}toDouble(){return this.convertToDouble()}value(){return this.convertToDouble()}isNAN(){return this.m_bNaN}isPositiveInf(){return!this.isNAN()&&0n===this.m_rd.v&&1===this.m_sign}isNegativeInf(){return!this.isNAN()&&0n===this.m_rd.v&&-1===this.m_sign}isFinite(){return!this.isNAN()&&0n!==this.m_rd.v}setNAN(){return this.m_bNaN=!0,this.m_rn.v=0n,this.m_rd.v=0n,this.m_power=0,this.m_bNormalized=!0,this}setPositiveInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=1,this.m_power=0,this}setNegativeInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=-1,this.m_power=0,this}subThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())this.setNAN();else{if(this.isPositiveInf()&&t.isNegativeInf())return this.setPositiveInf(),this;if(this.isNegativeInf()&&t.isNegativeInf())this.setNAN();else if(this.isNegativeInf()&&t.isPositiveInf())return this.setNegativeInf(),this}return this.isNAN()?this:this.opPlusMinus(t,!1)}thisSubAbs(t){return(0,e.g)(0),this}mulThis(t){return t.isNAN()&&this.setNAN(),this.isNAN()?this:(this.m_sign*=t.m_sign,0===this.m_sign?this.setZero():(this.m_rn.v*=t.m_rn.v,this.m_rd.v*=t.m_rd.v,this.m_power+=t.m_power,this.m_bNormalized=!1,this.normalizeThis(),this))}mulDoubleThis(t){return this.mulThis(Ds.constructDouble(t))}thisMulInt64(t){return(0,e.g)(0),this}thisMulInt32(t){return(0,e.g)(0),this}divThis(t){return this.mulThis(t.clone().invertThis())}divDoubleThis(t){return this.divThis(Ds.constructDouble(t))}addDoubleThis(t){return this.addThis(Ds.constructDouble(t))}subDoubleThis(t){return this.subThis(Ds.constructDouble(t))}mul(t){return this.clone().mulThis(t)}mulBigIntThis(t){return this.mulThis(Ds.constructInt64(t))}mulDouble(t){return this.clone().mulThis(Ds.constructDouble(t))}div(t){return this.clone().divThis(t)}divDouble(t){return this.clone().divDoubleThis(t)}add(t){return this.clone().addThis(t)}fmSubThis(t,s){return this.subThis(t.clone().mulThis(s))}fmAddThis(t,s){return this.addThis(t.clone().mulThis(s))}addThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())return this.setPositiveInf(),this;if(this.isPositiveInf()&&t.isNegativeInf())this.setNAN();else{if(this.isNegativeInf()&&t.isNegativeInf())return this.setNegativeInf(),this;this.isNegativeInf()&&t.isPositiveInf()&&this.setNAN()}return this.isNAN()?this:this.opPlusMinus(t,!0)}addDouble(t){return this.clone().addThis(Ds.constructDouble(t))}sub(t){return this.clone().subThis(t)}subDouble(t){return this.clone().subThis(Ds.constructDouble(t))}isZero(){return 0===this.m_sign}equals(t){return this.clone().subThis(t).isZero()}lt(t){return!this.isNAN()&&!t.isNAN()&&!(this.isPositiveInf()&&t.isPositiveInf()||this.isNegativeInf()&&t.isNegativeInf())&&!this.isPositiveInf()&&(!!t.isPositiveInf()||this.clone().sub(t).LZ())}absLessAbs(t){return this.abs().lt(t.abs())}gt(t){return this.clone().sub(t).GZ()}lte(t){return this.sub(t).LEZ()}gte(t){return this.sub(t).GEZ()}normalizeThis(){if(this.m_bNormalized)return this;if(0n===this.m_rn.v)return this.setZero();let t=0,s=0xffffffffn;for(;0n===(this.m_rn.v&s)&&s<=this.m_rn.v;)s<<=32n,t+=32;s&=this.m_rn.v,s>>=BigInt(t),t+=h(BigInt.asUintN(32,s))-1;let i=0;for(s=0xffffffffn;0n===(this.m_rd.v&s)&&s<=this.m_rd.v;)s<<=32n,i+=32;return s&=this.m_rd.v,s>>=BigInt(i),i+=h(BigInt.asUintN(32,s))-1,this.m_rn.v>>=BigInt(t),this.m_rd.v>>=BigInt(i),this.m_power+=t-i,this.m_rn.v>1n&&this.m_rd.v>1n&&(this.m_rn.v%this.m_rd.v===0n?(this.m_rn.v/=this.m_rd.v,this.m_rd.v=1n):this.m_rd.v%this.m_rn.v===0n&&(this.m_rd.v/=this.m_rn.v,this.m_rn.v=1n)),this.m_bNormalized=!0,this}negateThis(){return this.isNAN()||(this.m_sign*=-1),this}negate(){return this.clone().negateThis()}invertThis(){return this.isNAN()?this:this.isPositiveInf()||this.isNegativeInf()?(this.setZero(),this):0n===this.m_rn.v?(this.setPositiveInf(),this):(this.m_rd=mt(this.m_rn,this.m_rn=this.m_rd),this.m_power=-this.m_power,this)}limitPrecisionThis(t){if(0===t)return this;if(this.isZero())return this.setZero();if(!this.isFinite())return this;this.normalizeThis();let s=Number(Qt(this.m_rn.v));if(s>t){const i=s-t;this.m_rn.v>>=BigInt(s-t),this.m_power+=i}if(s=Number(Qt(this.m_rd.v)),s>t){const i=s-t;this.m_rd.v>>=BigInt(s-t),this.m_power-=i}return this}hiBitIndex(){return Math.max(Number(Qt(this.m_rn.v)),Number(Qt(this.m_rd.v)))}ldexp(t){return this.clone().ldexpThis(t)}ldexpThis(t){return t&&(this.m_bNormalized=!1,this.m_power+=t,this.normalizeThis()),this}LZ(){return!this.isNAN()&&-1===this.m_sign}GZ(){return!this.isNAN()&&1===this.m_sign}LEZ(){return!this.isNAN()&&this.m_sign<=0}GEZ(){return!this.isNAN()&&this.m_sign>=0}toString(){return this.toDouble().toString()}sqr(){return this.clone().sqrThis()}sqrThis(){return this.mulThis(this.clone())}static sqrt(t,s){if(t.m_sign<0n&&(0,e.n)("MP_value: sqrt(-1)"),t.isZero())return t.clone();let i=52,n=2220446049250313e-31;for(;i<s;)2*i<=s?(n*=n,i*=2):(n*=2220446049250313e-31,i+=52);i+=52;const r=Qt(t.m_rn.v),o=Qt(t.m_rd.v);let h,u=t.m_power+Number(r-o);const a=new Ds;Math.abs(u)>200?(1&Math.abs(u)&&(u+=1),h=Ds.constructAssign(t,53).ldexpThis(-u).value(),a.setThis(t).ldexpThis(-u),(0,e.g)(Number.isFinite(h))):(a.setThis(t),h=a.value(),(0,e.g)(Number.isFinite(h)),u=0),h=Math.sqrt(h);const l=Ds.constructDouble(h),c=Ds.constructDouble(n);c.mulThis(l).ldexpThis(1);const m=n*h*2,y=l.clone(),x=new Ds;let f;for(let t=0;t<10;++t){y.mulThis(l),x.setThis(a).subThis(y).absThis();let t=x.value();if(f=1,t<.9)for(;t>m;)t*=t,++f;else f=4;if(x.lte(c))break;for(let t=0;t<f;t++)y.setThis(l).divThis(a).invertThis().addThis(l).ldexpThis(-1).limitPrecisionThis(i),l.setThis(y)}return l.ldexpThis(u/2)}static cubicRoot(t,s){if(t.isZero())return t.clone();let i=52,e=2220446049250313e-31;for(;i<s;)2*i<=s?(e*=e,i*=2):(e*=2220446049250313e-31,i+=52);i+=52;const n=Math.pow(Math.abs(t.value()),1/3),r=Ds.constructDouble(n),o=r.clone();o.sqrThis().mulDoubleThis(3).mulDoubleThis(e),o.limitPrecisionThis(32),t.LZ()&&r.negateThis();for(let s=0;s<10;++s){const s=r.clone();s.sqrThis().mulThis(r);const e=s.clone();if(e.subThis(t),e.absThis().limitPrecisionThis(32),e.lte(o))break;e.setThis(t),e.ldexpThis(1),e.addThis(s);const n=s.clone();n.ldexpThis(1),n.addThis(t),e.divThis(n),r.mulThis(e),r.limitPrecisionThis(i)}return r}isInTheRangeOfDouble(){return(0,e.g)(0),!1}sign(){return this.m_sign}cosAndSin(t,s){(0,e.g)(0)}static nan(){return(0,e.g)(0),new Ds}convertToDouble(){if(this.m_bNaN)return Number.NaN;if(this.isZero())return 0;if(0n===this.m_rd.v)return 1===this.m_sign?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;const t=-1===this.m_sign,s=this.m_rn.v<<(this.m_power>=0?BigInt(this.m_power):0n);let i=this.m_rd.v<<(this.m_power<0?BigInt(-this.m_power):0n);const e=s/i;let n=Number(e);if(BigInt(n)!==e)return t?-n:n;let r=s-e*i;if(r){let t=Qt(i)-1023n;t>0n&&(i>>=t,r<<=52n,r>>=t);let s=Number(r);Number.isFinite(s)||(r>>=52n,s=Number(r),t=0n),t>0n&&(s/=Math.pow(2,52)),n+=s/Number(i)}return t?-n:n}signVal(){return 1===this.m_sign?1n:-1===this.m_sign?-1n:0n}opPlusMinus(t,s){const i=Math.min(this.m_power,t.m_power);let e,n;this.m_power>i?(e=BigInt(this.m_power-i),n=0n):(e=0n,n=BigInt(t.m_power-i));const r=this.signVal()*this.m_rn.v*t.m_rd.v<<e,o=t.signVal()*t.m_rn.v*this.m_rd.v<<n;return this.m_rn.v=s?r+o:r-o,this.m_rd.v*=t.m_rd.v,this.m_power=i,this.m_sign=1,this.m_rn.v<0n&&(this.m_sign=-1,this.m_rn.v=-this.m_rn.v),this.m_bNormalized=!1,this.normalizeThis(),this}}Ds.s_sm=0x8000000000000000n,Ds.s_em=0x7ff0000000000000n,Ds.s_fm=0x000fffffffffffffn,Ds.s_emax=0x7ffn;const As=Ds.constructInt32(1),qs=Ds.constructInt32(0);function zs(t,s){let i=Ut(t);const e=Ut(s);return i===e?(i-=53-function(t,s){return function(t){let s=0;return 0xffffffff00000000n&t&&(s=32,t>>=32n),s+function(t){let s=0;return 4294901760n&t&&(s+=16,t>>=16n),65280n&t&&(s+=8,t>>=8n),240n&t&&(s+=4,t>>=4n),s+o[Number(BigInt.asUintN(4,t))]+1}(t)}(t^s)}(Ot(t),Ot(s)),i):i>e?i:e}function Ss(t,s){for(let i=0,e=0,n=t.length;i<n;i+=2,e++)s[e].x=t[i],s[e].y=t[i+1]}function Zs(t){const s=new Float64Array(2*t.length);for(let i=0,e=t.length;i<e;++i){const e=i<<1;s[e]=t[i].x,s[e+1]=t[i].y}return s}function Fs(t){const s=Mt(ks,t.length);for(let i=0,e=t.length;i<e;++i)s[i].setCoords(t[i][0],t[i][1]);return s}class ks{static construct(t,s){return new ks(t,s)}constructor(t,s){void 0!==t?(this.x=t,this.y=s):this.x=this.y=Number.NaN}clone(){return new ks(this.x,this.y)}assign(t){this.setCoordsPoint2D(t)}setCoords(t,s){return this.x=t,this.y=s,this}setCoordsPoint2D(t){this.x=t.x,this.y=t.y}isEqualPoint2D(t,s){return void 0!==s?Math.abs(this.x-t.x)<=s&&Math.abs(this.y-t.y)<=s:this.x===t.x&&this.y===t.y}isEqual(t,s,i){return void 0!==i?Math.abs(this.x-t)<=i&&Math.abs(this.y-s)<=i:this.x===t&&this.y===s}equalsPoint2D(t,s){return this.isEqualPoint2D(t,s)}setSub(t,s){this.x=t.x-s.x,this.y=t.y-s.y}addThis(t){return this.x+=t.x,this.y+=t.y,this}setAdd(t,s){return this.x=t.x+s.x,this.y=t.y+s.y,this}absoluteOther(t){}absolute(){return(0,e.g)(0),this}setNegate(){this.x=-this.x,this.y=-this.y}setNegateOther(t){this.x=-t.x,this.y=-t.y}interpolateThis(t,s){}interpolate(t,s,i){(0,e.g)(0)}scaleAddThis(t,s){this.x=this.x*t+s.x,this.y=this.y*t+s.y}setScaleAdd(t,s,i){this.x=s.x*t+i.x,this.y=s.y*t+i.y}scaleOther(t,s){(0,e.g)(0)}scale(t){this.x*=t,this.y*=t}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:0}compareX(t){return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0}normalizeOther(t){(0,e.g)(0)}normalize(){const t=this.length();return t?(this.x/=t,this.y/=t):(this.x=1,this.y=0),this}getUnitVector(){return this.clone().normalize()}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}sqrLength(){return this.x*this.x+this.y*this.y}static averageFast(t,s){return(0,e.g)(0),{}}static average(t,s){const i=new ks;if(0===s)return i.setNAN(),i;if(1===s)return i.assign(t[0]),i;const e=new n(t[0].x),r=new n(t[0].y);for(let i=1;i<s;i++)e.add(t[i].x),r.add(t[i].y),255&i||(e.normalize(),r.normalize());return i.x=e.getResult()/s,i.y=r.getResult()/s,i}static calculateLength(t,s){const i=new n(0);for(let e=1;e<s;e++)i.add(ks.distance(t[e],t[e-1]));return i.getResult()}offset(t,s){const i=ks.distance(t,s),e=ks.construct(this.x,this.y);if(0===i)return ks.distance(e,t);const n=s.clone();return n.subThis(t),e.subThis(t),e.crossProduct(n)/i}side(t,s){return t.equals(s)?this.equals(t)?0:1:ks.orientationRobust(s,t,this)}static sqrDistance(t,s){const i=t.x-s.x,e=t.y-s.y;return i*i+e*e}static sqrDistanceCoords(t,s,i,e){const n=i-t,r=e-s;return n*n+r*r}static distance(t,s){return Math.sqrt(ks.sqrDistance(t,s))}dotProduct(t){return this.x*t.x+this.y*t.y}dotProductAbs(t){return Math.abs(this.x*t.x)+Math.abs(this.y*t.y)}crossProduct(t){return this.x*t.y-this.y*t.x}crossProductAbs(t){return(0,e.g)(0),0}rotateDirect(t,s){const i=this.x*t-this.y*s,e=this.x*s+this.y*t;this.x=i,this.y=e}rotateReverse(t,s){const i=this.x*t+this.y*s,e=-this.x*s+this.y*t;this.x=i,this.y=e}leftPerpendicularThis(){const t=this.x;this.x=-this.y,this.y=t}leftPerpendicularOther(t){const s=t.x;this.x=-t.y,this.y=s}rightPerpendicularThis(){const t=this.x;this.x=this.y,this.y=-t}rightPerpendicularOther(t){const s=t.x;this.x=t.y,this.y=-s}equals(t){return this.x===t.x&&this.y===t.y}notequals(t){return this.x!==t.x||this.y!==t.y}not(){return!this.x&&!this.y}gt(t){return this.y>t.y||this.y===t.y&&this.x>t.x}gte(t){return!this.lt(t)}lt(t){return this.y<t.y||this.y===t.y&&this.x<t.x}lte(t){return!this.gt(t)}subThis(t){return this.x-=t.x,this.y-=t.y,this}divThis(t){return this.x/=t,this.y/=t,this}add(t){return new ks(this.x+t.x,this.y+t.y)}sub(t){return new ks(this.x-t.x,this.y-t.y)}negateThis(){return this.x=-this.x,this.y=-this.y,this}negate(){return new ks(-this.x,-this.y)}mul(t){return new ks(this.x*t,this.y*t)}mulThis(t){return this.x*=t,this.y*=t,this}divide(t){return new ks(this.x/t,this.y/t)}setNAN(){this.x=this.y=Number.NaN}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)}static getNAN(){return new ks(Number.NaN,Number.NaN)}isFinite(){return Number.isFinite(this.x)&&Number.isFinite(this.y)}isZero(){return 0===this.x&&0===this.y}norm(t){switch(t){case 0:{const t=Math.abs(this.x),s=Math.abs(this.y),i=t-s;return i>=0?t:i<=0?s:Number.NaN}case 1:return Math.abs(this.x)+Math.abs(this.y);case 2:return Math.sqrt(this.x*this.x+this.y*this.y);default:(0,e.t)("norm")}}getQuarter(){return ks.getQuarterCoords(this.x,this.y)}static getQuarterCoords(t,s){return t>0?s>=0?1:4:s>0?2:0===t?4:3}static compareVectors(t,s){const i=t.getQuarter(),e=s.getQuarter();return e===i?ks.orientationRobustImpl(ks.construct(0,0),s,t,!0):i<e?-1:1}static compareVectorsOrigin(t,s,i){const e=s.sub(t),n=i.sub(t),r=e.getQuarter(),o=n.getQuarter();return o===r?ks.orientationRobustImpl(t,i,s,!0):r<o?-1:1}static orientationRobust(t,s,i){return ks.orientationRobustImpl(t,s,i,!1)}static orientationRobustEx(t,s,i,e){if(t.equals(s)||i.equals(e))return 0;const n=s.x-t.x,r=s.y-t.y,o=e.x-i.x,h=e.y-i.y;{const t=ks.getQuarterCoords(n,r)-1,s=ks.getQuarterCoords(o,h)-1,i=ks.d[t][s];if(0!==i)return i}const u=n*h,a=r*o,l=4*_s()*(Math.abs(u)+Math.abs(a)),c=u-a;return Math.abs(c)>=l?c<0?-1:c>0?1:0:ks.orientationRobustExMp(t,s,i,e)}static orientationRobustExMp(t,s,i,e){const n=Ds.constructDouble(s.x),r=Ds.constructDouble(e.x);n.subThis(Ds.constructDouble(t.x)),r.subThis(Ds.constructDouble(i.x));const o=Ds.constructDouble(s.y),h=Ds.constructDouble(e.y);return o.subThis(Ds.constructDouble(t.y)),h.subThis(Ds.constructDouble(i.y)),n.mulThis(h),o.mulThis(r),n.subThis(o),n.LZ()?-1:n.GZ()?1:0}static orientationNonRobust(t,s,i){const e=s.sub(t).crossProduct(i.sub(t));return e<0?-1:e>0?1:0}static orientationRobustImpl(t,s,i,e){if(s.isEqualPoint2D(t)||i.isEqualPoint2D(t)||s.isEqualPoint2D(i))return 0;const n=s.x-t.x,r=s.y-t.y,o=i.x-t.x,h=i.y-t.y;if(!e){const t=ks.getQuarterCoords(n,r)-1,s=ks.getQuarterCoords(o,h)-1,i=ks.d[t][s];if(0!==i)return i}const u=(Math.abs(n)+Math.abs(r)+Math.abs(o)+Math.abs(h))*(Math.abs(s.x)+Math.abs(s.y)+Math.abs(i.x)+Math.abs(i.y))*8*f(),a=n*h-r*o;if(Math.abs(a)>u)return a<0?-1:1;if(x(s.x,t.x)&&x(i.y,t.y)&&x(s.y,t.y)&&x(i.x,t.x)&&m(n,h)&&m(r,o)){const t=n*h,s=r*o;if(x(t,s)){const i=t-s;return i<0?-1:i>0?1:0}}return ks.orientationRobustMp(t,s,i)}static orientationRobustMp(t,s,i){const e=Ds.constructDouble(s.x),n=Ds.constructDouble(i.x);{const s=Ds.constructDouble(t.x);e.subThis(s),n.subThis(s)}const r=Ds.constructDouble(i.y),o=Ds.constructDouble(s.y);{const s=Ds.constructDouble(t.y);r.subThis(s),o.subThis(s)}return e.mulThis(r),o.mulThis(n),e.subThis(o),e.LZ()?-1:e.GZ()?1:0}static inCircleRobust(t,s,i,e){const n=new c,r=new c;n.set(t.x),n.subThis(e.x),r.set(t.y),r.subThis(e.y);const o=new c,h=new c;o.set(s.x),o.subThis(e.x),h.set(s.y),h.subThis(e.y);const u=new c,a=new c;u.set(i.x),u.subThis(e.x),a.set(i.y),a.subThis(e.y);const l=n.mulE(h).subE(r.mulE(o)),m=o.mulE(a).subE(h.mulE(u)),y=n.mulE(a).subE(r.mulE(u)),x=n.mulE(n).addE(r.mulE(r)),f=o.mulE(o).addE(h.mulE(h)),d=u.mulE(u).addE(a.mulE(a)),b=x.mulE(m).subE(f.mulE(y)).addE(d.mulE(l));if(!b.isFuzzyZero()){const t=b.value();return t<0?-1:t>0?1:0}return ks.inCircleRobustMp(t,s,i,e)}static inCircleRobustMp(t,s,i,e){do{if(!x(t.x,e.x)||!x(t.y,e.y))break;if(!x(s.x,e.x)||!x(s.y,e.y))break;if(!x(i.x,e.x)||!x(i.y,e.y))break;const n=t.x-e.x,r=t.y-e.y,o=s.x-e.x,h=s.y-e.y,u=i.x-e.x,a=i.y-e.y;if(!m(n,h)||!m(r,o))break;if(!m(o,a)||!m(h,u))break;if(!m(n,a)||!m(r,u))break;if(!m(n,n)||!m(r,r))break;if(!m(o,o)||!m(h,h))break;if(!m(u,u)||!m(a,a))break;const l=n*h,c=r*o,f=o*a,d=h*u,b=n*a,v=r*u,_=n*n,w=r*r,N=o*o,p=h*h,M=u*u,g=a*a;if(!x(l,c))break;if(!x(f,d))break;if(!x(b,v))break;if(!y(_,w))break;if(!y(N,p))break;if(!y(M,g))break;const C=l-c,T=f-d,R=b-v,E=_+w,I=N+p,P=M+g;if(!m(E,T))break;if(!m(I,R))break;if(!m(P,C))break;const D=E*T,A=I*R,q=P*C;if(!x(D,A))break;const z=D-A;if(!y(z,q))break;const S=z+q;return S<0?-1:S>0?1:0}while(0);const n=Ds.constructDouble(e.x),r=Ds.constructDouble(e.y),o=Ds.constructDouble(t.x),h=Ds.constructDouble(t.y);o.subThis(n),h.subThis(r);const u=Ds.constructDouble(s.x),a=Ds.constructDouble(s.y);u.subThis(n),a.subThis(r);const l=Ds.constructDouble(i.x),c=Ds.constructDouble(i.y);l.subThis(n),c.subThis(r);const f=o.mul(a).sub(h.mul(u)),d=u.mul(c).sub(a.mul(l)),b=o.mul(c).sub(h.mul(l)),v=o.mul(o).add(h.mul(h)),_=u.mul(u).add(a.mul(a)),w=l.mul(l).add(c.mul(c)),N=v.mul(d).sub(_.mul(b)).add(w.mul(f));return N.LZ()?-1:N.GZ()?1:0}static inCircleRobustMp3Point(t,s,i){const e=Ds.constructDouble(t.x),n=Ds.constructDouble(t.y),r=Ds.constructDouble(s.x),o=Ds.constructDouble(s.y),h=Ds.constructDouble(i.x),u=Ds.constructDouble(i.y),a=h.mul(h).add(u.mul(u)).sub(h.mul(e).add(u.mul(n)).add(h.mul(r)).add(u.mul(o))).add(e.mul(r).add(n.mul(o)));return a.LZ()?-1:a.GZ()?1:0}static inCircleRobust3Point(t,s,i){const e=new c(t.x),n=new c(t.y),r=new c(s.x),o=new c(s.y),h=new c(i.x),u=new c(i.y),a=h.mulE(h).addE(u.mulE(u)).subE(h.mulE(e).addE(u.mulE(n)).addE(h.mulE(r)).addE(u.mulE(o))).addE(e.mulE(r).addE(n.mulE(o)));if(!a.isFuzzyZero()){const t=a.value();return t<0?-1:t>0?1:0}return ks.inCircleRobustMp3Point(t,s,i)}static calculateCircleCenterFromThreePoints(t,s,i){if(t.equals(i)||t.equals(s)||i.equals(s))return ks.getNAN();const e=function(t,s,i){const e=new c(s.x);e.subThis(t.x);const n=new c(s.y);n.subThis(t.y);const r=new c(i.x);r.subThis(t.x);const o=new c(i.y);o.subThis(t.y);const h=e.clone();h.mulThisE(o);let u=n.clone();if(u.mulThisE(r),h.subThisE(u),0===h.value())return ks.getNAN();h.mulThis(2);const a=e.clone();a.mulThisE(e);const l=n.clone();l.mulThisE(n);const m=a.clone();m.addThisE(l);const y=r.clone();y.mulThisE(r);const x=o.clone();x.mulThisE(o);const f=y.clone();f.addThisE(x);const d=n.clone();d.mulThisE(f),u=o.clone(),u.mulThisE(m),d.subThisE(u),d.divThisE(h);const b=e.clone();b.mulThisE(f),u=r.clone(),u.mulThisE(m),b.subThisE(u),b.divThisE(h);const v=ks.construct(t.x-d.value(),t.y+b.value()),_=t.sub(v).length(),w=s.sub(v).length(),N=i.sub(v).length(),p=1e-15*(_+Math.abs(t.x)+Math.abs(s.x)+Math.abs(i.x)+Math.abs(t.y)+Math.abs(s.y)+Math.abs(i.y));return Math.abs(_-w)<=p&&Math.abs(_-N)<=p&&d.eps()<p&&b.eps()<p?v:ks.getNAN()}(t,s,i);return e.isNAN()?function(t,s,i){const e=Ds.constructDouble(s.x);e.subDoubleThis(t.x);const n=Ds.constructDouble(s.y);n.subDoubleThis(t.y);const r=Ds.constructDouble(i.x);r.subDoubleThis(t.x);const o=Ds.constructDouble(i.y);o.subDoubleThis(t.y);const h=e.clone();h.mulThis(o);let u=n.clone();if(u.mulThis(r),h.subThis(u),h.isZero())return ks.getNAN();h.mulDoubleThis(2);const a=e.clone();a.mulThis(e);const l=n.clone();l.mulThis(n);const c=a.clone();c.addThis(l);const m=r.clone();m.mulThis(r);const y=o.clone();y.mulThis(o);const x=m.clone();x.addThis(y);const f=n.clone();f.mulThis(x),u=o.clone(),u.mulThis(c),f.subThis(u),f.divThis(h);const d=e.clone();return d.mulThis(x),u=r.clone(),u.mulThis(c),d.subThis(u),d.divThis(h),ks.construct(t.x-f.value(),t.y+d.value())}(t,s,i):e}static calculateAngle(t,s){return Math.atan2(t.crossProduct(s),t.dotProduct(s))}static isBisectorRobust(t,s,i){return(0,e.g)(0),!1}static size(){return 2}get 0(){return this.x}get 1(){return this.y}set 0(t){this.x=t}set 1(t){this.y=t}static compareZorder(t,s){const i=ks.c_compare_zorder_xx[t.x<0?1:0]|ks.c_compare_zorder_yy[t.y<0?1:0],e=ks.c_compare_zorder_xx[s.x<0?1:0]|ks.c_compare_zorder_yy[s.y<0?1:0];if(i===e){let i=0,e=0;for(let n=0;n<2;++n){const r=zs(t[n],s[n]);r>i&&(i=r,e=n)}return t[e]<s[e]}return i<e}static lerp(t,s,i){const e=new ks;return Z(t,s,i,e),e}static getClosestCoordinate(t,s,i,e=!1){const n=ks.getNAN();n.setSub(s,t);const r=n.sqrLength();if(0===r)return.5;if(s.isEqualPoint2D(i))return 1;const o=ks.getNAN();o.setSub(i,t);let h=o.dotProduct(n)/r;return e||(h<0?h=0:h>1&&(h=1)),h}static intersectLinesAtOnePoint(t,s,i,e){if(t.equals(s)||i.equals(e))return ks.getNAN();const n=s.x-t.x,r=i.x-e.x,o=s.y-t.y,h=i.y-e.y,u=n*h-r*o;if(!u)return ks.getNAN();const a=u;if(0===a)return ks.getNAN();let l=(i.x-t.x)*h-(i.y-t.y)*r;l/=a;const c=new ks;return Z(t,s,l,c),c.isFinite()?c:ks.getNAN()}toString(){return`[${this.x},${this.y}]`}}ks.dimensions=2,ks.d=[[0,1,0,-1],[-1,0,1,0],[0,-1,0,1],[1,0,-1,0]],ks.c_compare_zorder_xx=[2,0],ks.c_compare_zorder_yy=[1,0]}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1878],{11878:(t,s,i)=>{i.d(s,{T:()=>h});var e=i(55537),n=i(83661);class r{constructor(t,s,i){if(t instanceof r)return this.data=t.data,this.N=t.N,this.M=t.M,t.data=null,t.N=0,void(t.M=0);this.data=t,this.N=s,this.M=i}assignCopy(t){return this===t||((0,e.g)(this.N*this.M==t.N*t.M),this.data.set(t.data),this.N=t.N,this.M=t.M),this}setZero(){return this.data?.fill(0),this}setIdentity(){for(let t=0;t<this.N;t++)for(let s=0;s<this.M;s++)this.setRowCol(t,s,t===s?1:0);return this}rows(){return this.N}cols(){return this.M}row(t){return(0,e.g)(0),{}}set(t,s){return this.data[t]=s,this}setRowCol(t,s,i){return this.data[t*this.M+s]=i,this}at(t){return this.data[t]}atRowCol(t,s){return this.data[t*this.M+s]}mulScalar(t,s){(0,e.g)(0)}mul(t,s){if((0,e.g)(this.M===t.rows()),(0,e.g)(this.N===s.rows()),(0,e.g)(t.cols()===s.cols()),s===this){const i=new Float64Array(this.N*this.M),e=new r(i,this.N,this.M);return this.mul(t,e),void s.assignCopy(e)}if(s===t){const i=new Float64Array(t.N*t.M),e=new r(i,t.N,t.M);return this.mul(t,e),void s.assignCopy(e)}const i=t.cols();for(let e=0;e<this.N;e++)for(let n=0;n<i;n++){let i=0;for(let s=0;s<this.M;s++)i+=this.atRowCol(e,s)*t.atRowCol(s,n);s.setRowCol(e,n,i)}}mulTranspose(t,s){if((0,e.g)(this.M===t.cols()),(0,e.g)(this.N===s.rows()),(0,e.g)(t.rows()===s.cols()),s===this){const i=new Float64Array(this.N*this.M),e=new r(i,this.N,this.M);return this.mulTranspose(t,e),void s.assignCopy(e)}if(s===t){const i=new Float64Array(t.N*t.M),e=new r(i,t.N,t.M);return this.mulTranspose(t,e),void s.assignCopy(e)}const i=t.rows();for(let e=0;e<this.N;e++)for(let n=0;n<i;n++){let i=0;for(let s=0;s<this.M;s++)i+=this.atRowCol(e,s)*t.atRowCol(n,s);s.setRowCol(e,n,i)}}mulLeft(t,s){(0,e.g)(0)}mulLeftTranspose(t,s){(0,e.g)(0)}mulDiag(t,s){if((0,e.g)(this.M===t.N*t.M),(0,e.g)(this.N===s.rows()),(0,e.g)(this.M===s.cols()),s===this){const i=new Float64Array(this.N*this.M),e=new r(i,this.N,this.M);return this.mulDiag(t,e),void s.assignCopy(e)}const i=this.M;for(let e=0;e<this.N;e++)for(let n=0;n<i;n++)s.setRowCol(e,n,this.atRowCol(e,n)*t.at(n))}transposeInPlace(){if(this.N===this.M){for(let t=0;t<this.N;t++)for(let s=t+1;s<this.M;s++){const i=this.atRowCol(t,s);this.setRowCol(t,s,this.atRowCol(s,t)),this.setRowCol(s,t,i)}return this}const t=new Float64Array(this.N*this.M),s=new r(t,this.N,this.M);return s.assignCopy(this),this.M=(0,n.b)(this.N,this.N=this.M),s.transpose(this),this}transpose(t){if(this!==t){r.checkDims(t,this.M,this.N);for(let s=0;s<this.N;s++)for(let i=0;i<this.M;i++)t.setRowCol(i,s,this.atRowCol(s,i))}else t.transposeInPlace()}add(t,s){}svd(t,s,i,n=!1){if(r.checkDims(t,this.N,this.M),r.checkDims(s,this.M,1),r.checkDims(i,this.M,this.M),n){if((0,e.g)(this.N===this.M),!this.symmetricEigen(s,i))return!1;for(let t=0;t<this.M;++t)s.at(t)<0&&s.set(t,0);return t.assignCopy(i),!0}let o,h,u,a,l,c,m,y=0,x=0,f=0,d=0,b=0;const v=this.M,_=this.N;t.assignCopy(this);const w=new Float64Array(v),N=new r(w,v,1),p=(t,s)=>s>=0?Math.abs(t):-Math.abs(t),M=(t,s)=>{if((t=Math.abs(t))>(s=Math.abs(s))){const i=s/t;return t*Math.sqrt(i*i+1)}if(s>0){const i=t/s;return s*Math.sqrt(i*i+1)}return 0};for(let i=0;i<v;i++){if(y=i+1,N.set(i,d*f),f=a=d=0,i<_){for(let s=i;s<_;s++)d+=Math.abs(t.atRowCol(s,i));if(d){for(let s=i;s<_;s++)t.setRowCol(s,i,t.atRowCol(s,i)/d),a+=t.atRowCol(s,i)*t.atRowCol(s,i);h=t.atRowCol(i,i),f=-p(Math.sqrt(a),h),u=h*f-a,t.setRowCol(i,i,h-f);for(let s=y;s<v;s++){a=0;for(let e=i;e<_;e++)a+=t.atRowCol(e,i)*t.atRowCol(e,s);h=a/u;for(let e=i;e<_;e++)t.setRowCol(e,s,t.atRowCol(e,s)+h*t.atRowCol(e,i))}for(let s=i;s<_;s++)t.setRowCol(s,i,t.atRowCol(s,i)*d)}}if(s.set(i,d*f),f=a=d=0,i<_&&i!==v-1){for(let s=y;s<v;s++)d+=Math.abs(t.atRowCol(i,s));if(d){for(let s=y;s<v;s++)t.setRowCol(i,s,t.atRowCol(i,s)/d),a+=t.atRowCol(i,s)*t.atRowCol(i,s);h=t.atRowCol(i,y),f=-p(Math.sqrt(a),h),u=h*f-a,t.setRowCol(i,y,h-f);for(let s=y;s<v;s++)N.set(s,t.atRowCol(i,s)/u);for(let s=y;s<_;s++){a=0;for(let e=y;e<v;e++)a+=t.atRowCol(s,e)*t.atRowCol(i,e);for(let i=y;i<v;i++)t.setRowCol(s,i,t.atRowCol(s,i)+a*N.at(i))}for(let s=y;s<v;s++)t.setRowCol(i,s,t.atRowCol(i,s)*d)}}const e=Math.abs(s.at(i))+Math.abs(N.at(i));b=e>b?e:b}for(let s=v-1;s>=0;s--){if(s<v-1){if(f){for(let e=y;e<v;e++)i.setRowCol(e,s,t.atRowCol(s,e)/t.atRowCol(s,y)/f);for(let e=y;e<v;e++){a=0;for(let n=y;n<v;n++)a+=t.atRowCol(s,n)*i.atRowCol(n,e);for(let t=y;t<v;t++)i.setRowCol(t,e,i.atRowCol(t,e)+a*i.atRowCol(t,s))}}for(let t=y;t<v;t++)i.setRowCol(s,t,0),i.setRowCol(t,s,0)}i.setRowCol(s,s,1),f=N.at(s),y=s}for(let i=(_<v?_:v)-1;i>=0;i--){y=i+1,f=s.at(i);for(let s=y;s<v;s++)t.setRowCol(i,s,0);if(f){f=1/f;for(let s=y;s<v;s++){a=0;for(let e=y;e<_;e++)a+=t.atRowCol(e,i)*t.atRowCol(e,s);h=a/t.atRowCol(i,i)*f;for(let e=i;e<_;e++)t.setRowCol(e,s,t.atRowCol(e,s)+h*t.atRowCol(e,i))}for(let s=i;s<_;s++)t.setRowCol(s,i,t.atRowCol(s,i)*f)}else for(let s=i;s<_;s++)t.setRowCol(s,i,0);t.setRowCol(i,i,t.atRowCol(i,i)+1)}for(let e=v-1;e>=0;e--)for(let n=1;;n++){let r=1;for(y=e;y>=0;y--){if(x=y-1,Math.abs(N.at(y))+b===b){r=0;break}if(Math.abs(s.at(x))+b===b)break}if(r){o=0,a=1;for(let i=y;i<=e&&(h=a*N.at(i),N.set(i,N.at(i)*o),Math.abs(h)+b!==b);i++){f=s.at(i),u=M(h,f),s.set(i,u),u=1/u,o=f*u,a=-h*u;for(let s=0;s<_;s++)c=t.atRowCol(s,x),m=t.atRowCol(s,i),t.setRowCol(s,x,c*o+m*a),t.setRowCol(s,i,m*o-c*a)}}if(m=s.at(e),y===e){if(m<0){s.set(e,-m);for(let t=0;t<v;t++)i.setRowCol(t,e,-i.atRowCol(t,e))}break}if(100===n)return!1;l=s.at(y),x=e-1,c=s.at(x),f=N.at(x),u=N.at(e),h=((c-m)*(c+m)+(f-u)*(f+u))/(2*u*c),f=M(h,1),h=((l-m)*(l+m)+u*(c/(h+p(f,h))-u))/l,o=a=1;for(let e=y;e<=x;e++){const n=e+1;f=N.at(n),c=s.at(n),u=a*f,f*=o,m=M(h,u),N.set(e,m),o=h/m,a=u/m,h=l*o+f*a,f=f*o-l*a,u=c*a,c*=o;for(let t=0;t<v;t++)l=i.atRowCol(t,e),m=i.atRowCol(t,n),i.setRowCol(t,e,l*o+m*a),i.setRowCol(t,n,m*o-l*a);m=M(h,u),s.set(e,m),m&&(m=1/m,o=h*m,a=u*m),h=o*f+a*c,l=o*c-a*f;for(let s=0;s<_;s++)c=t.atRowCol(s,e),m=t.atRowCol(s,n),t.setRowCol(s,e,c*o+m*a),t.setRowCol(s,n,m*o-c*a)}N.set(y,0),N.set(e,h),s.set(e,l)}const g=new Float64Array(this.N),C=new Float64Array(this.M),T=new r(g,this.N,1),R=new r(C,this.M,1);let E=1;do{E*=3,E++}while(E<=this.M);do{E/=3,E=Math.trunc(E);for(let e=E;e<this.M;e++){const n=s.at(e);for(let s=0;s<this.N;s++)T.set(s,t.atRowCol(s,e));for(let t=0;t<this.M;t++)R.set(t,i.atRowCol(t,e));let r=e;for(;s.at(r-E)<n;){s.set(r,s.at(r-E));for(let s=0;s<this.N;s++)t.setRowCol(s,r,t.atRowCol(s,r-E));for(let t=0;t<this.M;t++)i.setRowCol(t,r,i.atRowCol(t,r-E));if(r-=E,r<E)break}s.set(r,n);for(let s=0;s<this.N;s++)t.setRowCol(s,r,T.at(s));for(let t=0;t<this.M;t++)i.setRowCol(t,r,R.at(t))}}while(E>1);for(let s=0;s<this.M;s++){let e=0;for(let i=0;i<this.N;i++)t.atRowCol(i,s)<0&&e++;for(let t=0;t<this.M;t++)i.atRowCol(t,s)<0&&e++;if(e>Math.trunc((this.N+this.M)/2)){for(let i=0;i<this.N;i++)t.setRowCol(i,s,-t.atRowCol(i,s));for(let t=0;t<this.M;t++)i.setRowCol(t,s,-i.atRowCol(t,s))}}return!0}isSymmetric(){if(this.N!==this.M)return!1;for(let t=0;t<this.N;t++)for(let s=t+1;s<this.M;s++)if(this.atRowCol(t,s)!==this.atRowCol(s,t))return!1;return!0}isZero(){return(0,e.g)(0),!1}isIdentity(){return(0,e.g)(0),!1}equals(t,s){if(void 0!==s&&(0,e.g)(0),this.N!==t.N||this.M!==t.M)return!1;for(let s=0;s<this.N*this.M;s++)if(this.data[s]!==t.data[s])return!1;return!0}maxElement(){return(0,e.g)(0),0}minElement(){return(0,e.g)(0),0}determinant(){if((0,e.g)(this.N===this.M),1===this.N)return this.data[0];if(2===this.N)return this.data[0]*this.data[3]-this.data[1]*this.data[2];if(3===this.N){const t=this;return t.atRowCol(0,0)*(t.atRowCol(1,1)*t.atRowCol(2,2)-t.atRowCol(1,2)*t.atRowCol(2,1))-t.atRowCol(0,1)*(t.atRowCol(1,0)*t.atRowCol(2,2)-t.atRowCol(2,0)*t.atRowCol(1,2))+t.atRowCol(0,2)*(t.atRowCol(1,0)*t.atRowCol(2,1)-t.atRowCol(1,1)*t.atRowCol(2,0))}const t=new Float64Array(this.N*this.N),s=new r(t,this.N,this.N),i=new Float64Array(this.N);if(!this.luDecomposition(s,i))return 0;let n=1;for(let t=0;t<this.N;t++)n*=s.atRowCol(t,t),i[t]!==t&&(n=-n);return n}submatrix(t,s,i){(0,e.g)(0)}inverse(t){(0,e.g)(0)}pseudoInverse(t,s=!1,i=2220446049250313e-31){if(t.setZero(),1===this.N&&1===this.M)return 0!==this.atRowCol(0,0)?t.setRowCol(0,0,1/this.atRowCol(0,0)):t.setRowCol(0,0,0),!0;if(2===this.N&&2===this.M){const s=this.atRowCol(0,0)*this.atRowCol(1,1)-this.atRowCol(0,1)*this.atRowCol(1,0),i=1e-5*(Math.abs(this.atRowCol(0,0)*this.atRowCol(1,1))+Math.abs(this.atRowCol(0,1)*this.atRowCol(1,0)));if(Math.abs(s)>i)return t.setRowCol(0,0,this.atRowCol(1,1)/s),t.setRowCol(0,1,-this.atRowCol(0,1)/s),t.setRowCol(1,0,-this.atRowCol(1,0)/s),t.setRowCol(1,1,this.atRowCol(0,0)/s),!0}const e=new Float64Array(this.N*this.M),n=new r(e,this.N,this.M),o=new Float64Array(this.M),h=new r(o,this.M,1),u=new Float64Array(this.M*this.M),a=new r(u,this.M,this.M);if(!this.svd(n,h,a,s))return!1;const l=Math.max(this.N,this.M),c=i*Math.abs(h.at(0))*l;for(let t=0;t<this.M;t++)h.at(t)>c?h.set(t,1/h.at(t)):h.set(t,0);return a.mulDiag(h,t),t.mulTranspose(n,t),!0}luDecomposition(t,s){return(0,e.g)(0),!1}symmetricEigen(t,s){(0,e.g)(this.rows()===this.cols()),(0,e.g)(this.rows()===t.rows()),(0,e.g)(s.rows()===s.cols()&&s.rows()===this.rows()),(0,e.g)(this.isSymmetric());const i=new Float64Array(this.N*this.M),n=new r(i,this.N,this.M);n.assignCopy(this);const o=100/Number.EPSILON,h=this.rows(),u=new Float64Array(h),a=new Float64Array(h),l=new r(u,h,1),c=new r(a,h,1);for(let s=0;s<h;s++)l.set(s,n.atRowCol(s,s)),t.set(s,n.atRowCol(s,s)),c.set(s,0);s.setIdentity();const m=()=>{const i=l;s.transposeInPlace();let e=1;do{e*=3,e++}while(e<=h);do{e/=3,e=Math.trunc(e);for(let n=e;n<h;n++){const r=t.at(n),o=Math.abs(r);for(let t=0;t<this.M;t++)i.set(t,s.atRowCol(t,n));let h=n;for(;Math.abs(t.at(h-e))<o;){t.set(h,t.at(h-e));for(let t=0;t<this.M;t++)s.setRowCol(t,h,s.atRowCol(t,h-e));if(h-=e,h<e)break}if(h!==n){t.set(h,r);for(let t=0;t<this.M;t++)s.setRowCol(t,h,i.at(t))}}}while(e>1)};for(let i=1;;i++){let e=0;for(let t=1;t<h;t++)for(let s=0;s<t;s++)e+=Math.abs(n.atRowCol(t,s));if(0===e)return m(),!0;const r=i<4?.2*e/(h*h):0;for(let e=0;e<h;e++)for(let u=e+1;u<h;u++){let a=o*Math.abs(n.atRowCol(u,e));if(i>4&&a<=Math.abs(t.at(e))&&a<=Math.abs(t.at(u)))n.setRowCol(u,e,0);else if(Math.abs(n.atRowCol(u,e))>r){let i,r=t.at(u)-t.at(e);if(a<Math.abs(r))i=n.atRowCol(u,e)/r;else{const t=.5*r/n.atRowCol(u,e);i=1/(Math.abs(t)+Math.sqrt(1+t*t)),t<0&&(i=-i)}const o=1/Math.sqrt(1+i*i),l=i*o,m=l/(1+o);r=i*n.atRowCol(u,e),c.set(e,c.at(e)-r),c.set(u,c.at(u)+r),t.set(e,t.at(e)-r),t.set(u,t.at(u)+r),n.setRowCol(u,e,0);let y=0;for(;y<e;y++)a=n.atRowCol(e,y),r=n.atRowCol(u,y),n.setRowCol(e,y,a-l*(r+a*m)),n.setRowCol(u,y,r+l*(a-r*m));for(y++;y<u;y++)a=n.atRowCol(y,e),r=n.atRowCol(u,y),n.setRowCol(y,e,a-l*(r+a*m)),n.setRowCol(u,y,r+l*(a-r*m));for(y++;y<h;y++)a=n.atRowCol(y,e),r=n.atRowCol(y,u),n.setRowCol(y,e,a-l*(r+a*m)),n.setRowCol(y,u,r+l*(a-r*m));for(y=0;y<h;y++)a=s.atRowCol(e,y),r=s.atRowCol(u,y),s.setRowCol(e,y,a-l*(r+a*m)),s.setRowCol(u,y,r+l*(a-r*m))}}for(let s=0;s<h;s++)l.set(s,l.at(s)+c.at(s)),t.set(s,l.at(s)),c.set(s,0)}}static checkDims(t,s,i){(0,e.g)(t.rows()===s&&t.cols()===i)}}class o extends r{constructor(t){if(t.copy){const s=new Float64Array(t.copy.N*t.copy.M);return super(s,t.copy.N,t.copy.M),this.buffer=s,void this.assignCopy(t.copy)}const s=new Float64Array(t.NN*t.MM);super(s,t.NN,t.MM),this.buffer=s,t.initializerList&&(0,n.a)(this.buffer,t.initializerList,0,0,t.initializerList.length)}assignCopy(t){return this===t||super.assignCopy(t),this}}class h{constructor(t){this.m_TransformationType=1,void 0===t?this.setIdentity():t instanceof h?this.set(t):this.setScale(t)}set(t){return this.xx=t.xx,this.xy=t.xy,this.xd=t.xd,this.yx=t.yx,this.yy=t.yy,this.yd=t.yd,this}clone(){return(new h).set(this)}setZero(){this.xx=0,this.yy=0,this.xy=0,this.yx=0,this.xd=0,this.yd=0}isEqual(t){return this===t||this.xx===t.xx&&this.xy===t.xy&&this.xd===t.xd&&this.yx===t.yx&&this.yy===t.yy&&this.yd===t.yd}transformInPlace(t){const s=this.xx*t.x+this.xy*t.y+this.xd,i=this.yx*t.x+this.yy*t.y+this.yd;t.x=s,t.y=i}transform(t){const s=t.clone();return this.transformInPlace(s),s}queryTransform(t,s){const i=this.xx*t.x+this.xy*t.y+this.xd,e=this.yx*t.x+this.yy*t.y+this.yd;s.setCoords(i,e)}transformEnvInPlace(t){if(t.isEmpty())return;const s=(0,n.m)(n.P,4);t.queryCorners(s),this.transformPoints2D(s,4,s),t.setFromPoints(s,4)}queryTransformEnv(t,s){(0,e.g)(0)}transformPoints2D(t,s,i){for(let e=0;e<s;++e)this.queryTransform(t[e],i[e])}transformInterleavedPoints(t,s,i){s*=2;const e=n.P.getNAN();for(let n=0;n<s;n+=2)e.x=t[n],e.y=t[n+1],this.transformInPlace(e),i[n]=e.x,i[n+1]=e.y}multiply(t){return h.st_multiply(this,t,this),this}mulLeft(t){return(0,e.g)(0),this}static st_multiply(t,s,i){const e=t.xx*s.xx+t.yx*s.xy,n=t.xy*s.xx+t.yy*s.xy,r=t.xd*s.xx+t.yd*s.xy+s.xd,o=t.xx*s.yx+t.yx*s.yy,h=t.xy*s.yx+t.yy*s.yy,u=t.xd*s.yx+t.yd*s.yy+s.yd;i.xx=e,i.xy=n,i.xd=r,i.yx=o,i.yy=h,i.yd=u}getCoefficients(t){(0,e.g)(t.length>=6),t[0]=this.xx,t[1]=this.xy,t[2]=this.xd,t[3]=this.yx,t[4]=this.yy,t[5]=this.yd}setCoefficients(t){(0,e.g)(t.length>=6),this.xx=t[0],this.xy=t[1],this.xd=t[2],this.yx=t[3],this.yy=t[4],this.yd=t[5]}copyTo(t){(0,e.g)(0)}initializeFromRect(t,s){t.isEmpty()||s.isEmpty()||!t.width()||!t.height()?this.setZero():(this.xy=this.yx=0,this.xx=s.width()/t.width(),this.yy=s.height()/t.height(),this.xd=s.xmin-t.xmin*this.xx,this.yd=s.ymin-t.ymin*this.yy)}initializeFromRectIsotropic(t,s){if(t.isEmpty()||!t.width()||!t.height()||s.isEmpty())this.setZero();else{this.yx=0,this.xy=0,this.xx=s.width()/t.width(),this.yy=s.height()/t.height(),this.xx>this.yy?this.xx=this.yy:this.yy=this.xx;const i=s.getCenter(),e=t.getCenter();this.xd=i.x-e.x*this.xx,this.yd=i.y-e.y*this.yy}}initializeFromTwoPointsArray(t,s){if(t[0].equals(s[0])&&t[1].equals(s[1]))return void this.setIdentity();if(t[0].equals(t[1])){if(s[0].equals(s[1]))return void this.setShift(s[0].sub(t[0]));(0,e.t)("")}if(!t[0].equals(t[1])&&s[0].equals(s[1]))return this.setZero(),void this.shift(s[0]);this.setShiftCoords(-t[0].x,-t[0].y);const i=n.P.distance(t[0],t[1]),r=n.P.distance(s[0],s[1]),o=r/i;this.scale(o,o);const h=t[1].sub(t[0]);h.divThis(i);const u=s[1].sub(s[0]);u.divThis(r);const a=h.crossProduct(u),l=h.dotProduct(u);this.rotate(l,a),this.shiftCoords(s[0].x,s[0].y)}initializeFromTwoPoints(t,s,i,e){const n=[t,s],r=[i,e];this.initializeFromTwoPointsArray(n,r)}transformSizeInPlace(t){(0,e.g)(0)}transformSize(t,s){(0,e.g)(0)}transformTol(t){return(0,e.g)(0),0}transformWithoutTranslateArray(t,s,i){for(let e=0;e<s;++e)this.transformWithoutTranslate(t[e],i[e])}transformWithoutTranslateInPlace(t){const s=this.xx*t.x+this.xy*t.y,i=this.yx*t.x+this.yy*t.y;t.setCoords(s,i)}transformWithoutTranslate(t,s){const i=this.xx*t.x+this.xy*t.y,e=this.yx*t.x+this.yy*t.y;s.setCoords(i,e)}setIdentity(){this.xx=1,this.xy=0,this.xd=0,this.yx=0,this.yy=1,this.yd=0}isIdentity(){return!(1!==this.xx||1!==this.yy||this.xy||this.xd||this.yx||this.yd)}isIdentityTol(t){const s=t*t;return!((0,n.s)(this.xd)+(0,n.s)(this.yd)>s||(0,n.s)(this.xy+this.xd)+(0,n.s)(this.yy+this.yd-1)>s||(0,n.s)(this.xx+this.xd-1)+(0,n.s)(this.yx+this.yd)>s)}isReflective(){return this.xx*this.yy-this.yx*this.xy<0}isUniform(t){const s=this.xx*this.xx+this.yx*this.yx,i=this.xy*this.xy+this.yy*this.yy,e=(s+i)*t;return Math.abs(s-i)<=e&&Math.abs(this.xx*this.xy+this.yx*this.yy)<=e}isUniformNoRotation(){return 0!==this.xx&&Math.abs(this.xx)===Math.abs(this.yy)&&0===this.xy&&0===this.yx}isTranslate(){return 1===this.xx&&1===this.yy&&!this.xy&&!this.yx}isTranslateTol(t){const s=new n.P;return s.setCoords(0,1),this.transformWithoutTranslateInPlace(s),s.y-=1,!(s.sqrLength()>t*t)&&(s.setCoords(1,0),this.transformWithoutTranslateInPlace(s),s.x-=1,s.sqrLength()<=t*t)}isOrthonormal(t){const s=new h;return s.xx=this.xx*this.xx+this.xy*this.xy,s.xy=this.xx*this.yx+this.xy*this.yy,s.yx=this.yx*this.xx+this.yy*this.xy,s.yy=this.yx*this.yx+this.yy*this.yy,s.xd=0,s.yd=0,s.isIdentityTol(t)}isDegenerate(t){return Math.abs(this.xx*this.yy-this.yx*this.xy)<=2*t*(Math.abs(this.xx*this.yy)+Math.abs(this.yx*this.xy))}isZero(){return 0===this.xx&&0===this.yy&&0===this.xy&&0===this.yx&&0===this.xd&&0===this.yd}isScaleAndTranslateTol(t){return this.xy*this.xy+this.yx*this.yx<=(this.xx*this.xx+this.yy*this.yy)*t}setTranslate(t,s){return this.xx=1,this.xy=0,this.xd=t,this.yx=0,this.yy=1,this.yd=s,this}setShiftCoords(t,s){return this.xx=1,this.xy=0,this.xd=t,this.yx=0,this.yy=1,this.yd=s,this}setShift(t){return this.xx=1,this.xy=0,this.xd=t.x,this.yx=0,this.yy=1,this.yd=t.y,this}setScaleCoords(t,s){return this.xx=t,this.xy=0,this.xd=0,this.yx=0,this.yy=s,this.yd=0,this}setScale(t){return this.setScaleCoords(t,t),this}setFlipX(t,s){return this.xx=-1,this.xy=0,this.xd=t+s,this.yx=0,this.yy=1,this.yd=0,this}setFlipY(t,s){return this.xx=1,this.xy=0,this.xd=0,this.yx=0,this.yy=-1,this.yd=t+s,this}setShear(t,s){return this.xx=1,this.xy=t,this.xd=0,this.yx=s,this.yy=1,this.yd=0,this}scale(t,s){return this.xx*=t,this.xy*=t,this.xd*=t,this.yx*=s,this.yy*=s,this.yd*=s,this}setRotateAngle(t){return this.setRotate(Math.cos(t),Math.sin(t))}setRotate(t,s){return this.xx=t,this.xy=-s,this.xd=0,this.yx=s,this.yy=t,this.yd=0,this}setRotateAngleAbout(t,s){return this.setRotateAbout(Math.cos(t),Math.sin(t),s)}setRotateAbout(t,s,i){return this.setTranslate(-i.x,-i.y),this.rotate(t,s),this.translate(i.x,i.y)}setSwapCoordinates(){return this.xx=0,this.xy=1,this.xd=0,this.yx=1,this.yy=0,this.yd=0,this}setRotateCw90(){return this.xx=0,this.xy=1,this.xd=0,this.yx=-1,this.yy=0,this.yd=0,this}setRotateCcw90(){return this.xx=0,this.xy=-1,this.xd=0,this.yx=1,this.yy=0,this.yd=0,this}shiftCoords(t,s){return this.xd+=t,this.yd+=s,this}shift(t){return this.xd+=t.x,this.yd+=t.y,this}translate(t,s){return this.xd+=t,this.yd+=s,this}flipX(t,s){return this.xx=-this.xx,this.xy=-this.xy,this.xd=t+s-this.xd,this}flipY(t,s){return this.yx=-this.yx,this.yy=-this.yy,this.yd=t+s-this.yd,this}shear(t,s){const i=new h;return i.setShear(t,s),this.multiply(i)}rotateAngle(t){const s=new h;return s.setRotateAngle(t),this.multiply(s)}rotate(t,s){const i=new h;return i.setRotate(t,s),this.multiply(i)}rotateAbout(t,s,i){return this.translate(-i.x,-i.y),this.rotate(t,s),this.translate(i.x,i.y)}rotateAngleAbout(t,s){return this.rotateAbout(Math.cos(t),Math.sin(t),s)}setInvert(t){return this.set(t),this.invertThis()}invertThis(){let t=this.xx*this.yy-this.xy*this.yx;if(0===t)return this.setZero(),this;t=1/t;const s=(this.xy*this.yd-this.xd*this.yy)*t,i=(this.xd*this.yx-this.xx*this.yd)*t,e=this.yy*t,n=-this.xy*t,r=-this.yx*t,o=this.xx*t;return this.xd=s,this.yd=i,this.xx=e,this.yy=o,this.xy=n,this.yx=r,this}invertPrecise(t){return this.set(t),this.invertPreciseThis()}invertPreciseThis(){const t=n.M.constructDouble(this.xy),s=n.M.constructDouble(this.xx),i=s.mulDouble(this.yy).sub(t.mulDouble(this.yx));if(i.isZero())return this.setZero(),this;const e=i.clone();e.invertThis();const r=n.M.constructDouble(this.xd),o=t.mulDouble(this.yd).sub(r.mulDouble(this.yy)).mul(e).toDouble(),h=r.mulDouble(this.yx).sub(s.mulDouble(this.yd)).mul(e).toDouble(),u=e.mulDouble(this.yy).toDouble(),a=e.mulDouble(-this.xy).toDouble(),l=e.mulDouble(-this.yx).toDouble(),c=e.mulDouble(this.xx).toDouble();return this.xd=o,this.yd=h,this.xx=u,this.yy=c,this.xy=a,this.yx=l,this}extractScaleTransform(t,s){const i=Math.sqrt(this.xx*this.xx+this.xy*this.xy),e=Math.sqrt(this.yx*this.yx+this.yy*this.yy);s.setScaleCoords(1/i,1/e),s.multiply(this),t.setScaleCoords(i,e)}setFromTwoTriangles(t,s){let i=!0;for(let e=0;e<3;++e)i=i&&t[e].equals(s[e]);if(i)return this.setIdentity(),!0;const e=new n.P;e.setSub(t[0],t[1]);const r=new n.P;r.setSub(t[0],t[2]);const o=new n.P;o.setSub(s[0],s[1]);const h=new n.P;h.setSub(s[0],s[2]);const u=4*Number.EPSILON*(Math.abs(e.x*r.y)+Math.abs(r.x*e.y));let a=e.x*r.y-e.y*r.x;return Math.abs(a)>u?(a=1/a,this.xx=(o.x*r.y-e.y*h.x)*a,this.xy=(e.x*h.x-o.x*r.x)*a,this.yx=(o.y*r.y-e.y*h.y)*a,this.yy=(e.x*h.y-o.y*r.x)*a,this.xd=s[0].x-(this.xx*t[0].x+this.xy*t[0].y),this.yd=s[0].y-(this.yx*t[0].x+this.yy*t[0].y),!0):(this.setZero(),!1)}initializeFromControlPoints(t,s,i,r,l=null){return 0===s?(this.setIdentity(),void(l&&l.setIdentity())):1===s?(this.setShift(r[0].sub(i[0])),void(l&&l.setShift(i[0].sub(r[0])))):(s<3&&(t=1),void(4===t&&s>2?function(t,s,i,r,h){const u=n.P.average(i,s),l=n.P.average(r,s),c=new o({NN:2,MM:2});c.setZero();const m=new o({NN:2,MM:2});m.setZero();for(let t=0;t<s;++t)c.setRowCol(0,0,c.atRowCol(0,0)+(i[t].x-u.x)*(i[t].x-u.x)),c.setRowCol(0,1,c.atRowCol(0,1)+(i[t].x-u.x)*(i[t].y-u.y)),c.setRowCol(1,1,c.atRowCol(1,1)+(i[t].y-u.y)*(i[t].y-u.y)),m.setRowCol(0,0,m.atRowCol(0,0)+(r[t].x-l.x)*(i[t].x-u.x)),m.setRowCol(0,1,m.atRowCol(0,1)+(r[t].x-l.x)*(i[t].y-u.y)),m.setRowCol(1,0,m.atRowCol(1,0)+(r[t].y-l.y)*(i[t].x-u.x)),m.setRowCol(1,1,m.atRowCol(1,1)+(r[t].y-l.y)*(i[t].y-u.y));c.setRowCol(1,0,c.atRowCol(0,1));const y=new o({NN:2,MM:2});c.pseudoInverse(y,!0)||(0,e.a)("Failed to compute pseudo inverse"),m.mul(y,m),a(t,m);const x=u.clone();t.transformInPlace(x),t.xd=l.x-x.x,t.yd=l.y-x.y,h&&(m.pseudoInverse(y,!1)||(0,e.a)("Failed to compute pseudo inverse"),a(h,y),h.transformInPlace(l),h.xd=u.x-l.x,h.yd=u.y-l.y)}(this,s,i,r,l):function(t,s,i,r,l,c){(0,e.g)(1===t||0===t||2===t||3===t),s.setIdentity();const m=n.P.average(r,i),y=n.P.average(l,i);if((0,e.g)(t<u.length&&t>0),8&u[t]){const n=new o({NN:2,MM:2});n.setZero();for(let t=0;t<i;++t)n.setRowCol(0,0,n.atRowCol(0,0)+(l[t].x-y.x)*(r[t].x-m.x)),n.setRowCol(1,0,n.atRowCol(1,0)+(l[t].x-y.x)*(r[t].y-m.y)),n.setRowCol(0,1,n.atRowCol(0,1)+(l[t].y-y.y)*(r[t].x-m.x)),n.setRowCol(1,1,n.atRowCol(1,1)+(l[t].y-y.y)*(r[t].y-m.y));const c=new o({NN:2,MM:2}),x=new o({NN:2,MM:1}),f=new o({NN:2,MM:2});n.svd(c,x,f)||(0,e.a)("Failed to compute svd");const d=new o({NN:2,MM:2});c.transpose(d);const b=new o({NN:2,MM:2});f.mul(d,b),32&u[t]||b.determinant()<0&&(d.setRowCol(1,0,-d.atRowCol(1,0)),d.setRowCol(1,1,-d.atRowCol(1,1)),f.mul(d,b));const v=new h;a(v,b),s.set(v)}if(2&u[t]){let t=0,e=0;for(let n=0;n<i;++n){const i=r[n].sub(m);t+=i.sqrLength(),s.transformInPlace(i),e+=i.dotProduct(l[n].sub(y))}if(0===t)0===e?s.setIdentity():s.setZero();else{const i=e/t;s.scale(i,i)}}else(0,e.g)(!(4&u[t]));const x=m.clone();s.transformInPlace(x),s.xd=y.x-x.x,s.yd=y.y-x.y,c&&(c.set(s),c.invertThis(),c.isZero()&&(c.xd=m.x,c.yd=m.y))}(t,this,s,i,r,l)))}calculateErrors(t,s,i,r){(0,e.g)(t>0&&null!==s&&null!==i);let o=0;for(let e=0;e<t;++e){const t=this.transform(s[e]),h=n.P.sqrDistance(i[e],t);o+=h,r&&(r[e]=Math.sqrt(h))}return Math.sqrt(o/t)}}const u=[43,11,41,9,61];function a(t,s){(0,e.g)(!(2!==s.rows()&&3!==s.rows()||2!==s.cols()&&3!==s.rows())),t.xx=s.atRowCol(0,0),t.xy=s.atRowCol(0,1),t.yx=s.atRowCol(1,0),t.yy=s.atRowCol(1,1),3===s.cols()?(t.xd=s.atRowCol(0,2),t.yd=s.atRowCol(1,2)):(t.xd=0,t.yd=0)}},55537:(t,s,i)=>{function e(t,s){try{if(!t)throw new Error(s)}catch(t){throw t}}i.d(s,{A:()=>y,B:()=>k,C:()=>F,D:()=>z,G:()=>l,a:()=>T,b:()=>P,c:()=>A,d:()=>Z,e:()=>x,f:()=>b,g:()=>e,h:()=>_,i:()=>v,j:()=>p,k:()=>g,l:()=>S,m:()=>E,n:()=>D,o:()=>w,p:()=>d,q:()=>f,r:()=>M,s:()=>q,t:()=>C,u:()=>I,v:()=>N,w:()=>G,x:()=>R,y:()=>B,z:()=>L});class n extends Error{constructor(t,s){super(s),this.m_AdditionalMessage=s,this.m_ErrorType=t,this.name="GeometryError"}what(){return function(t){switch(t){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}}class r extends n{constructor(t){super(2,t),this.name="CorruptedGeometryError"}}class o extends n{constructor(t){super(3,t),this.name="EmptyGeometryError"}}class h extends n{constructor(t){super(4,t),this.name="MathSingularityError"}}class u extends n{constructor(t){super(21,t),this.name="ProjectionEngineNotLoadedError"}}class a extends n{constructor(t){super(8,t),this.name="NonSimpleGeometryError"}}var l,c;(c=l||(l={}))[c.enumUnknown=0]="enumUnknown",c[c.enumPoint=513]="enumPoint",c[c.enumLine=5122]="enumLine",c[c.enumBezier=5123]="enumBezier",c[c.enumEllipticArc=5124]="enumEllipticArc",c[c.enumEnvelope=3077]="enumEnvelope",c[c.enumMultiPoint=8710]="enumMultiPoint",c[c.enumPolyline=25607]="enumPolyline",c[c.enumPolygon=27656]="enumPolygon",c[c.enumMultipatch=40969]="enumMultipatch",c[c.enumGeometryCollection=3594]="enumGeometryCollection",c[c.enumRationalBezier2=5134]="enumRationalBezier2",c[c.enumBezier2=5135]="enumBezier2",c[c.enumRationalBezier23d=5392]="enumRationalBezier23d",c[c.enumGreatArc3d=5393]="enumGreatArc3d";const m=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function y(t){return m[15&t]}function x(t){return!!(512&t)}function f(t){return!!(1024&t)}function d(t){return!!(2048&t)}function b(t){return!!(4096&t)}function v(t){return!!(8192&t)}function _(t){return!!(16384&t)}function w(t){return!!(32768&t)}function N(t){const s=t.getGeometryType();return v(s)?t.getPointCount():t.isEmpty()?0:s===l.enumEnvelope?4:s===l.enumPoint?1:b(s)?2:void A("missing type")}function p(t){const s=t.getGeometryType();if(_(s))return t.hasNonLinearSegments();if(s===l.enumGeometryCollection){const s=t;for(let t=0,i=s.getGeometryCount();t<i;t++)if(p(s.getGeometry(t)))return!0;return!1}return!!b(s)&&s!==l.enumLine}function M(t){throw new u(t)}function g(t){throw new r(t)}function C(t){throw new Error(t)}function T(t){throw new h(t)}function R(){C("Geometry type is not supported for 3D operations.")}function E(t){throw new n(12,t)}function I(t){throw new o(t)}function P(t){throw new n(14,t)}function D(t){throw new Error(t)}function A(t){throw new n(13,t)}function q(t){throw new Error(t)}function z(t){throw new a(t)}function S(t){t&&p(t)&&P("Operation does not support curves.")}function Z(t){t&&w(t.getGeometryType())&&P("Unsupported geometry type.")}function F(t){t===l.enumGeometryCollection&&C("Geometry_collection instances are not supported in this operation")}function k(t){F(t.getGeometryType())}function B(t){C(`bad wkid: ${t}`)}function L(t){let s="bad wkt: ";s+=t,s+="...",C(s)}function G(t,s){t||C(s)}},83661:(t,s,i)=>{i.d(s,{$:()=>N,A:()=>ys,B:()=>at,C:()=>ft,D:()=>vs,E:()=>a,F:()=>c,G:()=>v,H:()=>b,I:()=>jt,J:()=>ws,K:()=>n,L:()=>Ct,M:()=>Ds,N:()=>_s,O:()=>It,P:()=>ks,Q:()=>z,R:()=>S,S:()=>Pt,T:()=>ut,U:()=>xt,V:()=>E,W:()=>I,X:()=>dt,Y:()=>Wt,Z:()=>Z,_:()=>w,a:()=>lt,a0:()=>P,a1:()=>D,a2:()=>A,a3:()=>Vt,a4:()=>At,a5:()=>gs,a6:()=>Es,a7:()=>Ts,a8:()=>Cs,a9:()=>et,aA:()=>Ss,aB:()=>Fs,aC:()=>C,aD:()=>hs,aE:()=>$t,aF:()=>Lt,aG:()=>as,aH:()=>us,aa:()=>nt,ab:()=>St,ac:()=>pt,ad:()=>_,ae:()=>qs,af:()=>As,ag:()=>B,ah:()=>Ms,ai:()=>it,aj:()=>V,ak:()=>L,al:()=>Is,am:()=>bt,an:()=>bs,ao:()=>Jt,ap:()=>ct,aq:()=>os,ar:()=>ls,as:()=>Tt,at:()=>ms,au:()=>gt,av:()=>R,aw:()=>rs,ax:()=>ps,ay:()=>_t,az:()=>Zs,b:()=>mt,c:()=>Ns,d:()=>Et,e:()=>G,f:()=>T,g:()=>ds,h:()=>wt,i:()=>Ht,j:()=>Xt,k:()=>qt,l:()=>zt,m:()=>Mt,n:()=>Dt,o:()=>st,p:()=>Rt,q:()=>q,r:()=>Yt,s:()=>k,t:()=>O,u:()=>vt,v:()=>yt,w:()=>Nt,x:()=>F,y:()=>p,z:()=>g});var e=i(55537);class n{constructor(t){this.sum=t,this.compensation=0}assign(t){return this.compensation=t.compensation,this.sum=t.sum,this}reset(){this.sum=this.compensation=0}resetToStart(t){this.sum=t,this.compensation=0}normalize(){const t=[Number.NaN];this.sum=tt(this.sum,this.compensation,t),this.compensation=t[0]}add(t){const s=this.sum+t;let i;if(Math.abs(this.sum)>=Math.abs(t)){const e=this.sum-s+t;i=this.compensation+e}else{const e=t-s+this.sum;i=this.compensation+e}this.sum=s,this.compensation=i}sub(t){this.add(-t)}addProduct(t,s){const i=[0],e=$(t,s,i);this.add(e),this.add(i[0])}mul(t){const s=new n(0);s.addProduct(this.sum,t),s.addProduct(this.compensation,t),this.assign(s)}getResult(){return this.sum+this.compensation}pe(t){return this.add(t),this}me(t){return this.add(-t),this}}const r=[5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1],o=[-1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3];function h(t){let s=0;return 65535n&t||(s+=16,t>>=16n),255n&t||(s+=8,t>>=8n),15n&t||(s+=4,t>>=4n),s+r[Number(BigInt.asUintN(4,t))]}function u(t){let s=0;return 4294967295n&t||(s=32,t>>=32n),s+h(BigInt.asUintN(32,t))}class a{constructor(t,s){if(this.m_EnvelopeType=1,void 0!==t){if(t instanceof a)return this.vmin=t.vmin,void(this.vmax=t.vmax);this.vmin=t,this.vmax=s,this.normalize()}else this.setEmpty()}static construct(t,s){return new a(t,s)}static constructEmpty(){return new a}setCoords(t,s){this.vmin=t,this.vmax=s,this.normalize()}setCoordsFromEnvelope(t){this.vmin=t.vmin,this.vmax=t.vmax}setEmpty(){this.vmin=Number.NaN,this.vmax=Number.NaN}getCenter(){return.5*(this.vmin+this.vmax)}equalsRange(t,s){return Vt(this.vmin,t)&&Vt(this.vmax,s)}equals(t,s){return!(!this.isEmpty()||!t.isEmpty())||(void 0!==s?Math.abs(this.vmin-t.vmin)<=s&&Math.abs(this.vmax-t.vmax)<=s:this.vmin===t.vmin&&this.vmax===t.vmax)}width(){return this.vmax-this.vmin}isEmpty(){return Number.isNaN(this.vmin)||Number.isNaN(this.vmax)}isZero(){return this.vmin===this.vmax}setInfinite(){this.vmin=Number.NEGATIVE_INFINITY,this.vmax=Number.POSITIVE_INFINITY}move(t){this.isEmpty()||(this.vmin+=t,this.vmax+=t)}contains(t){return t.vmin>=this.vmin&&t.vmax<=this.vmax}containsCoordinate(t){return t>=this.vmin&&t<=this.vmax}containsRightExclusive(t){return t>=this.vmin&&t<this.vmax}containsExclusiveCoordinate(t){return t>this.vmin&&t<this.vmax}containsExclusive(t){return t.vmin>this.vmin&&t.vmax<this.vmax}isIntersecting(t){return this.vmin<=t.vmin?this.vmax>=t.vmin:t.vmax>=this.vmin}mergeCoordinate(t){if(this.isEmpty())return this.vmin=t,void(this.vmax=t);this.mergeNeCoordinate(t)}merge(t){if(t.isEmpty())return;const s=t.vmin,i=t.vmax;this.mergeCoordinate(s),this.mergeCoordinate(i)}mergeNe(t){const s=t.vmin,i=t.vmax;this.mergeNeCoordinate(s),this.mergeNeCoordinate(i)}mergeNeCoordinate(t){t<this.vmin?this.vmin=t:t>this.vmax&&(this.vmax=t)}intersect(t){this.isEmpty()||t.isEmpty()?this.setEmpty():(this.vmin<t.vmin&&(this.vmin=t.vmin),this.vmax>t.vmax&&(this.vmax=t.vmax),this.vmin>this.vmax&&this.setEmpty())}inflate(t){this.isEmpty()||(this.vmin-=t,this.vmax+=t,this.vmax<this.vmin&&this.setEmpty())}normalize(){this.vmin<=this.vmax||(this.vmin>this.vmax?this.vmax=mt(this.vmin,this.vmin=this.vmax):this.setEmpty())}isValid(){return this.isEmpty()||this.vmin<=this.vmax}snapClip(t){return Ns(t,this.vmin,this.vmax)}calculateToleranceFromEnvelope(){return this.isEmpty()?ds():(Math.abs(this.vmin)+Math.abs(this.vmax)+1)*ds()}static unit(){return l}normalizeNoNAN(){this.vmin>this.vmax&&(this.vmax=mt(this.vmin,this.vmin=this.vmax))}setCoordsNoNAN(t,s){this.vmin=t,this.vmax=s,this.normalizeNoNAN()}clone(){return new a(this.vmin,this.vmax)}}const l=new a(0,1);class c{static getNAN(){return new c(Number.NaN)}constructor(t,s){this.m_value=t??0,this.m_eps=s??0}[Symbol.toPrimitive](t){return this}clone(){return new c(this.m_value,this.m_eps)}assign(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}scaleError(t){this.m_eps*=t}setError(t){this.m_eps=t}set(t,s){return this.m_value=t,this.m_eps=s??0,this}setWithEps(t,s){return void 0===s&&(s=1),this.m_value=t,this.m_eps=c.ulp(t)*s,this}setE(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}precise(){return new c(this.m_value)}value(){return this.m_value}toDouble(){return this.m_value}eps(){return this.m_eps}resetError(){return this.m_eps=0,this}absThis(){return this.m_value=Math.abs(this.m_value),this}add(t){return this.clone().addThis(t)}addE(t){return this.clone().addThisE(t)}addThisE(t){const s=this.m_value+t.m_value,i=this.m_eps+t.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}addThis(t){const s=this.m_value+t,i=this.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}subE(t){return this.clone().subThisE(t)}sub(t){return this.clone().subThis(t)}subThisE(t){const s=this.m_value-t.m_value,i=this.m_eps+t.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}subThis(t){const s=this.m_value-t,i=this.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}setAddE(t,s){return this.m_value=t.m_value+s.m_value,this.m_eps=t.m_eps+s.m_eps+c.ulp(this.m_value),this}setAdd(t,s){return this.m_value=t+s,this.m_eps=c.ulp(this.m_value),this}setAddEN(t,s){return this.m_value=t.m_value+s,this.m_eps=t.m_eps+c.ulp(this.m_value),this}setAddNE(t,s){return this.m_value=t+s.m_value,this.m_eps=s.m_eps+c.ulp(this.m_value),this}setSubE(t,s){return this.m_value=t.m_value-s.m_value,this.m_eps=t.m_eps+s.m_eps+c.ulp(this.m_value),this}setSub(t,s){return this.m_value=t-s,this.m_eps=c.ulp(this.m_value),this}setSubEN(t,s){return this.m_value=t.m_value-s,this.m_eps=t.m_eps+c.ulp(this.m_value),this}setSubNE(t,s){return this.m_value=t-s.m_value,this.m_eps=s.m_eps+c.ulp(this.m_value),this}mulThisE(t){const s=this.m_value*t.m_value;return this.m_eps=this.m_eps*Math.abs(t.m_value)+t.m_eps*Math.abs(this.m_value)+this.m_eps*t.m_eps+c.ulp(s),this.m_value=s,this}mulThis(t){const s=this.m_value*t;return this.m_eps=this.m_eps*Math.abs(t)+c.ulp(s),this.m_value=s,this}mul(t){return this.clone().mulThis(t)}mulE(t){return this.clone().mulThisE(t)}setMulE(t,s){const i=t.m_value*s.m_value;return this.m_eps=t.m_eps*Math.abs(s.m_value)+s.m_eps*Math.abs(t.m_value)+t.m_eps*s.m_eps+c.ulp(i),this.m_value=i,this}setMul(t,s){return this.m_value=t*s,this.m_eps=c.ulp(this.m_value),this}setMulEN(t,s){return this.setE(t),this.mulThis(s)}setMulNE(t,s){return this.setE(s),this.mulThis(t)}mulThisByPower2(t){return this.m_value*=t,this.m_eps*=Math.abs(t),this}static st_mulByPower2(t,s){return new c(t.m_value,t.m_eps).mulThisByPower2(s)}divE(t){return this.clone().divThisE(t)}divThisE(t){const s=Math.abs(t.m_value),i=this.m_value/t.m_value;let e=(this.m_eps+Math.abs(i)*t.m_eps)/s;if(t.m_eps>.01*s){const i=t.m_eps/s;e*=1+(1+i)*i}return this.m_value=i,this.m_eps=e+c.ulp(i),this}divThis(t){const s=Math.abs(t);return this.m_value/=t,this.m_eps=this.m_eps/s+c.ulp(this.m_value),this}setDivE(t,s){return this.setE(t),this.divThisE(s)}setDiv(t,s){return this.m_value=t/s,this.m_eps=c.ulp(this.m_value),this}setDivEN(t,s){return this.setE(t),this.divThis(s)}setDivNE(t,s){return this.set(t),this.divThisE(s)}divThisByPower2(t){return this.m_value/=t,this.m_eps/=Math.abs(t),this}invThis(){return this.setE(v.clone().divThisE(this)),this}sqrt(){return this.clone().sqrtThis()}sqrtThis(){let t,s;return this.m_value>=0?(t=Math.sqrt(this.m_value),s=this.m_value>10*this.m_eps?.5*this.m_eps/t:this.m_value>this.m_eps?t-Math.sqrt(this.m_value-this.m_eps):Math.max(t,Math.sqrt(this.m_value+this.m_eps)-t),s+=c.ulp(t)):this.m_value<-this.m_eps?(t=Number.NaN,s=Number.NaN):(t=0,s=Math.sqrt(this.m_eps)),this.m_value=t,this.m_eps=s,this}sqr(){return this.clone().sqrThis()}sqrThis(){const t=this.m_value*this.m_value;return this.m_eps=2*this.m_eps*Math.abs(this.m_value)+this.m_eps*this.m_eps+c.ulp(t),this.m_value=t,this}setSin(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=s;const e=Math.abs(s),n=Math.abs(t.value());return this.m_eps=(Math.abs(i)+.5*e*t.m_eps)*t.m_eps+c.ulp(e+n),this}static ulp(t){let s=Gt(t);const i=((0x7ff0000000000000n&s)>>52n)-1075n;return i>-1023n?(s=i+0x3ffn<<52n,function(t){return kt[0]=t,Ft[0]}(s)):0===t?0:Number.MIN_VALUE}setCos(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=i;const e=Math.abs(i),n=Math.abs(t.value());return this.m_eps=(Math.abs(s)+.5*e*t.m_eps)*t.m_eps+c.ulp(e+n),this}static st_cosAndSin(t,s,i){const e=Math.sin(t.m_value),n=Math.cos(t.m_value);i.m_value=e,s.m_value=n;const r=Math.abs(e),o=Math.abs(n),h=Math.abs(t.value());i.m_eps=(Math.abs(n)+.5*r*t.m_eps)*t.m_eps+c.ulp(r+h),s.m_eps=(Math.abs(e)+.5*o*t.m_eps)*t.m_eps+c.ulp(o+h)}negate(){return this.clone().negateThis()}negateThis(){return this.m_value=-this.m_value,this}setAbs(){return this.m_value=Math.abs(this.m_value),this}isInInterval(t){return a.construct(this.m_value-this.m_eps,this.m_value+this.m_eps).isIntersecting(t)}eq(t){return Math.abs(this.m_value-t.m_value)<=this.m_eps+t.m_eps}ne(t){return!this.eq(t)}gt(t){return this.m_value-t.m_value>this.m_eps+t.m_eps}lt(t){return t.m_value-this.m_value>this.m_eps+t.m_eps}ge(t){return!this.lt(t)}le(t){return!this.gt(t)}tolEQ(t,s){return Math.abs(this.m_value-t.m_value)<=s||this.eq(t)}tolNE(t,s){return!this.tolEQ(t,s)}tolGT(t,s){return this.m_value-t.m_value>s&&this.gt(t)}tolLT(t,s){return t.m_value-this.m_value>s&&this.lt(t)}tolGE(t,s){return!this.tolLT(t,s)}tolLE(t,s){return!this.tolGT(t,s)}isZero(){return Math.abs(this.m_value)<=this.m_eps}isFuzzyZero(){return this.isZero()&&0!==this.m_eps}tolIsZero(t){return Math.abs(this.m_value)<=Math.max(this.m_eps,t)}setPi(){this.setE(d)}setEuler(){this.set(2.718281828459045,f())}static size(){return 1}}function m(t,s){const i=Ot(t),e=Ot(s),n=53-u(i),r=53-u(e);return(n>=0?n:0)+(r>=0?r:0)<=52}function y(t,s){const i=t+s;return i-t===s&&i-s===t}function x(t,s){const i=t-s;return t-i===s&&s+i===t}function f(){return _s()}c.dimensions=1;const d=new c(Math.PI,.5*f()),b=new c(0,0),v=new c(1,0),_=new c(4,0);function w(t,s,i){return t.addE(s.subE(t).mulE(i))}function N(t,s,i){return s.subE(s.subE(t).mulE(v.subE(i)))}function p(t){let s;if(0===t)s=1;else if(Math.abs(t)>.01)s=function(t){return Math.atanh(t)}(t)/t;else{let i;const e=-36.841361487904734;s=0;const n=t*t;for(let t=2*Math.trunc(e/Math.log(n)+2.5)-1;t>1;t-=2)i=1/t,s=(s+i)*n;s+=1}return s}function M(t){const s=Math.PI*Math.PI/6;let i;if(1===t)i=s;else if(t>1)i=s;else if(0===t)i=t;else if(t<0){const s=1+(t=Math.abs(t)),e=Math.log(s);i=e*e/-2-M(t/s)}else if(t>.5){const e=1-t,n=Math.log(t)*Math.log(e);i=s-M(e)-n}else{i=0;const s=1+Math.trunc(-16*Math.log(10)/Math.log(t)+1.5);let e=s;for(let n=s;n>0;n--,e-=1)i*=t,i+=1/(e*e);i*=t}return i}function g(t,s){const i=s*t;if(Math.abs(s)<.1){let s=0;for(let t=60;t>=1;t--)s*=i,s+=1/t/t;return s*=t,s}return M(i)/s}function C(t,s){return t<s?Dt(t,s):Dt(s,t)}function T(t,s){const i=Math.abs(t);return s>=0?i:-i}function R(t){return Math.round(t)}function E(t,s,i,e,n){n[0]=s[0]+(i[0]-s[0])*e,n[1]=s[1]+(i[1]-s[1])*e,3===t&&(n[2]=s[2]+(i[2]-s[2])*e)}function I(t,s,i,e,n){n[0]=i[0]-(i[0]-s[0])*(1-e),n[1]=i[1]-(i[1]-s[1])*(1-e),3===t&&(n[2]=i[2]-(i[2]-s[2])*(1-e))}function P(t,s,i,e,n){e<=.5?E(t,s,i,e,n):I(t,s,i,e,n)}function D(t,s,i,e,n){n[0]=s[0].addE(i[0].subE(s[0]).mulE(e)),n[1]=s[1].addE(i[1].subE(s[1]).mulE(e))}function A(t,s,i,e,n){n[0]=i[0].subE(i[0].subE(s[0]).mulE(v.subE(e))),n[1]=i[1].subE(i[1].subE(s[1]).mulE(v.subE(e)))}function q(t,s,i){let e;return e=i<=.5?t+(s-t)*i:s-(s-t)*(1-i),e}function z(t,s,i){return t+(s-t)*i}function S(t,s,i){return s-(s-t)*(1-i)}function Z(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i))}function F(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i,e.z=t.z+(s.z-t.z)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i),e.z=s.z-(s.z-t.z)*(1-i))}function k(t){return t*t}function B(t){return t*t*t}function L(t){return 1/Math.sqrt(t)}function G(t){return t<0?-1:t>0?1:0}function O(t,s,i,e){const n=[0],r=[0],o=[0];return tt($(t,i,n),$(s,e,r),o)+(n[0]+r[0]+o[0])}const U=[0],Q=[0];function V(t,s,i){return function(t,s,i,e){const n=tt(t,s,J),r=tt(n,i,K);return tt(r,J[0]+K[0],e)}($(t,s,U),i,U[0],Q)}const j=[0],W=[0],Y=[0],X=[0];function $(t,s,i){const e=t*s;return H(t,j,W),H(s,Y,X),i[0]=W[0]*X[0]-(e-j[0]*Y[0]-W[0]*Y[0]-j[0]*X[0]),e}function H(t,s,i){const e=134217729*t;s[0]=e-(e-t),i[0]=t-s[0]}const J=[0],K=[0];function tt(t,s,i){const e=t+s;return Math.abs(t)>Math.abs(s)?i[0]=t-e+s:i[0]=s-e+t,e}function st(t,s){return t%s}function it(t){const s=1-t;if(0===s)return 1;let i;if(s<=.01){const t=s,e=Math.log(t);i=1+t*(.4431471805599453-.25*e+t*(.05680519270997949-.09375*e+t*(.02183137044373718-.05859375*e+t*(.011544521417308362-.042724609375*e+t*(.00714200031339596-.0336456298828125*e+t*(.004854743337164948-.027757644653320312*e+t*(.003514687963781376-.023627042770385742*e)))))))}else{if(t<.016){const s=t,i=.25,e=.046875,n=.01953125,r=.01068115234375,o=.0067291259765625,h=.004626274108886719,u=.0033752918243408203,a=.0025710230693221092;return Ts()*(1-s*(i+s*(e+s*(n+s*(r+s*(o+s*(h+s*(u+s*a))))))))}i=rt(0,s,1)-t*ot(0,s,1)/3}return Ns(i,1,Ts())}function et(t,s,i=Number.NaN){if((0,e.g)(s>=0&&s<=1),0===s)return t;let n=1,r=t;if(r<0&&(r=-r,n=-1),1===s){const t=Math.round(r/gs()),s=r-t*gs();return n*(2*t+Math.sin(s))}const o=Ts(),h=Math.floor(r/o);1&h?r=(h+1)*o-r:r-=h*o;const u=Math.sin(r),a=Number.isNaN(i)?it(s):i;let l;if(1===u)l=a+Math.sqrt(1-s)*(r-o);else{const t=r*r;if(.01424*Math.pow(t,4)<=2*_s())l=r*(1+t*s*(-1/6+t*((4-3*s)/120-(16+(45*s-60)*s)/5040*t)));else if(s<=.01){const t=Math.sin(2*r),i=Math.sin(4*r),e=Math.sin(6*r),n=Math.sin(8*r),o=Math.sin(10*r);l=r+s*((2*-r+t)/8+s*((-3*r+2*t-.25*i)/64+s*((-20*r+15*t-3*i+e/3)/1024+s*(5*(-140*r+112*t-28*i+16/3*e-.5*n)/65536+7*s*((-63*r+52.5*t-15*i+3.75*e-.625*n+.05*o)/65536+s*(-693*r+594*t-185.625*i+1.375*e-12.375*n+1.8*o-.125*Math.sin(12*r))/1048576)))))}else{const t=u*u,i=Math.cos(r),e=i*i,n=ht(u,i,s);l=u*(rt(e,n,1)-s*t*ot(e,n,1)/3)}}return 1&h?l=a*(h+1)-l:l+=a*h,n*l}function nt(t,s,i=Number.NaN){if(0===t)return 0;let e=1,n=t;t<0&&(n=-n,e=-1);const r=Number.isNaN(i)?it(s):i,o=Math.floor(n/r);1&o?n=(o+1)*r-n:n-=o*r;let h=n<=0?0:n>=r?Ts():function(t,s,i){if(0===s)return t;if(1===s)return Math.asin(t);let e=0,n=!0;if(t<.2){const i=t*t,r=t*(1+i*s*(1/6+i*((13*s-4)/120+(16-284*s+493*s*s)/5040*i))),o=Math.abs(s*(4944*s-64-31224*s*s+37369*s*s*s)/362880*Math.pow(t,9));if(o<Math.abs(r)*_s())return r;e=r,n=o>.1*r}if(n){const n=1-s,r=1-t/i,o=Math.sqrt(r*r+n*n),h=Math.atan2(n,t+_s());e=Ts()+Math.sqrt(o)*(h-Ts())}let r=0;for(let n=0;n<7;n++){r=et(e,s,i);const o=ht(Math.sin(e),Math.cos(e),s);if(e-=(r-t)/Math.sqrt(o),n>0&&Math.abs(r-t)<=4*_s()*t)break}return e}(n,s,r);return 1&o?h=Ts()*(o+1)-h:h+=Ts()*o,e*h}function rt(t,s,i){(0,e.g)((0!==t?1:0)+(0!==s?1:0)+1>1);let n=t,r=s,o=i;for(;;){const t=Math.sqrt(n*r)+Math.sqrt(r*o)+Math.sqrt(o*n);n=.25*(n+t),r=.25*(r+t),o=.25*(o+t);const s=(n+r+o)/3,i=(s-n)/s,e=(s-r)/s,h=(s-o)/s;if(Math.abs(i)<=.0024&&Math.abs(e)<=.0024&&Math.abs(h)<=.0024){const t=i*e-h*h,n=i*e*h;return(1+(1/24*t-.1-3/44*n-5*t*t/208+t*n/16)*t+(1/14+3*n/104)*n)/Math.sqrt(s)}}}function ot(t,s,i){(0,e.g)(0!==t||0!==s);let r=t,o=s,h=i;const u=new n(0);let a=1;for(;;){const t=.2*(r+o+3*h),s=(t-r)/t,i=(t-o)/t,e=(t-h)/t;if(Math.abs(s)<=.0015&&Math.abs(i)<=.0015&&Math.abs(e)<=.0015){const n=s*i,r=e*e,o=n-r,h=n-6*r,l=h+o+o,c=3/26,m=h*(9/22*.25*h-.21428571428571427-1.5*c*e*l),y=e*(1/6*l+e*(-.4090909090909091*o+e*c*n));return 3*u.getResult()+a*(1+m+y)/(t*Math.sqrt(t))}const n=Math.sqrt(r),l=Math.sqrt(o),c=Math.sqrt(h),m=n*(l+c)+l*c;u.add(a/(c*(h+m))),a*=.25,r=.25*(r+m),o=.25*(o+m),h=.25*(h+m)}}function ht(t,s,i){return t<.999?1-i*k(t):1-i+i*k(s)}function ut(t,s,i,n,r){return 0===t?0===n?s:1===n?i:r:1===t?0===n?s:1===n?i:q(s,i,n):(2===t&&(0,e.b)("angular interpolation"),void(0,e.b)(""))}function at(t,s,i,n,r,o,h,u){if(0===t)for(let t=0;t<o;++t)n[t+r]=0===h?s[t]:1===h?i[t]:u;else if(1===t)if(0===h)lt(n,s,r,0,o);else if(1===h)lt(n,i,r,0,o);else for(let t=0;t<o;++t)n[t+r]=q(s[t],i[t],h);else if(2===t)if(0===h)lt(n,s,r,0,o);else if(1===h)lt(n,i,r,0,o);else{let t=0;for(let e=0,u=r;e<o;++e,++u)n[u]=q(s[e],i[e],h),t+=n[u]*n[u];if(t>0){t=Math.sqrt(t);for(let s=r;s<r+o;++s)n[s]/=t}else{for(let t=r;t<r+o;++t)n[t]=0;n[r]=1}}else(0,e.b)("")}function lt(t,s,i,e,n){if(0===n)return;let r=0,o=i,h=e;for(;r++<n;)t[o++]=s[h++]}function ct(t,s,i){let e=0;for(let n=0;!e&&n<i;++n)e=t[n]-s[n];return e}function mt(t,s){return t}function yt(t){t.sort(((t,s)=>t<s?-1:t>s?1:0))}function xt(t,s){const i=t.slice(0,s);yt(i),lt(t,i,0,0,s)}function ft(t,s,i,e){const n=t.slice(s,s+i);n.sort(e),lt(t,n,s,0,i)}function dt(t,s){return t<s?-1:t>s?1:0}function bt(t,s,i,e){return t<i?-1:t>i?1:s<e?-1:s>e?1:0}function vt(t,s){if(t.length<2)return t.length;let i=0;for(let e=1;e<t.length;++e)s(t[e],t[i])||(i++,t[e]=mt(t[i],t[i]=t[e]));return 1+i}function _t(t,s){t[s]=t.at(-1),t.pop()}function wt(t,s=!1){return{[Symbol.dispose](){this.bForget||t()},bForget:s}}function Nt(t,s,i){t.length=s,t.fill(i)}function pt(t,s,i){t.length=i;for(let e=0;e<i;++e)t[e]=new s}function Mt(t,s){const i=new Array(s);for(let e=0;e<s;++e)i[e]=new t;return i}function gt(t,s,i){for(let e=0;e<i;++e)t[e].assign(s[e]);return i}function Ct(t,s){const i=t.slice(0,s);for(let t=0;t<s;++t)i[t]=i[t].clone();return i}function Tt(t){return Array.from({length:t},(()=>null))}function Rt(t,s){return Array.from({length:s},(()=>t()))}function Et(t,s){const i=new Array(t);return i.fill(s),i}function It(t,s){return s in t&&1===Object.getOwnPropertyNames(t).length}class Pt{constructor(...t){this.m_elts=t}get length(){return this.m_elts.length}at(t){return this.m_elts[t]}[Symbol.dispose](){for(const t of this.m_elts)t[Symbol.dispose]()}}function Dt(t,s){return{first:t,second:s}}const At=Math.PI,qt=2*Math.PI,zt=.5*Math.PI;class St{constructor(t,s){this.m_cr=t,this.m_cc=s,this.m_v=Et(t*s,0)}get(t,s){return this.m_v[t*this.m_cc+s]}set(t,s,i){this.m_v[t*this.m_cc+s]=i}inc(t,s){return++this.m_v[t*this.m_cc+s]}}const Zt=new ArrayBuffer(8),Ft=new Float64Array(Zt),kt=new BigUint64Array(Zt),Bt=0x0fffffffffffffn;function Lt(){return Number.EPSILON*fs}function Gt(t){return Ft[0]=t,kt[0]}function Ot(t){return Gt(t)&Bt}function Ut(t){return Number((9218868437227405312n&Gt(t))>>52n)}function Qt(t){if(0n===t)return-1n;if(1n===t||-1n===t)return 0n;t<0n&&(t=-t);let s=0n,i=512n,e=1n<<s+i;for(;t>=e;)s+=i,i<<=1n,e<<=i;let n=s;i>>=1n;let r=n+i;for(;i>0n;)t<1n<<r||(n=r),i>>=1n,r=n+i;return n}function Vt(t,s){return t===s||Number.isNaN(t)&&Number.isNaN(s)}function jt(t,s,i){return t===s||Math.abs(t-s)<=i||Number.isNaN(t)&&Number.isNaN(s)}function Wt(t,s){return t<s?-1:t>s?1:0}function Yt(t,s){if(t<s)return-1;if(t>s)return 1;if(t===s)return 0;{const i=Number.isNaN(t),e=Number.isNaN(s);return i<e?-1:i>e?1:0}}function Xt(){return 2147483647}function $t(){return 32767}function Ht(){return 2147483647}function Jt(){return-2147483648}const Kt=2147483647,ts=BigInt(Kt),ss=2166136261,is=16777619,es=14695981039346656037n,ns=1099511628211n;function rs(t){let s=ss;for(let i=0,e=t.length;i<e;++i)s=(s^t.charCodeAt(i))*is;return s&Kt}function os(t,s){return s+2654435769+(t<<6)+(t>>2)&Kt}function hs(t,s){return os(t,cs(s))}function us(t){return os(3735928559,t)}function as(t,s){return os(t,us(s))}function ls(t){return function(t){let s=ss,i=t;return s=(s^255&i)*is,i>>=8,s=(s^255&i)*is,i>>=8,s=(s^255&i)*is,i>>=8,s=(s^255&i)*is,s&Kt}(t)}function cs(t){return Number(function(t){let s=es,i=t;return s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,s&ts}(t))}function ms(t){return cs(Gt(function(t){return Is(t)}(t)))}function ys(t){return function(t){return 1103515245*t+12345&2147483647}(t)}const xs=100,fs=100;function ds(){return Number.EPSILON*xs}function bs(){return.38196601125010515}function vs(){return 1.4142135623730951}function _s(){return Number.EPSILON}function ws(t,s,i){return t===s||t===i}function Ns(t,s,i){return t>=s?t<=i?t:i:s}function ps(t,s,i){const e=t[0];if(e>=s){if(e<=i)return!1;t[0]=i}else t[0]=s;return!0}function Ms(t,s){return t>=s?s:t<-s?-s:t}function gs(){return At}function Cs(){return qt}function Ts(){return zt}const Rs=3*Ts();function Es(){return Rs}function Is(t){return t+0}function Ps(t){return{v:t}}class Ds{constructor(){this.m_rn=Ps(0n),this.m_rd=Ps(1n),this.m_bNaN=!1,this.m_bNormalized=!1,this.m_power=0,this.m_sign=0}static constructAssign(t,s){const i=t.clone();return void 0!==s&&i.limitPrecisionThis(s),i}static constructDouble(t){return(new Ds).setDouble(t)}static constructInt64(t){return(new Ds).setInt64(t)}static constructRational(t,s){return(new Ds).setRational(t,s)}static constructInt32(t){return this.constructInt64(BigInt(Math.trunc(t)))}[Symbol.toPrimitive](t){return this}compare(t){return this.lt(t)?-1:this.gt(t)?1:0}assignCopy(t){return this.setThis(t)}abs(){return this.clone().absThis()}absThis(){return this.isNAN()||(this.m_sign*=this.m_sign),this}clone(){return(new Ds).setThis(this)}setThis(t){return this.m_bNaN=t.m_bNaN,this.m_bNormalized=t.m_bNormalized,this.m_rn.v=t.m_rn.v,this.m_rd.v=t.m_rd.v,this.m_power=t.m_power,this.m_sign=t.m_sign,this}setZero(){return this.m_rn.v=0n,this.m_rd.v=1n,this.m_bNaN=!1,this.m_power=0,this.m_bNormalized=!0,this.m_sign=0,this}setDouble(t){if(this.setZero(),0===t)return this;if(Number.isInteger(t)&&Math.abs(t)<2147483647)return this.setInt32(t);const s=Gt(t),i=(s&Ds.s_em)>>52n,n=!!(s&Ds.s_sm),r=s&Ds.s_fm;if(i===Ds.s_emax)return r?(this.m_rn.v=this.m_rd.v=0n,this.m_bNaN=!0,this):(this.m_rn.v=n?-1n:1n,this.m_rd.v=0n,this);0n===i&&(0,e.b)("denormalized numbers not yet implemented");const o=i-1023n,h=o>=0n?o:0n,u=o<0n?-o:0n;return this.m_rn.v=(1n<<52n|r)<<h,this.m_rd.v=1n<<52n+u,this.m_sign=n?-1:1,this.m_bNormalized=!1,this.normalizeThis()}setInt64(t){return 0n===t?this.setZero():(this.m_bNaN=!1,this.m_sign=t>0n?1:-1,this.m_rn.v=t>0n?t:-t,this.m_rd.v=1n,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setRational(t,s){return 0n===t?0n===s?this.setNAN():this.setZero():0n===s?t>0n?this.setPositiveInf():this.setNegativeInf():(this.m_sign=(t>0n?1:-1)*(s>0n?1:-1),this.m_rn.v=t>0n?t:-t,this.m_rd.v=s>0n?s:-s,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setInt32(t){return this.setInt64(BigInt(Math.trunc(t)))}getDouble(){return this.convertToDouble()}toDouble(){return this.convertToDouble()}value(){return this.convertToDouble()}isNAN(){return this.m_bNaN}isPositiveInf(){return!this.isNAN()&&0n===this.m_rd.v&&1===this.m_sign}isNegativeInf(){return!this.isNAN()&&0n===this.m_rd.v&&-1===this.m_sign}isFinite(){return!this.isNAN()&&0n!==this.m_rd.v}setNAN(){return this.m_bNaN=!0,this.m_rn.v=0n,this.m_rd.v=0n,this.m_power=0,this.m_bNormalized=!0,this}setPositiveInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=1,this.m_power=0,this}setNegativeInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=-1,this.m_power=0,this}subThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())this.setNAN();else{if(this.isPositiveInf()&&t.isNegativeInf())return this.setPositiveInf(),this;if(this.isNegativeInf()&&t.isNegativeInf())this.setNAN();else if(this.isNegativeInf()&&t.isPositiveInf())return this.setNegativeInf(),this}return this.isNAN()?this:this.opPlusMinus(t,!1)}thisSubAbs(t){return(0,e.g)(0),this}mulThis(t){return t.isNAN()&&this.setNAN(),this.isNAN()?this:(this.m_sign*=t.m_sign,0===this.m_sign?this.setZero():(this.m_rn.v*=t.m_rn.v,this.m_rd.v*=t.m_rd.v,this.m_power+=t.m_power,this.m_bNormalized=!1,this.normalizeThis(),this))}mulDoubleThis(t){return this.mulThis(Ds.constructDouble(t))}thisMulInt64(t){return(0,e.g)(0),this}thisMulInt32(t){return(0,e.g)(0),this}divThis(t){return this.mulThis(t.clone().invertThis())}divDoubleThis(t){return this.divThis(Ds.constructDouble(t))}addDoubleThis(t){return this.addThis(Ds.constructDouble(t))}subDoubleThis(t){return this.subThis(Ds.constructDouble(t))}mul(t){return this.clone().mulThis(t)}mulBigIntThis(t){return this.mulThis(Ds.constructInt64(t))}mulDouble(t){return this.clone().mulThis(Ds.constructDouble(t))}div(t){return this.clone().divThis(t)}divDouble(t){return this.clone().divDoubleThis(t)}add(t){return this.clone().addThis(t)}fmSubThis(t,s){return this.subThis(t.clone().mulThis(s))}fmAddThis(t,s){return this.addThis(t.clone().mulThis(s))}addThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())return this.setPositiveInf(),this;if(this.isPositiveInf()&&t.isNegativeInf())this.setNAN();else{if(this.isNegativeInf()&&t.isNegativeInf())return this.setNegativeInf(),this;this.isNegativeInf()&&t.isPositiveInf()&&this.setNAN()}return this.isNAN()?this:this.opPlusMinus(t,!0)}addDouble(t){return this.clone().addThis(Ds.constructDouble(t))}sub(t){return this.clone().subThis(t)}subDouble(t){return this.clone().subThis(Ds.constructDouble(t))}isZero(){return 0===this.m_sign}equals(t){return this.clone().subThis(t).isZero()}lt(t){return!this.isNAN()&&!t.isNAN()&&!(this.isPositiveInf()&&t.isPositiveInf()||this.isNegativeInf()&&t.isNegativeInf())&&!this.isPositiveInf()&&(!!t.isPositiveInf()||this.clone().sub(t).LZ())}absLessAbs(t){return this.abs().lt(t.abs())}gt(t){return this.clone().sub(t).GZ()}lte(t){return this.sub(t).LEZ()}gte(t){return this.sub(t).GEZ()}normalizeThis(){if(this.m_bNormalized)return this;if(0n===this.m_rn.v)return this.setZero();let t=0,s=0xffffffffn;for(;0n===(this.m_rn.v&s)&&s<=this.m_rn.v;)s<<=32n,t+=32;s&=this.m_rn.v,s>>=BigInt(t),t+=h(BigInt.asUintN(32,s))-1;let i=0;for(s=0xffffffffn;0n===(this.m_rd.v&s)&&s<=this.m_rd.v;)s<<=32n,i+=32;return s&=this.m_rd.v,s>>=BigInt(i),i+=h(BigInt.asUintN(32,s))-1,this.m_rn.v>>=BigInt(t),this.m_rd.v>>=BigInt(i),this.m_power+=t-i,this.m_rn.v>1n&&this.m_rd.v>1n&&(this.m_rn.v%this.m_rd.v===0n?(this.m_rn.v/=this.m_rd.v,this.m_rd.v=1n):this.m_rd.v%this.m_rn.v===0n&&(this.m_rd.v/=this.m_rn.v,this.m_rn.v=1n)),this.m_bNormalized=!0,this}negateThis(){return this.isNAN()||(this.m_sign*=-1),this}negate(){return this.clone().negateThis()}invertThis(){return this.isNAN()?this:this.isPositiveInf()||this.isNegativeInf()?(this.setZero(),this):0n===this.m_rn.v?(this.setPositiveInf(),this):(this.m_rd=mt(this.m_rn,this.m_rn=this.m_rd),this.m_power=-this.m_power,this)}limitPrecisionThis(t){if(0===t)return this;if(this.isZero())return this.setZero();if(!this.isFinite())return this;this.normalizeThis();let s=Number(Qt(this.m_rn.v));if(s>t){const i=s-t;this.m_rn.v>>=BigInt(s-t),this.m_power+=i}if(s=Number(Qt(this.m_rd.v)),s>t){const i=s-t;this.m_rd.v>>=BigInt(s-t),this.m_power-=i}return this}hiBitIndex(){return Math.max(Number(Qt(this.m_rn.v)),Number(Qt(this.m_rd.v)))}ldexp(t){return this.clone().ldexpThis(t)}ldexpThis(t){return t&&(this.m_bNormalized=!1,this.m_power+=t,this.normalizeThis()),this}LZ(){return!this.isNAN()&&-1===this.m_sign}GZ(){return!this.isNAN()&&1===this.m_sign}LEZ(){return!this.isNAN()&&this.m_sign<=0}GEZ(){return!this.isNAN()&&this.m_sign>=0}toString(){return this.toDouble().toString()}sqr(){return this.clone().sqrThis()}sqrThis(){return this.mulThis(this.clone())}static sqrt(t,s){if(t.m_sign<0n&&(0,e.n)("MP_value: sqrt(-1)"),t.isZero())return t.clone();let i=52,n=2220446049250313e-31;for(;i<s;)2*i<=s?(n*=n,i*=2):(n*=2220446049250313e-31,i+=52);i+=52;const r=Qt(t.m_rn.v),o=Qt(t.m_rd.v);let h,u=t.m_power+Number(r-o);const a=new Ds;Math.abs(u)>200?(1&Math.abs(u)&&(u+=1),h=Ds.constructAssign(t,53).ldexpThis(-u).value(),a.setThis(t).ldexpThis(-u),(0,e.g)(Number.isFinite(h))):(a.setThis(t),h=a.value(),(0,e.g)(Number.isFinite(h)),u=0),h=Math.sqrt(h);const l=Ds.constructDouble(h),c=Ds.constructDouble(n);c.mulThis(l).ldexpThis(1);const m=n*h*2,y=l.clone(),x=new Ds;let f;for(let t=0;t<10;++t){y.mulThis(l),x.setThis(a).subThis(y).absThis();let t=x.value();if(f=1,t<.9)for(;t>m;)t*=t,++f;else f=4;if(x.lte(c))break;for(let t=0;t<f;t++)y.setThis(l).divThis(a).invertThis().addThis(l).ldexpThis(-1).limitPrecisionThis(i),l.setThis(y)}return l.ldexpThis(u/2)}static cubicRoot(t,s){if(t.isZero())return t.clone();let i=52,e=2220446049250313e-31;for(;i<s;)2*i<=s?(e*=e,i*=2):(e*=2220446049250313e-31,i+=52);i+=52;const n=Math.pow(Math.abs(t.value()),1/3),r=Ds.constructDouble(n),o=r.clone();o.sqrThis().mulDoubleThis(3).mulDoubleThis(e),o.limitPrecisionThis(32),t.LZ()&&r.negateThis();for(let s=0;s<10;++s){const s=r.clone();s.sqrThis().mulThis(r);const e=s.clone();if(e.subThis(t),e.absThis().limitPrecisionThis(32),e.lte(o))break;e.setThis(t),e.ldexpThis(1),e.addThis(s);const n=s.clone();n.ldexpThis(1),n.addThis(t),e.divThis(n),r.mulThis(e),r.limitPrecisionThis(i)}return r}isInTheRangeOfDouble(){return(0,e.g)(0),!1}sign(){return this.m_sign}cosAndSin(t,s){(0,e.g)(0)}static nan(){return(0,e.g)(0),new Ds}convertToDouble(){if(this.m_bNaN)return Number.NaN;if(this.isZero())return 0;if(0n===this.m_rd.v)return 1===this.m_sign?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;const t=-1===this.m_sign,s=this.m_rn.v<<(this.m_power>=0?BigInt(this.m_power):0n);let i=this.m_rd.v<<(this.m_power<0?BigInt(-this.m_power):0n);const e=s/i;let n=Number(e);if(BigInt(n)!==e)return t?-n:n;let r=s-e*i;if(r){let t=Qt(i)-1023n;t>0n&&(i>>=t,r<<=52n,r>>=t);let s=Number(r);Number.isFinite(s)||(r>>=52n,s=Number(r),t=0n),t>0n&&(s/=Math.pow(2,52)),n+=s/Number(i)}return t?-n:n}signVal(){return 1===this.m_sign?1n:-1===this.m_sign?-1n:0n}opPlusMinus(t,s){const i=Math.min(this.m_power,t.m_power);let e,n;this.m_power>i?(e=BigInt(this.m_power-i),n=0n):(e=0n,n=BigInt(t.m_power-i));const r=this.signVal()*this.m_rn.v*t.m_rd.v<<e,o=t.signVal()*t.m_rn.v*this.m_rd.v<<n;return this.m_rn.v=s?r+o:r-o,this.m_rd.v*=t.m_rd.v,this.m_power=i,this.m_sign=1,this.m_rn.v<0n&&(this.m_sign=-1,this.m_rn.v=-this.m_rn.v),this.m_bNormalized=!1,this.normalizeThis(),this}}Ds.s_sm=0x8000000000000000n,Ds.s_em=0x7ff0000000000000n,Ds.s_fm=0x000fffffffffffffn,Ds.s_emax=0x7ffn;const As=Ds.constructInt32(1),qs=Ds.constructInt32(0);function zs(t,s){let i=Ut(t);const e=Ut(s);return i===e?(i-=53-function(t,s){return function(t){let s=0;return 0xffffffff00000000n&t&&(s=32,t>>=32n),s+function(t){let s=0;return 4294901760n&t&&(s+=16,t>>=16n),65280n&t&&(s+=8,t>>=8n),240n&t&&(s+=4,t>>=4n),s+o[Number(BigInt.asUintN(4,t))]+1}(t)}(t^s)}(Ot(t),Ot(s)),i):i>e?i:e}function Ss(t,s){for(let i=0,e=0,n=t.length;i<n;i+=2,e++)s[e].x=t[i],s[e].y=t[i+1]}function Zs(t){const s=new Float64Array(2*t.length);for(let i=0,e=t.length;i<e;++i){const e=i<<1;s[e]=t[i].x,s[e+1]=t[i].y}return s}function Fs(t){const s=Mt(ks,t.length);for(let i=0,e=t.length;i<e;++i)s[i].setCoords(t[i][0],t[i][1]);return s}class ks{static construct(t,s){return new ks(t,s)}constructor(t,s){void 0!==t?(this.x=t,this.y=s):this.x=this.y=Number.NaN}clone(){return new ks(this.x,this.y)}assign(t){this.setCoordsPoint2D(t)}setCoords(t,s){return this.x=t,this.y=s,this}setCoordsPoint2D(t){this.x=t.x,this.y=t.y}isEqualPoint2D(t,s){return void 0!==s?Math.abs(this.x-t.x)<=s&&Math.abs(this.y-t.y)<=s:this.x===t.x&&this.y===t.y}isEqual(t,s,i){return void 0!==i?Math.abs(this.x-t)<=i&&Math.abs(this.y-s)<=i:this.x===t&&this.y===s}equalsPoint2D(t,s){return this.isEqualPoint2D(t,s)}setSub(t,s){this.x=t.x-s.x,this.y=t.y-s.y}addThis(t){return this.x+=t.x,this.y+=t.y,this}setAdd(t,s){return this.x=t.x+s.x,this.y=t.y+s.y,this}absoluteOther(t){}absolute(){return(0,e.g)(0),this}setNegate(){this.x=-this.x,this.y=-this.y}setNegateOther(t){this.x=-t.x,this.y=-t.y}interpolateThis(t,s){}interpolate(t,s,i){(0,e.g)(0)}scaleAddThis(t,s){this.x=this.x*t+s.x,this.y=this.y*t+s.y}setScaleAdd(t,s,i){this.x=s.x*t+i.x,this.y=s.y*t+i.y}scaleOther(t,s){(0,e.g)(0)}scale(t){this.x*=t,this.y*=t}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:0}compareX(t){return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0}normalizeOther(t){(0,e.g)(0)}normalize(){const t=this.length();return t?(this.x/=t,this.y/=t):(this.x=1,this.y=0),this}getUnitVector(){return this.clone().normalize()}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}sqrLength(){return this.x*this.x+this.y*this.y}static averageFast(t,s){return(0,e.g)(0),{}}static average(t,s){const i=new ks;if(0===s)return i.setNAN(),i;if(1===s)return i.assign(t[0]),i;const e=new n(t[0].x),r=new n(t[0].y);for(let i=1;i<s;i++)e.add(t[i].x),r.add(t[i].y),255&i||(e.normalize(),r.normalize());return i.x=e.getResult()/s,i.y=r.getResult()/s,i}static calculateLength(t,s){const i=new n(0);for(let e=1;e<s;e++)i.add(ks.distance(t[e],t[e-1]));return i.getResult()}offset(t,s){const i=ks.distance(t,s),e=ks.construct(this.x,this.y);if(0===i)return ks.distance(e,t);const n=s.clone();return n.subThis(t),e.subThis(t),e.crossProduct(n)/i}side(t,s){return t.equals(s)?this.equals(t)?0:1:ks.orientationRobust(s,t,this)}static sqrDistance(t,s){const i=t.x-s.x,e=t.y-s.y;return i*i+e*e}static sqrDistanceCoords(t,s,i,e){const n=i-t,r=e-s;return n*n+r*r}static distance(t,s){return Math.sqrt(ks.sqrDistance(t,s))}dotProduct(t){return this.x*t.x+this.y*t.y}dotProductAbs(t){return Math.abs(this.x*t.x)+Math.abs(this.y*t.y)}crossProduct(t){return this.x*t.y-this.y*t.x}crossProductAbs(t){return(0,e.g)(0),0}rotateDirect(t,s){const i=this.x*t-this.y*s,e=this.x*s+this.y*t;this.x=i,this.y=e}rotateReverse(t,s){const i=this.x*t+this.y*s,e=-this.x*s+this.y*t;this.x=i,this.y=e}leftPerpendicularThis(){const t=this.x;this.x=-this.y,this.y=t}leftPerpendicularOther(t){const s=t.x;this.x=-t.y,this.y=s}rightPerpendicularThis(){const t=this.x;this.x=this.y,this.y=-t}rightPerpendicularOther(t){const s=t.x;this.x=t.y,this.y=-s}equals(t){return this.x===t.x&&this.y===t.y}notequals(t){return this.x!==t.x||this.y!==t.y}not(){return!this.x&&!this.y}gt(t){return this.y>t.y||this.y===t.y&&this.x>t.x}gte(t){return!this.lt(t)}lt(t){return this.y<t.y||this.y===t.y&&this.x<t.x}lte(t){return!this.gt(t)}subThis(t){return this.x-=t.x,this.y-=t.y,this}divThis(t){return this.x/=t,this.y/=t,this}add(t){return new ks(this.x+t.x,this.y+t.y)}sub(t){return new ks(this.x-t.x,this.y-t.y)}negateThis(){return this.x=-this.x,this.y=-this.y,this}negate(){return new ks(-this.x,-this.y)}mul(t){return new ks(this.x*t,this.y*t)}mulThis(t){return this.x*=t,this.y*=t,this}divide(t){return new ks(this.x/t,this.y/t)}setNAN(){this.x=this.y=Number.NaN}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)}static getNAN(){return new ks(Number.NaN,Number.NaN)}isFinite(){return Number.isFinite(this.x)&&Number.isFinite(this.y)}isZero(){return 0===this.x&&0===this.y}norm(t){switch(t){case 0:{const t=Math.abs(this.x),s=Math.abs(this.y),i=t-s;return i>=0?t:i<=0?s:Number.NaN}case 1:return Math.abs(this.x)+Math.abs(this.y);case 2:return Math.sqrt(this.x*this.x+this.y*this.y);default:(0,e.t)("norm")}}getQuarter(){return ks.getQuarterCoords(this.x,this.y)}static getQuarterCoords(t,s){return t>0?s>=0?1:4:s>0?2:0===t?4:3}static compareVectors(t,s){const i=t.getQuarter(),e=s.getQuarter();return e===i?ks.orientationRobustImpl(ks.construct(0,0),s,t,!0):i<e?-1:1}static compareVectorsOrigin(t,s,i){const e=s.sub(t),n=i.sub(t),r=e.getQuarter(),o=n.getQuarter();return o===r?ks.orientationRobustImpl(t,i,s,!0):r<o?-1:1}static orientationRobust(t,s,i){return ks.orientationRobustImpl(t,s,i,!1)}static orientationRobustEx(t,s,i,e){if(t.equals(s)||i.equals(e))return 0;const n=s.x-t.x,r=s.y-t.y,o=e.x-i.x,h=e.y-i.y;{const t=ks.getQuarterCoords(n,r)-1,s=ks.getQuarterCoords(o,h)-1,i=ks.d[t][s];if(0!==i)return i}const u=n*h,a=r*o,l=4*_s()*(Math.abs(u)+Math.abs(a)),c=u-a;return Math.abs(c)>=l?c<0?-1:c>0?1:0:ks.orientationRobustExMp(t,s,i,e)}static orientationRobustExMp(t,s,i,e){const n=Ds.constructDouble(s.x),r=Ds.constructDouble(e.x);n.subThis(Ds.constructDouble(t.x)),r.subThis(Ds.constructDouble(i.x));const o=Ds.constructDouble(s.y),h=Ds.constructDouble(e.y);return o.subThis(Ds.constructDouble(t.y)),h.subThis(Ds.constructDouble(i.y)),n.mulThis(h),o.mulThis(r),n.subThis(o),n.LZ()?-1:n.GZ()?1:0}static orientationNonRobust(t,s,i){const e=s.sub(t).crossProduct(i.sub(t));return e<0?-1:e>0?1:0}static orientationRobustImpl(t,s,i,e){if(s.isEqualPoint2D(t)||i.isEqualPoint2D(t)||s.isEqualPoint2D(i))return 0;const n=s.x-t.x,r=s.y-t.y,o=i.x-t.x,h=i.y-t.y;if(!e){const t=ks.getQuarterCoords(n,r)-1,s=ks.getQuarterCoords(o,h)-1,i=ks.d[t][s];if(0!==i)return i}const u=(Math.abs(n)+Math.abs(r)+Math.abs(o)+Math.abs(h))*(Math.abs(s.x)+Math.abs(s.y)+Math.abs(i.x)+Math.abs(i.y))*8*f(),a=n*h-r*o;if(Math.abs(a)>u)return a<0?-1:1;if(x(s.x,t.x)&&x(i.y,t.y)&&x(s.y,t.y)&&x(i.x,t.x)&&m(n,h)&&m(r,o)){const t=n*h,s=r*o;if(x(t,s)){const i=t-s;return i<0?-1:i>0?1:0}}return ks.orientationRobustMp(t,s,i)}static orientationRobustMp(t,s,i){const e=Ds.constructDouble(s.x),n=Ds.constructDouble(i.x);{const s=Ds.constructDouble(t.x);e.subThis(s),n.subThis(s)}const r=Ds.constructDouble(i.y),o=Ds.constructDouble(s.y);{const s=Ds.constructDouble(t.y);r.subThis(s),o.subThis(s)}return e.mulThis(r),o.mulThis(n),e.subThis(o),e.LZ()?-1:e.GZ()?1:0}static inCircleRobust(t,s,i,e){const n=new c,r=new c;n.set(t.x),n.subThis(e.x),r.set(t.y),r.subThis(e.y);const o=new c,h=new c;o.set(s.x),o.subThis(e.x),h.set(s.y),h.subThis(e.y);const u=new c,a=new c;u.set(i.x),u.subThis(e.x),a.set(i.y),a.subThis(e.y);const l=n.mulE(h).subE(r.mulE(o)),m=o.mulE(a).subE(h.mulE(u)),y=n.mulE(a).subE(r.mulE(u)),x=n.mulE(n).addE(r.mulE(r)),f=o.mulE(o).addE(h.mulE(h)),d=u.mulE(u).addE(a.mulE(a)),b=x.mulE(m).subE(f.mulE(y)).addE(d.mulE(l));if(!b.isFuzzyZero()){const t=b.value();return t<0?-1:t>0?1:0}return ks.inCircleRobustMp(t,s,i,e)}static inCircleRobustMp(t,s,i,e){do{if(!x(t.x,e.x)||!x(t.y,e.y))break;if(!x(s.x,e.x)||!x(s.y,e.y))break;if(!x(i.x,e.x)||!x(i.y,e.y))break;const n=t.x-e.x,r=t.y-e.y,o=s.x-e.x,h=s.y-e.y,u=i.x-e.x,a=i.y-e.y;if(!m(n,h)||!m(r,o))break;if(!m(o,a)||!m(h,u))break;if(!m(n,a)||!m(r,u))break;if(!m(n,n)||!m(r,r))break;if(!m(o,o)||!m(h,h))break;if(!m(u,u)||!m(a,a))break;const l=n*h,c=r*o,f=o*a,d=h*u,b=n*a,v=r*u,_=n*n,w=r*r,N=o*o,p=h*h,M=u*u,g=a*a;if(!x(l,c))break;if(!x(f,d))break;if(!x(b,v))break;if(!y(_,w))break;if(!y(N,p))break;if(!y(M,g))break;const C=l-c,T=f-d,R=b-v,E=_+w,I=N+p,P=M+g;if(!m(E,T))break;if(!m(I,R))break;if(!m(P,C))break;const D=E*T,A=I*R,q=P*C;if(!x(D,A))break;const z=D-A;if(!y(z,q))break;const S=z+q;return S<0?-1:S>0?1:0}while(0);const n=Ds.constructDouble(e.x),r=Ds.constructDouble(e.y),o=Ds.constructDouble(t.x),h=Ds.constructDouble(t.y);o.subThis(n),h.subThis(r);const u=Ds.constructDouble(s.x),a=Ds.constructDouble(s.y);u.subThis(n),a.subThis(r);const l=Ds.constructDouble(i.x),c=Ds.constructDouble(i.y);l.subThis(n),c.subThis(r);const f=o.mul(a).sub(h.mul(u)),d=u.mul(c).sub(a.mul(l)),b=o.mul(c).sub(h.mul(l)),v=o.mul(o).add(h.mul(h)),_=u.mul(u).add(a.mul(a)),w=l.mul(l).add(c.mul(c)),N=v.mul(d).sub(_.mul(b)).add(w.mul(f));return N.LZ()?-1:N.GZ()?1:0}static inCircleRobustMp3Point(t,s,i){const e=Ds.constructDouble(t.x),n=Ds.constructDouble(t.y),r=Ds.constructDouble(s.x),o=Ds.constructDouble(s.y),h=Ds.constructDouble(i.x),u=Ds.constructDouble(i.y),a=h.mul(h).add(u.mul(u)).sub(h.mul(e).add(u.mul(n)).add(h.mul(r)).add(u.mul(o))).add(e.mul(r).add(n.mul(o)));return a.LZ()?-1:a.GZ()?1:0}static inCircleRobust3Point(t,s,i){const e=new c(t.x),n=new c(t.y),r=new c(s.x),o=new c(s.y),h=new c(i.x),u=new c(i.y),a=h.mulE(h).addE(u.mulE(u)).subE(h.mulE(e).addE(u.mulE(n)).addE(h.mulE(r)).addE(u.mulE(o))).addE(e.mulE(r).addE(n.mulE(o)));if(!a.isFuzzyZero()){const t=a.value();return t<0?-1:t>0?1:0}return ks.inCircleRobustMp3Point(t,s,i)}static calculateCircleCenterFromThreePoints(t,s,i){if(t.equals(i)||t.equals(s)||i.equals(s))return ks.getNAN();const e=function(t,s,i){const e=new c(s.x);e.subThis(t.x);const n=new c(s.y);n.subThis(t.y);const r=new c(i.x);r.subThis(t.x);const o=new c(i.y);o.subThis(t.y);const h=e.clone();h.mulThisE(o);let u=n.clone();if(u.mulThisE(r),h.subThisE(u),0===h.value())return ks.getNAN();h.mulThis(2);const a=e.clone();a.mulThisE(e);const l=n.clone();l.mulThisE(n);const m=a.clone();m.addThisE(l);const y=r.clone();y.mulThisE(r);const x=o.clone();x.mulThisE(o);const f=y.clone();f.addThisE(x);const d=n.clone();d.mulThisE(f),u=o.clone(),u.mulThisE(m),d.subThisE(u),d.divThisE(h);const b=e.clone();b.mulThisE(f),u=r.clone(),u.mulThisE(m),b.subThisE(u),b.divThisE(h);const v=ks.construct(t.x-d.value(),t.y+b.value()),_=t.sub(v).length(),w=s.sub(v).length(),N=i.sub(v).length(),p=1e-15*(_+Math.abs(t.x)+Math.abs(s.x)+Math.abs(i.x)+Math.abs(t.y)+Math.abs(s.y)+Math.abs(i.y));return Math.abs(_-w)<=p&&Math.abs(_-N)<=p&&d.eps()<p&&b.eps()<p?v:ks.getNAN()}(t,s,i);return e.isNAN()?function(t,s,i){const e=Ds.constructDouble(s.x);e.subDoubleThis(t.x);const n=Ds.constructDouble(s.y);n.subDoubleThis(t.y);const r=Ds.constructDouble(i.x);r.subDoubleThis(t.x);const o=Ds.constructDouble(i.y);o.subDoubleThis(t.y);const h=e.clone();h.mulThis(o);let u=n.clone();if(u.mulThis(r),h.subThis(u),h.isZero())return ks.getNAN();h.mulDoubleThis(2);const a=e.clone();a.mulThis(e);const l=n.clone();l.mulThis(n);const c=a.clone();c.addThis(l);const m=r.clone();m.mulThis(r);const y=o.clone();y.mulThis(o);const x=m.clone();x.addThis(y);const f=n.clone();f.mulThis(x),u=o.clone(),u.mulThis(c),f.subThis(u),f.divThis(h);const d=e.clone();return d.mulThis(x),u=r.clone(),u.mulThis(c),d.subThis(u),d.divThis(h),ks.construct(t.x-f.value(),t.y+d.value())}(t,s,i):e}static calculateAngle(t,s){return Math.atan2(t.crossProduct(s),t.dotProduct(s))}static isBisectorRobust(t,s,i){return(0,e.g)(0),!1}static size(){return 2}get 0(){return this.x}get 1(){return this.y}set 0(t){this.x=t}set 1(t){this.y=t}static compareZorder(t,s){const i=ks.c_compare_zorder_xx[t.x<0?1:0]|ks.c_compare_zorder_yy[t.y<0?1:0],e=ks.c_compare_zorder_xx[s.x<0?1:0]|ks.c_compare_zorder_yy[s.y<0?1:0];if(i===e){let i=0,e=0;for(let n=0;n<2;++n){const r=zs(t[n],s[n]);r>i&&(i=r,e=n)}return t[e]<s[e]}return i<e}static lerp(t,s,i){const e=new ks;return Z(t,s,i,e),e}static getClosestCoordinate(t,s,i,e=!1){const n=ks.getNAN();n.setSub(s,t);const r=n.sqrLength();if(0===r)return.5;if(s.isEqualPoint2D(i))return 1;const o=ks.getNAN();o.setSub(i,t);let h=o.dotProduct(n)/r;return e||(h<0?h=0:h>1&&(h=1)),h}static intersectLinesAtOnePoint(t,s,i,e){if(t.equals(s)||i.equals(e))return ks.getNAN();const n=s.x-t.x,r=i.x-e.x,o=s.y-t.y,h=i.y-e.y,u=n*h-r*o;if(!u)return ks.getNAN();const a=u;if(0===a)return ks.getNAN();let l=(i.x-t.x)*h-(i.y-t.y)*r;l/=a;const c=new ks;return Z(t,s,l,c),c.isFinite()?c:ks.getNAN()}toString(){return`[${this.x},${this.y}]`}}ks.dimensions=2,ks.d=[[0,1,0,-1],[-1,0,1,0],[0,-1,0,1],[1,0,-1,0]],ks.c_compare_zorder_xx=[2,0],ks.c_compare_zorder_yy=[1,0]}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5013],{3057:(t,e,r)=>{r.d(e,{lf:()=>xt,L:()=>Ct,A4:()=>Ot,aR:()=>Gt,tU:()=>Bt,V1:()=>Ut,uU:()=>Mt});var n,i,a=r(19419),o=r(83027),s=r(89640),l=r(13195),u=r(80081);!function(t){t[t.R8_SIGNED=0]="R8_SIGNED",t[t.R8_UNSIGNED=1]="R8_UNSIGNED",t[t.R16_SIGNED=2]="R16_SIGNED",t[t.R16_UNSIGNED=3]="R16_UNSIGNED",t[t.R8G8_SIGNED=4]="R8G8_SIGNED",t[t.R8G8_UNSIGNED=5]="R8G8_UNSIGNED",t[t.R16G16_SIGNED=6]="R16G16_SIGNED",t[t.R16G16_UNSIGNED=7]="R16G16_UNSIGNED",t[t.R8G8B8A8_SIGNED=8]="R8G8B8A8_SIGNED",t[t.R8G8B8A8_UNSIGNED=9]="R8G8B8A8_UNSIGNED",t[t.R8G8B8A8_COLOR=10]="R8G8B8A8_COLOR",t[t.R16G16B16A16_DASHARRAY=11]="R16G16B16A16_DASHARRAY",t[t.R16G16B16A16_PATTERN=12]="R16G16B16A16_PATTERN"}(n||(n={})),function(t){t[t.UNIFORM=0]="UNIFORM",t[t.DATA_DRIVEN=1]="DATA_DRIVEN",t[t.INTERPOLATED_DATA_DRIVEN=2]="INTERPOLATED_DATA_DRIVEN",t[t.UNUSED=3]="UNUSED"}(i||(i={}));var c=r(63907),h=r(74038);class p{constructor(t){this._locations=new Map,this._key=t}get key(){return this._key}get type(){return 7&this._key}defines(){return[]}getStride(){return this._layout||this._buildAttributesInfo(),this._stride}getAttributeLocations(){return 0===this._locations.size&&this._buildAttributesInfo(),this._locations}getLayoutInfo(){return this._layout||this._buildAttributesInfo(),this._layout}getEncodingInfos(){return this._propertyEncodingInfo||this._buildAttributesInfo(),this._propertyEncodingInfo}getUniforms(){return this._uniforms||this._buildAttributesInfo(),this._uniforms}getShaderHeader(){return this._shaderHeader||this._buildAttributesInfo(),this._shaderHeader}getShaderMain(){return this._shaderMain||this._buildAttributesInfo(),this._shaderMain}setDataUniforms(t,e,r,n,i){const a=this.getUniforms();for(const o of a){const{name:a,type:s,getValue:l}=o,u=l(r,e,n,i);if(null!==u)switch(s){case"float":t.setUniform1f(a,u);break;case"vec2":t.setUniform2fv(a,u);break;case"vec4":t.setUniform4fv(a,u)}}}encodeAttributes(t,e,r,i){const a=this.attributesInfo(),o=this.getEncodingInfos(),s=[];let l=0,u=0;for(const c of Object.keys(o)){const h=o[c],{type:p,precisionFactor:f,isLayout:y}=a[c],g=y?r.getLayoutProperty(c):r.getPaintProperty(c),d=g.interpolator?.getInterpolationRange(e);let m=0;for(const r of h){const{offset:a,bufferElementsToAdd:o}=r;if(o>0){for(let t=0;t<o;t++)s.push(0);l+=u,u=r.bufferElementsToAdd}const c=i??g.getValue(d?d[m]:e,t);switch(p){case n.R8_SIGNED:case n.R8_UNSIGNED:s[l]|=this._encodeByte(c*(f||1),8*a);break;case n.R16_SIGNED:case n.R16_UNSIGNED:s[l]|=this._encodeShort(c*(f||1),8*a);break;case n.R8G8_SIGNED:case n.R8G8_UNSIGNED:s[l]|=this._encodeByte(c*(f||1),8*a),s[l]|=this._encodeByte(c*(f||1),8*a+8);break;case n.R16G16_SIGNED:case n.R16G16_UNSIGNED:s[l]|=this._encodeShort(c*(f||1),8*a),s[l]|=this._encodeShort(c*(f||1),8*a+16);break;case n.R8G8B8A8_SIGNED:case n.R8G8B8A8_UNSIGNED:s[l]|=this._encodeByte(c*(f||1),8*a),s[l]|=this._encodeByte(c*(f||1),8*a+8),s[l]|=this._encodeByte(c*(f||1),8*a+16),s[l]|=this._encodeByte(c*(f||1),8*a+24);break;case n.R8G8B8A8_COLOR:s[l]=this._encodeColor(c);break;case n.R16G16B16A16_DASHARRAY:case n.R16G16B16A16_PATTERN:this._encodePattern(l,s,c);break;default:throw new Error("Unsupported encoding type")}m++}}return s}getAtributeState(t){let e=0;const r=3+2*t;return e|=this._bit(r),e|=this._bit(r+1)<<1,e}static{this._encodingInfo={[n.R8_SIGNED]:{dataType:c.pe.BYTE,bytesPerElement:1,count:1,normalized:!1},[n.R8_UNSIGNED]:{dataType:c.pe.UNSIGNED_BYTE,bytesPerElement:1,count:1,normalized:!1},[n.R16_SIGNED]:{dataType:c.pe.SHORT,bytesPerElement:2,count:1,normalized:!1},[n.R16_UNSIGNED]:{dataType:c.pe.UNSIGNED_SHORT,bytesPerElement:2,count:1,normalized:!1},[n.R8G8_SIGNED]:{dataType:c.pe.BYTE,bytesPerElement:1,count:2,normalized:!1},[n.R8G8_UNSIGNED]:{dataType:c.pe.UNSIGNED_BYTE,bytesPerElement:1,count:2,normalized:!1},[n.R16G16_SIGNED]:{dataType:c.pe.SHORT,bytesPerElement:2,count:2,normalized:!1},[n.R16G16_UNSIGNED]:{dataType:c.pe.UNSIGNED_SHORT,bytesPerElement:2,count:2,normalized:!1},[n.R8G8B8A8_SIGNED]:{dataType:c.pe.BYTE,bytesPerElement:1,count:4,normalized:!1},[n.R8G8B8A8_UNSIGNED]:{dataType:c.pe.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!1},[n.R8G8B8A8_COLOR]:{dataType:c.pe.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!0},[n.R16G16B16A16_DASHARRAY]:{dataType:c.pe.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1},[n.R16G16B16A16_PATTERN]:{dataType:c.pe.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1}}}_buildAttributesInfo(){const t=[],e={},r={};let n=-1;const a=this.attributesInfo(),o=this.attributes();let s=-1;for(const l of o){s++;const o=this.getAtributeState(s);if(o===i.UNIFORM||o===i.UNUSED)continue;const u=a[l],c=[];e[l]=c;const h=u.type;for(let e=0;e<o;e++){const{dataType:e,bytesPerElement:i,count:a,normalized:o}=p._encodingInfo[h],s=i*a,l=`${e}-${!0===o}`;let u=r[l],f=0;if(!u||u.count+a>4)n++,u={dataIndex:n,count:0,offset:0},4!==a&&(r[l]=u),t.push({location:-1,name:"a_data_"+n,count:a,type:e,normalized:o}),f=Math.ceil(Math.max(s/4,1));else{const e=t[u.dataIndex];e.count+=a,f=Math.ceil(Math.max(e.count*i/4,1))-Math.ceil(Math.max(u.offset/4,1))}c.push({dataIndex:u.dataIndex,offset:u.offset,bufferElementsToAdd:f}),u.offset+=s,u.count+=a}}for(const e of t)switch(e.type){case c.pe.BYTE:case c.pe.UNSIGNED_BYTE:e.count=4;break;case c.pe.SHORT:case c.pe.UNSIGNED_SHORT:e.count+=e.count%2}this._buildVertexBufferLayout(t);let l=0;const u=this._layout.get("geometry");for(const t of u)this._locations.set(t.name,l++);const h=this._layout.get("opacity");if(h)for(const t of h)this._locations.set(t.name,l++);this._buildShaderInfo(t,e),this._propertyEncodingInfo=e}_buildVertexBufferLayout(t){const e=new Map,r=this.geometryInfo();let n=r[0].stride;if(0===t.length)e.set("geometry",r);else{const i=[];let a=n;for(const e of t)n+=f(e.type)*e.count;for(const t of r)i.push(new h._(t.name,t.count,t.type,t.offset,n,t.normalized));for(const e of t)i.push(new h._(e.name,e.count,e.type,a,n,e.normalized)),a+=f(e.type)*e.count;e.set("geometry",i)}const i=this.opacityInfo();i&&e.set("opacity",i),this._layout=e,this._stride=n}_buildShaderInfo(t,e){let r="\n",a="\n";const o=[];for(const e of t)r+=`attribute ${this._getType(e.count)} ${e.name};\n`;const s=this.attributes(),l=this.attributesInfo();let u=-1;for(const t of s){u++;const{name:s,type:c,precisionFactor:h,isLayout:f}=l[t],g=h&&1!==h?" * "+1/h:"",{bytesPerElement:d,count:m}=p._encodingInfo[c],_=t=>`a_data_${t.dataIndex}${y(m,t.offset,d)}`;switch(this.getAtributeState(u)){case i.UNIFORM:{const e=this._getType(m),i=`u_${s}`;o.push({name:i,type:e,getValue:(e,r,i,a)=>{const o=f?e.getLayoutValue(t,r):e.getPaintValue(t,r);if(c===n.R16G16B16A16_DASHARRAY){const t=e.getDashKey(o,e.getLayoutValue("line-cap",r)),n=a.getMosaicItemPosition(t,!1);if(null==n)return null;const{tl:i,br:s}=n;return[i[0],s[1],s[0],i[1]]}if(c===n.R16G16B16A16_PATTERN){const e=a.getMosaicItemPosition(o,!t.includes("line-"));if(null==e)return null;const{tl:r,br:n}=e;return[r[0],n[1],n[0],r[1]]}if(c===n.R8G8B8A8_COLOR){const t=o[3];return[t*o[0],t*o[1],t*o[2],t]}return o}}),r+=`uniform ${e} ${i};\n`,a+=`${e} ${s} = ${i};\n`}break;case i.DATA_DRIVEN:{const r=_(e[t][0]);a+=`${this._getType(m)} ${s} = ${r}${g};\n`}break;case i.INTERPOLATED_DATA_DRIVEN:{const n=`u_t_${s}`;o.push({name:n,type:"float",getValue:(e,r,n,i)=>(f?e.getLayoutProperty(t):e.getPaintProperty(t)).interpolator.interpolationUniformValue(n,r)}),r+=`uniform float ${n};\n`;const i=_(e[t][0]),l=_(e[t][1]);a+=`${this._getType(m)} ${s} = mix(${i}${g}, ${l}${g}, ${n});\n`}}}this._shaderHeader=r,this._shaderMain=a,this._uniforms=o}_bit(t){return(this._key&1<<t)>>t}_getType(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4"}throw new Error("Invalid count")}_encodeColor(t){const e=255*t[3];return u.A.i8888to32(t[0]*e,t[1]*e,t[2]*e,e)}_encodePattern(t,e,r){if(!r?.rect)return;const n=r.rect,i=r.width,a=r.height;e[t]=this._encodeShort(n.x+2,0),e[t]|=this._encodeShort(n.y+2+a,16),e[t+1]=this._encodeShort(n.x+2+i,0),e[t+1]|=this._encodeShort(n.y+2,16)}_encodeByte(t,e){return(255&t)<<e}_encodeShort(t,e){return(65535&t)<<e}}const f=t=>{switch(t){case c.pe.FLOAT:case c.pe.INT:case c.pe.UNSIGNED_INT:return 4;case c.pe.SHORT:case c.pe.UNSIGNED_SHORT:case c.pe.HALF_FLOAT:return 2;case c.pe.BYTE:case c.pe.UNSIGNED_BYTE:return 1}},y=(t,e,r)=>{const n=e/r;if(1===t)switch(n){case 0:return".x";case 1:return".y";case 2:return".z";case 3:return".w"}else if(2===t)switch(n){case 0:return".xy";case 1:return".yz";case 2:return".zw"}else if(3===t)switch(n){case 0:return".xyz";case 1:return".yzw"}return""};class g extends p{static{this.ATTRIBUTES=[]}static{this.GEOMETRY_LAYOUT=[new h._("a_pos",2,c.pe.BYTE,0,2)]}static{this.ATTRIBUTES_INFO={}}constructor(t){super(t)}geometryInfo(){return g.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return g.ATTRIBUTES}attributesInfo(){return g.ATTRIBUTES_INFO}}class d extends p{static{this.ATTRIBUTES=["circle-radius","circle-color","circle-opacity","circle-stroke-width","circle-stroke-color","circle-stroke-opacity","circle-blur"]}static{this.GEOMETRY_LAYOUT=[new h._("a_pos",2,c.pe.SHORT,0,4)]}static{this.ATTRIBUTES_INFO={"circle-radius":{name:"radius",type:n.R8_UNSIGNED},"circle-color":{name:"color",type:n.R8G8B8A8_COLOR},"circle-opacity":{name:"opacity",type:n.R8_UNSIGNED,precisionFactor:100},"circle-stroke-width":{name:"stroke_width",type:n.R8_UNSIGNED,precisionFactor:4},"circle-stroke-color":{name:"stroke_color",type:n.R8G8B8A8_COLOR},"circle-stroke-opacity":{name:"stroke_opacity",type:n.R8_UNSIGNED,precisionFactor:100},"circle-blur":{name:"blur",type:n.R8_UNSIGNED,precisionFactor:32}}}constructor(t){super(t)}geometryInfo(){return d.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return d.ATTRIBUTES}attributesInfo(){return d.ATTRIBUTES_INFO}}class m extends p{static{this.ATTRIBUTES=["fill-color","fill-opacity","fill-pattern"]}static{this.GEOMETRY_LAYOUT=[new h._("a_pos",2,c.pe.SHORT,0,4)]}static{this.ATTRIBUTES_INFO={"fill-color":{name:"color",type:n.R8G8B8A8_COLOR},"fill-opacity":{name:"opacity",type:n.R8_UNSIGNED,precisionFactor:100},"fill-pattern":{name:"tlbr",type:n.R16G16B16A16_PATTERN,isOptional:!0}}}constructor(t){super(t)}geometryInfo(){return m.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return m.ATTRIBUTES}attributesInfo(){return m.ATTRIBUTES_INFO}}class _ extends p{static{this.ATTRIBUTES_OUTLINE=["fill-outline-color","fill-opacity"]}static{this.ATTRIBUTES_FILL=["fill-color","fill-opacity"]}static{this.GEOMETRY_LAYOUT=[new h._("a_pos",2,c.pe.SHORT,0,8),new h._("a_offset",2,c.pe.BYTE,4,8),new h._("a_xnormal",2,c.pe.BYTE,6,8)]}static{this.ATTRIBUTES_INFO_OUTLINE={"fill-outline-color":{name:"color",type:n.R8G8B8A8_COLOR},"fill-opacity":{name:"opacity",type:n.R8_UNSIGNED,precisionFactor:100}}}static{this.ATTRIBUTES_INFO_FILL={"fill-color":{name:"color",type:n.R8G8B8A8_COLOR},"fill-opacity":{name:"opacity",type:n.R8_UNSIGNED,precisionFactor:100}}}constructor(t,e){super(t),this._usefillColor=e}geometryInfo(){return _.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return this._usefillColor?_.ATTRIBUTES_FILL:_.ATTRIBUTES_OUTLINE}attributesInfo(){return this._usefillColor?_.ATTRIBUTES_INFO_FILL:_.ATTRIBUTES_INFO_OUTLINE}}class b extends p{static{this.ATTRIBUTES=["line-blur","line-color","line-gap-width","line-offset","line-opacity","line-width","line-pattern","line-dasharray"]}static{this.GEOMETRY_LAYOUT=[new h._("a_pos",2,c.pe.SHORT,0,16),new h._("a_extrude_offset",4,c.pe.BYTE,4,16),new h._("a_dir_normal",4,c.pe.BYTE,8,16),new h._("a_accumulatedDistance",2,c.pe.UNSIGNED_SHORT,12,16)]}static{this.ATTRIBUTES_INFO={"line-width":{name:"width",type:n.R8_UNSIGNED,precisionFactor:2},"line-gap-width":{name:"gap_width",type:n.R8_UNSIGNED,precisionFactor:2},"line-offset":{name:"offset",type:n.R8_SIGNED,precisionFactor:2},"line-color":{name:"color",type:n.R8G8B8A8_COLOR},"line-opacity":{name:"opacity",type:n.R8_UNSIGNED,precisionFactor:100},"line-blur":{name:"blur",type:n.R8_UNSIGNED,precisionFactor:4},"line-pattern":{name:"tlbr",type:n.R16G16B16A16_PATTERN,isOptional:!0},"line-dasharray":{name:"tlbr",type:n.R16G16B16A16_DASHARRAY,isOptional:!0}}}constructor(t){super(t)}geometryInfo(){return b.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return b.ATTRIBUTES}attributesInfo(){return b.ATTRIBUTES_INFO}}const E=[new h._("a_pos",2,c.pe.SHORT,0,16),new h._("a_vertexOffset",2,c.pe.SHORT,4,16),new h._("a_texAngleRange",4,c.pe.UNSIGNED_BYTE,8,16),new h._("a_levelInfo",4,c.pe.UNSIGNED_BYTE,12,16)],T=[new h._("a_opacityInfo",1,c.pe.UNSIGNED_BYTE,0,1)];class I extends p{static{this.ATTRIBUTES=["icon-color","icon-opacity","icon-halo-blur","icon-halo-color","icon-halo-width","icon-size"]}static{this.ATTRIBUTES_INFO={"icon-color":{name:"color",type:n.R8G8B8A8_COLOR},"icon-opacity":{name:"opacity",type:n.R8_UNSIGNED,precisionFactor:100},"icon-halo-color":{name:"halo_color",type:n.R8G8B8A8_COLOR},"icon-halo-width":{name:"halo_width",type:n.R8_UNSIGNED,precisionFactor:4},"icon-halo-blur":{name:"halo_blur",type:n.R8_UNSIGNED,precisionFactor:4},"icon-size":{name:"size",type:n.R8_UNSIGNED,precisionFactor:32,isLayout:!0}}}constructor(t){super(t)}geometryInfo(){return E}opacityInfo(){return T}attributes(){return I.ATTRIBUTES}attributesInfo(){return I.ATTRIBUTES_INFO}}class w extends p{static{this.ATTRIBUTES=["text-color","text-opacity","text-halo-blur","text-halo-color","text-halo-width","text-size"]}static{this.ATTRIBUTES_INFO={"text-color":{name:"color",type:n.R8G8B8A8_COLOR},"text-opacity":{name:"opacity",type:n.R8_UNSIGNED,precisionFactor:100},"text-halo-color":{name:"halo_color",type:n.R8G8B8A8_COLOR},"text-halo-width":{name:"halo_width",type:n.R8_UNSIGNED,precisionFactor:4},"text-halo-blur":{name:"halo_blur",type:n.R8_UNSIGNED,precisionFactor:4},"text-size":{name:"size",type:n.R8_UNSIGNED,isLayout:!0}}}constructor(t){super(t)}geometryInfo(){return E}opacityInfo(){return T}attributes(){return w.ATTRIBUTES}attributesInfo(){return w.ATTRIBUTES_INFO}}var R=r(68197),v=r(85334),A=r(6774);function N(t,e,r,n){const i=3*t,a=3*(r-t)-i,o=1-i-a,s=3*e,l=3*(n-e)-s,u=1-s-l;function c(t){return((o*t+a)*t+i)*t}function h(t){return(3*o*t+2*a)*t+i}return function(t,e=1e-6){return function(t){return((u*t+l)*t+s)*t}(function(t,e){let r,n,i,a,o,s;for(i=t,s=0;s<8;s++){if(a=c(i)-t,Math.abs(a)<e)return i;if(o=h(i),Math.abs(o)<1e-6)break;i-=a/o}if(r=0,n=1,i=t,i<r)return r;if(i>n)return n;for(;r<n;){if(a=c(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i}(t,e))}}const D={};D.ease=N(.25,.1,.25,1),D.linear=N(0,0,1,1),D.easeIn=D["ease-in"]=N(.42,0,1,1),D.easeOut=D["ease-out"]=N(0,0,.58,1),D.easeInOut=D["ease-in-out"]=N(.42,0,.58,1);const L={kind:"null"},P={kind:"number"},S={kind:"string"},x={kind:"boolean"},O={kind:"color"},B={kind:"object"},U={kind:"value"};function C(t,e){return{kind:"array",itemType:t,n:e}}const G=[L,P,S,x,O,B,C(U)];function M(t){if("array"===t.kind){const e=M(t.itemType);return"number"==typeof t.n?`array<${e}, ${t.n}>`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}function k(t){if(null===t)return L;if("string"==typeof t)return S;if("boolean"==typeof t)return x;if("number"==typeof t)return P;if(t instanceof R.A)return O;if(Array.isArray(t)){let e;for(const r of t){const t=k(r);if(e){if(e!==t){e=U;break}}else e=t}return C(e||U,t.length)}return"object"==typeof t?B:U}function F(t,e){if("array"===e.kind)return"array"===t.kind&&(0===t.n&&"value"===t.itemType.kind||F(t.itemType,e.itemType))&&("number"!=typeof e.n||e.n===t.n);if("value"===e.kind)for(const e of G)if(F(t,e))return!0;return e.kind===t.kind}function V(t){if(null===t)return"";const e=typeof t;return"string"===e?t:"number"===e||"boolean"===e?String(t):t instanceof R.A?t.toString():JSON.stringify(t)}class z{constructor(t){this._parent=t,this._vars={}}add(t,e){this._vars[t]=e}get(t){return this._vars[t]?this._vars[t]:this._parent?this._parent.get(t):null}}class ${constructor(){this.type=U}static parse(t){if(t.length>1)throw new Error('"id" does not expect arguments');return new $}evaluate(t,e){return t?.id}}class H{constructor(){this.type=S}static parse(t){if(t.length>1)throw new Error('"geometry-type" does not expect arguments');return new H}evaluate(t,e){if(!t)return null;switch(t.type){case A.dC.Point:return"Point";case A.dC.LineString:return"LineString";case A.dC.Polygon:return"Polygon";default:return null}}}class W{constructor(){this.type=B}static parse(t){if(t.length>1)throw new Error('"properties" does not expect arguments');return new W}evaluate(t,e){return t?.values}}class Y{constructor(){this.type=P}static parse(t){if(t.length>1)throw new Error('"zoom" does not expect arguments');return new Y}evaluate(t,e){return e}}class q{constructor(t,e,r){this._lhs=t,this._rhs=e,this._compare=r,this.type=x}static parse(t,e,r){if(3!==t.length&&4!==t.length)throw new Error(`"${t[0]}" expects 2 or 3 arguments`);if(4===t.length)throw new Error(`"${t[0]}" collator not supported`);return new q(Rt(t[1],e),Rt(t[2],e),r)}evaluate(t,e){return this._compare(this._lhs.evaluate(t,e),this._rhs.evaluate(t,e))}}class K{constructor(t){this._arg=t,this.type=x}static parse(t,e){if(2!==t.length)throw new Error('"!" expects 1 argument');return new K(Rt(t[1],e))}evaluate(t,e){return!this._arg.evaluate(t,e)}}class j{constructor(t){this._args=t,this.type=x}static parse(t,e){const r=[];for(let n=1;n<t.length;n++)r.push(Rt(t[n],e));return new j(r)}evaluate(t,e){for(const r of this._args)if(!r.evaluate(t,e))return!1;return!0}}class Z{constructor(t){this._args=t,this.type=x}static parse(t,e){const r=[];for(let n=1;n<t.length;n++)r.push(Rt(t[n],e));return new Z(r)}evaluate(t,e){for(const r of this._args)if(r.evaluate(t,e))return!0;return!1}}class J{constructor(t){this._args=t,this.type=x}static parse(t,e){const r=[];for(let n=1;n<t.length;n++)r.push(Rt(t[n],e));return new J(r)}evaluate(t,e){for(const r of this._args)if(r.evaluate(t,e))return!1;return!0}}class X{constructor(t,e,r){this.type=t,this._args=e,this._fallback=r}static parse(t,e,r){if(t.length<4)throw new Error('"case" expects at least 3 arguments');if(t.length%2==1)throw new Error('"case" expects an odd number of arguments');let n;const i=[];for(let a=1;a<t.length-1;a+=2){const o=Rt(t[a],e),s=Rt(t[a+1],e,r);n||(n=s.type),i.push({condition:o,output:s})}const a=Rt(t[t.length-1],e,r);return n||(n=a.type),new X(n,i,a)}evaluate(t,e){for(const r of this._args)if(r.condition.evaluate(t,e))return r.output.evaluate(t,e);return this._fallback.evaluate(t,e)}}class Q{constructor(t,e){this.type=t,this._args=e}static parse(t,e){if(t.length<2)throw new Error('"coalesce" expects at least 1 argument');let r;const n=[];for(let i=1;i<t.length;i++){const a=Rt(t[i],e);r||(r=a.type),n.push(a)}return new Q(r,n)}evaluate(t,e){for(const r of this._args){const n=r.evaluate(t,e);if(null!==n)return n}return null}}class tt{constructor(t,e,r,n,i){this.type=t,this._input=e,this._labels=r,this._outputs=n,this._fallback=i}static parse(t,e){if(t.length<3)throw new Error('"match" expects at least 3 arguments');if(t.length%2==0)throw new Error('"case" expects an even number of arguments');let r;const n=Rt(t[1],e),i=[],a={};let o;for(let n=2;n<t.length-1;n+=2){let s=t[n];Array.isArray(s)||(s=[s]);for(const t of s){const e=typeof t;if("string"!==e&&"number"!==e)throw new Error('"match" requires string or number literal as labels');if(o){if(e!==o)throw new Error('"match" requires labels to have the same type')}else o=e;a[t]=i.length}const l=Rt(t[n+1],e);r||(r=l.type),i.push(l)}return new tt(r,n,a,i,Rt(t[t.length-1],e))}evaluate(t,e){const r=this._input.evaluate(t,e);return(this._outputs[this._labels[r]]||this._fallback).evaluate(t,e)}}class et{constructor(t,e,r,n,i){this._operator=t,this.type=e,this.interpolation=r,this.input=n,this._stops=i}static parse(t,e,r){const n=t[0];if(t.length<5)throw new Error(`"${n}" expects at least 4 arguments`);const i=t[1];if(!Array.isArray(i)||0===i.length)throw new Error(`"${i}" is not a valid interpolation`);switch(i[0]){case"linear":if(1!==i.length)throw new Error("Linear interpolation cannot have parameters");break;case"exponential":if(2!==i.length||"number"!=typeof i[1])throw new Error("Exponential interpolation requires one numeric argument");break;case"cubic-bezier":if(5!==i.length)throw new Error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1");for(let t=1;t<5;t++){const e=i[t];if("number"!=typeof e||e<0||e>1)throw new Error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1")}break;default:throw new Error(`"${t[0]}" unknown interpolation type "${i[0]}"`)}if(t.length%2!=1)throw new Error(`"${n}" expects an even number of arguments`);const a=Rt(t[2],e,P);let o;"interpolate-hcl"===n||"interpolate-lab"===n?o=O:r&&"value"!==r.kind&&(o=r);const s=[];for(let r=3;r<t.length;r+=2){const i=t[r];if("number"!=typeof i)throw new Error(`"${n}" requires stop inputs as literal numbers`);if(s.length&&s[s.length-1][0]>=i)throw new Error(`"${n}" requires strictly ascending stop inputs`);const a=Rt(t[r+1],e,o);o||(o=a.type),s.push([i,a])}if(o&&o!==O&&o!==P&&("array"!==o.kind||o.itemType!==P))throw new Error(`"${n}" cannot interpolate type ${M(o)}`);return new et(n,o,i,a,s)}evaluate(t,e){const r=this._stops;if(1===r.length)return r[0][1].evaluate(t,e);const n=this.input.evaluate(t,e);if(n<=r[0][0])return r[0][1].evaluate(t,e);if(n>=r[r.length-1][0])return r[r.length-1][1].evaluate(t,e);let i=0;for(;++i<r.length&&!(n<r[i][0]););const a=r[i-1][0],o=r[i][0],s=et.interpolationRatio(this.interpolation,n,a,o),u=r[i-1][1].evaluate(t,e),c=r[i][1].evaluate(t,e);if("interpolate"===this._operator){if("array"===this.type.kind&&Array.isArray(u)&&Array.isArray(c))return u.map(((t,e)=>(0,l.GW)(t,c[e],s)));if("color"===this.type.kind&&u instanceof R.A&&c instanceof R.A){const t=new R.A(u),e=new R.A(c);return new R.A([(0,l.GW)(t.r,e.r,s),(0,l.GW)(t.g,e.g,s),(0,l.GW)(t.b,e.b,s),(0,l.GW)(t.a,e.a,s)])}if("number"===this.type.kind&&"number"==typeof u&&"number"==typeof c)return(0,l.GW)(u,c,s);throw new Error(`"${this._operator}" cannot interpolate type ${M(this.type)}`)}if("interpolate-hcl"===this._operator){const t=(0,v.RH)(u),e=(0,v.RH)(c),r=e.h-t.h,n=(0,v.$)({h:t.h+s*(r>180||r<-180?r-360*Math.round(r/360):r),c:(0,l.GW)(t.c,e.c,s),l:(0,l.GW)(t.l,e.l,s)});return new R.A({a:(0,l.GW)(u.a,c.a,s),...n})}if("interpolate-lab"===this._operator){const t=(0,v.ZD)(u),e=(0,v.ZD)(c),r=(0,v.$)({l:(0,l.GW)(t.l,e.l,s),a:(0,l.GW)(t.a,e.a,s),b:(0,l.GW)(t.b,e.b,s)});return new R.A({a:(0,l.GW)(u.a,c.a,s),...r})}throw new Error(`Unexpected operator "${this._operator}"`)}interpolationUniformValue(t,e){const r=this._stops;if(1===r.length)return 0;if(t>=r[r.length-1][0])return 0;let n=0;for(;++n<r.length&&!(t<r[n][0]););const i=r[n-1][0],a=r[n][0];return et.interpolationRatio(this.interpolation,e,i,a)}getInterpolationRange(t){const e=this._stops;if(1===e.length){const t=e[0][0];return[t,t]}const r=e[e.length-1][0];if(t>=r)return[r,r];let n=0;for(;++n<e.length&&!(t<e[n][0]););return[e[n-1][0],e[n][0]]}static interpolationRatio(t,e,r,n){let i=0;return"linear"===t[0]?i=et._exponentialInterpolationRatio(e,1,r,n):"exponential"===t[0]?i=et._exponentialInterpolationRatio(e,t[1],r,n):"cubic-bezier"===t[0]&&(i=N(t[1],t[2],t[3],t[4])(et._exponentialInterpolationRatio(e,1,r,n),1e-5)),i<0?i=0:i>1&&(i=1),i}static _exponentialInterpolationRatio(t,e,r,n){const i=n-r;if(0===i)return 0;const a=t-r;return 1===e?a/i:(e**a-1)/(e**i-1)}}class rt{constructor(t,e,r){this.type=t,this._input=e,this._stops=r}static parse(t,e){if(t.length<5)throw new Error('"step" expects at least 4 arguments');if(t.length%2!=1)throw new Error('"step" expects an even number of arguments');const r=Rt(t[1],e,P);let n;const i=[];i.push([-1/0,Rt(t[2],e)]);for(let r=3;r<t.length;r+=2){const a=t[r];if("number"!=typeof a)throw new Error('"step" requires stop inputs as literal numbers');if(i.length&&i[i.length-1][0]>=a)throw new Error('"step" requires strictly ascending stop inputs');const o=Rt(t[r+1],e);n||(n=o.type),i.push([a,o])}return new rt(n,r,i)}evaluate(t,e){const r=this._stops;if(1===r.length)return r[0][1].evaluate(t,e);const n=this._input.evaluate(t,e);let i=0;for(;++i<r.length&&!(n<r[i][0]););return this._stops[i-1][1].evaluate(t,e)}}class nt{constructor(t,e){this.type=t,this._output=e}static parse(t,e,r){if(t.length<4)throw new Error('"let" expects at least 3 arguments');if(t.length%2==1)throw new Error('"let" expects an odd number of arguments');const n=new z(e);for(let r=1;r<t.length-1;r+=2){const i=t[r];if("string"!=typeof i)throw new Error(`"let" requires a string to define variable names - found ${i}`);n.add(i,Rt(t[r+1],e))}const i=Rt(t[t.length-1],n,r);return new nt(i.type,i)}evaluate(t,e){return this._output.evaluate(t,e)}}class it{constructor(t,e){this.type=t,this.output=e}static parse(t,e,r){if(2!==t.length||"string"!=typeof t[1])throw new Error('"var" requires just one literal string argument');const n=e.get(t[1]);if(!n)throw new Error(`${t[1]} must be defined before being used in a "var" expression`);return new it(r||U,n)}evaluate(t,e){return this.output.evaluate(t,e)}}class at{constructor(t,e,r){this.type=t,this._index=e,this._array=r}static parse(t,e){if(3!==t.length)throw new Error('"at" expects 2 arguments');const r=Rt(t[1],e,P),n=Rt(t[2],e);return new at(n.type.itemType,r,n)}evaluate(t,e){const r=this._index.evaluate(t,e),n=this._array.evaluate(t,e);if(r<0||r>=n.length)throw new Error('"at" index out of bounds');if(r!==Math.floor(r))throw new Error('"at" index must be an integer');return n[r]}}class ot{constructor(t,e){this._key=t,this._obj=e,this.type=U}static parse(t,e){let r,n;switch(t.length){case 2:return r=Rt(t[1],e),new ot(r);case 3:return r=Rt(t[1],e),n=Rt(t[2],e),new ot(r,n);default:throw new Error('"get" expects 1 or 2 arguments')}}evaluate(t,e){const r=this._key.evaluate(t,e);return this._obj?this._obj.evaluate(t,e)[r]:t?.values[r]}}class st{constructor(t,e){this._key=t,this._obj=e,this.type=x}static parse(t,e){let r,n;switch(t.length){case 2:return r=Rt(t[1],e),new st(r);case 3:return r=Rt(t[1],e),n=Rt(t[2],e),new st(r,n);default:throw new Error('"has" expects 1 or 2 arguments')}}evaluate(t,e){const r=this._key.evaluate(t,e);return this._obj?r in this._obj.evaluate(t,e):!!t?.values[r]}}class lt{constructor(t,e){this._key=t,this._vals=e,this.type=x}static parse(t,e){if(3!==t.length)throw new Error('"in" expects 2 arguments');return new lt(Rt(t[1],e),Rt(t[2],e))}evaluate(t,e){const r=this._key.evaluate(t,e);return this._vals.evaluate(t,e).includes(r)}}class ut{constructor(t,e,r){this._item=t,this._array=e,this._from=r,this.type=P}static parse(t,e){if(t.length<3||t.length>4)throw new Error('"index-of" expects 3 or 4 arguments');const r=Rt(t[1],e),n=Rt(t[2],e);if(4===t.length){const i=Rt(t[3],e,P);return new ut(r,n,i)}return new ut(r,n)}evaluate(t,e){const r=this._item.evaluate(t,e),n=this._array.evaluate(t,e);if(this._from){const i=this._from.evaluate(t,e);if(i!==Math.floor(i))throw new Error('"index-of" index must be an integer');return n.indexOf(r,i)}return n.indexOf(r)}}class ct{constructor(t){this._arg=t,this.type=P}static parse(t,e){if(2!==t.length)throw new Error('"length" expects 2 arguments');const r=Rt(t[1],e);return new ct(r)}evaluate(t,e){const r=this._arg.evaluate(t,e);if("string"==typeof r)return r.length;if(Array.isArray(r))return r.length;throw new Error('"length" expects string or array')}}class ht{constructor(t,e,r,n){this.type=t,this._array=e,this._from=r,this._to=n}static parse(t,e){if(t.length<3||t.length>4)throw new Error('"slice" expects 2 or 3 arguments');const r=Rt(t[1],e),n=Rt(t[2],e,P);if(n.type!==P)throw new Error('"slice" index must return a number');if(4===t.length){const i=Rt(t[3],e,P);if(i.type!==P)throw new Error('"slice" index must return a number');return new ht(r.type,r,n,i)}return new ht(r.type,r,n)}evaluate(t,e){const r=this._array.evaluate(t,e);if(!Array.isArray(r)&&"string"!=typeof r)throw new Error('"slice" input must be an array or a string');const n=this._from.evaluate(t,e);if(n<0||n>=r.length)throw new Error('"slice" index out of bounds');if(n!==Math.floor(n))throw new Error('"slice" index must be an integer');if(this._to){const i=this._to.evaluate(t,e);if(i<0||i>=r.length)throw new Error('"slice" index out of bounds');if(i!==Math.floor(i))throw new Error('"slice" index must be an integer');return r.slice(n,i)}return r.slice(n)}}class pt{constructor(){this.type=x}static parse(t){if(1!==t.length)throw new Error('"has-id" expects no arguments');return new pt}evaluate(t,e){return void 0!==t?.id}}class ft{constructor(t,e){this._args=t,this._calculate=e,this.type=P}static parse(t,e,r){const n=t.slice(1).map((t=>Rt(t,e)));return new ft(n,r)}evaluate(t,e){let r;return this._args&&(r=this._args.map((r=>r.evaluate(t,e)))),this._calculate(r)}}class yt{constructor(t,e){this._args=t,this._calculate=e,this.type=P}static{this.ops={abs:t=>Math.abs(t[0]),acos:t=>Math.acos(t[0]),asin:t=>Math.asin(t[0]),atan:t=>Math.atan(t[0]),ceil:t=>Math.ceil(t[0]),cos:t=>Math.cos(t[0]),e:()=>Math.E,floor:t=>Math.floor(t[0]),ln:t=>Math.log(t[0]),ln2:()=>Math.LN2,log10:t=>Math.log(t[0])/Math.LN10,log2:t=>Math.log(t[0])/Math.LN2,max:t=>Math.max(...t),min:t=>Math.min(...t),pi:()=>Math.PI,round:t=>Math.round(t[0]),sin:t=>Math.sin(t[0]),sqrt:t=>Math.sqrt(t[0]),tan:t=>Math.tan(t[0])}}static parse(t,e){const r=t.slice(1).map((t=>Rt(t,e)));return new yt(r,yt.ops[t[0]])}evaluate(t,e){let r;return this._args&&(r=this._args.map((r=>r.evaluate(t,e)))),this._calculate(r)}}class gt{constructor(t){this._args=t,this.type=S}static parse(t,e){return new gt(t.slice(1).map((t=>Rt(t,e))))}evaluate(t,e){return this._args.map((r=>r.evaluate(t,e))).join("")}}class dt{constructor(t,e){this._arg=t,this._calculate=e,this.type=S}static{this.ops={downcase:t=>t.toLowerCase(),upcase:t=>t.toUpperCase()}}static parse(t,e){if(2!==t.length)throw new Error(`${t[0]} expects 1 argument`);const r=Rt(t[1],e);return new dt(r,dt.ops[t[0]])}evaluate(t,e){return this._calculate(this._arg.evaluate(t,e))}}class mt{constructor(t){this._args=t,this.type=O}static parse(t,e){if(4!==t.length)throw new Error('"rgb" expects 3 arguments');const r=t.slice(1).map((t=>Rt(t,e)));return new mt(r)}evaluate(t,e){const r=this._validate(this._args[0].evaluate(t,e)),n=this._validate(this._args[1].evaluate(t,e)),i=this._validate(this._args[2].evaluate(t,e));return new R.A({r,g:n,b:i})}_validate(t){if("number"!=typeof t||t<0||t>255)throw new Error(`${t}: invalid color component`);return Math.round(t)}}class _t{constructor(t){this._args=t,this.type=O}static parse(t,e){if(5!==t.length)throw new Error('"rgba" expects 4 arguments');const r=t.slice(1).map((t=>Rt(t,e)));return new _t(r)}evaluate(t,e){const r=this._validate(this._args[0].evaluate(t,e)),n=this._validate(this._args[1].evaluate(t,e)),i=this._validate(this._args[2].evaluate(t,e)),a=this._validateAlpha(this._args[3].evaluate(t,e));return new R.A({r,g:n,b:i,a})}_validate(t){if("number"!=typeof t||t<0||t>255)throw new Error(`${t}: invalid color component`);return Math.round(t)}_validateAlpha(t){if("number"!=typeof t||t<0||t>1)throw new Error(`${t}: invalid alpha color component`);return t}}class bt{constructor(t){this._color=t,this.type=C(P,4)}static parse(t,e){if(2!==t.length)throw new Error('"to-rgba" expects 1 argument');const r=Rt(t[1],e);return new bt(r)}evaluate(t,e){return new R.A(this._color.evaluate(t,e)).toRgba()}}class Et{constructor(t,e){this.type=t,this._args=e}static parse(t,e){const r=t[0];if(t.length<2)throw new Error(`${r} expects at least one argument`);let n,i=1;if("array"===r){if(t.length>2){switch(t[1]){case"string":n=S;break;case"number":n=P;break;case"boolean":n=x;break;default:throw new Error('"array" type argument must be string, number or boolean')}i++}else n=U;let e;if(t.length>3){if(e=t[2],null!==e&&("number"!=typeof e||e<0||e!==Math.floor(e)))throw new Error('"array" length argument must be a positive integer literal');i++}n=C(n,e)}else switch(r){case"string":n=S;break;case"number":n=P;break;case"boolean":n=x;break;case"object":n=B}const a=[];for(;i<t.length;i++){const r=Rt(t[i],e);a.push(r)}return new Et(n,a)}evaluate(t,e){let r;for(const n of this._args){const i=n.evaluate(t,e);if(r=k(i),F(r,this.type))return i}throw new Error(`Expected ${M(this.type)} but got ${M(r)}`)}}class Tt{static{this.types={"to-boolean":x,"to-color":O,"to-number":P,"to-string":S}}constructor(t,e){this.type=t,this._args=e}static parse(t,e){const r=t[0],n=Tt.types[r];if(n===x||n===S){if(2!==t.length)throw new Error(`${r} expects one argument`)}else if(t.length<2)throw new Error(`${r} expects at least one argument`);const i=[];for(let r=1;r<t.length;r++){const n=Rt(t[r],e);i.push(n)}return new Tt(n,i)}evaluate(t,e){if(this.type===x)return Boolean(this._args[0].evaluate(t,e));if(this.type===S)return V(this._args[0].evaluate(t,e));if(this.type===P){for(const r of this._args){const n=Number(r.evaluate(t,e));if(!isNaN(n))return n}return null}if(this.type===O){for(const r of this._args)try{const n=Tt.toColor(r.evaluate(t,e));if(n instanceof R.A)return n}catch{}return null}}static toBoolean(t){return Boolean(t)}static toString(t){return V(t)}static toNumber(t){const e=Number(t);if(isNaN(e))throw new Error(`"${t}" is not a number`);return e}static toColor(t){if(t instanceof R.A)return t;if("string"==typeof t){const e=R.A.fromString(t);if(e)return e;throw new Error(`"${t}" is not a color`)}if(Array.isArray(t))return R.A.fromArray(t);throw new Error(`"${t}" is not a color`)}}class It{constructor(t){this._val=t,this.type=k(t)}static parse(t){if(2!==t.length)throw new Error('"literal" expects 1 argument');return new It(t[1])}evaluate(t,e){return this._val}}class wt{constructor(t){this._arg=t,this.type=S}static parse(t,e){if(2!==t.length)throw new Error('"typeof" expects 1 argument');return new wt(Rt(t[1],e))}evaluate(t,e){return M(k(this._arg.evaluate(t,e)))}}function Rt(t,e,r){const n=typeof t;if("string"===n||"boolean"===n||"number"===n||null===t){if(r)switch(r.kind){case"string":"string"!==n&&(t=Tt.toString(t));break;case"number":"number"!==n&&(t=Tt.toNumber(t));break;case"color":t=Tt.toColor(t)}t=["literal",t]}if(!Array.isArray(t)||0===t.length)throw new Error("Expression must be a non empty array");const i=t[0];if("string"!=typeof i)throw new Error("First element of expression must be a string");const a=vt[i];if(void 0===a)throw new Error(`Invalid expression operator "${i}"`);if(!a)throw new Error(`Unimplemented expression operator "${i}"`);return a.parse(t,e,r)}const vt={array:Et,boolean:Et,collator:null,format:null,image:null,literal:It,number:Et,"number-format":null,object:Et,string:Et,"to-boolean":Tt,"to-color":Tt,"to-number":Tt,"to-string":Tt,typeof:wt,accumulated:null,"feature-state":null,"geometry-type":H,id:$,"line-progress":null,properties:W,at,get:ot,has:st,in:lt,"index-of":ut,length:ct,slice:ht,"!":K,"!=":class extends q{static parse(t,e){return q.parse(t,e,((t,e)=>t!==e))}},"<":class extends q{static parse(t,e){return q.parse(t,e,((t,e)=>t<e))}},"<=":class extends q{static parse(t,e){return q.parse(t,e,((t,e)=>t<=e))}},"==":class extends q{static parse(t,e){return q.parse(t,e,((t,e)=>t===e))}},">":class extends q{static parse(t,e){return q.parse(t,e,((t,e)=>t>e))}},">=":class extends q{static parse(t,e){return q.parse(t,e,((t,e)=>t>=e))}},all:j,any:Z,case:X,coalesce:Q,match:tt,within:null,interpolate:et,"interpolate-hcl":et,"interpolate-lab":et,step:rt,let:nt,var:it,concat:gt,downcase:dt,"is-supported-script":null,"resolved-locale":null,upcase:dt,rgb:mt,rgba:_t,"to-rgba":bt,"-":class extends ft{static parse(t,e){switch(t.length){case 2:return ft.parse(t,e,(t=>-t[0]));case 3:return ft.parse(t,e,(t=>t[0]-t[1]));default:throw new Error('"-" expects 1 or 2 arguments')}}},"*":class extends ft{static parse(t,e){return ft.parse(t,e,(t=>{let e=1;for(const r of t)e*=r;return e}))}},"/":class extends ft{static parse(t,e){if(3===t.length)return ft.parse(t,e,(t=>t[0]/t[1]));throw new Error('"/" expects 2 arguments')}},"%":class extends ft{static parse(t,e){if(3===t.length)return ft.parse(t,e,(t=>t[0]%t[1]));throw new Error('"%" expects 2 arguments')}},"^":class extends ft{static parse(t,e){if(3===t.length)return ft.parse(t,e,(t=>t[0]**t[1]));throw new Error('"^" expects 1 or 2 arguments')}},"+":class extends ft{static parse(t,e){return ft.parse(t,e,(t=>{let e=0;for(const r of t)e+=r;return e}))}},abs:yt,acos:yt,asin:yt,atan:yt,ceil:yt,cos:yt,e:yt,floor:yt,ln:yt,ln2:yt,log10:yt,log2:yt,max:yt,min:yt,pi:yt,round:yt,sin:yt,sqrt:yt,tan:yt,zoom:Y,"heatmap-density":null,"has-id":pt,none:J};class At{constructor(t){this._expression=t}filter(t,e){if(!this._expression)return!0;try{return this._expression.evaluate(t,e)}catch(t){return console.log(t.message),!0}}static createFilter(t){if(!t)return null;this.isLegacyFilter(t)&&(t=this.convertLegacyFilter(t));try{const e=Rt(t,null,x);return new At(e)}catch(t){return console.log(t.message),null}}static isLegacyFilter(t){if(!Array.isArray(t))return!0;if(0===t.length)return!0;switch(t[0]){case"==":case"!=":case">":case"<":case">=":case"<=":return 3===t.length&&"string"==typeof t[1]&&!Array.isArray(t[2]);case"in":return t.length>=3&&"string"==typeof t[1]&&!Array.isArray(t[2]);case"!in":case"none":case"!has":return!0;case"any":case"all":for(let e=1;e<t.length;e++)if(this.isLegacyFilter(t[e]))return!0;return!1;case"has":return 2===t.length&&("$id"===t[1]||"$type"===t[1]);default:return!1}}static convertLegacyFilter(t){if(!Array.isArray(t)||0===t.length)return!0;const e=t[0];if(1===t.length)return"any"!==e;switch(e){case"==":return At.convertComparison("==",t[1],t[2]);case"!=":return At.negate(At.convertComparison("==",t[1],t[2]));case">":case"<":case">=":case"<=":return At.convertComparison(e,t[1],t[2]);case"in":return At.convertIn(t[1],t.slice(2));case"!in":return At.negate(At.convertIn(t[1],t.slice(2)));case"any":case"all":case"none":return At.convertCombining(e,t.slice(1));case"has":return At.convertHas(t[1]);case"!has":return At.negate(At.convertHas(t[1]));default:throw new Error("Unexpected legacy filter.")}}static convertComparison(t,e,r){switch(e){case"$type":return[t,["geometry-type"],r];case"$id":return[t,["id"],r];default:return[t,["get",e],r]}}static convertIn(t,e){switch(t){case"$type":return["in",["geometry-type"],["literal",e]];case"$id":return["in",["id"],["literal",e]];default:return["in",["get",t],["literal",e]]}}static convertHas(t){switch(t){case"$type":return!0;case"$id":return["has-id"];default:return["has",t]}}static convertCombining(t,e){return[t].concat(e.map(this.convertLegacyFilter))}static negate(t){return["!",t]}}var Nt=r(4272);class Dt{constructor(t,e){let r;switch(this.isDataDriven=!1,this.interpolator=null,t.type){case"number":case"color":r=!0;break;case"array":r="number"===t.value;break;default:r=!1}if(null==e&&(e=t.default),Array.isArray(e)&&e.length>0&&vt[e[0]]){const r={number:P,color:O,string:S,boolean:x,enum:S};try{const n=Rt(e,null,"array"===t.type?C(r[t.value]||U,t.length):r[t.type]);this.getValue=this._buildExpression(n,t),this.isDataDriven=!0,n instanceof et&&n.input instanceof Y&&(this.interpolator=n)}catch(e){console.log(e.message),this.getValue=this._buildSimple(t.default)}return}r&&"interval"===e.type&&(r=!1);const n=e?.stops&&e.stops.length>0;if(n)for(const r of e.stops)r[1]=this._validate(r[1],t);if(this.isDataDriven=!!e&&!!e.property,this.isDataDriven)if(void 0!==e.default&&(e.default=this._validate(e.default,t)),n)switch(e.type){case"identity":this.getValue=this._buildIdentity(e,t);break;case"categorical":this.getValue=this._buildCategorical(e,t);break;default:this.getValue=r?this._buildInterpolate(e,t):this._buildInterval(e,t)}else this.getValue=this._buildIdentity(e,t);else n?this.getValue=r?this._buildZoomInterpolate(e):this._buildZoomInterval(e):(e=this._validate(e,t),this.getValue=this._buildSimple(e))}_validate(t,e){if("number"===e.type){if(null!=e.minimum&&t<e.minimum)return e.minimum;if(null!=e.maximum&&t>e.maximum)return e.maximum}else"color"===e.type?t=Dt._parseColor(t):"enum"===e.type?"string"==typeof t&&(t=e.values.indexOf(t)):"array"===e.type&&"enum"===e.value?t=t.map((t=>"string"==typeof t?e.values.indexOf(t):t)):"string"===e.type&&(t=V(t));return t}_buildSimple(t){return()=>t}_buildExpression(t,e){return(r,n)=>{try{const i=t.evaluate(n,r);return void 0===i?e.default:this._validate(i,e)}catch(t){return console.log(t.message),e.default}}}_buildIdentity(t,e){return(r,n)=>{let i;return n&&(i=n.values[t.property]),void 0!==i&&(i=this._validate(i,e)),null!=i?i:void 0!==t.default?t.default:e.default}}_buildCategorical(t,e){return(r,n)=>{let i;return n&&(i=n.values[t.property]),i=this._categorical(i,t.stops),void 0!==i?i:void 0!==t.default?t.default:e.default}}_buildInterval(t,e){return(r,n)=>{let i;return n&&(i=n.values[t.property]),"number"==typeof i?this._interval(i,t.stops):void 0!==t.default?t.default:e.default}}_buildInterpolate(t,e){return(r,n)=>{let i;return n&&(i=n.values[t.property]),"number"==typeof i?this._interpolate(i,t.stops,t.base||1):void 0!==t.default?t.default:e.default}}_buildZoomInterpolate(t){return e=>this._interpolate(e,t.stops,t.base||1)}_buildZoomInterval(t){return e=>this._interval(e,t.stops)}_categorical(t,e){const r=e.length;for(let n=0;n<r;n++)if(e[n][0]===t)return e[n][1]}_interval(t,e){const r=e.length;let n=0;for(let i=0;i<r&&e[i][0]<=t;i++)n=i;return e[n][1]}_interpolate(t,e,r){let n,i;const a=e.length;for(let r=0;r<a;r++){const a=e[r];if(!(a[0]<=t)){i=a;break}n=a}if(n&&i){const e=i[0]-n[0],a=t-n[0],o=1===r?a/e:(r**a-1)/(r**e-1);if(Array.isArray(n[1])){const t=n[1],e=i[1],r=[];for(let n=0;n<t.length;n++)r.push((0,l.GW)(t[n],e[n],o));return r}return(0,l.GW)(n[1],i[1],o)}return n?n[1]:i?i[1]:void 0}static _isEmpty(t){for(const e in t)if(t.hasOwnProperty(e))return!1;return!0}static _parseColor(t){return Array.isArray(t)?t:("string"==typeof t&&(t=new R.A(t)),t instanceof R.A&&!this._isEmpty(t)?R.A.toUnitRGBA(t):void 0)}}var Lt,Pt=r(76213);!function(t){t[t.BUTT=0]="BUTT",t[t.ROUND=1]="ROUND",t[t.SQUARE=2]="SQUARE",t[t.UNKNOWN=4]="UNKNOWN"}(Lt||(Lt={}));class St{constructor(t,e,r,n){switch(this.type=t,this.typeName=e.type,this.id=e.id,this.source=e.source,this.sourceLayer=e["source-layer"],this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.filter=e.filter,this.layout=e.layout,this.paint=e.paint,this.z=r,this.uid=n,t){case Nt.Dc.BACKGROUND:this._layoutDefinition=Nt.$u.backgroundLayoutDefinition,this._paintDefinition=Nt.$u.backgroundPaintDefinition;break;case Nt.Dc.FILL:this._layoutDefinition=Nt.$u.fillLayoutDefinition,this._paintDefinition=Nt.$u.fillPaintDefinition;break;case Nt.Dc.LINE:this._layoutDefinition=Nt.$u.lineLayoutDefinition,this._paintDefinition=Nt.$u.linePaintDefinition;break;case Nt.Dc.SYMBOL:this._layoutDefinition=Nt.$u.symbolLayoutDefinition,this._paintDefinition=Nt.$u.symbolPaintDefinition;break;case Nt.Dc.CIRCLE:this._layoutDefinition=Nt.$u.circleLayoutDefinition,this._paintDefinition=Nt.$u.circlePaintDefinition}this._layoutProperties=this._parseLayout(this.layout),this._paintProperties=this._parsePaint(this.paint)}getFeatureFilter(){return void 0!==this._featureFilter?this._featureFilter:this._featureFilter=At.createFilter(this.filter)}getLayoutProperty(t){return this._layoutProperties[t]}getPaintProperty(t){return this._paintProperties[t]}getLayoutValue(t,e,r){let n;const i=this._layoutProperties[t];return i&&(n=i.getValue(e,r)),void 0===n&&(n=this._layoutDefinition[t].default),n}getPaintValue(t,e,r){let n;const i=this._paintProperties[t];return i&&(n=i.getValue(e,r)),void 0===n&&(n=this._paintDefinition[t].default),n}isPainterDataDriven(){const t=this._paintProperties;if(t)for(const e in t)if(t[e].isDataDriven)return!0;return!1}isIntersectingFeature(t,e,r,n,i,a,o){return!1}getFeatureInflatedBounds(t,e,r,n){return null}_parseLayout(t){const e={};for(const r in t){const n=this._layoutDefinition[r];n&&(e[r]=new Dt(n,t[r]))}return e}_parsePaint(t){const e={};for(const r in t){const n=this._paintDefinition[r];n&&(e[r]=new Dt(n,t[r]))}return e}computeAttributesKey(t,e,r,n){let i=0,a=0;for(const t of e){let e=3;if(!t||t!==n){const n=r[t],{isLayout:i,isOptional:a}=n,o=i?this.getLayoutProperty(t):this.getPaintProperty(t);e=o?.interpolator?2:o?.isDataDriven?1:a&&!o?3:0}a|=e<<i,i+=2}return a<<3|t}}class xt extends St{constructor(t,e,r,n){super(t,e,r,n),this.backgroundMaterial=new g(this.computeAttributesKey(s.kh.BACKGROUND,g.ATTRIBUTES,g.ATTRIBUTES_INFO))}}class Ot extends St{constructor(t,e,r,n){super(t,e,r,n);const i=this.getPaintProperty("fill-color"),a=this.getPaintProperty("fill-opacity"),o=this.getPaintProperty("fill-pattern");this.hasDataDrivenColor=i?.isDataDriven,this.hasDataDrivenOpacity=a?.isDataDriven,this.hasDataDrivenFill=this.hasDataDrivenColor||this.hasDataDrivenOpacity||o?.isDataDriven;const l=this.getPaintProperty("fill-outline-color");this.outlineUsesFillColor=!l,this.hasDataDrivenOutlineColor=l?.isDataDriven,this.hasDataDrivenOutline=l?l.isDataDriven:!!i&&i.isDataDriven,this.hasDataDrivenOutline=(l?this.hasDataDrivenOutlineColor:this.hasDataDrivenColor)||this.hasDataDrivenOpacity,this.fillMaterial=new m(this.computeAttributesKey(s.kh.FILL,m.ATTRIBUTES,m.ATTRIBUTES_INFO)),this.outlineMaterial=new _(this.computeAttributesKey(s.kh.OUTLINE,this.outlineUsesFillColor?_.ATTRIBUTES_FILL:_.ATTRIBUTES_OUTLINE,this.outlineUsesFillColor?_.ATTRIBUTES_INFO_FILL:_.ATTRIBUTES_INFO_OUTLINE),this.outlineUsesFillColor)}getFeatureInflatedBounds(t,e,r,n){const i=kt(t);if(!i)return null;const a=this.getPaintValue("fill-translate",e,t),o=n*Math.max(a[0],a[1]);return i[0]-=o,i[2]-=o,i[1]+=o,i[3]+=o,i}isIntersectingFeature(t,e,r,n,i,a,s){const u=n.getGeometry();if(!u)return!1;const c=o.ih/s.normalizationRatio;t=t/s.normalizationRatio+s.normalizationOffsetX,e=e/s.normalizationRatio+s.normalizationOffsetY;const h=(0,l.yM)(this.getPaintValue("fill-translate",i,n),this.getPaintValue("fill-translate-anchor",i,n),a,o.ih);return t-=c*h.x,e-=c*h.y,!!(0,l.s3)(t,e,u)||(0,l.ru)(t,e,u,c*r)}}class Bt extends St{constructor(t,e,r,n){super(t,e,r,n);const i=this.getPaintProperty("line-pattern");if(this.lineMaterial=new b(this.computeAttributesKey(s.kh.LINE,b.ATTRIBUTES,b.ATTRIBUTES_INFO,i?"line-dasharray":"")),this.hasDataDrivenLine=this.getPaintProperty("line-blur")?.isDataDriven||this.getPaintProperty("line-color")?.isDataDriven||this.getPaintProperty("line-gap-width")?.isDataDriven||this.getPaintProperty("line-offset")?.isDataDriven||this.getPaintProperty("line-opacity")?.isDataDriven||this.getPaintProperty("line-pattern")?.isDataDriven||this.getPaintProperty("line-dasharray")?.isDataDriven||this.getLayoutProperty("line-cap")?.isDataDriven||this.getPaintProperty("line-width")?.isDataDriven,this.canUseThinTessellation=!1,!this.hasDataDrivenLine){const t=this.getPaintProperty("line-width");if(!t||"number"==typeof t&&.5*t<Pt.Gh){const t=this.getPaintProperty("line-offset");(!t||"number"==typeof t&&0===t)&&(this.canUseThinTessellation=!0)}}}getDashKey(t,e){let r;switch(e){case Lt.BUTT:r="Butt";break;case Lt.ROUND:r="Round";break;case Lt.SQUARE:r="Square";break;default:r="Butt"}return`dasharray-[${t.toString()}]-${r}`}getFeatureInflatedBounds(t,e,r,n){const i=kt(t);if(!i)return null;const a=this.getPaintValue("line-translate",e,t),o=n*Math.max(a[0],a[1]);i[0]-=o,i[2]-=o,i[1]+=o,i[3]+=o;const s=n*Math.abs(this.getPaintValue("line-offset",e,t)||0),l=n*(this.getPaintValue("line-width",e,t)/2);return i[0]-=s+l,i[1]-=s+l,i[2]+=s+l,i[3]+=s+l,i}isIntersectingFeature(t,e,r,n,i,a,s){let u=n.getGeometry();if(!u)return!1;const c=o.ih/s.normalizationRatio;t=t/s.normalizationRatio+s.normalizationOffsetX,e=e/s.normalizationRatio+s.normalizationOffsetY;const h=(0,l.yM)(this.getPaintValue("line-translate",i,n),this.getPaintValue("line-translate-anchor",i,n),a,o.ih);t-=c*h.x,e-=c*h.y;const p=c*this.getPaintValue("line-offset",i,n)||0;0!==p&&(u=(0,l.cP)(u,-p));const f=this.getPaintValue("line-width",i,n);return(0,l.ru)(t,e,u,c*(r+f/2))}}class Ut extends St{constructor(t,e,r,n){super(t,e,r,n),this.iconMaterial=new I(this.computeAttributesKey(s.kh.ICON,I.ATTRIBUTES,I.ATTRIBUTES_INFO)),this.textMaterial=new w(this.computeAttributesKey(s.kh.TEXT,w.ATTRIBUTES,w.ATTRIBUTES_INFO)),this.hasDataDrivenIcon=this.getPaintProperty("icon-color")?.isDataDriven||this.getPaintProperty("icon-halo-blur")?.isDataDriven||this.getPaintProperty("icon-halo-color")?.isDataDriven||this.getPaintProperty("icon-halo-width")?.isDataDriven||this.getPaintProperty("icon-opacity")?.isDataDriven||this.getLayoutProperty("icon-size")?.isDataDriven,this.hasDataDrivenText=this.getPaintProperty("text-color")?.isDataDriven||this.getPaintProperty("text-halo-blur")?.isDataDriven||this.getPaintProperty("text-halo-color")?.isDataDriven||this.getPaintProperty("text-halo-width")?.isDataDriven||this.getPaintProperty("text-opacity")?.isDataDriven||this.getLayoutProperty("text-size")?.isDataDriven}}class Ct extends St{constructor(t,e,r,n){super(t,e,r,n),this.circleMaterial=new d(this.computeAttributesKey(s.kh.CIRCLE,d.ATTRIBUTES,d.ATTRIBUTES_INFO))}getFeatureInflatedBounds(t,e,r,n){const i=kt(t);if(!i)return null;const a=this.getPaintValue("circle-translate",e,t),s=Math.max(a[0],a[1]);i[0]-=s,i[2]-=s,i[1]+=s,i[3]+=s;const l=n*(o.ih*(this.getPaintValue("circle-radius",e,t)+this.getPaintValue("circle-stroke-width",e,t))/2);return i[0]-=l,i[1]-=l,i[2]+=l,i[3]+=l,i}isIntersectingFeature(t,e,r,n,i,a,s){const u=n.getGeometry();if(!u)return!1;const c=o.ih/s.normalizationRatio;t=t/s.normalizationRatio+s.normalizationOffsetX,e=e/s.normalizationRatio+s.normalizationOffsetY,r*=c;const h=(0,l.yM)(this.getPaintValue("circle-translate",i,n),this.getPaintValue("circle-translate-anchor",i,n),a,c),p=c*(this.getPaintValue("circle-radius",i,n)+this.getPaintValue("circle-stroke-width",i,n));let f,y;for(const n of u)if(n)for(const i of n)if(f=i.x+h.x,y=i.y+h.y,Math.sqrt((t-f)*(t-f)+(e-y)*(e-y))-r<=p)return!0;return!1}}class Gt{constructor(t,e,r){let n;this.allowOverlap=t.getLayoutValue("icon-allow-overlap",e),this.ignorePlacement=t.getLayoutValue("icon-ignore-placement",e),this.keepUpright=t.getLayoutValue("icon-keep-upright",e),this.optional=t.getLayoutValue("icon-optional",e),this.rotationAlignment=t.getLayoutValue("icon-rotation-alignment",e),this.rotationAlignment===Nt.I5.AUTO&&(this.rotationAlignment=r?Nt.I5.MAP:Nt.I5.VIEWPORT),n=t.getLayoutProperty("icon-anchor"),n?.isDataDriven?this._anchorProp=n:this.anchor=t.getLayoutValue("icon-anchor",e),n=t.getLayoutProperty("icon-offset"),n?.isDataDriven?this._offsetProp=n:this.offset=t.getLayoutValue("icon-offset",e),n=t.getLayoutProperty("icon-padding"),n?.isDataDriven?this._paddingProp=n:this.padding=t.getLayoutValue("icon-padding",e),n=t.getLayoutProperty("icon-rotate"),n?.isDataDriven?this._rotateProp=n:this.rotate=t.getLayoutValue("icon-rotate",e),n=t.getLayoutProperty("icon-size"),n?.isDataDriven?this._sizeProp=n:this.size=t.getLayoutValue("icon-size",e)}update(t,e){this._anchorProp&&(this.anchor=this._anchorProp.getValue(t,e)),this._offsetProp&&(this.offset=this._offsetProp.getValue(t,e)),this._paddingProp&&(this.padding=this._paddingProp.getValue(t,e)),this._rotateProp&&(this.rotate=this._rotateProp.getValue(t,e)),this._sizeProp&&(this.size=this._sizeProp.getValue(t,e))}}class Mt{constructor(t,e,r){let n;this.allowOverlap=t.getLayoutValue("text-allow-overlap",e),this.ignorePlacement=t.getLayoutValue("text-ignore-placement",e),this.keepUpright=t.getLayoutValue("text-keep-upright",e),this.optional=t.getLayoutValue("text-optional",e),this.rotationAlignment=t.getLayoutValue("text-rotation-alignment",e),this.rotationAlignment===Nt.I5.AUTO&&(this.rotationAlignment=r?Nt.I5.MAP:Nt.I5.VIEWPORT),n=t.getLayoutProperty("text-anchor"),n?.isDataDriven?this._anchorProp=n:this.anchor=t.getLayoutValue("text-anchor",e),n=t.getLayoutProperty("text-justify"),n?.isDataDriven?this._justifyProp=n:this.justify=t.getLayoutValue("text-justify",e),n=t.getLayoutProperty("text-letter-spacing"),n?.isDataDriven?this._letterSpacingProp=n:this.letterSpacing=t.getLayoutValue("text-letter-spacing",e),n=t.getLayoutProperty("text-line-height"),n?.isDataDriven?this._lineHeightProp=n:this.lineHeight=t.getLayoutValue("text-line-height",e),n=t.getLayoutProperty("text-max-angle"),n?.isDataDriven?this._maxAngleProp=n:this.maxAngle=t.getLayoutValue("text-max-angle",e),n=t.getLayoutProperty("text-max-width"),n?.isDataDriven?this._maxWidthProp=n:this.maxWidth=t.getLayoutValue("text-max-width",e),n=t.getLayoutProperty("text-offset"),n?.isDataDriven?this._offsetProp=n:this.offset=t.getLayoutValue("text-offset",e),n=t.getLayoutProperty("text-padding"),n?.isDataDriven?this._paddingProp=n:this.padding=t.getLayoutValue("text-padding",e),n=t.getLayoutProperty("text-rotate"),n?.isDataDriven?this._rotateProp=n:this.rotate=t.getLayoutValue("text-rotate",e),n=t.getLayoutProperty("text-size"),n?.isDataDriven?this._sizeProp=n:this.size=t.getLayoutValue("text-size",e),n=t.getLayoutProperty("text-writing-mode"),n?.isDataDriven?this._writingModeProp=n:this.writingMode=t.getLayoutValue("text-writing-mode",e)}update(t,e){this._anchorProp&&(this.anchor=this._anchorProp.getValue(t,e)),this._justifyProp&&(this.justify=this._justifyProp.getValue(t,e)),this._letterSpacingProp&&(this.letterSpacing=this._letterSpacingProp.getValue(t,e)),this._lineHeightProp&&(this.lineHeight=this._lineHeightProp.getValue(t,e)),this._maxAngleProp&&(this.maxAngle=this._maxAngleProp.getValue(t,e)),this._maxWidthProp&&(this.maxWidth=this._maxWidthProp.getValue(t,e)),this._offsetProp&&(this.offset=this._offsetProp.getValue(t,e)),this._paddingProp&&(this.padding=this._paddingProp.getValue(t,e)),this._rotateProp&&(this.rotate=this._rotateProp.getValue(t,e)),this._sizeProp&&(this.size=this._sizeProp.getValue(t,e)),this._writingModeProp&&(this.writingMode=this._writingModeProp.getValue(t,e))}}function kt(t){const e=t?.getGeometry();if(null==e)return null;let r=1/0,n=1/0,i=-1/0,o=-1/0;for(const t of e)if(t)for(const e of t)r=Math.min(r,e.x),n=Math.min(n,e.y),i=Math.max(i,e.x),o=Math.max(o,e.y);return(0,a.fA)(r,n,i,o)}},4272:(t,e,r)=>{r.d(e,{$u:()=>y,Dc:()=>n,I5:()=>o,KI:()=>l,Ms:()=>u,O6:()=>s,kt:()=>a,v9:()=>h});var n,i,a,o,s,l,u,c,h,p,f=r(15294);(p=n||(n={}))[p.BACKGROUND=0]="BACKGROUND",p[p.FILL=1]="FILL",p[p.LINE=2]="LINE",p[p.SYMBOL=3]="SYMBOL",p[p.CIRCLE=4]="CIRCLE",function(t){t[t.VISIBLE=0]="VISIBLE",t[t.NONE=1]="NONE"}(i||(i={})),function(t){t[t.POINT=0]="POINT",t[t.LINE=1]="LINE",t[t.LINE_CENTER=2]="LINE_CENTER"}(a||(a={})),function(t){t[t.MAP=0]="MAP",t[t.VIEWPORT=1]="VIEWPORT",t[t.AUTO=2]="AUTO"}(o||(o={})),function(t){t[t.AUTO=0]="AUTO",t[t.LEFT=1]="LEFT",t[t.CENTER=2]="CENTER",t[t.RIGHT=3]="RIGHT"}(s||(s={})),function(t){t[t.CENTER=0]="CENTER",t[t.LEFT=1]="LEFT",t[t.RIGHT=2]="RIGHT",t[t.TOP=3]="TOP",t[t.BOTTOM=4]="BOTTOM",t[t.TOP_LEFT=5]="TOP_LEFT",t[t.TOP_RIGHT=6]="TOP_RIGHT",t[t.BOTTOM_LEFT=7]="BOTTOM_LEFT",t[t.BOTTOM_RIGHT=8]="BOTTOM_RIGHT"}(l||(l={})),function(t){t[t.NONE=0]="NONE",t[t.UPPERCASE=1]="UPPERCASE",t[t.LOWERCASE=2]="LOWERCASE"}(u||(u={})),function(t){t[t.MAP=0]="MAP",t[t.VIEWPORT=1]="VIEWPORT"}(c||(c={})),function(t){t[t.HORIZONTAL=0]="HORIZONTAL",t[t.VERTICAL=1]="VERTICAL"}(h||(h={}));class y{static{this.backgroundLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:i.VISIBLE}}}static{this.fillLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:i.VISIBLE}}}static{this.lineLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:i.VISIBLE},"line-cap":{type:"enum",values:["butt","round","square"],default:f.xR.BUTT},"line-join":{type:"enum",values:["bevel","round","miter"],default:f.JO.MITER},"line-miter-limit":{type:"number",default:2},"line-round-limit":{type:"number",default:1.05}}}static{this.symbolLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:i.VISIBLE},"symbol-avoid-edges":{type:"boolean",default:!1},"symbol-placement":{type:"enum",values:["point","line","line-center"],default:a.POINT},"symbol-sort-key":{type:"number",default:-1},"symbol-spacing":{type:"number",minimum:1,default:250},"icon-allow-overlap":{type:"boolean",default:!1},"icon-anchor":{type:"enum",values:["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"],default:l.CENTER},"icon-ignore-placement":{type:"boolean",default:!1},"icon-image":{type:"string"},"icon-keep-upright":{type:"boolean",default:!1},"icon-offset":{type:"array",value:"number",length:2,default:[0,0]},"icon-optional":{type:"boolean",default:!1},"icon-padding":{type:"number",minimum:0,default:2},"icon-rotate":{type:"number",default:0},"icon-rotation-alignment":{type:"enum",values:["map","viewport","auto"],default:o.AUTO},"icon-size":{type:"number",minimum:0,default:1},"text-allow-overlap":{type:"boolean",default:!1},"text-anchor":{type:"enum",values:["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"],default:l.CENTER},"text-field":{type:"string"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"]},"text-ignore-placement":{type:"boolean",default:!1},"text-justify":{type:"enum",values:["auto","left","center","right"],default:s.CENTER},"text-keep-upright":{type:"boolean",default:!0},"text-letter-spacing":{type:"number",default:0},"text-line-height":{type:"number",default:1.2},"text-max-angle":{type:"number",minimum:0,default:45},"text-max-width":{type:"number",minimum:0,default:10},"text-offset":{type:"array",value:"number",length:2,default:[0,0]},"text-optional":{type:"boolean",default:!1},"text-padding":{type:"number",minimum:0,default:2},"text-rotate":{type:"number",default:0},"text-rotation-alignment":{type:"enum",values:["map","viewport","auto"],default:o.AUTO},"text-size":{type:"number",minimum:0,default:16},"text-transform":{type:"enum",values:["none","uppercase","lowercase"],default:u.NONE},"text-writing-mode":{type:"array",value:"enum",values:["horizontal","vertical"],default:[h.HORIZONTAL]}}}static{this.circleLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:i.VISIBLE}}}static{this.backgroundPaintDefinition={"background-color":{type:"color",default:[0,0,0,1]},"background-opacity":{type:"number",minimum:0,maximum:1,default:1},"background-pattern":{type:"string"}}}static{this.fillPaintDefinition={"fill-antialias":{type:"boolean",default:!0},"fill-color":{type:"color",default:[0,0,0,1]},"fill-opacity":{type:"number",minimum:0,maximum:1,default:1},"fill-outline-color":{type:"color",default:[0,0,0,0]},"fill-pattern":{type:"string"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0]},"fill-translate-anchor":{type:"enum",values:["map","viewport"],default:c.MAP}}}static{this.linePaintDefinition={"line-blur":{type:"number",minimum:0,default:0},"line-color":{type:"color",default:[0,0,0,1]},"line-dasharray":{type:"array",value:"number",default:[]},"line-gap-width":{type:"number",minimum:0,default:0},"line-offset":{type:"number",default:0},"line-opacity":{type:"number",minimum:0,maximum:1,default:1},"line-pattern":{type:"string"},"line-translate":{type:"array",value:"number",length:2,default:[0,0]},"line-translate-anchor":{type:"enum",values:["map","viewport"],default:c.MAP},"line-width":{type:"number",minimum:0,default:1}}}static{this.symbolPaintDefinition={"icon-color":{type:"color",default:[0,0,0,1]},"icon-halo-blur":{type:"number",minimum:0,default:0},"icon-halo-color":{type:"color",default:[0,0,0,0]},"icon-halo-width":{type:"number",minimum:0,default:0},"icon-opacity":{type:"number",minimum:0,maximum:1,default:1},"icon-translate":{type:"array",value:"number",length:2,default:[0,0]},"icon-translate-anchor":{type:"enum",values:["map","viewport"],default:c.MAP},"text-color":{type:"color",default:[0,0,0,1]},"text-halo-blur":{type:"number",minimum:0,default:0},"text-halo-color":{type:"color",default:[0,0,0,0]},"text-halo-width":{type:"number",minimum:0,default:0},"text-opacity":{type:"number",minimum:0,maximum:1,default:1},"text-translate":{type:"array",value:"number",length:2,default:[0,0]},"text-translate-anchor":{type:"enum",values:["map","viewport"],default:c.MAP}}}static{this.rasterPaintDefinition={"raster-opacity":{type:"number",minimum:0,maximum:1,default:1},"raster-hue-rotate":{type:"number",default:0},"raster-brightness-min":{type:"number",minimum:0,maximum:1,default:0},"raster-brightness-max":{type:"number",minimum:0,maximum:1,default:1},"raster-saturation":{type:"number",minimum:-1,maximum:1,default:0},"raster-contrast":{type:"number",minimum:-1,maximum:1,default:0},"raster-fade-duration":{type:"number",minimum:0,default:300}}}static{this.circlePaintDefinition={"circle-blur":{type:"number",minimum:0,default:0},"circle-color":{type:"color",default:[0,0,0,1]},"circle-opacity":{type:"number",minimum:0,maximum:1,default:1},"circle-radius":{type:"number",minimum:0,default:5},"circle-stroke-color":{type:"color",default:[0,0,0,1]},"circle-stroke-opacity":{type:"number",minimum:0,maximum:1,default:1},"circle-stroke-width":{type:"number",minimum:0,default:0},"circle-translate":{type:"array",value:"number",length:2,default:[0,0]},"circle-translate-anchor":{type:"enum",values:["map","viewport"],default:c.MAP}}}}},15294:(t,e,r)=>{var n,i,a,o,s,l,u,c,h,p,f,y,g,d,m,_,b,E,T,I,w,R,v,A,N,D,L,P,S,x,O,B,U,C,G,M,k,F,V,z,$,H,W,Y,q,K,j,Z,J,X,Q,tt,et,rt,nt,it,at,ot,st,lt,ut,ct,ht;r.d(e,{$2:()=>s,Ao:()=>A,C1:()=>a,Hz:()=>y,JO:()=>i,M1:()=>v,OW:()=>it,Q1:()=>Z,WE:()=>S,YI:()=>X,e_:()=>j,fu:()=>f,ip:()=>J,oF:()=>w,uQ:()=>R,uT:()=>F,wd:()=>H,xR:()=>n,xw:()=>D,yS:()=>V}),function(t){t[t.BUTT=0]="BUTT",t[t.ROUND=1]="ROUND",t[t.SQUARE=2]="SQUARE",t[t.UNKNOWN=4]="UNKNOWN"}(n||(n={})),function(t){t[t.BEVEL=0]="BEVEL",t[t.ROUND=1]="ROUND",t[t.MITER=2]="MITER",t[t.UNKNOWN=4]="UNKNOWN"}(i||(i={})),function(t){t[t.SCREEN=0]="SCREEN",t[t.MAP=1]="MAP"}(a||(a={})),function(t){t[t.Tint=0]="Tint",t[t.Ignore=1]="Ignore",t[t.Multiply=99]="Multiply"}(o||(o={})),function(t){t.Both="Both",t.JustBegin="JustBegin",t.JustEnd="JustEnd",t.None="None"}(s||(s={})),function(t){t[t.Mosaic=0]="Mosaic",t[t.Centered=1]="Centered"}(l||(l={})),function(t){t[t.Normal=0]="Normal",t[t.Superscript=1]="Superscript",t[t.Subscript=2]="Subscript"}(u||(u={})),function(t){t[t.MSSymbol=0]="MSSymbol",t[t.Unicode=1]="Unicode"}(c||(c={})),function(t){t[t.Unspecified=0]="Unspecified",t[t.TrueType=1]="TrueType",t[t.PSOpenType=2]="PSOpenType",t[t.TTOpenType=3]="TTOpenType",t[t.Type1=4]="Type1"}(h||(h={})),function(t){t[t.Display=0]="Display",t[t.Map=1]="Map"}(p||(p={})),function(t){t.None="None",t.Loop="Loop",t.Oscillate="Oscillate"}(f||(f={})),function(t){t.Linear="Linear",t.EaseIn="EaseIn",t.EaseOut="EaseOut",t.EaseInOut="EaseInOut"}(y||(y={})),function(t){t[t.Z=0]="Z",t[t.X=1]="X",t[t.Y=2]="Y"}(g||(g={})),function(t){t[t.XYZ=0]="XYZ",t[t.ZXY=1]="ZXY",t[t.YXZ=2]="YXZ"}(d||(d={})),function(t){t[t.Rectangle=0]="Rectangle",t[t.RoundedRectangle=1]="RoundedRectangle",t[t.Oval=2]="Oval"}(m||(m={})),function(t){t[t.None=0]="None",t[t.Alpha=1]="Alpha",t[t.Screen=2]="Screen",t[t.Multiply=3]="Multiply",t[t.Add=4]="Add"}(_||(_={})),function(t){t[t.TTB=0]="TTB",t[t.RTL=1]="RTL",t[t.BTT=2]="BTT"}(b||(b={})),function(t){t[t.None=0]="None",t[t.SignPost=1]="SignPost",t[t.FaceNearPlane=2]="FaceNearPlane"}(E||(E={})),function(t){t[t.Float=0]="Float",t[t.String=1]="String",t[t.Boolean=2]="Boolean"}(T||(T={})),function(t){t[t.Intersect=0]="Intersect",t[t.Subtract=1]="Subtract"}(I||(I={})),function(t){t.OpenEnded="OpenEnded",t.Block="Block",t.Crossed="Crossed"}(w||(w={})),function(t){t.FullGeometry="FullGeometry",t.PerpendicularFromFirstSegment="PerpendicularFromFirstSegment",t.ReversedFirstSegment="ReversedFirstSegment",t.PerpendicularToSecondSegment="PerpendicularToSecondSegment",t.SecondSegmentWithTicks="SecondSegmentWithTicks",t.DoublePerpendicular="DoublePerpendicular",t.OppositeToFirstSegment="OppositeToFirstSegment",t.TriplePerpendicular="TriplePerpendicular",t.HalfCircleFirstSegment="HalfCircleFirstSegment",t.HalfCircleSecondSegment="HalfCircleSecondSegment",t.HalfCircleExtended="HalfCircleExtended",t.OpenCircle="OpenCircle",t.CoverageEdgesWithTicks="CoverageEdgesWithTicks",t.GapExtentWithDoubleTicks="GapExtentWithDoubleTicks",t.GapExtentMidline="GapExtentMidline",t.Chevron="Chevron",t.PerpendicularWithArc="PerpendicularWithArc",t.ClosedHalfCircle="ClosedHalfCircle",t.TripleParallelExtended="TripleParallelExtended",t.ParallelWithTicks="ParallelWithTicks",t.Parallel="Parallel",t.PerpendicularToFirstSegment="PerpendicularToFirstSegment",t.ParallelOffset="ParallelOffset",t.OffsetOpposite="OffsetOpposite",t.OffsetSame="OffsetSame",t.CircleWithArc="CircleWithArc",t.DoubleJog="DoubleJog",t.PerpendicularOffset="PerpendicularOffset",t.LineExcludingLastSegment="LineExcludingLastSegment",t.MultivertexArrow="MultivertexArrow",t.CrossedArrow="CrossedArrow",t.ChevronArrow="ChevronArrow",t.ChevronArrowOffset="ChevronArrowOffset",t.PartialFirstSegment="PartialFirstSegment",t.Arch="Arch",t.CurvedParallelTicks="CurvedParallelTicks",t.Arc90Degrees="Arc90Degrees",t.TipWithPerpendicularAndTicks="TipWithPerpendicularAndTicks",t.ConcentricCircles="ConcentricCircles",t.DoubleJogArrow="DoubleJogArrow",t.LinkedChevrons="LinkedChevrons",t.SegmentThenHalfCircle="SegmentThenHalfCircle",t.LineWithStraightTicks="LineWithStraightTicks",t.DoubleCurve="DoubleCurve",t.ParallelWithTicksByWidth="ParallelWithTicksByWidth",t.EnclosingRoundedRectangle="EnclosingRoundedRectangle"}(R||(R={})),function(t){t.Mitered="Mitered",t.Bevelled="Bevelled",t.Rounded="Rounded",t.Square="Square",t.TrueBuffer="TrueBuffer"}(v||(v={})),function(t){t.ClosePath="ClosePath",t.ConvexHull="ConvexHull",t.RectangularBox="RectangularBox"}(A||(A={})),function(t){t.BeginningOfLine="BeginningOfLine",t.EndOfLine="EndOfLine"}(N||(N={})),function(t){t.Mitered="Mitered",t.Bevelled="Bevelled",t.Rounded="Rounded",t.Square="Square"}(D||(D={})),function(t){t.Fast="Fast",t.Accurate="Accurate"}(L||(L={})),function(t){t.BeginningOfLine="BeginningOfLine",t.EndOfLine="EndOfLine"}(P||(P={})),function(t){t.Sinus="Sinus",t.Square="Square",t.Triangle="Triangle",t.Random="Random"}(S||(S={})),function(t){t[t.None=0]="None",t[t.Default=1]="Default",t[t.Force=2]="Force"}(x||(x={})),function(t){t[t.Buffered=0]="Buffered",t[t.Left=1]="Left",t[t.Right=2]="Right",t[t.AlongLine=3]="AlongLine"}(O||(O={})),function(t){t[t.Linear=0]="Linear",t[t.Rectangular=1]="Rectangular",t[t.Circular=2]="Circular",t[t.Buffered=3]="Buffered"}(B||(B={})),function(t){t[t.Discrete=0]="Discrete",t[t.Continuous=1]="Continuous"}(U||(U={})),function(t){t[t.AcrossLine=0]="AcrossLine",t[t.AlongLine=1]="AlongLine"}(C||(C={})),function(t){t[t.Auto=0]="Auto",t[t.Clockwise=1]="Clockwise",t[t.Counterclockwise=2]="Counterclockwise"}(G||(G={})),function(t){t[t.Left=0]="Left",t[t.Right=1]="Right",t[t.Center=2]="Center",t[t.Justify=3]="Justify"}(M||(M={})),function(t){t[t.Base=0]="Base",t[t.MidPoint=1]="MidPoint",t[t.ThreePoint=2]="ThreePoint",t[t.FourPoint=3]="FourPoint",t[t.Underline=4]="Underline",t[t.CircularCW=5]="CircularCW",t[t.CircularCCW=6]="CircularCCW"}(k||(k={})),function(t){t.Butt="Butt",t.Round="Round",t.Square="Square"}(F||(F={})),function(t){t.NoConstraint="NoConstraint",t.HalfPattern="HalfPattern",t.HalfGap="HalfGap",t.FullPattern="FullPattern",t.FullGap="FullGap",t.Custom="Custom"}(V||(V={})),function(t){t[t.None=-1]="None",t[t.Custom=0]="Custom",t[t.Circle=1]="Circle",t[t.OpenArrow=2]="OpenArrow",t[t.ClosedArrow=3]="ClosedArrow",t[t.Diamond=4]="Diamond"}(z||(z={})),function(t){t[t.ExtraLeading=0]="ExtraLeading",t[t.Multiple=1]="Multiple",t[t.Exact=2]="Exact"}($||($={})),function(t){t.Bevel="Bevel",t.Round="Round",t.Miter="Miter"}(H||(H={})),function(t){t[t.Default=0]="Default",t[t.String=1]="String",t[t.Numeric=2]="Numeric"}(W||(W={})),function(t){t[t.InsidePolygon=0]="InsidePolygon",t[t.PolygonCenter=1]="PolygonCenter",t[t.RandomlyInsidePolygon=2]="RandomlyInsidePolygon"}(Y||(Y={})),function(t){t[t.Tint=0]="Tint",t[t.Replace=1]="Replace",t[t.Multiply=2]="Multiply"}(q||(q={})),function(t){t[t.ClipAtBoundary=0]="ClipAtBoundary",t[t.RemoveIfCenterOutsideBoundary=1]="RemoveIfCenterOutsideBoundary",t[t.DoNotTouchBoundary=2]="DoNotTouchBoundary",t[t.DoNotClip=3]="DoNotClip"}(K||(K={})),function(t){t.NoConstraint="NoConstraint",t.WithMarkers="WithMarkers",t.WithFullGap="WithFullGap",t.WithHalfGap="WithHalfGap",t.Custom="Custom"}(j||(j={})),function(t){t.Fixed="Fixed",t.Random="Random",t.RandomFixedQuantity="RandomFixedQuantity"}(Z||(Z={})),function(t){t.LineMiddle="LineMiddle",t.LineBeginning="LineBeginning",t.LineEnd="LineEnd",t.SegmentMidpoint="SegmentMidpoint"}(J||(J={})),function(t){t.OnPolygon="OnPolygon",t.CenterOfMass="CenterOfMass",t.BoundingBoxCenter="BoundingBoxCenter"}(X||(X={})),function(t){t[t.Low=0]="Low",t[t.Medium=1]="Medium",t[t.High=2]="High"}(Q||(Q={})),function(t){t[t.MarkerCenter=0]="MarkerCenter",t[t.MarkerBounds=1]="MarkerBounds"}(tt||(tt={})),function(t){t[t.None=0]="None",t[t.PropUniform=1]="PropUniform",t[t.PropNonuniform=2]="PropNonuniform",t[t.DifUniform=3]="DifUniform",t[t.DifNonuniform=4]="DifNonuniform"}(et||(et={})),function(t){t.Tube="Tube",t.Strip="Strip",t.Wall="Wall"}(rt||(rt={})),function(t){t[t.Random=0]="Random",t[t.Increasing=1]="Increasing",t[t.Decreasing=2]="Decreasing",t[t.IncreasingThenDecreasing=3]="IncreasingThenDecreasing"}(nt||(nt={})),function(t){t[t.Relative=0]="Relative",t[t.Absolute=1]="Absolute"}(it||(it={})),function(t){t[t.Normal=0]="Normal",t[t.LowerCase=1]="LowerCase",t[t.Allcaps=2]="Allcaps"}(at||(at={})),function(t){t[t.LTR=0]="LTR",t[t.RTL=1]="RTL"}(ot||(ot={})),function(t){t.Draft="Draft",t.Picture="Picture",t.Text="Text"}(st||(st={})),function(t){t[t.Top=0]="Top",t[t.Center=1]="Center",t[t.Baseline=2]="Baseline",t[t.Bottom=3]="Bottom"}(lt||(lt={})),function(t){t[t.Right=0]="Right",t[t.Upright=1]="Upright"}(ut||(ut={})),function(t){t[t.Small=0]="Small",t[t.Medium=1]="Medium",t[t.Large=2]="Large"}(ct||(ct={})),function(t){t[t.Calm=0]="Calm",t[t.Rippled=1]="Rippled",t[t.Slight=2]="Slight",t[t.Moderate=3]="Moderate"}(ht||(ht={}))},45013:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(4272),i=r(3057);class a{constructor(t){if(this._style=t,this.backgroundBucketIds=[],this._uidToLayer=new Map,this._layerByName={},this._runningId=0,t.layers||(t.layers=[]),this.version=parseFloat(t.version),this.layers=t.layers.map(((t,e,r)=>this._create(t,e,r))).filter((t=>!!t)),this.layers)for(let t=0;t<this.layers.length;t++){const e=this.layers[t];this._layerByName[e.id]=e,this._uidToLayer.set(e.uid,e),e.type===n.Dc.BACKGROUND&&this.backgroundBucketIds.push(e.id)}this._identifyRefLayers()}getLayerStyleProperties(t,e){const r=this.getStyleLayerByUID(t),i=r?.getLayoutValue("symbol-placement",e)!==n.kt.POINT;let a=r?.getLayoutValue("icon-rotation-alignment",e);a===n.I5.AUTO&&(a=i?n.I5.MAP:n.I5.VIEWPORT);let o=r?.getLayoutValue("text-rotation-alignment",e);o===n.I5.AUTO&&(o=i?n.I5.MAP:n.I5.VIEWPORT);const s=r?.getPaintValue("icon-translate",e),l=r?.getPaintValue("icon-translate-anchor",e),u=r?.getPaintValue("text-translate",e),c=r?.getPaintValue("text-translate-anchor",e);return{geometryType:null,iconAllowOverlap:r?.getLayoutValue("icon-allow-overlap",e),iconIgnorePlacement:r?.getLayoutValue("icon-ignore-placement",e),textAllowOverlap:r?.getLayoutValue("text-allow-overlap",e),textIgnorePlacement:r?.getLayoutValue("text-ignore-placement",e),iconRotationAlignment:a,textRotationAlignment:o,iconTranslateAnchor:l,iconTranslate:s,textTranslateAnchor:c,textTranslate:u}}isPainterDataDriven(t){const e=this._layerByName[t];return!!e&&e.isPainterDataDriven()}getStyleLayerId(t){return t>=this.layers.length?null:this.layers[t].id}getStyleLayerByUID(t){return this._uidToLayer.get(t)??null}getStyleLayerIndex(t){const e=this._layerByName[t];return e?this.layers.indexOf(e):-1}setStyleLayer(t,e){if(!t?.id)return;const r=this._style;null!=e&&e>=this.layers.length&&(e=this.layers.length-1);let n,i=!0;const o=this._layerByName[t.id];if(o){const s=this.layers.indexOf(o);e||(e=s),e===s?(i=!1,n=a._recreateLayer(t,o),this.layers[e]=n,r.layers[e]=t):(this.layers.splice(s,1),r.layers.splice(s,1),n=this._create(t,e,this.layers),this.layers.splice(e,0,n),r.layers.splice(e,0,t))}else n=this._create(t,e,this.layers),!e||e>=this.layers.length?(this.layers.push(n),r.layers.push(t)):(this.layers.splice(e,0,n),r.layers.splice(e,0,t));this._layerByName[t.id]=n,this._uidToLayer.set(n.uid,n),i&&this._recomputeZValues(),this._identifyRefLayers()}getStyleLayer(t){const e=this._layerByName[t];return e?{type:e.typeName,id:e.id,source:e.source,"source-layer":e.sourceLayer,minzoom:e.minzoom,maxzoom:e.maxzoom,filter:e.filter,layout:e.layout,paint:e.paint}:null}deleteStyleLayer(t){const e=this._layerByName[t];if(e){delete this._layerByName[t],this._uidToLayer.delete(e.uid);const r=this.layers.indexOf(e);this.layers.splice(r,1),this._style.layers.splice(r,1),this._recomputeZValues(),this._identifyRefLayers()}}getLayerById(t){return this._layerByName[t]}getLayoutProperties(t){const e=this._layerByName[t];return e?e.layout:null}getPaintProperties(t){const e=this._layerByName[t];return e?e.paint:null}setPaintProperties(t,e){const r=this._layerByName[t];if(!r)return;const n={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:r.layout,paint:e},i=a._recreateLayer(n,r),o=this.layers.indexOf(r);this.layers[o]=i,this._style.layers[o].paint=e,this._layerByName[r.id]=i,this._uidToLayer.set(r.uid,i)}setLayoutProperties(t,e){const r=this._layerByName[t];if(!r)return;const n={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:e,paint:r.paint},i=a._recreateLayer(n,r),o=this.layers.indexOf(r);this.layers[o]=i,this._style.layers[o].layout=e,this._layerByName[r.id]=i,this._uidToLayer.set(r.uid,i)}setStyleLayerVisibility(t,e){const r=this._layerByName[t];if(!r)return;const n=r.layout||{};n.visibility=e;const i={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:n,paint:r.paint},o=a._recreateLayer(i,r),s=this.layers.indexOf(r);this.layers[s]=o,this._style.layers[s].layout=n,this._layerByName[r.id]=o,this._uidToLayer.set(r.uid,o)}getStyleLayerVisibility(t){const e=this._layerByName[t];if(!e)return"none";const r=e.layout;return r?.visibility??"visible"}_recomputeZValues(){const t=this.layers,e=1/(t.length+1);for(let r=0;r<t.length;r++)t[r].z=1-(1+r)*e}_identifyRefLayers(){const t=[],e=[];let r=0;for(const i of this.layers){const a=i.layout;if(i.type===n.Dc.FILL){const e=i;let n=i.source+"|"+i.sourceLayer;n+="|"+(a?.visibility??""),n+="|"+i.minzoom,n+="|"+i.maxzoom,n+="|"+JSON.stringify(i.filter),(e.hasDataDrivenFill||e.hasDataDrivenOutline)&&(n+="|"+r),t.push({key:n,layer:i})}else if(i.type===n.Dc.LINE){const t=i,n=i.paint,o=null!=n&&(null!=n["line-pattern"]||null!=n["line-dasharray"]);let s=i.source+"|"+i.sourceLayer;s+="|"+(a?.visibility??""),s+="|"+i.minzoom,s+="|"+i.maxzoom,s+="|"+JSON.stringify(i.filter),s+="|"+(void 0!==a?a["line-cap"]:""),s+="|"+(void 0!==a?a["line-join"]:""),(t.hasDataDrivenLine||o)&&(s+="|"+r),e.push({key:s,layer:i})}++r}this._assignRefLayers(t),this._assignRefLayers(e)}_assignRefLayers(t){let e,r;t.sort(((t,e)=>t.key<e.key?-1:t.key>e.key?1:0));const i=t.length;for(let a=0;a<i;a++){const o=t[a];if(o.key===e)o.layer.refLayerId=r;else if(e=o.key,r=o.layer.id,o.layer.type===n.Dc.FILL){if(!o.layer.getPaintProperty("fill-outline-color"))for(let n=a+1;n<i;n++){const i=t[n];if(i.key!==e)break;if(i.layer.getPaintProperty("fill-outline-color")){t[a]=i,t[n]=o,r=i.layer.id;break}}}else if(o.layer.type===n.Dc.LINE){let n=o.layer;for(let s=a+1;s<i;s++){const i=t[s];if(i.key!==e)break;const l=i.layer;(n.canUseThinTessellation&&!l.canUseThinTessellation||!n.canUseThinTessellation&&(l.getPaintProperty("line-pattern")||l.getPaintProperty("line-dasharray")))&&(n=l,t[a]=i,t[s]=o,r=i.layer.id)}}}}_create(t,e,r){const a=1-(1+e)*(1/(r.length+1)),o=this._runningId++;switch(t.type){case"background":return new i.lf(n.Dc.BACKGROUND,t,a,o);case"fill":return new i.A4(n.Dc.FILL,t,a,o);case"line":return new i.tU(n.Dc.LINE,t,a,o);case"symbol":return new i.V1(n.Dc.SYMBOL,t,a,o);case"raster":return console.warn(`Unsupported vector tile raster layer ${t.id}`),null;case"circle":return new i.L(n.Dc.CIRCLE,t,a,o)}return null}static _recreateLayer(t,e){switch(t.type){case"background":return new i.lf(n.Dc.BACKGROUND,t,e.z,e.uid);case"fill":return new i.A4(n.Dc.FILL,t,e.z,e.uid);case"line":return new i.tU(n.Dc.LINE,t,e.z,e.uid);case"symbol":return new i.V1(n.Dc.SYMBOL,t,e.z,e.uid);case"raster":return console.warn(`Unsupported vector tile raster layer ${t.id}`),null;case"circle":return new i.L(n.Dc.CIRCLE,t,e.z,e.uid)}return null}}},68197:(t,e,r)=>{r.d(e,{A:()=>h});var n,i,a=r(40876),o=r(34727),s=r(56507);function l(t){return(0,o.qE)((0,s.Vr)(t),0,255)}function u(t,e,r){return t=Number(t),isNaN(t)?r:t<e?e:t>r?r:t}function c(t,e){const r=t.toString(16).padStart(2,"0");return e?r.slice(0,1):r}class h{static blendColors(t,e,r,n=new h){return n.r=Math.round(t.r+(e.r-t.r)*r),n.g=Math.round(t.g+(e.g-t.g)*r),n.b=Math.round(t.b+(e.b-t.b)*r),n.a=t.a+(e.a-t.a)*r,n._sanitize()}static fromRgb(t,e){const r=t.toLowerCase().match(/^(rgba?|hsla?)\(([\s.\-,%0-9]+)\)/);if(r){const t=r[2].split(/\s*,\s*/),n=r[1];if("rgb"===n&&3===t.length||"rgba"===n&&4===t.length){const r=t[0];if("%"===r.charAt(r.length-1)){const r=t.map((t=>2.56*parseFloat(t)));return 4===t.length&&(r[3]=parseFloat(t[3])),h.fromArray(r,e)}return h.fromArray(t.map((t=>parseFloat(t))),e)}if("hsl"===n&&3===t.length||"hsla"===n&&4===t.length)return h.fromArray((0,a.z$)(parseFloat(t[0]),parseFloat(t[1])/100,parseFloat(t[2])/100,parseFloat(t[3])),e)}return null}static fromHex(t,e=new h){if("#"!==t[0]||isNaN(Number(`0x${t.slice(1)}`)))return null;switch(t.length){case 4:case 5:{const r=parseInt(t.slice(1,2),16),n=parseInt(t.slice(2,3),16),i=parseInt(t.slice(3,4),16),a=5===t.length?15:parseInt(t.slice(4),16);return h.fromArray([r+16*r,n+16*n,i+16*i,(a+16*a)/255],e)}case 7:case 9:{const r=parseInt(t.slice(1,3),16),n=parseInt(t.slice(3,5),16),i=parseInt(t.slice(5,7),16),a=7===t.length?255:parseInt(t.slice(7),16);return h.fromArray([r,n,i,a/255],e)}default:return null}}static fromArray(t,e=new h){return e._set(Number(t[0]),Number(t[1]),Number(t[2]),Number(t[3])),isNaN(e.a)&&(e.a=1),e._sanitize()}static fromString(t,e){const r=(0,a.V6)(t)?(0,a.TS)(t):null;return r&&h.fromArray(r,e)||h.fromRgb(t,e)||h.fromHex(t,e)}static fromJSON(t){return null!=t?new h([t[0],t[1],t[2],(t[3]??255)/255]):void 0}static toUnitRGB(t){return null!=t?[t.r/255,t.g/255,t.b/255]:null}static toUnitRGBA(t){return null!=t?[t.r/255,t.g/255,t.b/255,null!=t.a?t.a:1]:null}constructor(t){this.r=255,this.g=255,this.b=255,this.a=1,t&&this.setColor(t)}get isBright(){return.299*this.r+.587*this.g+.114*this.b>=127}setColor(t){return"string"==typeof t?h.fromString(t,this):Array.isArray(t)?h.fromArray(t,this):(this._set(t.r??0,t.g??0,t.b??0,t.a??1),t instanceof h||this._sanitize()),this}toRgb(){return[this.r,this.g,this.b]}toRgba(){return[this.r,this.g,this.b,this.a]}toHex(t){const e=t?.capitalize??!1,r=t?.digits??6,n=3===r||4===r,i=4===r||8===r,a=`#${c(this.r,n)}${c(this.g,n)}${c(this.b,n)}${i?c(Math.round(255*this.a),n):""}`;return e?a.toUpperCase():a}toCss(t=!1){const e=this.r+", "+this.g+", "+this.b;return t?`rgba(${e}, ${this.a})`:`rgb(${e})`}toString(){return this.toCss(!0)}toJSON(){return this.toArray()}toArray(t=h.AlphaMode.ALWAYS){const e=l(this.r),r=l(this.g),n=l(this.b);return t===h.AlphaMode.ALWAYS||1!==this.a?[e,r,n,l(255*this.a)]:[e,r,n]}clone(){return new h(this.toRgba())}hash(){return this.r<<24|this.g<<16|this.b<<8|255*this.a}equals(t){return null!=t&&t.r===this.r&&t.g===this.g&&t.b===this.b&&t.a===this.a}_sanitize(){return this.r=Math.round(u(this.r,0,255)),this.g=Math.round(u(this.g,0,255)),this.b=Math.round(u(this.b,0,255)),this.a=u(this.a,0,1),this}_set(t,e,r,n){this.r=t,this.g=e,this.b=r,this.a=n}}h.prototype.declaredClass="esri.Color",(i=(n=h).AlphaMode||(n.AlphaMode={}))[i.ALWAYS=0]="ALWAYS",i[i.UNLESS_OPAQUE=1]="UNLESS_OPAQUE"},74038:(t,e,r)=>{r.d(e,{_:()=>n});class n{constructor(t,e,r,n,i,a=!1,o=0){this.name=t,this.count=e,this.type=r,this.offset=n,this.stride=i,this.normalized=a,this.divisor=o}}},80081:(t,e,r)=>{r.d(e,{A:()=>n}),r(44208);class n{constructor(t){this._array=[],this._stride=t}get array(){return this._array}get index(){return 4*this._array.length/this._stride}get itemSize(){return this._stride}get sizeInBytes(){return 4*this._array.length}reset(){this.array.length=0}toBuffer(){return new Uint32Array(this._array).buffer}static i1616to32(t,e){return 65535&t|e<<16}static i8888to32(t,e,r,n){return 255&t|(255&e)<<8|(255&r)<<16|n<<24}static i8816to32(t,e,r){return 255&t|(255&e)<<8|r<<16}}},83027:(t,e,r)=>{r.d(e,{ih:()=>i,vA:()=>n});const n=4096,i=8},85334:(t,e,r)=>{r.d(e,{$:()=>m,IB:()=>o,Iy:()=>w,N2:()=>_,RH:()=>E,ZD:()=>b});var n=r(68197),i=r(4576),a=r(4718);function o(t){return"r"in t&&"g"in t&&"b"in t}function s(t){return"h"in t&&"s"in t&&"v"in t}function l(t){return"l"in t&&"a"in t&&"b"in t}function u(t){return"l"in t&&"c"in t&&"h"in t}r(34727),r(87317),r(91829);const c=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],h=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]];function p(t,e){const r=[];let n,i;if(t[0].length!==e.length)throw new Error("dimensions do not match");const a=t.length,o=t[0].length;let s=0;for(n=0;n<a;n++){for(s=0,i=0;i<o;i++)s+=t[n][i]*e[i];r.push(s)}return r}function f(t){const e=[t.r/255,t.g/255,t.b/255].map((t=>t<=.04045?t/12.92:((t+.055)/1.055)**2.4)),r=p(c,e);return{x:100*r[0],y:100*r[1],z:100*r[2]}}function y(t){const e=p(h,[t.x/100,t.y/100,t.z/100]).map((t=>{const e=t<=.0031308?12.92*t:1.055*t**(1/2.4)-.055;return Math.min(1,Math.max(e,0))}));return{r:Math.round(255*e[0]),g:Math.round(255*e[1]),b:Math.round(255*e[2])}}function g(t){const e=[t.x/95.047,t.y/100,t.z/108.883].map((t=>t>(6/29)**3?t**(1/3):1/3*(29/6)**2*t+4/29));return{l:116*e[1]-16,a:500*(e[0]-e[1]),b:200*(e[1]-e[2])}}function d(t){const e=t.l,r=[(e+16)/116+t.a/500,(e+16)/116,(e+16)/116-t.b/200].map((t=>t>6/29?t**3:3*(6/29)**2*(t-4/29)));return{x:95.047*r[0],y:100*r[1],z:108.883*r[2]}}function m(t){return o(t)?t:u(t)?function(t){return y(d(function(t){const e=t.l,r=t.c,n=t.h;return{l:e,a:r*Math.cos(n),b:r*Math.sin(n)}}(t)))}(t):l(t)?function(t){return y(d(t))}(t):function(t){return"x"in t&&"y"in t&&"z"in t}(t)?y(t):s(t)?function(t){const e=(t.h+360)%360/60,r=t.s/100,n=t.v/100*255,i=n*r,a=i*(1-Math.abs(e%2-1));let o;switch(Math.floor(e)){case 0:o={r:i,g:a,b:0};break;case 1:o={r:a,g:i,b:0};break;case 2:o={r:0,g:i,b:a};break;case 3:o={r:0,g:a,b:i};break;case 4:o={r:a,g:0,b:i};break;case 5:case 6:o={r:i,g:0,b:a};break;default:o={r:0,g:0,b:0}}return o.r=Math.round(o.r+n-i),o.g=Math.round(o.g+n-i),o.b=Math.round(o.b+n-i),o}(t):t}function _(t){return s(t)?t:function(t){const e=t.r,r=t.g,n=t.b,i=Math.max(e,r,n),a=i-Math.min(e,r,n);let o=i,s=0===a?0:i===e?(r-n)/a%6:i===r?(n-e)/a+2:(e-r)/a+4,l=0===a?0:a/o;return s<0&&(s+=6),s*=60,l*=100,o*=100/255,{h:s,s:l,v:o}}(m(t))}function b(t){return l(t)?t:function(t){return g(f(t))}(m(t))}function E(t){return u(t)?t:function(t){return function(t){const e=t.l,r=t.a,n=t.b,i=Math.sqrt(r*r+n*n);let a=Math.atan2(n,r);return a=a>0?a:a+2*Math.PI,{l:e,c:i,h:a}}(g(f(t)))}(m(t))}var T,I;function w(t,e,r={}){if(0===t.length||e<=0)return[];if(1===(t=t.map((t=>"string"==typeof t?new n.A(t):t))).length||1===e){const r=[],n=t[0];for(let t=0;t<e;t++)r.push(n.clone());return r}if(r.shuffle&&(t=(0,i.k4)((0,a.o8)(t),r.seed)),t.length>=e){const r=[],n=(t.length-1)/(e-1);for(let i=0;i<e;i++){const e=Math.round(i*n);r.push(t[e].clone())}return r}return function(t,e,r={}){const n=[],a=t.length-1,o=Math.ceil((e-t.length)/a);t:for(let i=0;i<a;i++){const a=t[i],s=t[i+1];for(let i=1;i<=o;i++){const l=i/(o+1);if(n.push(v(a,s,l,r)),n.length+t.length===e)break t}}return[...t.map((t=>t.clone())),...(0,i.k4)(n,r.seed??1)]}(t,e,r)}(I=T||(T={}))[I.Low=160]="Low",I[I.High=225]="High";const R=(t,e)=>{const r=Math.floor(10*e())-5;return Math.min(255,Math.max(0,t+r))};function v(t,e,r,a={}){const o=t.r,s=t.g,l=t.b,u=e.r,c=e.g,h=e.b,p=Math.round(o+(u-o)*r),f=Math.round(s+(c-s)*r),y=Math.round(l+(h-l)*r);if(!a.offset)return new n.A([p,f,y]);const g=(0,i.Mo)(a.seed);return new n.A([R(p,g),R(f,g),R(y,g)])}},89640:(t,e,r)=>{var n,i,a;r.d(e,{$q:()=>a,NP:()=>n,kh:()=>i}),function(t){t[t.FILL=1]="FILL",t[t.LINE=2]="LINE",t[t.SYMBOL=3]="SYMBOL",t[t.CIRCLE=4]="CIRCLE"}(n||(n={})),function(t){t[t.BACKGROUND=0]="BACKGROUND",t[t.FILL=1]="FILL",t[t.OUTLINE=2]="OUTLINE",t[t.LINE=3]="LINE",t[t.ICON=4]="ICON",t[t.CIRCLE=5]="CIRCLE",t[t.TEXT=6]="TEXT",t[t.TILEINFO=7]="TILEINFO"}(i||(i={})),function(t){t[t.PAINTER_CHANGED=0]="PAINTER_CHANGED",t[t.LAYOUT_CHANGED=1]="LAYOUT_CHANGED",t[t.LAYER_CHANGED=2]="LAYER_CHANGED",t[t.LAYER_REMOVED=3]="LAYER_REMOVED",t[t.SPRITES_CHANGED=4]="SPRITES_CHANGED"}(a||(a={}))}}]);
|